:root{--ink:#16233b;--ink-soft:#46546d;--paper:#f5f7fa;--card:#fff;--mist:#dde5ee;--tea:#2e7d5b;--tea-deep:#215c43;--saffron:#e0a43a;--radius-lg:20px;--display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--body:"Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8eef6;--ink-soft:#a9b6c8;--paper:#0f1a2c;--card:#16243a;--mist:#25364f;--tea:#5fbf93;--tea-deep:#4aa57c}}:root[data-theme=dark]{--ink:#e8eef6;--ink-soft:#a9b6c8;--paper:#0f1a2c;--card:#16243a;--mist:#25364f;--tea:#5fbf93;--tea-deep:#4aa57c}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.route .path{stroke-dashoffset:0!important}}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}a{color:var(--tea)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--saffron);outline-offset:3px;border-radius:6px}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}header.site{padding:22px 0}header.site .wrap{justify-content:space-between;align-items:center;gap:16px;display:flex}.wordmark{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-size:26px;font-weight:700;text-decoration:none}.wordmark span{color:var(--tea)}nav.primary{gap:28px;display:flex}nav.primary a{color:var(--ink-soft);font-size:15px;font-weight:500;text-decoration:none}nav.primary a:hover{color:var(--ink)}.hero{padding:56px 0 24px}.hero h1{font-family:var(--display);letter-spacing:-.035em;max-width:14ch;margin:0;font-size:clamp(40px,6.4vw,76px);font-weight:700;line-height:1.02}.hero p.lede{color:var(--ink-soft);max-width:52ch;margin:24px 0 32px;font-size:clamp(18px,2vw,21px)}.btn{background:var(--tea);color:#fff;border-radius:999px;padding:14px 26px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.btn:hover{background:var(--tea-deep)}.btn.quiet{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--mist);background:0 0;margin-left:10px}.btn.quiet:hover{background:var(--card)}.route{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--mist);margin:56px 0 0;padding:28px 24px 20px}.route svg{width:100%;height:auto;display:block}.route .path{fill:none;stroke:var(--tea);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400px;animation:2.4s ease-out .3s forwards draw}.route .ghost{fill:none;stroke:var(--mist);stroke-width:2.5px;stroke-dasharray:2 10;stroke-linecap:round}.route .stop{fill:var(--card);stroke:var(--tea);stroke-width:3px}.route .stop.home{fill:var(--saffron);stroke:var(--saffron)}.route text{font-family:var(--display);fill:var(--ink);font-size:22px;font-weight:700}.route text.sub{font-family:var(--body);fill:var(--ink-soft);font-size:14px;font-weight:500}@keyframes draw{to{stroke-dashoffset:0}}section.block{padding:88px 0 0}section.block h2{font-family:var(--display);letter-spacing:-.025em;max-width:22ch;margin:0 0 16px;font-size:clamp(30px,3.6vw,42px);font-weight:700;line-height:1.1}section.block p.intro{color:var(--ink-soft);max-width:60ch;margin:0 0 40px}.split{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel{background:var(--card);border:1px solid var(--mist);border-radius:var(--radius-lg);padding:32px}.panel h3{font-family:var(--display);letter-spacing:-.015em;margin:0 0 12px;font-size:24px;font-weight:700}.panel ul{margin:0;padding:0;list-style:none}.panel li{border-top:1px solid var(--mist);color:var(--ink-soft);padding:12px 0}.panel li:first-child{border-top:none;padding-top:4px}.panel li strong{color:var(--ink);font-weight:600;display:block}.connect{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;display:grid}.connect .diagram{background:var(--card);border:1px solid var(--mist);border-radius:var(--radius-lg);padding:28px}.connect .diagram svg{width:100%;height:auto;display:block}.connect .diagram rect{fill:var(--paper);stroke:var(--mist);stroke-width:1.5px}.connect .diagram rect.core{fill:var(--tea);stroke:var(--tea)}.connect .diagram line{stroke:var(--tea);stroke-width:2px}.connect .diagram text{font-family:var(--body);fill:var(--ink);font-size:14px;font-weight:600}.connect .diagram text.on-core{fill:#fff;font-family:var(--display);font-size:17px}.discover{grid-template-columns:1.1fr .9fr;align-items:start;gap:40px;display:grid}.discover p.intro{margin-bottom:28px}.points{max-width:56ch;margin:0;padding:0;list-style:none}.points li{border-top:1px solid var(--mist);color:var(--ink-soft);padding:14px 0}.points li strong{color:var(--ink);font-weight:600;display:block}.search-demo{background:var(--card);border:1px solid var(--mist);border-radius:var(--radius-lg);gap:12px;padding:24px;display:grid}.search-demo .query{background:var(--paper);border:1.5px solid var(--tea);color:var(--ink);border-radius:14px;padding:14px 16px;font-weight:500;line-height:1.45}.search-demo .match{border:1px solid var(--mist);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.search-demo .match strong{color:var(--ink);font-weight:600;display:block}.search-demo .match span{color:var(--ink-soft);font-size:14px}.search-demo .match .dot{background:var(--tea);border-radius:50%;flex:none;width:10px;height:10px;margin-top:8px}.search-demo .match.faded{opacity:.6}.contact{background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);grid-template-columns:1.2fr 1fr;align-items:end;gap:32px;margin-top:88px;padding:56px 48px;display:grid}:root[data-theme=dark] .contact{background:var(--card);color:var(--ink);border:1px solid var(--mist)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .contact{background:var(--card);color:var(--ink);border:1px solid var(--mist)}}.contact h2{font-family:var(--display);letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(30px,3.6vw,42px);font-weight:700;line-height:1.1}.contact p{opacity:.85;max-width:46ch;margin:0}.contact .email{font-family:var(--display);color:var(--saffron);word-break:break-all;font-size:clamp(20px,2.4vw,28px);font-weight:700;text-decoration:none}.contact .email:hover{text-decoration:underline}.contact .note{opacity:.75;margin-top:10px;font-size:15px}footer.site{color:var(--ink-soft);padding:48px 0 40px;font-size:14px}footer.site .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}@media (max-width:820px){nav.primary{gap:18px}.split,.connect,.discover,.contact{grid-template-columns:1fr}.contact{padding:40px 28px}.panel{padding:26px 22px}}@media (max-width:560px){.wrap{padding:0 16px}nav.primary a.hide-sm{display:none}.hero{padding-top:32px}.btn.quiet{margin:12px 0 0}.route{padding:18px 12px 12px}.route text{font-size:40px}.route text.sub{display:none}section.block{padding-top:64px}.contact{margin-top:64px}}
