
/* =========================================================================
   Zum Goldenen Fass — style.css
   ========================================================================= */

/* ---------- fonts ---------- */
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/big-shoulders-display-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/big-shoulders-display-latin-ext-700-normal.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:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/big-shoulders-display-latin-800-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/big-shoulders-display-latin-ext-800-normal.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:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-latin-ext-400-normal.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:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-latin-400-italic.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-latin-ext-400-italic.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 Tight';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-tight-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-tight-latin-ext-400-normal.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 Tight';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-tight-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-tight-latin-ext-500-normal.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 Tight';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-tight-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-tight-latin-ext-600-normal.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}


/* ---------- tokens ---------- */
:root{
  --bg:#131A17; --bg-2:#19221E; --bg-3:#202B26; --bg-4:#283530;
  --ink:#F4F0E7; --ink-2:#BFC7C0; --ink-3:#8F9A93;
  --line:rgba(244,240,231,.13); --line-2:rgba(244,240,231,.07);
  --amber:#ECA94B; --amber-2:#F6C47E; --amber-ink:#17120A;
  --glow:rgba(236,169,75,.16); --chalk:#6FB0AE;
  --felt:#16302A; --felt-2:#1D3B33;
  --logo-barrel:var(--amber); --logo-word:var(--ink);
  --shadow:0 24px 60px -24px rgba(0,0,0,.55);
  --cond:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Inter Tight','Helvetica Neue',Arial,sans-serif;
  --pad:clamp(20px,5vw,72px); --max:1400px; --r:14px; --r-sm:10px;
  --ease:cubic-bezier(.2,.7,.2,1); --slow:cubic-bezier(.65,.05,.25,1);
  --hdr-h:76px; --grain:.045;
  color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#F5F0E6; --bg-2:#FCF9F3; --bg-3:#EDE5D6; --bg-4:#E3D8C4;
  --ink:#17140F; --ink-2:#554F45; --ink-3:#877F72;
  --line:rgba(23,20,15,.13); --line-2:rgba(23,20,15,.07);
  --amber:#A96B12; --amber-2:#8C570A; --amber-ink:#FFF9EF;
  --glow:rgba(169,107,18,.12); --chalk:#2B6D6B;
  --shadow:0 24px 50px -26px rgba(60,40,10,.35);
  --grain:.03;
  color-scheme:light;
}
/* feature bands: deep felt green in light mode, lifted surface in dark mode */
html[data-theme="light"] .band{
  --bg:#18332B; --bg-2:#1E3D34; --bg-3:#26493F; --bg-4:#2E5549;
  --ink:#F4F0E7; --ink-2:#C8D3CC; --ink-3:#98A9A0;
  --line:rgba(244,240,231,.16); --line-2:rgba(244,240,231,.08);
  --amber:#F0B25A; --amber-2:#F8CD8C; --amber-ink:#17120A; --glow:rgba(240,178,90,.18);
  --logo-barrel:var(--amber); --logo-word:var(--ink);
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 12px)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:clamp(15.5px,.3vw + 14.6px,17px);line-height:1.62;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:clip;transition:background-color .4s,color .4s}
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  opacity:var(--grain);mix-blend-mode:overlay}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{text-wrap:balance;font-weight:800;letter-spacing:-.01em;line-height:.98}
p{text-wrap:pretty}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--amber);color:var(--amber-ink)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:10px;z-index:300;background:var(--amber);color:var(--amber-ink);
  padding:11px 18px;border-radius:8px}
.skip:focus{left:14px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
section{position:relative;padding-block:clamp(76px,10vw,148px)}
.kicker{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--amber);font-weight:600}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
/* hero address line: no leading rule, and never wraps — it shrinks instead.
   Specificity is deliberate: the generic .kicker mobile rule further down must not win. */
.hero .hero-k{white-space:nowrap;max-width:100%}
.hero .hero-k::before{display:none}
@media (max-width:680px){.hero .hero-k{font-size:.66rem;letter-spacing:.13em}}
@media (max-width:560px){.hero .hero-k{font-size:.62rem;letter-spacing:.09em}}
@media (max-width:430px){.hero .hero-k{font-size:.58rem;letter-spacing:.06em}}
@media (max-width:360px){.hero .hero-k{font-size:.54rem;letter-spacing:.035em}}
h2.title{font-family:var(--cond);text-transform:uppercase;font-size:clamp(2.5rem,6.2vw,5.4rem);
  line-height:.96;margin-top:16px;max-width:15ch}
.lead{color:var(--ink-2);max-width:56ch;margin-top:18px;font-size:clamp(1rem,.3vw + .95rem,1.12rem)}
.center{text-align:center;margin-inline:auto}
.center .kicker{justify-content:center}

/* ambient glow used by sections */
.glow::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(44% 36% at 84% 22%,var(--glow),transparent 72%),
             radial-gradient(40% 36% at 6% 92%,rgba(111,176,174,.08),transparent 72%)}
.glow > *{position:relative;z-index:1}

/* reveal */
.rv{opacity:0;translate:0 26px;transition:opacity .9s var(--ease),translate .9s var(--ease)}
.rv.in{opacity:1;translate:0 0}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;translate:0 0}}

/* buttons */
.btn{--b:var(--line);position:relative;display:inline-flex;align-items:center;justify-content:center;
  gap:10px;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid var(--b);
  background:transparent;font-weight:600;font-size:.94rem;color:var(--ink);overflow:hidden;isolation:isolate;
  transition:color .35s,border-color .35s,transform .35s var(--ease),box-shadow .35s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);
  transform:translateY(102%);transition:transform .5s var(--slow)}
