@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-400-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-600-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/manrope-800-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/manrope-800-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/manrope-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/oswald-600-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/oswald-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/oswald-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/oswald-700-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/oswald-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/oswald-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:#0a0a0b;--bg2:#121214;--bg3:#1a1a1d;--line:#26262b;--ink:#f4f4f5;--muted:#a1a1aa;
  --y:#ffd400;--y2:#ffb800;--yglow:rgba(255,212,0,.35);--r:20px;
  --head:"Oswald","Arial Narrow",Impact,sans-serif;--body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
html,body{overflow-x:clip}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--y)}
h1,h2,h3{font-family:var(--head);font-weight:700;text-transform:uppercase;line-height:1.02;margin:0 0 .45em;letter-spacing:.005em}
h1{font-size:clamp(42px,7vw,96px)}
h2{font-size:clamp(32px,4.8vw,60px)}
h3{font-size:24px;line-height:1.1}
.y{color:var(--y)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.pill{display:inline-flex;align-items:center;gap:10px;background:var(--y);color:#111;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:8px 18px;border-radius:999px;font-size:16px}
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;background:var(--y);color:#111;text-decoration:none;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:20px;padding:18px 30px;border-radius:14px;box-shadow:0 10px 40px var(--yglow);overflow:hidden;transition:transform .2s,box-shadow .2s;border:0;cursor:pointer}
.btn:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:shine 3.2s infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 50px var(--yglow)}
.btn svg{width:24px;height:24px;fill:currentColor}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid #3a3a40;box-shadow:none}
.btn.ghost:after{display:none}
.btn.ghost:hover{border-color:var(--y);color:var(--y)}
/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.top.solid,.page .top{background:rgba(10,10,11,.85);backdrop-filter:blur(14px);border-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.logo .mark{width:44px;height:44px;flex:none;transition:transform .4s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 6px 18px rgba(255,212,0,.28))}
.logo:hover .mark{transform:rotate(-8deg) scale(1.06)}
.logo .sq{fill:var(--y)}.logo .bub{fill:#0a0a0b}
.logo .ln{stroke:var(--y);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:3 3;animation:dash .9s linear infinite}
.logo .n{fill:var(--y);transform-box:fill-box;transform-origin:center;animation:ping 2.4s ease-in-out infinite}
.logo .n2{animation-delay:.4s}.logo .n3{animation-delay:.8s}
@keyframes ping{0%,60%,100%{transform:scale(1);opacity:1}30%{transform:scale(1.45);opacity:.75}}
.logo .wm{display:flex;flex-direction:column;line-height:1}
.logo .wm b{font-family:var(--head);font-weight:700;font-size:25px;text-transform:uppercase;letter-spacing:.05em}
.logo .wm em{font-style:normal;color:var(--y)}
.logo .wm small{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.24em;color:var(--y);margin-top:5px}
@media(max-width:400px){.logo .wm b{font-size:22px}.logo .wm small{font-size:9.5px;letter-spacing:.18em}}
.top nav{display:flex;gap:26px}
.top nav a{color:#d4d4d8;text-decoration:none;font-size:15px;font-weight:600}
.top nav a:hover{color:var(--y)}
.top .btn{padding:11px 20px;font-size:16px;box-shadow:none}
@media(max-width:1250px){.top nav{display:none}}
.top nav a,.top .btn{white-space:nowrap}
@media(max-width:700px){.top .btn{display:none}}
/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:110px 0 70px;overflow:hidden;isolation:isolate;background:radial-gradient(700px 520px at 78% 45%,rgba(255,212,0,.16),transparent 70%),#0a0a0b}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(circle at 70% 50%,#000,transparent 70%);mask:radial-gradient(circle at 70% 50%,#000,transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;width:100%}
.hero .copy{max-width:640px}
.hero-photo{position:relative;justify-self:end;width:100%;max-width:500px;opacity:0;animation:photoIn 1.1s .25s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes photoIn{from{opacity:0;transform:translateX(40px) scale(.96)}to{opacity:1;transform:none}}
.hero-photo:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:3px solid var(--y);border-radius:30px;z-index:-1}
.hero-photo img{width:100%;aspect-ratio:680/720;object-fit:cover;object-position:60% 20%;border-radius:30px;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.hero-photo .chip{position:absolute;display:flex;align-items:center;gap:10px;background:rgba(18,18,20,.92);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-weight:800;font-size:15px;box-shadow:0 14px 40px rgba(0,0,0,.5);animation:float 5s ease-in-out infinite}
.hero-photo .chip b{color:var(--y);font-family:var(--head);font-size:22px;font-weight:700}
.hero-photo .chip.c1{left:-46px;top:16%}
.hero-photo .chip.c2{right:-26px;bottom:12%;animation-delay:-2.5s;background:var(--y);color:#111;border-color:var(--y)}
.hero-photo .chip.c2 b{color:#111}
@keyframes float{50%{transform:translateY(-12px)}}
.hero h1{margin:22px 0 18px}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .line span{display:block;transform:translateY(105%);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards}
.hero h1 .line:nth-child(2) span{animation-delay:.12s}
@keyframes up{to{transform:none}}
.hero .sub{font-family:var(--head);text-transform:uppercase;font-size:clamp(22px,3vw,36px);color:#e4e4e7;margin:0 0 22px;opacity:0;animation:fade .8s .5s forwards}
.underline{height:4px;width:0;background:var(--y);border-radius:4px;margin-bottom:24px;animation:grow 1s .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes grow{to{width:min(380px,70%)}}
@keyframes fade{to{opacity:1}}
.hero .lead{font-size:19px;color:#d4d4d8;max-width:560px;opacity:0;animation:fade .8s .8s forwards}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 16px;opacity:0;animation:fade .8s 1s forwards}
.hero small{color:var(--muted);opacity:0;animation:fade .8s 1.1s forwards}
.hero h1{font-size:clamp(42px,6vw,88px)}
.scroll-hint{position:absolute;bottom:26px;left:50%;width:26px;height:42px;border:2px solid #52525b;border-radius:14px;transform:translateX(-50%)}
.scroll-hint:after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;background:var(--y);border-radius:2px;animation:wheel 1.6s infinite}
@keyframes wheel{to{transform:translateY(14px);opacity:0}}
@media(max-width:900px){
  .hero{min-height:auto;padding:92px 0 60px}
  .hero .wrap{grid-template-columns:1fr;gap:34px}
  .hero-photo{order:-1;justify-self:center;max-width:380px;width:calc(100% - 30px)}
  .hero-photo .chip{font-size:13px;padding:9px 12px}.hero-photo .chip b{font-size:18px}
  .hero-photo .chip.c1{left:-14px}.hero-photo .chip.c2{right:-18px}
  .scroll-hint{display:none}
}
/* marquee */
.marquee{background:var(--y);color:#111;overflow:hidden;white-space:nowrap;padding:14px 0;transform:rotate(-1.2deg);margin:-14px -10px 0;position:relative;z-index:2}
.marquee div{display:inline-block;animation:marq 30s linear infinite;font-family:var(--head);font-size:22px;text-transform:uppercase;font-weight:700}
.marquee span{margin:0 26px}
@keyframes marq{to{transform:translateX(-50%)}}
/* sections */
section{padding:100px 0;position:relative}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--y);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin-bottom:14px}
.kicker:before{content:"";width:28px;height:2px;background:var(--y)}
.lead2{color:var(--muted);max-width:720px;font-size:19px;margin:0 0 44px}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.g4,.g3,.g2{grid-template-columns:1fr}}
.card{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:border-color .3s,transform .3s}
.card:hover{border-color:#4a4a52;transform:translateY(-4px)}
.card p{margin:0;color:var(--muted)}
.card .ic{width:54px;height:54px;border-radius:14px;background:rgba(255,212,0,.1);border:1px solid rgba(255,212,0,.3);display:grid;place-items:center;font-size:26px;margin-bottom:18px}
.card.photo{padding:0;overflow:hidden}
.card.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s}
.card.photo:hover img{transform:scale(1.06)}
.card.photo div{padding:22px 24px 26px}
/* flow viz */
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 56px}
.node{background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:26px 20px;text-align:center}
.node.me{border-color:var(--y);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,212,0,.35)}60%{box-shadow:0 0 0 16px rgba(255,212,0,0)}}
.node b{display:block;font-family:var(--head);font-size:26px;text-transform:uppercase}
.node span{color:var(--muted);font-size:15px}
.node .em{font-size:40px;display:block;margin-bottom:8px}
.pipe{width:110px;height:60px;position:relative}
.pipe svg{width:100%;height:100%;overflow:visible}
.pipe path{stroke:var(--y);stroke-width:3;fill:none;stroke-dasharray:8 8;animation:dash .8s linear infinite}
.pipe path.back{stroke:#4ade80;animation-direction:reverse}
@keyframes dash{to{stroke-dashoffset:-16}}
.pipe small{position:absolute;left:-10px;right:-10px;text-align:center;font-size:11px;color:var(--y);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.pipe small.t{top:-12px}.pipe small.b{bottom:-12px;color:#4ade80}
@media(max-width:860px){.flow{grid-template-columns:1fr}.pipe{width:70px;height:60px;margin:0 auto;transform:rotate(90deg)}.pipe small{display:none}}
/* steps */
.step .n{font-family:var(--head);font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--y);display:block;margin-bottom:12px}
/* calculator */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;background:linear-gradient(135deg,#141416,#0d0d0f);border:1px solid var(--line);border-radius:28px;padding:44px;overflow:hidden;position:relative}
.calc:before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(255,212,0,.18),transparent 70%);pointer-events:none}
.field{margin-bottom:26px}
.field label{display:flex;justify-content:space-between;gap:10px;font-weight:700;margin-bottom:10px}
.field label output{font-family:var(--head);font-size:22px;color:var(--y);white-space:nowrap}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--y) var(--p,50%),#2a2a30 var(--p,50%));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:5px solid var(--y);cursor:pointer;box-shadow:0 0 0 6px rgba(255,212,0,.15)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid var(--y);cursor:pointer}
.result{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:30px;display:flex;flex-direction:column;justify-content:center}
.result .lbl{color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.result .big{font-family:var(--head);font-size:clamp(48px,6vw,76px);color:var(--y);line-height:1;margin:6px 0 18px;text-shadow:0 0 40px rgba(255,212,0,.35)}
.result .row{display:flex;justify-content:space-between;border-top:1px dashed #2f2f35;padding:10px 0;color:#d4d4d8}
.bars{display:flex;align-items:flex-end;gap:6px;height:90px;margin-top:16px}
.bars i{flex:1;background:linear-gradient(0deg,var(--y2),var(--y));border-radius:6px 6px 2px 2px;transition:height .5s cubic-bezier(.2,.8,.2,1);min-height:4px}
.note{font-size:13px;color:#71717a;margin-top:14px}
@media(max-width:860px){.calc{grid-template-columns:1fr;padding:24px}}
/* gallery */
.gallery{columns:3 280px;column-gap:16px}
.gallery figure{margin:0 0 16px;break-inside:avoid;position:relative;border-radius:18px;overflow:hidden;background:var(--bg3)}
.gallery img{width:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.9)}
.gallery figure:hover img{transform:scale(1.07);filter:saturate(1.1)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);font-weight:700;font-size:15px}
.gallery figcaption b{color:var(--y);font-family:var(--head);text-transform:uppercase;font-weight:700;display:block;font-size:13px;letter-spacing:.08em}
/* photo strip */
.strip{overflow:hidden;padding:10px 0}
.strip .track{display:flex;gap:16px;width:max-content;animation:marq 60s linear infinite}
.strip:hover .track{animation-play-state:paused}
.strip img{height:240px;width:auto;border-radius:16px;object-fit:cover}
@media(max-width:640px){.strip img{height:170px}}
/* before/after */
.ba{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3;user-select:none;touch-action:pan-y;border:1px solid var(--line);cursor:ew-resize}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba .after{clip-path:inset(0 0 0 var(--x,50%))}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--x,50%);width:4px;margin-left:-2px;background:var(--y)}
.ba .handle:after{content:"⇆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--y);color:#111;display:grid;place-items:center;font-size:22px;font-weight:900;box-shadow:0 6px 24px rgba(0,0,0,.5)}
.ba .tag{position:absolute;top:16px;padding:6px 12px;border-radius:8px;background:rgba(0,0,0,.7);font-family:var(--head);text-transform:uppercase;font-size:15px}
.ba .tag.l{left:16px}.ba .tag.r{right:16px;background:var(--y);color:#111}
.ba-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:860px){.ba-wrap{grid-template-columns:1fr}}
/* timeline */
.timeline{position:relative;padding-left:46px}
.timeline:before{content:"";position:absolute;left:14px;top:6px;bottom:6px;width:3px;background:#26262b;border-radius:3px}
.timeline .fill{position:absolute;left:14px;top:6px;width:3px;height:var(--h,0%);background:var(--y);border-radius:3px;box-shadow:0 0 18px var(--y)}
.week{position:relative;margin-bottom:22px}
.week:before{content:"";position:absolute;left:-40px;top:30px;width:17px;height:17px;border-radius:50%;background:var(--bg);border:3px solid #3f3f46;transition:all .4s;z-index:1}
.week.on:before{border-color:var(--y);background:var(--y);box-shadow:0 0 0 6px rgba(255,212,0,.15)}
.week .card{padding:26px 28px}
.week h3 span{color:var(--y)}
.week ul{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;color:var(--muted)}
.week li:before{content:"→ ";color:var(--y)}
@media(max-width:640px){.week ul{grid-template-columns:1fr}.timeline{padding-left:36px}.week:before{left:-30px}.timeline:before,.timeline .fill{left:8px}}
/* chat */
.chat{background:var(--bg2);border:1px solid var(--line);border-radius:26px;padding:22px;display:flex;flex-direction:column;gap:10px;font-size:15px;max-width:440px;margin-left:auto;min-height:470px}
.chat .hd{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:6px;font-weight:800}
.chat .hd i{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80}
.msg{background:#222226;border-radius:16px 16px 16px 4px;padding:10px 14px;max-width:86%;opacity:0;transform:translateY(10px) scale(.97);transition:all .5s cubic-bezier(.2,.8,.2,1)}
.msg.me{align-self:flex-end;background:#2b2a12;border:1px solid rgba(255,212,0,.25);border-radius:16px 16px 4px 16px}
.msg b{display:block;font-size:12px;color:var(--y);text-transform:uppercase;letter-spacing:.05em}
.msg.show,.sum.show{opacity:1;transform:none}
.sum{background:var(--y);color:#111;font-family:var(--head);text-transform:uppercase;font-size:22px;text-align:center;border-radius:14px;padding:12px;opacity:0;transform:scale(.9);transition:all .5s}
.chat-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
@media(max-width:860px){.chat-wrap{grid-template-columns:1fr}.chat{margin:0 auto;min-height:0}}
/* author */
.author{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.author .ph{position:relative;z-index:0}
.author .ph img{border-radius:26px;width:100%;aspect-ratio:4/5;object-fit:cover}
.author .ph:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid var(--y);border-radius:26px;z-index:-1}
.author .ph .badge{position:absolute;left:-14px;bottom:30px;background:var(--y);color:#111;padding:12px 18px;border-radius:14px;font-family:var(--head);text-transform:uppercase;font-size:18px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.fact{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:18px}
.fact b{font-family:var(--head);font-size:40px;color:var(--y);display:block;line-height:1}
.fact span{color:var(--muted);font-size:14px}
@media(max-width:860px){.author{grid-template-columns:1fr}.author .ph{max-width:420px;margin:0 auto 20px}}
@media(max-width:480px){.facts{grid-template-columns:1fr 1fr 1fr;gap:8px}.fact{padding:12px}.fact b{font-size:30px}}
/* price */
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.price{max-width:620px;margin:0 auto;text-align:center;border-radius:30px;padding:46px 34px;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,conic-gradient(from var(--a),var(--y),#3d3300,var(--y),#3d3300,var(--y)) border-box;border:2px solid transparent;animation:spin 6s linear infinite}
@keyframes spin{to{--a:360deg}}
.price .sum-big{font-family:var(--head);font-size:clamp(64px,10vw,96px);color:var(--y);line-height:1;margin:8px 0}
.price ul{text-align:left;margin:26px auto;max-width:420px;padding:0;list-style:none}
.price li{padding:11px 0 11px 34px;position:relative;border-bottom:1px solid var(--line)}
.price li:before{content:"✓";position:absolute;left:2px;top:10px;width:22px;height:22px;border-radius:50%;background:var(--y);color:#111;font-weight:900;font-size:13px;display:grid;place-items:center}
@media(max-width:640px){.price{padding:34px 20px}}
/* faq */
details{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin-bottom:12px;transition:border-color .3s}
details[open]{border-color:#4a4a52}
summary{cursor:pointer;font-weight:800;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:#111;background:var(--y);width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:transform .3s}
details[open] summary:after{transform:rotate(45deg)}
details p{color:var(--muted);margin:14px 0 0}
/* final */
.final{text-align:center;overflow:hidden;background:radial-gradient(800px 400px at 50% 100%,rgba(255,212,0,.16),transparent 70%)}
.final p{color:#d4d4d8;max-width:640px;margin:0 auto 34px;font-size:19px}
footer{border-top:1px solid var(--line);color:#71717a;padding:36px 0;font-size:14px}
footer a{color:#a1a1aa}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.sticky-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:none;transform:translateY(130%);transition:transform .4s}
.sticky-cta.show,.page .sticky-cta{transform:none}
.sticky-cta .btn{width:100%;justify-content:center}
@media(max-width:700px){.sticky-cta{display:block}footer{padding-bottom:96px}}
/* reveal */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.1s}.js .rv.d2{transition-delay:.2s}.js .rv.d3{transition-delay:.3s}
.progress{position:fixed;top:0;left:0;height:3px;background:var(--y);z-index:60;width:0;box-shadow:0 0 12px var(--y)}
/* article */
.article{max-width:800px;margin:0 auto;padding:120px 20px 80px}
.article h1{font-size:clamp(34px,5vw,56px)}
.article h2{font-size:30px;margin-top:1.6em}
.article p,.article li{color:#d4d4d8}
.article .meta{color:var(--muted);font-size:15px;margin-bottom:28px}
.article blockquote{margin:26px 0;padding:20px 24px;background:rgba(255,212,0,.07);border-left:4px solid var(--y);border-radius:0 14px 14px 0}
.article table{width:100%;border-collapse:collapse;margin:20px 0;font-size:16px;display:block;overflow-x:auto}
.article td,.article th{border:1px solid var(--line);padding:11px;text-align:left}
.article th{background:var(--bg3);color:var(--y)}
.article .card{display:block;margin-bottom:16px;text-decoration:none;color:inherit}
.article .card h3{color:var(--ink)}
.article .cover{border-radius:22px;margin:0 0 30px;width:100%;aspect-ratio:16/9;object-fit:cover}
.inline-cta{background:var(--bg2);border:1px solid var(--y);border-radius:22px;padding:28px;margin:38px 0;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.inline-cta p{margin:0;font-weight:700;font-size:19px;max-width:440px;color:var(--ink)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}.hero h1 .line span{transform:none}.hero .sub,.hero .lead,.hero .cta,.hero small,.hero-photo{opacity:1}.underline{width:300px}.msg,.sum{opacity:1;transform:none}}
.top-r{display:flex;align-items:center;gap:12px}
.ig{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;border:1px solid #3a3a40;color:#fff;transition:all .25s}
.ig svg{width:22px;height:22px;fill:currentColor}
.ig:hover{color:#111;border-color:transparent;background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);transform:translateY(-2px)}
.ig-btn{text-transform:none}
.ig-btn sup{font-size:12px;margin-left:-6px}
.meta-note{flex-basis:100%;font-size:12px;color:#52525b}
/* не нужно */
.nogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.no{display:flex;gap:16px;align-items:flex-start;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:22px;transition:border-color .3s,transform .3s}
.no:hover{border-color:#ef4444;transform:translateY(-3px)}
.no i{flex:none;width:44px;height:44px;border-radius:50%;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#f87171;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:20px}
.no h3{font-size:21px;margin-bottom:6px;position:relative;display:inline-block}
.no h3:after{content:"";position:absolute;left:0;top:52%;height:3px;width:0;background:#ef4444;border-radius:3px;transition:width .6s .5s cubic-bezier(.2,.8,.2,1)}
.no.in h3:after{width:100%}
.no p{margin:0;color:var(--muted);font-size:15.5px}
/* персоны */
.persons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.person{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.person:hover{border-color:var(--y);transform:translateY(-4px)}
.person .em{font-size:38px;margin-bottom:10px}
.person p{color:var(--muted);margin:0 0 16px;flex:1}
.person .gain{background:rgba(255,212,0,.08);border-left:3px solid var(--y);border-radius:0 10px 10px 0;padding:10px 12px;font-weight:700;font-size:15px;color:#fde68a}
/* что получите */
.gets{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.get{display:flex;gap:18px;align-items:flex-start;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:22px 24px;transition:border-color .3s}
.get:hover{border-color:#4a4a52}
.get i{flex:none;width:56px;height:56px;border-radius:16px;background:var(--y);display:grid;place-items:center;font-style:normal;font-size:26px;box-shadow:0 8px 24px rgba(255,212,0,.22)}
.get h3{font-size:21px;margin-bottom:6px}
.get p{margin:0;color:var(--muted);font-size:15.5px}
/* формат */
.fmt{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.f{position:relative;overflow:hidden;background:linear-gradient(160deg,#17171a,#0f0f11);border:1px solid var(--line);border-radius:20px;padding:26px}
.f:after{content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,212,0,.16),transparent 70%)}
.f b{display:block;font-family:var(--head);font-size:46px;line-height:1;color:var(--y);margin-bottom:10px}
.f span{color:#d4d4d8}
@media(max-width:960px){.nogrid,.persons,.fmt{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nogrid,.persons,.fmt,.gets{grid-template-columns:1fr}.f b{font-size:38px}}
/* тарифы */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;margin-top:10px}
.plan{position:relative;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-radius:26px;padding:32px 28px;transition:transform .3s,border-color .3s}
.plan:hover{transform:translateY(-6px);border-color:#4a4a52}
.plan .pl-top h3{font-size:30px;margin-bottom:4px}
.plan .pl-top p{margin:0;color:var(--muted)}
.plan .pl-price{font-family:var(--head);font-size:52px;line-height:1;color:var(--y);margin:22px 0 6px}
.plan ul{list-style:none;padding:0;margin:16px 0 26px;flex:1}
.plan li{position:relative;padding:9px 0 9px 30px;border-bottom:1px solid var(--line);color:#d4d4d8;font-size:15.5px}
.plan li:before{content:"✓";position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;background:var(--y);color:#111;font-weight:900;font-size:12px;display:grid;place-items:center}
.plan li.all{color:var(--y);font-weight:800}
.plan .btn{justify-content:center;text-align:center;font-size:17px;padding:16px 18px}
.plan .note{margin-top:12px}
.plan .tag{position:absolute;top:-14px;left:28px;background:var(--y);color:#111;font-family:var(--head);text-transform:uppercase;font-size:14px;letter-spacing:.06em;padding:6px 14px;border-radius:999px}
.plan.pro{background:linear-gradient(var(--bg2),var(--bg2)) padding-box,conic-gradient(from var(--a),var(--y),#3d3300,var(--y),#3d3300,var(--y)) border-box;border:2px solid transparent;animation:spin 6s linear infinite;box-shadow:0 30px 80px rgba(255,212,0,.08)}
.plan.vip{background:linear-gradient(160deg,#1c1a10,#111113)}
.plan.vip .tag{background:#fff}
@media(max-width:960px){.plans{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}.plan{padding:30px 22px}}
.logo .wm b,.logo .wm small{white-space:nowrap}
@media(max-width:1300px){.top nav{gap:18px}.top nav a{font-size:14px}}
.logo{flex:none}
/* история */
.ab{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch;margin-top:30px}
.pt{border-radius:24px;padding:30px;border:1px solid var(--line)}
.pt .lbl{display:inline-block;font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding:6px 12px;border-radius:999px;margin-bottom:14px}
.pt h3{font-size:28px}
.pt ul{list-style:none;padding:0;margin:0}
.pt li{padding:8px 0 8px 26px;position:relative;color:#d4d4d8;border-top:1px solid var(--line)}
.pt.a{background:#111113}
.pt.a .lbl{background:#27272a;color:#a1a1aa}
.pt.a li:before{content:"—";position:absolute;left:0;color:#71717a}
.pt.b{background:linear-gradient(160deg,#1f1c08,#121214);border-color:rgba(255,212,0,.45);box-shadow:0 20px 60px rgba(255,212,0,.08)}
.pt.b .lbl{background:var(--y);color:#111}
.pt.b li:before{content:"✓";position:absolute;left:0;color:var(--y);font-weight:900}
.ab .arrow{display:grid;place-items:center}
.ab .arrow svg{width:80px;height:24px;fill:none;stroke:var(--y);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6 6;animation:dash .8s linear infinite}
.road{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:40px;position:relative}
.road:before{content:"";position:absolute;left:0;right:0;top:19px;height:2px;background:linear-gradient(90deg,#3f3f46,var(--y))}
.road .st{position:relative;padding-top:44px}
.road .st:before{content:"";position:absolute;top:12px;left:0;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--y)}
.road .st b{font-family:var(--head);text-transform:uppercase;font-size:22px;color:var(--y);display:block;margin-bottom:6px}
.road .st p{margin:0;color:var(--muted);font-size:15px}
.card.scheme b{font-weight:800}
.student{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;margin-top:40px;padding:30px 34px;border-radius:24px;background:linear-gradient(120deg,#1a1808,#121214 60%);border:1px solid rgba(255,212,0,.35)}
.student .lbl{font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--y)}
.student h3{font-size:30px;margin:6px 0}
.student p{margin:0;color:#d4d4d8}
.student .st-r{text-align:right}
.student .st-r b{display:block;font-family:var(--head);font-size:clamp(48px,7vw,72px);line-height:1;color:var(--y);text-shadow:0 0 40px rgba(255,212,0,.3)}
.student .st-r span{color:var(--muted)}
@media(max-width:960px){.ab{grid-template-columns:1fr}.ab .arrow svg{transform:rotate(90deg)}.road{grid-template-columns:1fr 1fr 1fr;row-gap:26px}.road:before{display:none}}
@media(max-width:640px){.road{grid-template-columns:1fr}.road .st{padding:0 0 0 30px}.road .st:before{top:4px}.student .st-r{text-align:left}.pt{padding:24px}}
@media(max-width:900px){.hero-photo .chip.c1{top:auto;bottom:7%;left:-12px}.hero-photo .chip.c2{bottom:auto;top:6%;right:-14px}}
/* география */
.hero .geo-line{margin:14px 0 0;font-size:16px;color:#e4e4e7;opacity:0;animation:fade .8s .9s forwards}
.hero .geo-line b{color:var(--y)}
.geo{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:30px}
.g-card{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:24px;padding:30px}
.g-card.main{background:linear-gradient(150deg,#1f1c08,#121214 70%);border-color:rgba(255,212,0,.45)}
.g-card .pin{font-size:34px;display:block;margin-bottom:10px}
.g-card h3{font-size:28px}
.g-card p{color:#d4d4d8;margin:0 0 14px}
.g-card ul{list-style:none;padding:0;margin:0}
.g-card li{position:relative;padding:8px 0 8px 26px;border-top:1px solid var(--line);color:#d4d4d8}
.g-card li:before{content:"→";position:absolute;left:0;color:var(--y);font-weight:900}
@media(max-width:860px){.geo{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero .geo-line{opacity:1}}
/* бесплатный урок */
.free{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.free-video{position:relative;display:block;border-radius:24px;overflow:hidden;border:1px solid rgba(255,212,0,.4);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 8px rgba(255,212,0,.06)}
.free-video img{width:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.free-video:hover img{transform:scale(1.04)}
.free-video .play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--y);display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.5);animation:pulse 2s infinite}
.free-video .play svg{width:38px;height:38px;fill:#111;margin-left:5px}
.free-video .dur{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);padding:7px 12px;border-radius:10px;font-weight:800;font-size:14px}
.free-list{list-style:none;padding:0;margin:0 0 26px}
.free-list li{position:relative;padding:9px 0 9px 30px;border-top:1px solid var(--line);color:#d4d4d8}
.free-list li:before{content:"✓";position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;background:var(--y);color:#111;font-weight:900;font-size:12px;display:grid;place-items:center}
.free-list b{color:#fff}
.free .note{margin-top:14px}
@media(max-width:900px){.free{grid-template-columns:1fr;gap:30px}.free-video .play{width:64px;height:64px;margin:-32px 0 0 -32px}}
.free-video .play{left:74%;top:58%}
/* конкурс */
.konkurs{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.k-phone{position:relative;display:grid;place-items:center;min-height:440px}
.k-phone .glow{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,212,0,.45),transparent 65%);filter:blur(20px);animation:breathe 4s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.15);opacity:.7}}
.phone-mock{position:relative;width:210px;height:430px;border-radius:44px;background:linear-gradient(145deg,#3a3a40,#16161a);padding:10px;box-shadow:0 40px 90px rgba(0,0,0,.7),inset 0 0 0 2px #55555c;animation:float 5s ease-in-out infinite;transform:rotate(-6deg)}
.phone-mock .cam{position:absolute;top:20px;left:50%;width:70px;height:20px;margin-left:-35px;border-radius:12px;background:#000;z-index:2}
.phone-mock .screen{height:100%;border-radius:36px;background:radial-gradient(circle at 30% 20%,#ffe55c,#ffb800 45%,#7a5200);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#111;text-align:center;overflow:hidden;position:relative}
.phone-mock .screen:after{content:"";position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);animation:shine2 4s ease-in-out infinite}
@keyframes shine2{0%,40%{transform:translateX(-60%)}100%{transform:translateX(60%)}}
.phone-mock .screen span{font-size:64px}
.phone-mock .screen b{font-family:var(--head);font-size:34px;text-transform:uppercase}
.phone-mock .screen small{font-weight:800;font-size:13px}
.k-progress{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:20px 22px;margin-bottom:22px}
.k-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;color:#d4d4d8;font-weight:700}
.k-top b{font-family:var(--head);font-size:30px;color:var(--y);font-weight:700}
.k-bar{height:14px;border-radius:10px;background:#26262b;overflow:hidden}
.k-bar i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,var(--y2),var(--y));box-shadow:0 0 18px var(--y)}
.k-sub{margin-top:10px;font-size:13px;color:#71717a}
.k-steps{list-style:none;counter-reset:k;padding:0;margin:0 0 26px}
.k-steps li{counter-increment:k;position:relative;padding:10px 0 10px 46px;border-top:1px solid var(--line);color:#d4d4d8}
.k-steps li:before{content:counter(k);position:absolute;left:0;top:8px;width:32px;height:32px;border-radius:50%;background:var(--y);color:#111;font-family:var(--head);font-weight:700;display:grid;place-items:center}
.k-steps b{color:#fff}
.konkurs .note a{color:var(--y)}
@media(max-width:900px){.konkurs{grid-template-columns:1fr;gap:20px}.k-phone{min-height:360px}.phone-mock{width:170px;height:350px}.phone-mock .screen b{font-size:28px}}
