/* Buxoro kafe · Алматы — "Бухарская ночь" v3 (портфолио) */
@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/prata-cyrext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/prata-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/prata-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-cyrext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-latext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --night:#0A1433;--night-2:#0E1B45;--night-3:#15255A;
  --cobalt:#1E4BD2;--neon:#8DB2FF;--neon-core:#E6EEFF;
  --tile:#2FB3A6;--saffron:#F2A33A;--saffron-hi:#FFB955;--ember:#1A1203;
  --milk:#F4EFE6;--milk-2:#C9CFE6;--milk-3:#98A3C9;
  --paper:#F4EFE6;--paper-2:#EAE3D6;--ink:#0A1433;--ink-2:#45507A;--ink-3:#7480A6;
  --line:rgba(141,178,255,.18);--line-ink:rgba(10,20,51,.12);
  --ease-out:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --gutter:clamp(16px,4cqi,56px);--radius:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:#050A1C;color:var(--milk);font:400 16px/1.6 Onest,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
.page{position:relative;max-width:1440px;margin:0 auto;background:var(--night);container-type:inline-size;overflow-x:clip;box-shadow:0 0 0 1px rgba(141,178,255,.07),0 0 140px rgba(0,0,0,.7)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--saffron);outline-offset:3px;border-radius:6px}
h2,h3{text-wrap:balance}
.box{max-width:calc(1240px + var(--gutter)*2);margin:0 auto;padding-inline:var(--gutter)}
svg use{pointer-events:none}

/* common type */
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
section h2{font:400 clamp(2.1rem,4.2cqi,3.6rem)/1.06 Prata,serif;letter-spacing:-.005em;margin:0}
.lead{margin:20px 0 0;max-width:36em;color:var(--milk-2);font-size:clamp(15px,1.25cqi,17px)}
.mini{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--milk-3)}
.sec-head{margin-bottom:clamp(28px,3.5cqi,48px)}
.sec-head--c{text-align:center;display:flex;flex-direction:column;align-items:center}
.sec-head--c .eyebrow::after{content:"";width:28px;height:1px;background:currentColor}
.light{color:var(--ink)}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto;z-index:40;max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:28px;padding:18px var(--gutter);transition:background .45s var(--ease-out),box-shadow .45s,padding .45s var(--ease-out),color .45s,transform .5s var(--ease-out)}
.top.is-scrolled{background:rgba(10,20,51,.82);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);padding-block:11px;box-shadow:0 10px 30px -18px rgba(0,0,0,.8)}
.top.is-light{background:rgba(244,239,230,.86);color:var(--ink);box-shadow:0 1px 0 var(--line-ink)}
.top.is-light .brand svg path{stroke:var(--night);filter:none}
.top.is-light .brand small,.top.is-light .nav{color:var(--ink-2)}
.top.is-light .lang{border-color:var(--line-ink)}
.top.is-light .lang button{color:var(--ink-3)}
.top.is-light .lang button[aria-pressed="true"]{background:var(--night);color:var(--milk)}
.top.is-hidden{transform:translateY(-110%)}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand svg{width:54px;height:auto;overflow:visible}
.brand svg path{fill:none;stroke:var(--neon-core);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--cobalt)) drop-shadow(0 0 8px rgba(30,75,210,.9));transition:stroke .45s}
.brand b{display:block;font:400 22px/1 Prata,serif;letter-spacing:.08em}
.brand small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--milk-3);margin-top:3px;transition:color .45s}
.nav{display:flex;gap:30px;margin-left:auto;font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--milk-2);transition:color .45s}
.nav a{position:relative;padding:6px 0;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--saffron);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.nav a:hover,.nav a.is-on{color:currentColor}
.nav a:hover::after,.nav a.is-on::after{transform:scaleX(1);transform-origin:left}
.tools{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;transition:border-color .45s}
.lang button{background:none;border:0;font-size:12px;font-weight:600;letter-spacing:.08em;padding:6px 10px;border-radius:999px;color:var(--milk-3);transition:background .3s,color .3s}
.lang button[aria-pressed="true"]{background:var(--milk);color:var(--night)}
.phone{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;white-space:nowrap}
.phone svg{width:16px;height:16px;stroke:var(--tile)}

/* ---------- buttons ---------- */
.btn{--bg:var(--saffron);position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:var(--bg);color:var(--ember);font-weight:600;font-size:15px;padding:14px 24px;white-space:nowrap;box-shadow:0 10px 24px -12px rgba(0,0,0,.6),inset 0 -2px 0 rgba(0,0,0,.12);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .25s,color .25s}
.btn::before{content:"";position:absolute;z-index:-1;left:var(--mx,50%);top:var(--my,50%);width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--saffron-hi);transform:scale(0);transition:transform .6s var(--ease-out)}
.btn:hover::before{transform:scale(48)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(0,0,0,.65),inset 0 -2px 0 rgba(0,0,0,.12)}
.btn:active{transform:translateY(0) scale(.97)}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn--sm{padding:11px 18px;font-size:14px}
.btn--ghost{background:transparent;color:var(--milk);box-shadow:inset 0 0 0 1px rgba(244,239,230,.35)}
.btn--ghost::before{background:rgba(244,239,230,.1)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px rgba(244,239,230,.6)}
.btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(10,20,51,.25)}
.btn--line::before{background:rgba(10,20,51,.06)}
.btn--line:hover{box-shadow:inset 0 0 0 1px rgba(10,20,51,.5)}
.btn .arrow{transition:transform .35s var(--ease-out)}
.btn:hover .arrow{transform:translateX(4px)}
.link{background:none;border:0;padding:6px 2px;color:var(--milk-3);font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(152,163,201,.4);transition:color .25s}
.link:hover{color:var(--milk)}
.round{width:52px;height:52px;border-radius:50%;border:1px solid rgba(244,239,230,.3);background:transparent;display:grid;place-items:center;transition:background .3s,border-color .3s,transform .35s var(--ease-out)}
.round svg{width:20px;height:20px;stroke:currentColor}
.round:hover{background:rgba(244,239,230,.1);border-color:rgba(244,239,230,.7)}
.round:active{transform:scale(.92)}
.round--next svg{transform:scaleX(-1)}