.btn:hover{color:var(--bg);border-color:var(--ink)}
.btn:hover::before{transform:none}
.btn-a{background:linear-gradient(135deg,var(--amber-2),var(--amber) 55%);color:var(--amber-ink);
  border-color:transparent;box-shadow:0 10px 30px -12px var(--amber)}
.btn-a::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn-a:hover::after{transform:translateX(120%)}
.btn-a::before{background:var(--ink)}
.btn-a:hover{color:var(--bg);box-shadow:0 16px 40px -14px var(--amber)}
.btn svg{width:17px;height:17px}

/* =========================================================================
   header
   ========================================================================= */
.hdr{position:fixed;inset:0 0 auto;z-index:100;padding-block:clamp(10px,1.4vw,18px);
  transition:padding .45s var(--ease)}
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 70%,transparent),transparent);
  transition:opacity .45s,background-color .45s}
.hdr::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:color-mix(in srgb,var(--bg) 90%,transparent);
  -webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);
  border-bottom:1px solid var(--line-2);box-shadow:0 12px 40px -20px rgba(0,0,0,.45);
  transition:opacity .45s}
.hdr.scrolled{padding-block:9px}
.hdr.scrolled::after{opacity:1}
.hdr.scrolled::before{opacity:0}
.hdr-in{display:flex;align-items:center;gap:18px}
.brand{flex:none;display:block;width:clamp(150px,14vw,196px);transition:width .45s var(--ease)}
.hdr.scrolled .brand{width:clamp(130px,11vw,158px)}
.brand svg{width:100%;height:auto}
.brand .lb{fill:var(--logo-barrel)}.brand .lw{fill:var(--logo-word)}

.capsule{position:relative;margin-inline:auto;display:flex;align-items:center;gap:2px;padding:5px;
  border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-2) 62%,transparent);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
.capsule a{position:relative;z-index:2;padding:9px 17px;border-radius:999px;font-size:.86rem;
  font-weight:500;color:var(--ink-2);white-space:nowrap;transition:color .3s}
.capsule a:hover,.capsule a.on{color:var(--ink)}
.pill{position:absolute;z-index:1;top:5px;bottom:5px;left:0;width:0;border-radius:999px;
  background:color-mix(in srgb,var(--ink) 10%,transparent);opacity:0;
  transition:transform .45s var(--ease),width .45s var(--ease),opacity .3s}
.pill.show{opacity:1}
.tools{display:flex;align-items:center;gap:8px;flex:none}
.seg{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-2) 62%,transparent);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.seg button{border:0;background:none;padding:6px 11px;border-radius:999px;font-size:.7rem;
  font-weight:600;letter-spacing:.1em;color:var(--ink-2);transition:.25s}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.ib{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-2) 62%,transparent);color:var(--ink-2);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:.25s}
.ib:hover{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 60%,transparent)}
.ib svg{width:17px;height:17px}
html[data-theme="dark"] .i-moon,html[data-theme="light"] .i-sun{display:none}
.cta-sm{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:999px;
  background:linear-gradient(135deg,var(--amber-2),var(--amber) 55%);color:var(--amber-ink);
  font-weight:600;font-size:.84rem;white-space:nowrap;transition:filter .25s,transform .25s}
.cta-sm:hover{filter:brightness(1.06);transform:translateY(-1px)}
.burger{display:none}
#burger .i-x{display:none}
#burger[aria-expanded="true"] .i-bar{display:none}
#burger[aria-expanded="true"] .i-x{display:block}
@media (max-width:1120px){
  .capsule,.hdr .seg,.hdr .cta-sm{display:none}
  .burger{display:grid}
  .hdr-in{justify-content:space-between}
}

/* full-screen menu */
.sheet{position:fixed;inset:0;z-index:95;display:grid;grid-template-rows:1fr auto;
  padding:calc(var(--hdr-h) + 12px) var(--pad) calc(26px + env(safe-area-inset-bottom));
  background:radial-gradient(80% 60% at 100% 0%,var(--glow),transparent 70%),var(--bg);
  visibility:hidden;clip-path:circle(0 at calc(100% - 42px) 38px);
  transition:clip-path .7s var(--slow),visibility 0s .7s}
.sheet.open{visibility:visible;clip-path:circle(150% at calc(100% - 42px) 38px);
  transition:clip-path .7s var(--slow)}
body.lock{overflow:hidden}
.sheet-nav{display:flex;flex-direction:column;justify-content:center;gap:4px}
.sheet-nav a{display:flex;align-items:baseline;gap:16px;font-family:var(--cond);text-transform:uppercase;
  font-size:clamp(2.3rem,10vw,3.8rem);line-height:1.02;padding:6px 0;
  opacity:0;translate:0 20px;transition:opacity .5s var(--ease),translate .5s var(--ease),color .3s}
.sheet.open .sheet-nav a{opacity:1;translate:0 0}
.sheet-nav a:nth-child(2){transition-delay:.05s}.sheet-nav a:nth-child(3){transition-delay:.1s}
.sheet-nav a:nth-child(4){transition-delay:.15s}.sheet-nav a:nth-child(5){transition-delay:.2s}
.sheet-nav a:nth-child(6){transition-delay:.25s}
.sheet-nav a:hover{color:var(--amber)}
.sheet-nav small{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;color:var(--amber);font-weight:600}
.sheet-foot{display:grid;gap:16px;padding-top:22px;border-top:1px solid var(--line)}
.sheet-foot .tel{font-family:var(--cond);font-size:1.6rem;text-transform:uppercase}
.sheet-foot .row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.sheet-foot .seg,.sheet-foot .cta-sm{display:inline-flex}

/* =========================================================================
   status line (hero, contact, footer)
   ========================================================================= */
