:root { --surface:#121412; --surface-lowest:#0d0f0d; --surface-low:#191c19; --surface-high:#242824; --ink:#f0f2ef; --ink-muted:#c5cac5; --rule:#414741; --primary:#20c878; --primary-ink:#06150d; --secondary:#b6e800; --secondary-ink:#172000; --violet:#7d5fff; --font-display:"Bricolage Grotesque",system-ui,sans-serif; --font-mono:"JetBrains Mono",ui-monospace,monospace; --content:90rem; --pad:clamp(1.25rem,5vw,4.5rem); }
* { box-sizing:border-box; } html,body { margin:0; min-width:0; overflow-x:clip; background:var(--surface); color:var(--ink); } html { scroll-behavior:smooth; } body { font-family:var(--font-display); -webkit-font-smoothing:antialiased; } a { color:inherit; text-decoration:none; } h1,h2,h3,p { margin:0; } h1,h2,h3 { overflow-wrap:anywhere; font-style:normal; } a:focus-visible { outline:.125rem solid var(--secondary); outline-offset:.25rem; }
.shell { width:min(100% - (var(--pad) * 2),var(--content)); margin-inline:auto; }.mono { font-family:var(--font-mono); font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.wordmark { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--font-mono); font-size:.92rem; font-weight:700; letter-spacing:-.04em; }.mark { display:grid; width:1.25rem; height:1.25rem; place-items:center; border:.125rem solid var(--primary); color:var(--primary); font-size:.65rem; }.arrow { display:inline-block; width:1rem; height:1rem; background:currentColor; mask:url("../assets/arrow-right.svg") center / contain no-repeat; }.btn { min-height:3.25rem; display:inline-flex; align-items:center; justify-content:center; gap:.8rem; padding:.85rem 1.25rem; border:.0625rem solid var(--primary); background:var(--primary); color:var(--primary-ink); font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.08em; line-height:1; text-transform:uppercase; white-space:nowrap; }.btn:hover { background:var(--secondary); border-color:var(--secondary); color:var(--secondary-ink); }
.site-header { position:absolute; inset:0 0 auto; z-index:2; padding-block:1.45rem; }.nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; }.solutions-nav { position:relative; }.solutions-nav summary { display:inline-flex; align-items:center; gap:.5rem; list-style:none; cursor:pointer; color:var(--ink); font-family:var(--font-mono); font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.solutions-nav summary::-webkit-details-marker { display:none; }.chevron { display:inline-block; width:.8rem; height:.8rem; background:currentColor; mask:url("../assets/chevron-down.svg") center / contain no-repeat; }.solutions-nav[open] .chevron { transform:rotate(180deg); }.solutions-popover { position:absolute; top:calc(100% + .9rem); left:50%; width:16rem; padding:.55rem; border:.0625rem solid var(--rule); background:var(--surface-low); transform:translateX(-50%); }.solutions-popover a { display:block; padding:.75rem .8rem; color:var(--ink-muted); font-size:.88rem; }.solutions-popover a:hover { background:var(--surface-high); color:var(--primary); }.header-contact { justify-self:end; min-height:2.55rem; padding:.68rem .9rem; font-size:.62rem; }
.page-hero { min-height:clamp(33rem,72svh,46rem); display:flex; align-items:center; position:relative; padding-block:7rem 3.5rem; overflow:hidden; background:var(--surface-lowest) url("../assets/hero-texture.png") center / cover no-repeat; }.page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--surface-lowest),transparent 75%),linear-gradient(0deg,var(--surface-lowest),transparent 45%); opacity:.78; }.page-hero .shell { position:relative; z-index:1; }.eyebrow { display:flex; align-items:center; gap:.65rem; color:var(--violet); }.eyebrow::before { content:""; width:.45rem; height:.45rem; background:var(--violet); }.page-hero h1 { max-width:13ch; margin-top:1.2rem; font-size:clamp(3rem,7vw,6.75rem); line-height:.94; letter-spacing:-.06em; }.page-hero h1 span { color:var(--primary); }.page-hero p { max-width:42rem; margin-top:1.5rem; color:var(--ink-muted); font-size:clamp(1rem,1.4vw,1.22rem); line-height:1.65; }.page-hero .btn { margin-top:2rem; }
.section { padding-block:clamp(5rem,10vw,9rem); }.section-dark { background:var(--surface-lowest); }.section-alt { background:var(--surface-low); }.section h2 { max-width:18ch; font-size:clamp(2.3rem,5vw,4.7rem); line-height:1; letter-spacing:-.055em; }.section h2 span { color:var(--primary); }.lede { max-width:40rem; margin-top:1.25rem; color:var(--ink-muted); line-height:1.65; }.outcomes { display:grid; gap:0; margin-top:clamp(3rem,7vw,6rem); border-top:.0625rem solid var(--rule); }.outcome { padding:1.5rem 0; border-bottom:.0625rem solid var(--rule); }.outcome .mono { color:var(--violet); }.outcome h3 { margin-top:2rem; font-size:1.35rem; letter-spacing:-.04em; }.outcome p { margin-top:.7rem; color:var(--ink-muted); line-height:1.6; }.steps { display:grid; gap:1rem; margin-top:clamp(3rem,7vw,6rem); }.step { padding:1.5rem; border:.0625rem solid var(--rule); background:var(--surface); }.step .mono { color:var(--violet); }.step h3 { margin-top:2.75rem; font-size:1.35rem; letter-spacing:-.04em; }.step p { margin-top:.7rem; color:var(--ink-muted); line-height:1.6; }.cta { padding-block:clamp(6rem,12vw,11rem); text-align:center; background:var(--surface-high); }.cta h2 { max-width:16ch; margin-inline:auto; font-size:clamp(2.6rem,5.2vw,5rem); line-height:.98; letter-spacing:-.06em; }.cta p { max-width:38rem; margin:1.3rem auto 0; color:var(--ink-muted); line-height:1.65; }.cta .btn { margin-top:2rem; }.footer { margin:.6rem; padding:3rem var(--pad) 1.4rem; background:var(--surface-high); }.footer-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem; max-width:var(--content); margin-inline:auto; }.footer p { max-width:25rem; margin-top:1rem; color:var(--ink-muted); line-height:1.6; }.footer-links { display:grid; gap:.7rem; }.footer-links a { color:var(--ink-muted); }.footer-links a:hover { color:var(--primary); }.copyright { max-width:var(--content); margin:3rem auto 0; padding-top:1.2rem; border-top:.0625rem solid var(--rule); color:var(--ink-muted); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.06em; }
.journey { margin-top:clamp(3rem,7vw,6rem); border-top:.0625rem solid var(--rule); }.journey-item { display:grid; gap:.8rem; padding:1.6rem 0 2rem; border-bottom:.0625rem solid var(--rule); }.journey-item .mono { color:var(--violet); }.journey-item h3 { font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:-.045em; }.journey-item p { max-width:42rem; color:var(--ink-muted); line-height:1.65; }
.cards { display:grid; gap:1rem; margin-top:clamp(3rem,7vw,5rem); }.card { min-height:15rem; padding:1.5rem; border:.0625rem solid var(--rule); background:var(--surface); }.card .mono { color:var(--violet); }.card h3 { margin-top:2.6rem; font-size:1.3rem; letter-spacing:-.04em; }.card p { margin-top:.7rem; color:var(--ink-muted); line-height:1.6; }.sample { display:grid; gap:1.5rem; margin-top:clamp(3rem,7vw,5rem); padding:clamp(1.5rem,4vw,3.5rem); border:.0625rem solid var(--rule); background:var(--surface-lowest); }.sample-label { color:var(--violet); }.sample h3 { font-size:clamp(1.7rem,3vw,2.8rem); letter-spacing:-.05em; }.sample-block { padding-top:1.3rem; border-top:.0625rem solid var(--rule); }.sample-block h4 { margin:0; color:var(--primary); font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }.sample-block p { margin-top:.75rem; color:var(--ink-muted); line-height:1.65; }.faq { margin-top:clamp(3rem,7vw,5rem); border-top:.0625rem solid var(--rule); }.faq details { padding:1.25rem 0; border-bottom:.0625rem solid var(--rule); }.faq summary { cursor:pointer; font-size:1.15rem; font-weight:700; letter-spacing:-.025em; }.faq p { max-width:44rem; margin-top:1rem; color:var(--ink-muted); line-height:1.65; }.contact-steps { display:grid; gap:1rem; margin-top:clamp(3rem,7vw,5rem); }.contact-step { padding:1.5rem; border:.0625rem solid var(--rule); background:var(--surface-low); }.contact-step .mono { color:var(--violet); }.contact-step h3 { margin-top:2rem; font-size:1.25rem; letter-spacing:-.04em; }.contact-step p { margin-top:.7rem; color:var(--ink-muted); line-height:1.6; }
@media (max-width:47.99rem) { .site-header { padding-block:1rem; }.nav { grid-template-columns:minmax(0,1fr) auto; gap:.75rem; }.solutions-nav { justify-self:end; }.header-contact { display:none; }.solutions-popover { right:0; left:auto; width:min(16rem,calc(100vw - 2.5rem)); transform:none; } }
@media (min-width:48rem) { .outcomes { grid-template-columns:repeat(3,minmax(0,1fr)); }.outcome { min-height:16rem; padding:2rem; border-right:.0625rem solid var(--rule); border-bottom:0; }.outcome:last-child { border-right:0; }.steps { grid-template-columns:repeat(3,minmax(0,1fr)); }.step { min-height:17rem; }.footer { padding-block:4rem 1.4rem; } }
@media (min-width:48rem) { .journey-item { grid-template-columns:8rem minmax(13rem,.75fr) minmax(0,1.5fr); align-items:start; gap:2rem; padding-block:2.1rem; } }
@media (min-width:48rem) { .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.contact-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }.contact-step { min-height:15rem; } }
@media (min-width:70rem) { .cards.cards-four { grid-template-columns:repeat(4,minmax(0,1fr)); }.cards.cards-three { grid-template-columns:repeat(3,minmax(0,1fr)); }.card { min-height:18rem; } }
