@font-face{font-family:"Cormorant";src:url(../fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{
  /* базовые (бренд) токены — сезонная тема переопределяет их из assets/js/themes.js */
  --cream:#f6f1e9;--cream-2:#efe7da;--sand:#e8dcc8;--sand-2:#d9c9ae;--paper:#fffaf2;
  --olive:#2f3b2b;--olive-2:#3d4c37;--sage:#8d9b74;--sage-l:#c9d1b3;--pink:#e9c3c6;--rose:#d99aa6;
  --gold:#e0b45c;--gold-l:#e9cf9a;--ink:#1d2119;--muted:#6f6b61;
  --dark:#2b3627;--dark-em:#c9d3ad;--on-dark:#c3cca9;--sand-bg:#ece2d1;--topbar-fg:#dfe3d2;
  --arch-1:#e2e6cf;--arch-2:#cdd5b6;--arch-3:#bcc6a0;--accent:#8d9b74;--card-bg:#f4ede2;--ph-veil:transparent;--particle:#c0643a;
  --line:color-mix(in srgb,var(--ink) 12%,transparent);
  --serif:"Cormorant","Times New Roman",serif;--sans:"Manrope",system-ui,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.22,.7,.2,1);--r:24px;
  --bg:var(--cream);--fg:var(--ink);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .8s var(--ease),color .8s var(--ease)}
body.theme-dark{--bg:var(--dark);--fg:#f3eee4}
body.theme-sand{--bg:var(--sand-bg)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
em{font-style:italic;font-weight:400}
.wrap{width:min(1320px,100% - 64px);margin-inline:auto}
.hide-m{}
::selection{background:var(--olive);color:var(--cream)}

/* type */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--sage);margin-bottom:18px}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor}
.eyebrow--light{color:var(--on-dark)}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:-.015em}
.h2 em{color:var(--sage)}
.theme-dark .h2 em{color:var(--dark-em)}
.h3{font-family:var(--serif);font-weight:400;font-size:34px;margin:70px 0 22px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:56px}
.sec-head--center{flex-direction:column;align-items:center;text-align:center}
.sec-head--center .eyebrow{justify-content:center}
.sec-lead{max-width:440px;color:var(--muted);font-size:17px}
.theme-dark .sec-lead{color:rgba(243,238,228,.65)}
.sec-head--center .sec-lead{max-width:560px;margin-top:14px}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:58px;padding:0 32px;border-radius:999px;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .4s var(--ease),border-color .4s,box-shadow .4s}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn__i{display:inline-block;transition:transform .4s var(--ease)}
.btn:hover .btn__i{transform:translateX(5px)}
.btn--dark{background:var(--olive);color:var(--cream)}
.btn--dark::before{background:var(--ink)}
.btn--dark:hover{box-shadow:0 18px 40px -16px color-mix(in srgb,var(--olive) 70%,transparent)}
.btn--ghost{border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.btn--ghost::before{background:var(--ink)}
.btn--ghost:hover{color:var(--cream);border-color:var(--ink)}
.btn--light{background:var(--cream);color:var(--olive)}
.btn--light::before{background:#fff}
.btn--block{width:100%}
.btn--sm{height:44px;padding:0 20px;font-size:14px}

.demo-pill{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--cream) 14%,transparent);border:1px solid color-mix(in srgb,var(--cream) 30%,transparent);color:#e9e4d6;white-space:nowrap}
.demo-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.demo-pill--dark{background:color-mix(in srgb,var(--cream) 6%,transparent)}

/* preloader */
.preloader{position:fixed;inset:0;z-index:1000;background:var(--cream);display:grid;place-items:center}
.preloader__inner{width:min(360px,80vw);text-align:center}
.preloader__logo{overflow:hidden}
.preloader__logo img{width:220px;margin:0 auto;opacity:0;transform:translateY(30px)}
.preloader__line{height:1px;background:color-mix(in srgb,var(--ink) 12%,transparent);margin:34px 0 14px;overflow:hidden}
.preloader__line span{display:block;height:100%;width:100%;background:var(--olive);transform:scaleX(0);transform-origin:left}
.preloader__meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.preloader__curve{position:absolute;left:-10%;right:-10%;top:100%;height:18vh;background:var(--cream);border-radius:0 0 50% 50%}
html.loaded-failsafe .preloader{display:none}
html:not(.js) .preloader{display:none}

/* cursor */
.cursor{position:fixed;left:0;top:0;z-index:999;pointer-events:none;display:none}
.has-cursor .cursor{display:block;opacity:0;transition:opacity .3s}
.has-cursor .cursor.is-live{opacity:1}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor label{cursor:none}
.cursor__dot{position:fixed;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--olive)}
.cursor__ring{position:fixed;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1px solid color-mix(in srgb,var(--olive) 50%,transparent);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cursor__text{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);opacity:0;transition:opacity .25s}
.cursor.is-hover .cursor__ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:color-mix(in srgb,var(--sage) 18%,transparent);border-color:transparent}
.cursor.is-view .cursor__ring{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--olive);border-color:transparent}
.cursor.is-view .cursor__text{opacity:1}
.cursor.is-view .cursor__dot{opacity:0}
.theme-dark .cursor__dot{background:#e9e4d6}
.theme-dark .cursor__ring{border-color:rgba(243,238,228,.5)}

.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;pointer-events:none}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--rose));transform:scaleX(0);transform-origin:left}

/* topbar + header */
.topbar{background:var(--olive);color:var(--topbar-fg);font-size:13px}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:40px}
.topbar__link{font-weight:600;color:#fff;opacity:.85;margin-left:auto}
.header{position:sticky;top:0;z-index:100;transition:transform .5s var(--ease),background .4s,box-shadow .4s}
.header::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--cream) 78%,transparent);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line);opacity:0;transition:opacity .4s}
.header.is-scrolled::before{opacity:1}
.header.is-hidden{transform:translateY(-100%)}
.theme-dark .header::before{background:color-mix(in srgb,var(--dark) 80%,transparent);border-color:rgba(243,238,228,.1)}
.theme-dark .header .logo img{filter:invert(1) sepia(.15) brightness(1.05)}
.header__inner{position:relative;display:flex;align-items:center;justify-content:space-between;height:82px}
.logo img{height:52px;width:auto;transition:filter .6s}
.nav{display:flex;gap:36px}
.nav a{position:relative;font-size:15px;font-weight:500;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.header__actions{display:flex;align-items:center;gap:10px}
.cart-btn{position:relative;display:flex;align-items:center;gap:10px;height:48px;padding:0 20px 0 16px;border-radius:999px;background:var(--olive);color:var(--cream);font-weight:600;font-size:14px}
.cart-count{min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--cream);color:var(--olive);font-size:12px;font-weight:800;display:grid;place-items:center}
.theme-dark .cart-btn{background:var(--cream);color:var(--olive)}
.theme-dark .cart-count{background:var(--olive);color:var(--cream)}
.theme-dark .burger{border-color:rgba(243,238,228,.25)}
.cart-btn{transition:background .6s,color .6s}
.cart-btn.bump{animation:bump .6s var(--ease)}
@keyframes bump{0%{transform:scale(1)}30%{transform:scale(1.18)}60%{transform:scale(.95)}100%{transform:scale(1)}}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);position:relative}
.burger span{position:absolute;left:15px;right:15px;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.burger span:first-child{top:20px}.burger span:last-child{top:27px}
.menu-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:90;background:var(--cream);padding:150px 28px 40px;display:flex;flex-direction:column;justify-content:space-between;clip-path:circle(0 at calc(100% - 50px) 60px);transition:clip-path .7s var(--ease);visibility:hidden}
.menu-open .mnav{clip-path:circle(150% at calc(100% - 50px) 60px);visibility:visible}
.mnav nav{display:flex;flex-direction:column}
.mnav nav a{font-family:var(--serif);font-size:44px;line-height:1.25;border-bottom:1px solid var(--line);padding:8px 0;transform:translateY(30px);opacity:0;transition:transform .6s var(--ease),opacity .6s}
.menu-open .mnav nav a{transform:none;opacity:1}
.menu-open .mnav nav a:nth-child(2){transition-delay:.05s}.menu-open .mnav nav a:nth-child(3){transition-delay:.1s}.menu-open .mnav nav a:nth-child(4){transition-delay:.15s}.menu-open .mnav nav a:nth-child(5){transition-delay:.2s}
.mnav__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;font-weight:600}
.mnav .demo-pill{background:var(--olive);color:var(--cream)}

