
:root{
  --slate:#1A2B3C; --mid:#2E4A6E; --volt:#D4840A; --tint:#FDF4E7;
  --paper:#FCFCFA; --line:#E3E0D8; --ink:#27313C; --muted:#5E6B78;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:'DM Sans',Arial,sans-serif;background:var(--paper);color:var(--ink);
  line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4,p,li,td,th,div{word-wrap:break-word;overflow-wrap:break-word}
a{color:var(--mid)}
.mono{font-family:'IBM Plex Mono',monospace}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--volt);margin-bottom:.6rem}
/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(252,252,250,.94);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.hwrap{max-width:1180px;margin:0 auto;padding:0 24px;height:62px;
  display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .mark{width:22px;height:22px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px}
.brand .mark i{display:block}
.brand .mark i:nth-child(1),.brand .mark i:nth-child(4){background:var(--slate)}
.brand .mark i:nth-child(2),.brand .mark i:nth-child(3){background:var(--volt)}
.brand b{font-family:'Playfair Display',serif;font-size:1.02rem;color:var(--slate);font-weight:700}
.brand span{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;
  color:var(--muted);text-transform:uppercase;border-left:1px solid var(--line);padding-left:10px}
nav.main{display:flex;gap:18px;flex-wrap:wrap}
nav.main a{font-size:.82rem;text-decoration:none;color:var(--muted);font-weight:500}
nav.main a:hover{color:var(--slate)}
nav.main a.on{color:var(--slate);border-bottom:2px solid var(--volt);padding-bottom:3px}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:6px;
  width:42px;height:38px;cursor:pointer;flex-direction:column;align-items:center;
  justify-content:center;gap:4px}
.burger i{width:18px;height:2px;background:var(--slate);display:block}
.mnav{display:none;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 24px 18px}
.mnav a{display:block;padding:10px 0;text-decoration:none;color:var(--ink);
  font-size:.95rem;border-bottom:1px solid var(--line)}
.mnav a.on{color:var(--volt);font-weight:600}
/* ---------- layout ---------- */
.hero{max-width:1180px;margin:0 auto;padding:72px 24px 48px}
.hero h1{font-family:'Playfair Display',serif;font-size:3.1rem;line-height:1.12;
  color:var(--slate);max-width:820px;font-weight:700}
.hero h1 em{font-style:italic;color:var(--volt)}
.hero p.lede{max-width:680px;margin-top:20px;font-size:1.12rem;color:var(--muted)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px 80px}
.doc{max-width:860px}
section.blk{padding:34px 0;border-top:1px solid var(--line)}
section.blk:first-of-type{border-top:0}
h2{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--slate);margin-bottom:14px}
h3{font-size:1.06rem;color:var(--slate);margin:22px 0 8px}
p{margin-bottom:12px}
ul,ol{margin:0 0 14px 22px}
li{margin-bottom:6px}
table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.92rem}
th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  border-bottom:2px solid var(--slate);padding:8px 10px}
td{border-bottom:1px solid var(--line);padding:9px 10px;vertical-align:top}
.tablewrap{overflow-x:auto}
.note{background:var(--tint);border-left:3px solid var(--volt);padding:14px 18px;
  border-radius:0 6px 6px 0;margin:18px 0;font-size:.95rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.card{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff;
  text-decoration:none;color:var(--ink);transition:border-color .15s}
.card:hover{border-color:var(--volt)}
.card h3{margin:6px 0 6px;font-size:1rem}
.card p{font-size:.86rem;color:var(--muted);margin:0}
/* ---------- signature: control stack ---------- */
.stack{max-width:760px;margin:26px 0}
.layer{border:1px solid var(--line);background:#fff;border-radius:8px;
  padding:16px 20px;margin-bottom:10px;display:flex;gap:16px;align-items:baseline}
.layer .tag{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;
  color:var(--muted);min-width:54px}
.layer b{color:var(--slate);font-size:.98rem}
.layer span{color:var(--muted);font-size:.86rem}
.layer.ai{border-left:4px solid var(--mid)}
.layer.det{border-left:4px solid var(--slate);background:#F5F7F9}
.gate{display:flex;align-items:center;gap:14px;margin:14px 0;padding:10px 0}
.gate i{flex:1;height:0;border-top:2px dashed var(--volt);display:block}
.gate b{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.2em;
  color:var(--volt);text-transform:uppercase;white-space:nowrap}
/* ---------- buttons & footer ---------- */
.cta{display:inline-block;background:var(--slate);color:#fff;text-decoration:none;
  padding:13px 26px;border-radius:6px;font-weight:600;font-size:.94rem;margin-top:22px}
.cta.ghost{background:transparent;color:var(--slate);border:1px solid var(--slate);margin-left:10px}
footer{border-top:1px solid var(--line);padding:30px 24px;
  font-size:.82rem;color:var(--muted)}
footer .fwrap{max-width:1180px;margin:0 auto;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--muted)}
/* ---------- responsive: 900px tablet ---------- */
@media (max-width:900px){
  nav.main{display:none}
  .burger{display:flex}
  .mnav.open{display:block}
  .cards{grid-template-columns:1fr}
  .hero h1{font-size:2.3rem}
  .hero{padding:48px 24px 36px}
}
/* ---------- responsive: 480px mobile ---------- */
@media (max-width:480px){
  .hero h1{font-size:1.78rem}
  .hero p.lede{font-size:1rem}
  h2{font-size:1.36rem}
  body{font-size:.95rem}
  .brand span{display:none}
  .cta,.cta.ghost{display:block;width:100%;text-align:center;margin-left:0;margin-top:12px}
  .layer{flex-direction:column;gap:4px}
}