.status{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;color:var(--ink-2)}
.status .dot{position:relative;width:9px;height:9px;border-radius:50%;background:#C2574A;flex:none}
.status b{color:var(--ink);font-weight:600}
.status.on .dot{background:#5CC08A}
.status.on .dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid #5CC08A;
  animation:ping 2.2s var(--ease) infinite}
.status.soon .dot{background:var(--amber)}
@keyframes ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* =========================================================================
   hero
   ========================================================================= */
.hero{min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;
  padding-top:calc(var(--hdr-h) + 40px);padding-bottom:clamp(90px,12vh,130px)}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;
  background:radial-gradient(60% 60% at 75% 35%,var(--glow),transparent 70%),var(--bg)}
.hero-media video{width:100%;height:100%;object-fit:cover;animation:drift 38s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.1) translate(-1%,1%)}}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(95deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,
    color-mix(in srgb,var(--bg) 70%,transparent) 40%,color-mix(in srgb,var(--bg) 20%,transparent) 75%,
    color-mix(in srgb,var(--bg) 45%,transparent) 100%),
    linear-gradient(to bottom,transparent 60%,var(--bg) 100%)}
html[data-theme="light"] .hero-media video{filter:saturate(.8) brightness(1.1)}
.spot{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(280px 280px at var(--mx,50%) var(--my,50%),var(--glow),transparent 70%)}
@media (pointer:fine){.hero:hover .spot{opacity:1}}
.hero h1{font-family:var(--cond);text-transform:uppercase;font-size:clamp(3.3rem,9.6vw,8.6rem);
  line-height:.93;letter-spacing:-.015em;margin-top:18px}
.hero h1 span{display:block}
.hero h1 .out{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 70%,transparent)}
.hero h1 .amb{background:linear-gradient(100deg,var(--amber-2),var(--amber) 45%,#D98A2B);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero-tail{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.2vw,2.7rem);line-height:1.1;margin-top:18px}
.hero-lead{color:var(--ink-2);max-width:46ch;margin-top:18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-status{margin-top:32px;padding:12px 18px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-2) 55%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.scroll-c{position:absolute;left:50%;bottom:26px;translate:-50% 0;display:grid;justify-items:center;gap:10px;
  font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.scroll-c i{width:1px;height:38px;background:linear-gradient(var(--amber),transparent);
  animation:sc 2.4s ease-in-out infinite;transform-origin:top}
@keyframes sc{0%{transform:scaleY(0);opacity:0}40%{opacity:1}100%{transform:scaleY(1);opacity:0}}
@media (max-height:720px),(max-width:700px){.scroll-c{display:none}}
@media (max-width:560px){
  .kicker{letter-spacing:.16em;font-size:.66rem}
  .hero-cta .btn{flex:1 1 100%}
  .hero-status{margin-top:26px}
}

/* ticker */
.tick{position:relative;overflow:hidden;border-block:1px solid var(--line);background:var(--bg-2)}
.tick-row{display:flex;width:max-content;animation:slide 48s linear infinite}
.tick:hover .tick-row{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.tick-row span{display:inline-flex;align-items:center;gap:clamp(20px,3vw,44px);padding:16px clamp(10px,1.6vw,22px);
  font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.05rem,1.5vw,1.4rem);font-weight:700;
  letter-spacing:.03em;color:var(--ink-2);white-space:nowrap}
.tick-row span::after{content:"";width:6px;height:6px;background:var(--amber);transform:rotate(45deg);flex:none}

/* =========================================================================
   games
   ========================================================================= */
.games{display:flex;gap:12px;margin-top:clamp(36px,5vw,64px);height:clamp(440px,64vh,580px)}
.game{--focus:50% 50%;position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:var(--r);
  isolation:isolate;background:linear-gradient(160deg,var(--bg-3),var(--bg-2));cursor:pointer;
  outline-offset:4px;transition:flex-grow .75s var(--slow),box-shadow .5s}
.game::before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;
  padding:1px;background:linear-gradient(160deg,color-mix(in srgb,var(--ink) 18%,transparent),transparent 40%,
    color-mix(in srgb,var(--amber) 0%,transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;transition:background .6s}
.game:hover,.game:focus-within,.game.on{flex-grow:2.9;box-shadow:var(--shadow)}
.game:hover::before,.game:focus-within::before,.game.on::before{
  background:linear-gradient(160deg,var(--amber-2),color-mix(in srgb,var(--amber) 30%,transparent) 45%,transparent 75%)}
.game .img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;
  object-position:var(--focus);opacity:0;transform:scale(1.12);
  filter:grayscale(.45) brightness(.72) contrast(1.05);
  transition:opacity .6s,transform 1.4s var(--ease),filter .8s var(--ease)}
.game.has-img .img{opacity:1}
.game:hover .img,.game:focus-within .img,.game.on .img{transform:scale(1.02);filter:grayscale(0) brightness(.85) contrast(1.05)}
.game .art{position:absolute;left:50%;top:40%;translate:-50% -50%;z-index:0;width:min(78%,230px);
  opacity:.75;transition:opacity .6s,width .8s var(--slow),transform .8s var(--ease)}
.game:hover .art,.game.on .art{opacity:1;width:min(64%,260px);transform:rotate(-4deg)}
.game.has-img .art{display:none}
.game .big{position:absolute;left:50%;top:40%;translate:-50% -50%;z-index:0;font-family:var(--cond);
  font-size:clamp(9rem,14vw,14rem);line-height:.8;color:var(--amber);opacity:.14;
  transition:opacity .6s,transform .8s var(--ease)}
.game:hover .big,.game.on .big{opacity:.24;transform:scale(1.06)}
.game.has-img .big{display:none}
.game::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(8,11,10,.92) 0%,rgba(8,11,10,.55) 36%,rgba(8,11,10,.05) 70%,transparent)}
.game .shine{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.12) 48%,transparent 62%);
  transform:translateX(-120%)}
