/* ============================================================
   SOUND SOUL. Редизайн 2026. Направление «Медная гора».
   Сайт из экранов: на десктопе каждый раздел занимает один экран
   монитора и прилипает при прокрутке (scroll-snap). На телефоне разделы
   идут обычным потоком.
   ============================================================ */
:root{
  color-scheme: light;
  --bg:#EEF1EB; --bg-2:#E3E8E0; --bg-3:#D8DFD6;
  --ink:#10302A; --muted:#4A6058;
  --line:rgba(16,48,42,.14); --line-strong:rgba(16,48,42,.28);
  --brand:#0F3B31; --brand-2:#1B5A4A; --brand-deep:#0A1F1A; --brand-ink:#EEF1EB; --brand-muted:rgba(238,241,235,.74);
  --night:#2A1D15; --night-2:#4A3222; --night-ink:#F1EBE2; --night-muted:rgba(241,235,226,.74); --night-line:rgba(241,235,226,.22);
  --accent:#B86A32; --accent-text:#8E4F22; --accent-fill:#D9935E; --accent-fill-ink:#10302A; --accent-soft:rgba(184,106,50,.14);
  --shadow-rgb:16 48 42;
  --font-voice:'Piazzolla', Georgia, 'Times New Roman', serif;
  --font-ui:'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-hand:'Caveat', 'Segoe Script', cursive;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --fs-display:clamp(2.7rem, 1.4rem + 5vw, 6.4rem);
  --fs-h2:clamp(1.8rem, 1.1rem + 2.2vw, 3.1rem);
  --fs-h3:clamp(1.2rem, 1.05rem + .5vw, 1.55rem);
  --fs-lead:clamp(1.05rem, .95rem + .4vw, 1.25rem);
  --fs-body:1rem;
  --gutter:clamp(16px, 4vw, 80px);
  --nav-h:72px;
  --scr-top:calc(var(--nav-h) + 1.5rem);
  --radius:18px; --radius-sm:10px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme: dark;
    --bg:#0B1F1A; --bg-2:#12302A; --bg-3:#1A3C34; --ink:#E8ECE5; --muted:#A6B5AD;
    --line:rgba(232,236,229,.14); --line-strong:rgba(232,236,229,.3);
    --brand:#133F35; --brand-2:#1F5C4C; --brand-muted:rgba(238,241,235,.76);
    --night:#1E140E; --night-2:#3A271A;
    --accent:#D9935E; --accent-text:#D9935E; --accent-fill-ink:#0B1F1A; --accent-soft:rgba(217,147,94,.16);
    --shadow-rgb:0 0 0;
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --bg:#0B1F1A; --bg-2:#12302A; --bg-3:#1A3C34; --ink:#E8ECE5; --muted:#A6B5AD;
  --line:rgba(232,236,229,.14); --line-strong:rgba(232,236,229,.3);
  --brand:#133F35; --brand-2:#1F5C4C; --brand-muted:rgba(238,241,235,.76);
  --night:#1E140E; --night-2:#3A271A;
  --accent:#D9935E; --accent-text:#D9935E; --accent-fill-ink:#0B1F1A; --accent-soft:rgba(217,147,94,.16);
  --shadow-rgb:0 0 0;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-ui); font-size:var(--fs-body); line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip}
body::after{
  content:""; position:fixed; inset:0; z-index:90; pointer-events:none; opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,video{max-width:100%; display:block}
img{height:auto}
a{color:inherit; text-underline-offset:.16em}
button{font:inherit; color:inherit; cursor:pointer}
h1,h2,h3,h4{margin:0; font-family:var(--font-voice); font-weight:500; text-wrap:balance; letter-spacing:-.015em}
p{margin:0}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:4px}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.skip{position:absolute; left:var(--gutter); top:-100px; z-index:200; padding:.6rem 1rem; background:var(--accent-fill); color:var(--accent-fill-ink); border-radius:999px; font-weight:600}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 10px)}

.wrap{width:min(1920px, 100%); min-width:0; margin-inline:auto; padding-inline:var(--gutter)}
.h2{font-size:var(--fs-h2); line-height:1.04; font-variation-settings:"opsz" 30}
.h3{font-size:var(--fs-h3); line-height:1.15; font-variation-settings:"opsz" 22}
.lead{font-size:var(--fs-lead); line-height:1.45; color:var(--muted); max-width:34em; text-wrap:pretty}
.measure{max-width:62ch; text-wrap:pretty}
.muted{color:var(--muted)}
.mt{margin-top:.75rem}

/* ---------- экраны ---------- */
.scr{position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr); align-content:center; padding-block:var(--scr-top) 2rem; scroll-snap-align:start; scroll-snap-stop:always}
.scr-head{display:grid; gap:.5rem; margin-bottom:clamp(1rem, 2.2vh, 1.75rem)}
@media (min-width: 900px) and (min-height: 600px){
  html{scroll-snap-type:y mandatory}
}
@media (max-width: 899px){
  .scr{min-height:0; padding-block:3.25rem 3.25rem}
  .scr.hero,.screen{min-height:100svh}
}

/* кнопки */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:48px; padding:.8rem 1.35rem; border-radius:999px; border:1px solid transparent; font-weight:600; font-size:1rem; line-height:1; text-decoration:none; white-space:nowrap; transition:transform 160ms var(--ease-out), background-color 200ms ease, border-color 200ms ease, color 200ms ease}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent-fill); color:var(--accent-fill-ink)}
.btn-ghost{background:transparent; color:#EEF1EB; border-color:rgba(238,241,235,.45)}
.btn-outline{background:transparent; color:var(--ink); border-color:var(--line-strong)}
.btn-brand{background:var(--brand); color:var(--brand-ink)}
.btn svg{width:18px; height:18px; flex:none}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{background:color-mix(in oklab, var(--accent-fill) 86%, white)}
  .btn-ghost:hover{border-color:#EEF1EB; background:rgba(238,241,235,.1)}
  .btn-outline:hover{border-color:var(--ink); background:var(--bg-2)}
  .btn-brand:hover{background:var(--brand-2)}
}

/* ---------- навигация: скрыта на первом экране, появляется при прокрутке ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:80; padding-top:env(safe-area-inset-top,0px); background:var(--bg); border-bottom:1px solid var(--line); transform:translateY(-100%); transition:transform 320ms var(--ease-out); box-shadow:0 12px 30px -18px rgb(var(--shadow-rgb) / .35)}
.nav.is-visible{transform:none}
.page .nav{position:sticky; transform:none; box-shadow:none}
.nav-in{display:flex; align-items:center; gap:2rem; min-height:var(--nav-h)}
.logo{display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; font-family:var(--font-voice); font-weight:600; font-size:1.35rem; letter-spacing:-.01em; font-variation-settings:"opsz" 20}
.logo .mark{width:26px; height:26px; flex:none}
.nav-links{display:flex; gap:.25rem; margin-left:auto; list-style:none; padding:0; margin-block:0}
.nav-links a{display:inline-block; padding:.55rem .8rem; border-radius:999px; text-decoration:none; font-weight:500; font-size:.95rem; color:var(--muted); transition:color 200ms ease, background-color 200ms ease}
.nav-links a[aria-current="true"]{color:var(--ink); background:var(--bg-2)}
@media (hover:hover) and (pointer:fine){ .nav-links a:hover{color:var(--ink)} }
.nav-cta{margin-left:.5rem}
.burger{display:none; margin-left:auto; width:48px; height:48px; border:1px solid var(--line-strong); border-radius:999px; background:transparent; align-items:center; justify-content:center}
.burger span{display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; position:relative}
.burger span::before,.burger span::after{content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink); border-radius:2px; transition:transform 200ms var(--ease-out)}
.burger span::before{top:-6px} .burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width: 900px){
  .nav-links, .nav-cta{display:none}
  .burger{display:inline-flex}
  .nav.is-open .nav-links{display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; padding:.5rem var(--gutter) 1.25rem; background:var(--bg); border-bottom:1px solid var(--line); box-shadow:0 30px 40px -30px rgb(var(--shadow-rgb) / .4)}
  .nav.is-open .nav-links a{font-size:1.15rem; padding:.85rem .5rem; border-radius:0; border-bottom:1px solid var(--line)}
  .nav.is-open .nav-links a[aria-current="true"]{background:transparent; color:var(--accent-text)}
}

/* ---------- экран 1: видео ---------- */
.scr.hero{background:var(--brand-deep); color:#EEF1EB; overflow:hidden; isolation:isolate; align-content:end; padding-top:0; padding-bottom:0}
.hero-media{position:absolute; inset:0; z-index:-2}
.hero-media video,.hero-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:58% 50%}
.hero-media .scrim{position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,31,26,.86) 0%, rgba(10,31,26,.62) 42%, rgba(10,31,26,.14) 100%), linear-gradient(180deg, rgba(10,31,26,.5) 0%, rgba(10,31,26,0) 30%, rgba(10,31,26,.62) 100%)}
.hero::before{content:""; position:absolute; inset:-20%; z-index:-1; pointer-events:none; background:radial-gradient(40% 46% at 82% 70%, rgba(217,147,94,.26) 0%, transparent 62%), radial-gradient(50% 50% at 12% 20%, rgba(27,90,74,.55) 0%, transparent 60%)}
.hero-brand{position:absolute; top:calc(env(safe-area-inset-top,0px) + 1.25rem); left:var(--gutter); z-index:2; color:#EEF1EB; text-decoration:none; display:inline-flex; align-items:center; gap:.6rem; font-family:var(--font-voice); font-weight:600; font-size:1.35rem; font-variation-settings:"opsz" 20}
.hero-brand .mark{width:26px; height:26px}
.hero-grid{position:relative; display:grid; grid-template-columns:repeat(12,1fr); column-gap:clamp(1rem,3vw,3rem); padding-block:clamp(6rem, 12vw, 9rem) clamp(5.5rem, 8vw, 7rem); width:100%}
.hero-copy{grid-column:1 / span 8; display:grid; gap:clamp(1.1rem,2.2vw,1.75rem)}
.hero h1{display:grid; gap:1rem; font-size:var(--fs-display); line-height:.98; letter-spacing:-.025em; font-variation-settings:"opsz" 30; max-width:13ch}
.hero h1 .kicker{font-family:var(--font-ui); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-fill); font-weight:600; line-height:1.4}
.hero h1 em{font-style:italic; font-weight:450; color:var(--accent-fill); display:inline-block; line-height:1.1; padding-bottom:.05em}
.hero .lead{color:rgba(238,241,235,.8); max-width:30em}
.hero-actions{display:flex; flex-wrap:wrap; gap:.75rem; align-items:center}
.hero-rings{position:absolute; right:6%; top:50%; width:min(36vw, 480px); aspect-ratio:1; transform:translateY(-50%); z-index:-1; pointer-events:none; display:grid; place-items:center}
.hero-rings span{position:absolute; width:100%; aspect-ratio:1; border-radius:50%; border:1.5px solid rgba(217,147,94,.85); opacity:0; transform:scale(.35)}
.hero-foot{position:absolute; right:var(--gutter); bottom:clamp(1.25rem,3vw,2rem); display:flex; align-items:center; gap:1.25rem}
.hero-note{font-family:var(--font-voice); font-style:italic; font-size:1rem; color:rgba(238,241,235,.82); font-variation-settings:"opsz" 12; max-width:22ch; text-wrap:pretty; text-align:right}
.hero-note b{display:block; font-style:normal; font-family:var(--font-ui); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-fill); margin-bottom:.25rem; font-weight:600}
.video-toggle{flex:none; width:44px; height:44px; border-radius:999px; border:1px solid rgba(238,241,235,.4); background:rgba(10,31,26,.45); color:#EEF1EB; display:grid; place-items:center; transition:background-color 200ms ease, transform 160ms var(--ease-out)}
.video-toggle:active{transform:scale(.95)}
.video-toggle svg{width:16px; height:16px}
.video-toggle .ic-play{display:none}
.video-toggle[aria-pressed="true"] .ic-play{display:block}
.video-toggle[aria-pressed="true"] .ic-pause{display:none}
@media (max-width: 899px){
  .hero-grid{grid-template-columns:1fr; padding-top:6.5rem; padding-bottom:1.5rem}
  .hero-copy{grid-column:1}
  .hero h1{max-width:none}
  .hero-rings{right:-10%; top:34%; width:70vw}
  .hero-foot{position:static; justify-content:space-between; padding:0 var(--gutter) 1.25rem}
  .hero-note{text-align:left}
  .hero-media video,.hero-media img{object-position:62% 50%}
}

/* ---------- экран 2: что такое саундхилинг ---------- */
.define{display:grid; grid-template-columns:7fr 5fr; gap:clamp(1.5rem,4vw,4rem); align-items:center}
.define-copy{display:grid; gap:1.25rem}
.define-copy .measure{font-size:clamp(1rem, .95rem + .3vw, 1.15rem); line-height:1.55}
.define dl{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem 1.5rem; margin:.5rem 0 0; padding:0}
.define dl div{border-top:1px solid var(--line); padding-top:.75rem}
.define dt{font-size:.85rem; color:var(--muted)}
.define dd{margin:0; font-family:var(--font-voice); font-size:1.5rem; font-variation-settings:"opsz" 22; line-height:1.15; font-variant-numeric:tabular-nums}
.define-photo{margin:0; border-radius:var(--radius); overflow:hidden; height:min(64svh, 620px); box-shadow:0 30px 60px -40px rgb(var(--shadow-rgb) / .55)}
.define-photo img{width:100%; height:100%; object-fit:cover}
@media (max-width: 899px){ .define{grid-template-columns:1fr} .define-photo{height:auto; aspect-ratio:4/3} }
@media (max-width: 560px){ .define dl{grid-template-columns:1fr 1fr} }

/* ---------- экран 3: как проходит ---------- */
.scr.practice{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); align-items:center; padding:0}
.practice-photo{position:relative; margin:0; min-height:100svh; overflow:hidden}
.practice-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%}
.practice-photo figcaption{position:absolute; left:var(--gutter); bottom:1.25rem; right:1.5rem; color:#EEF1EB; font-size:.9rem; text-shadow:0 1px 14px rgb(0 0 0/.65)}
.practice-copy{padding:var(--scr-top) var(--gutter) 2rem clamp(2rem,5vw,5rem); display:grid; gap:1.1rem; max-width:820px}
.steps{list-style:none; margin:0; padding:0; display:grid}
.steps li{display:grid; grid-template-columns:auto 1fr; gap:1rem; padding-block:clamp(.65rem, 1.4vh, 1.1rem); border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .num{font-family:var(--font-voice); font-size:2.2rem; line-height:1; color:var(--accent); font-variation-settings:"opsz" 30; font-weight:400; min-width:2ch; font-variant-numeric:tabular-nums}
.steps .row{display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:.2rem}
.steps h3{font-size:1.15rem; font-variation-settings:"opsz" 18}
.steps p{color:var(--muted); max-width:64ch; text-wrap:pretty; font-size:.95rem}
.steps .time{font-size:.8rem; color:var(--accent-text); font-weight:600; white-space:nowrap}
@media (max-width: 899px){
  .scr.practice{grid-template-columns:1fr}
  .practice-photo{min-height:0; aspect-ratio:4/5; max-height:80svh}
  .practice-copy{padding:2.5rem var(--gutter) 0; max-width:none}
}

/* ---------- экраны 4-7: инструменты ---------- */
.screens{position:relative}
.screen{position:sticky; top:0; min-height:100svh; display:grid; align-items:center; align-content:center; overflow:hidden; isolation:isolate; color:var(--night-ink); background:var(--night); scroll-snap-align:start; scroll-snap-stop:always}
.screen-bg{position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:var(--pos, 70% 50%)}
.screen-scrim{position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(20,14,10,.6) 0%, rgba(20,14,10,.2) 40%, rgba(20,14,10,0) 55%)}
.screen-top{position:absolute; left:var(--gutter); right:var(--gutter); top:var(--scr-top); display:flex; justify-content:space-between; gap:1rem; font-size:.85rem; color:var(--night-muted)}
.screen-top b{font-family:var(--font-voice); font-weight:500; font-size:1.05rem; color:var(--night-ink); font-variation-settings:"opsz" 14}
.screen-in{position:relative; width:100%; padding-block:calc(var(--scr-top) + 2rem) 4rem; display:grid; grid-template-columns:repeat(12,1fr); column-gap:clamp(1rem,3vw,3rem)}
.screen-copy{grid-column:1 / span 7; display:grid; gap:1rem}
.screen-copy .h2{font-size:clamp(2.2rem, 1.4rem + 3.4vw, 4.6rem); line-height:1; letter-spacing:-.02em}
.screen-copy p{font-size:var(--fs-lead); color:var(--night-muted); max-width:30em; text-wrap:pretty}
.screen-fact{font-family:var(--font-ui); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-fill); font-weight:600}
.screen-count{position:absolute; right:var(--gutter); bottom:clamp(1.25rem,3vw,2rem); font-family:var(--font-voice); font-style:italic; color:var(--night-muted); font-variation-settings:"opsz" 12}
.play-big{display:inline-flex; align-items:center; gap:1rem; margin-top:.5rem; width:max-content; max-width:100%; padding:.6rem 1.5rem .6rem .6rem; border-radius:999px; border:0; background:var(--accent-fill); color:var(--accent-fill-ink); font-weight:600; font-size:1.1rem; line-height:1.2; text-align:left; box-shadow:0 20px 50px -20px rgba(217,147,94,.6); transition:transform 160ms var(--ease-out), background-color 200ms ease}
.play-big:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){ .play-big:hover{background:color-mix(in oklab, var(--accent-fill) 86%, white)} }
.play-big .ic{position:relative; flex:none; width:56px; height:56px; border-radius:999px; background:rgba(16,48,42,.16); display:grid; place-items:center}
.play-big .ic svg{width:22px; height:22px}
.play-big .ic .ic-stop{display:none}
.play-big .ic .pulse{position:absolute; inset:0; border-radius:999px; border:1.5px solid var(--accent-fill); opacity:0}
.play-big .txt{display:grid; gap:.1rem}
.play-big .txt small{font-weight:500; font-size:.85rem; opacity:.75}
.play-big .eq{display:none; align-items:flex-end; gap:3px; height:22px; margin-left:.25rem}
.play-big .eq i{display:block; width:3px; height:100%; background:var(--accent-fill-ink); border-radius:2px; transform-origin:bottom; transform:scaleY(.3)}
.screen.is-playing .play-big .ic .ic-play{display:none}
.screen.is-playing .play-big .ic .ic-stop{display:block}
.screen.is-playing .play-big .eq{display:flex}
.screen.is-playing .play-big .pulse{animation:pulse 1.8s var(--ease-out) infinite}
.screen.is-playing .play-big .pulse:nth-child(2){animation-delay:.6s}
.screen.is-playing .play-big .eq i{animation:eq 900ms ease-in-out infinite alternate}
.screen.is-playing .play-big .eq i:nth-child(2){animation-delay:-.3s}
.screen.is-playing .play-big .eq i:nth-child(3){animation-delay:-.6s}
.screen.is-playing .play-big .eq i:nth-child(4){animation-delay:-.15s}
.screen.is-playing .play-big .txt .lbl-play{display:none}
.screen:not(.is-playing) .play-big .txt .lbl-stop{display:none}
@media (max-width: 899px){
  .screen{min-height:min(100svh, 760px); align-items:end; align-content:end}
  .screen-in{grid-template-columns:1fr; padding-bottom:1rem}
  .screen-copy{grid-column:1}
  .screen-top{flex-direction:column; gap:.25rem}
  .screen-count{position:static; margin-top:1rem}
  .screen-bg{object-position:70% 50%; transform:translateY(-12%)}
  .screen-scrim{background:linear-gradient(180deg, rgba(20,14,10,0) 0%, rgba(20,14,10,0) 45%, rgba(20,14,10,.85) 68%)}
}