/* ---------- hero (как было) ---------- */
.hero{position:relative;height:820px;overflow:hidden;isolation:isolate;display:grid;place-items:center;text-align:center}
.hero__bg{position:absolute;inset:-3%;z-index:-3}
.hero__bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.hero__shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 40% 46% at 50% 52%,rgba(6,11,30,.9) 0%,rgba(6,11,30,.78) 42%,rgba(6,11,30,.42) 78%,rgba(6,11,30,.22) 100%),linear-gradient(180deg,rgba(10,20,51,.9) 0%,rgba(10,20,51,0) 24%,rgba(10,20,51,0) 66%,rgba(10,20,51,.96) 100%)}
.hero__shade::after{content:"";position:absolute;inset:0;background:rgba(6,10,26,.28)}
.hero__center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:96px var(--gutter) 150px;width:100%}
.skyline{width:min(320px,70cqi);height:auto;overflow:visible;margin-bottom:26px;pointer-events:none}
.neon path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.neon .glow{stroke:var(--cobalt);stroke-width:14;opacity:.6;filter:blur(8px)}
.neon .tube{stroke:var(--neon);stroke-width:5;filter:drop-shadow(0 0 4px rgba(141,178,255,.9)) drop-shadow(0 0 14px rgba(30,75,210,.95))}
.neon .core{stroke:var(--neon-core);stroke-width:1.8}
.hero h1{margin:0;font-weight:400;font-family:Prata,serif}
.hero h1 .pre{display:block;font-size:clamp(1.2rem,2.3cqi,2rem);line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--milk-2)}
.hero h1 .name{display:block;font-size:clamp(4rem,10.5cqi,9rem);line-height:1;letter-spacing:.07em;margin:.14em 0 0 .07em;color:var(--milk);text-shadow:0 4px 40px rgba(0,0,0,.55)}
.motto{display:flex;align-items:center;gap:18px;margin:26px 0 42px;font-size:13px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--saffron)}
.motto::before,.motto::after{content:"";width:52px;height:1px;background:currentColor;opacity:.55}
.hero .cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.hero .cta .btn{padding:17px 28px;font-size:16px}
.hero__foot{position:absolute;left:0;right:0;bottom:0;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;padding:0 var(--gutter) 30px;max-width:1440px;margin:0 auto}
.hf{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.hf--r{align-items:flex-end;text-align:right}
.hf small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--milk-3)}
.hf b{font-weight:500;font-size:15px;display:flex;align-items:center;gap:8px}
.addr-s{display:none}
.scroll{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--milk-2);transition:color .3s}
.scroll:hover{color:var(--saffron)}
.scroll i{position:relative;width:1px;height:58px;background:rgba(244,239,230,.22);overflow:hidden}
.scroll i::after{content:"";position:absolute;left:0;top:-45%;width:1px;height:45%;background:var(--saffron);animation:drip 2.4s var(--ease-out) infinite}
@keyframes drip{to{top:100%}}
.dot{width:8px;height:8px;border-radius:50%;background:var(--tile);box-shadow:0 0 0 4px rgba(47,179,166,.18);animation:pulse 2.4s ease-in-out infinite}
.dot.is-closed{background:var(--milk-3);box-shadow:0 0 0 4px rgba(152,163,201,.15);animation:none}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(47,179,166,.06)}}

.ticker{position:relative;z-index:2;border-block:1px solid var(--line);background:rgba(8,15,40,.6);overflow:hidden}
.ticker__track{display:flex;width:max-content;animation:tick 42s linear infinite}
.ticker ul{display:flex;align-items:center;margin:0;padding:18px 0;list-style:none;font:400 clamp(18px,2cqi,24px)/1 Prata,serif;color:var(--milk-2)}
.ticker li{display:flex;align-items:center;gap:36px;padding-right:36px;white-space:nowrap}
.ticker li svg{width:16px;height:16px;fill:var(--saffron);flex-shrink:0}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- три огня ---------- */
.fires{position:relative;height:340vh}
.fires__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;background:radial-gradient(60% 70% at 78% 60%,rgba(242,120,40,calc(.10 + var(--heat,0)*.14)),transparent 70%),radial-gradient(50% 50% at 10% 20%,rgba(30,75,210,.2),transparent 70%)}
.embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fires__grid{position:relative;width:100%;max-width:calc(1240px + var(--gutter)*2);margin:0 auto;padding:72px var(--gutter) 24px;display:grid;grid-template-columns:1fr minmax(0,.9fr);gap:clamp(32px,6cqi,96px);align-items:center}
.fires__copy h2{max-width:11em}
.fires__list{margin-top:clamp(28px,4cqi,48px);display:grid;gap:4px}
.fire{display:grid;grid-template-columns:52px 1fr;column-gap:14px;padding:16px 0;border-top:1px solid var(--line);opacity:.4;transition:opacity .6s var(--ease-out)}
.fire:last-child{border-bottom:1px solid var(--line)}
.fire.is-on{opacity:1}
.fire__n{font:400 15px/1.9 Prata,serif;color:var(--saffron)}
.fire h3{margin:0;font:400 clamp(1.4rem,2.2cqi,1.9rem)/1.3 Prata,serif}
.fire__body{grid-column:2;display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease-out)}
.fire.is-on .fire__body{grid-template-rows:1fr}
.fire__body > p{overflow:hidden;margin:0;color:var(--milk-2);max-width:30em}
.fire.is-on .fire__body > p{padding-top:8px}
.fires__bar{display:flex;gap:6px;margin-top:28px;max-width:280px}
.fires__bar i{flex:1;height:2px;background:rgba(244,239,230,.15);overflow:hidden;position:relative}
.fires__bar i::after{content:"";position:absolute;inset:0;background:var(--saffron);transform-origin:left;transform:scaleX(var(--p,0))}
.fires__media{position:relative;justify-self:center;width:min(100%,440px);aspect-ratio:2/3;max-height:min(calc(100svh - 150px),660px)}
.arch{position:absolute;inset:0;clip-path:url(#archClip);background:#060c22}
.arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.42);transition:opacity .9s var(--ease-out),transform 1.4s var(--ease-out);will-change:opacity,transform;backface-visibility:hidden}
.arch img{transform-origin:50% 88%}
.arch img.is-on{opacity:1;transform:scale(1.3)}
.arch__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,51,.15),rgba(10,20,51,.0) 40%,rgba(10,20,51,.85))}
.arch__line{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);overflow:visible;pointer-events:none}
.arch__line path{fill:none;stroke:var(--tile);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--ap,0))}
.fires__fact{position:absolute;right:8%;bottom:7%;text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.fires__fact b{font:400 clamp(3rem,6cqi,5.2rem)/1 Prata,serif;color:var(--milk);font-variant-numeric:tabular-nums;text-shadow:0 6px 30px rgba(0,0,0,.6)}
.fires__fact span{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron);margin-top:6px}

