/* Пётр Остапенко. Одна гарнитура (Geologica), один акцент (кобальт), одна идея (струна). */

:root{
  --studio:#262321;
  --studio-2:#3a3734;
  --studio-spot:#5a5451;
  --paper:#ECE9E3;
  --paper-2:#DDD9D2;
  --ink:#141311;
  --ink-2:#5A5650;
  --ink-3:#8C877F;
  --line:#C9C4BC;
  --line-dark:#4A4642;
  --paper-muted:#B4AFA7;
  --blue:#1F3BFF;
  --blue-dark:#1730D6;
  --pad:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.16,1,.3,1);
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;
  font-family:Geologica,"Helvetica Neue",Arial,system-ui,sans-serif;
  font-size:1.0625rem;
  line-height:1.55;
  color:var(--ink);
  background:var(--studio);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern","liga";
}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
b{font-weight:600}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.hero :focus-visible,.final :focus-visible,.band :focus-visible,.top :focus-visible{outline-color:var(--paper)}

.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--pad)}
.text-lg{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.45;letter-spacing:-0.005em}

/* Слои: студия (hero) липнет в своей сцене высотой два экрана, тело страницы наезжает на неё, финал ждёт под телом */
.page{position:relative}
.stage{position:relative;z-index:1;height:200svh}
.body{position:relative;z-index:2;margin-top:-100svh}
.body>.sec{position:relative;background:var(--paper)}
.body>.sec--check,.body>.sec--free{background:var(--paper-2)}

/* Зерно на тёмных блоках */
.grain{
  position:absolute;inset:-60% -40%;
  pointer-events:none;z-index:3;opacity:.085;
  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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px 220px;
  animation:grain 1.1s steps(7) infinite;
  will-change:transform;
}
.is-off .grain,.is-off .hero__media img,.is-off .hero__light{animation-play-state:paused}
@keyframes grain{
  0%{transform:translate(0,0)}14%{transform:translate(-3%,2%)}28%{transform:translate(2%,-4%)}
  42%{transform:translate(-4%,-2%)}56%{transform:translate(3%,3%)}70%{transform:translate(-2%,4%)}
  84%{transform:translate(4%,-3%)}100%{transform:translate(0,0)}
}

/* Кнопки и ссылки */
.btn{
  display:inline-block;
  padding:17px 26px;
  border-radius:var(--radius);
  font-weight:500;
  font-size:1.0625rem;
  line-height:1.2;
  text-decoration:none;
  letter-spacing:-0.005em;
  transition:transform .15s var(--ease),background-color .2s var(--ease),color .2s var(--ease);
  will-change:transform;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.98)}