.game:hover .shine{transform:translateX(120%);transition:transform 1.3s var(--ease)}
.game .body{position:absolute;inset:auto 0 0 0;z-index:3;padding:clamp(18px,1.8vw,28px);color:#F4F0E7}
.game .q{font-family:var(--cond);text-transform:uppercase;font-size:.95rem;letter-spacing:.08em;color:#F6C47E}
.game h3{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.7rem,2.3vw,2.4rem);line-height:1;margin-top:6px;
  white-space:nowrap}
.game .price{display:inline-flex;margin-top:12px;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}
.game .desc{color:rgba(244,240,231,.82);font-size:.95rem;max-width:40ch;display:grid;grid-template-rows:0fr;
  opacity:0;transition:grid-template-rows .6s var(--ease),opacity .5s,margin .6s var(--ease)}
.game .desc > span{overflow:hidden}
.game:hover .desc,.game:focus-within .desc,.game.on .desc{grid-template-rows:1fr;opacity:1;margin-top:12px}
@media (min-width:1001px) and (max-width:1240px){.game h3{font-size:1.55rem}}
/* tablet + phone: swipeable cards */
@media (max-width:1000px){
  .games{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);padding-bottom:6px;scrollbar-width:none;
    scroll-padding-inline:var(--pad)}
  .games::-webkit-scrollbar{display:none}
  .game{flex:0 0 min(78%,380px);aspect-ratio:4/5;scroll-snap-align:start}
  .game:hover,.game:focus-within,.game.on{flex-grow:0}
  .game .img{opacity:0;transform:none;filter:brightness(.82)}
  .game.has-img .img{opacity:1}
  .game .desc{grid-template-rows:1fr;opacity:1;margin-top:12px}
  /* artwork lives in the upper third; the copy block owns the lower half */
  .game .art{top:27%;width:min(52%,186px);opacity:1}
  .game::after{background:linear-gradient(to top,rgba(8,11,10,.95) 0%,rgba(8,11,10,.88) 42%,
    rgba(8,11,10,.35) 66%,transparent 88%)}
  .game h3{white-space:normal}
}
@media (max-width:1000px) and (min-aspect-ratio:1/1){
  .game{flex:0 0 min(52%,340px);aspect-ratio:1/1}
  .game .art{top:24%;width:min(44%,150px)}
}
.swipe{display:none;align-items:center;gap:10px;margin-top:16px;font-size:.66rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink-3)}
.swipe i{flex:1;max-width:120px;height:2px;border-radius:2px;background:var(--line);position:relative;overflow:hidden}
.swipe i b{position:absolute;inset:0 auto 0 0;width:30%;background:var(--amber);border-radius:2px;transition:left .2s,width .2s}
@media (max-width:1000px){.swipe{display:flex}}

/* =========================================================================
   sport (band)
   ========================================================================= */
.band{background:radial-gradient(60% 70% at 100% 0%,var(--glow),transparent 70%),
  linear-gradient(180deg,var(--bg-2),var(--bg));color:var(--ink);border-block:1px solid var(--line-2)}
html[data-theme="light"] .band{background:radial-gradient(60% 70% at 100% 0%,var(--glow),transparent 70%),
  linear-gradient(180deg,var(--bg-2),var(--bg))}
.sport-in{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(34px,5vw,80px);align-items:center}
@media (max-width:1000px){.sport-in{grid-template-columns:1fr}}
.stats{display:flex;gap:clamp(26px,5vw,56px);margin-top:clamp(28px,4vw,44px)}
.stat .v{font-family:var(--cond);font-size:clamp(3.4rem,6.4vw,5.6rem);line-height:.82;
  background:linear-gradient(180deg,var(--amber-2),var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-top:10px;font-weight:600}
.leagues{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.leagues span{font-size:.8rem;color:var(--ink-2);padding:7px 14px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-3) 50%,transparent)}
.screen{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;isolation:isolate;
  background:radial-gradient(70% 70% at 50% 40%,var(--bg-4),var(--bg-2));
  box-shadow:0 0 0 1px var(--line),0 40px 90px -40px rgba(0,0,0,.7),0 0 120px -40px var(--glow)}
.screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.screen::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(6,9,8,.7),transparent 42%),
    repeating-linear-gradient(to bottom,rgba(255,255,255,.028) 0 1px,transparent 1px 3px)}
.bug{position:absolute;top:16px;left:16px;z-index:2;display:flex;align-items:center;border-radius:6px;overflow:hidden;
  font-family:var(--cond);text-transform:uppercase;font-size:.95rem;letter-spacing:.06em;line-height:1}
