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

.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:color-mix(in srgb,var(--bg0) 90%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav > .wrap{max-width:var(--container-bar)}
body{padding-top:72px}
section[id]{scroll-margin-top:90px}

.nav-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;height:72px}
.brand{display:flex;align-items:center;gap:11px;font-size:var(--fs-5);font-weight:var(--fw-bold);letter-spacing:-.4px;justify-self:start}
.brand img{width:32px;height:32px;object-fit:contain;display:block}

.nav-links{display:flex;align-items:center;gap:clamp(2px, 1.2vw, 20px);justify-self:center}
.nav-links a{
  position:relative;font-size:var(--fs-3);font-weight:var(--fw-medium);color:var(--t2);
  padding:9px 14px;border-radius:var(--radius-sm);white-space:nowrap;
  transition:color .14s,background .14s;
}
.nav-links a:hover{color:var(--t1);background:var(--bg3)}
.nav-links a.on{color:var(--brand);font-weight:var(--fw-semi)}
.nav-links a.on::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;
  border-radius:2px;background:var(--brand);
}
.nav-right{display:flex;align-items:center;gap:12px;justify-self:end;grid-column:3}
.tlink{font-size:var(--fs-3);font-weight:var(--fw-semi);color:var(--t1);padding:9px 10px;border-radius:var(--radius-sm)}
.tlink:hover{color:var(--brand);background:var(--bg3)}
@media(max-width:1120px){
  .nav-links{display:none}
  .nav-in{grid-template-columns:auto 1fr}
  .nav-right{grid-column:2}
}
@media(max-width:640px){.tlink{display:none}}
@media(max-width:420px){
  .nav-right{gap:8px}
  .nav-right .btn{padding:0 13px}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:var(--fs-3);font-weight:var(--fw-semi);height:var(--ctl-lg);padding:0 var(--ctl-pad-wide);border-radius:var(--radius);
  border:1px solid transparent;background:var(--brand-fill);color:var(--on-accent);
  cursor:pointer;transition:background .14s,border-color .14s,color .14s;white-space:nowrap;
}
.btn:hover{background:var(--brand-fill-hover)}
.btn svg{width:15px;height:15px}
.btn-ghost{background:transparent;border-color:var(--line2);color:var(--t1)}
.btn-ghost:hover{background:var(--bg3);border-color:var(--line3)}
.btn-lg{font-size:var(--fs-4);height:var(--ctl-xl);padding:0 22px}
.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.btn:disabled:hover{background:var(--brand-fill)}
.btn-ghost:disabled:hover{background:transparent;border-color:var(--line2)}
.btn-block{display:flex;width:100%;margin-top:22px}
.dc-btn{background:#5865f2}
.dc-btn:hover{background:#4752c4}
.dc{width:18px;height:18px;flex:0 0 auto}

.hero{padding:clamp(36px, 6vh, 76px) 0 clamp(44px, 7vh, 92px)}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px, 4vw, 64px);align-items:center}
.hero-art{order:-1}
@media(max-width:980px){.hero-art{order:0}}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:36px;text-align:center;justify-items:center}
}
.hero-copy h1{font-size:clamp(34px,4.4vw,56px);font-weight:var(--fw-bold);letter-spacing:-2.1px;line-height:1.06;max-width:17ch}
.hero-copy p{font-size:var(--fs-5);color:var(--t2);line-height:1.75;margin-top:22px;max-width:52ch}
@media(max-width:980px){.hero-copy h1,.hero-copy p{max-width:none;margin-left:auto;margin-right:auto}}
.cta{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
@media(max-width:980px){.cta{justify-content:center}}

.hero-art{display:grid;place-items:center}
.hero-art img{width:min(380px,86%);height:auto;display:block}
@media(max-width:980px){.hero-art img{width:min(200px,52%)}}

.float{animation:float 7s ease-in-out infinite}
.float.slow{animation-duration:9s}
@keyframes float{
  0%,100%{transform:translateY(-10px)}
  50%    {transform:translateY(10px)}
}

.band{padding:clamp(52px, 7.5vh, 96px) 0;border-top:1px solid var(--line)}
.band.alt{background:var(--bg1)}
.band-h{margin-bottom:clamp(28px, 4vh, 46px);max-width:62ch}
.band-h.center{margin-left:auto;margin-right:auto;text-align:center}
.band-h h2{font-size:clamp(24px,2.9vw,31px);font-weight:var(--fw-bold);letter-spacing:-1px;line-height:1.2}
.band-h p{font-size:var(--fs-4);color:var(--t2);line-height:1.75;margin-top:15px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split > .split-art{order:-1}
@media(max-width:980px){.split > .split-art{order:0}}
@media(max-width:980px){
  .split{grid-template-columns:1fr;gap:40px}
  .split.reverse .split-art{order:2}
}
.split-copy h2{font-size:clamp(24px,2.9vw,31px);font-weight:var(--fw-bold);letter-spacing:-1px;line-height:1.2;max-width:20ch}
.split-copy > p{font-size:var(--fs-4);color:var(--t2);line-height:1.78;margin-top:16px;max-width:52ch}
.split-copy .after{font-size:var(--fs-4);color:var(--t3);margin-top:22px}

.ticks{list-style:none;margin-top:26px;padding-top:26px;border-top:1px solid var(--line2);
       display:flex;flex-direction:column;gap:15px}
.ticks li{display:flex;align-items:center;gap:13px;font-size:var(--fs-4);font-weight:var(--fw-medium);color:var(--t1)}
.ticks svg{
  width:20px;height:20px;padding:4px;border-radius:50%;flex:0 0 auto;
  background:var(--brand-fill);color:var(--on-accent);stroke-width:3;
}

.split-art{display:flex;flex-direction:column;gap:16px;min-width:0}
.split-art:empty{min-height:300px}
@media(max-width:980px){.split-art:empty{display:none}}

.band-h h2 em{font-style:normal;color:var(--brand)}
.fcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1020px){.fcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fcards{grid-template-columns:minmax(0,1fr)}}
.fc{
  background:var(--bg2);border:1px solid var(--card-line);border-radius:var(--radius);
  padding:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;
}
.fc-shot{
  width:100%;aspect-ratio:1/.92;
  overflow:hidden;border-radius:9px;padding:12px;
  background:var(--bg3);border:1px solid var(--line);
  display:flex;flex-direction:column;gap:7px;justify-content:center;
}
@media(max-width:1020px){.fc-shot{max-width:340px;margin-inline:auto}}
.fc-shot:empty{
  background:transparent;
  border-style:dashed;border-color:var(--line2);
}
.fc-h{display:flex;align-items:center;gap:10px;margin-top:16px}
.fc-ic{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto}
.fc-ic svg{width:22px;height:22px;color:var(--brand);stroke-width:1.75}
.fc h3{font-size:var(--fs-4);font-weight:var(--fw-semi);letter-spacing:-.2px}
.fc p{font-size:var(--fs-2);color:var(--t2);line-height:1.68;margin-top:11px}

.split-stats{
  grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:52px;max-width:1080px;margin-inline:auto;
}
@media(max-width:980px){.split-stats{grid-template-columns:1fr;gap:40px;max-width:none}}
.stats-art{display:grid;place-items:center;order:2}
@media(max-width:980px){.stats-art{order:0}}
.stats-art img{width:min(260px,66%);height:auto;display:block}
@media(max-width:980px){.stats-art:empty{display:none}}

.stats{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;
       width:100%;max-width:560px;justify-self:end}
@media(max-width:980px){.stats{justify-self:center;max-width:none}}
@media(max-width:560px){.stats{grid-template-columns:1fr;gap:26px}}
.stat-ic{width:38px;height:38px;display:grid;place-items:center;margin-bottom:13px}
.stat-ic svg{width:27px;height:27px;color:var(--brand);stroke-width:1.75}
.stat b{display:block;font-size:var(--fs-5);font-weight:var(--fw-bold);letter-spacing:-.4px}
.stat span{display:block;font-size:var(--fs-3);color:var(--t3);line-height:1.65;margin-top:6px}

.access{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
@media(max-width:900px){.access{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.ac{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg2);border:1px solid var(--card-line);
  border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--card-shadow);
}
.ac.mid{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--card-shadow)}
.ac-n{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ac-tag{
  font-size:var(--fs-1);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.8px;
  color:var(--brand);background:none;border:none;padding:0;
  white-space:nowrap;flex:0 0 auto;
}
.ac-h{min-height:150px;display:flex;flex-direction:column}
.ac-n{font-size:var(--fs-6);font-weight:var(--fw-bold);letter-spacing:-.5px;min-height:26px}
.ac-d{font-size:var(--fs-2);color:var(--t3);line-height:1.65;margin-top:9px}
.ac-p{display:flex;align-items:baseline;gap:5px;margin-top:auto;padding-top:16px}
.ac-p b{font-size:var(--fs-7);font-weight:var(--fw-bold);letter-spacing:-1.6px;line-height:1}
.ac-p span{font-size:var(--fs-3);color:var(--t3);font-weight:var(--fw-medium)}

.ac ul{list-style:none;display:flex;flex-direction:column;margin-top:22px}
.ac li{
  display:flex;align-items:center;gap:11px;min-height:42px;padding:9px 0;
  font-size:var(--fs-3);color:var(--t2);border-top:1px solid var(--line);line-height:1.45;
}
.ac li:last-child{border-bottom:1px solid var(--line)}
.ac li b{color:var(--t1);font-weight:var(--fw-semi)}
.ac li svg{width:15px;height:15px;color:var(--ok);flex:0 0 auto;stroke-width:3}
.ac li.off{color:var(--t3)}
.ac li.off svg{color:var(--t3);opacity:.7}
.ac li.off span{text-decoration:line-through;text-decoration-color:var(--line3)}
.ac .btn-block{margin-top:auto}

.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start}
@media(max-width:820px){.faq{grid-template-columns:1fr;gap:0}}
.faq details{border-bottom:1px solid var(--line2)}
.faq details:nth-child(-n+2){border-top:1px solid var(--line2)}
@media(max-width:820px){.faq details:nth-child(2){border-top:0}}

.faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:19px 4px;font-size:var(--fs-4);font-weight:var(--fw-semi);cursor:pointer;list-style:none;
  transition:color .16s;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--brand)}
