/* ===== Токены ===== */
:root{
  color-scheme: dark;
  --bg:#0A0A0B;          /* совпадает с фоном фотосессии */
  --bg-2:#141416;        /* графит */
  --bg-3:#1D1D20;
  --milk:#F1EEE6;
  --ink:#0A0A0B;
  --text:#F1EEE6;
  --mute:#8F8C85;
  --line:rgba(241,238,230,.12);
  --lemon:#F2D02B;
  --lemon-2:#FFE36A;
  --lemon-deep:#C9A800;

  --f-head:"Unbounded",system-ui,sans-serif;
  --f-body:"Golos Text",system-ui,-apple-system,sans-serif;
  --f-mono:"Martian Mono",ui-monospace,monospace;

  --gut:clamp(16px,4.5vw,48px);
  --wrap:1320px;
  --hdr:64px;
  --e:cubic-bezier(.22,.75,.26,1);
  --e-io:cubic-bezier(.65,0,.35,1);
  --e-back:cubic-bezier(.34,1.56,.64,1);
}
@media (min-width:900px){:root{--hdr:84px}}

/* ===== Основа ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.55 var(--f-body);
  -webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .7s var(--e),color .7s var(--e)}
@media (min-width:900px){body{font-size:17px}}
body.lock{overflow:hidden}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--lemon);outline-offset:3px;border-radius:4px}
::selection{background:var(--lemon);color:var(--ink)}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{font-family:var(--f-head);font-weight:800;letter-spacing:-.045em;line-height:.95;text-wrap:balance;overflow-wrap:break-word}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* типографика */
.h-xl{font-size:clamp(44px,13vw,168px)}
.h-l{font-size:clamp(34px,9.6vw,112px)}
.h-m{font-size:clamp(28px,7vw,72px)}
.h-s{font-size:clamp(20px,5vw,34px);letter-spacing:-.035em;line-height:1.05}
.lede{font-size:clamp(16px,4.2vw,21px);line-height:1.5;max-width:46ch;color:color-mix(in srgb,currentColor 78%,transparent)}
.label{font:500 10.5px/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.label b{color:var(--lemon);font-weight:500}
.lemon{color:var(--lemon)}
.ph{font-family:var(--f-mono);font-size:.8em;border-bottom:1px dashed currentColor;opacity:.85}

/* ===== Кнопки ===== */
.btn{--bc:var(--lemon);--tc:var(--ink);position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;
  border-radius:100px;background:var(--bc);color:var(--tc);font:600 15.5px/1 var(--f-body);
  transition:transform .25s var(--e)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--milk);border-radius:inherit;
  transform:translateY(101%);transition:transform .5s var(--e)}
@media (hover:hover){.btn:hover::before{transform:none}}
.btn:active{transform:scale(.97)}
.btn .arr{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--lemon);display:grid;place-items:center;
  margin-right:-14px;transition:transform .45s var(--e)}
@media (hover:hover){.btn:hover .arr{transform:rotate(-45deg)}}
.btn-ghost{--bc:transparent;--tc:var(--text);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost::before{background:var(--text)}
@media (hover:hover){.btn-ghost:hover{color:var(--ink)}}

/* ===== Шапка ===== */
.hdr{position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr);transition:transform .5s var(--e),background-color .4s,backdrop-filter .4s}
.hdr.solid{background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.hdr.hide{transform:translateY(-100%)}
.hdr-in{height:100%;display:flex;align-items:center;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font:800 14px/1 var(--f-head);letter-spacing:-.03em;text-transform:uppercase}
.logo i{width:26px;height:26px;border-radius:50%;background:var(--lemon);display:grid;place-items:center;color:var(--ink);font-style:normal;font-size:12px}
.nav{display:none;margin-left:auto;gap:30px;align-items:center}
.nav a{font-size:15px;color:var(--mute);transition:color .25s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--text)}
.nav a.btn{color:var(--tc)}
.burger{margin-left:auto;width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);display:grid;place-items:center;position:relative;z-index:120}
.burger span{position:absolute;width:18px;height:1.5px;background:currentColor;transition:transform .45s var(--e)}
.burger span:first-child{transform:translateY(-3.5px)}
.burger span:last-child{transform:translateY(3.5px)}
.menu-open .burger span:first-child{transform:rotate(45deg)}
.menu-open .burger span:last-child{transform:rotate(-45deg)}
@media (min-width:900px){.nav{display:flex}.burger{display:none}}

