:root{
  --paper:#f4f1e8; --paper2:#e9e4d6; --ink:#14171a; --muted:#4c5257; --line:#bdb6a4;
  --line2:#8f8877; --verm:#9c3418; --moss:#28543f; --amber:#7a4e00; --white:#fffdf7;
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.62 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--verm);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
main p a,main li a,.note a,.provenance a,.verdict a,.resbox a{display:inline-block;padding:3px 0;min-height:24px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.05}
h2{font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.18}
h3{font-size:1.16rem;line-height:1.3}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.25em}
li{margin:.3em 0}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--white);padding:12px 18px;z-index:50}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:3px solid var(--verm);outline-offset:2px}

/* label strip and masthead */
.strip{background:var(--ink);color:var(--paper)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:6px 14px;padding:7px 26px;font-size:14px;letter-spacing:.01em}
.strip b{font-weight:600;color:var(--white)}
.strip .dot{opacity:.5}
.mast{border-bottom:2px solid var(--ink);background:var(--paper)}
.mast .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 26px 12px;flex-wrap:wrap}
.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink)}
.brand .seal{width:44px;height:44px;border:2px solid var(--ink);display:grid;place-items:center;font:600 13px/1 var(--mono);background:var(--verm);color:var(--white)}
.brand .mark{font-family:var(--serif);font-size:1.18rem;font-weight:600;display:block}
.brand .sub{display:block;font-size:14px;color:var(--muted);margin-top:2px}
nav.main{display:flex;flex-wrap:wrap;gap:2px 2px}
nav.main a{display:inline-block;padding:11px 10px;font-size:15px;color:var(--ink);text-decoration:none;border-bottom:3px solid transparent}
nav.main a:hover{border-bottom-color:var(--line2)}
nav.main a[aria-current=page]{border-bottom-color:var(--verm);font-weight:600}

/* hero */
.cover{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:start;padding:52px 0 34px}
.kicker{font:600 14px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--verm);margin-bottom:14px}
.lede{font-size:1.14rem;line-height:1.55;max-width:62ch}
.trustline{font-size:15px;border-left:3px solid var(--moss);padding-left:12px;color:var(--muted)}
.pricebar{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--ink);margin:18px 0 0}
.pricebar span{padding:10px 14px;font-size:15px;border-right:1px solid var(--line)}
.pricebar span:last-child{border-right:0}
.pricebar b{font-family:var(--serif);font-size:1.05rem}
.hero-photo{border:1px solid var(--ink);position:relative;background:var(--paper2)}
.hero-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}
.hero-photo figcaption{font-size:14px;padding:9px 12px;border-top:1px solid var(--ink);color:var(--muted);background:var(--paper)}
.stamp{position:absolute;top:12px;left:12px;background:var(--ink);color:var(--white);font:600 14px/1.3 var(--mono);padding:7px 9px;letter-spacing:.04em}

/* the model matrix */
.matrix{border:1px solid var(--ink);background:var(--white)}
.matrix .mh{background:var(--ink);color:var(--white);padding:10px 14px;font:600 14px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px}
.matrix .band{border-top:1px solid var(--line);padding:14px}
.matrix .band:first-of-type{border-top:0}
.matrix .bl{font:600 14px/1.35 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line2);padding:6px 8px;font-size:14px;background:var(--paper);color:var(--ink)}
.chip.new{border-color:var(--verm);background:#f6e6df}
.chip.moved{border-color:var(--moss);background:#e6efe9}
.matrix .mf{border-top:1px solid var(--ink);padding:10px 14px;font-size:14px;display:flex;justify-content:space-between;gap:10px;color:var(--muted)}
.matrix .mf a{display:inline-block;padding:3px 0;min-height:24px}

/* section heads */
.block{padding:38px 0 8px}
.rulehead{border-top:2px solid var(--ink);padding-top:12px;margin:34px 0 18px;display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:baseline}
.rulehead .no{font:600 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--verm)}
.rulehead h2,.rulehead h1{margin:0}
.block .rulehead:first-child{margin-top:0}

/* stage strip */
.stage-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin:8px 0 0}
.stage-strip>div{padding:13px 12px;border-right:1px solid var(--line)}
.stage-strip>div:last-child{border-right:0}
.stage-strip .now{background:var(--ink);color:var(--white)}
.stage-strip .sc{display:block;font:600 14px/1.35 var(--mono)}
.stage-strip .sd{display:block;font-family:var(--serif);font-size:1.02rem;margin:3px 0}
.stage-strip .sn{display:block;font-size:14px;color:var(--muted)}
.stage-strip .now .sn{color:#d8d2c2}

/* tables */
.tablewrap{overflow-x:auto;max-width:100%;border:1px solid var(--ink);background:var(--white)}
table{border-collapse:collapse;width:100%;font-size:16px}
table.plan-table{min-width:820px}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:600 14px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--paper2);border-bottom:1px solid var(--ink)}
tr:last-child td{border-bottom:0}
td.code,.code{font-family:var(--mono);font-size:15px;white-space:nowrap}
td.st{color:var(--muted);font-size:15px}
table.records a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line2);display:inline-block;padding:3px 0;min-height:24px}
table.records a:hover{color:var(--verm);border-bottom-color:var(--verm)}