.faq summary:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:8px}
.faq details[open] summary{color:var(--brand)}

.faq summary svg{
  width:15px;height:15px;flex:0 0 auto;color:var(--t3);
  box-sizing:content-box;padding:6px;border-radius:50%;
  background:var(--bg3);border:1px solid var(--line2);
  transition:transform .22s cubic-bezier(.4,0,.2,1),color .18s,background .18s,border-color .18s;
}
.faq summary:hover svg{color:var(--t1);border-color:var(--line3)}
.faq details[open] summary svg{
  transform:rotate(180deg);color:var(--brand);
  background:var(--brand-soft);border-color:var(--brand-line);
}

.fa{
  padding:2px 4px 24px 15px;margin-bottom:2px;
  border-left:2px solid var(--brand-line);
  animation:faIn .22s cubic-bezier(.2,.7,.25,1);
}
@keyframes faIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fa{animation:none}}
.fa p{font-size:var(--fs-4);color:var(--t2);line-height:1.78;max-width:74ch}
.fa p + p{margin-top:12px}
.fa code{font-family:var(--mono);font-size:var(--fs-2);color:var(--brand)}
.faq-code-box{
  margin:14px 0;background:var(--bg2);border:1px solid var(--card-line);
  border-radius:var(--radius-sm);padding:14px 16px;overflow-x:auto;
}
:root[data-theme="light"] .faq-code-box{background:var(--bg3)}
.faq-code-box pre{margin:0}
.faq-code-box code{font-family:var(--mono);font-size:var(--fs-2);color:var(--t1);white-space:pre;display:block;line-height:1.85}

