
/* 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:#152740;--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:#152740;--button-bg:#14263f;--link:#146096;--link-hover:#14263f;--sidebar-heading:#152740;--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}

.site-header{background:var(--header-bg);border-bottom:1px solid #e6ebf0;position:relative;z-index:40;box-shadow:0 2px 16px rgba(17,36,58,.035)}
html[data-header-sticky="1"] .site-header{position:sticky;top:0}
.header-shell{width:min(calc(100% - 56px),var(--header-max-width));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:96px}
.branding{display:inline-flex;align-items:center;gap:12px;min-width:0;flex-shrink:0;color:var(--nav-text)}.branding:hover{color:var(--nav-text)}
.branding img{width:var(--logo-size);height:var(--logo-size);object-fit:contain;flex-shrink:0}
.branding strong{display:block;font-size:clamp(1.14rem,1.5vw,1.38rem);line-height:1.17;letter-spacing:-.04em;font-weight:850}
.branding small{display:block;color:var(--muted);font-size:.72rem;font-weight:550;line-height:1.35;margin-top:5px;max-width:260px}
.nav-area{margin-left:auto;min-width:0}.nav-inner{display:flex;align-items:center;justify-content:flex-end;gap:2px}
.nav-item{position:relative}.nav-item>a{display:flex;align-items:center;gap:3px;white-space:nowrap;padding:10px 11px;color:var(--nav-text);font-size:.82rem;font-weight:750;border-radius:8px;transition:background-color .15s,color .15s}
.nav-item>a:hover,.nav-item>a:focus-visible{background:var(--nav-hover);color:var(--nav-text)}
.nav-item>a[aria-current=page]{background:var(--nav-active);color:var(--nav-text)}
.nav-chevron{color:#9b7615;font-size:1.1em;line-height:1}
.nav-drop{display:none;position:absolute;top:calc(100% - 2px);left:0;min-width:200px;border:1px solid var(--border);background:var(--header-bg);border-radius:11px;box-shadow:0 16px 34px rgba(15,31,51,.14);padding:7px;z-index:50}
.nav-drop a{display:block;padding:10px 12px;color:var(--nav-text);font-size:.86rem;border-radius:7px}
.nav-drop a:hover,.nav-drop a:focus-visible{background:#f5f7fa;color:#13243a}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{display:block}
.menu-toggle{display:none;width:46px;height:43px;flex-shrink:0;background:var(--header-bg);border:1px solid #dce4ed;border-radius:10px;padding:11px;box-shadow:0 2px 4px rgba(0,0,0,.03)}
.menu-toggle span{display:block;height:2px;background:#1b2f49;border-radius:3px;margin:4px 0}

/* Centered public-safety reminder — all measurements come from Site Design.
   The background is independent of the footer. No extra override stylesheet. */