/* hero */
.hero{position:relative;padding:40px 0 90px;overflow:hidden;min-height:calc(100svh - 122px)}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;border-radius:50%}
.blob--1{width:900px;height:900px;right:-240px;top:-300px;background:radial-gradient(circle,color-mix(in srgb,var(--sage-l) 75%,transparent),color-mix(in srgb,var(--sage-l) 0%,transparent) 65%)}
.blob--2{width:620px;height:620px;left:-220px;bottom:-260px;background:radial-gradient(circle,color-mix(in srgb,var(--pink) 60%,transparent),color-mix(in srgb,var(--pink) 0%,transparent) 65%)}
.blob--3{width:420px;height:420px;left:38%;top:10%;background:radial-gradient(circle,color-mix(in srgb,var(--gold-l) 35%,transparent),color-mix(in srgb,var(--gold-l) 0%,transparent) 65%)}
.hero__grid{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;min-height:640px}
.hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.9vw,90px);line-height:.95;letter-spacing:-.025em;margin-bottom:30px}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero__title em{color:var(--sage)}
.hero__title .ch{display:inline-block;will-change:transform}
.hero__lead{font-size:19px;color:var(--muted);max-width:520px;margin-bottom:40px}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero__scroll{display:flex;align-items:center;gap:12px;margin-top:56px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.hero__mouse{width:22px;height:34px;border:1.5px solid currentColor;border-radius:12px;position:relative}
.hero__mouse i{position:absolute;left:50%;top:6px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:currentColor;animation:mouse 1.8s infinite}
@keyframes mouse{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{opacity:0}}
.hero__visual{position:relative;height:640px}
.arch{position:absolute;inset:0 30px;border-radius:999px 999px 32px 32px;background:linear-gradient(180deg,var(--arch-1),var(--arch-2) 55%,var(--arch-3));overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 60px 100px -50px color-mix(in srgb,var(--olive) 45%,transparent)}
.arch__shine{position:absolute;left:50%;top:14%;width:560px;height:560px;margin-left:-280px;background:radial-gradient(circle,rgba(255,255,255,.75),transparent 62%)}
.arch__ring{position:absolute;left:50%;top:9%;width:420px;height:420px;margin-left:-210px;border-radius:50%;border:1px solid rgba(255,255,255,.6)}
.bottle{position:absolute;bottom:60px;filter:drop-shadow(0 28px 22px color-mix(in srgb,var(--ink) 30%,transparent));will-change:transform}
.b1{height:390px;left:14%;bottom:84px}
.b2{height:430px;left:37%;bottom:52px}
.b3{height:350px;right:12%;bottom:70px}
.b4{height:290px;left:5%;bottom:40px}
.chip{position:absolute;z-index:3;display:flex;flex-direction:column;line-height:1.3;padding:14px 18px 14px 42px;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 24px 40px -22px color-mix(in srgb,var(--ink) 40%,transparent);font-size:14px}
.chip small{color:var(--muted);font-size:12px}
.chip__dot{position:absolute;left:17px;top:19px;width:12px;height:12px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 5px color-mix(in srgb,var(--sage) 22%,transparent)}
.chip__dot--pink{background:var(--rose);box-shadow:0 0 0 5px color-mix(in srgb,var(--rose) 25%,transparent)}
.chip--a{left:-10px;top:130px}
.chip--b{right:-6px;bottom:140px}
.badge{position:absolute;right:6px;top:4px;width:136px;height:136px;z-index:3}
.badge text{font-size:13.2px;letter-spacing:.2em;fill:#e9dfcd;font-weight:700;font-family:var(--sans)}
.badge{animation:spin 24s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* marquee */
.marquee-sec{padding:30px 0 10px;overflow:hidden}
.marquee{overflow:hidden;white-space:nowrap}
.marquee__track{display:inline-flex;align-items:center;gap:40px;padding-right:40px;will-change:transform}
.marquee--a{background:var(--ink);color:var(--cream);padding:22px 0;transform:rotate(-1.6deg) scale(1.03)}
.marquee--b{background:var(--sage-l);color:var(--olive);padding:16px 0;transform:rotate(1.2deg) scale(1.03);margin-top:-6px}
.marquee--a span{font-family:var(--serif);font-style:italic;font-size:38px}
.marquee--b span{font-size:15px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.marquee i{font-style:normal;font-size:14px;opacity:.7}

/* counters */
.counters{display:grid;grid-template-columns:repeat(4,1fr);padding:110px 0 70px}
.counter{padding:0 30px;border-left:1px solid var(--line)}
.counter:first-child{border-left:0;padding-left:0}
.counter b{display:block;font-family:var(--serif);font-weight:400;font-size:92px;line-height:1;color:var(--olive)}
.counter span{color:var(--muted);font-size:15px}

/* placeholder product visual */
.ph{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;isolation:isolate;
  background:linear-gradient(var(--ph-veil),var(--ph-veil)),radial-gradient(120% 80% at 15% 0%,var(--t1),transparent 62%),radial-gradient(110% 90% at 100% 100%,var(--t2),transparent 60%),var(--card-bg);transform-style:preserve-3d}
.ph__arch{position:absolute;left:18%;right:18%;top:14%;bottom:14%;border-radius:999px 999px 20px 20px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.18));border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 30px 60px -30px color-mix(in srgb,var(--ink) 35%,transparent)}
.ph__q{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(120px,14vw,190px);line-height:1;background:linear-gradient(160deg,var(--olive) 20%,var(--sage) 70%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em;text-shadow:0 20px 40px color-mix(in srgb,var(--olive) 8%,transparent)}
.ph::after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-160%) skewX(-12deg);animation:shimmer 4.2s ease-in-out infinite;z-index:3;pointer-events:none}
@keyframes shimmer{0%,35%{transform:translateX(-160%) skewX(-12deg)}75%,100%{transform:translateX(280%) skewX(-12deg)}}
.ph__soon{position:absolute;left:14px;bottom:14px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.6);color:var(--olive);z-index:2}
.ph__glare{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.45),transparent 50%);opacity:0;transition:opacity .4s}
.ph--sm .ph__q{font-size:64px}
.ph--sm::after{animation-duration:5s}

/* product card */
.card{position:relative;display:flex;flex-direction:column}
.card__media{position:relative;display:block;border-radius:var(--r);transform-style:preserve-3d;will-change:transform;cursor:pointer}
.card:hover .ph__glare{opacity:1}
.card__tag{position:absolute;top:14px;left:14px;z-index:5;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:6px 11px;border-radius:999px;background:var(--olive);color:var(--cream)}
.card__tag--new{background:var(--rose);color:#fff}
.card__add{position:absolute;right:14px;bottom:14px;z-index:6;width:52px;height:52px;border-radius:50%;background:var(--olive);color:var(--cream);display:grid;place-items:center;font-size:22px;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--ink) 60%,transparent);transition:transform .4s var(--ease),background .3s,width .4s var(--ease)}
.card__add:hover{transform:scale(1.08);background:var(--ink)}
.card__add.added{background:var(--sage)}
.card__body{padding:18px 4px 0}
.card__meta{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--sage)}
.card__name{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.15;margin:8px 0 10px;cursor:pointer}
.card__price{display:flex;gap:10px;align-items:baseline;font-weight:700;font-size:17px}
.card__price s{color:var(--muted);font-weight:500;font-size:14px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 26px}
.grid .card{transition:opacity .4s}
.demo-note{margin-top:46px;text-align:center;color:var(--muted);font-size:13px}

/* bestsellers horizontal */
.best{position:relative;overflow:hidden}
.best__pin{padding:80px 0 90px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.best__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}
.best__hint{color:var(--muted);font-size:14px;text-align:right}
.best__track{display:flex;gap:28px;padding-left:max(32px,calc((100vw - 1320px)/2));padding-right:32px;width:max-content;will-change:transform}
.best__track .card{width:340px;flex:none}
.best__track .card--intro{width:340px;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;border-radius:var(--r);background:var(--olive);color:var(--cream);aspect-ratio:4/5;align-self:flex-start}
.card--intro b{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.02}
.card--intro p{color:color-mix(in srgb,var(--cream) 70%,transparent);margin:14px 0 24px;font-size:15px}

/* catalog */
.catalog{padding:120px 0}
.catalog__tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.filters{position:relative;display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--cream-2)}
.filter{position:relative;z-index:1;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);transition:color .35s}
.filter.is-active{color:var(--cream)}
.filters__pill{position:absolute;z-index:0;top:5px;bottom:5px;left:0;border-radius:999px;background:var(--olive);transition:transform .5s var(--ease),width .5s var(--ease)}
.sort{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.sort select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232f3b2b' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;padding:11px 38px 11px 16px;border-radius:999px;font-weight:600;color:var(--ink);font-size:14px}

/* problems */
.problems{padding:130px 0;color:var(--fg)}
.problems__chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.pchip{padding:14px 24px;border-radius:999px;border:1px solid rgba(243,238,228,.22);font-weight:600;font-size:15px;color:#e9e4d6;transition:all .35s var(--ease)}
.pchip:hover{border-color:rgba(243,238,228,.6)}
.pchip.is-active{background:var(--cream);color:var(--olive);border-color:var(--cream)}
.problems__panel{display:grid;grid-template-columns:.8fr 2fr;gap:50px;align-items:start}
.problems__info{position:sticky;top:120px}
.problems__info .pi-n{font-family:var(--serif);font-style:italic;font-size:120px;line-height:.9;color:color-mix(in srgb,var(--dark-em) 35%,transparent)}
.problems__info h3{font-family:var(--serif);font-weight:400;font-size:50px;line-height:1.02;margin:12px 0 14px}
.problems__info p{color:rgba(243,238,228,.65)}
.problems__list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.problems .card__name{color:#f3eee4}
.problems .card__price{color:#f3eee4}
.problems .card__meta{color:var(--on-dark)}
.consult{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:4/5;padding:28px;border-radius:var(--r);border:1px dashed rgba(243,238,228,.3);color:#f3eee4;transition:background .4s,border-color .4s}
.consult:hover{background:rgba(243,238,228,.06);border-color:rgba(243,238,228,.6)}
.consult b{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.05}
.consult p{color:rgba(243,238,228,.65);font-size:14px;margin-top:10px}
.consult span{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.consult span i{width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--olive);display:grid;place-items:center;font-style:normal}

/* ingredients stack */
.ingredients{padding:130px 0 60px}
.ingredients__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start}
.ingredients__intro{position:sticky;top:140px}
.ingredients__intro .sec-lead{margin-top:20px}
.stack{display:flex;flex-direction:column;gap:30px;padding-bottom:40px}
.icard{position:sticky;top:130px;height:340px;border-radius:30px;padding:40px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:0 -20px 50px -30px color-mix(in srgb,var(--ink) 25%,transparent);transform-origin:center top;will-change:transform}
.icard::before{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8,transparent 50%),var(--c);opacity:.85}
.icard__n{position:relative;font-family:var(--serif);font-style:italic;font-size:26px;color:var(--muted)}
.icard h3{position:relative;font-family:var(--serif);font-weight:400;font-size:56px;line-height:1}
.icard p{position:relative;color:var(--muted);font-size:17px;margin-top:10px;max-width:360px}

/* about */
.about{padding:140px 0}
.about__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}
.about__media{position:relative;padding:0 56px 70px 0}
.about__arch{aspect-ratio:4/5;border-radius:999px 999px 30px 30px;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.8),transparent 60%),linear-gradient(180deg,#f5eee3,var(--sand-2));display:flex;flex-direction:column;align-items:center;padding-top:26%;gap:20px}
.about__arch img{width:60%}
.about__arch span{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--olive-2)}
.about__photo{position:absolute;right:0;bottom:0;width:88%;border-radius:22px;overflow:hidden;border:6px solid var(--cream);box-shadow:0 40px 70px -30px color-mix(in srgb,var(--ink) 45%,transparent)}
.about__photo img{width:100%;aspect-ratio:2/1;object-fit:cover;transform:scale(1.15)}
.words{font-family:var(--serif);font-size:clamp(30px,3.2vw,46px);line-height:1.18;letter-spacing:-.01em}
.words .w{opacity:.18;transition:none}
.motto{display:flex;align-items:baseline;gap:18px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.motto span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}
.motto b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:36px;color:var(--olive)}