.btn--blue{background:var(--blue);color:#fff}
.btn--blue:hover{background:var(--blue-dark)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:#000}
.btn--lg{padding:21px 34px;font-size:1.1875rem}
.link{
  text-decoration:underline;
  text-underline-offset:.2em;
  text-decoration-thickness:1px;
  text-decoration-color:var(--ink-3);
  transition:text-decoration-color .2s var(--ease),color .2s var(--ease);
}
.link:hover{text-decoration-color:currentColor;color:var(--blue)}

/* Шапка: фиксированная, инвертируется над светлым через difference */
.top{position:fixed;inset:0 0 auto 0;z-index:30;color:var(--paper);pointer-events:none;transition:transform .5s var(--ease),color .3s var(--ease)}
.top.on-paper{color:var(--ink)}
.top.is-hidden{transform:translateY(-110%)}
.top__row{display:flex;justify-content:space-between;align-items:center;height:72px}
.top__name,.top__link{pointer-events:auto}
.top__name{font-weight:600;letter-spacing:-0.01em;text-decoration:none}
.top__link{
  font-size:.9375rem;
  text-decoration:none;
  padding:10px 14px;
  border:1px solid rgba(236,233,227,.4);
  border-radius:var(--radius);
  transition:border-color .2s var(--ease),background-color .2s var(--ease),color .3s var(--ease);
}
.top__link:hover{border-color:currentColor;background:rgba(236,233,227,.1)}
.top.on-paper .top__link{border-color:rgba(20,19,17,.35)}
.top.on-paper .top__link:hover{background:rgba(20,19,17,.06)}

/* Hero: студия, липнет сверху, тело страницы наезжает */
.hero{
  position:sticky;top:0;
  height:100svh;min-height:640px;
  background:var(--studio);
  color:var(--paper);
  overflow:hidden;
}
/* свет в студии: медленно плывёт сам и чуть идёт за курсором */
.hero__light{
  position:absolute;left:50%;top:50%;width:120vmax;height:120vmax;margin:-60vmax 0 0 -60vmax;
  background:radial-gradient(closest-side,rgba(112,104,97,.62) 0%,rgba(74,69,65,.35) 30%,rgba(38,35,33,0) 66%);
  animation:drift 28s ease-in-out infinite alternate;
  will-change:transform;pointer-events:none;
}
@keyframes drift{
  0%{transform:translate(22%,-10%) scale(1)}
  50%{transform:translate(30%,4%) scale(1.08)}
  100%{transform:translate(18%,10%) scale(.96)}
}
.hero__media{
  position:absolute;top:0;bottom:0;right:0;width:44%;
  overflow:hidden;
  clip-path:inset(0 0 0 100%);
  animation:wipe 1.4s var(--ease) .25s forwards;
  will-change:transform,clip-path;
}
@keyframes wipe{to{clip-path:inset(0 0 0 0)}}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:50% 22%;
  transform-origin:50% 30%;
  animation:breathe 14s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes breathe{from{transform:scale(1.02)}to{transform:scale(1.075)}}
.hero__media{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 18%,#000 46%,#000 86%,rgba(0,0,0,.55) 100%),linear-gradient(to bottom,rgba(0,0,0,.25) 0%,#000 24%,#000 72%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 18%,#000 46%,#000 86%,rgba(0,0,0,.55) 100%),linear-gradient(to bottom,rgba(0,0,0,.25) 0%,#000 24%,#000 72%,transparent 100%);
  mask-composite:intersect;
}
.hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;display:none}

.hero__grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr auto;
  height:100%;
  padding-top:104px;
  padding-bottom:clamp(36px,5vh,64px);
}
.hero__head{align-self:end;padding-bottom:clamp(16px,2.6vh,32px);max-width:74%}
.hero__text{max-width:min(560px,56%)}
.hero__role{font-size:.9375rem;color:var(--paper-muted);margin-bottom:24px;opacity:0;animation:fade .8s var(--ease) .1s forwards}
.hero__title{
  font-size:clamp(2.75rem,4.9vw,5.1rem);
  line-height:.95;
  letter-spacing:-0.038em;
  font-weight:700;
}
.hero__line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero__line>span{display:block;transform:translateY(110%);animation:rise 1.1s var(--ease) forwards}
.hero__line:nth-child(1)>span{animation-delay:.15s}
.hero__line:nth-child(2)>span{animation-delay:.24s}
.hero__line:nth-child(3)>span{animation-delay:.33s}
.hero__title .w{display:inline-block;will-change:transform}
.hero__lead{
  font-size:clamp(1.0625rem,1.35vw,1.25rem);
  line-height:1.4;text-wrap:pretty;
  max-width:30em;
  color:#D3CEC6;
  margin-top:4px;
  opacity:0;animation:fade .9s var(--ease) .45s forwards;
}
.hero__cta{margin-top:28px;opacity:0;animation:fade .9s var(--ease) .5s forwards}
.hero__note{font-size:.9375rem;line-height:1.5;color:var(--paper-muted);max-width:32em;margin-top:14px}
.facts{
  display:flex;flex-wrap:wrap;gap:12px 36px;
  margin-top:36px;
  font-size:.9375rem;color:var(--paper-muted);
  opacity:0;animation:fade .9s var(--ease) .7s forwards;
}
.facts b{color:var(--paper);font-weight:600;font-variant-numeric:tabular-nums}

/* Струна */
.string{position:relative;width:100%;height:64px}
.string svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.string__path{fill:none;stroke:currentColor;stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linecap:round;transition:stroke .6s var(--ease)}
.string--hero{margin:20px 0 16px;color:var(--paper)}
.string--hero .string__path{stroke-dasharray:1000 1000;stroke-dashoffset:1000;animation:draw 1.2s cubic-bezier(.65,0,.2,1) .55s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.string--check{height:200px;color:var(--ink)}
.string--final{height:72px;color:var(--blue);margin-bottom:28px}

/* Секции */
.sec{padding-block:clamp(72px,9vw,144px)}
.sec__grid{display:grid;grid-template-columns:5fr 7fr;column-gap:48px;row-gap:28px;align-items:start}
.sec__title{
  font-size:clamp(1.85rem,3.3vw,3rem);
  line-height:1.04;
  letter-spacing:-0.025em;
  font-weight:600;
  max-width:11em;
  text-wrap:balance;
}
.sec__title--full{max-width:14em;margin-bottom:clamp(32px,4vw,56px)}
.sec__title--wide{max-width:none;font-size:clamp(1.75rem,2.7vw,2.5rem)}
.sec__body{max-width:36em}
.sec__body p+p{margin-top:1em}

/* Запросы */
.sec--requests{padding-top:clamp(64px,8vw,120px)}
.requests li{
  position:relative;
  font-size:clamp(1.5rem,2.7vw,2.375rem);
  line-height:1.15;
  font-weight:500;
  letter-spacing:-0.02em;
  padding:clamp(16px,2vw,24px) 0;
  text-wrap:balance;
}
.requests li{--sx:1}
.requests li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform-origin:left center;transform:scaleX(var(--sx))}
.requests li:last-child::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform-origin:left center;transform:scaleX(var(--sx))}
.requests li>span{display:block}