/* ---------- экран 8: что меняется (бенто) ---------- */
.bento{display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:minmax(180px, 27svh); gap:1rem}
.cell{border-radius:var(--radius); padding:1.25rem 1.35rem; display:grid; align-content:end; gap:.4rem; border:1px solid var(--line); background:var(--bg); margin:0; min-height:0}
.cell h3{font-size:1.25rem; font-variation-settings:"opsz" 20}
.cell p{color:var(--muted); text-wrap:pretty; font-size:.93rem; line-height:1.45}
.cell-photo{grid-column:1; grid-row:1 / span 2; padding:0; border:0; overflow:hidden; position:relative}
.cell-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.cell-photo::after{content:""; position:absolute; inset:auto 0 0 0; height:55%; background:linear-gradient(180deg, rgba(10,31,26,0), rgba(10,31,26,.72))}
.cell-photo figcaption{position:absolute; left:1.25rem; right:1.25rem; bottom:1.25rem; z-index:1; color:#EEF1EB; font-family:var(--font-voice); font-style:italic; font-size:1.1rem; text-wrap:pretty}
.cell-wide{grid-column:2 / span 2}
.cell-wide-r{grid-column:3 / span 2}
.cell-brand{background:var(--brand); color:var(--brand-ink); border-color:transparent}
.cell-brand h3{color:var(--brand-ink)} .cell-brand p{color:var(--brand-muted)}
.cell-tint{background:var(--bg-2)}
.cell-accent{background:var(--accent-soft); border-color:transparent}
.cell .big{font-family:var(--font-voice); font-size:2rem; line-height:1; color:var(--accent); font-variation-settings:"opsz" 30; margin-bottom:auto}
.cell-brand .big{color:var(--accent-fill)}
@media (max-width: 899px){
  .bento{grid-template-columns:1fr 1fr; grid-auto-rows:auto}
  .cell-photo{grid-column:1 / span 2; grid-row:auto; min-height:300px}
  .cell-wide,.cell-wide-r{grid-column:1 / span 2}
}
@media (max-width: 560px){
  .bento{grid-template-columns:1fr}
  .cell-photo,.cell-wide,.cell-wide-r{grid-column:1}
}

/* ---------- экран 9: форматы и цены ---------- */
.formats{display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:1rem; min-height:min(40svh, 520px)}
.fcard{border-radius:var(--radius); border:1px solid var(--line); padding:clamp(1rem,1.8vw,1.4rem); display:grid; grid-template-rows:auto auto 1fr auto; gap:.5rem; background:var(--bg); position:relative; overflow:hidden; isolation:isolate}
.fcard .kicker{display:flex; gap:.75rem; flex-wrap:wrap; font-size:.85rem; color:var(--muted)}
.fcard .kicker b{font-weight:600; color:var(--ink)}
.fcard h3{font-size:var(--fs-h3)}
.fcard p{color:var(--muted); text-wrap:pretty; font-size:.92rem; line-height:1.45}
.fcard .foot{display:flex; align-items:end; justify-content:space-between; gap:.75rem; flex-wrap:wrap; margin-top:.5rem}
.price{font-family:var(--font-voice); font-size:2rem; line-height:1; font-variation-settings:"opsz" 30; font-variant-numeric:tabular-nums; letter-spacing:-.02em}
.price small{font-family:var(--font-ui); font-size:.85rem; color:var(--muted); letter-spacing:0; margin-left:.35rem}
.fcard-feature{background:var(--night); color:var(--night-ink); border-color:transparent}
.fcard-feature .fbg{position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:50% 30%}
.fcard-feature::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(42,29,21,.25) 0%, rgba(42,29,21,.82) 45%, rgba(42,29,21,.96) 100%)}
.fcard-feature .kicker, .fcard-feature p, .fcard-feature .price small{color:var(--night-muted)}
.fcard-feature .kicker b{color:var(--night-ink)}
.fcard-feature .price{color:var(--accent-fill)}
.fcard-feature .kicker{padding-top:clamp(2.5rem, 8svh, 4.5rem)}
.b2b{margin-top:1rem; border-radius:var(--radius); background:var(--bg-2); padding:.85rem 1.25rem; display:flex; gap:.5rem 2rem; align-items:center; justify-content:space-between; flex-wrap:wrap}
.b2b p{max-width:78ch; text-wrap:pretty; font-size:.92rem}
.b2b b{font-family:var(--font-voice); font-size:1.1rem; font-weight:500; margin-right:.5rem; font-variation-settings:"opsz" 18}
.pay{margin-top:.6rem; font-size:.82rem; color:var(--muted); max-width:90ch; text-wrap:pretty}
@media (max-width: 899px){ .formats{grid-template-columns:1fr} .fcard-feature .kicker{padding-top:9rem} }

/* ---------- экран 10: кто ведёт ---------- */
.about{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:clamp(1.5rem,3.5vw,4rem); align-items:center}
.about-photo{margin:0; border-radius:var(--radius); overflow:hidden; box-shadow:0 40px 80px -50px rgb(var(--shadow-rgb) / .6); min-height:0; position:relative}
.about-photo{aspect-ratio:1280/853; max-height:calc(100svh - var(--scr-top) - 3rem)}
.about-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 100%}
.about-photo figcaption{position:absolute; left:1rem; bottom:1rem; color:#EEF1EB; font-size:.82rem; background:rgba(10,31,26,.62); padding:.35rem .7rem; border-radius:999px}
.about-grid{display:grid; grid-template-columns:1fr; gap:1rem; align-items:start}
.about-grid .lead{max-width:none; font-size:1.05rem}
.about-text{display:grid; gap:.9rem}
.about-text p{text-wrap:pretty; font-size:.97rem}
.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem 1.25rem}
.facts div{border-top:1px solid var(--line); padding-top:.5rem}
.facts b{display:block; font-family:var(--font-voice); font-size:1.45rem; font-weight:500; line-height:1.1; font-variation-settings:"opsz" 24; font-variant-numeric:tabular-nums}
.facts span{font-size:.82rem; color:var(--muted)}
.sign{font-family:var(--font-hand); font-size:1.8rem; color:var(--accent-text); line-height:1; transform:rotate(-3deg); display:inline-block}
.about-row{display:flex; align-items:end; justify-content:space-between; gap:1rem; flex-wrap:wrap}
@media (max-width: 899px){
  .about{grid-template-columns:1fr}
  .about-photo figcaption{display:none}
  .about-photo{aspect-ratio:4/3}
  .about-grid{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
}

/* ---------- экран 11: отзывы (лента) ---------- */
.rev-head{display:flex; align-items:end; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap}
.arrows{display:flex; gap:.5rem}
.arrows button{width:48px; height:48px; border-radius:999px; border:1px solid var(--line-strong); background:transparent; display:grid; place-items:center; transition:background-color 200ms ease, transform 160ms var(--ease-out)}
.arrows button:active{transform:scale(.95)}
.arrows svg{width:18px; height:18px}
@media (hover:hover) and (pointer:fine){ .arrows button:hover{background:var(--bg-2)} }
.track{display:grid; grid-auto-flow:column; grid-auto-columns:min(82vw, 340px); gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter); padding:.25rem var(--gutter) 1rem; margin-inline:calc(var(--gutter) * -1); scrollbar-width:none; -webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.quote{scroll-snap-align:start; margin:0; padding:1.75rem 1.6rem 1.5rem; border-radius:var(--radius); background:var(--bg-2); display:grid; grid-template-rows:1fr auto; gap:1.25rem; min-height:min(46svh, 440px)}
.quote p{font-family:var(--font-voice); font-size:clamp(1.2rem, 1.05rem + .35vw, 1.45rem); line-height:1.4; font-variation-settings:"opsz" 16; text-wrap:pretty}
.quote footer{display:grid; gap:.15rem; font-size:.92rem; border-top:1px solid var(--line); padding-top:.9rem}
.quote footer b{font-weight:600}
.quote footer span{color:var(--muted)}
.quote.is-accent{background:var(--accent-soft)}

/* ---------- экран 12: FAQ ---------- */
.faq{display:grid; grid-template-columns:4fr 8fr; gap:clamp(1.5rem,4vw,4rem); align-items:start}
.faq-list{display:grid}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:clamp(.75rem, 1.5vh, 1.1rem) 0; font-family:var(--font-voice); font-size:1.25rem; font-weight:500; font-variation-settings:"opsz" 18}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font:inherit; letter-spacing:inherit}
.faq summary .plus{flex:none; width:28px; height:28px; border-radius:999px; border:1px solid var(--line-strong); display:grid; place-items:center; position:relative; transition:transform 220ms var(--ease-out), background-color 200ms ease}
.faq summary .plus::before,.faq summary .plus::after{content:""; position:absolute; width:12px; height:1.5px; background:currentColor}
.faq summary .plus::after{transform:rotate(90deg)}
.faq details[open] summary .plus{transform:rotate(45deg); background:var(--accent-soft)}
.faq details p{padding:0 3rem 1.1rem 0; color:var(--muted); text-wrap:pretty; max-width:78ch; font-size:1rem}
@media (max-width: 899px){ .faq{grid-template-columns:1fr} }

