@font-face{font-family:'Lora';src:url('../fonts/Lora-Variable.woff') format('woff');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('../fonts/Lora-Italic-Variable.woff') format('woff');font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:'Oswald';src:url('../fonts/Oswald-Variable.woff') format('woff'),url('../fonts/Oswald-Variable.ttf') format('truetype');font-weight:200 700;font-display:swap}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--ff:'Lora',Georgia,'Times New Roman',serif;--bg:#07060d;--ink:#f1ecfb;--mute:rgba(230,222,250,.68);--line:rgba(255,255,255,.14);
  --a:#7b4bff;--a2:#f1d98a;--d:#0a1a78;--hh:68px}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ff);font-weight:400;color:var(--ink);line-height:1.65;min-height:100vh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--d) 0,var(--bg) 78vh) no-repeat,var(--bg);background-attachment:scroll}
body.themed{transition:background .6s}
main{flex:1}
img,video{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--a2);outline-offset:3px}
.wrap{width:min(1180px,100% - 36px);margin-inline:auto}
@media (min-width:600px){.wrap{width:min(1180px,100% - 64px)}}
h1,h2,h3{font-weight:500;text-transform:uppercase;letter-spacing:.08em;line-height:1.1}
.kicker{font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--a2)}
.btn{display:inline-block;padding:13px 30px;border:1px solid var(--a);background:linear-gradient(135deg,var(--a),color-mix(in srgb,var(--a) 55%,#000));
  color:#fff;text-decoration:none;font:500 14px var(--ff);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform .2s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px var(--a)}
.btn.ghost{background:none;border-color:var(--line)}
.btn.ghost:hover{border-color:var(--a2);box-shadow:none}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top);transition:background .3s,backdrop-filter .3s}
.hdr.solid{background:rgba(7,6,13,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr .wrap{height:var(--hh);display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-size:22px;font-weight:600;letter-spacing:.34em;text-decoration:none;text-transform:uppercase}
.nav{display:flex;gap:6px}
.nav a{position:relative;padding:8px 14px;text-decoration:none;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);transition:color .2s}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--a);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.nav a:hover,.nav a.on{color:#fff}.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative}
.burger i,.burger i::before,.burger i::after{position:absolute;left:11px;right:11px;height:2px;background:#fff;content:"";transition:.3s}
.burger i{top:21px}.burger i::before{left:0;right:0;top:-7px}.burger i::after{left:0;right:0;top:7px}
.menu-open .burger i{background:none}.menu-open .burger i::before{top:0;transform:rotate(45deg)}.menu-open .burger i::after{top:0;transform:rotate(-45deg)}
@media (max-width:820px){
  .burger{display:block}
  .nav{position:fixed;inset:calc(var(--hh) + env(safe-area-inset-top)) 0 0 0;background:rgba(7,6,13,.96);flex-direction:column;justify-content:center;align-items:center;gap:14px;
    opacity:0;visibility:hidden;transition:.3s}
  .nav a{font-size:20px}
  .menu-open .nav{opacity:1;visibility:visible}
}

/* ---------- hero slideshow ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:520px;overflow:hidden;background:var(--d)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 0s 1.1s}
.slide.on{opacity:1;visibility:visible;transition:opacity 1.1s ease}
.s-bg{position:absolute;inset:-4%;background:var(--d)}
.s-bg img,.s-bg video{width:100%;height:100%;object-fit:cover;filter:saturate(1.15) blur(1.5px)}
.s-bg .fallback{position:absolute;inset:0;background:radial-gradient(60% 70% at 70% 35%,var(--a),transparent 70%),radial-gradient(50% 60% at 20% 80%,var(--a2),transparent 70%),var(--d);opacity:.9}
.slide.on .s-bg,.slide.out .s-bg{animation:kb 14s ease-out forwards}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.s-tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.25) 55%,rgba(0,0,0,.05)),linear-gradient(0deg,var(--bg) 0,transparent 35%);
  mix-blend-mode:normal}
.s-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--a) 38%,transparent),color-mix(in srgb,var(--d) 55%,transparent));mix-blend-mode:multiply}
.s-body{position:absolute;left:0;right:0;bottom:14vh;padding-inline:max(18px,calc((100% - 1180px)/2))}
@media (min-width:600px){.s-body{padding-inline:max(32px,calc((100% - 1180px)/2))}}
.s-body>*{opacity:0;transform:translateY(26px)}
.slide.on .s-body>*,.slide.out .s-body>*{animation:up .9s cubic-bezier(.2,.7,.2,1) forwards}
.slide.on .s-body>:nth-child(2),.slide.out .s-body>:nth-child(2){animation-delay:.15s}.slide.on .s-body>:nth-child(3),.slide.out .s-body>:nth-child(3){animation-delay:.3s}.slide.on .s-body>:nth-child(4),.slide.out .s-body>:nth-child(4){animation-delay:.45s}
@keyframes up{to{opacity:1;transform:none}}
.s-body h1{font-size:clamp(44px,11vw,150px);font-weight:600;letter-spacing:.06em;margin:10px 0 12px;
  background:linear-gradient(180deg,#fff 30%,var(--a2));-webkit-background-clip:text;background-clip:text;color:transparent}
.s-body p{max-width:520px;font-size:clamp(15px,2vw,19px);color:rgba(255,255,255,.82);margin-bottom:26px}
.h-ctrl{position:absolute;left:0;right:0;bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;
  padding-inline:max(18px,calc((100% - 1180px)/2))}
@media (min-width:600px){.h-ctrl{padding-inline:max(32px,calc((100% - 1180px)/2))}}
.dot{flex:0 1 64px;height:26px;background:none;border:0;cursor:pointer;position:relative}
.dot::before{content:"";position:absolute;left:0;right:0;top:12px;height:2px;background:rgba(255,255,255,.28)}
.dot::after{content:"";position:absolute;left:0;top:12px;height:2px;width:0;background:var(--a2)}
.dot.on::after{width:100%;transition:width var(--dur,6.5s) linear}
.dot.done::after{width:100%}
.arr{margin-left:auto;display:flex;gap:8px}
.arr button{width:44px;height:44px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:#fff;font-size:18px;cursor:pointer;transition:.2s}
.arr button:hover{border-color:var(--a2);background:var(--a)}
.smoke{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.5}
.smoke i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;background:radial-gradient(circle,var(--a2),transparent 62%);filter:blur(60px);animation:drift 24s ease-in-out infinite alternate}
.smoke i:nth-child(1){left:-20vmax;top:-10vmax}.smoke i:nth-child(2){right:-25vmax;bottom:-25vmax;animation-delay:-9s;background:radial-gradient(circle,var(--a),transparent 62%)}
@keyframes drift{to{transform:translate(12vmax,8vmax) scale(1.2)}}

/* ---------- sections ---------- */
.sec{padding:clamp(56px,9vw,110px) 0}
.sec h2{font-size:clamp(28px,5vw,52px);margin:10px 0 18px}
.lead{font-size:clamp(17px,2.2vw,22px);color:var(--mute);max-width:720px}
.prose p{margin-bottom:1.1em;max-width:720px;color:rgba(240,235,252,.86)}
.page-head{padding:calc(var(--hh) + clamp(48px,9vw,110px)) 0 clamp(20px,4vw,40px)}
.page-head h1{font-size:clamp(38px,8vw,92px);font-weight:600;margin:10px 0 14px}

/* ---------- product cards ---------- */
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;text-decoration:none;isolation:isolate;border:1px solid var(--line);background:var(--d)}
.card .c-bg{position:absolute;inset:0;z-index:-2;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.card .c-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.2)}
.card .c-bg.nofile{background:linear-gradient(160deg,var(--a),var(--d))}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--a) 25%,transparent) 0,rgba(0,0,0,.15) 40%,color-mix(in srgb,var(--d) 92%,#000) 100%)}
.card:hover .c-bg{transform:scale(1.08)}
.card .c-in{position:absolute;left:22px;right:22px;bottom:22px}
.card .c-sub{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--a2)}
.card h3{font-size:clamp(26px,3vw,36px);font-weight:600;margin:4px 0 12px}
.card .c-go{display:inline-flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.25em;text-transform:uppercase;transition:gap .3s}
.card:hover .c-go{gap:18px}
.card .c-swatch{position:absolute;top:18px;right:18px;display:flex;gap:5px}
.card .c-swatch i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.5)}