.bug .l{display:flex;align-items:center;gap:7px;background:#C2372B;color:#fff;padding:7px 10px}
.bug .l::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.bug .t{background:rgba(10,14,12,.72);color:#F4F0E7;padding:7px 10px;font-variant-numeric:tabular-nums;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.screen .cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;font-family:var(--serif);font-style:italic;
  font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.15;color:#F4F0E7}

/* =========================================================================
   menu
   ========================================================================= */
.menu{padding-top:0}
.menu-hero{position:relative;min-height:clamp(320px,52vh,520px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.menu-hero .bgimg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .8s;transform:scale(1.04)}
.menu-hero .bgimg.ok{opacity:1}
.menu-hero::before{content:"";position:absolute;inset:0;z-index:-3;
  background:radial-gradient(50% 80% at 80% 30%,var(--glow),transparent 70%),
    linear-gradient(135deg,var(--bg-3),var(--bg-2))}
.menu-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,var(--bg) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 45%,
    color-mix(in srgb,var(--bg) 20%,transparent) 100%)}
.menu-hero .wrap{padding-bottom:clamp(30px,4vw,54px)}
html[data-theme="light"] .menu-hero::after{
  background:linear-gradient(to top,var(--bg) 0%,color-mix(in srgb,var(--bg) 78%,transparent) 45%,
    color-mix(in srgb,var(--bg) 45%,transparent) 100%)}
.menu-hero h2.title{font-size:clamp(3rem,9vw,8rem);max-width:none}
.menu-hero .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.menu-hero .meta > span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:.84rem;
  background:color-mix(in srgb,var(--bg-2) 60%,transparent);border:1px solid var(--line);color:var(--ink);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.menu-hero .meta svg{width:15px;height:15px;color:var(--amber)}

.mbar{position:sticky;top:var(--hdr-h);z-index:60;padding-block:10px;
  background:color-mix(in srgb,var(--bg) 92%,transparent);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid var(--line-2);transition:top .45s var(--ease)}
.mbar-row{display:flex;align-items:center;gap:10px;min-height:48px}
.tabs{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px;
  background:var(--bg-3);border:1px solid var(--line);flex:none}
.tabs button{position:relative;z-index:2;border:0;background:none;padding:8px 18px;border-radius:999px;
  font-family:var(--cond);text-transform:uppercase;font-size:1rem;font-weight:700;letter-spacing:.05em;
  color:var(--ink-2);white-space:nowrap;transition:color .35s}
.tabs button[aria-selected="true"]{color:var(--amber-ink)}
.tabs .knob{position:absolute;z-index:1;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;
  background:linear-gradient(135deg,var(--amber-2),var(--amber));box-shadow:0 6px 16px -8px var(--amber);
  transition:transform .5s var(--slow)}
.tabs[data-on="drinks"] .knob{transform:translateX(100%)}
.chips{flex:1 1 auto;min-width:0;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;
  scroll-snap-type:x proximity;padding-right:26px;
  -webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent)}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;scroll-snap-align:start;border:1px solid var(--line);background:transparent;
  border-radius:999px;padding:7px 14px;font-size:.82rem;color:var(--ink-2);white-space:nowrap;transition:.25s}
.chips button:hover{color:var(--ink);border-color:var(--ink-3)}
.chips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.sbtn{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:999px;
  border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);transition:.25s}
.sbtn:hover{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 55%,transparent)}
.sbtn svg{width:17px;height:17px}
.search{display:none;position:relative;flex:1 1 auto;min-width:0}
.search input{width:100%;height:42px;border-radius:999px;border:1px solid var(--amber);background:var(--bg-2);
  padding:0 42px 0 40px;font-size:.92rem;box-shadow:0 0 0 4px var(--glow)}
.search input:focus{outline:none}
.search input::placeholder{color:var(--ink-3)}
.search input::-webkit-search-cancel-button{display:none}
.search .ico{position:absolute;left:14px;top:50%;translate:0 -50%;width:16px;height:16px;color:var(--ink-3);
  pointer-events:none}
.search .clr{position:absolute;right:6px;top:50%;translate:0 -50%;width:30px;height:30px;border-radius:50%;
  border:0;background:var(--bg-4);color:var(--ink-2);display:grid;place-items:center}
.search .clr svg{width:12px;height:12px}
.mbar.searching .chips,.mbar.searching .sbtn{display:none}
.mbar.searching .search{display:block}
@media (max-width:560px){
  .mbar.searching .tabs{display:none}
  .tabs button{padding:8px 14px;font-size:.95rem}
}
.mgrid{margin-top:clamp(30px,4vw,52px)}
@media (min-width:1060px){.mgrid{columns:2;column-gap:clamp(48px,6vw,96px)}}
.mcat{break-inside:avoid;margin-bottom:clamp(30px,4vw,50px)}
.mcat > summary{list-style:none;display:flex;align-items:center;gap:14px;cursor:pointer;padding-bottom:4px}
.mcat > summary::-webkit-details-marker{display:none}
.mcat h3{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1}
.mcat .fill{flex:1;height:1px;background:linear-gradient(90deg,var(--amber),var(--line) 40%)}
.mcat .cnt{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--bg-3);
  font-size:.74rem;font-weight:600;color:var(--ink-2)}
.mcat .chev{width:16px;height:16px;color:var(--ink-3);transition:transform .35s var(--ease);display:none}
.mcat[open] .chev{transform:rotate(180deg)}
@media (max-width:1059px){.mcat .chev{display:block}}
@media (min-width:1060px){.mcat > summary{pointer-events:none}}
.cnote{font-family:var(--serif);font-style:italic;color:var(--ink-2);font-size:1.05rem;margin-top:10px}
.mlist{margin-top:10px}
.mrow{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}
.mrow:last-child{border-bottom:0}
.mrow .nm{flex:1;min-width:0}
.mrow .nm b{font-weight:500}
.mrow .ix{font-family:var(--cond);color:var(--amber);margin-right:8px;font-size:1rem}
.mrow .sub{display:block;font-size:.8rem;color:var(--ink-3);margin-top:2px}
.mrow .tag{display:inline-block;vertical-align:2px;margin-left:8px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--chalk);border:1px solid color-mix(in srgb,var(--chalk) 55%,transparent);padding:2px 7px;border-radius:999px}
.mrow .pr{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;color:var(--ink)}
.mrow mark{background:color-mix(in srgb,var(--amber) 30%,transparent);color:inherit;border-radius:3px;padding:0;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 30%,transparent)}
.mempty{padding:40px 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--ink-2)}
.mnote{margin-top:20px;font-size:.84rem;color:var(--ink-3);max-width:62ch}