/* ---------- хиты ---------- */
.hits{--hbg:#5A2A0C;--hacc:#F2A33A;position:relative;background:var(--hbg);transition:background-color 1s var(--ease-out);overflow:hidden;padding:clamp(56px,6.5cqi,96px) 0}
.hits::before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23fff' stroke-width='.8'%3E%3Cpath d='M48 14 58 38 82 48 58 58 48 82 38 58 14 48 38 38Z'/%3E%3Cpath d='M24 24H72V72H24Z' transform='rotate(45 48 48)'/%3E%3Cpath d='M24 24H72V72H24Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(70% 70% at 30% 55%,#000,transparent);mask-image:radial-gradient(70% 70% at 30% 55%,#000,transparent)}
.hits .eyebrow{color:var(--hacc);transition:color 1s}
.hits__in{position:relative;max-width:calc(1240px + var(--gutter)*2);margin:0 auto;padding-inline:var(--gutter)}
.hits__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap}
.hits__head h2{max-width:13em}
.hits__ctrl{display:flex;align-items:center;gap:10px}
.hits__dots{display:flex;gap:6px;margin-right:auto}
.hits__dots button{position:relative;width:46px;height:30px;border:0;background:none;padding:0;font:500 13px/1 Onest,sans-serif;color:rgba(244,239,230,.55);text-align:left;transition:color .3s}
.hits__dots button::after{content:"";position:absolute;left:0;right:6px;bottom:2px;height:2px;background:rgba(244,239,230,.2)}
.hits__dots button i{position:absolute;left:0;right:6px;bottom:2px;height:2px;background:var(--hacc);transform-origin:left;transform:scaleX(0);z-index:1}
.hits__dots button[aria-selected="true"]{color:var(--milk)}
.hits__dots button[aria-selected="true"] i{animation:fill var(--auto,7s) linear forwards}
.hits.is-paused .hits__dots button i{animation-play-state:paused}
.hits.is-manual .hits__dots button[aria-selected="true"] i{animation:none;transform:scaleX(1)}
@keyframes fill{to{transform:scaleX(1)}}
.hits__stage{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,5cqi,80px);margin-top:clamp(30px,4cqi,56px);min-height:520px;touch-action:pan-y}
.hits__word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 clamp(6rem,19cqi,16rem)/1 Prata,serif;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(244,239,230,.18);white-space:nowrap;pointer-events:none;user-select:none}
.hits__word span{display:inline-block;transition:transform .9s var(--ease-out),opacity .6s}
.hits__plate{position:relative;justify-self:center;width:min(100%,500px);aspect-ratio:1}
.hits__plate img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 40px 50px rgba(0,0,0,.45));will-change:transform}
.hits__ring{position:absolute;inset:-6%;border-radius:50%;border:1px dashed rgba(244,239,230,.25);animation:spin 60s linear infinite}
.hits__col{position:relative;max-width:30em}
.hits__info{position:relative}
.hits__ctrl{margin-top:44px}
.hits__num{font:400 18px/1 Prata,serif;color:var(--hacc);transition:color 1s}
.hits__info h3{font:400 clamp(2.2rem,4.4cqi,3.8rem)/1.05 Prata,serif;margin:14px 0 18px}
.hits__info p{margin:0;color:rgba(244,239,230,.82);font-size:clamp(15px,1.3cqi,18px);line-height:1.65}
.hits__buy{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid rgba(244,239,230,.18)}
.hits__price{display:flex;align-items:baseline;gap:6px}
.hits__price b{font:500 clamp(2rem,3.4cqi,2.8rem)/1 Onest,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.hits__price small{font-size:22px;font-weight:500}
.hits__price span{margin-left:10px;font-size:13px;color:rgba(244,239,230,.6)}
.hits.is-swap .hits__info > *{animation:infoIn .8s var(--ease-out) both}
.hits.is-swap .hits__info > *:nth-child(2){animation-delay:.06s}
.hits.is-swap .hits__info > *:nth-child(3){animation-delay:.12s}
.hits.is-swap .hits__info > *:nth-child(4){animation-delay:.18s}
@keyframes infoIn{from{opacity:0;transform:translateY(18px);filter:blur(6px)}}
.add-btn.is-added{--bg:var(--tile);background:var(--tile);color:#04211e}
.add-btn.is-added::before{background:#3cc8ba}

/* ---------- меню (светлая) ---------- */
.menu{background:var(--paper);color:var(--ink);padding:clamp(56px,6.5cqi,96px) 0}
.menu .lead,.banq .lead,.visit .lead{color:var(--ink-2)}
.menu .eyebrow,.banq .eyebrow,.visit .eyebrow{color:#B86A0E}
.menu__head{margin-bottom:34px}
.tabs-wrap{position:sticky;top:64px;z-index:5;margin:0 calc(var(--gutter)*-1) 28px;padding:10px var(--gutter);background:linear-gradient(var(--paper) 70%,rgba(244,239,230,0))}
.tabs{position:relative;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px}
.tabs::-webkit-scrollbar{display:none}
.tabs .ind{position:absolute;left:0;top:0;border-radius:999px;background:var(--night);transition:transform .55s var(--ease-out),width .55s var(--ease-out);pointer-events:none}
.tabs button{position:relative;z-index:1;flex-shrink:0;border:1px solid var(--line-ink);background:transparent;color:var(--ink-2);border-radius:999px;padding:11px 20px;font-size:14px;font-weight:500;white-space:nowrap;transition:color .35s,border-color .35s}
.tabs button:hover{border-color:rgba(10,20,51,.35);color:var(--ink)}
.tabs button[aria-selected="true"]{color:var(--milk);border-color:transparent}
.tabs button sup{font-size:10px;margin-left:4px;opacity:.6}
.dishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;min-height:420px}
.dish{position:relative;display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:18px;padding:14px 16px 14px 14px;border-radius:22px;background:#FBF8F2;border:1px solid var(--line-ink);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s}
.dish:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(10,20,51,.35);border-color:rgba(10,20,51,.2)}
.dish__img{width:96px;height:96px;border-radius:50%;background:var(--paper-2)}
.dish__img img{width:100%;height:100%;object-fit:contain;transition:transform 1.2s var(--ease-out)}
.dish:hover .dish__img img{transform:rotate(18deg) scale(1.06)}
.dish h3{margin:0;font:400 19px/1.25 Prata,serif}
.dish p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.dish__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.dish__w{font-size:12px;color:var(--ink-3)}
.tag{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(242,163,58,.16);color:#9A560A}
.tag--spicy{background:rgba(214,72,48,.12);color:#B23A22}
.tag--new{background:rgba(47,179,166,.15);color:#137A6F}
.tag--kz{background:rgba(30,75,210,.1);color:#2441A8}
.dish__buy{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.dish__price{font-weight:600;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.qty{display:flex;align-items:center;gap:2px;height:38px;border-radius:999px;background:var(--night);color:var(--milk);padding:3px}
.qty button{width:32px;height:32px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;transition:background .25s}
.qty button:hover{background:rgba(244,239,230,.12)}
.qty svg{width:15px;height:15px}
.qty output{min-width:18px;text-align:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.qty:not(.has) output,.qty:not(.has) [data-q="-1"]{display:none}
.qty:not(.has){background:var(--saffron);color:var(--ember)}
.qty:not(.has) button:hover{background:rgba(26,18,3,.08)}
.qty.bump{animation:bump .45s var(--spring)}
@keyframes bump{40%{transform:scale(1.14)}}
.dishes.is-swap .dish{animation:dishIn .7s var(--ease-out) both;animation-delay:calc(var(--i)*45ms)}
@keyframes dishIn{from{opacity:0;transform:translateY(22px) scale(.98);filter:blur(4px)}}

/* ---------- дастархан ---------- */
.dast{position:relative;padding:clamp(56px,6.5cqi,96px) 0;background:radial-gradient(50% 60% at 20% 40%,rgba(30,75,210,.22),transparent 70%),var(--night)}
.dast__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,5cqi,80px);align-items:start}
.table{position:sticky;top:96px;aspect-ratio:4/3.3;border-radius:30px;overflow:hidden;box-shadow:0 50px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(242,163,58,.25)}
.table__cloth{position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 45%,rgba(30,75,210,.25),transparent 65%),
  repeating-linear-gradient(45deg,rgba(242,163,58,.04) 0 2px,transparent 2px 22px),
  repeating-linear-gradient(-45deg,rgba(242,163,58,.04) 0 2px,transparent 2px 22px),#101C4E}
.table__cloth::before{content:"";position:absolute;inset:16px;border-radius:20px;border:2px solid rgba(242,163,58,.4);box-shadow:inset 0 0 0 6px rgba(16,28,78,1),inset 0 0 0 7px rgba(242,163,58,.25)}
.table__cloth.has-photo{background-size:cover;background-position:center}
.table__cloth.has-photo::before{display:none}
.table__dishes{position:absolute;inset:0}
.tdish{position:absolute;width:28%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(var(--r,0deg));filter:drop-shadow(0 16px 18px rgba(0,0,0,.5));transition:left .7s var(--ease-out),top .7s var(--ease-out),width .7s var(--ease-out)}
.tdish img{width:100%;height:100%;object-fit:contain}
.tdish b{position:absolute;right:6%;top:6%;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:var(--saffron);color:var(--ember);font-size:13px;display:grid;place-items:center;box-shadow:0 6px 14px -4px rgba(0,0,0,.6)}
.tdish.is-new{animation:drop .8s var(--spring) both}
@keyframes drop{from{opacity:0;transform:translate(-50%,-120%) rotate(calc(var(--r,0deg) - 40deg)) scale(1.3)}}
.tdish.is-out{animation:lift .4s var(--ease-out) forwards}
@keyframes lift{to{opacity:0;transform:translate(-50%,-70%) scale(.8)}}
.tmore{position:absolute;right:22px;bottom:22px;padding:8px 14px;border-radius:999px;background:rgba(10,20,51,.8);border:1px solid var(--line);font-size:13px}
.table__empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%;margin:0;text-align:center;color:var(--milk-3);font-size:15px;transition:opacity .4s}
.table.has-items .table__empty{opacity:0}
.dast__panel .lead{margin-bottom:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 24px}
.chip{border:1px solid var(--line);background:rgba(14,27,69,.6);border-radius:999px;padding:10px 16px;font-size:14px;color:var(--milk-2);display:inline-flex;gap:8px;align-items:center;transition:border-color .3s,color .3s,background .3s,transform .35s var(--ease-out)}
.chip small{color:var(--milk-3);font-size:12px}
.chip:hover{border-color:rgba(242,163,58,.6);color:var(--milk)}
.chip:active{transform:scale(.96)}
.chip.is-on{background:var(--milk);color:var(--night);border-color:transparent}
.chip.is-on small{color:var(--ink-3)}
.order{position:relative;list-style:none;margin:0;padding:0;height:272px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--night-3) transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.order:empty::before{content:attr(data-empty);position:absolute;inset:0;display:grid;place-items:center;padding:0 12%;text-align:center;font-size:14px;color:var(--milk-3)}
.orow{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.orow:last-child{border-bottom:0}
.orow.is-new{animation:rowIn .5s var(--ease-out)}
@keyframes rowIn{from{opacity:0;transform:translateX(12px)}}
.orow img{width:44px;height:44px;object-fit:contain}
.orow span{font-size:14.5px;line-height:1.3}
.orow em{font-style:normal;font-size:14px;color:var(--milk-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.orow .qty{height:32px;background:rgba(244,239,230,.08)}
.orow .qty button{width:26px;height:26px}
.sum{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:24px 0 26px}
.sum__g .stepper{margin-top:8px}
.sum__t{text-align:right}
.sum__t b{display:block;font:500 clamp(2rem,3.6cqi,2.8rem)/1.1 Onest,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px}
.sum__t b.pop{animation:bump .5s var(--spring)}
.sum__t small{color:var(--milk-3);font-size:13px}
.dast__acts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.stepper{display:flex;align-items:center;height:50px;border-radius:12px;border:1px solid rgba(141,178,255,.22);background:rgba(4,10,30,.45)}
.stepper button{width:48px;height:100%;background:none;border:0;display:grid;place-items:center;color:var(--milk-2);transition:color .2s}
.stepper button svg{width:16px;height:16px}
.stepper button:hover{color:var(--saffron)}
.stepper output{flex:1;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.stepper--sm{height:42px;width:150px;border-radius:999px}
.stepper--sm button{width:42px}

/* tray */
.tray{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:999px;background:rgba(10,20,51,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(242,163,58,.45);color:var(--milk);font-size:14.5px;font-weight:500;white-space:nowrap;box-shadow:0 20px 40px -16px rgba(0,0,0,.8);transform:translate(-50%,160%);transition:transform .6s var(--spring)}
.tray.is-on{transform:translate(-50%,0)}
.tray__icon{width:34px;height:34px;border-radius:50%;background:var(--saffron);color:var(--ember);display:grid;place-items:center}
.tray__icon svg{width:16px;height:16px}
.tray .arrow{width:16px;height:16px}
.tray.bump .tray__icon{animation:bump .5s var(--spring)}
.flyer{position:fixed;z-index:60;pointer-events:none;border-radius:50%;object-fit:contain}

/* ---------- банкеты (светлая) ---------- */
.banq{background:var(--paper);color:var(--ink);padding:clamp(56px,6.5cqi,96px) 0}
.banq .sec-head{display:grid;grid-template-columns:1fr 1fr;gap:12px 60px;align-items:end}
.banq .sec-head .eyebrow{grid-column:1/-1}
.banq .sec-head .lead{margin:0}
.halls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hall{position:relative}
.hall__img{position:relative;aspect-ratio:4/4.6;clip-path:url(#archClip);overflow:hidden;background:var(--paper-2)}
.hall__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease-out)}
.hall:hover .hall__img img{transform:scale(1.15)}
.hall__cap{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 16px;border-radius:999px;background:rgba(10,20,51,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--milk);font-size:13px;white-space:nowrap}
.hall__cap b{font-size:16px;margin:0 3px}
.hall h3{margin:20px 0 6px;font:400 24px/1.2 Prata,serif;text-align:center}
.hall p{margin:0 auto;max-width:22em;text-align:center;font-size:14.5px;color:var(--ink-2)}
.calc{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin-top:clamp(36px,4cqi,56px)}
.sets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.set{position:relative;display:flex;flex-direction:column;padding:24px 22px;border-radius:24px;background:#FBF8F2;border:1px solid var(--line-ink);cursor:pointer;transition:border-color .3s,box-shadow .45s var(--ease-out),transform .45s var(--ease-out)}
.set:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(10,20,51,.35)}
.set input{position:absolute;opacity:0;pointer-events:none}
.set:has(input:checked){border-color:var(--night);box-shadow:0 0 0 1px var(--night),0 26px 44px -28px rgba(10,20,51,.5)}
.set:has(input:focus-visible){outline:2px solid var(--saffron);outline-offset:3px}
.set__pop{position:absolute;top:-11px;left:22px;padding:3px 10px;border-radius:999px;background:var(--saffron);color:var(--ember);font-size:11px;font-weight:600;letter-spacing:.04em}
.set h3{margin:0;font:400 26px/1.2 Prata,serif}
.set__price{margin:6px 0 18px;font-weight:600;font-size:18px;font-variant-numeric:tabular-nums}
.set__price small{font-weight:500;font-size:13px;color:var(--ink-3)}
.set ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--ink-2)}
.set li{display:flex;gap:8px;align-items:flex-start}
.set li svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--tile)}
.set__check{position:absolute;right:18px;top:20px;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-ink);display:grid;place-items:center;transition:background .3s,border-color .3s}
.set__check svg{width:14px;height:14px;color:var(--milk);transform:scale(0);transition:transform .4s var(--spring)}
.set:has(input:checked) .set__check{background:var(--night);border-color:var(--night)}
.set:has(input:checked) .set__check svg{transform:scale(1)}
.calc__side{display:flex;flex-direction:column;padding:28px;border-radius:24px;background:var(--night);color:var(--milk);box-shadow:0 40px 70px -40px rgba(10,20,51,.8)}
.range{display:flex;align-items:center;gap:16px;margin:10px 0 26px}
.range output{min-width:52px;font:400 30px/1 Prata,serif;font-variant-numeric:tabular-nums}
.range input{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--saffron) var(--fill,20%),rgba(244,239,230,.15) var(--fill,20%));cursor:pointer}
.range input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--milk);border:5px solid var(--saffron);box-shadow:0 4px 12px rgba(0,0,0,.5);transition:transform .25s var(--spring)}
.range input:active::-webkit-slider-thumb{transform:scale(1.2)}
.range input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--milk);border:5px solid var(--saffron)}
.calc__total{display:block;font:500 clamp(2rem,3.4cqi,2.7rem)/1.1 Onest,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:8px 0 6px}
.calc__note{color:var(--milk-3);font-size:12.5px;margin-bottom:24px}
.calc__side .btn{margin-top:auto}

/* ---------- отзывы ---------- */
.rev{padding:clamp(56px,6.5cqi,96px) 0;overflow:hidden;background:radial-gradient(40% 60% at 85% 30%,rgba(30,75,210,.2),transparent 70%),var(--night)}
.rev__row{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px max(var(--gutter),calc(50% - 620px));scroll-padding:0 max(var(--gutter),calc(50% - 620px))}
.rev__row::-webkit-scrollbar{display:none}
.rev__row:focus-visible{outline-offset:-2px}
.rev__ctrl{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.card{width:min(380px,78cqi);flex-shrink:0;scroll-snap-align:start;padding:26px;border-radius:24px;background:linear-gradient(180deg,rgba(21,37,90,.7),rgba(14,27,69,.5));border:1px solid var(--line)}
.card__stars{display:flex;gap:3px;margin-bottom:14px}
.card__stars svg{width:14px;height:14px;fill:var(--saffron)}
.card p{margin:0 0 20px;font:400 17px/1.55 Prata,serif;color:var(--milk)}
.card footer{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--milk-2)}
.card footer i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--night-3);color:var(--saffron);font:400 16px/1 Prata,serif;font-style:normal}

