/* Official AGD brand fonts - copy licensed client-supplied WOFF2 files into assets/fonts/. */
@font-face { font-family:"Interstate"; src:url("../fonts/Interstate-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Interstate"; src:url("../fonts/Interstate-Bold.woff2") format("woff2"); font-weight:700 900; font-display:swap; }
@font-face { font-family:"Interstate Condensed"; src:url("../fonts/InterstateCondensed-Bold.woff2") format("woff2"); font-weight:700 900; font-display:swap; }
@font-face { font-family:"Cenzo Flare"; src:url("../fonts/CenzoFlare-Medium.woff2") format("woff2"); font-weight:400 500; font-display:swap; }
@font-face { font-family:"Cenzo Flare"; src:url("../fonts/CenzoFlare-Bold.woff2") format("woff2"); font-weight:700 900; font-display:swap; }

:root {
  --red: #f01200;
  --red-deep: #d50f00;
  --gold: #c59232;
  --gold-light: #dbba7e;
  --cream: #fdf6e9;
  --charcoal: #2e1d26;
  --ink: #2e1d26;
  --blue: #3a4681;
  --page-width: 1440px;
  --font-display: "Cenzo Flare", Georgia, serif;
  --font-body: "Interstate", Arial, sans-serif;
  --font-narrow: "Interstate Condensed", "Interstate", "Arial Narrow", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--cream); font-family: var(--font-body); background: var(--cream); }