/* =========================================================================
   events
   ========================================================================= */
.ev-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(30px,5vw,80px);align-items:start}
@media (max-width:1000px){.ev-split{grid-template-columns:1fr;gap:34px}}
@media (min-width:1001px){
  .ev-intro{position:sticky;top:calc(var(--hdr-h) + clamp(40px,7vh,90px))}
}
.ev-list{display:grid;gap:14px}
.ev{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,2vw,24px);
  align-items:start;overflow:hidden;border-radius:var(--r);padding:clamp(20px,2.4vw,30px);isolation:isolate;
  background:linear-gradient(150deg,var(--bg-3),var(--bg-2));border:1px solid var(--line-2);
  transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.ev::after{content:"";position:absolute;inset:auto -20% -70% auto;width:60%;aspect-ratio:1;border-radius:50%;
  z-index:-1;background:radial-gradient(var(--glow),transparent 70%);opacity:.5;
  transition:opacity .5s,transform .8s var(--ease)}
.ev:hover{transform:translateY(-3px);box-shadow:var(--shadow);
  border-color:color-mix(in srgb,var(--amber) 42%,transparent)}
.ev:hover::after{opacity:1;transform:scale(1.25)}
.ev .ico{width:54px;height:54px;flex:none;display:grid;place-items:center;border-radius:16px;color:var(--amber);
  background:color-mix(in srgb,var(--amber) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--amber) 26%,transparent);transition:transform .5s var(--ease)}
.ev:hover .ico{transform:rotate(-6deg) scale(1.06)}
.ev .ico svg{width:26px;height:26px}
.ev h3{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.02}
.ev p{color:var(--ink-2);margin-top:8px;font-size:.95rem;max-width:44ch}
.ev-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:clamp(24px,3vw,36px)}
.ev-cta .tel{color:var(--ink-2);font-size:.92rem}
.ev-cta .tel a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}
.ev-cta .tel a:hover{color:var(--amber);border-color:var(--amber)}
@media (max-width:560px){.ev{grid-template-columns:1fr;gap:14px}.ev .ico{width:48px;height:48px}}

/* =========================================================================
   gallery
   ========================================================================= */
.gal{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(70px,9vw,130px)}
.gal[hidden]{display:none}
.gal-bg{position:absolute;inset:-10%;z-index:-2}
.gal-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(60px) saturate(1.3);
  opacity:0;transition:opacity 1.1s var(--ease);transform:scale(1.1)}
.gal-bg img.on{opacity:.55}
html[data-theme="light"] .gal-bg img.on{opacity:.45}
.gal::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to bottom,var(--bg),color-mix(in srgb,var(--bg) 40%,transparent) 18%,
    color-mix(in srgb,var(--bg) 40%,transparent) 82%,var(--bg))}
.collage{position:relative;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(34px,4.6vw,62px);gap:0}
.shot{--rot:0deg;position:relative;margin:0;padding:0;border:0;background:var(--bg-3);cursor:zoom-in;
  border-radius:var(--r-sm);overflow:hidden;rotate:var(--rot);
  box-shadow:0 30px 60px -28px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06);
  transition:rotate .6s var(--ease),scale .6s var(--ease),box-shadow .6s,z-index 0s .3s}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.shot:hover,.shot:focus-visible{rotate:0deg;scale:1.05;z-index:20;transition-delay:0s;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 0 1px var(--amber)}