/* buttons */
.btn{display:inline-block;padding:13px 18px;min-height:48px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:600 15px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--paper2);color:var(--ink)}
.btn.amber{background:var(--verm);border-color:var(--verm);color:var(--white)}
.btn.amber:hover{background:#82290f;color:var(--white)}
.btn.ghost{background:transparent}
.btn.small{padding:9px 13px;min-height:40px;font-size:14px}

/* forms */
label{display:block;font-weight:600;font-size:15px;margin-bottom:5px}
select,input[type=date],input[type=text],input[type=email],input[type=number],textarea{width:100%;max-width:100%;min-height:46px;padding:10px 11px;border:1px solid var(--line2);background:var(--white);color:var(--ink);font:16px/1.3 var(--sans);border-radius:0}
textarea{min-height:92px}
.hint{font-size:14px;color:var(--muted);line-height:1.5}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:30px;align-items:start}
.checkgrid>*{min-width:0}
#plan-app{min-width:0;max-width:100%}
.panel{border:1px solid var(--ink);background:var(--white);padding:20px}
.verdict{border-left:5px solid var(--verm);background:var(--paper2);padding:16px 18px}
.verdict .tag{font:600 14px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--verm)}
.verdict h2{margin:6px 0 6px}
#result{margin-top:20px}
#result:not([hidden]){display:block}

/* result blocks */
.resbox{border:1px solid var(--ink);background:var(--white);margin-top:16px}
.resbox .rh{background:var(--ink);color:var(--white);padding:12px 16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.resbox .rh b{font-family:var(--serif);font-size:1.25rem}
.resbox .rh span{font:600 14px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.resbox .rb{padding:16px}
.resbox .rb>:last-child{margin-bottom:0}
.reading{font-size:1.35rem;font-family:var(--serif);margin:0 0 6px}
.resbox ul{padding-left:1.15em}
.resbox .acts li{margin:.5em 0}
.resbox table{font-size:15px}
.resbox table th,.resbox table td{padding:7px 8px}
.err{border-left:5px solid var(--verm);background:#f6e6df;padding:12px 14px;margin:10px 0}

/* unit pages */
.doc{max-width:1180px;margin:0 auto;padding:0 26px;display:grid;grid-template-columns:150px minmax(0,1fr) 286px;gap:32px;align-items:start;padding-top:36px}
.rail{border-top:3px solid var(--verm);padding-top:10px;position:sticky;top:16px}
.rail .big{font:600 2.3rem/1 var(--mono)}
.rail .lbl{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.4}
.rail .grp{font-size:14px;margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.docmain h1{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-bottom:10px}
.docmain h2{margin-top:1.6em;font-size:1.35rem;border-top:1px solid var(--line);padding-top:14px}
.meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:12px}
.meta span{border:1px solid var(--line);padding:4px 7px}
.answer{font-family:var(--serif);font-size:1.22rem;line-height:1.45;border-left:4px solid var(--verm);padding-left:14px}
.draftbox{border:1px dashed var(--line2);background:var(--paper2);padding:13px 15px;margin:14px 0}
.draftbox .tag{font:600 14px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--verm);display:block;margin-bottom:5px}
.draftbox p{margin:0}
ul.evidence{list-style:none;padding:0;border-top:1px solid var(--line)}
ul.evidence li{border-bottom:1px solid var(--line);padding:10px 0;display:grid;grid-template-columns:170px 1fr;gap:12px}
ul.evidence .cat{font:600 13px/1.4 var(--mono);color:var(--moss)}
ul.gaps li{margin:.45em 0}
ul.xref{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
ul.xref li{margin:0}
ul.xref a{display:inline-block;border:1px solid var(--line2);padding:7px 9px;font-size:14px;text-decoration:none;color:var(--ink)}
ul.xref a:hover{border-color:var(--verm);color:var(--verm)}
.clausenav{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:14px;font-size:15px}
.side{position:sticky;top:16px}
.side .box{border:1px solid var(--ink);background:var(--white);padding:14px;margin-bottom:16px}
.side .box h2{font-size:1.02rem;margin:0 0 9px;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:12px}

/* cards, plans, figures */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ink);background:var(--white)}
.cards .card{border-right:1px solid var(--line);padding:18px}
.cards .card:last-child{border-right:0}
.cards .card .n{font:600 14px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--verm)}
.cards .card h3{margin:7px 0 6px}
.cards .card p{font-size:16px;color:var(--muted)}
.cards .card a{font-size:15px;display:inline-block;padding:4px 0;min-height:24px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ink);background:var(--white)}
.plan{padding:20px;border-right:1px solid var(--line)}
.plan:last-child{border-right:0}
.plan.feature{background:var(--paper2)}
.plan .n{font:600 14px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--verm)}
.plan .price{font-family:var(--serif);font-size:2.1rem;margin:6px 0 0}
.plan .per{font-size:15px;color:var(--muted);margin-bottom:12px}
.plan ul{font-size:16px;padding-left:1.1em;min-height:150px}
.plan .btn{width:100%;text-align:center}
.photoband{margin:34px 0 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.photoband img{width:100%;max-height:340px;object-fit:cover}
.photoband figcaption{padding:12px 0;font-size:15px;color:var(--muted)}
.note{border-left:4px solid var(--moss);background:var(--paper2);padding:14px 16px}
.faq details{border-top:1px solid var(--line);padding:12px 0}
.faq summary{font-weight:600;cursor:pointer;font-size:16px;min-height:24px}
.faq details p{margin:8px 0 0;color:var(--muted)}
.provenance{background:var(--paper2);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:14px 16px;font-size:16px;color:var(--muted)}
.provenance b{color:var(--ink)}
#grounding{border-top:2px solid var(--ink)}

/* footer */
footer.site{border-top:2px solid var(--ink);margin-top:48px;background:var(--paper2)}
footer.site .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding:28px 26px 10px}
footer.site h2{font-size:13px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
footer.site p{font-size:14px;line-height:1.55;color:var(--muted)}
footer.site a{display:inline-block;padding:4px 0;min-height:24px}
footer.site .fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;font-size:14px}
footer.site .wrap:last-child{display:block;padding-top:0}

