/* ============================================================
   CHOMOUT — Detail piva (stránka produktu) · 2026 design system
   Sdílený stylesheet pro všechny 4 detailové stránky.
   Vychází 1:1 z index-production.html (vizuální restyling v3).
   Per-pivo accent se nastavuje na <body data-accent> / --accent.
============================================================ */

/* @font-face — self-hosted (../../assets/fonts/*.woff2) */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/anton-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/anton-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/caveat-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/caveat-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jetbrains-mono-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jetbrains-mono-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ============================================================
   Design tokens (brand bible 2022, brief 2.1)
============================================================ */
:root{
  --c-orange:    #FF7F0A;  /* Vytrvalý Ležák */
  --c-purple:    #B689E0;  /* Něžná IPA */
  --c-green:     #2BC692;  /* Jasná Jedenáctka */
  --c-blue:      #4D9DE6;  /* UP Ale Blondýna */
  --c-yellow:    #F5C732;  /* Brand */

  --c-black:     #0A0A0A;
  --c-ink:       #1A1A1A;
  --c-ink-soft:  #2A2620;
  --c-ink-mute:  #5F574A;
  --c-paper:     #FFFFFF;
  --c-cream:     #F3EDE0;
  --c-cream-deep:#EBE2D0;

  --max: 1280px;
  --gutter: clamp(20px, 4vw, 56px);
  --radius-card: 16px;
  --radius-btn: 10px;

  --shadow-card: 0 4px 24px -8px rgba(10,10,10,0.12);
  --shadow-cta:  0 8px 32px -8px rgba(10,10,10,0.35);

  /* default accent — přepisuje se na <body data-accent> */
  --accent: var(--c-blue);
  /* barva textu na accent panelu (light/dark) — přepisuje se per pivo */
  --accent-ink: var(--c-black);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:17px; line-height:1.55;
  color:var(--c-ink-soft); background:var(--c-paper);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg{ max-width:100%; display:block }
a{ color:inherit; text-decoration:none }
button{ font:inherit; cursor:pointer; border:0; background:none; color:inherit }

/* Typo utilities */
.display{
  font-family:'Anton','Helvetica Neue',sans-serif; font-weight:400;
  text-transform:uppercase; letter-spacing:-0.005em; line-height:0.98; color:var(--c-black);
}
.kicker{
  font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--c-ink); font-weight:500;
}
.kicker::before{ content:"— "; opacity:.55 }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 var(--gutter) }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Inter',sans-serif; font-weight:600; font-size:15px;
  padding:14px 22px; border-radius:var(--radius-btn);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  border:2px solid var(--c-black); line-height:1; white-space:nowrap;
}
.btn .arrow{ transition:transform .18s ease }
.btn:hover .arrow{ transform:translateX(3px) }
.btn-primary{ background:var(--c-black); color:#fff; box-shadow:var(--shadow-cta) }
.btn-primary:hover{ transform:translateY(-1px) }
.btn-outline{ background:transparent; color:var(--c-black) }
.btn-outline:hover{ background:var(--c-black); color:#fff }

.brush-star{ position:absolute; color:var(--c-black); pointer-events:none; opacity:.92 }

/* ============================================================
   HEADER
============================================================ */
.site-header{ position:sticky; top:0; z-index:50; background:transparent; transition:background .25s ease, box-shadow .25s ease; }
.site-header.scrolled{ background:rgba(255,255,255,.96); box-shadow:0 1px 0 rgba(0,0,0,.08); backdrop-filter:saturate(140%) blur(8px); }
.nav{ display:flex; align-items:center; gap:32px; padding:18px 0 }
.nav-logo{ display:flex; align-items:center; gap:14px; flex:0 0 auto }
.nav-logo img{ height:60px; width:auto; display:block }
.nav-logo .tag{ font-family:'Caveat',cursive; font-size:22px; color:var(--c-ink); line-height:1; display:none }
@media (min-width:980px){ .nav-logo .tag{ display:block } }
.nav-links{ display:none; margin-left:auto; gap:28px }
@media (min-width:900px){ .nav-links{ display:flex } }
.nav-links a{ font-family:'Anton',sans-serif; font-size:16px; letter-spacing:0.04em; text-transform:uppercase; color:var(--c-black); padding:8px 0; border-bottom:2px solid transparent; transition:border-color .18s ease; }
.nav-links a:hover{ border-bottom-color:var(--c-black) }
.nav-cta{ background:var(--c-black); color:#fff; padding:12px 20px; border-radius:var(--radius-btn); font-weight:600; font-size:14px; display:none }
@media (min-width:900px){ .nav-cta{ display:inline-flex } }
.nav-toggle{ margin-left:auto; width:44px; height:44px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:var(--c-black); color:#fff; }
@media (min-width:900px){ .nav-toggle{ display:none } }
.nav-toggle svg{ width:22px; height:22px }
.mobile-menu{ display:none; position:fixed; inset:0; background:var(--c-yellow); z-index:100; padding:80px var(--gutter) var(--gutter); flex-direction:column; }
.mobile-menu.open{ display:flex }
.mobile-menu .close{ position:absolute; top:18px; right:18px; width:44px; height:44px; background:var(--c-black); color:#fff; border-radius:8px; }
.mobile-menu a{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.5rem,9vw,4.5rem); color:var(--c-black); line-height:1; padding:14px 0; border-bottom:2px solid rgba(10,10,10,.15); }

/* ============================================================
   BREADCRUMB
============================================================ */
.breadcrumb{ padding:18px 0 0; }
.breadcrumb ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-mute); }
.breadcrumb a{ color:var(--c-ink-mute); border-bottom:1px solid transparent; transition:color .15s, border-color .15s; }
.breadcrumb a:hover{ color:var(--c-black); border-bottom-color:rgba(10,10,10,.3) }
.breadcrumb .sep{ opacity:.4 }
.breadcrumb .here{ color:var(--c-black) }

/* ============================================================
   BEER HERO — accent panel + láhev
============================================================ */
.beer-hero{ padding:clamp(24px,4vw,48px) 0 clamp(48px,7vw,88px); }
.beer-hero-grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:center; }
@media (min-width:920px){ .beer-hero-grid{ grid-template-columns:1.04fr .96fr; gap:clamp(40px,5vw,72px) } }
.beer-hero-left{ position:relative }
.beer-hero-meta{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--c-ink-mute); font-weight:500; }
.beer-hero h1{ margin:18px 0 0; font-size:clamp(3rem,8vw,6rem); line-height:.94; }
.beer-hero h1 .hl{ color:var(--accent) }
.beer-hero .claim{ margin:22px 0 0; font-size:clamp(1.0625rem,1.1vw+.5rem,1.3125rem); line-height:1.5; color:var(--c-ink-soft); max-width:40ch; }
.beer-hero .specs{ margin-top:clamp(26px,4vw,38px); padding-top:22px; border-top:2px solid rgba(10,10,10,.1);
  display:grid; grid-template-columns:repeat(3,auto); gap:clamp(24px,5vw,56px); just-content:start; }
