/* Suya Night: a grill house at night. Flagship of the motion kit (websites.md "Motion kit"). */
/* Every colour comes from the site's --p/--a and the layout's palette tokens (websites.md "Light and dark").
   Light = the grill house by day; dark = at night. Neutral values first, brand-tinted where color-mix() works. */
/* Fraunces swaps in late on a cold load: these local faces are sized to its widths so headings wrap the same and nothing shifts.
   Fraunces uses optical sizes, so the bold ratio falls from 94% (47px) to 79% (115px): the hero title gets its own face per breakpoint. */
@font-face{font-family:"Fraunces fb";src:local("Georgia");font-weight:300 500;size-adjust:85.8%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces fb";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;size-adjust:90%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces fb";src:local("Georgia Italic"),local("Georgia-Italic");font-style:italic;font-weight:300 600;size-adjust:84.1%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces fb2";src:local("Times New Roman"),local("TimesNewRomanPSMT");font-weight:300 500;size-adjust:93.7%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces fb2";src:local("Times New Roman Bold"),local("TimesNewRomanPS-BoldMT");font-weight:600 900;size-adjust:95%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces t1";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;size-adjust:93%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces t2";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;size-adjust:89.5%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Fraunces t3";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;size-adjust:80%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
.sn-title{--fh:"Fraunces","Fraunces t1","Fraunces fb2",Georgia,serif}
@font-face{font-family:"Fraunces t4";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;size-adjust:85%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@media(min-width:500px){.sn-title{--fh:"Fraunces","Fraunces t2","Fraunces fb2",Georgia,serif}}
@media(min-width:640px){.sn-title{--fh:"Fraunces","Fraunces t4","Fraunces fb2",Georgia,serif}}
@media(min-width:700px){.sn-title{--fh:"Fraunces","Fraunces t3","Fraunces fb2",Georgia,serif}}
@font-face{font-family:"Fraunces t5";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;size-adjust:78.5%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
@media(min-width:960px){.sn-title{--fh:"Fraunces","Fraunces t5","Fraunces fb2",Georgia,serif}}
.t-suya-night{--bg:var(--lt-bg);--sn-2:var(--lt-soft);--sn-3:#efe9df;--sn-hero:#f1ebe2;--sn-foot:#121211;--card:var(--lt-card);--soft:var(--lt-soft);--line:var(--lt-line);--fg:var(--lt-fg);--muted:var(--lt-muted);--sn-hi:var(--pi);--sn-glass:rgba(250,248,244,.86);--sn-grate:rgba(0,0,0,.06);--sn-veil:rgba(0,0,0,.05);--sn-veil-2:rgba(0,0,0,.08);--sn-veil-line:rgba(0,0,0,.16);--sn-alt-bg:var(--p);--sn-alt-ink:var(--on-p);--sn-alt-hi:var(--on-p);--sn-glow:.55;--sn-ember-o:.55;--fh:"Fraunces","Fraunces fb","Fraunces fb2",Georgia,serif;--fb:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:18px;--mo-ember:var(--p);--mo-ember2:var(--a);--mo-smoke:#000}
.t-suya-night[data-theme=dark]{--bg:#0d0d0c;--sn-2:#131312;--sn-3:#181816;--sn-hero:#090909;--sn-foot:#080808;--card:#1b1b19;--soft:#151514;--line:#2e2e2b;--fg:#f4f1ec;--muted:#b5b0a8;--sn-hi:var(--ai);--sn-glass:rgba(13,13,12,.84);--sn-grate:rgba(255,255,255,.06);--sn-veil:rgba(255,255,255,.05);--sn-veil-2:rgba(255,255,255,.1);--sn-veil-line:rgba(255,255,255,.18);--sn-alt-bg:#f3efe8;--sn-alt-ink:#1a1a18;--sn-alt-hi:var(--lt-pi);--sn-glow:1;--sn-ember-o:1;--mo-ember:var(--ai);--mo-ember2:var(--p);--mo-smoke:#fff;color-scheme:dark}
@supports (color:color-mix(in srgb,red,blue)){
.t-suya-night{--sn-3:color-mix(in srgb,var(--p) 7%,#f3efe8);--sn-hero:color-mix(in srgb,var(--p) 9%,#f6f2ea);--sn-foot:color-mix(in srgb,var(--p) 14%,#0c0c0b);--sn-grate:color-mix(in srgb,var(--p) 14%,transparent);--mo-smoke:var(--p)}
.t-suya-night[data-theme=dark]{--bg:color-mix(in srgb,var(--p) 7%,#0a0a09);--sn-2:color-mix(in srgb,var(--p) 10%,#0e0e0d);--sn-3:color-mix(in srgb,var(--p) 14%,#111110);--sn-hero:color-mix(in srgb,var(--p) 6%,#070707);--sn-foot:color-mix(in srgb,var(--p) 5%,#060606);--card:color-mix(in srgb,var(--p) 11%,#171716);--soft:color-mix(in srgb,var(--p) 8%,#121211);--line:color-mix(in srgb,var(--p) 20%,#292927);--fg:color-mix(in srgb,var(--a) 5%,#f6f4ef);--muted:color-mix(in srgb,var(--a) 8%,#b6b1aa);--sn-glass:color-mix(in srgb,var(--bg) 84%,transparent);--sn-grate:color-mix(in srgb,var(--a) 15%,transparent);--sn-alt-bg:color-mix(in srgb,var(--a) 12%,#f7f4ee);--mo-smoke:color-mix(in srgb,var(--p) 40%,#fff)}}
.t-suya-night body{background:var(--bg);font-size:16.5px;-webkit-font-smoothing:antialiased}
.t-suya-night h1,.t-suya-night h2,.t-suya-night h3{font-weight:700;letter-spacing:-.015em}
.t-suya-night h2 em{font-style:italic;font-weight:500;color:var(--sn-hi)}
.t-suya-night ::selection{background:var(--a);color:var(--on-a)}

/* Header */
.t-suya-night .top{background:var(--sn-glass);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.t-suya-night.mo-scrolled .top{border-color:var(--line)}
.t-suya-night .brand{font:700 1.22rem/1.05 var(--fh);color:var(--fg);letter-spacing:-.01em}
.t-suya-night .burger{border-color:var(--line);color:var(--fg)}
.t-suya-night .nav a{font-weight:500;color:var(--muted);position:relative;transition:color .2s}
.t-suya-night .nav a:hover,.t-suya-night .nav a.on{color:var(--fg)}
.t-suya-night .nav a.on{text-decoration:none}
.t-suya-night .btn{border-radius:999px;font-weight:700}
.t-suya-night .btn.ghost{color:var(--fg);border-color:var(--sn-veil-line)}
@media(min-width:860px){
  .t-suya-night .nav a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:2px;background:var(--a);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .t-suya-night .nav a:hover::after,.t-suya-night .nav a.on::after{transform:scaleX(1)}
}

/* Buttons */
.sn-btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 7px 0 22px;border-radius:999px;font:700 1rem/1 var(--fb);text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s,border-color .25s}
.sn-btn:hover{transform:translateY(-2px)}
.sn-btn:active{transform:translateY(0) scale(.98)}
.sn-btn svg{width:20px;height:20px;flex:none}
.sn-btn-main{background:var(--p);color:var(--on-p);box-shadow:0 14px 34px -14px var(--p)}
.sn-btn-main::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.38) 50%,transparent 65%);translate:-110% 0;transition:translate .8s cubic-bezier(.2,.7,.2,1)}
.sn-btn-main:hover::before{translate:110% 0}
.sn-btn-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.2)}
.sn-btn-ic svg{width:18px;height:18px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.sn-btn:hover .sn-btn-ic svg{transform:translateX(3px)}
.sn-btn-glass{padding:0 22px 0 16px;color:var(--fg);background:var(--sn-veil);border:1px solid var(--sn-veil-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sn-btn-glass:hover{border-color:var(--fg);background:var(--sn-veil-2)}
.sn-btn-glass svg{color:#4fd98a}
.sn-btn-line{padding:0 4px;border-radius:6px;color:var(--fg)}
.sn-btn-line span{padding-bottom:4px;background:linear-gradient(var(--sn-hi),var(--sn-hi)) 0 100%/100% 2px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1)}
.sn-btn-line:hover span{background-size:35% 2px}
.sn-more{display:inline-flex;align-items:center;gap:8px;color:var(--fg);font-weight:600;text-decoration:none;padding:6px 0;border-bottom:2px solid var(--sn-hi)}
.sn-more svg{width:18px;height:18px;transition:transform .3s}
.sn-more:hover svg{transform:translateX(4px)}

/* Hero */
.sn-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--sn-hero)}
.sn-hero-bg{position:absolute;inset:0;z-index:-1}
.sn-hero-img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;opacity:.4}
.sn-glow{position:absolute;inset:0;opacity:var(--sn-glow);background:radial-gradient(130% 55% at 50% 108%,color-mix(in srgb,var(--p) 60%,transparent),transparent 65%),radial-gradient(55% 40% at 88% 0%,color-mix(in srgb,var(--a) 13%,transparent),transparent 70%);animation:sn-flicker 4.5s ease-in-out infinite alternate}
@keyframes sn-flicker{0%{filter:brightness(.82)}35%{filter:none}55%{filter:brightness(.9)}100%{filter:none}}
.sn-embers{position:absolute;inset:0;width:100%;height:100%;opacity:var(--sn-ember-o)}
.sn-hero .mo-smoke i{--o:.16}
.sn-hero .mo-drift{left:62%}
.sn-hero .mo-bit{opacity:calc(.3 + var(--z) * .45)}
@media(min-width:900px){.sn-hero .mo-drift{left:42%}.sn-hero .mo-bit{opacity:calc(.35 + var(--z) * .5)}}
.sn-grate{position:absolute;left:-20%;right:-20%;bottom:0;height:30%;background:repeating-linear-gradient(90deg,transparent 0 38px,var(--sn-grate) 38px 42px);transform:perspective(380px) rotateX(60deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(transparent,#000 75%);mask-image:linear-gradient(transparent,#000 75%)}
.sn-hero-in{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:min(86svh,820px);padding-top:clamp(40px,9vw,110px);padding-bottom:clamp(96px,12vw,150px)}
.sn-loc{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;margin:0 0 22px;padding:7px 15px 7px 11px;border-radius:999px;background:var(--sn-veil);border:1px solid var(--sn-veil-line);font-size:.88rem;font-weight:500}
.sn-dot{width:8px;height:8px;border-radius:50%;background:var(--sn-hi);animation:sn-ping 2.4s ease-out infinite}
@keyframes sn-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--a) 70%,transparent)}100%{box-shadow:0 0 0 11px transparent}}
.sn-title{font:700 clamp(2.75rem,12vw,7.2rem)/.92 var(--fh);letter-spacing:-.035em;margin:0 0 .32em;max-width:7em;overflow-wrap:normal}
.sn-w{display:inline-block;overflow:hidden;padding:0 .04em .1em 0;margin-bottom:-.1em;vertical-align:top}
.sn-w>span{display:inline-block}
.sn-w:last-child>span{font-style:italic;font-weight:500;color:var(--sn-hi)}
.sn-w:only-child>span{font-style:normal;font-weight:700;color:inherit}
@keyframes sn-rise{from{transform:translateY(108%) rotate(5deg)}}
.sn-typed{font:400 clamp(1.15rem,3.8vw,1.65rem)/1.3 var(--fb);color:var(--muted);margin:0 0 .5em;min-height:1.3em}
.sn-typed-v{font:italic 600 1.08em var(--fh);color:var(--fg)}
.sn-lede{max-width:32em;color:var(--muted);font-size:1.06rem;margin:0 0 30px}
.sn-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}
.sn-today{margin:18px 0 0;font-size:.92rem;color:var(--muted)}

/* Hero sequence (about 4.5 s, websites.md "Hero sequences"): smoke rises, the name is revealed word by word, the dish line
   and the tagline type in, the buttons pop, then the embers and drifting food take over as the calm idle loop. */
.mo .sn-hero .mo-smoke{animation:sn-in 1.6s cubic-bezier(.16,1,.3,1) both}
.mo .sn-glow{animation:sn-in 1.2s cubic-bezier(.16,1,.3,1) both,sn-flicker 4.5s ease-in-out 1.2s infinite alternate}
.mo .sn-loc{animation:sn-up .7s cubic-bezier(.16,1,.3,1) .35s both}
.mo .sn-w>span{animation:sn-rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 90ms + 600ms)}
.mo .sn-typed{animation:sn-up .7s cubic-bezier(.16,1,.3,1) 1.5s both}
.mo .sn-hero .sn-ctas>*{animation:sn-pop .6s cubic-bezier(.34,1.56,.64,1) 3.3s both}
.mo .sn-hero .sn-ctas>:nth-child(2){animation-delay:3.39s}.mo .sn-hero .sn-ctas>:nth-child(3){animation-delay:3.48s}
.mo .sn-hero .sn-today{animation:sn-in .7s cubic-bezier(.16,1,.3,1) 3.7s both}
.mo .sn-embers{animation:sn-in 1.4s cubic-bezier(.16,1,.3,1) 3.8s both}
.mo .sn-hero .mo-drift{animation:sn-in 1.4s cubic-bezier(.16,1,.3,1) 4.2s both}
@keyframes sn-in{from{opacity:0}}
@keyframes sn-up{from{opacity:0;translate:0 14px}}
@keyframes sn-pop{from{opacity:0;scale:.82}}

/* Marquee of menu sections */
.sn-marquee{position:relative;background:var(--sn-2);padding:14px 0 6px}
.sn-marquee::before,.sn-marquee::after{content:"";position:absolute;top:0;bottom:0;width:8%;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--sn-2),transparent)}
.sn-marquee::before{left:0}.sn-marquee::after{right:0;transform:scaleX(-1)}
.sn-marquee ul{list-style:none;margin:0;padding:0 16px}
.sn-marquee li{display:flex;margin-right:12px}
.sn-marquee a{display:flex;align-items:center;gap:12px;padding:7px 22px 7px 7px;border-radius:999px;border:1px solid var(--line);color:var(--fg);text-decoration:none;white-space:nowrap;font:italic 500 clamp(1.1rem,3vw,1.45rem)/1 var(--fh);transition:border-color .3s,background .3s}
.sn-marquee a:hover{border-color:var(--sn-hi);background:var(--sn-veil)}
.sn-mq-art{width:46px;height:46px;border-radius:50%}