/* delivery */
.delivery{padding:130px 0}
.deliv{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dcard{padding:30px 26px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.dcard:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px color-mix(in srgb,var(--ink) 35%,transparent)}
.dcard__i{width:50px;height:50px;border-radius:50%;background:var(--sage-l);display:grid;place-items:center;font-size:20px;color:var(--olive);margin-bottom:40px}
.dcard h4{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.dcard p{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:14px}
.dcard p b{color:var(--ink)}
.mps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mp{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-weight:600;transition:background .4s,color .4s,border-color .4s}
.mp img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:grayscale(1);transition:filter .4s}
.mp i{margin-left:auto;font-style:normal;color:var(--muted)}
.mp:hover{background:var(--olive);color:var(--cream);border-color:var(--olive)}
.mp:hover img{filter:none}
.mp:hover i{color:var(--cream)}

/* reviews */
.reviews{padding:60px 0 130px}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rev{position:relative;padding:36px 30px;border-radius:var(--r);border:1.5px dashed color-mix(in srgb,var(--ink) 22%,transparent);background:rgba(255,250,242,.6)}
.rev__tag{position:absolute;top:-12px;left:24px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:5px 11px;border-radius:999px;background:var(--sand);color:var(--olive)}
.rev p{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.25;color:#7d796f;margin-bottom:18px}
.rev__sk{display:grid;gap:9px;margin-bottom:24px}
.rev__sk i{height:9px;border-radius:9px;background:color-mix(in srgb,var(--ink) 7%,transparent)}
.rev__sk i:last-child{width:60%}
.rev__who{display:flex;align-items:center;gap:12px;color:#99958a;font-size:14px;font-weight:600;padding-top:18px;border-top:1px solid var(--line)}
.rev__who span{width:40px;height:40px;border-radius:50%;background:var(--sand)}

/* CTA */
.cta{padding:0 0 130px}
.cta__box{position:relative;overflow:hidden;border-radius:40px;padding:110px 40px;text-align:center;color:var(--cream);background:radial-gradient(700px 400px at 20% 0%,color-mix(in srgb,var(--sage-l) 25%,transparent),transparent 60%),radial-gradient(600px 400px at 90% 100%,color-mix(in srgb,var(--rose) 25%,transparent),transparent 60%),var(--olive)}
.cta__title{font-family:var(--serif);font-weight:400;font-size:clamp(56px,9vw,150px);line-height:.95;letter-spacing:-.02em}
.cta__title em{color:var(--dark-em)}
.cta__box p{margin:16px 0 34px;color:color-mix(in srgb,var(--cream) 75%,transparent);font-size:18px}

/* footer */
.footer{background:var(--ink);color:color-mix(in srgb,var(--cream) 70%,transparent);padding:90px 0 34px;overflow:hidden}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:40px}
.footer__brand img{height:66px;width:auto;margin-bottom:20px}
.footer__col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.footer__col h4{color:var(--cream);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.footer__col a:hover{color:#fff}
.footer__word{font-family:var(--serif);font-size:clamp(40px,10.4vw,150px);line-height:.9;color:color-mix(in srgb,var(--cream) 6%,transparent);text-align:center;margin:70px 0 30px;white-space:nowrap}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;border-top:1px solid color-mix(in srgb,var(--cream) 12%,transparent);padding-top:24px}

/* overlay / drawer / modal */
.overlay{position:fixed;inset:0;z-index:300;background:color-mix(in srgb,var(--ink) 45%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.overlay.is-on{opacity:1;visibility:visible}
.x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:15px;transition:transform .4s var(--ease),background .3s}
.x:hover{transform:rotate(90deg);background:var(--cream-2)}
.drawer,.modal__box,.toast-free{--fg:var(--ink);color:var(--ink)}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:310;width:min(460px,100%);background:var(--cream);display:flex;flex-direction:column;transform:translateX(105%);transition:transform .6s var(--ease);box-shadow:-30px 0 80px -30px rgba(0,0,0,.35)}
.drawer.is-open{transform:none}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:26px 28px;border-bottom:1px solid var(--line)}
.drawer__head h3{font-family:var(--serif);font-weight:400;font-size:36px}
.drawer__head sup{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--sage)}
.drawer__body{flex:1;overflow-y:auto;padding:10px 28px;overscroll-behavior:contain}
.citem{display:grid;grid-template-columns:84px 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.citem .ph{border-radius:16px}
.citem__name{font-family:var(--serif);font-size:20px;line-height:1.15}
.citem__vol{font-size:12px;color:var(--muted)}
.qty{display:inline-flex;align-items:center;gap:4px;margin-top:10px;border:1px solid var(--line);border-radius:999px;padding:3px}
.qty button{width:30px;height:30px;border-radius:50%;font-size:16px;transition:background .3s}
.qty button:hover{background:var(--cream-2)}
.qty span{min-width:22px;text-align:center;font-weight:700;font-size:14px}
.citem__right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.citem__right b{font-size:16px}
.citem__rm{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.empty{text-align:center;padding:70px 10px}
.empty .ph{width:150px;margin:0 auto 26px;border-radius:20px}
.empty h4{font-family:var(--serif);font-weight:400;font-size:30px}
.empty p{color:var(--muted);margin:8px 0 22px}
.drawer__foot{padding:22px 28px 28px;border-top:1px solid var(--line);background:var(--paper)}
.row{display:flex;justify-content:space-between;padding:6px 0;font-size:15px}
.row--muted{color:var(--muted);font-size:13px;margin-bottom:14px}
.row--total{font-size:20px;border-top:1px solid var(--line);margin-top:8px;padding-top:14px}
.drawer__note{text-align:center;font-size:12px;color:var(--muted);margin-top:12px}
.ship-meter{margin-bottom:16px}
.ship-meter__text{font-size:13px;margin-bottom:8px}
.ship-meter__bar{height:4px;border-radius:4px;background:var(--cream-2);overflow:hidden}
.ship-meter__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--olive));width:0;transition:width .8s var(--ease)}

.modal{position:fixed;inset:0;z-index:320;display:grid;place-items:center;padding:24px;visibility:hidden;pointer-events:none}
.modal.is-open{visibility:visible;pointer-events:auto}
.modal__box{position:relative;background:var(--cream);border-radius:32px;max-height:calc(100svh - 48px);overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateY(40px) scale(.97);transition:opacity .5s var(--ease),transform .6s var(--ease);box-shadow:0 60px 120px -40px rgba(0,0,0,.5)}
.modal.is-open .modal__box{opacity:1;transform:none}
.modal__box>.x{position:absolute;top:18px;right:18px;z-index:5;background:var(--cream)}
.quick{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr}
.quick__media{padding:22px}
.quick__media .ph{border-radius:24px;transform-style:flat}
.opt__box b s{color:var(--muted);font-weight:500;margin-right:6px}
.quick__media .ph__q{font-size:240px}
.quick__info{padding:56px 46px 40px 20px;display:flex;flex-direction:column}
.quick__info h3{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.02;margin:10px 0 14px}
.quick__price{font-size:26px;font-weight:700;display:flex;gap:12px;align-items:baseline;margin-bottom:20px}
.quick__price s{font-size:17px;color:var(--muted);font-weight:500}
.quick__info p{color:var(--muted);margin-bottom:20px}
.quick__ing{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.quick__ing span{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--cream-2);font-weight:600}
.quick__buy{display:flex;gap:12px;align-items:center;margin-top:auto}
.quick__buy .qty{margin:0;height:58px;padding:0 8px}
.quick__buy .btn{flex:1}

