/* Forma — shared site styles.
   Dark-first, committed (not a light/dark toggle): the same ground the app
   itself uses. One accent — the green from the mark — carries every call
   to action; everything else stays near-monochrome so it doesn't compete. */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Archivo+Expanded:wght@700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#0B0D10; --surface:#14181D; --surface2:#1B2127; --raised:#20272E;
  --hairline:#262E36; --hairline-strong:#333D47;
  --ink:#F0F3F6; --ink2:#9BA7B3; --ink3:#6C7883;
  --accent:#4FCB8D; --accent-ink:#052E1B; --accent-dim:rgba(79,203,141,.14);
  --run:#FF7A6B; --swim:#48C0E8; --tri:#B79CFF; --hybrid:#F0B940; --bike:#5FCB8F;
  --disp:"Archivo Expanded","Archivo",system-ui,sans-serif;
  --head:"Archivo",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --maxw:1080px;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--body); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}

::selection{background:var(--accent); color:var(--accent-ink)}

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:40; backdrop-filter:blur(14px);
  background:rgba(11,13,16,.82); border-bottom:1px solid var(--hairline);
}
.nav .wrap{display:flex; align-items:center; gap:28px; padding:14px 24px}
.brand{display:flex; align-items:center; gap:10px; margin-right:auto; text-decoration:none}
.brand img{width:28px; height:28px; border-radius:7px}
.brand span{font-family:var(--disp); font-weight:800; font-size:19px; letter-spacing:.01em}
.navlinks{display:flex; gap:26px; font-family:var(--mono); font-size:13px; color:var(--ink2)}
.navlinks a{text-decoration:none; transition:color .15s}
.navlinks a:hover{color:var(--ink)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--head);
  font-weight:700; font-size:15px; padding:12px 22px; border-radius:11px;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
}
.btn.primary{background:var(--accent); color:var(--accent-ink)}
.btn.ghost{border-color:var(--hairline-strong); color:var(--ink)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--hairline); margin-top:100px}
footer .wrap{
  padding:36px 24px 56px; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:14px;
}
.footlinks{display:flex; gap:22px; font-family:var(--mono); font-size:13px; color:var(--ink2)}
.footlinks a{text-decoration:none}
.footlinks a:hover{color:var(--ink)}
.footnote{font-family:var(--mono); font-size:12px; color:var(--ink3)}

/* ---------- shared type helpers ---------- */
.eyebrow{
  font-family:var(--mono); font-size:12.5px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--accent); margin:0 0 14px;
}
h1,h2,h3{font-family:var(--head); font-weight:700; text-wrap:balance; margin:0}
