/* ============================================================
   HandshakeMD design system

   Two colors, two jobs.
   Terracotta is the ACTION color: buttons, calls to action, the
   left rule on a row you can click.
   Muted blue is the DATA color: credentials, licensure, dates,
   mono labels, hairlines in the index, hover ink.
   Nothing else gets to be an accent.
   ============================================================ */

:root{
  /* Brand palette */
  --ink:#12141C;
  --graphite:#41464A;
  --slate:#94B7C7;
  --clay:#C96E4B;
  --mist:#F5F5F5;
  --parchment:#EDEAE4;

  /* Derived, all contrast checked against their own ground */
  --clay-deep:#8F4A2C;      /* clay for small text on light */
  --clay-lift:#D8825F;      /* clay for text on ink */
  --slate-deep:#37637A;     /* slate for small text on light */
  --slate-soft:#B7CFDA;     /* slate for text on ink */
  --paper:#FBFAF8;
  --line:rgba(18,20,28,.13);
  --line-soft:rgba(18,20,28,.07);
  --line-slate:rgba(148,183,199,.42);
  --ink-2:#1A1D26;          /* one step off ink, for layering on dark */

  --bg:var(--parchment);
  --fg:var(--ink);

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --wrap:1180px;
  --gut:clamp(1.25rem,4vw,3rem);
  --r:3px;
  --ease:cubic-bezier(.22,.68,.36,1);
  --fast:.16s;
  --med:.28s;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.001ms!important}
}

body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:1.0625rem;line-height:1.65;
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  position:relative;
}

/* Paper grain. The single detail that stops this reading as flat template. */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
@media print{body::before{display:none}}

img{max-width:100%;height:auto;display:block}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}

a{color:var(--clay-deep);text-decoration:underline;text-underline-offset:.17em;text-decoration-thickness:.055em;transition:color var(--fast) var(--ease),text-decoration-color var(--fast) var(--ease)}
a:hover{color:var(--ink);text-decoration-color:var(--slate)}
:focus-visible{outline:2px solid var(--slate-deep);outline-offset:3px;border-radius:2px}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em;font-variant-numeric:oldstyle-nums}
h1{font-size:clamp(2.5rem,6.2vw,4.25rem);letter-spacing:-.028em}
h2{font-size:clamp(1.85rem,3.6vw,2.7rem);line-height:1.14;letter-spacing:-.02em}
h3{font-size:clamp(1.2rem,1.9vw,1.45rem);line-height:1.28;letter-spacing:-.012em}
h4{font-size:1.0625rem;font-family:var(--sans);font-weight:600;letter-spacing:0}
p{margin:0 0 1.1em;max-width:68ch}
.lede{font-size:clamp(1.11rem,1.85vw,1.3rem);line-height:1.6;color:var(--graphite)}
strong,b{font-weight:600}

/* Mono labels carry the data voice */
.eyebrow{
  font-family:var(--mono);font-size:.715rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--slate-deep);margin:0 0 1.15rem;display:flex;align-items:center;gap:.75rem;font-weight:500;
}
.eyebrow::before{content:"";width:2rem;height:1px;background:var(--slate);flex:none;transition:width var(--med) var(--ease)}
.eyebrow--plain::before{display:none}
a.eyebrow{text-decoration:none;width:fit-content}
a.eyebrow:hover{color:var(--ink)}
a.eyebrow:hover::before{width:3rem;background:var(--clay)}

/* ---------- Layout ---------- */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);position:relative;z-index:2}
.wrap--narrow{max-width:760px}
section{padding-block:clamp(3.5rem,7vw,6rem);position:relative}
main>section:first-child{padding-top:clamp(2.25rem,4.5vw,3.25rem)}
main>.hero:first-child{padding-top:0}

