@font-face { font-family:Geist; src:url("/fonts/geist.ttf") format("truetype"); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("/fonts/geist-mono.ttf") format("truetype"); font-weight:100 900; font-style:normal; font-display:swap; }
:root { --ink:#0a0a0a; --ink-secondary:#3d3d3d; --muted:#6b6b6b; --faint:#8a8a8a; --paper:#fff; --fill:#f3f3f2; --subtle:#f6f6f5; --line:#e5e5e5; --divider:#ededed; --max:1120px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 17px/1.55 Geist,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.01em; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--muted); }
.wrap { width:min(var(--max),calc(100% - 40px)); margin:auto; }
.top { display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:22px; }
.brand { display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:21px; letter-spacing:-.045em; text-decoration:none; }
.brand img { width:24px; height:27px; }
.nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; font-size:14px; font-weight:550; color:var(--muted); }
.nav a { text-decoration:none; }
.hero { min-height:calc(100dvh - 76px); display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:6vw; padding:48px 0 72px; }
.eyebrow { font-family:"Geist Mono",ui-monospace,monospace; color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:10ch; margin:14px 0 20px; font-size:clamp(54px,8vw,104px); font-weight:600; letter-spacing:-.045em; line-height:.92; }
.lead { max-width:38ch; color:var(--muted); font-size:clamp(18px,2.1vw,21px); }
.hero-graphic { position:relative; min-height:390px; display:flex; justify-content:center; overflow:hidden; }
.hero-screen { display:block; width:min(100%,278px); height:auto; border:1px solid #2a2a2a; border-radius:22px; box-shadow:0 18px 38px rgba(0,0,0,.16); }
.section { padding:96px 0; border-top:1px solid var(--line); }
.section-head { max-width:620px; }
h2 { margin-bottom:16px; font-size:clamp(37px,5vw,64px); font-weight:600; letter-spacing:-.04em; line-height:.98; }
.section-head p,.feature p,.legal p,.legal li { color:var(--muted); }
.features { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:48px; }
.feature { min-height:185px; padding:18px; background:var(--paper); border:1px solid var(--line); border-radius:14px; }
h3 { font-size:21px; font-weight:600; line-height:1.15; letter-spacing:-.025em; }
.feature p { margin-bottom:0; font-size:15px; }
.route-showcase { display:grid; grid-template-columns:1fr .82fr; align-items:center; gap:8vw; }
.route-copy { max-width:480px; }
.route-copy p { color:var(--muted); font-size:18px; }
.route-screen { display:block; width:min(100%,330px); height:auto; border:1px solid #2a2a2a; border-radius:22px; box-shadow:0 18px 38px rgba(0,0,0,.16); justify-self:center; }
.quiet { background:var(--ink); color:var(--paper); }
.quiet .wrap { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:end; }
.quiet .eyebrow { color:#bdbdbd; }
.quiet p { color:#bdbdbd; max-width:34ch; font-size:19px; }
.quiet a { color:#fff; }
.legal { max-width:770px; padding:58px 0 100px; }
.legal h1 { max-width:none; font-size:clamp(48px,6vw,76px); }
.legal h2 { margin:58px 0 14px; font-size:33px; }
.legal h3 { margin:30px 0 8px; }
.legal li { margin:8px 0; }
.meta { color:var(--muted); font-family:"Geist Mono",ui-monospace,monospace; font-size:11px; letter-spacing:.02em; text-transform:uppercase; }
.callout { margin:30px 0; padding:20px 22px; background:var(--subtle); border-left:4px solid var(--ink); border-radius:16px; }
table { width:100%; border-collapse:collapse; margin:20px 0; font-size:15px; }
th,td { padding:12px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { color:var(--ink-secondary); font-family:"Geist Mono",ui-monospace,monospace; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
footer { border-top:1px solid var(--line); padding:30px 0 45px; color:var(--muted); font-size:14px; }
.footer-row { display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; }
.footer-links { display:flex; gap:16px; flex-wrap:wrap; }
@media (max-width:760px) { .hero,.quiet .wrap,.route-showcase { grid-template-columns:1fr; } .hero { min-height:auto; padding-top:38px; } .hero-graphic { min-height:300px; } .features { grid-template-columns:1fr; } .section { padding:68px 0; } .route-screen { margin-top:12px; } }
@media (max-width:430px) { .wrap { width:min(var(--max),calc(100% - 30px)); } .nav { gap:12px; font-size:13px; } h1 { font-size:52px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
