:root{--ink:#1b1733;--ink-soft:#3a3454;--bg:#fff;--wash:#f4f3f9;--led:#b92fc2;--led-deep:#8a1f93;--line:#e4e2ee}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Public Sans,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}h1,h2,h3{font-family:Bricolage Grotesque,sans-serif;line-height:1.12;letter-spacing:-.01em}a{color:var(--led-deep)}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.topbar{background:var(--ink);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;gap:12px}.brand{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.15rem;color:#fff;text-decoration:none;white-space:nowrap}.brand span{color:#db7be3}.topcall{display:flex;align-items:center;gap:14px}.topcall .num{font-size:1.05rem}.btn,.topcall .num{color:#fff;text-decoration:none;font-weight:700}.btn{display:inline-block;background:var(--led);padding:12px 22px;border-radius:8px;border:0;font-size:1rem;cursor:pointer}.btn:hover{background:var(--led-deep)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--led);outline-offset:2px}.hero{background:linear-gradient(160deg,var(--ink) 55%,#2e1b4e 100%);color:#fff;padding:56px 0 64px}.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:44px;gap:44px;align-items:start}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:#db7be3;margin-bottom:14px}h1{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:800;margin-bottom:18px}.hero p.lede{font-size:1.1rem;color:#d9d5ea;max-width:34em;margin-bottom:26px}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.btn-call{background:#fff;color:var(--ink)}.btn-call:hover{background:#efeaf7;color:var(--ink)}.trustline{margin-top:22px;font-size:.9rem;color:#b9b3d2}.quote{background:#fff;color:var(--ink);border-radius:14px;padding:26px;box-shadow:0 18px 50px rgba(10,6,30,.45)}.quote h2{font-size:1.35rem;margin-bottom:4px}.quote p{font-size:.9rem;color:var(--ink-soft);margin-bottom:16px}.quote label{display:block;font-weight:600;font-size:.85rem;margin:12px 0 4px}.quote input,.quote select,.quote textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.95rem}.quote textarea{min-height:70px;resize:vertical}.quote .btn{width:100%;margin-top:18px;padding:14px}section{padding:56px 0}section.wash{background:var(--wash)}h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin-bottom:16px}h3{font-size:1.2rem;font-weight:700;margin:30px 0 8px}.prose p{margin-bottom:16px;max-width:46em}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px}.route{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;background:#fff}.route .wrap{gap:0;overflow-x:auto}.route .wrap,.stop{display:flex;align-items:center}.stop{white-space:nowrap;font-weight:700;font-family:Bricolage Grotesque,sans-serif;font-size:1rem}.stop:after{content:"";display:inline-block;width:56px;height:2px;background:repeating-linear-gradient(90deg,var(--led) 0 8px,transparent 8px 16px);margin:0 14px}.stop:last-child:after{display:none}.stop b{width:10px;height:10px;border-radius:50%;background:var(--led);display:inline-block;margin-right:10px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:700;cursor:pointer;font-size:1.05rem}.faq details p{margin-top:10px;color:var(--ink-soft);max-width:46em}footer{background:var(--ink);color:#b9b3d2;padding:44px 0;font-size:.9rem}footer a{color:#fff}footer .wrap{display:grid;grid-gap:8px;gap:8px}.callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--led);text-align:center}.callbar a{display:block;color:#fff;font-weight:800;font-family:Bricolage Grotesque,sans-serif;font-size:1.1rem;padding:16px;text-decoration:none}@media (max-width:840px){.hero .wrap,.split{grid-template-columns:1fr}.hero{padding:40px 0 48px}.callbar{display:block}body{padding-bottom:58px}.topcall .num{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}