:root{
  --ground:#F6F9F8; --surface:#FFFFFF; --sunken:#EDF3F1;
  --ink:#111C1A; --ink-soft:#3A4D49; --muted:#6B7E7A;
  --line:#D4E0DC; --line-strong:#B4C6C1;
  --trace:#0C6355; --trace-soft:#DCEDE8;
}
@media (prefers-color-scheme:dark){
  :root{
    --ground:#0A1211; --surface:#111C1A; --sunken:#16221F;
    --ink:#E6EFEC; --ink-soft:#B6C6C2; --muted:#7E918D;
    --line:#22322E; --line-strong:#33453F;
    --trace:#4FC4AB; --trace-soft:#152B27;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--ground); color:var(--ink); margin:0;
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
  display:flex; flex-direction:column; min-height:100vh;
}
.wrap{width:100%; max-width:660px; margin:0 auto; padding:0 26px; flex:1;
  display:flex; flex-direction:column; justify-content:center}

/* header */
.brandbar{display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:26px 0 0; max-width:660px; margin:0 auto; width:100%;
  padding-left:26px; padding-right:26px}
.lockup{display:flex; align-items:center; gap:10px; text-decoration:none}
.lockup svg{display:block; flex:none}
.lockup svg path{fill:none; stroke:var(--trace); stroke-width:4;
  stroke-linecap:round; stroke-linejoin:round}
.wordmark{font-family:Archivo,sans-serif; font-weight:600; font-size:21px;
  letter-spacing:-.026em; color:var(--ink); line-height:1}
.langs{font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:.06em}
.langs a{color:var(--muted); text-decoration:none; padding:3px 5px}
.langs a[aria-current="true"]{color:var(--trace); font-weight:500}
.langs a:hover{color:var(--ink)}
.langs span{color:var(--line-strong)}

/* hero */
main{padding:52px 0 60px}
h1{font-family:Archivo,sans-serif; font-weight:700;
  font-size:clamp(30px,5.6vw,44px); line-height:1.08; letter-spacing:-.026em;
  margin:0 0 20px; text-wrap:balance}
.lede{font-size:18.5px; color:var(--ink-soft); margin:0 0 26px; max-width:56ch}
.stance{border-left:3px solid var(--trace); padding:3px 0 3px 18px;
  margin:0 0 30px; font-size:16.5px; color:var(--ink); max-width:56ch}
.stance strong{font-weight:600}

/* what */
.what{border:1px solid var(--line); border-radius:3px; background:var(--surface);
  padding:0; margin:0 0 30px; overflow:hidden}
.what dl{margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.what .cell{padding:15px 18px; border-right:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.what .cell:nth-last-child(-n+1){border-bottom:0}
.what dt{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.11em;
  text-transform:uppercase; color:var(--trace); margin:0 0 5px}
.what dd{margin:0; font-size:15px; color:var(--ink-soft); line-height:1.5}

/* cta */
.cta{background:var(--sunken); border:1px solid var(--line-strong);
  border-radius:3px; padding:22px 24px; margin:0 0 8px}
.cta h2{font-family:Archivo,sans-serif; font-weight:600; font-size:18px;
  letter-spacing:-.012em; margin:0 0 7px}
.cta p{margin:0 0 16px; font-size:15.5px; color:var(--ink-soft)}
.btn{display:inline-flex; align-items:center; gap:9px;
  background:var(--trace); color:var(--ground); text-decoration:none;
  font-family:Archivo,sans-serif; font-weight:600; font-size:15.5px;
  padding:12px 20px; border-radius:3px; letter-spacing:-.006em;
  transition:opacity .15s ease}
.btn:hover{opacity:.86}
.btn svg{display:block}

/* chromatogram */
.chroma{display:block; width:100%; height:52px; margin:34px 0 0; overflow:visible}
.chroma path{fill:none; stroke:var(--trace); stroke-width:1.5;
  stroke-linejoin:round; opacity:.55}
.chroma .base{stroke:var(--line-strong); stroke-width:1; opacity:1}

/* footer */
footer{border-top:1px solid var(--line); margin-top:auto}
.finner{max-width:660px; margin:0 auto; padding:20px 26px 32px;
  font-size:13px; color:var(--muted); line-height:1.6}
.finner p{margin:0 0 7px}
.finner a{color:var(--muted)}
.ruo{font-family:"IBM Plex Mono",monospace; font-size:11.5px; letter-spacing:.02em}
:focus-visible{outline:2px solid var(--trace); outline-offset:3px}
@media (max-width:560px){
  body{font-size:16px}
  main{padding:36px 0 44px}
  .what .cell{border-right:0}
}
