
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url("https://fonts.gstatic.com/s/publicsans/v21/ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url("https://fonts.gstatic.com/s/publicsans/v21/ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url("https://fonts.gstatic.com/s/publicsans/v21/ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url("https://fonts.gstatic.com/s/publicsans/v21/ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-style:italic;font-weight:400;font-display:swap;src:url("https://fonts.gstatic.com/s/publicsans/v21/ijwAs572Xtc6ZYQws9YVwnNDZpDyNjGolS673tpRgDcqd1s.woff2") format("woff2")}
/* ===========================================================
   FIELD REPORT — light ground, navy ink, hairline rules.
   Public Sans (US federal design system). Sentence case.
   Yellow is a status marker only, never decoration.
   =========================================================== */
:root{
  --ground:#F8F9FA;
  --surface:#FFFFFF;
  --surface-2:#F1F4F7;
  --ink:#0F2438;
  --ink-2:#4A5A6E;
  --ink-3:#6B7A8C;
  --rule:#D5DCE4;
  --rule-2:#B9C4D0;
  --navy:#12395F;        /* link + accent text */
  --navy-hi:#0C2942;
  --btn-bg:#12395F;      /* solid action fill, paired with --btn-fg */
  --btn-fg:#FFFFFF;
  --btn-bg-hi:#0C2942;
  --field:#FFFFFF;       /* input fill, distinct from panel */
  --yellow:#E8A317;
  --yellow-soft:#FDF4E0;
  --red:#B3261E;
  --red-soft:#FBECEB;
  --green:#1E6B47;
  --tap:48px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0E1726;
    --surface:#152134;
    --surface-2:#1C2A3F;
    --ink:#EAEFF5;
    --ink-2:#B3C0D0;
    --ink-3:#8C9BAD;
    --rule:#2A3A50;
    --rule-2:#3A4C64;
    --navy:#8FB6DE; --navy-hi:#B4D0EC;
    --btn-bg:#9CC4EA; --btn-fg:#0A1524; --btn-bg-hi:#C2DBF3;
    --field:#0D1828;
    --btn-bg:#9CC4EA; --btn-fg:#0A1524; --btn-bg-hi:#C2DBF3;
    --field:#0D1828;
    --yellow:#F0B93F;
    --yellow-soft:#2A2313;
    --red:#F08A82;
    --red-soft:#2E1917;
    --green:#6FBF95;
  }
}
:root[data-theme="dark"]{
  --ground:#0E1726; --surface:#152134; --surface-2:#1C2A3F;
  --ink:#EAEFF5; --ink-2:#B3C0D0; --ink-3:#8C9BAD;
  --rule:#2A3A50; --rule-2:#3A4C64;
  --navy:#8FB6DE; --navy-hi:#B4D0EC;
    --btn-bg:#9CC4EA; --btn-fg:#0A1524; --btn-bg-hi:#C2DBF3;
    --field:#0D1828;
  --yellow:#F0B93F; --yellow-soft:#2A2313;
  --red:#F08A82; --red-soft:#2E1917; --green:#6FBF95;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  padding-bottom:62px;
}
@media(min-width:860px){body{padding-bottom:0}}
/* Sections, the masthead, the hero and the footer run edge to edge.
   Content inside them sits on a centered measure so lines stay readable
   on wide screens. Tables and the comparison grid use the wider measure. */
.wrap{width:100%;max-width:1360px;margin:0 auto;padding:0 20px}
@media(min-width:860px){.wrap{padding:0 40px}}
@media(min-width:1500px){.wrap{max-width:1440px}}
.wrap>*{min-width:0}
h1,h2,h3,h4{margin:0;color:var(--ink);text-wrap:balance;font-weight:700;letter-spacing:-.012em}
p{margin:0 0 15px}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

.eyebrow{
  font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);
}
.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:300;background:var(--surface);color:var(--ink);padding:13px 18px;border:2px solid var(--navy)}

/* ---------- demo bar ---------- */
.demobar{
  background:var(--surface-2);border-bottom:1px solid var(--rule);color:var(--ink-2);
  font-size:12.5px;letter-spacing:.05em;padding:7px 0;
}
.demobar .wrap{display:flex;gap:10px;align-items:center;justify-content:center;text-align:center}

/* ---------- masthead ---------- */
.mast{background:var(--surface);border-bottom:1px solid var(--rule)}
.mast-in{display:flex;align-items:center;gap:14px;min-height:72px}
/* The mark is black ink on white, so it rides a white plate to stay legible
   on the dark header. The artwork itself is never recoloured. */