.band-paper{background:var(--paper)}
.band-mist{background:var(--mist)}
.band-ink{background:var(--ink);color:#DDE0E4}
.band-ink h2,.band-ink h3,.band-ink h4{color:#fff}
.band-ink p{color:#C2C6CC}
.band-ink .lede{color:#C2C6CC}
.band-ink a{color:var(--slate-soft)}
.band-ink a:hover{color:#fff;text-decoration-color:var(--clay-lift)}
.band-ink .eyebrow{color:var(--slate-soft)}
.band-ink .eyebrow::before{background:var(--slate)}

/* Section marker in the left margin, the way a printed reference numbers itself */
.marked{position:relative}
.marked::before{
  content:attr(data-mark);position:absolute;top:.35rem;left:calc(var(--gut) * -1);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--slate-deep);opacity:.75;writing-mode:vertical-rl;
}
.band-ink .marked::before{color:var(--slate);opacity:.6}
@media (max-width:1340px){.marked::before{display:none}}

.grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:920px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.section-head{max-width:60ch;margin-bottom:clamp(2rem,4vw,3rem)}

/* ---------- Skip link ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1.1rem;z-index:300}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- Crisis bar ---------- */
.crisis{background:var(--ink);color:#C6CAD0;font-size:.8rem;padding:.6rem 0;font-family:var(--mono);letter-spacing:.015em;position:relative;z-index:2}
.crisis .wrap{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center}
.crisis a{color:var(--slate-soft);text-decoration-thickness:.07em}
.crisis a:hover{color:#fff}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:100;
  background:rgba(237,234,228,.82);
  backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);
  border-bottom:1px solid transparent;
  transition:background var(--med) var(--ease),border-color var(--med) var(--ease);
}
.site-head[data-scrolled="true"]{background:rgba(237,234,228,.96);border-bottom-color:var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:78px}

.brand{display:flex;flex-direction:column;gap:.34rem;text-decoration:none;flex:none;line-height:1}
.brand-logo{height:30px;width:auto;transition:opacity var(--fast) var(--ease)}
.brand:hover .brand-logo{opacity:.72}
.brand-sub{
  font-family:var(--mono);font-size:.575rem;letter-spacing:.165em;text-transform:uppercase;
  color:var(--graphite);text-decoration:none;width:fit-content;
  border-bottom:1px solid transparent;padding-bottom:1px;
  transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease);
}
.brand-sub:hover{color:var(--slate-deep);border-bottom-color:var(--slate)}

.nav{margin-left:auto;display:flex;align-items:center;gap:1.65rem}
.nav a{
  font-size:.935rem;color:var(--ink);text-decoration:none;font-weight:450;
  position:relative;padding-block:.35rem;
}
.nav a:not(.btn)::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--slate-deep);
  transition:right var(--med) var(--ease);
}
.nav a:not(.btn):hover::after,.nav a:not(.btn)[aria-current="page"]::after{right:0}
.nav a:not(.btn)[aria-current="page"]{color:var(--slate-deep)}

.nav-toggle{
  display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--r);
  padding:.5rem .75rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer;color:var(--ink);
  transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease);
}
.nav-toggle:hover{border-color:var(--slate);color:var(--slate-deep)}
@media (max-width:980px){
  .nav-toggle{display:block}
  .nav{
    position:fixed;inset:78px 0 auto 0;background:var(--parchment);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gut) 1.75rem;margin:0;display:none;
    max-height:calc(100dvh - 78px);overflow:auto;
  }
  .nav[data-open="true"]{display:flex;animation:navIn .22s var(--ease)}
  @keyframes navIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .nav a{padding:.95rem 0;border-bottom:1px solid var(--line-soft);font-size:1.05rem}
  .nav a:not(.btn)::after{display:none}
  .nav .btn{margin-top:1.15rem;justify-content:center;border-bottom:0}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-size:.94rem;font-weight:550;letter-spacing:.004em;
  padding:.76rem 1.4rem;border-radius:var(--r);border:1px solid transparent;
  text-decoration:none;cursor:pointer;position:relative;overflow:hidden;
  transition:background var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease);
}
.btn--primary{background:var(--clay);color:#fff;border-color:var(--clay)}
.btn--primary:hover{background:var(--clay-deep);border-color:var(--clay-deep);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(18,20,28,.26)}
.btn--ghost:hover{border-color:var(--slate-deep);color:var(--slate-deep);background:rgba(148,183,199,.12)}
.btn--onDark{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn--onDark:hover{background:rgba(148,183,199,.16);border-color:var(--slate);color:#fff}
.btn--sm{padding:.52rem .95rem;font-size:.855rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-img{
  width:100%;height:100%;object-fit:cover;object-position:52% 50%;
  animation:heroDrift 22s var(--ease) forwards;
}
@keyframes heroDrift{from{transform:scale(1.055)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero-img{animation:none}}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(120% 90% at 82% 45%,transparent 25%,rgba(10,11,16,.45) 100%),
    linear-gradient(96deg,rgba(10,11,16,.96) 0%,rgba(10,11,16,.92) 30%,rgba(10,11,16,.68) 52%,rgba(10,11,16,.22) 74%,rgba(10,11,16,.3) 100%);
}
.hero .wrap{padding-block:clamp(3.5rem,9vw,7rem);min-height:min(76vh,700px);display:flex;flex-direction:column;justify-content:center}
.hero-inner{max-width:40rem}
.hero h1{color:#fff;font-size:clamp(2.6rem,6.6vw,4.5rem);margin-bottom:.36em;text-wrap:balance}
.hero h1 em{display:block;font-style:normal;color:var(--clay-lift)}
.hero p{color:#D3D7DC;font-size:clamp(1.05rem,1.65vw,1.2rem);max-width:34rem}

.stamps{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.35rem;max-width:41rem}
.stamp{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;
  padding:.44rem .8rem;border:1px solid rgba(148,183,199,.3);border-radius:100px;color:#C6CBD1;
  display:inline-flex;align-items:center;gap:.55rem;background:rgba(148,183,199,.06);
  transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease),background var(--fast) var(--ease);
}
.stamp::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--slate);flex:none}
.stamp:hover{border-color:var(--slate);color:#fff;background:rgba(148,183,199,.13)}
@media (max-width:780px){
  .hero-img{object-position:66% 46%}
  .hero::after{background:linear-gradient(180deg,rgba(10,11,16,.92) 0%,rgba(10,11,16,.84) 55%,rgba(10,11,16,.7) 100%)}
}

/* ---------- Signature: confirmation stamp + freshness meter ---------- */
.confirm{font-family:var(--mono);font-size:.735rem;letter-spacing:.035em;color:var(--graphite);display:flex;align-items:center;gap:.5rem;margin:0}
.confirm b{font-weight:500;color:var(--ink)}
.band-ink .confirm b{color:#fff}
.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--slate)}
.dot--open{background:#3F7D5C}
.dot--wait{background:#B8862F}
.dot--closed{background:#8C8F94}

.meter{--pct:20;position:relative;height:2px;background:var(--line-slate);margin-top:.72rem;overflow:hidden;border-radius:2px}
.meter::after{
  content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--pct) * 1%);background:var(--slate-deep);
  transition:width .55s var(--ease),background var(--med) var(--ease);
}
.meter[data-state="stale"]::after{background:#B8862F}
.meter[data-state="dormant"]::after{background:#8C8F94}
.meter-label{
  font-family:var(--mono);font-size:.675rem;letter-spacing:.055em;color:var(--graphite);
  margin:.42rem 0 0;text-transform:uppercase;font-variant-numeric:tabular-nums;
  transition:color var(--fast) var(--ease);
}
.band-ink .meter{background:rgba(148,183,199,.22)}
.band-ink .meter-label{color:#8E949C}

/* ---------- The index: record rows ---------- */
.records{border-top:1px solid var(--ink)}
.record{
  display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1.5fr) minmax(0,1.05fr) minmax(0,.95fr);
  gap:1.25rem;padding:1.4rem 0 1.4rem 0;border-bottom:1px solid var(--line);align-items:start;
  text-decoration:none;color:inherit;position:relative;
  transition:background var(--fast) var(--ease),padding-left var(--med) var(--ease);
}
.record::before{
  content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--clay);
  transform:scaleY(0);transform-origin:top;transition:transform var(--med) var(--ease);
}
a.record:hover{background:rgba(148,183,199,.09);padding-left:1.1rem}
a.record:hover::before{transform:scaleY(1)}
a.record:hover .record-name{color:var(--slate-deep)}
a.record:hover .meter-label{color:var(--ink)}
.record-name{font-family:var(--serif);font-size:1.22rem;line-height:1.25;margin:0 0 .28rem;color:var(--ink);transition:color var(--fast) var(--ease)}
.record-cred{font-family:var(--mono);font-size:.705rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-deep);margin:0}
.record-meta{font-size:.885rem;color:var(--graphite);margin:.35rem 0 0;font-variant-numeric:tabular-nums}
.record-fit{font-size:.885rem;color:var(--graphite);margin:0}
.record-fit b{color:var(--ink);font-weight:550}
.record-pay{font-family:var(--mono);font-size:.83rem;color:var(--ink);font-variant-numeric:tabular-nums}
.record-pay span{display:block;color:var(--graphite);font-size:.755rem;margin-top:.28rem}
@media (max-width:860px){
  .record{grid-template-columns:1fr 1fr;gap:.8rem 1.25rem}
  .record-name-cell{grid-column:1/-1}
}
@media (max-width:520px){.record{grid-template-columns:1fr}}

/* ---------- Cards ---------- */
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.4rem,2.6vw,2rem);position:relative;
  transition:border-color var(--med) var(--ease),background var(--med) var(--ease);
}
.card:hover{border-color:var(--line-slate)}
.card h3{margin-top:0}
.card p:last-child{margin-bottom:0}

.card--flat{background:transparent;border:0;border-radius:0;padding:1.5rem 0 0;position:relative}
.card--flat::before{
  content:"";position:absolute;top:0;left:0;height:2px;width:2.5rem;background:var(--ink);
  transition:width var(--med) var(--ease),background var(--med) var(--ease);
}
.card--flat:hover::before{width:100%;background:var(--slate-deep)}
.band-ink .card{background:rgba(148,183,199,.05);border-color:rgba(148,183,199,.16)}
.band-ink .card:hover{border-color:rgba(148,183,199,.4)}
.band-ink .card--flat{background:transparent;border:0}
.band-ink .card--flat::before{background:var(--slate)}
.band-ink .card--flat:hover::before{background:var(--clay-lift)}

.num{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--slate-deep);display:block;margin-bottom:.65rem}
.band-ink .num{color:var(--slate)}

/* ---------- Field list ---------- */
.fields{border-top:1px solid var(--ink);margin:0}
.field{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.5rem 2rem;padding:1.05rem 0;border-bottom:1px solid var(--line-soft)}
.field dt{font-family:var(--mono);font-size:.705rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-deep);margin:0}
.field dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}
.field dd ul{margin:0;padding-left:1.1rem}
@media (max-width:640px){.field{grid-template-columns:1fr;gap:.3rem}}

