/* NorthType — site.css (chrome + stream). Uses tokens.css. Dark-first. */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  background:var(--nt-bg);color:var(--nt-ink-2);
  font-family:var(--nt-font-body);font-size:var(--nt-fs-16);line-height:1.65;
}
a{color:var(--nt-ink);text-decoration:none}
a:hover{color:var(--nt-silcrow)}

.page{max-width:760px;margin:0 auto;padding:0 var(--nt-space-5);
  min-height:100vh;display:flex;flex-direction:column}

.staging-banner{
  font-family:var(--nt-font-mono);font-size:var(--nt-fs-11);
  letter-spacing:.1em;color:var(--nt-faint);text-align:center;
  padding:var(--nt-space-2);border-bottom:1px solid var(--nt-hairline);
  margin:0 calc(var(--nt-space-5)*-1) var(--nt-space-5);
}

/* header */
.site-head{display:flex;align-items:center;justify-content:space-between;
  padding:var(--nt-space-6) 0;border-bottom:1px solid var(--nt-hairline)}
.site-head__brand{display:inline-flex;align-items:center;gap:var(--nt-space-3)}
.site-head__mark{font-family:var(--nt-font-display);font-weight:600;
  font-size:var(--nt-fs-25);color:var(--nt-silcrow)}
.site-head__wordmark{font-family:var(--nt-font-display);font-weight:500;
  font-size:var(--nt-fs-20);letter-spacing:var(--nt-tracking-display);color:var(--nt-ink)}
.site-head__nav{display:flex;gap:var(--nt-space-5);
  font-family:var(--nt-font-mono);font-size:var(--nt-fs-14)}
.site-head__nav a{color:var(--nt-muted)}
.site-head__nav a:hover{color:var(--nt-ink)}

main{flex:1;padding:var(--nt-space-8) 0}

/* stream index */
.stream-head{margin-bottom:var(--nt-space-8)}
.stream-head h1{font-family:var(--nt-font-display);font-weight:600;
  font-size:var(--nt-fs-39);letter-spacing:var(--nt-tracking-display);
  color:var(--nt-ink);margin-bottom:var(--nt-space-3)}
.stream-lede{font-size:var(--nt-fs-20);color:var(--nt-muted);max-width:52ch}
.crumb{font-family:var(--nt-font-mono);font-size:var(--nt-fs-12);
  letter-spacing:.06em;text-transform:uppercase;color:var(--nt-faint);
  margin-bottom:var(--nt-space-3)}

.stream-day{font-family:var(--nt-font-mono);font-size:var(--nt-fs-12);
  letter-spacing:.08em;text-transform:uppercase;color:var(--nt-faint);
  margin:var(--nt-space-7) 0 var(--nt-space-3);padding-bottom:var(--nt-space-2);
  border-bottom:1px solid var(--nt-hairline)}
.stream-day--draft{color:var(--nt-warn)}
.stream-list{list-style:none}
.stream-item{padding:var(--nt-space-4) 0;border-bottom:1px solid var(--nt-hairline)}
.stream-item__flag{display:inline-block;font-family:var(--nt-font-mono);
  font-size:var(--nt-fs-11);letter-spacing:.08em;text-transform:uppercase;
  color:var(--nt-warn);margin-bottom:var(--nt-space-1)}
.stream-item__title{display:block;font-family:var(--nt-font-display);
  font-weight:500;font-size:var(--nt-fs-20);color:var(--nt-ink);line-height:1.3}
.stream-item__title:hover{color:var(--nt-silcrow)}
.stream-item__excerpt{color:var(--nt-muted);font-size:var(--nt-fs-16);
  margin-top:var(--nt-space-1)}
.stream-more{margin-top:var(--nt-space-6);font-family:var(--nt-font-mono);
  font-size:var(--nt-fs-14)}
.stream-empty{color:var(--nt-faint);font-style:italic}

/* entry */
.entry-head{margin-bottom:var(--nt-space-6);padding-bottom:var(--nt-space-5);
  border-bottom:1px solid var(--nt-hairline)}
.entry-kicker{font-family:var(--nt-font-mono);font-size:var(--nt-fs-12);
  letter-spacing:.08em;text-transform:uppercase;color:var(--nt-faint);
  margin-bottom:var(--nt-space-2)}
.entry-flag{color:var(--nt-warn)}
.entry-title{font-family:var(--nt-font-display);font-weight:600;
  font-size:var(--nt-fs-31);letter-spacing:var(--nt-tracking-display);
  color:var(--nt-ink);line-height:1.15;margin-bottom:var(--nt-space-3)}
.entry-source{font-size:var(--nt-fs-14);color:var(--nt-muted)}
.entry-body{font-size:var(--nt-fs-16);color:var(--nt-ink-2)}
.entry-body p{margin:var(--nt-space-4) 0}
.entry-body a{color:var(--nt-ink);border-bottom:1px solid var(--nt-hairline-2)}
.entry-foot{margin-top:var(--nt-space-7);padding-top:var(--nt-space-4);
  border-top:1px solid var(--nt-hairline);font-family:var(--nt-font-mono);
  font-size:var(--nt-fs-14)}

