/* ReShape — сайт пилота. Плакат: чёрное, белое, сигнальный жёлтый. Идёт пересборка. */

:root{
  --black:#000000;
  --white:#F2F2F2;
  --light:#EDEDED;
  --yellow:#FFE600;
  --grey:#8C8C8C;
  --grey-d:#5A5A5A;
  --line:rgba(255,255,255,.16);

  --display:'Unbounded', 'Arial Black', Impact, sans-serif;
  --sans:'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;

  --max:1360px;
  --gutter:clamp(16px, 4vw, 56px);

  --t0:clamp(.95rem, .9rem + .25vw, 1.0625rem);
  --t1:clamp(1.05rem, .95rem + .55vw, 1.3rem);
  --t2:clamp(1.5rem, 1.1rem + 1.8vw, 2.4rem);
  --slam:clamp(2.4rem, 1rem + 7vw, 7.5rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--black)}
html.motion{scroll-behavior:smooth}
body{overflow-x:hidden}
body{
  margin:0;background:var(--black);color:var(--white);
  font-family:var(--sans);font-size:var(--t0);line-height:1.5;
}
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--yellow);color:#000}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

.skip{position:absolute;left:-999px;top:8px;z-index:100;padding:10px 14px;background:var(--yellow);color:#000}
.skip:focus{left:8px}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

/* Типографика */
.slam{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  letter-spacing:-.02em;line-height:.92;font-size:var(--slam);
}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:14px}
.sub{font-size:var(--t1);line-height:1.35;max-width:36ch}
.tag{
  display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;white-space:nowrap;
}
.tag--y{background:var(--yellow);border-color:var(--yellow);color:#000;font-weight:700}

/* Кнопки */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 26px;border-radius:999px;
  border:2px solid var(--yellow);background:var(--yellow);color:#000;
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .15s, background-color .2s, color .2s, border-color .2s;
}
.btn:hover{background:#fff;border-color:#fff;color:#000}
.btn:active{transform:scale(.97)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--ghost:hover{background:#fff;color:#000;border-color:#fff}
.btn--sm{min-height:40px;padding:8px 16px;font-size:11px}
.btn--lg{min-height:64px;padding:18px 36px;font-size:15px}
.btn[disabled]{opacity:.6;cursor:default}

/* Шапка */
.hd{
  position:fixed;left:0;right:0;top:0;z-index:40;
  background:rgba(0,0,0,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.hd__in{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{
  display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;
  font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;
}
.brand img{width:26px;height:26px}
.hd__nav{display:none;gap:22px;margin-left:28px}
.hd__nav a{color:var(--grey);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hd__nav a:hover{color:#fff}
.hd__right{margin-left:auto;display:flex;align-items:center;gap:14px}
.seats{display:none;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.seats::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:8px;vertical-align:1px}
.motion .seats::before{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.2}}
@media (min-width:900px){.hd__nav{display:flex}.seats{display:inline-block}}

/* Первый экран */
.hero{
  min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:104px 0 40px;position:relative;
}
.hero > .wrap{min-width:0;width:100%;max-width:var(--max)}
.slamwall{width:100%;max-width:100%;min-width:0}
.hero__meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:clamp(24px, 4vw, 56px)}
.slamwall{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  letter-spacing:-.025em;line-height:.95;margin-bottom:clamp(28px, 4vw, 56px);
}
.slamwall .ln{font-size:var(--slam)}
[data-fit]{min-width:0;max-width:100%}
[data-fit] .ln{display:block;white-space:nowrap;overflow:hidden;line-height:1.04}
[data-fit] .w{display:inline-block}
.slamwall .w{will-change:transform}
.ln--y,.y{color:var(--yellow)}
.hero__row{display:grid;grid-template-columns:1fr;gap:24px;align-items:end}
@media (min-width:900px){.hero__row{grid-template-columns:7fr 5fr}}
.hero__lead{font-size:var(--t1);line-height:1.35;max-width:38ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){.hero__cta{justify-content:flex-end}}

/* Лента и тикер */
.tape{position:relative;height:150px;margin:-75px 0;overflow:hidden;z-index:5;pointer-events:none}
.tape__band{
  position:absolute;left:-10%;right:-10%;top:50%;transform:translateY(-50%) rotate(-3deg);
  background:var(--yellow);color:#000;padding:13px 0;overflow:hidden;white-space:nowrap;
  font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 14px 50px rgba(0,0,0,.6);
}
.ticker{
  background:var(--yellow);color:#000;overflow:hidden;white-space:nowrap;padding:14px 0;
  font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;
  border-top:3px solid #000;border-bottom:3px solid #000;
}
.track{display:inline-flex}
.track span{display:inline-block;padding-right:2.6em}
.motion .track{animation:marq 42s linear infinite}
.motion .ticker .track{animation-duration:34s}
@keyframes marq{to{transform:translateX(-50%)}}

/* Секции */
.sec{padding:clamp(72px, 10vw, 150px) 0;position:relative}
.sec--light{background:var(--light);color:#000}
.sec--light .tag{border-color:rgba(0,0,0,.4);color:#000}
.sec--light .kicker{color:var(--grey-d)}
.sec--light .btn--ghost{color:#000;border-color:rgba(0,0,0,.5)}
.sec--light .btn--ghost:hover{background:#000;color:#fff;border-color:#000}
.sec__head{margin-bottom:clamp(32px, 5vw, 64px)}
.sec__head .slam{max-width:100%}
.sec__head .sub{margin-top:18px}
@media (min-width:900px){
  .sec__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px 32px;align-items:end}
  .sec__head .kicker,.sec__head .slam{grid-column:1 / -1}
  .sec__head .sub{grid-column:2;margin-top:0}
}
.sec__head .sub{color:#C9C9C9}
.sec--light .sec__head .sub{color:#333}

/* Ситуации */
.sit{display:grid;grid-template-columns:1fr;border:3px solid #000}
@media (min-width:760px){.sit{grid-template-columns:1fr 1fr}}
.sit__card{
  padding:clamp(22px, 3vw, 40px);border:3px solid #000;margin:-1.5px;min-height:300px;
  display:flex;flex-direction:column;justify-content:space-between;gap:28px;
  background:var(--light);transition:background-color .25s;
}
.sit__card:hover{background:var(--yellow)}
.sit__stamp{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(2rem, 1rem + 3.6vw, 3.8rem);line-height:.95;letter-spacing:-.02em;
}
.sit__q{font-size:var(--t1);line-height:1.35;max-width:34ch}
.sit__after{margin-top:clamp(36px, 5vw, 72px);display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.sit__after p{max-width:56ch;font-size:var(--t1);line-height:1.35}
.sit__after .slam{max-width:100%}

/* Этапы */
.steps{list-style:none;padding:0;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:1fr;gap:8px 32px;padding:28px 0;border-bottom:1px solid var(--line)}
@media (min-width:760px){.step{grid-template-columns:220px 1fr}}
.step__day{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.8rem, 1rem + 2.6vw, 3.2rem);line-height:1;color:var(--yellow);
}
.step h3{font-family:var(--display);font-weight:700;font-size:var(--t1);text-transform:uppercase;letter-spacing:.01em;margin-bottom:8px}
.step p{max-width:60ch;color:#C9C9C9}
.step p strong{color:#fff;font-weight:600}
.steps__note{margin-top:28px;max-width:60ch;color:var(--grey)}

/* Карта сценария: паспорт */
.map-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:1000px){.map-grid{grid-template-columns:4fr 8fr;align-items:start}}
.give{list-style:none;padding:0;border-top:1px solid var(--line)}
.give li{padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.pass{background:var(--light);color:#000;padding:clamp(22px, 3.5vw, 44px);border:3px solid #000;box-shadow:14px 14px 0 var(--yellow);margin-right:14px;margin-bottom:14px}
.pass__head{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding-bottom:14px;border-bottom:3px solid #000;
  font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
}
.pass__head b{font-weight:700}
.pass__row{display:grid;grid-template-columns:1fr;gap:6px 24px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.25)}
@media (min-width:640px){.pass__row{grid-template-columns:180px 1fr}}
.pass__k{font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.02em;line-height:1.6}
.pass__k b{background:var(--yellow);padding:0 7px;margin-right:8px}
.pass__v{line-height:1.45}
.pass__foot{padding-top:14px;font-family:var(--mono);font-size:12px;color:var(--grey-d)}

/* Автор */
.hon{border-left:4px solid var(--yellow);padding-left:20px;max-width:56ch;font-size:var(--t1);line-height:1.35}

/* Ноль кейсов */
.zero{
  font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.75rem, .45rem + 6.8vw, 7.5rem);line-height:.92;letter-spacing:-.02em;margin-bottom:clamp(32px, 5vw, 64px);white-space:nowrap;
}
.zero b{color:var(--yellow);font-weight:900}
#proof .sub{color:#C9C9C9;max-width:44ch}
.two{display:grid;grid-template-columns:1fr;gap:32px 48px}
@media (min-width:760px){.two{grid-template-columns:1fr 1fr}}
.two h3{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:12px}
.lst{list-style:none;padding:0;border-top:1px solid var(--line)}
.lst li{padding:12px 0;border-bottom:1px solid var(--line)}
.lst--x li{color:var(--grey);text-decoration:line-through;text-decoration-color:var(--yellow);text-decoration-thickness:2px}
.sec--light .lst,.sec--light .lst li{border-color:rgba(0,0,0,.25)}

/* Условия */
.price{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;margin-bottom:56px}
@media (min-width:900px){.price{grid-template-columns:1fr 1fr}}
.sticker{
  display:inline-block;background:var(--yellow);color:#000;padding:16px 26px 12px;transform:rotate(-3deg);
  font-family:var(--display);font-weight:900;font-size:clamp(2.6rem, 1rem + 6.5vw, 6.5rem);line-height:1;letter-spacing:-.03em;
  box-shadow:8px 8px 0 #000;margin:10px 0 10px 8px;
}
.price__note{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:22px;color:var(--grey-d)}
.inc{list-style:none;padding:0;border-top:3px solid #000}
.inc li{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.25);font-family:var(--display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.terms{display:grid;grid-template-columns:1fr;gap:24px 48px}
@media (min-width:760px){.terms{grid-template-columns:1fr 1fr}}
.terms dt{font-family:var(--display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}
.terms dd{color:#333}
.terms ul{margin:0;padding-left:18px}
.terms li{margin-bottom:4px}

/* Анкета */
.form{max-width:680px}
.f{margin-bottom:32px}
.f__l{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px}
.f input[type=text],.f textarea{
  width:100%;font:inherit;font-size:var(--t1);color:#fff;background:transparent;
  border:0;border-bottom:2px solid rgba(255,255,255,.4);border-radius:0;padding:10px 0;
}
.f textarea{min-height:100px;resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:#5F5F5F}
.f input:focus-visible,.f textarea:focus-visible{outline:none;border-bottom-color:var(--yellow);box-shadow:0 2px 0 var(--yellow)}
.f .hint{font-size:.9rem;color:var(--grey);margin-top:8px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{
  display:inline-block;padding:10px 18px;border:2px solid rgba(255,255,255,.4);border-radius:999px;
  font-family:var(--display);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;
  transition:background-color .15s, border-color .15s, color .15s;
}
.chip input:checked + span{background:var(--yellow);border-color:var(--yellow);color:#000}
.chip input:focus-visible + span{outline:3px solid var(--yellow);outline-offset:3px}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--yellow);cursor:pointer}
.check a{color:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.form__actions .small{max-width:34ch;color:var(--grey);font-size:.9rem}
.form__err{display:none;margin-top:16px;color:var(--yellow);font-weight:600}
.form__err.is-visible{display:block}
.form__done{display:none;border-top:2px solid var(--yellow);padding-top:24px}
.form__done.is-visible{display:block}
.form.is-sent form{display:none}
.form__done h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:var(--t2);margin-bottom:12px}
.form__done p{max-width:56ch}
.form__done .btn{margin-top:20px}
.form__done pre{white-space:pre-wrap;font:inherit;margin-top:16px;padding:16px;background:#111;border:1px solid var(--line)}

/* Подвал */
.ft{border-top:1px solid var(--line);padding:40px 0 56px;color:var(--grey);font-size:.9rem}
.ft__in{display:grid;grid-template-columns:1fr;gap:20px 48px}
@media (min-width:760px){.ft__in{grid-template-columns:1fr 1fr}}
.ft a{color:#fff}
.ft__links{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ft__legal{max-width:60ch}
.ft__legal p + p{margin-top:12px}

/* Документы */
.doc-page{background:var(--light);color:#000}
.doc{max-width:74ch;padding:120px var(--gutter) 100px;margin:0 auto}
.doc h1{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;font-size:clamp(2rem, 1rem + 4vw, 4rem);margin-bottom:14px}
.doc__meta{color:var(--grey-d);margin-bottom:40px;max-width:60ch}
.doc h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:.03em;margin:44px 0 12px;line-height:1.3}
.doc p{margin-bottom:12px}
.doc ol,.doc ul{margin:0 0 12px;padding-left:24px}
.doc li{margin-bottom:8px}
.doc .req{border-top:3px solid #000;padding-top:16px;margin-top:40px}
.doc .req dt{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-d)}
.doc .req dd{margin:2px 0 14px;font-weight:600}
.doc a{color:#000}
.doc-page .ft{border-top-color:rgba(0,0,0,.25);color:var(--grey-d)}
.doc-page .ft a{color:#000}

/* Движение. html.motion / html.no-motion ставит инлайн-скрипт в <head>, ?motion=1 включает принудительно. */
.motion .slamwall .w{transform:translateY(112%);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards}
.motion .slamwall .ln:nth-child(1) .w{animation-delay:.05s}
.motion .slamwall .ln:nth-child(2) .w{animation-delay:.13s}
.motion .slamwall .ln:nth-child(3) .w{animation-delay:.21s}
.motion .slamwall .ln:nth-child(4) .w{animation-delay:.29s}
.motion .slamwall .ln:nth-child(5) .w{animation-delay:.37s}
.motion .slamwall .ln:nth-child(6) .w{animation-delay:.45s}
.motion .hero__meta,.motion .hero__row{opacity:0;animation:fade .8s .6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes up{to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.motion .rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1)}
.motion .rv.in{opacity:1;transform:none}

/* ---------- Плакаты-сценарии ---------- */
.sec--intro{padding-bottom:clamp(40px, 6vw, 72px)}
.poster{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:clamp(540px, 88svh, 1000px);
  display:flex;
}
.poster::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.22;mix-blend-mode:overlay;
  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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px 220px;
}
.poster__in{
  position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;
  padding:clamp(28px, 5vw, 64px) var(--gutter);
  display:flex;flex-direction:column;justify-content:space-between;gap:40px;
}
.poster__tag{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.poster__line{
  --blur-final:0px;
  font-family:var(--sans);font-weight:500;
  font-size:clamp(1.65rem, .9rem + 3.3vw, 3.7rem);line-height:1.12;letter-spacing:-.012em;
  max-width:19ch;margin:auto 0 auto clamp(0px, 6vw, 96px);
}
.poster__line p + p{margin-top:.95em}
.poster__cap{font-family:var(--mono);font-size:13px;letter-spacing:.03em;opacity:.8;max-width:44ch}

.poster--blue{background:#1616EE;color:#fff}
.poster--blue .poster__line{
  text-shadow:0 0 1px #fff, 0 0 9px rgba(255,255,255,.75), 0 0 26px rgba(150,165,255,.85),
    -1.5px 0 0 rgba(255,60,130,.35), 1.5px 0 0 rgba(90,220,255,.35);
}
.poster--green{background:#86CF0B;color:#0b0b0b}
.poster--green .poster__line{--blur-final:.55px;filter:blur(.55px);text-shadow:7px 0 3px rgba(0,0,0,.26), -4px 0 3px rgba(0,0,0,.18)}
.poster--red{background:#050505;color:#FF2E2E}
.poster--red .poster__line{
  font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.25rem, .8rem + 2.4vw, 2.7rem);max-width:26ch;
  text-shadow:0 0 3px #ff2424, 0 0 13px rgba(255,24,24,.75), 0 0 34px rgba(255,0,0,.45);
}
.poster__dialog .r{margin-left:clamp(28px, 16vw, 300px)}
.poster--paper{
  background:#ECEAE4;color:#0b0b0b;
  box-shadow:inset 0 0 0 clamp(12px, 2.4vw, 24px) #ECEAE4, inset 0 0 0 calc(clamp(12px, 2.4vw, 24px) + 6px) #0b0b0b;
}
.poster--paper .poster__in{padding:clamp(44px, 7vw, 88px) calc(var(--gutter) + clamp(12px, 2.4vw, 24px))}
.poster--paper .poster__line{--blur-final:.6px;font-weight:700;filter:blur(.6px);text-shadow:5px 0 4px rgba(0,0,0,.32), -3px 0 3px rgba(0,0,0,.22)}
.poster--yellow{background:var(--yellow);color:#000}
.poster--yellow .poster__line{font-weight:600;max-width:22ch}

/* Фокус: строка проявляется из размытия, когда плакат въезжает в экран */
.motion .poster__line.focus{opacity:0;filter:blur(10px);transition:opacity .9s ease, filter 1.2s cubic-bezier(.2,.7,.2,1)}
.motion .poster__line.focus.in{opacity:1;filter:blur(var(--blur-final))}

/* ---------- Формулы ---------- */
.formulas{list-style:none;padding:0;margin:0;display:grid;gap:clamp(16px, 2.4vw, 28px)}
.formula{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .5em;
  font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(1.05rem, .65rem + 1.7vw, 2.15rem);line-height:1.18;
  padding-bottom:clamp(16px, 2.4vw, 28px);border-bottom:1px solid var(--line);
}
.formula i{font-style:normal;font-family:var(--mono);font-weight:700;color:var(--grey)}
.formula .minus{color:#FF3B30}
.formula b{font-weight:900;color:#fff}
.formula--yes b{background:var(--yellow);color:#000;padding:0 .22em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.formulas__note{margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}

/* ---------- Калькулятор ---------- */
.calc{background:#fff;border:3px solid #000;padding:clamp(20px, 3.5vw, 40px);margin-bottom:clamp(40px, 6vw, 72px);box-shadow:10px 10px 0 #000;margin-right:10px}
.calc__title{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(1.1rem, .75rem + 1.4vw, 1.9rem);line-height:1.1;margin:0 0 20px;max-width:26ch}
.calc__row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(0,0,0,.2)}
.calc__row label{font-weight:600}
.calc__row output{font-family:var(--display);font-weight:800;font-size:clamp(1rem, .9rem + .5vw, 1.3rem);white-space:nowrap}
.calc__row input[type=range]{grid-column:1 / -1;width:100%;height:32px;accent-color:#000;cursor:pointer}
.calc__hint{grid-column:1 / -1;color:#555;font-size:.9rem;max-width:60ch}
.calc__res{margin-top:6px;padding-top:18px;border-top:3px solid #000}
.calc__res strong{display:block;font-family:var(--display);font-weight:900;font-size:clamp(2.2rem, 1rem + 5vw, 4.8rem);line-height:1;letter-spacing:-.03em;margin:8px 0 14px}
.calc__res p{max-width:54ch}
.calc__res .hl{background:var(--yellow);padding:0 .2em;font-weight:700}