.beer-hero .specs b{ display:block; font-family:'Anton',sans-serif; font-size:clamp(2rem,3.2vw,2.875rem); color:var(--c-black); line-height:1; letter-spacing:-0.01em; }
.beer-hero .specs span{ display:block; margin-top:7px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--c-ink-mute); }
.beer-hero .cta-row{ margin-top:clamp(28px,4vw,38px); display:flex; flex-wrap:wrap; gap:12px; }

.beer-hero-panel{
  position:relative; background:var(--accent);
  border:3px solid var(--c-black); border-radius:var(--radius-card);
  aspect-ratio:4/5; overflow:hidden; box-shadow:var(--shadow-card);
  display:flex; align-items:center; justify-content:center;
}
.beer-hero-panel::before{
  content:""; position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1  0 0 0 0 0.09  0 0 0 0 0.07  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.4; mix-blend-mode:multiply; pointer-events:none;
}
.beer-hero-panel .style-sticker{
  position:absolute; top:18px; left:18px; z-index:3;
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--accent-ink);
  padding:7px 12px; border:2px solid var(--accent-ink); border-radius:999px;
}
.beer-hero-panel img{ position:relative; z-index:2; width:auto; height:88%; max-width:62%; object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(10,10,10,.28)); }
.beer-hero-panel .disc{
  position:absolute; right:-26px; bottom:-26px; z-index:3;
  width:clamp(108px,15vw,150px); height:clamp(108px,15vw,150px);
  background:var(--c-black); color:#fff; border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-align:center;
  transform:rotate(-8deg); font-family:'Anton',sans-serif; text-transform:uppercase;
  font-size:clamp(.8rem,1vw+.45rem,1.05rem); line-height:1.04; letter-spacing:.02em; padding:14px;
  box-shadow:0 12px 24px rgba(0,0,0,.25);
}