/* Sections */
.sn-sec{position:relative;padding:clamp(56px,9vw,112px) 0 calc(clamp(56px,9vw,112px) + 36px);scroll-margin-top:56px}
.sn-sec>.wrap{position:relative}
.sn-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:clamp(24px,4vw,44px)}
.sn-head h2,.sn-story h2{font:700 clamp(2.2rem,7.5vw,4.2rem)/1 var(--fh);letter-spacing:-.03em;margin:0}

/* Picks: bento */
.sn-picks{background:var(--sn-2)}
.sn-lines{--wl-o:.1}
.sn-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sn-card{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:22px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.sn-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mo-gx,50%) var(--mo-gy,0%),var(--sn-veil-2),transparent 45%);opacity:0;transition:opacity .35s}
.sn-card:hover::after{opacity:1}
.sn-card-art{position:relative;aspect-ratio:1;overflow:hidden}
.sn-card-art img,.sn-card-art .dish-art{width:100%;height:100%;object-fit:cover;border-radius:0}
.sn-card-art .dish-art svg{width:74%;height:74%;transition:transform .7s cubic-bezier(.2,.7,.2,1);animation:sn-float 6s ease-in-out infinite}
.sn-card-1 .dish-art svg,.sn-card-4 .dish-art svg{animation-delay:-2s}.sn-card-2 .dish-art svg,.sn-card-5 .dish-art svg{animation-delay:-4s}
@keyframes sn-float{50%{translate:0 -7px}}
.sn-card:hover .dish-art svg{transform:scale(1.07) rotate(-4deg)}
.sn-card-art img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.sn-card:hover .sn-card-art img{transform:scale(1.05)}
.sn-card-body{display:flex;flex:1;flex-direction:column;gap:4px;padding:14px 14px 16px}
.sn-card-cat{margin:0;font-size:.8rem;font-weight:600;color:var(--sn-hi)}
.sn-card h3{font:600 1.18rem/1.15 var(--fh);margin:0}
.sn-card-desc{overflow-wrap:anywhere;margin:2px 0 0;color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sn-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px}
.sn-price{margin:0;font:700 1.12rem var(--fb);font-variant-numeric:tabular-nums}
.sn-price small{font-size:.74rem;font-weight:500;color:var(--muted)}
.sn-add{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px 0 12px;border:0;border-radius:999px;background:var(--a);color:var(--on-a);font:700 .92rem var(--fb);white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .25s}
.sn-add svg{width:16px;height:16px}
.sn-add:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px var(--a)}
.sn-add:active{transform:scale(.94)}
a.sn-add{padding:0 16px}
.sn-card-0{grid-column:span 2}
.sn-card-0 .sn-card-art{aspect-ratio:4/3}
.sn-card-0 h3{font-size:clamp(1.5rem,5vw,2.3rem)}
.sn-card-1{grid-column:span 2;flex-direction:row}
.sn-card-1 .sn-card-art{width:44%;flex:none;aspect-ratio:auto;min-height:170px}
.sn-card-2{background:var(--sn-alt-bg);color:var(--sn-alt-ink);border-color:var(--sn-alt-bg)}
.sn-card-2 .sn-card-cat{color:var(--sn-alt-hi)}
.sn-card-2 .sn-card-desc,.sn-card-2 .sn-price small{color:inherit;opacity:.85}
.sn-card-2 .dish-art{--card:var(--sn-alt-bg)}
@media(min-width:900px){
  .sn-bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .sn-card-0{grid-row:span 2}
  .sn-card-0 .sn-card-art{aspect-ratio:auto;flex:1;min-height:300px}
  .sn-card-0 .sn-card-body{flex:none;padding:22px 24px 24px}
  .sn-card-4,.sn-card-5{grid-column:span 2;flex-direction:row}
  .sn-card-4 .sn-card-art,.sn-card-5 .sn-card-art{width:44%;flex:none;aspect-ratio:auto;min-height:180px}
  .sn-card-body{padding:16px 18px 18px}
}