/* полноэкранное мобильное меню */
.menu{position:fixed;inset:0;z-index:110;background:var(--lemon);color:var(--ink);display:flex;flex-direction:column;
  padding:calc(var(--hdr) + 24px) var(--gut) calc(24px + env(safe-area-inset-bottom));
  clip-path:circle(0% at calc(100% - var(--gut) - 24px) calc(var(--hdr) / 2));transition:clip-path .8s var(--e-io);visibility:hidden}
.menu-open .menu{clip-path:circle(150% at calc(100% - var(--gut) - 24px) calc(var(--hdr) / 2));visibility:visible}
.menu-open .hdr{z-index:130;color:var(--ink);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}
.menu ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.menu li{overflow:hidden}
.menu a.big{display:flex;align-items:baseline;gap:14px;font:800 clamp(38px,11vw,64px)/1.02 var(--f-head);letter-spacing:-.05em;
  transform:translateY(110%);transition:transform .7s var(--e)}
.menu a.big small{font:500 11px var(--f-mono);letter-spacing:.1em}
.menu-open .menu a.big{transform:none}
.menu li:nth-child(2) a.big{transition-delay:.05s}.menu li:nth-child(3) a.big{transition-delay:.1s}
.menu li:nth-child(4) a.big{transition-delay:.15s}.menu li:nth-child(5) a.big{transition-delay:.2s}
.menu-foot{margin-top:auto;display:grid;gap:12px}
.menu-foot .btn{--bc:var(--ink);--tc:var(--lemon);width:100%}
.menu-foot .btn .arr{background:var(--lemon);color:var(--ink)}
.menu-foot .row{display:flex;gap:10px}
.menu-foot .row a{flex:1;min-height:52px;border-radius:100px;box-shadow:inset 0 0 0 1.5px rgba(10,10,11,.25);display:grid;place-items:center;font-weight:600}

/* липкая панель внизу на телефоне */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:10px;
  padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));
  background:linear-gradient(to top,var(--bg) 55%,transparent);transform:translateY(120%);transition:transform .6s var(--e)}
