/*
Theme Name: Always Kentucky
Description: A Bluegrass apparel storefront for Always Kentucky.
Version: 1.0.0
Text Domain: always-kentucky
*/
@font-face {
	font-family: "Barlow Condensed";
	src: url("assets/fonts/barlow-condensed-700.woff2") format("woff2");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: "Barlow Condensed";
	src: url("assets/fonts/barlow-condensed-800.woff2") format("woff2");
	font-style: normal;
	font-weight: 800;
	font-display: swap;
}
@font-face {
	font-family: "Barlow Condensed";
	src: url("assets/fonts/barlow-condensed-900.woff2") format("woff2");
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}
@font-face {
	font-family: "DM Sans";
	src: url("assets/fonts/dm-sans-400-700.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
}
:root {
	--paper: #f6f1e6;
	--ink: #171916;
	--blue: #153aba;
	--navy: #081e35;
	--gold: #f5c16e;
	--display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
	--body: "DM Sans", Arial, sans-serif;
	--gutter: clamp(20px, 5.3vw, 90px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.55 var(--body); }
h1, h2, h3, p { margin: 0; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
[hidden] { display: none !important; }
.screen-reader-text, .ak-skip:not(:focus) {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px;
}
.ak-skip:focus { position: fixed; left: 12px; top: 12px; z-index: 99999; background: var(--paper); padding: 12px 18px; }
.ak-wrap { width: min(calc(100% - 2 * var(--gutter)), 1460px); margin-inline: auto; }
.ak-topline {
	min-height: 33px; display: flex; justify-content: center; align-items: center; gap: 11px;
	background: var(--navy); color: var(--paper);
	font-size: 10px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; text-align: center;
}
.ak-topline span[aria-hidden] { color: var(--gold); font-size: 10px; }
.ak-header { background: var(--paper); position: relative; z-index: 5; }
.ak-nav { min-height: 84px; display: grid; grid-template-columns: 180px 1fr 110px; align-items: center; gap: 24px; }
.ak-logo { display: block; width: 144px; }
.ak-links { display: flex; align-items: center; justify-content: center; gap: clamp(19px, 3.05vw, 55px); }
.ak-links a {
	font-size: 12px; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase;
	white-space: nowrap; padding-block: 13px;
}
.ak-links a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 7px; }
.ak-tools { display: flex; align-items: center; justify-content: end; gap: 8px; }
.ak-icon-button {
	display: inline-flex; align-items: center; justify-content: center; padding: 7px; min-width: 38px; min-height: 38px;
	background: transparent; border: 0; color: inherit; text-decoration: none;
}
.ak-icon-button:hover { color: var(--blue); }
.ak-icon-button svg { width: 22px; height: 22px; flex: 0 0 auto; }
.ak-bag { gap: 4px; }
.ak-bag-count {
	display: inline-grid; min-width: 19px; height: 19px; padding-inline: 3px; place-items: center;
	border-radius: 20px; background: var(--navy); color: white; font-size: 10px; font-weight: 700;
}
.ak-menu-button { display: none; }
.ak-search {
	width: min(570px, calc(100% - 32px)); max-height: calc(100% - 32px); margin: min(16vh, 120px) auto auto;
	border: 1px solid var(--ink); color: var(--ink); background: var(--paper); padding: clamp(18px, 4vw, 36px);
}
.ak-search::backdrop { background: rgb(8 19 30 / .68); backdrop-filter: blur(4px); }
.ak-search-head { display: flex; align-items: start; justify-content: space-between; margin-bottom: 16px; }
.ak-search-head h2 { font: 800 clamp(32px, 6vw, 48px)/.95 var(--display); text-transform: uppercase; }
.ak-search-form { display: flex; }
.ak-search-form input { flex: 1; min-width: 0; border: 1px solid var(--ink); background: white; padding: 10px 12px; }
.ak-search-form .ak-button { min-height: 46px; padding-inline: 15px; }

.ak-hero { position: relative; isolation: isolate; overflow: hidden; background: #27382f; color: var(--paper); }
.ak-hero-photo, .ak-hero-photo img, .ak-hero::before { position: absolute; inset: 0; width: 100%; height: 100%; }
.ak-hero-photo { z-index: -2; }
.ak-hero-photo img { object-fit: cover; object-position: center 49%; }
.ak-hero::before {
	content: ""; z-index: -1;
	background: linear-gradient(90deg, rgb(9 17 20 / .68), rgb(9 17 20 / .39) 37%, transparent 68%),
	            linear-gradient(0deg, rgb(9 17 20 / .35), transparent 38%);
}
.ak-hero-inner { min-height: clamp(540px, 46vw, 810px); display: flex; align-items: center; position: relative; padding-block: 70px 76px; }
.ak-hero-copy { width: min(53%, 690px); }
.ak-kicker {
	display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .18em; line-height: 1.3;
}
.ak-kicker > span:first-child { width: 21px; height: 2px; flex: 0 0 auto; background: currentColor; }
.ak-hero .ak-kicker { color: var(--gold); margin-bottom: 20px; }
.ak-hero h1 {
	font: 900 clamp(86px, 10.75vw, 186px)/.77 var(--display); color: #fff;
	letter-spacing: -.023em; margin-left: -0.025em;
}
.ak-section-head h2 em, .ak-story h2 em { font-style: normal; color: var(--gold); }
.ak-hero h1 em {
	display: inline-block; color: inherit; font-style: normal; text-shadow: 0 2px 14px rgb(4 15 44 / .28);
	transform: skewX(-7deg); transform-origin: left bottom;
}
.ak-hero-copy > p:not(.ak-kicker) {
	max-width: 455px; margin-top: 27px; text-wrap: balance; font-size: clamp(15px, 1.35vw, 20px); line-height: 1.5; color: #fff8eb;
}
.ak-hero-actions { display: flex; align-items: center; gap: clamp(15px, 2.3vw, 37px); margin-top: 28px; }
.ak-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 53px;
	padding: 11px 22px; border: 1px solid transparent; background: var(--blue); color: white;
	font-size: 11px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; text-decoration: none;
	white-space: nowrap; transition: background-color .2s, color .2s;
}
.ak-button:hover { background: var(--navy); }
.ak-button svg, .ak-text-link svg, .ak-hero-secondary svg { width: 18px; height: 18px; flex: 0 0 auto; }
.ak-button-paper { background: var(--paper); color: var(--navy); }
.ak-button-paper:hover { background: var(--gold); color: var(--navy); }
.ak-hero-secondary {
	display: inline-flex; align-items: center; gap: 7px; text-decoration: none; border-bottom: 1px solid rgb(255 255 255 / .6);
	padding: 7px 0; white-space: nowrap; font-size: 11px; letter-spacing: .08em; font-weight: 700; text-transform: uppercase;
}
.ak-hero-secondary:hover { color: var(--gold); }
.ak-hero-credit {
	position: absolute; right: 0; bottom: 27px; color: #fff8eb; font-size: 9px; font-weight: 700;
	letter-spacing: .15em; text-align: right; line-height: 1.6;
}
.ak-hero-credit > span {
	width: 7px; height: 7px; display: inline-block; border: 1px solid var(--gold); border-radius: 50%; margin-right: 4px;
}
.ak-hero-credit small { font-size: 9px; letter-spacing: .12em; }
.ak-ticker {
	display: flex; align-items: stretch; min-height: 59px;
	background: var(--blue); color: #fff5dc;
}
.ak-ticker__viewport {
	display: flex; flex: 1; min-width: 0; align-items: center; overflow-x: auto;
}
.ak-ticker__viewport:focus-visible { outline-offset: -3px; }
.ak-ticker__track { display: flex; width: max-content; flex: 0 0 auto; }
.ak-ticker__items {
	display: flex; align-items: center; flex: 0 0 auto;
	padding: 0; margin: 0; list-style: none; white-space: nowrap;
}
.ak-ticker__items li {
	display: flex; align-items: center; flex: 0 0 auto;
	gap: clamp(6px, .9vw, 13px); padding-inline-start: clamp(16px, 2vw, 35px);
	font: 800 clamp(17px, 1.65vw, 26px)/1.1 var(--display);
	letter-spacing: .055em; text-transform: uppercase;
}
.ak-ticker__items b { color: var(--gold); font-size: .76em; }
.ak-ticker__items li > b:last-child { margin-inline-start: clamp(8px, 1.2vw, 22px); }
.ak-ticker__items[aria-hidden] { display: none; }
.ak-ticker__toggle {
	flex: 0 0 auto; display: grid; place-items: center; width: 47px;
	padding: 0; border: 0; border-inline-start: 1px solid rgb(255 255 255 / .32);
	color: #fff; background: var(--blue);
}
.ak-ticker__toggle:hover { background: var(--navy); }
.ak-ticker__toggle:focus-visible { outline-offset: -4px; }
.ak-ticker__toggle svg { display: block; width: 20px; height: 20px; }
.ak-ticker__play-icon, .ak-ticker[data-paused="true"] .ak-ticker__pause-icon { display: none !important; }
.ak-ticker[data-paused="true"] .ak-ticker__play-icon { display: block !important; }

@media (prefers-reduced-motion: no-preference) {
	html:not(.ak-a11y-motion) .ak-ticker--active .ak-ticker__viewport { overflow: hidden; }
	html:not(.ak-a11y-motion) .ak-ticker--active .ak-ticker__items[aria-hidden] { display: flex; }
	html:not(.ak-a11y-motion) .ak-ticker--active .ak-ticker__track { animation: ak-sports-scroll 51s linear infinite; }
	.ak-ticker[data-paused="true"] .ak-ticker__track,
	.ak-ticker__viewport:hover .ak-ticker__track,
	.ak-ticker__viewport:focus-within .ak-ticker__track { animation-play-state: paused !important; }
}
@media (prefers-reduced-motion: reduce) { .ak-ticker__toggle { display: none; } }
.ak-a11y-motion .ak-ticker__toggle { display: none; }
@keyframes ak-sports-scroll { to { transform: translateX(-50%); } }

.ak-collections { padding-block: clamp(58px, 7vw, 105px) clamp(61px, 6.3vw, 93px); scroll-margin-top: 25px; }
.ak-section-head { display: flex; justify-content: space-between; gap: 17px; align-items: end; margin-bottom: clamp(23px, 3vw, 38px); }
.ak-section-head .ak-kicker { margin-bottom: 9px; color: var(--blue); }
.ak-section-head h2, .ak-page h1 {
	font: 900 clamp(56px, 7.15vw, 112px)/.84 var(--display); letter-spacing: -.016em; text-transform: uppercase;
}
.ak-section-head h2 em { color: var(--blue); }
.ak-text-link {
	display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; padding: 5px 0;
	border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 700; letter-spacing: .09em;
	text-transform: uppercase; text-decoration: none;
}
.ak-text-link:hover { color: var(--blue); }
.ak-collection-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 23px); }
.ak-collection {
	aspect-ratio: .81; position: relative; isolation: isolate; display: flex; align-items: end; overflow: hidden;
	padding: clamp(18px, 2.3vw, 38px); background: var(--navy); color: white; text-decoration: none;
}
.ak-collection-photo, .ak-collection::before { width: 100%; height: 100%; position: absolute; inset: 0; }
.ak-collection-photo { z-index: -2; object-fit: cover; object-position: center 41%; transition: transform .55s ease; }
.ak-collection::before { content: ""; z-index: -1; background: linear-gradient(0deg, rgb(6 15 20 / .95), transparent 54%); }
.ak-collection:hover .ak-collection-photo { transform: scale(1.055); }
.ak-collection-num {
	position: absolute; top: clamp(17px, 2vw, 30px); left: clamp(18px, 2.3vw, 38px);
	padding: 5px 8px; border: 1px solid rgb(255 255 255 / .48); background: rgb(8 21 32 / .65);
	color: #fff4dc; font-size: 9px; font-weight: 700; letter-spacing: .12em;
}
.ak-collection-brand, .ak-catalog-hero__brand {
	display: block; padding: 8px; background: var(--paper); box-shadow: 3px 3px 0 rgb(8 30 53 / .4);
}
.ak-collection-brand {
	position: absolute; top: clamp(17px, 2vw, 30px); right: clamp(16px, 2vw, 30px);
	width: clamp(66px, 7vw, 100px);
}
.ak-collection-photo--ksr {
	/* Match the eye line and shoulder framing of the other collection portraits. */
	inset: -28% auto auto -25%;
	width: 150%;
	max-width: none;
	height: auto;
}
.ak-collection-copy { padding-right: 28px; }
.ak-collection h3 { font: 800 clamp(28px, 3.35vw, 57px)/.9 var(--display); text-transform: uppercase; }
.ak-collection p { font-size: clamp(12px, 1.13vw, 16px); margin-top: 6px; }
.ak-round-arrow {
	display: grid; place-items: center; width: clamp(30px, 3.15vw, 46px); aspect-ratio: 1;
	border: 1px solid currentColor; border-radius: 50%; position: absolute; right: clamp(11px, 1.8vw, 28px);
	bottom: clamp(15px, 2vw, 33px); transition: background-color .2s, color .2s;
}
.ak-round-arrow svg { width: 52%; height: auto; }
.ak-collection:hover .ak-round-arrow, .ak-product:hover .ak-round-arrow {
	background: var(--paper); color: var(--navy); border-color: var(--paper);
}