/* Метод */
.method__fig{margin-top:40px;max-width:440px;overflow:hidden}
.method__fig img{width:100%;height:auto}
.method__fig figcaption{font-size:.875rem;line-height:1.45;color:var(--ink-2);margin-top:14px;max-width:28em}
.outcomes{margin-top:28px;display:grid;gap:14px}
.outcomes li{
  font-size:clamp(1.125rem,1.5vw,1.375rem);
  line-height:1.35;
  font-weight:500;
  letter-spacing:-0.01em;
  padding-left:28px;position:relative;
}
.outcomes li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--blue)}

/* Проверка: скролл-история, прикалывается на экран */
.sec--check{padding:0}
.check{height:100svh;min-height:640px;display:flex;align-items:stretch}
.check__inner{display:grid;grid-template-rows:auto 1fr auto;height:100%;padding-top:clamp(84px,12vh,120px);padding-bottom:clamp(28px,5vh,56px);width:100%}
.check__top{display:grid;grid-template-columns:5fr 7fr;column-gap:48px;align-items:start}
.check__lead{font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.45;color:var(--ink-2);max-width:30em}
.check__stage{position:relative;display:flex;align-items:center;min-height:120px}
.check__bottom{display:grid;grid-template-columns:5fr 7fr;column-gap:48px;align-items:end}
.check__tabs{display:inline-flex;width:max-content;justify-self:start;border:1px solid var(--ink);border-radius:var(--radius);overflow:hidden;align-self:end}
.check__tab{
  appearance:none;border:0;background:transparent;color:var(--ink);
  font:inherit;font-weight:500;font-size:1rem;padding:12px 22px;cursor:pointer;
  transition:background-color .3s var(--ease),color .3s var(--ease);
}
.check__tab+.check__tab{border-left:1px solid var(--ink)}
.check__tab[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.check[data-state="after"] .string--check{color:var(--blue)}
.check[data-state="after"] .check__tab[aria-selected="true"]{background:var(--blue)}
.check__texts{position:relative;min-height:3.2em}
.check__text{
  position:absolute;left:0;top:0;
  font-size:clamp(1.375rem,2.4vw,2.125rem);
  line-height:1.2;letter-spacing:-0.02em;font-weight:500;
  max-width:22em;
  opacity:0;transform:translateY(10px);
  transition:opacity .45s var(--ease),transform .45s var(--ease);
  pointer-events:none;
}
.check[data-state="before"] .check__text[data-state="before"],
.check[data-state="work"] .check__text[data-state="work"],
.check[data-state="after"] .check__text[data-state="after"]{opacity:1;transform:none;pointer-events:auto;position:relative}

/* Отзывы */
.sec--reviews .sec__title--full{margin-bottom:0}
.band{
  position:relative;
  margin-top:clamp(32px,4vw,56px);
  min-height:min(58svh,560px);
  background:var(--studio);
  color:var(--paper);
  display:flex;align-items:flex-start;
  overflow:hidden;
}
.band__img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;object-position:50% 50%;will-change:transform;animation:bandzoom 24s ease-in-out infinite alternate;transform-origin:50% 50%}
@keyframes bandzoom{from{scale:1}to{scale:1.08}}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(38,35,33,.6) 0%,rgba(38,35,33,.25) 38%,rgba(38,35,33,0) 55%,rgba(38,35,33,.55) 100%)}
.band__inner{position:relative;z-index:1;width:100%;padding-block:clamp(44px,6vw,80px)}
.band .review footer{color:var(--paper-muted)}
.reviews{display:grid;grid-template-columns:5fr 7fr;column-gap:48px;row-gap:clamp(40px,5vw,72px);padding-top:clamp(40px,5vw,72px)}
.review{grid-column:1/-1}
.review p{
  font-size:clamp(1.5rem,3vw,2.75rem);
  line-height:1.12;letter-spacing:-0.025em;font-weight:500;
  max-width:21em;text-wrap:balance;
}
.review footer{margin-top:18px;font-size:.9375rem;color:var(--ink-2)}
.review:not(.review--big){grid-column:2/-1}
.review:not(.review--big) p{font-size:clamp(1.125rem,1.6vw,1.5rem);line-height:1.4;letter-spacing:-0.01em;font-weight:400;max-width:34em;text-wrap:pretty}