.shot:hover img{transform:scale(1.06)}
.shot.gone{display:none}
/* collage placements by photo count (desktop) */
@media (min-width:821px){
  .n8 .shot:nth-child(1){grid-column:1/4;grid-row:1/7;--rot:-3deg;margin:6px}
  .n8 .shot:nth-child(2){grid-column:4/7;grid-row:2/8;--rot:2deg;margin:6px}
  .n8 .shot:nth-child(3){grid-column:7/10;grid-row:1/7;--rot:-1.5deg;margin:6px}
  .n8 .shot:nth-child(4){grid-column:10/13;grid-row:2/8;--rot:2.5deg;margin:6px}
  .n8 .shot:nth-child(5){grid-column:1/4;grid-row:7/12;--rot:2deg;margin:6px}
  .n8 .shot:nth-child(6){grid-column:4/7;grid-row:8/13;--rot:-2deg;margin:6px}
  .n8 .shot:nth-child(7){grid-column:7/10;grid-row:7/12;--rot:1.5deg;margin:6px}
  .n8 .shot:nth-child(8){grid-column:10/13;grid-row:8/13;--rot:-2.5deg;margin:6px}
  .n7 .shot:nth-child(1){grid-column:1/4;grid-row:1/7;--rot:-3deg;margin:6px}
  .n7 .shot:nth-child(2){grid-column:4/7;grid-row:2/8;--rot:2deg;margin:6px}
  .n7 .shot:nth-child(3){grid-column:7/10;grid-row:1/7;--rot:-1.5deg;margin:6px}
  .n7 .shot:nth-child(4){grid-column:10/13;grid-row:2/8;--rot:2.5deg;margin:6px}
  .n7 .shot:nth-child(5){grid-column:2/6;grid-row:7/12;--rot:2deg;margin:6px}
  .n7 .shot:nth-child(6){grid-column:6/9;grid-row:8/13;--rot:-2deg;margin:6px}
  .n7 .shot:nth-child(7){grid-column:9/13;grid-row:7/12;--rot:1.5deg;margin:6px}
  .n6 .shot:nth-child(1){grid-column:1/5;grid-row:1/7;--rot:-2.5deg;margin:6px}
  .n6 .shot:nth-child(2){grid-column:5/9;grid-row:2/8;--rot:2deg;margin:6px}
  .n6 .shot:nth-child(3){grid-column:9/13;grid-row:1/7;--rot:-2deg;margin:6px}
  .n6 .shot:nth-child(4){grid-column:1/5;grid-row:7/12;--rot:2deg;margin:6px}
  .n6 .shot:nth-child(5){grid-column:5/9;grid-row:8/13;--rot:-1.5deg;margin:6px}
  .n6 .shot:nth-child(6){grid-column:9/13;grid-row:7/12;--rot:2.5deg;margin:6px}
  .n5 .shot:nth-child(1){grid-column:1/5;grid-row:1/7;--rot:-2.5deg;margin:6px}
  .n5 .shot:nth-child(2){grid-column:5/9;grid-row:2/8;--rot:2deg;margin:6px}
  .n5 .shot:nth-child(3){grid-column:9/13;grid-row:1/7;--rot:-2deg;margin:6px}
  .n5 .shot:nth-child(4){grid-column:2/7;grid-row:7/12;--rot:2deg;margin:6px}
  .n5 .shot:nth-child(5){grid-column:7/12;grid-row:8/13;--rot:-2deg;margin:6px}
  .n4 .shot:nth-child(1){grid-column:1/7;grid-row:1/7;--rot:-2deg;margin:6px}
  .n4 .shot:nth-child(2){grid-column:7/13;grid-row:2/8;--rot:2deg;margin:6px}
  .n4 .shot:nth-child(3){grid-column:2/7;grid-row:7/12;--rot:1.5deg;margin:6px}
  .n4 .shot:nth-child(4){grid-column:7/12;grid-row:8/13;--rot:-2deg;margin:6px}
  .n3 .shot:nth-child(1){grid-column:1/5;grid-row:1/9;--rot:-2.5deg;margin:6px}
  .n3 .shot:nth-child(2){grid-column:5/9;grid-row:2/10;--rot:2deg;margin:6px}
  .n3 .shot:nth-child(3){grid-column:9/13;grid-row:1/9;--rot:-2deg;margin:6px}
  .n2 .shot:nth-child(1){grid-column:2/7;grid-row:1/9;--rot:-2deg;margin:6px}
  .n2 .shot:nth-child(2){grid-column:7/12;grid-row:2/10;--rot:2deg;margin:6px}
  .n1 .shot:nth-child(1){grid-column:3/11;grid-row:1/10;--rot:-1deg;margin:6px}
}
@media (max-width:820px){
  .collage{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:14px}
  .shot{aspect-ratio:4/5}
  .shot:nth-child(odd){--rot:-2deg}
  .shot:nth-child(even){--rot:2deg;translate:0 26px}
  .shot:nth-child(3n){grid-column:1/-1;aspect-ratio:16/10;--rot:-1deg;translate:0 0;margin-top:30px}
}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(16px,4vw,60px);
  background:rgba(6,8,7,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.lb.open{opacity:1;visibility:visible;transition:opacity .4s}
.lb img{max-width:min(1200px,100%);max-height:84vh;width:auto;height:auto;border-radius:var(--r-sm);
  box-shadow:0 40px 100px -30px #000;scale:.96;transition:scale .5s var(--ease),opacity .3s}
.lb.open img{scale:1}
.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;transition:.25s}
.lb button:hover{background:rgba(255,255,255,.18)}
.lb button svg{width:20px;height:20px}
.lb .x{top:18px;right:18px}
.lb .pv{left:18px;top:50%;translate:0 -50%}
.lb .nx{right:18px;top:50%;translate:0 -50%}
.lb .ct{position:absolute;bottom:22px;left:50%;translate:-50% 0;color:rgba(255,255,255,.7);font-size:.8rem;letter-spacing:.2em}
@media (max-width:640px){.lb .pv,.lb .nx{top:auto;bottom:14px;translate:none}.lb .pv{left:18px}.lb .nx{right:18px}}

/* =========================================================================
   contact
   ========================================================================= */
.cgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,72px);margin-top:clamp(30px,4vw,54px)}
@media (max-width:1000px){.cgrid{grid-template-columns:1fr}}
.card{border-radius:var(--r);border:1px solid var(--line-2);background:linear-gradient(160deg,var(--bg-3),var(--bg-2));
  padding:clamp(22px,3vw,36px)}
.hours{margin-top:18px}
.hrow{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-2);
  color:var(--ink-2);font-size:.96rem}
.hrow:last-child{border-bottom:0}
.hrow.today{color:var(--ink);font-weight:600}
.hrow.today span:first-child::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--amber);margin-left:9px;vertical-align:2px}
.hrow .t{font-variant-numeric:tabular-nums}
.info{display:grid;gap:18px;margin-top:22px}
.info .k{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.info .v{display:block;font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.3rem,2vw,1.65rem);margin-top:4px;line-height:1.15}
.info a.v:hover{color:var(--amber)}
.info .mail{font-family:var(--sans);text-transform:none;font-size:1.02rem;word-break:break-all}
.info .rt{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:.88rem;color:var(--amber)}
form.card h3{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.7rem,2.6vw,2.3rem)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.frow{grid-template-columns:1fr}}
.fld{display:grid;gap:7px;margin-top:16px}
.fld label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.fld input,.fld select,.fld textarea{width:100%;min-width:0;min-height:48px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg) 55%,transparent);padding:12px 14px;font-size:1rem;transition:border-color .3s,box-shadow .3s}
.fld textarea{min-height:110px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 4px var(--glow)}
.fld select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),
  linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;
  background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.fld select option{background:var(--bg-2);color:var(--ink)}
.frow > *{min-width:0}