.help{border-top:1px solid var(--line);padding:clamp(48px, 6.5vh, 80px) 0}
.help-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.help-art{order:-1}
@media(max-width:860px){.help-art{order:0}}
@media(max-width:860px){.help-in{grid-template-columns:1fr;gap:32px;text-align:center;justify-items:center}}
.help-copy h2{font-size:clamp(22px,2.6vw,28px);font-weight:var(--fw-bold);letter-spacing:-.9px}
.help-copy p{font-size:var(--fs-4);color:var(--t2);line-height:1.75;margin:14px 0 26px;max-width:54ch}
@media(max-width:860px){.help-copy p{margin-left:auto;margin-right:auto}}
.help-art{display:grid;place-items:center}
.help-art img{width:min(190px,52%);height:auto;display:block}

.foot{border-top:1px solid var(--line);background:var(--bg1);padding:clamp(40px, 5vh, 60px) 0 34px}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
.foot-brand{text-align:left}
.foot-brand .brand{justify-content:flex-start}
.foot-brand p{margin-left:0}
@media(max-width:860px){.foot-cols{grid-template-columns:1fr 1fr;gap:30px}.foot-brand{grid-column:1 / -1}}
@media(max-width:520px){.foot-cols{grid-template-columns:1fr}}
.foot-brand .brand{font-size:var(--fs-5)}
.foot-brand .brand img{width:26px;height:26px}
.foot-brand p{font-size:var(--fs-3);color:var(--t3);margin:13px 0 15px;max-width:34ch}
.foot-status{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-2);color:var(--t2)}
.foot-h{font-size:var(--fs-1);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:1px;color:var(--t3);margin-bottom:15px}
.foot-cols a:not(.brand){display:block;font-size:var(--fs-3);color:var(--t2);padding:5px 0;transition:color .14s}
.foot-cols a:not(.brand):hover{color:var(--t1)}

