@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(/assets/fonts/intertight-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(/assets/fonts/intertight-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/plexmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/plexmono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
--paper:#F4F0E8;--paper-raised:#FBF9F4;--paper-sunk:#ECE6DA;
--ink:#2A2420;--ink-soft:#6B6159;--ink-muted:#766B61;
--rule:#2A2420;--rule-soft:#D9D1C3;
--clay:#A84B26;--signal:#456F54;--on-ink:#F4F0E8;--on-signal:#FBF9F4;
--signal-tint:#DCE8DF;--signal-ink:#2C4D38;--urgent-tint:#F2DFC4;--urgent-ink:#6A3315;--focus:#456F54;
--serif:"Fraunces",Georgia,serif;--sans:"Inter Tight",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
--col:44rem;--side:14px;
color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--on-ink);padding:8px 12px;z-index:20}
.wrap{max-width:var(--col);margin:0 auto;padding:0 var(--side)}

/* header */
.top{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1.5px solid var(--rule)}
.top .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.word{font-family:var(--serif);font-size:20px;text-decoration:none;color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:10px}
.menu{position:static}
.menu summary{list-style:none;cursor:pointer;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;padding:8px 10px;border:1px solid var(--rule);border-radius:4px;min-height:36px;display:flex;align-items:center}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--paper-sunk)}
.menu-panel{position:absolute;left:var(--side);right:var(--side);top:calc(100% + 6px);width:auto;background:var(--paper-raised);border:1.5px solid var(--rule);border-radius:10px;padding:6px 0}
.menu-panel a{display:flex;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;font-size:15px;border-bottom:1px solid var(--rule-soft)}
.menu-panel a:last-child{border-bottom:0}
.menu-panel a span{font-family:var(--mono);font-size:14px;line-height:1.4;color:var(--clay);min-width:10px}
.menu-panel a:hover span{transform:rotate(90deg)}
.menu-panel a span{transition:transform .2s ease}
.exit{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;background:var(--ink);color:var(--on-ink);border:0;border-radius:4px;padding:0 12px;min-height:36px;cursor:pointer}

/* type */
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--ink-muted);margin:28px 0 22px}
.crumb a{color:var(--ink);text-decoration:none}.crumb a:hover{text-decoration:underline}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);margin:0 0 14px}
.display{font-family:var(--serif);font-weight:400;font-size:clamp(38px,8vw,60px);line-height:1.03;letter-spacing:-.02em;margin:0 0 18px}
.display em,.h1 em{font-style:italic;color:var(--clay)}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,6vw,44px);line-height:1.08;letter-spacing:-.015em;margin:0 0 14px}
.lead{font-size:18px;line-height:1.6;color:var(--ink-soft);margin:0 0 24px;max-width:38em}
.meta{font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--ink-muted)}
main{padding-bottom:40px}

/* prose */
.prose{max-width:40em}
.prose h2{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;margin:44px 0 12px}
.prose h3{font-size:17px;font-weight:500;margin:28px 0 6px}
.prose p,.prose li{color:var(--ink-soft)}
.prose p{margin:0 0 14px}
.prose strong{color:var(--ink);font-weight:500}
.prose ul,.prose ol{padding-left:22px;margin:0 0 16px}
.prose li{margin-bottom:6px}
.prose blockquote{margin:0 0 16px;padding:14px 16px;background:var(--paper-sunk);border-radius:8px;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink)}
.table-wrap{overflow-x:auto;margin:0 0 20px;border:1.5px solid var(--rule);border-radius:10px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--rule-soft)}
th{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);background:var(--paper-raised)}
tr:last-child td{border-bottom:0}
td{color:var(--ink-soft)}td:first-child{color:var(--ink);font-weight:500}

/* buttons */
.btn{font-family:var(--mono);font-size:13.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:26rem;min-height:50px;padding:0 16px;border-radius:8px;border:1.5px solid transparent;text-decoration:none;cursor:pointer}
.btn-ink{background:var(--ink);color:var(--on-ink)}
.btn-signal{background:var(--signal);color:var(--on-signal);justify-content:center}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.btn-row .btn{width:auto;flex:1 1 12rem}
.checks{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--signal);margin:10px 0 0}

/* rows */
.group-label{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:36px 0 8px}
.rows{border-top:1.5px solid var(--rule);margin:0 0 24px}
.row{display:flex;gap:16px;align-items:baseline;padding:15px 2px;border-bottom:1px solid var(--rule-soft);text-decoration:none;color:var(--ink)}
a.row:hover .row-t{text-decoration:underline}
.row-n{font-family:var(--mono);font-size:13px;color:var(--clay);min-width:22px}
.row-b{flex:1}
.row-t{font-size:17px;font-weight:500;margin:0;line-height:1.35}
.row-s{font-size:14.5px;color:var(--ink-soft);margin:3px 0 0;line-height:1.5}
.row-a{font-family:var(--mono);font-size:14px}
.row-urgent{background:var(--urgent-tint);padding-left:12px;padding-right:12px;border-bottom:0;border-radius:0 0 8px 8px}
.row-urgent .row-n,.row-urgent .row-t,.row-urgent .row-s,.row-urgent .row-a{color:var(--urgent-ink)}
.rows .row-urgent:only-child{border-radius:8px}