.logo{display:inline-flex;align-items:center;text-decoration:none;flex:none;
  background:#fff;padding:6px 10px;border-radius:3px;box-shadow:0 0 0 1px var(--rule)}
.logo img{display:block;height:38px;width:auto}
@media(min-width:600px){.logo img{height:46px}}
.mast nav{display:none;margin-left:28px}
@media(min-width:1040px){.mast nav{display:block}}
.mast nav ul{display:flex;list-style:none;margin:0;padding:0;gap:2px}
.mast nav a{
  display:block;text-decoration:none;color:var(--ink-2);padding:8px 13px;border-radius:3px;
  font-size:15.5px;font-weight:600;
}
.mast nav a:hover{color:var(--ink);background:var(--surface-2)}
.mast nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--navy)}
@media(max-width:374px){.mast-in{padding-top:8px;padding-bottom:8px;row-gap:4px}}

/* ---------- breadcrumb ---------- */
.crumb{background:var(--ground);border-bottom:1px solid var(--rule)}
.crumb .wrap{padding-top:10px;padding-bottom:10px;font-size:13.5px;color:var(--ink-3)}
.crumb a{color:var(--ink-2);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb b{color:var(--ink);font-weight:600}

/* ---------- video hero ---------- */
.vhero{position:relative;background:#0B1420;overflow:hidden;border-bottom:1px solid var(--rule)}
.vhero-media{position:absolute;inset:0;z-index:0}
.vhero-media video,.vhero-media .poster{
  width:100%;height:100%;object-fit:cover;display:block;
}
/* Placeholder shown when no video source resolves (artifact CSP blocks external media). */
.vhero-media .poster{
  background:
    radial-gradient(120% 90% at 18% 12%, rgba(63,102,150,.55) 0%, rgba(11,20,32,0) 60%),
    radial-gradient(90% 70% at 82% 88%, rgba(232,163,23,.20) 0%, rgba(11,20,32,0) 62%),
    linear-gradient(180deg,#122036 0%,#0B1420 100%);
  position:relative;
}
.vhero-media .poster::after{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 96px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 96px);
}
.vhero-scrim{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(8,15,25,.94) 0%,rgba(8,15,25,.86) 42%,rgba(8,15,25,.55) 78%,rgba(8,15,25,.45) 100%),
    linear-gradient(0deg,rgba(8,15,25,.75) 0%,rgba(8,15,25,0) 45%);
}
.vhero-in{position:relative;z-index:2;padding:74px 0 46px}
@media(min-width:860px){.vhero-in{padding:104px 0 76px;min-height:520px;display:flex;align-items:center}}
.vhero-in .eyebrow{color:#A9BDD4}
.vhero h1{
  font-size:clamp(31px,4.6vw,50px);line-height:1.12;font-weight:700;color:#fff;
  max-width:19ch;margin:16px 0 0;letter-spacing:-.022em;
}
.vhero .lede{
  font-size:clamp(17.5px,1.7vw,20.5px);color:#D7E1EC;max-width:60ch;
  margin:20px 0 0;line-height:1.55;
}
.vhero .licline{border-top-color:rgba(255,255,255,.22);color:#A9BDD4}
.vhero .licline i{color:rgba(255,255,255,.3)}
.vhero .btn-b{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.vhero .btn-b:hover{background:#fff;color:#0B1420;border-color:#fff}
.vhero--sub .vhero-in{padding:56px 0 44px}
@media(min-width:860px){.vhero--sub .vhero-in{padding:76px 0 62px;min-height:380px}}
.vhero--sub h1{font-size:clamp(28px,3.9vw,44px)}
.vnote{
  position:absolute;right:14px;bottom:12px;z-index:3;
  background:rgba(8,15,25,.72);color:#C7D4E2;border:1px solid rgba(255,255,255,.2);
  font-size:11.5px;letter-spacing:.05em;padding:5px 9px;border-radius:3px;max-width:62vw;
}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:var(--tap);padding:0 22px;border-radius:3px;text-decoration:none;
  font-weight:700;font-size:16px;border:2px solid transparent;cursor:pointer;
}
.btn-a{background:var(--btn-bg);color:var(--btn-fg)}
.btn-a:hover{background:var(--btn-bg-hi)}
.btn-b{border-color:var(--rule-2);color:var(--ink);background:var(--surface)}
.btn-b:hover{border-color:var(--navy);color:var(--navy)}
.licline{
  margin-top:36px;border-top:1px solid var(--rule);padding:14px 0 20px;
  font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);
}
.licline{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:6px}
.licline span{white-space:nowrap}
@media(max-width:520px){.licline span{white-space:normal;overflow-wrap:anywhere}}
.licline i{font-style:normal;color:var(--rule-2);padding:0 10px}

/* ---------- section ---------- */
section{width:100%;padding:56px 0}
@media(min-width:860px){section{padding:76px 0}}
.sec-b{background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
h1.h,h2.h,h1.h{font-size:clamp(25px,3.1vw,34px);margin:12px 0 0;max-width:24ch}
.intro{font-size:18px;color:var(--ink-2);max-width:62ch;margin:14px 0 0}

/* ---------- clock rows ---------- */
.clocks{margin-top:32px;border-top:1px solid var(--rule)}
.crow{
  display:grid;grid-template-columns:1fr;gap:6px 30px;padding:24px 0 24px 18px;
  border-bottom:1px solid var(--rule);text-decoration:none;position:relative;
}
.crow::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:4px;background:var(--navy)}
.crow.c-red::before{background:var(--red)}
.crow.c-yel::before{background:var(--yellow)}
@media(min-width:900px){.crow{grid-template-columns:150px 1fr 220px;align-items:start}}
.crow:hover h3{text-decoration:underline}
.crow .tagline{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.crow h3{font-size:21px;font-weight:700;line-height:1.25;color:var(--ink)}
.crow p{margin:8px 0 0;color:var(--ink-2);font-size:16.5px;max-width:58ch}
.crow .clockbox{font-size:15px}
.crow .clockbox b{display:block;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.crow .clockbox span{color:var(--ink);font-weight:600}

/* ---------- CSS-only triage ---------- */
.triage{container:panel / inline-size;margin-top:34px;border:1px solid var(--rule);background:var(--surface);border-radius:4px;overflow:hidden}
.triage > input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.tri-hd{padding:14px 20px;border-bottom:1px solid var(--rule);background:var(--surface-2)}
.tabs{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--rule)}
@container panel (min-width:620px){.tabs{grid-template-columns:repeat(4,1fr)}}
.tabs label{
  cursor:pointer;padding:14px 16px;min-height:var(--tap);display:flex;align-items:center;
  font-weight:600;font-size:16px;color:var(--ink-2);border-bottom:1px solid var(--rule);
}
@container panel (min-width:620px){
  .tabs label{border-bottom:none;border-right:1px solid var(--rule);justify-content:center;text-align:center}
  .tabs label:last-of-type{border-right:none}
}
.tabs label:hover{background:var(--surface-2);color:var(--ink)}
.panels > div{display:none;padding:22px 20px 24px}
.pg{display:grid;gap:20px}
@container panel (min-width:520px){.pg{grid-template-columns:1fr 1fr}}
.pc b{display:block;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.pc span{font-size:18px;font-weight:600;line-height:1.35;color:var(--ink)}
.pgo{margin-top:20px;background:var(--btn-bg);color:var(--btn-fg);align-self:start}
.pgo:hover{background:var(--btn-bg-hi)}
#tri1:checked ~ .tabs label[for="tri1"],
#tri2:checked ~ .tabs label[for="tri2"],
#tri3:checked ~ .tabs label[for="tri3"],
#tri4:checked ~ .tabs label[for="tri4"]{background:var(--surface);color:var(--navy);box-shadow:inset 0 -3px 0 var(--navy)}
#tri1:checked ~ .panels .pan1,
#tri2:checked ~ .panels .pan2,
#tri3:checked ~ .panels .pan3,
#tri4:checked ~ .panels .pan4{display:block}
#tri1:focus-visible ~ .tabs label[for="tri1"],
#tri2:focus-visible ~ .tabs label[for="tri2"],
#tri3:focus-visible ~ .tabs label[for="tri3"],
#tri4:focus-visible ~ .tabs label[for="tri4"]{outline:3px solid var(--navy);outline-offset:-3px}

/* ---------- tables ---------- */
.tw{overflow-x:auto;margin-top:28px;border:1px solid var(--rule);background:var(--surface);border-radius:4px}
table{border-collapse:collapse;width:100%;min-width:620px}
caption{text-align:left;padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--rule);font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
th,td{text-align:left;padding:12px 18px;border-bottom:1px solid var(--rule);vertical-align:top;font-size:16px}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:none}
thead th{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
tbody th{font-weight:700;white-space:nowrap}
tbody th a{text-decoration:none;color:var(--navy)}
tbody th a:hover{text-decoration:underline}
td.code{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
td.who{color:var(--ink-2)}
tbody tr:hover{background:var(--surface-2)}

/* ---------- list rows ---------- */
.rows{margin-top:28px;border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:1fr;gap:4px 28px;padding:20px 0;border-bottom:1px solid var(--rule);text-decoration:none}
@media(min-width:840px){.row{grid-template-columns:290px 1fr;align-items:baseline}}
.row:hover h3{text-decoration:underline}
.row h3{font-size:18.5px;font-weight:700;color:var(--ink)}
.row .meta{display:block;font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
.row p{margin:0;color:var(--ink-2);font-size:16.5px}

/* ---------- two column ---------- */
.two{display:grid;gap:36px}
.two>*{min-width:0}
@media(min-width:980px){.two{grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:52px;align-items:start}}
@media(min-width:1500px){.two{gap:72px}}
.prose h2:not(.h),.prose h3{font-size:22px;margin:32px 0 10px}
.prose h4{font-size:17.5px;margin:22px 0 5px;font-weight:700}
.prose p{color:var(--ink-2);max-width:66ch}
.prose ul{margin:0 0 16px;padding-left:22px;max-width:66ch}
.prose li{margin-bottom:8px;color:var(--ink-2)}
.guide-table{margin:20px 0 24px;overflow-x:auto}
.guide-table table{width:100%;border-collapse:collapse;font-size:15px}
.guide-table caption{text-align:left;font-weight:700;margin-bottom:10px}
.guide-table th,.guide-table td{text-align:left;vertical-align:top;padding:12px;border:1px solid var(--rule)}
.guide-table thead{background:var(--surface)}
.guide-table th[scope="row"]{font-weight:600}
.source-list{font-size:14px}
.source-date{font-size:13px;color:var(--ink-3)}
.rail{border:1px solid var(--rule);background:var(--surface);border-radius:4px;overflow:hidden}
.rail-hd{padding:12px 18px;background:var(--surface-2);border-bottom:1px solid var(--rule);font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.rail-b{padding:18px}
.rail .tel-l{font-size:27px;font-weight:700;text-decoration:none;color:var(--ink);display:block;min-height:var(--tap);line-height:1.5;font-variant-numeric:tabular-nums}
.rail .tel-l:hover{color:var(--navy)}
.rail .hrs{font-size:14.5px;color:var(--ink-3);margin:0 0 16px}
.rail .cta{background:var(--btn-bg);color:var(--btn-fg)}
.rail .cta:hover{background:var(--btn-bg-hi)}
.rail dl{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--rule)}
.rail dt{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.rail dd{margin:2px 0 14px;font-weight:600;font-size:16px}

/* ---------- why grid ---------- */
.why{display:grid;gap:18px;margin-top:28px}
@media(min-width:700px){.why{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.why{grid-template-columns:repeat(4,1fr)}}
.why-c{border:1px solid var(--rule);background:var(--surface);border-radius:4px;padding:20px 20px 22px}
.why-c b{display:block;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.why-c h3{font-size:19px;font-weight:700;line-height:1.3;color:var(--ink);margin:0 0 8px}
.why-c p{margin:0;color:var(--ink-2);font-size:16px}

/* ---------- three-step process ---------- */
.steps{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px;max-width:62ch}
.steps li{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:center}
.steps b{width:38px;height:38px;border-radius:50%;background:var(--btn-bg);color:var(--btn-fg);font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.steps span{font-size:18px;color:var(--ink-2);line-height:1.4}

/* ---------- independence comparison ---------- */
.cmp{display:grid;gap:32px;margin-top:28px}
@media(min-width:980px){.cmp{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}}
.cmp .prose p{max-width:none}
.cmp-t{margin-top:0}
.cmp-t table{min-width:0;table-layout:fixed;width:100%}
.cmp-t th,.cmp-t td{font-size:15px;padding:11px 14px;word-wrap:break-word}
.cmp-t thead th:first-child,.cmp-t tbody th{width:34%}
.cmp-t tbody th{white-space:normal;overflow-wrap:anywhere}
@media(max-width:560px){.cmp-t table{min-width:520px}}

/* ---------- credential block ---------- */
.cert{container:panel / inline-size;border:1px solid var(--rule);background:var(--surface);border-radius:4px;overflow:hidden;margin-top:30px}
.cert-hd{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 20px;background:var(--surface-2);border-bottom:1px solid var(--rule)}
.cert-hd span{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.cert-g{display:grid;grid-template-columns:1fr}
@container panel (min-width:460px){.cert-g{grid-template-columns:1fr 1fr}}
@container panel (min-width:760px){.cert-g{grid-template-columns:repeat(3,1fr)}}
.cert-c{padding:16px 20px;border-top:1px solid var(--rule)}
.cert-c:nth-child(-n+1){border-top:none}
@media(min-width:640px){.cert-c:nth-child(-n+2){border-top:none}.cert-c:nth-child(odd){border-right:1px solid var(--rule)}}
@media(min-width:1000px){
  .cert-c:nth-child(-n+3){border-top:none}
  .cert-c{border-right:1px solid var(--rule)}
  .cert-c:nth-child(3n){border-right:none}
}
.cert-c b{display:block;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.cert-c span{display:block;font-size:19px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}
.cert-c small{display:block;font-size:14px;font-weight:400;color:var(--ink-2);margin-top:2px}

/* ---------- faq ---------- */
.faq{margin-top:28px;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;min-height:var(--tap);font-size:18px;font-weight:700;display:flex;gap:14px;align-items:baseline;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--navy);font-weight:700;flex:none;width:14px}
.faq details[open] summary::before{content:"\2212"}
.faq summary:hover{color:var(--navy)}
.faq .a{padding:0 0 20px 28px;max-width:68ch;color:var(--ink-2)}
.faq .a p{margin:0}
.faq .a ul{margin:0;padding-left:20px}
.faq .a li{margin:0 0 8px}

.ctadl{container:panel / inline-size;margin:26px 0 0;padding-top:20px;border-top:1px solid var(--rule);display:grid;gap:14px}
@container panel (min-width:440px){.ctadl{grid-template-columns:1fr 1fr;gap:18px 28px}}
.ctadl dt{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.ctadl dd{margin:3px 0 0;font-size:16px;color:var(--ink-2);font-weight:500}
.ctadl a{font-weight:600;overflow-wrap:anywhere}

:is(.btn,.submit,.pgo,.rail .cta,.mast .tel,.bar a){
  min-height:var(--tap);padding:0 22px;font-size:16px;font-weight:700;
  line-height:1.15;border-radius:3px;font-family:inherit;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;box-sizing:border-box;
}
.submit,.rail .cta,.bar a{width:100%}
.bar a{border-radius:0;min-height:56px}

/* ---------- form ---------- */
.fw{container:panel / inline-size;min-width:0;border:1px solid var(--rule);background:var(--surface);border-radius:4px;overflow:hidden}
.fw-hd{padding:13px 20px;background:var(--surface-2);border-bottom:1px solid var(--rule);font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
form{padding:clamp(18px,4cqi,30px) clamp(16px,4cqi,28px) clamp(20px,4cqi,30px)}
.f{margin-bottom:17px;min-width:0}
.f label{display:block;font-size:14px;font-weight:700;margin-bottom:6px;color:var(--ink);text-wrap:balance}
.f input,.f select,.f textarea{
  display:block;width:100%;max-width:100%;min-width:0;min-height:var(--tap);background:var(--field);color:var(--ink);
  border:1px solid var(--rule-2);border-radius:3px;padding:11px 13px;font-size:16.5px;
  font-family:inherit;line-height:1.35;
}
.f textarea{min-height:96px;resize:vertical}
.f input:hover,.f select:hover,.f textarea:hover{border-color:var(--ink-3)}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--navy)}
.f select{appearance:none;-webkit-appearance:none;padding-right:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.f input[aria-invalid="true"],.f select[aria-invalid="true"]{border-color:var(--red);border-width:2px}
.e{display:none;color:var(--red);font-weight:600;margin-top:6px;font-size:14.5px;overflow-wrap:anywhere}
.e.on{display:block}
.pair{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;align-items:end}
@container panel (min-width:430px){.pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
.submit{background:var(--btn-bg);color:var(--btn-fg);border:none;cursor:pointer}
.submit:hover{background:var(--btn-bg-hi)}
.note{font-size:13.5px;color:var(--ink-3);margin:12px 0 0}
/* Sits directly above the button, where the hesitation happens. */
.reply{font-size:14.5px;font-weight:600;color:var(--ink-2);margin:0 0 12px;
  display:flex;align-items:center;gap:9px}
.reply::before{content:"";width:8px;height:8px;border-radius:50%;
  background:var(--green);flex:none}
.done{display:none;background:var(--yellow-soft);border-left:4px solid var(--yellow);padding:16px 18px;margin-bottom:18px;font-size:16px;color:var(--ink)}
.done.on{display:block}
.fail{display:none;background:var(--red-soft);border-left:4px solid var(--red);padding:16px 18px;margin-bottom:18px;font-size:16px;color:var(--ink)}
.fail.on{display:block}
.fail b{display:block;font-size:17px;margin-bottom:4px}
.fail a{font-weight:700;white-space:nowrap}
.submit[disabled]{opacity:.65;cursor:progress}
.done b{display:block;font-size:17px;margin-bottom:4px}

/* ---------- footer ---------- */
footer{background:var(--surface);border-top:1px solid var(--rule);padding:44px 0 36px}
.fg{display:grid;gap:28px}
@media(min-width:760px){.fg{grid-template-columns:repeat(3,1fr)}}
footer h4{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
footer ul{list-style:none;margin:0;padding:0}
footer a{color:var(--ink-2);text-decoration:none;display:inline-block;padding:5px 0;min-height:34px;font-size:16px;overflow-wrap:anywhere}
footer a:hover{color:var(--navy);text-decoration:underline}
.flegal{margin-top:30px;padding-top:18px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-3);max-width:82ch}

/* ---------- mobile action bar ---------- */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;border-top:1px solid var(--rule-2);background:var(--surface)}
@media(min-width:860px){.bar{display:none}}
.bar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;text-decoration:none;font-weight:700;font-size:16px}
.bar .b1{background:var(--btn-bg);color:var(--btn-fg)}
.bar .b2{color:var(--ink);border-left:1px solid var(--rule)}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.film-layout + .support{margin-bottom:56px}.support + .film-layout{padding-top:40px;border-top:1px solid var(--rule)}.videos-intro{padding:52px 0 30px}.videos-intro h1{font-size:clamp(34px,5vw,60px);margin:10px 0 16px;line-height:1.08}.videos-intro p{max-width:650px;color:var(--ink-2);font-size:19px}.film-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:64px;align-items:start;padding-bottom:60px}.film-player{background:#071522;border:1px solid var(--rule);border-radius:4px;overflow:hidden}.film-player video{display:block;width:100%;aspect-ratio:4/5;object-fit:contain}#testing-film,#invisible-film{aspect-ratio:16/9}.film-layout + .film-layout{padding-top:40px;border-top:1px solid var(--rule)}.film-info h2{font-size:34px;line-height:1.2;margin:14px 0}.film-info p{color:var(--ink-2)}.film-meta{font-size:13px;letter-spacing:.04em;color:var(--ink-3)}.chapter-list{list-style:none;margin:18px 0 24px;padding:0;border-top:1px solid var(--rule)}.chapter-list li{border-bottom:1px solid var(--rule)}.chapter-list button{border:0;background:transparent;color:var(--ink);display:flex;gap:18px;width:100%;text-align:left;padding:10px 0;min-height:44px;font:inherit;font-size:15px;cursor:pointer}.chapter-list button:hover,.chapter-list button[aria-current="true"]{color:var(--navy);background:var(--surface-2)}.chapter-list span{font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:13px;padding-top:2px}.support{border-top:1px solid var(--rule);padding:28px 0}.support summary{font-weight:600;cursor:pointer;min-height:44px}.support details>div{max-width:850px;margin:16px 0 30px}.support p{color:var(--ink-2)}.film-note{font-size:13px;margin-top:12px;color:var(--ink-3)}.video-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px}.video-actions a{font-size:14px}.film-cta{padding:28px;border:1px solid var(--rule);margin-top:30px;background:var(--surface)}.film-cta h3{font-size:22px}.film-cta p{margin:10px 0 18px}.support details{border-bottom:1px solid var(--rule);padding:12px 0}@media(max-width:900px){.film-layout{grid-template-columns:1fr;gap:30px}.film-player{max-width:560px;margin:auto}.film-info h2{font-size:28px}}@media(max-width:430px){.mast .tel{font-size:13px;padding:0 9px}.logo img{height:32px}.mast-in{gap:8px}.videos-intro{padding-top:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.video-actions button{background:none;border:0;padding:0;color:var(--navy);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;min-height:44px}.video-actions a{min-height:44px;display:inline-flex;align-items:center}.mast nav{margin-left:12px}.mast nav a{padding:8px;font-size:14px}.mobile-site-menu{padding:10px 20px;border-bottom:1px solid var(--rule);background:var(--surface)}.mobile-site-menu summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.mobile-site-menu nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 0}.mobile-site-menu a{min-height:44px;display:inline-flex;align-items:center}.mast nav{display:none}@media(min-width:800px){.mast nav{display:block}.mobile-site-menu{display:none}}

.prose{max-width:860px;padding-top:56px;padding-bottom:64px}.prose h1{font-size:clamp(32px,5vw,54px);line-height:1.15}.prose h2{margin-top:30px;font-size:26px}.prose p{line-height:1.8}.tools-coming{padding:90px 0 100px;background:var(--navy);color:white}.tools-coming .eyebrow{color:#ffab68}.tools-coming h1{color:#fff;font-size:clamp(44px,7vw,92px);line-height:1.04;max-width:950px;letter-spacing:-.04em;margin:24px 0 30px}.tools-coming p{max-width:650px;font-size:24px;color:#e5edf5}.tools-coming .tools-detail{font-size:18px;line-height:1.7;margin-bottom:34px}.tools-coming .btn-b{background:#fff;color:#132d45}.tools-coming .btn-b:hover{background:#f0e8de}

/* Focused navigation, homepage trust indicators, and visitor paths. */
.mast nav{margin-left:auto}.mast nav a{padding:12px 16px;font-size:16px}
.vhero-in{padding:48px 0}.vhero h1{max-width:850px}.vhero .lede{max-width:760px}
@media(min-width:860px){.vhero-in{padding:64px 0 48px;min-height:0}}
.hero-trust{list-style:none;padding:22px 0 0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px 28px;border-top:1px solid rgba(255,255,255,.25);color:#D5E2EE;font-size:14px}
.hero-trust li::before{content:"✓";color:#A5C9EB;margin-right:8px}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}
.path-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--rule);border-radius:4px;background:var(--surface);text-decoration:none;color:var(--ink);min-width:0}
.path-card h3{font-size:23px;line-height:1.3;margin:0 0 12px}.path-card p{color:var(--ink-2);margin:0 0 24px}.path-card .path-action{margin-top:auto;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.path-card:hover{border-color:var(--navy);background:var(--surface-2)}
@media(max-width:799px){.path-grid{grid-template-columns:1fr}.path-card{padding:24px}.hero-trust{display:grid;gap:10px}.mast-in{min-height:72px}}

/* Facility problems remain visible without opening a tab or knowing a test name. */
.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.scenario-card{display:flex;flex-direction:column;padding:26px;border:1px solid var(--rule);border-left:4px solid var(--navy);border-radius:4px;background:var(--surface);color:var(--ink);text-decoration:none;min-width:0}
.scenario-card.c-red{border-left-color:var(--red)}.scenario-card.c-yel{border-left-color:var(--yellow)}
.scenario-card h3{font-size:23px;line-height:1.3;margin:0 0 12px}.scenario-card p{color:var(--ink-2);margin:0 0 22px}.scenario-action{margin-top:auto;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.scenario-card:hover{border-color:var(--navy);background:var(--surface-2)}
.scenario-triage{margin-top:30px;border-top:1px solid var(--rule)}.scenario-triage details{border-bottom:1px solid var(--rule)}
.scenario-triage summary{padding:22px 12px;font-size:22px;font-weight:700;cursor:pointer;min-height:44px;color:var(--ink)}
.scenario-detail{padding:0 12px 28px;max-width:860px}.scenario-detail h2{font-size:19px;margin:22px 0 8px}.scenario-detail p{color:var(--ink-2)}.scenario-detail .btn{margin-top:20px}
.scenario-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}.scenario-body .prose{padding:0;max-width:860px}.scenario-body .prose h2:first-child{margin-top:0}
.scenario-note{padding:24px;background:var(--surface);border:1px solid var(--rule);border-radius:4px}.scenario-note h2{font-size:21px;margin:0 0 14px}.scenario-note p{font-size:16px;margin:0 0 18px}.scenario-note p:last-child{margin-bottom:0}
@media(max-width:799px){.scenario-grid,.scenario-body{grid-template-columns:1fr}.scenario-body{gap:30px}.scenario-card{padding:22px}.scenario-triage summary{font-size:20px}}

.customer-copy{padding-top:0;padding-bottom:0}.customer-copy h1{margin-bottom:26px}.customer-copy>h2:first-child{margin-top:0}.customer-contact{border-top:1px solid var(--rule);margin-top:38px;padding-top:8px}.customer-contact .hero-btns{gap:12px}

.technical-article{max-width:1000px}.technical-article p{font-size:18px;line-height:1.75;margin:0 0 28px;color:var(--ink-2)}.narrative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.narrative-grid h2{font-size:25px;line-height:1.25;margin:0 0 18px}.narrative-grid p{color:var(--ink-2);line-height:1.75}.dispatch-block .intro{max-width:1000px}.intake-guide{border:1px solid var(--rule);padding:18px;margin:24px 0}.intake-guide summary{cursor:pointer;font-weight:700;min-height:32px}.resource-filter{display:block;max-width:320px;margin:18px 0}.resource-filter select{width:100%;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--rule)}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.resource-card{border:1px solid var(--rule);padding:24px}.resource-card h3{margin:0 0 14px}.resource-card p{color:var(--ink-2)}@media(max-width:900px){.narrative-grid,.resource-grid{grid-template-columns:1fr}.technical-article p{font-size:17px}}
.ustex-inspection{box-sizing:border-box;width:min(680px,calc(100% - 32px));max-width:680px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #b7c8d5;border-radius:10px;background:#fff;color:#142e45;box-shadow:0 24px 90px #061c3866;font:400 15px/1.5 "Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:auto;overscroll-behavior:contain;color-scheme:light}
.ustex-inspection *{box-sizing:border-box}
.ustex-inspection::backdrop{background:#071e37b8;backdrop-filter:blur(3px)}
.ustex-inspection:not([open]),.ustex-inspection [hidden]{display:none!important}
.ustex-inspection-open{overflow:hidden}
.ustex-inspection__header{position:relative;padding:28px 32px 18px;background:#12395f;color:#fff}
.ustex-inspection__eyebrow{margin:0 40px 10px 0;color:#ffbf75;font-size:11px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.ustex-inspection h2{margin:0 30px 10px 0;font:750 clamp(25px,5vw,32px)/1.15 "Public Sans",sans-serif;letter-spacing:-.025em;color:#fff}
.ustex-inspection__header>p:last-child{margin:0;max-width:550px;color:#e1ebf2;font-size:14px;line-height:1.55}
.ustex-inspection button,.ustex-inspection input,.ustex-inspection select,.ustex-inspection textarea{font:inherit}
.ustex-inspection button{cursor:pointer}
.ustex-inspection__close{position:absolute;right:16px;top:15px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff55;border-radius:5px;background:transparent;color:#fff;font-size:29px;line-height:1}
.ustex-inspection__close:hover{background:#ffffff1a}
.ustex-inspection__progress{margin:0;padding:17px 32px 0;color:#42617d;font-size:12px;font-weight:700;letter-spacing:.02em}
.ustex-inspection form{margin:0;padding:18px 32px 24px}
.ustex-inspection__fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.ustex-inspection label{display:block;margin:0;color:#142e45;font-size:13px;font-weight:650;line-height:1.5}
.ustex-inspection label[for="ustex-facility-address"],.ustex-inspection label[for="ustex-equipment"],.ustex-inspection__wide{grid-column:1/-1}
.ustex-inspection label[for="ustex-facility-state"],.ustex-inspection label[for="ustex-preferred-date"]{grid-column:1/-1}
.ustex-inspection input,.ustex-inspection select,.ustex-inspection textarea{display:block;width:100%;min-width:0;margin:5px 0 0;padding:11px 12px;border:1px solid #9aafbf;border-radius:4px;background:#fff;color:#122f48;font-size:16px;font-weight:400;line-height:1.35;min-height:46px}
.ustex-inspection textarea{resize:vertical;max-height:170px}
.ustex-inspection input::placeholder,.ustex-inspection textarea::placeholder{color:#6b7e8e;opacity:1}
.ustex-inspection [aria-invalid="true"]{border:2px solid #b52c25;padding:10px 11px;background:#fff9f8}
.ustex-inspection__optional{font-size:12px;font-weight:400;color:#526b7f}
.ustex-inspection__hint{display:block;margin:5px 0 0;color:#526b7f;font-size:12px;font-weight:400}
.ustex-inspection__status{min-height:0;margin:14px 0 0;color:#80301f;font-size:13px;font-weight:600}
.ustex-inspection__status:empty{display:none}
.ustex-inspection__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}
.ustex-inspection__primary{min-height:46px;padding:11px 18px;border:1px solid #b94d0b;border-radius:4px;background:#c8530a;color:#fff;font-size:14px;font-weight:750;line-height:1.4;text-align:center;transition:background .15s ease}
.ustex-inspection__primary:hover{background:#a94308}
.ustex-inspection__back{min-height:46px;margin-right:auto;padding:10px 14px;border:1px solid #9aafbf;border-radius:4px;background:#fff;color:#12395f;font-weight:700}
.ustex-inspection button:disabled{cursor:wait;opacity:.65}
.ustex-inspection__privacy{margin:16px 0 0;color:#586f80;font-size:11px;line-height:1.65}
.ustex-inspection a{color:#12395f;text-decoration:underline;text-underline-offset:3px}
.ustex-inspection :focus-visible{outline:3px solid #e39439;outline-offset:3px}
.ustex-inspection__honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ustex-inspection__success{padding:28px 32px 32px}
.ustex-inspection__success h3{margin:0 0 12px;color:#12395f;font-size:24px;line-height:1.25}
.ustex-inspection__success p{margin:0 0 22px;color:#425c72}
@media(max-width:520px){.ustex-inspection{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:7px}.ustex-inspection__header{padding:25px 20px 20px}.ustex-inspection__progress{padding:16px 20px 0}.ustex-inspection form{padding:16px 20px 20px}.ustex-inspection__fields{grid-template-columns:1fr;gap:14px}.ustex-inspection__actions{flex-wrap:wrap;gap:10px}.ustex-inspection__primary{flex:1}.ustex-inspection__success{padding:25px 20px}.ustex-inspection__close{right:12px;top:12px}.ustex-inspection__privacy{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ustex-inspection__primary{transition:none}.ustex-inspection::backdrop{backdrop-filter:none}}
