@font-face { font-family: Plex; src: url('assets/plex-sans-regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Plex; src: url('assets/plex-sans-semibold.ttf') format('truetype'); font-weight: 600; font-display: swap; }
:root { color-scheme: dark; --bg:#0a0a0a; --panel:#141414; --line:#313131; --text:#fff; --muted:#a7a7a7; --accent:#6798ff; }
* { box-sizing:border-box; }
html { scroll-padding-top:2rem; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Plex,'Segoe UI',sans-serif; font-size:1rem; line-height:1.6; }
a { color:inherit; text-underline-offset:.25em; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
a:active { opacity:.75; }
.wrap { width:min(100% - 3rem,1200px); margin-inline:auto; }
.masthead { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.3rem; border-bottom:1px solid var(--line); }
.wordmark { font-size:1.85rem; font-weight:600; letter-spacing:-.07em; text-decoration:none; }
.wordmark span,.accent { color:var(--accent); }
.masthead .wordmark { display:inline-flex; align-items:center; min-height:44px; }
nav { display:flex; gap:1.3rem; }
nav a { display:flex; align-items:center; min-height:44px; color:var(--muted); text-decoration:none; font-size:.9rem; }
nav a:hover { color:var(--text); }
.skip { position:absolute; top:-10rem; left:1rem; z-index:5; background:white; color:#0a0a0a; padding:1rem; }
.skip:focus { top:1rem; }
.hero { display:grid; gap:3.5rem; padding-block:3.5rem 3rem; }
.eyebrow { margin:0 0 1.4rem; font-size:.875rem; color:var(--muted); }
h1,h2,h3,p,figure { margin-top:0; }
h1 { font-size:clamp(2.7rem,5.3vw,4.65rem); line-height:1.06; letter-spacing:-.055em; font-weight:600; margin-bottom:1.6rem; }
h1 span { color:var(--accent); }
.lead { font-size:1.0625rem; max-width:29rem; color:var(--muted); line-height:1.75; margin-bottom:1.9rem; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:1.5rem; min-height:48px; padding:.75rem 1rem; background:#fff; color:#0a0a0a; border-radius:8px; text-decoration:none; font-size:.9375rem; font-weight:600; }
.button:hover { background:#d9e5ff; }
.button span { font-size:1.3rem; font-weight:400; }
.market-panel { margin:0; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:1.5rem 1.25rem .5rem; align-self:center; }
.figure-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; color:var(--muted); font-size:.8125rem; padding-bottom:1.25rem; }
.snapshot { color:#c3c3c3; }
.market-panel h2 { font-size:1rem; font-weight:400; margin-bottom:.6rem; }
.market-value { font-size:clamp(2rem,4vw,2.8rem); letter-spacing:-.04em; font-variant-numeric:tabular-nums; line-height:1.2; }
.market-value span { font-size:.875rem; color:var(--muted); letter-spacing:0; }
.market-date { margin:.4rem 0 0; font-size:.8125rem; color:var(--muted); }
.chart { display:block; width:100%; height:auto; margin:.4rem 0 1rem; overflow:visible; }
.chart-grid { stroke:#454545; stroke-width:1; fill:none; }
.chart-label { fill:#a7a7a7; font:14px Plex,'Segoe UI',sans-serif; }
.price-line { fill:none; stroke:var(--accent); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
figcaption { font-size:.8125rem; color:var(--muted); line-height:1.55; }
.data-link { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-top:.8rem; border-top:1px solid var(--line); font-size:.8125rem; text-decoration:none; }
.data-link:hover { color:var(--accent); }
.data-link span { color:var(--muted); font-size:.75rem; }
.scope { display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1.5rem; padding-block:1.5rem; border-block:1px solid var(--line); color:var(--muted); font-size:.875rem; }
.section { padding-block:4rem; }
.approach { display:grid; gap:2rem; }
.section-intro h2,.contact h2 { font-size:clamp(2.2rem,3.3vw,3.1rem); line-height:1.15; letter-spacing:-.04em; margin-bottom:1.4rem; }
.section-intro>p:not(.eyebrow) { color:var(--muted); max-width:22rem; }
.principles article { display:grid; grid-template-columns:2rem 1fr; gap:1rem; padding-block:1.6rem; border-bottom:1px solid var(--line); }
.principles article:first-child { padding-top:0; }
.principles article:last-child { border-bottom:0; padding-bottom:0; }
.index { font-size:.8125rem; color:var(--muted); font-variant-numeric:tabular-nums; padding-top:.2rem; }
h3 { font-size:1.125rem; font-weight:600; letter-spacing:-.01em; margin-bottom:.6rem; }
.principles p { color:var(--muted); margin:0; font-size:.9375rem; }
.platform-band { background:var(--panel); border-block:1px solid var(--line); }
.platform { display:grid; gap:2rem; }
.text-link { display:inline-flex; align-items:center; gap:1rem; min-height:44px; font-size:.9375rem; }
.text-link:hover,.email-link:hover { color:var(--accent); }
.platform-note { font-size:1.35rem; letter-spacing:-.025em; max-width:30rem; margin-bottom:1.8rem; }
.capabilities { margin:0 0 1.4rem; }
.capabilities>div { display:grid; gap:.2rem; padding-block:1rem; border-top:1px solid var(--line); }
dt { font-size:.9375rem; }
dd { margin:0; font-size:.9375rem; color:var(--muted); }
.fineprint { color:var(--muted); font-size:.8125rem; line-height:1.65; }
.contact { display:grid; gap:1rem; }
.contact-copy { align-self:center; }
.contact-copy>p:first-child { max-width:25rem; color:var(--muted); }
.email-link { display:inline-flex; align-items:center; gap:1rem; min-height:48px; font-size:clamp(1.1rem,2.5vw,1.8rem); letter-spacing:-.03em; text-decoration:none; border-bottom:1px solid #a7a7a7; overflow-wrap:anywhere; }
.contact-copy .fineprint { margin-top:.8rem; }
footer { border-top:1px solid var(--line); padding-top:2rem; }
.footer-brand { display:flex; flex-wrap:wrap; align-items:baseline; gap:.75rem 2rem; margin-bottom:1.4rem; }
.footer-brand>span:last-child { font-size:.875rem; color:var(--muted); }
footer>p { max-width:47rem; color:var(--muted); font-size:.8125rem; }
.footer-bottom { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; padding-block:1rem; color:var(--muted); font-size:.8125rem; }
.footer-bottom a { display:flex; min-height:44px; align-items:center; margin-left:auto; text-decoration:none; }
.footer-bottom a:hover { color:white; }
@media(min-width:720px) {
  .wrap { width:min(100% - 5rem,1200px); }
  .hero { grid-template-columns:1fr 1fr; gap:2.5rem; padding-block:5rem 4rem; }
  .hero-copy { min-width:0; }
  .market-panel { min-width:0; padding:1.5rem 1.5rem .5rem; }
  .scope { display:flex; justify-content:space-between; gap:1rem; }
  .section { padding-block:5.5rem; }
  .approach,.platform,.contact { grid-template-columns:.9fr 1.1fr; gap:5rem; }
}
@media(min-width:1100px) { .hero { gap:5rem; } nav { gap:2.25rem; } .capabilities>div { grid-template-columns:10rem 1fr; gap:1.25rem; } }
@media(max-width:390px) { .wrap { width:calc(100% - 2rem); } .masthead { gap:.25rem; } nav { width:100%; justify-content:space-between; } .scope { font-size:.8125rem; } }
@media(prefers-reduced-motion:no-preference) { a { transition:color .15s,background-color .15s; } }