/* Шаги */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 48px}
.step{position:relative;padding-top:18px;border-top:1px solid var(--ink)}
.step::before{
  counter-increment:step;content:counter(step);
  display:block;font-size:.9375rem;color:var(--ink-2);font-variant-numeric:tabular-nums;margin-bottom:28px;
}
.step__name{font-size:1.375rem;line-height:1.2;letter-spacing:-0.015em;font-weight:600}
.step__meta{color:var(--ink-2);font-size:.9375rem;margin-top:6px}
.step__text{margin-top:14px;max-width:24em}

/* Цены */
.sec--prices .sec__body{max-width:none}
.prices{border-top:1px solid var(--line)}
.price{
  position:relative;
  display:grid;grid-template-columns:1fr auto;grid-template-areas:"name sum" "meta sum";
  column-gap:24px;row-gap:4px;align-items:baseline;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.price::before{content:"";position:absolute;inset:0 -16px;background:rgba(20,19,17,.04);transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease);pointer-events:none}
.price:hover::before{transform:scaleX(1)}
.price dt{grid-area:name;font-size:1.25rem;font-weight:500;letter-spacing:-0.01em}
.price__meta{grid-area:meta;color:var(--ink-2);font-size:.9375rem}
.price__sum{grid-area:sum;font-size:1.25rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;align-self:start}
.prices__note{margin-top:24px;color:var(--ink-2);max-width:34em}
.prices__cta{margin-top:40px}
.prices__cta .hero__note{color:var(--ink-2)}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq--wide{max-width:58em}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{
  list-style:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:20px 0;
  font-size:clamp(1.125rem,1.4vw,1.25rem);font-weight:500;letter-spacing:-0.01em;line-height:1.3;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"";flex:0 0 14px;width:14px;height:14px;
  background:
    linear-gradient(var(--ink),var(--ink)) center/100% 1.5px no-repeat,
    linear-gradient(var(--ink),var(--ink)) center/1.5px 100% no-repeat;
  transition:transform .4s var(--ease);
}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__body{overflow:hidden}
.faq__body p{padding-bottom:24px;max-width:34em;color:var(--ink-2)}

/* Обо мне */
.about{display:grid;grid-template-columns:4fr 8fr;column-gap:48px;row-gap:28px;align-items:start}
.about__photo{overflow:hidden}
.about__photo img{width:100%;height:auto}
.about__text .sec__title{margin-bottom:24px}
.about__sub{font-size:.9375rem;font-weight:600;letter-spacing:.01em;color:var(--ink-2);margin:40px 0 14px}
.docs{display:grid;gap:10px;max-width:38em;color:var(--ink-2);font-size:.9375rem;line-height:1.45}
.docs li{padding-left:22px;position:relative}
.docs li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:1px;background:var(--ink-3)}
.docs--no li::before{background:var(--ink)}
.docs--no{color:var(--ink)}
.about__note{margin-top:14px;font-size:.9375rem;color:var(--ink-2)}
.docs__proof{margin-top:16px;font-size:.9375rem}

/* Бесплатно */
.free__links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:28px}

/* Финал: снова студия, ждёт внизу, тело страницы уезжает и открывает его */
.final{
  position:sticky;bottom:0;z-index:0;
  background:var(--studio);
  color:var(--paper);
  min-height:100svh;
  display:flex;align-items:stretch;
  overflow:hidden;
}
.final__inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;width:100%;padding-top:clamp(120px,18vh,200px);padding-bottom:0}
.final__title{
  font-size:clamp(2.25rem,5.2vw,4.75rem);
  line-height:1;letter-spacing:-0.03em;font-weight:700;
  max-width:11em;text-wrap:balance;
}
.final__cta{margin-top:40px}
.final__note{margin-top:16px;color:var(--paper-muted);font-size:.9375rem;max-width:32em}
.foot{display:flex;justify-content:space-between;align-items:center;gap:24px;height:72px;margin-top:clamp(48px,8vh,96px);border-top:1px solid var(--line-dark);color:var(--paper-muted);font-size:.875rem}
.foot__nav{display:flex;gap:24px}
.foot__nav a{text-decoration:none;transition:color .2s var(--ease)}
.foot__nav a:hover{color:var(--paper)}

