
:root{
  --ink:#0e1a2b; --ink-2:#162a40; --panel:#13243a; --line:#23405c;
  --teal:#19b3a6; --teal-deep:#0f8d83; --amber:#e6a23c; --paper:#eef3f5;
  --paper-2:#dfe8ec; --muted:#8aa2b3; --text:#1a2a3a;
  --mono:"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--paper);line-height:1.6;}
a{color:var(--teal-deep);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono)}

/* header */
header.site{background:var(--ink);color:#cfe0ea;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;height:66px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;letter-spacing:.3px}
.brand .glyph{width:26px;height:26px}
.brand small{display:block;font-weight:400;font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase}
.nav nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.nav nav a{color:#b9cdda;font-size:14px;letter-spacing:.2px}
.nav nav a.active,.nav nav a:hover{color:var(--teal);text-decoration:none}

/* hero */
.hero{position:relative;background:var(--ink);color:#eaf2f7;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .contours{position:absolute;inset:0;opacity:.5;pointer-events:none}
.hero .inner{position:relative;padding:84px 0 76px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--teal)}
.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.05;margin:14px 0 18px;color:#fff;font-weight:700;max-width:18ch}
.hero p.lede{font-size:18px;color:#bcd0dd;max-width:60ch}
.coordbar{display:inline-flex;gap:18px;margin-top:26px;font-family:var(--mono);font-size:12px;color:var(--muted);
  border:1px solid var(--line);border-radius:2px;padding:8px 14px;background:rgba(255,255,255,.02)}
.coordbar b{color:var(--teal);font-weight:500}
.btn{display:inline-block;background:var(--teal);color:#04201d;font-weight:600;padding:11px 20px;border-radius:2px;
  font-size:14px;letter-spacing:.3px}
.btn:hover{background:#21cabb;text-decoration:none}
.btn.ghost{background:transparent;color:var(--teal);border:1px solid var(--teal-deep)}

/* sections */
section{padding:62px 0}
section.alt{background:var(--paper-2)}
h2.section{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--teal-deep);font-family:var(--mono);margin:0 0 6px}
h3.big{font-size:30px;margin:0 0 22px;color:var(--ink-2);font-weight:700;letter-spacing:-.3px}
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--paper-2);border-radius:3px;padding:24px}
.card h4{margin:0 0 8px;font-size:18px;color:var(--ink-2)}
.card .tag{font-family:var(--mono);font-size:11px;color:var(--teal-deep);letter-spacing:2px;text-transform:uppercase}
.card p{margin:8px 0 0;font-size:15px;color:#41566a}

/* people */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.person{background:#fff;border:1px solid var(--paper-2);border-radius:3px;overflow:hidden}
.person .ph{height:140px;background:linear-gradient(135deg,#16314a,#0f8d83);position:relative}
.person .ph .mono{position:absolute;left:12px;bottom:10px;color:rgba(255,255,255,.7);font-size:11px}
.person .body{padding:16px 18px}
.person h4{margin:0;font-size:17px;color:var(--ink-2)}
.person .role{font-size:13px;color:var(--teal-deep);font-family:var(--mono);letter-spacing:.5px}
.person p{font-size:14px;color:#4a5f72;margin:10px 0 0}
.person .handle{font-family:var(--mono);font-size:12px;color:#7c92a4;margin-top:8px}

/* tables / data */
table.data{width:100%;border-collapse:collapse;font-size:14px}
table.data th,table.data td{border-bottom:1px solid var(--paper-2);padding:10px 12px;text-align:left}
table.data th{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--teal-deep)}

/* forum */
.thread{background:#fff;border:1px solid var(--paper-2);border-radius:3px;margin:0 0 14px}
.thread .meta{display:flex;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--paper-2);font-size:13px}
.thread .meta .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#16314a,#0f8d83)}
.thread .meta a{font-family:var(--mono);font-size:13px}
.thread .meta .when{margin-left:auto;color:#9bb0c0;font-size:12px;font-family:var(--mono)}
.thread .post{padding:16px 18px;font-size:15px;color:#3a4f63}
.profilebox{background:#fff;border:1px solid var(--paper-2);border-radius:3px;padding:24px;max-width:560px}
.profilebox .av{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#16314a,#0f8d83);margin-bottom:14px}
.sig{margin-top:18px;padding-top:14px;border-top:1px dashed var(--paper-2);font-family:var(--mono);font-size:12px;color:#7c92a4}

/* notice / internal */
.notice{background:#fff7e6;border:1px solid #f0d399;border-radius:3px;padding:18px 20px;color:#7a5a14;font-size:14px}
.kv{font-family:var(--mono);font-size:13px;background:#0e1a2b;color:#bfe9e3;padding:18px;border-radius:3px;overflow:auto}
.kv .k{color:var(--amber)}

/* footer */
footer.site{background:var(--ink);color:#90a8b8;border-top:1px solid var(--line);padding:40px 0;font-size:13px}
footer.site .cols{display:flex;gap:60px;flex-wrap:wrap}
footer.site a{color:#9fc7d4}
footer.site .fine{margin-top:26px;color:#5f7686;font-family:var(--mono);font-size:11px}

@media(max-width:760px){
  .g3,.g2,.people{grid-template-columns:1fr}
  .nav{height:auto;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0}
  .nav nav{margin-left:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