/* ============================================================
   PROSE — krémové pozadí
============================================================ */
.beer-prose{ background:var(--c-cream); padding:clamp(56px,8vw,104px) 0; }
.beer-prose-inner{ max-width:680px; margin:0 auto; padding:0 var(--gutter); }
.beer-prose .kicker{ display:block; margin-bottom:18px; color:var(--c-ink-mute) }
.beer-prose p{ font-size:18px; line-height:1.65; color:var(--c-ink-soft); margin:0 0 18px; max-width:60ch; text-wrap:pretty; }
.beer-prose p:last-child{ margin-bottom:0 }
.beer-prose p .dropcap{ font-family:'Anton',sans-serif; font-size:4em; color:var(--accent); float:left; line-height:.82; margin:6px 14px -2px 0; text-transform:uppercase; }
.beer-prose .pairing{
  margin-top:clamp(36px,5vw,52px); padding-top:26px; border-top:2px solid rgba(10,10,10,.1);
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.beer-prose .pairing .lbl{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--c-ink-mute); width:100%; margin-bottom:4px; }
.beer-prose .pairing .tag{
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--c-black);
  padding:8px 14px; border:2px solid var(--c-black); border-radius:999px; background:var(--c-paper);
}

/* ============================================================
   FAQ — accordion (Anton otázky, accent ikona)
============================================================ */
.beer-faq{ background:var(--c-paper); padding:clamp(56px,8vw,104px) 0; }
.beer-faq-inner{ max-width:760px; margin:0 auto; padding:0 var(--gutter); }
.beer-faq .faq-head{ margin-bottom:clamp(28px,4vw,44px) }
.beer-faq .faq-head h2{ margin:14px 0 0; font-size:clamp(2.25rem,4vw,3.25rem) }
.beer-faq .faq-head h2 .hl{ color:var(--accent) }
.faq-list{ border-top:2px solid var(--c-black) }
.faq-item{ border-bottom:2px solid var(--c-black) }
.faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:22px 4px; outline:none; }
.faq-item summary::-webkit-details-marker{ display:none }
.faq-item summary:focus-visible{ outline:3px solid var(--accent); outline-offset:3px }
.faq-q{ font-family:'Anton',sans-serif; text-transform:uppercase; font-weight:400; font-size:clamp(1.125rem,1.6vw,1.4375rem);
  color:var(--c-black); line-height:1.05; letter-spacing:.005em; }
.faq-ico{ position:relative; flex:0 0 auto; width:34px; height:34px; border:2px solid var(--c-black); border-radius:50%; transition:background .2s; }
.faq-ico::before, .faq-ico::after{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--c-black); transition:transform .25s ease, background .2s; }
.faq-ico::before{ width:14px; height:2.5px }
.faq-ico::after{ width:2.5px; height:14px }
.faq-item[open] .faq-ico{ background:var(--accent) }
.faq-item[open] .faq-ico::after{ transform:translate(-50%,-50%) scaleY(0) }
.faq-item summary:hover .faq-ico{ background:var(--accent) }
.faq-a{ padding:0 4px 24px }
.faq-a p{ margin:0; font-size:16px; line-height:1.65; color:var(--c-ink-soft); max-width:62ch; text-wrap:pretty }
.faq-item[open] .faq-a{ animation:faqIn .26s ease both }
@keyframes faqIn{ from{ opacity:0; transform:translateY(-5px) } to{ opacity:1; transform:none } }