/* Липкая кнопка на телефоне */
.sticky{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:20;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(236,233,227,.86);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-top:1px solid rgba(20,19,17,.08);
  transform:translateY(110%);
  transition:transform .4s var(--ease);
}
.sticky .btn{display:block;text-align:center;padding:15px 20px}
.sticky.is-visible{transform:none}

@keyframes rise{to{transform:none}}
@keyframes fade{to{opacity:1}}

/* Планшет и телефон */
@media (max-width:900px){
  .stage{height:auto}
  .body{margin-top:0}
  .hero{position:relative;height:auto;min-height:0;background:var(--studio)}
  .grain{animation:none}
  .hero__media{position:relative;width:auto;height:min(64svh,600px);margin:0;animation:none;opacity:1}
  .hero__media img{object-position:50% 18%;animation:none}
  .hero__media{-webkit-mask-image:none;mask-image:none;clip-path:none;animation:none}
  .hero__light{width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax}
  .hero__media::after{display:block;background:linear-gradient(to bottom,rgba(38,35,33,.55) 0%,rgba(38,35,33,0) 22%,rgba(38,35,33,0) 42%,rgba(38,35,33,.85) 78%,var(--studio) 100%)}
  .hero__grid{display:block;height:auto;padding-top:0;padding-bottom:56px}
  .hero__head{max-width:none;margin-top:min(-22svh,-140px);position:relative;z-index:2;padding-bottom:0}
  .hero__text{max-width:none}
  .hero__line{display:inline;overflow:visible;padding:0;margin:0}
  .hero__line>span{display:inline;transform:none;animation:none}
  .hero__title{font-size:clamp(2.2rem,9.4vw,4rem);text-wrap:pretty;opacity:0;animation:fade 1s var(--ease) .25s forwards}
  .hero__role{color:var(--paper);text-shadow:0 1px 12px rgba(38,35,33,.9);margin-bottom:18px}
  .string--hero{margin:20px 0 12px;height:48px}
  .hero__cta{margin-top:28px}
  .facts{margin-top:36px;font-size:.875rem;gap:8px 20px}
  .sec__grid,.reviews,.about,.check__top,.check__bottom{grid-template-columns:1fr}
  .check__top{row-gap:16px}
  .check__bottom{row-gap:20px}
  .check__inner{padding-top:clamp(72px,10vh,100px)}
  .string--check{height:140px}
  .review:not(.review--big){grid-column:1/-1}
  .steps{grid-template-columns:1fr;gap:28px}
  .band{min-height:min(78svh,620px)}
  .method__fig{max-width:none;margin-top:28px}
  .about__photo{max-width:420px}
  .final{position:relative;min-height:0}
  .final__inner{padding-top:clamp(88px,12vh,140px)}
}
@media (max-width:640px){
  .top__row{height:64px}
  .top__link{padding:9px 12px;font-size:.875rem}
  .hero__cta .btn{display:block;text-align:center}
  .sticky{display:block}
  .check__tab{padding:11px 16px;font-size:.9375rem}
  .prices__cta .btn,.final__cta .btn,.free__links .btn{display:block;text-align:center}
  .foot{height:auto;padding:20px 0;flex-direction:column;align-items:flex-start;gap:10px}
  .check__inner{padding-bottom:calc(24px + 78px + env(safe-area-inset-bottom))}
}
@media (max-height:760px) and (min-width:901px){
  .hero{min-height:0}
  .hero__title{font-size:clamp(2.5rem,4.9vw,4.6rem)}
  .hero__grid{padding-top:88px}
  .facts{margin-top:22px}
  .hero__cta{margin-top:22px}
}

/* Сниженный моушен: класс ставит js/motion.js по prefers-reduced-motion */
html.reduce *,html.reduce *::before,html.reduce *::after{
  animation-duration:.01ms !important;
  animation-delay:0s !important;
  animation-iteration-count:1 !important;
  transition-duration:.01ms !important;
  scroll-behavior:auto !important;
}
html.reduce .hero,html.reduce .final{position:relative}
html.reduce .stage{height:auto}
html.reduce .body{margin-top:0}
html.reduce .hero__line>span{transform:none}
html.reduce .hero__role,html.reduce .hero__lead,html.reduce .hero__cta,html.reduce .facts,html.reduce .hero__media,html.reduce .string--hero,html.reduce .hero__title{opacity:1}
html.reduce .hero__media{clip-path:none}
html.reduce .string--hero .string__path{stroke-dashoffset:0}
html.reduce .hero__light{animation:none;transform:translate(24%,-4%)}
html.reduce .grain{display:none}
html.reduce .check{height:auto;min-height:0;padding-block:clamp(72px,9vw,144px)}
html.reduce .check__inner{height:auto;padding-top:0;padding-bottom:0;row-gap:32px}
