:root{
  --ink:#111720; --muted:#5b6470; --line:#e4e8ee; --bg:#f6f7f9;
  --card:#ffffff; --brand:#0b5c4f; --brand-d:#084a40; --accent:#b3221f;
  --hi:#b3221f; --hi-bg:#fbe7e6; --med:#a96604; --med-bg:#fbeecf;
  --low:#3a6ea5; --low-bg:#e7eef7; --boiler:#7c828d; --boiler-bg:#eceef1;
  --ink-panel:#0f1722;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}

/* nav */
.nav{position:sticky; top:0; z-index:50; background:var(--ink-panel); border-bottom:3px solid var(--brand)}
.nav-inner{max-width:880px; margin:0 auto; padding:0 20px; display:flex; align-items:center;
  justify-content:space-between; min-height:58px; flex-wrap:wrap; gap:6px}
.brand{color:#fff; font-weight:800; font-size:18px; letter-spacing:-.01em}
.brand:hover{text-decoration:none; color:#fff}
.nav-links{display:flex; gap:18px; flex-wrap:wrap}
.nav-links a{color:#c7cdd6; font-size:13.5px; font-weight:600; padding:4px 0}
.nav-links a:hover{color:#fff; text-decoration:none}
.nav-links a.active{color:#fff; border-bottom:2px solid var(--brand)}

.wrap{max-width:760px; margin:0 auto; padding:30px 20px 50px}

/* generic headings */
h1{font-size:32px; line-height:1.16; margin:0 0 10px; letter-spacing:-.02em}
.lede{color:var(--muted); font-size:16px; margin:0 0 8px; max-width:60ch}
.kicker{text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:800;
  color:var(--brand); margin:0 0 10px}
.sec-label{font-size:13px; text-transform:uppercase; letter-spacing:.1em; margin:42px 0 4px;
  padding-bottom:8px; border-bottom:2px solid var(--ink)}
.sec-label.boiler-label{color:var(--boiler); border-bottom-color:var(--boiler)}
.sec-note{font-size:13.5px; color:var(--muted); margin:0 0 18px}

/* ---------- landing ---------- */
.hero{padding:24px 0 6px}
.hero h1{font-size:38px; line-height:1.1}
.hero .lede{font-size:17.5px; margin-bottom:18px}
.promise-tag{display:inline-block; background:var(--hi-bg); color:var(--hi);
  font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px; margin-bottom:16px}

.preview{margin:8px 0 0}
.preview h2{font-size:13px; text-transform:uppercase; letter-spacing:.1em; margin:0 0 4px}
.mini{display:flex; gap:12px; align-items:flex-start; background:var(--card);
  border:1px solid var(--line); border-radius:10px; padding:13px 15px; margin:0 0 10px}
.mini .mtick{font-weight:800; font-size:14px; min-width:78px}
.mini .mwhy{font-size:13.5px; color:#2c333d; flex:1}
.mini .mco{display:block; font-size:12px; color:var(--muted); font-weight:500}

.badge{font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:3px 9px; border-radius:999px; white-space:nowrap; align-self:flex-start}
.sev-high{background:var(--hi-bg); color:var(--hi)}
.sev-med{background:var(--med-bg); color:var(--med)}
.sev-low{background:var(--low-bg); color:var(--low)}
.sev-boiler{background:var(--boiler-bg); color:var(--boiler)}

.split{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:14px 0 0}
.tier{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px}
.tier.paid{border-color:var(--brand); border-width:2px}
.tier h3{margin:0 0 4px; font-size:16px}
.tier .price{font-size:13px; color:var(--muted); margin:0 0 10px}
.tier ul{margin:0; padding-left:18px; font-size:13.5px}
.tier li{margin:0 0 6px}

/* waitlist */
.waitlist{margin:30px 0 0; padding:24px; background:var(--ink-panel); color:#e7ecf2; border-radius:14px}
.waitlist h2{color:#fff; font-size:20px; margin:0 0 6px; text-transform:none; letter-spacing:0; border:0; padding:0}
.waitlist p{font-size:14px; opacity:.9; margin:0 0 14px}
.wl-form{display:flex; gap:10px; flex-wrap:wrap}
.wl-form input[type=email]{flex:1; min-width:200px; padding:12px 14px; border-radius:9px;
  border:1px solid #2a3340; background:#1b2531; color:#fff; font-size:15px}
.wl-form input[type=email]::placeholder{color:#8b95a3}
.wl-form button{padding:12px 20px; border:0; border-radius:9px; background:var(--brand);
  color:#fff; font-weight:700; font-size:15px; cursor:pointer}
.wl-form button:hover{background:#0d6e5e}
.wl-confirm{margin:12px 0 0; font-size:14px; font-weight:600; color:#7ee0c6; display:none}
.wl-confirm.show{display:block}
.wl-note{font-size:12px; opacity:.7; margin-top:10px}

.links-row{margin:26px 0 0; font-size:14px}
.links-row a{margin-right:18px; font-weight:600}

/* ---------- issue / cards ---------- */
.issue-head{border-bottom:3px solid var(--ink); padding:6px 0 20px; margin-bottom:6px}
.issue-meta{margin:16px 0 0; padding:13px 15px; background:var(--card); border:1px solid var(--line);
  border-radius:10px; font-size:13px; color:var(--muted); display:flex; gap:18px; flex-wrap:wrap}
.issue-meta b{color:var(--ink)}

.card{background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:17px 19px; margin:0 0 14px; box-shadow:0 1px 2px rgba(17,23,32,.04)}
.card.boiler{background:#fbfbfc; border-style:dashed}
.card-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap}
.co{font-weight:700; font-size:16.5px}
.ticker{color:var(--muted); font-weight:500; font-size:14px}
.meta-line{display:flex; gap:16px; flex-wrap:wrap; font-size:12.5px; color:var(--muted); margin:8px 0 0}
.meta-line b{color:var(--ink); font-weight:600}
.tell{margin:12px 0 0; font-size:14px; font-weight:600; color:var(--accent)}
.quote{margin:12px 0 0; padding:11px 14px; background:#f8f9fb; border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0; font-size:14px; color:#2a2f38; font-style:italic}
.quote .qcat{display:block; margin-top:7px; font-style:normal; font-size:11.5px; color:var(--brand);
  text-transform:uppercase; letter-spacing:.05em; font-weight:700}
.field{margin:12px 0 0}
.field .flabel{display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em;
  font-weight:800; color:var(--muted); margin-bottom:2px}
.field p{margin:0; font-size:14px}
.boiler-note{margin:10px 0 0; font-size:13.5px; color:#3a4049}
.conf-fine{margin:6px 0 0; font-size:12.5px; color:var(--muted)}
.src{display:inline-block; margin:13px 0 0; font-size:13px; font-weight:700}

.takeaway{margin:26px 0 0; padding:18px 20px; background:var(--ink-panel); color:#e7ecf2;
  border-radius:12px; font-size:14px; line-height:1.6}
.takeaway b{color:#fff}
.cta-band{margin:22px 0 0; padding:22px; text-align:center; background:var(--brand); color:#fff; border-radius:14px}
.cta-band .cta-big{font-size:18px; font-weight:700; margin:0 0 6px}
.cta-band .cta-sm{font-size:14px; opacity:.94; margin:0}
.cta-band a{color:#fff; text-decoration:underline}

.archive-list{list-style:none; padding:0; margin:18px 0 0}
.archive-list li{background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:13px 16px; margin:0 0 10px; font-size:15px}

/* methodology / pricing prose */
.prose h2{font-size:15px; text-transform:uppercase; letter-spacing:.08em; margin:32px 0 8px;
  padding-bottom:6px; border-bottom:2px solid var(--ink)}
.prose h3{font-size:15px; margin:20px 0 4px}
.prose p, .prose li{font-size:14.5px}
.prose ul{padding-left:20px}
.prose li{margin:0 0 6px}
.signal-table{width:100%; border-collapse:collapse; margin:14px 0; font-size:13.5px}
.signal-table th,.signal-table td{text-align:left; padding:9px 11px; border-bottom:1px solid var(--line); vertical-align:top}
.signal-table th{background:var(--card); font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted)}
.compliance{margin:26px 0 0; padding:18px 20px; background:#fff7ed; border:1px solid #f4d9b0;
  border-left:4px solid var(--med); border-radius:10px; font-size:14px}
.compliance b{color:var(--ink)}

/* pricing cards full */
.pricing-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0 0}
.pcard{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:24px}
.pcard.featured{border:2px solid var(--brand)}
.pcard h2{font-size:20px; margin:0; border:0; padding:0; text-transform:none; letter-spacing:0}
.pcard .amt{font-size:30px; font-weight:800; margin:6px 0 2px}
.pcard .amt span{font-size:14px; font-weight:500; color:var(--muted)}
.pcard .who{font-size:13px; color:var(--muted); margin:0 0 14px}
.pcard ul{list-style:none; padding:0; margin:0}
.pcard li{padding:7px 0 7px 24px; position:relative; font-size:14px; border-top:1px solid var(--line)}
.pcard li:first-child{border-top:0}
.pcard li:before{content:"\2713"; position:absolute; left:0; color:var(--brand); font-weight:800}
.pcard .pcta{display:inline-block; margin-top:16px; padding:11px 18px; border-radius:9px;
  background:var(--brand); color:#fff; font-weight:700; font-size:14px}
.pcard .pcta:hover{text-decoration:none; background:#0d6e5e}
.pcard.free .pcta{background:#e7ecf2; color:var(--ink)}

.site-footer{max-width:760px; margin:0 auto; padding:24px 20px 50px; border-top:1px solid var(--line)}
.site-footer p{font-size:13px; color:var(--muted); margin:0 0 8px}
.site-footer .fine{font-size:11.5px}

@media (max-width:620px){
  h1{font-size:27px}
  .hero h1{font-size:30px}
  .split,.pricing-grid{grid-template-columns:1fr}
  .nav-inner{min-height:0; padding:10px 16px}
}
