@font-face { font-family:"Public Sans"; font-style:normal; font-weight:400 800; font-display:swap; src:url(/assets/fonts/public-sans-latin.woff2) format("woff2"); }
@font-face { font-family:"Source Serif 4"; font-style:normal; font-weight:400 700; font-display:swap; src:url(/assets/fonts/source-serif-4-latin.woff2) format("woff2"); }
:root {
  --navy:#0F2A3C; --teal:#1F7A8C; --teal-dark:#175F6E; --sand:#EDE6D8; --ink:#14202A; --muted:#4F5D66; --mist:#DCE5E8; --paper:#FFFFFF; --divider:#7A8582;
  --container:1120px; --content:720px; --rail:320px; --gutter:clamp(16px,4vw,40px);
  --section-y:clamp(40px,5vw,64px); --panel-pad:clamp(24px,4vw,40px); --gap:24px; --radius:6px;
  --fs-body:1.0625rem; --lh-body:1.6; --fs-h1:clamp(2rem,4.5vw,3rem); --fs-h2:clamp(1.5rem,3vw,2rem); --fs-h3:1.25rem;
  --sans:"Public Sans",system-ui,sans-serif; --serif:"Source Serif 4",Georgia,serif;
  --sticky-header-height:80px; --mobile-contact-height:0px;
  /* Compatibility names share the same definitions; component rules own no palette. */
  --navy-950:var(--navy); --navy-900:var(--navy); --navy-800:var(--navy); --navy-700:var(--navy);
  --accent:var(--teal); --accent-dark:var(--teal-dark); --accent-light:var(--teal); --white:var(--paper); --slate:var(--muted); --line:var(--mist);
  --font-body:var(--fs-body); --font-h1:var(--fs-h1); --font-h2:var(--fs-h2); --font-h3:var(--fs-h3); --font-lead:1.25rem; --font-small:.875rem; --font-label:.8125rem; --font-action:1rem;
  --max:var(--container); --reading-width:var(--content); --section-space:var(--section-y);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--sticky-header-height) + 18px); scroll-padding-bottom:calc(var(--mobile-contact-height) + 16px); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; font-family:var(--sans); color:var(--ink); background:var(--paper); font-size:var(--fs-body); line-height:var(--lh-body); }