/* ---------- экран 13: статьи ---------- */
.posts{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.25rem}
.post{display:grid; gap:.6rem; align-content:start}
.post-img{border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:16/9; display:block}
.post-img img{width:100%; height:100%; object-fit:cover; transition:transform 600ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){ .post:hover .post-img img{transform:scale(1.04)} }
.post h3{font-size:1.25rem; font-variation-settings:"opsz" 20; margin-top:.4rem}
.post h3 a{text-decoration:none}
.post h3 a:hover{text-decoration:underline}
.post .excerpt{color:var(--muted); font-size:.95rem; text-wrap:pretty; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.post .meta{font-size:.82rem; color:var(--accent-text); font-weight:600}
.post .more{font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:.4rem}
.post .more svg{width:16px; height:16px}
@media (max-width: 899px){ .posts{grid-template-columns:1fr} .post-img{max-width:560px} }

/* ---------- экран 14: запись + подвал ---------- */
.contact{background:var(--night); color:var(--night-ink); overflow:hidden; isolation:isolate; padding-bottom:2rem}
.contact::before{content:""; position:absolute; inset:-20%; z-index:-1; background:radial-gradient(48% 48% at 84% 18%, rgba(217,147,94,.34), transparent 62%), radial-gradient(50% 50% at 8% 92%, var(--night-2), transparent 65%)}
.contact-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,560px); gap:clamp(2rem,6vw,7rem); align-items:center; width:100%; max-width:1280px; margin-inline:auto}
.contact .lead{color:var(--night-muted)}
.direct{display:grid; gap:.5rem; margin-top:1rem}
.direct a, .direct .row{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 1rem; border-radius:var(--radius-sm); border:1px solid var(--night-line); text-decoration:none; color:var(--night-ink); transition:background-color 200ms ease, border-color 200ms ease, transform 160ms var(--ease-out)}
.direct a:active{transform:scale(.99)}
@media (hover:hover) and (pointer:fine){ .direct a:hover{background:rgba(241,235,226,.08); border-color:rgba(241,235,226,.5)} }
.direct b{font-weight:600}
.direct span{color:var(--night-muted); font-size:.9rem}
.direct .row{cursor:default}
.direct .row a{padding:0; border:0; display:inline; color:var(--night-ink)}
.copy{border:1px solid rgba(241,235,226,.4); background:transparent; color:var(--night-ink); border-radius:999px; padding:.4rem .85rem; font-size:.82rem; font-weight:600; transition:background-color 200ms ease, transform 160ms var(--ease-out); flex:none}
.copy:active{transform:scale(.96)}
.form{background:var(--bg); color:var(--ink); border-radius:var(--radius); padding:clamp(1.1rem,2.5vw,1.6rem); display:grid; gap:.75rem; box-shadow:0 40px 80px -40px rgb(0 0 0 / .5)}
.field{display:grid; gap:.3rem}
.field label{font-size:.85rem; font-weight:600}
.field input,.field select,.field textarea{width:100%; font:inherit; color:var(--ink); background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:.7rem .9rem; min-height:46px; transition:border-color 200ms ease, background-color 200ms ease}
.field input::placeholder,.field textarea::placeholder{color:var(--muted); opacity:.8}
.field textarea{min-height:76px; resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent); outline-offset:0; border-color:transparent}
.field .err{font-size:.82rem; color:var(--accent-text); font-weight:600; display:none}
.field.is-invalid .err{display:block}
.field.is-invalid input{border-color:var(--accent)}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:.75rem}
.consent{font-size:.8rem; color:var(--muted); text-wrap:pretty}
.consent a{color:inherit}
.done{display:none; gap:.6rem; padding:.9rem 1rem; border-radius:var(--radius-sm); background:var(--accent-soft)}
.form.is-done .done{display:grid}
.done p{font-size:.92rem}
.done .row{display:flex; gap:.5rem; flex-wrap:wrap}
@media (max-width: 899px){ .contact-grid{grid-template-columns:1fr} .form-row{grid-template-columns:1fr} }

.footer{margin-top:clamp(1rem, 3vh, 2rem); border-top:1px solid var(--night-line); padding-top:.9rem; color:var(--night-muted); font-size:.82rem}
.footer-in{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 2rem}
.footer .logo{color:var(--night-ink); font-size:1.15rem}
.footer-links{display:flex; flex-wrap:wrap; gap:.25rem 1.1rem; list-style:none; padding:0; margin:0}
.footer-links a{text-decoration:none; color:var(--night-ink)}
.footer-links a:hover{text-decoration:underline}
.footer .legal{display:flex; flex-wrap:wrap; gap:.3rem 1.5rem; width:100%}
.footer details{display:inline}
.footer summary{cursor:pointer; text-decoration:underline; text-underline-offset:.16em; display:inline}
.footer details p{margin-top:.5rem; max-width:70ch}

/* ---------- страницы статей ---------- */
.page main{padding-bottom:4rem}
.art-hero{padding-block:clamp(2.5rem, 6vw, 5rem) 2rem; display:grid; gap:1rem; max-width:760px}
.art-hero .kicker{font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-text); font-weight:600}
.art-hero h1{font-size:clamp(2rem, 1.3rem + 2.6vw, 3.6rem); line-height:1.05; font-variation-settings:"opsz" 30}
.art-hero .lead{max-width:none}
.art-cover{border-radius:var(--radius); overflow:hidden; aspect-ratio:21/9; max-height:520px; margin-bottom:2.5rem}
.art-cover img{width:100%; height:100%; object-fit:cover}
.article{display:grid; gap:1.1rem; max-width:68ch; font-family:var(--font-voice); font-size:1.15rem; line-height:1.62; font-variation-settings:"opsz" 12}
.article h2{font-family:var(--font-ui); font-size:1.1rem; font-weight:600; margin-top:.75rem; letter-spacing:0}
.article i{color:var(--muted)}
.art-cta{margin-top:3rem; border-radius:var(--radius); background:var(--night); color:var(--night-ink); padding:clamp(1.5rem,3vw,2.5rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem}
.art-cta b{display:block; font-family:var(--font-voice); font-size:1.5rem; font-weight:500; margin-bottom:.25rem; font-variation-settings:"opsz" 22}
.art-cta p{color:var(--night-muted); max-width:52ch; text-wrap:pretty}
.art-nav{display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:2rem; font-size:.95rem}
.art-nav a{text-decoration:none; color:var(--accent-text); font-weight:600}
.page .footer{background:var(--bg-2); color:var(--muted); border-top:1px solid var(--line); padding-block:1.5rem; margin-top:0}
.page .footer .logo,.page .footer-links a{color:var(--ink)}

/* ---------- компактный режим для невысоких экранов ноутбуков ---------- */
@media (min-width: 900px) and (max-height: 720px){
  :root{--scr-top:calc(var(--nav-h) + .75rem); --fs-h2:clamp(1.6rem, 1rem + 1.8vw, 2.5rem); --fs-lead:1.02rem}
  .scr{padding-bottom:1.25rem}
  .scr-head{margin-bottom:.9rem}
  .define-copy .measure{font-size:1rem}
  .define dd{font-size:1.3rem}
  .steps p{font-size:.88rem; line-height:1.4}
  .steps li{padding-block:.5rem; gap:.8rem}
  .steps .num{font-size:1.8rem}
  .practice-copy{gap:.7rem; padding-top:calc(var(--nav-h) + .5rem); padding-bottom:1rem}
  .bento{grid-auto-rows:minmax(150px, 26svh); gap:.75rem}
  .cell{padding:1rem 1.1rem}
  .cell .big{font-size:1.6rem}
  .cell p{font-size:.88rem}
  .fcard{padding:.9rem 1rem; gap:.4rem}
  .fcard p{font-size:.86rem; line-height:1.4}
  .fcard h3{font-size:1.15rem}
  .fcard-feature .kicker{padding-top:2rem}
  .price{font-size:1.6rem}
  .b2b{padding:.65rem 1.1rem}
  .b2b p{font-size:.86rem}
  .pay{font-size:.78rem; margin-top:.4rem}
  .about{gap:.9rem}
  .about-text p{font-size:.92rem}
  .quote p{font-size:1.08rem}
  .quote{padding:1.25rem 1.3rem; min-height:min(50svh, 400px)}
  .post-img{aspect-ratio:2/1}
  .post .excerpt{-webkit-line-clamp:2; font-size:.9rem}
  .post h3{font-size:1.15rem}
  .faq summary{font-size:1.05rem}
  .form{gap:.6rem}
  .field textarea{min-height:64px}
  .field input,.field select,.field textarea{min-height:42px; padding:.6rem .85rem}
  .direct a,.direct .row{padding:.5rem .9rem}
  .contact .lead{font-size:.98rem}
}

/* ---------- липкая кнопка на мобильном ---------- */
.mobile-cta{position:fixed; left:0; right:0; bottom:0; z-index:85; display:none; gap:.6rem; padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom, 0px)); background:var(--bg); border-top:1px solid var(--line); transform:translateY(110%); transition:transform 260ms var(--ease-out)}
.mobile-cta.is-visible{transform:none}
.mobile-cta .btn{flex:1}
@media (max-width: 899px){ .mobile-cta{display:flex} }

/* ---------- движение ---------- */
@keyframes pulse{0%{transform:scale(1); opacity:.9} 100%{transform:scale(2.2); opacity:0}}
@keyframes eq{from{transform:scaleY(.25)} to{transform:scaleY(1)}}
@keyframes ring{0%{opacity:0; transform:scale(.35)} 8%{opacity:.95} 100%{opacity:0; transform:scale(2.3)}}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)} to{transform:translate3d(-3%,2%,0) scale(1.06)}}
@keyframes rise-in{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none}}
@keyframes media-in{from{opacity:0; transform:scale(1.04)} to{opacity:1; transform:none}}
@media (prefers-reduced-motion: no-preference){
  .hero::before{animation:drift 36s var(--ease-in-out) infinite alternate; will-change:transform}
  .hero-copy > *{animation:rise-in 900ms var(--ease-out) both; animation-delay:calc(var(--i, 0) * 90ms + 120ms)}
  .hero-media{animation:media-in 1400ms var(--ease-out) both}
  .hero-foot,.hero-brand{animation:rise-in 900ms var(--ease-out) both; animation-delay:560ms}
  .is-ringing .hero-rings span{animation:ring 3.8s var(--ease-out) forwards}
  .is-ringing .hero-rings span:nth-child(2){animation-delay:.35s}
  .is-ringing .hero-rings span:nth-child(3){animation-delay:.7s}
  .is-ringing .hero-rings span:nth-child(4){animation-delay:1.05s}
  .js .reveal{opacity:0; transform:translateY(22px); transition:opacity 900ms var(--ease-out), transform 900ms var(--ease-out)}
  .js .reveal.is-in{opacity:1; transform:none}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto; scroll-snap-type:none}
  .is-ringing .hero-rings span{animation:none; opacity:.5; transform:scale(1); transition:opacity 400ms ease}
  .screen.is-playing .play-big .pulse{animation:none; opacity:.6}
  .screen.is-playing .play-big .eq i{animation:none; transform:scaleY(.7)}
}
@media print{
  html{scroll-snap-type:none}
  .nav,.mobile-cta,.video-toggle,.hero-media video,body::after{display:none !important}
  .scr,.screen{min-height:0; position:static}
}

