
:root{--bg:#F7F5FC;--ink:#1A1033;--mut:#5E5578;--card:#fff;--line:#E3DDF2;--v:#5B1FB8;--m:#A12BB5;--soft:#EDE6FA;--onv:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#120B22;--ink:#F1ECFB;--mut:#A89FC2;--card:#1C1233;--line:#2E2250;--v:#A67BFF;--m:#E37BFF;--soft:#241845;--onv:#120B22}}
:root[data-theme="dark"]{--bg:#120B22;--ink:#F1ECFB;--mut:#A89FC2;--card:#1C1233;--line:#2E2250;--v:#A67BFF;--m:#E37BFF;--soft:#241845;--onv:#120B22}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 "DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Bricolage Grotesque","DM Sans",sans-serif;line-height:1.05;letter-spacing:-.02em;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--m);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:8px;font:800 24px "Bricolage Grotesque",sans-serif;text-decoration:none;color:var(--v);letter-spacing:-.03em}
nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-weight:500}
nav ul a{text-decoration:none;color:var(--mut)}nav ul a:hover{color:var(--ink)}
.btn{display:inline-block;background:var(--v);color:var(--onv);font-weight:700;padding:13px 24px;border-radius:999px;text-decoration:none;border:0;font-size:16px;cursor:pointer;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
@media(max-width:760px){nav ul{display:none}}
.hero{position:relative;overflow:hidden;padding:84px 0 70px}
#net{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero .wrap{position:relative;z-index:1}
h1{font-size:clamp(42px,7.4vw,92px);font-weight:800;max-width:15ch}
.lede{font-size:clamp(18px,2.1vw,22px);color:var(--mut);max-width:34em;margin:26px 0 32px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.tools{padding:26px 0;border-block:1px solid var(--line);background:var(--card)}
.tools p{margin:0 0 12px;color:var(--mut);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1.5px solid var(--line);border-radius:999px;padding:6px 16px;font-weight:500;font-size:15px;background:var(--bg)}
section{padding:92px 0}
h2{font-size:clamp(32px,4.6vw,54px);font-weight:700;max-width:18ch}
.sub{color:var(--mut);max-width:38em;margin:16px 0 0}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:44px}
.card{grid-column:span 2;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--v);transform:translateY(-3px)}
.card.w{grid-column:span 3}
.card.hi{background:var(--v);color:var(--onv);border-color:var(--v)}
.card.hi p,.card.hi .tag{color:inherit;opacity:.9}
.card h3{font-size:25px;font-weight:700}
.card p{margin:0;color:var(--mut);font-size:16px}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:var(--v)}
.dots i:nth-child(2){background:color-mix(in srgb,var(--v),var(--m) 50%)}.dots i:nth-child(3){background:var(--m)}
.card.hi .dots i{background:var(--onv);opacity:.9}
.tag{margin-top:auto;font-size:14px;color:var(--v);font-weight:500}
@media(max-width:900px){.card,.card.w{grid-column:span 6}}
.answer{background:var(--soft);border-radius:28px;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:36px}
.answer h2{font-size:clamp(28px,3.6vw,42px)}
.answer p{margin:0 0 14px}
@media(max-width:800px){.answer{grid-template-columns:1fr;padding:28px}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:2px solid var(--ink)}
.steps div{padding:22px 20px 0 0}
.steps b{font:700 22px "Bricolage Grotesque",sans-serif;display:block;margin-bottom:6px}
.steps span{color:var(--mut);font-size:16px}
@media(max-width:800px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
details{border-bottom:1px solid var(--line);padding:20px 0}
summary{font:700 21px "Bricolage Grotesque",sans-serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::after{content:"+";color:var(--m);font-size:26px;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:12px 0 0;color:var(--mut);max-width:44em}
.faq{max-width:780px;margin-top:36px}
.cta{background:var(--v);color:var(--onv);border-radius:32px;padding:64px 40px;text-align:center}
.cta h2{margin:0 auto;max-width:16ch}
.cta p{max-width:32em;margin:18px auto 28px;opacity:.92}
.cta .btn{background:var(--onv);color:var(--v)}
footer{padding:44px 0 60px;color:var(--mut);font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{text-decoration:none;margin-right:16px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.logo img{height:34px;width:auto}.logo-dark{display:none}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo img{filter:brightness(1.7) saturate(.9)}}
sup.tm{font-size:.42em;vertical-align:super;font-weight:700;margin-left:1px;letter-spacing:0}
.crumb{font-size:15px;color:var(--mut);margin-bottom:22px}.crumb a{text-decoration:none}
.page{padding:72px 0 40px}.page h1{max-width:20ch;font-size:clamp(38px,6vw,72px)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.two .card{grid-column:auto}
.list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.list li{padding-left:26px;position:relative}
.list li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--m)}
.rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.rel a{border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none;font-weight:500}.rel a:hover{border-color:var(--v)}
@media(max-width:800px){.two{grid-template-columns:1fr}}

.cform{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:36px;max-width:760px;margin:0 auto;text-align:left;color:var(--ink)}
.cform h2{max-width:none;font-size:clamp(28px,4vw,44px)}.cform .sub{margin-bottom:22px}
.cform .fg{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cform label{display:grid;gap:6px;font-weight:500;font-size:15px}
.cform .full{grid-column:1/-1}
.cform input,.cform select,.cform textarea{font:inherit;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);width:100%}
.cform .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}.cform .chk input{width:auto;margin-top:5px}
.cform .btn{background:var(--v);color:var(--onv);margin-top:6px}.hp{position:absolute;left:-9999px}
#fmsg{margin:12px 0 0;color:var(--mut);min-height:1.4em}
@media(max-width:640px){.cform .fg{grid-template-columns:1fr}.cform{padding:24px}}
.legal{max-width:760px;padding:64px 22px}.legal h1{font-size:clamp(34px,5vw,56px);margin-bottom:8px}.legal h2{font-size:26px;margin:34px 0 8px;max-width:none}.legal p,.legal li{color:var(--mut)}

.cform input,.cform select{min-height:48px}.cform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
.cform .chk span{flex:1}.cform .btn{margin-top:22px}#fmsg{margin:10px 0 0;min-height:0}
.cform .chk{margin-top:4px}
footer .wrap>div:last-child{display:flex;flex-wrap:wrap;gap:6px 16px}footer a{margin-right:0}
html,body{overflow-x:clip}
.cform .chk input{min-height:0;width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--v)}
@media(max-width:480px){nav .btn{padding:9px 14px;font-size:14px;white-space:nowrap}.logo img{height:28px}.wrap{padding:0 16px}}