.safety-banner{
  padding:var(--safety-top-gap,44px) var(--safety-outer-gutter,52px) var(--safety-section-gap,44px);
  background:transparent;
  border:0;
  color:var(--safety-text,#ffffff);
}
.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(--primary) 40%,transparent);
  background:radial-gradient(circle at 50% -50%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 60%),var(--safety-bg,#172e49);
  color:var(--safety-text,#ffffff);
  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(--primary);
}
.safety-symbol{
  display:grid;place-items:center;flex:none;width:54px;height:54px;
  border-radius:16px;background:var(--primary);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-text,#ffffff);
  font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;
}
.safety-copy h2{
  margin:0 0 15px;color:var(--safety-text,#ffffff);
  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-text,#ffffff);
  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-text,#ffffff);
  border:1px solid color-mix(in srgb,var(--safety-text) 30%,transparent);
  background:color-mix(in srgb,var(--safety-text) 7%,transparent);
}
.safety-badge{background:var(--primary);border:1px solid var(--primary);color:#192d43;font-weight:850}
.safety-badge span{color:#192d43;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}}

.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:49px 0 0}
.footer-brand{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand-mark{display:inline-flex;align-items:center;gap:14px;color:var(--footer-heading);min-width:250px}
.footer-brand-mark:hover{color:var(--footer-heading)}.footer-brand-mark img{width:57px;height:57px;object-fit:contain;flex-shrink:0}
.footer-brand-mark strong{display:block;font-size:1.17rem;line-height:1.2;color:var(--footer-heading);letter-spacing:-.015em}
.footer-brand-mark small{display:block;font-size:.73rem;color:var(--footer-text);margin-top:4px}
.footer-brand>p{max-width:460px;margin:0;font-size:.86rem;line-height:1.7}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:35px;padding-bottom:40px}
html[data-footer-layout="three"] .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-grid h2{color:var(--footer-heading);font-size:1rem;margin:0 0 16px;letter-spacing:0}
.footer-grid h2::after{content:"";display:block;width:28px;height:3px;border-radius:3px;background:var(--footer-accent);margin-top:10px}
.footer-grid a{display:block;width:fit-content;max-width:100%;color:var(--footer-text);font-size:.88rem;padding:5px 0;overflow-wrap:anywhere;transition:color .16s}
.footer-grid a:hover{color:var(--footer-accent)}.footer-contact-label{font-size:.85rem;color:var(--footer-text)}
.footer-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.footer-social a{border:1px solid rgba(255,255,255,.24);padding:7px 11px;border-radius:7px;font-size:.78rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0 23px;font-size:.75rem;color:var(--footer-text);opacity:.86}

/* 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)}
.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}

/* Locations directory, compact shared state cards, region links and breadcrumbs. */
.directory-layout{padding-top:28px}
.directory-intro{max-width:720px;margin:0 0 22px}
.directory-intro h2{margin:0 0 9px;letter-spacing:-.025em}
.directory-intro p:last-child{color:var(--muted);line-height:1.65}
.states-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 26px}
.state-card{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto;align-items:center;gap:11px;min-width:0;min-height:98px;padding:16px 17px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--state-card-radius,11px);box-shadow:var(--state-card-shadow,0 4px 14px rgba(17,33,55,.05));color:var(--secondary);text-decoration:none!important;transition:border-color .17s,box-shadow .17s,transform .17s}
.state-card:hover,.state-card:focus-visible{color:var(--secondary);border-color:#d6ab28;box-shadow:0 9px 21px rgba(17,33,55,.1);transform:translateY(-2px)}
.state-card-icon{grid-column:1;display:grid;place-items:center;width:42px;height:42px;border:1px solid #f0df9a;background:#fff6d7;color:#243548;font-weight:900;font-size:.78rem;border-radius:11px;letter-spacing:.04em}
.state-card-body{grid-column:2;display:block;min-width:0}
.state-card-name{display:block;color:var(--secondary);font-size:clamp(.97rem,1.2vw,1.12rem);line-height:1.35;letter-spacing:-.02em}
.state-card-count{display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:4px}
.state-card-action{grid-column:2;font-size:.75rem;font-weight:800;color:var(--link);display:flex;align-items:center;gap:5px;margin-top:-3px}
.state-card-action span{font-size:1rem;line-height:1;color:var(--secondary)}
.directory-layout .state-card{min-height:110px;padding:19px 18px}
.state-preview .states-grid{margin-top:15px}
.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:1199px){.states-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.directory-layout{padding-top:20px}.breadcrumb-shell{width:calc(100% - 24px)}.crumbs{padding-block:9px}.region-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.states-grid{grid-template-columns:1fr;gap:10px}.state-card,.directory-layout .state-card{min-height:85px;padding:13px 15px}.region-links{grid-template-columns:1fr}.crumbs ol{gap:5px}.crumbs li:not(:last-child)::after{margin-left:5px}}
@media(prefers-reduced-motion:reduce){.state-card{transition:none}.state-card:hover{transform:none}}

/* 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}

/* Semantic desktop checkpoint table. Details columns remain compact. */
.checkpoint-section{margin:22px 0 29px}.section-heading{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.section-heading h2{margin:0;font-size:1.3rem}.count-pill{background:#e8edf3;color:#42566c;font-size:.72rem;font-weight:800;border-radius:40px;padding:4px 10px}
.checkpoint-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:0 8px 24px rgba(20,41,65,.05)}
.checkpoint-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.84rem;font-variant-numeric:tabular-nums}
.checkpoint-table th{background:var(--table-header);color:var(--table-header-text);font-size:.8rem;font-weight:840;padding:13px 12px;letter-spacing:.015em;border-right:1px solid rgba(12,30,48,.1);white-space:nowrap;text-align:left}
.checkpoint-table th:last-child{border-right:0}
.checkpoint-table td{padding:var(--table-padding,13px) 12px;border-top:1px solid var(--border);background:var(--surface);vertical-align:middle;overflow-wrap:break-word;line-height:1.56;color:var(--text)}
.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}
.checkpoint-table .table-detail{white-space:nowrap;font-size:.82rem;font-weight:800;color:var(--link)}.checkpoint-table .table-detail:hover{text-decoration:underline}
.checkpoint-cards{display:none}

.checkpoint-hero .status{margin:2px auto 15px}
.hero-data{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-width:650px;margin:8px auto 0;text-align:left}
.hero-data>div{padding:17px 20px;background:#fff;border:1px solid var(--border);border-radius:11px;color:#223349}
.field-label{display:block;color:#65748a;font-size:.69rem;font-weight:850;letter-spacing:.09em;margin-bottom:5px}
.hero-data strong{font-size:1.02rem;line-height:1.4}
.detail-panel{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:26px;margin:4px 0 25px;box-shadow:var(--shadow)}
.detail-panel h2{margin:0 0 15px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.detail-grid div{padding:11px 0;border-bottom:1px solid #e7ebf0}
.detail-grid dt{color:#627187;font-size:.75rem;font-weight:750;text-transform:uppercase}
.detail-grid dd{margin:3px 0;overflow-wrap:anywhere}.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}

: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-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(--nav-text)}
.nav-item>a:hover,.nav-item>a:focus-visible{background: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)}
.checkpoint-card{border-radius:var(--card-radius)}
.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}}
.location-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:27px}
.location-summary>div{background:var(--surface);padding:16px 19px;border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:var(--card-radius);display:flex;align-items:center;justify-content:space-between;gap:10px}
.location-summary span{color:var(--muted);font-size:.83rem;font-weight:740}
.location-summary strong{font-size:1.45rem;color:var(--secondary)}
.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){.location-summary{gap:6px}
.location-summary>div{padding:10px;display:grid;gap:4px}
.location-summary span{font-size:.73rem}
.location-summary strong{font-size:1.25rem}
.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(--nav-active)}
.crumbs a{color:var(--breadcrumb-link)}
:root{--mobile-gutter:12px;--mobile-card-padding:19px;--hero-accent-width:28px;--header-side-padding:24px;--card-border-weight:1px;--table-border-weight:1px;--button-weight:700}
.hero .hero-inner,.page-hero .page-heading{position:relative;z-index:1}
.btn,.checkpoint-cta,.table-detail{font-weight:var(--button-weight)}
.checkpoint-card{border-width:var(--card-border-weight);position:relative;overflow:hidden}
html[data-card-accent="1"] .checkpoint-card::before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--primary),#f6b500)}
@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){.checkpoint-cards .checkpoint-card{padding:var(--mobile-card-padding)}
.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] .checkpoint-card,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] .checkpoint-card,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] .checkpoint-card,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{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:118px}
.sidebar-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--sidebar-radius);margin-bottom:22px;overflow:hidden;box-shadow:var(--shadow)}
.sidebar-block-head{display:flex;align-items:center;gap:13px;background:var(--sidebar-heading);padding:20px 20px 18px;color:#fff}
.sidebar-block-head small{display:block;font-weight:800;font-size:.64rem;letter-spacing:.13em;color:#f2d775;margin-bottom:4px}
.sidebar-block-head h2{color:#fff;margin:0;font-size:1.11rem}
.sidebar-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.12);font-size:1.65rem;color:var(--primary)}
.sidebar-block ul{padding:11px 20px 5px;margin:0;list-style:none}
.sidebar-block li+li{border-top:1px solid #edf0f4}
.sidebar-block li a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;color:var(--text);font-size:.86rem;font-weight:630}
.sidebar-block li a:hover{color:var(--link)}.sidebar-arrow{color:#8e9aac;font-size:1.05rem}
.sidebar-all{display:flex;align-items:center;justify-content:space-between;margin:9px 20px 18px;padding:10px 12px;border-radius:9px;background:#f4f6fa;font-size:.82rem;font-weight:790}
.sidebar-info{padding:21px;background:linear-gradient(145deg,#fff9e8,#fff);border-color:#f2e2ae}
.sidebar-info-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#ffdb64;color:#253246;font-size:1.4rem;font-weight:900;margin-bottom:12px}
.sidebar-info h2{margin:0 0 7px;font-size:1.14rem}
.sidebar-info p{margin:0 0 12px;color:#4e5a6d;font-size:.88rem;line-height:1.65}
.sidebar-info>a{font-size:.83rem;font-weight:800}

.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}}

.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}

.ad-slot{background:#f4f5f7;border:1px solid #e3e6ec;padding:8px 10px;min-height:var(--ad-desktop,150px);margin:28px 0;text-align:center}.ad-label{font-size:.67rem;color:#788392;letter-spacing:.09em;display:block}.ad-placeholder{display:flex;justify-content:center;align-items:center;color:#89919b;font-size:.8rem}

@media(min-width:781px) and (max-width:1100px){.ad-slot{min-height:var(--ad-tablet,180px)}}
@media(max-width:780px){.ad-slot{min-height:var(--ad-mobile,160px)}}
@media(max-width:780px){.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-bg);border:1px solid #e2e8ef;border-radius:0 0 14px 14px;box-shadow:0 22px 35px rgba(15,31,51,.13);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:#f7f9fc;padding:3px 4px;margin:0 0 4px 14px;min-width:0}
.nav-drop a{padding:9px 12px}
.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:none}
.checkpoint-cards{display:grid;gap:17px}
.checkpoint-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:10px;box-shadow:0 4px 14px rgba(18,36,60,.055);overflow:hidden}
.cp-top{padding:19px 16px 15px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center}
.cp-top h3{font-size:.98rem;line-height:1.45;margin:0;font-weight:850;letter-spacing:.012em;text-transform:uppercase;color:var(--secondary);overflow-wrap:anywhere}
.cp-top h3 .region-link{color:inherit;text-decoration:none}
.cp-top h3 .region-link:hover,.cp-top h3 .region-link:focus-visible{text-decoration:underline}
.cp-top .status{order:-1;align-self:center;gap:7px;padding:7px 14px;font-size:.71rem;font-weight:900;letter-spacing:.115em;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:7px;box-shadow:0 2px 7px rgba(12,31,52,.06);line-height:1.3}
.cp-top .status::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 10%,transparent)}
.checkpoint-cards[data-status-layout="inline"] .cp-top{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;text-align:left;align-items:center;gap:9px}
.checkpoint-cards[data-status-layout="inline"] .cp-top h3{font-size:.89rem;flex:1;min-width:0;text-wrap:pretty}
.checkpoint-cards[data-status-layout="inline"] .cp-top .status{order:0;flex:none;align-self:center;padding:7px 9px;font-size:.65rem}
.cp-data{margin:0 16px;padding:11px 0;border-top:1px solid #e9edf2;min-width:0}
.cp-data.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.cp-data strong{display:block;font-size:.89rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.cp-data p{font-size:.91rem;line-height:1.48;margin:0;overflow-wrap:anywhere}
.checkpoint-cta,.checkpoint-cta:visited,.checkpoint-cta:hover,.checkpoint-cta:focus,.checkpoint-cta:focus-visible,.checkpoint-cta:active{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px 13px;text-align:center;background:var(--button-bg);color:var(--button-text)!important;font-size:.87rem;font-weight:800;text-decoration:none}
.checkpoint-cta:hover{background:var(--button-hover)}
.checkpoint-cta span{color:var(--primary)}
.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}
.footer-brand{align-items:flex-start;flex-direction:column;gap:12px}
.footer-bottom{display:block}
.footer-bottom span{display:block;margin-top:8px}
.post-grid{grid-template-columns:1fr}
.ad-slot{min-height:var(--ad-mobile,100px)}}
@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}
.hero-data{grid-template-columns:1fr}
.cp-top{gap:8px;padding-top:16px}
.cp-top h3{font-size:.94rem}
.checkpoint-cards[data-status-layout="inline"] .cp-top{gap:7px}
.checkpoint-cards[data-status-layout="inline"] .cp-top h3{font-size:.82rem}
.checkpoint-cards{gap:15px}
.footer-grid,html[data-footer-layout="three"] .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}
.footer-grid a{font-size:.81rem}
.footer-brand-mark{min-width:0}}
@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)}
.cp-top{padding:var(--card-padding) var(--card-padding) 12px}
.cp-data{margin-inline:var(--card-padding)}}

/* 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)}
.cp-top h3{font-size:var(--typ-card-title,17px)}.cp-data .field-label{font-size:var(--typ-card-label,11px)}
.cp-data p,.cp-data strong{font-size:var(--typ-card-data,15px)}.checkpoint-card .status{font-size:var(--typ-card-status,11px)}
.checkpoint-cta,.checkpoint-cta:visited,.checkpoint-cta:hover,.checkpoint-cta:active{font-size:var(--typ-card-cta,15px)}
.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)}}
