
/* Design system v1 — modelled on refeel.ru: warm off-white canvas, one brand colour used for text,
   expanded display face, pill shapes everywhere, big rounded cards. Fonts: free stand-ins for RF Dewi
   (Unbounded ≈ RF Dewi Expanded/Extended — accent/display; Bahnschrift — text: Light, normal width (wght 300–700 kept variable), self-hosted). */
@font-face{font-family:"Bahnschrift";src:url("fonts/bahnschrift-l.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
:root{
  --bg:#FEFCF9; --surface:#FFFFFF; --surface-2:#FFF8F5;
  /* orange palette v3: #FF6C37 main (was #FF6C37), #FFA97C support; the rest derived for text contrast, hovers and tints */
  --brand:#FF6C37; --brand-2:#FFA97C; --brand-dark:#E2541F; --brand-deep:#8A3000;
  --brand-tint:#FFF1E8; --brand-soft:#FFD4BD;
  --ink:#6B2A0A; --ink-muted:rgba(107,42,10,.62); --line:rgba(255,108,55,.25);
  --heading:var(--brand);
  --olive:#6C7D1F; --sand:#ECDFC8; --cocoa:#774C47;
  --c:var(--brand);                                   /* per-product accent, overridden on product pages */
  --tint:color-mix(in srgb,var(--c) 16%,var(--bg));
  --display:"Unbounded",system-ui,sans-serif; --text:"Bahnschrift","DIN Alternate",system-ui,sans-serif;
  --r-card:28px; --r-img:25px; --r-pill:999px; --wrap:1200px;
}
*{box-sizing:border-box}
[style*="--c"]{--tint:color-mix(in srgb,var(--c) 18%,var(--bg))}  /* re-derive tint where --c is overridden */
html{scroll-behavior:smooth}
#assortment,#story{scroll-margin-top:var(--header-h,96px)}  /* land below the sticky header */
body{margin:0;font:300 16px/1.5 var(--text);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(34px,5vw,58px);line-height:1.02}
h2,.srch h1{color:var(--heading)}
h2{font-size:clamp(26px,3.4vw,42px);line-height:1.08;margin-bottom:24px}
h3{font-size:18px;line-height:1.25}
.lead{font-size:17px;line-height:1.5;color:var(--ink)}   /* one subtitle size site-wide (set from the hero slider) */
.muted{color:var(--ink-muted)!important;font-size:14px}
mark{background:#FFF0B3;color:#6b5600;padding:0 4px;border-radius:6px}
.note{color:#6b5600;background:#FFF8DB;border-radius:14px;padding:10px 14px;font-size:13px;margin-top:16px}

/* top bar + header */
.topbar{position:relative;background:var(--brand);color:#FFFCFA;text-align:center;font:600 12px/1 var(--display);padding:12px 44px;letter-spacing:.01em}
.topbar-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0;background:none;color:inherit;font:400 20px/1 var(--text);cursor:pointer;opacity:.85}
.topbar-x:hover{opacity:1}
.topbar[hidden]{display:none}
header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .hrow{display:flex;align-items:center;gap:28px;height:78px}header .s-toggle,header .burger,.mm{display:none}
.burger{width:40px;height:40px;flex:none;border:0;background:none;padding:9px 7px;cursor:pointer;flex-direction:column;justify-content:space-between;color:var(--heading)}
.burger span{display:block;height:2px;border-radius:2px;background:currentColor}
.mm{position:fixed;inset:0;z-index:200;background:rgb(30 12 4 / 0);transition:background .25s}
.mm.on{background:rgb(30 12 4 / .35)}
.mm-panel{background:var(--bg);padding:28px 24px 32px;box-shadow:0 12px 40px rgb(0 0 0 / .12);border-radius:0 0 28px 28px;max-height:100%;overflow:auto;transform:translateY(-100%);transition:transform .25s ease;position:relative}
.mm.on .mm-panel{transform:none}
.mm-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;background:none;font-size:34px;line-height:1;color:var(--ink-muted);cursor:pointer}
.mm-grp{margin-bottom:26px}.mm-grp b{display:block;font:600 18px/1.2 var(--display);color:var(--heading);margin-bottom:12px}
.mm-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.mm-links a{color:var(--ink);text-decoration:none;font-size:16px;line-height:1.3}
.mm .mm-cta{display:flex;width:100%;justify-content:center;margin:2px 0 28px}
.mm .socials{border:0;padding:0;margin:0}
html.mm-lock{overflow:hidden}

.logo{display:flex;align-items:center;color:#742400;flex-shrink:0}.logo svg{height:30px;width:auto;display:block}
nav{display:flex;gap:8px}
.dd{position:relative}
.dd-head{display:flex;align-items:center}
.dd-link{display:flex;align-items:center;height:44px;padding:0 4px 0 12px;color:var(--ink);font:500 16px/1 var(--display);text-decoration:none}
.dd-link:hover,.dd.open .dd-link,.dd-link.on{color:var(--brand-dark)}.dd-link.on{text-decoration:underline;text-underline-offset:6px}
.dd-btn{display:flex;align-items:center;justify-content:center;height:44px;width:28px;padding:0;border:0;background:none;cursor:pointer;color:var(--ink);border-radius:var(--r-pill)}
.dd-btn span{display:flex;transition:transform .2s}
.dd-btn:hover,.dd.open .dd-btn,.dd:hover .dd-btn{color:var(--brand-dark)}
.dd-menu{position:absolute;top:100%;left:0;min-width:240px;padding:10px;margin-top:6px;background:#fff;border-radius:22px;
  box-shadow:0 18px 50px rgba(138,48,0,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:40}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}  /* hover bridge between button and menu */
.dd:hover .dd-menu,.dd.open .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd:hover .dd-btn span,.dd.open .dd-btn span{transform:rotate(180deg)}
.dd-menu a{display:block;padding:12px 16px;border-radius:14px;text-decoration:none;font:500 15px/1.2 var(--text);color:var(--ink)}
.dd-menu a:hover,.dd-menu a.on{background:var(--brand-tint)}
.socials{display:flex;gap:10px;padding:10px 16px 6px;margin-top:6px;border-top:1px solid var(--line)}
.dd-menu .socials a,.socials a{width:44px;height:44px;padding:0;border-radius:12px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.dd-menu .socials a:hover,.socials a:hover{background:var(--brand-dark);transform:translateY(-2px)}

/* buttons, pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 30px;border-radius:var(--r-pill);
  font:600 15px/1 var(--display);text-decoration:none;cursor:pointer;margin:6px 8px 6px 0;  /* one button face everywhere = header «Купить на Ozon» */
  border:1px solid color-mix(in srgb,var(--c) 50%,transparent);
  background:var(--surface-2);color:var(--c);transition:background .2s,color .2s,transform .2s}
.btn:hover{background:var(--c);color:#fff}
.btn.primary{background:var(--c);color:#fff;border-color:var(--c)}.btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn.small{min-height:44px;padding:0 22px;font:600 13px/1 var(--display)}
.btn.block{width:100%;margin:0}
header .btn{min-height:38px;padding:0 18px;font:600 13px/1 var(--display);margin:0}
.ctas{margin-top:24px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.chip{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);
  font:500 14px/1 var(--text);color:var(--ink);text-decoration:none;cursor:pointer}
.chip:hover{border-color:var(--c)}.chip.on{background:var(--c);color:#fff;border-color:var(--c)}
button.chip{font:500 14px/1 var(--text)}
.badge{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-pill);background:#fff;color:var(--c);font:600 13px/1 var(--text)}
.eyebrow{display:inline-flex;height:34px;align-items:center;padding:0 16px;border:1.5px solid currentColor;border-radius:var(--r-pill);font:600 14px/1 var(--display);margin-bottom:18px}

/* sections */
section{padding:72px 0}
section+section{padding-top:24px}
.hero{padding:56px 0 64px;background:var(--sand);color:var(--cocoa);--c:var(--cocoa)}
.hero-soft{background:color-mix(in srgb,var(--brand) 16%,var(--bg));color:var(--ink);--c:var(--brand)}.hero-soft h1{color:var(--brand)}  /* soft brand orange, same as product pages */
.hero h1{margin-bottom:20px}
.hero .lead{color:inherit;max-width:560px}
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hl{background:var(--surface-2)}
.hl+.hl{background:var(--brand-tint)}
section.hl,.hl+section{padding-top:72px}  /* tinted sections need full top padding, not the collapsed 24px */
.strip{padding:20px 0}.strip .chips{margin:0;justify-content:center}
.catfilter .chip{cursor:pointer;color:inherit}.catfilter .chip.on{color:#fff}.catlist{padding-top:12px}.catlist .empty{text-align:center;color:var(--ink-muted);padding:40px 0}
.pager{display:flex;justify-content:center;gap:8px;margin-top:40px;flex-wrap:wrap}.pager:empty{display:none}
.pg{min-width:44px;height:44px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 15px/1 var(--display);cursor:pointer}
.pg:hover{border-color:var(--brand)}.pg.on{background:var(--brand);border-color:var(--brand);color:#fff}
.fitem{display:flex}.fitem>.prod{flex:1}.fitem[hidden]{display:none}
#results .grid>[data-u]{display:flex}#results .grid>[data-u]>.card{flex:1}#results .grid>[data-u][hidden]{display:none}   /* search: equal-height cards, buttons on one line */
.sub{margin:40px 0 16px}
.subhead{font-size:17px;line-height:1.5;color:var(--ink-muted);margin:-12px 0 32px;max-width:860px}

/* search (refeel-style: soft pill field + filled «Найти») */
.search{flex:1;max-width:640px;display:flex;gap:12px;align-items:center;position:relative}
.search .field{flex:1;position:relative;display:block}
.search svg{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:#F0A47C}
.search input{width:100%;height:52px;border:1.5px solid var(--brand-2);border-radius:var(--r-pill);background:var(--surface-2);
  padding:0 22px 0 58px;font:400 18px/1 var(--text);color:var(--ink);outline:none;-webkit-appearance:none}
.search input::placeholder{color:#F0A47C}.search input:focus{border-color:var(--brand)}
.search input::-webkit-search-cancel-button{display:none}
.search .btn{min-height:52px;padding:0 28px;margin:0;--c:var(--brand)}
/* header search matches the «Купить на Ozon» pill: 44px, Unbounded 600 13px */
header .search{margin-left:auto;max-width:480px}  /* field ~30% narrower than the 640px default */
header .search input{height:44px;font-size:16px;padding-left:52px}header .search svg{left:20px}
header .search .btn{font:600 13px/1 var(--display);height:44px;min-height:44px;padding:0 22px}
.sugg{position:absolute;top:60px;left:0;right:0;background:#fff;color:var(--ink);text-align:left;border-radius:22px;box-shadow:0 18px 50px rgba(138,48,0,.14);padding:8px;z-index:30}
.sugg a{display:block;padding:10px 16px;border-radius:14px;text-decoration:none}.sugg a:hover{background:var(--brand-tint)}
.sugg span{display:block;font-weight:600}.sugg small{color:var(--ink-muted)}.sugg .all{font-weight:600;color:var(--brand)}.sugg p{padding:10px 16px;margin:0}
.srch h1{margin-bottom:24px}.search.big{max-width:none;margin-bottom:12px}

/* cookie notice (first visit only) */
.cookie{position:fixed;right:24px;bottom:24px;z-index:50;max-width:460px;background:#fff;color:var(--ink);border-radius:var(--r-card);
  padding:26px 56px 26px 28px;box-shadow:0 20px 60px rgba(138,48,0,.18);opacity:0;transform:translateY(16px);transition:opacity .25s,transform .25s}
.cookie.in{opacity:1;transform:none}
.cookie p{margin:0 0 18px;font-size:16px;line-height:1.35}.cookie b{font-weight:700}
.cookie a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cookie .btn{margin:0}
.cookie-actions{display:flex;align-items:center;gap:18px;flex-wrap:nowrap}.cookie-actions a{font-size:14px;white-space:nowrap}
@media(max-width:420px){.cookie-actions{flex-wrap:wrap}}
.cookie-x{position:absolute;top:14px;right:16px;width:32px;height:32px;border:0;background:none;color:var(--ink);font:300 30px/1 var(--text);cursor:pointer}
.cookie-x:hover{color:var(--brand)}
@media(max-width:560px){.slide-media{aspect-ratio:1/1}.cookie{left:12px;right:12px;bottom:12px;max-width:none;padding:22px 48px 22px 22px}}

/* «Что такое безалкогольный алкоголь»: photo + title; text slides up on hover (desktop) or tap (.open, mobile) */
.step{position:relative;min-height:440px;border-radius:var(--r-card);overflow:hidden;outline:none;cursor:pointer;isolation:isolate;display:flex;color:#fff}
.step:focus-visible{box-shadow:0 0 0 3px var(--brand-2)}
.step-photo{position:absolute;inset:0;z-index:0}.step-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.step-photo .ph{position:absolute;inset:0;margin:0;border-radius:0;background:linear-gradient(160deg,var(--brand-2),var(--brand) 75%);
  color:rgba(255,255,255,.75);align-items:flex-start;justify-content:flex-end;text-align:right;padding:22px 26px 22px 45%;font-size:12px;
  transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.step::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(60,20,0,.7),rgba(60,20,0,.05) 55%);transition:background-color .5s}
.step-body{position:relative;z-index:2;margin-top:auto;width:100%;padding:28px 30px 30px}
.step h3{font-size:24px;line-height:1.15;margin:0;color:#fff}
.step-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1)}
.step-more p{overflow:hidden;margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.92);opacity:0;transform:translateY(14px);
  transition:opacity .35s,transform .55s cubic-bezier(.2,.7,.2,1)}
.step.open .step-more{grid-template-rows:1fr}.step.open .step-more p{opacity:1;transform:none;padding-top:14px;transition-delay:.12s}
.step.open::after{background-color:rgba(60,20,0,.35)}.step.open .step-photo .ph{transform:scale(1.06)}
@media(hover:hover){
  .step:hover .step-more{grid-template-rows:1fr}.step:hover .step-more p{opacity:1;transform:none;padding-top:14px;transition-delay:.12s}
  .step:hover::after{background-color:rgba(60,20,0,.35)}.step:hover .step-photo .ph{transform:scale(1.06)}
}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.benefit{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;color:var(--brand)}
.benefit svg{width:88px;height:88px}
.benefit p{margin:0;max-width:260px;font:500 17px/1.4 var(--text);color:var(--ink)}
@media(prefers-reduced-motion:reduce){.step-more,.step-more p,.step-photo .ph,.step::after{transition:none}}

/* canned cocktails promo: photo left with Samokat pin, text right */
.promo .two{gap:72px}
.promo-photo{position:relative}
.promo.flip .promo-photo{order:2}.promo .eb-m{display:none}
.promo-photo.split .ph{aspect-ratio:2/1}
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;margin-top:32px;align-items:center;justify-items:center;color:var(--ink)}
.partner{height:64px;width:100%;display:flex;align-items:center;justify-content:center;opacity:.85;overflow:hidden;min-width:0}
.partner svg{display:block;width:100%;height:100%}   /* fixed box + viewBox "meet" scaling: Safari sometimes sized width/height:auto logos at their raw size */
.partner .knock{fill:var(--partner-bg,var(--surface-2))}  /* letters knocked out of a solid plate (WRF) take the section colour */
.partner svg[viewBox$=" 13"],.partner svg[viewBox$=" 33"]{width:90%}
.promo-photo .ph{aspect-ratio:1/1;margin:0;border-radius:var(--r-card)}
.promo h2{margin-bottom:20px}.promo .lead{color:var(--ink);max-width:520px}.promo .ctas{margin-top:32px}
.sam-pin{position:absolute;top:-18px;left:-22px;display:flex;flex-direction:column;align-items:center;transform:rotate(-8deg);
  text-decoration:none;filter:drop-shadow(0 8px 18px rgba(255,72,111,.3))}
.sam-pin img{height:63px;width:auto;display:block}

/* «О нас говорят»: horizontal snap-scrolling video strip, arrows at screen edges */
.ugc .wrap h2{margin-bottom:28px}
.ugc-wrap{position:relative}
.ugc-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline:none;
  padding:0 max(24px,calc((100vw - var(--wrap))/2 + 24px));scroll-padding:0 max(24px,calc((100vw - var(--wrap))/2 + 24px))}
.ugc-track::-webkit-scrollbar{display:none}
.ugc-item{position:relative;flex:0 0 calc((min(100vw,var(--wrap)) - 48px - 60px)/3.5);scroll-snap-align:start}
.ugc-item video{display:block;width:100%;aspect-ratio:9/14;object-fit:cover;border-radius:var(--r-card);background:var(--brand-tint)}
.ugc-item.has-video{cursor:pointer;outline:none}.ugc-item.has-video:focus-visible video{box-shadow:0 0 0 3px var(--brand-2)}
.ugc-item .play{transition:opacity .2s,transform .2s}.ugc-item.playing .play{opacity:0;transform:translate(-50%,-50%) scale(.8)}
.ugc-item.has-video:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.ugc-item .ph{margin:0;border-radius:var(--r-card);align-items:flex-end;padding-bottom:24px}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.9);
  color:var(--brand);display:flex;align-items:center;justify-content:center;padding-left:3px;pointer-events:none}
.ugc-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;border:0;background:#fff;
  color:var(--brand);font:400 32px/1 var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:4px;
  box-shadow:0 8px 24px rgba(138,48,0,.15);transition:opacity .2s}
.ugc-arr.prev{left:16px}.ugc-arr.next{right:16px}
.ugc-arr:disabled{opacity:0;pointer-events:none}

/* «Упоминания в СМИ»: centered heading, 4 columns logo + quote */
.press h2{text-align:center;margin-bottom:56px}
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.press-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.press-logo{height:56px;display:flex;align-items:center;justify-content:center;color:var(--brand-2)}
.press-logo svg{height:38px;width:auto;max-width:160px}.press-logo svg[viewBox="0 0 32 32"]{height:50px}  /* square marks look small next to wordmarks */
a.press-item{text-decoration:none;color:inherit}a.press-item:hover p{text-decoration:underline;text-underline-offset:3px}
.ph-logo{min-width:160px;padding:0 16px;border:1.5px dashed var(--brand-2);border-radius:14px;font:600 13px/1 var(--display);color:var(--ink-muted)}
.press-item p{margin:0;max-width:280px;font-size:16px;line-height:1.45;color:var(--ink)}

/* legal documents */
.legal-doc .wrap{max-width:860px}
.legal-doc h1{font-size:clamp(28px,4vw,44px);margin-bottom:10px}
.legal-doc h2{font-size:22px;margin:40px 0 14px}
.legal-doc p,.legal-doc li{font-size:16px;line-height:1.6;color:var(--ink)}
.legal-doc ul{padding-left:22px}.legal-doc li{margin:6px 0}
.consent{font-size:13px;color:var(--ink-muted);margin:12px 0 0}.consent a{color:inherit}

/* hero slider */
.slider{position:relative;overflow:hidden;padding:0}
.track{display:flex;transition:transform .7s cubic-bezier(.65,0,.35,1)}
/* split slide (refeel pattern): text on the slide colour left, photo fills the right half edge to edge */
.slide{flex:0 0 100%;background:var(--slide-bg);color:var(--c);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:600px;transition:background .3s}
.slide-text{display:flex;align-items:center;padding:56px 56px 72px max(72px,calc((100vw - var(--wrap))/2 + 24px))}
.slide-text p,.slide-title{text-wrap:balance}  /* even line lengths in slide copy */
.slide-inner{max-width:560px}
.slide-media{position:relative;overflow:hidden}
.slide-media img,.slide-media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);margin:0;border-radius:0}
.slide-title{font:800 clamp(34px,4vw,62px)/1 var(--display);letter-spacing:-.02em;margin-bottom:22px;color:var(--c)}
.slide-title span{display:block;font-weight:500;font-size:.72em;margin-top:6px}
.slide .lead{color:var(--c);max-width:520px;opacity:.9;margin:0}
.slide .lead+.lead{margin-top:1.5em}   /* paragraph break = one empty line */
.slide .ctas{margin-top:32px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.slide .ctas .btn{margin:0}.slide .ctas .btn+.avail{margin:0}
.slide .ctas:has(.avail) .btn{padding:0 24px}  /* button + Samokat pill fit on one line */
.avail{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 8px 0 20px;border-radius:var(--r-pill);background:#fff;
  color:var(--c);text-decoration:none;font:600 12px/1 var(--display)}
.avail svg{height:34px;width:auto;display:block}
.slide .ph{background:color-mix(in srgb,#fff 45%,var(--slide-bg));color:var(--c)}
.slide .btn:not(.primary){background:color-mix(in srgb,#fff 60%,var(--slide-bg))}
.arr{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.75);
  color:var(--brand);font:400 28px/1 var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:4px}
.arr:hover{background:#fff}.prev{left:16px}.next{right:16px}
.dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:10px}
.dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:var(--brand-2);cursor:pointer;transition:width .3s}
.dot:focus{outline:none}.dot:focus-visible{outline:2px solid var(--brand-2);outline-offset:3px}
.dot.on{width:28px;border-radius:999px;background:var(--brand)}
@media(prefers-reduced-motion:reduce){.track{transition:none}.band div,footer .slogan div{animation:none}}

/* marquee band */
.band{background:none;color:var(--brand);overflow:hidden;padding:18px 0;white-space:nowrap}
.band.on-hl{background:var(--surface-2)}
.band div{display:inline-block;animation:band 103s linear infinite reverse;  /* reverse = text runs left to right */
  font:600 18px/1 var(--display);text-transform:uppercase}
.band span{margin:0 18px}
@keyframes band{to{transform:translateX(-50%)}}
.press-band{background:var(--brand);color:#fff;padding:22px 0}
.press-band div{animation-duration:60s;display:inline-flex;align-items:center}
.press-band .pb-logo{display:inline-flex;align-items:center;margin:0 44px}
.press-band svg{height:30px;width:auto}.press-band svg[viewBox="0 0 32 32"]{height:40px}
.press-band path[fill="#FEFCF9"]{fill:var(--brand)}  /* knocked-out letters of the square T-Secrets mark */

/* «О нас» what's inside + process path */
section.inside{--sec-bg:color-mix(in srgb,var(--brand) 9%,var(--bg));background:var(--sec-bg);padding:80px 0}
.ins-title,.ins-sub{text-align:center;margin-left:auto;margin-right:auto}
.ins-stage{position:relative;max-width:1120px;margin:24px auto 0;padding:10px 0 0}
.ins-bottle{width:578px;max-width:62%;height:auto;display:block;margin:0 auto;position:relative;z-index:1;filter:drop-shadow(0 24px 34px rgba(107,42,10,.18));animation:bottle-float 6s ease-in-out infinite alternate}
@keyframes bottle-float{0%{transform:translateY(-7px) rotate(-.8deg)}100%{transform:translateY(7px) rotate(.8deg)}}
@media(prefers-reduced-motion:reduce){.ins-bottle{animation:none}}
.ins-pills{list-style:none;margin:0;padding:0}
.ing{position:absolute;display:flex;align-items:center;gap:16px;z-index:2}
.ing-ic{width:118px;height:118px;flex:none;color:var(--ink);display:flex;align-items:center;justify-content:center}
.ing-ic svg{width:100%;height:auto}.ing .ing-ph{width:100%;height:100%;border:1.5px dashed color-mix(in srgb,var(--ink) 30%,transparent);border-radius:50%;display:flex;align-items:center;justify-content:center;font:400 12px/1.2 var(--text);color:var(--ink-muted)}
.ing-lb{position:relative;max-width:190px;padding-bottom:12px;border-bottom:1.5px solid var(--ink);font:700 22px/1.15 var(--text);color:var(--ink)}
/* callouts: left ones icon · label, right ones mirrored; leader lines drawn by JS into .ins-lines */
.ing.p3,.ing.p4{flex-direction:row-reverse;text-align:right}.ing.p1{top:6%;left:1%}.ing.p2{top:56%;left:0}.ing.p3{top:20%;right:1%}.ing.p4{top:62%;right:2%}
.ins-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.ins-lines line{stroke:var(--ink);stroke-width:1.5}
@media(max-width:700px){   /* phones: big bottle in the middle, four callouts around it with leader lines (icon over label) */
  .ins-stage{max-width:none;padding:0}
  .ins-bottle{width:72%;max-width:420px}
  .ing{flex-direction:column;align-items:flex-start;gap:6px;width:27%}
  .ing.p3,.ing.p4{flex-direction:column;align-items:flex-end;text-align:right}
  .ing.p1{top:0;left:0}.ing.p2{top:56%;left:0}.ing.p3{top:18%;right:0}.ing.p4{top:68%;right:0}
  .ing-ic{width:54px;height:54px}
  .ing-lb{font-size:13px;line-height:1.2;padding-bottom:5px;max-width:none}
  .ins-lines line{stroke-width:1.2}}
.proc{list-style:none;margin:46px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.proc::before{content:"";position:absolute;top:44px;left:12%;right:12%;border-top:2px dashed color-mix(in srgb,var(--brand) 45%,transparent)}
.proc li{position:relative;text-align:center;padding:0 6px}
.pr-ic{width:88px;height:88px;margin:0 auto 16px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px var(--sec-bg,var(--bg))}  /* ring masks the dashed line in the section colour */
.pr-ic svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.pr-ic svg.pr-art{width:64%;height:auto;stroke:none}
.pr-n{display:block;font:700 13px/1 var(--display);color:var(--brand);margin-bottom:8px}
.proc b{display:block;font:600 18px/1.25 var(--display);color:var(--ink);margin-bottom:8px}.proc p{margin:0;font-size:15px;line-height:1.5}
@media(max-width:900px){.proc{margin-top:24px}.ins-grid{grid-template-columns:180px 1fr;gap:28px}.proc{grid-template-columns:1fr 1fr;row-gap:36px}.proc::before{display:none}}
@media(max-width:560px){.ins-grid{grid-template-columns:1fr}.proc{grid-template-columns:1fr}}
/* «О нас» production */
section.prod-block{padding-top:30px}.prod-top{align-items:center}.prod-top .ph{margin:0;border-radius:var(--r-card)}
.prod-facts{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:pf}
.prod-facts li{perspective:1200px;outline:none;cursor:pointer}
.pf-in{display:grid;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.pf-front,.pf-back{grid-area:1/1;border-radius:var(--r-card);backface-visibility:hidden;-webkit-backface-visibility:hidden;position:relative;overflow:hidden}
.pf-front{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff;background:color-mix(in srgb,var(--brand) 22%,var(--bg))}
.pf-photo{position:absolute;inset:0;z-index:0}.pf-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pf-photo .pf-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:13px;color:var(--brand-dark)}
.pf-front::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(60,20,0,.72),rgba(60,20,0,0) 55%),linear-gradient(to bottom,rgba(60,20,0,.35),rgba(60,20,0,0) 30%)}
.pf-front .pf-n{position:absolute;top:20px;left:22px;z-index:2;color:#fff}
.prod-facts .pf-front b{position:relative;z-index:2;color:#fff;margin:0;text-shadow:0 2px 12px rgba(40,12,0,.35)}
.pf-flip{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pf-flip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;animation:pf-spin 3.2s cubic-bezier(.6,0,.4,1) infinite}
@keyframes pf-spin{0%,55%{transform:rotate(0)}85%,100%{transform:rotate(360deg)}}
.pf-back{transform:rotateY(180deg) translateZ(1px);background:color-mix(in srgb,var(--brand) 8%,var(--bg));padding:24px 22px}
.pf-n{display:block;font:700 15px/1 var(--display);color:var(--brand);margin-bottom:18px}
.pf.open .pf-in,.pf:focus-visible .pf-in{transform:rotateY(180deg)}
/* iOS Safari: children that get their own layer (z-index, text-shadow, backdrop-filter) ignore the face's backface-visibility -> hide their backs too */
.pf-front{transform:rotateY(0deg) translateZ(1px)}
.pf-front>*,.pf-back>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}
@media(hover:hover){.pf:hover .pf-in{transform:rotateY(180deg)}}
.pf-in{pointer-events:none}.pf-front,.pf-back{pointer-events:auto}.pf.open .pf-front,.pf:focus-visible .pf-front{pointer-events:none}@media(hover:hover){.pf:hover .pf-front{pointer-events:none}}   /* flipped: the hidden front must not swallow clicks on the back */
/* (no links on the card backs, so the back stays backface-hidden at all times: making it visible mirrored it through the front mid-flip) */
.pf:focus-visible .pf-front,.pf:focus-visible .pf-back{box-shadow:0 0 0 3px var(--brand-2)}
@media(prefers-reduced-motion:reduce){.pf-in{transition:none}.pf-flip svg{animation:none}}
.prod-facts b{display:block;font:600 19px/1.2 var(--display);color:var(--ink);margin-bottom:10px}.pf-d{font-size:15px;line-height:1.5;display:block}
.prod-stm{margin-top:16px;background:var(--brand);color:#fff;border-radius:var(--r-card);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.prod-stm h3{color:#fff;margin:0 0 8px;font-size:24px}.prod-stm p{margin:0;max-width:640px;color:#fff;opacity:.92}
.prod-stm .btn.primary{background:#fff;color:var(--brand);border-color:#fff}
@media(max-width:1000px){.prod-facts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.prod-facts{grid-template-columns:1fr}.prod-stm{padding:22px 20px}}
/* «О нас» story timeline */
/* chapters reveal on scroll: number pops, card rises, illustration slides in (only with JS; off for reduced motion) */
.js .tl-item .tl-mark{opacity:0;transform:scale(.3);transition:opacity .5s ease,transform .6s cubic-bezier(.34,1.56,.64,1)}
.js .tl-item .tl-card{opacity:0;transform:translateY(48px);transition:opacity .7s ease .12s,transform .8s cubic-bezier(.2,.7,.2,1) .12s}
.js .tl-item .tl-art{opacity:0;transform:translateX(28px) rotate(1.5deg);transition:opacity .8s ease .38s,transform .9s cubic-bezier(.2,.7,.2,1) .38s}
.js .tl-item .tl-body>*{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js .tl-item.in .tl-mark,.js .tl-item.in .tl-card,.js .tl-item.in .tl-art,.js .tl-item.in .tl-body>*{opacity:1;transform:none}
.js .tl-item.in .tl-body>:nth-child(1){transition-delay:.25s}.js .tl-item.in .tl-body>:nth-child(2){transition-delay:.32s}
.js .tl-item.in .tl-body>:nth-child(3){transition-delay:.4s}.js .tl-item.in .tl-body>:nth-child(4){transition-delay:.48s}
.js .tl-item.in .tl-body>:nth-child(5){transition-delay:.56s}.js .tl-item.in .tl-body>:nth-child(n+6){transition-delay:.64s}
.js .timeline::before{transform-origin:top;transform:scaleY(var(--tl-p,0));transition:transform .2s linear}
.js .rest-history span{opacity:0;transform:translateY(60%) scale(.96);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.js .rest-history.in span{opacity:1;transform:none}.js .rest-history.in span+span{transition-delay:.25s}
.js .rest-history .rest-hand{opacity:0;transform:translateY(60%) scale(.96) rotate(-3deg);transition:opacity .9s ease .5s,transform 1.1s cubic-bezier(.2,.7,.2,1) .5s}   /* same rise as the two lines, after them */
.js .rest-history.in .rest-hand{opacity:1;transform:rotate(-3deg)}
@media(prefers-reduced-motion:reduce){.js .tl-item *,.js .rest-history *{opacity:1!important;transform:none!important;transition:none!important}.js .rest-history .rest-hand{transform:rotate(-3deg)!important}.js .timeline::before{transform:none}}

.rest-history{margin:88px 0 0;text-align:center;font:700 clamp(44px,10vw,150px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.03em;color:var(--brand)}
.rest-history span{display:block}
.pn-count{margin:56px 0 0;text-align:center;font:700 clamp(64px,12vw,170px)/.9 var(--display);text-transform:uppercase;letter-spacing:-.03em;color:var(--brand)}
.pn-count span{display:block}.pn-count .rest-hand{margin-top:10px}.rest-hand{display:block;margin-top:14px;font:500 clamp(26px,3vw,40px)/1.1 "Caveat",cursive;font-style:normal;text-transform:none;letter-spacing:0;color:var(--ink);transform:rotate(-3deg)}.rest-history span+span{color:color-mix(in srgb,var(--brand) 32%,var(--bg))}  /* soft fill: outline text shows overlapping contours of the variable font */
@media(max-width:700px){.rest-history{margin-top:56px}}
.timeline{list-style:none;margin:40px 0 0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:31px;top:8px;bottom:8px;width:2px;background:color-mix(in srgb,var(--brand) 30%,transparent)}
.tl-item{display:grid;grid-template-columns:64px 1fr;gap:28px;margin-bottom:28px;position:relative}.tl-item:last-child{margin-bottom:0}
.tl-mark{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;
  font:700 20px/1 var(--display);position:relative;z-index:1;box-shadow:0 0 0 8px var(--bg)}
.tl-card{background:color-mix(in srgb,var(--brand) 8%,var(--bg));border-radius:var(--r-card);padding:28px 32px;display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:center}
.tl-line svg{width:100%;height:auto;aspect-ratio:3/4;display:block;color:var(--ink);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.tl-art .ph,.tl-art img{width:100%;height:auto;aspect-ratio:3/4;border-radius:22px;margin:0;display:block;object-fit:cover}.tl-art .ph{background:var(--bg);font-size:13px;padding:18px;display:flex;align-items:center;justify-content:center;text-align:center}
.tl-label{display:block;font:600 13px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin-bottom:10px}
.tl-card h3{font-size:28px;margin:0 0 14px}.tl-card p{margin:0 0 14px;font-size:17px;line-height:1.6}.tl-card p:last-child{margin-bottom:0}
.tl-quote{margin:22px 0;padding:22px 26px;border-left:4px solid var(--brand);background:var(--bg);border-radius:0 18px 18px 0}
.tl-quote p{font:600 clamp(22px,3vw,30px)/1.2 var(--display);color:var(--brand);margin:0 0 10px}
.tl-quote cite{font-style:normal;font-size:15px;color:var(--ink-muted)}
.tl-def{margin:20px 0 0;padding:24px 24px;border-radius:18px;background:var(--brand);color:#fff;display:flex;align-items:flex-start;gap:12px 20px;flex-wrap:wrap}
.tl-def b{font:700 clamp(26px,3.4vw,36px)/24px var(--display);font-style:italic;padding-top:2px}.tl-def p{margin:0;flex:1 1 260px;font-size:16px;line-height:24px;color:#fff}  /* both first lines share a 24px line box, so «Spirit» sits centred on the dash line */
.tl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 18px}
.tl-stats div{background:var(--bg);border-radius:18px;padding:18px 16px}
.tl-stats b{display:block;font:700 clamp(28px,4vw,40px)/1 var(--display);color:var(--brand);margin-bottom:8px}.tl-stats span{font-size:14px;line-height:1.35;display:block}
.tl-name{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 16px;font-family:var(--display)}
.tl-name span{font-size:clamp(20px,2.6vw,26px);font-style:italic;color:var(--ink-muted)}.tl-name i{font-style:normal;font-size:26px;color:var(--brand)}
.tl-name strong{font-size:clamp(24px,3.4vw,36px);color:var(--brand)}
@media(max-width:1000px){.tl-card{grid-template-columns:1fr 220px}}
@media(max-width:700px){.timeline::before{left:21px}.tl-item{grid-template-columns:44px 1fr;gap:14px}.tl-mark{width:44px;height:44px;font-size:15px;box-shadow:0 0 0 6px var(--bg)}
  .tl-card{padding:22px 20px;grid-template-columns:1fr;gap:20px}.tl-art{order:-1}.tl-card h3{font-size:22px}.tl-stats{grid-template-columns:1fr}}

/* grids + cards */
.process .card{display:flex;flex-direction:column}
.process-n{font:700 44px/1 var(--display);color:var(--c,var(--brand));opacity:.35;margin-bottom:18px}
@media(max-width:560px){.grid.process{grid-template-columns:1fr}.process .card{min-width:0}.process-n{font-size:34px;margin-bottom:12px}}
.grid{display:grid;gap:20px}.g1{grid-template-columns:1fr}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:24px}
.card h3{margin:0 0 8px}.card p{margin:0 0 8px;font-size:15px}
.ph{background:var(--tint);border-radius:var(--r-img);display:flex;align-items:center;justify-content:center;text-align:center;color:color-mix(in srgb,var(--c) 70%,#000);
  font-size:13px;padding:12px;margin-bottom:14px;opacity:.9}
.hero .ph{background:color-mix(in srgb,#fff 45%,transparent)}
a.card{display:block;text-decoration:none}
.tile{background:var(--surface-2);border:0;transition:transform .2s}.tile:hover{transform:translateY(-4px)}
.tile h3{font-size:17px}

/* product card (refeel pattern: photo in tinted rounded box, pills on photo, uppercase title, outline button) */
.prod{position:relative;background:none;border:0;padding:0;display:flex;flex-direction:column}
.prod .pimg{position:relative;margin-bottom:14px}
.prod .pimg .ph{aspect-ratio:1/1;margin:0}
.pphoto{padding:0;overflow:hidden}.pphoto img{width:100%;height:100%;object-fit:cover;display:block}
.prod .pills{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:6px;flex-wrap:wrap}
.prod .pills .badge,.pp .pills .badge{height:30px;font-size:12px;background:#fff;color:var(--brand)}  /* reads on white packshots too */
.prod h3{font:700 14px/1.35 var(--text);text-transform:uppercase;letter-spacing:.01em;margin-bottom:4px}
.prod p{font-size:14px;color:var(--ink-muted);margin:0 0 4px}
.prod .ctas{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px}.prod .ctas .btn{flex:1 1 140px;width:auto;margin:0;padding:0 14px;white-space:nowrap}.prod .ctas .btn.oz{flex:1 1 60px;min-width:60px}   /* logo is short: Ozon + WB + YM fit one row */
@media(max-width:600px){   /* two-column phone grid: Ozon + WB + YM still on one row, buttons a bit smaller */
  .prod .ctas{gap:6px;flex-wrap:nowrap}
  .prod .ctas .btn.oz{flex:1 1 0;min-width:0;min-height:40px;height:40px;padding:0 8px}
  .prod .ctas .btn.oz .oz-logo{width:100%;max-width:52px;height:auto}
  .prod .ctas .mp{flex:0 0 40px;width:40px;height:40px}}
/* round marketplace buttons next to «Купить на Ozon» (same outline style, logo in product colour, filled on hover) */
.mp{position:relative;z-index:2;flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;display:block;
  background:var(--surface-2);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 50%,transparent);transition:background .2s,color .2s}
.mp svg{width:100%;height:100%;display:block}
.mp:hover{background:var(--c);color:#fff}
.btn.oz .oz-logo{height:15px;width:auto;display:block}.btn.small.oz .oz-logo{height:13px}.buyrow .btn.oz .oz-logo{height:18px}
.buyrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.buyrow .btn{margin:0}
.buyrow .mp{flex-basis:52px;width:52px;height:52px}
.ctas+.chips{margin-top:24px}
.usp{list-style:none;margin:20px 0 28px;padding:0;display:grid;gap:10px}
.usp li{position:relative;padding-left:30px;line-height:1.4}
.usp li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:var(--c)}
.usp li::after{content:"";position:absolute;left:6px;top:calc(.2em + 4px);width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.pp .chip{border-color:color-mix(in srgb,var(--c) 30%,transparent);color:inherit}
.stretch{text-decoration:none}.stretch::after{content:"";position:absolute;inset:0;z-index:1}
.prod .btn{position:relative;z-index:2}


/* recipe card */
.rec{position:relative;padding:0;border:0;background:none;display:flex;flex-direction:column}
.rec h3 a{text-decoration:none}.rec .ctas{margin-top:auto;padding-top:12px}.rec .ctas .btn{width:100%;margin:0;position:relative;z-index:2;white-space:nowrap;padding:0 10px}

.center-cta{margin-top:36px;text-align:center}
.rec img,.rimg{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-img);margin-bottom:14px;background:var(--brand-tint)}
.rec h3{font:700 14px/1.35 var(--text);text-transform:uppercase;letter-spacing:.01em;margin-bottom:4px}.rec p{color:var(--ink-muted);font-size:14px;margin:0 0 4px}

/* product page: whole page tinted by the product colour */
.pp{background:var(--tint);color:color-mix(in srgb,var(--c) 80%,#1a1020)}
.pp{padding-bottom:40px}main:has(> .pp) + footer{margin-top:-40px;position:relative}  /* footer's rounded top sits on the product tint, no white strip */
.pp .hero{--c:unset;background:var(--tint);color:inherit}
.rcp-top{background:var(--tint);color:color-mix(in srgb,var(--c) 80%,#1a1020)}.rcp-top .hero{--c:unset;background:var(--tint);color:inherit}.rcp-top h1{color:var(--c)}.rcp-top .lead{color:var(--c);font-weight:500}  /* same palette as the product page hero */.rcp-top .crumbs{color:inherit}.rcp-top .hero{padding-top:8px}
.pp h2,.pp h3{color:var(--c)}.pp .crumbs{color:inherit}
.pp h1{text-transform:uppercase;font-size:clamp(30px,4vw,46px);color:var(--c)}
.pp .lead{color:var(--c);font-weight:500}
.pp .ph{background:color-mix(in srgb,var(--c) 26%,var(--bg))}
.pp section{border-top:1px solid color-mix(in srgb,var(--c) 30%,transparent)}.pp .crumbs+section{border-top:0;padding-top:8px}  /* no divider between «Перейти в каталог» and the product hero */
.pp .card{background:color-mix(in srgb,#fff 70%,var(--tint));border-color:color-mix(in srgb,var(--c) 35%,transparent)}
.pp .card.rec,.pp .card.prod{background:none;border:0}
.spec-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:start}
.spec{margin:0}.spec dt{font:700 13px/1.3 var(--text);text-transform:uppercase;letter-spacing:.04em;color:var(--c);margin:0 0 8px}
.spec dd{margin:0 0 28px;font-size:16px;line-height:1.55}.spec dd:last-child{margin-bottom:0}
.kbju{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kbju div{background:color-mix(in srgb,#fff 70%,var(--tint));border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:18px;padding:14px 12px;text-align:center}
.kbju b{display:block;font:700 26px/1 var(--display);color:var(--c);margin-bottom:6px}.kbju span{font-size:13px;color:var(--ink-muted)}
.taste{background:color-mix(in srgb,#fff 70%,var(--tint));border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:var(--r-card);padding:28px 30px}
.taste h3{margin:0 0 22px}
.taste-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:16px;margin-bottom:16px}.taste-row:last-child{margin-bottom:0}
.taste-row span{font-size:15px}
.taste-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.taste-bar i{height:12px;border-radius:999px;background:color-mix(in srgb,var(--c) 15%,transparent)}.taste-bar i.on{background:var(--c)}
@media(max-width:860px){.spec-grid{grid-template-columns:1fr;gap:32px}.kbju{grid-template-columns:repeat(2,1fr)}.taste{padding:22px 20px}.taste-row{grid-template-columns:100px 1fr}}  /* photo cards sit straight on the tint, like on the home page */
.pp{--ink-muted:color-mix(in srgb,var(--c) 70%,transparent)}  /* subheads and card captions in the product colour, not brand brown */
.packs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 6px}
.packs .chip{background:#fff;border-color:transparent;color:var(--c)}
.rating{font-size:15px;margin-bottom:14px;padding-bottom:14px;border-bottom:1.5px solid color-mix(in srgb,var(--c) 40%,transparent)}

.crumbs{padding:16px 24px;font-size:13px;color:var(--ink-muted)}.crumbs a{color:inherit}
details{background:var(--surface);border-radius:20px;padding:18px 22px;margin-bottom:10px}
summary{cursor:pointer;font:600 17px/1.3 var(--display);list-style:none}summary::after{content:"+";float:right}
details[open] summary::after{content:"−"}summary:focus{outline:none}summary:focus-visible{outline:2px solid var(--brand-2);outline-offset:6px;border-radius:8px}details p{margin:12px 0 0}
.recipe ul{padding-left:20px;margin:0}.recipe strong+br{display:none}  /* the <br> after each heading made a blank line */.recipe a{text-decoration:underline;text-underline-offset:3px}.recipe strong{display:block;margin:20px 0 6px;font-family:var(--display);font-weight:600}.recipe strong:first-child{margin-top:0}
.club{background:var(--brand-tint);border-radius:40px;padding:48px}
.club ul{list-style:none;padding:0;margin:0 0 24px}.club li{padding:8px 0 8px 32px;position:relative;font-size:17px}.club li::before{content:"→";position:absolute;left:0}
.quote{font-size:15px;text-align:center}.quote b{display:block;font:600 22px/1 var(--display);margin-bottom:12px;color:var(--brand-2)}

/* form */
.form{max-width:560px}.form label{display:block;margin:12px 0;font-size:14px;font-weight:600}
.form input{display:block;width:100%;height:52px;padding:0 20px;border:1px solid var(--line);border-radius:var(--r-pill);margin-top:6px;font:inherit;background:#fff;color:var(--ink)}

/* footer */
footer{background:var(--brand);color:#FFF1E8;border-radius:40px 40px 0 0;margin-top:40px;padding:40px 0 28px;overflow:hidden}
footer .top{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
footer .top .logo{color:#FFF1E8;margin-right:auto}footer .top .logo svg{height:34px}
footer .pill{display:inline-block;background:#FFF1E8;color:var(--brand);border-radius:var(--r-pill);font:500 12px/1 var(--text);padding:4px 10px;margin-left:6px;text-decoration:none}
footer .slogan{font:300 clamp(40px,8vw,104px)/1.1 var(--display);text-transform:uppercase;white-space:nowrap;margin:36px -24px;letter-spacing:-.02em;overflow:hidden}
footer .slogan div{display:inline-block;animation:band 46s linear infinite}
footer .slogan span{margin:0 .35em}footer .slogan .sep{color:var(--brand-2)}
footer .slogan:hover div{animation-play-state:paused}
.pages-res{display:grid;gap:10px;max-width:720px}.pages-res a{display:block;padding:16px 20px;border:1px solid var(--line);border-radius:18px;text-decoration:none;background:var(--surface)}.pages-res a:hover{border-color:var(--brand-2)}.pages-res b{display:block;color:var(--heading);font:600 17px/1.3 var(--display)}.pages-res span{color:var(--ink-muted);font-size:14px}
footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}   /* same groups as the header menu + socials */
footer b{font-weight:500;font-size:16px;display:block;margin-bottom:12px}
footer a{display:block;text-decoration:none;color:#FFF1E8;margin:6px 0;font-size:14px}footer .top a{display:inline}
footer .legal{font-size:12px;opacity:.6;margin-top:28px}footer .legal .nw{white-space:nowrap}footer .legal a{display:inline}
@media(max-width:600px){footer .legal .lsep{display:none}footer .legal a.pol{display:block;margin-top:6px}}   /* company + INN on one line, policy link under it */

@media(max-width:1180px){header .hrow{gap:16px}.dd-link{font-size:15px;padding-left:8px}}
@media(max-width:900px){
  .two,.g2,.g3,.g4,footer .cols{grid-template-columns:1fr 1fr}
  .two{grid-template-columns:1fr}
  header .hrow{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px;gap:12px;justify-content:space-between}
  header .hrow .search{order:3;flex-basis:100%;max-width:none}
  /* phones/tablets: search hides behind a round magnifier button in the header and slides down on tap */
  header nav{display:none}header .burger{display:flex}.mm:not([hidden]){display:block}header .logo{margin-right:auto}
  header .s-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--brand);color:#fff;cursor:pointer;padding:0}
  header .s-toggle svg{width:18px;height:18px}
  header .hrow{row-gap:0}   /* no empty row under the logo while the search is folded */
  header .hrow .search{max-height:0;overflow:hidden;opacity:0;margin-top:0;visibility:hidden;transition:max-height .25s ease,opacity .2s,margin-top .25s,visibility 0s .25s}
  header.s-open .hrow .search{max-height:80px;overflow:visible;opacity:1;margin-top:12px;visibility:visible;transition:max-height .25s ease,opacity .2s,margin-top .25s}
  .topbar .x{display:none}.topbar{font-size:11px}
  .search input,.search .btn{height:46px;min-height:46px}.search input{font-size:16px}.search .btn{padding:0 20px}
  header .search input,header .search .btn{height:44px;min-height:44px}
  nav{gap:0}.dd-link{font-size:14px}
  header .hrow{position:relative}.logo svg{height:24px}nav{margin-left:auto}.dd{position:static}
  .dd-menu{left:16px;right:16px;top:58px;min-width:0}
  section{padding:48px 0}section.hl,.hl+section{padding-top:48px}
  .club{padding:28px;border-radius:28px}
  .step{min-height:360px}.step h3{font-size:21px}
  .press-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.press h2{margin-bottom:36px}
  .ugc-item{flex-basis:62vw}.ugc-arr{display:none}.ugc-track{gap:12px;padding:0 16px;scroll-padding:0 16px}
  .promo .two{gap:40px}.promo.flip .promo-photo{order:0}
  .partners{gap:20px 12px;margin-top:24px}.partner{height:48px}.sam-pin{left:-6px;top:-14px}.sam-pin img{height:48px}
  .benefits{grid-template-columns:1fr;gap:28px;margin-top:36px}.benefit{flex-direction:row;text-align:left}.benefit svg{width:72px;height:72px;flex:0 0 72px}
  .slide{grid-template-columns:1fr;height:auto;align-content:start}.slide-media{order:-1;aspect-ratio:4/3}.slide-text{padding:28px 20px 64px}.arr{display:none}
}
@media(max-width:560px){.g2,.g3,footer .cols{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}.wrap{padding:0 16px}}
/* «Кейтеринг и бары» (B2B) */
.bz-hero-media{position:relative}
.bz-hero-media .ph{margin:0;border-radius:var(--r-card)}

/* reveal on scroll (JS adds .in); stagger via --d */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*.09s)}
.js .rv.in{opacity:1;transform:none}

/* own bars: sticky stacking cards */
.bz-venues{padding:96px 0 40px}
.bz-stack{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:28px}
.bz-card{position:sticky;top:calc(var(--header-h,96px) + var(--i)*16px)}
.bz-card-in{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:40px;border-radius:36px;min-height:460px;
  transform-origin:center top;transform:scale(var(--s,1));transition:transform .1s linear;box-shadow:0 -10px 40px rgba(138,48,0,.10)}
.bz-card.c1 .bz-card-in{background:#171514;color:#fff}   /* near-black: echoes the black bar counter in the Остров Мечты photo */
.bz-card.c2 .bz-card-in{background:#FFC9DA;color:var(--ink)}   /* soft pink: echoes the umbrellas in the First Summer Club photo */
.bz-card.c3 .bz-card-in{background:#6FB3F8;color:#fff}   /* the sky in the Dream Beach Club photo */
.bz-card h3{font-size:clamp(24px,2.6vw,34px);line-height:1.1;margin:10px 0 16px;color:inherit}
.bz-card p{font-size:17px;line-height:1.5;margin:0;opacity:.92}
.bz-n{display:block;font:600 64px/1 var(--display);opacity:.28;margin-bottom:18px}
.bz-place{font:600 13px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.bz-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bz-tags li{height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid currentColor;font:500 13px/1 var(--display);opacity:.9}
.bz-photo{border-radius:var(--r-img);overflow:hidden;margin:0}
.bz-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bz-card .bz-photo.ph{background:rgba(255,255,255,.22);color:inherit}
.bz-card.c2 .bz-photo.ph,.bz-card.c3 .bz-photo.ph{background:rgba(255,255,255,.55)}

.bz-events{padding:96px 0 40px}
@media(max-width:600px){.bz-hero h1{font-size:30px}}
@media(max-width:600px){.rec .ctas .btn{font-size:12px;padding:0 6px;min-height:40px;height:40px}}
br.mbr{display:none}
@media(max-width:600px){br.dbr{display:none}}
@media(max-width:600px){br.mbr{display:inline}.wm-retail>p,.wm-hint{text-wrap:balance}   /* phone-only line breaks */
  .bz-ev-sub{display:flex;align-items:center;gap:12px}.bz-ev-sub .bz-ev-tx{flex:none;font-size:15px}
  .bz-ev-sub .bz-rot{margin-left:0;flex:1 1 0;min-width:0;width:auto}
  .bz-ev-sub .bz-rot-in>span{justify-content:center;font-size:13px;padding-bottom:0;align-items:center}
  .bz-ev-sub .bz-rot-in svg,.bz-ev-sub .bz-rot-in img{max-width:100%;width:auto;height:auto;max-height:24px;transform:none!important}}   /* «Кому подойдёт»: two-line text left, rotating logo right */
@media(max-width:600px){.bz-steps li p{max-width:290px;margin-left:auto;margin-right:auto;text-wrap:balance}.bz-steps li{text-align:center}.bz-steps .bz-st-n{margin-left:auto;margin-right:auto}.bz-process h2{text-align:center}}   /* «Как мы работаем» centred on phones */
@media(max-width:600px){   /* «Кому подойдёт выездной бар»: cards pin under the header and stack over each other while scrolling */
  .bz-for{gap:16px}
  .bz-for .bz-for-it:nth-child(2){--k:1}.bz-for .bz-for-it:nth-child(3){--k:2}.bz-for .bz-for-it:nth-child(4){--k:3}.bz-for .bz-for-it:nth-child(5){--k:4}.bz-for .bz-for-it:nth-child(6){--k:5}
  .bz-for .bz-for-it{position:sticky;top:calc(var(--header-h,80px) + var(--k,0)*10px);box-shadow:0 -10px 30px rgba(60,20,0,.18)}}
@media(max-width:600px){footer .top{row-gap:12px}footer .top .logo{flex-basis:100%;margin-bottom:12px}}   /* email and phone closer together */   /* desktop-only line breaks: on phones the text flows naturally */
@media(max-width:600px){.crumbs{padding-top:20px;padding-bottom:16px}.crumbs a{font-size:14px}}   /* «Перейти в каталог/к рецептам» not squeezed against header and photo */
@media(max-width:900px){.promo .eb-m{display:inline-flex;justify-self:start;order:-1;margin-bottom:-24px}.promo .eb-d{display:none}}
@media(max-width:900px){   /* «Что такое безалкогольный алкоголь»: swipeable row of cards, the next one peeks in */
  .grid.steps{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px;scroll-padding:0 16px;-webkit-overflow-scrolling:touch}
  .grid.steps::-webkit-scrollbar{display:none}
  .grid.steps .step{flex:0 0 82%;scroll-snap-align:start}}
@media(max-width:900px){   /* «О нас»: production steps and production facts swipe sideways too */
  .proc,.prod-facts,.pn-aud{display:flex !important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px;scroll-padding:0 16px;-webkit-overflow-scrolling:touch}
  .proc::-webkit-scrollbar,.prod-facts::-webkit-scrollbar,.pn-aud::-webkit-scrollbar{display:none}
  .bz-stack{display:flex !important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:28px -16px 0 !important;padding:0 16px !important;scroll-padding:0 16px;align-items:stretch}
  .bz-stack::-webkit-scrollbar{display:none}
  .bz-stack>.bz-card{flex:0 0 86%;scroll-snap-align:start;position:static;display:flex}.bz-stack .bz-card-in{flex:1}   /* «Кейтеринг»: bar projects swipe */
  .bz-fmts{display:flex !important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px !important;padding:0 16px !important;scroll-padding:0 16px;align-items:stretch}
  .bz-fmts::-webkit-scrollbar{display:none}
  .bz-fmts>.bz-fmt{flex:0 0 86%;scroll-snap-align:start}   /* «Кейтеринг»: bar formats swipe */
  .pn-aud{margin-left:-16px !important;margin-right:-16px !important;padding:0 16px !important}  .pn-aud>li{flex:0 0 86%;scroll-snap-align:start;padding:26px 22px}   /* «Партнёрам»: «Как на этом заработать» cards swipe too */
  .proc li{flex:0 0 72%;scroll-snap-align:start}
  .prod-facts li{flex:0 0 82%;scroll-snap-align:start}}
   /* «Безалкогольный» must fit a phone screen */

.bz-rot{display:inline-block;height:34px;overflow:hidden;vertical-align:-6px;margin-left:6px}   /* 6px below the text baseline: room for descenders; logos sit exactly on the baseline */
.bz-rot-in{display:block;transition:transform .6s cubic-bezier(.45,0,.2,1)}
.bz-rot-in>span{display:flex;align-items:flex-end;box-sizing:border-box;height:34px;padding-bottom:6px;color:var(--ink);font:700 19px/1 var(--display);white-space:nowrap}
.bz-rot-in b{font-weight:inherit;transform:translateY(.128em)}   /* Unbounded: move the glyph baseline down to the bottom of the line box */
.bz-rot-in svg,.bz-rot-in img{height:24px;width:auto;display:block}
.bz-rot-in .c-sila-vetra svg,.bz-rot-in .c-sm svg,.bz-rot-in .c-ti svg{height:18px}   /* very wide wordmark: lower height to match the other logos' visual size */
.bz-rot-in .c-dlt svg{height:28px;transform:translateY(16.5%)}
.bz-rot-in .c-tsum svg{height:28px;transform:translateY(13.4%)}   /* the logo's letters end above its bottom edge (Ц's tail, vertical rules): put the letters on the baseline */
.bz-for{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bz-for-it{position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--brand-deep);color:#fff;min-height:260px}
.bz-for-it .bz-photo{position:absolute;inset:0;height:100%;aspect-ratio:auto!important;border-radius:0}
.bz-for-it .bz-photo.ph{margin:0;background:linear-gradient(160deg,var(--brand-2),var(--brand) 70%);color:#fff;align-items:flex-start;padding-top:22px;font-size:12px}
.bz-for-it::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0));pointer-events:none}
.bz-for-tx{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:24px}
.bz-for-tx b{display:block;font:600 20px/1.2 var(--display)}
.bz-for-n{position:absolute;top:20px;left:24px;z-index:1;color:#fff;font:600 18px/1 var(--display)}
@media(max-width:900px){.bz-for{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bz-for{grid-template-columns:1fr}.bz-for-it{min-height:220px}}
/* why */
.bz-why{padding:96px 0}
.bz-why-grid{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bz-why-grid li{background:var(--brand-tint);border-radius:var(--r-card);padding:28px}
.js .bz-why-grid li.rv{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),background-color .6s ease;transition-delay:calc(var(--d,0)*.09s),calc(var(--d,0)*.09s),0s}   /* .rv's transition would otherwise cancel the hover fade */
.bz-why-grid li:hover{background:var(--brand-soft)}
.bz-why-n{display:block;font:600 44px/1 var(--display);color:var(--brand);margin-bottom:28px}
.bz-why-grid b{display:block;font:600 18px/1.25 var(--display);margin-bottom:10px}
.bz-why-grid p{margin:0;font-size:15px}

/* formats */
section.bz-formats{background:var(--brand-tint);padding:96px 0}
.bz-fmts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bz-fmt{background:#fff;border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column}
.bz-fmt-n{font:700 15px/1 var(--display);color:var(--brand);margin-bottom:18px}
.bz-fmt h3{font-size:24px;color:var(--brand)}
.bz-fmt-sub{margin:10px 0 16px;color:var(--ink-muted)}
.bz-fmt ul{list-style:none;margin:0 0 24px;padding:0;flex:1}
.bz-fmt ul li{position:relative;padding:10px 0 10px 26px;border-top:1px solid var(--line)}
.bz-fmt ul li::before{content:"";position:absolute;left:4px;top:17px;width:10px;height:10px;border-radius:50%;background:var(--brand)}
.bz-fmt .btn{align-self:flex-start}

/* process */
section.bz-process{padding:96px 0}
.bz-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.bz-steps::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:2px;background:var(--line)}
.bz-steps li{position:relative}
.bz-st-n{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--brand);color:#fff;
  font:600 20px/1 var(--display);margin-bottom:20px;box-shadow:0 0 0 8px var(--bg)}
.bz-steps b{display:block;font:600 18px/1.25 var(--display);color:var(--brand);margin-bottom:8px}
.bz-steps p{margin:0;font-size:15px}

/* request form */
section.bz-lead{background:#fff;color:var(--ink);padding:96px 0;scroll-margin-top:var(--header-h,96px)}
.bz-lead-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.bz-lead h2{color:var(--brand)}.bz-lead .eyebrow{color:var(--brand)}
.bz-next{margin:28px 0;padding:0;list-style:none;counter-reset:n}
.bz-next li{counter-increment:n;position:relative;padding:12px 0 12px 48px;border-top:1px solid var(--line)}
.bz-next li::before{content:counter(n);position:absolute;left:0;top:9px;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;
  font:600 14px/30px var(--display);text-align:center}
.bz-form{background:#fff;color:var(--ink);border-radius:var(--r-card);padding:32px;border:1px solid var(--line);box-shadow:0 24px 60px rgba(138,48,0,.12)}
.bz-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:22px}
.bz-fields label{display:block;font:600 13px/1.2 var(--display)}.bz-fields label.wide{grid-column:1/-1}
.bz-fields label i{color:var(--brand);font-style:normal}
.bz-fields input,.bz-fields select,.bz-fields textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);
  font:300 16px/1.3 var(--text);border-radius:16px;padding:0 16px;height:50px;transition:border-color .2s,background .2s}
.bz-fields textarea{height:auto;padding:14px 16px;resize:vertical}
.bz-fields input:focus,.bz-fields select:focus,.bz-fields textarea:focus{outline:none;border-color:var(--brand);background:#fff}
.bz-fields .bad input,.bz-fields .bad select{border-color:#D62D20;background:#FFF5F4}
.bz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bz-form .btn.primary{width:100%;justify-content:center;height:56px}
.bz-form .btn[disabled]{opacity:.6;pointer-events:none}
.bz-status{margin:12px 0 0;font-size:14px;color:#D62D20}.bz-status:empty{display:none}
.bz-done{text-align:center;padding:40px 8px}.bz-done b{display:block;font:600 24px/1.2 var(--display);color:var(--brand);margin-bottom:10px}
.bz-form.sent>:not(.bz-done){display:none}

@media(max-width:900px){
  .bz-card-in{grid-template-columns:1fr;gap:24px;padding:28px;min-height:0}.bz-n{font-size:44px}
  .bz-card{position:static}
  .bz-lead-in{grid-template-columns:1fr}
  .bz-fmts{grid-template-columns:repeat(2,minmax(0,1fr))}.bz-why-grid{grid-template-columns:1fr 1fr}
  .bz-steps{grid-template-columns:1fr 1fr;row-gap:36px}.bz-steps::before{display:none}
}
@media(max-width:600px){
  .bz-fmts{grid-template-columns:minmax(0,1fr)}
  .bz-why-grid,.bz-steps,.bz-fields{grid-template-columns:1fr}
  .bz-form{padding:22px}.bz-lead-in{gap:32px}   /* steps -> form ~30% closer on phones (84 -> 60px) */.bz-venues,.bz-events,.bz-why,section.bz-formats,section.bz-process,section.bz-lead{padding:44px 0}   /* catering sections 25% closer on phones */
}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.bz-card-in{transform:none}}
/* recipe cards: equal height, one-line title and subtitle, button at the bottom */
.card.rec{display:flex;flex-direction:column;height:100%}
.card.rec h3,.card.rec p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card.rec .ctas{margin-top:auto}
.rc{display:flex;min-width:0}.rc>.card{flex:1;min-width:0}.grid>.card.rec{min-width:0}
.rc[hidden]{display:none}.rp-empty{text-align:center;color:var(--ink-muted);font-size:17px;padding:48px 0}
/* «Рецепты»: first block built like «Где найти» */
.rp-hero{background:#fff;padding:56px 0 0;overflow-x:clip;text-align:center}
.rp-hero h1{color:var(--brand)}
.rp-sub{margin:18px auto 24px;max-width:none;color:var(--brand);font-size:clamp(17px,1.7vw,22px)}
.rp-hint{margin:0;font-size:14px;color:var(--ink-muted)}
.rp-list{padding-top:32px}
/* «Партнёрам» */
.pn-hero{position:relative;container-type:inline-size;background:#7a1408 center/cover no-repeat;color:#fff;overflow:hidden;padding:56px 0 0}
.pn-hero-tx{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end}
.pn-hero-tx>*{min-width:0}
.pn-hero .eyebrow{color:#fff}
.pn-hero h1{color:#fff;margin:0;font-size:clamp(34px,4.4vw,60px);line-height:1.05}
.pn-hero .lead{color:#fff;margin:0 0 20px}
.pn-hero .ctas{margin:0;display:flex;flex-wrap:wrap;gap:10px}
.pn-hero .btn{color:#fff;border-color:#fff;background:none}
.pn-hero .btn.primary{background:#fff;color:var(--brand);border-color:#fff}
.pn-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.pn-bg.on{opacity:1}
.pn-hero>.wrap{position:relative;z-index:1}
.pn-glass{width:100%;aspect-ratio:4155/787;margin:36px 0 44px}
.pn-frost{--mw:calc(min(100cqw,var(--wrap)) - 48px);--mask:linear-gradient(#000 0 0),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='42 -770 4155 787' preserveAspectRatio='none'%3E%3Cpath d='M463 16Q335 16 240.0 -32.5Q145 -81 93.5 -169.0Q42 -257 42 -375Q42 -493 93.5 -581.0Q145 -669 240.0 -717.5Q335 -766 463 -766Q590 -766 684.5 -717.5Q779 -669 831.0 -581.0Q883 -493 883 -375Q883 -257 831.0 -169.0Q779 -81 684.5 -32.5Q590 16 463 16ZM463 -152Q564 -152 620.0 -210.5Q676 -269 676 -375Q676 -482 620.0 -540.0Q564 -598 463 -598Q362 -598 305.0 -540.0Q248 -482 248 -375Q248 -269 305.0 -210.5Q362 -152 463 -152ZM1183.0 -311Q1105.0 -311 1045.0 -339.0Q985.0 -367 951.5 -418.0Q918.0 -469 918.0 -536Q918.0 -603 951.5 -653.5Q985.0 -704 1045.0 -732.0Q1105.0 -760 1183.0 -760Q1263.0 -760 1322.5 -732.0Q1382.0 -704 1415.0 -653.5Q1448.0 -603 1448.0 -536Q1448.0 -469 1415.0 -418.0Q1382.0 -367 1322.5 -339.0Q1263.0 -311 1183.0 -311ZM1183.0 -429Q1233.0 -429 1261.0 -457.0Q1289.0 -485 1289.0 -536Q1289.0 -585 1261.5 -613.5Q1234.0 -642 1184.0 -642Q1134.0 -642 1106.0 -613.5Q1078.0 -585 1078.0 -536Q1078.0 -485 1106.0 -457.0Q1134.0 -429 1183.0 -429ZM1900.0 17Q1821.0 17 1761.5 -11.0Q1702.0 -39 1668.5 -90.0Q1635.0 -141 1635.0 -208Q1635.0 -275 1668.5 -325.5Q1702.0 -376 1762.0 -404.0Q1822.0 -432 1900.0 -432Q1980.0 -432 2039.0 -404.0Q2098.0 -376 2131.5 -325.5Q2165.0 -275 2165.0 -208Q2165.0 -141 2131.5 -90.0Q2098.0 -39 2038.5 -11.0Q1979.0 17 1900.0 17ZM1900.0 -102Q1950.0 -102 1978.0 -130.0Q2006.0 -158 2006.0 -208Q2006.0 -258 1978.0 -286.5Q1950.0 -315 1900.0 -315Q1850.0 -315 1822.5 -286.5Q1795.0 -258 1795.0 -208Q1795.0 -158 1822.5 -130.0Q1850.0 -102 1900.0 -102ZM1671.0 -750H1821.0L1412.0 0H1263.0ZM2949.0 0 2923.0 -206 2950.0 -285 2923.0 -364 2949.0 -571H3161.0L3125.0 -286L3161.0 0ZM2997.0 -285Q2983.0 -195 2941.5 -127.0Q2900.0 -59 2836.5 -21.5Q2773.0 16 2692.0 16Q2608.0 16 2544.5 -21.5Q2481.0 -59 2445.0 -127.5Q2409.0 -196 2409.0 -285Q2409.0 -376 2445.0 -444.0Q2481.0 -512 2544.5 -550.0Q2608.0 -588 2692.0 -588Q2773.0 -588 2836.5 -550.5Q2900.0 -513 2942.0 -445.5Q2984.0 -378 2997.0 -285ZM2616.0 -285Q2616.0 -243 2633.5 -210.0Q2651.0 -177 2682.0 -158.5Q2713.0 -140 2753.0 -140Q2795.0 -140 2832.0 -158.5Q2869.0 -177 2897.0 -210.0Q2925.0 -243 2939.0 -285Q2925.0 -328 2897.0 -361.0Q2869.0 -394 2832.0 -413.0Q2795.0 -432 2753.0 -432Q2713.0 -432 2682.0 -413.0Q2651.0 -394 2633.5 -361.0Q2616.0 -328 2616.0 -285ZM3229.0 -770H3434.0V0H3229.0ZM4197.0 -241Q4189.0 -164 4141.0 -106.0Q4093.0 -48 4016.5 -16.0Q3940.0 16 3845.0 16Q3740.0 16 3660.0 -22.0Q3580.0 -60 3535.0 -128.0Q3490.0 -196 3490.0 -285Q3490.0 -375 3535.0 -443.0Q3580.0 -511 3660.0 -549.5Q3740.0 -588 3845.0 -588Q3940.0 -588 4016.5 -555.5Q4093.0 -523 4141.0 -465.5Q4189.0 -408 4197.0 -330H3994.0Q3983.0 -381 3943.0 -408.5Q3903.0 -436 3845.0 -436Q3800.0 -436 3766.5 -418.5Q3733.0 -401 3714.5 -367.5Q3696.0 -334 3696.0 -285Q3696.0 -237 3714.5 -203.5Q3733.0 -170 3766.5 -152.5Q3800.0 -135 3845.0 -135Q3903.0 -135 3943.5 -164.0Q3984.0 -193 3994.0 -241Z'/%3E%3C/svg%3E") center bottom 44px/var(--mw) calc(var(--mw)*787/4155) no-repeat;position:absolute;inset:0;-webkit-backdrop-filter:blur(22px) brightness(.82);backdrop-filter:blur(22px) brightness(.82);-webkit-mask:var(--mask);mask:var(--mask);-webkit-mask-composite:xor;mask-composite:exclude}
.pn-buyers{background:color-mix(in srgb,var(--brand) 16%,var(--bg));color:var(--ink);padding:96px 0 104px;overflow:hidden}
.pn-buyers h2{color:var(--brand)}.pn-buyers .subhead{color:var(--ink)}
.pn-rcps{list-style:none;margin:44px auto 0;padding:0 24px;max-width:1320px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}
.pn-rcp{clip-path:polygon(0 0,100% 0,100.00% calc(100% - 9px),97.22% 100%,94.44% calc(100% - 9px),91.67% 100%,88.89% calc(100% - 9px),86.11% 100%,83.33% calc(100% - 9px),80.56% 100%,77.78% calc(100% - 9px),75.00% 100%,72.22% calc(100% - 9px),69.44% 100%,66.67% calc(100% - 9px),63.89% 100%,61.11% calc(100% - 9px),58.33% 100%,55.56% calc(100% - 9px),52.78% 100%,50.00% calc(100% - 9px),47.22% 100%,44.44% calc(100% - 9px),41.67% 100%,38.89% calc(100% - 9px),36.11% 100%,33.33% calc(100% - 9px),30.56% 100%,27.78% calc(100% - 9px),25.00% 100%,22.22% calc(100% - 9px),19.44% 100%,16.67% calc(100% - 9px),13.89% 100%,11.11% calc(100% - 9px),8.33% 100%,5.56% calc(100% - 9px),2.78% 100%,0 calc(100% - 9px));background:#fff;color:var(--ink);padding:26px 22px 36px;transform:rotate(var(--r,0deg));transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.pn-rcps li:nth-child(even) .pn-rcp{margin-top:30px}
.pn-rcps li:hover .pn-rcp{transform:rotate(0) translateY(-8px)}
.pn-rcp-h{display:block;font:600 13px/1 var(--display);color:var(--brand);padding-bottom:14px;border-bottom:2px dashed var(--line);margin-bottom:18px}
.pn-rcp h3{font-size:21px;line-height:1.15;margin:0 0 12px;color:var(--ink)}
.pn-rcp p{margin:0 0 18px;font-size:14px;line-height:1.4;min-height:7em}
.pn-rcp dl{margin:0;padding:14px 0;border-top:2px dashed var(--line);border-bottom:2px dashed var(--line)}
.pn-rcp-t{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:14px;font:600 13px/1 var(--display)}
.pn-rcp-t b{font:600 20px/1 var(--display);color:var(--brand)}
.pn-rcp dl div{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:4px 0}
.pn-rcp dt{color:var(--ink-muted)}.pn-rcp dd{margin:0;text-align:right;font-weight:500}
.pn-market{padding:96px 0}
.pn-big{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center;margin-top:32px}
.pn-big-l{container-type:inline-size}
.pn-big-v{display:block;font:800 15cqw/1 var(--display);color:var(--brand);letter-spacing:-.03em;white-space:nowrap;margin-bottom:24px}
.pn-big-l p{margin:0 0 14px;font-size:17px}
.pn-src{display:block;font-size:13px;line-height:1.3;color:var(--ink-muted)}
.pn-chart{margin:0;background:var(--brand-tint);border-radius:var(--r-card);padding:24px 24px 18px}
.pn-chart figcaption{margin-bottom:12px}.pn-chart figcaption b{display:block;font:600 18px/1.25 var(--display)}.pn-chart figcaption span{display:block;font-size:14px;color:var(--ink-muted);margin-top:4px}
.pn-plot{position:relative;height:280px;touch-action:pan-y}
.pn-plot svg{display:block;width:100%;height:100%;overflow:visible}
.pn-plot text{font:400 12px var(--text);fill:var(--ink-muted)}.pn-plot text.end{font-weight:600;font-size:14px;fill:var(--ink)}
.pn-tip{position:absolute;top:0;transform:translateX(-50%);background:#fff;color:var(--ink);border-radius:10px;padding:6px 10px;font-size:13px;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px rgba(138,48,0,.14)}
.pn-tip[hidden]{display:none}
.pn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pn-proof{padding:96px 0;overflow-x:clip}
.pn-proof .subhead{margin-bottom:32px}
.pn-aud-s{background:var(--brand-tint);padding:96px 0;scroll-margin-top:var(--header-h,96px)}
.pn-aud{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pn-aud>li{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-card);padding:32px}
.pn-who{font:600 14px/1 var(--display);color:var(--brand);margin-bottom:16px}
.pn-aud h3{font-size:clamp(22px,2.2vw,28px);line-height:1.15;margin-bottom:20px}
.pn-aud ul{list-style:none;margin:0 0 28px;padding:0}
.pn-aud ul li{padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.pn-aud .btn{margin-top:auto;align-self:flex-start}

/* «Где нас найти»: map + search */
.wm{padding:56px 0 12px}
body:has(.wm),body:has(.rp-hero){background:#fff}
.wm{background:#fff}
.wm h1{text-align:center;color:var(--brand)}
.wm-hint{margin:0 0 20px;font-size:14px;color:var(--ink-muted);text-align:center}
.wm-retail{margin:18px 0 44px;text-align:center}
.wm-retail p{margin:0 0 26px;color:var(--brand);font-size:clamp(17px,1.7vw,22px)}
.wm{overflow-x:clip}
.wm-tape{--s:.56;--gap:56px;--wm-knock:#fff;color:var(--brand);width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}
.wm-tape+.wm-tape{margin-top:26px}
.wm-tape ul{list-style:none;margin:0;padding:0 16px;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:22px var(--gap)}
.wm-tape li{flex:none;width:calc(var(--w)*var(--s)*1px)}
.wm-tape svg{display:block;width:100%;height:auto}
.wm-tape.on .wm-track{display:flex;width:max-content;animation:wm-right var(--t,40s) linear infinite}
.wm-tape.on.to-left .wm-track{animation-name:wm-left}
.wm-tape.on ul{flex:none;flex-wrap:nowrap;justify-content:flex-start;padding:0 var(--gap) 0 0}
@keyframes wm-right{from{transform:translate3d(calc(-1*var(--d,0px)),0,0)}to{transform:none}}
@keyframes wm-left{from{transform:none}to{transform:translate3d(calc(-1*var(--d,0px)),0,0)}}
.wm-map{position:relative;width:100%;aspect-ratio:1000/560;max-height:calc(100dvh - 40px);overflow:hidden;background:#fff}
.wm-map svg{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.wm-map svg.drag{cursor:grabbing}
.wm-land{fill:#FFD9C4;stroke:#FFD9C4;stroke-width:.6;vector-effect:non-scaling-stroke}
.wm-c{cursor:pointer;outline:none}
.wm-c .hit{fill:transparent}
.wm-c .dot{fill:var(--brand);stroke:#fff;stroke-width:2;r:5px;transition:r .15s,fill .15s}
.wm-c.lg .dot{r:7px}.wm-c.xl .dot{r:9px}
.wm-c:hover .dot,.wm-c:focus-visible .dot,.wm-c.on .dot{fill:var(--brand-deep);r:9px}
.wm-c.xl:hover .dot,.wm-c.xl:focus-visible .dot,.wm-c.xl.on .dot{r:11px}
.wm-c text{font:600 12px/1 var(--display);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.wm-c.xl text{font-size:13px}
.wm-c text.off{display:none}
.wm-c:hover text.off,.wm-c:focus-visible text.off,.wm-c.on text.off{display:block}
.wm-tools{position:absolute;right:24px;bottom:24px;display:flex;flex-direction:column;gap:6px}
.wm-tools button{width:40px;height:40px;border:0;border-radius:12px;background:var(--brand);color:#fff;font:600 20px/1 var(--display);cursor:pointer;transition:background .2s}
.wm-tools button:hover{background:var(--brand-dark)}
.wm-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.wm-lists>div{background:var(--brand-tint);border-radius:var(--r-card);padding:24px}
.wm-lists h3{font-size:17px;line-height:1.3;color:var(--ink);margin-bottom:12px}
.wm-lists ul{list-style:none;margin:0;padding:0 6px 0 0;max-height:440px;overflow-y:auto}
.wm-lists li{padding:12px 0;border-top:1px solid var(--line)}
.wm-lists li b{display:block;font-weight:500}
.wm-lists li a{color:var(--brand-dark)}
.wm-lists li span{display:block;font-size:14px;color:var(--ink-muted);margin-top:2px}
.wm-lists li.empty{color:var(--ink-muted)}
.wm-lists[hidden]{display:none}
.wm-hint-pop{position:absolute;left:50%;top:50%;z-index:5;width:min(300px,calc(100% - 32px));transform:translate(-50%,-50%) scale(.96);opacity:0;transition:opacity .25s,transform .25s;
  background:#fff;color:var(--ink);border-radius:20px;padding:18px 18px 16px;box-shadow:0 16px 40px rgba(60,20,0,.22);text-align:center}
.wm-hint-pop.on{opacity:1;transform:translate(-50%,-50%)}
.wm-hint-pop p{margin:0 0 14px;font-size:15px;line-height:1.45}
.wm-hint-pop button{border:0;border-radius:var(--r-pill);background:var(--brand);color:#fff;font:600 14px/1 var(--display);padding:12px 22px;cursor:pointer}
/* always-visible scroll indicator for the venue/shop lists (iOS hides native scrollbars until you scroll) */
.wm-lists>div{position:relative}.wm-sb{position:absolute;right:8px;width:4px;border-radius:4px;background:color-mix(in srgb,var(--brand) 18%,transparent);pointer-events:none}
.wm-sb i{position:absolute;left:0;right:0;border-radius:4px;background:var(--brand);opacity:.75}
.wm-lists ul.has-sb{scrollbar-width:none}.wm-lists ul.has-sb::-webkit-scrollbar{display:none}
.wm-lists ul.more{-webkit-mask-image:linear-gradient(#000 calc(100% - 36px),transparent);mask-image:linear-gradient(#000 calc(100% - 36px),transparent)}
.wm-stub{margin:0;padding:40px 24px;background:var(--brand-tint);border-radius:var(--r-card);text-align:center;font-size:18px;color:var(--ink)}
.wm-pop{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:0;border-radius:var(--r-card);padding:32px;background:#fff;color:var(--ink);overflow:auto}
.wm-pop::backdrop{background:rgba(60,20,0,.45)}
.wm-pop h2{margin:0 44px 20px 0;font-size:clamp(24px,3vw,34px)}
.wm-x{position:absolute;top:18px;right:18px;width:40px;height:40px;border:0;border-radius:50%;background:var(--brand-tint);color:var(--ink);font:400 24px/1 var(--text);cursor:pointer}
.wm-x:hover{background:var(--brand-soft)}
@media(max-width:700px){
  .wm{padding:36px 0 0}
  .wm-map{aspect-ratio:1/1}
  .pn-aud{grid-template-columns:1fr}.pn-big{grid-template-columns:minmax(0,1fr);gap:32px}.pn-plot{height:230px}.pn-chart{padding:20px 16px 14px}.pn-market,.pn-aud-s,.pn-proof{padding:64px 0}
  .pn-frost{--mw:calc(100cqw - 32px)}
  .pn-hero{padding-top:36px}.pn-hero-tx{grid-template-columns:minmax(0,1fr);gap:20px}.pn-hero h1{font-size:clamp(26px,8vw,34px)}
  .pn-buyers{padding:64px 0 56px}
  .pn-rcps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:12px 16px 16px;margin-top:14px;scrollbar-width:none}.pn-buyers .subhead{margin-bottom:0}   /* subhead -> receipts ~26px */
  .pn-rcps::-webkit-scrollbar{display:none}
  .pn-rcps li{flex:0 0 78vw;scroll-snap-align:center}.pn-rcps li:nth-child(even) .pn-rcp{margin-top:0}
  .pn-rcp{transform:none}.pn-rcp p{min-height:0}
  .wm-tape{--s:.36;--gap:28px}
  .wm-tape+.wm-tape{margin-top:18px}
  .wm-tools{right:10px;bottom:10px;flex-direction:row}.wm-tools button{width:45px;height:45px;font-size:22px;border-radius:14px}   /* +25% on phones */
  .wm-lists{grid-template-columns:minmax(0,1fr)}
  .wm-pop{padding:24px 20px}
}