button,input,select,textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
figure { margin:0; }
a { color:var(--teal); font-weight:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--teal-dark); }
h1,h2 { font-family:var(--serif); line-height:1.15; color:var(--navy); font-weight:600; }
h1 { font-size:var(--fs-h1); margin:0 0 24px; }
h2 { font-size:var(--fs-h2); margin:0 0 20px; }
h3 { font-family:var(--sans); font-weight:600; font-size:var(--fs-h3); line-height:1.35; color:var(--navy); margin:0 0 12px; }
p { margin:0 0 20px; }
p:last-child { margin-bottom:0; }
strong,b { font-weight:600; }
.paragraph-label { display:block; margin-top:24px; margin-bottom:8px; }
small,figcaption,.source-note,.section-note,.form-note,.trust-line,.layout-placeholder,.coverage-note { color:var(--muted); font-size:.875rem; }
:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
[hidden] { display:none !important; }
.wrap { width:min(calc(100% - 2 * var(--gutter)),var(--container)); margin-inline:auto; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:14px 22px; border:1.5px solid transparent; border-radius:var(--radius); font-size:1rem; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; background:var(--navy); color:white; }
.button:hover { color:white; background:var(--ink); }
.button-secondary,.button--outline { color:var(--navy); background:transparent; border-color:var(--navy); }
.button-secondary:hover,.button--outline:hover { color:var(--navy); background:var(--mist); }
.button-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; }
.button-row + * { margin-top:32px; }
.button--wide { width:100%; }
.card { background:var(--paper); color:var(--ink); border:1px solid var(--mist); border-radius:var(--radius); padding:28px; min-width:0; }
.card p { font-size:1rem; }
.card-label,.card > span,.card > div > span { display:block; color:var(--teal); font-size:.8125rem; margin-bottom:12px; }
a.card { display:flex; flex-direction:column; text-decoration:none; }
a.card h3,a.card p { text-decoration:none; }
a.card:hover { border-color:var(--teal); }
.card-action { display:block; font-size:1rem; font-weight:400; margin-top:20px; color:var(--teal); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.tile { display:block; background:var(--sand); color:var(--navy); border:0; border-radius:var(--radius); padding:20px; text-decoration:none; font-weight:600; line-height:1.4; }
.tile:hover { background:var(--mist); color:var(--navy); }
.panel { background:var(--navy); color:white; padding:var(--panel-pad); border-radius:var(--radius); }
.panel h2,.panel h3,.panel p,.panel li,.panel strong { color:white; }
.panel a { color:white; text-decoration-color:var(--teal); }
.panel a:hover { text-decoration-color:white; }
.panel .button-secondary { color:white; border-color:white; background:transparent; }
.panel .button-secondary:hover { background:white; color:var(--navy); }
.pending { display:inline-block; font:400 .8125rem/1.45 var(--sans); background:var(--sand); color:var(--ink); border-radius:4px; padding:4px 7px; vertical-align:baseline; overflow-wrap:anywhere; }
.comparison-table-wrap { max-width:100%; overflow-x:auto; margin:0; border-radius:var(--radius); }
table { width:100%; border-collapse:collapse; text-align:left; font-size:1rem; }
caption { caption-side:top; text-align:left; font-size:.875rem; color:var(--muted); padding:0 0 12px; }
thead th { background:var(--navy); color:white; font-weight:600; }
th,td { padding:18px 20px; border-bottom:1px solid var(--divider); vertical-align:top; }
tbody tr:nth-child(even) { background:#F2F5F6; }
tbody th { font-weight:600; color:var(--ink); }
.editorial-image,.hero-visual,.article-photo-card { width:100%; max-width:var(--content); margin:28px 0; }
.editorial-image__frame { border-radius:8px; overflow:hidden; }
.editorial-image img,.hero-visual img,.article-photo-card img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:8px; }
figcaption { padding-top:12px; }
.editorial-image--hero,.layout-hero .hero-visual { margin:0; }
.editorial-image--hero img,.layout-hero .hero-visual img { aspect-ratio:4/3; }
.term-grid,.priority-grid,.filter-grid,.related-grid,.distinction-grid,.option-grid,.scenario-list,.reader-list,.setting-list,.not-included-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap); margin:24px 0; }
.feature-checklist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; gap:var(--gap); }
.feature-checklist li,.plain-checklist li { margin:0; }
.plain-checklist { list-style:none; padding:0; gap:var(--gap); }
.preserved-anchor,.anchor-target { scroll-margin-top:calc(var(--sticky-header-height) + 18px); }
.preserved-anchor { display:block; height:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:12px; left:12px; z-index:1000; padding:12px 18px; color:white; background:var(--navy); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
/* One header breakpoint, with six labels on one line. */
.site-header { position:sticky; top:0; z-index:100; padding-top:env(safe-area-inset-top,0px); border-bottom:1px solid var(--mist); background:var(--paper); }
.header-row { display:flex; align-items:center; gap:16px; min-height:80px; width:calc(100% - 32px); max-width:1440px; padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px); }
.brand { display:flex; flex-shrink:0; align-items:center; gap:8px; text-decoration:none; color:var(--navy); }
.brand-mark { width:48px; height:48px; object-fit:contain; }
.brand-tagline { display:flex; flex-direction:column; gap:2px; font-size:.8125rem; line-height:1.4; white-space:nowrap; }
.brand-tagline strong { font-size:.875rem; }
.brand-wordmark { display:none; }
.primary-nav { display:flex; align-self:stretch; align-items:stretch; justify-content:center; flex:1; min-width:0; }
.nav-group { position:relative; display:flex; }
.nav-trigger { display:flex; align-items:center; background:transparent; border:0; padding:0 8px; font-size:14px; font-weight:600; white-space:nowrap; color:var(--navy); }
.nav-trigger:hover,.nav-trigger[aria-expanded=true] { color:var(--teal); }
.mega-menu { position:absolute; top:100%; left:0; display:none; grid-template-columns:200px 1fr; width:min(600px,calc(100vw - 32px)); border:1px solid var(--mist); background:var(--paper); }
.mega-menu--right { left:auto; right:0; }
.nav-group.is-open .mega-menu { display:grid; }
.mega-menu__intro { padding:24px; background:var(--navy); color:white; }
.mega-menu__intro span { display:block; font-size:.875rem; margin-bottom:12px; }
.mega-menu__intro strong { display:block; font-size:1.125rem; }
.mega-menu__intro p { font-size:.875rem; margin:12px 0 0; }
.mega-menu__links { display:grid; grid-template-columns:1fr 1fr; padding:12px; }
.mega-menu__links a { display:flex; align-items:center; padding:12px; font-size:.875rem; line-height:1.4; text-decoration:none; }
.mega-menu__links a:hover { background:var(--sand); }
.header-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.header-actions .button { padding:10px 14px; font-size:.875rem; }
.text-action { padding:0; color:var(--navy); background:transparent; border:0; font-size:.8125rem; white-space:nowrap; }
.mobile-menu-button { display:none; background:transparent; border:0; padding:10px 0; gap:8px; align-items:center; font-size:.875rem; }
.mobile-menu-lines { width:18px; height:12px; border-top:1.5px solid; border-bottom:1.5px solid; }
.breadcrumb-bar { padding:18px 0; border-bottom:1px solid var(--mist); }
.breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:.8125rem; }
.mobile-contact-bar { display:none; }
.back-to-top { position:fixed; right:20px; bottom:calc(var(--mobile-contact-height) + 20px); z-index:90; display:flex; align-items:center; gap:8px; padding:12px; border:1px solid var(--mist); border-radius:var(--radius); color:var(--navy); background:var(--paper); font-size:.875rem; }
.back-to-top svg { width:20px; height:20px; }
.footer-in-view .back-to-top { display:none; }
.preview-toast { position:fixed; left:50%; bottom:calc(var(--mobile-contact-height) + 20px); transform:translateX(-50%); z-index:110; width:min(480px,calc(100% - 40px)); background:var(--navy); color:white; padding:20px; border-radius:var(--radius); visibility:hidden; }
.preview-toast.is-visible { visibility:visible; }
/* Utility pages and inactive preview forms. */
.company-hero { display:grid; grid-template-columns:minmax(0,var(--content)) var(--rail); column-gap:64px; }
.company-hero > * { grid-column:1; min-width:0; }
.company-hero { padding-block:48px 32px; }