/* ---------- product page ---------- */
.p-hero{position:relative;min-height:88vh;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.p-hero .p-bg{position:absolute;inset:0;z-index:-2}
.p-hero .p-bg img,.p-hero .p-bg video{width:100%;height:100%;object-fit:cover;filter:saturate(1.2) blur(2px);transform:scale(1.04)}
.p-hero .p-bg.nofile{background:radial-gradient(60% 70% at 75% 30%,var(--a),transparent 70%),var(--d)}
.p-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.05) 70%),linear-gradient(0deg,var(--d) 0,transparent 45%)}
.p-hero .wrap{padding-bottom:clamp(36px,7vw,80px)}
.p-hero h1{font-size:clamp(48px,13vw,170px);font-weight:600;letter-spacing:.05em;line-height:.95;margin:10px 0 14px;
  background:linear-gradient(180deg,#fff 25%,var(--a2));-webkit-background-clip:text;background-clip:text;color:transparent}
.cols{display:grid;gap:clamp(24px,5vw,64px);grid-template-columns:1fr}
@media (min-width:860px){.cols{grid-template-columns:1.4fr 1fr}}
.pal{display:grid;gap:12px;align-content:start}
.pal div{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.pal i{width:56px;height:56px;border:1px solid var(--line);flex:none}
.pal b{display:block;font-weight:400;color:#fff;letter-spacing:.12em}
.gal{columns:1;column-gap:14px}
@media (min-width:560px){.gal{columns:2}}@media (min-width:980px){.gal{columns:3}}
.gal figure{break-inside:avoid;margin-bottom:14px;position:relative;cursor:zoom-in;overflow:hidden;border:1px solid var(--line)}
.gal img,.gal video{width:100%;transition:transform .6s}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;font-size:13px;letter-spacing:.08em;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}
.empty{padding:34px;border:1px dashed var(--line);color:var(--mute);text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--line);text-decoration:none;font-size:13px;letter-spacing:.18em;text-transform:uppercase;transition:.25s}
.chip i{width:12px;height:12px;border-radius:50%;background:var(--a)}
.chip:hover,.chip.on{border-color:var(--a);background:color-mix(in srgb,var(--a) 22%,transparent)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px}
.lb.on{display:flex}.lb img,.lb video{max-width:100%;max-height:88vh}
.lb button{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:44px;height:44px;background:none;border:1px solid var(--line);color:#fff;font-size:22px;cursor:pointer}

/* ---------- about / contacts ---------- */
.facts{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:40px 0}
.facts div{padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.facts b{display:block;font-size:clamp(34px,5vw,54px);font-weight:600;color:var(--a2);line-height:1.1}
.facts span{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.form{display:grid;gap:14px}
.form label{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);display:grid;gap:6px}
.form input,.form textarea{font:300 16px var(--ff);color:#fff;background:rgba(255,255,255,.05);border:1px solid var(--line);padding:13px 14px;width:100%}
.form textarea{min-height:140px;resize:vertical}
.clist{list-style:none;display:grid;gap:18px}
.clist li small{display:block;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--a2)}
.clist a{text-decoration:none;font-size:20px}.clist a:hover{color:var(--a2)}

/* ---------- footer ---------- */
.ftr{margin-top:60px;border-top:1px solid var(--line);background:rgba(0,0,0,.35);padding:44px 0 max(28px,env(safe-area-inset-bottom))}
.ftr .wrap{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ftr h4{font-size:12px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--a2);margin-bottom:12px}
.ftr a{display:block;text-decoration:none;color:var(--mute);padding:3px 0;font-size:15px}.ftr a:hover{color:#fff}
.ftr .f-logo{font-size:24px;font-weight:600;letter-spacing:.3em;color:#fff;margin-bottom:8px}
.ftr small{display:block;color:rgba(230,222,250,.45);font-size:12px;letter-spacing:.05em}
.ftr .copy{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line)}
.err{padding:140px 20px;text-align:center;color:var(--mute)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.s-body>*{opacity:1;transform:none}}

/* ---------- глянцевый / матовый фон (без текстуры) ---------- */
.fx{position:absolute;inset:0;overflow:hidden;
  background:
    radial-gradient(85% 60% at 80% 6%,color-mix(in srgb,var(--a2) 80%,transparent) 0,transparent 62%),
    radial-gradient(90% 70% at 8% 100%,color-mix(in srgb,var(--a) 55%,var(--d)) 0,transparent 70%),
    linear-gradient(165deg,var(--a) 0,color-mix(in srgb,var(--a) 42%,var(--d)) 55%,var(--d) 100%)}
.fx::before,.fx::after{content:"";position:absolute;pointer-events:none}
.fx.gloss::before{inset:-20% -30%;background:linear-gradient(118deg,transparent 30%,rgba(255,255,255,.22) 41%,rgba(255,255,255,.05) 48%,transparent 57%);animation:sheen 14s ease-in-out infinite alternate}
.fx.gloss::after{inset:0;background:radial-gradient(60% 32% at 28% 0,rgba(255,255,255,.17),transparent 70%)}
.fx.matte::before{inset:0;background:radial-gradient(70% 50% at 50% 18%,rgba(255,255,255,.09),transparent 70%)}
@keyframes sheen{from{transform:translateX(-10%)}to{transform:translateX(10%)}}
.fx svg{position:absolute;inset:0;width:100%;height:100%}
.fx path{fill:none}
.fx .band{stroke:var(--d);stroke-width:9;opacity:.6;filter:url(#fxb)}
.fx .ln{stroke:var(--a2);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.9}
.s-bg:has(.fx)::after{display:none}
.s-bg .fx{position:absolute}

/* ---------- пачки поверх фона ---------- */
.pack-ph{aspect-ratio:.64;position:relative;border-radius:5px;display:grid;place-items:center;overflow:hidden;container-type:inline-size;
  background:linear-gradient(160deg,#fff 0,var(--a2) 7%,var(--a) 44%,var(--d) 100%);border:1px solid rgba(255,255,255,.5);color:#fff}
.pack-ph::before{content:"";position:absolute;left:0;right:0;top:24%;height:2px;background:rgba(255,255,255,.55)}
.pack-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 35%,rgba(255,255,255,.28) 46%,transparent 58%)}
.pack-ph b{font-weight:600;font-size:13cqw;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:0 8%;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.pk,.s-pack{filter:drop-shadow(0 26px 30px rgba(0,0,0,.55))}
.c-pack{position:absolute;left:0;right:0;top:12%;height:50%;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}
.c-pack .pk{height:calc(100% * var(--k,1));width:auto;transform:rotate(-5deg);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card:hover .c-pack .pk{transform:rotate(0) translateY(-10px) scale(1.04)}
.s-pack{position:absolute;z-index:1;right:max(7%,calc((100% - 1180px)/2 + 40px));bottom:16vh;height:min(62vh,620px);width:auto;opacity:0}
.slide.on .s-pack,.slide.out .s-pack{animation:packin 1.1s .2s cubic-bezier(.2,.7,.2,1) forwards,float 7s 1.4s ease-in-out infinite}
@keyframes packin{from{opacity:0;transform:translateY(40px) rotate(9deg)}to{opacity:1;transform:translateY(0) rotate(4deg)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-14px) rotate(2deg)}}
.s-body{z-index:2}
@media (max-width:760px){.s-pack{right:auto;left:50%;margin-left:calc(min(34vh,300px) * .32 * -1);bottom:auto;top:calc(var(--hh) + 14px);height:min(34vh,300px)}}

/* ---------- страница продукта: пачка и переключатель размера ---------- */
.p-hero{padding-top:calc(var(--hh) + 20px)}
.p-grid{display:grid;gap:26px;align-items:end;grid-template-columns:1fr}
.p-pack{display:flex;justify-content:center;align-items:flex-end;height:min(34vh,320px);order:-1;transition:opacity .22s,transform .22s}
.p-pack.swap{opacity:0;transform:translateY(14px) scale(.96)}
.p-pack .pk{height:calc(100% * var(--k,1));width:auto;animation:float 7s ease-in-out infinite}
@media (min-width:860px){.p-grid{grid-template-columns:1.05fr .95fr}.p-pack{order:0;height:min(66vh,640px)}}
.seg{display:inline-flex;gap:4px;padding:4px;margin-bottom:24px;border:1px solid var(--line);background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.seg button{font:400 13px var(--ff);letter-spacing:.22em;text-transform:uppercase;color:#fff;background:none;border:0;padding:11px 22px;cursor:pointer;transition:background .25s}
.seg button:hover{background:rgba(255,255,255,.12)}
.seg button[aria-pressed=true]{background:var(--a)}
.p-note{color:rgba(255,255,255,.82);margin-bottom:22px;min-height:1.65em}

/* ---------- фото в шапке: слайдшоу и масштаб ---------- */
.hs{position:absolute;inset:0;background:var(--d);overflow:hidden}
.hs-i{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease}
.hs-i.on{opacity:1}
.hs-i img,.hs-i video{width:100%;height:100%;transition:transform .6s}
.hs .dim{position:absolute;inset:0;background:rgba(0,0,0,var(--dim,.25))}
.p-hero .p-bg img,.p-hero .p-bg video,.s-bg img,.s-bg video{filter:saturate(1.08)}
.p-hero .p-bg img,.p-hero .p-bg video{transform:none}
.s-bg:has(.hs)::after{opacity:.3}
.p-hero::before{background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.02) 70%),linear-gradient(0deg,var(--d) 0,transparent 40%)}
.c-pack .pk,.p-pack .pk{height:calc(100% * var(--k,1) * var(--sc,1))}
.s-pack{height:calc(min(62vh,620px) * var(--sc,1))}
@media (max-width:760px){.s-pack{height:calc(min(34vh,300px) * var(--sc,1));margin-left:calc(min(34vh,300px) * var(--sc,1) * .32 * -1)}}

/* масштаб пачки: растёт на месте вокруг центра, ничего не смещается */
.c-pack,.p-pack{align-items:center}
.c-pack .pk,.p-pack .pk{height:calc(100% * var(--k,1));scale:var(--sc,1);transform-origin:center}
.s-pack{height:min(62vh,620px);scale:var(--sc,1);transform-origin:center}
@media (max-width:760px){.s-pack{height:min(34vh,300px);margin-left:calc(min(34vh,300px) * .32 * -1)}}

/* пачки: пропорции не искажаются на любом экране, нажатия проходят сквозь картинку */
.p-pack,.p-pack .pk,.c-pack,.c-pack .pk,.s-pack{pointer-events:none}
.p-text{position:relative;z-index:3}
.p-pack img.pk,.c-pack img.pk{width:100%;max-width:none;height:calc(100% * var(--k,1));object-fit:contain}
.p-pack .pack-ph.pk,.c-pack .pack-ph.pk{width:auto}
img.s-pack{width:min(42vw,560px);max-width:none;object-fit:contain}
.s-pack.pack-ph{width:auto}
@media (max-width:760px){
  .s-pack{margin-left:0;translate:-50% 0}
  img.s-pack{width:min(84vw,380px)}
}

/* ---------- мобильное меню: сплошной чёрный экран, страница под ним не прокручивается ---------- */
body.menu-open{overflow:hidden}
html:has(body.menu-open){overflow:hidden}
.menu-open .hdr,.menu-open .hdr.solid{background:#000;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:rgba(255,255,255,.12)}
@media (max-width:820px){
  .nav{background:#000;overscroll-behavior:contain;touch-action:none}
}

/* ---------- компактный подвал ---------- */
.ftr{margin-top:44px;padding:34px 0 max(22px,env(safe-area-inset-bottom))}
@media (max-width:640px){
  .ftr{margin-top:30px;padding:22px 0 max(16px,env(safe-area-inset-bottom))}
  .ftr .wrap{grid-template-columns:1fr 1fr;gap:16px 14px}
  .f-brand{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  .ftr .f-logo{font-size:19px;margin:0}
  .f-contacts{grid-column:1/-1}
  .f-contacts a{display:inline-block;margin-right:16px}
  .ftr h4{margin-bottom:4px;font-size:11px}
  .ftr a{font-size:14px;padding:2px 0}
  .ftr .copy{padding-top:12px;margin-top:2px}
}

/* ---------- настройки карточки ---------- */
.c-bg .c-dim{position:absolute;inset:0;background:rgba(0,0,0,var(--dim,0))}
.c-pack.pos-top{top:8%}.c-pack.pos-center{top:22%}.c-pack.pos-low{top:34%}
.doc{padding:24px;margin-bottom:18px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.doc h2{font-size:clamp(18px,4.6vw,24px);margin-bottom:12px}

/* ---------- меню открывается сразу и сплошным чёрным, без «проявления» ---------- */
@media (max-width:820px){
  .nav,.menu-open .nav{transition:none!important}
}
.menu-open .hdr,.hdr.solid{transition:none}

/* ---------- компактнее на телефоне: шапка страниц, контакты ---------- */
.clist{gap:14px}
@media (max-width:640px){
  .page-head{padding-top:calc(var(--hh) + 34px);padding-bottom:12px}
  .page-head h1{margin:6px 0 8px}
  .clist{gap:11px}
  .clist li small{font-size:11px;line-height:1.3}
  .clist a,.clist li{font-size:17px;line-height:1.35}
  .form{gap:10px}
  .cols{gap:22px}
  section.wrap.cols{padding-bottom:6px!important}
}

/* ---------- блоки на главной ---------- */
.blk{padding:clamp(44px,8vw,96px) 0}
.blk.tone-panel{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border-block:1px solid var(--line)}
.blk.tone-accent{background:linear-gradient(135deg,color-mix(in srgb,var(--a) 30%,transparent),color-mix(in srgb,var(--d) 70%,transparent))}
.blk-in{display:grid;gap:clamp(24px,5vw,72px);align-items:center;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){
  .blk.side-right .blk-in,.blk.side-left .blk-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .blk.side-left .b-media{order:-1}
}
.blk.side-top .blk-in{justify-items:center;text-align:center}
.blk.side-top .b-media{order:-1;width:100%;max-width:980px}
.blk.side-top .b-text,.blk.side-none .b-text{max-width:760px}
.blk.side-top .prose,.blk.side-none .prose{margin-inline:auto}
.blk.side-none .blk-in{justify-items:start}
.b-title{font-size:clamp(28px,5vw,54px);margin:10px 0 18px}
.b-text .prose{margin-bottom:20px}
.b-text .prose p{color:rgba(240,235,252,.86);max-width:620px}
.b-media{position:relative}
.b-media.frame{aspect-ratio:var(--r,4/5);overflow:hidden;border:1px solid var(--line);border-radius:6px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.b-media.frame.auto{aspect-ratio:auto}
.b-media .b-in{position:absolute;inset:0;transform:translateY(calc(var(--py,0) * 1px))}
.b-media.par .b-in{inset:-9% 0}
.b-media.auto .b-in{position:static;transform:none}
.b-media img,.b-media video{width:100%;height:100%;object-fit:cover}
.b-media.auto img,.b-media.auto video{height:auto}
.b-media.free{aspect-ratio:var(--r,4/5)}
.b-media.free img,.b-media.free video{filter:drop-shadow(0 28px 34px rgba(0,0,0,.5))}
.b-media .fx{position:absolute}
.blk.side-bg{position:relative;overflow:hidden;min-height:min(78vh,720px);display:flex;align-items:center;padding:clamp(60px,10vw,120px) 0}
.blk.side-bg .blk-in{position:relative;z-index:2;width:min(1180px,100% - 36px)}
.blk.side-bg .b-media{position:absolute;inset:0;z-index:0;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;max-width:none;width:100%}
.blk.side-bg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.2))}

/* ---------- анимации появления ---------- */
.js-rv .rv{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease,clip-path 1.2s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 110ms);will-change:opacity,transform}
.js-rv .rv[data-a=fade-up]{transform:translateY(46px)}
.js-rv .rv[data-a=slide-l]{transform:translateX(-90px)}
.js-rv .rv[data-a=slide-r]{transform:translateX(90px)}
.js-rv .rv[data-a=zoom]{transform:scale(.82)}
.js-rv .rv[data-a=blur]{filter:blur(16px);transform:scale(1.04)}
.js-rv .rv[data-a=tilt]{transform:perspective(900px) rotateY(-22deg) translateY(36px) scale(.93);transform-origin:left center}
.js-rv .rv[data-a=mask]{opacity:1;clip-path:inset(0 100% 0 0);transition-delay:.1s}
.js-rv .rv[data-a=none]{opacity:1;transition:none}
.js-rv .rv.in{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}
.js-rv .b-media[data-a=mask] img,.js-rv .b-media[data-a=mask] video{transform:scale(1.3);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.js-rv .b-media[data-a=mask].in img,.js-rv .b-media[data-a=mask].in video{transform:scale(1)}
.words .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.words .w>span{display:inline-block}
.js-rv .words .w>span{transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--w,0) * 70ms + var(--i,0) * 110ms)}
.js-rv .words.in .w>span{transform:none}
@media (prefers-reduced-motion:reduce){.js-rv .rv,.js-rv .words .w>span{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}

.blk.side-bg .blk-in{width:min(1180px,100% - 36px);margin-inline:auto}
.blk.side-bg>.b-media{position:absolute;inset:0;z-index:0}
.blk.side-bg>.b-media .b-in{inset:0}

/* ---------- блоки без видимых границ: фон монотонный ---------- */
.blk{padding:clamp(36px,6vw,72px) 0}
.blk+.blk{padding-top:0}
.blk.tone-panel{background:linear-gradient(180deg,transparent,rgba(255,255,255,.04) 22%,rgba(255,255,255,.04) 78%,transparent);border:0}
.blk.tone-accent{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--a) 22%,transparent) 22%,color-mix(in srgb,var(--a) 22%,transparent) 78%,transparent);border:0}
.blk.tone-panel,.blk.tone-accent{padding-block:clamp(48px,7vw,90px)}

/* ---------- компактный подвал (компьютер и телефон) ---------- */
#app>.sec:last-child,#app>section.wrap:last-child{padding-bottom:28px}
#app>.sec:last-child{padding-bottom:28px}

/* ---------- подвал v3: колонки, цветная линия вкусов ---------- */
footer.ftr{margin-top:48px;padding:0 0 max(16px,env(safe-area-inset-bottom));border-top:0;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.55))}
.f-line{display:flex;height:3px;opacity:.9}.f-line i{flex:1}
footer.ftr .wrap.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px 56px;padding-top:30px;align-items:start}
.fg-brand .f-logo{font-size:26px;font-weight:600;letter-spacing:.32em;color:#fff;margin:0 0 8px}
.fg-brand p{margin:0 0 14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--a2)}
.fg-ct{display:flex;flex-wrap:wrap;gap:2px 20px}
.fg-col h4{margin:0 0 8px;font-size:11px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:rgba(230,222,250,.42)}
footer.ftr .fg-col a,footer.ftr .fg-ct a{display:block;padding:3px 0;font-size:15px;color:rgba(240,235,252,.8);text-decoration:none;transition:color .2s,transform .2s}
footer.ftr .fg-col a:hover,footer.ftr .fg-ct a:hover{color:#fff}
footer.ftr .fg-col a:hover{transform:translateX(3px)}
footer.ftr .fg-flv a{display:flex;align-items:center;gap:10px}
.fg-flv a i{width:12px;height:2px;background:var(--a);flex:none;transition:width .25s}
.fg-flv a:hover i{width:20px}
.fg-copy{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 24px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:rgba(230,222,250,.45)}
footer.ftr .fg-copy a{display:inline;padding:0;font-size:12px;color:rgba(230,222,250,.6);text-decoration:none}
footer.ftr .fg-copy a:hover{color:#fff}
@media (max-width:900px){
  footer.ftr .wrap.fg{grid-template-columns:1fr 1fr;gap:18px 24px;padding-top:24px}
  .fg-brand{grid-column:1/-1}
}
@media (max-width:560px){
  footer.ftr{margin-top:34px}
  footer.ftr .wrap.fg{gap:14px 16px;padding-top:20px}
  .fg-brand .f-logo{display:inline-block;font-size:21px;margin:0 12px 0 0}
  .fg-brand p{display:inline-block;font-size:11px;margin:0}
  .fg-ct{margin-top:6px}
  footer.ftr .fg-col a,footer.ftr .fg-ct a{font-size:14px;padding:2px 0}
  .fg-col h4{margin-bottom:4px}
  .fg-copy{flex-direction:column;gap:3px}
}

/* ---------- язык ---------- */
.lang{display:inline-flex;align-items:center;gap:0;margin-left:14px;padding:3px;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:99px;cursor:pointer;font:400 11px var(--ff);letter-spacing:.14em;color:var(--mute)}
.lang span{padding:5px 9px;border-radius:99px;transition:.2s}
.lang span.on{background:#fff;color:#000}
@media (max-width:820px){.lang{margin-left:auto;margin-right:6px}}

/* ---------- мини-кнопки на карточке и в «Других вкусах» ---------- */
.c-btns{position:absolute;top:14px;left:14px;right:14px;z-index:3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.mb{font:400 11px var(--ff);letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;color:#fff;background:rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;transition:background .2s,border-color .2s}
.mb:hover{background:var(--a);border-color:var(--a)}
.chip{padding:9px 16px;font-size:12px;letter-spacing:.16em;border-color:color-mix(in srgb,var(--a) 60%,transparent);background:color-mix(in srgb,var(--a) 14%,transparent)}
.chip:hover,.chip.on{background:var(--a);border-color:var(--a);color:#fff}

/* ---------- список вкусов на телефоне — слайдер ---------- */
.g-dots{display:none}
@media (max-width:700px){
  .grid.slider{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-inline:-18px;padding:0 18px 4px;scroll-padding-inline:18px;scrollbar-width:none;overscroll-behavior-x:contain}
  .grid.slider::-webkit-scrollbar{display:none}
  .grid.slider .card{flex:0 0 80%;scroll-snap-align:center}
  .g-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}
  .g-dots i{width:7px;height:7px;border-radius:4px;background:rgba(255,255,255,.28);transition:width .25s,background .25s;cursor:pointer}
  .g-dots i.on{width:24px;background:#fff}
}

.c-btns{justify-content:space-between}
.mb.on{background:var(--a);border-color:var(--a)}
.c-pack{transition:opacity .18s,transform .18s}.c-pack.swap{opacity:0;transform:scale(.96)}

/* ---------- форматированный текст ---------- */
.prose div{margin-bottom:1.1em;max-width:720px;color:rgba(240,235,252,.86)}
.b-text .prose div{max-width:620px}
.prose [style*="text-align:center"]{margin-inline:auto}
.prose [style*="text-align:right"]{margin-left:auto}
.prose b{font-weight:600;color:#fff}
.prose a{color:var(--a2)}

/* ---------- логотип и выравнивание заголовков страниц ---------- */
.logo.has-img{display:inline-flex;align-items:center;letter-spacing:0}
.logo img,.f-logo-img{display:block;height:min(var(--lh,30px),calc(var(--hh,64px) - 18px));width:auto;max-width:55vw;object-fit:contain}
.f-logo-img{height:var(--lh,34px);max-width:70vw;margin:0 0 10px}
@media (max-width:560px){.f-logo-img{margin:0 12px 0 0;display:inline-block;vertical-align:middle}}
.page-head.al-center{text-align:center}.page-head.al-center .lead{margin-inline:auto}
.page-head.al-right{text-align:right}.page-head.al-right .lead{margin-left:auto}

/* ---------- слайды: положение кнопок, настройки для телефона ---------- */
.s-segw{text-align:var(--segd,left)}
.s-cta{text-align:var(--ctad,left)}
@media (max-width:760px){
  .s-segw{text-align:var(--segm,var(--segd,left))}
  .s-cta{text-align:var(--ctam,var(--ctad,left))}
  .slide[data-tam=left] .s-body{text-align:left}.slide[data-tam=left] .s-body p{margin-inline:0}
  .slide[data-tam=center] .s-body{text-align:center}.slide[data-tam=center] .s-body p{margin-inline:auto}
  .slide[data-tam=right] .s-body{text-align:right}.slide[data-tam=right] .s-body p{margin-left:auto}
}

#pdesc,#pspecs{transition:opacity .2s}.swap-t{opacity:0}.specs:empty{display:none}

/* ---------- характеристики вкуса ---------- */
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1px;max-width:980px;margin:28px 0 32px;border:1px solid var(--line);background:var(--line)}
.specs>div{position:relative;padding:26px 26px 24px;background:linear-gradient(160deg,color-mix(in srgb,var(--a) 17%,#0a0914),#07060d 85%)}
.specs>div::before{content:"";position:absolute;left:26px;top:0;width:36px;height:3px;background:var(--a)}
.specs span{display:block;margin-bottom:10px;font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--a2)}
.specs b{display:block;font-size:clamp(24px,3.2vw,36px);font-weight:600;line-height:1.12;color:#fff}
.specs:empty{display:none}
.others{text-align:center}.others .chips{justify-content:center}.pn-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
#pgal{transition:opacity .2s}

/* ---------- выравнивание полей (компьютер / телефон) ---------- */
[data-al=center]{text-align:center;margin-inline:auto}[data-al=right]{text-align:right;margin-left:auto}[data-al=left]{text-align:left;margin-right:auto}
@media (max-width:760px){[data-alm=center]{text-align:center;margin-inline:auto}[data-alm=right]{text-align:right;margin-left:auto}[data-alm=left]{text-align:left;margin-right:auto}}

/* ---------- складные и узкие экраны (Galaxy Fold / Flip, Surface Duo) ---------- */
.blk{overflow-x:clip}
@media (max-width:380px){
  .wrap{width:calc(100% - 24px)}
  .hdr .wrap{gap:8px}
  .logo{font-size:17px;letter-spacing:.22em}
  .logo img{max-width:40vw}
  .lang{margin-right:0}.lang span{padding:4px 7px}
  .burger{width:38px;margin-right:-6px}
  .seg button{padding:10px 12px;letter-spacing:.14em;font-size:12px}
  .btn{padding:12px 20px;letter-spacing:.18em}
  .s-body h1{font-size:clamp(34px,13vw,60px)}
  .page-head h1{font-size:clamp(30px,11vw,44px)}
  .specs{grid-template-columns:1fr}
  .specs>div{padding:20px 20px 18px}
  .grid.slider .card{flex-basis:88%}
  .chip{padding:8px 12px;letter-spacing:.1em}
  .pn-row .btn{width:100%;text-align:center}
}
@media (max-width:300px){
  .logo{font-size:14px;letter-spacing:.12em}
  .lang{font-size:10px}.lang span{padding:3px 6px}
  .hdr .wrap{gap:4px}
  body{font-size:15px}
  .seg{display:flex;width:100%}.seg button{flex:1;padding:10px 6px;letter-spacing:.08em}
  .kicker{letter-spacing:.2em}
}
/* низкие экраны: телефон «на боку», Fold в раскрытом виде, Flip в режиме ноутбука */
@media (max-height:560px) and (orientation:landscape){
  .page-head{padding-top:calc(var(--hh) + 24px)}
  .s-body{bottom:calc(6vh + 44px)}
  .s-body h1{font-size:clamp(32px,9vh,64px)}
  .s-pack{height:calc(min(54vh,300px) * var(--sc,1))}
  .p-hero{min-height:auto;padding-bottom:30px}
  .nav a{font-size:16px}
}
/* два экрана Surface Duo: текст не заходит за петлю */
@media (horizontal-viewport-segments:2){
  .s-body>*{max-width:calc(env(viewport-segment-width 0 0) - 40px)}
  .blk-in,.cols{column-gap:calc(env(viewport-segment-left 1 0, 0px) - env(viewport-segment-right 0 0, 0px) + 24px)}
  .b-text{max-width:calc(env(viewport-segment-width 0 0) - 48px)}
}
/* Galaxy Z Flip в сложенном виде и другие очень узкие/вытянутые экраны */
@media (max-aspect-ratio:9/21) and (max-width:420px){
  .s-pack{height:calc(min(30vh,260px) * var(--sc,1))}
}
@media (max-width:380px){.grid.slider{margin-inline:-12px;padding:0 12px 4px;scroll-padding-inline:12px}.burger{margin-right:0}}

/* плавное появление фото после загрузки (без рывков) */
img[data-fi]{opacity:0;transition:opacity .55s ease}
img[data-fi].ld{opacity:1}
@media (prefers-reduced-motion:reduce){img[data-fi]{transition:none}}

/* пока автопрокрутка на паузе, активная полоска полностью заполнена */
.hold .dot.on::after{width:100%;transition:none}

/* выравнивание заголовка и текста слайда (компьютер); на телефоне главнее data-tam */
.slide[data-ta=center] .s-body{text-align:center}.slide[data-ta=center] .s-body p{margin-inline:auto}
.slide[data-ta=right] .s-body{text-align:right}.slide[data-ta=right] .s-body p{margin-left:auto}

/* контакты: список собирается в сетку, а не в длинную колонку; соцсети — компактные кнопки */
.cside{display:grid;gap:26px;align-content:start;min-width:0}
.clist{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:20px 30px}
.clist li{min-width:0;overflow-wrap:anywhere}
.csoc{display:flex;flex-wrap:wrap;gap:10px}
.csoc a{display:inline-block;padding:9px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:inherit;transition:border-color .2s,background .2s,color .2s}
.csoc a:hover{border-color:var(--a2);color:var(--a2);background:rgba(255,255,255,.05)}
@media (max-width:760px){.clist{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.csoc a{padding:8px 14px;font-size:13px}}

/* страница вкуса: выравнивание текста шапки и положение переключателя размеров */
.p-text[data-ta=center]{text-align:center}.p-text[data-ta=right]{text-align:right}.p-text[data-ta=left]{text-align:left}
.p-text[data-sg=center] .seg-w{text-align:center}.p-text[data-sg=right] .seg-w{text-align:right}.p-text[data-sg=left] .seg-w{text-align:left}
.p-note[hidden]{display:none}
@media (max-width:760px){
  .p-text[data-tam=center]{text-align:center}.p-text[data-tam=right]{text-align:right}.p-text[data-tam=left]{text-align:left}
  .p-text[data-sgm] .seg,.p-text[data-sg] .seg,.p-text[data-tam] .seg{display:inline-flex;width:auto}
  .p-text[data-sgm] .seg button,.p-text[data-sg] .seg button,.p-text[data-tam] .seg button{flex:none;padding:10px 18px}
  .p-text[data-sgm=center] .seg-w{text-align:center}.p-text[data-sgm=right] .seg-w{text-align:right}.p-text[data-sgm=left] .seg-w{text-align:left}
}

/* плавная смена слайдов: лёгкие слои, без дорогих фильтров поверх анимации */
.slide{will-change:opacity;contain:layout paint style;transform:translateZ(0)}
.s-bg{will-change:transform;backface-visibility:hidden}
.s-bg img,.s-bg video{filter:none}
.s-bg::after{mix-blend-mode:normal;opacity:.55}
.hero .seg,.hero .mb{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,0,0,.5)}
.s-pack{will-change:transform}
/* дым: градиент уже мягкий — размытие 60px и смешивание «screen» перерисовывались при каждой смене слайда */
.smoke{mix-blend-mode:normal;opacity:.34;contain:strict}
.smoke i{filter:none;will-change:transform;background:radial-gradient(circle,var(--a2) 0,transparent 68%)}
.smoke i:nth-child(2){background:radial-gradient(circle,var(--a) 0,transparent 68%)}

/* ---------- подвал v4: просторный, строки не слипаются ---------- */
footer.ftr{margin-top:72px}
footer.ftr .wrap.fg{display:flex;flex-wrap:wrap;gap:44px 72px;padding-top:68px;padding-bottom:18px;align-items:flex-start}
footer.ftr[data-sp=compact] .wrap.fg{gap:24px 44px;padding-top:34px}
footer.ftr[data-sp=roomy] .wrap.fg{gap:56px 90px;padding-top:96px;padding-bottom:30px}
.fg-brand{flex:2 1 340px;min-width:0}
.fg-col{flex:1 1 180px;min-width:0}
.fg-brand .f-logo{display:block;margin:0 0 12px}
.fg-brand p{display:block;margin:0 0 26px;line-height:1.6}
.fg-ct{display:grid;gap:6px;justify-items:start}
footer.ftr .fg-ct a{padding:3px 0;font-size:16px}
.fg-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
footer.ftr .fg-soc a{display:inline-block;padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(240,235,252,.85);text-decoration:none;transition:border-color .2s,color .2s}
footer.ftr .fg-soc a:hover{border-color:var(--a2,#fff);color:#fff}
.fg-col h4{margin-bottom:16px}
footer.ftr .fg-col a{padding:5px 0}
.fg-copy{flex:1 1 100%;margin-top:14px;padding-top:22px}
@media (max-width:700px){
  footer.ftr{margin-top:48px}
  footer.ftr .wrap.fg{gap:34px 22px;padding-top:46px}
  footer.ftr[data-sp=compact] .wrap.fg{gap:22px 18px;padding-top:26px}
  footer.ftr[data-sp=roomy] .wrap.fg{gap:44px 24px;padding-top:62px}
  .fg-brand{flex:1 1 100%}
  .fg-col{flex:1 1 calc(50% - 12px)}
  .fg-brand .f-logo,.fg-brand .f-logo-img{display:block;margin:0 0 12px}
  .fg-brand p{display:block;margin:0 0 22px;font-size:11px}
  .fg-ct{margin-top:0}
  .fg-copy{flex-direction:column;gap:6px}
  footer.ftr[data-fal=center] .fg-brand,footer.ftr[data-fal=center] .fg-col,footer.ftr[data-fal=center] .fg-copy{text-align:center}
  footer.ftr[data-fal=center] .f-logo-img{margin-inline:auto}
  footer.ftr[data-fal=center] .fg-ct{justify-items:center}
  footer.ftr[data-fal=center] .fg-soc{justify-content:center}
  footer.ftr[data-fal=center] .fg-flv a{justify-content:center}
  footer.ftr[data-fal=center] .fg-copy{align-items:center}
}


/* ---------- шрифт как на упаковке: классическая антиква (Lora) ---------- */
h1,h2,h3,.logo,.f-logo{font-family:var(--ff)}
.p-note,.s-body .kicker{font-style:italic;text-transform:none;letter-spacing:.03em;font-size:1.15em}

/* ---------- страница вкуса: без пачки, сплошной фон ---------- */
.p-pack{display:none}
.p-grid{grid-template-columns:1fr}
.p-hero .p-bg.nofile{background:var(--d)}
.p-hero .p-bg img,.p-hero .p-bg video{filter:none;transform:none}
.p-hero::before{display:none}
/* чёрная обводка текста описания и шапки, чтобы читалось на любом фоне */
.prose,.prose p,.prose div,.prose li,.p-note{text-shadow:0 0 2px #000,0 0 4px rgba(0,0,0,.9),0 1px 3px #000}
@supports (paint-order:stroke fill){
  .prose,.prose p,.prose div,.prose li,.p-note{-webkit-text-stroke:3px #000;paint-order:stroke fill;text-shadow:none}
}

/* карточка вкуса: фото во весь блок, без анимации */
.c-pack:has(img.pk){inset:0;top:0 !important;height:100%;align-items:stretch;justify-content:stretch;overflow:hidden}
.c-pack img.pk{width:100%;height:100%;max-width:none;object-fit:cover;transform:none !important;transition:none;scale:var(--sc,1);transform-origin:center}
.card:hover .c-pack .pk,.card:hover .c-bg{transform:none}
.c-pack,.c-pack.swap{transition:none;opacity:1;transform:none}
.card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.82) 0,rgba(0,0,0,.35) 32%,transparent 58%)}
.card .c-in{z-index:2}

/* hero text right of the title */
.p-aside{display:none}
.p-aside p{margin:0 0 .9em;font-family:var(--ff);font-size:clamp(15px,1.45vw,19px);line-height:1.6;color:#fff;-webkit-text-stroke:3px #000;paint-order:stroke fill}
.p-aside p:last-child{margin:0}
.p-grid:has(.p-aside){grid-template-columns:1fr}
.p-grid:has(.p-aside) .p-aside{display:block;max-width:520px}
@media (min-width:860px){.p-grid:has(.p-aside){grid-template-columns:1.1fr .9fr;gap:48px}.p-grid:has(.p-aside) .p-aside{justify-self:end}}

/* product hero: darker backdrop, bigger side text */
.p-hero .p-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.35) 60%,rgba(0,0,0,.5))}
.p-aside p{font-size:clamp(18px,2vw,27px);line-height:1.55}
.p-grid:has(.p-aside) .p-aside{max-width:640px}
@media (min-width:860px){.p-grid:has(.p-aside){grid-template-columns:1fr 1fr}}

/* card text legibility over photo */
.card .c-in{left:0;right:0;bottom:0;padding:70px 22px 22px;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.6) 55%,transparent)}
.card .c-sub{color:#fff;opacity:.92;text-shadow:0 1px 6px #000;font-size:11px;letter-spacing:.24em}
@media (max-width:600px){.card .c-in{padding:60px 18px 18px}}

/* age gate + smoke intro */
html.gate-pending body{background:#0a1a5c}
html.gate-pending #app,html.gate-pending header,html.gate-pending footer{visibility:hidden}
body.gate-lock{overflow:hidden}
#gate{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;color:#fff;visibility:visible;
 background:linear-gradient(135deg,#0a1a5c 0%,#1f2fa8 30%,#5b2bb8 65%,#8a3fd1 100%);background-size:200% 200%;animation:gbg 18s ease-in-out infinite alternate;transition:opacity 1.3s ease,filter 1.3s ease}
@keyframes gbg{from{background-position:0 0}to{background-position:100% 100%}}
#gate canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.g-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:34px;padding:0 20px;text-align:center;transition:transform 1.4s ease,opacity 1s ease}
.g-logo{display:flex;justify-content:center;margin:0;font-family:'Oswald',sans-serif;font-weight:300;font-size:clamp(44px,11vw,130px);letter-spacing:.14em;padding-left:.14em;filter:url(#gsmoke);text-shadow:0 0 40px rgba(255,255,255,.35);transition:transform 1.2s ease,font-size .8s ease}
.g-logo span{display:inline-block;opacity:0;transform:translateY(60px) scale(1.25);filter:blur(28px);animation:gemerge 3.2s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*220ms + .3s)}
@keyframes gemerge{0%{opacity:0;transform:translateY(60px) scale(1.25);filter:blur(28px)}55%{opacity:.7;filter:blur(10px)}100%{opacity:1;transform:none;filter:blur(0)}}
.g-card{width:min(92vw,560px);padding:42px 46px 46px;background:rgba(26,16,34,.9);border:1px solid rgba(201,162,80,.45);box-shadow:0 30px 80px rgba(0,0,0,.5);backdrop-filter:blur(6px);opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity 1s ease,transform 1s ease}
#gate.ask .g-card{opacity:1;transform:none;pointer-events:auto}
#gate.go .g-card{opacity:0;transform:translateY(-14px) scale(.98);transition-duration:.7s}
#gate.go .g-logo{transform:scale(1.08)}
#gate.out{opacity:0;filter:blur(14px);pointer-events:none}
#gate.out .g-stage{transform:translateY(-40px) scale(1.06);opacity:0}
.g-18{width:68px;height:68px;margin:0 auto 22px;border:1.5px solid #c9a250;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:26px;color:#e0b95e}
.g-card h2{margin:0 0 14px;font-family:'Oswald',sans-serif;font-weight:500;font-size:clamp(24px,5vw,38px);letter-spacing:.12em;text-transform:uppercase;color:#fff}
.g-card p{margin:0 0 26px;font-family:'Oswald',sans-serif;font-weight:300;font-size:16px;color:rgba(255,255,255,.65)}
.g-btn{width:100%;padding:18px 20px;cursor:pointer;font-family:'Oswald',sans-serif;font-weight:500;font-size:17px;letter-spacing:.32em;text-transform:uppercase;color:#f0cf7a;background:linear-gradient(#4a3a1c,#2e2412);border:1px solid #c9a250;transition:filter .2s,transform .2s}
.g-btn:hover{filter:brightness(1.25)}.g-btn:active{transform:scale(.99)}
@media(max-width:600px){.g-card{padding:30px 22px 28px}.g-stage{gap:22px}}
@media(prefers-reduced-motion:reduce){.g-logo span{animation-duration:.01ms;animation-delay:0s}#gate{animation:none}}

/* v1108-t */
.pl-top{padding-top:clamp(96px,11vw,128px)}
.specs{max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));text-align:center}
.specs>div::before{left:50%;transform:translateX(-50%)}
.p-hero .p-text .kicker{font-size:clamp(18px,2.6vw,32px);letter-spacing:.22em;margin-bottom:6px}
.p-hero .p-bg::after{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.58) 60%,rgba(0,0,0,.7))}
@media (max-width:760px){.specs{grid-template-columns:repeat(2,minmax(0,1fr))}.specs>div{padding:20px 10px 16px}.specs>div::before{left:50%}.specs b{font-size:clamp(20px,6vw,26px)}.specs span{font-size:10.5px;letter-spacing:.2em}}
.c-mail{display:inline-block;margin:4px 0 14px;font-family:var(--ff);font-size:clamp(24px,4.6vw,52px);letter-spacing:.02em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);overflow-wrap:anywhere}
.c-mail:hover{border-color:var(--a2,#c9a250)}
.page-head.al-center{text-align:center}.page-head.al-center .lead{margin-inline:auto}
section.wrap.c-center{display:block;max-width:680px}
.c-center .form{margin-inline:auto}
.c-center .cside{justify-items:center}.c-center .csoc{justify-content:center}

/* v1108-u: графитовый фон страницы вкуса, характеристики под текстом */
body[data-page=product]{background:#232227}
body[data-page=product] .p-hero{min-height:0;display:block;padding-bottom:clamp(36px,5vw,64px);background:#232227}
body[data-page=product] .p-hero .p-bg{background:#232227}
body[data-page=product] .p-hero .p-bg>*,body[data-page=product] .p-hero .p-bg::after{display:none}
body[data-page=product] .p-main{position:relative;width:100%}
body[data-page=product] .p-hero .p-grid{padding-top:clamp(40px,7vw,90px)}
body[data-page=product] .p-aside p,body[data-page=product] .p-note,body[data-page=product] .p-aside{-webkit-text-stroke:0;text-shadow:none}
body[data-page=product] .specs{margin:clamp(30px,4vw,52px) 0 0;border-color:#55545c;background:#55545c}
body[data-page=product] .specs>div{background:linear-gradient(160deg,color-mix(in srgb,var(--a) 10%,#2b2a30),#2b2a30 85%)}
body[data-page=product] .sec{background:#232227}
@media (max-width:760px){body[data-page=product] .specs>div:last-child:nth-child(odd){grid-column:1/-1}}

/* v1108-v: плавный переход от дыма к странице */
#gate{transition:opacity 2.6s cubic-bezier(.4,0,.2,1),filter 2.6s cubic-bezier(.4,0,.2,1)}
#gate.go .g-card{transition:opacity .9s ease,transform .9s ease}
#gate.out{opacity:0;filter:blur(8px)}
#gate.out .g-stage{transform:none;opacity:0;transition:opacity 1.2s ease}

/* v1108-w: тёмный графитовый фон на всех страницах */
html,body{background:#1d1c21}
body[data-page]{background:#1d1c21}
body[data-page=product],body[data-page=product] .p-hero,body[data-page=product] .p-hero .p-bg,body[data-page=product] .sec{background:#232227}
body[data-page=product] .specs{background:#4a4950;border-color:#4a4950}
body[data-page=product] .specs>div{background:linear-gradient(160deg,color-mix(in srgb,var(--a) 8%,#1f1e23),#1f1e23 85%)}

/* v1108-y: плавная смена языка, футер по центру, мобильная страница вкуса */
body{transition:opacity .42s ease}
html.sw-out body{opacity:0;transition-duration:.28s}
html.sw-in body{opacity:0;transition:none}
footer.ftr .fg-brand{display:flex;flex-direction:column;align-items:center;width:fit-content;text-align:center}
footer.ftr .fg-brand .fg-ct{justify-content:center}
footer.ftr .fg-brand .f-logo-img{margin-inline:auto}
@media (max-width:900px){footer.ftr .fg-brand{grid-column:1/-1;width:100%}}
@media (max-width:560px){
  footer.ftr .fg-brand .f-logo,footer.ftr .fg-brand p{display:block;margin-inline:auto}
  footer.ftr .fg-copy{align-items:center;text-align:center}
}
@media (max-width:760px){
  body[data-page=product]{--pg:36px}
  body[data-page=product] .p-main{display:flex;flex-direction:column;align-items:center}
  body[data-page=product] .p-grid{display:contents}
  body[data-page=product] .p-text,body[data-page=product] #about,body[data-page=product] .p-aside{width:calc(100% - var(--pg));max-width:560px;margin-inline:auto;text-align:center!important}
  body[data-page=product] .p-text{order:1;padding-top:calc(var(--hh) + 24px);display:flex;flex-direction:column;align-items:center}
  body[data-page=product] #about{order:2;margin-top:26px}
  body[data-page=product] .p-aside{order:3;display:block!important;margin-top:28px;max-width:560px}
  body[data-page=product] .p-aside p{text-align:center}
  body[data-page=product] .seg-w{width:100%;display:flex;justify-content:center}
  body[data-page=product] .seg{display:flex;width:100%}
  body[data-page=product] .seg button{flex:1;text-align:center}
  body[data-page=product] .p-text .kicker,body[data-page=product] .p-text h1,body[data-page=product] .p-note{text-align:center;margin-inline:auto}
  body[data-page=product] .p-text .btn{margin-inline:auto}
}
@media (min-width:600px) and (max-width:760px){body[data-page=product]{--pg:64px}}
@media (max-width:760px){body[data-page=product] .p-text .btn{width:min(100%,300px);text-align:center;justify-content:center}}

/* v1108-z: компактнее шапка страницы вкуса, одна кнопка */
body[data-page=product] .p-hero{padding-top:calc(var(--hh) + 6px);padding-bottom:clamp(28px,4vw,48px)}
body[data-page=product] .p-hero .p-grid{padding-top:clamp(14px,2.4vw,34px)}
body[data-page=product] .p-text .p-cta{display:block;width:100%;text-align:center;margin-top:14px}
body[data-page=product] .specs{margin-top:clamp(22px,3vw,36px)}
@media (max-width:760px){
  body[data-page=product] .p-hero{padding-top:calc(var(--hh) - 8px)}
  body[data-page=product] .p-text{padding-top:6px;gap:0}
  body[data-page=product] .p-text .p-cta{width:100%;max-width:none;margin-top:12px}
  body[data-page=product] #about{margin-top:20px}
  body[data-page=product] .p-aside{margin-top:22px}
}

/* v1108-am: дым при смене языка, логотип и язык на заставке */
html.sw-out body,html.sw-in body{opacity:1}
html.sw-in::before{content:"";position:fixed;inset:0;z-index:100000;background:rgba(30,24,70,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
#smk{position:fixed;inset:0;z-index:100000;pointer-events:none;background:rgba(30,24,70,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .85s ease,backdrop-filter .85s ease,-webkit-backdrop-filter .85s ease}
#smk canvas{position:absolute;inset:0;width:100%;height:100%}
#smk.dense{background:rgba(30,24,70,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
#smk:not(.dense){transition-duration:1.8s}
.g-logo-img{position:absolute;z-index:3;top:clamp(18px,4vw,34px);left:50%;transform:translateX(-50%);height:clamp(54px,9vw,84px);width:auto;pointer-events:none}
.g-lang{position:absolute;z-index:3;top:clamp(16px,3vw,28px);right:clamp(16px,3vw,32px);display:inline-flex;padding:4px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(10,8,30,.45);cursor:pointer;font:500 13px/1 'Oswald',sans-serif;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.g-lang span{padding:8px 13px;border-radius:999px}.g-lang span.on{background:#fff;color:#14122a}
@media(max-width:600px){.g-logo-img{height:52px}}


/* ---- v1108-am: ПК-блок по центру, ровная ширина, плитка вкуса без вылетов ---- */
.specs>div{min-width:0}
.specs b{overflow-wrap:anywhere;hyphens:auto}
@media (min-width:761px){
  body[data-page=product] .p-hero .p-grid{align-items:center}
  body[data-page=product] .p-text{display:flex;flex-direction:column;align-items:stretch;width:fit-content;max-width:100%;justify-self:center;text-align:center!important}
  body[data-page=product] .p-text .seg-w{text-align:center!important}
  body[data-page=product] .p-text .seg{display:flex;width:100%;margin-bottom:22px}
  body[data-page=product] .p-text .seg button{flex:1;padding:12px 18px}
  body[data-page=product] .p-text .kicker{text-align:center;margin-bottom:8px}
  body[data-page=product] .p-text h1{text-align:center;margin:6px 0 18px}
  body[data-page=product] .p-text .p-cta,body[data-page=product] .p-text .p-note{width:100%;text-align:center}
  body[data-page=product] .p-aside{text-align:center!important;justify-self:center!important}
  body[data-page=product] .specs:has(>div:nth-child(5)){grid-template-columns:repeat(4,minmax(0,1fr))}
  body[data-page=product] .specs>div:last-child:nth-child(5){grid-column:1/-1}
  body[data-page=product] .specs b{font-size:clamp(22px,2.4vw,32px)}
}

/* ---- v1108-am: единая ширина левого блока на ПК, как у Blue ---- */
@media (min-width:761px){
  body[data-page=product] .p-text{width:min(100%,560px)}
  body[data-page=product] .p-text h1{line-height:1;white-space:normal}
}
@media (min-width:860px){
  body[data-page=product] .p-text{width:min(100%,38.5vw)}
  body[data-page=product] .p-grid:has(.p-aside){grid-template-columns:1fr 1fr}
  body[data-page=product] .p-grid .p-aside{max-width:min(100%,640px)}
}

@media (min-width:761px){body[data-page=product] .p-hero .p-grid{align-items:start}}

/* ---- v1108-am: левый блок = ширина колонки; текст справа не выходит за кнопки ---- */
@media (min-width:761px){
  body[data-page=product] .p-hero .p-grid{align-items:stretch}
  body[data-page=product] .p-text{width:100%!important;max-width:600px;justify-self:center;justify-content:flex-start}
  body[data-page=product] .p-text .kicker{margin-top:auto}
  body[data-page=product] .p-text h1{margin-bottom:auto}
  body[data-page=product] .p-text .p-note:empty{display:none}
  body[data-page=product] .p-grid .p-aside{align-self:stretch;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:640px;min-width:0}
  body[data-page=product] .p-aside p{overflow-wrap:anywhere}
}
@media (min-width:860px){body[data-page=product] .p-grid:has(.p-aside){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---- v1108-am: производительность ---- */
.c-pack img.pk,.card .c-bg img{filter:none}                 /* тень-фильтр на полноразмерном фото карточки только тормозила */
.c-pack.swap{opacity:.55}
.c-pack{transition:opacity .18s ease}
.card{contain:layout paint}
@media (max-width:1024px),(hover:none){
  .fx.gloss::before{animation:none}                         /* бесконечный блик на каждой карточке */
  .smoke i{animation:none}
  .hdr.solid{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(7,6,13,.94)}
  .seg,.mb,.g-card{backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media (max-width:760px){
  .slide.on .s-bg,.slide.out .s-bg{animation:none}          /* Ken Burns на весь экран */
  .slide.on .s-pack,.slide.out .s-pack{animation:packin 1.1s .2s cubic-bezier(.2,.7,.2,1) forwards}
  .s-pack,.pk{filter:none}
  .js-rv .rv{transition:opacity .55s ease,transform .55s ease;transition-delay:calc(var(--i,0) * 60ms)}
  .js-rv .rv[data-a=blur]{filter:none}
  html.sw-in::before,#smk.dense{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(30,24,70,.72)}
}