/* misc */
.small{font-size:15px}
.muted{color:var(--muted)}
.mono{font-family:var(--mono)}
.tag{font:600 14px/1.35 var(--mono)}
.timeline{list-style:none;padding:0;border-left:2px solid var(--ink);margin-left:8px}
.timeline li{padding:0 0 16px 18px;position:relative}
.timeline li:before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;background:var(--paper);border:2px solid var(--ink)}
.timeline li.now:before{background:var(--verm);border-color:var(--verm)}
.timeline .t{font:600 13px/1.3 var(--mono)}
.timeline .d{font-family:var(--serif);font-size:1.05rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media(max-width:980px){
  .cover{grid-template-columns:1fr;gap:26px;padding-top:36px}
  .doc{grid-template-columns:1fr;gap:22px}
  .rail{position:static;display:flex;gap:12px;align-items:baseline;border-top-width:2px}
  .rail .grp{border:0;margin:0;padding:0}
  .side{position:static}
  .rulehead{grid-template-columns:1fr;gap:4px}
  .checkgrid{grid-template-columns:1fr}
  .cards,.plans{grid-template-columns:1fr}
  .cards .card,.plan{border-right:0;border-bottom:1px solid var(--line)}
  .cards .card:last-child,.plan:last-child{border-bottom:0}
  .stage-strip{grid-template-columns:1fr 1fr}
  .stage-strip>div{border-bottom:1px solid var(--line)}
  footer.site .wrap{grid-template-columns:1fr}
}
@media(max-width:560px){
  body{font-size:16px}
  .wrap,.doc{padding-left:16px;padding-right:16px}
  .mast .wrap{padding-left:16px;padding-right:16px}
  nav.main a{padding:10px 8px;font-size:14px}
  .two{grid-template-columns:1fr}
  ul.evidence li{grid-template-columns:1fr;gap:3px}
  .pricebar span{border-right:0;border-bottom:1px solid var(--line);width:100%}
  .pricebar span:last-child{border-bottom:0}
  .stage-strip{grid-template-columns:1fr}
  .clausenav{flex-direction:column}
}
@media print{
  .strip,.mast nav,.btn,footer.site{display:none}
  body{background:#fff}
}