/* footer */
.site-foot{display:flex;align-items:center;gap:var(--nt-space-3);
  padding:var(--nt-space-6) 0;margin-top:var(--nt-space-8);
  border-top:1px solid var(--nt-hairline);
  font-family:var(--nt-font-mono);font-size:var(--nt-fs-11);
  letter-spacing:.06em;color:var(--nt-faint)}
.site-foot__mark{color:var(--nt-silcrow);font-size:var(--nt-fs-14)}


/* ---------- homepage ---------- */
.home-hero{text-align:center;padding:var(--nt-space-8) 0 var(--nt-space-7)}
.home-marks{font-family:var(--nt-font-mono);font-size:var(--nt-fs-14);
  letter-spacing:.5em;color:var(--nt-faint);padding-left:.5em;margin-bottom:var(--nt-space-6)}
.home-marks .house{color:var(--nt-silcrow)}
.home-lockup{display:flex;flex-direction:column;align-items:center;gap:var(--nt-space-2);margin-bottom:var(--nt-space-5)}
.home-tile{display:block;width:clamp(150px,26vw,200px);line-height:0;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.45)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.home-tile svg{display:block;width:100%;height:auto}
.home-word{font-family:var(--nt-font-display);font-weight:500;
  font-size:clamp(28px,5vw,39px);letter-spacing:var(--nt-tracking-display);color:var(--nt-ink)}
.home-tagline{font-size:var(--nt-fs-20);color:var(--nt-muted);margin-bottom:var(--nt-space-4)}
.home-thesis{max-width:52ch;margin:0 auto;color:var(--nt-ink-2)}
.home-thesis .firewall{color:var(--nt-ink);font-weight:500}

.home-sec{font-family:var(--nt-font-mono);font-size:var(--nt-fs-12);
  letter-spacing:.08em;text-transform:uppercase;color:var(--nt-faint);
  margin:var(--nt-space-7) 0 var(--nt-space-4);padding-bottom:var(--nt-space-2);
  border-bottom:1px solid var(--nt-hairline)}
.home-postlist{list-style:none}
.home-post{padding:var(--nt-space-4) 0;border-bottom:1px solid var(--nt-hairline)}
.home-post__title{display:block;font-family:var(--nt-font-display);font-weight:500;
  font-size:var(--nt-fs-20);color:var(--nt-ink);line-height:1.3}
.home-post__title:hover{color:var(--nt-silcrow)}
.home-post__excerpt{color:var(--nt-muted);margin-top:var(--nt-space-1)}
.home-more,.home-products__note{margin-top:var(--nt-space-4);
  font-family:var(--nt-font-mono);font-size:var(--nt-fs-14);color:var(--nt-muted)}
.home-products__note a,.home-more a{color:var(--nt-ink)}

/* ---------- standalone pages (products / about) ---------- */
.page-body{padding:var(--nt-space-6) 0}
.page-title{font-family:var(--nt-font-display);font-weight:600;
  font-size:var(--nt-fs-39);letter-spacing:var(--nt-tracking-display);
  color:var(--nt-ink);margin-bottom:var(--nt-space-4)}
.page-lede{font-size:var(--nt-fs-20);color:var(--nt-muted);max-width:56ch;margin-bottom:var(--nt-space-6)}
.prose{max-width:60ch}
.prose p{margin:var(--nt-space-4) 0;color:var(--nt-ink-2)}
.prose a{color:var(--nt-ink);border-bottom:1px solid var(--nt-hairline-2)}
.prose em{color:var(--nt-ink);font-style:italic}

/* products "coming" card */
.coming-card{display:flex;gap:var(--nt-space-5);align-items:flex-start;
  background:var(--nt-surface);border:1px solid var(--nt-hairline);
  border-radius:var(--nt-radius-lg);padding:var(--nt-space-6);max-width:60ch}
.coming-mark{font-family:var(--nt-font-display);font-weight:600;
  font-size:var(--nt-fs-49);line-height:1;color:var(--nt-silcrow)}
.coming-status{display:inline-block;font-family:var(--nt-font-mono);
  font-size:var(--nt-fs-11);letter-spacing:.08em;text-transform:uppercase;
  color:var(--nt-warn);border:1px solid var(--nt-hairline-2);
  border-radius:var(--nt-radius-pill);padding:2px var(--nt-space-3);margin-bottom:var(--nt-space-3)}
.coming-body p{margin:var(--nt-space-3) 0;color:var(--nt-ink-2)}
.coming-note{color:var(--nt-muted);font-size:var(--nt-fs-14)}
.coming-body a{color:var(--nt-ink);border-bottom:1px solid var(--nt-hairline-2)}
