@font-face{font-family:"PV Geist";src:url(/assets/fonts/b2b-geist-19f9c925.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"PV Inter";src:url(/assets/fonts/b2b-inter-3100e775.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"PV Mono";src:url(/assets/fonts/b2b-jetbrains-mono-18be4527.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
:root{
--bg:#040406;
--fg:#fff;
--accent:#def135;
--gray-90:#e3e4e9;
--gray-80:#c7c9d1;
--gray-70:#abaebb;
--gray-60:#9194a1;
--gray-50:#777a88;
--gray-40:#60606c;
--gray-30:#464853;
--gray-20:#2e3038;
--gray-12:#1c1d22;
--gray-8:#121317;
--gray-5:#0b0c0e;
--panel:#121318;
--popover:#09090b;
--border:#27272a;
--muted:#a1a1aa;
--cyan:#35f1e4; --cyan-glow:#0095e6;
--blue:#3580f1; --blue-glow:#14289d;
--orange:#f5841f; --orange-glow:#a15728;
--amber:#ffb02e;
--sky-top:#c4d7fb; --sky-bottom:#dde7fd;
--font-display:"PV Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--font-sans:"PV Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--font-mono:"PV Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--h1:clamp(2rem,1.3rem + 3.9vw,4rem);
--h2:clamp(1.75rem,1.2rem + 2.1vw,2.75rem);
--h3:clamp(1.375rem,1.15rem + .7vw,1.75rem);
--lead:clamp(1.125rem,1.05rem + .3vw,1.25rem);
--body:1rem;
--small:.9375rem;
--label:.875rem;
--s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px; --s12:48px; --s16:64px; --s20:80px;
--gutter:20px;
--section:80px;
--content:96rem;
--radius-label:6px;
--radius-dot:2px;
--line:1px solid var(--border);
--ease:cubic-bezier(.4,0,.2,1);
--ease-out-soft:cubic-bezier(.22,1,.36,1);
--fast:150ms;
--base:200ms;
}
@media (min-width:768px){:root{--gutter:32px;--section:120px}}
@media (min-width:1280px){:root{--gutter:40px;--section:180px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.smooth{scroll-behavior:smooth}
section[id],#call,#questions{scroll-margin-top:64px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3{margin:0;font-weight:400}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.blk :focus-visible,.blk:focus-visible,.mnav :focus-visible,.drop :focus-visible,.on-light :focus-visible,.btn-light:focus-visible{outline-color:var(--bg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--gutter);top:-60px;z-index:100;background:var(--fg);color:var(--bg);padding:10px 16px}
.skip:focus{top:10px}
.wrap{width:100%;max-width:var(--content);margin:0 auto;padding:0 var(--gutter)}
.sec{padding-top:var(--section)}
.gray{color:var(--gray-60)}
mark{background:var(--accent);color:#000;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 20px;font-size:1rem;font-weight:500;letter-spacing:-.025em;border:1px solid transparent;white-space:nowrap;cursor:pointer;transition:background-color var(--base) var(--ease),color var(--base) var(--ease),border-color var(--base) var(--ease)}
.btn-light{background:var(--fg);color:var(--bg);border-color:var(--border)}
.btn-light:hover{background:var(--gray-90)}
.btn-line{background:transparent;color:var(--fg);border-color:var(--fg)}
.btn-line:hover{background:var(--gray-12)}
.btn-dark{background:var(--bg);color:var(--fg)}
.btn-dark:hover{background:var(--gray-12)}
.btn .arr{transition:transform var(--base) var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.tag{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:7px 12px;border:1px solid var(--gray-20);border-radius:var(--radius-label);font-family:var(--font-mono);font-size:var(--label);line-height:1.375;letter-spacing:.03em;text-transform:uppercase;color:var(--fg)}
.tag.bare{border:0;padding:0}
.dot{position:relative;flex:none;width:10px;height:10px}
.dot::before,.dot::after{content:"";position:absolute;inset:0;border-radius:var(--radius-dot);background:var(--c,var(--cyan))}
.dot::before{filter:blur(5px);background:var(--g,var(--cyan-glow))}
.dot.lime{--c:var(--accent);--g:#37b746}
.dot.orange{--c:var(--orange);--g:var(--orange-glow)}
.dot.blue{--c:var(--blue);--g:var(--blue-glow)}
.on-light .tag{border-color:rgba(4,4,6,.2);color:var(--bg)}
.on-light .dot::before{display:none}
.hdr{position:sticky;top:0;z-index:50;padding-top:10px;background:var(--bg)}
.hdr-in{position:relative;display:flex;align-items:stretch;gap:4px;height:44px}
.blk{display:flex;align-items:center;background:var(--fg);color:var(--bg)}
.bar{flex:1;min-width:0;justify-content:space-between}
.logo{display:flex;align-items:center;height:100%;padding:0 20px 0 18px;flex:none}
.logo img{width:132px;height:auto}
.nav{display:none;position:relative;height:100%}
.nav>a,.nav>button{display:flex;align-items:center;gap:4px;height:100%;padding:0 20px;white-space:nowrap;background:none;border:0;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:-.025em;color:var(--bg);transition:background-color var(--fast) var(--ease)}
.nav>a:hover,.nav>button:hover,.nav>button[aria-expanded=true]{background:#eeeff1}
.nav svg{width:12px;height:12px;transition:transform var(--fast) var(--ease)}
.nav button[aria-expanded=true] svg{transform:rotate(180deg)}
.solo{display:none;padding:0 22px;white-space:nowrap;font-size:.875rem;font-weight:500;letter-spacing:-.025em;transition:background-color var(--fast) var(--ease)}
.solo:hover,.solo[aria-current=page]{background:#eeeff1}
.hdr-cta{display:none;gap:4px;margin-left:60px}
.hdr-cta .btn{height:44px;font-size:.875rem}
.hdr-cta .btn-dark{border-color:var(--fg)}
.menu-btn{display:flex;align-items:center;justify-content:center;flex:none;width:44px;background:var(--fg);color:var(--bg);border:0;cursor:pointer}
.menu-btn svg{width:22px;height:22px}
.menu-btn .x{display:none}
.menu-open .menu-btn .x{display:block}
.menu-open .menu-btn .bars{display:none}
.mnav{display:none;margin-top:4px;background:var(--fg);color:var(--bg);padding:8px 20px 20px;max-height:calc(100svh - 70px);overflow:auto}
.menu-open .mnav{display:block;animation:drop var(--base) var(--ease-out-soft)}
.mnav a{display:block;padding:14px 0;border-bottom:1px solid rgba(4,4,6,.1);font-size:1rem;font-weight:500;letter-spacing:-.025em}
.mnav a.btn{display:flex;margin-top:16px;width:100%;padding:0 20px;border-bottom:0}
.drop{position:absolute;top:48px;left:0;z-index:60;display:none;width:430px;background:var(--fg);color:var(--bg);border:1px solid var(--border);box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.drop.open{display:block;animation:drop var(--base) var(--ease-out-soft)}
.drop a{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;transition:background-color var(--fast) var(--ease)}
.drop a+a{border-top:1px solid rgba(4,4,6,.08)}
.drop a:hover,.drop a[aria-current=page]{background:#eeeff1}
.nav>button.here{background:#eeeff1}
.mnav a[aria-current=page]{font-weight:600}
.mnav a[aria-current=page]::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;background:var(--bg)}
.drop svg{flex:none;width:22px;height:22px;margin-top:1px;color:var(--gray-40)}
.drop b{display:block;font-size:.9375rem;font-weight:500;letter-spacing:-.015em}
.drop span{display:block;margin-top:2px;font-size:.875rem;line-height:1.4;color:var(--gray-40)}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (min-width:1024px){
.nav,.solo,.hdr-cta{display:flex}
.menu-btn,.mnav,.menu-open .mnav{display:none}
}
.hero{position:relative;min-height:min(calc(100svh - 54px),880px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero-art{position:absolute;inset:0 0 auto 0;height:62%;z-index:0;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 98%);mask-image:linear-gradient(180deg,#000 62%,transparent 98%)}
.hero-art canvas{width:100%;height:100%}
.hero-in{position:relative;z-index:1;padding-bottom:40px;padding-top:36vh}
.hero h1{font-family:var(--font-display);font-size:var(--h1);line-height:1.125;letter-spacing:-.02em;max-width:15em;text-wrap:balance}
.hero .sub{margin-top:20px;max-width:30rem;font-size:1rem;line-height:1.375;letter-spacing:-.01em;color:var(--gray-60)}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .tag{margin-bottom:24px;background:rgba(4,4,6,.6)}
@media (max-width:419px){.hero .tag{display:none}}
@media (min-width:768px){
.hero-art{height:100%;-webkit-mask-image:linear-gradient(180deg,#000 40%,rgba(0,0,0,.35) 62%,transparent 80%);mask-image:linear-gradient(180deg,#000 40%,rgba(0,0,0,.35) 62%,transparent 80%)}
.hero-in{padding-top:46vh}
}
@media (min-width:1024px){
.hero-in{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:40px;padding-bottom:48px;padding-top:40vh}
.hero .acts{margin-top:0;justify-content:flex-end}
.hero .sub{font-size:1.0625rem}
}
.strip{border-top:var(--line);border-bottom:var(--line);margin-top:8px}
.strip-in{display:flex;flex-direction:column;gap:14px;padding-top:20px;padding-bottom:20px}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:roll 40s linear infinite}
.marquee ul{display:flex;align-items:center;gap:40px;margin:0;padding:0 20px;list-style:none}
.marquee li{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:1.0625rem;color:var(--gray-80)}
.marquee li svg{width:18px;height:18px;color:var(--gray-60)}
.marquee li.sep{color:var(--gray-40)}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes roll{to{transform:translateX(-50%)}}
@media (min-width:1024px){.strip-in{flex-direction:row;align-items:center;gap:32px}.strip-in .tag{flex:none}}
.stmt{position:relative}
.stmt-in{position:relative}
.vline{display:none;position:absolute;left:0;top:calc(var(--section) * -1);bottom:0;width:1px;background:var(--gray-20)}
.stmt h2{font-family:var(--font-display);font-size:var(--h2);line-height:1.15;letter-spacing:-.02em;max-width:19em}
.stmt h2 mark{padding:0 .1em;white-space:nowrap}
.stmt .lead{margin-top:24px;max-width:36rem;font-size:var(--lead);line-height:1.375;letter-spacing:-.01em;color:var(--gray-70)}
@media (min-width:640px){.vline{display:block}.stmt-in{padding-left:32px}}
.how>.wrap>.tag{margin-bottom:24px}
.how-hd{background:var(--bg)}
.how-hd h2{font-family:var(--font-display);font-size:var(--h2);line-height:1.125;letter-spacing:-.02em;max-width:18em;text-wrap:balance}
.how-hd p{margin-top:20px;max-width:30rem;font-size:var(--lead);line-height:1.375;letter-spacing:-.01em;color:var(--gray-70)}
.tabs{display:none}
.steps{margin-top:40px;border-top:var(--line)}
.step{display:grid;grid-template-columns:1fr;border-bottom:var(--line);scroll-margin-top:70px}
.step-txt{padding:32px 0 28px}
.step-n{font-family:var(--font-mono);font-size:var(--label);color:var(--gray-50);letter-spacing:.03em}
.step h3{margin-top:12px;font-size:var(--h3);line-height:1.125;letter-spacing:-.02em}
.step h3 .gray{display:block}
.step p{margin-top:18px;max-width:30rem;font-size:1rem;line-height:1.45;color:var(--gray-80)}
.hatch{height:48px;border-bottom:var(--line);background:repeating-linear-gradient(-45deg,transparent 0 9px,var(--gray-12) 9px 10px)}
@media (max-width:1023px){.step .vis{order:-1}.step-txt{padding:24px 0 32px}}
@media (min-width:1024px){
.how-hd{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:48px;align-items:end;padding:16px 0 40px}
.how-hd p{margin-top:0}
.tabs{display:block;position:sticky;top:54px;z-index:20;background:var(--bg);border:var(--line)}
.tabs ol{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}
.tabs li+li{border-left:var(--line)}
.tabs a{display:flex;align-items:center;justify-content:center;gap:10px;height:63px;font-size:1.25rem;color:var(--gray-60);transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease)}
.tabs a span{font-family:var(--font-mono);font-size:.875rem;color:var(--gray-50)}
.tabs a:hover{color:var(--fg)}
.tabs a[aria-current=true]{background:var(--gray-8);color:var(--fg)}
.tabs a[aria-current=true] span{color:var(--gray-60)}
.steps{margin-top:0;border-top:0;border-left:var(--line);border-right:var(--line)}
.step{grid-template-columns:5fr 7fr;min-height:560px;scroll-margin-top:calc(54px + var(--stick-h,63px))}
.step-txt{display:flex;flex-direction:column;justify-content:center;padding:48px 64px}
.hatch{height:64px}
}
@media (min-width:1024px) and (min-height:800px){
.how-hd{position:sticky;top:54px;z-index:21}
.tabs{top:calc(54px + var(--hd-h,180px))}
}
.vis{position:relative;overflow:hidden;min-height:360px;background:var(--gray-5)}
.vis>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vis .blk-c{position:absolute;z-index:1}
.vis .mock{position:relative;z-index:2;margin:44px 20px;max-width:520px}
@media (min-width:640px){.vis .mock{margin:56px 48px}}
@media (min-width:1024px){.vis{min-height:0}.vis .mock{margin:64px auto 64px 56px}}
.step .vis{display:flex;align-items:center;justify-content:center}
.step .vis .mock{flex:1 1 auto}
@media (min-width:1024px){.step .vis .mock{margin:64px 48px}}
.mock{background:var(--popover);border:1px solid var(--gray-20);box-shadow:0 25px 50px -12px rgba(0,0,0,.6);font-size:.875rem}
.mock-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--gray-12)}
.mock-hd b{font-weight:500}
.ex{font-family:var(--font-mono);font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:#000;background:var(--accent);padding:3px 7px}
.mock-bd{padding:12px 16px 16px}
.rows{font-family:var(--font-mono);font-size:.875rem;color:var(--gray-70)}
.rows div{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--gray-12)}
.rows div:last-child{border-bottom:0}
.rows span{min-width:0;overflow-wrap:break-word}
.rows>div>span:first-child{white-space:nowrap}
.rows .h{color:var(--gray-60);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}
.chip{justify-self:end;font-size:.875rem;padding:2px 7px;border:1px solid var(--gray-20);color:var(--gray-60);white-space:nowrap}
.chip.ok{color:#0b3d2a;background:#45e3a0;border-color:#45e3a0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:.875rem}
.kv dt{font-family:var(--font-mono);font-size:.875rem;color:var(--gray-60)}
.kv dd{margin:0;color:var(--gray-80)}
.skel{display:flex;flex-direction:column;gap:10px;margin:6px 0 16px}
.skel i{display:block;height:8px;background:var(--gray-20)}
.mock .acts{display:flex;gap:8px}
.mock .acts span{font-size:.875rem;padding:7px 12px;border:1px solid var(--gray-20);color:var(--gray-70)}
.mock .acts span.ok{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.msg{padding:12px 14px;border:1px solid var(--gray-12);background:var(--gray-5);line-height:1.45;color:var(--gray-80)}
.msg+.msg{margin-top:10px}
.msg small{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:.875rem;color:var(--gray-60)}
.msg.us{border-color:var(--gray-20);background:var(--gray-8)}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.week span{font-family:var(--font-mono);font-size:.875rem;color:var(--gray-40);padding-bottom:6px}
.week div{display:flex;flex-direction:column;gap:6px}
.week i{display:block;height:30px;background:var(--gray-8);border:1px solid var(--gray-12)}
.week i.m{height:66px;background:var(--accent);border-color:var(--accent);position:relative}
.ev{margin-top:14px;padding:12px 14px;border-left:3px solid var(--accent);background:var(--gray-8);line-height:1.45}
.ev small{display:block;font-family:var(--font-mono);font-size:.875rem;color:var(--gray-60)}
.inds-hd{display:flex;flex-direction:column;align-items:center;text-align:center}
.inds-hd h2{margin-top:20px;font-family:var(--font-display);font-size:var(--h2);line-height:1.125;letter-spacing:-.02em;max-width:22em}
.grid3{display:grid;grid-template-columns:1fr;margin-top:48px;border-top:var(--line);border-left:var(--line)}
.ind{display:flex;flex-direction:column;border-right:var(--line);border-bottom:var(--line);padding:22px;transition:background-color var(--base) var(--ease)}
a.ind:hover{background:var(--gray-5)}
.ind .art{height:220px;margin:4px 0 18px}
.ind .art canvas{width:100%;height:100%}
.ind .tag{margin-bottom:16px}
.ind h3{font-size:var(--h3);line-height:1.15;letter-spacing:-.02em}
.ind p{margin-top:12px;font-size:1rem;line-height:1.45;color:var(--gray-80)}
.ind .more{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:8px;font-weight:500;letter-spacing:-.02em}
.ind .more .arr{transition:transform var(--base) var(--ease)}
a.ind:hover .more .arr{transform:translateX(4px)}
@media (min-width:1024px){.grid3{grid-template-columns:repeat(3,1fr)}.ind{padding:28px}}
.ctrl-in{display:flex;flex-direction:column;gap:40px;padding-top:var(--section)}
.ctrl ul{display:flex;flex-direction:column;gap:36px;margin:0;padding:0;list-style:none}
.ctrl li{display:flex;gap:20px}
.ctrl .ln{display:flex;flex-direction:column;flex:none;width:1px}
.ctrl .ln::before{content:"";height:30px;background:var(--fg)}
.ctrl .ln::after{content:"";flex:1;background:var(--gray-20)}
h2.tag{font-weight:400}
.ctrl h3{font-size:1.125rem;font-weight:500;line-height:1.5}
.ctrl p{margin-top:6px;font-size:1rem;line-height:1.45;color:var(--gray-70);max-width:26rem}
@media (min-width:1024px){
.ctrl-in{flex-direction:row;gap:96px}
.ctrl-in>.tag{flex:none;align-self:flex-start;margin-top:4px}
.ctrl ul{flex-direction:row;gap:64px}
.ctrl li{flex:1}
.ctrl h3{font-size:1.25rem}
}
.sky{margin-top:var(--section);background:linear-gradient(180deg,var(--sky-top),var(--sky-bottom));color:var(--bg)}
.sky-in{padding-top:var(--section);padding-bottom:var(--section)}
.sky-top{display:flex;flex-direction:column;gap:28px}
.sky h2{font-family:var(--font-display);font-size:var(--h2);line-height:1.2;letter-spacing:-.02em;max-width:17em;text-wrap:balance}
.sky .side{display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:34rem}
.sky .side p{font-size:var(--lead);line-height:1.4;color:var(--gray-20)}
.sky ul{display:grid;grid-template-columns:1fr;gap:48px;margin:64px 0 0;padding:0;list-style:none}
.sky li{max-width:21rem}
.sky .ico{display:block;width:104px;height:104px;margin-bottom:28px;color:var(--gray-50);overflow:visible}
.sky .ico *{vector-effect:non-scaling-stroke}
.sky li h3{font-family:var(--font-display);font-size:1.375rem;line-height:1.125;letter-spacing:-.015em}
.sky li p{margin-top:16px;font-size:1rem;line-height:1.375;letter-spacing:-.01em;color:var(--gray-30)}
.ico-fill{fill:currentColor;fill-opacity:.18}
.sky:not(.live) .ico-spin,.sky:not(.live) .ico-swing,.sky:not(.live) .ico-draw{animation-play-state:paused}
.ico-solid{fill:#d5e1fc}
.ico-spin{transform-origin:74px 74px;animation:ico-spin 12s linear infinite}
.ico-swing{transform-origin:112px 82px;animation:ico-swing 4s ease-in-out infinite}
.ico-draw{stroke-width:1.6;stroke-dasharray:26;animation:ico-draw 4.5s ease-in-out infinite}
@keyframes ico-spin{to{transform:rotate(360deg)}}
@keyframes ico-swing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes ico-draw{0%{stroke-dashoffset:26;opacity:1}30%,80%{stroke-dashoffset:0;opacity:1}92%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:26;opacity:0}}
@media (min-width:640px){.sky .ico{width:120px;height:120px;margin-bottom:32px}}
@media (min-width:768px){.sky .ico{width:148px;height:148px;margin-bottom:40px}.sky li h3{font-size:1.5rem}}
@media (min-width:1024px){.sky li h3{font-size:1.75rem}}
@media (min-width:640px){.sky ul{grid-template-columns:repeat(3,1fr);gap:32px}}
@media (min-width:1024px){.sky-top{flex-direction:row;justify-content:space-between;align-items:flex-end}.sky ul{margin-top:112px}}
@media (min-width:1280px){.sky ul{margin-top:160px}.sky .ico{margin-bottom:44px}}
.faq-in{display:grid;grid-template-columns:1fr;gap:32px}
.faq-in h2{font-family:var(--font-display);font-size:var(--h2);line-height:1.125;letter-spacing:-.02em;margin-top:20px}
.qa{border-top:var(--line)}
.qa:last-child{border-bottom:var(--line)}
.qa h3{font-size:1.125rem;line-height:1.4}
.qa button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;background:none;border:0;text-align:left;cursor:pointer;font-size:inherit;letter-spacing:-.01em}
.qa button svg{flex:none;width:18px;height:18px;color:var(--gray-60);transition:transform var(--base) var(--ease)}
.qa button[aria-expanded=true] svg{transform:rotate(45deg)}
.qa .a{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--base) ease-out,opacity var(--base) ease-out}
.qa .a>div{overflow:hidden}
.qa .a p{padding:0 0 22px;max-width:44rem;font-size:1rem;line-height:1.5;color:var(--gray-70)}
.js .qa .a{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows var(--base) ease-out,opacity var(--base) ease-out,visibility 0s linear var(--base)}
.js .qa.open .a{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}
@media (min-width:1024px){.faq-in{grid-template-columns:1fr 2fr;gap:64px}.qa h3{font-size:1.25rem}}
.call{position:relative;margin-top:var(--section);overflow:hidden;background:var(--panel)}
.call>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.call::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,6,.85),rgba(4,4,6,.35) 70%)}
.call-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:40px;padding-top:56px;padding-bottom:56px;scroll-margin-top:60px}
.call h2{font-family:var(--font-display);font-size:var(--h2);line-height:1.125;letter-spacing:-.02em;max-width:14em}
.call h2 .gray{display:block}
.call .note{margin-top:20px;max-width:28rem;font-size:1rem;line-height:1.45;color:var(--gray-80)}
.form{background:var(--popover);border:1px solid var(--gray-20);padding:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.form h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.02em}
.form .sub{margin-top:8px;color:var(--gray-70);font-size:1rem;line-height:1.45}
.fld{display:block;margin-top:16px}
.fld span{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.03em;text-transform:uppercase;color:var(--gray-60)}
.fld span em{font-style:normal;text-transform:none;color:var(--gray-60)}
.fld input,.fld select,.fld textarea{display:block;width:100%;min-height:46px;padding:11px 12px;background:var(--bg);border:1px solid var(--gray-20);border-radius:0;font-size:1rem;color:var(--fg);transition:border-color var(--fast) var(--ease)}
.fld textarea{min-height:92px;resize:vertical}
.fld select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%239194a1' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:var(--gray-30)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--fg)}
.two{display:grid;grid-template-columns:1fr;gap:0 12px}
@media (min-width:520px){.two{grid-template-columns:1fr 1fr}}
.form .btn{width:100%;margin-top:22px}
.consent{margin-top:14px;font-size:.875rem;line-height:1.45;color:var(--gray-60)}
.consent a{text-decoration:underline;text-underline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (min-width:1024px){.call-in{grid-template-columns:1fr minmax(0,500px);align-items:center;gap:64px;padding-top:96px;padding-bottom:96px}.form{padding:32px}}
.ftr{padding:48px 0 56px;border-top:var(--line)}
.ftr-in{display:grid;grid-template-columns:1fr;gap:40px}
.ftr .brand img{width:150px;height:auto}
.ftr .brand p{margin-top:16px;max-width:20rem;font-size:.9375rem;line-height:1.45;color:var(--gray-60)}
.ftr .brand small{display:block;margin-top:20px;font-size:.875rem;line-height:1.45;color:var(--gray-50)}
.ftr nav{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.ftr .fh{margin:0 0 14px;font-size:.9375rem;font-weight:500;letter-spacing:0}
.ftr nav a{display:block;padding:5px 0;font-size:.9375rem;color:var(--gray-60);transition:color var(--fast) var(--ease)}
.ftr nav a:hover{color:var(--fg)}
@media (min-width:768px){.ftr nav{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.ftr-in{grid-template-columns:1fr 1.4fr}}
.ihero{position:relative}
.ihero-in{display:grid;grid-template-columns:1fr;gap:40px;padding-top:56px}
.ihero h1{margin-top:24px;font-family:var(--font-display);font-size:var(--h1);line-height:1.1;letter-spacing:-.025em;max-width:13em;text-wrap:balance}
.ihero .sub{margin-top:20px;max-width:32rem;font-size:var(--lead);line-height:1.4;color:var(--gray-70)}
.ihero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.ihero .vis{min-height:300px;border:var(--line)}
.ihero .vis .mock{margin:40px 20px}
@media (min-width:1024px){.ihero-in{grid-template-columns:1fr 1fr;align-items:center;gap:56px;padding-top:96px}.ihero .vis{min-height:520px}.ihero .vis .mock{margin:72px 48px}}
.flow{display:grid;grid-template-columns:1fr;margin-top:48px;border-top:var(--line);border-left:var(--line);counter-reset:f}
.flow li{list-style:none;border-right:var(--line);border-bottom:var(--line);padding:22px}
.flow li span{font-family:var(--font-mono);font-size:var(--label);color:var(--gray-50)}
.flow h3{margin-top:10px;font-size:1.25rem;line-height:1.25;letter-spacing:-.015em}
.flow p{margin-top:8px;font-size:1rem;line-height:1.45;color:var(--gray-70)}
.flow{padding:0;margin-bottom:0}
@media (min-width:768px) and (max-width:1279px){.flow{grid-template-columns:repeat(2,1fr)}.flow li:last-child{grid-column:1/-1}}
@media (min-width:1280px){.flow{grid-template-columns:repeat(5,1fr)}}
.sec-hd .tag{margin-bottom:22px}
.sec-hd h2{font-family:var(--font-display);font-size:var(--h2);line-height:1.125;letter-spacing:-.02em;max-width:20em}
.sec-hd h2 .gray{display:block}
.page{padding-top:72px;padding-bottom:96px}
.page h1{font-family:var(--font-display);font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.1;letter-spacing:-.02em}
.page .lead{margin-top:16px;font-size:var(--lead);color:var(--gray-70);max-width:40rem}
.legal{max-width:46rem}
.legal h2{margin-top:44px;font-size:1.375rem;line-height:1.3;letter-spacing:-.01em}
.legal p,.legal li{margin-top:12px;font-size:1rem;line-height:1.6;color:var(--gray-80)}
.legal ul{padding-left:20px}
.legal a{text-decoration:underline;text-underline-offset:2px}
.legal .meta{font-family:var(--font-mono);font-size:.875rem;color:var(--gray-50);margin-top:14px}
@media (max-width:299px){.rows>div>span:first-child{white-space:normal}}
@media (max-width:419px){
.vis .mock{margin:32px 12px}
.rows div{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
.rows div>span:nth-child(2){grid-column:1;grid-row:2;color:var(--gray-60)}
.rows div>span:nth-child(3){grid-column:2;grid-row:1}
.rows .h>span:nth-child(2){display:none}
}
.bento{display:grid;grid-template-columns:1fr;gap:8px;margin-top:48px}
.bx{display:flex;flex-direction:column;min-width:0;background:var(--popover);border:1px solid var(--border);padding:22px 22px 18px}
.bx h3{font-size:1.25rem;font-weight:500;line-height:1.25;letter-spacing:-.015em;color:var(--fg)}
.bx p{margin-top:6px;font-size:.9375rem;line-height:1.45;color:var(--gray-60);max-width:26rem}
.viz{position:relative;flex:1;min-height:220px;margin-top:20px}
.viz canvas{position:absolute;inset:0;width:100%;height:100%}
.bx-c .viz{min-height:400px}
@media (min-width:640px) and (max-width:1199px){
.bento{grid-template-columns:1fr 1fr;grid-template-areas:"a b" "d c" "e c"}
.bx-a{grid-area:a}.bx-b{grid-area:b}.bx-c{grid-area:c}.bx-d{grid-area:d}.bx-e{grid-area:e}
}
@media (min-width:1200px){
.bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"a c d" "b c e"}
.bx-a{grid-area:a}.bx-b{grid-area:b}.bx-c{grid-area:c}.bx-d{grid-area:d}.bx-e{grid-area:e}
.viz{min-height:230px}
.bx-c .viz{min-height:0}
}
.page-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn svg.arr{width:16px;height:16px}
.ind .more svg.arr{width:16px;height:16px}
.toast{position:fixed;left:50%;bottom:20px;z-index:90;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:10px 10px 10px 16px;background:var(--fg);color:var(--bg);font-size:.9375rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.6)}
.toast[hidden]{display:none}
.toast button{height:34px;padding:0 14px;background:var(--bg);color:var(--fg);border:0;cursor:pointer;font-weight:500}
.mock-ft{display:flex;justify-content:flex-end;gap:8px;padding:0 16px 16px}
.mock .acts span{transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .15s var(--ease)}
.mock .acts span.press{transform:scale(.94)}
.mock .acts span.done{background:var(--accent);border-color:var(--accent);color:#000}
.mock-bd,.mock-ft{transition:opacity .4s var(--ease)}
.mock.fade .mock-bd,.mock.fade .mock-ft{opacity:0}
.anim .kv dt{opacity:.35;transition:opacity .3s var(--ease)}
.anim .kv dt.in{opacity:1}
.kv dd{position:relative}
.kv .ghost{visibility:hidden}
.kv .typed{position:absolute;left:0;top:0;right:0}
.mock.reset,.mock.reset *{transition:none!important}
.mock.paused *{animation-play-state:paused!important}
.typing::after{content:"";display:inline-block;width:.5em;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--accent);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.anim .rows>div:not(.h){opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease-out-soft),transform .35s var(--ease-out-soft)}
.anim .rows>div.in{opacity:1;transform:none}
.chip{transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.chip.wait{color:var(--gray-60);border-style:dashed}
.chip.no{text-decoration:none}
.rows>div:not(.h)>span:not(.chip){justify-self:start;background:linear-gradient(currentColor,currentColor) 0 55%/0 1px no-repeat;transition:background-size .45s var(--ease),opacity .45s var(--ease)}
.rows>div.gone>span:not(.chip){background-size:100% 1px;opacity:.5}
.skel i{transition:width .55s var(--ease-out-soft),opacity .2s var(--ease)}
.state,.agreed{display:flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--font-mono);font-size:.875rem}
.state{color:var(--gray-60)}
.agreed{color:var(--accent)}
.state .sq,.agreed .sq{width:10px;height:10px;background:var(--accent)}
.anim .state,.anim .agreed{opacity:0;transform:translateY(4px);transition:opacity .35s var(--ease-out-soft),transform .35s var(--ease-out-soft)}
.anim .state.in,.anim .agreed.in{opacity:1;transform:none}
.msg{position:relative}
.dots{display:none;position:absolute;left:14px;bottom:15px;gap:4px}
.dots i{width:6px;height:6px;background:var(--gray-60);animation:bob 1s ease-in-out infinite}
.dots i:nth-child(2){animation-delay:.15s}
.dots i:nth-child(3){animation-delay:.3s}
@keyframes bob{0%,60%,100%{transform:none;opacity:.45}30%{transform:translateY(-3px);opacity:1}}
.anim .msg{opacity:0;transform:translateY(6px);transition:opacity .3s var(--ease-out-soft),transform .3s var(--ease-out-soft)}
.anim .msg.in{opacity:1;transform:none}
.anim .msg .tx{opacity:0;transition:opacity .25s var(--ease)}
.anim .msg.said .tx{opacity:1}
.anim .msg.in:not(.said) .dots{display:flex}
.week i.m{transform-origin:top}
.week i{transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.week i.hl{border-color:var(--accent);border-style:dashed;background:rgba(222,241,53,.08)}
.anim .week i.m{transform:scaleY(0);opacity:0;transition:transform .55s var(--ease-out-soft),opacity .2s var(--ease)}
.anim .week i.m.in{transform:none;opacity:1;animation:glowp 2.4s ease-in-out .6s infinite}
@keyframes glowp{50%{box-shadow:0 0 24px rgba(222,241,53,.45)}}
.anim .ev{opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-out-soft),transform .4s var(--ease-out-soft)}
.anim .ev.in{opacity:1;transform:none}
.cur{position:absolute;left:0;top:0;z-index:6;width:16px;height:20px;opacity:0;pointer-events:none;transition:transform .75s cubic-bezier(.4,0,.2,1),opacity .3s var(--ease);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.cur svg{display:block;width:100%;height:100%}
.cur.on{opacity:1}
.cur::after{content:"";position:absolute;left:-9px;top:-9px;width:18px;height:18px;border:2px solid var(--accent);border-radius:50%;opacity:0}
.cur.click::after{animation:clk .5s var(--ease-out-soft)}
@keyframes clk{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.7)}}
@media (prefers-reduced-motion:reduce){
html,html.smooth{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.marquee-track{width:auto}
.marquee ul+ul{display:none}
.marquee ul{flex-wrap:wrap;gap:12px 28px}
.marquee{-webkit-mask-image:none;mask-image:none}
}
