html{scroll-behavior:smooth}
.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#39725b}
.intro{padding:56px 0 64px}
.back{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:30px}
.back:hover{color:var(--mint)}
h1{font-size:clamp(38px,6.4vw,70px);line-height:1;letter-spacing:-.05em;margin:16px 0 16px;max-width:900px}
.lead{color:var(--muted);font-size:20px;max-width:680px;margin:0 0 26px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;background:#1b2e26;border:1px solid #2f4a3e;color:#d7eee2}
.hero-video{padding-bottom:64px}
.media{margin:0}
.media video,.media img{display:block;width:100%;border-radius:12px;background:#101d17}
.media video{aspect-ratio:16/9;object-fit:cover}
.media figcaption{margin-top:10px;font-size:13px;color:var(--soft)}
.dark .media figcaption,.hero-video .media figcaption{color:var(--muted)}
.section{padding:72px 0}
.light{background:var(--paper);color:var(--deep)}
.dark{background:var(--deep)}
h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;line-height:1.06;margin:12px 0 14px}
.sub{max-width:660px;color:var(--soft);margin:0 0 30px;font-size:17px}
.dark .sub{color:var(--muted)}
.pi{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pi article{background:#fff;border:1px solid #dfe5e0;border-radius:14px;padding:28px}
.pi h3{font-size:24px;letter-spacing:-.03em;margin:8px 0 10px}
.pi p{margin:0;font-size:17px;color:#33443c}
.today{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tech-proc{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px}
.tech{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tech li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dfe5e0;border-radius:10px;padding:13px 16px;font-weight:650}
.tech li:before{content:"";width:9px;height:9px;border-radius:50%;background:#39a675;flex:none}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.steps li{counter-increment:s;background:#fff;border:1px solid #dfe5e0;border-radius:12px;padding:16px 16px 16px 58px;position:relative;font-size:15px;color:#33443c;min-height:64px;display:flex;align-items:center}
.steps li:before{content:counter(s);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--mint);color:#10231d;font-weight:800;font-size:13px;display:grid;place-items:center}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline:before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:3px;background:#2f4a3e}
.stage{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:32px;padding:0 0 56px 64px}
.stage:last-child{padding-bottom:0}
.stage .dot{position:absolute;left:0;top:0;width:41px;height:41px;border-radius:50%;background:var(--deep);border:3px solid var(--mint);color:var(--mint);display:grid;place-items:center;font-weight:800;font-size:15px}
.stage.next .dot{border-style:dashed}
.stage h3{font-size:24px;letter-spacing:-.03em;line-height:1.15;margin:6px 0 10px}
.stage p{color:var(--muted);margin:0 0 12px;font-size:16px}
.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:#1b2e26;border:1px solid #2f4a3e;color:var(--mint)}
.badge.next{background:var(--mint);color:#10231d;border-color:var(--mint)}
.stage .media img.tall{max-height:460px;width:auto;max-width:100%;margin:0 auto}
.stage .media .frame{background:#0f1a15;border-radius:12px;padding:0;display:flex;justify-content:center}
.profile .media img{border:1px solid #dfe5e0;box-shadow:0 24px 50px -28px rgba(16,35,29,.45)}
.cta{background:var(--deep);padding:56px 0}
.cta h2{font-size:clamp(26px,3vw,36px)}
.cta p{color:var(--muted);max-width:620px;margin:0 0 22px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{padding:12px 17px;border-radius:7px;font-size:13px;font-weight:750;display:inline-block;background:var(--mint);color:#10231d}
.btn.ghost{background:transparent;border:1px solid #65736d;color:#fff}
@media(max-width:860px){.pi,.today,.tech-proc{grid-template-columns:1fr}.stage{grid-template-columns:1fr;gap:16px}}
@media(max-width:720px){.section{padding:52px 0}.steps{grid-template-columns:1fr}.stage{padding-left:56px}}
.soft{background:#e7f5ef;color:var(--deep)}
.soft h3{font-size:20px;letter-spacing:-.025em;margin:0 0 6px}
.soft .block{margin-top:56px}
.soft .block:first-of-type{margin-top:0}
.soft p{color:#33443c}
.errors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.err{background:#fff;border:1px solid #d3e6dc;border-radius:12px;padding:18px}
.err svg{display:block;width:100%;height:auto;margin-bottom:12px;background:#f4faf7;border-radius:8px}
.err h4{margin:0 0 4px;font-size:16px}
.err p{margin:0;font-size:14px;color:var(--soft)}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:18px 0 0;padding:0}
.flow li{display:flex;align-items:center;gap:8px}
.flow span{background:#fff;border:1px solid #cfe3d8;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:700}
.flow li.pp span{background:#d6f5e6;border-color:#9fd8bd}
.flow li:not(:last-child):after{content:"→";color:#39a675;font-weight:900}
.flow li:last-child span{background:var(--deep);color:var(--mint);border-color:var(--deep)}
.flow-key{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--soft)}
.flow-key i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:6px;border:1px solid #cfe3d8;background:#fff}
.flow-key i.pp{background:#d6f5e6;border-color:#9fd8bd}
.arch{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.arch article{background:#fff;border:1px solid #d3e6dc;border-radius:12px;padding:20px}
.arch ul{margin:8px 0 0;padding-left:18px;font-size:15px;color:#33443c}
.arch li+li{margin-top:4px}
.arch .tag-s{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#39725b;margin-bottom:6px}
.tl{background:#fff;border:1px solid #d3e6dc;border-radius:12px;padding:20px 20px 14px;margin-top:18px}
.tl-stage{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;padding:12px 0;border-top:1px dashed #d3e6dc}
.tl-stage:first-child{border-top:0;padding-top:0}
.tl-stage>h4{margin:4px 0 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#39725b;line-height:1.35}
.tl-stage>h4 small{display:block;text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:var(--soft);margin-top:2px}
.tl-rows{display:grid;gap:6px}
.tl-row{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center;font-size:12px;color:var(--soft);font-weight:700}
.tl-track{position:relative;height:24px;background:repeating-linear-gradient(90deg,#f3f6f4 0 9.99%,#eaefec 9.99% 10%);border-radius:5px}
.seg{position:absolute;top:2px;bottom:2px;border-radius:4px;font-size:11px;font-weight:800;color:#13231c;display:flex;align-items:center;padding-left:8px;white-space:nowrap;overflow:hidden}
.seg.p7{background:#8dffd3}
.seg.p10{background:#f2b9cf}
.seg.bad{box-shadow:inset 0 0 0 2px #e2556f;color:#8f1d36}
.cut{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px dashed #e2556f}
.cut:after{content:"✂";position:absolute;top:-14px;left:-7px;font-size:12px;color:#e2556f}
.tl-axis{display:grid;grid-template-columns:76px 1fr;gap:10px;font-size:11px;color:#8a9a92;margin-top:4px}
.tl-axis div{display:flex;justify-content:space-between}
.tl-note{font-size:13px!important;color:var(--soft)!important;margin:10px 0 0!important}
.vote{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}
.vote span{width:34px;height:40px;border-radius:6px;background:#fff;border:1px solid #cfe3d8;display:grid;place-items:center;font-weight:800;font-size:15px}
.vote span.odd{border-color:#e2556f;color:#e2556f}
.vote span.unk{color:#9aa8a1}
.vote b{margin-left:8px;font-size:15px}
.vote b em{font-style:normal;background:#8dffd3;border-radius:6px;padding:4px 10px}
.keypoint{margin-top:56px;background:var(--deep);color:#fff;border-radius:14px;padding:26px 28px}
.keypoint p{color:#d3ddd8;margin:6px 0 0;font-size:17px;max-width:820px}
@media(max-width:860px){.errors,.arch{grid-template-columns:1fr}.err{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:4px 16px;align-items:center}.err svg{grid-row:span 2;margin:0}.err h4{align-self:end}.err p{align-self:start}.tl-stage{grid-template-columns:1fr;gap:8px}}
@media(max-width:520px){.err{grid-template-columns:1fr}.err svg{grid-row:auto;max-width:260px;margin-bottom:10px}.tl-row,.tl-axis{grid-template-columns:58px 1fr}.seg{font-size:10px;padding-left:5px}}
.intro-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn-site{display:inline-flex;align-items:center;gap:8px}
.demo{padding:0 0 72px}
.demo-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}
.demo-head h2{margin:8px 0 0;font-size:clamp(24px,3vw,32px)}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;border:0;padding:0;cursor:pointer}
.yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:.9;transform:scale(1.14);transition:opacity .2s,transform .3s}
.yt:hover img{opacity:1;transform:scale(1.17)}
.yt .play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;background:var(--mint);display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.45);transition:transform .2s}
.yt:hover .play{transform:scale(1.08)}
.yt .play:before{content:"";margin-left:6px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #10231d}
.yt .yt-label{position:absolute;left:18px;bottom:16px;background:rgba(12,18,16,.75);color:#fff;font-size:13px;font-weight:700;padding:7px 12px;border-radius:8px}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-fallback{margin-top:10px;font-size:13px;color:var(--muted)}
.yt-fallback a{color:var(--mint);font-weight:700}
.plan{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.plan:before{content:"";position:absolute;left:24px;right:24px;top:23px;height:3px;background:repeating-linear-gradient(90deg,#9fd8bd 0 10px,transparent 10px 18px)}
.plan li{position:relative}
.plan .pin{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid #9fd8bd;display:grid;place-items:center;font-weight:800;color:#285c46;margin-bottom:14px}
.plan li.now .pin{background:var(--mint);border-color:#39a675;color:#10231d;box-shadow:0 0 0 6px rgba(89,255,201,.3)}
.plan .card{background:#fff;border:1px solid #d3e6dc;border-radius:12px;padding:16px 18px}
.plan li.now .card{border-color:#39a675;box-shadow:inset 0 0 0 1px #39a675}
.plan .status{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:20px;background:#eef3f0;color:#53645b;margin-bottom:8px}
.plan li.now .status{background:#d6f5e6;color:#1f6b4a}
.plan h3{font-size:17px!important;margin:0 0 4px!important}
.plan p{margin:0;font-size:14px;color:var(--soft)}
@media(max-width:860px){.plan{grid-template-columns:1fr 1fr}.plan:before{display:none}}
@media(max-width:520px){.plan{grid-template-columns:1fr}}