/* ============================================================
   WHERE — tmavá sekce, retailer grid
============================================================ */
.where{ background:var(--c-black); color:#fff; position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 0; }
.where .head{ margin-bottom:44px }
.where .kicker{ color:var(--c-yellow) }
.where h2{ margin:14px 0 0; font-size:clamp(2.25rem,4vw,3.5rem); color:#fff }
.where h2 .hl{ color:var(--c-yellow) }
.where .lede{ margin:18px 0 0; max-width:54ch; color:rgba(255,255,255,.78); font-size:16px; line-height:1.55; }
.chains{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (min-width:760px){ .chains{ grid-template-columns:repeat(4,1fr); gap:20px } }
.chain{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-card);
  padding:24px 16px; display:flex; flex-direction:column; align-items:center; gap:14px;
  transition:background .2s ease, transform .2s ease, border-color .2s ease; }
.chain:hover{ background:rgba(245,199,50,.1); border-color:var(--c-yellow); transform:translateY(-2px) }
.chain-logo{ height:48px; display:flex; align-items:center; justify-content:center; filter:brightness(0) invert(1); }
.chain-logo img{ height:100%; width:auto; max-width:130px; object-fit:contain }
.chain span{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.where .brush-star{ color:var(--c-yellow); opacity:.9 }
.where .brush-star.w1{ top:8%; right:7%; width:60px }
.where .brush-star.w2{ bottom:12%; left:4%; width:44px; opacity:.5 }

/* ============================================================
   SIBLINGS — další piva
============================================================ */
.siblings{ background:var(--c-cream-deep); padding:clamp(56px,8vw,104px) 0; }
.siblings .head{ margin-bottom:40px }
.siblings h2{ margin:14px 0 0; font-size:clamp(2.25rem,4vw,3.25rem) }
.siblings h2 .hl{ color:var(--c-orange) }
.sib-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
@media (min-width:900px){ .sib-grid{ grid-template-columns:repeat(3,1fr) } }
.sib-card{ display:flex; flex-direction:column; border-radius:var(--radius-card); background:var(--c-paper);
  border:2px solid var(--c-black); box-shadow:var(--shadow-card); overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease; }
.sib-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -12px rgba(10,10,10,.25) }
.sib-color{ background:var(--sib-accent); padding:22px 22px 20px; display:flex; flex-direction:column; align-items:center; }
.sib-color.light-text .sib-tag{ color:#fff }
.sib-tag{ align-self:flex-start; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--c-black); font-weight:700; margin-bottom:14px; }
.sib-photo{ display:block; width:100%; max-width:140px; filter:drop-shadow(0 12px 18px rgba(0,0,0,.2)); }
.sib-photo img{ width:100%; height:auto; display:block; }
.sib-body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:6px; flex:1 0 auto; }
.sib-name{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.375rem,1.2vw+1rem,1.75rem); color:var(--c-black); line-height:.96; letter-spacing:-.005em; }
.sib-style{ font-size:13px; color:var(--c-ink-mute) }
.sib-cta{ margin-top:12px; display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  background:var(--c-black); color:#fff; padding:10px 16px; border-radius:999px; font-weight:600; font-size:13px;
  transition:gap .18s ease, transform .18s ease; }
.sib-cta:hover{ gap:14px; transform:translateY(-1px) }

/* ============================================================
   FOOTER
============================================================ */
footer{ background:var(--c-cream); padding:64px 0 32px; border-top:2px solid rgba(10,10,10,.08); }
.foot-grid{ display:grid; grid-template-columns:1fr; gap:40px; margin-bottom:48px; }
@media (min-width:720px){ .foot-grid{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:48px } }
.foot-brand img{ height:88px; width:auto; margin-bottom:16px }
.foot-brand p{ font-size:14px; color:var(--c-ink-mute); max-width:36ch; margin:0 0 16px }
.foot-social{ display:flex; gap:10px }
.foot-social a{ width:36px; height:36px; border:1.5px solid var(--c-ink); border-radius:999px; display:flex; align-items:center; justify-content:center; color:var(--c-ink); transition:background .18s, color .18s; }
.foot-social a:hover{ background:var(--c-ink); color:#fff }
.foot-col h4{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--c-black); margin:0 0 16px; font-weight:700; }
.foot-col a, .foot-col p{ display:block; font-size:14px; color:var(--c-ink-soft); margin:0 0 8px; line-height:1.5; }
.foot-col a:hover{ color:var(--c-orange) }
.foot-base{ border-top:1px solid rgba(10,10,10,.12); padding-top:22px; display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; font-size:12px; color:var(--c-ink-mute); font-family:'JetBrains Mono',monospace; letter-spacing:0.06em; }
.foot-base .links a{ color:var(--c-ink-mute); margin-right:14px; border-bottom:1px dotted rgba(0,0,0,.2) }
.foot-base .age{ color:var(--c-ink) }

