/* Decide / Act — shared styles for sub-pages */
:root{
  --bg:#0c0b09;
  --bg-2:#131210;
  --bg-3:#1b1914;
  --ink:#ece5d3;
  --ink-soft:#c7bfae;
  --muted:#8a8173;
  --dim:#3f3a31;
  --accent:#e85a2d;
  --rule:#2e2a23;
  --rule-strong:#4a4338;
  --hair:#23201b;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink-soft);
  font-family:"Newsreader", Georgia, serif;
  font-size:18px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-variation-settings:"opsz" 18;
  overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0;
  pointer-events:none; z-index:200; opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/></svg>");
}
.ambient{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse 90% 50% at 80% -10%, rgba(232,90,45,.08), transparent 60%);
}
a{color:var(--accent); text-decoration:none;}
a:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
::selection{background:var(--accent); color:var(--bg);}

/* header */
header.site{
  position:fixed; top:0; left:0; right:0; z-index:90;
  background:linear-gradient(to bottom, rgba(12,11,9,.94), rgba(12,11,9,.78) 70%, transparent);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
}
header.site.scrolled{background:rgba(12,11,9,.96); border-bottom-color:var(--rule);}
header.site .bar{
  max-width:1280px; margin:0 auto;
  padding:18px 28px;
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:36px;
}
.logo{
  display:flex; align-items:center; gap:12px;
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink); font-weight:500;
}
.logo .mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px;
  border:1px solid var(--accent); color:var(--accent);
  font-family:"Instrument Serif", Georgia, serif;
  font-style:italic; font-size:18px; transform:translateY(-1px);
}
.logo .org{color:var(--muted); margin-left:6px;}
.logo .org::before{content:"//"; color:var(--accent); margin-right:6px;}
nav.primary{
  display:flex; gap:30px; justify-content:center;
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
}
nav.primary a{color:var(--muted); padding:6px 0; transition:color .2s;}
nav.primary a:hover, nav.primary a.active{color:var(--ink);}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:11px 18px;
  background:var(--accent); color:var(--bg);
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  font-weight:500;
  border:1px solid var(--accent);
  transition:background .2s, color .2s;
  cursor:pointer;
}
.btn:hover{background:transparent; color:var(--accent);}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--rule-strong);}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent);}
@media (max-width:980px){
  header.site .bar{grid-template-columns:auto auto; gap:16px;}
  nav.primary{display:none;}
}

/* page */
.page{position:relative; z-index:1;}
section{padding:96px 28px; position:relative;}
.container{max-width:960px; margin:0 auto;}

/* sub-hero */
.subhero{
  padding-top:160px; padding-bottom:72px;
  border-bottom:1px solid var(--rule);
}
.subhero .crumbs{
  font-family:"JetBrains Mono", monospace;
  font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted);
  margin-bottom:28px;
}
.subhero .crumbs a{color:var(--accent);}
.subhero h1{
  font-family:"Instrument Serif", Georgia, serif;
  font-weight:400;
  font-size:clamp(56px, 9vw, 140px);
  line-height:.92; letter-spacing:-.025em;
  color:var(--ink); margin-bottom:28px;
}
.subhero h1 em{color:var(--accent); font-style:italic;}
.subhero .kicker{
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); margin-bottom:22px;
}
.subhero p.lede{
  font-family:"Instrument Serif", Georgia, serif;
  font-size:clamp(22px, 2.4vw, 30px);
  line-height:1.3; color:var(--ink);
  max-width:760px;
}
.subhero p.lede em{color:var(--accent); font-style:italic;}

/* prose */
.prose{max-width:760px;}
.prose p{font-size:19px; line-height:1.65; margin-bottom:18px; color:var(--ink-soft);}
.prose p strong{color:var(--ink); font-weight:500;}
.prose p em{color:var(--ink); font-style:italic;}
.prose h2{
  font-family:"Instrument Serif", Georgia, serif;
  font-weight:400;
  font-size:clamp(32px, 4vw, 48px);
  line-height:1.05; letter-spacing:-.01em;
  color:var(--ink); margin:72px 0 18px;
}
.prose h2 em{color:var(--accent); font-style:italic;}
.prose h2 .num{
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.22em; color:var(--accent);
  display:block; margin-bottom:8px;
}
.prose h3{
  font-family:"Instrument Serif", Georgia, serif;
  font-weight:400; font-size:26px;
  color:var(--ink); margin:36px 0 10px;
}
.prose blockquote{
  margin:28px 0;
  padding:4px 0 4px 24px;
  border-left:2px solid var(--accent);
  font-family:"Instrument Serif", Georgia, serif;
  font-size:22px; line-height:1.35;
  color:var(--ink); font-style:italic;
}

/* term list */
.terms{
  border-top:1px solid var(--rule);
  margin:32px 0;
}
.term{
  display:grid; grid-template-columns:200px 1fr;
  gap:28px; padding:20px 0;
  border-bottom:1px solid var(--rule);
  align-items:baseline;
}
.term .k{
  font-family:"Instrument Serif", Georgia, serif;
  font-style:italic; font-size:22px;
  color:var(--accent);
}
.term .v{font-size:16.5px; line-height:1.55; color:var(--ink-soft);}
@media (max-width:720px){.term{grid-template-columns:1fr; gap:6px;}}

/* cta footer band */
.cta-band{
  background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(232,90,45,.10), transparent 65%), var(--bg-2);
  border-top:1px solid var(--rule);
  padding:96px 28px;
  text-align:center;
}
.cta-band h3{
  font-family:"Instrument Serif", Georgia, serif;
  font-weight:400;
  font-size:clamp(36px, 5vw, 64px);
  line-height:1; color:var(--ink);
  margin-bottom:20px;
  letter-spacing:-.01em;
}
.cta-band h3 em{color:var(--accent); font-style:italic;}
.cta-band p{max-width:560px; margin:0 auto 28px; color:var(--ink-soft);}
.cta-band .actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* footer */
footer.site{
  background:var(--bg);
  padding:56px 28px 40px;
  border-top:1px solid var(--rule);
  text-align:center;
}
footer.site .inner{
  max-width:1180px; margin:0 auto;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
  font-family:"JetBrains Mono", monospace;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted);
}
footer.site .x{color:var(--accent);}
footer.site a{color:var(--ink-soft);}
footer.site a:hover{color:var(--accent);}

/* reveal */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
  .reveal{opacity:1; transform:none;}
}