/* kv */
.kv{margin:0 0 28px;border-top:1.5px solid var(--rule)}
.kv div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule-soft)}
.kv dt{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding-top:2px}
.kv dd{margin:0;text-align:right;font-weight:500}

/* note + alert */
.note{background:var(--paper-sunk);border-radius:8px;padding:14px 16px;margin:0 0 22px;max-width:40em}
.note-l{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);display:block}
.note p{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.5;margin:6px 0 0;color:var(--ink)}
.alert{background:var(--urgent-tint);color:var(--urgent-ink);border-radius:8px;padding:14px 16px;margin:0 0 22px;max-width:40em}
.alert strong{display:block;font-weight:500;margin-bottom:4px}
.alert p,.alert li{color:var(--urgent-ink);margin:0 0 6px}
.alert ul{margin:6px 0 0;padding-left:20px}
.alert a{color:var(--urgent-ink)}
.draft{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;background:var(--paper-sunk);color:var(--ink-soft);text-align:center;padding:6px 12px}

/* tags */
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:4px}
.tag-ok{background:var(--signal-tint);color:var(--signal-ink)}
.tag-warn{background:var(--urgent-tint);color:var(--urgent-ink)}
.tag-plain{border:1px solid var(--rule);color:var(--ink)}

/* directory */
.dir-tools{margin:0 0 16px}
.input,textarea,select{font-family:var(--mono);font-size:15px;width:100%;padding:11px 12px;border:1.5px solid var(--rule);background:var(--paper-raised);color:var(--ink);border-radius:6px}
textarea{min-height:96px;resize:vertical;line-height:1.5}
.input::placeholder,textarea::placeholder{color:var(--ink-muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.chip{font-family:var(--mono);font-size:12px;letter-spacing:.04em;padding:7px 11px;border:1px solid var(--rule);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;min-height:36px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.cards{border-top:1.5px solid var(--rule)}
.card{padding:18px 2px;border-bottom:1px solid var(--rule-soft)}
.card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.card-name{font-family:var(--serif);font-size:22px;margin:0;font-weight:400}
.card-links{list-style:none;padding:0;margin:8px 0 6px}
.card-links li{margin:0 0 6px;font-size:15px}
.card-note{font-size:14px;color:var(--ink-soft);margin:6px 0 0}
.empty{display:none;padding:20px 0;color:var(--ink-soft)}

/* forms: triage + templates */
.q{display:none}.q.on{display:block}
.progress{height:6px;background:var(--rule-soft);border-radius:3px;margin:0 0 26px;overflow:hidden}
.progress span{display:block;height:100%;background:var(--signal)}
.q h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,5vw,34px);line-height:1.12;margin:0 0 10px}
.why{font-size:15px;color:var(--ink-soft);margin:0 0 20px}
.opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font-family:var(--mono);font-size:15px;padding:14px;margin:0 0 8px;border:1.5px solid var(--rule);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;min-height:52px}
.opt .bx{color:var(--ink-muted)}.opt .bx-on{display:none}
.opt[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.opt[aria-pressed="true"] .bx{color:var(--on-ink)}.opt[aria-pressed="true"] .bx-off{display:none}.opt[aria-pressed="true"] .bx-on{display:inline}
.q-nav{display:flex;justify-content:space-between;align-items:center;margin:18px 0 0;gap:10px}
.linkbtn{background:none;border:0;padding:8px 0;font-family:var(--mono);font-size:13px;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.err{font-size:14px;color:var(--clay);margin:8px 0 0;min-height:1em}
.field{margin:0 0 16px}
.field label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 6px}
.field .opt-tag{text-transform:none;letter-spacing:0;color:var(--ink-muted)}
.field .hint{font-size:13.5px;color:var(--ink-soft);margin:6px 0 0}
.preview{font-family:var(--mono);font-size:13.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;background:var(--paper-raised);border:1.5px dashed var(--rule);border-radius:8px;padding:16px;margin:0 0 14px;color:var(--ink)}
.preview mark{background:var(--signal-tint);color:var(--signal-ink);padding:0 3px;border-radius:3px}
.preview .blank{background:var(--paper-sunk);color:var(--ink-muted);padding:0 3px;border-radius:3px}
.status{font-family:var(--mono);font-size:12px;color:var(--signal);min-height:1.2em;margin:6px 0 0}
.tpl-grid{display:grid;gap:8px}
@media (min-width:900px){.tpl-grid.js-on{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.tpl-grid.js-on .tpl-out{position:sticky;top:76px}:root{--col:60rem}.prose,.lead{max-width:40em}}
.checklist{counter-reset:s;list-style:none;padding:0;margin:0 0 20px;border-top:1.5px solid var(--rule)}
.checklist li{display:flex;gap:16px;padding:15px 2px;border-bottom:1px solid var(--rule-soft)}
.checklist li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--clay);min-width:22px;padding-top:3px}
.checklist p{margin:0}.checklist .t{font-weight:500}.checklist .s{font-size:15px;color:var(--ink-soft);margin-top:3px}
.checklist li.urgent{background:var(--urgent-tint);padding-left:12px;padding-right:12px}
.checklist li.urgent::before,.checklist li.urgent .t,.checklist li.urgent .s,.checklist li.urgent a{color:var(--urgent-ink)}