.tags{display:flex;flex-wrap:wrap;gap:.42rem;margin:0;padding:0;list-style:none}
.tag{
  font-family:var(--mono);font-size:.735rem;letter-spacing:.035em;
  border:1px solid var(--line-slate);background:rgba(148,183,199,.09);
  padding:.3rem .65rem;border-radius:100px;color:var(--ink);
  transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease);
}
.tag:hover{background:var(--slate-deep);border-color:var(--slate-deep);color:#fff}
.tag--no{border-color:rgba(143,74,44,.3);background:rgba(201,110,75,.08);color:#7A3E24}
.tag--no:hover{background:var(--clay-deep);border-color:var(--clay-deep);color:#fff}

/* ---------- Search UI ---------- */
.searchbar{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1.3rem}
.searchbar input[type="search"]{
  flex:1 1 22rem;min-width:0;font-family:var(--sans);font-size:1rem;padding:.88rem 1.05rem;
  border:1px solid rgba(18,20,28,.24);border-radius:var(--r);background:#fff;color:var(--ink);
  transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease);
}
.searchbar input[type="search"]:hover{border-color:var(--slate)}
.searchbar input[type="search"]:focus{outline:none;border-color:var(--slate-deep);box-shadow:0 0 0 3px rgba(148,183,199,.28)}
.searchbar input::placeholder{color:#8B9096}

.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.85rem;padding:0;list-style:none}
.chip{
  font-family:var(--mono);font-size:.755rem;letter-spacing:.025em;background:transparent;
  border:1px solid var(--line);border-radius:100px;padding:.42rem .85rem;cursor:pointer;color:var(--graphite);
  transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease),background var(--fast) var(--ease);
}
.chip:hover{border-color:var(--slate-deep);color:var(--slate-deep);background:rgba(148,183,199,.12)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.chip[aria-pressed="true"]:hover{background:var(--slate-deep);border-color:var(--slate-deep)}

.filters{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.1rem;
  padding:1.35rem;background:var(--mist);border:1px solid var(--line);
  border-left:2px solid var(--slate);border-radius:var(--r);margin-bottom:1.85rem;
}
.filters label{display:block;font-family:var(--mono);font-size:.685rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-deep);margin-bottom:.42rem}
.filters select,.filters input{
  width:100%;padding:.62rem .7rem;font-family:var(--sans);font-size:.92rem;
  border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);cursor:pointer;
  transition:border-color var(--fast) var(--ease);
}
.filters select:hover,.filters input:hover{border-color:var(--slate)}
.result-count{font-family:var(--mono);font-size:.795rem;letter-spacing:.045em;color:var(--graphite);margin-bottom:.6rem;font-variant-numeric:tabular-nums}