.co{width:min(1080px,100%)}
.co__steps{display:flex;gap:24px;padding:28px 40px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#b3ad9f}
.co__steps .is-on{color:var(--olive)}
.co__form{display:grid;grid-template-columns:1.5fr 1fr;gap:0}
.co__main{padding:20px 40px 40px}
.co__title{font-family:var(--serif);font-weight:400;font-size:46px;margin-bottom:24px}
.co__sub{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:30px 0 14px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f{position:relative;display:block}
.f--wide{grid-column:1/-1}
.co__main>.f{margin-top:12px}
.f input,.f textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:24px 18px 10px;font-size:15px;outline:none;transition:border-color .3s,box-shadow .3s;resize:none}
.f span{position:absolute;left:18px;top:17px;font-size:15px;color:var(--muted);pointer-events:none;transition:all .25s var(--ease)}
.f input:focus,.f textarea:focus{border-color:var(--olive);box-shadow:0 0 0 4px color-mix(in srgb,var(--sage) 18%,transparent)}
.f input:focus+span,.f input:not(:placeholder-shown)+span,.f textarea:focus+span,.f textarea:not(:placeholder-shown)+span{top:8px;font-size:11px;letter-spacing:.06em;color:var(--sage);font-weight:700}
.f.err input{border-color:#c46a6a;box-shadow:0 0 0 4px rgba(196,106,106,.12)}
.ship,.pay{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{position:relative;cursor:pointer}
.opt input{position:absolute;opacity:0}
.opt__box{display:flex;flex-direction:column;gap:2px;padding:16px 18px 16px 48px;border:1px solid var(--line);border-radius:16px;background:var(--paper);transition:border-color .3s,background .3s,box-shadow .3s;position:relative;height:100%}
.opt__box::before{content:"";position:absolute;left:18px;top:19px;width:18px;height:18px;border-radius:50%;border:1.5px solid #b9b3a4;transition:all .3s}
.opt input:checked+.opt__box{border-color:var(--olive);box-shadow:0 0 0 3px color-mix(in srgb,var(--sage) 20%,transparent)}
.opt input:checked+.opt__box::before{border-color:var(--olive);background:radial-gradient(circle,var(--olive) 0 4.5px,transparent 5.5px)}
.opt__box b{font-size:15px;display:flex;justify-content:space-between;gap:8px}
.opt__box small{color:var(--muted);font-size:12.5px}
.co__sum{background:var(--paper);padding:30px 34px 34px;border-left:1px solid var(--line)}
.co__sum h4{font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:14px}
.co__items{max-height:300px;overflow:auto;margin-bottom:14px}
.coi{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.coi .ph{border-radius:12px}
.coi .ph__q{font-size:34px}
.coi small{display:block;color:var(--muted)}
.co__sum .btn{margin-top:18px}
.success{display:none;text-align:center;padding:70px 40px 80px}
.co.is-done .co__form{display:none}
.co.is-done .success{display:block}
.co.is-done #stepDone{color:var(--olive)}
.success__check{width:120px;height:120px;margin:0 auto 26px}
.success__check circle{fill:none;stroke:var(--sage-l);stroke-width:4;stroke-dasharray:340;stroke-dashoffset:340}
.success__check path{fill:none;stroke:var(--olive);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80}
.co.is-done .success__check circle{animation:draw 1s var(--ease) forwards}
.co.is-done .success__check path{animation:draw .6s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.success h3{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.05}
.success h3 em{color:var(--sage)}
.success p{color:var(--muted);max-width:460px;margin:16px auto 30px}
.confetti{position:fixed;z-index:400;width:10px;height:10px;border-radius:2px;pointer-events:none}

/* fly to cart */
.fly{position:fixed;z-index:500;width:70px;height:70px;border-radius:50%;pointer-events:none;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:44px;color:var(--cream);background:radial-gradient(circle at 30% 30%,var(--sage),var(--olive));box-shadow:0 20px 40px -10px color-mix(in srgb,var(--ink) 50%,transparent)}

.toast{position:fixed;left:50%;bottom:28px;z-index:600;transform:translate(-50%,calc(100% + 60px));visibility:hidden;background:var(--ink);color:var(--cream);padding:14px 22px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 20px 40px -12px rgba(0,0,0,.4);transition:transform .5s var(--ease);white-space:nowrap}
.toast.is-on{transform:translate(-50%,0);visibility:visible}
.toast{transition:transform .5s var(--ease),visibility .5s}

/* reveal initial states (set only when JS+GSAP ready) */
.anim .reveal{opacity:0;transform:translateY(40px)}
.anim .reveal-scale{opacity:0;transform:scale(.92)}
.anim .hero-fade{opacity:0;transform:translateY(24px)}
.anim .hero-bottle{opacity:0}
.anim .hero-chip{opacity:0}
.anim .hero__title .ch{transform:translateY(110%)}

@media (prefers-reduced-motion:reduce){.ph::after,.badge,.hero__mouse i{animation:none}}

/* responsive */
@media (max-width:1200px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .problems__list{grid-template-columns:repeat(2,1fr)}
  .hero__visual{height:560px}
  .b1{height:330px}.b2{height:370px}.b3{height:300px}.b4{height:250px}
}
@media (max-width:980px){
  .nav,.cart-btn__label{display:none}
  .burger{display:block}
  .cart-btn{padding:0 14px}
  .hero{min-height:0}
  .hero__grid{grid-template-columns:1fr;min-height:0}
  .hero__visual{width:100%;max-width:560px;margin:0 auto}
  .hero__scroll{display:none}
  .counters{grid-template-columns:repeat(2,1fr);gap:40px 0}
  .counter:nth-child(3){border-left:0;padding-left:0}
  .best__pin{min-height:0}
  .best__track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .best__track::-webkit-scrollbar{display:none}
  .best__track .card,.best__track .card--intro{scroll-snap-align:start}
  .problems__panel{grid-template-columns:1fr;gap:30px}
  .problems__info{position:static}
  .ingredients__grid{grid-template-columns:1fr;gap:40px}
  .ingredients__intro{position:static}
  .about__grid{grid-template-columns:1fr;gap:60px}
  .deliv,.mps{grid-template-columns:repeat(2,1fr)}
  .revs{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr 1fr}
  .quick{grid-template-columns:1fr}
  .quick__info{padding:10px 26px 30px}
  .co__form{grid-template-columns:1fr}
  .co__sum{border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:640px){
  body{font-size:15px}
  .wrap{width:calc(100% - 40px)}
  .topbar__text{display:none}
  .header__inner{height:68px}
  .logo img{height:40px}
  .cart-btn{height:44px}
  .burger{width:44px;height:44px}
  .burger span{left:13px;right:13px}.burger span:first-child{top:18px}.burger span:last-child{top:25px}
  .hero{padding:26px 0 50px}
  .hero__title{font-size:50px}
  .hero__lead{font-size:16px;margin-bottom:28px}
  .hero__ctas{flex-direction:column;gap:10px}
  .hero__ctas .btn{width:100%}
  .hero__visual{height:430px;margin-top:10px}
  .arch{inset:0 14px}
  .b1{height:240px;left:12%;bottom:58px}.b2{height:270px;left:36%;bottom:40px}.b3{height:220px;right:9%;bottom:50px}.b4{height:190px;left:4%;bottom:30px}
  .chip{font-size:12.5px;padding:10px 13px 10px 34px}
  .chip__dot{left:13px;top:15px;width:10px;height:10px}
  .chip--a{left:-4px;top:90px}.chip--b{right:-4px;bottom:16px}
  .badge{width:94px;height:94px;right:0}
  .marquee--a span{font-size:26px}
  .marquee--b span{font-size:12px}
  .counters{padding:70px 0 40px}
  .counter{padding:0 18px}
  .counter b{font-size:64px}
  .counter span{font-size:13px}
  .best__pin{padding:50px 0 60px}
  .best__head{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:28px}
  .best__hint{text-align:left}
  .hide-m{display:none}
  .best__track{gap:14px;padding-left:20px;padding-right:20px}
  .best__track .card,.best__track .card--intro{width:72vw}
  .card--intro b{font-size:34px}
  .catalog{padding:80px 0}
  .sec-head{margin-bottom:34px;gap:22px}
  .catalog__tools{width:100%}
  .filters{overflow-x:auto;max-width:100%;scrollbar-width:none}
  .filter{white-space:nowrap;padding:9px 14px}
  .grid{grid-template-columns:1fr 1fr;gap:30px 14px}
  .card__name{font-size:18px}
  .card__meta{font-size:10px;letter-spacing:.1em}
  .card__price{font-size:15px}
  .card__add{width:42px;height:42px;right:10px;bottom:10px;font-size:18px}
  .card__tag{top:10px;left:10px;font-size:9px;padding:5px 9px}
  .ph__soon{display:none}
  .ph__q{font-size:110px}
  .problems{padding:90px 0}
  .pchip{padding:11px 17px;font-size:14px}
  .problems__info .pi-n{font-size:80px}
  .problems__info h3{font-size:38px}
  .problems__list{grid-template-columns:1fr 1fr;gap:20px 14px}
  .ingredients{padding:90px 0 30px}
  .icard{height:260px;padding:28px;top:90px}
  .icard h3{font-size:40px}
  .icard::before{width:240px;height:240px;right:-70px;top:-70px}
  .about{padding:90px 0}
  .about__media{padding:0 20px 50px 0}
  .about__arch span{font-size:17px}
  .motto{flex-direction:column;gap:6px}
  .delivery{padding:90px 0}
  .deliv{gap:12px}
  .dcard{padding:22px 18px}
  .dcard__i{margin-bottom:24px;width:42px;height:42px}
  .dcard h4{font-size:22px}
  .dcard p{flex-direction:column;gap:2px}
  .mps{grid-template-columns:1fr 1fr;gap:10px}
  .mp{padding:12px 14px;gap:10px;font-size:14px}
  .mp img{width:32px;height:32px}
  .mp i{display:none}
  .h3{font-size:28px;margin:50px 0 18px}
  .reviews{padding:30px 0 90px}
  .cta{padding-bottom:90px}
  .cta__box{padding:80px 22px;border-radius:30px}
  .footer__top{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;align-items:flex-start;padding-bottom:64px}
  .modal{padding:0;align-items:end}
  .modal__box{border-radius:28px 28px 0 0;max-height:94svh;width:100%}
  .quick__media .ph__q{font-size:180px}
  .quick__media .ph{aspect-ratio:1/1}
  .quick__info h3{font-size:34px}
  .co__steps{padding:26px 80px 0 22px;gap:6px 12px;font-size:10px;flex-wrap:wrap}
  .co__steps span:first-child{display:none}
  .co__main{padding:16px 22px 26px}
  .co__title{font-size:36px}
  .fields,.ship,.pay{grid-template-columns:1fr}
  .co__sum{padding:24px 22px 30px}
  .success{padding:60px 22px 70px}
  .success h3{font-size:40px}
  .drawer__head,.drawer__body,.drawer__foot{padding-left:20px;padding-right:20px}
}

/* =====================================================================
   СЕЗОННЫЕ ТЕМЫ — цвета задаются в assets/js/themes.js (CSS-переменные)
   ===================================================================== */
@property --cream{syntax:'<color>';inherits:true;initial-value:#f6f1e9}
@property --cream-2{syntax:'<color>';inherits:true;initial-value:#efe7da}
@property --sand{syntax:'<color>';inherits:true;initial-value:#e8dcc8}
@property --sand-2{syntax:'<color>';inherits:true;initial-value:#d9c9ae}
@property --olive{syntax:'<color>';inherits:true;initial-value:#2f3b2b}
@property --olive-2{syntax:'<color>';inherits:true;initial-value:#3d4c37}
@property --sage{syntax:'<color>';inherits:true;initial-value:#8d9b74}
@property --sage-l{syntax:'<color>';inherits:true;initial-value:#c9d1b3}
@property --pink{syntax:'<color>';inherits:true;initial-value:#e9c3c6}
@property --rose{syntax:'<color>';inherits:true;initial-value:#d99aa6}
@property --gold{syntax:'<color>';inherits:true;initial-value:#e0b45c}
@property --gold-l{syntax:'<color>';inherits:true;initial-value:#e9cf9a}
@property --ink{syntax:'<color>';inherits:true;initial-value:#1d2119}
@property --muted{syntax:'<color>';inherits:true;initial-value:#6f6b61}
@property --dark{syntax:'<color>';inherits:true;initial-value:#2b3627}
@property --arch-1{syntax:'<color>';inherits:true;initial-value:#e2e6cf}
@property --arch-2{syntax:'<color>';inherits:true;initial-value:#cdd5b6}
@property --arch-3{syntax:'<color>';inherits:true;initial-value:#bcc6a0}
@property --card-bg{syntax:'<color>';inherits:true;initial-value:#f4ede2}
@property --accent{syntax:'<color>';inherits:true;initial-value:#8d9b74}
html{transition:--accent .8s linear}
html.season-anim{transition:--cream 1s var(--ease),--cream-2 1s var(--ease),--sand 1s var(--ease),--sand-2 1s var(--ease),--olive 1s var(--ease),--olive-2 1s var(--ease),--sage 1s var(--ease),--sage-l 1s var(--ease),--pink 1s var(--ease),--rose 1s var(--ease),--gold 1s var(--ease),--gold-l 1s var(--ease),--ink 1s var(--ease),--muted 1s var(--ease),--dark 1s var(--ease),--arch-1 1s var(--ease),--arch-2 1s var(--ease),--arch-3 1s var(--ease),--card-bg 1s var(--ease),--accent 1s var(--ease)}
html.vt-season{transition:none}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){z-index:2}
.badge__bg{fill:var(--olive)}
.progress span{background:linear-gradient(90deg,var(--accent),var(--rose));box-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent)}

/* canvas с частицами (листья / снег) — за контентом */
.season-fx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* прелоадер: строка статуса как в референсе */
.preloader__note{margin-top:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);min-height:1.4em}

/* маскированные строки заголовков */
[data-lines] .ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
[data-lines] .ln__i{display:block;will-change:transform}
.anim [data-lines]:not(.is-split){visibility:hidden}

/* «kicker» — моно-подпись с римской цифрой */
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.kicker b{font-weight:500;color:var(--accent);transition:color .8s linear}

/* стеклянная карточка */
.glass{background:color-mix(in srgb,var(--paper) 52%,transparent);border:1px solid rgba(255,255,255,.65);box-shadow:0 40px 80px -40px color-mix(in srgb,var(--olive) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}

/* ---------- промо-блок сезона ---------- */
.promo{padding:40px 0 120px}
.promo__box{position:relative;overflow:hidden;border-radius:44px;padding:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center;isolation:isolate;
  background:radial-gradient(70% 80% at 0% 0%,color-mix(in srgb,var(--sage-l) 90%,transparent),transparent 60%),radial-gradient(60% 70% at 100% 100%,color-mix(in srgb,var(--pink) 85%,transparent),transparent 62%),radial-gradient(50% 60% at 80% 10%,color-mix(in srgb,var(--gold-l) 60%,transparent),transparent 60%),var(--sand)}
.promo__box::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px);pointer-events:none}
.promo__word{position:absolute;left:0;bottom:-.18em;z-index:-1;white-space:nowrap;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(140px,19vw,300px);line-height:1;color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--olive) 22%,transparent);pointer-events:none}
.promo__glass{position:relative;border-radius:30px;padding:44px}
.promo__title{font-size:clamp(40px,4.4vw,66px);margin-bottom:20px}
.promo__title em{color:var(--sage)}
.promo__text{color:var(--muted);font-size:16.5px;max-width:46ch}
.promo__perks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}
.promo__perks li{font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--paper) 70%,transparent);border:1px solid color-mix(in srgb,var(--olive) 14%,transparent)}
.promo__perks li::before{content:"✦";color:var(--sage);margin-right:7px}
.ticket{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 14px 14px 24px;border-radius:20px;border:1.5px dashed color-mix(in srgb,var(--olive) 35%,transparent);background:color-mix(in srgb,var(--paper) 65%,transparent)}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--sand)}
.ticket::before{left:-10px}.ticket::after{right:-10px}
.ticket__l small{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.ticket__l b{font-family:var(--mono);font-size:24px;letter-spacing:.14em;color:var(--olive);font-weight:600}
.countdown{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}
.countdown__lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.countdown__lbl i{font-style:normal;color:var(--sage)}
.countdown__cells{display:flex;gap:8px}
.countdown__cells span{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:8px 6px;border-radius:14px;background:var(--olive);color:var(--cream);font-size:10px;letter-spacing:.12em;text-transform:uppercase;overflow:hidden}
.countdown__cells b{display:block;font-family:var(--mono);font-size:20px;font-weight:600;letter-spacing:.04em;line-height:1.2}
.promo__note{margin-top:18px;font-size:12px;color:var(--muted);opacity:.8}
.promo__side{display:flex;flex-direction:column;gap:22px}
.promo__picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.promo__picks .card__name{font-size:20px}
.promo__set{margin-top:30px}
.btn--light.promo__set{background:var(--olive);color:var(--cream)}
.btn--light.promo__set::before{background:var(--ink)}

/* промокод в корзине / скидка */
.promo-in{display:flex;gap:8px;margin:0 0 14px;padding:6px;border-radius:999px;border:1px solid var(--line);background:#fff;transition:border-color .3s,box-shadow .3s}
.promo-in input{flex:1;min-width:0;border:0;outline:0;background:none;padding:0 14px;font-size:14px;color:var(--ink);letter-spacing:.06em}
.promo-in button{height:38px;padding:0 16px;border-radius:999px;background:var(--olive);color:var(--cream);font-size:13px;font-weight:700}
.promo-in.is-ok{border-color:var(--sage);box-shadow:0 0 0 3px color-mix(in srgb,var(--sage) 18%,transparent)}
.row--disc{color:var(--sage)}
.row--disc i{font-style:normal;font-size:12px;letter-spacing:.08em;opacity:.8;margin-left:4px}
.row--disc b{color:var(--sage)}

/* ---------- плавающая панель (кнопка «Музыка») ---------- */
.demo-dock{position:fixed;left:20px;bottom:20px;z-index:250;display:flex;align-items:center;gap:10px;transition:opacity .4s}
.season-toggle{position:relative;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:999px;
  background:color-mix(in srgb,var(--paper) 72%,transparent);border:1px solid color-mix(in srgb,var(--olive) 14%,transparent);box-shadow:0 18px 40px -18px color-mix(in srgb,var(--ink) 45%,transparent);
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);color:var(--ink);font-size:12.5px}
.season-toggle__lbl{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.season-toggle__track{position:relative;display:flex;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--olive) 8%,transparent)}
.season-toggle__thumb{position:absolute;left:0;top:3px;bottom:3px;border-radius:999px;background:var(--olive);transition:transform .6s cubic-bezier(.7,0,.2,1),width .6s cubic-bezier(.7,0,.2,1),background-color 1s;box-shadow:0 6px 14px -6px color-mix(in srgb,var(--olive) 70%,transparent)}
.season-toggle button{position:relative;z-index:1;height:32px;padding:0 14px;border-radius:999px;font-weight:700;font-size:12.5px;color:var(--ink);transition:color .5s}
.season-toggle button.is-on{color:var(--cream)}
.season-toggle button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
.menu-open .demo-dock{opacity:0;pointer-events:none}

/* ---------- рельс глав (десктоп) ---------- */
.rail{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:90;opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
.rail.is-live{opacity:1;pointer-events:auto}
.rail ol{list-style:none;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.rail button{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--fg) 45%,transparent);padding:4px 0;transition:color .5s}
.rail button b{font-weight:500;min-width:2em;text-align:right}
.rail button i{display:block;width:8px;height:1px;background:currentColor;transition:width .6s var(--ease),background-color .8s}
.rail button span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .7s var(--ease),opacity .5s;opacity:0}
.rail li.is-active button,.rail button:hover{color:var(--accent)}
.rail li.is-active button i{width:20px}
.rail button span{padding:3px 0;border-radius:999px;background:color-mix(in srgb,var(--bg) 88%,transparent)}
.rail button:hover span,.rail button:focus-visible span{max-width:9rem;opacity:1;padding:3px 10px}
.theme-dark .rail button{color:rgba(243,238,228,.45)}
.theme-dark .rail li.is-active button{color:var(--dark-em)}
@media (max-width:1180px){.rail{display:none}}

/* тёмная секция + сезонные оттенки */
.theme-dark .season-toggle{background:color-mix(in srgb,var(--dark) 70%,transparent);color:#f3eee4;border-color:rgba(255,255,255,.14)}
.theme-dark .season-toggle button:not(.is-on){color:#f3eee4}
.theme-dark .season-toggle__thumb{background:var(--dark-em)}
.theme-dark .season-toggle button.is-on{color:var(--dark)}
.theme-dark .season-toggle__lbl{color:rgba(243,238,228,.6)}

@media (max-width:980px){
  .promo__box{grid-template-columns:minmax(0,1fr);padding:40px;gap:40px}
}
@media (max-width:640px){
  .promo{padding:10px 0 80px}
  .promo__box{padding:14px;border-radius:30px;gap:26px}
  .promo__glass{padding:28px 22px;border-radius:22px}
  .promo__title{font-size:40px}
  .promo__word{font-size:120px}
  .ticket{padding:12px 12px 12px 18px}
  .ticket__l b{font-size:19px}
  .countdown__cells span{min-width:46px}
  .countdown__cells{width:100%;justify-content:space-between}
  .countdown__cells span{flex:1}
  .promo__side{gap:0}
  .promo__picks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 8px 6px;scrollbar-width:none}
  .promo__picks::-webkit-scrollbar{display:none}
  .promo__picks .card{flex:none;width:62vw;scroll-snap-align:start}
  .promo__picks .card__name{font-size:17px}
  .promo__set{margin:18px 8px 12px;width:auto;white-space:normal;height:auto;min-height:56px;padding:12px 22px;text-align:center}
  .demo-dock{left:12px;bottom:12px;gap:8px}
  .season-toggle{padding:4px}
  .season-toggle__lbl{display:none}
  .season-toggle button{height:30px;padding:0 12px;font-size:12px}
  .toast{bottom:70px}
}

/* =====================================================================
   СЕЗОННЫЙ ДЕКОР — включается списком decor темы (html.decor-*)
   ===================================================================== */
.hero__grid{z-index:1}
.decor{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.decor>*,.badge-spark{display:none}
.decor-frost .frost,.decor-fir .fir,.decor-garland .garland,.decor-drift .drift{display:block}
.decor-sparkle .badge-spark{display:block}

/* морозные края */
.frost{position:absolute;inset:0;
  background:radial-gradient(38% 42% at 0% 0%,rgba(255,255,255,.95),transparent 72%),radial-gradient(34% 40% at 100% 0%,rgba(255,255,255,.9),transparent 72%),radial-gradient(70% 34% at 50% 100%,rgba(255,255,255,.75),transparent 72%);
  box-shadow:inset 0 0 140px rgba(196,214,236,.55)}

/* еловые ветки */
.fir{position:absolute;max-width:none;filter:drop-shadow(0 12px 14px rgba(28,42,74,.16));animation:firSway 7s ease-in-out infinite alternate}
.fir--tr{right:-80px;top:-34px;width:440px;--tf:scaleX(-1) rotate(-4deg);transform:var(--tf);transform-origin:0% 25%}
.fir--bl{left:-70px;bottom:-78px;width:420px;--tf:rotate(-15deg);transform:var(--tf);transform-origin:0% 30%;animation-delay:-3.5s}
@keyframes firSway{from{transform:var(--tf) rotate(0deg)}to{transform:var(--tf) rotate(1.8deg)}}

/* гирлянда (строится в season.js) */
.garland{position:absolute;left:0;right:0;top:0;height:72px}
.garland svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.garland path{fill:none;stroke:rgba(120,136,160,.55);stroke-width:1}
.garland i{position:absolute;width:7px;height:9px;margin:0 0 0 -3.5px;border-radius:50% 50% 50% 50%/58% 58% 42% 42%;
  background:radial-gradient(circle at 40% 35%,#fff 0 22%,var(--c) 62%);box-shadow:0 0 6px 1px var(--c),0 0 18px 4px color-mix(in srgb,var(--c) 40%,transparent);
  animation:twinkle var(--t,3s) ease-in-out var(--d,0s) infinite}
.garland i::before{content:"";position:absolute;left:2px;top:-3px;width:3px;height:3.5px;border-radius:1px;background:#aab6c6}
@keyframes twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.32;transform:scale(.82)}}

/* сугроб внизу hero */
.drift{position:absolute;left:0;right:0;bottom:-1px;height:112px}
.drift svg{display:block;width:100%;height:100%}
.drift__back{fill:url(#driftBack)}
.drift__front{fill:url(#driftFront);filter:drop-shadow(0 -5px 9px rgba(110,140,182,.22))}
.drift__glints i,.badge-spark i{position:absolute;width:10px;height:10px;opacity:0;
  background:linear-gradient(135deg,#fff,var(--gold-l));clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);
  filter:drop-shadow(0 0 3px rgba(255,236,190,.9));animation:glint 3.4s ease-in-out var(--d,0s) infinite}
.drift__glints i{width:8px;height:8px;background:#fff}
@keyframes glint{0%,100%{opacity:0;transform:scale(.3) rotate(0deg)}45%,55%{opacity:1;transform:scale(1) rotate(45deg)}}

/* искры и блик на бейдже */
.badge-spark{position:absolute;right:6px;top:4px;width:136px;height:136px;z-index:4;pointer-events:none}
.badge-spark::before{content:"";position:absolute;inset:-5px;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 72%,rgba(255,238,190,.95) 82%,transparent 92%);
  -webkit-mask:radial-gradient(circle,transparent 63%,#000 65%,#000 69%,transparent 71%);mask:radial-gradient(circle,transparent 63%,#000 65%,#000 69%,transparent 71%);
  animation:spin 4.5s linear infinite}
.badge-spark i:nth-child(1){left:-6px;top:22%;--d:0s}
.badge-spark i:nth-child(2){right:-4px;top:8%;width:14px;height:14px;--d:.8s}
.badge-spark i:nth-child(3){right:12%;bottom:-6px;--d:1.6s}
.badge-spark i:nth-child(4){left:16%;bottom:2%;width:7px;height:7px;--d:2.3s}
.badge-spark i:nth-child(5){left:42%;top:-8px;width:12px;height:12px;--d:1.2s}
.badge-spark i:nth-child(6){right:-10px;top:52%;width:8px;height:8px;--d:2.8s}
.badge-spark i:nth-child(7){left:-12px;bottom:28%;width:12px;height:12px;--d:.4s}
.decor-sparkle .badge text{fill:var(--gold-l)}
.decor-sparkle .badge__bg{stroke:var(--gold);stroke-width:1.5}

/* морозное стекло */
.decor-frost .glass{background:linear-gradient(140deg,rgba(255,255,255,.8),rgba(226,236,248,.58));border-color:rgba(255,255,255,.95);
  box-shadow:0 40px 80px -40px rgba(28,42,74,.32),inset 0 0 0 1px rgba(255,255,255,.55),inset 0 0 44px rgba(196,216,242,.55)}
.decor-frost .glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:.85;
  background:radial-gradient(150px 110px at 0 0,rgba(255,255,255,.95),transparent 70%),radial-gradient(170px 120px at 100% 100%,rgba(255,255,255,.85),transparent 70%),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.45'/></svg>")}
.decor-frost .glass>*{position:relative;z-index:1}
.decor-frost .chip{background:linear-gradient(140deg,rgba(255,255,255,.92),rgba(230,239,250,.78));border:1px solid #fff;box-shadow:0 24px 40px -22px rgba(28,42,74,.35),inset 0 0 18px rgba(196,216,242,.6)}
.decor-frost .season-toggle{background:linear-gradient(140deg,rgba(255,255,255,.85),rgba(228,238,250,.7));border-color:#fff}
.decor-frost .ticket::before,.decor-frost .ticket::after{background:var(--sand)}
.decor-garland .hero{padding-top:64px}

@media (max-width:980px){
  .fir--tr{width:320px;right:-70px;top:-26px}
  .fir--bl{display:none!important}
}
@media (max-width:640px){
  .decor-garland .hero{padding-top:52px}
  .garland{height:46px}
  .fir--tr{width:200px;right:-62px;top:-30px;--tf:scaleX(-1) rotate(-12deg)}
  .drift{height:64px}
  .badge-spark{width:94px;height:94px;right:0}
  .badge-spark i{transform:scale(.8)}
}
@media (prefers-reduced-motion:reduce){.fir,.garland i,.drift__glints i,.badge-spark i,.badge-spark::before{animation:none}.drift__glints i,.badge-spark i{opacity:.8}}
.season-fx--front{z-index:150}
/* зимнее «небо» в hero — на нём снег читается лучше */
html.decor-frost body{background:linear-gradient(180deg,#d5e1ef 0,#e1eaf5 360px,#ecf1f8 720px,var(--bg) 1000px) 0 0/100% 1000px no-repeat,var(--bg)}
.decor-frost .frost{background:radial-gradient(30% 34% at 0% 0%,rgba(255,255,255,.75),transparent 72%),radial-gradient(28% 32% at 100% 0%,rgba(255,255,255,.65),transparent 72%);box-shadow:inset 0 0 120px rgba(255,255,255,.35)}
@media (max-width:640px){
  .decor-garland .hero{padding-top:92px}
  .fir--tr{width:180px;right:-46px;top:-8px;--tf:scaleX(-1) rotate(-6deg)}
}
html.decor-frost body.theme-dark .season-toggle{background:color-mix(in srgb,var(--dark) 72%,transparent);border-color:rgba(255,255,255,.16)}

/* ---------- кнопка фоновой музыки (только в темах с music) ---------- */
.music-btn{position:relative;display:none;align-items:center;gap:9px;height:44px;padding:0 16px 0 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--ink);
  background:linear-gradient(140deg,rgba(255,255,255,.88),rgba(228,238,250,.72));border:1px solid #fff;
  box-shadow:0 18px 40px -18px color-mix(in srgb,var(--ink) 45%,transparent),inset 0 0 16px rgba(196,216,242,.55);
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);transition:transform .4s var(--ease),box-shadow .4s}
.has-music .music-btn{display:inline-flex;animation:musicIn .7s var(--ease) both}
@keyframes musicIn{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
.music-btn:hover{transform:translateY(-2px)}
.music-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.music-btn__eq{display:flex;align-items:flex-end;gap:2.5px;height:16px;width:18px}
.music-btn__eq i{display:block;width:3px;height:var(--h,6px);opacity:.75;border-radius:2px;background:linear-gradient(var(--gold),var(--olive));transition:height .4s var(--ease)}
.music-on .music-btn__eq i{animation:eq 1.1s ease-in-out infinite}
.music-on .music-btn__eq i:nth-child(2){animation-delay:-.35s;animation-duration:.9s}
.music-on .music-btn__eq i:nth-child(3){animation-delay:-.6s;animation-duration:1.25s}
.music-on .music-btn__eq i:nth-child(4){animation-delay:-.15s;animation-duration:.8s}
@keyframes eq{0%,100%{height:4px}50%{height:16px}}
.music-on .music-btn{box-shadow:0 18px 40px -18px color-mix(in srgb,var(--ink) 45%,transparent),0 0 0 3px color-mix(in srgb,var(--gold) 35%,transparent),inset 0 0 16px rgba(196,216,242,.55)}
.music-btn::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);white-space:nowrap;pointer-events:none;
  padding:7px 12px;border-radius:10px;background:var(--olive);color:var(--cream);font-size:12px;font-weight:600;opacity:0;transition:opacity .3s,transform .3s}
.music-btn:hover::after,.music-btn:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.music-btn::before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0}
.music-hint-on .music-btn::before{animation:ringPulse 1.8s ease-out infinite}
@keyframes ringPulse{0%{opacity:.9;box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 60%,transparent)}100%{opacity:0;box-shadow:0 0 0 16px color-mix(in srgb,var(--gold) 0%,transparent)}}
.music-wrap{position:relative;display:flex}
.music-btn__eq i:nth-child(1){--h:6px}.music-btn__eq i:nth-child(2){--h:11px}.music-btn__eq i:nth-child(3){--h:8px}.music-btn__eq i:nth-child(4){--h:13px}
.music-on .music-btn__eq i{opacity:1}
.music-hint{position:absolute;left:50%;margin-left:-125px;width:250px;bottom:calc(100% + 14px);text-align:center;white-space:normal;display:block;padding:11px 15px;border-radius:14px;font-size:13px;font-weight:600;color:var(--ink);
  background:linear-gradient(140deg,rgba(255,255,255,.95),rgba(232,240,250,.9));border:1px solid #fff;box-shadow:0 20px 40px -20px rgba(28,42,74,.45);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .5s,transform .5s var(--ease),visibility .5s;pointer-events:none}
.music-hint b{color:var(--gold)}
.music-hint small{display:block;margin-top:2px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.02em}
.music-hint::after{content:"";position:absolute;left:50%;margin-left:-6px;bottom:-6px;width:12px;height:12px;background:#eef3fa;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}
.has-music.music-hint-on .music-hint{opacity:1;visibility:visible;transform:none}
.has-music .music-wrap{display:flex}
.theme-dark .music-btn{background:color-mix(in srgb,var(--dark) 72%,transparent);color:#f3eee4;border-color:rgba(255,255,255,.16)}
@media (max-width:640px){
  .music-btn{width:40px;height:40px;padding:0;justify-content:center}
  .music-btn__lbl{display:none}
  .music-btn::after{display:none}
  .music-hint{font-size:12px;padding:9px 12px;width:210px;margin-left:-105px}
}
@media (prefers-reduced-motion:reduce){.music-on .music-btn__eq i{animation:none;height:10px}.music-hint-on .music-btn::before{animation:none}}


/* ===== РЕАЛЬНЫЕ ФОТО ТОВАРОВ (Taplink-каталог COSMETICAGODA) ===== */
.ph--img{aspect-ratio:3/4;background:var(--card-bg);box-shadow:inset 0 0 0 1px rgba(40,30,20,.07)}
.ph--img::after{display:none}
.ph--img::before{content:"";position:absolute;left:0;right:0;bottom:0;height:26%;z-index:1;pointer-events:none;background:linear-gradient(transparent,rgba(20,16,12,.10))}
.ph--sm.ph--img::before{display:none}
.ph__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.001);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .7s ease}
.ph__img--alt{opacity:0;background:#fff}
.card__media:hover .ph__img,.quick__media:hover .ph__img{transform:scale(1.06)}
.card__media:hover .ph--alt .ph__img--alt{opacity:1}
.quick__media .ph--img,.citem .ph--img,.coi .ph--img{aspect-ratio:3/4}
.fly--img{background-size:cover;background-position:50% 40%;border:3px solid #fff;font-size:0}
@media (max-width:640px){ .quick__media .ph.ph--img{aspect-ratio:3/4;max-height:56vh;width:auto;margin:0 auto} }

/* длинные реальные названия товаров не должны распирать сетки (особенно на мобильных) */
.problems__list,.grid,.promo__picks{min-width:0}
.problems__list > *,.grid > *,.promo__picks > *{min-width:0}
.problems__list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1200px){ .problems__list{grid-template-columns:repeat(2,minmax(0,1fr))} }
.card__name,.citem__name,.quick__name,.coi div{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.problems__panel > *{min-width:0}
.consult{aspect-ratio:auto;min-height:100%}
.consult b{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:640px){ .consult{padding:18px} .consult b{font-size:22px} .consult p{font-size:13px} .consult span{font-size:13px} }

/* =====================================================================
   ROUND 6 — hero product stage, about frame, quick-view tabs, reviews
   ===================================================================== */
.chip{display:none!important}
.bottle{display:none}
/* --- hero stage --- */
.stage{position:absolute;inset:0;--s:1}
.arch__sweep{position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.38) 50%,transparent 58%);transform:translateX(-60%);animation:sweep 9s ease-in-out 2.2s infinite;pointer-events:none;z-index:6;mix-blend-mode:soft-light}
@keyframes sweep{0%{transform:translateX(-60%)}38%,100%{transform:translateX(60%)}}
.podium{position:absolute;left:7%;right:7%;bottom:0;height:calc(150px*var(--s));pointer-events:none}
.podium__side{position:absolute;left:0;right:0;top:calc(55px*var(--s));bottom:-40px;border-radius:0 0 50% 50%/0 0 40px 40px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--arch-3) 70%,var(--ink) 30%) 0%,var(--arch-2) 22%,color-mix(in srgb,var(--arch-1) 70%,#fff 30%) 46%,var(--arch-2) 72%,color-mix(in srgb,var(--arch-3) 75%,var(--ink) 25%) 100%)}
.podium__top{position:absolute;left:0;right:0;top:0;height:calc(110px*var(--s));border-radius:50%;
  background:radial-gradient(ellipse 70% 80% at 50% 40%,color-mix(in srgb,var(--arch-1) 40%,#fff 60%),color-mix(in srgb,var(--arch-1) 75%,var(--arch-2) 25%) 60%,var(--arch-2) 100%);
  box-shadow:inset 0 -6px 14px -6px color-mix(in srgb,var(--arch-3) 60%,transparent),0 2px 0 rgba(255,255,255,.55)}
.podium__rim{position:absolute;left:1.5%;right:1.5%;top:calc(3px*var(--s));height:calc(104px*var(--s));border-radius:50%;border:1px solid rgba(255,255,255,.7);border-bottom-color:rgba(255,255,255,.15)}
.hp{position:absolute;left:var(--x);bottom:calc(var(--b)*var(--s));z-index:var(--z);width:0;height:calc(var(--h)*var(--s));margin:0;display:flex;justify-content:center;align-items:flex-end;will-change:transform}
.hp img{height:100%;width:auto;max-width:none;flex:none;position:relative;z-index:1;
  filter:drop-shadow(0 18px 18px color-mix(in srgb,var(--ink) 22%,transparent)) drop-shadow(0 2px 3px color-mix(in srgb,var(--ink) 25%,transparent));
  -webkit-box-reflect:below 0 linear-gradient(transparent 76%,rgba(255,255,255,.2));
  animation:hpFloat 7s ease-in-out infinite}
.hp:nth-of-type(2) img{animation-delay:-1.4s}.hp:nth-of-type(3) img{animation-delay:-2.8s}.hp:nth-of-type(4) img{animation-delay:-4.2s}.hp:nth-of-type(5) img{animation-delay:-5.6s;animation-duration:6s}
.hp__shadow{position:absolute;left:50%;bottom:calc(-7px*var(--s));width:calc(var(--h)*var(--s)*var(--a,.4)*1.35);height:calc(16px*var(--s));transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--ink) 55%,transparent),color-mix(in srgb,var(--ink) 18%,transparent) 60%,transparent);filter:blur(2px);animation:hpShadow 7s ease-in-out infinite;z-index:0}
.hp:nth-of-type(2) .hp__shadow{animation-delay:-1.4s}.hp:nth-of-type(3) .hp__shadow{animation-delay:-2.8s}.hp:nth-of-type(4) .hp__shadow{animation-delay:-4.2s}.hp:nth-of-type(5) .hp__shadow{animation-delay:-5.6s;animation-duration:6s}
@keyframes hpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(-7px*var(--s)))}}
@keyframes hpShadow{0%,100%{opacity:1;transform:translateX(-50%) scale(1)}50%{opacity:.72;transform:translateX(-50%) scale(.9)}}
@media (prefers-reduced-motion:reduce){.hp img,.hp__shadow,.arch__sweep{animation:none}}
@media (max-width:1200px){.stage{--s:.86}}
@media (max-width:980px){.stage{--s:.9}}
@media (max-width:640px){.stage{--s:.64}.podium{left:5%;right:5%}}

/* --- product pack images: white packshot blends into card tone --- */
.ph--pack .ph__img{mix-blend-mode:multiply;object-fit:contain;object-position:50% 50%}
.ph--pack .ph__img--alt{background:transparent}
.card__media:hover .ph--pack.ph--alt .ph__img:not(.ph__img--alt){opacity:0}
.ph--pack{background:var(--card-bg)}
.icard__inci{position:relative;display:block;margin-top:8px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--olive-2);opacity:.8;max-width:420px}

/* --- quick view: gallery + tabs --- */
.qgal{display:flex;flex-direction:column;gap:12px}
.qgal__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.qgal__thumb{aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--card-bg);border:2px solid transparent;padding:0;cursor:pointer;transition:border-color .3s,transform .3s}
.qgal__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.qgal__thumb:hover{transform:translateY(-2px)}
.qgal__thumb.is-on{border-color:var(--olive)}
.qtabs{position:relative;display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border-radius:999px;background:var(--cream-2);margin:4px 0 18px}
.qtab{position:relative;z-index:1;border:0;background:none;padding:9px 18px;border-radius:999px;font:600 14px/1 var(--sans);color:var(--muted);cursor:pointer;transition:color .3s}
.qtab.is-on{color:var(--cream)}
.qtabs__pill{position:absolute;left:0;top:4px;bottom:4px;border-radius:999px;background:var(--olive);transition:transform .45s var(--ease),width .45s var(--ease)}
.qpane{display:none}.qpane.is-on{display:block}
.qcomp{font-size:13px;line-height:1.65;color:var(--ink);opacity:.85;max-height:230px;overflow:auto;padding:14px 16px;border-radius:16px;background:var(--paper);border:1px solid var(--line);margin-bottom:8px!important}
.qcomp__note{display:block;font-size:11.5px;color:var(--muted);margin-bottom:22px}

/* --- about: contained arch frame --- */
.about__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,6vw,96px)}
.about__media{padding:0;display:flex;justify-content:center}
.about__frame{position:relative;width:100%;max-width:500px;aspect-ratio:4/5;border-radius:999px 999px 30px 30px;overflow:hidden;isolation:isolate;
  background:radial-gradient(circle at 50% 26%,rgba(255,255,255,.85),transparent 58%),linear-gradient(180deg,#f7f1e7,var(--sand-2));
  border:1px solid var(--line);box-shadow:0 50px 80px -50px color-mix(in srgb,var(--ink) 45%,transparent);
  display:flex;flex-direction:column;align-items:stretch;padding:0 20px 20px}
.about__frame::before{content:"";position:absolute;inset:10px;border-radius:999px 999px 22px 22px;border:1px solid rgba(255,255,255,.85);pointer-events:none;z-index:2}
.about__arch{order:1;flex:1;aspect-ratio:auto;width:auto;border-radius:0;background:none;box-shadow:none;padding:16% 0 0;gap:14px;justify-content:center}
.about__arch img{width:58%}
.about__arch span{font-size:20px;text-align:center}
.about__since{order:2;align-self:center;display:flex;align-items:baseline;gap:8px;margin:6px 0 14px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.about__since b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:20px;letter-spacing:0;color:var(--olive);text-transform:none}
.about__photo{order:3;position:relative;right:auto;bottom:auto;width:100%;margin:0;border:0;border-radius:20px;overflow:hidden;box-shadow:0 20px 40px -24px color-mix(in srgb,var(--ink) 50%,transparent);z-index:1}
.about__photo img{width:100%;aspect-ratio:2/1;object-fit:cover;transform:scale(1.14)}
.about__lead{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.05vw,30px);line-height:1.28;letter-spacing:-.005em;margin:14px 0 22px;color:var(--ink)}
.about__lead b{font-weight:600;color:var(--olive)}
.about__body p{font-size:16px;line-height:1.7;color:var(--muted);max-width:62ch}
.about__body p+p{margin-top:12px}
.about__sign{display:flex;flex-wrap:wrap;gap:20px 56px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.about__sign .motto,.founder{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;padding:0;border:0}
.founder span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}
.founder b,.about__sign .motto b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;line-height:1.1;color:var(--olive)}
@media (max-width:980px){.about__grid{grid-template-columns:minmax(0,1fr)}.about__frame{max-width:440px}}
@media (max-width:640px){.about__frame{max-width:340px;padding:0 14px 14px}.about__arch span{font-size:16px}.about__lead{font-size:21px}.about__body p{font-size:15px}.founder b,.about__sign .motto b{font-size:23px}.about__sign{gap:16px 34px}}

/* --- marketplaces: 5 cards --- */
.mps{grid-template-columns:repeat(5,minmax(0,1fr))}
.mp img{background:#fff}
@media (max-width:1200px){.mps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.mps{grid-template-columns:repeat(2,minmax(0,1fr))}.mps .mp:last-child{grid-column:1/-1;justify-content:center}}

/* --- reviews slider --- */
.reviews{padding:130px 0 110px;overflow:hidden}
.reviews__head{margin-bottom:26px}
.reviews__side{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.reviews__side .sec-lead{text-align:right}
.reviews__nav{display:flex;gap:10px}
.rnav{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:18px;cursor:pointer;transition:background .3s,color .3s,transform .3s}
.rnav:hover{background:var(--olive);color:var(--cream);transform:translateY(-2px)}
.reviews__rating{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:34px}
.reviews__rating span{font-size:13.5px;padding:8px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
.reviews__rating b{color:var(--ink);margin-right:4px}
.reviews__rating small{font-size:12px;color:var(--muted);margin-left:6px}
.revs2{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-inline:max(32px,calc((100vw - 1320px)/2))}
.revs2::-webkit-scrollbar{display:none}
.revs2__track{display:flex;gap:24px;width:max-content;padding:10px max(32px,calc((100vw - 1320px)/2)) 34px}
.rev2{flex:0 0 auto;width:390px;scroll-snap-align:start;display:flex;flex-direction:column;gap:16px;padding:28px 28px 24px;border-radius:26px;background:var(--paper);border:1px solid var(--line);box-shadow:0 30px 50px -40px color-mix(in srgb,var(--ink) 50%,transparent);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.rev2:hover{transform:translateY(-4px);box-shadow:0 40px 60px -40px color-mix(in srgb,var(--ink) 60%,transparent)}
.rev2__top{display:flex;justify-content:space-between;align-items:center}
.rev2__stars{color:#e0a326;letter-spacing:3px;font-size:17px}
.rev2__src{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:5px 11px;border-radius:999px;color:#fff;background:var(--olive)}
.rev2__src--wb{background:linear-gradient(135deg,#cb11ab,#6d1aa5)}
.rev2__src--ozon{background:#005bff}.rev2__src--ym{background:#fc0;color:#111}
.rev2__text{flex:1;margin:0;font-size:15.5px;line-height:1.6;color:var(--ink);position:relative;padding-top:20px}
.rev2__text::before{content:"“";position:absolute;left:-4px;top:-14px;font-family:var(--serif);font-size:58px;line-height:1;color:var(--olive);opacity:.35}
.rev2__who{display:flex;align-items:center;gap:12px}
.rev2__ava{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--olive);font-family:var(--serif);font-style:italic;font-size:20px}
.rev2__who b{display:block;font-size:15px}
.rev2__who small{color:var(--muted);font-size:12.5px}
.rev2__prod{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0 0;border:0;border-top:1px solid var(--line);background:none;text-align:left;font:600 13px/1.35 var(--sans);color:var(--ink);cursor:pointer}
.rev2__prod img{width:38px;height:50px;object-fit:contain;border-radius:8px;background:var(--card-bg);mix-blend-mode:multiply;flex:none}
button.rev2__prod:hover span{color:var(--olive);text-decoration:underline;text-underline-offset:3px}
.rev2__link{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.rev2__link:hover{color:var(--olive)}
.revs2__dots{display:flex;justify-content:center;gap:8px}
.revs2__dots button{width:8px;height:8px;border-radius:8px;border:0;padding:0;background:color-mix(in srgb,var(--ink) 20%,transparent);cursor:pointer;transition:width .4s var(--ease),background .4s}
.revs2__dots button.is-on{width:28px;background:var(--olive)}
@media (max-width:980px){.reviews__side{align-items:flex-start}.reviews__side .sec-lead{text-align:left}}
@media (max-width:640px){.reviews{padding:90px 0 80px}.revs2{scroll-padding-inline:20px}.revs2__track{padding:6px 20px 28px;gap:14px}.rev2{width:min(84vw,360px);padding:22px 20px 20px}.rev2__text{font-size:15px}.rnav{width:44px;height:44px}}

/* --- footer: 5 columns --- */
.footer__top{grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:36px}
@media (max-width:980px){.footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__brand{grid-column:1/-1}}
@media (max-width:640px){.footer__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media (max-width:640px){.footer__col a[href^="mailto:"]{overflow-wrap:normal;font-size:14px}}

@media (max-width:640px){.reviews__rating{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding-inline:20px;gap:8px}.reviews__rating::-webkit-scrollbar{display:none}.reviews__rating span{flex:none;font-size:12.5px;padding:7px 12px}.reviews__rating small{flex:none}}

/* --- stats row: 5 items, featured «продано» --- */
.counters{grid-template-columns:1.55fr repeat(4,minmax(0,1fr));align-items:end}
.counter b{font-size:clamp(54px,5.6vw,84px);white-space:nowrap}
.counter--hero b{font-size:clamp(64px,6.6vw,104px);background:linear-gradient(120deg,var(--olive),color-mix(in srgb,var(--olive) 55%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}
.counter--hero span{display:block;color:var(--ink);font-weight:600}
.counter--hero small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
@media (max-width:980px){.counters{grid-template-columns:repeat(2,minmax(0,1fr))}.counter--hero{grid-column:1/-1;padding-left:0;border-left:0}.counter:nth-child(2),.counter:nth-child(4){border-left:0;padding-left:0}.counter:nth-child(3){border-left:1px solid var(--line);padding-left:30px}}
@media (max-width:640px){.counter:nth-child(3),.counter:nth-child(5){padding-left:18px}}

/* --- delivery: 6 cards with carrier logos --- */
.deliv{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dcard{display:flex;flex-direction:column;align-items:flex-start;padding:28px 28px 26px}
.dcard__logo{height:64px;display:flex;align-items:center;margin-bottom:26px}
.dcard__logo img{display:block;width:auto;max-width:100%;object-fit:contain}
.dcard__logo--wide img{height:30px}
.dcard__logo--tile img{height:58px}
.dcard__logo--round img{height:52px}
.dcard--ozon .dcard__logo img{height:26px}
.dcard h4{font-size:26px}
.dcard p{display:block;margin-top:8px;color:var(--muted);font-size:14.5px;line-height:1.5;flex:1}
.dcard__tag{margin-top:18px;font-size:12px;letter-spacing:.06em;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--cream-2);color:var(--muted)}
.dcard__tag--free{background:color-mix(in srgb,var(--olive) 12%,transparent);color:var(--olive)}
@media (max-width:980px){.deliv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dcard{padding:20px 16px}.dcard__logo{height:46px;margin-bottom:16px}.dcard__logo--wide img{height:20px}.dcard--ozon .dcard__logo img{height:18px}.dcard__logo--tile img{height:42px}.dcard__logo--round img{height:40px}.dcard h4{font-size:20px}.dcard p{font-size:13px}.dcard__tag{font-size:11px;padding:5px 10px}}

/* --- checkout shipping options with logos --- */
.opt--ship .opt__box b{align-items:center}
.opt__name{display:flex;align-items:center;gap:10px}
.opt__logo{height:22px;width:auto;max-width:76px;object-fit:contain;flex:none}
.opt__logo--tile,.opt__logo--round{height:26px}
.opt__price{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.opt__price.is-free{color:var(--olive)}
.ship{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.ship{grid-template-columns:1fr}}

.counters{align-items:baseline}
.counter span{display:block;line-height:1.45;margin-top:6px}

.opt__top{display:flex;align-items:center;justify-content:space-between;gap:10px;height:28px;margin-bottom:6px}
.opt--ship .opt__logo{height:20px;max-width:150px}
.opt--ship .opt__logo--tile,.opt--ship .opt__logo--round{height:28px}
.opt__price{padding:3px 9px;border-radius:999px;background:var(--cream-2)}
.opt__price.is-free{background:color-mix(in srgb,var(--olive) 12%,transparent)}
.opt--ship .opt__box::before{top:22px}
.opt--ship .opt__logo{max-width:112px;min-width:0;flex:0 1 auto}
.opt__price{flex:none}
@media (max-width:640px){.opt--ship .opt__logo{max-width:170px}}
/* кнопка «Музыка» теперь одна в левом нижнем углу (переключатель сезона убран) — подсказки выравниваем по левому краю */
.demo-dock .music-hint{left:0;margin-left:0}
.demo-dock .music-hint::after{left:26px}
.demo-dock .music-btn::after{left:0;transform:translate(0,6px)}
.demo-dock .music-btn:hover::after,.demo-dock .music-btn:focus-visible::after{transform:translate(0,0)}
@media (max-width:640px){.demo-dock .music-hint{margin-left:0}.demo-dock .music-hint::after{left:20px}}

/* оформление заказа: ошибка отправки, состояние загрузки, ловушка для ботов */
.co__err{margin:16px 0 0;padding:12px 14px;border-radius:14px;background:#f7e1df;color:#9b2c2c;font-size:14px;line-height:1.45;font-weight:600}
.co__err[hidden]{display:none}
.btn.is-busy{opacity:.75;cursor:progress}
.co__trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none;white-space:nowrap}
/* аварийный показ hero, если вступительная анимация не отработала (см. index.html) */
html.hero-failsafe .hero-bottle,html.hero-failsafe .hero-fade,html.hero-failsafe .hero-chip{opacity:1!important}
html.hero-failsafe .hero-fade,html.hero-failsafe .hero__title .ch{transform:none!important}
html.hero-failsafe .hero-arch{clip-path:none!important}

/* согласие с офертой в оформлении заказа */
.agree{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:13.5px;line-height:1.45;color:var(--muted);cursor:pointer}
.agree input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--olive);cursor:pointer}
.agree a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.agree.err{color:#9b2c2c}.agree.err input{outline:2px solid #9b2c2c;outline-offset:2px}
/* ссылки на документы в подвале */
.footer__legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer__legal a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--cream) 30%,transparent)}
.footer__legal a:hover{color:#fff}
/* уведомление о cookie */
.cookie{position:fixed;right:20px;bottom:20px;z-index:290;max-width:420px;display:flex;gap:14px;align-items:center;padding:14px 16px 14px 18px;border-radius:18px;background:var(--ink);color:color-mix(in srgb,var(--cream) 88%,transparent);font:500 13px/1.45 var(--sans);box-shadow:0 14px 40px rgba(0,0,0,.25)}
.cookie a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie button{flex:none;font:700 13px/1 var(--sans);padding:11px 16px;border-radius:999px;border:0;background:var(--cream);color:var(--ink);cursor:pointer}
.cookie button:hover{background:#fff}
@media (max-width:640px){.cookie{left:10px;right:10px;bottom:10px;max-width:none;padding:12px 12px 12px 14px;font-size:12.5px}}

/* ingredient cards → catalog filter (плашки «Состав» ведут в каталог) */
.ingredients__hint{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:14px;font-weight:600;color:var(--olive-2)}
.ingredients__hint i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;border:1px solid var(--line);background:var(--paper)}
.icard__top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.icard__cta{display:inline-flex;align-items:center;gap:10px;padding:7px 7px 7px 15px;border-radius:999px;font-size:13px;font-weight:700;color:var(--olive);background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px -10px color-mix(in srgb,var(--ink) 45%,transparent);white-space:nowrap;transition:background .4s var(--ease),color .4s var(--ease)}
.icard__cta i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:var(--olive);color:var(--cream);transition:transform .45s var(--ease)}
.icard--link{cursor:pointer;transition:translate .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);-webkit-tap-highlight-color:transparent}
.icard--link::before{transition:transform .8s var(--ease),opacity .5s}
.icard--link:hover{translate:0 -6px;border-color:color-mix(in srgb,var(--c) 75%,transparent);box-shadow:0 -20px 50px -30px color-mix(in srgb,var(--ink) 25%,transparent),0 26px 60px -28px color-mix(in srgb,var(--c) 90%,transparent)}
.icard--link:hover::before{transform:scale(1.12);opacity:1}
.icard--link:hover .icard__cta{background:var(--paper)}
.icard--link:hover .icard__cta i{transform:translateX(3px) rotate(-45deg)}
.icard--link:active{translate:0 -2px}
.icard--link:focus-visible{outline:2px solid color-mix(in srgb,var(--c) 60%,var(--ink));outline-offset:4px}
.ingbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;width:fit-content;max-width:100%;margin:-8px 0 30px;padding:8px 8px 8px 18px;border-radius:999px;background:color-mix(in srgb,var(--c) 26%,var(--paper));border:1px solid color-mix(in srgb,var(--c) 70%,transparent)}
.ingbar[hidden]{display:none}
.ingbar.is-pop{animation:ingPop .7s var(--ease)}
@keyframes ingPop{0%{opacity:0;transform:translateY(-8px) scale(.96)}100%{opacity:1;transform:none}}
.ingbar__dot{width:12px;height:12px;border-radius:50%;flex:none;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 35%,transparent)}
.ingbar__t{font-size:14px;color:var(--olive-2)}
.ingbar__t b{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink)}
.ingbar__t small{margin-left:10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ingbar__reset{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--olive);color:var(--cream);font-size:13px;font-weight:700;transition:background .3s}
.ingbar__reset i{font-style:normal;font-size:16px;line-height:1}
.ingbar__reset:hover{background:var(--olive-2)}
.ingbar__reset:focus-visible,.grid__empty button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
.grid__empty{grid-column:1/-1;padding:50px 20px;text-align:center;color:var(--muted)}
.grid__empty button{margin-left:6px;font-weight:700;color:var(--olive);text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){
  .icard__cta{font-size:12px;padding:5px 5px 5px 12px;gap:8px}
  .icard__cta i{width:24px;height:24px}
  .icard__cta-l{display:none}
  .ingbar{width:100%;flex-wrap:nowrap;gap:12px;border-radius:20px;margin:-6px 0 24px;padding:10px 10px 10px 14px}
  .ingbar__t{flex:1;min-width:0;font-size:13px;line-height:1.3}
  .ingbar__t b{display:block;font-size:19px}
  .ingbar__t small{display:block;margin:2px 0 0;font-size:11px}
  .ingbar__reset{flex:none;padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){.icard--link,.icard--link::before,.ingbar.is-pop{transition:none;animation:none}}

/* счётчики — ссылки на разделы (вид прежний) */
a.counter{display:block;color:inherit;text-decoration:none;cursor:pointer}
a.counter span{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .25s,text-decoration-color .25s}
a.counter:hover span{color:var(--ink);text-decoration-color:currentColor}
a.counter:focus-visible{outline:2px solid var(--olive);outline-offset:6px;border-radius:6px}