/* faq */
details.qa{border-bottom:1px solid var(--rule-soft)}
details.qa summary{cursor:pointer;list-style:none;padding:16px 28px 16px 2px;font-weight:500;position:relative}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary::after{content:"+";font-family:var(--mono);position:absolute;right:4px;top:15px;color:var(--clay)}
details.qa[open] summary::after{content:"−"}
details.qa .a{padding:0 2px 16px}
.faq{border-top:1.5px solid var(--rule);max-width:40em}
dl.gloss{border-top:1.5px solid var(--rule);max-width:40em}
dl.gloss dt{font-family:var(--serif);font-size:20px;padding-top:16px}
dl.gloss dd{margin:4px 0 0;padding-bottom:16px;border-bottom:1px solid var(--rule-soft);color:var(--ink-soft)}

/* sources + footer */
.sources{margin:48px 0 0;padding:16px 0 0;border-top:1.5px solid var(--rule);max-width:40em}
.sources h2{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 10px}
.sources ul{list-style:none;padding:0;margin:0 0 10px}
.sources li{font-size:14.5px;margin:0 0 6px}
.foot{border-top:1.5px solid var(--rule);padding:22px 0 34px;background:var(--paper)}
.foot p{font-size:13.5px;color:var(--ink-soft);margin:0 0 10px;max-width:40em}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px}
.foot nav a{font-family:var(--mono);font-size:12px;letter-spacing:.03em}
.ext::after{content:" ↗";font-family:var(--mono);font-size:.85em}


/* motion: one page-load moment on home, quiet fades elsewhere, and feedback on actions */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
main .wrap{animation:fade .35s ease-out both}
.hero>*{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}
.hero>:nth-child(2){animation-delay:.05s}
.hero>:nth-child(3){animation-delay:.12s}
.hero>:nth-child(4){animation-delay:.17s}
.hero>:nth-child(5){animation-delay:.22s}
.hero~.group-label,.hero~.rows{animation:fade .4s .25s both}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease-out,transform .4s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media print{.reveal{opacity:1!important;transform:none!important}}
.row-a,.btn span[aria-hidden]{transition:transform .2s ease}
a.row:hover .row-a,a.btn:hover span[aria-hidden]{transform:translateX(3px)}
.btn,.chip,.opt{transition:background-color .15s,color .15s,border-color .15s}
.menu[open] .menu-panel{animation:drop .18s ease-out}
@media (min-width:560px){.menu-panel{left:auto;width:320px}}
details.qa[open] .a{animation:rise .3s ease-out}
.q.on{animation:rise .35s cubic-bezier(.2,.7,.2,1) both}
.cascade li{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}
.progress span{transition:width .45s cubic-bezier(.2,.7,.2,1)}
.btn.done{background:var(--signal-ink);color:var(--paper-raised)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.top,.foot,.btn,.q-nav,.exit,.menu,.draft,.no-print{display:none!important}body{background:#fff;color:#000;font-size:12pt}.checklist li.urgent{background:none;border:1px solid #000}}

.menu-panel a[aria-current]{background:var(--paper-sunk);font-weight:500}
.menu-panel a.urgent{background:var(--urgent-tint);color:var(--urgent-ink)}
.menu-panel a.urgent span{color:var(--urgent-ink)}
.foot nav a[aria-current]{text-decoration-thickness:2px}

.acts{display:grid;gap:12px;margin:26px 0 12px}
@media (min-width:720px){.acts{grid-template-columns:1fr 1fr}}
.act{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px;border:1.5px solid var(--rule);border-radius:10px;background:var(--paper-raised)}
.act .eyebrow{margin:0}
.act h2{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.15;letter-spacing:-.01em;margin:0;text-wrap:balance}
.act p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.act .btn{margin-top:auto;max-width:none}
.act-more{font-size:15px;margin:0 0 8px}
.checklist .t a{color:inherit}