img { display: block; max-width: 100%; }
a { color: inherit; }
a:focus-visible { outline: 3px solid #1b5dfb; outline-offset: 5px; }
.skip-link { position:absolute; z-index:100; top:-100px; left:12px; padding:12px 16px; background:#fff; color:#000; }
.skip-link:focus { top:12px; }
.content-shell { position:relative; width:min(100% - 88px, var(--page-width)); margin-inline:auto; }
.red-paper, .gold-paper, .dark-paper { position:relative; isolation:isolate; }
.red-paper { background-color:var(--red); background-image:radial-gradient(ellipse at 48% 45%,rgba(255,104,62,.16),transparent 70%),url('../images/grain.png'); background-blend-mode:normal,soft-light; }
.gold-paper { background-color:var(--gold); background-image:radial-gradient(ellipse at center,rgba(244,206,115,.25),transparent 72%),url('../images/grain.png'); background-blend-mode:normal,soft-light; }
.dark-paper { background-color:var(--charcoal); background-image:linear-gradient(135deg,rgba(25,14,24,.30),rgba(104,84,95,.16)),url('../images/grain.png'); background-blend-mode:normal,soft-light; }

/* HERO / NAV */
.hero { height:max(650px, 64vw); overflow:hidden; }
.hero::after { content:""; pointer-events:none; position:absolute; z-index:1; inset:auto 0 0; height:24%; background:linear-gradient(to bottom,transparent,rgba(106,0,4,.09)); }
.site-nav { position:absolute; top:24px; left:0; right:0; z-index:7; display:flex; align-items:center; justify-content:space-between; padding-inline:clamp(26px,4vw,62px); }
.nav-identity { text-decoration:none; color:var(--red-deep); background:var(--cream); font-family:var(--font-display); font-size:20px; font-weight:800; letter-spacing:-.055em; line-height:1; border-radius:50px; padding:10px 15px 9px; }
.nav-links { display:flex; align-items:center; gap:clamp(50px,10.5vw,180px); }
.nav-links a { font-family:var(--font-narrow); text-transform:uppercase; text-decoration:none; font-weight:700; font-size:19px; letter-spacing:.01em; }
.nav-links a:hover, .nav-links a:focus-visible { text-decoration:underline; text-underline-offset:7px; }
.hero-logo-wrap { position:absolute; z-index:3; width:min(46%,650px); top:clamp(60px,6vw,85px); left:50%; transform:translateX(-50%); }
.hero-wordmark { width:100%; height:auto; }
.hero-products { position:absolute; z-index:2; width:100%; height:auto; max-width:none; bottom:-2px; left:0; }

/* STATEMENT SECTION */
.statement { min-height:clamp(540px, 51.5vw, 760px); overflow:hidden; }
.statement-headline { position:relative; z-index:2; padding:0; margin:0; width:62%; padding-top:9%; padding-left:4.8%; font-size:clamp(73px,9.3vw,143px); font-weight:900; line-height:.86; letter-spacing:-.063em; }
.statement-can { position:absolute; z-index:1; right:5%; bottom:0; height:105%; width:auto; max-width:none; }

/* SHOPS */
.merch { overflow:hidden; padding:112px 0 135px; }
.watermark { position:absolute; z-index:0; pointer-events:none; opacity:.075; width:88%; left:10%; top:10%; max-width:none; transform:rotate(-12deg); filter:grayscale(1); }
.section-eyebrow { margin:0 0 68px; font-size:clamp(22px,2.25vw,32px); letter-spacing:.035em; font-weight:700; }
.merch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,44px); }
.merch-card { display:block; background:#f0f0ee; border-radius:6px; overflow:hidden; aspect-ratio:1.07; transition:transform .18s ease, box-shadow .18s ease; }
.merch-card:hover { transform:translateY(-5px); box-shadow:0 12px 20px #0003; }
.merch-card img { width:100%; height:100%; object-fit:cover; }

/* BEER */
.beers { text-align:center; overflow:hidden; padding:38px 0 90px; }
.beer-heading { font-family:var(--font-display); color:#fdf6e9; font-size:clamp(70px,8.5vw,126px); letter-spacing:.03em; line-height:1; font-weight:800; margin:0 0 clamp(22px,2.3vw,34px); -webkit-text-stroke:5px #c59232; paint-order:stroke fill; text-shadow:3px 3px 0px #a73e18; }
.beer-grid { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:0; }
.beer-variant { min-width:0; display:flex; flex-direction:column; align-items:center; }
.beer-photo { width:100%; height:auto; max-width:690px; object-fit:contain; }
.beer-variant h3 { margin:4px 0 11px; font:normal clamp(35px,3.5vw,55px)/1.1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.beer-abv { margin:0; font-size:clamp(16px,1.3vw,20px); font-weight:600; }
.beer-packs { margin:0; font-size:clamp(13px,1.16vw,18px); font-weight:500; }
.beer-description { margin:40px auto 0; max-width:1080px; font-size:clamp(17px,1.55vw,23px); line-height:1.44; letter-spacing:.015em; font-weight:500; }

/* LOCATOR SECTION */
.locator-section { color:#fdf6e9; text-align:center; border-top:9px solid #fdf6e9; border-bottom:9px solid #fdf6e9; padding:82px 0 94px; }
.finder-shell { max-width:1050px; }
.locator-section h2 { font-size:clamp(48px,6.8vw,92px); margin:0; font-weight:900; line-height:1; letter-spacing:-.04em; }
.finder-intro { font-size:clamp(18px,2vw,25px); font-weight:600; margin:14px 0 42px; }
.finder-container { background:rgba(255,252,245,.97); color:#4b3b3d; width:100%; border:2px solid rgba(255,255,255,.75); border-radius:12px; box-shadow:0 17px 35px rgba(85,43,12,.16); min-height:310px; display:block; padding:32px; }
.finder-placeholder { min-height:244px; display:flex; flex-direction:column; justify-content:center; }
.finder-placeholder-title { font-size:23px; font-weight:700; margin:0 0 12px; }
.finder-placeholder-detail { font-size:15px; line-height:1.7; font-weight:500; margin:0 auto; max-width:550px; }

/* BILLBOARD */
.billboard { width:100%; overflow:hidden; line-height:0; }
.billboard img { display:block; width:100%; height:auto; }

/* SOCIAL */
.social { padding:76px 0 119px; overflow:hidden; border-top:12px solid #c59232; border-bottom:12px solid #c59232; }
.social .section-eyebrow { margin-bottom:35px; }
.watermark-social { transform:rotate(-12deg); left:17%; top:5%; width:78%; }
.social-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.5vw,23px); }
.social-grid a { display:block; border-radius:7px; overflow:hidden; aspect-ratio:1; transition:transform .18s ease; }
.social-grid a:hover { transform:translateY(-5px); }
.social-grid img { height:100%; width:100%; object-fit:cover; }

/* FOOTER */
.site-footer { background:#fdf6e9; color:#2e1d26; min-height:224px; padding:40px 4.5% 36px; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.footer-marks { display:flex; gap:clamp(12px,1.4vw,25px); align-items:center; min-width:0; }
.footer-main-mark { display:flex; flex-direction:column; align-items:center; width:95px; }
.footer-main-mark img { width:100%; height:auto; }
.footer-main-mark small { font-family:var(--font-narrow); font-size:9px; line-height:1; font-weight:700; color:#f01200; margin-top:-5px; }
.footer-agd-badge { border-radius:30px; background:#f01200; color:#fdf6e9; font:800 15px/1 var(--font-display); padding:8px 12px; }
.footer-script { color:#f01200; font:italic 27px/1 Georgia,"Times New Roman",serif; white-space:nowrap; }
.footer-classic, .footer-light { padding:7px 17px 8px; border-radius:40px; background:#f01200; color:#fff5e5; font:normal 17px/1 Georgia,"Times New Roman",serif; white-space:nowrap; }
.footer-light { background:#3a4681; }
.footer-social { display:flex; gap:11px; align-items:center; color:#c59232; }
.footer-social a { display:flex; color:inherit; width:38px; height:38px; align-items:center; justify-content:center; text-decoration:none; }
.footer-social a:hover { color:#a27a26; }
.footer-social svg { width:34px; height:34px; }
.footer-social .footer-tiktok { width:42px; height:50px; flex-direction:column; justify-content:center; }
.footer-tiktok svg { width:23px; height:23px; }
.footer-tiktok span { font:600 9px var(--font-narrow); }
.footer-tagline { margin:57px 0 0; font:normal 21px Georgia,"Times New Roman",serif; letter-spacing:-.035em; text-align:center; }

@media (min-width:1440px) {
  .hero-products { width:100%; }
}
@media (max-width:1000px) {
  .content-shell { width:min(100% - 52px, var(--page-width)); }
  .hero { height:clamp(530px,68vw,680px); min-height:0; }
  .site-nav { top:16px; }
  .nav-links { gap:clamp(22px,6.5vw,90px); }
  .statement-headline { font-size:8.2vw; }
  .statement-can { right:1%; }
  .merch { padding:75px 0 90px; }
  .section-eyebrow { margin-bottom:38px; }
  .social { padding:60px 0 90px; }
  .site-footer { padding-inline:25px; }
  .footer-marks { gap:11px; }
  .footer-script { font-size:20px; }
  .footer-classic,.footer-light { font-size:14px; padding:7px 12px; }
}
@media (max-width:700px) {
  .content-shell { width:calc(100% - 36px); }
  .hero { height: min(125vw,750px); min-height:400px; }
  .site-nav { top:16px; padding-inline:18px; }
  .nav-identity { padding:7px 10px 8px; font-size:15px; }
  .nav-links { gap:clamp(15px,5.5vw,31px); }
  .nav-links a { font-size:16px; }
  .hero-logo-wrap { top:15%; width:83%; }
  .hero-products { bottom:0; width:148%; max-width:none; left:50%; transform:translateX(-50%); }

  .statement { display:flex; flex-direction:column; min-height:0; padding:56px 0 0; }
  .statement-headline { width:100%; padding:0 6.5%; font-size:clamp(56px,13.1vw,94px); letter-spacing:-.065em; line-height:.9; }
  .statement-can { position:relative; right:auto; bottom:auto; align-self:flex-end; width:70%; height:auto; margin:26px 0 -1px; }

  .merch { padding:54px 0 66px; }
  .merch-grid { gap:14px; }
  .merch-card { aspect-ratio:1.07; }
  .section-eyebrow { font-size:21px; margin-bottom:24px; }
  .watermark-merch { width:150%; left:-20%; top:25%; }

  .beers { padding:40px 0 65px; }
  .beer-heading { font-size:clamp(62px,12vw,92px); -webkit-text-stroke:3px #c59232; margin:0 0 26px; }
  .beer-grid { grid-template-columns:1fr; gap:32px; }
  .beer-variant { width:100%; }
  .beer-photo { max-width:480px; width:95%; }
  .beer-variant h3 { font-size:43px; margin:-4px 0 8px; }
  .beer-packs { font-size:13px; }
  .beer-description { margin-top:38px; font-size:16px; line-height:1.55; padding:0 8px; }
  .desktop-break { display:none; }

  .locator-section { padding:62px 0 70px; }
  .finder-container { padding:28px 22px; min-height:260px; }
  .finder-placeholder { min-height:202px; }
  .finder-placeholder-title { font-size:19px; }
  .finder-intro { margin-bottom:24px; }

  .billboard { aspect-ratio:1.2; }
  .billboard img { width:100%; height:100%; object-fit:cover; object-position:center; }

  .social { padding:50px 0 65px; }
  .social-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .social .section-eyebrow { margin-bottom:27px; }
  .site-footer { min-height:0; padding:35px 18px; }
  .footer-top { flex-direction:column; gap:27px; }
  .footer-marks { justify-content:center; flex-wrap:wrap; column-gap:13px; row-gap:17px; }
  .footer-main-mark { width:82px; }
  .footer-tagline { margin:27px 0 0; font-size:18px; }
}
@media (max-width:390px) {
  .hero { min-height:390px; }
  .nav-links { gap:13px; }
  .nav-links a { font-size:14px; }
  .statement-headline { font-size:13vw; }
  .merch-grid { gap:9px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .merch-card,.social-grid a { transition:none; }
}


/* Brand asset / typography refinements */
.nav-identity { width:clamp(58px,6vw,83px); padding:0; background:transparent; border-radius:0; display:block; }
.nav-identity img { display:block; width:100%; height:auto; }
.nav-links a, .section-eyebrow, .beer-packs, .finder-intro, .beer-description { font-family:var(--font-body); }
.statement-headline, .beer-heading, .locator-section h2 { font-family:var(--font-display); }
.beer-variant h3 { font-family:var(--font-display); font-weight:500; }
.footer-tagline { font-family:var(--font-display); color:var(--ink); }
.footer-primary { width:clamp(90px,9vw,133px); height:auto; flex:none; }
.footer-monogram { width:clamp(47px,4.4vw,66px); height:auto; flex:none; }
.footer-legend { width:clamp(110px,13vw,186px); height:auto; flex:none; }
.footer-marks { gap:clamp(9px,1.5vw,25px); }
.footer-classic,.footer-light { font-family:var(--font-display); font-weight:700; font-size:17px; }
.footer-social { gap:clamp(6px,.7vw,14px); flex:none; }
.footer-social a { display:grid; place-items:center; width:clamp(30px,3vw,40px); height:40px; }
.footer-social img { width:28px; max-width:100%; height:auto; object-fit:contain; }
.footer-social a:hover { opacity:.7; }
.footer-tagline { font-size:18px; }
@media (max-width:1000px) {
  .footer-primary { width:83px; }
  .footer-monogram { width:51px; }
  .footer-legend { width:108px; }
}
@media (max-width:700px) {
  .site-footer { padding:25px 12px 28px; }
  .footer-top { display:flex; flex-direction:row; flex-wrap:nowrap; gap:4px; align-items:center; }
  .footer-marks { display:flex; flex:1 1 auto; flex-wrap:nowrap; align-items:center; gap:clamp(2px,.8vw,5px); justify-content:flex-start; min-width:0; }
  .footer-primary { flex:0 0 auto; width:clamp(44px,14.1vw,64px); }
  .footer-monogram { flex:0 0 auto; width:clamp(30px,9.2vw,42px); }
  .footer-legend { flex:0 1 auto; width:clamp(57px,19.3vw,88px); min-width:0; }
  .footer-classic,.footer-light { font-size:clamp(8px,2.2vw,11px); padding:4px clamp(3px,1vw,6px) 5px; white-space:nowrap; }
  .footer-social { flex:0 0 auto; gap:0; }
  .footer-social a { width:clamp(17px,5vw,22px); height:26px; }
  .footer-social img { width:clamp(14px,4.3vw,19px); }
  .footer-tagline { margin:21px 0 0; font-size:clamp(12px,3vw,15px); }
}
@media (max-width:350px) {
  .footer-primary { width:41px; }
  .footer-monogram { width:27px; }
  .footer-legend { width:52px; }
  .footer-classic,.footer-light { font-size:8px; padding:3px 2px; }
  .footer-social a { width:16px; }
  .footer-social img { width:13px; }
}

/* The age gate is deliberately self-contained, with no third-party age-gate plugin. */
html.age-unverified, html.age-unverified body { overflow:hidden; }
.age-gate [hidden] { display:none !important; }
.age-gate { display:none; position:fixed; inset:0; z-index:10000; align-items:center; justify-content:center; overflow:auto; padding:24px 16px; background:rgba(30,19,24,.91); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
html.age-unverified .age-gate { display:flex; }
.age-gate-card { position:relative; width:min(100%,485px); margin:auto; padding:33px clamp(22px,5vw,47px) 27px; text-align:center; background:var(--cream); border:1px solid var(--gold); border-top:8px solid var(--red); border-radius:3px; box-shadow:0 25px 80px rgba(0,0,0,.28); color:var(--ink); }
.age-gate-brand img { width:min(100%,215px); height:auto; margin:0 auto 22px; }
.age-gate-rule { display:block; width:59px; height:3px; background:var(--gold); margin:0 auto 19px; }
.age-gate-card h2 { margin:0 0 13px; color:var(--blue); font:700 clamp(30px,5vw,40px)/1.06 var(--font-display); letter-spacing:-.035em; }
.age-gate-card p { color:var(--ink); margin:0 auto 24px; font:400 clamp(15px,2.4vw,17px)/1.45 var(--font-body); max-width:315px; }
.age-gate-options { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.age-gate-options button { border:2px solid var(--blue); border-radius:2px; min-height:52px; padding:12px 10px; font:700 15px/1.1 var(--font-narrow); letter-spacing:.065em; cursor:pointer; transition:background .15s ease, color .15s ease; }
.age-gate-yes { background:var(--red); border-color:var(--red) !important; color:var(--cream); }
.age-gate-no { color:var(--blue); background:transparent; }
.age-gate-yes:hover,.age-gate-yes:focus-visible { background:#cc1305; }
.age-gate-no:hover,.age-gate-no:focus-visible { background:var(--blue); color:var(--cream); }
.age-gate-options button:focus-visible,.age-gate-denied a:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.age-gate-footer { display:block; margin-top:23px; color:var(--gold); font:700 11px var(--font-narrow); letter-spacing:.15em; }
.age-gate-denied p { margin:0 auto 18px; }
.age-gate-denied a { color:var(--blue); font:700 14px var(--font-body); text-underline-offset:3px; }
@media(max-width:390px) {
  .age-gate { padding:14px; }
  .age-gate-card { padding:24px 18px 22px; }
  .age-gate-brand img { width:174px; margin-bottom:15px; }
  .age-gate-card h2 { font-size:30px; }
  .age-gate-options { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .age-gate-options button { transition:none; } }

/* Locator error fallback: hidden unless the third-party widget never renders. */
.locator-fallback[hidden] { display:none !important; }
.locator-fallback { max-width:540px; margin:35px auto 12px; color:#3a4681; font:600 17px/1.5 var(--font-body); text-align:center; }
.locator-fallback a { color:#f01200; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