/* ===== Подвал ===== */
.sitefoot{position:relative; background:radial-gradient(120% 90% at 100% 0%, #4A3222 0%, transparent 45%), var(--night); color:var(--night-ink); padding-top:clamp(3rem,7vh,5.5rem); scroll-snap-align:end; overflow:hidden}
.sf-grid{display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr); gap:0; padding-bottom:clamp(2.5rem,6vh,4.5rem); position:relative; z-index:1}
.sf-grid > *{padding-inline:clamp(1rem,2.5vw,2.5rem)}
.sf-grid > :first-child{padding-left:0}
.sf-grid > :last-child{padding-right:0}
.sf-grid > * + *{border-left:1px solid var(--night-line)}
.sitefoot h2{font-family:var(--font-voice); font-weight:500; font-size:1.3rem; margin:0 0 1.3rem; color:var(--night-ink)}
.sitefoot a{color:inherit; text-decoration:none}
.sf-logo{display:flex; align-items:center; gap:1rem}
.sf-mark{width:clamp(52px,4.5vw,72px); height:auto; flex:none}
.sitefoot .sf-logo b{display:block; color:var(--night-ink); font-family:var(--font-voice); font-weight:400; font-size:clamp(2rem,1.2rem + 2vw,3rem) !important; line-height:1}
.sf-logo small{display:block; margin-top:.45rem; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--night-muted)}
.sf-brand > p{margin:1.4rem 0 1.3rem; color:var(--night-muted); font-size:1.05rem; line-height:1.55; max-width:36ch}
.sf-social{display:flex; gap:.75rem}
.sf-social a,.sf-ico{display:grid; place-items:center; width:52px; height:52px; border-radius:50%; border:1px solid var(--night-line); flex:none; transition:border-color .2s, background-color .2s, color .2s}
.sf-social svg,.sf-ico svg{width:22px; height:22px}
.sf-social a:hover{border-color:var(--accent-fill); color:var(--accent-fill); background:rgb(217 147 94 / .08)}
.sf-sub{margin-top:1.5rem; padding:1.2rem; border-radius:var(--radius); background:rgb(255 255 255 / .04); border:1px solid rgb(255 255 255 / .06); max-width:500px}
.sf-sub-head{display:flex; gap:1rem; align-items:center}
.sf-sub-head b{display:block; font-weight:600}
.sf-sub-head span:not(.sf-ico){display:block; font-size:.88rem; color:var(--night-muted)}
.sf-sub-row{display:flex; margin-top:1rem; border:1px solid var(--night-line); border-radius:999px; padding:4px 4px 4px 1.2rem; align-items:center}
.sf-sub-row input{flex:1; min-width:0; background:none; border:0; color:var(--night-ink); font:inherit; padding:.6rem 0}
.sf-sub-row input::placeholder{color:var(--night-muted)}
.sf-sub-row input:focus{outline:none}
.sf-sub-row:focus-within{border-color:var(--accent-fill)}
.sf-sub-row button{width:72px; height:46px; border:0; border-radius:999px; background:var(--accent-fill); color:#2A1D15; cursor:pointer; display:grid; place-items:center; transition:transform .2s}
.sf-sub-row button:hover{transform:translateX(2px)}
.sf-sub-row button svg{width:22px; height:22px}
.sf-sub-ok{margin:.7rem 0 0; font-size:.85rem; color:var(--accent-fill)}
.sf-col ul{list-style:none; margin:0; padding:0; display:grid; gap:.95rem}
.sf-col ul a{color:var(--night-ink); opacity:.88; font-size:1.02rem}
.sf-col ul a:hover{opacity:1; color:var(--accent-fill)}
.sf-place{display:flex; gap:.9rem; align-items:center; margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--night-line)}
.sf-place b{display:block; font-weight:600}
.sf-place span:not(.sf-ico){font-size:.88rem; color:var(--night-muted)}
.sf-contacts{display:grid; align-content:start; gap:1rem}
.sf-contacts h2{margin-bottom:.4rem}
.sf-c{display:flex; gap:1rem; align-items:center}
.sf-c b{display:block; font-weight:500; font-size:1.1rem; overflow-wrap:anywhere}
.sf-c small{display:block; color:var(--night-muted); font-size:.9rem}
.sf-c:hover .sf-ico{border-color:var(--accent-fill); color:var(--accent-fill)}
.sf-tg{display:inline-flex; align-items:center; gap:.8rem; justify-content:center; margin-top:.5rem; padding:.95rem 1.4rem; border:1px solid var(--accent-fill); border-radius:999px; font-weight:500; max-width:320px; transition:background-color .2s}
.sf-tg svg{width:20px; height:20px}
.sf-tg svg:last-child{width:15px; height:15px; opacity:.6; margin-left:auto}
.sf-tg:hover{background:rgb(217 147 94 / .12)}
.sf-note{margin:0; font-size:.88rem; color:var(--night-muted)}
.sf-wave{position:absolute; left:25%; right:0; bottom:110px; width:75%; height:110px; color:rgb(217 147 94 / .12); pointer-events:none}
.sf-bottom{border-top:1px solid var(--night-line); position:relative; z-index:1}
.sf-bottom-in{display:flex; flex-wrap:wrap; gap:1rem 2.5rem; align-items:center; justify-content:space-between; padding-block:1.6rem}
.sf-copy > span{display:block; margin-bottom:.25rem}
.sf-copy small,.sf-credit{color:var(--night-muted); font-size:.82rem}
.sf-legal{display:flex; flex-wrap:wrap; gap:.6rem 2rem; font-size:.88rem; color:var(--night-muted)}
.sf-legal a,.sf-legal summary{text-decoration:underline; text-underline-offset:.2em; cursor:pointer}
.sf-legal a:hover,.sf-legal summary:hover{color:var(--night-ink)}
.sf-legal summary{list-style:none} .sf-legal summary::-webkit-details-marker{display:none}
.sf-legal details p{margin:.6rem 0 0; max-width:60ch}
@media (max-width: 1180px){ .sf-grid{grid-template-columns:1fr 1fr; row-gap:2.5rem} .sf-grid > *{padding-inline:0; border-left:0 !important} .sf-grid > :nth-child(even){padding-left:2rem; border-left:1px solid var(--night-line) !important} }
@media (max-width: 640px){ .sf-grid{grid-template-columns:1fr} .sf-grid > :nth-child(even){padding-left:0; border-left:0 !important} .sf-col{border-top:1px solid var(--night-line) !important; padding-top:2rem} .sf-wave{display:none} .sitefoot{padding-bottom:84px} }
.visually-hidden{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.sitefoot .sf-title{display:block; font-family:var(--font-voice); font-weight:400; font-size:clamp(2.1rem, 1.3rem + 2vw, 3.1rem); line-height:1; color:var(--night-ink); letter-spacing:-.01em}

/* ===== Главный экран v2 (по макету) ===== */
.scr.hero{background:#0B1C17; display:flex; flex-direction:column; justify-content:space-between; align-content:stretch}
.hero-media img{object-position:70% 50%}
.hero-media .scrim{background:linear-gradient(90deg, rgba(9,27,22,.92) 0%, rgba(9,27,22,.72) 30%, rgba(9,27,22,.2) 55%, rgba(9,27,22,0) 70%), linear-gradient(180deg, rgba(9,27,22,.55) 0%, rgba(9,27,22,0) 22%, rgba(9,27,22,0) 70%, rgba(9,27,22,.55) 100%)}
.hero::before{display:none}
.hero-bar{position:relative; z-index:3; display:flex; align-items:center; gap:2rem; padding-top:clamp(1.25rem,3vh,2rem)}
.hb-logo{display:flex; align-items:center; gap:.85rem; color:#EEF1EB; text-decoration:none}
.hb-mark{width:clamp(44px,3.4vw,58px); height:auto; flex:none}
.hb-logo b{display:block; font-family:var(--font-voice); font-weight:500; font-size:clamp(1.5rem,1rem + 1vw,2.1rem); line-height:1; letter-spacing:-.01em}
.hb-logo small{display:block; margin-top:.3rem; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(238,241,235,.72); font-weight:600}
.hb-links{display:flex; gap:clamp(.75rem,2.2vw,2.5rem); list-style:none; margin:0 auto; padding:0}
.hb-links a{position:relative; display:inline-block; padding:.5rem 0; color:rgba(238,241,235,.86); text-decoration:none; font-size:1.02rem; transition:color .2s}
.hb-links a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px; background:var(--accent-fill); transform:scaleX(0); transition:transform .3s var(--ease-out)}
.hb-links a:hover,.hb-links a[aria-current="page"]{color:var(--accent-fill)}
.hb-links a:hover::after,.hb-links a[aria-current="page"]::after{transform:none}
.hb-cta{padding:.9rem 1.9rem; border:1.5px solid var(--accent-fill); border-radius:999px; color:var(--accent-fill); text-decoration:none; font-weight:600; transition:background-color .2s, color .2s}
.hb-cta:hover{background:var(--accent-fill); color:#1B130D}
.hero-grid{flex:1; align-content:center; padding-block:clamp(1.5rem,5vh,4rem) clamp(5.5rem,11vh,8rem)}
.hero-copy{grid-column:1 / span 7}
.hero h1{max-width:none; font-size:clamp(2.8rem, 1.2rem + 5vw, 6.8rem); line-height:1.02; gap:1.4rem}
.hero h1 .kicker{font-size:clamp(.78rem,.7rem + .2vw,.95rem); letter-spacing:.16em}
.hero h1 > span:last-child{max-width:10ch}
.hero .lead{font-size:clamp(1.05rem,.95rem + .35vw,1.35rem); max-width:36em; color:rgba(238,241,235,.86)}
.btn-lg{min-height:62px; padding:1rem 2rem; font-size:1.05rem}
.btn-lg svg{width:22px; height:22px}
.hero-actions{gap:1.1rem; margin-top:.5rem}
.btn-listen{padding-left:.75rem; gap:.9rem; border-color:rgba(238,241,235,.5)}
.btn-listen .pc{display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#0B1C17; color:#EEF1EB}
.btn-listen .pc svg{width:16px; height:16px}
.hero-foot{position:absolute; right:var(--gutter); bottom:calc(clamp(88px,11vh,120px) + clamp(1.5rem,4vh,3rem)); display:flex; align-items:center; gap:1rem; z-index:2}
.hero-note{text-align:right; max-width:none; font-size:1.1rem; transition:opacity .25s}
.hero-note span{display:block}
.hero-note b{font-size:.8rem; letter-spacing:.12em}
.hn-line{width:40px; height:1.5px; background:var(--accent-fill); opacity:.8}
.hn-arrow{width:58px; height:58px; border-radius:50%; border:1px solid rgba(238,241,235,.5); background:rgba(9,27,22,.25); color:#EEF1EB; display:grid; place-items:center; cursor:pointer; transition:border-color .2s, background-color .2s}
.hn-arrow svg{width:22px; height:22px}
.hn-arrow:hover{border-color:var(--accent-fill); background:rgba(217,147,94,.15)}
.hero-benefits{position:relative; z-index:2; background:rgba(12,32,27,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-top:1px solid rgba(238,241,235,.08); border-bottom:1px solid rgba(238,241,235,.06)}
.hero-benefits ul{display:grid; grid-template-columns:repeat(5,1fr); list-style:none; margin:0 auto; padding-block:clamp(1.1rem,2.6vh,1.9rem)}
.hero-benefits li{display:flex; align-items:center; gap:1.4rem; padding-inline:clamp(.5rem,2vw,2rem); color:rgba(238,241,235,.85); font-size:clamp(.9rem,.8rem + .25vw,1.08rem); line-height:1.35}
.hero-benefits li:first-child{padding-left:0}
.hero-benefits li + li{border-left:1px solid rgba(238,241,235,.16)}
.hero-benefits svg{width:clamp(38px,3vw,54px); height:auto; flex:none; color:var(--accent-fill)}
.hero-brand{display:none}
@media (max-width: 1180px){ .hb-links{display:none} .hb-cta{margin-left:auto} .hero-copy{grid-column:1 / span 10} }
@media (max-width: 899px){
  .scr.hero{min-height:100svh}
  .hero-bar{padding-top:1rem}
  .hb-cta{padding:.65rem 1.1rem; font-size:.9rem}
  .hero-grid{padding-block:2rem 1.5rem}
  .hero-copy{grid-column:1 / -1}
  .hero-media img{object-position:74% 50%}
  .hero-media .scrim{background:linear-gradient(180deg, rgba(9,27,22,.6) 0%, rgba(9,27,22,.2) 30%, rgba(9,27,22,.85) 62%, rgba(9,27,22,.95) 100%)}
  .hero-foot{position:static; justify-content:flex-start; padding:0 var(--gutter) 1.25rem}
  .hero-note{text-align:left; order:3; font-size:.95rem}
  .hn-line{display:none}
  .hn-arrow{width:44px; height:44px}
  .btn-lg{min-height:54px; padding:.8rem 1.3rem; width:100%}
  .btn-listen{width:auto}
  .hero-benefits ul{grid-template-columns:repeat(5, max-content); overflow-x:auto; scrollbar-width:none; gap:0}
  .hero-benefits li{gap:.8rem; padding-inline:1rem}
  .hero-benefits svg{width:32px}
}
@media (min-width: 900px) and (max-height: 720px){
  .hero h1{font-size:clamp(2.4rem, 1rem + 4vw, 4.6rem); gap:.8rem}
  .btn-lg{min-height:52px}
  .hero-benefits ul{padding-block:.8rem}
  .hn-arrow{width:48px; height:48px}
}
.hero-bar .hb-name{display:block; font-family:var(--font-voice); font-weight:500; font-size:clamp(1.5rem,1rem + 1vw,2.1rem); line-height:1; letter-spacing:-.01em; color:#EEF1EB}
.hero h1 > span:last-child{max-width:none}
.hero h1{font-size:clamp(2.6rem, 1rem + 4.6vw, 6.2rem)}
.btn-listen .pc{background:#081612; box-shadow:0 0 0 1px rgba(238,241,235,.15)}
@media (min-width: 900px) and (max-height: 800px){ .hero h1{font-size:clamp(2.4rem, .8rem + 4vw, 5rem)} .hero-grid{padding-block:1rem 4.5rem} .hero .lead{font-size:1.05rem} }
@media (max-width: 899px){ .hero h1{font-size:clamp(2.3rem, 1.2rem + 5vw, 3.4rem)} }
@media (max-width: 899px){
  .hero-media img{object-position:84% 50%}
  .hero-media .scrim{background:linear-gradient(180deg, rgba(9,27,22,.7) 0%, rgba(9,27,22,.55) 45%, rgba(9,27,22,.35) 70%, rgba(9,27,22,.8) 100%)}
  .hb-logo small{display:none}
}

/* ===== Блок записи v2 (по макету) ===== */
.contact{background:#1C140E}
.contact::before{display:none}
.contact-bg{position:absolute; inset:0; z-index:-1}
.contact-bg img{width:100%; height:100%; object-fit:cover; object-position:0% 50%}
.contact-grid{max-width:1640px; grid-template-columns:minmax(0,1fr) minmax(0,640px); gap:clamp(2rem,5vw,5rem); padding-left:clamp(0px, 20vw, 380px)}
.c-kicker{font-size:.8rem; letter-spacing:.34em; text-transform:uppercase; color:var(--accent-fill); font-weight:500; margin:0 0 1.1rem}
.c-title{font-family:var(--font-voice); font-weight:400; font-size:clamp(2.4rem, 1rem + 3.8vw, 5rem); line-height:1.04; letter-spacing:-.02em; color:#F3EEE6; margin:0}
.c-title em{font-style:italic; color:var(--accent-fill)}
.c-lead{margin:1.4rem 0 0; color:rgba(243,238,230,.8); font-size:clamp(1rem,.9rem + .3vw,1.2rem); line-height:1.55; max-width:32em}
.c-points{list-style:none; padding:0; margin:2rem 0 0; display:grid; gap:1.3rem}
.c-points li{display:flex; gap:1.3rem; align-items:center}
.c-ico{width:clamp(56px,4.4vw,72px); height:clamp(56px,4.4vw,72px); border-radius:50%; border:1px solid rgba(217,147,94,.45); display:grid; place-items:center; flex:none; color:var(--accent-fill)}
.c-ico svg{width:52%; height:52%}
.c-points b{display:block; font-family:var(--font-voice); font-weight:500; font-size:1.2rem; color:#F3EEE6}
.c-points span:not(.c-ico){display:block; font-size:.95rem; color:rgba(243,238,230,.66); margin-top:.2rem}
.c-direct{margin:1.8rem 0 0; font-size:.95rem; color:rgba(243,238,230,.66)}
.c-direct a{color:#F3EEE6; text-decoration:underline; text-decoration-color:rgba(217,147,94,.6); text-underline-offset:.2em}
.c-direct a:hover{color:var(--accent-fill)}
.c-form{background:rgba(52,38,28,.55); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(243,238,230,.12); border-radius:28px; padding:clamp(1.4rem,2.6vw,2.6rem); gap:1.35rem; color:#F3EEE6; box-shadow:0 50px 100px -50px rgba(0,0,0,.7)}
.c-form .form-row{gap:1.2rem}
.c-form .field{gap:.6rem}
.c-form label{font-size:1rem; font-weight:500; color:#F3EEE6}
.c-form label i{font-style:normal; color:var(--accent-fill)}
.ctl{position:relative; display:flex; align-items:center}
.ctl > svg:first-child{position:absolute; left:1.1rem; width:24px; height:24px; color:rgba(243,238,230,.7); pointer-events:none}
.c-form .field input,.c-form .field select,.c-form .field textarea{background:rgba(20,14,10,.35); border:1px solid rgba(243,238,230,.16); color:#F3EEE6; border-radius:14px; min-height:62px; padding:.9rem 1rem .9rem 3.4rem; font-size:1.02rem}
.c-form .field input::placeholder,.c-form .field textarea::placeholder{color:rgba(243,238,230,.45); opacity:1}
.ctl-select select{appearance:none; -webkit-appearance:none; padding-right:3rem; cursor:pointer}
.ctl-select select option{color:#10302A}
.ctl-select > svg:last-child{position:absolute; right:1.1rem; width:22px; height:22px; pointer-events:none; color:#F3EEE6}
.ctl-area{align-items:flex-start}
.ctl-area > svg:first-child{top:1.1rem}
.c-form .field textarea{min-height:112px}
.c-form .field input:focus,.c-form .field select:focus,.c-form .field textarea:focus{outline:none; border-color:var(--accent-fill); background:rgba(20,14,10,.5)}
.c-form .err{color:#F0B48A}
.c-submit{min-height:72px; border-radius:999px; font-size:1.2rem; gap:.8rem; background:linear-gradient(100deg,#D9935E,#E8A472 60%,#C98352); color:#1B130D; box-shadow:0 18px 40px -18px rgba(217,147,94,.7)}
.c-submit svg{width:24px; height:24px}
.c-consent{display:flex; gap:.9rem; align-items:flex-start; font-size:.88rem !important; font-weight:400 !important; color:rgba(243,238,230,.66) !important; line-height:1.5; cursor:pointer}
.c-consent input{position:absolute; opacity:0; width:1px; height:1px}
.c-consent .box{width:30px; height:30px; flex:none; border-radius:7px; background:var(--accent-fill); color:#1B130D; display:grid; place-items:center; transition:background-color .2s}
.c-consent .box svg{width:20px; height:20px}
.c-consent input:not(:checked) + .box{background:transparent; border:1.5px solid rgba(243,238,230,.5)}
.c-consent input:not(:checked) + .box svg{opacity:0}
.c-consent input:focus-visible + .box{outline:2px solid var(--accent-fill); outline-offset:2px}
.c-consent a{color:#F3EEE6}
.c-consent.is-invalid .box{border-color:#F0B48A; box-shadow:0 0 0 3px rgba(240,180,138,.3)}
.c-form .done{background:rgba(217,147,94,.14); color:#F3EEE6}
.c-form .done .muted{color:rgba(243,238,230,.66)}
@media (max-width: 1180px){ .contact-grid{padding-left:0} .contact-bg img{opacity:.45} }
@media (max-width: 899px){ .c-form .form-row{grid-template-columns:1fr} .c-points{margin-top:1.4rem} .c-submit{min-height:60px; font-size:1.05rem} }
@media (min-width: 900px) and (max-height: 820px){
  .c-title{font-size:clamp(2.2rem, .8rem + 3vw, 3.8rem)} .c-points{margin-top:1.2rem; gap:.8rem} .c-ico{width:52px; height:52px} .c-lead{margin-top:1rem}
  .c-form{gap:.9rem; padding:1.4rem 1.8rem} .c-form .field input,.c-form .field select{min-height:52px} .c-form .field textarea{min-height:80px} .c-submit{min-height:58px}
  .c-direct{margin-top:1rem}
}
@media (min-width: 900px) and (max-height: 680px){ .c-points li:nth-child(3), .c-lead{display:none} .c-form .field textarea{min-height:60px} }
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,600px); gap:clamp(2rem,4vw,4.5rem); padding-left:clamp(0px, 16vw, 330px)}
.c-title{white-space:nowrap; font-size:clamp(2.3rem, .9rem + 3.3vw, 4.6rem)}
@media (min-width: 900px) and (max-height: 820px){ .c-title{font-size:clamp(2.1rem, .6rem + 3vw, 3.6rem)} }
@media (max-width: 899px){ .c-title{white-space:normal} }

/* ===== Что такое саундхилинг v2 ===== */
.define2{background:#F3EFE8; color:#1C2A25; overflow:hidden; isolation:isolate}
.d2-photo{position:absolute; top:0; right:0; bottom:0; width:52%; margin:0; z-index:-2; -webkit-mask-image:radial-gradient(130% 120% at 100% 50%, #000 58%, transparent 74%); mask-image:radial-gradient(130% 120% at 100% 50%, #000 58%, transparent 74%)}
.d2-photo img{width:100%; height:100%; object-fit:cover; object-position:40% 50%}
.d2-arcs{position:absolute; left:42%; top:-6%; width:min(34vw,560px); color:rgba(184,106,50,.45); z-index:-1; pointer-events:none}
.d2-in{display:grid; gap:clamp(1rem,2.4vh,1.6rem); align-content:center}
.d2-in > *{max-width:min(860px, 54vw)}
.d2-kicker{display:flex; align-items:center; gap:1.5rem; margin:0; font-size:.8rem; letter-spacing:.3em; text-transform:uppercase; color:#A8683A; font-weight:500}
.d2-kicker::after{content:""; width:110px; height:1px; background:rgba(168,104,58,.6)}
.d2-title{margin:0; font-family:var(--font-voice); font-weight:400; font-size:clamp(2.6rem, 1rem + 4.4vw, 6rem); line-height:1; letter-spacing:-.025em; color:#16271F}
.d2-title em{display:block; font-style:italic; color:#A8683A}
.d2-text{margin:0; font-size:clamp(1rem,.9rem + .3vw,1.2rem); line-height:1.6; color:#4B524D; max-width:min(720px,50vw)}
.d2-feats{list-style:none; margin:.5rem 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr))}
.d2-feats li{display:grid; align-content:start; gap:.35rem; padding-inline:clamp(.7rem,1.4vw,1.6rem); border-left:1px solid rgba(28,42,37,.12)}
.d2-feats li:first-child{padding-left:0; border-left:0}
.d2-ico{width:clamp(56px,4.3vw,80px); height:clamp(56px,4.3vw,80px); border-radius:50%; background:#E9DCCB; color:#A8683A; display:grid; place-items:center; margin-bottom:.8rem}
.d2-ico svg{width:52%; height:52%}
.d2-feats b{font-family:var(--font-voice); font-weight:500; font-size:clamp(1.05rem,.9rem + .35vw,1.35rem); line-height:1.15; color:#16271F}
.d2-feats li > span:last-child{font-size:.92rem; line-height:1.4; color:#5C625E}
.d2-facts{display:grid; grid-template-columns:repeat(3,1fr); margin:.5rem 0 0; padding:1.2rem 1.6rem; background:rgba(255,255,255,.62); backdrop-filter:blur(8px); border-radius:22px; box-shadow:0 20px 50px -30px rgba(60,40,20,.35)}
.d2-facts div{display:grid; grid-template-columns:auto 1fr; column-gap:1.1rem; align-items:center; padding-inline:1.2rem; border-left:1px solid rgba(28,42,37,.12)}
.d2-facts div:first-child{border-left:0; padding-left:0}
.d2-facts svg{grid-row:span 2; width:40px; height:40px; color:#A8683A}
.d2-facts dt{font-size:.82rem; color:#7A7F7B}
.d2-facts dd{margin:0; font-family:var(--font-voice); font-size:clamp(1.3rem,1rem + .6vw,1.75rem); color:#16271F}
@media (min-width: 900px) and (max-height: 820px){ .d2-title{font-size:clamp(2.3rem, .6rem + 3.6vw, 4.4rem)} .d2-ico{width:50px; height:50px; margin-bottom:.4rem} .d2-text{font-size:1rem; line-height:1.5} .d2-facts{padding:.8rem 1.2rem} .d2-in{gap:.8rem} }
@media (min-width: 900px) and (max-height: 680px){ .d2-feats li > span:last-child{display:none} }
@media (max-width: 1180px){ .d2-in > *{max-width:60vw} .d2-feats{grid-template-columns:repeat(2,1fr); row-gap:1.2rem} .d2-feats li:nth-child(3){padding-left:0; border-left:0} }
@media (max-width: 899px){
  .define2{padding-top:0}
  .d2-photo{position:relative; width:100%; height:62vw; -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent); mask-image:linear-gradient(180deg,#000 70%,transparent)}
  .d2-arcs{display:none}
  .d2-in > *{max-width:none}
  .d2-facts{grid-template-columns:1fr; gap:.8rem} .d2-facts div{border-left:0; padding-left:0}
}

/* ===== Как проходит практика v2 ===== */
.practice2{background:#F3EFE8; color:#1C2A25; overflow:hidden; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:stretch; padding:0}
.p2-photo{position:relative; margin:0; min-height:100%; -webkit-mask-image:radial-gradient(120% 140% at 0% 50%, #000 70%, transparent 70.4%); mask-image:radial-gradient(120% 140% at 0% 50%, #000 70%, transparent 70.4%)}
.p2-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:35% 45%}
.p2-photo figcaption{position:absolute; left:clamp(1.5rem,3.5vw,4rem); bottom:clamp(2rem,6vh,4.5rem); padding-left:1.4rem; border-left:2px solid var(--accent-fill); color:#FBF6EE; font-family:var(--font-voice); font-style:italic; font-size:clamp(1.1rem,.9rem + .5vw,1.5rem); line-height:1.35; max-width:14ch; text-shadow:0 2px 18px rgba(0,0,0,.55)}
.p2-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,12,6,.6), transparent 35%); pointer-events:none}
.p2-arcs{position:absolute; left:calc(50% - 60px); top:0; height:100%; width:140px; color:rgba(184,106,50,.45); pointer-events:none}
.p2-copy{display:grid; align-content:center; gap:clamp(.9rem,2.2vh,1.5rem); padding:var(--scr-top) var(--gutter) 2rem clamp(1.5rem,3vw,3.5rem)}
.p2-lead{margin:0; font-size:clamp(1rem,.9rem + .35vw,1.25rem); line-height:1.5; color:#4B524D; max-width:36em}
.p2-steps{list-style:none; margin:.5rem 0 0; padding:0}
.p2-steps li{display:grid; grid-template-columns:auto auto minmax(0,1fr) minmax(130px,auto); gap:clamp(.8rem,1.6vw,1.8rem); align-items:start; padding-block:clamp(.9rem,2.2vh,1.6rem); border-top:1px solid rgba(28,42,37,.12)}
.p2-steps li:first-child{border-top:0; padding-top:0}
.p2-ico{width:clamp(56px,4.6vw,86px); height:clamp(56px,4.6vw,86px); border-radius:50%; background:#E9DCCB; color:#A8683A; display:grid; place-items:center}
.p2-ico svg{width:50%; height:50%}
.p2-num{font-family:var(--font-voice); color:#A8683A; font-size:1.2rem; padding-top:.2rem}
.p2-body h3{margin:0 0 .45rem; font-family:var(--font-voice); font-weight:500; font-size:clamp(1.15rem,1rem + .4vw,1.5rem); color:#16271F}
.p2-body p{margin:0; font-size:clamp(.9rem,.85rem + .15vw,1rem); line-height:1.55; color:#5C625E; max-width:44ch}
.p2-time{display:flex; gap:.6rem; align-items:flex-start; padding-left:1.2rem; border-left:1px solid rgba(28,42,37,.12); color:#A8683A; font-weight:600; font-size:clamp(.9rem,.85rem + .2vw,1.08rem); line-height:1.35; min-height:3.5rem}
.p2-time svg{width:24px; height:24px; flex:none}
.p2-time small{display:block; font-weight:400; color:#5C625E; font-size:.85rem}
@media (min-width: 900px) and (max-height: 820px){ .p2-steps li{padding-block:.7rem} .p2-ico{width:50px; height:50px} .p2-copy .d2-title{font-size:clamp(2.2rem,.6rem + 3.4vw,4.2rem)} .p2-copy{gap:.7rem} }
@media (min-width: 900px) and (max-height: 680px){ .p2-body p{font-size:.85rem; line-height:1.4} .p2-lead{display:none} }
@media (max-width: 1180px){ .p2-steps li{grid-template-columns:auto minmax(0,1fr)} .p2-num{display:none} .p2-time{grid-column:2; border-left:0; padding-left:0; min-height:0} }
@media (max-width: 899px){
  .practice2{grid-template-columns:1fr}
  .p2-photo{height:80vw; -webkit-mask-image:none; mask-image:none}
  .p2-arcs{display:none}
  .p2-copy{padding:2.5rem var(--gutter)}
}
.p2-steps li{grid-template-columns:auto auto minmax(0,1fr) clamp(120px,10vw,170px)}
.p2-time span{min-width:0}
@media (max-width: 1180px){ .p2-steps li{grid-template-columns:auto minmax(0,1fr)} }
@media (min-width: 900px) and (max-height: 820px){ .p2-body p{font-size:.9rem; line-height:1.45} .p2-body h3{margin-bottom:.25rem} .p2-lead{font-size:1rem} .p2-copy{padding-top:calc(var(--nav-h) + .75rem); padding-bottom:1rem} }
.scr.practice2{padding:0}
.p2-photo::after{background:linear-gradient(0deg, rgba(20,12,6,.8), rgba(20,12,6,.25) 30%, transparent 45%)}
.p2-photo figcaption{z-index:1; color:#FFF8EE; max-width:16ch}
.p2-steps li{grid-template-columns:auto auto minmax(0,1fr) clamp(150px,11vw,190px)}
@media (max-width: 1180px){ .p2-steps li{grid-template-columns:auto minmax(0,1fr)} }
@media (max-width: 899px){ .p2-photo figcaption{display:none} .p2-photo::after{display:none} }
@media (min-width: 900px) and (max-height: 680px){ .p2-steps li{padding-block:.5rem} .p2-copy .d2-title{font-size:clamp(2rem,.5rem + 3vw,3.4rem)} .p2-copy{padding-top:calc(var(--nav-h) + .4rem)} }
.scr.practice2{align-content:stretch; grid-template-rows:minmax(100svh,auto)} @media (max-width: 899px){ .scr.practice2{grid-template-rows:auto} }
.practice2{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.p2-photo{-webkit-mask-image:radial-gradient(150% 170% at 0% 50%, #000 66%, transparent 66.3%); mask-image:radial-gradient(150% 170% at 0% 50%, #000 66%, transparent 66.3%)}
.p2-photo img{object-position:78% 50%}
.p2-arcs{left:calc(53% - 40px)}
@media (max-width: 899px){ .p2-photo{-webkit-mask-image:none; mask-image:none} .p2-photo img{object-position:70% 50%} }
@media (min-width: 900px) and (max-height: 820px){ .p2-steps li{padding-block:.55rem; gap:1rem} .p2-body p{font-size:.86rem} .p2-copy .d2-title{font-size:clamp(2rem,.5rem + 3vw,3.6rem)} }
@media (min-width: 900px) and (max-height: 680px){ .p2-body p{font-size:.8rem; line-height:1.35} .p2-ico{width:44px; height:44px} }

/* ===== Инструменты v3 ===== */
.screen{background:#1A120C}
.screen-bg{object-position:70% 50% !important; transform:none !important}
.screen-scrim{background:linear-gradient(90deg, rgba(22,14,9,.92) 0%, rgba(22,14,9,.75) 30%, rgba(22,14,9,.15) 55%, rgba(22,14,9,0) 70%) !important}
.screen-count{display:none}
.screen-copy{max-width:620px; display:grid; gap:1.3rem}
.scr-kick{display:flex; align-items:center; gap:1.2rem; margin:0; font-size:.8rem; letter-spacing:.3em; text-transform:uppercase; color:var(--accent-fill)}
.scr-kick span{letter-spacing:.1em}
.scr-kick i{width:90px; height:1px; background:rgba(217,147,94,.7)}
.scr-title{margin:0; font-family:var(--font-voice); font-weight:400; font-size:clamp(2.8rem,1rem + 4.4vw,6rem); line-height:1; letter-spacing:-.02em; color:#F5EFE6}
.scr-text{margin:0; font-size:clamp(1rem,.9rem + .3vw,1.2rem); line-height:1.6; color:rgba(245,239,230,.8)}
.scr-feats{list-style:none; margin:.4rem 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem}
.scr-feats li{display:grid; gap:.7rem; font-size:.95rem; line-height:1.35; color:rgba(245,239,230,.85)}
.scr-feats li span{width:58px; height:58px; border-radius:50%; border:1.5px solid rgba(217,147,94,.8); display:grid; place-items:center; color:var(--accent-fill)}
.scr-feats svg{width:30px; height:30px}
.screen .play-big{justify-self:start; display:inline-flex; align-items:center; gap:1rem; margin-top:.6rem; padding:.45rem 1.6rem .45rem .45rem; border-radius:999px; border:0; background:#E0A06C; color:#1B130D; font:inherit; font-weight:600; font-size:1.05rem; cursor:pointer; box-shadow:0 18px 40px -18px rgba(217,147,94,.8)}
.screen .play-big .ic{position:relative; width:54px; height:54px; border-radius:50%; background:rgba(27,19,13,.14); display:grid; place-items:center; flex:none}
.screen .play-big .ic svg{width:20px; height:20px}
.screen .play-big > svg{width:22px; height:22px}
.screen .play-big .txt small{display:none}
.screen .play-big:hover{background:#EBAE7C}
@media (min-width:900px) and (max-height:820px){ .screen-copy{gap:.8rem} .scr-title{font-size:clamp(2.4rem,.6rem + 3.6vw,4.4rem)} .scr-feats li span{width:46px; height:46px} .scr-feats svg{width:24px;height:24px} }
@media (max-width:899px){
  .screen-bg{object-position:75% 50% !important}
  .screen-scrim{background:linear-gradient(180deg, rgba(22,14,9,.1) 0%, rgba(22,14,9,.5) 35%, rgba(22,14,9,.95) 60%) !important}
  .scr-feats{grid-template-columns:repeat(3,1fr); font-size:.85rem}
}
.scr-kick{color:#E0A06C !important} .scr-kick span{color:rgba(245,239,230,.7)}
.screen-top > span{display:none}

/* ===== Что меняется v2 ===== */
.bn{background:#F1EEE8}
.bn-head{display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:clamp(1rem,3vh,2rem)}
.bn-kick{margin:0 0 .8rem; font-size:.8rem; letter-spacing:.24em; text-transform:uppercase; color:#6F716C}
.bn-title{margin:0; font-family:var(--font-voice); font-weight:400; font-size:clamp(2.2rem,1rem + 3vw,4.4rem); line-height:1.05; letter-spacing:-.02em; color:#16271F}
.bn-lead{margin:.8rem 0 0; max-width:40em; color:#6F716C; font-size:clamp(.95rem,.9rem + .2vw,1.1rem); line-height:1.5}
.bn-motto{display:flex; align-items:center; gap:1rem; margin:.3rem 0 0; font-family:var(--font-voice); font-style:italic; color:#6F716C; white-space:nowrap}
.bn-motto i{width:54px; height:1px; background:#A8683A}
.bn-grid{display:grid; grid-template-columns:1fr 1fr .5fr .95fr; grid-template-rows:repeat(2, minmax(200px, calc((100svh - var(--scr-top) - 17rem) / 2))); gap:1rem}
.bn-photo{grid-row:span 2; margin:0; position:relative; border-radius:22px; overflow:hidden}
.bn-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 30%}
.bn-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,12,6,.7),transparent 40%)}
.bn-photo figcaption{position:absolute; left:1.8rem; bottom:1.8rem; right:1.5rem; z-index:1; color:#FFF8EE; font-family:var(--font-voice); font-style:italic; font-size:clamp(1rem,.9rem + .3vw,1.3rem); line-height:1.4}
.bn-card{position:relative; overflow:hidden; isolation:isolate; border-radius:22px; padding:clamp(1.2rem,2vw,2.2rem); display:grid; align-content:start; gap:.3rem}
.bn-card:nth-of-type(1){grid-column:span 2}
.bn-card:nth-of-type(4){grid-column:span 2}
.bn-deco{position:absolute; right:0; top:0; height:100%; width:auto; max-width:55%; object-fit:cover; z-index:-1; -webkit-mask-image:linear-gradient(90deg,transparent,#000 40%); mask-image:linear-gradient(90deg,transparent,#000 40%)}
.bn-ico{width:56px; height:56px; border-radius:50%; display:grid; place-items:center; margin-bottom:.8rem}
.bn-ico svg{width:28px; height:28px}
.bn-card h3{margin:0; font-family:var(--font-voice); font-weight:400; font-size:clamp(1.7rem,1.1rem + 1vw,2.4rem); line-height:1.1}
.bn-sub{margin:0; font-family:var(--font-voice); font-size:clamp(1.05rem,.95rem + .3vw,1.3rem)}
.bn-card p:last-of-type{margin:.5rem 0 0; font-size:.95rem; line-height:1.5; max-width:34em; position:relative}
.bn-dark{background:#15332A; color:#EFE8DC}
.bn-dark .bn-ico{background:#5A4535; color:#EFE8DC} .bn-dark .bn-sub{color:#E2A877} .bn-dark p:last-of-type{color:rgba(239,232,220,.78)}
.bn-light{background:#F7F2EB; color:#16271F; box-shadow:0 20px 40px -30px rgba(60,40,20,.35)}
.bn-light .bn-ico{background:#E9CDB4; color:#A8683A} .bn-light .bn-sub{color:#A8683A} .bn-light p:last-of-type{color:#5C625E}
.bn-sleep .bn-ico{background:#D9A27C; color:#fff}
.bn-copper{background:#7C4528; color:#F7EDE2}
.bn-copper .bn-ico{background:#A5694A; color:#fff} .bn-copper .bn-sub{color:#F4DCC6} .bn-copper p:last-of-type{color:rgba(247,237,226,.82)}
@media (max-height:820px) and (min-width:900px){ .bn-card p:last-of-type{font-size:.85rem} .bn-ico{width:44px;height:44px;margin-bottom:.4rem} .bn-card h3{font-size:1.6rem} .bn-grid{grid-template-rows:repeat(2, minmax(170px, calc((100svh - var(--scr-top) - 14rem) / 2)))} .bn .bn-lead{display:none} }
@media (max-width:1180px){ .bn-grid{grid-template-columns:1fr 1fr; grid-template-rows:auto} .bn-photo{grid-row:auto; grid-column:span 2; height:320px} .bn-card:nth-of-type(n){grid-column:span 1} .bn-motto{display:none} }
@media (max-width:640px){ .bn-grid{grid-template-columns:1fr} .bn-photo{grid-column:auto} }
.bn-grid{grid-template-rows:auto auto !important}
.bn-card{min-height:clamp(200px, calc((100svh - var(--scr-top) - 17rem) / 2), 340px); padding:clamp(1rem,1.6vw,1.8rem); align-content:center}
.bn-card > *:not(.bn-deco){max-width:68%}
.bn-dark > *:not(.bn-deco),.bn-copper > *:not(.bn-deco){max-width:62%}
.bn-sleep > *:not(.bn-deco){max-width:80%}
.bn-card p:last-of-type{font-size:.9rem; line-height:1.45}
@media (max-height:820px) and (min-width:900px){ .bn-card{min-height:0} .bn-card h3{font-size:1.45rem} .bn-sub{font-size:1rem} .bn-card p:last-of-type{font-size:.8rem; margin-top:.25rem} .bn-ico{width:38px;height:38px} .bn-ico svg{width:20px;height:20px} }
@media (min-width:900px) and (max-height:680px){ .bn-card p:last-of-type{display:none} .bn-head{margin-bottom:.6rem} .bn-title{font-size:2.2rem} }

/* ===== Форматы v2 ===== */
.fm{background:#F1EEE8}
.fm-kick{margin:0 0 .7rem; font-size:.8rem; letter-spacing:.24em; text-transform:uppercase; color:#B8753F}
.fm-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:clamp(1rem,2.5vh,1.8rem)}
.fm-card{border-radius:20px; overflow:hidden; background:#F8F4EE; box-shadow:0 20px 40px -28px rgba(60,40,20,.45); display:grid; grid-template-rows:auto 1fr; color:#16271F}
.fm-img{position:relative; aspect-ratio:2.7/1}
.fm-img img{width:100%; height:100%; object-fit:cover}
.fm-badge{position:absolute; left:1.2rem; top:1.2rem; display:flex; align-items:center; gap:.55rem; padding:.55rem 1.1rem; border-radius:999px; background:#15332A; color:#fff; font-size:.92rem}
.fm-badge svg{width:22px; height:22px}
.fm-warm .fm-badge,.fm-dark .fm-badge{background:rgba(90,60,40,.8)}
.fm-body{padding:clamp(1rem,1.8vw,1.8rem); display:grid; grid-template-rows:auto 1fr auto; gap:.6rem}
.fm-body h3{margin:0; font-family:var(--font-voice); font-weight:400; font-size:clamp(1.4rem,1rem + .9vw,2rem)}
.fm-body > p{margin:0; font-size:.95rem; line-height:1.5; color:#5C625E}
.fm-foot{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid rgba(28,42,37,.12)}
.fm-price{margin:0; color:#5C625E; font-size:.9rem}
.fm-price b{font-family:var(--font-voice); font-weight:400; font-size:clamp(1.8rem,1.2rem + 1vw,2.5rem); color:#16271F; margin-right:.3rem}
.fm-btn{display:inline-flex; align-items:center; gap:.6rem; padding:.85rem 1.6rem; border-radius:999px; border:1.5px solid #3A2A20; color:#16271F; text-decoration:none; font-weight:600; white-space:nowrap; transition:background-color .2s}
.fm-btn svg{width:18px; height:18px}
.fm-btn:hover{background:rgba(58,42,32,.08)}
.fm-dark{background:#15332A; color:#EFE8DC}
.fm-dark .fm-body > p{color:rgba(239,232,220,.78)} .fm-dark .fm-foot{border-color:rgba(239,232,220,.18)} .fm-dark .fm-price{color:rgba(239,232,220,.8)} .fm-dark .fm-price b{color:#E2A877}
.fm-btn-fill{background:#E0A06C; border-color:#E0A06C; color:#1B130D} .fm-btn-fill:hover{background:#EBAE7C}
.fm-b2b{display:flex; align-items:center; gap:1.5rem; margin-top:1.1rem; padding:1rem 1.4rem; border-radius:20px; background:rgba(255,255,255,.6); box-shadow:0 20px 40px -32px rgba(60,40,20,.45)}
.fm-b2b > div{flex:1}
.fm-b2b b{font-family:var(--font-voice); font-weight:500; font-size:1.2rem}
.fm-b2b p{margin:.2rem 0 0; font-size:.92rem; color:#5C625E; max-width:56em}
.fm-cal{width:64px; height:64px; border-radius:50%; background:#EBDCCB; color:#8E4F22; display:grid; place-items:center; flex:none}
.fm-cal svg{width:30px; height:30px}
.fm-btn-dark{background:#15332A; border-color:#15332A; color:#fff} .fm-btn-dark:hover{background:#1E4538}
.fm-note{display:flex; gap:.9rem; align-items:flex-start; margin:.9rem 0 0 .5rem; font-size:.82rem; color:#6F716C; line-height:1.5}
.fm-note svg{width:22px; height:22px; flex:none}
@media (min-width:900px) and (max-height:820px){ .fm .bn-lead{display:none} .fm-img{aspect-ratio:3.4/1} .fm-body > p{font-size:.85rem} .fm-body{gap:.4rem} .fm-foot{padding-top:.6rem} .fm-btn{padding:.6rem 1.2rem} .fm-b2b{padding:.7rem 1.2rem} .fm-cal{width:48px;height:48px} }
@media (min-width:900px) and (max-height:680px){ .fm-note{display:none} .fm-b2b p{display:none} .fm-img{aspect-ratio:4.2/1} }
@media (max-width:1180px){ .fm-grid{grid-template-columns:1fr 1fr} .fm-dark{grid-column:span 2} }
@media (max-width:760px){ .fm-grid{grid-template-columns:1fr} .fm-dark{grid-column:auto} .fm-b2b{flex-wrap:wrap} .fm-foot{flex-wrap:wrap} }
@media (min-width:900px) and (max-height:820px){ .fm-img{aspect-ratio:4/1} .fm-body > p{font-size:.8rem; line-height:1.4} .fm-note{display:none} .fm .bn-title{font-size:2.6rem} }
/* ===== Кто ведёт v2 ===== */
.ab{background:#F1EEE8; color:#16271F}
.ab-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:clamp(1rem,2.5vh,2rem)}
.ab-kick{display:flex; align-items:center; gap:1.2rem; margin:0; font-size:.8rem; letter-spacing:.24em; text-transform:uppercase; color:#A8683A}
.ab-kick i{width:50px; height:1px; background:#A8683A}
.ab-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(1.5rem,3vw,3.5rem); align-items:center}
.ab-photo{position:relative; margin:0; border-radius:22px; overflow:hidden; aspect-ratio:966/640; max-height:calc(100svh - var(--scr-top) - 6rem)}
.ab-photo img{width:100%; height:100%; object-fit:cover}
.ab-photo figcaption{position:absolute; left:1.2rem; bottom:1.2rem; display:flex; gap:.8rem; align-items:center; padding:.5rem 1.2rem .5rem .5rem; border-radius:999px; background:rgba(20,14,10,.6); color:#fff; font-size:.88rem}
.ab-photo figcaption span{width:30px; height:30px; border-radius:50%; border:1px solid rgba(255,255,255,.7); display:grid; place-items:center; font-size:.7rem}
.ab-copy{display:grid; gap:1rem}
.ab-copy > p{margin:0; color:#4B524D; line-height:1.6; font-size:clamp(.95rem,.9rem + .2vw,1.1rem)}
.ab-stats{list-style:none; margin:.5rem 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr)}
.ab-stats li{display:grid; justify-items:center; text-align:center; gap:.25rem; border-left:1px solid rgba(28,42,37,.14)}
.ab-stats li:first-child{border-left:0}
.ab-stats span{width:52px; height:52px; border-radius:50%; background:#EBDCCB; color:#A8683A; display:grid; place-items:center; margin-bottom:.4rem}
.ab-stats svg{width:26px; height:26px}
.ab-stats b{font-family:var(--font-voice); font-weight:500; font-size:1.3rem}
.ab-stats small{font-size:.8rem; color:#6F716C}
.ab-sign{margin:0 !important; font-family:var(--font-hand, 'Caveat'), cursive !important; font-size:clamp(2rem,1.5rem + 1.2vw,3rem) !important; color:#A8683A !important}
@media (min-width:900px) and (max-height:820px){ .ab-copy > p{font-size:.88rem; line-height:1.5} .ab-copy{gap:.6rem} .ab-sign{font-size:2rem !important} .ab-stats span{width:40px;height:40px} }
@media (max-width:1000px){ .ab-grid{grid-template-columns:1fr} .ab-top .bn-motto{display:none} .ab-stats{grid-template-columns:repeat(2,1fr); row-gap:1rem} }
/* ===== Отзывы v2 ===== */
.rvs{background:#F0EFEA}
.rv-head{display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(1rem,2.5vh,1.8rem)}
.rv-head .ab-kick{margin-bottom:.8rem}
.rv-arrows{display:flex; gap:.7rem}
.rv-arrows button{width:64px; height:64px; border-radius:50%; border:1px solid rgba(28,42,37,.35); background:transparent; color:#16271F; display:grid; place-items:center; cursor:pointer}
.rv-arrows button:hover{border-color:#A8683A; color:#A8683A}
.rv-arrows svg{width:22px; height:22px}
.rv-track{display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 4 * 1.2rem) / 5); gap:1.2rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:1.5rem}
.rv-track::-webkit-scrollbar{display:none}
.rv{scroll-snap-align:start; margin:0; border-radius:20px; overflow:hidden; display:grid; grid-template-rows:auto 1fr; box-shadow:0 20px 40px -28px rgba(60,40,20,.45)}
.rv-sage{background:#F5F4EF} .rv-peach{background:#F8EEE4}
.rv img{width:100%; aspect-ratio:2.5/1; object-fit:cover}
.rv-body{display:grid; grid-template-rows:auto 1fr auto; padding:1.2rem 1.5rem 1.4rem}
.rv-q{font-family:var(--font-voice); font-size:3.4rem; line-height:.6; height:1.4rem; color:#6F7D66}
.rv-peach .rv-q{color:#B8753F}
.rv-body p{margin:.4rem 0 1.2rem; font-family:var(--font-voice); font-size:clamp(1rem,.9rem + .3vw,1.2rem); line-height:1.45; color:#1C2A25}
.rv footer{display:flex; gap:1rem; align-items:center; padding-top:1rem; border-top:1px solid rgba(28,42,37,.12)}
.rv-ic{width:62px; height:62px; border-radius:50%; background:#DCDDCB; color:#6F7D66; display:grid; place-items:center; flex:none}
.rv-peach .rv-ic{background:#EDD3BC; color:#B8753F}
.rv-ic svg{width:30px; height:30px}
.rv footer b{display:block; font-family:var(--font-voice); font-weight:500; font-size:1.1rem; color:#16271F}
.rv footer small{display:block; font-size:.82rem; color:#6F716C; line-height:1.35}
@media (min-width:900px) and (max-height:820px){ .rv img{aspect-ratio:3.4/1} .rv-body p{font-size:.95rem} .rv-ic{width:46px;height:46px} .rvs .bn-lead{display:none} .rv-arrows button{width:52px;height:52px} }
@media (max-width:1400px){ .rv-track{grid-auto-columns:calc((100% - 3 * 1.2rem) / 4)} }
@media (max-width:1100px){ .rv-track{grid-auto-columns:calc((100% - 2 * 1.2rem) / 3)} }
@media (max-width:760px){ .rv-track{grid-auto-columns:82%} .rv-arrows{display:none} }
.rv-q{font-size:4.6rem !important; font-weight:700; height:2rem !important; line-height:.9 !important}
/* ===== FAQ v2 ===== */
.fq{background:#F2ECE2 url(../img/faq-bg.webp) center/cover no-repeat}
.fq-kick{display:flex; align-items:center; gap:1.2rem; margin:0 0 1.2rem; font-size:.85rem; letter-spacing:.14em; color:#A8683A}
.fq-kick i{width:54px; height:1px; background:#A8683A}
.fq-title{font-size:clamp(2.4rem,1rem + 3.2vw,4.6rem)}
.fq .bn-lead a{color:inherit}
.fq .faq{grid-template-columns:minmax(0,5fr) minmax(0,6fr); align-items:start}
.fq .faq details{border-color:rgba(28,42,37,.16)}
.fq .faq summary{padding:clamp(1rem,2.3vh,1.6rem) .5rem; font-size:clamp(1.1rem,.95rem + .45vw,1.5rem); font-weight:400; color:#16271F}
.fq .faq summary .plus{width:46px; height:46px; border:1.5px solid #B8753F; color:#B8753F}
.fq .faq summary .plus::before,.fq .faq summary .plus::after{width:16px}
.fq .faq details[open] summary .plus{background:#B8753F; color:#fff}
.fq .faq details p{padding:0 .5rem 1.2rem; color:#4B524D}
@media (min-width:900px) and (max-height:820px){ .fq .faq summary{padding-block:.7rem} .fq .faq summary .plus{width:36px;height:36px} }
@media (max-width:899px){ .fq{background-position:0 100%} .fq .faq{grid-template-columns:1fr} }
/* ===== Статьи v2 ===== */
.pb{background:#F2ECE3}
.pb-head{display:block; margin-bottom:clamp(1rem,2.5vh,1.8rem)}
.pb-head .ab-kick{margin-bottom:.8rem}
.pb .posts{gap:1.6rem}
.pb .post{position:relative; background:#F8F3EC; border-radius:20px; overflow:hidden; box-shadow:0 22px 44px -30px rgba(60,40,20,.5); padding:0 0 1.6rem; gap:.6rem; display:grid; grid-template-rows:auto auto auto 1fr auto}
.pb .post > *:not(.post-img){margin-inline:clamp(1.2rem,2vw,2rem)}
.pb .post-img{aspect-ratio:2.1/1; border-radius:0; margin:0 0 .6rem !important}
.pb .post-img img{width:100%; height:100%; object-fit:cover}
.pb .meta{font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:#A8683A; font-weight:600; margin-top:0}
.pb .post h3{font-family:var(--font-voice); font-weight:400; font-size:clamp(1.3rem,1rem + .7vw,1.8rem); line-height:1.15; margin:0}
.pb .post h3 a{color:#16271F; text-decoration:none}
.pb .excerpt{color:#6F716C; font-size:.95rem; line-height:1.5; margin:0}
.pb .more{color:#16271F; font-weight:600; text-decoration:none; display:inline-flex; gap:.6rem; align-items:center; margin-top:.4rem}
.pb .more svg{width:20px; height:20px}
.pb-go{position:absolute; right:clamp(1.2rem,2vw,2rem); bottom:1.2rem; width:54px; height:54px; border-radius:50%; background:#EAD9C3; color:#16271F; display:grid; place-items:center; margin:0 !important; transition:transform .2s}
.pb-go svg{width:22px; height:22px}
.pb .post:hover .pb-go{transform:translateX(3px); background:#E0A06C}
@media (min-width:900px) and (max-height:820px){ .pb .post-img{aspect-ratio:2.8/1} .pb .excerpt{font-size:.85rem} .pb .bn-lead{display:none} .pb-go{width:44px;height:44px} }
.fq .bn-lead{position:relative; z-index:1; text-shadow:0 0 12px #F2ECE2}
.hero-media .hs{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 50%; opacity:0; transform:scale(1.04); transition:opacity 1.1s ease, transform 6s ease-out}
.hero-media .hs.is-on{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){ .hero-media .hs{transition:opacity .3s; transform:none} }
@media (max-width:899px){ .hero-media .hs{object-position:78% 50%} }
/* practice: fit by height */
.p2-copy{gap:clamp(.4rem,1.6vh,1.2rem); padding-top:calc(var(--nav-h) + 1vh); padding-bottom:1.5vh}
.p2-copy .d2-title{font-size:clamp(2rem, min(4.2vw, 7.5vh), 5.2rem)}
.p2-lead{font-size:clamp(.9rem, min(1.1vw, 2vh), 1.15rem)}
.p2-steps li{padding-block:clamp(.4rem,1.8vh,1.3rem); gap:clamp(.6rem,1.2vw,1.4rem)}
.p2-ico{width:clamp(40px, 6.5vh, 72px); height:clamp(40px, 6.5vh, 72px)}
.p2-body h3{font-size:clamp(1.05rem, min(1.4vw, 2.6vh), 1.4rem); margin-bottom:.2rem}
.p2-body p{font-size:clamp(.78rem, min(.95vw, 1.75vh), .98rem); line-height:1.45}
.p2-time{font-size:clamp(.8rem, min(.95vw, 1.8vh), 1rem)}
.nav .logo,.nav-links a{white-space:nowrap}
@media (max-width:1180px){ .nav-links a{padding:.5rem .5rem; font-size:.9rem} .nav-in{gap:1rem} }
/* ===== mobile fixes ===== */
@media (max-width:1180px){ .contact-grid{padding-left:0 !important; grid-template-columns:1fr 1fr} .c-title{white-space:normal} }
@media (max-width:899px){
  .practice2{grid-template-columns:1fr !important; grid-template-rows:auto !important}
  .p2-photo{height:70vw; min-height:0}
  .p2-copy{padding:2rem var(--gutter) !important}
  .p2-steps li{grid-template-columns:auto minmax(0,1fr) !important}
  .contact-grid{grid-template-columns:1fr !important; gap:2rem}
  .c-copy,.c-form{min-width:0}
  .c-kicker{letter-spacing:.2em}
  .contact-bg img{opacity:.35}
  .hero-media img.hs{object-position:62% 50%}
}
@media (max-width:1180px){ .contact-grid{padding-left:var(--gutter) !important; padding-right:var(--gutter)} }
/* legal & consent */
.legal-doc{max-width:820px; margin:0 auto; padding:clamp(2rem,5vw,4rem) 0}
.legal-doc h1{font-family:var(--font-voice); font-weight:400; font-size:clamp(2rem,1.2rem + 2.5vw,3.2rem); line-height:1.1; margin:.5rem 0 1.5rem}
.legal-doc h2{font-family:var(--font-voice); font-weight:500; font-size:1.35rem; margin:2rem 0 .6rem}
.legal-doc p,.legal-doc li{line-height:1.65; color:var(--ink)}
.legal-doc .kicker a{color:var(--accent-text)}
.sf-cons{display:flex; gap:.5rem; align-items:flex-start; margin-top:.7rem; font-size:.8rem; color:var(--night-muted); line-height:1.4}
.sf-cons a{color:var(--night-ink); text-decoration:underline}
.sf-cons.is-invalid{color:#F0B48A}
.sf-copy small{display:block; margin-top:.2rem}
.sf-copy small a{color:inherit}
.cookie{position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:120; max-width:560px; margin-inline:auto; background:#1C140E; color:#F3EEE6; border:1px solid rgba(243,238,230,.15); border-radius:18px; padding:1rem 1.2rem; box-shadow:0 30px 60px -20px rgba(0,0,0,.6); display:grid; gap:.8rem; font-size:.88rem}
.cookie[hidden]{display:none}
.cookie p{margin:0; line-height:1.5} .cookie a{color:#E0A06C}
.cookie div{display:flex; gap:.6rem; flex-wrap:wrap}
.cookie .btn{min-height:40px; padding:.5rem 1rem; font-size:.9rem}
.cookie .btn-outline{color:#F3EEE6; border-color:rgba(243,238,230,.4)}
@media (max-width:899px){ .cookie{bottom:84px} }
.sf-cons{display:block !important} .sf-cons input{vertical-align:-2px; margin-right:.4rem}
/* cookie v2 */
.cookie{left:50%; right:auto; transform:translateX(-50%); bottom:1.5rem; width:min(1280px, calc(100% - 2rem)); max-width:none; margin:0; display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:1.5rem; padding:0 1.2rem 0 0; background:#F6F0E6 url(../img/bn-sleep.webp) right/auto 100% no-repeat; color:#16271F; border:0; border-radius:20px; box-shadow:0 30px 60px -25px rgba(40,30,20,.45); overflow:visible}
.ck-art{height:130px; width:auto; margin-top:-22px; align-self:end; border-bottom-left-radius:20px}
.ck-title{font-family:var(--font-voice); font-size:clamp(1.4rem,1rem + 1vw,2rem); margin:0 0 .3rem !important; color:#16271F}
.ck-text p{color:#5C625E; font-size:.92rem}
.ck-text a{color:#A8683A; font-weight:500; border-bottom:1px solid #A8683A; text-decoration:none; display:inline-block; margin-top:.4rem}
.ck-btns{display:flex; gap:.8rem}
.ck-ok,.ck-cfg{min-height:52px; padding:0 1.8rem; border-radius:999px; font:inherit; font-weight:500; cursor:pointer; white-space:nowrap}
.ck-ok{background:#15332A; color:#fff; border:0} .ck-ok:hover{background:#1E4538}
.ck-cfg{background:transparent; color:#16271F; border:1px solid rgba(28,42,37,.45)}
.ck-x{background:none; border:0; border-left:1px solid rgba(28,42,37,.15); padding:0 0 0 1.2rem; height:60px; font-size:2rem; color:#3A4540; cursor:pointer}
.ck-set{display:grid; gap:.4rem; margin-top:.7rem; font-size:.88rem}
.ck-set[hidden]{display:none}
.ck-set .btn{justify-self:start; min-height:36px; padding:.3rem .9rem; color:#16271F; border-color:rgba(28,42,37,.4)}
@media (max-width:1000px){ .cookie{grid-template-columns:1fr auto; padding:1rem; gap:.8rem; bottom:84px} .ck-art{display:none} .ck-btns{grid-column:1 / -1} .ck-btns button{flex:1} .ck-x{grid-row:1; grid-column:2; align-self:start; border:0; height:auto} }
.cookie{background:#F6F0E6 !important; overflow:hidden !important; padding-right:1.5rem !important}
.ck-art{height:150px !important; margin:0 !important; border-radius:20px 0 0 20px}
.cookie .ck-title{font-family:var(--font-voice) !important; font-size:clamp(1.5rem,1rem + 1.1vw,2.2rem) !important; line-height:1.1; font-weight:400}
.ck-text{padding-block:1rem}
.cookie .ck-title{color:#16271F !important; opacity:1} .ck-text p{margin:0}
.ab-play{width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.75); background:transparent; color:#fff; display:grid; place-items:center; cursor:pointer; flex:none; position:relative; transition:background-color .2s}
.ab-play:hover{background:rgba(224,160,108,.5)}
.ab-play svg{width:14px; height:14px}
.ab-play .i-stop{display:none} .ab-play.is-on .i-stop{display:block} .ab-play.is-on .i-play{display:none}
.ab-play.is-on{background:#E0A06C; border-color:#E0A06C; color:#1B130D}
.ab-play.is-on::after{content:""; position:absolute; inset:-6px; border-radius:50%; border:1.5px solid #E0A06C; animation:abPulse 1.6s ease-out infinite}
@keyframes abPulse{from{transform:scale(1); opacity:.9} to{transform:scale(1.7); opacity:0}}
.ab-photo figcaption{cursor:default}
.sf-credit a{color:inherit}

/* ===== v7: мобильная версия посекционно, как на десктопе (05.10.2026). Только экраны до 899px, десктоп не трогаем ===== */
@media (max-width: 899px){
  :root{--sh:100lvh; --navh:64px; --pill:72px}
  html:has(.scr.hero){scroll-snap-type:y mandatory}
  .scr,.sitefoot{min-height:var(--sh); scroll-snap-align:start; scroll-snap-stop:always}
  .scr:not(.hero){padding:calc(var(--navh) + 1rem) 0 var(--pill); align-content:center}

  /* --- 1. Первый экран: ровно на высоту телефона, без большой кнопки записи --- */
  .scr.hero{height:var(--sh); min-height:var(--sh); padding:0 0 calc(var(--pill) - 12px)}
  .hero-actions .btn-primary{display:none}
  .hero-actions{margin-top:.25rem}

  /* --- экраны с фото и текстом: компактнее, чтобы каждый помещался в один экран --- */
  .d2-photo{height:calc(var(--sh) * .2) !important; max-height:none !important}
  .d2-feats li > span:last-child{display:none !important}
  .d2-feats li{gap:.35rem !important}
  .d2-ico{width:40px !important; height:40px !important; margin-bottom:0 !important}
  .d2-facts{display:none !important}
  .d2-in{gap:.7rem !important}
  .d2-title{font-size:2.2rem !important}
  .d2-text{font-size:.92rem !important; line-height:1.48 !important}
  .d2-feats{grid-template-columns:1fr 1fr !important; row-gap:.9rem !important; column-gap:1rem !important}

  /* --- инструменты: обычные экраны со снапом (без наезда), фото чаши сверху хорошо видно --- */
  .screens{display:block}
  .screen,.screen + .screen{position:relative; top:auto; margin-top:0; height:var(--sh); min-height:var(--sh); padding:0 0 var(--pill); display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; background:#1A120C; scroll-snap-align:start; scroll-snap-stop:always}
  .screen-bg{inset:0 0 auto 0 !important; height:calc(var(--sh) * .54) !important; transform:none !important}
  .screen:nth-child(1) .screen-bg{object-position:58% 45% !important}
  .screen:nth-child(2) .screen-bg{object-position:84% 45% !important}
  .screen:nth-child(3) .screen-bg{object-position:70% 50% !important}
  .screen:nth-child(4) .screen-bg{object-position:68% 60% !important}
  .screen-scrim{background:linear-gradient(180deg, rgba(26,18,12,.55) 0%, rgba(26,18,12,0) 22%, rgba(26,18,12,0) 36%, rgba(26,18,12,.85) 50%, #1A120C 56%) !important}
  .screen-top{top:calc(var(--navh) + .9rem); text-shadow:0 1px 12px rgba(0,0,0,.45)}
  .screen-in{padding-block:0 .5rem}
  .screen-copy{gap:.8rem}
  .scr-kick{display:none !important}
  .scr-title{font-size:2.5rem}
  .scr-text{font-size:.98rem; line-height:1.5}
  .scr-feats{gap:.6rem; font-size:.82rem}
  .scr-feats li{gap:.45rem}
  .scr-feats li span{width:44px; height:44px}
  .scr-feats svg{width:22px; height:22px}
  .screen .play-big{width:100%; margin-top:.4rem; font-size:1.08rem}
  .screen .play-big > svg{margin-left:auto}

  /* --- горизонтальные ленты вместо длинных столбцов: «Что меняется», «Форматы», «Статьи» --- */
  .bn-grid,.fm-grid,.posts{display:flex !important; grid-template-columns:none !important; gap:.75rem !important; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter); margin-inline:calc(var(--gutter) * -1); padding:0 var(--gutter) .25rem; scrollbar-width:none}
  .bn-grid::-webkit-scrollbar,.fm-grid::-webkit-scrollbar,.posts::-webkit-scrollbar{display:none}
  .bn-grid > *,.fm-grid > *,.posts > *{flex:0 0 82%; scroll-snap-align:start; margin:0 !important; grid-area:auto !important}
  .bn-motto{display:none !important}
  .bn-head{margin-bottom:1rem !important}
  .bn-title{font-size:2.1rem !important}
  .bn-lead{font-size:.95rem !important}
  .bn-grid > *{height:calc(var(--sh) * .5); min-height:0 !important}
  .fm-note{font-size:.75rem; margin-top:.6rem}
  .fm-b2b{margin-top:.75rem !important; padding:.9rem 1rem !important}
  .fm-b2b p{display:none}
  .post-img{max-width:none}

  /* --- Кто ведёт --- */
  .ab-top{display:none !important}
  .ab-photo{max-height:calc(var(--sh) * .26) !important; aspect-ratio:auto !important; height:calc(var(--sh) * .26)}
  .ab-photo img{height:100%; object-fit:cover}
  .ab-copy{gap:.6rem}
  .ab-copy > p{font-size:.9rem; line-height:1.45}
  .ab-stats{grid-template-columns:repeat(4,1fr) !important; gap:.4rem !important}

  /* --- FAQ: список прокручивается внутри экрана --- */
  .scr.fq{height:var(--sh); align-content:stretch}
  .scr.fq .faq{display:flex !important; flex-direction:column; min-height:0; height:100%}
  .faq-list{flex:1; min-height:0; overflow-y:auto; overscroll-behavior-y:auto}

  /* --- Запись: экран с текстом, затем форма (второй «магнит»), затем подвал --- */
  .sitefoot{padding-bottom:var(--pill)}

  /* --- Как проходит --- */
  .p2-photo{height:calc(var(--sh) * .22) !important; min-height:0 !important; max-height:none !important}
  .p2-photo img{height:100% !important; object-fit:cover}
  .p2-lead{display:none !important}
  .p2-copy{gap:.6rem !important; padding-top:.9rem !important; padding-bottom:0 !important}
  .p2-steps li{padding-block:.55rem !important; gap:.75rem !important}
  .p2-ico{width:40px !important; height:40px !important}
  .p2-body p{font-size:.82rem !important; line-height:1.4 !important}
  .p2-body h3{margin-bottom:.15rem !important}
  .p2-time{font-size:.75rem !important}
  .scr.practice2{padding-top:var(--navh) !important}
  .scr.define2{padding-top:var(--navh) !important}
  /* --- Форматы --- */
  .fm-note{display:none !important}
  .fm-card{height:calc(var(--sh) * .52); display:flex !important; flex-direction:column}
  .fm-img{height:28% !important; flex:none}
  .fm-body{flex:1; display:flex !important; flex-direction:column; padding:1rem 1.1rem !important; gap:.4rem}
  .fm-body h3{font-size:1.25rem !important; margin:0 !important}
  .fm-body > p{font-size:.86rem !important; line-height:1.42 !important; margin:0 !important}
  .fm-foot{margin-top:auto !important; padding-top:.7rem !important}
  .fm-b2b .fm-cal{display:none !important}
  /* --- Кто ведёт: компактнее --- */
  .ab-photo{height:calc(var(--sh) * .2) !important; max-height:none !important}
  .ab-copy > p{font-size:.84rem !important; line-height:1.42 !important; margin:0}
  .ab-copy .bn-title{margin:0 !important}
  .ab-stats li span{width:36px !important; height:36px !important}
  .ab-stats b{font-size:.95rem !important}
  .ab-stats small{font-size:.66rem !important}
  .ab-sign{display:none !important}
  .ab-grid{gap:.9rem !important}
  /* --- Отзывы --- */
  .rv-head{margin-bottom:.9rem !important}
  /* --- Подвал: навигация уже есть в меню --- */
  .sitefoot nav.sf-col,.sitefoot .sf-col:not(.sf-contacts){display:none !important}
  .sitefoot{padding-top:calc(var(--navh) + 1rem) !important}

  .scr.practice2 .d2-title{font-size:1.95rem !important}
  .scr.practice2 .d2-title em{display:inline !important}
  .p2-photo{height:calc(var(--sh) * .16) !important}
  .p2-steps li{padding-block:.45rem !important}
  .p2-time{font-size:.74rem !important; white-space:nowrap; gap:.35rem !important; margin-top:.2rem !important}
  .p2-time br{display:none}
  .p2-time small,.p2-time span{display:inline !important; margin:0 !important}
  .p2-time small::after{content:"\00a0"}
  .p2-time svg{width:14px !important; height:14px !important}
  .fm .bn-lead{display:none !important}
  .fm-b2b{flex-wrap:nowrap !important; gap:.75rem !important}
  .fm-b2b b{font-size:.95rem}
  .fm-b2b .fm-btn{padding:.6rem .9rem !important; font-size:.85rem !important; white-space:nowrap}
  .rv-track{padding-bottom:.25rem !important}
}
@media (max-width: 899px) and (prefers-reduced-motion: reduce){ html{scroll-snap-type:none} }
/* v7: маленькие телефоны (iPhone SE и т.п.) — убираем второстепенное, чтобы экран помещался целиком */
@media (max-width: 899px) and (max-height: 700px){
  .d2-photo,.p2-photo{display:none !important}
  .scr.define2,.scr.practice2{padding-top:calc(var(--navh) + .75rem) !important}
  .rvs .bn-lead,.pb .bn-lead,.bn .bn-lead{display:none !important}
  .rv-track .rv{max-height:calc(var(--sh) * .58)}
  .ab-photo{height:calc(var(--sh) * .15) !important}
  .scr:not(.hero){padding-bottom:calc(var(--pill) - 16px)}
  .fm-card{height:calc(var(--sh) * .56)}
  .fm-body > p{font-size:.8rem !important}
  .fm .bn-title{font-size:1.8rem !important}
  .fm-b2b{margin-top:.5rem !important; padding:.6rem .9rem !important}
}

/* v8: FAQ читаемо, нижние экраны постранично: запись → форма → подвал (2 экрана). Только мобильные */
@media (max-width: 899px){
  /* FAQ: светлая подложка под список, вопросы плотнее и темнее */
  .fq{background-position:0 100% !important}
  .scr.fq .faq-list{background:rgba(246,242,235,.9); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-radius:20px; padding:.25rem 1rem; box-shadow:0 18px 40px -28px rgba(60,40,20,.5)}
  .scr.fq .faq details{border-color:rgba(28,42,37,.14) !important}
  .scr.fq .faq details:first-child{border-top:0}
  .scr.fq .faq details:last-child{border-bottom:0}
  .fq .faq summary{font-family:var(--font-ui) !important; font-weight:600 !important; font-size:1rem !important; line-height:1.3; color:#16271F !important; padding:.85rem 0 !important}
  .fq .faq summary .plus{width:36px !important; height:36px !important; background:#fff}
  .fq .faq details p{padding:0 0 1rem !important; color:#2E3833 !important; font-size:.92rem; line-height:1.5}
  .fq .bn-lead{color:#3F4843 !important}
  .fq .fq-title{font-size:2rem !important}

  /* Запись: экран 1 — текст */
  .scr.contact{display:block; min-height:0; padding:0 0 var(--pill); scroll-snap-align:none !important; overflow:clip !important}
  .scr.contact .contact-grid{display:block !important; gap:0}
  .c-copy{min-height:var(--sh); box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; padding:calc(var(--navh) + 1rem) 0 var(--pill); scroll-snap-align:start; scroll-snap-stop:always}
  /* Запись: экран 2 — форма отдельно */
  .c-form{min-height:calc(var(--sh) - var(--navh) - 1rem - var(--pill)); display:flex !important; flex-direction:column; justify-content:center; scroll-snap-align:start; scroll-snap-stop:always; scroll-margin-top:calc(var(--navh) + 1rem); margin:0 !important}

  /* Подвал: экран 1 — бренд и подписка, экран 2 — контакты и документы */
  .sitefoot{padding-top:0 !important; padding-bottom:0 !important; min-height:0; scroll-snap-align:none; overflow:clip !important}
  .sitefoot .sf-grid{display:block !important; padding-block:0 !important}
  .sf-brand{min-height:var(--sh); box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; gap:1.1rem; padding:calc(var(--navh) + 1rem) 0 var(--pill) !important; scroll-snap-align:start; scroll-snap-stop:always}
  .sf-brand > *{margin:0 !important}
  .sf-contacts{min-height:calc(var(--sh) - var(--navh) - var(--sfb, 300px)); box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; gap:.7rem; padding:1rem 0 .5rem !important; border-top:0 !important; scroll-snap-align:start; scroll-snap-stop:always; scroll-margin-top:var(--navh)}
  .sf-contacts h2{margin:0 0 .2rem !important}
  .sf-contacts .sf-c{padding-block:.2rem !important}
  .sf-contacts .sf-ico{width:44px !important; height:44px !important}
  .sf-bottom{padding-bottom:calc(var(--pill) - 8px) !important; scroll-snap-align:end}
  .sf-bottom-in{padding-top:1rem !important}
  .sf-legal{display:grid !important; grid-template-columns:1fr 1fr; gap:.45rem 1rem}
  .sf-legal a{font-size:.8rem}
  .sf-copy small,.sf-credit{font-size:.72rem !important}
}