/* Menu: shared partial, tabs on the home page */
.sn-menu{background:var(--bg)}
.t-suya-night .chips{top:60px;margin:0 -16px 12px;padding:12px 16px 16px;gap:4px;background:var(--sn-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.t-suya-night .chips a{border:0;border-radius:999px;color:var(--muted);font-weight:600;padding:9px 14px;transition:color .2s,background .2s}
.t-suya-night .chips a:hover{color:var(--fg)}
.t-suya-night .chips a.on{color:var(--fg);background:var(--sn-veil-2)}
.t-suya-night .mcat{padding:16px 0 28px}
.t-suya-night .mcat h2{font:700 clamp(1.6rem,5vw,2.3rem)/1.05 var(--fh);border:0;padding:0;margin:0 0 .6em;color:var(--fg)}
.mo-tabbed .mcat h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.t-suya-night .items{display:grid;gap:10px}
@media(min-width:760px){.t-suya-night .items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.t-suya-night .item{gap:4px 14px;padding:12px;border:1px solid var(--line);border-radius:20px;background:var(--card);transition:border-color .25s,transform .25s}
.t-suya-night .item:hover{border-color:var(--sn-hi)}
.t-suya-night .item>img,.t-suya-night .item>.dish-art{width:76px;height:76px;border-radius:16px}
.t-suya-night .info h3{font:600 1.06rem/1.25 var(--fb)}
.t-suya-night .info p{font-size:.9rem}
.t-suya-night .price{color:var(--sn-hi)}
.t-suya-night .add{border:0;background:var(--sn-veil-2);color:var(--fg);transition:background .2s,color .2s,transform .2s}
.t-suya-night .add:hover{background:var(--a);color:var(--on-a)}
.t-suya-night .add:active{transform:scale(.94)}
.t-suya-night .out{background:var(--line);color:var(--fg)}

/* About */
.sn-about{background:var(--sn-3);overflow:hidden}
.sn-about-in{display:grid;gap:36px}
@media(min-width:900px){.sn-about-in{grid-template-columns:1.25fr 1fr;align-items:center;gap:64px}}
.sn-story p{font:400 clamp(1.25rem,3.4vw,1.85rem)/1.38 var(--fh);margin:.7em 0 1em;color:var(--fg)}
.sn-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0}
.sn-stats div{display:flex;flex-direction:column-reverse;gap:6px;padding:22px 20px;border-radius:22px;background:var(--sn-veil);border:1px solid var(--line)}
.sn-stats dd{margin:0;font:700 clamp(2.4rem,7vw,3.5rem)/1 var(--fh);color:var(--sn-hi);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sn-stats dt{color:var(--muted);font-size:.92rem}

/* Gallery strip */
.sn-strip{list-style:none;margin:0;padding:0 16px 8px;display:grid;grid-auto-flow:column;grid-auto-columns:min(76%,360px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.sn-strip li{position:relative;scroll-snap-align:start;border-radius:22px;overflow:hidden}
.sn-strip li:nth-child(even){margin-top:36px}
.sn-strip img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.sn-strip li:hover img{transform:scale(1.05)}
.sn-strip span{position:absolute;left:12px;bottom:12px;right:12px;padding:6px 12px;border-radius:12px;background:var(--sn-glass);font-size:.85rem}

/* Visit */
.sn-visit{padding-top:clamp(40px,7vw,80px)}
.sn-visit-grid{display:grid;gap:16px}
@media(min-width:860px){.sn-visit-grid.has-hours{grid-template-columns:1.45fr 1fr}}
.sn-visit-card{position:relative;overflow:hidden;padding:clamp(26px,5vw,52px);border-radius:28px;border:1px solid var(--line);background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--p) 24%,transparent),transparent 55%),var(--card)}
.sn-visit-card h2{font:700 clamp(2.2rem,7vw,3.6rem)/1 var(--fh);letter-spacing:-.03em;margin:0;padding-right:70px}
.sn-addr{font:500 clamp(1.25rem,3.6vw,1.8rem)/1.25 var(--fh);margin:.5em 0 1em;max-width:15.3em}
.sn-pin{position:absolute;right:clamp(18px,5vw,48px);top:clamp(22px,5vw,48px);display:grid;place-items:center;width:60px;height:60px;color:var(--sn-hi)}
.sn-pin svg{position:relative;width:36px;height:36px;animation:sn-bob 2.6s ease-in-out infinite}
.sn-pin i{position:absolute;bottom:4px;width:32px;height:11px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:sn-ripple 2.6s ease-out infinite}
.sn-pin i:nth-child(2){animation-delay:1.3s}
@keyframes sn-bob{50%{transform:translateY(-7px)}}
@keyframes sn-ripple{0%{transform:scale(.4);opacity:.85}100%{transform:scale(2.3);opacity:0}}
.sn-hours{padding:clamp(24px,4vw,36px);border-radius:28px;background:var(--card);border:1px solid var(--line)}
.sn-hours h2{font:700 1.6rem var(--fh)}
.t-suya-night .reviews h2{font:700 clamp(1.8rem,5vw,2.6rem)/1.05 var(--fh)}
.t-suya-night .reviews li{background:var(--card)}

/* Inner pages */
.t-suya-night .pagehead{position:relative;overflow:hidden;padding:clamp(48px,8vw,96px) 0 clamp(28px,4vw,44px);border:0;background:radial-gradient(90% 120% at 50% 130%,color-mix(in srgb,var(--p) 40%,transparent),transparent 60%),var(--sn-hero)}
.t-suya-night .pagehead h1{font:700 clamp(2.4rem,8vw,4.6rem)/1 var(--fh);letter-spacing:-.03em}
.t-suya-night .sh{font-family:var(--fh)}
.t-suya-night .sec.alt{background:var(--sn-2)}
.t-suya-night .hl,.t-suya-night .box,.t-suya-night .pkg,.t-suya-night .post-card{background:var(--card);border-color:var(--line);border-radius:22px}
.t-suya-night .hl .price{color:var(--sn-hi)}

/* Cart, sheet, forms on dark */
.t-suya-night .cart,.t-suya-night .cart-bar,.t-suya-night .dock,.t-suya-night .cart-head,.t-suya-night dialog.sheet,.t-suya-night .sheet-head,.t-suya-night .sheet-foot{background:var(--card);color:var(--fg)}
.t-suya-night .cart-bar{border-top-color:var(--p)}
.t-suya-night .sum{background:var(--sn-3)}
.t-suya-night .qty button{background:var(--soft);color:var(--fg);border-color:var(--line)}
.t-suya-night .x{color:var(--fg);border-color:var(--line)}
.t-suya-night .error{background:#4a1a14;color:#ffd6cc}
.t-suya-night .ok{background:var(--card)}
.t-suya-night .hours .today th,.t-suya-night .hours .today td{color:var(--sn-hi)}
.t-suya-night .hours th,.t-suya-night .hours td{border-color:var(--line)}

/* Footer */
.t-suya-night .foot{position:relative;overflow:hidden;background:var(--sn-foot);padding-top:52px}
.t-suya-night .foot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--p),var(--a),transparent) no-repeat;background-size:45% 100%;animation:sn-line 8s ease-in-out infinite alternate}
.t-suya-night .foot::after{content:"";position:absolute;left:50%;bottom:-220px;width:620px;height:320px;margin-left:-310px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--p) 22%,transparent),transparent);pointer-events:none;animation:sn-flicker 5s ease-in-out infinite alternate}
@keyframes sn-line{from{background-position:-60% 0}to{background-position:160% 0}}
.t-suya-night .foot-grid,.t-suya-night .legal{position:relative;z-index:1}
.t-suya-night .foot-name{font:700 clamp(1.6rem,5vw,2.4rem)/1.05 var(--fh);letter-spacing:-.02em}
.t-suya-night .foot{color:#ece7df}.t-suya-night .foot a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
.t-suya-night .legal{border-color:var(--line)}
.sn-card-1 .sn-card-body,.sn-card-4 .sn-card-body,.sn-card-5 .sn-card-body{justify-content:center}
.sn-card-1 .sn-card-foot,.sn-card-4 .sn-card-foot,.sn-card-5 .sn-card-foot{margin-top:14px}
.sn-card-2 .sn-add{background:var(--sn-alt-ink);color:var(--sn-alt-bg)}
/* Section motion (websites.md "Section motion"): embers. Headings rise, then the italic word catches like a coal; one dish floats at a time. */
.mo .sn-head[data-reveal] h2 em,.mo .sn-story[data-reveal] h2 em{display:inline-block;opacity:.35;translate:0 .12em;transition:opacity .9s var(--mo-ease) .35s,translate .9s var(--mo-ease) .35s}
.mo .sn-head[data-reveal].in h2 em,.mo .sn-story[data-reveal].in h2 em{opacity:1;translate:none}
.sn-card:not(.sn-card-0) .sn-card-art .dish-art svg{animation:none}
.mo .sn-card[data-reveal]{translate:0 34px;transition:opacity .7s var(--mo-ease) var(--mo-d,0ms),translate .9s var(--mo-ease) var(--mo-d,0ms)}
.mo .sn-card[data-reveal] .sn-card-art>*{scale:1.1;transition:scale 1.4s var(--mo-ease) var(--mo-d,0ms)}
.mo .sn-card[data-reveal].in{translate:none}.mo .sn-card[data-reveal].in .sn-card-art>*{scale:1}
.t-suya-night.mo [data-tabs=swap] .mo-enter [data-reveal]{animation:sn-item .55s var(--mo-ease) calc(var(--mo-i,0) * 70ms) both}
@keyframes sn-item{from{opacity:0;translate:0 18px;scale:.98}}
.sn-stats div{position:relative;overflow:hidden}
.sn-stats div::before{content:"";position:absolute;left:20px;right:20px;top:0;height:2px;background:var(--sn-hi);transform-origin:left}
.mo .sn-stats [data-reveal]::before{transform:scaleX(0);transition:transform 1s var(--mo-ease) calc(var(--mo-d,0ms) + 200ms)}
.mo .sn-stats [data-reveal].in::before{transform:none}
.mo .sn-strip [data-reveal=mask] img{scale:1.12;transition:clip-path .9s var(--mo-ease) var(--mo-d,0ms),scale 1.3s var(--mo-ease) var(--mo-d,0ms),transform .9s cubic-bezier(.2,.7,.2,1)}
.mo .sn-strip [data-reveal=mask].in img{scale:1}
.mo .sn-strip [data-reveal=mask] span{opacity:0;translate:0 8px;transition:opacity .5s var(--mo-ease) calc(var(--mo-d,0ms) + 600ms),translate .5s var(--mo-ease) calc(var(--mo-d,0ms) + 600ms)}
.mo .sn-strip [data-reveal=mask].in span{opacity:1;translate:none}
.mo .sn-visit-card[data-reveal] .sn-pin{translate:0 -28px;opacity:0;transition:translate .7s var(--mo-pop) .35s,opacity .3s ease .35s}
.mo .sn-visit-card[data-reveal].in .sn-pin{translate:none;opacity:1}
.t-suya-night{--mo-fly-ms:640;--mo-fly-lift:90}
.t-suya-night .mo-fly{box-shadow:0 0 0 2px var(--sn-hi),0 10px 26px -6px color-mix(in srgb,var(--a) 70%,transparent)}
.t-suya-night .mo-bump{animation-name:sn-bump}
@keyframes sn-bump{30%{transform:scale(1.5);color:var(--sn-hi)}}

/* Picks: grid follows the number of dishes, so 1 to 5 picks never leave holes (websites.md "Suya Night upgrades") */
.sn-sub{margin:10px 0 0;color:var(--muted);font-size:.95rem;max-width:46ch}
.sn-rank{position:absolute;z-index:2;top:12px;left:12px;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:var(--p);color:var(--on-p);font:700 .95rem var(--fb);font-variant-numeric:tabular-nums;box-shadow:0 6px 16px -8px var(--p)}
.sn-card.no-img .sn-card-art{background-color:var(--soft);background-image:repeating-linear-gradient(90deg,transparent 0 22px,color-mix(in srgb,var(--sn-hi) 9%,transparent) 22px 24px)}
.sn-card.no-img .sn-card-art .dish-art{background:transparent}
.sn-card-2.no-img .sn-card-art{background-color:color-mix(in srgb,var(--sn-alt-ink) 8%,var(--sn-alt-bg))}
@media(max-width:899px){
  .sn-bento>.sn-card:nth-child(n+3):last-child:nth-child(odd){grid-column:span 2;flex-direction:row}
  .sn-bento>.sn-card:nth-child(n+3):last-child:nth-child(odd) .sn-card-art{width:44%;flex:none;aspect-ratio:auto;min-height:160px}
  .sn-bento>.sn-card:nth-child(n+3):last-child:nth-child(odd) .sn-card-body{justify-content:center}
}
@media(min-width:900px){
  .sn-n1 .sn-card-0{grid-column:1/-1;grid-row:auto;flex-direction:row}
  .sn-n1 .sn-card-0 .sn-card-art{width:50%;flex:none;min-height:320px}
  .sn-n1 .sn-card-0 .sn-card-body{flex:1;justify-content:center}
  .sn-n2 .sn-card-0{grid-row:auto}
  .sn-n2 .sn-card-0 .sn-card-art{min-height:260px}
  .sn-n2 .sn-card-1{flex-direction:column}
  .sn-n2 .sn-card-1 .sn-card-art{width:auto;min-height:260px}
  .sn-n3 .sn-card-2{grid-column:span 2;flex-direction:row}
  .sn-n3 .sn-card-2 .sn-card-art{width:44%;flex:none;aspect-ratio:auto;min-height:180px}
  .sn-n3 .sn-card-2 .sn-card-body{justify-content:center}
  .sn-n5 .sn-card-4{grid-column:1/-1}
  .sn-n5 .sn-card-4 .sn-card-art{width:30%}
}

/* Specials / combos: one scrolling row */
.sn-deals{background:var(--bg);padding-bottom:clamp(24px,4vw,40px)}
.sn-deal-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,300px);gap:14px;margin:0 -16px;padding:4px 16px 18px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.sn-deal{display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden}
.sn-deal-art{aspect-ratio:4/3;background:var(--soft)}
.sn-deal-art img,.sn-deal-art .dish-art{width:100%;height:100%;object-fit:cover;border-radius:0;background:transparent}
.sn-deal-art .dish-art svg{width:62%;height:62%}
.sn-deal-body{display:flex;flex:1;flex-direction:column;gap:4px;padding:14px 16px 16px}
.sn-deal-body h3{font:600 1.12rem/1.2 var(--fh);margin:0}
.sn-deal-body p{margin:0;color:var(--muted);font-size:.9rem}
.sn-deal-body .sn-card-foot{padding-top:10px}