.article-hero { background:var(--sand); }
.article-hero .article-answer a { color:var(--teal-dark); }
.article-answer { font-size:var(--font-lead); }
.article-layout { padding-block:var(--section-y); }
.article-hero__grid { display:grid; grid-template-columns:minmax(0,720px) 320px; gap:64px; padding-block:var(--section-y); }
.question-callout,.safety-note { margin-block:24px; padding:24px; background:var(--sand); border-radius:var(--radius); }
.contact-form { padding:28px; border:1px solid var(--mist); border-radius:var(--radius); }
.contact-form fieldset { margin:0; padding:0; border:0; min-width:0; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; }
.field-grid label span { display:block; margin-bottom:8px; }
.field-full { grid-column:1/-1; }
input,select,textarea { max-width:100%; width:100%; padding:12px; background:white; border:1px solid var(--muted); border-radius:var(--radius); font-size:1rem; }
.consent-field { display:flex; gap:12px; margin:20px 0; }
.consent-field input { width:auto; flex-shrink:0; margin-top:6px; }
.form-note { margin-top:20px; }
button:disabled { opacity:.65; cursor:not-allowed; }
@media(max-width:1199px) {
  .header-row { justify-content:space-between; min-height:88px; width:calc(100% - 2 * var(--gutter)); }
  .header-actions { display:none; }
  .mobile-menu-button { display:flex; }
  .primary-nav { display:none; position:fixed; top:var(--navigation-top,var(--sticky-header-height)); inset-inline:0; bottom:var(--mobile-contact-height); overflow-y:auto; background:var(--paper); padding:16px var(--gutter); }
  .primary-nav.is-open { display:block; }
  .nav-group { display:block; border-bottom:1px solid var(--mist); }
  .nav-trigger { width:100%; min-height:52px; padding:12px 0; font-size:1rem; }
  .mega-menu,.mega-menu--right { position:static; width:100%; border:0; }
  .nav-group.is-open .mega-menu { display:block; }
  .mega-menu__intro { display:none; }
  .mega-menu__links { padding:0 0 12px; }
  body.menu-open { overflow:hidden; }
}
@media(max-width:899px) {
  :root { --mobile-contact-height:calc(56px + env(safe-area-inset-bottom,0px)); }
  body { padding-bottom:calc(var(--mobile-contact-height) + 16px); }
  [data-hero-assessment-actions] a[href^="tel:"] { display:none; }
  .mobile-contact-bar { position:fixed; bottom:0; inset-inline:0; z-index:100; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:6px 16px calc(6px + env(safe-area-inset-bottom,0px)); background:var(--paper); box-shadow:0 -1px var(--mist); }
  .mobile-contact-bar > * { display:flex; align-items:center; justify-content:center; height:44px; min-width:0; padding:0 6px; border:1.5px solid var(--navy); border-radius:var(--radius); font-size:15px; font-weight:600; line-height:1.35; white-space:nowrap; text-decoration:none; text-align:center; background:var(--navy); color:white; }
  .mobile-contact-bar button { background:var(--paper); color:var(--navy); }
  .breadcrumb a { display:inline-flex; align-items:center; min-height:32px; padding-block:6px; }
  .article-hero__grid { grid-template-columns:1fr; gap:32px; }
  .term-grid,.priority-grid,.filter-grid,.related-grid,.distinction-grid,.option-grid,.scenario-list,.reader-list,.setting-list,.not-included-grid,.feature-checklist { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:599px) {
  :root { --section-y:40px; --gap:16px; --panel-pad:20px; --sticky-header-height:calc(56px + env(safe-area-inset-top,0px)); --mobile-contact-height:calc(56px + env(safe-area-inset-bottom,0px)); }
  .site-header { position:fixed; inset-inline:0; }
  .site-header .brand-mark { width:36px; height:36px; }
  .brand { gap:8px; }
  .site-header .brand-tagline { font-size:12px; gap:2px; line-height:1.4; }
  .site-header .brand-intro { font-size:13px; }
  .header-row { gap:8px; min-height:55px; }
  .site-header .brand { min-width:0; max-width:100%; flex-shrink:1; }
  .mobile-menu-button { width:44px; height:44px; padding:0; justify-content:center; flex-shrink:0; }
  .mobile-menu-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .mega-menu__links a { min-height:44px; }
  .button-row { flex-direction:column; align-items:stretch; }
  .button-row .button { width:100%; }
  .term-grid,.priority-grid,.filter-grid,.related-grid,.distinction-grid,.option-grid,.scenario-list,.reader-list,.setting-list,.not-included-grid,.feature-checklist,.field-grid { grid-template-columns:minmax(0,1fr); }
  .card { padding:20px; }
  body { padding-top:var(--sticky-header-height); padding-bottom:calc(var(--mobile-contact-height) + 16px); }
  table { min-width:580px; }
}
@media(max-width:359px) { .mobile-contact-bar { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
@media print { .site-header,.mobile-contact-bar,.preview-toast,.back-to-top,.contact-form,.button-row,.rail { display:none !important; } body { padding:0; } .wrap { width:100%; } }

/* Service pages: direct contact and concise, evenly spaced service descriptions. */
.service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0; list-style:none; }
.service-list li { padding:24px; background:var(--sand); border-radius:var(--radius); margin:0; }
.service-list p { margin-bottom:0; }
.contact-email { font-size:1.25rem; overflow-wrap:anywhere; }
@media(max-width:599px) { .service-list { grid-template-columns:1fr; } }

/* Contact placements remain visible while the owner reviews the site. */
[data-call-preview]:disabled,[data-preview-submit]:disabled { opacity:1; cursor:default; }
.contact-form :disabled { -webkit-text-fill-color:var(--ink); color:var(--ink); opacity:1; }
.contact-form [data-preview-submit]:disabled { -webkit-text-fill-color:white; color:white; }
.contact-form .form-preview-note { margin:0; }



/* Inline phone offer shares the assessment link's typography. */
.inline-call { padding:0; border:0; background:transparent; color:var(--navy); font:inherit; white-space:nowrap; }

/* One article rhythm: headings and ordinary content have one owner. */
.content,.content .prose,.content .layout-answer,.content .faq,.content .sources { max-width:none; margin-inline:0; }
.content > * { min-width:0; margin:0; grid-column:1; }
.content > * + * { margin-top:1.25rem; }
.content h2 { margin-top:3rem; margin-bottom:.75rem; }
.content h3 { margin-top:2rem; margin-bottom:.5rem; }
.content > h2 + *, .content > h3 + * { margin-top:0; }
.content > .full { grid-column:1 / -1; margin-top:2.5rem; margin-bottom:2.5rem; }
.content > :first-child { margin-top:0; }
.content ul,.content ol { padding-left:1.25rem; }
.content li + li { margin-top:.5rem; }
.content > .faq { border-top:1px solid var(--divider); }
.content h2.sources { border-top:1px solid var(--divider); padding-top:2rem; }
.content > .faq + h2.sources:not(#sources-and-further-reading) { border-top:0; padding-top:0; }
.content .sources-list { list-style:none; padding:0; }
.content .card h3 { margin:0 0 .75rem; }
.content .card p { margin:0; }
.content .card-label { margin-top:0; }
.content .content-list { display:block; }
.content .content-list > li { margin-left:0; }
.content dl.flags { display:block; background:none; padding:0; }
.content dl.flags > div { padding:20px; border-top:1px solid var(--divider); }
.content dl.flags dt { font-size:17px; font-weight:600; color:var(--navy); }
.content dl.flags dd { margin:8px 0 0; padding:0; font-size:16px; }
.content dl.flags dd > :last-child { margin-bottom:0; }
.content .key-facts { border:0; }
.content .key-facts dl.flags > div:first-child { border-top:0; }
.key-facts-label { display:block; color:var(--navy); margin-bottom:12px; }
.content .preserved-anchor,.content .anchor-target { position:absolute; width:0; height:0; margin:0; }
.content h2,.content h3 { position:relative; }

/* Native accessible accordions, with explicit plus/minus markers. */
.faq details { padding:0; border-bottom:1px solid var(--divider); }
.faq { border-bottom:0; }
.faq summary,.guide-mobile-toc summary,.content summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 0; cursor:pointer; font-weight:600; color:var(--navy); }
.faq summary::-webkit-details-marker,.guide-mobile-toc summary::-webkit-details-marker,.content summary::-webkit-details-marker { display:none; }
.faq summary::after,.guide-mobile-toc summary::after,.content summary::after { content:"+"; font-size:1.5rem; line-height:1; color:var(--teal); flex-shrink:0; }
.faq details[open] > summary::after,.guide-mobile-toc details[open] > summary::after,.content details[open] > summary::after { content:"\2212"; }
.faq details > p { margin:0 0 1rem; }
.guide-card { display:flex; flex-direction:column; gap:0; text-decoration:none; font-weight:400; }
.guide-card .card-label { color:var(--teal); font-size:.8125rem; margin:0 0 .75rem; }
.guide-card h3 { font-size:1.25rem; margin:0 0 .75rem; }
.guide-card .card-blurb { font-size:1rem; line-height:1.5; margin:0; color:var(--ink); }
.guide-card.tile .card-label { color:var(--teal-dark); }
@media(max-width:1099px) { .company-hero { grid-template-columns:1fr; } }

/* Mobile panels keep their contents clear of the edges and following headings. */
@media(max-width:599px) {
  :is(.panel,.question-callout,.safety-note,.key-facts,.hero-note,.safety-box,.price-method-card,.navigator-result) { padding:20px; margin-bottom:24px; }
  .content > :is(.panel,.question-callout,.safety-note,.key-facts,.hero-note,.safety-box,.price-method-card,.navigator-result) + h2 { margin-top:40px; }
  .content .key-facts dl.flags > div { padding-inline:0; }
  .crisis-hero { background:transparent; margin-bottom:24px; }
  .crisis-hero .article-hero__grid { padding-block:20px 0; }
  .crisis-hero .article-hero__copy { background:var(--sand); border-radius:var(--radius); padding:20px; }
  .crisis-hero + .layout-reading { padding-top:16px; }
}

/* Shared footer: one left edge, four zones, and explicit legal rows. */
.site-footer { margin-top:var(--section-y); padding:32px 0 calc(var(--mobile-contact-height,56px) + 16px); background:var(--navy); color:var(--mist); }
.site-footer > .wrap { width:min(calc(100% - 40px),var(--container)); display:grid; gap:24px; text-align:left; }
.site-footer > .wrap > * + * { border-top:1px solid rgba(255,255,255,.12); padding-top:24px; }
.ft-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.ft-mark { width:40px; height:40px; flex:0 0 40px; }
.ft-tagline { margin:0; font-size:1rem; font-weight:400; line-height:1.35; color:white; }
.ft-tagline > strong { font-weight:600; }
.ft-tagline > .ft-service { color:var(--mist); font-size:15px; font-weight:400; }
.ft-links { min-width:0; }
.ft-links ul { display:grid; grid-template-columns:minmax(0,1fr); list-style:none; margin:0; padding:0; }
.ft-links li { margin:0; padding:0; }
.ft-links a { display:flex; align-items:center; min-height:40px; color:var(--mist); text-decoration:none; font-size:.9375rem; line-height:1.4; }
.ft-legal { min-width:0; font-size:.8125rem; line-height:1.5; }
.ft-legal p,.ft-meta p { margin:0; }
.ft-legal p + p,.ft-meta p + p { margin-top:6px; }
.ft-legal a { color:var(--mist); text-decoration:none; white-space:nowrap; }
.ft-meta { min-width:0; font-size:.75rem; line-height:1.5; color:rgba(220,229,232,.75); }
.site-footer a:hover,.site-footer a:focus-visible { color:white; text-decoration:underline; }
.site-footer a:focus-visible { outline-color:var(--mist); }
@media(max-width:899px) {
  /* Footer padding owns the fixed-bar clearance, so it remains navy. */
  body:has(> .site-footer) { padding-bottom:0; }
}
@media(min-width:900px) {
  .site-footer { padding-block:32px; }
  .site-footer > .wrap { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"brand links" "rule rule" "legal copyright" "crisis crisis"; column-gap:24px; row-gap:24px; align-items:center; }
  .site-footer > .wrap > * + * { border-top:0; padding-top:0; }
  .site-footer > .wrap::before { content:""; grid-area:rule; height:1px; background:rgba(255,255,255,.12); }
  .ft-brand { grid-area:brand; }
  .ft-mark { width:48px; height:48px; flex-basis:48px; }
  .ft-tagline { white-space:nowrap; }
  .ft-links { grid-area:links; }
  .ft-links ul { display:flex; gap:clamp(16px,2.3vw,32px); }
  .ft-links a { min-height:32px; white-space:nowrap; }
  .ft-legal { grid-area:legal; display:flex; gap:24px; align-items:center; }
  .ft-legal p + p { margin-top:0; }
  .ft-meta { display:contents; }
  .ft-crisis { grid-area:crisis; }
  .ft-copyright { grid-area:copyright; text-align:right; }
  .ft-meta p + p { margin-top:0; }
}

/* Verified source dates remain visible without competing with source titles. */
.content .sources-checked{margin-top:.75rem}

/* Mobile table navigation and labeled rows for wider comparisons. */
.comparison-table-wrap {
  position:relative;
  -webkit-overflow-scrolling:touch;
  background-color:var(--paper);
  background-image:
    linear-gradient(to right,var(--paper) 30%,rgba(255,255,255,0)),
    linear-gradient(to left,var(--paper) 30%,rgba(255,255,255,0)),
    linear-gradient(to right,rgba(20,32,42,.16),rgba(20,32,42,0)),
    linear-gradient(to left,rgba(20,32,42,.16),rgba(20,32,42,0));
  background-position:left,right,left,right;
  background-size:48px 100%,48px 100%,16px 100%,16px 100%;
  background-repeat:no-repeat;
  background-attachment:local,local,scroll,scroll;
}
.comparison-table-wrap table { background:transparent; }
.table-scroll-hint { display:none; font-size:.8125rem; color:var(--muted); margin:0 0 .5rem; }
@media (max-width:640px) {
  .table-scroll-hint:has(+ .comparison-table-wrap.is-scrollable) { display:block; }
  .table-scroll-hint:has(+ .comparison-table-wrap table.stack) { display:none; }
  .comparison-table-wrap:has(table.stack) { background:none; }
  table.stack,table.stack tbody { display:block; width:100%; min-width:0; }
  table.stack caption { display:block; width:100%; }
  table.stack thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  table.stack tr { display:block; border-top:1px solid var(--mist); padding:.75rem 0; }
  .comparison-table-wrap table.stack td,.comparison-table-wrap table.stack tbody th { display:grid; grid-template-columns:minmax(0,8.5rem) minmax(0,1fr); gap:.75rem; border:0; padding:.25rem .5rem; width:auto; white-space:normal; overflow-wrap:anywhere; }
  table.stack .table-cell-value { min-width:0; }
  table.stack td::before,table.stack tbody th::before { content:attr(data-label); font-weight:600; color:var(--muted); }
}

/* Active telephone links retain the approved button presentation. */
.text-action,.rail-phone,.inline-call { text-decoration:none; }
.mobile-contact-bar a[href^="tel:"] { background:var(--paper); color:var(--navy); }
.card-title,.content h2.card-title { font:600 var(--fs-h3)/1.35 var(--sans); margin:0 0 12px; color:var(--navy); }
.content .card h2.card-title { margin:0 0 .75rem; }
.contact-methods { display:grid; gap:12px; margin-bottom:20px; }
.contact-methods p { margin:0; }
.contact-methods a { font-size:1.125rem; font-weight:600; }
.contact-methods a[href^="tel:"] { font-size:1.25rem; }
.mobile-menu-button.is-open .mobile-menu-lines { position:relative; height:18px; border:0; }
.mobile-menu-button.is-open .mobile-menu-lines::before,.mobile-menu-button.is-open .mobile-menu-lines::after { content:""; position:absolute; left:0; top:8px; width:18px; height:1.5px; background:currentColor; transform:rotate(45deg); }
.mobile-menu-button.is-open .mobile-menu-lines::after { transform:rotate(-45deg); }
@media(max-width:640px) {
  .comparison-table-wrap table.table--two-columns { min-width:0; }
}

/* Shared rail-free reading rules also cover the standalone emergency page. */
.no-rail .content > *:not(.hub-entry-grid):not(.related-grid):not(.assessment-section):not(.wrap) { max-width:var(--content); margin-inline:auto; }
.no-rail > .layout-reading.guide--utility > .content:not(.about-content) { max-width:var(--content); margin-inline:auto; }
.no-rail > .article-hero .article-hero__grid { grid-template-columns:minmax(0,var(--content)); justify-content:center; }

/* Grid lists retain card layout without ordinary list markers or indentation. */
.reader-list,.scenario-list,.setting-list,.content .reader-list,.content .scenario-list,.content .setting-list { list-style:none; padding-left:0; }

.content :is(.reader-list,.scenario-list,.setting-list) > li + li { margin-top:0; }

/* Owner-requested plain checklist alignment. */
.content ul.plain-checklist { padding-left: 0; }

/* Native navigation stays usable until the enhanced menu is ready. */
.site-header:not(.navigation-enhanced) .primary-nav,
.site-header:not(.navigation-enhanced) .mobile-menu-button { display:none; }
.navigation-enhanced .fallback-menu { display:none; }
.fallback-menu { margin-left:auto; }
.fallback-menu > summary { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px; cursor:pointer; list-style:none; font-size:.875rem; font-weight:600; color:var(--navy); }
.fallback-menu > summary::-webkit-details-marker { display:none; }
.fallback-menu > summary::after { content:"+"; margin-left:8px; }
.fallback-menu[open] > summary::after { content:"\2212"; }
.fallback-menu__panel { position:absolute; top:100%; right:16px; width:min(560px,calc(100vw - 32px)); max-height:calc(100vh - 160px); max-height:calc(100dvh - 160px); overflow-y:auto; overscroll-behavior:contain; padding:12px 20px; border:1px solid var(--mist); background:var(--paper); }
.fallback-menu__group + .fallback-menu__group { border-top:1px solid var(--mist); }
.fallback-menu__group > summary { min-height:48px; padding:12px 0; cursor:pointer; font-weight:600; color:var(--navy); }
.fallback-menu__group ul { list-style:none; margin:0 0 12px; padding:0; }
.fallback-menu__group a { display:block; padding:12px 0; font-size:.9375rem; line-height:1.4; }

/* Prelaunch cleanup: readable links on the shared sand note. */
.hero-note a { color: var(--teal-dark); }

/* Keep table captions distinct from the table they explain. */
.comparison-table-wrap .clinical-hours-note { margin-top:16px; }

/* No-rail articles use the same related-guide spacing as guide layouts. */
.no-rail > .related-section { margin-top:48px; }
@media (max-width:599px) {
  .no-rail > .related-section { margin-top:40px; }
}
