/* Small Hours v5 — site.css (restrained). One warm-black ground, contained photos, type does the work.
   Markers (grep "── NAME"): FONTS, TOKENS, BASE, TOP, BUTTONS, HERO, SCENE, SECTIONS, COUNTER, NIGHT, BREAD, CREW,
   REVIEWS, STORY, VISIT, FOOT, DOCK, SHEET, PITCH, HOVER, REVEAL, TABLET, PHONE, REDUCED */

/* ── FONTS: Gambarino (Fontshare, ITF FFL) + Messapia (Collletttivo, OFL); self-hosted */
@font-face{font-family:"Gambarino";src:url(../fonts/Gambarino-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Messapia";src:url(../fonts/Messapia-Bold.woff2) format("woff2");font-weight:700;font-display:swap}

/* ── TOKENS */
:root{
  --ground:#120E0B; --raised:#1B1511; --cream:#F3EADF; --ink:rgba(243,234,223,.72); --ink-2:rgba(243,234,223,.5); --line:rgba(243,234,223,.13);
  --sodium:#F08A24; --sodium-hi:#FFB461; --exit:#2FBF71;
  --disp:"Gambarino", Georgia, serif; --sign:"Messapia", system-ui, sans-serif; --body:"Atkinson Hyperlegible Next", system-ui, sans-serif;
  --pad:clamp(20px, 5vw, 72px); --max:1240px; --gap:clamp(110px, 16vh, 180px); --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:dark;
}

/* ── BASE */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--cream);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0;text-wrap:balance}
h2{font-size:clamp(2.2rem,4.2vw,3.6rem)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
.moon{width:.95em;height:.95em;display:inline-block;vertical-align:-.12em;color:#C4C9E0}
:focus-visible{outline:2px solid var(--sodium-hi);outline-offset:3px;border-radius:4px}
.kick{font:700 .74rem/1 var(--sign);letter-spacing:.2em;text-transform:uppercase;color:var(--sodium-hi);margin-bottom:18px}

/* ── TOP */
.top{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px var(--pad);transition:background .4s,padding .4s}
.top.is-solid{background:rgba(18,14,11,.9);box-shadow:0 1px 0 var(--line);padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 1rem/1 var(--sign);letter-spacing:.01em}
.brand__mark{width:28px;height:24px;color:var(--cream)}
.brand__lit{fill:var(--sodium)}
.top__nav{display:flex;gap:clamp(18px,2.4vw,34px);font-weight:500;font-size:.95rem}
.top__nav a{text-decoration:none;color:var(--ink);transition:color .25s}
.top__nav a:hover{color:var(--cream)}
.top__r{display:flex;align-items:center;gap:clamp(12px,2vw,24px)}
.status{display:inline-flex;align-items:center;gap:8px;font:500 .85rem/1 var(--body);color:var(--ink)}
.status__dot{width:8px;height:8px;border-radius:50%;background:#6b7280;flex:none}
.is-open .status__dot{background:var(--exit);box-shadow:0 0 0 3px rgba(47,191,113,.18)}

/* ── BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid transparent;font:600 1rem/1 var(--body);text-decoration:none;transition:transform .25s var(--ease),background .25s,border-color .25s,color .25s}
.btn:active{transform:scale(.97)}
.btn--sodium{background:var(--sodium);color:#1A0F05}
.btn--sodium:hover{background:var(--sodium-hi)}
.btn--ghost{background:none;border-color:rgba(243,234,223,.3);color:var(--cream)}
.btn--ghost:hover{border-color:var(--cream)}
.btn--sm{min-height:38px;padding:0 16px;font-size:.9rem}

/* ── HERO: still shopfront + rain loop; copy bottom-left, fading into the ground */
.hero{position:relative;height:100vh;height:100svh;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(18,14,11,.82) 62%,var(--ground));pointer-events:none;z-index:1}
.hero__copy{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:0 var(--pad) clamp(28px,5.5vh,64px)}
.hero h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:13ch;margin-bottom:14px}
.hero__tag{color:var(--ink);margin-bottom:26px;font-size:1.02rem}
.hero__row{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.pill{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:.95rem}

/* ── SCENE (image coords: 1344×752; signage sits at fixed % so it stays on the fascia) */
.scene{container-type:inline-size;position:absolute;left:50%;top:50%;width:max(100vw,calc(100svh*1.7872));aspect-ratio:1344/752;transform:translate(-50%,-50%)}
.scene>*{position:absolute}
.scene__still,.scene__vid{inset:0;width:100%;height:100%;object-fit:fill}
.scene__vid{opacity:0;transition:opacity 1.2s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1344 752' preserveAspectRatio='none'%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='9'/%3E%3C/filter%3E%3Crect width='1344' height='752' fill='white'/%3E%3Crect x='436' y='326' width='512' height='236' fill='black' filter='url(%23b)'/%3E%3C/svg%3E") 0 0/100% 100%;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1344 752' preserveAspectRatio='none'%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='9'/%3E%3C/filter%3E%3Crect width='1344' height='752' fill='white'/%3E%3Crect x='436' y='326' width='512' height='236' fill='black' filter='url(%23b)'/%3E%3C/svg%3E") 0 0/100% 100%}
.scene__vid.is-on{opacity:1}
.scene__signage{left:33.3%;top:25%;width:36%;margin:0;display:flex;flex-direction:column;align-items:center;gap:1.1cqw;text-align:center}
.scene__signage b{font:700 3.4cqw/1 var(--sign);letter-spacing:.02em;color:#FFF1DC;text-shadow:0 0 .5cqw rgba(255,196,120,.85),0 0 2.2cqw rgba(240,138,36,.45)}
.scene__signage span{font:600 .9cqw/1 var(--body);letter-spacing:.34em;text-transform:uppercase;color:#F7B46A;transition:opacity .6s}
.scene__signage b i{font-style:normal;transition:color .35s,text-shadow .35s}
.sign-pre .scene__signage b i:not(.on){color:rgba(255,236,210,.14);text-shadow:none}
.sign-pre:not(.sign-on) .scene__signage span{opacity:.12}

/* ── SECTIONS: one ground, one measure, space instead of dividers */
main>section:not(.hero){max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:var(--gap) var(--pad) 0}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,6vh,60px)}
.intro p{color:var(--ink);font-size:1.08rem;margin:0;max-width:34rem}
.frame{margin:0;overflow:hidden;border-radius:4px;background:var(--raised)}
.frame img{width:100%;height:100%;object-fit:cover}

/* ── COUNTER */
.counter,.reviews,.visit{position:relative;isolation:isolate}
.counter::before,.reviews::before,.visit::before{content:"";position:absolute;z-index:-1;inset:0 -12%;pointer-events:none}
.counter::before{background:radial-gradient(45% 30% at 50% 42%,rgba(255,160,80,.10),transparent 70%)}
.reviews::before{background:radial-gradient(40% 50% at 20% 60%,rgba(255,170,90,.07),transparent 70%)}
.visit::before{background:radial-gradient(60% 70% at 50% 100%,rgba(201,119,58,.16),transparent 70%)}
.counter{padding-top:clamp(70px,10vh,110px)!important}
.counter__photo{aspect-ratio:16/8}
.plates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(28px,4vw,48px)}
.plate .frame{aspect-ratio:4/5;margin-bottom:16px}
.plate h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:clamp(1.25rem,1.5vw,1.45rem);margin-bottom:6px}
.plate h3 span{font:700 .9rem var(--sign);color:var(--sodium-hi)}
.plate p{color:var(--ink);font-size:.95rem;margin:0}

/* ── ROLL: rolling clock digits (site.js builds .dg columns) */
.roll{display:inline-flex;font-family:var(--sign);font-weight:700;line-height:1;letter-spacing:-.02em}
.dg{display:inline-block;height:1em;overflow:hidden;text-align:center;transition:width .9s var(--ease)}
.dg__s{display:flex;flex-direction:column;transform:translateY(calc(var(--d,0) * -1em));transition:transform .9s var(--ease)}
.dg__s span{height:1em}

/* ── NIGHT: sticky side (heading + rolling clock) beside five typeset rows; the clock follows the row in view */
.night{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}
.night__side{position:sticky;top:clamp(90px,14vh,130px)}
.night__side h2{margin-bottom:18px}
.night__side>p{color:var(--ink);max-width:26rem}
.night__key{font-size:.92rem;color:var(--ink-2)!important}
.night__roll{display:flex;font-size:clamp(4rem,8vw,7.4rem);color:var(--sodium-hi);text-shadow:0 0 40px rgba(240,138,36,.28);margin:clamp(16px,4vh,40px) 0 clamp(8px,2vh,18px)}
.hours-list{border-top:1px solid var(--line)}
.stop{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:12px clamp(20px,3vw,48px);align-items:start;padding:clamp(26px,4vh,40px) 0;border-bottom:1px solid var(--line);opacity:.55;transition:opacity .6s var(--ease)}
.stop.is-here,.stop:hover{opacity:1}
.stop .more{grid-column:2;justify-self:start}
.stop__hour{font:700 .95rem/1 var(--sign);color:var(--sodium-hi);margin:0 0 12px;display:flex;align-items:center;gap:12px}
.stop__now{padding:4px 9px;border-radius:999px;background:rgba(47,191,113,.14);color:#7BE3A8;font:600 .7rem/1 var(--body);display:none}
.stop.is-now .stop__now{display:inline-block}
.stop h3{font-size:clamp(1.8rem,2.6vw,2.4rem);margin-bottom:10px}
.stop__note{color:var(--ink-2);font-size:.95rem;margin:0;max-width:26rem}
.items{list-style:none;margin:0;padding:0}
.items li{display:grid;grid-template-columns:1fr auto;gap:2px 18px;padding:10px 0;border-top:1px solid var(--line)}
.items li:first-child{border-top:0;padding-top:2px}
.items b{font-weight:600;font-size:1.03rem}
.items .pr{font:700 .9rem var(--sign);align-self:baseline}
.items small{grid-column:1/-1;color:var(--ink-2);font-size:.9rem;line-height:1.4}
.items .moon{margin-left:6px}
.more{background:none;border:0;padding:4px 0;color:var(--sodium-hi);font-weight:600;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.more i{font-style:normal;transition:transform .3s var(--ease)}
.more--all{margin-top:26px}

/* ── BREAD */
.bread{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.bread::before{content:"";position:absolute;z-index:-1;left:-10%;right:-10%;top:0;bottom:-20%;background:radial-gradient(50% 55% at 30% 55%,rgba(150,62,16,.32),transparent 70%);pointer-events:none}
.bread__media{position:relative}
.bread__photo{aspect-ratio:4/3}
.bread__num{position:absolute;left:clamp(16px,2vw,28px);bottom:clamp(14px,2vw,24px);font-size:clamp(3rem,6vw,5.6rem);color:#FFD7A3;text-shadow:0 0 30px rgba(240,138,36,.55),0 2px 18px rgba(0,0,0,.5)}
.bread__bellrow{display:flex;align-items:center;gap:18px;margin:26px 0 24px;padding-top:20px;border-top:1px solid var(--line)}
.bell{position:relative;flex:none;width:60px;height:60px;border-radius:50%;border:1px solid rgba(255,200,140,.35);background:none;color:#E3B067;display:grid;place-items:center;transition:border-color .3s}
.bell:hover{border-color:var(--sodium-hi)}
.bell svg{width:30px;height:38px;overflow:visible}
.bell__swing{transform-origin:32px 6px}
.bell.ring .bell__swing{animation:swing 1.5s cubic-bezier(.3,.6,.4,1)}
@keyframes swing{0%{transform:rotate(0)}14%{transform:rotate(18deg)}32%{transform:rotate(-12deg)}50%{transform:rotate(7deg)}68%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
.bread h2{font-size:clamp(2.6rem,4.8vw,4.4rem);margin-bottom:20px}
.bread__body>p:not(.kick){color:var(--ink)}
.bread__count{margin:0 0 4px;color:var(--cream)!important}
.bread__count b{font:700 1rem var(--sign);color:var(--sodium-hi);margin-left:6px}
.bread__fine{font-size:.9rem;color:var(--ink-2)!important;margin:0}

/* ── CREW */
.crew{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}
.crew__lead h2{margin-bottom:20px}
.crew__lead>p:not(.kick){color:var(--ink);font-size:1.08rem;max-width:30rem;margin-bottom:28px}
.perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,3vw,48px)}
.perk{padding:22px 0 26px;border-top:1px solid var(--line)}
.perk h3{font-size:1.35rem;margin-bottom:8px;transition:color .3s}
.perk p{color:var(--ink);margin:0;font-size:.98rem;line-height:1.5}

/* ── REVIEWS */
.reviews__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px 40px;margin-bottom:clamp(36px,6vh,56px)}
.reviews__score{display:flex;align-items:center;gap:14px;margin:0;color:var(--ink);font-size:.95rem}
.reviews__score b{font:700 clamp(2.4rem,3.4vw,3rem)/1 var(--sign);color:var(--cream)}
.reviews__score>span{display:flex;flex-direction:column;gap:2px}
.stars{color:var(--sodium-hi);letter-spacing:.15em}
.quotes{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(28px,3vw,44px) clamp(20px,3vw,44px)}
.q{margin:0;padding-top:20px;border-top:1px solid var(--line);transition:border-color .35s}
.q--big{grid-row:span 2;border-top-color:var(--sodium)}
.q blockquote{margin:0 0 14px;font-size:1.04rem;line-height:1.55}
.q blockquote::before{content:"\201C"}
.q blockquote::after{content:"\201D"}
.q--big blockquote{font:400 clamp(1.8rem,2.5vw,2.4rem)/1.2 var(--disp)}
.q figcaption{color:var(--ink-2);font-size:.9rem}

/* ── STORY */
.story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:center}
.story__photo{aspect-ratio:4/5}
.story h2{margin-bottom:24px}
.story__quote{font:400 clamp(1.3rem,1.9vw,1.7rem)/1.4 var(--disp);max-width:34rem}
.story__by{color:var(--sodium-hi);font-weight:600;margin-bottom:28px}
.shifts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin:4px 0 26px;max-width:40rem}
.shift h3{font:700 .74rem/1 var(--sign);letter-spacing:.2em;text-transform:uppercase;color:var(--sodium-hi);margin-bottom:10px}
.shift ol{list-style:none;margin:0;padding:0}
.shift li{display:grid;grid-template-columns:3.8rem 1fr;gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);font-size:.95rem;line-height:1.4;transition:color .3s}
.shift time{font:700 .95rem/1 var(--sign);color:var(--cream);transition:color .3s}
.story__facts{color:var(--ink-2);margin:0;padding-top:18px;border-top:1px solid var(--line);max-width:34rem}

/* ── VISIT */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start;padding-bottom:var(--gap)!important}
.visit h2{margin-bottom:28px}
.visit__time{font:700 clamp(2.2rem,3.8vw,3.4rem)/1 var(--sign);letter-spacing:-.01em;white-space:nowrap;margin-bottom:12px}
.visit__days{color:var(--ink);margin-bottom:28px}
.visit__facts{display:grid;gap:0;padding-top:clamp(0px,6vw,90px)}
.visit__facts p{margin:0;padding:20px 0 22px;border-top:1px solid var(--line);color:var(--ink)}
.visit__facts b{display:block;color:var(--cream);font:700 .74rem/1 var(--sign);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.hours{max-width:28rem;margin-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hours summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;padding:16px 0}
.hours summary::-webkit-details-marker{display:none}
.hours__all{font-size:.9rem;color:var(--sodium-hi);white-space:nowrap}
.hours__all::after{content:" +"}
.hours[open] .hours__all::after{content:" −"}
.hours ul{list-style:none;margin:0 0 10px;padding:0}
.hours li{display:flex;justify-content:space-between;padding:7px 0;color:var(--ink);font-variant-numeric:tabular-nums}
.hours li.is-today{color:var(--cream);font-weight:600}
.hours__note{color:var(--ink-2);font-size:.88rem}
.visit__ctas{display:flex;flex-wrap:wrap;gap:10px}

/* ── FOOT */
.foot{max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:28px var(--pad) 40px;border-top:1px solid var(--line);color:var(--ink-2);font-size:.9rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 30px}
.foot p{margin:0}
.foot b{color:var(--cream)}
.foot button{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;color:inherit}
.foot__fine{max-width:44rem}

/* ── DOCK (phone only) */
.dock{display:none}

/* ── SHEET: full menu */
.sheet{width:min(880px,94vw);max-height:90vh;padding:0;border:0;border-radius:12px;background:var(--raised);color:var(--cream);box-shadow:0 40px 120px rgba(0,0,0,.7)}
.sheet::backdrop{background:rgba(8,6,4,.72)}
.sheet__in{display:flex;flex-direction:column;max-height:90vh}
.sheet__head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px 12px}
.sheet__head h2{font-size:1.8rem}
.sheet__x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;font-size:1.6rem;line-height:1}
.sheet__tabs{display:flex;gap:6px;overflow-x:auto;padding:0 26px 10px;scrollbar-width:none}
.sheet__tabs button{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:none;font-size:.9rem;white-space:nowrap}
.sheet__tabs button b{font-family:var(--sign);font-weight:700;color:var(--sodium-hi);margin-right:6px}
.sheet__tabs [aria-selected="true"]{background:var(--cream);color:var(--ground)}
.sheet__tabs [aria-selected="true"] b{color:#8a4a0e}
.sheet__filters{display:flex;flex-wrap:wrap;gap:6px;padding:4px 26px 14px;border-bottom:1px solid var(--line)}
.sheet__filters button{min-height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:none;font-size:.85rem;display:inline-flex;gap:6px;align-items:center}
.sheet__filters [aria-pressed="true"]{border-color:var(--sodium);background:rgba(240,138,36,.14)}
.sheet__body{overflow-y:auto;padding:8px 26px 10px;overscroll-behavior:contain}
.sheet__body .items li:first-child{border-top:1px solid var(--line);padding-top:10px}
.sheet__note{color:var(--ink);margin:14px 0 6px}
.sheet__body .items li.is-hidden{display:none}
.sheet__empty{color:var(--ink-2);padding:20px 0}
.sheet__fine{margin:0;padding:12px 26px 20px;border-top:1px solid var(--line);color:var(--ink-2);font-size:.82rem}

/* ── PITCH */
.pitch{width:min(460px,92vw);padding:34px 30px 28px;border:0;border-radius:12px;background:var(--raised);color:var(--cream);text-align:center;box-shadow:0 40px 120px rgba(0,0,0,.7)}
.pitch::backdrop{background:rgba(8,6,4,.72)}
.pitch__mark{font:700 .74rem/1 var(--sign);letter-spacing:.2em;text-transform:uppercase;color:var(--sodium-hi);margin-bottom:14px}
.pitch h2{font-size:2rem;margin-bottom:14px}
.pitch h2 em{font-style:normal;color:var(--sodium-hi);display:block}
.pitch p{color:var(--ink)}
.pitch .btn{margin-top:8px}

/* ── HOVER: restrained recipe — photo zoom, row shift, arrow nudge */
@media (hover:hover){
  .frame img{transition:transform 1.2s var(--ease)}
  .frame:hover img,.plate:hover .frame img{transform:scale(1.035)}
  .plate h3{transition:color .35s}
  .plate:hover h3{color:var(--sodium-hi)}
  .items li b{transition:color .3s}
  .items li:hover b{color:var(--sodium-hi)}
  .more:hover i{transform:translateX(4px)}
  .perk:hover h3{color:var(--sodium-hi)}
  .q:hover{border-top-color:var(--sodium)}
}

/* ── REVEAL: short fade-up, only when JS is running */
.js-rv .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js-rv .rv.in{opacity:1;transform:none}
.js-rv .lamp{opacity:0;filter:blur(6px);transform:translateY(8px);transition:opacity 1.1s var(--ease),filter 1.1s var(--ease),transform 1.1s var(--ease)}
.js-rv .lamp.in{opacity:1;filter:none;transform:none}

/* ── TABLET */
@media (max-width:899px){
  .top__nav{display:none}
  .intro{grid-template-columns:1fr;gap:16px}
  .night{grid-template-columns:1fr;gap:28px}
  .night__side{position:static}
  .night__roll{display:none}
  .stop{grid-template-columns:1fr;gap:16px;opacity:1}
  .stop .more{grid-column:1}
  .shifts{grid-template-columns:1fr}
  .bread,.crew,.story,.visit{grid-template-columns:1fr}
  .story__photo{aspect-ratio:4/3}
  .quotes{grid-template-columns:1fr 1fr}
  .q--big{grid-column:1/-1;grid-row:auto}
  .plates{grid-template-columns:1fr 1fr;gap:28px 16px}
  .visit__facts{padding-top:0}
}

/* ── PHONE */
@media (max-width:760px){
  :root{--gap:88px}
  body{padding-bottom:76px}
  .top{padding:12px 16px}
  .top .status,.top .btn{display:none}
  .top.is-solid{padding-top:12px;padding-bottom:12px}
  .hero{display:flex;flex-direction:column;justify-content:flex-end}
  .scene{width:auto;height:72svh;top:36svh}
  .hero::after{height:62%}
  .hero__copy{padding:0 20px calc(92px + env(safe-area-inset-bottom))}
  .hero h1{font-size:clamp(2.3rem,11vw,3rem)}
  .hero__tag{font-size:.95rem;margin-bottom:20px}
  .hero__row .btn{flex:1 1 100%}
  .hero__row .pill{display:none}
  .scene__signage span{font-size:1.1cqw}
  .counter__photo{aspect-ratio:4/3}
  .counter__photo img{object-position:35% 50%}
  .plate .frame{aspect-ratio:1/1;margin-bottom:10px}
  .plate h3{flex-direction:column;align-items:flex-start;gap:2px;font-size:1.1rem}
  .plate p{font-size:.85rem;line-height:1.45}
  .perks{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .quotes .q:nth-child(n+4){display:none}
  .dock{display:flex;position:fixed;z-index:30;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));gap:6px;padding:6px;border-radius:999px;background:rgba(27,21,17,.96);box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 0 0 1px var(--line)}
  .dock__st{flex:1;display:flex;align-items:center;gap:8px;padding:0 10px;font:500 .85rem/1.15 var(--body);color:var(--ink)}
  .dock button{min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:none;font-weight:600}
  .dock .dock__call{background:var(--sodium);border-color:var(--sodium);color:#1A0F05}
  .sheet{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .sheet__in{max-height:100dvh;height:100%}
  .sheet__head,.sheet__tabs,.sheet__filters,.sheet__body,.sheet__fine{padding-left:16px;padding-right:16px}
}

/* ── REDUCED */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