/* Delivery: zones with fee, time and smallest order */
.sn-deliver{background:var(--sn-2)}
.sn-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.sn-chips li{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-weight:600;font-size:.9rem}
.sn-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.sn-zone{padding:20px 20px 16px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.sn-zone h3{font:600 1.25rem/1.15 var(--fh);margin:0 0 6px}
.sn-zone-areas{margin:0 0 12px;color:var(--muted);font-size:.92rem}
.sn-zone dl{display:grid;gap:6px;margin:0}
.sn-zone dl div{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px dashed var(--line)}
.sn-zone dt{color:var(--muted);font-size:.9rem}
.sn-zone dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.sn-deliver-in{display:grid;gap:clamp(24px,4vw,48px);align-items:start}
.sn-deliver-intro h2{font:700 clamp(2.2rem,7.5vw,4.2rem)/1 var(--fh);letter-spacing:-.03em;margin:0 0 18px}
.sn-deliver-cta{margin:clamp(20px,3vw,28px) 0 0}
@media(min-width:900px){.sn-deliver-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.sn-zones{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}

/* Hero: a small photo is framed beside the name, never stretched (WebsiteImages::width < 1200) */
.sn-frame{position:relative;width:min(100%,340px);margin:34px 0 0;padding:8px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:0 30px 60px -28px color-mix(in srgb,var(--p) 55%,#000),0 0 0 6px color-mix(in srgb,var(--p) 10%,transparent);rotate:-2.5deg;transition:rotate .5s var(--mo-ease,ease)}
.sn-frame img{display:block;width:100%;height:auto;border-radius:19px}
.sn-frame::after{content:"";position:absolute;inset:-14px -14px auto auto;width:54px;height:54px;border-radius:50%;background:var(--a);box-shadow:0 0 0 6px var(--sn-hero);z-index:-1}
.sn-frame:hover{rotate:0deg}
@media(min-width:900px){
  .sn-hero.has-frame .sn-hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);column-gap:clamp(32px,5vw,72px);align-content:center}
  .sn-hero.has-frame .sn-hero-in>*{grid-column:1}
  .sn-hero.has-frame .sn-loc{justify-self:start}
  .sn-hero.has-frame .sn-frame{grid-column:2;grid-row:1 / span 7;align-self:center;width:100%;margin:0}
  .sn-hero.has-frame .mo-drift{left:30%;right:38%}
}
.mo .sn-frame{animation:sn-frame-in 1.1s var(--mo-pop,cubic-bezier(.34,1.56,.64,1)) 1.3s both}
.mo .sn-frame::after{animation:sn-frame-dot .6s var(--mo-pop,cubic-bezier(.34,1.56,.64,1)) 2.1s both}
@keyframes sn-frame-in{from{opacity:0;translate:0 40px;scale:.92;rotate:7deg}}
@keyframes sn-frame-dot{from{scale:0}}
/* Gallery strip starts in line with the page column, also with one or two photos */
.sn-strip{padding-inline:max(16px,calc((100% - 1088px) / 2));scroll-padding-inline:max(16px,calc((100% - 1088px) / 2))}
