/* ============================================================
   SeyLand - "Ordnance" design system
   The cadastral-instrument look. One shared stylesheet for every
   SeyLand page. Chosen by Sam 2026-07-21. Own system: no reuse of
   other empire styles. Restraint is the luxury.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Hanken+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{
  --paper:#F4F1EA; --panel:#FBFAF7; --panel2:#F1EDE3;
  --ink:#17191D; --muted:#6E6A60; --soft:#928C7F;
  --rule:#CDC8BB; --rule2:#E4DFD4;
  --accent:#C8402B; --accent-ink:#A5311F; --accent-wash:#FCF3F0;
  --ok:#3B6B4A; --warn:#9A6B1E;
  --serif:'Newsreader',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --mono:'Space Mono',ui-monospace,'SFMono-Regular',monospace;
  --maxw:1120px;
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.mono{font-family:var(--mono)}
.serif{font-family:var(--serif)}
.accent{color:var(--accent-ink)}
.hr{height:1px;background:var(--rule);border:0;margin:0}

/* beacon-tick - the signature crosshair mark */
.tick{display:inline-block;width:9px;height:9px;flex:0 0 9px;position:relative;vertical-align:middle}
.tick::before,.tick::after{content:"";position:absolute;background:var(--accent)}
.tick::before{left:4px;top:0;width:1px;height:9px}
.tick::after{top:4px;left:0;height:1px;width:9px}
.tick.lg{width:13px;height:13px}.tick.lg::before{left:6px;height:13px}.tick.lg::after{top:6px;width:13px}

/* optional internal/staging strip */
.stripe{background:#17191D;color:#CFC9BB;font-family:var(--mono);font-size:11px;letter-spacing:.14em}
.stripe .wrap{display:flex;align-items:center;gap:20px;height:34px;text-transform:uppercase}
.stripe b{color:#fff}.stripe .on{color:var(--accent)}
.stripe a{color:#8f8b80}.stripe a:hover{color:#fff}

/* nav */
header.nav{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:30}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-.01em}
.brand svg{width:15px;height:15px}
.tabs{display:flex;align-items:center;gap:30px;font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.tabs a{color:var(--muted);padding:4px 0;border-bottom:1.5px solid transparent}
.tabs a:hover{color:var(--ink)}
.tabs a.on{color:var(--ink);border-bottom-color:var(--accent)}
.btn{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);padding:9px 16px;background:none;cursor:pointer;display:inline-block}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.solid:hover{background:var(--accent-ink)}

/* section label:  01 - TITLE ───────────  aside */
.seclabel{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:34px 0 22px}
.seclabel .num{color:var(--accent)}
.seclabel .line{flex:1;height:1px;background:var(--rule)}

/* headings */
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;margin:0}
.h-xl{font-size:56px;line-height:1.06}
.h-lg{font-size:38px;line-height:1.1}
.h-md{font-size:24px;line-height:1.2}
em.v{font-style:italic;color:var(--accent-ink)}
.lede{font-size:19px;color:#43413b;line-height:1.5}

/* stat grid */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);background:var(--panel)}
.stat{padding:22px 24px;border-right:1px solid var(--rule2);border-bottom:1px solid var(--rule2)}
.stat .n{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:-.02em}
.stat .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.stat .sub{font-size:12.5px;color:var(--soft);margin-top:6px;font-family:var(--sans)}

/* registry-extract table */
table.reg{width:100%;border-collapse:collapse}
table.reg tr{border-bottom:1px solid var(--rule2)}
table.reg th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 0;vertical-align:top}
table.reg td{font-family:var(--mono);font-size:14px;padding:12px 0;text-align:right}
table.reg td.b,table.reg .b{color:var(--accent-ink)}
table.reg.wide th{width:44%}

/* data table (multi-column, ledger look) */
table.ledger{width:100%;border-collapse:collapse;border:1px solid var(--rule);background:var(--panel)}
table.ledger caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--rule2)}
table.ledger th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:11px 14px;border-bottom:1px solid var(--rule2);background:var(--panel2)}
table.ledger td{font-family:var(--mono);font-size:13.5px;padding:11px 14px;border-bottom:1px solid var(--rule2)}
table.ledger td.num,table.ledger th.num{text-align:right}
table.ledger tr:last-child td{border-bottom:0}
table.ledger tr:hover td{background:#fbf6f4}

/* record header (certificate) */
.record{border:1px solid var(--rule);background:var(--panel)}
.rec-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--rule);padding:24px 30px}
.rec-no{font-family:var(--mono);font-size:34px;font-weight:700;letter-spacing:-.02em}
.rec-sub{font-family:var(--serif);font-size:20px;color:#43413b;margin-top:3px}
.badge{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent-ink);padding:6px 11px;white-space:nowrap}
.badge.ok{border-color:var(--ok);color:var(--ok)}
.badge.warn{border-color:var(--warn);color:var(--warn)}

/* generic bordered panel + note */
.panel{border:1px solid var(--rule);background:var(--panel);padding:26px 30px}
.note{font-size:13px;color:var(--muted);line-height:1.55}
.kv{display:flex;gap:10px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}

/* footer */
footer.foot{margin-top:56px;border-top:1px solid var(--rule);padding:34px 0 60px}
footer.foot .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer.foot .fp{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.05em;max-width:60ch;line-height:1.7}
.brandf{font-family:var(--serif);font-size:20px}

@media(max-width:860px){
  .wrap{padding:0 22px}
  .stats{grid-template-columns:1fr 1fr}
  .h-xl{font-size:38px}.h-lg{font-size:30px}
  .tabs{display:none}
  table.ledger{display:block;overflow-x:auto}
}