/* ---------- контакты (светлая) ---------- */
.visit{background:var(--paper);color:var(--ink);padding:clamp(56px,6.5cqi,96px) 0}
.visit__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5cqi,80px);align-items:stretch}
.vlist{margin:30px 0 0}
.vrow{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--line-ink)}
.vrow dt{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding-top:5px}
.vrow dd{margin:0;font-size:16px;line-height:1.65}
.vrow a{transition:color .25s}
.vrow dd > a:hover{color:#B86A0E}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-ink);font-size:14px;line-height:1.3;transition:border-color .3s,background .3s}
.pill:hover{border-color:rgba(10,20,51,.4);background:rgba(10,20,51,.04)}
.pill svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.visit__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.map{position:relative;display:block;min-height:480px;border-radius:28px;overflow:hidden;background:var(--paper-2);box-shadow:0 40px 70px -44px rgba(10,20,51,.6);isolation:isolate}
.map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.map:hover img{transform:scale(1.04)}
.pin{position:absolute;left:50%;top:50%;width:38px;transform:translate(-50%,-100%);filter:drop-shadow(0 8px 10px rgba(10,20,51,.45));z-index:1}
.pin svg{display:block;width:100%}
.pin path{fill:var(--saffron)}
.pin circle{fill:var(--night)}
.pin::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:2px solid var(--saffron);animation:ping 2.4s var(--ease-out) infinite}
@keyframes ping{from{transform:scale(.4);opacity:1}to{transform:scale(3.4);opacity:0}}
.map__card{position:absolute;left:18px;top:18px;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:16px;background:rgba(10,20,51,.86);color:var(--milk-2);font-size:13.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.map__card b{font:400 18px/1.3 Prata,serif;color:var(--milk)}
.map__go{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--saffron);color:var(--ember);font-weight:600;font-size:14.5px;white-space:nowrap;box-shadow:0 14px 28px -12px rgba(10,20,51,.6);transition:transform .35s var(--ease-out)}
.map__go svg{width:16px;height:16px;transition:transform .35s var(--ease-out)}
.map:hover .map__go{transform:translateX(-50%) translateY(-2px)}
.map:hover .map__go svg{transform:translateX(4px)}
.map__osm{position:absolute;right:10px;bottom:6px;font-size:10px;color:rgba(10,20,51,.55)}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);background:#070E27}
.foot__in{padding-top:56px;padding-bottom:40px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px 40px}
.foot p{margin:18px 0 0;max-width:26em;font-size:14px;color:var(--milk-2)}
.foot h4{margin:6px 0 14px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--milk-3)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px}
.foot ul a{transition:color .25s}
.foot ul a:hover{color:var(--saffron)}
.foot__btn{margin-top:18px}
.foot__bottom{padding-top:20px;padding-bottom:90px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;color:var(--milk-3);border-top:1px solid var(--line)}