.ak-featured { background: #eee5d4; padding-block: clamp(59px, 6.6vw, 103px); border-top: 1px solid #ddd3bf; }
.ak-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 23px); }
.ak-product { color: var(--ink); text-decoration: none; }
.ak-product-photo { position: relative; aspect-ratio: 4 / 4.55; overflow: hidden; background: #e7ddc9; }
.ak-product-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ak-product:hover img { transform: scale(1.055); }
.ak-product .ak-round-arrow { color: var(--navy); background: var(--paper); right: 12px; bottom: 12px; border: 0; }
.ak-product:hover .ak-round-arrow { color: white; background: var(--blue); }
.ak-product-info { padding: 13px 0 0; }
.ak-product-info .ak-kicker { color: var(--blue); letter-spacing: .105em; font-size: 9px; margin-bottom: 4px; }
.ak-product-info h3 { font: 800 clamp(23px, 2.25vw, 36px)/.96 var(--display); text-transform: uppercase; }
.ak-price { font-size: 14px; font-weight: 600; margin-top: 6px; }

.ak-story {
	display: grid; grid-template-columns: 1.08fr 1fr; min-height: min(620px, 56vw);
	background: var(--blue); color: var(--paper); position: relative;
}
.ak-story-photo { min-width: 0; min-height: 0; position: relative; }
.ak-story-photo img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.ak-story-copy { padding: clamp(44px, 5vw, 90px) var(--gutter); align-self: center; }
.ak-story .ak-kicker { color: var(--gold); margin-bottom: 14px; }
.ak-story h2 { font: 900 clamp(68px, 7.65vw, 118px)/.78 var(--display); letter-spacing: -.012em; margin-bottom: 25px; }
.ak-story p:not(.ak-kicker) { max-width: 425px; margin-bottom: 14px; }
.ak-story .ak-button { margin-top: 12px; }

.ak-footer { background: var(--navy); color: var(--paper); }
.ak-footer-main {
	display: grid; grid-template-columns: 1.45fr 1fr 1fr auto; gap: 25px;
	padding-block: clamp(48px, 6vw, 91px) clamp(34px, 4vw, 59px);
}
.ak-footer-brand { align-self: start; }
.ak-footer-brand img { width: clamp(143px, 14vw, 218px); }
.ak-footer-links { display: flex; flex-direction: column; align-items: start; gap: 8px; }
.ak-footer-links h2 { font-size: 11px; letter-spacing: .13em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.ak-footer-links a { font-size: 14px; text-decoration: none; }
.ak-footer-links a:hover, .ak-footer-bottom a:hover { color: var(--gold); text-decoration: underline; }
.ak-footer-signoff { text-align: right; color: #fff; }
.ak-footer-signoff p { font: 900 clamp(27px, 3.45vw, 52px)/.9 var(--display); }
.ak-footer-paw-end { white-space: nowrap; }
.ak-footer-paw { display: inline-block; vertical-align: -.04em; margin-inline-start: .08em; width: .69em; height: .69em; color: #78a2ff; }
.ak-footer-bottom {
	display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid rgb(255 255 255 / .2);
	padding-block: 18px; padding-inline-end: max(0px, calc(80px - var(--gutter))); font-size: 11px; letter-spacing: .03em;
}
.ak-footer-bottom a { text-decoration: none; }
.ak-page { min-height: 60vh; padding-block: clamp(40px, 6vw, 88px); }
.ak-page h1 { margin-bottom: 20px; }
.ak-page p + .ak-button { margin-top: 20px; }

@media (max-width: 1050px) {
	.ak-nav { grid-template-columns: 135px 1fr 88px; gap: 13px; }
	.ak-logo { width: 125px; }
	.ak-links { gap: 18px; }
	.ak-links a { font-size: 11px; letter-spacing: .06em; }
	.ak-tools { gap: 1px; }
	.ak-tools .ak-icon-button { padding-inline: 4px; }
}
@media (max-width: 760px) {
	.ak-nav { min-height: 67px; grid-template-columns: 85px 1fr 85px; }
	.ak-logo { justify-self: center; width: 120px; }
	.ak-menu-button { display: inline-flex; justify-self: start; }
	.ak-links {
		display: none; position: absolute; top: 100%; left: 0; right: 0;
		background: var(--paper); border-top: 1px solid #ded5c3; box-shadow: 0 10px 22px rgb(8 20 33 / .18);
		padding: 5px var(--gutter) 14px;
	}
	.ak-menu-button[aria-expanded="true"] ~ .ak-links { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
	.ak-links a { padding-block: 13px; font-size: 13px; }
	.ak-links a + a { border-top: 1px solid #e4dccb; }
	.ak-hero h1 { font-size: clamp(78px, 13vw, 106px); }
	.ak-hero-copy { width: 70%; }
	.ak-section-head { align-items: start; flex-direction: column; }
	.ak-collection-copy { padding-right: 22px; }
	.ak-collection p { line-height: 1.25; }
	.ak-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 25px; }
	.ak-story { grid-template-columns: 1fr 1fr; }
	.ak-story h2 { font-size: clamp(55px, 9vw, 80px); }
}
@media (max-width: 620px) {
	.ak-topline { min-height: 28px; font-size: 9px; }
	.ak-nav { min-height: 61px; grid-template-columns: 81px 1fr 81px; gap: 6px; }
	.ak-logo { width: min(112px, 100%); }
	.ak-tools .ak-icon-button { min-width: 32px; padding: 5px; }
	.ak-tools .ak-icon-button svg { width: 19px; height: 19px; }
	.ak-bag-count { min-width: 17px; height: 17px; }
	.ak-hero-inner { min-height: clamp(540px, 135vw, 660px); align-items: end; padding-block: 110px 40px; }
	.ak-hero-photo img { object-position: 63% 25%; }
	.ak-hero::before { background: linear-gradient(0deg, rgb(8 17 21 / .91), rgb(8 17 21 / .68) 36%, rgb(8 17 21 / .12) 72%, transparent); }
	.ak-hero-copy { width: 100%; }
	.ak-hero h1 { font-size: clamp(68px, 18.9vw, 108px); }
	.ak-hero .ak-kicker { margin-bottom: 14px; }
	.ak-hero-copy > p:not(.ak-kicker) { margin-top: 19px; max-width: 315px; }
	.ak-hero-actions { margin-top: 20px; gap: 14px; }
	.ak-hero-actions .ak-button { min-height: 44px; padding: 9px 11px; gap: 7px; }
	.ak-hero-actions .ak-button, .ak-hero-secondary { font-size: 10px; letter-spacing: .04em; }
	.ak-hero-secondary svg { width: 14px; height: 14px; }
	.ak-hero-credit { display: none; }
	.ak-ticker { min-height: 48px; }
	.ak-ticker__toggle { width: 44px; }
	.ak-collections, .ak-featured { padding-block: 49px; }
	.ak-section-head h2 { font-size: clamp(48px, 13.7vw, 84px); }
	.ak-collection-grid { grid-template-columns: 1fr; }
	.ak-collection { aspect-ratio: 1.24; padding: 19px; }
	.ak-collection-photo { object-position: center 33%; }
	.ak-collection-photo--ksr { top: -35%; }
	.ak-collection h3 { font-size: 46px; }
	.ak-collection p { font-size: 13px; }
	.ak-collection-num { left: 19px; top: 17px; }
	.ak-round-arrow { width: 38px; right: 17px; bottom: 19px; }
	.ak-story { grid-template-columns: minmax(0, 1fr); }
	.ak-story-photo { aspect-ratio: 1.35; }
	.ak-story-copy { padding-block: 47px; }
	.ak-story h2 { font-size: clamp(67px, 16vw, 100px); }
	.ak-footer-main { grid-template-columns: 1fr 1fr; gap: 27px 16px; }
	.ak-footer-brand { grid-column: 1 / -1; }
	.ak-footer-signoff { grid-column: 1 / -1; text-align: left; }
	.ak-footer-bottom { flex-wrap: wrap; gap: 8px 17px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ak-button, .ak-collection-photo, .ak-round-arrow, .ak-product-photo img { transition: none; }
}

.ak-policy .ak-wrap { max-width: 780px; }
.ak-policy h1 { font-size: clamp(47px, 7vw, 86px); margin-bottom: 26px; overflow-wrap: anywhere; }
.ak-policy h2 { font: 800 clamp(27px, 4vw, 37px)/1.05 var(--display); text-transform: uppercase; margin: 30px 0 8px; }
.ak-policy p + p, .ak-policy li + li { margin-top: 10px; }
.ak-policy :is(p, li) a { color: var(--blue); overflow-wrap: anywhere; }
.ak-checkout-billing {
	border-inline-start: 3px solid var(--blue); padding: 12px 15px; margin: 0 0 24px;
	background: #e9e1d1; color: var(--ink); font-size: .95rem;
}
