
@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4-600-italic.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --desk:#23272B; --folio:#FFFFFF; --ruled:#C9CFD4; --seal-red:#A62B1F;
  --filed-green:#1F5C40; --brass:#8C6D1F; --alert-paper:#FDF3E7;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--folio);color:var(--desk);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}
a{color:var(--filed-green);text-underline-offset:2px}
a:hover{color:var(--desk)}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--desk);color:#fff;padding:.6rem 1rem;z-index:50}
.skip:focus{left:0}
.wrap{max-width:74rem;margin:0 auto;padding:0 1.25rem}
header.mast{background:var(--folio);border-bottom:1px solid var(--ruled)}
.mast-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;padding:.9rem 0 .8rem}
.wordmark{font-family:var(--serif);font-weight:900;font-size:1.5rem;color:var(--desk);text-decoration:none}
.wordmark .amp{color:var(--brass)}
.mast .tag{font-family:var(--mono);font-size:0.8125rem;color:var(--desk)}
nav.main{margin-left:auto}
nav.main ul{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;list-style:none;margin:0;padding:0}
nav.main a{text-decoration:none;font-size:0.9375rem;color:var(--desk)}
nav.main a:hover{text-decoration:underline}
nav.main a.portal-link{font-weight:700;color:var(--filed-green)}
main{display:block}
h1{font-family:var(--serif);font-weight:900;font-size:3.25rem;line-height:1.05;margin:.4rem 0 .8rem;color:var(--desk)}
h2{font-family:var(--serif);font-weight:600;font-size:2rem;line-height:1.12;margin:2rem 0 .7rem;color:var(--desk)}
h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.2;margin:1.3rem 0 .4rem;color:var(--desk)}
p{max-width:44rem}
.lede{font-size:1.25rem;max-width:46rem}
.small{font-size:0.9375rem}
.mono{font-family:var(--mono)}
.folio-no{font-family:var(--mono);font-weight:600;font-size:0.8125rem;color:var(--brass);letter-spacing:.08em}
section{padding:1.2rem 0}
/* Stamps (text marks; the SVG impressions live in artefacts.js) */
.stamp{display:inline-block;font-family:var(--mono);font-weight:600;font-size:0.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--filed-green);border:2px solid var(--filed-green);border-radius:3px;padding:.14rem .5rem;transform:rotate(-2deg)}
.stamp.red{color:var(--seal-red);border-color:var(--seal-red)}
.stamp.grey{color:var(--desk);border-color:var(--desk)}
.stamp.brass{color:var(--brass);border-color:var(--brass)}
.stamp-svg{vertical-align:middle;flex:none}
.overdue-cell{display:inline-flex;align-items:center;gap:.4rem}
.overdue-word{font-family:var(--mono);font-weight:600;font-size:0.8125rem;color:var(--seal-red);letter-spacing:.1em}
.days-over{color:var(--seal-red);font-weight:600}
/* Folio ledger — ruled rows, never a table; stacks below 640px */
.folio-ledger{border:1px solid var(--desk);background:var(--folio);margin:1rem 0}
.fl-caption{font-family:var(--serif);font-weight:600;font-size:1.25rem;padding:.7rem .9rem .2rem;margin:0;max-width:none}
.fl-head,.fl-row{display:grid;grid-template-columns:2.2fr .95fr .45fr .7fr .7fr 1.25fr .95fr;gap:.6rem;padding:.5rem .9rem;align-items:start}
.fl-head{font-family:var(--mono);font-weight:600;font-size:0.8125rem;border-bottom:1px solid var(--desk);color:var(--desk)}
.fl-row{border-bottom:1px solid var(--ruled)}
.fl-row.is-overdue{background:var(--folio);box-shadow:inset 4px 0 0 var(--seal-red)}
.fl-name{font-weight:700;display:block}
.fl-note{display:block;font-size:0.9375rem}
.fl-lab{display:none;font-family:var(--mono);font-weight:600;font-size:0.8125rem}
.fl-foot{padding:.6rem .9rem;margin:0;max-width:none;border-top:1px solid var(--desk);font-size:0.9375rem}
.fl-status form{margin-top:.4rem}
.fl-status input{margin-bottom:.3rem}
.folio-ledger.compact .fl-head{display:none}
.folio-ledger.compact .fl-row{grid-template-columns:1fr auto;padding:.5rem .6rem;gap:.3rem .6rem}
.folio-ledger.compact .fl-sub{grid-column:1/-1;font-size:0.9375rem}
.folio-ledger.compact .stamp{letter-spacing:.02em;padding:.08rem .3rem}
.folio-ledger.compact .fl-caption{font-size:1.0625rem}
.seal-svg{flex:none}
/* Intake slip — perforated left edge via radial-gradient dot-row mask */
.slip{background:var(--folio);border:1px solid var(--desk);padding:1.2rem 1.3rem 1.3rem 2rem;margin:1.2rem 0;position:relative;
  -webkit-mask-image:radial-gradient(circle at 8px 11px, transparent 3px, #000 4px);-webkit-mask-size:100% 22px;-webkit-mask-repeat:repeat-y;-webkit-mask-position:0 0;
  mask-image:radial-gradient(circle at 8px 11px, transparent 3px, #000 4px);mask-size:100% 22px;mask-repeat:repeat-y;mask-position:0 0}
.slip h2{margin-top:0}
.tear{border-top:2px dashed var(--ruled);margin:1rem 0}
form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-top:.8rem}
label{display:block;font-weight:600;font-size:0.9375rem;margin-bottom:.3rem}
.hint{font-weight:400;font-size:0.8125rem;display:block;margin-top:.15rem}
input,select,textarea{width:100%;padding:.55rem .6rem;border:1px solid var(--desk);border-radius:2px;background:#fff;font:inherit;font-size:1.0625rem;color:var(--desk)}
button,.btn{display:inline-block;background:var(--filed-green);color:#fff;border:1px solid var(--filed-green);border-radius:2px;padding:.6rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{background:var(--desk);color:#fff;border-color:var(--desk)}
.btn.secondary{background:transparent;color:var(--filed-green)}
.btn.secondary:hover{background:var(--folio);color:var(--desk)}
/* The open ledger — homepage book spread */
.spread{display:grid;grid-template-columns:46% 54%;border:1px solid var(--desk);margin:1.4rem 0 0}
.spread-l{padding:1.4rem 1.5rem;border-right:1px solid var(--ruled);box-shadow:inset -14px 0 18px -18px var(--desk)}
.spread-r{padding:1.4rem 1.5rem}
.spread .slip{margin:.6rem 0 0;padding-left:1.6rem}
/* Process corridor — horizontal scroll-snapped artefact panels */
.corridor{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:1rem 0;scrollbar-width:thin}
.panel{flex:0 0 min(44rem,88vw);scroll-snap-align:start;border:1px solid var(--desk);padding:1.4rem;background:var(--folio)}
.panel h2{margin-top:.4rem}
.panel svg{max-width:100%;height:auto}
.sop-panel{background:var(--folio)}
/* Pigeonholes */
.pigeonholes{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1rem 0}
.ph{border:1px solid var(--ruled);padding:.6rem;min-height:5.2rem;display:flex;flex-direction:column;gap:.25rem;text-decoration:none;color:var(--desk)}
.ph.lit{background:var(--alert-paper);border-color:var(--desk)}
.ph-code{font-family:var(--mono);font-weight:600;font-size:0.9375rem}
.ph-line{font-size:0.8125rem;line-height:1.35}
a.ph:hover{outline:2px solid var(--brass)}
/* Rate card */
.ratecard{border:2px solid var(--desk);padding:1.4rem;background:var(--folio)}
.ratecard .rc-row{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:baseline;border-bottom:1px solid var(--ruled);padding:.7rem 0}
.ratecard .rc-row:last-of-type{border-bottom:none}
.ratecard .price{font-family:var(--serif);font-weight:900;font-size:2rem;line-height:1}
.ratecard .rc-name{font-weight:700}
/* Record cards + marginal annotation (hub folio) */
.folio-cols{display:grid;grid-template-columns:21rem 1fr;gap:1.6rem;align-items:start}
.rail{position:sticky;top:1rem}
.record-card{border:1px solid var(--desk);padding:1rem 1.1rem;margin:0 0 1rem;background:var(--folio)}
.record-card h3{margin-top:.2rem}
.margin-note{border-left:3px solid var(--brass);padding:.2rem 0 .2rem 1rem;font-size:0.9375rem}
.margin-note .mn-h{font-family:var(--serif);font-weight:600;font-style:italic;font-size:1.125rem}
/* Docket strip + folio masthead */
.docket{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--desk);margin:1rem 0}
.docket figure{margin:0;padding:.8rem 1rem;border-right:1px solid var(--ruled);flex:1 1 12rem}
.docket figure:last-child{border-right:none}
.docket figcaption{font-family:var(--mono);font-weight:600;font-size:0.8125rem}
.docket .d-val{font-family:var(--mono);font-size:1.0625rem;display:block;margin-top:.25rem}
.folio-mast{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}
.folio-mast h1{margin-bottom:.2rem}
/* Dissolution clock */
.clock{border:1px solid var(--desk);padding:1rem 1.1rem;margin:1rem 0}
.clock ol{list-style:none;margin:.6rem 0 0;padding:0}
.clock li{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--ruled)}
.clock li:last-child{border-bottom:none}
.clock .c-when{font-family:var(--mono);font-weight:600;font-size:0.9375rem}
/* Relay */
.relay{border:1px solid var(--desk);padding:1rem 1.1rem;margin:1rem 0}
.relay-svg{max-width:100%;height:auto}
.relay-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.relay-node .rn-t{font-family:var(--serif);font-weight:600;font-size:1.25rem;margin:.2rem 0}
.relay-node p{margin:.2rem 0}
/* Data ledger (deadlines library + admin) — a ruled artefact, stacked on mobile */
.dledger{border:1px solid var(--desk);margin:1rem 0}
.dledger .dl-cap{font-family:var(--serif);font-weight:600;font-size:1.25rem;padding:.7rem .9rem .2rem;margin:0;max-width:none}
.dl-row{display:grid;gap:.4rem .8rem;padding:.55rem .9rem;border-bottom:1px solid var(--ruled);align-items:start}
.dl-row.dl-head{font-family:var(--mono);font-weight:600;font-size:0.8125rem;border-bottom:1px solid var(--desk)}
.dl-row:last-child{border-bottom:none}
/* Operations console tables (admin only — not a customer surface) */
table.admin-ledger{width:100%;border-collapse:collapse;border:1px solid var(--desk);font-size:0.9375rem;background:var(--folio)}
table.admin-ledger caption{text-align:left;font-family:var(--serif);font-weight:600;padding:.5rem .2rem;font-size:1.25rem}
table.admin-ledger th{font-family:var(--mono);font-weight:600;font-size:0.8125rem;text-align:left;border-bottom:1px solid var(--desk);padding:.55rem .7rem}
table.admin-ledger td{border-bottom:1px solid var(--ruled);padding:.6rem .7rem;vertical-align:top}
/* Notice */
.notice{border:1px solid var(--desk);border-left:6px solid var(--filed-green);background:var(--folio);padding:.9rem 1.1rem;margin:1.2rem 0}
.notice.warn{border-left-color:var(--seal-red)}
.notice p{margin:.2rem 0}
/* Footer — the desk's back board */
footer{background:var(--desk);color:#fff;margin-top:3rem;padding:1.8rem 0 2.4rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.2rem}
footer h3{font-size:1.25rem;margin:.2rem 0 .5rem;color:#fff}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:.25rem 0}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
.fineprint{font-size:0.9375rem;max-width:60rem;color:#fff}
/* FAQ */
details.faq{border-bottom:1px solid var(--ruled);padding:.7rem 0}
details.faq summary{font-family:var(--serif);font-weight:600;font-size:1.25rem;cursor:pointer}
details.faq p{margin:.5rem 0 .3rem}
/* Portal — the Client's Book: its own desk bar, no marketing chrome */
.portal-mast{background:var(--desk);color:#fff;padding:.8rem 0}
.portal-mast .pm-in{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center}
.portal-mast .wordmark{color:#fff}
.portal-mast .wordmark .amp{color:#fff;text-decoration:underline;text-underline-offset:4px}
.portal-mast nav a{color:#fff;text-decoration:none;font-size:0.9375rem;margin-right:1rem}
.portal-mast nav a:hover{text-decoration:underline}
.entity-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.entity-switch a{border:1px solid var(--desk);padding:.3rem .8rem;text-decoration:none;color:var(--desk);font-size:0.9375rem}
.entity-switch a[aria-current="true"]{background:var(--desk);color:#fff}
.envelope-row{border:1px solid var(--desk);border-top:10px solid var(--seal-red);background:var(--alert-paper);padding:.8rem 1rem;margin:0 0 .8rem}
.envelope-row .er-when{font-family:var(--mono);font-weight:600;font-size:0.8125rem;color:var(--seal-red)}
.pill{font-family:var(--mono);font-size:0.8125rem;border:1px solid var(--desk);border-radius:99px;padding:.1rem .6rem}
.error{background:var(--alert-paper);border:1px solid var(--seal-red);color:var(--desk);padding:.7rem 1rem;margin:1rem 0}
.ok{border:1px solid var(--filed-green);color:var(--desk);padding:.7rem 1rem;margin:1rem 0;background:var(--folio)}
.bar{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between}
@media (max-width:900px){
  .folio-cols{grid-template-columns:1fr}
  .rail{position:static}
  .spread{grid-template-columns:1fr}
  .spread-l{border-right:none;border-bottom:1px solid var(--ruled);box-shadow:none}
}
@media (max-width:640px){
  h1{font-size:2rem}
  h2{font-size:1.5rem}
  .fl-head{display:none}
  .fl-row{grid-template-columns:1fr 1fr}
  .folio-ledger.compact .fl-row{grid-template-columns:1fr 1fr}
  .fl-main{grid-column:1/-1}
  .fl-lab{display:block}
  .pigeonholes{grid-template-columns:repeat(4,1fr)}
  .dl-row{grid-template-columns:1fr !important}
  .dl-row.dl-head{display:none}
  .relay-nodes{grid-template-columns:1fr}
  .clock li{grid-template-columns:1fr}
  .docket figure{border-right:none;border-bottom:1px solid var(--ruled)}
}
