
/* Central design tokens. Public admin color overrides are validated in header.php. */
:root{
 --primary:#ffd200;--secondary:#14263f;--accent:#e4a600;--body-bg:#f7f9fc;--surface:#ffffff;
 --text:#19283d;--muted:#647187;--border:#e3e9f1;--hero-bg:#0f1f33;--hero-text:#ffffff;--hero-subtitle-color:#ffffff;
 --button-bg:#14263f;--button-text:#ffffff;--link:#146096;--link-hover:#0b3c62;
 --table-header:#ffda30;--table-header-text:#152239;--sidebar-heading:#152740;
 --safety-bg:#172e49;--safety-text:#ffffff;--footer-bg:#0f1f33;--footer-text:#c6d2e2;
 --footer-heading:#ffffff;--footer-accent:#ffd200;--shadow:0 12px 32px rgba(18,37,60,.055);
 --heading-scale:1;--hero-title-max:48px;--hero-padding:44px;--logo-size:70px;
 --sidebar-width:286px;--sidebar-radius:15px;--header-max-width:1440px;
}

/* Theme presets generated from config/theme-presets.php; each maintains brand yellow */
html[data-theme="sunshine"]{--primary:#ffd200;--secondary:#14263f;--hero-bg:#0f1f33;--button-bg:#14263f;--link:#146096;--link-hover:#14263f;--sidebar-heading:#0f1f33;--footer-bg:#0f1f33;--body-bg:#f7f9fc;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="midnight"]{--primary:#ffd200;--secondary:#101a30;--hero-bg:#111d35;--button-bg:#101a30;--link:#3363a5;--link-hover:#101a30;--sidebar-heading:#111d35;--footer-bg:#0a1323;--body-bg:#f4f6fa;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="ocean"]{--primary:#ffd200;--secondary:#09445c;--hero-bg:#073e5a;--button-bg:#09445c;--link:#11739a;--link-hover:#09445c;--sidebar-heading:#073e5a;--footer-bg:#082b3a;--body-bg:#f5f9fc;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="clean"]{--primary:#ffd200;--secondary:#26394b;--hero-bg:#24384d;--button-bg:#26394b;--link:#19608e;--link-hover:#26394b;--sidebar-heading:#24384d;--footer-bg:#15273b;--body-bg:#ffffff;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="forest"]{--primary:#ffd200;--secondary:#174236;--hero-bg:#174236;--button-bg:#174236;--link:#167c63;--link-hover:#174236;--sidebar-heading:#174236;--footer-bg:#112c25;--body-bg:#f4faf7;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="slate"]{--primary:#ffd200;--secondary:#29364b;--hero-bg:#29364b;--button-bg:#29364b;--link:#435b81;--link-hover:#29364b;--sidebar-heading:#29364b;--footer-bg:#1b2637;--body-bg:#f5f7fb;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="sunset"]{--primary:#ffd200;--secondary:#21354f;--hero-bg:#15263d;--button-bg:#21354f;--link:#ba5b23;--link-hover:#21354f;--sidebar-heading:#15263d;--footer-bg:#142238;--body-bg:#fcf9f6;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="sand"]{--primary:#ffd200;--secondary:#48402d;--hero-bg:#48402d;--button-bg:#48402d;--link:#766038;--link-hover:#48402d;--sidebar-heading:#48402d;--footer-bg:#2b291e;--body-bg:#fbfaf6;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="plum"]{--primary:#ffd200;--secondary:#3b284b;--hero-bg:#3b284b;--button-bg:#3b284b;--link:#754690;--link-hover:#3b284b;--sidebar-heading:#3b284b;--footer-bg:#261a31;--body-bg:#f9f7fb;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="charcoal"]{--primary:#ffd200;--secondary:#242b35;--hero-bg:#202631;--button-bg:#242b35;--link:#425674;--link-hover:#242b35;--sidebar-heading:#202631;--footer-bg:#161c25;--body-bg:#f7f8fa;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="cobalt"]{--primary:#ffd200;--secondary:#1b4090;--hero-bg:#193779;--button-bg:#1b4090;--link:#2054b3;--link-hover:#1b4090;--sidebar-heading:#193779;--footer-bg:#132955;--body-bg:#f5f8ff;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="graphite"]{--primary:#ffd200;--secondary:#34383d;--hero-bg:#30353d;--button-bg:#34383d;--link:#5a646f;--link-hover:#34383d;--sidebar-heading:#30353d;--footer-bg:#1d232b;--body-bg:#f8f8f7;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="teal"]{--primary:#ffd200;--secondary:#11505c;--hero-bg:#0c4653;--button-bg:#11505c;--link:#117887;--link-hover:#11505c;--sidebar-heading:#0c4653;--footer-bg:#072a34;--body-bg:#f3fafb;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="steel"]{--primary:#ffd200;--secondary:#344d63;--hero-bg:#2c4459;--button-bg:#344d63;--link:#456e8c;--link-hover:#344d63;--sidebar-heading:#2c4459;--footer-bg:#223447;--body-bg:#f6f9fc;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="royal"]{--primary:#ffd200;--secondary:#1d3f9b;--hero-bg:#193483;--button-bg:#1d3f9b;--link:#2455c4;--link-hover:#1d3f9b;--sidebar-heading:#193483;--footer-bg:#142754;--body-bg:#f7f9ff;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="nightteal"]{--primary:#ffd200;--secondary:#121f38;--hero-bg:#122138;--button-bg:#121f38;--link:#157f82;--link-hover:#121f38;--sidebar-heading:#122138;--footer-bg:#0d1628;--body-bg:#f7f9fa;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="orange"]{--primary:#ffd200;--secondary:#223854;--hero-bg:#152a42;--button-bg:#223854;--link:#be591d;--link-hover:#223854;--sidebar-heading:#152a42;--footer-bg:#101e30;--body-bg:#fcf8f4;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="black"]{--primary:#ffd200;--secondary:#151c28;--hero-bg:#131821;--button-bg:#151c28;--link:#3e526d;--link-hover:#151c28;--sidebar-heading:#131821;--footer-bg:#0b1018;--body-bg:#f9fafb;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="navy"]{--primary:#ffd200;--secondary:#19354f;--hero-bg:#19354f;--button-bg:#19354f;--link:#86632c;--link-hover:#19354f;--sidebar-heading:#19354f;--footer-bg:#12263b;--body-bg:#faf8f3;--table-header:#ffd200;--footer-accent:#ffd200}
html[data-theme="bluewhite"]{--primary:#ffd200;--secondary:#15477c;--hero-bg:#174875;--button-bg:#15477c;--link:#246da6;--link-hover:#15477c;--sidebar-heading:#174875;--footer-bg:#102e52;--body-bg:#f5faff;--table-header:#ffd200;--footer-accent:#ffd200}


*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--body-bg);font:var(--body-size,16px)/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover)}
:focus-visible{outline:3px solid #b58400;outline-offset:3px}img{max-width:100%;height:auto}
h1,h2,h3{color:var(--secondary);line-height:1.22;letter-spacing:-.025em}
h1{font-size:clamp(2rem,4vw,var(--heading-max,3.45rem))}
h2{font-size:clamp(1.35rem,2.5vw,1.95rem)}h3{font-size:1.16rem}
p{margin:.4rem 0 1.1rem}.container{width:min(calc(100% - 52px),var(--container-max,1240px));margin-inline:auto}
.skip-link{position:absolute;transform:translateY(-200%);background:#fff;padding:12px;z-index:100}.skip-link:focus{transform:none}
.eyebrow{color:#9e6c00;font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin:0 0 13px}
.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border:1px solid transparent;border-radius:10px;font-weight:780;min-height:48px;line-height:1.25;transition:background-color .18s ease,transform .18s ease}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#14253b}.btn-primary:hover{background:#ffe267;color:#14253b}
.btn-outline{color:var(--button-bg);border-color:var(--button-bg)}.btn-outline:hover{color:var(--button-text);background:var(--button-bg)}
.text-link{font-weight:750}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar-width);gap:34px;padding-block:34px 60px;align-items:start}.main-column{min-width:0}
.page-heading{padding:36px 0 22px}.page-heading h1{margin:7px 0 14px}.page-heading>p:last-child{color:var(--muted);font-size:1.06rem}
.prose{font-size:1.02rem;line-height:1.86}.prose h2{margin-top:28px}.prose h3{margin-top:22px}.prose a{text-decoration:underline}
.prose table{border-collapse:collapse;max-width:100%}.prose th,.prose td{border:1px solid var(--border);padding:8px}.prose img{border-radius:10px}
.empty-content{padding:22px 0 28px;border-top:1px solid var(--border);margin:20px 0}.empty-content h2{margin:0 0 8px}
.status{display:inline-flex;align-items:center;border-radius:30px;background:#e5f3ec;color:#195d3b;font-size:.69rem;font-weight:850;letter-spacing:.055em;padding:5px 10px;white-space:nowrap}
.status-current{background:#ffead0;color:#854500}.status-past{background:#e8ecf1;color:#576476}.status-unknown{background:#edf0f3;color:#576476}
.notice{padding:12px 15px;margin-block:14px;border-left:4px solid #308655;background:#eefaf1}.notice-error{border-color:#c52c2c;background:#fff1f1}

/* v2.3.13: Editorial remains aligned with the main checkpoint column; the
   desktop sidebar track is deliberately empty. Keep the adjacent grid-to-copy
   gap compact instead of stacking multiple bottom/top padding values. */
.container.editorial-fullwidth{display:grid;clear:both;min-width:0;padding-block:8px 16px}
.editorial-fullwidth>.editorial-copy{grid-column:1;min-width:0;width:100%;max-width:none;overflow-wrap:anywhere;word-break:normal}
.editorial-fullwidth .editorial-copy>*{max-width:100%}
.editorial-fullwidth .editorial-copy>:first-child{margin-top:0}
.editorial-fullwidth .editorial-copy>:last-child{margin-bottom:0}
.editorial-fullwidth .editorial-copy img,.editorial-fullwidth .editorial-copy iframe{height:auto;max-width:100%}
.editorial-fullwidth .editorial-copy table{display:block;max-width:100%;overflow-x:auto}
.container.content-grid:has(+ .container.editorial-fullwidth){padding-bottom:6px}
.container:has(> .content-grid):has(+ .container.editorial-fullwidth)>.content-grid{padding-bottom:6px}
.container.editorial-fullwidth:has(+ .container.editorial-fullwidth){padding-bottom:4px}
.container.editorial-fullwidth+.container.editorial-fullwidth{padding-top:4px}
.editorial-section-lead{margin:0;color:var(--muted);padding:9px 0}
@media(max-width:780px){.container.editorial-fullwidth{padding-block:6px 12px}
/* Nested feature grids sit inside a mobile .container with side padding.
   Mirror that gutter on following editorial rows; Home's grid is already direct. */
.container.editorial-fullwidth:not(.home-wide-editorial){padding-inline:var(--mobile-gutter,12px)}}

.container.content-grid.static-page-grid{padding-top:clamp(12px,2vw,24px);padding-bottom:clamp(8px,1vw,14px)}.static-page-content{min-width:0;width:100%}.static-page-grid .static-page-editorial{width:100%;max-width:none;overflow-wrap:anywhere}.static-page-editorial>:first-child{margin-top:0}.static-page-editorial img{max-width:100%;height:auto}.static-page-editorial table{display:block;max-width:100%;overflow-x:auto}.static-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.static-intro{margin:0 0 12px}
/* Static informational pages already own the content grid; avoid doubled
   mobile side gutters introduced by the shared editorial-row rule. */
@media(max-width:780px){.container.editorial-fullwidth.static-page-grid{padding-inline:0}}

/* Shared editorial defaults for Pages, Blog and all geography levels.
   Page-specific CSS is emitted afterward and may override these. */
.editorial-copy :is(p,li,td,th){overflow-wrap:anywhere}
.editorial-copy :is(ul,ol){padding-inline-start:1.5em;margin-block:.85em}
.editorial-copy blockquote{border-inline-start:3px solid var(--primary,#ffd200);padding:10px 16px;margin:1.2em 0;background:var(--surface,#fff);border-radius:4px}
.editorial-copy a{text-underline-offset:3px}

/* Premium header; default follows the footer palette. Other styles remain selectable. */
.site-header{
 --header-surface:var(--footer-bg,#0f1f33);
 --header-ink:var(--footer-heading,#fff);
 --header-subtle:var(--footer-text,#c6d2e2);
 --header-hover:color-mix(in srgb,var(--header-ink) 11%,transparent);
 --header-selected:color-mix(in srgb,var(--primary) 14%,transparent);
 background:var(--header-surface);border-bottom:3px solid var(--primary);
 position:relative;z-index:40;box-shadow:0 12px 30px rgba(13,29,48,.12);
}
html[data-header-style="hero"] .site-header{--header-surface:var(--hero-bg);--header-ink:var(--hero-text);--header-subtle:var(--footer-text)}
html[data-header-style="classic"] .site-header{--header-surface:var(--header-bg);--header-ink:var(--nav-text);--header-subtle:var(--muted);--header-hover:var(--nav-hover);--header-selected:var(--nav-active);border-bottom:1px solid var(--border);box-shadow:0 2px 16px rgba(17,36,58,.05)}
html[data-header-sticky="1"] .site-header{position:sticky;top:0}
.header-shell{width:min(calc(100% - 2 * var(--header-side-padding,24px)),var(--header-max-width));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,1.8vw,25px);min-height:var(--header-height,96px)}
.branding{display:inline-flex;align-items:center;gap:12px;min-width:0;flex-shrink:0;color:var(--header-ink);text-decoration:none}
.branding:hover,.branding:focus-visible{color:var(--header-ink)}
.branding img{width:var(--logo-size);height:var(--logo-size);object-fit:contain;flex-shrink:0;background:transparent;border:0;box-shadow:none}
.branding strong{display:block;font-size:clamp(1.05rem,1.45vw,1.36rem);line-height:1.18;letter-spacing:-.032em;font-weight:850;color:inherit}
.branding small{display:block;color:var(--header-subtle);font-size:.72rem;font-weight:570;line-height:1.4;margin-top:5px;max-width:265px}
.nav-area{margin-left:auto;min-width:0}.nav-inner{display:flex;align-items:center;justify-content:flex-end;gap:var(--header-menu-gap,2px)}
.nav-item{position:relative}.nav-item>a{display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:36px;padding:7px 11px;color:var(--header-ink);font-size:.83rem;font-weight:750;border-radius:10px;transition:background-color .16s,color .16s,box-shadow .16s}
.nav-item>a:hover,.nav-item>a:focus-visible{background:var(--header-hover);color:var(--header-ink)}
/* An understated active cue: text and a short gold underline instead of a large pill. */
.nav-item>a[aria-current="page"],.nav-item>a.is-section-active{position:relative;background:transparent;color:var(--primary);box-shadow:none}
.nav-item>a[aria-current="page"]::after,.nav-item>a.is-section-active::after{content:"";position:absolute;bottom:1px;left:50%;width:19px;height:2px;border-radius:2px;background:currentColor;transform:translateX(-50%)}
@media(max-width:1180px){.nav-item>a[aria-current="page"],.nav-item>a.is-section-active{background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:7px}.nav-item>a[aria-current="page"]::after,.nav-item>a.is-section-active::after{left:9px;top:11px;bottom:11px;width:2px;height:auto;transform:none}}
.nav-chevron{color:var(--primary);font-size:1.1em;line-height:1}
.nav-drop{display:none;position:absolute;top:100%;left:0;min-width:215px;border:1px solid color-mix(in srgb,var(--header-ink) 15%,transparent);background:var(--header-surface);border-radius:13px;box-shadow:0 20px 40px rgba(9,21,40,.24);padding:8px;z-index:50}
.nav-drop a{display:block;padding:11px 12px;color:var(--header-ink);font-size:.84rem;font-weight:620;border-radius:8px;line-height:1.4;white-space:normal}
.nav-drop a:hover,.nav-drop a:focus-visible{background:var(--header-hover);color:var(--header-ink)}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{display:block}
.menu-toggle{display:none;width:46px;height:44px;flex-shrink:0;background:color-mix(in srgb,var(--header-ink) 9%,transparent);border:1px solid color-mix(in srgb,var(--header-ink) 25%,transparent);border-radius:11px;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--header-ink);border-radius:3px;margin:5px 0;transition:transform .16s,opacity .16s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.nav-item>a,.menu-toggle span{transition:none}}

/* Centered public-safety reminder — all measurements come from Site Design.
   The background is independent of the footer. No extra override stylesheet. */
.safety-banner{
  --safety-panel-bg:var(--safety-bg,#172e49);
  --safety-panel-ink:var(--safety-text,#ffffff);
  --safety-panel-accent:var(--safety-accent,#ffd200);
  padding:var(--safety-top-gap,44px) var(--safety-outer-gutter,52px) var(--safety-section-gap,44px);
  background:transparent;
  border:0;
  color:var(--safety-panel-ink);
}
.safety-inner{
  position:relative;isolation:isolate;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  width:100%;max-width:var(--safety-box-max-width,1080px);
  margin-inline:auto;padding:clamp(28px,4vw,52px) var(--safety-inner-padding,60px);
  text-align:center;
  border-radius:18px;border:1px solid color-mix(in srgb,var(--safety-panel-accent) 40%,transparent);
  background:radial-gradient(circle at 50% -50%,color-mix(in srgb,var(--safety-panel-accent) 10%,transparent),transparent 60%),var(--safety-panel-bg);
  color:var(--safety-panel-ink);
  box-shadow:0 12px 35px rgba(13,35,58,.095);
  overflow:hidden;
}
.safety-inner::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(190px,50%);height:4px;border-radius:0 0 5px 5px;background:var(--safety-panel-accent);
}
.safety-symbol{
  display:grid;place-items:center;flex:none;width:54px;height:54px;
  border-radius:16px;background:var(--safety-panel-accent);color:#142940;
  font-size:1.5rem;font-weight:850;
}
.safety-copy{min-width:0;width:100%;max-width:850px;text-align:center}
.safety-kicker{
  margin:0 0 11px;color:var(--safety-panel-ink);
  font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;
}
.safety-copy h2{
  margin:0 0 15px;color:var(--safety-panel-ink);
  font-size:clamp(1.6rem,2.75vw,2.2rem);line-height:1.19;letter-spacing:-.035em;
}
.safety-copy>p:not(.safety-kicker){
  max-width:700px;margin:0 auto;color:var(--safety-panel-ink);
  font-size:1rem;line-height:1.75;
}
.safety-badges{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:24px}
.safety-publisher,.safety-badge{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;
  padding:8px 13px;border-radius:999px;font-size:.74rem;font-weight:710;line-height:1.4;
}
.safety-publisher{
  color:var(--safety-panel-ink);
  border:1px solid color-mix(in srgb,var(--safety-panel-ink) 30%,transparent);
  background:color-mix(in srgb,var(--safety-panel-ink) 7%,transparent);
}
.safety-badge{background:var(--safety-panel-accent);border:1px solid var(--safety-panel-accent);color:var(--safety-accent-ink,#142940);font-weight:850}
.safety-badge span{color:inherit;font-size:1rem}
@media(max-width:780px){
  .safety-banner{padding-inline:var(--safety-mobile-gutter,18px)}
  .safety-inner{padding:30px var(--safety-mobile-padding,26px);gap:12px}
  .safety-symbol{width:48px;height:48px;border-radius:12px;font-size:1.3rem}
}
@media(max-width:540px){
  .safety-copy h2{font-size:clamp(1.5rem,7vw,1.75rem)}
  .safety-publisher,.safety-badge{font-size:.7rem}
  .safety-badges{margin-top:18px}
}

/* Compact is the new default; old spacious layout remains selectable in Footer Manager.
   Current user-selected gutters/colors still apply. */
.safety-banner-compact{padding-block:clamp(10px,calc(var(--safety-top-gap,44px) * .45),26px) clamp(12px,calc(var(--safety-section-gap,44px) * .45),28px)}
.safety-banner-compact .safety-inner{gap:6px;max-width:min(var(--safety-box-max-width,1080px),900px);padding:16px clamp(16px,calc(var(--safety-inner-padding,60px) * .55),38px);border-radius:13px;box-shadow:0 6px 21px rgba(13,35,58,.075)}
.safety-banner-compact .safety-inner::before{height:3px}
.safety-banner-compact .safety-symbol{display:none}
.safety-banner-compact .safety-copy{max-width:700px}
.safety-banner-compact .safety-kicker{font-size:.64rem;margin:0 0 4px;letter-spacing:.10em}
.safety-banner-compact .safety-copy h2{font-size:clamp(1.3rem,2.1vw,1.65rem);margin:0 0 7px;line-height:1.22}
.safety-banner-compact .safety-copy>p:not(.safety-kicker){font-size:.87rem;line-height:1.5;max-width:610px}
.safety-banner-compact .safety-badges{margin-top:10px;gap:6px}
.safety-banner-compact .safety-publisher,.safety-banner-compact .safety-badge{padding:5px 10px;font-size:.65rem;line-height:1.2}
@media(max-width:780px){.safety-banner-compact .safety-inner{padding:14px clamp(14px,calc(var(--safety-mobile-padding,26px) * .7),25px)}.safety-banner-compact .safety-copy h2{font-size:clamp(1.22rem,4.6vw,1.47rem)}}
@media(max-width:430px){.safety-banner-compact .safety-badges{gap:5px}.safety-banner-compact .safety-publisher,.safety-banner-compact .safety-badge{font-size:.62rem;padding:4px 8px}}

.safety-banner .safety-kicker{color:var(--safety-panel-ink)}
.safety-banner .safety-kicker::before,.safety-banner .safety-kicker::after{content:"";display:inline-block;width:16px;height:2px;background:var(--safety-panel-accent);vertical-align:middle;margin:0 8px}
.safety-banner .safety-copy h2{color:var(--safety-panel-ink)}
.safety-banner .safety-symbol{color:var(--safety-accent-ink,#142940)}
.safety-independent{font-size:.71rem!important;line-height:1.55!important;max-width:730px!important;margin:12px auto 0!important;opacity:.9}
.safety-banner-compact .safety-independent{font-size:.66rem!important;margin-top:9px!important}
.safety-banner-compact .safety-symbol{display:grid;width:30px;height:30px;border-radius:9px}
.safety-banner-compact .safety-symbol svg{width:17px;height:17px}
.safety-banner-compact .safety-inner{gap:6px}
html[data-safety-style="light"] .safety-banner,
.studio-preview-viewport[data-safety-style="light"] .safety-banner{
  --safety-panel-bg:#f7fafd;
  --safety-panel-ink:#17334d;
}
/* Clean, accessible footer — color accents share the same token as .hero .eyebrow. */
.site-footer{
  background:var(--footer-bg,#0f1f33);
  color:var(--footer-text,#c6d2e2);
  border-top:3px solid var(--primary,#ffd200);
  padding:clamp(35px,4.5vw,58px) 0 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(20px,3vw,45px);
  padding-bottom:clamp(32px,4vw,50px);
}
html[data-footer-layout="three"] .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-grid h2{
  color:var(--footer-heading,#fff);
  font-size:.95rem;
  font-weight:780;
  letter-spacing:.005em;
  line-height:1.35;
  margin:0 0 16px;
}
.footer-grid h2::after{
  content:"";
  display:block;
  height:3px;
  width:30px;
  border-radius:5px;
  background:var(--primary,#ffd200);
  margin-top:10px;
}
.footer-grid a{
  display:block;
  width:fit-content;
  max-width:100%;
  padding:6px 0;
  color:var(--footer-text,#c6d2e2);
  font-size:.87rem;
  line-height:1.55;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color .18s ease;
}
.footer-grid a:hover{color:var(--primary,#ffd200)}
.footer-grid a:focus-visible{outline:2px solid var(--primary,#ffd200);outline-offset:4px;border-radius:3px}
.footer-contact-label{font-size:.86rem;line-height:1.7;color:var(--footer-text,#c6d2e2);margin:0 0 16px;max-width:245px}
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.footer-grid .footer-social-link{
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  flex:none;
  border:1px solid color-mix(in srgb,var(--footer-text,#c6d2e2) 29%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--footer-heading,#fff) 5%,transparent);
  color:var(--footer-heading,#fff);
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.footer-grid .footer-social-link svg{width:21px;height:21px;display:block}
.footer-grid .footer-social-link:hover,
.footer-grid .footer-social-link:focus-visible{
  color:var(--safety-panel-ink);
  background:color-mix(in srgb,var(--primary,#ffd200) 9%,transparent);
  border-color:var(--safety-panel-ink);
}
.footer-disclaimer{
  position:relative;
  overflow:hidden;
  padding:clamp(21px,3vw,31px) clamp(20px,3.6vw,40px);
  border:1px solid color-mix(in srgb,var(--primary,#ffd200) 27%,transparent);
  border-radius:15px;
  background:color-mix(in srgb,var(--footer-heading,#fff) 5%,transparent);
}
.footer-disclaimer::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:var(--primary,#ffd200);
}
.footer-disclaimer h2{
  margin:0 0 10px;
  color:var(--safety-panel-ink);
  font-size:.73rem;
  font-weight:820;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.footer-disclaimer p{
  margin:0;
  color:var(--footer-text,#c6d2e2);
  font-size:.875rem;
  line-height:1.85;
  overflow-wrap:break-word;
}
.footer-disclaimer-brand,
.footer-disclaimer-safety{color:var(--safety-panel-ink);font-weight:750}
.footer-disclaimer-safety{display:inline}
.footer-bottom{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:23px 0 27px;
}
.footer-bottom p{margin:0;color:var(--footer-text,#c6d2e2);font-size:.77rem;line-height:1.6}
@media(max-width:920px){
  .footer-grid,html[data-footer-layout="three"] .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;
  }
}
@media(max-width:520px){
  .site-footer{padding-top:32px}
  .footer-grid,html[data-footer-layout="three"] .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px;padding-bottom:30px;
  }
  .footer-grid h2{font-size:.88rem;margin-bottom:11px}
  .footer-grid a{font-size:.81rem;padding:5px 0}
  .footer-disclaimer{padding:20px 19px 22px}
  .footer-disclaimer p{font-size:.83rem;line-height:1.75}
  .footer-disclaimer::before{top:16px;bottom:16px}
  .footer-bottom{padding:20px 0 22px}
}
@media(max-width:360px){
  .footer-grid,html[data-footer-layout="three"] .footer-grid{grid-template-columns:1fr;gap:23px}
}
@media(prefers-reduced-motion:reduce){.footer-grid a,.footer-grid .footer-social-link{transition:none}}

/* Shared hero typography and matching eyebrow accent rules. */
.hero,.page-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--hero-bg);color:var(--hero-text);text-align:center;border-bottom:3px solid var(--primary)}
html[data-hero-match-footer="1"] .hero,html[data-hero-match-footer="1"] .page-hero{background:var(--footer-bg,#0f1f33)}
.hero::before,.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 13% 12%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 35%),radial-gradient(circle at 94% 85%,color-mix(in srgb,var(--hero-text) 6%,transparent),transparent 33%)}
.hero,.page-hero{padding:var(--hero-padding,44px) 0}
.hero .hero-inner{max-width:1040px}.page-hero .page-heading{margin:0 auto;max-width:940px;position:relative;z-index:1;padding:0}
.hero h1,.page-hero h1{max-width:1050px;color:inherit;font-size:clamp(2.1rem,4vw,var(--hero-title-max,48px));font-weight:830;line-height:1.16;letter-spacing:-.04em;margin:0 auto 14px;text-wrap:balance}
.hero .eyebrow,.page-hero .eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:0 0 17px;font-size:var(--typ-hero-eyebrow,12px);font-weight:850;letter-spacing:.115em;color:var(--primary);line-height:1.45;text-transform:uppercase}
.hero .eyebrow::before,.hero .eyebrow::after,.page-hero .eyebrow::before,.page-hero .eyebrow::after{content:"";display:block;position:static;flex:0 0 min(48px,var(--hero-accent-width,28px));width:min(48px,var(--hero-accent-width,28px));height:2px;margin:0;background:currentColor;border:0;border-radius:5px;transform:none}
.hero-lede{max-width:790px;font-size:clamp(1.06rem,1.8vw,1.3rem);line-height:1.6;margin:0 auto 9px;color:var(--hero-subtitle-color,#fff)}
.hero-support,.page-hero .page-heading>.hero-description{max-width:790px;margin:0 auto;color:var(--hero-subtitle-color,#fff);opacity:1;line-height:1.67;font-size:clamp(1rem,1.65vw,1.15rem);text-wrap:pretty}
.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px;margin-top:26px}
.trust-line{font-size:.81rem;color:inherit;opacity:.83;margin:24px 0 0}.trust-line span{padding:0 7px;color:var(--primary)}
.page-hero .page-heading h1:last-child{margin-bottom:0}
/* All hero variants share the SAME saved palette on every route.
   Style presets affect texture only, never the base background or text colors. */
.hero .btn-outline,.page-hero .btn-outline{color:var(--hero-text);border-color:color-mix(in srgb,var(--hero-text) 42%,transparent)}
.hero .btn-outline:hover,.page-hero .btn-outline:hover{background:var(--hero-text);color:var(--hero-bg)}
html[data-hero-alignment=left] .hero,html[data-hero-alignment=left] .page-hero{text-align:left}
html[data-hero-alignment=left] .hero h1,html[data-hero-alignment=left] .page-hero h1,html[data-hero-alignment=left] .hero-lede,html[data-hero-alignment=left] .hero-support,html[data-hero-alignment=left] .page-hero .hero-description{margin-left:0;text-align:left}
html[data-hero-alignment=left] .hero-actions,html[data-hero-alignment=left] .hero .eyebrow,html[data-hero-alignment=left] .page-hero .eyebrow{justify-content:flex-start}
@media(max-width:780px){.hero,.page-hero{padding:clamp(24px,calc(var(--hero-padding,44px)*.75),54px) 0}.hero h1,.page-hero h1{font-size:var(--typ-hero-mobile,33px)}.hero .eyebrow,.page-hero .eyebrow{gap:9px;letter-spacing:.075em;font-size:clamp(10px,2.6vw,12px)}.hero .eyebrow::before,.hero .eyebrow::after,.page-hero .eyebrow::before,.page-hero .eyebrow::after{width:min(24px,var(--hero-accent-width,28px));flex-basis:min(24px,var(--hero-accent-width,28px))}}

.section-intro{margin-bottom:25px}.section-intro h2{margin:0 0 7px}.section-intro p:last-child{color:var(--muted)}
.editorial{margin:0;padding-top:0}

/* Homepage editorial content fills the checkpoint column in a separate row. */
.container.editorial-fullwidth.home-wide-editorial{clear:both;min-width:0;padding-block:6px 14px}
.home-wide-editorial .editorial.prose{max-width:none;width:100%;overflow-wrap:anywhere}
.home-wide-editorial .editorial.prose>*{max-width:100%}

/* v2.3.16: Hero body copy is white across home and interior heroes. */
.hero .hero-support,.page-hero .hero-support{color:#fff!important}

/* Single lightweight import-date badge in all checkpoint-related heroes. */
.hero-updated{display:flex;width:max-content;max-width:100%;align-items:center;justify-content:center;gap:.36em;margin:19px auto 0;padding:8px 15px;border:1px solid rgba(255,255,255,.52);border-radius:9px;background:rgba(8,18,32,.64);color:#fff;font-size:.83rem;font-weight:750;line-height:1.45;letter-spacing:.01em;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.hero-updated-label{color:#fff}
.hero-updated time{color:#fff;font-weight:850}
html[data-hero-alignment=left] .hero-updated{margin-left:0;margin-right:0}
@media(max-width:780px){.hero-updated{margin-top:15px;padding:7px 12px;font-size:.77rem}}

/* Compact state directory tiles. All original state links and counts are preserved. */
.directory-layout{padding-top:28px}
.directory-intro{max-width:760px;margin:0 0 22px;padding:4px 0 5px 18px;border-left:4px solid var(--primary)}
.directory-intro .eyebrow{margin:0 0 7px;color:#876100;font-size:.72rem;letter-spacing:.115em}
.directory-intro h2{margin:0 0 9px;letter-spacing:-.03em;line-height:1.22}
.directory-intro p:last-child{max-width:690px;margin:0;color:var(--muted);line-height:1.7;font-size:.94rem}
.states-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 25px}
.state-card{position:relative;isolation:isolate;display:grid;grid-template-columns:36px minmax(0,1fr) 27px;align-items:center;gap:10px;min-width:0;min-height:88px;padding:11px 13px;overflow:hidden;color:#fff;background:linear-gradient(145deg,var(--sidebar-heading,#152740),var(--footer-bg,#0f1f33));border:1px solid rgba(255,210,0,.24);border-radius:var(--state-card-radius,12px);box-shadow:var(--state-card-shadow,0 9px 26px rgba(18,38,65,.065));text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.state-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--primary);opacity:.95}
.state-card:hover,.state-card:focus-visible{color:#fff;border-color:var(--primary);box-shadow:0 12px 26px rgba(15,31,51,.16);transform:translateY(-2px)}
.state-card:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.state-card-top{display:block;min-width:0}
.state-card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary);color:#12243b;font-size:.76rem;font-weight:850;letter-spacing:.025em}
.state-card-label{display:none}
.state-card-body{display:block;min-width:0}
.state-card-name{display:block;color:#fff;font-size:.99rem;font-weight:750;line-height:1.3;letter-spacing:-.01em;overflow-wrap:break-word}
.state-card-count{display:flex;align-items:baseline;gap:4px;margin-top:4px;color:#d1dcea;font-size:.73rem;line-height:1.35;font-weight:500}
.state-card-number{color:var(--primary);font-size:.84rem;font-weight:850;font-variant-numeric:tabular-nums}
.state-card-action{display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;line-height:1}
.state-card-action>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.state-card-arrow{display:grid;place-items:center;width:27px;height:27px;flex:none;border:1px solid rgba(255,210,0,.55);border-radius:50%;color:var(--primary);font-size:.94rem;line-height:1;transition:background .18s ease,color .18s ease,transform .18s ease}
.state-card:hover .state-card-arrow,.state-card:focus-visible .state-card-arrow{background:var(--primary);color:#12243b;transform:translate(1px,-1px)}
.directory-layout .state-card{min-height:88px}
.state-preview .states-grid{margin-top:15px}
@media(max-width:1199px){.states-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.directory-layout{padding-top:20px}.directory-intro{margin-bottom:19px}.states-grid{gap:9px}.state-card,.directory-layout .state-card{min-height:82px;padding:10px 12px}}
@media(max-width:600px){.states-grid{grid-template-columns:1fr;gap:8px}.state-card,.directory-layout .state-card{min-height:76px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.state-card,.state-card-arrow{transition:none}.state-card:hover{transform:none}.state-card:hover .state-card-arrow,.state-card:focus-visible .state-card-arrow{transform:none}}
.region-section{padding:22px 0}.region-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.region-links a{display:flex;justify-content:space-between;gap:8px;padding:11px 13px;border:1px solid var(--border);background:#fff;border-radius:7px;font-size:.9rem}
.region-links a:hover{background:#fff9e9;border-color:#eac75e}.region-links span{color:var(--accent)}
.location-content{margin-block:18px 22px}
.breadcrumb-shell{width:min(calc(100% - 44px),var(--container-max,1240px));max-width:var(--container-max);margin:0 auto}
.crumbs{padding:var(--breadcrumb-spacing,12px) 0;margin:0}
.crumbs ol{min-height:24px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:9px;line-height:1.5;font-size:var(--typ-crumb-text,.79rem);color:var(--muted)}
.crumbs li:not(:last-child)::after{content:'›';margin-left:9px;color:#9aa8b9}
.crumbs a{color:var(--breadcrumb-link);text-underline-offset:3px;font-weight:650}
.crumbs a:hover{text-decoration:underline}.crumbs [aria-current=page]{font-weight:730;color:#44556d}
.breadcrumb-home .crumbs [aria-current=page]{color:#253951}
.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:23px 0}
.pagination a{border:1px solid var(--border);border-radius:5px;background:#fff;padding:6px 11px}
.pagination a[aria-current=page]{background:var(--secondary);color:#fff}
@media(max-width:780px){.breadcrumb-shell{width:calc(100% - 24px)}.crumbs{padding-block:9px}.region-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.region-links{grid-template-columns:1fr}.crumbs ol{gap:5px}.crumbs li:not(:last-child)::after{margin-left:5px}}

/* Separate editorial row fills the checkpoint column, leaving the sidebar track blank. */
.location-wide-editorial{margin-block:0;min-width:0}
.location-wide-editorial .location-content{margin-block:0}
.location-wide-editorial .prose{max-width:none;width:100%;overflow-wrap:anywhere}
.location-wide-editorial .prose>*{max-width:100%}
.location-wide-editorial .prose table{display:block;overflow-x:auto}

/* Introduction is the first element of the checkpoint column, immediately below the hero. */
.location-introduction{width:100%;min-width:0;padding:4px 0 12px;margin:0}
.location-introduction .location-content{max-width:none;width:100%;margin:0;overflow-wrap:anywhere}
.location-introduction .location-content>*{max-width:100%}
.location-introduction .location-content table{display:block;max-width:100%;overflow-x:auto}

/* Compact archive navigation and clear historical status; no second reports table. */
.archive-pagination{justify-content:center;gap:5px;margin:15px 0 20px;text-align:center}
.archive-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:29px;min-height:30px;padding:5px 8px;font-size:.78rem;font-weight:650;line-height:1.25;text-decoration:none;border-radius:6px}
.archive-pagination a:hover,.archive-pagination a:focus-visible{border-color:var(--primary);background:#fff8e3;color:var(--secondary)}
.archive-pagination a[aria-current=page]{background:var(--secondary);border-color:var(--secondary);color:#fff}
.archive-pagination .archive-page-count{order:2;flex-basis:100%;font-size:.73rem;color:var(--muted);margin-top:3px}
.archive-pagination .page-ellipsis{padding:3px;color:var(--muted);font-size:.8rem}
@media(max-width:480px){.archive-pagination{gap:4px}.archive-pagination a{min-width:27px;min-height:29px;padding:5px 6px;font-size:.73rem}}
.archive-context{margin:14px 0 12px;font-size:.9rem;line-height:1.6;color:var(--muted)}
/* The historical-only warning uses the same accent as the archive eyebrow. */
.hero-archived .page-heading > .archive-hero-note{margin:8px auto 0;color:var(--primary);font-size:.92rem;font-weight:750;line-height:1.55}

/* Semantic desktop checkpoint table. Details columns remain compact. */
.checkpoint-section{margin:22px 0 29px}
.checkpoint-section{--checkpoint-heading-bg:var(--footer-bg,#0f1f33);--checkpoint-heading-text:var(--footer-heading,#fff)}
html[data-table-heading-style="hero"] .checkpoint-section{--checkpoint-heading-bg:var(--hero-bg);--checkpoint-heading-text:var(--hero-text)}
html[data-table-heading-style="custom"] .checkpoint-section{--checkpoint-heading-bg:var(--table-header);--checkpoint-heading-text:var(--table-header-text)}
.section-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:17px 14px;margin-bottom:14px;text-align:center;background:var(--checkpoint-heading-bg);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--checkpoint-heading-bg));border-radius:11px}
.section-heading h2{margin:0;color:var(--checkpoint-heading-text);font-size:1.3rem;line-height:1.35}
/* Reuse the hero eyebrow color and two short accent rules above every table title. */
.count-pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0;border:0;background:none;color:var(--primary,#ffd200);font-size:.76rem;font-weight:850;letter-spacing:.105em;text-transform:uppercase;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.5}
.count-pill::before,.count-pill::after{content:"";display:block;flex:0 0 22px;width:22px;height:2px;background:currentColor;border-radius:5px}
.checkpoint-history-note{margin:4px 0 12px;color:var(--muted);font-size:.82rem;line-height:1.6}
.checkpoint-table-wrap{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:12px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;background:var(--surface);box-shadow:0 8px 24px rgba(20,41,65,.05)}
.checkpoint-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.84rem;font-variant-numeric:tabular-nums}
.checkpoint-table th{background:var(--checkpoint-heading-bg,var(--footer-bg));color:var(--primary,#ffd200);font-size:.8rem;font-weight:840;padding:13px 12px;letter-spacing:.015em;border-right:1px solid color-mix(in srgb,var(--primary) 28%,transparent);border-bottom:2px solid var(--primary);white-space:nowrap;text-align:left}
.checkpoint-table th:last-child{border-right:0}
.checkpoint-table td{padding:var(--table-padding,13px) 12px;border-right:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));background:var(--surface);vertical-align:middle;overflow-wrap:break-word;line-height:1.56;color:var(--text)}
.checkpoint-table tbody td:last-child{border-right:0}
.checkpoint-table tbody tr:last-child td{border-bottom:0}
.checkpoint-table tbody tr:nth-child(even) td{background:var(--table-stripe,#fafbfe)}
.checkpoint-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}
.checkpoint-table .location-column{width:auto;text-align:left;font-weight:530}.checkpoint-table .date-cell,.checkpoint-table .time-cell{font-weight:660;hyphens:none;white-space:normal}
.checkpoint-table .time-cell{min-width:125px}.checkpoint-table .region-link{font-weight:760;color:var(--link)}.checkpoint-table .region-link:hover{text-decoration:underline}

/* One semantic table on every device; narrow screens scroll the table, not the page. */
.checkpoint-table-hint{display:none;margin:0 0 7px;color:var(--muted);font-size:.75rem}
.checkpoint-table-wrap:focus-visible{outline:3px solid var(--primary);outline-offset:3px}

/* Individual report hero: distinct from all archive, home and location heroes. */
html .page-hero.checkpoint-page-hero{
  padding:clamp(42px,5vw,76px) 0;
  background:linear-gradient(118deg,var(--footer-bg,#0f1f33) 0%,color-mix(in srgb,var(--footer-bg,#0f1f33) 80%,#275078) 62%,color-mix(in srgb,var(--footer-bg,#0f1f33) 72%,#255279) 100%);
  border-bottom:3px solid var(--primary,#ffd200);
  text-align:left;
}
html .page-hero.checkpoint-page-hero::before{
  background:radial-gradient(ellipse at 90% 12%,color-mix(in srgb,var(--primary,#ffd200) 15%,transparent),transparent 38%),radial-gradient(ellipse at 6% 90%,rgba(76,156,229,.16),transparent 44%);
}
.checkpoint-page-hero .checkpoint-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,360px);gap:clamp(24px,4.5vw,66px);align-items:center;position:relative;z-index:1}
.page-hero.checkpoint-page-hero .checkpoint-hero.page-heading{width:100%;max-width:none;margin:0;padding:0;text-align:left}
.page-hero.checkpoint-page-hero .checkpoint-hero .eyebrow{justify-content:flex-start;margin-bottom:18px}
.page-hero.checkpoint-page-hero .checkpoint-hero h1{margin:15px 0 15px;max-width:720px;font-size:clamp(2.05rem,3.6vw,3.45rem);line-height:1.13;letter-spacing:-.04em;text-align:left;text-wrap:balance}
.page-hero.checkpoint-page-hero .checkpoint-hero-description{max-width:640px;margin:0;color:#dce8f6;font-size:clamp(.96rem,1.25vw,1.06rem);line-height:1.75;text-wrap:pretty}
.page-hero.checkpoint-page-hero .hero-updated{margin:19px 0 0;padding:8px 13px;background:rgba(4,19,36,.42);border-color:rgba(239,245,255,.23);color:#fff;box-shadow:none}
/* Status labels are deliberately visual-only; actual classification stays in PHP. */
.page-hero.checkpoint-page-hero .checkpoint-status{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:max-content;max-width:100%;margin:0;padding:8px 13px;border-radius:999px;border:1px solid currentColor;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);font-size:.72rem;font-weight:850;letter-spacing:.095em;line-height:1.2;white-space:normal;text-transform:uppercase}
.page-hero.checkpoint-page-hero .checkpoint-status::before{content:"";display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.page-hero.checkpoint-page-hero .checkpoint-status.status-current{color:#ffe083;background:rgba(255,205,52,.13);border-color:rgba(255,224,131,.48)}
.page-hero.checkpoint-page-hero .checkpoint-status.status-upcoming{color:#9edaff;background:rgba(86,174,242,.13);border-color:rgba(158,218,255,.46)}
/* Archived reports use a restrained navy-and-champagne treatment to match the
   site palette, while the explicit archived wording stays unmistakable. */
.checkpoint-page-hero--past{--archive-surface:rgba(8,27,47,.8);--archive-border:rgba(255,210,0,.42);--archive-highlight:#f6dc95}
.page-hero.checkpoint-page-hero .checkpoint-status.status-past{color:var(--archive-highlight);background:var(--archive-surface);border:1px solid var(--archive-border);box-shadow:0 5px 14px rgba(1,12,28,.12);border-radius:12px;padding:8px 12px;font-size:.74rem;letter-spacing:.075em;line-height:1.28}
.page-hero.checkpoint-page-hero .checkpoint-status.status-past::before{flex-basis:7px;width:7px;height:7px;box-shadow:0 0 0 3px rgba(255,210,0,.10)}
.checkpoint-page-hero--past .checkpoint-archived-notice{display:grid;gap:5px;max-width:640px;margin-top:18px;padding:14px 17px;border:1px solid var(--archive-border);border-left:5px solid var(--primary,#ffd200);border-radius:12px;background:var(--archive-surface);color:#fff;box-shadow:0 9px 25px rgba(1,12,28,.14);text-align:left}
.checkpoint-page-hero--past .checkpoint-archived-notice strong{font-size:.78rem;line-height:1.4;letter-spacing:.07em;color:var(--archive-highlight)}
.checkpoint-page-hero--past .checkpoint-archived-notice span{font-size:.86rem;line-height:1.62;color:#e0e9f3}
.checkpoint-page-hero--past .checkpoint-report-card{border-top-color:var(--primary,#ffd200)}
.checkpoint-page-hero--past .checkpoint-report-card-label{color:var(--archive-highlight)}

.page-hero.checkpoint-page-hero .checkpoint-status.status-unknown{color:#e3ebf5;background:rgba(222,233,244,.1);border-color:rgba(222,233,244,.37)}
.checkpoint-page-hero .checkpoint-report-card{min-width:0;padding:23px 25px 20px;border:1px solid rgba(255,255,255,.2);border-top:3px solid var(--primary,#ffd200);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.055));box-shadow:0 20px 42px rgba(1,12,28,.18);text-align:left}
.checkpoint-page-hero .checkpoint-report-card-label{color:var(--primary,#ffd200);margin:0 0 15px;font-size:.7rem;line-height:1.35;font-weight:850;letter-spacing:.12em}
.checkpoint-page-hero .checkpoint-report-field{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-top:1px solid rgba(255,255,255,.15);min-width:0}
.checkpoint-page-hero .checkpoint-report-field>div{min-width:0}
.checkpoint-page-hero .checkpoint-report-icon{display:flex;flex:0 0 39px;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid rgba(255,210,0,.25);border-radius:11px;color:var(--primary,#ffd200);background:rgba(255,210,0,.09)}
.checkpoint-page-hero .checkpoint-report-field .field-label{display:block;margin:1px 0 5px;font-size:.69rem;font-weight:820;letter-spacing:.08em;line-height:1.35;color:#bfcfe0}
.checkpoint-page-hero .checkpoint-report-field strong{display:block;color:#fff;font-weight:800;font-size:clamp(.97rem,1.25vw,1.07rem);line-height:1.44;overflow-wrap:break-word}
.checkpoint-page-hero .checkpoint-report-card-note{margin:6px 0 0;padding-top:13px;border-top:1px solid rgba(255,255,255,.15);color:#d2dfed;font-size:.75rem;line-height:1.6}
@media(max-width:780px){
  html .page-hero.checkpoint-page-hero{padding:35px 0 39px}
  .checkpoint-page-hero .checkpoint-hero-layout{grid-template-columns:minmax(0,1fr);gap:22px;max-width:650px}
  .page-hero.checkpoint-page-hero .checkpoint-hero.page-heading{text-align:center}
  .page-hero.checkpoint-page-hero .checkpoint-hero .eyebrow{justify-content:center}
  .page-hero.checkpoint-page-hero .checkpoint-hero h1{font-size:clamp(1.9rem,5.4vw,2.55rem);text-align:center;margin:14px auto}
  .page-hero.checkpoint-page-hero .checkpoint-hero-description{margin:0 auto}
  .page-hero.checkpoint-page-hero .checkpoint-status{justify-content:center;margin-inline:auto}
  .page-hero.checkpoint-page-hero .hero-updated{margin:16px auto 0}
  .checkpoint-page-hero .checkpoint-report-card{padding:19px 21px 17px}
}
@media(max-width:390px){
  .page-hero.checkpoint-page-hero .checkpoint-hero .eyebrow{letter-spacing:.055em;font-size:.66rem}
  .page-hero.checkpoint-page-hero .checkpoint-hero h1{font-size:1.85rem}
  .checkpoint-page-hero .checkpoint-report-card{padding:16px 17px}
  .page-hero.checkpoint-page-hero .checkpoint-status.status-past{font-size:.72rem;padding:7px 10px;letter-spacing:.045em}
  .checkpoint-page-hero--past .checkpoint-archived-notice{padding:12px 13px;margin-top:15px}
}
/* Individual checkpoint details only: premium editorial fact panel, not a table. */
.checkpoint-details-panel{
  --detail-accent:var(--checkpoint-detail-accent,var(--primary,#ffd200));
  --detail-navy:var(--checkpoint-detail-navy,var(--footer-bg,#10243b));
  --detail-ink:var(--checkpoint-detail-value-color,#152740);
  --detail-label:var(--checkpoint-detail-label-color,#705100);
  --detail-surface:var(--checkpoint-detail-surface,#ffffff);
  --detail-inset:var(--checkpoint-detail-field-padding,15px);
  padding:0;margin:4px 0 25px;overflow:hidden;
  border:1px solid #d7dfe9;border-top:3px solid var(--detail-accent);
  border-radius:15px;background:var(--detail-surface);box-shadow:0 10px 28px rgba(15,34,57,.065);
}
.checkpoint-details-header{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:var(--detail-navy);padding:21px 24px 19px;
}
.checkpoint-details-header h2{margin:3px 0 0;color:#fff;font-size:clamp(1.18rem,2vw,1.46rem);line-height:1.3;letter-spacing:-.018em}
.checkpoint-details-eyebrow{display:flex;align-items:center;gap:8px;margin:0!important;font-size:.68rem;font-weight:800;letter-spacing:.10em;color:var(--detail-accent);line-height:1.5}
.checkpoint-details-eyebrow span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
.checkpoint-details-disclaimer{margin:0!important;max-width:175px;text-align:right;color:#d2ddea;font-size:.75rem;line-height:1.55}
.checkpoint-details-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:15px 17px 18px;margin:0}
.checkpoint-details-grid>.checkpoint-detail-field{
  box-sizing:border-box;min-width:0;grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;
  gap:9px;padding:var(--detail-inset);border:1px solid color-mix(in srgb,var(--detail-accent) 32%,#dce5ee);border-top:2px solid var(--detail-accent);
  border-radius:9px;background:var(--detail-surface);box-shadow:0 2px 8px rgba(15,34,57,.025);
}
.checkpoint-details-grid>.checkpoint-detail-field--location{grid-column:1/-1;background:color-mix(in srgb,var(--detail-surface) 97%,var(--detail-accent))}
.checkpoint-details-grid>.checkpoint-detail-field--date,.checkpoint-details-grid>.checkpoint-detail-field--time{grid-column:span 3}
.checkpoint-details-grid dt{margin:0;line-height:1.1}
.checkpoint-details-grid .checkpoint-detail-label{
  display:inline-flex;align-items:center;gap:8px;max-width:100%;
  padding:0;background:transparent;color:var(--detail-label);
  font-size:.71rem;font-weight:850;letter-spacing:.11em;line-height:1.45;text-transform:uppercase;
}
/* A short golden rule echoes the hero eyebrow without low-contrast yellow text. */
.checkpoint-details-grid .checkpoint-detail-label::before{
  content:"";display:block;flex:none;width:17px;height:2px;border-radius:3px;background:var(--detail-accent);
}
.checkpoint-detail-label-dot{display:none}
.checkpoint-details-grid dd{margin:0;color:var(--detail-ink);font-size:clamp(.97rem,1.5vw,1.14rem);font-weight:760;line-height:1.52;letter-spacing:-.008em;overflow-wrap:anywhere;word-break:normal}
.checkpoint-details-grid .checkpoint-detail-field--location dd{font-size:1rem;line-height:1.7;font-weight:570}
.checkpoint-details-grid .region-link{color:var(--detail-ink);font-weight:800;text-decoration:none;text-underline-offset:4px}
.checkpoint-details-grid .region-link:hover{color:#19547b;text-decoration:underline}
.checkpoint-details-grid .region-link:focus-visible,.checkpoint-details-source a:focus-visible{outline:3px solid var(--detail-accent);outline-offset:3px;border-radius:3px}
.checkpoint-details-source{margin:0 17px 17px;padding-top:13px;border-top:1px solid #e7ebf1}
.checkpoint-details-source a{display:inline-flex;align-items:center;gap:8px;color:#194d77;font-weight:800;font-size:.84rem;text-decoration:none}
.checkpoint-details-source a:hover{text-decoration:underline}
@media(max-width:960px){.checkpoint-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkpoint-details-grid>.checkpoint-detail-field,.checkpoint-details-grid>.checkpoint-detail-field--date,.checkpoint-details-grid>.checkpoint-detail-field--time{grid-column:span 1}.checkpoint-details-grid>.checkpoint-detail-field--location{grid-column:1/-1}}
@media(max-width:520px){
  .checkpoint-details-header{padding:18px 17px;flex-wrap:wrap;gap:6px}
  .checkpoint-details-disclaimer{max-width:none;text-align:left;font-size:.72rem}
  .checkpoint-details-grid{padding:12px;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .checkpoint-details-grid>.checkpoint-detail-field{padding:var(--detail-inset);gap:8px}
  .checkpoint-details-grid>.checkpoint-detail-field--state,.checkpoint-details-grid>.checkpoint-detail-field--county,.checkpoint-details-grid>.checkpoint-detail-field--city,.checkpoint-details-grid>.checkpoint-detail-field--location{grid-column:1/-1}
  .checkpoint-details-grid>.checkpoint-detail-field--date,.checkpoint-details-grid>.checkpoint-detail-field--time{grid-column:span 1}
  .checkpoint-details-grid dd{font-size:1rem}
  .checkpoint-details-grid .checkpoint-detail-field--date dd,.checkpoint-details-grid .checkpoint-detail-field--time dd{font-size:.92rem}
  .checkpoint-details-source{margin:0 12px 15px}
}
@media(max-width:350px){.checkpoint-details-grid>.checkpoint-detail-field--date,.checkpoint-details-grid>.checkpoint-detail-field--time{grid-column:1/-1}}
/* Allow reverting only the individual checkpoint detail panel from Site Design. */
html[data-checkpoint-details-style="classic"] .checkpoint-details-panel{border:1px solid var(--border);border-radius:13px;padding:25px;background:var(--surface);box-shadow:var(--shadow)}
html[data-checkpoint-details-style="classic"] .checkpoint-details-header{display:block;padding:0;background:transparent}
html[data-checkpoint-details-style="classic"] .checkpoint-details-eyebrow,html[data-checkpoint-details-style="classic"] .checkpoint-details-disclaimer{display:none}
html[data-checkpoint-details-style="classic"] .checkpoint-details-header h2{margin:0 0 15px;color:var(--text)}
html[data-checkpoint-details-style="classic"] .checkpoint-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;padding:0}
html[data-checkpoint-details-style="classic"] .checkpoint-details-grid>.checkpoint-detail-field{display:block;grid-column:auto;padding:11px 0;border:none;border-bottom:1px solid #e7ebf0;border-radius:0;box-shadow:none;background:transparent}
html[data-checkpoint-details-style="classic"] .checkpoint-details-grid .checkpoint-detail-label{padding:0;background:transparent;color:var(--detail-label);border-radius:0}
html[data-checkpoint-details-style="classic"] .checkpoint-details-grid .checkpoint-detail-label::before{display:none}
html[data-checkpoint-details-style="classic"] .checkpoint-detail-label-dot{display:none}
html[data-checkpoint-details-style="classic"] .checkpoint-details-grid dd{margin-top:5px;font-weight:500;color:var(--detail-ink)}
html[data-checkpoint-details-style="classic"] .checkpoint-details-source{margin:16px 0 0}
@media(max-width:780px){html[data-checkpoint-details-style="classic"] .checkpoint-details-grid{grid-template-columns:1fr}}
.safety-note{padding:18px 22px;background:#fff5d5;border-left:4px solid #e1ae00;margin:25px 0}
.safety-note h2{margin:0 0 9px;font-size:1.15rem}.safety-note p{margin:0}.back-link{margin:25px 0 15px}

/* City checkpoint detail links follow the same clear, touch-friendly table style. */
.checkpoint-table .table-detail{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:center;line-height:1.2;white-space:nowrap;font-size:.82rem;font-weight:800;color:var(--link)}
.checkpoint-table .table-detail:hover,.checkpoint-table .table-detail:focus-visible{background:var(--table-header);color:var(--table-header-text);text-decoration:none}

html[data-table-heading-style="custom"] .checkpoint-table th{color:var(--checkpoint-heading-text)}

:root{--header-bg:#fff;--nav-text:#26364a;--nav-hover:#f2f5f9;--nav-active:#fff6d5;--breadcrumb-link:#146096;--button-hover:#26435f;--sidebar-surface:#fff;--warning:#ac500c;--status-current-bg:#ffead0;--status-current-text:#854500;--status-upcoming-bg:#e5f3ec;--status-upcoming-text:#195d3b;--status-past-bg:#e8ecf1;--status-past-text:#576476;--container-max:1240px;--section-spacing:32px;--card-radius:15px;--card-padding:20px;--card-gap:20px;--table-padding:13px;--button-radius:10px;--button-padding:14px;--header-height:96px;--header-menu-gap:2px;--menu-size:13px;--mobile-header-height:74px;--mobile-logo-size:49px;--footer-spacing:49px;--sidebar-spacing:22px;--breadcrumb-spacing:12px;--mobile-body-size:16px;--mobile-h1-size:34px}
.container{max-width:var(--container-max)}
.site-header{background:var(--header-surface,var(--header-bg))}
.header-shell{min-height:var(--header-height)}
.nav-inner{gap:var(--header-menu-gap)}
.nav-item>a{font-size:var(--menu-size);color:var(--header-ink,var(--nav-text))}
.nav-item>a:hover,.nav-item>a:focus-visible{background:var(--header-hover,var(--nav-hover))}
.btn{border-radius:var(--button-radius);padding-block:var(--button-padding)}
.btn-dark{background:var(--button-bg);color:var(--button-text);border:1px solid var(--button-bg)}
.btn-dark:hover,.btn-dark:focus-visible{background:var(--button-hover);color:var(--button-text)}
.status-current{background:var(--status-current-bg);color:var(--status-current-text)}
.status-upcoming{background:var(--status-upcoming-bg);color:var(--status-upcoming-text)}
.status-past{background:var(--status-past-bg);color:var(--status-past-text)}
.page-hero .eyebrow,.hero .eyebrow{display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:.74rem;letter-spacing:.145em;font-weight:850}
.page-hero .page-heading h1{font-weight:840;text-shadow:0 4px 25px rgba(0,0,0,.08)}
/* Single shared hero palette: only transparent, subtle decorations vary by style.
   Every page type uses --hero-bg, --hero-text and --hero-subtitle-color. */
html[data-hero-style="gradient"] .hero::before,
html[data-hero-style="gradient"] .page-hero::before{background:linear-gradient(120deg,transparent,color-mix(in srgb,var(--primary) 11%,transparent))}
html[data-hero-style="split"] .hero::before,
html[data-hero-style="split"] .page-hero::before{background:linear-gradient(90deg,transparent 66%,color-mix(in srgb,var(--primary) 9%,transparent) 66%)}
html[data-hero-style="minimal"] .hero::before,
html[data-hero-style="minimal"] .page-hero::before{background:none}
html[data-hero-style="centered"] .hero::before,
html[data-hero-style="centered"] .page-hero::before{background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 62%)}
html[data-hero-style="editorial"] .hero::before,
html[data-hero-style="editorial"] .page-hero::before{background:linear-gradient(165deg,transparent 60%,color-mix(in srgb,var(--primary) 9%,transparent))}
html[data-hero-style="location"] .hero::before,
html[data-hero-style="location"] .page-hero::before{background:radial-gradient(circle at 80% 8%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 40%)}
html[data-hero-style="checkpoint"] .hero::before,
html[data-hero-style="checkpoint"] .page-hero::before{background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 62%)}
html[data-hero-style="soft"] .hero::before,
html[data-hero-style="soft"] .page-hero::before{background:linear-gradient(110deg,color-mix(in srgb,var(--primary) 9%,transparent),transparent)}
html[data-hero-style="light"] .hero::before,
html[data-hero-style="light"] .page-hero::before{background:none}
html[data-hero-alignment=left] .page-hero,html[data-hero-alignment=left] .hero{text-align:left}
html[data-hero-alignment=left] .page-hero .page-heading,html[data-hero-alignment=left] .hero .hero-inner{margin-left:0;margin-right:auto}
html[data-hero-alignment=left] .page-hero h1,html[data-hero-alignment=left] .page-hero .hero-description,html[data-hero-alignment=left] .hero h1,html[data-hero-alignment=left] .hero-lede,html[data-hero-alignment=left] .hero-support{margin-left:0;text-align:left}
html[data-hero-alignment=left] .hero-actions{justify-content:flex-start}
.content-grid{gap:clamp(18px,2.5vw,34px)}
.sidebar-block{background:var(--sidebar-surface)}
.sidebar{gap:var(--sidebar-spacing)}
.contact-layout{padding-block:clamp(30px,4vw,62px) 75px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.85fr);gap:var(--card-gap);align-items:stretch}
.contact-feature,.contact-aside,.report-feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow)}
.contact-feature{padding:clamp(26px,5vw,52px);border-top:5px solid var(--primary)}
.contact-feature h2,.contact-aside h2{font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:-.04em;margin:0 0 16px}
.contact-feature>p:not(.eyebrow){max-width:610px;line-height:1.85;color:var(--muted)}
.contact-email{font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:800;overflow-wrap:anywhere;display:block;margin:22px 0}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.contact-aside{padding:clamp(24px,3vw,36px);background:linear-gradient(165deg,#fff,#f8fafc)}
.contact-social{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border:1px solid var(--border);margin-top:11px;border-radius:10px;font-weight:800;background:#fff;color:var(--secondary)}
.contact-social:hover{border-color:var(--primary);background:#fff8de}
.publisher-note{font-size:.84rem;color:var(--muted);border-top:1px solid var(--border);padding-top:19px;margin-top:23px;line-height:1.75}
.report-feature{margin:44px 0 12px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);overflow:hidden}
.report-feature-copy{padding:clamp(28px,5vw,52px)}
.report-feature-copy h2{font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.035em}
.report-feature-copy p{line-height:1.85;color:var(--muted);max-width:640px}
.report-feature-copy .btn{margin-top:14px}
.report-steps{background:#172b45;color:#fff;padding:clamp(26px,4vw,43px);display:grid;align-content:center;gap:25px}
.report-steps>div{display:grid;grid-template-columns:46px 1fr;column-gap:14px;row-gap:4px;align-items:start}
.report-steps span{grid-row:span 2;color:var(--primary);font-size:1.3rem;font-weight:900}
.report-steps strong{font-size:1rem}
.report-steps small{color:#cfdaea;line-height:1.55}
.report-disclaimer{max-width:860px;margin:18px auto 62px;text-align:center;color:var(--muted);font-size:.9rem}
@media(max-width:780px){body{font-size:var(--mobile-body-size)}
.hero h1,.page-hero h1{font-size:var(--mobile-h1-size)}
.contact-layout,.report-feature{grid-template-columns:minmax(0,1fr)}
.contact-layout{padding-top:26px}
.report-feature{margin-top:26px}
.report-steps{grid-template-columns:1fr}}
.static-intro{padding:0}
.static-intro p{font-size:1.08rem;color:var(--muted);max-width:900px;margin:0;text-align:left}
.static-actions{display:flex;justify-content:flex-start;gap:12px;padding-top:8px}
.page-hero.hero-static+.static-intro{border-top:1px solid var(--border)}
@media(max-width:610px){.static-actions{flex-wrap:wrap}}
.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:0 10px 25px rgba(20,40,65,.07);padding:19px;transform:translateY(-13px);position:relative;z-index:2;margin-bottom:3px}
.trust-strip>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}
.trust-strip>div+div{border-left:1px solid var(--border);padding-left:17px}
.trust-strip>div>span{grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;background:#fff5ce;color:#18324c;font-size:1.03rem;border-radius:9px;font-weight:800}
.trust-strip strong{font-size:.86rem;color:var(--secondary)}
.trust-strip small{font-size:.75rem;color:var(--muted)}
.footer-grid a:focus-visible{outline-color:var(--primary)}
.footer-grid>div{min-width:0}
.sidebar-block-head{border-bottom-color:rgba(255,255,255,.12)}
.sidebar-states li a{transition:background .15s,padding .15s}
.sidebar-states li a:hover{padding-left:12px}
@media(max-width:780px){.trust-strip{grid-template-columns:1fr;padding:15px;gap:14px;transform:translateY(-8px)}
.trust-strip>div+div{border:0;border-top:1px solid var(--border);padding:12px 0 0}
.trust-strip>div>span{grid-row:span 2}}
.sidebar-block{margin-bottom:var(--sidebar-spacing)}
.nav-item>a[aria-current=page]{background:var(--header-selected,var(--nav-active))}
.crumbs a{color:var(--breadcrumb-link)}
:root{--mobile-gutter:12px;--hero-accent-width:28px;--header-side-padding:24px;--table-border-weight:1px;--button-weight:700}
.hero .hero-inner,.page-hero .page-heading{position:relative;z-index:1}
.btn,.table-detail{font-weight:var(--button-weight)}
@media(min-width:781px){.site-header .header-container,.site-header .container{padding-left:var(--header-side-padding);padding-right:var(--header-side-padding)}}
@media(max-width:780px){.container{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}}
.state-preview{margin:38px 0 34px;border-top:1px solid var(--border);padding-top:26px}
.state-preview-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 20px}
.state-preview-head h2{margin:3px 0 0;font-size:clamp(1.25rem,2.3vw,1.75rem)}
.state-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.state-preview-link{display:flex;flex-direction:column;gap:9px;padding:22px;text-decoration:none!important;background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:0 7px 22px rgba(7,21,48,.04);transition:transform .18s ease,box-shadow .18s ease}
.state-preview-link:hover,.state-preview-link:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(7,21,48,.09)}
.state-preview-link strong{color:var(--secondary);font-size:1.15rem}
.state-preview-link span{color:var(--muted);font-size:.85rem}
.state-preview-link em{color:var(--link);font-style:normal;font-weight:700;margin-top:4px}
.preview-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.preview-blog-grid article{border:1px solid var(--border);background:var(--surface);border-radius:var(--card-radius);padding:22px}
.preview-blog-grid h3{margin:5px 0 12px;font-size:1.07rem}
.preview-blog-grid h3 a{color:var(--secondary)}
@media(max-width:760px){.state-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.state-preview-grid,.preview-blog-grid{grid-template-columns:1fr}
.state-preview-link{padding:19px}}
.context-links{border-top:1px solid var(--border);margin:28px 0;padding-top:23px}
.context-links h2{font-size:1.2rem;margin-bottom:14px}

/* Shared card shadow presets, excluding removed legacy state-tile markup. */
html[data-card-shadow=none] .detail-panel,html[data-card-shadow=none] .sidebar-block,html[data-card-shadow=none] .state-card{box-shadow:none}
html[data-card-shadow=medium] .detail-panel,html[data-card-shadow=medium] .sidebar-block,html[data-card-shadow=medium] .state-card{box-shadow:0 12px 32px rgba(18,37,60,.13)}
html[data-card-shadow=strong] .detail-panel,html[data-card-shadow=strong] .sidebar-block,html[data-card-shadow=strong] .state-card{box-shadow:0 18px 38px rgba(18,37,60,.19)}

/* Sidebar: coordinated with footer without pretending to be an official agency. */
.sidebar{min-width:0;align-self:start}
html[data-sidebar-sticky="1"] .sidebar{position:sticky;top:24px}
html[data-sidebar-sticky="1"][data-header-sticky="1"] .sidebar{top:calc(var(--header-height,96px) + 24px)}
.sidebar-block{background:var(--sidebar-surface,var(--surface));border:1px solid var(--border);border-radius:var(--sidebar-radius);margin-bottom:var(--sidebar-spacing,22px);overflow:hidden;box-shadow:0 12px 32px rgba(15,31,51,.075)}
.sidebar-block-head{display:flex;align-items:center;gap:13px;background:var(--footer-bg,#0f1f33);border-bottom:2px solid var(--primary);padding:20px 19px;color:var(--footer-heading,#fff)}
.sidebar-block-head small{display:block;font-weight:850;font-size:.64rem;letter-spacing:.14em;color:var(--primary);margin-bottom:5px}
.sidebar-block-head h2{color:var(--footer-heading,#fff);margin:0;font-size:1.1rem;letter-spacing:-.015em;line-height:1.32}
.sidebar-icon{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:11px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}
.sidebar-icon svg,.sidebar-info-icon svg{width:23px;height:23px}
.sidebar-block ul{padding:10px 13px 0;margin:0;list-style:none}
.sidebar-block li+li{border-top:1px solid var(--border)}
.sidebar-block li a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:43px;padding:10px 8px;border-radius:7px;color:var(--text);font-size:.86rem;font-weight:680;line-height:1.4;transition:background-color .15s,color .15s}
.sidebar-block li a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent);flex:0 0 5px}
.sidebar-block li a>span:first-child{margin-right:auto}
.sidebar-block li a:hover,.sidebar-block li a:focus-visible{background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--secondary)}
.sidebar-arrow{color:var(--link);font-size:1rem;line-height:1}
.sidebar-all{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 13px 15px;padding:12px 13px;border-radius:9px;background:var(--footer-bg);color:var(--footer-heading);font-size:.82rem;font-weight:790;transition:background-color .15s}
.sidebar-all:hover,.sidebar-all:focus-visible{background:var(--hero-bg);color:var(--primary)}
/* Public-safety card: refined navy/gold treatment, no external images or scripts. */
.sidebar-info{position:relative;isolation:isolate;min-width:0;padding:22px 20px 19px;background:var(--footer-bg,#0f1f33);border:1px solid color-mix(in srgb,var(--primary,#ffd200) 35%,var(--footer-bg,#0f1f33));color:var(--footer-text,#d7e2ee);box-shadow:0 15px 32px rgba(11,30,49,.16)}
.sidebar-info::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--primary,#ffd200);z-index:-1}
.sidebar-info::after{content:"";position:absolute;right:-42px;top:-74px;width:174px;height:174px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary,#ffd200) 11%,transparent),transparent 67%);pointer-events:none;z-index:-1}
.sidebar-info-top{display:flex;align-items:center;gap:11px;margin:1px 0 15px}
.sidebar-info-icon{display:grid;place-items:center;width:45px;height:45px;flex:none;border:1px solid color-mix(in srgb,var(--primary,#ffd200) 34%,transparent);border-radius:13px;background:color-mix(in srgb,var(--primary,#ffd200) 14%,transparent);color:var(--primary,#ffd200);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sidebar-info-icon svg{width:24px;height:24px}
.sidebar-info-eyebrow{min-width:0;color:var(--primary,#ffd200);font-size:.68rem;font-weight:850;line-height:1.5;letter-spacing:.105em}
.sidebar-info h2{margin:0 0 13px;font-size:clamp(1.14rem,1.6vw,1.28rem);line-height:1.3;letter-spacing:-.026em;font-weight:800;color:var(--footer-heading,#fff)}
.sidebar-info-message{padding:13px 14px 13px 15px;margin-bottom:17px;background:rgba(255,255,255,.055);border:1px solid rgba(220,233,248,.14);border-left:3px solid var(--primary,#ffd200);border-radius:9px}
.sidebar-info-message p{margin:0;color:var(--footer-text,#d7e2ee);font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}
.sidebar-info-action{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:45px;padding:11px 12px 11px 14px;border-radius:9px;background:var(--primary,#ffd200);color:#14263f;font-size:.82rem;font-weight:825;line-height:1.4;text-decoration:none;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}
.sidebar-info-action:hover,.sidebar-info-action:focus-visible{background:#ffe16d;color:#102239;transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.15)}
.sidebar-info-action-arrow{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid rgba(20,38,63,.2);border-radius:6px;font-size:1.05rem;line-height:1}
@media(max-width:520px){.sidebar-info{padding:19px 17px 17px}.sidebar-info-top{margin-bottom:12px}.sidebar-info-message{padding:12px 13px}.sidebar-info-action{min-height:46px}}
@media(prefers-reduced-motion:reduce){.sidebar-info-action{transition:none}.sidebar-info-action:hover{transform:none}}
.sidebar-block a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
/* Classic mode retains previous light appearance and editable heading color. */
html[data-sidebar-style="classic"] .sidebar-block-head{background:var(--sidebar-heading);border-bottom:0;color:#fff}
html[data-sidebar-style="classic"] .sidebar-block-head h2{color:#fff}
html[data-sidebar-style="classic"] .sidebar-icon{background:rgba(255,255,255,.12)}
html[data-sidebar-style="classic"] .sidebar-all{background:#f4f6fa;color:var(--link)}
/* Classic sidebar appearance remains configurable via Site Design. */
html[data-sidebar-style="classic"] .sidebar-info{background:linear-gradient(145deg,#fffaf0,#fff);border-color:#ecdba9;color:var(--text)}
html[data-sidebar-style="classic"] .sidebar-info h2{color:var(--text)}
html[data-sidebar-style="classic"] .sidebar-info-message{background:#fff;border-color:#eddfc0;border-left-color:var(--primary,#ffd200)}
html[data-sidebar-style="classic"] .sidebar-info-message p{color:var(--muted)}
html[data-sidebar-style="classic"] .sidebar-info-eyebrow{color:#795d05}
html[data-sidebar-style="classic"] .sidebar-info-icon{background:#fff1bc;border-color:#e6cf80;color:#554300}
html[data-sidebar-style="classic"] .sidebar-info-action{color:#14263f;background:var(--primary,#ffd200)}
html[data-sidebar-style="classic"] .sidebar-info-action:hover,html[data-sidebar-style="classic"] .sidebar-info-action:focus-visible{color:#14263f;background:#ffe16d}

.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:35px}.post-tile{background:#fff;border:1px solid var(--border);border-radius:7px;overflow:hidden}.post-tile img{width:100%;aspect-ratio:16/9;object-fit:cover}.post-tile-body{padding:17px}.post-tile h2{font-size:1.22rem;margin:4px 0 8px}.post-meta{color:var(--muted);font-size:.78rem}.post-body{margin:24px 0 35px}.post-image{display:block;width:100%;max-height:410px;object-fit:cover;border-radius:7px;margin-bottom:20px}.author-box{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--border);padding:24px 0;margin:32px 0}.author-box img{width:90px;height:90px;object-fit:cover;border-radius:8px}.author-box h2{font-size:1.07rem;margin:0 0 5px}.author-box p{font-size:.88rem;color:var(--muted)}.author-box a{font-size:.84rem;margin-right:10px}

/* v2.3.20: Article body is part of its sidebar row, not a second row below. */
.blog-article-grid{align-items:start}
.blog-article-main{min-width:0;width:100%;display:block;clear:none}
.blog-article-main .blog-article-body{width:100%;max-width:none;min-width:0;overflow-wrap:anywhere}
.blog-article-main .blog-article-body>*{max-width:100%}
.blog-article-main .blog-article-body table{display:block;max-width:100%;overflow-x:auto}
.blog-article-main .author-box{max-width:100%}
@media(max-width:780px){.blog-article-grid{grid-template-columns:minmax(0,1fr)}.blog-article-main{padding:0}}

/* Premium editorial layout with contained wide media and tables. */
.blog-directory-top{padding:23px 0 0;min-width:0}
.blog-directory-top h2{margin:0 0 5px;font-size:1.35rem}
.blog-directory-top p{color:var(--muted);margin:0 0 15px}
.blog-category-nav{display:flex;flex-wrap:wrap;gap:8px}
.blog-category-nav a{display:inline-flex;border:1px solid #d5e0ea;border-radius:999px;padding:7px 13px;background:#fff;color:#274766;font-size:.82rem;font-weight:750}
.blog-category-nav a:hover,.blog-category-nav a.is-active{background:#10263e;color:#ffdb46;border-color:#10263e}
.post-tile{border-radius:13px;box-shadow:0 4px 16px rgba(11,41,70,.06)}
.post-tile-body{padding:19px}.post-tile h2{line-height:1.35}
.blog-category-tag{display:inline-block;background:#fff4ce;color:#695000;padding:4px 9px;border-radius:100px;font-weight:800;font-size:.71rem;margin-bottom:8px}
.blog-post-hero .page-heading{max-width:1020px}
.blog-post-hero .page-heading>h1{max-width:930px;overflow-wrap:anywhere}
.blog-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px;margin-top:19px;font-size:.83rem;color:#d2ddea}
.blog-hero-meta>span,.blog-hero-meta>a{display:inline-flex;align-items:center;gap:7px}
.blog-hero-meta .blog-hero-author{color:#fff}.blog-hero-author img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #f3cf3d;background:#f2f5f9}
.blog-hero-meta time{font-weight:780;color:#fff}.blog-hero-category{color:#ffe16e;background:#132c48;border:1px solid #6e643b;padding:5px 10px;border-radius:100px;font-weight:750}
.blog-article-grid,.blog-article-main,.blog-article-main .blog-article-body{min-width:0;max-width:100%;overflow-wrap:anywhere}
.blog-article-main .blog-article-body{overflow-x:clip}
.blog-article-body :is(img,video,iframe,figure,svg,pre,blockquote){max-width:100%;box-sizing:border-box}
.blog-article-body :is(img,video,iframe){height:auto}
.blog-article-body pre{overflow-x:auto;white-space:pre}
.blog-article-body .blog-table-scroll{display:block;max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;border:1px solid #d6e0e9;border-radius:10px;margin:18px 0;background:#fff}
.blog-article-body .blog-table-scroll table{display:table;width:max-content;min-width:100%;max-width:none;overflow:visible;margin:0}
.blog-article-body .blog-table-scroll th,.blog-article-body .blog-table-scroll td{white-space:normal;min-width:100px}
.blog-article-main .blog-article-body>table{display:block;max-width:100%!important;overflow-x:auto}
.blog-article-main .post-image{border-radius:13px;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.blog-article-main .author-box{align-items:flex-start;gap:18px;padding:23px;border:1px solid #d3e0ec;border-left:4px solid #ffd200;border-radius:13px;background:linear-gradient(145deg,#f8fbfe,#eef4fa);margin:29px 0}
.blog-article-main .author-box img{flex:none;width:72px;height:72px;object-fit:cover;border-radius:50%;background:#fff;border:2px solid #d7bd4f}
.blog-article-main .author-box h2{margin:2px 0 6px;font-size:1.18rem;color:#17314e}
.blog-article-main .author-box .author-kicker{margin:0;color:#8e6d0c;font-size:.7rem;font-weight:850;letter-spacing:.12em}
.blog-article-main .author-box p:not(.author-kicker){line-height:1.65;margin:0 0 9px}
.blog-article-main .author-trust-label{display:inline-block;color:#396080;font-size:.76rem;font-weight:780}
@media(max-width:600px){.blog-hero-meta{font-size:.77rem;gap:9px}.blog-hero-author img{width:32px;height:32px}.blog-article-main .author-box{padding:15px;gap:11px}.blog-article-main .author-box img{width:52px;height:52px}.blog-article-main .blog-article-body{width:100%;max-width:100%}.post-grid{grid-template-columns:minmax(0,1fr)}}

/* Premium multi-author bylines and credible author attribution. */
.blog-hero-author{flex-wrap:wrap;gap:9px 13px!important}.blog-hero-person{display:inline-flex;gap:7px;align-items:center;min-width:0}.blog-hero-person img{width:34px;height:34px;border-radius:50%;border:2px solid #e8c74b;object-fit:cover}.blog-hero-person strong{font-size:.86rem;overflow-wrap:anywhere}
.article-authors{margin:28px 0;min-width:0}.article-authors-heading{margin:0 0 15px}.article-authors-heading .author-kicker{margin:0 0 5px;color:#927011;font-size:.73rem;font-weight:850;letter-spacing:.1em}.article-authors-heading h2{margin:0;color:#17324d;font-size:1.3rem}.article-authors-heading>p:last-child{color:#60758a;font-size:.85rem;margin:5px 0}
.article-authors-list{display:grid;gap:14px}.blog-article-main .author-box.article-author-card{display:flex;gap:15px;background:linear-gradient(120deg,#f7fbff,#edf4fb);border:1px solid #cddce9;border-left:4px solid #d9b537;box-shadow:0 7px 25px #10253b0a;border-radius:13px;padding:20px;margin:0;min-width:0;max-width:100%}
.blog-article-main .article-author-card>img{width:74px;height:74px;flex:0 0 74px;border-radius:50%;border:2px solid #d3b749;object-fit:cover}
.article-author-copy{flex:1;min-width:0;overflow-wrap:anywhere}.article-author-copy h3{margin:0 0 3px;color:#102b46;font-size:1.1rem}.article-author-copy .author-role{color:#365875;font-weight:750;margin:0 0 5px!important}.article-author-copy .author-expertise{color:#776119;font-size:.83rem;margin:0 0 6px!important}.article-author-copy>p{line-height:1.6;margin:6px 0 9px!important}.author-profile-links{display:flex;gap:8px;flex-wrap:wrap}.author-profile-links a{display:inline-flex;padding:5px 10px;border:1px solid #ccdbe6;border-radius:20px;background:#fff;color:#17436a;font-size:.77rem;font-weight:750;text-decoration:none}.author-profile-links a:hover{border-color:#bc9827;background:#fffae8}
@media(max-width:540px){.blog-article-main .author-box.article-author-card{padding:13px;gap:10px}.blog-article-main .article-author-card>img{width:54px;height:54px;flex-basis:54px}.blog-hero-person strong{font-size:.77rem}}

/* v2.3.75: Author Manager is the only source of public article authors. */
.article-authors-heading{margin:0 0 17px}
.article-authors-heading .author-kicker{color:#9b7610;font-size:.73rem;font-weight:850;letter-spacing:.12em}
.article-authors-list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.blog-article-main .article-authors .author-box.article-author-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;padding:23px;background:linear-gradient(135deg,#10283f,#142f4c);border:1px solid #38546e;border-left:4px solid #e6bf3f;border-radius:16px;box-shadow:0 10px 25px #10233b14;color:#eef4fa}
.article-author-portrait{width:88px;height:88px;padding:4px;border:1px solid #9c853b;border-radius:17px;background:#203c53;align-self:start}
.blog-article-main .article-authors .article-author-portrait img{width:100%;height:100%;display:block;object-fit:cover;border:0;border-radius:13px;background:#fff}
.article-authors .article-author-heading{display:flex;align-items:center;gap:8px 13px;flex-wrap:wrap}
.article-authors .article-author-copy h3{font-size:1.23rem;color:#fff;margin:0}
.article-author-identity{display:inline-block;border:1px solid #635b3a;border-radius:999px;padding:3px 9px;background:#283c42;color:#ffdc72;font-size:.66rem;font-weight:800;letter-spacing:.04em}
.article-authors .article-author-copy .author-role{color:#f8d567!important;font-size:.88rem;font-weight:750;margin:5px 0!important}
.article-authors .article-author-copy .author-expertise{color:#c7d8e7!important;margin:8px 0!important;font-size:.83rem}
.article-authors .article-author-copy .author-expertise strong{color:#ffe4a1}
.article-authors .article-author-copy .article-author-bio{color:#e2ebf3!important;line-height:1.7;margin:10px 0 14px!important}
.article-authors .author-profile-links{display:flex;flex-wrap:wrap;gap:8px}
.article-authors .author-profile-links a{display:inline-flex;align-items:center;gap:6px;background:#1f3f5c;border:1px solid #4b6c88;border-radius:8px;padding:7px 11px;color:#f8e6aa;font-size:.78rem;font-weight:760;min-height:33px;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.article-authors .author-profile-links a:hover,.article-authors .author-profile-links a:focus-visible{background:#294e6b;border-color:#d6b446;color:#fff;outline-offset:3px}
.article-authors .author-profile-links a span{color:#ffe07a}
@media(max-width:560px){.blog-article-main .article-authors .author-box.article-author-card{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:15px}.article-author-portrait{width:58px;height:58px;padding:3px;border-radius:12px}.blog-article-main .article-authors .article-author-portrait img{border-radius:9px}.article-authors .article-author-copy h3{font-size:1.04rem}.article-authors .author-profile-links a{font-size:.73rem;padding:6px 9px}}

/* v2.3.76: centered, clearly attributed article hero. */
.blog-post-hero .page-heading{margin-inline:auto;text-align:center;max-width:1040px}
.blog-post-hero .page-heading>h1{margin-inline:auto}
.blog-post-hero .blog-hero-meta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;margin:22px auto 0;max-width:100%;color:#ecf2f9}
.blog-post-hero .blog-hero-author{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;width:100%;min-width:0}
.blog-post-hero .blog-hero-person{display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:100%;padding:8px 12px;border:1px solid #45617c;border-radius:13px;background:rgba(13,31,49,.58);text-align:left;color:#fff}
.blog-post-hero .blog-hero-person img{width:42px;height:42px;min-width:42px;border:2px solid #edd16a;border-radius:50%;object-fit:cover;background:#f3f5f7}
.blog-post-hero .blog-hero-person-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.blog-post-hero .blog-hero-person-copy small{color:#f2d67e;font-size:.69rem;font-weight:850;letter-spacing:.02em}
.blog-post-hero .blog-hero-person-copy strong{font-size:.86rem;line-height:1.3;color:#fff;overflow-wrap:anywhere}
.blog-post-hero .blog-hero-dates{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 19px;font-size:.8rem;color:#cad9e8}
.blog-post-hero .blog-hero-dates span{display:inline-flex;gap:5px;align-items:center}
.blog-post-hero .blog-hero-dates time{color:#fff;font-weight:800}
.blog-post-hero .blog-hero-category{display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;color:#ffe17e;background:#1c354d;border:1px solid #a08c4d;border-radius:999px;font-size:.78rem;font-weight:820;text-decoration:none}
.blog-post-hero .blog-hero-category:hover,.blog-post-hero .blog-hero-category:focus-visible{color:#fff!important;background:#274963;border-color:#edd16a;text-decoration:none;outline-offset:3px}
@media(max-width:600px){.blog-post-hero .blog-hero-person{width:min(100%,330px);box-sizing:border-box}.blog-post-hero .blog-hero-author{flex-direction:column;align-items:center;gap:8px}.blog-post-hero .blog-hero-dates{gap:6px 12px}.blog-post-hero .blog-hero-person-copy strong{font-size:.82rem}}

/* v2.3.77: Every clickable author credit jumps to its matching profile below the article. */
.blog-post-hero a.blog-hero-person{text-decoration:none;cursor:pointer;position:relative;transition:background .16s,border-color .16s,box-shadow .16s}
.blog-post-hero a.blog-hero-person:hover,.blog-post-hero a.blog-hero-person:focus-visible{background:rgba(36,74,105,.86);border-color:#e9cb63;box-shadow:0 0 0 2px rgba(239,204,92,.19);text-decoration:none}
.blog-post-hero a.blog-hero-person:hover strong,.blog-post-hero a.blog-hero-person:focus-visible strong{color:#fff}
.blog-post-hero .blog-hero-jump{color:#f5d76b;font-size:1rem;font-weight:850;flex:none;margin-left:2px}
.article-author-card[id]{scroll-margin-top:100px}
.blog-article-main .article-authors .article-author-card:target{border-color:#ffd200;box-shadow:0 0 0 3px rgba(255,210,0,.38),0 14px 35px rgba(12,39,63,.22)}
@media(prefers-reduced-motion:no-preference){html:has(.blog-post-hero){scroll-behavior:smooth}}

.form-panel{max-width:740px;margin:15px 0 50px;background:#fff;border:1px solid var(--border);padding:24px;border-radius:7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:13px}.form-field.full{grid-column:1/-1}.form-field label{font-weight:700;font-size:.86rem}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #c8d1dc;border-radius:5px;background:#fff;color:var(--text);padding:10px 12px;min-height:43px}.form-field textarea{min-height:118px;resize:vertical}.form-hint{font-size:.8rem;color:var(--muted)}.btn-dark{background:var(--secondary);color:#fff}.btn-dark:hover{background:#243f5c;color:#fff}.calculator-output{margin-top:20px;padding:18px;border:1px solid #d6deeb;background:#f4f7fc;border-radius:7px}.calculator-output strong{font-size:1.5rem}.warning-copy{font-size:.86rem;color:#5c3e00;background:#fff6d9;padding:12px 15px;border-radius:4px;margin:18px 0}

/* Manual AdSense: consistent reserved space, without CLS-prone absolute-positioned creatives. */
.ad-global-placement:empty{display:none}
.ad-slot{box-sizing:border-box;display:block;min-height:calc(var(--ad-desktop,250px) + 34px);margin:24px 0;padding:8px 10px 12px;background:#f6f8fb;border:1px solid #e5e9ef;border-radius:8px;text-align:center;max-width:100%}
.ad-label{display:block;margin:0 0 8px;font-size:.66rem;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#64768a}
.ad-slot>.adsbygoogle,.ad-test-space{display:block;min-height:var(--ad-desktop,250px);width:100%}
.ad-test-space{display:grid;place-items:center;color:#718095;font-size:.82rem}
@media(min-width:781px) and (max-width:1100px){.ad-slot{min-height:calc(var(--ad-tablet,200px) + 34px)}.ad-slot>.adsbygoogle,.ad-test-space{min-height:var(--ad-tablet,200px)}}
@media(max-width:780px){.ad-slot{min-height:calc(var(--ad-mobile,160px) + 34px);margin:18px 0}.ad-slot>.adsbygoogle,.ad-test-space{min-height:var(--ad-mobile,160px)}.ad-visibility-desktop,.ad-visibility-tablet{display:none!important}}
@media(min-width:781px) and (max-width:1100px){.ad-visibility-mobile,.ad-visibility-desktop{display:none!important}}
@media(min-width:1101px){.ad-visibility-mobile,.ad-visibility-tablet{display:none!important}}

@media(max-width:1180px){.header-shell{width:min(calc(100% - 48px),var(--header-max-width));min-height:84px}
.menu-toggle{display:block;margin-left:auto}
.nav-area{display:none;position:absolute;top:calc(100% - 1px);right:24px;width:min(390px,calc(100vw - 48px));background:var(--header-surface);border:1px solid color-mix(in srgb,var(--header-ink) 18%,transparent);border-top:0;border-radius:0 0 15px 15px;box-shadow:0 22px 35px rgba(15,31,51,.22);margin:0;max-height:min(75vh,700px);overflow-y:auto}
.nav-area.open{display:block}
.nav-inner{display:block;padding:13px}
.nav-item>a{padding:12px 13px;white-space:normal}
.nav-drop{display:block;position:static;box-shadow:none;border:none;background:var(--header-hover);padding:4px;margin:0 0 5px 12px;min-width:0;border-radius:9px}
.nav-drop a{padding:11px 12px;min-height:42px}
.nav-chevron{margin-left:auto}
.content-grid{gap:24px}
.checkpoint-table{font-size:.78rem}
.checkpoint-table td,.checkpoint-table th{padding:10px 7px}}
@media(max-width:920px){.content-grid{grid-template-columns:minmax(0,1fr) 238px;gap:18px}
.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
html[data-footer-layout="three"] .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.container{width:min(calc(100% - 26px),680px)}
.header-shell{min-height:74px;width:calc(100% - 28px);gap:12px}
.branding{gap:8px}
.branding img{width:55px;height:55px}
.branding strong{font-size:1.03rem}
.branding small{font-size:.65rem;margin-top:2px}
.nav-area{right:14px;width:min(400px,calc(100vw - 28px))}
.content-grid{grid-template-columns:1fr;gap:0;padding:23px 0 48px}
.sidebar{display:none}
html[data-sidebar-mobile="1"] .sidebar{display:block;margin-top:18px}
html[data-sidebar-sticky="1"] .sidebar{position:static}
.checkpoint-table-wrap{display:block;max-width:100%}
.checkpoint-table-hint{display:block}
.checkpoint-table{font-size:.8rem}
.checkpoint-table.scope-home{min-width:810px}
.checkpoint-table.scope-state,.checkpoint-table.scope-county{min-width:810px}
.checkpoint-table.scope-city{min-width:860px}
.checkpoint-table th,.checkpoint-table td{padding:11px 9px}
.checkpoint-section{margin:20px 0 25px}
.section-heading h2{font-size:1.16rem}
.section-intro{margin-bottom:19px}
.region-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-grid{grid-template-columns:1fr}
.post-grid{grid-template-columns:1fr}
}
@media(max-width:460px){.container{width:calc(100% - 18px)}
.header-shell{width:calc(100% - 20px)}
.branding strong{font-size:.94rem}
.branding small{font-size:.59rem}
.branding img{width:49px;height:49px}
.hero-actions{gap:10px}
.hero-actions .btn{width:100%}
.trust-line span{padding:0 4px}
.region-links{grid-template-columns:1fr}
.form-grid{grid-template-columns:1fr}
.form-panel{padding:16px}
.footer-grid a{font-size:.81rem}.branding{max-width:calc(100% - 65px)}.branding strong{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.btn,.nav-item>a,.footer-grid a{transition:none}
.btn:hover{transform:none}}
@media(max-width:780px){.header-shell{min-height:var(--mobile-header-height)}
.branding img{width:var(--mobile-logo-size);height:var(--mobile-logo-size)}}
/* Single-column link groups on very narrow screens; keep icon tap targets full size. */
@media(max-width:360px){
.footer-grid,html[data-footer-layout="three"] .footer-grid{grid-template-columns:1fr;gap:23px}
}

/* V2.2 Typography Studio: saved admin values produce --typ-* inline tokens in header. */
:root{--typ-font-stack:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{font-family:var(--typ-font-stack);font-size:var(--typ-body-size,16px);font-weight:var(--typ-base-weight,400);line-height:var(--typ-body-line,166%);letter-spacing:var(--typ-text-spacing,0px)}
p{margin-bottom:var(--typ-paragraph-gap,17px)}
h1,h2,h3,h4{font-weight:var(--typ-heading-weight,800);line-height:var(--typ-heading-line,122%);letter-spacing:var(--typ-heading-spacing,-.03px)}
h1{font-size:var(--typ-h1-size,50px)}h2{font-size:var(--typ-h2-size,30px)}h3{font-size:var(--typ-h3-size,21px)}
.hero h1,.page-hero h1{font-size:clamp(30px,4vw,var(--typ-hero-size,48px));font-weight:var(--typ-hero-weight,850);line-height:var(--typ-hero-line,114%);max-width:var(--typ-hero-max-width,900px)}
.hero-lede,.page-hero .hero-description{font-size:var(--typ-hero-subtitle,18px)}
.hero .eyebrow,.page-hero .eyebrow{font-size:var(--typ-hero-eyebrow,12px)}
.btn,.btn-dark{font-size:var(--typ-button-size,15px);font-weight:var(--typ-button-weight,750)}
.nav-item>a{font-size:var(--typ-nav-size,13px);font-weight:var(--typ-nav-weight,750)}
.checkpoint-table th{font-size:var(--typ-table-heading,13px);font-weight:var(--typ-table-weight,850)}
.checkpoint-table td{font-size:var(--typ-table-body,14px);line-height:var(--typ-table-line,150%)}
.checkpoint-table td:nth-last-child(2),.checkpoint-table td:last-child{font-size:var(--typ-table-date,13px)}
.sidebar-block-head h2{font-size:var(--typ-sidebar-title,18px)}.sidebar-block li a{font-size:var(--typ-sidebar-link,14px)}
.crumbs ol{font-size:var(--typ-crumb-text,13px);font-weight:var(--typ-crumb-weight,600)}
.footer-grid h2{font-size:var(--typ-footer-title,17px)}.footer-grid a{font-size:var(--typ-footer-link,14px)}
.footer-brand p,.footer-contact-label{font-size:var(--typ-footer-copy,14px)}.safety-copy h2{font-size:var(--typ-safety-title,32px)}
.region-link{font-weight:var(--typ-links-weight,730)}.post-meta{font-size:var(--typ-meta-size,13px)}
.prose{font-size:var(--typ-blog-body,17px);max-width:var(--typ-prose-width,78ch)}
.post-body h1{font-size:var(--typ-blog-title,44px)}
.form-field label,.form-field input,.form-field textarea,.form-field select{font-size:var(--typ-field-size,15px)}
@media(max-width:1100px) and (min-width:781px){body{font-size:var(--typ-body-tablet,16px)}.hero h1,.page-hero h1{font-size:var(--typ-hero-tablet,43px)}h1{font-size:var(--typ-h1-tablet,44px)}}
@media(max-width:780px){body{font-size:var(--typ-body-mobile,16px);line-height:var(--typ-mobile-line,160%);letter-spacing:var(--typ-mobile-letter,0px)}.hero h1,.page-hero h1{font-size:var(--typ-hero-mobile,33px)}.hero-lede,.page-hero .hero-description{font-size:var(--typ-hero-subtitle-mobile,16px)}h1{font-size:var(--typ-h1-mobile,34px)}h2{font-size:var(--typ-h2-mobile,26px)}h3{font-size:var(--typ-h3-mobile,19px)}.nav-item>a{font-size:var(--typ-nav-mobile,15px)}.btn{font-size:var(--typ-button-mobile,15px)}.crumbs ol{font-size:var(--typ-crumb-mobile,12px)}}