.skip-link{ position:absolute; left:-9999px; top:0; background:var(--c-black); color:#fff; padding:12px 18px; font-weight:600; z-index:200; border-radius:0 0 8px 0; }
.skip-link:focus{ left:0 }

/* ============================================================
   AGE GATE
============================================================ */
.age-gate{ position:fixed; inset:0; z-index:200; background:rgba(10,10,10,.82); backdrop-filter:blur(6px); display:grid; place-items:center; padding:24px; overflow-y:auto; }
.age-gate.hidden{ display:none }
.age-gate-inner{ position:relative; max-width:460px; width:100%; padding:48px 36px 36px; text-align:center; background:var(--c-yellow); border:3px solid var(--c-black); border-radius:var(--radius-card); box-shadow:0 30px 80px -24px rgba(10,10,10,.5); }
.age-gate img.logo{ height:70px; width:auto; margin:0 auto 18px; display:block }
.age-gate .hand{ font-family:'Caveat',cursive; font-weight:500; font-size:22px; color:var(--c-ink-soft); transform:rotate(-2deg); display:inline-block; margin-bottom:6px; }
.age-gate h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(28px,5vw,44px); color:var(--c-black); line-height:1.0; letter-spacing:-0.01em; margin:4px 0 16px; }
.age-gate h2 em{ font-style:normal; color:var(--c-orange) }
.age-gate p.ag-sub{ font-size:15px; line-height:1.5; color:var(--c-ink); max-width:36ch; margin:0 auto 24px; }
.age-gate .ag-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.age-gate .ag-small{ margin-top:22px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink-mute); }
.age-gate-deny{ position:fixed; inset:0; background:var(--c-cream); z-index:201; display:none; place-items:center; padding:24px; text-align:center; }
.age-gate-deny.show{ display:grid }
.age-gate-deny h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(28px,5vw,48px); max-width:20ch; margin:0 auto 16px; color:var(--c-black); }
.age-gate-deny p{ max-width:40ch; margin:0 auto; color:var(--c-ink-soft); font-size:16px; line-height:1.6; }

/* ============================================================
   COOKIE BANNER
============================================================ */
.cookie-banner{ position:fixed; left:clamp(12px,2vw,24px); right:clamp(12px,2vw,24px); bottom:clamp(12px,2vw,24px); max-width:420px; margin-left:auto; z-index:100; background:var(--c-paper); border:2px solid var(--c-black); border-radius:var(--radius-card); padding:18px 20px 16px; box-shadow:0 24px 60px -20px rgba(10,10,10,.45); display:none; }
.cookie-banner.show{ display:block }
.cookie-banner h4{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:17px; color:var(--c-black); margin:0 0 6px; letter-spacing:0.01em; padding-right:32px; }
.cookie-banner p{ margin:0 0 12px; font-size:13px; line-height:1.5; color:var(--c-ink-soft); }
.cookie-banner p a{ text-decoration:underline; text-underline-offset:3px; color:var(--c-black); }
.cookie-banner .cookie-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.cookie-banner .cookie-actions .btn{ padding:11px 18px; font-size:13px; }
.cookie-banner .cookie-close{ position:absolute; top:8px; right:8px; width:32px; height:32px; background:transparent; border:0; cursor:pointer; color:var(--c-ink-mute); font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; border-radius:6px; }
.cookie-banner .cookie-close:hover{ color:var(--c-black); background:rgba(0,0,0,.06) }

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