.empty{border:1px dashed rgba(148,183,199,.55);padding:2rem;border-radius:var(--r);background:rgba(148,183,199,.07)}
.empty h3{margin-top:0}
.empty p:last-child{margin-bottom:0}

/* ---------- Callout ---------- */
.callout{border-left:2px solid var(--clay);padding:.35rem 0 .35rem 1.5rem;margin:2.2rem 0}
.callout p{font-family:var(--serif);font-size:clamp(1.22rem,2.3vw,1.55rem);line-height:1.42;color:var(--ink);margin:0}
.band-ink .callout{border-left-color:var(--clay-lift)}
.band-ink .callout p{color:#fff}

.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding:.6rem 0 .6rem 1.95rem;position:relative;border-bottom:1px solid var(--line-soft)}
.checklist li::before{content:"";position:absolute;left:0;top:1.2rem;width:.7rem;height:.7rem;border-radius:50%;border:2px solid var(--slate-deep)}
.band-ink .checklist li{border-bottom-color:rgba(148,183,199,.15)}
.band-ink .checklist li::before{border-color:var(--slate)}
.checklist--no li::before{border:0;background:#9A9DA2;border-radius:0;height:2px;top:1.55rem;width:.85rem}

/* ---------- Accordion ---------- */
details.faq{border-bottom:1px solid var(--line);padding:.3rem 0}
details.faq summary{
  cursor:pointer;list-style:none;padding:1.05rem 2.5rem 1.05rem 0;position:relative;
  font-family:var(--serif);font-size:1.13rem;line-height:1.35;color:var(--ink);
  transition:color var(--fast) var(--ease);
}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:hover{color:var(--slate-deep)}
details.faq summary::after{
  content:"";position:absolute;right:.5rem;top:50%;width:11px;height:11px;
  border-right:1.5px solid var(--slate-deep);border-bottom:1.5px solid var(--slate-deep);
  transform:translateY(-70%) rotate(45deg);transition:transform var(--med) var(--ease);
}
details.faq[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details.faq .faq-body{padding:0 0 1.15rem;animation:faqIn .24s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
details.faq .faq-body p:last-child{margin-bottom:0}

/* ---------- Tables ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}
table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.93rem;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.78rem 1rem .78rem 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:.695rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-deep);font-weight:500}
tbody tr{transition:background var(--fast) var(--ease)}
tbody tr:hover{background:rgba(148,183,199,.09)}
.band-ink th{color:var(--slate)}
.band-ink td{border-bottom-color:rgba(148,183,199,.16)}
.band-ink tbody tr:hover{background:rgba(148,183,199,.07)}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.15rem}
.field-set label{display:block;font-family:var(--mono);font-size:.685rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-deep);margin-bottom:.42rem}
.band-ink .field-set label{color:var(--slate)}
.field-set input,.field-set select,.field-set textarea{
  width:100%;padding:.68rem .78rem;font-family:var(--sans);font-size:.95rem;
  border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);
  transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease);
}
.field-set input:hover{border-color:var(--slate)}
.field-set input:focus,.field-set select:focus,.field-set textarea:focus{outline:none;border-color:var(--slate-deep);box-shadow:0 0 0 3px rgba(148,183,199,.28)}
.field-set .hint{font-size:.815rem;color:var(--graphite);margin:.35rem 0 0}
.output{background:#fff;border:1px solid var(--line);border-top:2px solid var(--slate);border-radius:var(--r);padding:clamp(1.25rem,3vw,2rem);margin-top:1.85rem;font-size:.95rem}
.output h3{margin-top:0}
.output dl{margin:0}

/* ---------- Network strip ---------- */
.network-strip{border-top:1px solid var(--line);padding-block:clamp(2.5rem,5vw,3.5rem)}
.network-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.2rem 2rem}
.network-list a{
  font-size:.93rem;text-decoration:none;color:var(--ink);display:block;
  padding:.6rem 0;border-bottom:1px solid var(--line-soft);position:relative;
  transition:color var(--fast) var(--ease),padding-left var(--med) var(--ease),border-color var(--fast) var(--ease);
}
.network-list a::before{
  content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--slate-deep);
  transform:translateY(-50%);transition:width var(--med) var(--ease);
}
.network-list a:hover{color:var(--slate-deep);padding-left:1.15rem;border-bottom-color:var(--line-slate)}
.network-list a:hover::before{width:.75rem}
.network-list span{display:block;font-family:var(--mono);font-size:.665rem;letter-spacing:.09em;text-transform:uppercase;color:var(--graphite);margin-top:.18rem}

/* ---------- Footer ---------- */
.site-foot{background:var(--ink);color:#AEB3B9;font-size:.895rem;padding-block:clamp(3rem,6vw,4.5rem) 2rem;position:relative;z-index:2}
.site-foot h4{color:#fff;font-family:var(--mono);font-size:.685rem;letter-spacing:.145em;text-transform:uppercase;font-weight:500;margin:0 0 1.05rem}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin-bottom:.55rem}
.site-foot a{color:#AEB3B9;text-decoration:none;transition:color var(--fast) var(--ease)}
.site-foot a:hover{color:#fff}
.site-foot .foot-links a{position:relative;padding-bottom:1px;border-bottom:1px solid transparent;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}
.site-foot .foot-links a:hover{border-bottom-color:var(--slate)}
.foot-cols{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2.5rem}
@media (max-width:860px){.foot-cols{grid-template-columns:1fr 1fr;gap:2rem}}
@media (max-width:520px){.foot-cols{grid-template-columns:1fr}}
.foot-logo{height:28px;width:auto;margin-bottom:.6rem}
.foot-brand .brand-sub{color:#8B9198;display:inline-block}
.foot-brand .brand-sub:hover{color:var(--slate-soft);border-bottom-color:var(--slate)}
.foot-bottom{border-top:1px solid rgba(148,183,199,.18);margin-top:3rem;padding-top:1.8rem;font-size:.815rem;color:#868C93}
.foot-bottom p{max-width:none;margin-bottom:.75rem}
.foot-bottom a{color:var(--slate-soft)}

/* ---------- Utility ---------- */
.mono{font-family:var(--mono)}
.small{font-size:.875rem}
.muted{color:var(--graphite)}
.band-ink .muted{color:#9AA0A7}
.center{text-align:center}
.mt0{margin-top:0}.mb0{margin-bottom:0}
.stack>*+*{margin-top:1.1rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* Print */
@media print{
  .site-head,.site-foot,.crisis,.btn,.nav,.network-strip{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  body::before{display:none}
  .hero{background:#fff}
  a{color:#000;text-decoration:none}
}


/* The freshness card holds position while its explanation scrolls */
@media (min-width:961px){
  .clock-sticky{align-self:center}
}