/* date + time: native sizing off, tap anywhere opens the picker, clear affordance */
.fld input[type="date"],.fld input[type="time"]{
  -webkit-appearance:none;appearance:none;padding-right:42px;
  font-variant-numeric:tabular-nums;cursor:pointer}
.fld input[type="date"]::-webkit-date-and-time-value,
.fld input[type="time"]::-webkit-date-and-time-value{text-align:left;min-height:22px}
.fld input[type="date"]::-webkit-datetime-edit,
.fld input[type="time"]::-webkit-datetime-edit{padding:0;line-height:22px}
.fld input[type="date"]::-webkit-calendar-picker-indicator,
.fld input[type="time"]::-webkit-calendar-picker-indicator{
  position:absolute;right:0;bottom:0;left:0;top:auto;height:48px;width:100%;
  margin:0;padding:0;opacity:0;cursor:pointer}
.fld.pick{position:relative}
.fld.pick::after{content:"";position:absolute;right:15px;bottom:15px;width:18px;height:18px;
  background-color:var(--ink-3);pointer-events:none;transition:background-color .3s;
  -webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.fld.pick:focus-within::after{background-color:var(--amber)}
.fld.pick-date{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E")}
.fld.pick-time{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:20px;font-size:.86rem;color:var(--ink-2)}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--amber);flex:none}
.consent a{color:var(--ink);border-bottom:1px solid var(--line)}
form .btn{width:100%;margin-top:22px}
form .btn[disabled]{opacity:.55;pointer-events:none}
.fmsg{display:none;margin-top:14px;font-size:.92rem}
.fmsg.show{display:block}.fmsg.ok{color:#5CC08A}.fmsg.err{color:#E07A6E}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* =========================================================================
   closing CTA
   ========================================================================= */
.cta{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(64px,8vw,112px)}
.cta video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.55}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,var(--bg) 10%,color-mix(in srgb,var(--bg) 60%,transparent) 60%,
  color-mix(in srgb,var(--bg) 85%,transparent))}
.cta-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px}
.cta h2.title{max-width:17ch}
.cta-side{display:grid;gap:12px;justify-items:start}
.cta-side .tel{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1}
.cta-side .tel:hover{color:var(--amber)}
.cta-side small{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}

/* =========================================================================
   footer
   ========================================================================= */
footer{position:relative;border-top:1px solid var(--line-2);padding-block:clamp(48px,6vw,76px) 26px;
  background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(26px,4vw,52px)}
@media (max-width:980px){.fgrid{grid-template-columns:1fr 1fr}.fgrid > .fbrand{grid-column:1/-1}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr 1fr;gap:30px 20px}.fgrid > .fhours-col{grid-column:1/-1}}
.fbrand .logo{display:block;width:clamp(170px,16vw,210px)}
.fbrand .logo .lb{fill:var(--logo-barrel)}.fbrand .logo .lw{fill:var(--logo-word)}
.fclaim{font-family:var(--serif);font-style:italic;font-size:1.18rem;margin-top:18px;max-width:28ch}
.faddr{margin-top:12px;color:var(--ink-2);font-size:.92rem;line-height:1.75}
.faddr a:hover{color:var(--amber)}
footer h4{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:14px}
.fcol a{display:block;width:fit-content;padding:5px 0;color:var(--ink-2);font-size:.94rem;transition:color .25s,translate .25s}
.fcol a:hover{color:var(--amber);translate:3px 0}
.fhours{display:grid;gap:5px;font-size:.88rem;color:var(--ink-2)}
.fhours div{display:flex;justify-content:space-between;gap:12px}
.fhours .today{color:var(--ink);font-weight:600}
.fhours-col .status{margin-top:14px;font-size:.86rem}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(34px,5vw,56px);
  padding-top:20px;border-top:1px solid var(--line-2);font-size:.8rem;color:var(--ink-3)}
.totop{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}
.totop:hover{color:var(--amber)}

/* mobile action dock */
.dock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;display:none;gap:8px;
  padding:8px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-2) 80%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 20px 40px -18px rgba(0,0,0,.6);
  translate:0 140%;transition:translate .5s var(--ease)}
.dock.up{translate:0 0}
.dock a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;
  font-weight:600;font-size:.92rem;color:var(--ink)}
.dock a svg{width:17px;height:17px}
.dock a.p{background:linear-gradient(135deg,var(--amber-2),var(--amber));color:var(--amber-ink)}
@media (max-width:820px){.dock{display:flex}footer{padding-bottom:100px}}
body.lock .dock{translate:0 140%}

/* legal pages */
.legal{padding-top:calc(var(--hdr-h) + clamp(50px,7vw,100px))}
.legal h1{font-family:var(--cond);text-transform:uppercase;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.98;margin-top:14px}
.legal .doc{max-width:72ch;margin-top:clamp(26px,4vw,44px)}
.legal h2{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.45rem,2.6vw,2rem);margin-top:clamp(34px,4vw,52px);line-height:1.05}
.legal h3{font-weight:600;font-size:1.02rem;margin-top:24px;line-height:1.4;letter-spacing:0}
.legal p,.legal li{color:var(--ink-2);margin-top:12px;font-size:.97rem}
.legal ul{margin:12px 0 0;padding-left:20px}
.legal a{color:var(--ink);border-bottom:1px solid var(--line)}
.legal a:hover{color:var(--amber);border-color:var(--amber)}
.legal .meta{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:1.14rem;line-height:1.6}
.legal .box{margin-top:22px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--bg-2);padding:clamp(18px,2.4vw,28px)}
.legal .box p{margin:0;color:var(--ink)}
.back{display:inline-flex;align-items:center;gap:9px;margin-top:clamp(40px,5vw,64px);color:var(--ink-2);border:0!important}
.back:hover{color:var(--amber)}

::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
