/* The Datum — surveyor's field journal system. Prefix td-.
   Palette: warm field paper, bitumen ink, hi-vis orange, eucalypt green,
   bluestone, brass instrument detail. */
:root{
  --td-paper:#f5f1e6;
  --td-paper-2:#efe9d9;
  --td-card:#fbf8f0;
  --td-ink:#22272a;
  --td-ink-2:#4a5054;
  --td-line:#cfc7b2;
  --td-orange:#d9521e;
  --td-green:#3c5f4a;
  --td-stone:#46596b;
  --td-brass:#9c7a2e;
  --td-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --td-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --td-mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--td-paper);
  color:var(--td-ink);
  font-family:var(--td-sans);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--td-stone);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--td-orange)}
.td-wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.td-skip{position:absolute;left:-9999px;top:0;background:var(--td-ink);color:#fff;padding:.5rem 1rem;z-index:99}
.td-skip:focus{left:1rem;top:1rem;color:#fff}

/* ---- masthead ---- */
.td-mast{border-top:6px solid var(--td-orange);border-bottom:1px solid var(--td-line);background:var(--td-paper)}
.td-mast__row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.1rem 0 .8rem}
.td-brand{display:flex;align-items:baseline;gap:.8rem;text-decoration:none;color:var(--td-ink)}
.td-brand:hover{color:var(--td-ink)}
.td-brand__sig{font-family:var(--td-mono);font-size:.72rem;letter-spacing:.14em;color:var(--td-brass);border:1px solid var(--td-brass);padding:.15rem .45rem;border-radius:2px;transform:translateY(-2px)}
.td-brand__name{font-family:var(--td-serif);font-weight:700;font-size:1.7rem;letter-spacing:-.01em}
.td-brand__tag{display:block;font-family:var(--td-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--td-ink-2);margin-top:.15rem}
.td-nav ul{list-style:none;display:flex;gap:0;flex-wrap:wrap}
.td-nav li+li{border-left:1px solid var(--td-line)}
.td-nav a{display:block;padding:.35rem .9rem;font-family:var(--td-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--td-ink-2)}
.td-nav a:hover{color:var(--td-orange);background:var(--td-paper-2)}
.td-nav a[aria-current="page"]{color:var(--td-orange);box-shadow:inset 0 -2px 0 var(--td-orange)}
.td-nav__toggle,.td-nav__handle{display:none}
@media (max-width:56rem){
  .td-mast__row{flex-direction:column;align-items:flex-start;gap:.7rem;padding-bottom:.4rem}
  .td-nav{width:100%}
  .td-nav__handle{display:inline-block;font-family:var(--td-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--td-ink);border:1px solid var(--td-line);padding:.4rem .8rem;cursor:pointer;background:var(--td-card)}
  .td-nav ul{display:none;flex-direction:column;border:1px solid var(--td-line);background:var(--td-card)}
  .td-nav li+li{border-left:0;border-top:1px solid var(--td-line)}
  .td-nav__toggle:checked~ul{display:flex}
  .td-nav__toggle:checked~.td-nav__handle,.td-nav__handle:hover{background:var(--td-paper-2)}
}

/* ---- crumb ---- */
.td-crumb{font-family:var(--td-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--td-ink-2);padding:.9rem 0 0}
.td-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.td-crumb li+li::before{content:"»";margin-right:.4rem;color:var(--td-brass)}
.td-crumb a{color:var(--td-ink-2);text-decoration:none}
.td-crumb a:hover{color:var(--td-orange)}

/* ---- hero home ---- */
.td-hero{border-bottom:1px solid var(--td-line);background:linear-gradient(180deg,var(--td-paper-2),var(--td-paper))}
.td-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:2.5rem;align-items:center;padding:2.6rem 0}
.td-hero__no{font-family:var(--td-mono);font-size:.72rem;letter-spacing:.2em;color:var(--td-brass);text-transform:uppercase}
.td-hero h1{font-family:var(--td-serif);font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.15;letter-spacing:-.015em;margin:.6rem 0 1rem}
.td-hero__deck{font-size:1.12rem;color:var(--td-ink-2);max-width:34rem}
.td-hero__cta{margin-top:1.4rem;display:flex;gap:.7rem;flex-wrap:wrap}
.td-btn{display:inline-block;font-family:var(--td-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.65rem 1.1rem;border:1px solid var(--td-ink);border-radius:2px}
.td-btn--solid{background:var(--td-ink);color:var(--td-paper)}
.td-btn--solid:hover{background:var(--td-orange);border-color:var(--td-orange);color:#fff}
.td-btn--ghost{color:var(--td-ink)}
.td-btn--ghost:hover{border-color:var(--td-orange);color:var(--td-orange)}
.td-hero__fig{margin:0}
.td-hero__fig img{width:100%;border:1px solid var(--td-line)}
.td-hero__fig figcaption,.td-photo figcaption{font-family:var(--td-mono);font-size:.7rem;letter-spacing:.04em;color:var(--td-ink-2);padding:.55rem .1rem 0;border-top:2px solid var(--td-brass);margin-top:.55rem}
@media (max-width:56rem){.td-hero__grid{grid-template-columns:1fr;padding:1.8rem 0}}

/* ---- bands and index ---- */
.td-band{padding:2.4rem 0;border-bottom:1px solid var(--td-line)}
.td-band--tint{background:var(--td-paper-2)}
.td-band--ink{background:var(--td-ink);color:var(--td-paper)}
.td-band--ink .td-standfirst{color:#d8d2c2}
.td-band--ink h2{color:var(--td-paper)}
.td-kicker{font-family:var(--td-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--td-orange);margin-bottom:.4rem}
.td-band--ink .td-kicker{color:#f0855a}
h2{font-family:var(--td-serif);font-size:1.55rem;letter-spacing:-.01em;line-height:1.25}
.td-standfirst{color:var(--td-ink-2);max-width:44rem;margin:.5rem 0 1.6rem}

/* tiles: the 4 section index */
.td-tiles{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:tile}
.td-tile{background:var(--td-card);border:1px solid var(--td-line);display:flex;flex-direction:column}
.td-tile__fig img{width:100%;aspect-ratio:16/10;object-fit:cover}
.td-tile>div{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.td-tile__no{font-family:var(--td-mono);font-size:.7rem;letter-spacing:.18em;color:var(--td-brass)}
.td-tile h3{font-family:var(--td-serif);font-size:1.08rem;line-height:1.3}
.td-tile h3 a{color:var(--td-ink);text-decoration:none}
.td-tile h3 a:hover{color:var(--td-orange)}
.td-tile__note{font-size:.88rem;color:var(--td-ink-2);flex:1}
.td-tile__meta{font-family:var(--td-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--td-stone)}
.td-tile{border-top:3px solid var(--td-green)}
.td-tile.td-v1{border-top-color:var(--td-orange)}
.td-tile.td-v2{border-top-color:var(--td-green)}
.td-tile.td-v3{border-top-color:var(--td-stone)}
.td-tile.td-v4{border-top-color:var(--td-brass)}
@media (max-width:56rem){.td-tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:34rem){.td-tiles{grid-template-columns:1fr}}

/* cards: the article index — the native donor slot */
.td-cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.td-card{background:var(--td-card);border:1px solid var(--td-line);display:flex;flex-direction:column}
.td-card__fig img{width:100%;aspect-ratio:16/10;object-fit:cover}
.td-card__body{padding:.9rem 1rem 1.05rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.td-card__tag{font-family:var(--td-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--td-green)}
.td-card h3{font-family:var(--td-serif);font-size:1.05rem;line-height:1.32}
.td-card h3 a{color:var(--td-ink);text-decoration:none}
.td-card h3 a:hover{color:var(--td-orange)}
.td-card__note{font-size:.88rem;color:var(--td-ink-2);flex:1}
.td-card__cap{font-family:var(--td-mono);font-size:.68rem;color:var(--td-stone);border-top:1px dashed var(--td-line);padding-top:.5rem}
.td-band--ink .td-card{background:#2b3236;border-color:#3d4449}
.td-band--ink .td-card h3 a{color:var(--td-paper)}
.td-band--ink .td-card__note{color:#c9c2b0}
.td-band--ink .td-card__tag{color:#8fb99d}
.td-band--ink .td-card__cap{color:#9aa4ad;border-top-color:#3d4449}
@media (max-width:56rem){.td-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:34rem){.td-cards{grid-template-columns:1fr}}
.td-more{margin-top:1.2rem;font-family:var(--td-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.td-more a{color:var(--td-stone)}
.td-band--ink .td-more a{color:#f0855a}

/* ledger list (restored archive) */
.td-ledger{list-style:none;border-top:1px solid var(--td-line)}
.td-entry{display:grid;grid-template-columns:5.5rem 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--td-line);align-items:baseline}
.td-entry__ref{font-family:var(--td-mono);font-size:.72rem;letter-spacing:.12em;color:var(--td-brass);text-transform:uppercase}
.td-entry h3{font-family:var(--td-serif);font-size:1.12rem;line-height:1.3}
.td-entry h3 a{color:var(--td-ink);text-decoration:none}
.td-entry h3 a:hover{color:var(--td-orange)}
.td-entry__amorce{font-size:.9rem;color:var(--td-ink-2);margin-top:.2rem}
@media (max-width:34rem){.td-entry{grid-template-columns:1fr;gap:.2rem}}

/* ---- article page ---- */
.td-page{display:grid;grid-template-columns:minmax(0,1fr) 16rem;gap:2.6rem;padding-bottom:2.4rem}
.td-article{padding:1.4rem 0}
.td-article>.td-kicker{margin-bottom:.2rem}
.td-article h1{font-family:var(--td-serif);font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.18;letter-spacing:-.012em;margin:.3rem 0 .7rem}
.td-article__standfirst{font-size:1.12rem;color:var(--td-ink-2);border-left:3px solid var(--td-orange);padding-left:1rem;margin-bottom:.9rem}
.td-article__meta{list-style:none;display:flex;flex-wrap:wrap;gap:1.1rem;font-family:var(--td-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--td-ink-2);border-top:1px solid var(--td-line);border-bottom:1px solid var(--td-line);padding:.55rem 0;margin-bottom:1.4rem}
.td-article__meta a{color:var(--td-ink-2)}
.td-photo{margin:0 0 1.6rem}
.td-photo img{width:100%;border:1px solid var(--td-line)}
.td-body h2{font-size:1.32rem;margin:1.9rem 0 .55rem;padding-top:.6rem;border-top:1px solid var(--td-line);position:relative}
.td-body h2::before{content:"";position:absolute;top:-1px;left:0;width:2.6rem;height:3px;background:var(--td-orange)}
.td-body p{margin:.8rem 0;max-width:42rem}
.td-body a{color:var(--td-stone)}
.td-body a:hover{color:var(--td-orange)}
.td-body ul,.td-body ol{margin:.8rem 0 .8rem 1.4rem;max-width:40rem}
.td-body li{margin:.35rem 0}
.td-hublist{margin-top:2rem}
.td-onward{margin-top:2.2rem;border:1px solid var(--td-line);background:var(--td-card);padding:1.1rem 1.2rem}
.td-onward h2{font-size:1rem;font-family:var(--td-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--td-brass)}
.td-onward ul{list-style:none;margin-top:.6rem}
.td-onward li{padding:.4rem 0;border-top:1px dashed var(--td-line);font-family:var(--td-serif);font-size:1rem}
.td-onward a{text-decoration:none;color:var(--td-ink)}
.td-onward a:hover{color:var(--td-orange)}

/* side rail: field notes */
.td-rail{padding-top:1.4rem;display:flex;flex-direction:column;gap:1.1rem}
.td-note{border:1px solid var(--td-line);background:var(--td-card);border-top:3px solid var(--td-green)}
.td-note.td-v1{border-top-color:var(--td-orange)}
.td-note.td-v2{border-top-color:var(--td-stone)}
.td-note.td-v3{border-top-color:var(--td-brass)}
.td-note.td-v4{border-top-color:var(--td-green)}
.td-note h2{font-family:var(--td-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--td-ink-2);padding:.7rem .9rem;border-bottom:1px solid var(--td-line);background:var(--td-paper-2)}
.td-note ul{list-style:none;padding:.5rem .9rem .9rem}
.td-note li{padding:.35rem 0;font-size:.86rem;border-top:1px dashed var(--td-line)}
.td-note li:first-child{border-top:0}
.td-note a{color:var(--td-ink);text-decoration:none}
.td-note a:hover{color:var(--td-orange)}
.td-note__toc a{font-family:var(--td-mono);font-size:.74rem}
@media (max-width:56rem){.td-page{grid-template-columns:1fr}.td-rail{flex-direction:row;flex-wrap:wrap}.td-note{flex:1 1 14rem}}

/* ---- service page ---- */
.td-legal p{max-width:44rem}

/* ---- 404 ---- */
.td-404{padding:3rem 0}
.td-404 article{max-width:36rem;background:var(--td-card);border:1px solid var(--td-line);border-left:4px solid var(--td-orange);padding:1.6rem 1.8rem}
.td-404 h1{font-family:var(--td-serif);font-size:1.9rem;margin:.3rem 0 .7rem}
.td-404 p{color:var(--td-ink-2)}

/* ---- footer ---- */
.td-foot{border-top:4px solid var(--td-ink);background:var(--td-paper-2);margin-top:0}
.td-foot__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:2rem 0 1.4rem}
.td-foot h2{font-family:var(--td-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--td-brass);margin-bottom:.6rem}
.td-foot p{font-size:.88rem;color:var(--td-ink-2);max-width:30rem;margin-bottom:.6rem}
.td-foot ul{list-style:none}
.td-foot li{padding:.2rem 0;font-size:.88rem}
.td-foot a{color:var(--td-ink-2);text-decoration:none}
.td-foot a:hover{color:var(--td-orange)}
.td-foot__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;border-top:1px solid var(--td-line);padding:.8rem 0 1.4rem;font-family:var(--td-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--td-ink-2)}
.td-foot__base a{color:var(--td-ink-2);text-decoration:none}
@media (max-width:56rem){.td-foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:34rem){.td-foot__grid{grid-template-columns:1fr}}