/* ---------- dialog ---------- */
dialog{border:0;padding:0;background:transparent;color:var(--milk);width:min(560px,calc(100vw - 24px));max-height:calc(100svh - 24px);overflow:visible}
dialog::backdrop{background:rgba(5,10,28,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sheet{position:relative;overflow:auto;max-height:calc(100svh - 24px);background:linear-gradient(180deg,var(--night-3),var(--night-2));border:1px solid rgba(141,178,255,.25);border-radius:26px;padding:clamp(22px,4vw,36px);box-shadow:0 50px 100px -40px rgba(0,0,0,.9)}
dialog[open] .sheet{animation:sheetIn .6s var(--ease-out)}
@keyframes sheetIn{from{opacity:0;transform:translateY(24px) scale(.97)}}
.sheet h2{font:400 clamp(1.6rem,4vw,2rem)/1.1 Prata,serif;margin:0 0 6px;padding-right:44px}
.sheet__p{margin:0 0 18px;color:var(--milk-2);font-size:15px}
.sheet__order{margin:0 0 18px;padding:12px 14px;border-radius:14px;background:rgba(242,163,58,.1);border:1px solid rgba(242,163,58,.3);font-size:14px;color:var(--milk)}
.x{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);border:0;display:grid;place-items:center;transition:background .25s}
.x:hover{background:rgba(255,255,255,.14)}
.x svg{width:16px;stroke:var(--milk)}
.seg{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.25);border-radius:14px;padding:4px;margin-bottom:18px}
.seg label{position:relative;text-align:center;padding:11px;border-radius:10px;font-weight:500;font-size:15px;cursor:pointer;color:var(--milk-2);transition:background .3s,color .3s}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--milk);color:var(--night)}
.seg label:has(input:focus-visible){outline:2px solid var(--saffron);outline-offset:2px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fields .wide{grid-column:1/-1}
.field label,.field .lbl{display:block;font-size:13px;color:var(--milk-2);margin-bottom:6px}
.field input,.field select{width:100%;height:50px;border-radius:12px;border:1px solid rgba(141,178,255,.22);background:rgba(4,10,30,.45);color:var(--milk);font:inherit;padding:0 14px;transition:border-color .25s,box-shadow .25s;color-scheme:dark}
.field input::placeholder{color:#8591B8}
.field input:hover,.field select:hover{border-color:rgba(141,178,255,.42)}
.field input:focus,.field select:focus{outline:0;border-color:var(--neon);box-shadow:0 0 0 4px rgba(30,75,210,.35)}
.field.is-bad input,.field.is-bad select{border-color:#FF8A7A;box-shadow:0 0 0 4px rgba(255,138,122,.18)}
.field.is-bad{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.field .err{display:none;font-size:12px;color:#FFB0A5;margin-top:6px}
.field.is-bad .err{display:block}
.submit{margin-top:22px;width:100%;padding:17px}
.submit[aria-busy="true"]{pointer-events:none;opacity:.8}
.submit .spin{display:none;width:18px;height:18px;border:2px solid rgba(26,18,3,.3);border-top-color:var(--ember);border-radius:50%;animation:spin .8s linear infinite}
.submit[aria-busy="true"] .spin{display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.fine{margin:14px 0 0;font-size:12px;color:var(--milk-3);text-align:center}
.done{display:none;text-align:center;padding:12px 0 6px}
.sheet.is-done form{display:none}
.sheet.is-done .done{display:block}
.kazan{width:120px;height:110px;margin:0 auto 14px;overflow:visible}
.kazan path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.kazan .pot{stroke:var(--neon);stroke-width:3;stroke-dasharray:400;stroke-dashoffset:400;filter:drop-shadow(0 0 6px rgba(30,75,210,.9))}
.kazan .tick{stroke:var(--saffron);stroke-width:4;stroke-dasharray:60;stroke-dashoffset:60}
.kazan .steam{stroke:var(--milk-2);stroke-width:2.4;opacity:0}
.sheet.is-done .kazan .pot{animation:draw 1s var(--ease-out) forwards}
.sheet.is-done .kazan .tick{animation:draw .5s .8s var(--ease-out) forwards}
.sheet.is-done .kazan .steam{animation:steam 2.4s 1s ease-in-out infinite}
.sheet.is-done .kazan .steam:nth-child(2){animation-delay:1.4s}
.sheet.is-done .kazan .steam:nth-child(3){animation-delay:1.8s}
@keyframes steam{0%{opacity:0;transform:translateY(8px)}35%{opacity:.8}100%{opacity:0;transform:translateY(-14px)}}
@keyframes draw{to{stroke-dashoffset:0}}
.done h2{margin-bottom:10px;padding-right:0}
.done p{color:var(--milk-2);margin:0 auto 8px;max-width:26em}
.done .demo{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.06em;color:var(--saffron);border:1px solid rgba(242,163,58,.4);border-radius:999px;padding:5px 12px}

/* ---------- motion ---------- */
.js .skyline path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.js .is-ready .skyline path{animation:draw 2.2s .15s var(--ease-out) forwards}
.js .is-ready .skyline{animation:flicker 1.3s 2.2s steps(1) both}
@keyframes flicker{0%{opacity:1}8%{opacity:.35}12%{opacity:1}30%{opacity:.5}34%{opacity:1}60%{opacity:.8}64%{opacity:1}}
.js .hero__bg{transform:scale(1.14);opacity:0}
.js .is-ready .hero__bg{transform:none;opacity:1;transition:transform 3.2s var(--ease-out),opacity 1.4s var(--ease-out)}
.js .hero h1 .name{opacity:0;letter-spacing:.3em;filter:blur(12px)}
.js .is-ready h1 .name{opacity:1;letter-spacing:.07em;filter:none;transition:opacity 1.6s 1.1s var(--ease-out),letter-spacing 2s 1.1s var(--ease-out),filter 1.6s 1.1s var(--ease-out)}
.js .rise{opacity:0;transform:translateY(22px)}
.js .is-ready .rise{opacity:1;transform:none;transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0s)}
/* split headings */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w > span{display:inline-block}
.js .split .w > span{transform:translateY(105%);opacity:0;filter:blur(6px)}
.js .split.is-in .w > span{transform:none;opacity:1;filter:none;transition:transform 1s var(--ease-out),opacity .8s var(--ease-out),filter .8s var(--ease-out);transition-delay:calc(var(--i)*55ms)}
.js .rv{opacity:0;transform:translateY(30px)}
.js .rv.is-in{opacity:1;transform:none;transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transition-delay:var(--d,0s)}
.js .hall.rv{transform:translateY(60px)}
.js .hall.rv.is-in{transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js .skyline path,  .ticker__track,.scroll i::after,.hits__ring{animation:none}
}

/* ---------- responsive ---------- */
@container (max-width:1180px){
  .phone{display:none}
  .nav{gap:20px}
}
@container (max-width:980px){
  .nav{display:none}
  .tools{margin-left:auto}
  .fires__grid{grid-template-columns:1fr .8fr}
  .dast__grid{grid-template-columns:1fr}
  .table{position:relative;top:0}
  .halls{gap:14px}
  .calc{grid-template-columns:1fr}
  .visit__grid{grid-template-columns:1fr}
  .map{min-height:360px}
  .foot__in{grid-template-columns:1fr 1fr}
  .dishes{grid-template-columns:1fr}
  .banq .sec-head{grid-template-columns:1fr}
}
@container (max-width:700px){
  .top{gap:12px;padding-block:14px}
  .brand svg{width:44px}
  .brand b{font-size:19px}
  .brand small{display:none}
  .tools .btn--sm{display:none}
  .lang button{padding:5px 9px}
  .hero{height:max(620px,100svh)}
  .hero__center{padding:84px var(--gutter) 150px}
  .skyline{width:min(240px,64cqi);margin-bottom:20px}
  .hero h1 .pre{letter-spacing:.1em}
  .hero h1 .name{font-size:clamp(3.2rem,16cqi,4.4rem);letter-spacing:.05em}
  .js .is-ready h1 .name{letter-spacing:.05em}
  .motto{display:block;max-width:18em;line-height:1.9;font-size:11px;letter-spacing:.2em;margin:20px 0 32px}
  .motto::before,.motto::after{display:none}
  .hero__shade{background:radial-gradient(ellipse 90% 42% at 50% 48%,rgba(6,11,30,.88) 0%,rgba(6,11,30,.66) 55%,rgba(6,11,30,.35) 100%),linear-gradient(180deg,rgba(10,20,51,.9) 0%,rgba(10,20,51,0) 20%,rgba(10,20,51,0) 70%,rgba(10,20,51,.96) 100%)}
  .hero .cta{flex-direction:column;width:100%;max-width:340px}
  .hero__foot{grid-template-columns:1fr 1fr;padding-bottom:22px}
  .scroll{display:none}
  .hf b{font-size:14px}
  .hf small{white-space:nowrap;letter-spacing:.12em}
  .addr-l{display:none}
  .addr-s{display:inline}

  /* fires: фото сверху, текст снизу */
  .fires{height:300vh}
  .fires__grid{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:18px;padding:70px var(--gutter) 20px;height:100%;align-content:start}
  .fires__media{order:-1;width:auto;height:min(44svh,380px);aspect-ratio:2/3;max-height:none}
    .fires__copy .eyebrow{margin-bottom:8px}
  .fires__copy h2{font-size:1.65rem;max-width:none}
  .fires__list{margin-top:14px}
  .fire{padding:10px 0;grid-template-columns:36px 1fr}
  .fire:not(.is-on){display:none}
  .fires__list{min-height:9.6em}
  .fire{border:0!important}
  .fire h3{font-size:1.4rem}
  .fires__bar{margin-top:14px}
  .fires__fact{right:6%;bottom:5%}
  .fires__fact b{font-size:2.6rem}
  .fires__fact span{font-size:10px}

  .hits__ctrl{margin-top:34px}
  .round{width:44px;height:44px}
  .hits__stage{grid-template-columns:1fr;min-height:0;gap:10px}
  .hits__plate{width:min(76cqi,340px)}
  .hits__word{top:26%;font-size:7rem}
  .hits__info h3{margin:8px 0 12px}
  .hits__buy{margin-top:22px;padding-top:18px}

  .tabs-wrap{top:56px}
  .dish{grid-template-columns:72px 1fr;gap:6px 14px;padding:12px}
  .dish__img{width:72px;height:72px;grid-row:span 2;align-self:start}
  .dish__buy{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}
  .dish h3{font-size:17px}

  .table{aspect-ratio:1/1.05;border-radius:24px}
  .tdish{width:33%}
  .sum{flex-direction:row}
  .dast__acts .btn{width:100%}

  .halls{grid-template-columns:1fr;gap:34px}
  .hall__img{aspect-ratio:4/3.6}
  .sets{grid-template-columns:1fr}
  .calc__side{padding:24px 20px}

  .vrow{grid-template-columns:1fr;gap:2px}
  .visit__acts .btn{flex:1 1 100%}
  .map{min-height:320px;border-radius:22px}
  .foot__in{grid-template-columns:1fr;gap:28px}
  .tray{font-size:13.5px}
}

/* ---------- телефон: иконки в шапке и меню разделов ---------- */
.icon-btn{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;place-items:center;color:inherit;transition:background .3s,border-color .3s}
.icon-btn svg{width:18px;height:18px}
.icon-btn--book{background:var(--saffron);border-color:transparent;color:var(--ember)}
.top.is-light .icon-btn{border-color:var(--line-ink)}
.top.is-light .icon-btn--book{border-color:transparent}
.burger{position:relative}
.burger span{position:absolute;left:12px;right:12px;top:50%;margin-top:-.8px;height:1.6px;border-radius:2px;background:currentColor;transition:transform .45s var(--ease-out)}
.burger span:first-child{transform:translateY(-4px)}
.burger span:last-child{transform:translateY(4px)}
.burger[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:39;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:90px 24px 30px;background:rgba(10,20,51,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out),visibility 0s linear .4s}
.mnav.is-open{opacity:1;visibility:visible;transition:opacity .4s var(--ease-out)}
.mnav > a{font:400 2.1rem/1.4 Prata,serif;color:var(--milk);padding:6px 0;transform:translateY(16px);opacity:0;transition:transform .6s var(--ease-out),opacity .5s}
.mnav.is-open > a{transform:none;opacity:1}
.mnav.is-open > a:nth-child(2){transition-delay:.04s}.mnav.is-open > a:nth-child(3){transition-delay:.08s}.mnav.is-open > a:nth-child(4){transition-delay:.12s}.mnav.is-open > a:nth-child(5){transition-delay:.16s}
.mnav__foot{margin-top:auto;display:grid;gap:14px}
.mnav__tel{color:var(--milk-2);font-size:17px}
.top.is-menu{background:transparent!important;box-shadow:none!important;color:var(--milk)!important}
.top.is-menu .brand svg path{stroke:var(--neon-core)}
@container (max-width:700px){
  .icon-btn{display:grid}
  .tools{gap:8px}
  .card{width:82%}
  .rev__ctrl{display:none}
}

/* телефон: отступы плотнее, стрелки хитов сразу под тарелкой */
@container (max-width:700px){
  .hits,.menu,.dast,.banq,.rev,.visit{padding-top:44px;padding-bottom:44px}
  .menu__head{margin-bottom:22px}
  .hits__stage{margin-top:18px}
  .hits__col{display:flex;flex-direction:column}
  .hits__ctrl{order:-1;margin:4px 0 18px}
  .hits__info h3{font-size:clamp(1.75rem,8.4cqi,2.2rem)}
  .arch img{transition:opacity .6s ease-out,transform 1s var(--ease-out)}
}