.dock.on{transform:none}
.dock .btn{flex:1;min-width:0;padding:0 14px;font-size:14px;white-space:nowrap}
.dock .wa{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:#25D366;display:grid;place-items:center;color:#fff}
@media (min-width:900px){.dock{display:none}}

/* ===== Секции-экраны ===== */
.screen{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--hdr) + 24px) 48px}
.pin{position:relative}
.pin>.stick{position:sticky;top:0;height:100svh;overflow:hidden}
.theme-milk{--text:var(--ink);--mute:#6B6860;--line:rgba(10,10,11,.14);color:var(--ink)}
.theme-lemon{--text:var(--ink);--mute:rgba(10,10,11,.6);--line:rgba(10,10,11,.2);color:var(--ink)}

/* ===== Появление ===== */
.js .rv{opacity:0;transform:translateY(32px);transition:opacity .9s var(--e),transform .9s var(--e)}
.js .rv.in{opacity:1;transform:none}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>i{display:inline-block;font-style:normal;transform:translateY(105%);transition:transform 1s var(--e);transition-delay:calc(var(--i) * 45ms)}
.split.in .w>i{transform:none}

/* ===== Бегущая строка ===== */
.mq{overflow:hidden;display:flex;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq-t{display:flex;flex:0 0 auto;align-items:center;gap:var(--gap,48px);padding-right:var(--gap,48px);animation:mq var(--dur,30s) linear infinite}
.mq.rev .mq-t{animation-direction:reverse}
@keyframes mq{to{transform:translateX(-100%)}}

/* ===== Футер ===== */
.ftr{position:relative;background:var(--lemon);color:var(--ink);padding:72px 0 calc(110px + env(safe-area-inset-bottom));overflow:hidden}
@media (min-width:900px){.ftr{padding-bottom:40px}}
.ftr-big{font:800 clamp(48px,14.4vw,210px)/.84 var(--f-head);letter-spacing:-.07em;margin-bottom:48px}
.ftr-grid{display:grid;min-width:0;gap:32px;grid-template-columns:1fr 1fr}
.ftr-grid>div{min-width:0}
.ftr-grid .label{color:rgba(10,10,11,.55);display:block;margin-bottom:12px}
.ftr-grid a{overflow-wrap:break-word;display:block;padding:4px 0;font-weight:500}
.ftr-bot{margin-top:48px;padding-top:20px;border-top:1.5px solid rgba(10,10,11,.2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:500 11px/1.7 var(--f-mono)}
@media (min-width:900px){.ftr-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}

/* ===== Переходы между страницами ===== */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.45s var(--e-io) both vt-out}
::view-transition-new(root){animation:.55s var(--e) both vt-in}
@keyframes vt-out{to{opacity:0;transform:translateY(-4%) scale(.98)}}
@keyframes vt-in{from{opacity:0;transform:translateY(6%)}}
::view-transition-group(*){animation-duration:.6s;animation-timing-function:var(--e)}

/* ===== Кнопки: варианты ===== */
.btn-sm{min-height:46px;padding:0 22px;font-size:14.5px}
.btn-ink{--bc:var(--ink);--tc:var(--lemon)}
.btn-ink::before{background:var(--lemon)}
.btn-ink .arr{background:var(--lemon);color:var(--ink)}
@media (hover:hover){.btn-ink:hover{color:var(--ink)}}
.btn-wide{width:100%}
@media (min-width:900px){.btn-wide{width:auto}}
.pill{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 18px;border-radius:100px;
  background:rgba(29,29,32,.72);box-shadow:inset 0 0 0 1.5px var(--line);font:600 15px/1 var(--f-body);transition:background .3s,color .3s}
.pill i{font-style:normal;transition:transform .4s var(--e)}
@media (hover:hover){.pill:hover{background:var(--milk);color:var(--ink)}.pill:hover i{transform:translateX(4px)}}
.dock .tg{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:#229ED9;display:grid;place-items:center;color:#fff}
fieldset{border:0;margin:0;padding:0;min-width:0}

/* ===== Фиксация экранов: прокрутка «доводится» до начала блока и до финала анимации ===== */
/* вертикальная автодоводка выключена: прокрутка везде свободная */
.snap{position:absolute;left:0;top:0;width:1px;height:1px;pointer-events:none;visibility:hidden}
.snap-end{top:calc(100% - 100svh)}
body.menu-open,body.lock{scroll-snap-type:none}

/* ===== Телефон: без размытия под стеклом, оно тормозит прокрутку ===== */
@media (max-width:899px){
  .hdr.solid{-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ===== Подпись в шапке: только на телефоне ===== */
.hdr-tag{display:none}
@media (max-width:899px){
  .hdr-in{gap:0}
  .hdr-tag{display:block;min-width:0;overflow:hidden;margin:0 6px 0 8px;padding-left:8px;border-left:1px solid var(--line);
    font:500 10px/1.25 var(--f-body);color:var(--mute);white-space:nowrap}
  .burger{flex:0 0 48px}
  body.hdr-ink:not(.menu-open) .hdr-tag{color:rgba(10,10,11,.62);border-color:rgba(10,10,11,.2)}
  .menu-open .hdr-tag{color:rgba(10,10,11,.7);border-color:rgba(10,10,11,.25)}
}

/* ===== Меньше движения ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv{opacity:1;transform:none}
  .split .w>i{transform:none}
  @view-transition{navigation:none}
}

/* длинная почта в подвале на телефоне */
@media (max-width:899px){.ftr-grid{grid-template-columns:1fr;gap:24px}}