.legal{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);text-align:center}
.legal-note{
  font-size:var(--fs-2);color:var(--t3);line-height:1.8;
  max-width:65ch;margin:0 auto;text-wrap:pretty;
}
.legal-note a{color:var(--t2);text-decoration:underline;text-underline-offset:2px}
.legal-note a:hover{color:var(--brand)}
.foot-bottom{
  display:flex;flex-direction:column;align-items:center;gap:16px;
  margin-top:26px;
}
.foot-copy{font-size:var(--fs-2);color:var(--t3)}
.theme-pick{display:flex;align-items:center;gap:10px}

.cpath{
  width:100%;max-width:600px;height:auto;display:block;
  margin:0 0 0 auto;align-self:flex-end;
  color:var(--brand);
}
:root[data-theme="light"] .cpath{color:var(--brand-fill)}

.cp-glow{fill:url(#cpGlow);stroke:none}

.cp-node{fill:none;stroke:var(--t2);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.cp-node-ok{stroke:currentColor}

.cp-wire-out{fill:none;stroke:var(--t4);stroke-width:1.5;stroke-linecap:round}
.cp-x{fill:none;stroke:var(--err);stroke-width:2.25;stroke-linecap:round}

.cp-wire-in{fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round}

.cp-core-ring{fill:none;stroke:currentColor;stroke-width:1.5;opacity:.35}
.cp-core{fill:currentColor}
.cp-core-mark{fill:none;stroke:var(--on-accent);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:980px){
  .cpath{margin:10px auto 0;align-self:center;max-width:460px}
}

.layers{
  width:min(360px,86%);height:auto;display:block;
  color:var(--brand);
}
:root[data-theme="light"] .layers{color:var(--brand-fill)}
