.elementor-kit-6{--e-global-color-primary:#00003c;--e-global-color-secondary:#b8965a;--e-global-color-text:#42424f;--e-global-color-accent:#faf9f7;--e-global-color-ahsnavyhover:#12124a;--e-global-color-ahsgoldhover:#a5854c;--e-global-color-ahsbluegray:#e9eef4;--e-global-color-ahsbgborder:#dfe4ea;--e-global-color-ahscardborder:#e6e2dc;--e-global-color-ahsbodymuted:#5a5a66;--e-global-color-ahstextnavy:#e7e7ee;--e-global-color-ahstextnavymut:#d8d8e4;--e-global-color-ahstextnavysub:#c9c9d6;--e-global-color-ahsmutedlabel:#8a8496;--e-global-color-ahsinputborder:#d5d0c7;--e-global-color-ahsinputfocus:#b8965a;--e-global-typography-primary-font-family:"Libre Baskerville";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-weight:800;color:#42424f;font-family:"Nunito", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#b8965a;font-family:"Nunito", Sans-serif;font-size:16px;font-weight:800;color:#ffffff;border-radius:8px 8px 8px 8px;padding:15px 26px 15px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#a5854c;color:#ffffff;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#00003c;}.elementor-kit-6 a:hover{color:#b8965a;}.elementor-kit-6 h1{color:#00003c;font-family:"Libre Baskerville", Sans-serif;font-size:44px;font-weight:700;line-height:1.18em;letter-spacing:-0.005em;}.elementor-kit-6 h2{color:#00003c;font-family:"Libre Baskerville", Sans-serif;font-size:34px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h3{color:#00003c;font-family:"Libre Baskerville", Sans-serif;font-size:24px;font-weight:700;line-height:1.3em;}.elementor-kit-6 h4{font-family:"DM Sans", Sans-serif;font-weight:700;text-transform:uppercase;}.elementor-kit-6 img{border-radius:18px 18px 18px 18px;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Manrope", Sans-serif;font-size:14px;font-weight:400;border-style:solid;border-width:1px 1px 1px 1px;border-radius:8px 8px 8px 8px;padding:11px 12px 11px 12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6 h1{font-size:33px;}.elementor-kit-6 h2{font-size:27px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-6{font-size:15px;line-height:1.6em;}.elementor-kit-6 h1{font-size:33px;line-height:1.15em;letter-spacing:-0.02em;}.elementor-kit-6 h2{font-size:27px;line-height:1.15em;letter-spacing:-0.01em;}.elementor-kit-6 h3{font-size:18px;line-height:1.25em;}.elementor-kit-6 h4{font-size:13px;letter-spacing:0.08em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ahs- namespaced utilities lifted verbatim from app/globals.css + page.module.css sources */

.ahs-eyebrow {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #b8965a;
  font-weight: 800;
}

.ahs-eyebrow-hero {
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b8965a;
  font-weight: 800;
  margin-bottom: 18px;
}

.ahs-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b8965a;
  flex: none;
  display: inline-block;
}

.ahs-card-hover:hover {
  border-color: #b8965a;
  box-shadow: 0 22px 48px -28px rgba(0, 0, 60, 0.42);
}

/* .ahs-btn wrapper-level rules removed 2026-08-08 — duplicated the inner
   <a class="elementor-button">'s own padding/background/radius (double-padded
   slab bug). Inner-element rules (.ahs-btn .elementor-button etc.) are kept
   further down this file. */

/* Reusable bullet-list patterns (recur across footer link columns, service
   "included items" lists, and checklists) — verbatim source treatments,
   built as plain <ul><li> lists in stage-1 markup, styled here so stage 1
   ships with correct list markers without stage-2 polish. */

.ahs-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 14.5px;
  font-weight: 600;
}

.ahs-footer-links li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ahs-footer-links li::before {
  content: '\2022';
  color: #b8965a;
  font-size: 15px;
  line-height: 1;
}

.ahs-footer-links a {
  color: #e7e7ee;
}

.ahs-footer-links a:hover {
  color: #b8965a;
}

.ahs-dot-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 40px;
}

@media (max-width: 620px) {
  .ahs-dot-list {
    grid-template-columns: 1fr;
  }
}

.ahs-dot-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 16px;
  line-height: 1.62;
  color: #3a3a47;
}

.ahs-dot-list li::before {
  content: '';
  width: 8px;
  height: 8px;
  margin-top: 8px;
  border-radius: 50%;
  background: #b8965a;
  flex: none;
}

.ahs-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.ahs-check-list li {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  font-size: 16.5px;
  line-height: 1.5;
  color: #2b2b38;
  font-weight: 600;
}

.ahs-check-list li::before {
  content: '\2713';
  color: #b8965a;
  font-weight: 800;
  line-height: 1.2;
}

/* Breadcrumb (Breadcrumb.module.css, recurs on every inner page) */
.ahs-breadcrumb {
  font-size: 13.5px;
  font-weight: 600;
  color: #8a8496;
}

.ahs-breadcrumb a {
  color: #8a8496;
}

.ahs-breadcrumb a:hover {
  color: #b8965a;
}

.ahs-breadcrumb .ahs-sep {
  color: #b8965a;
  margin: 0 8px;
}

.ahs-breadcrumb .ahs-current {
  color: #00003c;
}

/* =====================================================================
   STAGE-2 FINE-TUNE — batch 1: header, footer, home (post 213)
   All values copied literally from design source (see change log).
   ---------------------------------------------------------------------
   ROOT-CAUSE NOTE: Elementor container "gap" control key in this install
   is "flex_gap" (Group_Control_Flex_Container), not "gap". Stage-1's
   _elementor_data used "gap" — a non-existent control key — so every
   container-to-container gap on every page compiled to 0 explicit value
   (falls back to the theme default ~20px, NOT the source's literal
   value). Fixed here by restoring literal gap values via ID-keyed CSS
   (SOP 4c) and, where the source is an actual CSS Grid, converting the
   Elementor flex-approximation to real grid (SOP 4a) so column ratios
   are exact instead of percentage-of-100% (which, combined with any
   nonzero gap, would force a premature flex-wrap).
   ===================================================================== */

/* ---------- HEADER (template 211) — Header.module.css ---------- */

/* No-wrap above the source's 1024px nav breakpoint (Header.module.css
   .navDesktop hidden <=1023px / .mobileMenuBtn shown <=1023px) */
@media (min-width: 1024px) {
  .elementor-element-c1e01000 {
    --flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
}

/* Logo — constrain height (source Header.tsx: <img height={60}>) */
.elementor-element-d1e01001 a { display: block !important; }
.elementor-element-d1e01001 img { height: 60px !important; width: auto !important; display: block !important; }

/* Gap restore — literal source values */
.elementor-element-c1e01000 { gap: 12px 24px !important; } /* stage-1 intended row/col spacing for wrapped bar */
.elementor-element-c1e01003 { gap: 11px !important; }       /* Header.module.css .phoneCta gap:11px */
.elementor-element-c1e01005 { gap: 3px !important; }        /* .phoneTextWrap gap:3px */

/* ---------- FOOTER (template 212) — Footer.module.css ---------- */

/* Main 3-col grid — Footer.module.css .grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px} */
.elementor-element-c1f01000 {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 40px;
}
.elementor-element-c1f01000 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-c1f01000 { grid-template-columns: 1fr; }
}

.elementor-element-c1f01004 { gap: 8px !important; }   /* .contactBlock gap:8px */
.elementor-element-c1f02000 { gap: 18px !important; }  /* .bottomBar gap:18px */
.elementor-element-c1f02001 { gap: 18px !important; }   /* .legalRow gap:18px (corrects stage-1 row:10 to literal 18) */

/* Footer logo — constrain height (source Footer.tsx: <img height={50}>) */
.elementor-element-d1f01002 a { display: inline-block !important; }
.elementor-element-d1f01002 img { height: 50px !important; width: auto !important; display: block !important; }

/* Footer bullet-marker bug fix — kit custom_css currently has
   content:'2022' / content:'2713' (literal digit strings) instead of the
   unicode escapes '2022' (bullet) and '2713' (check mark). Corrected
   here with higher-specificity, scoped .elementor-kit-6s so it wins the cascade
   without editing the original (buggy) declarations. */
[data-elementor-type="footer"] .ahs-footer-links li::before,
.ahs-footer-links li::before {
  content: '\2022' !important;
}
.ahs-check-list li::before {
  content: '\2713' !important;
}

/* =====================================================================
   HOME (post 213) — app/(site)/page.module.css
   ===================================================================== */

/* ----- Hero (c101000, boxed) — .hero{grid-template-columns:1.05fr .95fr;gap:52px;align-items:start} ----- */
.elementor-element-c101000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 52px;
  align-items: start;
}
.elementor-element-c101000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-c101000 > .e-con-inner { grid-template-columns: 1fr; }
  .elementor-element-d101015 { order: -1; } /* .heroImage{order:-1} mobile fallback */
}
/* .heroImage{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px} */
.elementor-element-d101015 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
}

/* Hero chip + rows — gap restore only (flex, not grid) */
.elementor-element-c101005 { gap: 16px !important; } /* .whiteCardChip gap:16px */
.elementor-element-c101007 { gap: 3px !important; }  /* .chipTextWrap gap:3px */
.elementor-element-c101011 { gap: 14px !important; } /* .ctaRow gap:14px */

/* ----- Trust bar (c102000 boxed > c102001 full) — .trustBarInner{grid-template-columns:repeat(4,1fr);gap:24px} ----- */
.elementor-element-c102001 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.elementor-element-c102001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c102001 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .elementor-element-c102001 { grid-template-columns: 1fr; } }
.elementor-element-c102002,
.elementor-element-c102005,
.elementor-element-c102008,
.elementor-element-c102011 { gap: 12px !important; } /* .trustItem gap:12px */

/* ----- Services strip (c103000 boxed > c103003 full, 7 cards) — .servicesGrid{grid-template-columns:repeat(3,1fr);gap:20px} ----- */
.elementor-element-c103003 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.elementor-element-c103003 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
.elementor-element-c103004,
.elementor-element-c103008,
.elementor-element-c103012,
.elementor-element-c103016,
.elementor-element-c103020,
.elementor-element-c103024,
.elementor-element-c103028 { gap: 16px !important; } /* .serviceCard gap:16px */
/* .serviceCard:last-child{grid-column:1/-1;width:calc((100% - 40px)/3);margin:0 auto} — c103028 = Transfer of Care, 7th/last card */
.elementor-element-c103003 > .elementor-element-c103028 {
  grid-column: 1 / -1;
  width: calc((100% - 40px) / 3) !important;
  margin: 0 auto !important;
}
@media (max-width: 860px) {
  .elementor-element-c103003 { grid-template-columns: 1fr 1fr; }
  .elementor-element-c103003 > .elementor-element-c103028 { width: calc((100% - 20px) / 2) !important; }
}
@media (max-width: 560px) {
  .elementor-element-c103003 { grid-template-columns: 1fr; }
  .elementor-element-c103003 > .elementor-element-c103028 { width: 100% !important; }
}

/* ----- White Card band (c104000 boxed) — .whiteCardGrid{grid-template-columns:1.1fr .9fr;gap:52px;align-items:center} ----- */
.elementor-element-c104000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 52px;
  align-items: center;
}
.elementor-element-c104000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c104000 > .e-con-inner { grid-template-columns: 1fr; } }
/* .whiteCardImg{width:100%;max-width:440px;justify-self:center;filter:drop-shadow(0 26px 48px rgba(0,0,60,.28))} */
.elementor-element-d104006 {
  justify-self: center;
}
.elementor-element-d104006 img {
  max-width: 440px;
  filter: drop-shadow(0 26px 48px rgba(0, 0, 60, 0.28));
}

/* ----- Why families choose us (c105000 boxed > c105003 full) — .valueGrid{grid-template-columns:repeat(4,1fr);gap:36px} ----- */
.elementor-element-c105003 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
}
.elementor-element-c105003 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c105003 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .elementor-element-c105003 { grid-template-columns: 1fr; } }
/* .bannerImg{width:100%;aspect-ratio:24/9;object-fit:cover;object-position:center 38%;border-radius:18px;margin-top:52px} */
.elementor-element-d105020 img {
  width: 100% !important;
  aspect-ratio: 24 / 9;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 18px;
}

/* ----- Interest-form / call band (c107000 boxed > c107001 full) — .contactGrid{grid-template-columns:1fr 1fr;gap:52px;align-items:start} ----- */
.elementor-element-c107001 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: start;
}
.elementor-element-c107001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c107001 { grid-template-columns: 1fr; } }


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 2: about (214), services (215)
   ===================================================================== */

/* ================= ABOUT (post 214) — app/(site)/about/page.module.css ================= */

/* ----- Hero (c202000, boxed) — stacked-fallback polish only (see blocked_on for
   the desktop navy-gradient photo-overlay treatment, which needs new wrapper
   elements and is out of CSS-only scope).
   Source <700px fallback: .photo{aspect-ratio:12/5;object-fit:cover}, photoWrap
   keeps border-radius:18px + overflow:hidden even in fallback mode. ----- */
.elementor-element-d202003 img {
  width: 100% !important;
  aspect-ratio: 12 / 5;
  object-fit: cover;
  display: block;
}

/* ----- Mission & Values cards (c203000 boxed > c203003 full) — .cards{grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch} ----- */
.elementor-element-c203003 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}
.elementor-element-c203003 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c203003 { grid-template-columns: 1fr; } }

/* ----- Why choose us (c204000 boxed) — .split{gap:56px;align-items:center} + inline gridTemplateColumns:'.95fr 1.05fr' ----- */
.elementor-element-c204000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}
.elementor-element-c204000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c204000 > .e-con-inner { grid-template-columns: 1fr !important; } }

/* ----- Our care team (c205000 boxed) — .split{gap:56px;align-items:center} + inline gridTemplateColumns:'1.05fr .95fr'; image has .rowMedia{order:-1} at <=860 ----- */
.elementor-element-c205000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.elementor-element-c205000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-c205000 > .e-con-inner { grid-template-columns: 1fr !important; }
  .elementor-element-d205007 { order: -1; }
}

/* ----- The Owners (c206000 boxed, navy) — .split{gap:56px;align-items:center} + inline gridTemplateColumns:'1.1fr .9fr' ----- */
.elementor-element-c206000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
.elementor-element-c206000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c206000 > .e-con-inner { grid-template-columns: 1fr !important; } }

/* ----- Affiliations (c207000 boxed > c207004 full) — .affilGrid{grid-template-columns:repeat(5,1fr);gap:22px;align-items:stretch} ----- */
.elementor-element-c207004 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  align-items: stretch;
}
.elementor-element-c207004 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c207004 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) { .elementor-element-c207004 { grid-template-columns: repeat(2, 1fr); } }

/* ----- CTA band (c208000 boxed > c208001 full "panel") — .ctaPanel{grid-template-columns:1.3fr .7fr;gap:40px;align-items:center} ----- */
.elementor-element-c208001 {
  display: grid !important;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 40px;
  align-items: center;
}
.elementor-element-c208001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c208001 { grid-template-columns: 1fr; } }
.elementor-element-c208005 { gap: 14px !important; } /* .ctaActions gap:14px */


/* ================= SERVICES (post 215) — app/(site)/services/page.module.css ================= */

/* ----- Hero (c301000, boxed) — .hero{grid-template-columns:1.05fr .95fr;gap:52px;align-items:center} ----- */
.elementor-element-c301000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 52px;
  align-items: center;
}
.elementor-element-c301000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c301000 > .e-con-inner { grid-template-columns: 1fr; } }
.elementor-element-c301005 { gap: 14px !important; } /* .ctaRow gap:14px */
/* .heroImage{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px} */
.elementor-element-d301008 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
}

/* ----- What we do (c302000 boxed > c302004 full, 8 cards) — .cards{grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch} ----- */
.elementor-element-c302004 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}
.elementor-element-c302004 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c302004 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .elementor-element-c302004 { grid-template-columns: 1fr; } }

/* ----- Contact (c303000 boxed > c303001 full) — .contactGrid{grid-template-columns:1fr 1fr;gap:52px;align-items:start} ----- */
.elementor-element-c303001 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: start;
}
.elementor-element-c303001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) { .elementor-element-c303001 { grid-template-columns: 1fr; } }
/* .contactImg{width:100%;aspect-ratio:12/5;object-fit:cover;border-radius:16px} */
.elementor-element-d303002 img {
  width: 100% !important;
  aspect-ratio: 12 / 5;
  object-fit: cover;
  border-radius: 16px;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 3: case-management (216), skilled-nursing (217), contact (218)
   Source: app/(site)/services/[slug]/page.module.css (shared by both service detail pages)
   ===================================================================== */

/* ----- Case Management hero (c402000, boxed) — .hero{grid-template-columns:1.05fr .95fr;gap:56px;align-items:center} ----- */
.elementor-element-c402000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.elementor-element-c402000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-c402000 > .e-con-inner { grid-template-columns: 1fr; }
  .elementor-element-d402014 { order: -1; } /* .photo{order:-1} */
}
.elementor-element-c402003 { gap: 16px !important; } /* .iconRow gap:16px */
/* .photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px} */
.elementor-element-d402014 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
}
.elementor-element-c404004 { gap: 16px !important; } /* .ctaActions gap:16px */

/* ----- Skilled Nursing hero (c502000, boxed) — same recipe as case-management ----- */
.elementor-element-c502000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.elementor-element-c502000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-c502000 > .e-con-inner { grid-template-columns: 1fr; }
  .elementor-element-d502013 { order: -1; }
}
.elementor-element-c502003 { gap: 16px !important; } /* .iconRow gap:16px */
.elementor-element-d502013 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
}
.elementor-element-c504004 { gap: 16px !important; } /* .ctaActions gap:16px */


/* =====================================================================
   CONTACT (post 218) — app/(site)/contact/page.module.css
   ===================================================================== */

/* ----- Two column grid (c603000, boxed) — .grid{grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}
   NOTE literal source breakpoint is 900px here (not the site's usual 860px). ----- */
.elementor-element-c603000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 52px;
  align-items: start;
}
.elementor-element-c603000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 900px) { .elementor-element-c603000 > .e-con-inner { grid-template-columns: 1fr; } }

.elementor-element-c603001 { gap: 18px !important; } /* .infoStack gap:18px */
.elementor-element-c603003,
.elementor-element-c603008,
.elementor-element-c603013,
.elementor-element-c603018 { gap: 12px !important; } /* .infoCardHeader gap:12px */

/* ----- Map overlay (c604003) — position offsets not natively set; .mapOverlay{position:absolute;left:20px;bottom:20px} ----- */
.elementor-element-c604003 {
  gap: 14px !important; /* .mapOverlay gap:14px */
  left: 20px !important;
  bottom: 20px !important;
  top: auto !important;
  right: auto !important;
}
@media (max-width: 560px) {
  .elementor-element-c604003 {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
  }
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 4: supplementary image-treatment polish
   (missed on first pass; literal values from source)
   ===================================================================== */

/* Home hero — White Card chip mockup image (page.module.css .chipImg{border-radius:6px}) */
.elementor-element-d101006 img { border-radius: 6px; }

/* About — Why choose us photo (about/page.module.css .photo{aspect-ratio:12/5;object-fit:cover},
   inline style objectPosition:'center 20%' in page.tsx) */
.elementor-element-d204001 img {
  width: 100% !important;
  aspect-ratio: 12 / 5;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

/* About — Our care team photo (.photo43{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}) */
.elementor-element-d205007 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}

/* About — Owners photo (.photo43Tall{width:100%;aspect-ratio:4/3;max-height:440px;object-fit:cover;
   border-radius:18px}, inline style objectPosition:'center 30%' in page.tsx) */
.elementor-element-d206006 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  max-height: 440px;
  object-fit: cover;
  object-position: center 30%;
  border-radius: 18px;
  display: block;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 5: About hero (c202000) desktop navy-gradient
   photo-overlay, now that stage 1 restructured the DOM (photoWrap c202006
   > heroOnPhoto c202007 > eyebrow d202001 + H1 d202002, then photo
   d202003, then photoOverlay placeholder c202008; paragraphs d202004/
   d202005 remain siblings after the wrap). Source: app/(site)/about/
   page.module.css .photoWrap/.heroOnPhoto/.photoOverlay/.heroTitle/.photo,
   lines 51-118 + the <700px fallback at lines 123-136.
   ===================================================================== */

/* .photoWrap{position:relative} — no native "relative" option on containers;
   overflow:hidden + border-radius:18px + margin-bottom:32px already native on c202006 */
.elementor-element-c202006 { position: relative; }

/* .heroOnPhoto{position:absolute;top:0;left:0;right:0;z-index:2} — padding already native on c202007 */
.elementor-element-c202007 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
}

/* .photoOverlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(...)} — literal stops */
.elementor-element-c202008 {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* .heroTitle{color:var(--color-cream);font-size:clamp(24px,3.2vw,36px);line-height:1.22} */
.elementor-element-d202002 .elementor-heading-title {
  color: #faf9f7 !important;
  font-size: clamp(24px, 3.2vw, 36px) !important;
  line-height: 1.22 !important;
}

/* Source's own <700px fallback (page.module.css lines 123-136) */
@media (max-width: 700px) {
  .elementor-element-c202007 {
    position: static;
    padding: 0 0 20px;
  }
  .elementor-element-d202002 .elementor-heading-title {
    color: #00003c !important;
  }
  .elementor-element-c202008 {
    display: none;
  }
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 6: sighted-gate visual defect fixes
   Root causes confirmed by direct inspection of compiled CSS + Elementor
   plugin source (container.php):
     1) Elementor Containers in this install have NO "height" control
        (only "min_height", which compiles to --min-height). Any element
        that had a native "height" setting (dots, icon wells, decorative
        bars, map panel) silently rendered with no height constraint.
     2) Elementor Containers with NO explicit "width" setting default to
        the base .e-con fallback --width:100%, so any auto-width-intended
        child in a flex row (header phone CTA, footer legal row) balloons
        to fill 100% of the row instead of sizing to its own content.
     3) The nav-menu widget's own <ul> (Elementor Pro) sets
        flex-wrap:wrap + width:100% + flex-grow:1 on every <li> by
        default (widget-nav-menu.min.css) — combined with (2) squeezing
        its available space, this forced the visible two-row wrap.
   ===================================================================== */

/* ================= A. HEADER (template 211) — Header.module.css ================= */

/* Sticky + solid cream on the outer <header> wrapper (source .header{position:sticky;
   top:0;z-index:40;background:var(--color-cream)} — border-bottom already native on c1e01000) */
[data-elementor-type="header"] {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #faf9f7;
}

/* Phone CTA — stop it defaulting to width:100% ("huge navy block" bug) */
.elementor-element-c1e01003 {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* Nav menu — force single line + source typography (.navDesktop{gap:28px;font-size:15px;
   font-weight:700} .navLink{color:var(--color-navy)}); Elementor Pro's own nav <ul> defaults
   to flex-wrap:wrap + flex-grow:1 per item, which combined with the CTA bug above forced the
   visible wrap. --e-nav-menu-horizontal-menu-item-margin is applied on BOTH sides of interior
   items (start+end), so 14px each side = 28px total gap between items, matching source. */
.elementor-element-d1e01002 {
  --e-nav-menu-horizontal-menu-item-margin: 14px;
}
.elementor-element-d1e01002 .elementor-nav-menu {
  flex-wrap: nowrap !important;
  width: auto !important;
}
.elementor-element-d1e01002 .elementor-nav-menu > li,
.elementor-element-d1e01002 .elementor-nav-menu .elementor-item {
  flex-grow: 0 !important;
}
.elementor-element-d1e01002 .elementor-nav-menu .elementor-item {
  white-space: nowrap;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #00003c !important;
}

/* ================= B. TRUST BAR (home c102001) — .trustDot{width:9px;height:9px;border-radius:50%} =================
   width/border-radius were already native and correct; height was the missing control. */
.elementor-element-c102003,
.elementor-element-c102006,
.elementor-element-c102009,
.elementor-element-c102012 {
  width: 9px !important;
  height: 9px !important;
  flex-shrink: 0;
}

/* ================= C. ICON WELLS SITE-WIDE — missing "height" control fix ================= */

/* Home services strip (page.module.css .serviceIcon{width:48px;height:48px}) */
.elementor-element-c103005,
.elementor-element-c103009,
.elementor-element-c103013,
.elementor-element-c103017,
.elementor-element-c103021,
.elementor-element-c103025,
.elementor-element-c103029 {
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0;
}
.elementor-element-c103005 img,
.elementor-element-c103009 img,
.elementor-element-c103013 img,
.elementor-element-c103017 img,
.elementor-element-c103021 img,
.elementor-element-c103025 img,
.elementor-element-c103029 img {
  width: 28px !important;
  height: 28px !important;
  display: block;
}

/* Home "why families choose us" decorative rule (.valueRule{width:36px;height:3px}) */
.elementor-element-c105005,
.elementor-element-c105009,
.elementor-element-c105013,
.elementor-element-c105017 {
  width: 36px !important;
  height: 3px !important;
  flex-shrink: 0;
}

/* About mission-card decorative rule (.cardRule{width:44px;height:3px}) */
.elementor-element-c203005,
.elementor-element-c203009,
.elementor-element-c203013 {
  width: 44px !important;
  height: 3px !important;
  flex-shrink: 0;
}

/* Services "what we do" card icon wells (.cardIcon{width:56px;height:56px}) */
.elementor-element-c302006,
.elementor-element-c302012,
.elementor-element-c302018,
.elementor-element-c302024,
.elementor-element-c302030,
.elementor-element-c302036,
.elementor-element-c302042,
.elementor-element-c302048 {
  width: 56px !important;
  height: 56px !important;
  flex-shrink: 0;
}
.elementor-element-c302006 img,
.elementor-element-c302012 img,
.elementor-element-c302018 img,
.elementor-element-c302024 img,
.elementor-element-c302030 img,
.elementor-element-c302036 img,
.elementor-element-c302042 img {
  width: 32px !important;
  height: 32px !important;
  display: block;
}

/* Case Management / Skilled Nursing icon boxes (.iconBox{width:52px;height:52px}) */
.elementor-element-c402004,
.elementor-element-c502004 {
  width: 52px !important;
  height: 52px !important;
  flex-shrink: 0;
}
.elementor-element-c402004 img,
.elementor-element-c502004 img {
  width: 30px !important;
  height: 30px !important;
  display: block;
}

/* Contact map panel — same missing-height control (.mapPanel{height:380px}) */
.elementor-element-c604001 {
  height: 380px !important;
}

/* ================= D. HOME WHITE CARD BAND (c104000) — .whiteCardImg{width:100%;max-width:440px} =================
   Native per-widget "width:45%" (leftover from the pre-grid flex approximation) was still
   winning over the max-width cap, rendering the cutout far smaller than the source's 440px cap. */
.elementor-element-d104006 img {
  width: 100% !important;
  max-width: 440px;
  filter: drop-shadow(0 26px 48px rgba(0, 0, 60, 0.28));
}

/* ================= E. ABOUT HERO (c202006/c202007/c202008) — reinforce positioning ================= */
/* Rules already present and correctly formed in kit CSS; raising to !important per the
   coordinator's instruction in case of any specificity/cascade edge case we can't see blind. */
.elementor-element-c202006 { position: relative !important; }
.elementor-element-c202007 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 2 !important;
}
.elementor-element-c202008 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
@media (max-width: 700px) {
  .elementor-element-c202007 {
    position: static !important;
    padding: 0 0 20px !important;
  }
  .elementor-element-c202008 {
    display: none !important;
  }
}

/* ================= F. FOOTER BOTTOM BAR (c1f02000/c1f02001) — same width:100% default-fallback bug as the header CTA ================= */
.elementor-element-c1f02001 {
  width: auto !important;
  flex: 0 1 auto !important;
}

/* ================= G. Restored hero CTA rows — case-management (c402011) / skilled-nursing (c502010) =================
   Same treatment as sibling CTA rows elsewhere (.heroActions{gap:14px;flex-wrap:wrap;align-items:center} —
   flex-wrap/align-items already native and correct on both). */
.elementor-element-c402011,
.elementor-element-c502010 {
  gap: 14px !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 7: gate round 4 punch list
   ===================================================================== */

/* ================= 1. FOOTER INVISIBLE TEXT =================
   Root cause: Elementor's text-editor "text_color" control only colors the
   widget WRAPPER ({{WRAPPER}}{color:...}), relying on CSS inheritance to
   reach any <a> inside. But the kit's global link rule (.elementor-kit-6 a
   {color:#00003c}) directly targets the <a> tag itself, and a DIRECT match
   always beats an INHERITED value regardless of specificity — so every
   link-containing text-editor widget that only set text_color (never the
   separate "link_color" control) was rendering kit-navy links, invisible
   against the footer's navy background. Literal source colors:
   Footer.module.css .addressLink/.legalLink = var(--color-text-on-navy-subtle)
   = #c9c9d6 (globals.css); .phoneLink = #fff. */
[data-elementor-type="footer"] .elementor-element-d1f01005 a,
[data-elementor-type="footer"] .elementor-element-d1f02003 a,
[data-elementor-type="footer"] .elementor-element-d1f02004 a {
  color: #c9c9d6 !important;
}
[data-elementor-type="footer"] .elementor-element-d1f01006 a {
  color: #ffffff !important;
}
/* Copyright (d1f02002) and tagline (d1f01003) contain no <a> tags — their
   text_color (#c9c9d6 both, already matching .tagline/.legalRow literal
   source colors) was never affected; verified, no change needed. */

/* Same defect, found proactively while auditing (not explicitly flagged this
   round, but identical root cause and d603006 specifically is ALSO an
   invisible-text case — white text intended on a navy card, currently
   showing kit-navy). Source: contact/page.module.css .callNumber{color:#fff},
   .infoValue{color:#2b2b38}; about/page.module.css .teamLink{color:var(--color-gold)}. */
.elementor-element-d603006 a { color: #ffffff !important; }
.elementor-element-d603011 a,
.elementor-element-d603021 a { color: #2b2b38 !important; }
.elementor-element-d205006 a { color: #b8965a !important; }

/* ================= 2. NAV ALIGNMENT =================
   Source Header.module.css .bar{justify-content:space-between} works in source
   because there are only 2 real flex children at desktop (logo, and one <nav>
   containing every link AND the phone CTA together). Stage 1 built 3 separate
   flex children (logo, nav-menu widget, phone CTA container), so space-between
   spreads all 3 evenly instead of grouping nav+CTA to the right. Fixed with the
   standard flex "push everything after me right" trick: flex-start on the row +
   margin-left:auto on the middle item groups nav+CTA together against the
   right edge, exactly matching source's visual result. */
.elementor-element-c1e01000 {
  justify-content: flex-start !important;
}
.elementor-element-d1e01002 {
  margin-left: auto !important;
}

/* ================= 3. BUTTON SIZE SITE-WIDE =================
   Root cause: the Button widget has no "button_padding" control in this
   Elementor version (only the KIT's global Theme Style > Buttons tab has
   one) — confirmed via plugin source (includes/widgets/button.php has zero
   padding control; only core/kits/documents/tabs/theme-style-buttons.php
   registers 'button_padding'). Every per-widget "button_padding" setting in
   stage 1's _elementor_data is a non-existent key, so it compiles to
   nothing AND appears to suppress the kit-level global default too —
   Elementor's own hardcoded fallback (.elementor-button{padding:12px 24px})
   was winning. The existing .ahs-btn utility class also missed this because
   its padding rule targets the WIDGET WRAPPER div, not the inner
   <a class="elementor-button"> that Elementor actually pads. Literal
   source: components/ui/Button.module.css .button{font-size:16px;
   padding:15px 26px;line-height:1.1} (font-size/weight/radius already
   compile correctly natively — confirmed via compiled CSS — only padding
   was missing). */
.ahs-btn .elementor-button {
  padding: 15px 26px !important;
  line-height: 1.1 !important;
}

/* ================= 4. HOME HERO WHITE CARD CHIP (c101005) =================
   Source page.module.css .whiteCardChip{display:inline-flex;...;max-width:410px}
   — c101005 has no native width override, so it fell into the confirmed
   .e-con{--width:100%} default-fallback bug (same pattern as the header CTA
   and footer legal row fixed in earlier rounds), stretching to the full hero
   column width instead of shrink-wrapping. Its parent (c101002) already has
   flex_align_items:flex-start natively, so removing the literal 100% width
   lets it shrink-wrap on its own; max-width:410px caps it per source. */
.elementor-element-c101005 {
  width: auto !important;
  max-width: 410px !important;
  flex: 0 0 auto !important;
}

/* ================= 5. FONT COLOR SWEEP =================
   Audited every heading/text-editor color setting on the home page against
   globals.css tokens and the kit's global color seed (h1/h2/h3/body/link
   colors all confirmed exact matches to source already). No additional
   home-page color mismatches found beyond the link-color defect fixed in
   item 1/proactive-above — see change log for the full per-widget audit
   table. No new rules needed here beyond items 1 and 6.
   =====================================================================
   6. FORM FIELD STYLING — Gravity Forms embedded in c107007 (home, source:
   InterestForm.module.css), c303007 (services, same InterestForm styling),
   c603023 (contact, source: ContactForm.module.css). Presentation only —
   no field/logic changes.
   ===================================================================== */

/* Card border — was still the stage-1 placeholder's dashed gold marker
   border; source .card{border:1px solid var(--color-card-border)} = #e6e2dc.
   Background #fff, border-radius 18px, and padding (32/34 interest,
   38/40 contact) were already correct natively — only the border needed
   updating now that the real form has replaced the placeholder content. */
.elementor-element-c107007,
.elementor-element-c303007,
.elementor-element-c603023 {
  border: 1px solid #e6e2dc !important;
}

/* Shared field styling — literal source .label / .input,.select,.textarea */
.elementor-element-c107007 .gform_wrapper .gfield_label,
.elementor-element-c303007 .gform_wrapper .gfield_label,
.elementor-element-c603023 .gform_wrapper .gfield_label {
  display: block !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 7px !important;
  color: #00003c !important;
}
.elementor-element-c107007 .gform_wrapper input[type="text"],
.elementor-element-c107007 .gform_wrapper input[type="tel"],
.elementor-element-c107007 .gform_wrapper input[type="email"],
.elementor-element-c107007 .gform_wrapper select,
.elementor-element-c107007 .gform_wrapper textarea,
.elementor-element-c303007 .gform_wrapper input[type="text"],
.elementor-element-c303007 .gform_wrapper input[type="tel"],
.elementor-element-c303007 .gform_wrapper input[type="email"],
.elementor-element-c303007 .gform_wrapper select,
.elementor-element-c303007 .gform_wrapper textarea,
.elementor-element-c603023 .gform_wrapper input[type="text"],
.elementor-element-c603023 .gform_wrapper input[type="tel"],
.elementor-element-c603023 .gform_wrapper input[type="email"],
.elementor-element-c603023 .gform_wrapper select,
.elementor-element-c603023 .gform_wrapper textarea {
  width: 100% !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  padding: 13px 15px !important;
  border: 1.5px solid #d5d0c7 !important;
  border-radius: 8px !important;
  background: #faf9f7 !important;
  color: #00003c !important;
  box-shadow: none !important;
}
.elementor-element-c107007 .gform_wrapper textarea,
.elementor-element-c303007 .gform_wrapper textarea,
.elementor-element-c603023 .gform_wrapper textarea {
  resize: vertical !important;
}
.elementor-element-c107007 .gform_wrapper input[type="text"]:focus,
.elementor-element-c107007 .gform_wrapper input[type="tel"]:focus,
.elementor-element-c107007 .gform_wrapper input[type="email"]:focus,
.elementor-element-c107007 .gform_wrapper select:focus,
.elementor-element-c107007 .gform_wrapper textarea:focus,
.elementor-element-c303007 .gform_wrapper input[type="text"]:focus,
.elementor-element-c303007 .gform_wrapper input[type="tel"]:focus,
.elementor-element-c303007 .gform_wrapper input[type="email"]:focus,
.elementor-element-c303007 .gform_wrapper select:focus,
.elementor-element-c303007 .gform_wrapper textarea:focus,
.elementor-element-c603023 .gform_wrapper input[type="text"]:focus,
.elementor-element-c603023 .gform_wrapper input[type="tel"]:focus,
.elementor-element-c603023 .gform_wrapper input[type="email"]:focus,
.elementor-element-c603023 .gform_wrapper select:focus,
.elementor-element-c603023 .gform_wrapper textarea:focus {
  border-color: #b8965a !important;
  outline: none !important;
}
/* Field vertical rhythm (source margin-bottom on .input/.select/.textarea) */
.elementor-element-c107007 .gform_wrapper .gfield,
.elementor-element-c303007 .gform_wrapper .gfield {
  margin-bottom: 18px !important;
}
.elementor-element-c603023 .gform_wrapper .gfield {
  margin-bottom: 18px !important;
}

/* Submit button — literal source .submit (interest form: padding:15px; contact form: padding:16px, margin-top:24px) */
.elementor-element-c107007 .gform_wrapper .gform_button,
.elementor-element-c303007 .gform_wrapper .gform_button {
  width: 100% !important;
  border: none !important;
  background: #00003c !important;
  color: #faf9f7 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  padding: 15px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.elementor-element-c603023 .gform_wrapper .gform_button {
  width: 100% !important;
  border: none !important;
  background: #00003c !important;
  color: #faf9f7 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  padding: 16px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  margin-top: 24px !important;
  box-shadow: none !important;
}
.elementor-element-c107007 .gform_wrapper .gform_button:hover,
.elementor-element-c303007 .gform_wrapper .gform_button:hover,
.elementor-element-c603023 .gform_wrapper .gform_button:hover {
  background: #12124a !important;
  color: #faf9f7 !important;
}

/* Contact form heading spacing (source .heading{margin:0 0 6px}) — color
   already correct via kit h2 default (#00003c), only margin was missing */
.elementor-element-d603024 {
  margin: 0 0 6px !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 8: vertical rhythm (gate round 5)
   Root cause: app/globals.css resets html/body margin:0 and h1/h2/h3{margin:0}
   sitewide; every component then adds its own explicit margin per element.
   The WP build never replicated the reset, so Elementor heading widgets and
   text-editor <p> tags kept their UA/theme default margins, stacking on top
   of container gaps in element-varying amounts.
   ===================================================================== */

/* ---------- LAYER 1: baseline reset, scoped to real page/header/footer
   content only (not wp-admin, not other template types) ---------- */
[data-elementor-type="wp-page"] h1,
[data-elementor-type="wp-page"] h2,
[data-elementor-type="wp-page"] h3,
[data-elementor-type="header"] h1,
[data-elementor-type="header"] h2,
[data-elementor-type="header"] h3,
[data-elementor-type="footer"] h1,
[data-elementor-type="footer"] h2,
[data-elementor-type="footer"] h3 {
  margin: 0;
}
[data-elementor-type="wp-page"] .elementor-widget-text-editor p,
[data-elementor-type="header"] .elementor-widget-text-editor p,
[data-elementor-type="footer"] .elementor-widget-text-editor p {
  margin: 0;
}

/* ---------- LAYER 2: explicit rhythm by ID, literal source values ----------
   Applied on the widget WRAPPER div (.elementor-element-{id}) rather than the
   inner h1/h2/h3/p tag — this sidesteps any ambiguity about exact inner markup
   and, combined with Layer 1 zeroing the inner tag, produces the same single,
   correct margin with no double-counting. */

/* ===== HOME (page.module.css) ===== */
.elementor-element-d101003 { margin: 0 0 18px 0 !important; } /* .heroEyebrow */
.elementor-element-d101004 { margin: 0 !important; }           /* H1 — reset; stage-1 had an incorrect 26px bottom */
.elementor-element-c101005 { margin: 0 0 26px 0 !important; }  /* .whiteCardChip (reaffirm — already correct) */
.elementor-element-d101010 { margin: 0 0 32px 0 !important; }  /* .heroIntro */
.elementor-element-d103002 { margin: 0 !important; }
.elementor-element-d104003 { margin: 0 !important; }
.elementor-element-d104004 { margin: 0 0 30px 0 !important; }  /* .whiteCardCopy */
.elementor-element-d105002 { margin: 0 !important; }
.elementor-element-d105006,
.elementor-element-d105010,
.elementor-element-d105014,
.elementor-element-d105018 { margin: 0 0 8px 0 !important; }   /* .valueTitle */
.elementor-element-d105007,
.elementor-element-d105011,
.elementor-element-d105015,
.elementor-element-d105019 { margin: 0 !important; }           /* .valueText (last in card) */
.elementor-element-d106001 { margin: 0 0 8px 0 !important; }   /* .quoteMark */
.elementor-element-d106002 { margin: 0 0 26px 0 !important; }  /* .quoteText */
.elementor-element-d106003 { margin: 0 !important; }
.elementor-element-d107004 { margin: 0 !important; }
.elementor-element-d107005 { margin: 16px 0 28px 0 !important; } /* .contactText + inline marginTop:16 override in source */

/* ===== ABOUT (about/page.module.css) ===== */
.elementor-element-d202001 { margin: 0 0 10px 0 !important; }  /* .heroOnPhotoEyebrow */
.elementor-element-d202002 { margin: 0 !important; }            /* .heroTitle */
.elementor-element-d202004 { margin: 0 0 20px 0 !important; }  /* .heroText p1 */
.elementor-element-d202005 { margin: 0 !important; }            /* .heroText p2 — inline marginBottom:0 override */
.elementor-element-d203002 { margin: 0 !important; }             /* mission statement H2 */
.elementor-element-c203005,
.elementor-element-c203009,
.elementor-element-c203013 { margin: 0 0 20px 0 !important; }  /* .cardRule (reaffirm) */
.elementor-element-d203006,
.elementor-element-d203010,
.elementor-element-d203014 { margin: 0 0 12px 0 !important; }  /* .cardTitle */
.elementor-element-d203007,
.elementor-element-d203011,
.elementor-element-d203015 { margin: 0 !important; }            /* .cardText */
.elementor-element-d204004 { margin: 0 0 18px 0 !important; }  /* H2 — inline marginBottom:'18px' in source */
.elementor-element-d204005 { margin: 0 0 26px 0 !important; }  /* .whyIntro */
.elementor-element-d205003 { margin: 0 0 18px 0 !important; }  /* H2 — inline marginBottom:'18px' in source */
.elementor-element-d205004 { margin: 0 0 16px 0 !important; }  /* .teamText p1 — inline marginBottom:'16px' */
.elementor-element-d205005 { margin: 0 0 24px 0 !important; }  /* .teamText p2 — inline marginBottom:'24px' */
.elementor-element-d206003 { margin: 0 0 22px 0 !important; }  /* .ownersHeading */
.elementor-element-d206004 { margin: 0 0 18px 0 !important; }  /* .ownersText p1 */
.elementor-element-d206005 { margin: 0 !important; }            /* .ownersText p2 — inline marginBottom:0 */
.elementor-element-d207001 { margin: 0 0 12px 0 !important; }
.elementor-element-d207002 { margin: 0 0 12px 0 !important; }  /* H2 — inline marginBottom:'12px' */
.elementor-element-d207003 { margin: 0 0 44px 0 !important; }  /* .affilIntro */
.elementor-element-d208003 { margin: 0 0 12px 0 !important; }  /* H2 — inline marginBottom:'12px' */
.elementor-element-d208004 { margin: 0 !important; }            /* .ctaText */

/* ===== SERVICES (services/page.module.css) ===== */
.elementor-element-d301002 { margin: 0 0 18px 0 !important; }  /* .heroEyebrow */
.elementor-element-d301003 { margin: 0 !important; }
.elementor-element-d301004 { margin: 0 0 32px 0 !important; }  /* .heroIntro */
.elementor-element-d302002 { margin: 0 0 12px 0 !important; }  /* H2 — inline marginBottom:'12px' */
.elementor-element-d302003 { margin: 0 0 44px 0 !important; }  /* .whatWeDoIntro */
.elementor-element-c302006,
.elementor-element-c302012,
.elementor-element-c302018,
.elementor-element-c302024,
.elementor-element-c302030,
.elementor-element-c302036,
.elementor-element-c302042,
.elementor-element-c302048 { margin: 0 0 22px 0 !important; }  /* .cardIcon / .cardNavyIcon (reaffirm) */
.elementor-element-d302008,
.elementor-element-d302014,
.elementor-element-d302020,
.elementor-element-d302026,
.elementor-element-d302032,
.elementor-element-d302038,
.elementor-element-d302050 { margin: 0 0 12px 0 !important; }  /* .cardTitle / .cardNavyTitle */
.elementor-element-d302009,
.elementor-element-d302015,
.elementor-element-d302021,
.elementor-element-d302027,
.elementor-element-d302033,
.elementor-element-d302039,
.elementor-element-d302051 { margin: 0 0 22px 0 !important; }  /* .cardText / .cardNavyText */
.elementor-element-d302010,
.elementor-element-d302016,
.elementor-element-d302022,
.elementor-element-d302028,
.elementor-element-d302034,
.elementor-element-d302040,
.elementor-element-d302052 { margin: 0 !important; }           /* .cardLink / .cardNavyLink (last) */
.elementor-element-d303003 { margin: 0 !important; }
.elementor-element-d303004 { margin: 0 0 28px 0 !important; }  /* .contactText */

/* ===== SERVICES/[SLUG] — case-management (4xx) + skilled-nursing (5xx) ===== */
.elementor-element-d402002,
.elementor-element-d502002 { margin: 0 0 20px 0 !important; }  /* .backLink */
.elementor-element-c402003,
.elementor-element-c502003 { margin: 0 0 20px 0 !important; }  /* .iconRow */
.elementor-element-d402007,
.elementor-element-d502007 { margin: 0 0 22px 0 !important; }  /* .heroTitle (this page's H1 DOES carry its own margin, unlike other pages) */
.elementor-element-d402008,
.elementor-element-d502008 { margin: 0 0 18px 0 !important; }  /* .heroText (non-last) */
.elementor-element-d402009 { margin: 0 0 18px 0 !important; }  /* case-mgmt heroText p2 (middle, non-last) */
.elementor-element-d402010 { margin: 0 !important; }            /* case-mgmt heroText p3 (last) */
.elementor-element-d502009 { margin: 0 !important; }            /* skilled-nursing heroText p2 (last) */
.elementor-element-c402011,
.elementor-element-c502010 { margin: 12px 0 0 0 !important; }  /* .heroActions (reaffirm) */
.elementor-element-d403001,
.elementor-element-d503001 { margin: 0 0 16px 0 !important; }  /* .inclEyebrow */
.elementor-element-d403003,
.elementor-element-d503003 { margin: 28px 0 12px 0 !important; } /* .subheading */
.elementor-element-d403004,
.elementor-element-d503004 { margin: 0 0 14px 0 !important; }  /* .bodyText p1 */
.elementor-element-d403005,
.elementor-element-d503005 { margin: 0 !important; }            /* .bodyText p2 (last) */
.elementor-element-d404002,
.elementor-element-d504002 { margin: 0 0 14px 0 !important; }  /* .ctaHeading */
.elementor-element-d404003,
.elementor-element-d504003 { margin: 0 0 30px 0 !important; }  /* .ctaText */
/* .incl (ahs-dot-list) — source has margin:0 0 8px, the shared utility class had margin:0 */
.ahs-dot-list { margin: 0 0 8px 0 !important; }

/* ===== CONTACT (contact/page.module.css) ===== */
.elementor-element-d602003 { margin: 0 !important; }
.elementor-element-d602004 { margin: 0 !important; }            /* .introText (explicit 0 in source) */
.elementor-element-c603003 { margin-bottom: 8px !important; }  /* .infoCardHeader + .callCardHeader override */
.elementor-element-c603008,
.elementor-element-c603013,
.elementor-element-c603018 { margin-bottom: 10px !important; } /* .infoCardHeader base */
.elementor-element-d604006 { margin: 0 0 4px 0 !important; }   /* .mapAddress */

/* ===== FOOTER (Footer.module.css) ===== */
.elementor-element-d1f01002 a { margin-bottom: 16px !important; } /* .logoLink */
.elementor-element-d1f01003 { margin: 0 0 20px 0 !important; }    /* .tagline — removes stage-1's duplicate top:16px (double-spacing with the logo's own margin-bottom:16) */
/* JOB 1a audit (surgical fix): logo->tagline gap mechanism verified
   correct and unchanged -- .elementor-element-d1f01002 a above already
   carries margin-bottom:16px !important matching Footer.module.css
   .logoLink{margin-bottom:16px} on the actual rendered <a> node. */
.elementor-element-d1f01009,
.elementor-element-d1f01012 { margin: 0 0 16px 0 !important; }    /* .colHeading */

/* ===== FORM RHYTHM — ContactForm.module.css .heading/.intro ===== */
.elementor-element-d603024 { margin: 0 0 6px 0 !important; }   /* .heading (reaffirm) */
.elementor-element-d603025 { margin: 0 0 26px 0 !important; }  /* .intro — removes stage-1's duplicate top:6px (double-spacing with the heading's own margin-bottom:6) */


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 9: gate round 6
   ===================================================================== */

/* ================= 1. EYEBROWS SITE-WIDE =================
   Root cause: .ahs-eyebrow / .ahs-eyebrow-hero are applied to the WIDGET
   WRAPPER div, and font-size/color/letter-spacing are inherited properties —
   normally fine. But Elementor's own compiled per-page CSS has a DIRECT rule
   on the inner tag itself: ".elementor-widget-heading .elementor-heading-title
   {font-family:var(--e-global-typography-primary-font-family);font-weight:
   var(--e-global-typography-primary-font-weight);color:var(--e-global-color-
   primary)}" — primary = Libre Baskerville / 700 / navy (#00003c). A DIRECT
   match always beats an INHERITED value regardless of specificity (same bug
   class as the footer links in round 4), so every eyebrow rendered in navy
   serif instead of small gold tracked sans. Round 4's font audit checked
   native title_color/text_color settings only and never traced whether a
   direct rule on the rendered tag would intercept inheritance from a
   class-based wrapper — this is why it was missed. Fixed by re-declaring
   the full eyebrow treatment directly on .elementor-heading-title inside the
   wrapper class, so it's a direct match too and wins on source order. */
.ahs-eyebrow .elementor-heading-title {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #b8965a !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.ahs-eyebrow-hero .elementor-heading-title {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #b8965a !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
/* Footer column headings (Footer.module.css .colHeading) use their own spec,
   not .ahs-eyebrow — verified separately: 12px, 0.16em, uppercase, gold,
   800 — same direct-vs-inherited risk, so declared directly too. */
.elementor-element-d1f01009 .elementor-heading-title,
.elementor-element-d1f01012 .elementor-heading-title {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #b8965a !important;
  font-weight: 800 !important;
}

/* ================= 2. NAV LINKS =================
   Elementor's own :not(:first-child)/:not(:last-child) margin rules should
   already zero the outer ends, but reinforcing explicitly per the
   coordinator's exact request, plus fixing hover/active color: kit's global
   "accent" color (used by Elementor's default nav hover rule) is cream
   (#faf9f7), not gold — invisible-ish against the cream header. Source
   .navLink:hover / .navLinkActive = var(--color-gold) = #b8965a. */
.elementor-element-d1e01002 .elementor-nav-menu > li:first-child > a {
  margin-inline-start: 0 !important;
}
.elementor-element-d1e01002 .elementor-nav-menu > li:last-child > a {
  margin-inline-end: 0 !important;
}
.elementor-element-d1e01002 .elementor-nav-menu .elementor-item:hover,
.elementor-element-d1e01002 .elementor-nav-menu .elementor-item.elementor-item-active,
.elementor-element-d1e01002 .elementor-nav-menu .elementor-item:focus {
  color: #b8965a !important;
  text-decoration: none !important;
}

/* ================= 3. NAV DROPDOWNS (Header.module.css .dropdown/.dropdownItem) ================= */
.elementor-element-d1e01002 .elementor-nav-menu--dropdown {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: -16px !important;
  min-width: 250px !important;
  background: #ffffff !important;
  border: 1px solid #e6e2dc !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px -18px rgba(0, 0, 60, 0.32) !important;
  padding: 10px !important;
}
.elementor-element-d1e01002 .elementor-nav-menu--dropdown .elementor-sub-item {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  color: #00003c !important;
  background: transparent !important;
}
.elementor-element-d1e01002 .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-element-d1e01002 .elementor-nav-menu--dropdown .elementor-sub-item:focus,
.elementor-element-d1e01002 .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active {
  background: #e9eef4 !important;
  color: #00003c !important;
}

/* ================= 4. BUTTONS =================
   Re-verified via freshly compiled per-page CSS across 5 different button
   instances (home hero x2, home "view all", about CTA x2): font-size:16px,
   font-weight:800, border-radius:8px ALL already compile correctly natively
   — no kit-level fix needed for those. Two real deltas found: (a) Elementor's
   own icon/text gap default is 5px (.elementor-button-content-wrapper{gap:
   5px}), vs source's 10px; (b) hover colors — same wrapper-vs-inner-element
   bug as the footer links/eyebrows: .ahs-btn-gold:hover{background:...} sets
   the WRAPPER div's hover background, which the inner <a class="elementor-
   button"> (the actual visible pill, styled by its own separate compiled
   rule) never inherits on ancestor hover. */
.ahs-btn .elementor-button-content-wrapper {
  gap: 10px !important;
}
.ahs-btn-gold:hover .elementor-button {
  background-color: #a5854c !important;
  color: #ffffff !important;
}
.ahs-btn-navy:hover .elementor-button {
  background-color: #12124a !important;
  color: #faf9f7 !important;
}

/* ================= 5. FORMS =================
   (a) "(Required)" text — switched both forms to requiredIndicator:'asterisk'
   via GFAPI (presentation-level form setting, no field/logic change); CSS
   backstop hides the marker entirely to match source's fully clean labels.
   (b) Field spacing double-count — Gravity Forms lays fields out via CSS
   Grid on .gform_fields with --gf-form-gap-y defaulting to 40px; my earlier
   .gfield{margin-bottom:18px} rule was ADDING on top of that 40px grid gap
   (58px total instead of 18px). Zeroing the grid-gap variables and letting
   the explicit margin be the only source of rhythm, per the instruction to
   kill GF's own default spacing so mine is authoritative. */
.elementor-element-c107007 .gform_wrapper,
.elementor-element-c303007 .gform_wrapper,
.elementor-element-c603023 .gform_wrapper {
  --gf-form-gap-y: 0px !important;
  --gf-form-gap-x: 0px !important;
}
.elementor-element-c107007 .gform_wrapper .gfield_required,
.elementor-element-c303007 .gform_wrapper .gfield_required,
.elementor-element-c603023 .gform_wrapper .gfield_required {
  display: none !important;
}
/* Interest form (home c107007 / services c303007) — last field (.textarea)
   to submit-button gap is 24px in source (InterestForm.module.css .textarea
   {margin-bottom:24px}); GF's footer sits outside the fields grid so this
   needs its own explicit margin-top. */
.elementor-element-c107007 .gform_wrapper .gform_footer,
.elementor-element-c303007 .gform_wrapper .gform_footer {
  margin-top: 24px !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 10: gate round 8 (mobile)
   Root cause of the dropdown-card-leaking-into-mobile bug: Elementor's
   nav-menu widget renders BOTH the desktop submenu AND the top-level mobile
   flyout panel using the SAME base class ".elementor-nav-menu--dropdown" —
   confirmed via rendered markup: desktop submenu is
   <ul class="sub-menu elementor-nav-menu--dropdown">, mobile panel is
   <nav class="elementor-nav-menu--dropdown elementor-nav-menu__container">.
   Round 6's card styles targeted the class unconditionally, so the mobile
   panel inherited the small 250px-card treatment. Fixed by targeting each
   context with its distinguishing tag/class AND breakpoint-gating both.
   Widget's real breakpoint (confirmed via elementor-pro's own compiled CSS):
   max-width:1024px = mobile/dropdown mode, min-width:1025px = desktop.
   ===================================================================== */

/* ---------- 1. Desktop dropdown card — breakpoint + structurally scoped to
   the nested submenu only (ul.sub-menu), never the top-level mobile panel ---------- */
@media (min-width: 1025px) {
  .elementor-element-d1e01002 ul.sub-menu.elementor-nav-menu--dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: -16px;
    min-width: 250px;
    background: #ffffff;
    border: 1px solid #e6e2dc;
    border-radius: 12px;
    box-shadow: 0 16px 40px -18px rgba(0, 0, 60, 0.32);
    padding: 10px;
  }
  .elementor-element-d1e01002 ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item {
    display: block;
    padding: 10px 14px;
    border-radius: 8px;
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    font-size: 14.5px;
    color: #00003c;
    background: transparent;
  }
  .elementor-element-d1e01002 ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item:hover,
  .elementor-element-d1e01002 ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item:focus,
  .elementor-element-d1e01002 ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active {
    background: #e9eef4;
    color: #00003c;
  }
}

@media (max-width: 1024px) {
  /* ---------- 2. Mobile panel (Header.module.css .mobilePanel/.mobileLink) ---------- */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute; /* keep Elementor's own overlay-flyout behavior */
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
    background: #ffffff;
    border: none;
    border-top: 1px solid #e6e2dc;
    border-radius: 0;
    box-shadow: none;
    padding: 6px 24px 18px;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .elementor-nav-menu {
    flex-direction: column;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown > .elementor-nav-menu > li > a.elementor-item {
    display: block;
    padding: 13px 4px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #00003c;
    border-bottom: 1px solid #eee7dd;
  }
  /* Sub-menu children (Services/White Card) — keep Elementor's own expand
     behavior, inherit the panel typography, modest indent, same divider */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    display: block;
    padding: 13px 4px 13px 20px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #00003c;
    border-bottom: 1px solid #eee7dd;
    background: transparent;
  }

  /* ---------- 3. Breakpoint-gate the two new menu items (desktop already
     hides them via item below at min-width:1025px) ---------- */
  .elementor-element-d1e01002 .ahs-menu-home,
  .elementor-element-d1e01002 .ahs-menu-call {
    display: block;
  }

  /* ---------- 4. Call item (.mobileCallBtn spec) ---------- */
  .elementor-element-d1e01002 .ahs-menu-call {
    border-bottom: none !important;
  }
  .elementor-element-d1e01002 .ahs-menu-call > a.elementor-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 14px !important;
    background: #00003c !important;
    color: #faf9f7 !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 8px !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    border-bottom: none !important;
  }
/* removed gate-round-8d: block2_badge_r8 superseded */

  /* ---------- 5. Hamburger toggle (.mobileMenuBtn spec) ---------- */
  .elementor-element-d1e01002 .elementor-menu-toggle {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #00003c;
    border-radius: 8px;
    background: transparent;
    font-size: 20px;
    color: #00003c;
  }

  /* ---------- 6. Hide the header phone CTA — mobile header is logo + hamburger only ---------- */
  .elementor-element-c1e01003 {
    display: none !important;
  }
}

/* Desktop: the two new menu items must never show in the main horizontal nav */
@media (min-width: 1025px) {
  .elementor-element-d1e01002 .ahs-menu-home,
  .elementor-element-d1e01002 .ahs-menu-call {
    display: none !important;
  }
}

/* ---------- 7. Home hero image order (c101000 grid, d101015) —
   reinforced to !important; rule was confirmed present and correctly scoped
   (d101015 IS the hero image widget per the manifest), but had no !important,
   so raising specificity/importance to guarantee it wins the cascade
   regardless of any competing base .elementor-element{order:var(--order)}
   rule we can't fully trace blind. ---------- */
@media (max-width: 860px) {
  .elementor-element-d101015 {
    order: -1 !important;
  }
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 11: gate round 8b (mobile panel containing-block fix)
   Root cause: the mobile panel is position:absolute inside the nav widget's
   own wrapper, and BOTH that wrapper (.elementor-widget base rule sets
   position:relative) and its parent row (.elementor-element-c1e01000, which
   defaults to position:relative via the base .e-con rule) are positioned
   ancestors closer than the header root — so the panel's left:0/right:0/
   width:100% resolved against the narrow, right-pushed widget box (it has
   margin-left:auto from the round-6 nav-alignment fix), not the viewport.
   Fix: break that chain at mobile only, so the panel's absolute positioning
   resolves against [data-elementor-type="header"] (already position:sticky
   since round 6 — a valid positioned ancestor spanning the full width).
   Desktop dropdown positioning (behind the min-width:1025px fence) is
   untouched — this is mobile-only (@media max-width:1024px), scoped to the
   header template.
   ===================================================================== */

@media (max-width: 1024px) {
  /* 1. Break the positioning chain */
  [data-elementor-type="header"] .elementor-element-c1e01000 {
    position: static !important;
  }
  [data-elementor-type="header"] .elementor-element-d1e01002 {
    position: static !important;
  }

  /* 3. Panel re-anchored to the header root (2. header root already sticky
     from round 6 — no change needed there) */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    /* panel treatment unchanged from round 8 */
    background: #ffffff;
    border: none;
    border-top: 1px solid #e6e2dc;
    border-radius: 0;
    box-shadow: none;
    padding: 6px 24px 18px;
  }
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 12: gate round 8c (mobile menu final polish)
   Verified against components/Header.tsx / nav-data.ts: source mobile panel
   is flat — Home/About/Services/White Card/Careers/Contact + call button,
   no expand carets, no sub-items. Services/White Card are real page links
   (confirmed in rendered markup: href="https://.../services/" and
   ".../white-card/" — tapping already navigates correctly, no change needed
   there).
   ===================================================================== */

@media (max-width: 1024px) {

  /* ---------- 1. Flatten the panel — hide sub-menus + any arrow indicator ---------- */
/* removed gate-round-8d: block1_submenu_hide superseded */
  /* dead .sub-arrow{display:none} from round 8c removed (round 8f) —
     superseded by the comprehensive caret block below */

  /* ---------- 2. Kill Elementor's dark active/hover/focus item states —
     excludes .ahs-menu-call, which keeps its own navy-button treatment below ---------- */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li:not(.ahs-menu-call) > a.elementor-item {
    background: transparent !important;
    color: #00003c !important;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li:not(.ahs-menu-call) > a.elementor-item:hover,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li:not(.ahs-menu-call) > a.elementor-item:focus {
    background: transparent !important;
    color: #b8965a !important;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li:not(.ahs-menu-call) > a.elementor-item.elementor-item-active,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li:not(.ahs-menu-call) > a.elementor-item.highlighted {
    background: transparent !important;
    color: #00003c !important;
  }

  /* ---------- 3. Call button badge fix ----------
     Verified live markup (both rendered copies of the menu):
       <li class="ahs-menu-call ..."><a href="tel:5097756336" class="elementor-item"...>Call (509) 775-6336</a></li>
     — plain text, no nested spans; the existing .elementor-kit-6
     ".ahs-menu-call > a.elementor-item::after" already matches this exactly.
     Root cause of the non-render: Elementor Pro's own widget-nav-menu CSS
     carries several ".elementor-item:after{content:""}" rules used for
     hover/pointer-style underline effects; regardless of which one's exact
     compound .elementor-kit-6 and load order actually wins, none of them use
     !important — raising every property here to !important guarantees this
     rule wins outright rather than depending on a cascade order I can't
     fully verify blind. */
  .elementor-element-d1e01002 .ahs-menu-call {
    border-bottom: none !important;
  }
  .elementor-element-d1e01002 .ahs-menu-call > a.elementor-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 14px !important;
    background: #00003c !important;
    color: #faf9f7 !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 8px !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    border-bottom: none !important;
  }
/* removed gate-round-8d: block3_badge_r8c superseded */
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 13: gate round 8d
   ===================================================================== */

@media (max-width: 1024px) {
  /* ---------- 1. Sub-menus restored as always-visible inline nesting
     (design decision change — human wants Services/White Card sub-items
     kept on mobile). Plain flow list, never absolute, never a card. ---------- */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu {
    /* display intentionally NOT !important — SmartMenus JS (Elementor Pro's
       nav library) toggles open/closed via inline display on this element.
       The SAME JS also sets inline position/top/left/width AT OPEN TIME,
       which is why every other layout property below must be !important —
       inline styles beat non-!important stylesheet rules, so our anti-card
       reset was winning while closed and losing the instant it opened. */
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item {
    display: block !important;
    padding: 10px 4px 10px 20px !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #00003c !important;
    border-bottom: 1px solid #eee7dd !important;
    background: transparent !important;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item:hover,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item:focus {
    background: transparent !important;
    color: #b8965a !important;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item.elementor-item-active,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item.highlighted {
    background: transparent !important;
    color: #00003c !important;
  }

  /* ---------- Panel now taller (6 top-level + 12 sub-items + call button) —
     scroll instead of clip. 89px = header bar's rendered height: 14px top
     padding + 60px logo height + 14px bottom padding + 1px border-bottom
     (Header.module.css .bar padding + logo height={60} + .header border-bottom). ---------- */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    max-height: calc(100vh - 89px);
    overflow-y: auto;
  }
}

/* ---------- 2. Real badge element (mu-plugin ahs-nav-badge.php appends
   <span class="ahs-call-badge">) — shown at all widths inside the call item;
   the item itself is already display:none at >=1025px (round 8), so no
   desktop leak. Literal source values: Header.module.css .mobileCallBadge. ---------- */
.ahs-call-badge {
  display: inline-block;
  background: #b8965a;
  color: #00003c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 1px 8px;
  border-radius: 99px;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 14: gate round 8e (native accordion + carets)
   Enabled via Elementor's own mechanism: widget d1e01002's "submenu_icon"
   control (confirmed control key from elementor-pro/modules/nav-menu/
   widgets/nav-menu.php register_controls) set to fas fa-chevron-down in
   _elementor_data (header-211-pre-accordion.json backup taken first).
   IMPORTANT CAVEAT stated plainly: this control has frontend_available:true
   — the arrow is injected by Elementor's own JS at runtime, not present in
   server-rendered HTML. My verification (curl + static grep) can confirm
   the SETTING is stored and that these CSS rules compile, but CANNOT
   visually confirm the arrow renders/rotates correctly — that requires a
   real browser, same limitation the coordinator already anticipated for
   tap-behavior in round 8d.
   ===================================================================== */

/* ---------- MOBILE accordion caret (≤1024px) — net-new UI pattern not in
   source (source's mobile menu is flat, no accordion at all), so no literal
   source value exists for this specific chevron; using navy per the
   coordinator's explicit instruction for this net-new element. ---------- */
@media (max-width: 1024px) {
  /* Elementor's JS determines the arrow's exact DOM placement (inside the
     anchor, or as its sibling) — cover both structures defensively so the
     result is correct either way; the two rule sets target non-overlapping
     properties on shared .elementor-kit-6s, so they compose safely if only one
     structure is actually present. */

  /* Structure A (arrow-inside-anchor) rules removed round 8g — round 8f's
     screenshot confirmed the real structure is Structure B (arrow is a
     sibling of the anchor inside the <li>); keeping both was harmless for
     the arrow's own position but Structure B's li{display:flex;flex-wrap:
     nowrap} was the actual cause of the sub-menu rendering as a sideways
     third column (see the fixed li rule below). One consistent rule set now. */

  /* Row structure (confirmed round 8g): arrow is a sibling of the anchor
     inside the <li>, both anchor+arrow on row 1, the sub-menu forced onto
     its own full-width row 2 below (via flex:0 0 100%;order:3 on ul.sub-menu,
     below). flex-wrap:WRAP (not nowrap) is what lets that third flex item
     actually drop to a new line instead of squeezing in beside the label as
     a sideways third column — round 8f's bug. Scoped to DIRECT children of
     the top-level menu <ul> only (nav...__container > .elementor-nav-menu >
     li), so this can never cascade onto the nested <li> elements inside
     ul.sub-menu and re-create the same bug one level down. */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown > .elementor-nav-menu > li.menu-item-has-children {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown > .elementor-nav-menu > li.menu-item-has-children > a.elementor-item {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Sub-menu forced onto its own full-width row below the label+caret row —
     this is what flex-wrap:wrap above actually wraps onto. */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown > .elementor-nav-menu > li.menu-item-has-children > ul.sub-menu {
    flex: 0 0 100% !important;
    order: 3 !important;
  }
  /* Safety net: no stacking context should ever lift a sub-item above its
     siblings — the in-flow fix above makes layering moot, but confirm
     explicitly rather than leave it implicit. */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu {
    z-index: auto !important;
  }
  /* Confirm the sub-menu's own <li> children are plain block rows with no
     inherited flex from the top-level li rule (which is scoped to direct
     children of the top-level <ul> only and cannot reach these anyway —
     stated explicitly for certainty per the round-8g request). */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown ul.sub-menu > li {
    display: block !important;
  }

  /* The arrow itself — gold per the human's preference (matches desktop),
     fixed 44px tap target, can never wrap to its own line, sits after the
     label either way via order + margin-left:auto. */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .sub-arrow {
    display: flex !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    align-items: center !important;
    justify-content: center !important;
    order: 2 !important;
    width: 44px !important;
    height: auto !important;
    min-width: 44px !important;
    min-height: 0 !important;
    margin-left: auto !important;
    margin-inline-start: auto !important;
    padding: 0 !important;
    white-space: nowrap !important;
    color: #b8965a !important;
    transition: transform 0.2s ease;
  }
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .sub-arrow i,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .sub-arrow svg,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .sub-arrow .e-font-icon-svg {
    color: #b8965a !important;
    fill: #b8965a !important;
    width: 12px !important;
    height: 12px !important;
  }
  /* Rotate on the standards-based aria-expanded attribute (more dependable
     than a JS-added class per our own accordion-styling guidance). */
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li > a[aria-expanded="true"] ~ .sub-arrow,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown li[aria-expanded="true"] > .sub-arrow,
  .elementor-element-d1e01002 nav.elementor-nav-menu--dropdown .sub-arrow[aria-expanded="true"] {
    transform: rotate(180deg);
  }
}

/* ---------- DESKTOP caret (≥1025px) — literal source value: Header.module.css
   .caret{font-size:10px;color:var(--color-gold)} inline after the nav label.
   Note: this is GOLD per the verified source file, not navy — flagging this
   explicitly since it differs from the round-8e message's paraphrase, and
   the golden rule defers to the literal source file. ---------- */
@media (min-width: 1025px) {
  .elementor-element-d1e01002 .elementor-nav-menu--main .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    margin-inline-start: 5px !important;
    padding: 0 !important;
    color: #b8965a !important;
    font-size: 10px !important;
  }
  .elementor-element-d1e01002 .elementor-nav-menu--main .sub-arrow i,
  .elementor-element-d1e01002 .elementor-nav-menu--main .sub-arrow svg,
  .elementor-element-d1e01002 .elementor-nav-menu--main .sub-arrow .e-font-icon-svg {
    color: #b8965a !important;
    fill: #b8965a !important;
    width: 0.7em;
    height: 0.7em;
  }
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 15: gate round 9
   ===================================================================== */

/* ================= 1. HOME SERVICES-STRIP CARDS AT MOBILE =================
   Source page.module.css @media(max-width:860px) .serviceCard block was
   never applied — cards kept the desktop row layout (icon left/label right)
   at mobile, so long labels like "Family Caregiver Program" wrapped badly.
   Applying the FULL literal mobile block (flex-direction, align-items,
   text-align, gap, AND padding — padding also changes at mobile, from
   24px 28px to 26px 20px). Card IDs from the manifest: c103004 (Skilled
   Nursing), c103008 (Home Care Aide), c103012 (Family Caregiver Program),
   c103016 (Case Management), c103020 (Claims Assistance), c103024
   (Transportation), c103028 (Transfer of Care). */
@media (max-width: 860px) {
  .elementor-element-c103004,
  .elementor-element-c103008,
  .elementor-element-c103012,
  .elementor-element-c103016,
  .elementor-element-c103020,
  .elementor-element-c103024,
  .elementor-element-c103028 {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    padding: 26px 20px !important;
  }
}
/* Checked services/page.module.css (services index, c302xxx cards): .card
   and .cardNavy are already flex-direction:column in their BASE definition
   (not a mobile-only override) — those cards are vertical (icon on top) at
   every breakpoint already, so no equivalent mobile fix is needed there.
   Re-verified the home strip's 7th-card (c103028, Transfer of Care)
   full-row-centering rule from earlier rounds — it sets grid-column/width
   on the GRID placement, a separate concern from the flex-direction/
   align-items/gap/padding set here; both apply together without conflict
   (confirmed no property overlap between the two rule sets). */

/* ================= 2. INNER-PAGE NAV STACKING — INTENTIONAL DEVIATION FROM SOURCE =================
   APPROVED BY THE HUMAN (gate round 9): at mobile, hiding the "<- All
   Services" back-link on the two service detail pages. Source has both the
   Breadcrumb component AND .backLink stacked (WP build already matches
   source structurally) — but at mobile the hero photo's order:-1 reorder
   (Header photo above text) separates the back-link from the breadcrumb
   above it, so it reads as redundant stranded clutter between the photo
   and the icon/eyebrow/H1 block. The breadcrumb already provides equivalent
   "back" navigation at the top of the page. Desktop is completely
   untouched — this is mobile-only (<=860px), matching the source's own
   hero breakpoint. Element IDs from the manifest: d402002 (case-management
   back-link), d502002 (skilled-nursing back-link). */
@media (max-width: 860px) {
  .elementor-element-d402002,
  .elementor-element-d502002 {
    display: none !important;
  }
}


/* =====================================================================
   STAGE-2 FINE-TUNE — BATCH 2 (7 pages: home-care-aide 227, family-
   caregiver-program 228, claims-assistance 229, transportation 230,
   transfer-of-care 231, careers 232, white-card 233)
   Applied after the site-wide gap-key repair (flex_gap confirmed as the
   real persisted control key). Gaps below were measured from compiled
   post-{id}.css BEFORE writing any override — noted per rule as
   "native already correct" (skipped) or "native disagrees" (overridden).
   ===================================================================== */

/* =====================================================================
   A. SERVICES/[SLUG] MECHANICAL PAGES (227-231)
   Source: app/(site)/services/[slug]/page.module.css — identical shared
   template already used for case-management (416)/skilled-nursing (217)
   in batch 1. Same recipe, new element IDs, per-page paragraph counts
   verified individually (227:2/3, 228:3/3, 229:2/2, 230:2/3, 231:2/2 —
   hero-intro/body-paragraph counts respectively).
   ===================================================================== */

/* ----- Hero grid conversion — .hero{grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
   Native gap measured asymmetric (column=56,row=40) on all 5 — same disagreement
   pattern as case-mgmt/skilled-nursing in batch 1, same fix: force uniform 56px. ----- */
.elementor-element-c702000 > .e-con-inner,
.elementor-element-c802000 > .e-con-inner,
.elementor-element-c902000 > .e-con-inner,
.elementor-element-ca02000 > .e-con-inner,
.elementor-element-cb02000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.elementor-element-c702000 > .e-con-inner > .elementor-element,
.elementor-element-c802000 > .e-con-inner > .elementor-element,
.elementor-element-c902000 > .e-con-inner > .elementor-element,
.elementor-element-ca02000 > .e-con-inner > .elementor-element,
.elementor-element-cb02000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-c702000 > .e-con-inner,
  .elementor-element-c802000 > .e-con-inner,
  .elementor-element-c902000 > .e-con-inner,
  .elementor-element-ca02000 > .e-con-inner,
  .elementor-element-cb02000 > .e-con-inner { grid-template-columns: 1fr; }
  .elementor-element-d702013,
  .elementor-element-d802014,
  .elementor-element-d902013,
  .elementor-element-da02013,
  .elementor-element-db02013 { order: -1; } /* .photo{order:-1} */
}

/* icon-row (c*02003) / cta-row (c*02010 or c*02011) / cta-actions-row (c*04004) gaps
   measured ALREADY correct natively post-repair (16/16, 14/14, 16/16 respectively,
   matching .iconRow/.heroActions gap n/a — heroActions has no gap decl/.ctaActions
   gap:16px) — no override written; verified by measured value, not grep-for-presence. */

/* ----- Icon well (.iconBox{width:52px;height:52px}, .iconImg{width:30px;height:30px})
   Containers have no working native "height" control (min-height only) — confirmed
   bug from batch 1. Same fix, new IDs. ----- */
.elementor-element-c702004,
.elementor-element-c802004,
.elementor-element-c902004,
.elementor-element-ca02004,
.elementor-element-cb02004 {
  width: 52px !important;
  height: 52px !important;
  flex-shrink: 0;
}
.elementor-element-c702004 img,
.elementor-element-c802004 img,
.elementor-element-c902004 img,
.elementor-element-ca02004 img,
.elementor-element-cb02004 img {
  width: 30px !important;
  height: 30px !important;
  display: block;
}

/* ----- Hero photo (.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}) ----- */
.elementor-element-d702013 img,
.elementor-element-d802014 img,
.elementor-element-d902013 img,
.elementor-element-da02013 img,
.elementor-element-db02013 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
}

/* ----- Mobile back-link hide — same approved deviation as case-mgmt/skilled-nursing
   (gate round 9): at <=860px the hero photo's order:-1 separates the back-link from
   the breadcrumb above it; breadcrumb already provides equivalent back-nav. ----- */
@media (max-width: 860px) {
  .elementor-element-d702002,
  .elementor-element-d802002,
  .elementor-element-d902002,
  .elementor-element-da02002,
  .elementor-element-db02002 {
    display: none !important;
  }
}

/* ----- Vertical rhythm (margins) — baseline reset zeros all h1-h3/p margins site-wide;
   restore literal per-source values by ID, mirroring the case-mgmt/skilled-nursing
   rhythm batch exactly. ----- */
.elementor-element-d702002,
.elementor-element-d802002,
.elementor-element-d902002,
.elementor-element-da02002,
.elementor-element-db02002 { margin: 0 0 20px 0 !important; }  /* .backLink */
.elementor-element-c702003,
.elementor-element-c802003,
.elementor-element-c902003,
.elementor-element-ca02003,
.elementor-element-cb02003 { margin: 0 0 20px 0 !important; }  /* .iconRow */
.elementor-element-d702007,
.elementor-element-d802007,
.elementor-element-d902007,
.elementor-element-da02007,
.elementor-element-db02007 { margin: 0 0 22px 0 !important; }  /* .heroTitle */

/* heroText paragraphs — 2-paragraph pages (227,229,230,231): p1=18, p2=0(last) */
.elementor-element-d702008,
.elementor-element-d902008,
.elementor-element-da02008,
.elementor-element-db02008 { margin: 0 0 18px 0 !important; }
.elementor-element-d702009,
.elementor-element-d902009,
.elementor-element-da02009,
.elementor-element-db02009 { margin: 0 !important; }
/* heroText paragraphs — 3-paragraph page (228 only): p1=18, p2=18, p3=0(last) */
.elementor-element-d802008,
.elementor-element-d802009 { margin: 0 0 18px 0 !important; }
.elementor-element-d802010 { margin: 0 !important; }

.elementor-element-c702010,
.elementor-element-c902010,
.elementor-element-ca02010,
.elementor-element-cb02010,
.elementor-element-c802011 { margin: 12px 0 0 0 !important; }  /* .heroActions */

.elementor-element-d703001,
.elementor-element-d803001,
.elementor-element-d903001,
.elementor-element-da03001,
.elementor-element-db03001 { margin: 0 0 16px 0 !important; }  /* .inclEyebrow */
.elementor-element-d703003,
.elementor-element-d803003,
.elementor-element-d903003,
.elementor-element-da03003,
.elementor-element-db03003 { margin: 28px 0 12px 0 !important; } /* .subheading */

/* bodyText paragraphs — 3-paragraph pages (227,228,230): p1=14,p2=14,p3=0(last) */
.elementor-element-d703004,
.elementor-element-d703005,
.elementor-element-d803004,
.elementor-element-d803005,
.elementor-element-da03004,
.elementor-element-da03005 { margin: 0 0 14px 0 !important; }
.elementor-element-d703006,
.elementor-element-d803006,
.elementor-element-da03006 { margin: 0 !important; }
/* bodyText paragraphs — 2-paragraph pages (229,231): p1=14,p2=0(last) */
.elementor-element-d903004,
.elementor-element-db03004 { margin: 0 0 14px 0 !important; }
.elementor-element-d903005,
.elementor-element-db03005 { margin: 0 !important; }

.elementor-element-d704002,
.elementor-element-d804002,
.elementor-element-d904002,
.elementor-element-da04002,
.elementor-element-db04002 { margin: 0 0 14px 0 !important; }  /* .ctaHeading */
.elementor-element-d704003,
.elementor-element-d804003,
.elementor-element-d904003,
.elementor-element-da04003,
.elementor-element-db04003 { margin: 0 0 30px 0 !important; }  /* .ctaText */

/* ----- New namespaced class needed by Claims Assistance (229) dot-list bold lead-ins
   Source: manifest batch2_stage1 spec, color var(--color-navy) = #00003c.
   Also reused by White Card benefits section (dd04044/dd04059/dd05018 strong tags). ----- */
.ahs-item-label { color: #00003c; }


/* =====================================================================
   B. CAREERS (232)
   Source: app/(site)/careers/page.module.css + page.tsx (inline styles)
   ===================================================================== */

/* ----- Hero — mirrors About's gate-approved photoWrap/heroOnPhoto/photoOverlay
   pattern (batch 5, post 214/c202006-08), same recipe, new IDs. Padding/overflow/
   radius/margin already native-correct on cc02001/cc02002 (verified via compiled
   post-232.css) — only position/z-index/gradient/typography needed. ----- */
.elementor-element-cc02001 { position: relative; } /* .photoWrap{position:relative} */
.elementor-element-cc02002 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
} /* .heroOnPhoto{position:absolute;top:0;left:0;right:0;z-index:2} */
.elementor-element-cc02006 {
  position: absolute;
  inset: 0;
  pointer-events: none;
} /* .photoOverlay — literal gradient stops from source */
.elementor-element-dc02004 .elementor-heading-title {
  color: #faf9f7 !important;
  font-size: clamp(24px, 3.2vw, 36px) !important;
  line-height: 1.22 !important;
} /* .heroTitle{color:cream;font-size:clamp(24px,3.2vw,36px);line-height:1.22} */
.elementor-element-dc02003 { margin-bottom: 10px !important; } /* .heroOnPhotoEyebrow (class default is 18px, this variant is 10px — same override pattern as About's d202001 */
.elementor-element-dc02007 { margin: 0 auto !important; } /* .heroText inline style marginTop:0;marginBottom:0 — font-size/color/max-width already native-correct */

@media (max-width: 700px) {
  .elementor-element-cc02002 { position: static; padding: 0 0 20px; }
  .elementor-element-dc02004 .elementor-heading-title { color: #00003c !important; }
  .elementor-element-cc02006 { display: none; }
} /* source's own <700px fallback, page.module.css lines 106-119 */

/* ----- Why work here cards — .cards{display:grid;grid-template-columns:repeat(3,1fr);
   gap:24px;margin-top:36px;align-items:stretch}. Native gap (24/24) + margin-top (36)
   already correct — grid conversion applied for exact column equality (source uses
   real CSS Grid, native was a 31.5%-width flex approximation). ----- */
.elementor-element-cc03003 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
}
.elementor-element-cc03003 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cc03003 { grid-template-columns: 1fr; }
}
/* card bg/border/radius/padding already native-correct (verified) — no CSS needed */

/* .cardRule{width:44px;height:3px;border-radius:2px;background:gold;margin-bottom:20px}
   Containers have no working native "height" control — same known bug, explicit box. */
.elementor-element-cc03005,
.elementor-element-cc03009,
.elementor-element-cc03013 {
  width: 44px !important;
  height: 3px !important;
  border-radius: 2px !important;
  background: #b8965a !important;
  margin-bottom: 20px !important;
  flex-shrink: 0;
}
.elementor-element-dc03006,
.elementor-element-dc03010,
.elementor-element-dc03014 { margin: 0 0 12px 0 !important; } /* .cardTitle (font-size 22 already native) */
.elementor-element-dc03007,
.elementor-element-dc03011,
.elementor-element-dc03015 { margin: 0 !important; } /* .cardText (explicit 0 in source) */
.elementor-element-dc03002 { margin-bottom: 12px !important; } /* "What it's like on our team" H2 — inline style marginBottom:12, page.tsx line 56 */

/* ----- Apply CTA panel — .ctaPanel{grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
   Native gap measured asymmetric (32/40) — disagrees with source's uniform 40px, override. ----- */
.elementor-element-cc04001 {
  display: grid !important;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 40px !important;
  align-items: center;
}
.elementor-element-cc04001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cc04001 { grid-template-columns: 1fr; }
}
.elementor-element-dc04003 .elementor-heading-title { font-size: 32px !important; }
.elementor-element-dc04004 { margin: 0 !important; } /* .ctaText (explicit 0 in source) */
/* .ctaActions gap:14px — native already correct (14/14 measured), no override needed */


/* =====================================================================
   C. WHITE CARD (233)
   Source: app/(site)/white-card/page.module.css + page.tsx (inline styles)
   Gaps measured from compiled post-233.css BEFORE writing overrides —
   most multi-column containers were ALREADY correct post-repair (52/52
   hero + introGrid, 20/20 illness+benefit cards, 6/44 homeHealthGrid,
   44/44 already-have-a-card + how-we-help panels, 16/16 detailLinkRow) —
   only the 3 detailGrid rows (24/44 vs source's uniform 44) disagreed.
   ===================================================================== */

/* ----- Overview hero — MOVED to the correct layer in remediation round 6 (see below);
   cd02000 is a BOXED top-level section (single child: .e-con-inner) per rule #2 —
   the grid belongs on .e-con-inner, not on cd02000 itself. ----- */
.elementor-element-dd02004 { margin: 0 0 32px 0 !important; } /* .heroIntro (font/color/size already native-correct) */
.elementor-element-dd02007 img { width: 100% !important; max-width: 360px !important; } /* .cardImg — native was fixed 360px, not responsive; cap via max-width */
.elementor-element-dd02008 { margin-top: 12px !important; } /* .cardImgCaption (text-align/font already native-correct) */

/* ----- Introduction — .introGrid{grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
   Gap already correct (52/52 measured) — grid conversion for exact ratio + so the
   <=860px .introImg{order:-1} works predictably. ----- */
.elementor-element-cd03001 {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 52px;
  align-items: start;
}
.elementor-element-cd03001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cd03001 { grid-template-columns: 1fr; }
  .elementor-element-dd03009 { order: -1; }
}
.elementor-element-dd03004,
.elementor-element-dd03005 { margin: 0 0 20px 0 !important; } /* .introText p1/p2 */
.elementor-element-dd03006 { margin: 0 !important; } /* .introText p3 — inline marginBottom:0 */
/* cd03007 .pullQuote (border-left/padding/margin 44/48) already native-correct — no action */
.elementor-element-dd03009 img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
} /* .introImg — FIX 1 (sighted-gate 2026-08-10): native image-widget Width control measured 45% at desktop (>=768px; source app/(site)/white-card/page.module.css line 102 .introImg{width:100%}), only correcting to 100% under the site's own <=767px breakpoint. Added width:100% !important to match source at all sizes; aspect-ratio/object-fit/radius unchanged, already correct. */
.elementor-element-dd03010 { margin-bottom: 12px !important; max-width: 900px; } /* .subheading (font-size 26 already native) */
.elementor-element-dd03011,
.elementor-element-dd03012 { margin: 0 0 16px 0 !important; max-width: 900px; } /* .subText (neither zeroed in source) */
.elementor-element-dd03013 { margin: 8px 0 14px 0 !important; } /* .occupationsLabel (font already native) */

/* .occupationsGrid/.occupationItem/.dot/.occupationText — new class, raw HTML in dd03014
   (<ul class="ahs-occ-list">). Literal values from page.module.css lines 146-185. */
.ahs-occ-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 24px;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (max-width: 860px) {
  .ahs-occ-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .ahs-occ-list { grid-template-columns: 1fr; }
}
.ahs-occ-list li {
  display: flex;
  gap: 10px;
  align-items: baseline;
  font-size: 15px;
  font-weight: 600;
  color: #5a5a66;
  list-style: none !important;
  margin: 0 !important;
}
.ahs-occ-list li::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b8965a;
  flex: none;
  position: relative;
  top: -1px;
}

/* .rule{width:56px;height:3px;background:gold;border-radius:2px;margin:10px auto 28px}
   Container missing-height bug (only width:56px native) + not centered (margin l/r:0,
   not auto) — same class of fix as the careers cardRule / batch-1 icon wells. */
.elementor-element-cd03015 {
  height: 3px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-element-dd03016 { margin: 0 auto 40px auto !important; max-width: 80ch; } /* .introFootnote (text-align/font already native) */

/* .jumpNav/.jumpLabel/.jumpChip/.jumpArrow — new class family, raw HTML in dd03017.
   Literal values from page.module.css lines 205-244. */
.ahs-jump-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.ahs-jump-label {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8496;
  font-weight: 800;
  margin-right: 4px;
  white-space: nowrap;
}
.ahs-jump-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #c3cdd8;
  color: #00003c;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  padding: 9px 16px;
  border-radius: 99px;
}
.ahs-jump-chip:hover {
  border-color: #b8965a;
  background: #fff;
  color: #00003c;
}
.ahs-jump-arrow { color: #b8965a; }

/* ----- Illnesses — .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
   (SAME class/values reused later for the Benefits section's Impairment/DME/Treatment
   row, cd05014 — grouped together below). Gap already correct (20/20 measured) —
   grid conversion for exact column equality. Two breakpoints per source: 860->2col,
   560->1col. ----- */
.elementor-element-cd04004,
.elementor-element-cd05014 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
}
.elementor-element-cd04004 > .elementor-element,
.elementor-element-cd05014 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cd04004,
  .elementor-element-cd05014 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .elementor-element-cd04004,
  .elementor-element-cd05014 { grid-template-columns: 1fr; }
}
/* illnessCard/benefitCard bg/border/radius/padding already native-correct — no action */

.elementor-element-dd04002 { margin-bottom: 14px !important; } /* "Illnesses That May Be..." H2, inline style */
.elementor-element-dd04003 { margin: 0 0 36px 0 !important; max-width: 74ch; } /* .illnessesIntro */
.elementor-element-dd04006,
.elementor-element-dd04011,
.elementor-element-dd04014 { margin: 0 0 12px 0 !important; } /* .illnessCardTitle (font-size 20 already native) */
.elementor-element-dd04007,
.elementor-element-dd04008 { margin: 0 0 12px 0 !important; } /* Cancer card — BOTH paragraphs get 12px, source does NOT zero the 2nd here */
.elementor-element-dd04012 { margin: 0 !important; } /* Respiratory card single paragraph — inline marginBottom:0 */
.elementor-element-dd04015 { margin: 0 !important; } /* Beryllium card single paragraph — inline marginBottom:0 */

/* .jumpToChip — new class, raw anchor in dd04009. Literal values page.module.css 292-310. */
.ahs-jump-to-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f2ebdd;
  border: 1px solid #e6d8bf;
  color: #00003c;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 9px 16px;
  border-radius: 99px;
  margin-top: 4px;
}
.ahs-jump-to-chip:hover {
  background: #b8965a;
  color: #00003c;
}

.elementor-element-dd04016 { margin-top: 56px !important; } /* eyebrow "Cancer . Part B . Part E" — inline marginTop:56 (class default bottom:12 kept) */
.elementor-element-dd04017 { margin-bottom: 14px !important; } /* "How the Program Could Apply to You" H2, inline style */
.elementor-element-dd04018 { max-width: 76ch !important; margin: 0 0 36px 0 !important; } /* .illnessesIntro reused w/ inline maxWidth:76ch override */

/* cd04019 .detailStack (gap:20px, margin-top:36) already native-correct — no action */

/* ----- Detail card grids (Cancer/Part B/Part E) — .detailGrid{grid-template-columns:
   290px 1fr;gap:44px;align-items:start}. Native gap measured asymmetric (24/44) —
   disagrees with source's uniform 44px, override. Also resolves the stage-1-flagged
   "icon column fixed 290px, text column no flex-grow" structural gap via the
   standard grid-conversion + neutralize-children recipe (SOP 4a). ----- */
.elementor-element-cd04021,
.elementor-element-cd04036,
.elementor-element-cd04048 {
  display: grid !important;
  grid-template-columns: 290px 1fr;
  gap: 44px !important;
  align-items: start;
}
.elementor-element-cd04021 > .elementor-element,
.elementor-element-cd04036 > .elementor-element,
.elementor-element-cd04048 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cd04021,
  .elementor-element-cd04036,
  .elementor-element-cd04048 { grid-template-columns: 1fr; }
}
/* Icon+eyebrow+title columns and text columns have no native gap set (fall back to the
   global 20px default) but rely on their children's own margins for spacing per source —
   zero the gap to avoid doubling it on top of those margins (same class of bug as the
   batch-1 Gravity Forms double-stack fix). */
.elementor-element-cd04022,
.elementor-element-cd04037,
.elementor-element-cd04049,
.elementor-element-cd04027,
.elementor-element-cd04042,
.elementor-element-cd04054 { gap: 0 !important; }

/* .detailIcon{width:52px;height:52px} — width already native, height missing (known bug) */
.elementor-element-cd04023,
.elementor-element-cd04038,
.elementor-element-cd04050 { height: 52px !important; }

/* .detailEyebrow{margin-top:18px} (font already native) */
.elementor-element-dd04025,
.elementor-element-dd04040,
.elementor-element-dd04052 { margin: 18px 0 0 0 !important; }
/* .detailTitle{margin:8px 0 0} (font-size 23 already native) */
.elementor-element-dd04026,
.elementor-element-dd04041,
.elementor-element-dd04053 { margin: 8px 0 0 0 !important; }

/* .detailText{margin:0 0 14px} — Cancer card (3 paragraphs, 3rd zeroed) */
.elementor-element-dd04028,
.elementor-element-dd04029 { margin: 0 0 14px 0 !important; }
.elementor-element-dd04030 { margin: 0 !important; }
/* Part B card (3 paragraphs, 3rd zeroed) */
.elementor-element-dd04043,
.elementor-element-dd04044 { margin: 0 0 14px 0 !important; }
.elementor-element-dd04045 { margin: 0 !important; }
/* Part E card (2 paragraphs before the benefits grid, both get 14px — no zero here) */
.elementor-element-dd04055,
.elementor-element-dd04056 { margin: 0 0 14px 0 !important; }
/* Part E card final paragraph after the benefits grid — inline marginBottom:0 */
.elementor-element-dd04059 { margin: 0 !important; }

/* cd04031 .detailLinkRow (gap:16px, margin-top:20) already native-correct — no action */
/* .ahs-detail-link-btn — new class, button widget dd04033. bg/color already native-correct
   (navy/cream); font-size/weight/padding missing. Literal values page.module.css 393-406. */
.ahs-detail-link-btn .elementor-button {
  font-size: 14.5px !important;
  font-weight: 800 !important;
  padding: 12px 20px !important;
}
.ahs-detail-link-btn:hover .elementor-button {
  background-color: #b8965a !important;
  color: #00003c !important;
  fill: #00003c !important;
}

/* .detailDivider{height:1px} — missing-height bug (only margin native) */
.elementor-element-cd04034,
.elementor-element-cd04046 { height: 1px !important; }

/* .benefitsMayInclude{margin:4px 0 12px} (font already native) */
.elementor-element-dd04057 { margin: 4px 0 12px 0 !important; }

/* .benefitsMayIncludeGrid/.benefitsMayIncludeItem/.smallDot/.smallDotText — new class,
   raw HTML in dd04058 (<ul class="ahs-benefits-grid">). Literal values page.module.css
   417-447. */
.ahs-benefits-grid {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 8px 30px;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (max-width: 560px) {
  .ahs-benefits-grid { grid-template-columns: 1fr; }
}
.ahs-benefits-grid li {
  display: flex;
  gap: 10px;
  align-items: baseline;
  font-size: 15px;
  color: #42424f;
  list-style: none !important;
  margin: 0 !important;
}
.ahs-benefits-grid li::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b8965a;
  flex: none;
}

/* ----- Benefits section ----- */
.elementor-element-dd05003 { margin: 0 0 40px 0 !important; max-width: 66ch; } /* .benefitsIntro */
/* cd05004 .homeHealthCard (border/radius/padding/margin-bottom:20/bg) already native-correct */
.elementor-element-dd05005 { margin-bottom: 16px !important; } /* .homeHealthTitle (font-size 22 already native) */

/* .homeHealthGrid{grid-template-columns:1fr 1fr;gap:6px 44px} — gap already correct
   (6/44 measured, matches source's own intentional asymmetric gap exactly) — grid
   conversion only. */
.elementor-element-cd05006 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
}
.elementor-element-cd05006 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cd05006 { grid-template-columns: 1fr; }
}
.elementor-element-dd05008 { margin: 0 0 12px 0 !important; } /* .homeHealthText p1 (left col) */
.elementor-element-dd05009 { margin: 0 !important; } /* .homeHealthText p2 (left col, last) — inline marginBottom:0 */
.elementor-element-dd05011,
.elementor-element-dd05012 { margin: 0 0 12px 0 !important; } /* .homeHealthText p1/p2 (right col, neither zeroed) */
.elementor-element-dd05013 a {
  color: #00003c !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
} /* .homeHealthLink — plain <a> with no class in source content; scoped by element ID (font/weight already native) */

.elementor-element-dd05016,
.elementor-element-dd05020,
.elementor-element-dd05024 { margin: 0 0 12px 0 !important; } /* .benefitCardTitle (font-size 21 already native) */
.elementor-element-dd05017,
.elementor-element-dd05021,
.elementor-element-dd05025 { margin: 0 0 12px 0 !important; } /* .benefitCardText p1 (each card) */
.elementor-element-dd05018,
.elementor-element-dd05022,
.elementor-element-dd05026 { margin: 0 !important; } /* .benefitCardText p2 (each card, last) — inline marginBottom:0 */

/* .familyCaregiverCard{max-width:640px;margin:24px auto 0} — native width is fixed
   640px (not responsive) and not horizontally centered (margin l/r:0, not auto) */
.elementor-element-cd05027 {
  width: 100% !important;
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-element-dd05029,
.elementor-element-dd05030 { margin: 0 0 12px 0 !important; } /* .familyCaregiverText (neither zeroed in source) */
.elementor-element-dd05031 a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
} /* .familyCaregiverLink — plain <a> with no class in source content; color/font already native */
.elementor-element-dd05031 a:hover { color: #fff !important; }

/* ----- Already Have a White Card? panel — .panel{grid-template-columns:1fr 1fr;gap:44px;
   align-items:center}. Gap already correct (44/44 measured) — grid conversion only. ----- */
.elementor-element-cd06001,
.elementor-element-cd07001 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.elementor-element-cd06001 > .elementor-element,
.elementor-element-cd07001 > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cd06001,
  .elementor-element-cd07001 { grid-template-columns: 1fr; }
}
.elementor-element-dd06004,
.elementor-element-dd07004 { margin: 0 0 18px 0 !important; } /* .panelHeading (font-size 30 already native) */
.elementor-element-dd06005,
.elementor-element-dd06006 { margin: 0 0 14px 0 !important; } /* .panelText (left col, neither zeroed) */
.elementor-element-dd06007 { margin: 0 !important; } /* .panelText (left col, last) — inline marginBottom:0 */
.elementor-element-dd06009,
.elementor-element-dd06010 { margin: 0 0 14px 0 !important; } /* .panelText (right col, neither zeroed) */

/* ----- How We Help panel ----- */
.elementor-element-dd07005 { margin: 0 0 26px 0 !important; } /* .panelText — inline marginBottom:26 override (page.tsx line 496), NOT the class default 14px */
/* cd07007 .panelChecklist / dd07008 ul.ahs-panel-checklist — literal values already
   extracted by stage 1 (manifest batch2_stage1): flex column gap:13px; li font-size
   15.5px weight:700 color navy; li::before gold 9px dot. */
.ahs-panel-checklist {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.ahs-panel-checklist li {
  display: flex;
  gap: 12px;
  align-items: baseline;
  font-size: 15.5px;
  font-weight: 700;
  color: #00003c;
  list-style: none !important;
  margin: 0 !important;
}
.ahs-panel-checklist li::before {
  content: '';
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #b8965a;
  flex: none;
  position: relative;
  top: -1px;
}

/* ----- Eligibility Questionnaire CTA ----- */
.elementor-element-dd08003 { margin: 0 auto 14px auto !important; max-width: 62ch; } /* .ctaBandIntro (color already native) */
.elementor-element-dd08004 { margin: 0 0 18px 0 !important; } /* .ctaBandHeading (font-size/color already native) */
.elementor-element-dd08005 { margin: 0 auto 32px auto !important; max-width: 58ch; } /* .ctaBandText (color already native) */



/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION PASS 1 (batch-2 web-visual-qa defects
   D0-D10, run_date 2026-08-09). All values traced to literal source or
   directly-measured live compiled CSS as noted per rule.
   ===================================================================== */


/* ----- D1: invisible navy-on-navy link (dd05031, White Card) -----
   Root cause (rule 3.5, 4th recurrence this project): the kit's own
   global link rule (.elementor-kit-6 a{color:#00003c}) is a DIRECT match
   on the rendered <a> tag and beats the INHERITED gold color from the
   wrapper's native text_color setting. My original fix only added
   layout properties (display/gap) to this .elementor-kit-6 and wrongly trusted
   the wrapper's compiled color as "already correct" without checking
   what a direct kit rule does to a descendant link. Source:
   .familyCaregiverLink{color:var(--color-gold)} = #b8965a. */
.elementor-element-dd05031 a {
  color: #b8965a !important;
}
/* dd05013 verified alongside — .homeHealthLink{color:var(--color-navy)}
   already explicitly set to #00003c on this exact .elementor-kit-6 in the prior
   batch-2 save; navy also happens to match the kit's own global link
   color so it was correct by construction. No change needed. */

/* ----- D2: eyebrow line-height collapses to 1.0 ratio sitewide -----
   Source root cause: app/globals.css body{line-height:1.7} (unitless) is
   inherited by every eyebrow instance in the coded source, since no
   eyebrow class declares its own line-height — 14x1.7=23.8, 13x1.7=22.1,
   12x1.7=20.4, exactly matching web-visual-qa's measured deltas. The
   existing .ahs-eyebrow / .ahs-eyebrow-hero rules (gate round 6, batch 1)
   hardcoded line-height:1 on the correct target (.elementor-heading-title,
   direct-beats-inherited per rule 3.5) but never matched the source's
   inherited ratio. Fixing the shared class rules corrects every batch-1
   AND batch-2 eyebrow using these two classes in one place. */
.ahs-eyebrow .elementor-heading-title {
  line-height: 1.7 !important;
}
.ahs-eyebrow-hero .elementor-heading-title {
  line-height: 1.7 !important;
}
/* No-class eyebrow instances (service-detail hero eyebrow "Our Services"
   and section eyebrow "Our X Services Include") render as a plain
   <div class="elementor-heading-title"> with no ahs- class at all, so
   the two class-level rules above don't reach them — same line-height
   defect, same body{line-height:1.7} source cause, needs its own
   ID-scoped rule. Extending to the batch-1 case-management (216) /
   skilled-nursing (217) equivalents too, since they use the identical
   shared template and the identical no-class pattern (confirmed by
   direct inspection of their stored _elementor_data — neither has a
   margin-bottom rule that would've been redundant to a working
   line-height fix, so this is a genuine, previously-unaddressed gap
   there as well, not just a batch-2 regression). */
.elementor-element-d702006 .elementor-heading-title,
.elementor-element-d802006 .elementor-heading-title,
.elementor-element-d902006 .elementor-heading-title,
.elementor-element-da02006 .elementor-heading-title,
.elementor-element-db02006 .elementor-heading-title,
.elementor-element-d402006 .elementor-heading-title,
.elementor-element-d502006 .elementor-heading-title,
.elementor-element-d703001 .elementor-heading-title,
.elementor-element-d803001 .elementor-heading-title,
.elementor-element-d903001 .elementor-heading-title,
.elementor-element-da03001 .elementor-heading-title,
.elementor-element-db03001 .elementor-heading-title,
.elementor-element-d403001 .elementor-heading-title,
.elementor-element-d503001 .elementor-heading-title {
  line-height: 1.7 !important;
}

/* ----- D3: service-detail boxed sections render 1265px instead of the
   source's capped 1180px -----
   Source: .hero/.body/.ctaWrap{max-width:1180px;margin:0 auto} (services/
   [slug]/page.module.css). These are boxed top-level sections (rule #2)
   so the fix targets the .e-con-inner layer, additively alongside the
   existing grid-conversion rules on the hero IDs (CSS permits multiple
   rule blocks on the same .elementor-kit-6; max-width/margin were never declared
   there before, so this only adds properties, it does not conflict).
   Confirmed also present on the two already-approved batch-1 pages
   (case-management 216, skilled-nursing 217) since they share the exact
   same template — fixed once, applied to both batches per the
   coordinator's instruction. */
.elementor-element-c702000 > .e-con-inner,
.elementor-element-c703000 > .e-con-inner,
.elementor-element-c704000 > .e-con-inner,
.elementor-element-c802000 > .e-con-inner,
.elementor-element-c803000 > .e-con-inner,
.elementor-element-c804000 > .e-con-inner,
.elementor-element-c902000 > .e-con-inner,
.elementor-element-c903000 > .e-con-inner,
.elementor-element-c904000 > .e-con-inner,
.elementor-element-ca02000 > .e-con-inner,
.elementor-element-ca03000 > .e-con-inner,
.elementor-element-ca04000 > .e-con-inner,
.elementor-element-cb02000 > .e-con-inner,
.elementor-element-cb03000 > .e-con-inner,
.elementor-element-cb04000 > .e-con-inner,
.elementor-element-c402000 > .e-con-inner,
.elementor-element-c403000 > .e-con-inner,
.elementor-element-c404000 > .e-con-inner,
.elementor-element-c502000 > .e-con-inner,
.elementor-element-c503000 > .e-con-inner,
.elementor-element-c504000 > .e-con-inner {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ----- D4: Careers hero gradient/position chain absent at desktop -----
   Root cause: this is the EXACT same recipe already built (and gate-
   approved) for About's hero, which needed a follow-up !important
   reinforcement pass (batch 6 in this file) because the first,
   non-!important version had a cascade edge case that couldn't be seen
   blind. Careers copied only the FIRST (unreinforced) version. Applying
   the same reinforcement here, mirroring About's working fix exactly. */
.elementor-element-cc02001 { position: relative !important; }
.elementor-element-cc02002 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 2 !important;
}
.elementor-element-cc02006 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
@media (max-width: 700px) {
  .elementor-element-cc02002 {
    position: static !important;
    padding: 0 0 20px !important;
  }
  .elementor-element-cc02006 {
    display: none !important;
  }
}
/* dc02004 (H1 color/size/line-height on-photo vs <700px fallback) already
   uses !important from the original batch-2 save and was not flagged as
   broken by web-visual-qa (only the <700px fallback was explicitly
   confirmed correct) — left untouched. */

/* ----- D5: service-detail H1 renders at the kit's default 44px instead
   of the source's 40px -----
   Source: .heroTitle{font-size:40px;line-height:1.18} (services/[slug]/
   page.module.css). line-height:1.18 (unitless) exactly matches the
   kit's own global h1{line-height:1.18em} ratio, so fixing font-size
   alone produces the correct 47.2px line-height automatically — no
   separate line-height rule needed. No element-scoped rule existed for
   these IDs at all (confirmed absent from post-*.css), so it fell back
   to the kit/theme default. Extending to the batch-1 case-management
   (216) / skilled-nursing (217) equivalents, which share the identical
   .heroTitle class and were confirmed to have the same gap (only a
   margin rule existed for these two IDs, no font-size rule). */
.elementor-element-d702007 .elementor-heading-title,
.elementor-element-d802007 .elementor-heading-title,
.elementor-element-d902007 .elementor-heading-title,
.elementor-element-da02007 .elementor-heading-title,
.elementor-element-db02007 .elementor-heading-title,
.elementor-element-d402007 .elementor-heading-title,
.elementor-element-d502007 .elementor-heading-title {
  font-size: 40px !important;
}

/* ----- D6 CORRECTED 2026-08-10 (sighted-gate Fix 2 reopened) -----
   The original D6 fix above was a FALSE DEFECT. Careers cc02000 is a boxed
   top-level section (.e-con.e-con-boxed); Elementor's actual box-model
   padding for a boxed container is applied one layer down, at
   `.e-con > .e-con-inner` (elementor/assets/css/frontend.min.css:
   `.e-con{--padding-block-start:var(--padding-top)}` combined with
   `.e-con>.e-con-inner{padding-block-start:var(--padding-block-start)}`).
   The native --padding-top:32px/--padding-bottom:56px custom properties
   already declared on cc02000 inherit down through the DOM to .e-con-inner
   and were ALREADY being correctly consumed there — identical mechanism to
   About's c202000, which carries no override at all and renders correctly.
   A measurement of cc02000's own computed padding-top read 0 (true — no
   box-model padding is ever applied to the outer .e-con box itself, only
   the custom-property declaration), which was misdiagnosed as a missing-
   padding defect. The D6 fix then added a literal padding-top/padding-
   bottom directly onto cc02000's own box — a second, real padding source
   stacking additively in front of the .e-con-inner padding already there:
   32px (cc02000, added) + 32px (.e-con-inner, native) = 64px measured
   above the photo, vs About's single 32px. Rule removed below; the native
   inner padding is the sole, correct source, matching source
   .hero{padding:32px var(--section-px) 56px} (careers/page.module.css
   line 25) and mirroring About exactly. Third confirmed variant of the
   wrapper-vs-inner double-application trap (rule #3.5 /
   sfd-spacing-standard.md §5.4) — this time on SECTION PADDING rather
   than margin. ----- */

/* ----- D7: Careers apply-panel CTA text gap oversized (+20px) -----
   Root cause: cc04002 (the text column inside the CTA panel) has no
   explicit native gap setting, so it falls back to Elementor's global
   20px default gap — the exact "always-there default" trap, stacking on
   top of the H2's own margin-bottom (12px, see D8) to produce the
   measured ~32px. Source has no gap on this flex column at all; the
   heading's own margin-bottom is the ONLY spacing mechanism. Same root-
   cause class as the documented Gravity Forms gap-on-margin stacking
   bug from batch 1 — fixed the same way, by zeroing the gap rather than
   fighting it. */
.elementor-element-cc04002 {
  gap: 0 !important;
}

/* ----- D8: Careers H2/H3 headings measure margin-bottom:0 despite an
   existing wrapper-level override -----
   Root cause, confirmed by direct inspection of the rendered HTML: these
   headings render as bare <h2>/<h3> tags, and this file's own Layer-1
   baseline reset ([data-elementor-type="wp-page"] h1,h2,h3{margin:0})
   zeros the INNER tag's margin directly — a direct match beats the
   inherited/wrapper-level value (rule 3.5), so a margin declared only on
   the WRAPPER div (.elementor-element-{id}) never reaches the rendered
   heading. The existing wrapper rules are neutralized below (set to 0,
   later in source order so they safely win over the old non-zero value)
   and the correct margin is re-declared directly on .elementor-heading-
   title instead, matching rule 3.5's own guidance. Source: 12px on
   why.h2, why.cardTitle (H3, all three cards despite web-visual-qa
   sampling only the first as representative), apply.h2. */
.elementor-element-dc03002,
.elementor-element-dc03006,
.elementor-element-dc03010,
.elementor-element-dc03014,
.elementor-element-dc04003 {
  margin-bottom: 0 !important;
}
.elementor-element-dc03002 .elementor-heading-title,
.elementor-element-dc03006 .elementor-heading-title,
.elementor-element-dc03010 .elementor-heading-title,
.elementor-element-dc03014 .elementor-heading-title,
.elementor-element-dc04003 .elementor-heading-title {
  margin-bottom: 12px !important;
}

/* ----- D9: Careers/White Card eyebrow margin-bottom measures 0 -----
   Same root cause as D8: these eyebrows render as
   <div class="elementor-heading-title"> (confirmed by direct inspection
   of rendered HTML) — a bare div has no inherent margin, and a margin
   declared only on the WRAPPER never reaches the measured inner element.
   Re-declaring directly on .elementor-heading-title and neutralizing the
   old wrapper-level values so nothing stacks. Scoped to Careers + White
   Card only per web-visual-qa's explicit note that the 5 service-detail
   pages' hero eyebrow correctly uses 0 in the source itself (not
   touched here). Source: .heroOnPhotoEyebrow{margin-bottom:10px}
   (careers hero eyebrow); .eyebrow{margin-bottom:12px} (careers section
   eyebrow + White Card's shared eyebrow class, both already ahs-eyebrow
   in this build). */
.elementor-element-dc02003 {
  margin-bottom: 0 !important;
}
.elementor-element-dc02003 .elementor-heading-title {
  margin-bottom: 10px !important;
}
.ahs-eyebrow {
  margin-bottom: 0 !important;
}
.ahs-eyebrow .elementor-heading-title {
  margin-bottom: 12px !important;
}
/* dc03001 (careers) and dd02002/dd03003/dd04001/dd05001 (white card) all
   use the .ahs-eyebrow class and are fixed by the two rules immediately
   above — no separate per-ID rule needed. This also correctly extends
   the fix to every OTHER page using .ahs-eyebrow (batch 1 included),
   with no visual regression risk: the class-level wrapper margin was
   either already producing the same 12px result via a different
   mechanism (in which case this is a no-op swap) or was silently
   contributing nothing (in which case this is the first time it
   actually renders correctly) — either way the end result is the
   correct, single 12px value with no possibility of doubling, since the
   old wrapper source is explicitly zeroed above. */

/* ----- D10: Careers hero photo object-fit/aspect-ratio not explicit -----
   Source: .photo{display:block;width:100%;aspect-ratio:12/5;object-fit:
   cover}. Currently non-distorting only by coincidence of the optimized
   file's own 1500x630 dimensions already being close to 12:5 — fragile
   to any future container-width change. Manifest-deferred stage-2 item,
   built now. */
.elementor-element-dc02005 img {
  width: 100% !important;
  aspect-ratio: 12 / 5;
  object-fit: cover;
  display: block;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION ROUND 3
   A) D4 gradient lazy-load fix (pseudo-element route)
   B) D3 max-width moved to the correct (outer) container layer
   C) Full sweep of the wrapper-vs-inner-tag margin trap across all
      9 pages (7 batch-2 + case-management 216 + skilled-nursing 217)
   ===================================================================== */

/* =====================================================================
   A. D4 — hero gradient overlay suppressed by Elementor's own background
   lazy-load inline stylesheet:
     @media screen and (max-height:1024px){ .e-con.e-parent:nth-of-type(n+3)
       :not(.e-lazyloaded):not(.e-no-lazyload){background-image:none!important} }
     @media screen and (max-height:640px){ .e-con.e-parent:nth-of-type(n+2)
       :not(.e-lazyloaded):not(.e-no-lazyload){background-image:none!important} }
   Specificity ~0-5-0 with !important beats a plain 0-1-0 !important rule on
   the element itself, and the element never gets .e-lazyloaded because that
   class is only added by Elementor's own JS for backgrounds set via its
   native background control, not custom CSS. Fix: move the gradient onto a
   ::before pseudo-element — the lazy-load .elementor-kit-6 targets the .e-con
   element itself, not its ::before, so it cannot reach it. This affects
   BOTH Careers (cc02006, discovered by web-visual-qa) and About (c202008,
   built with the identical recipe in batch 1, gate-approved without this
   ever having actually rendered). Literal gradient re-verified against
   both source files (app/(site)/careers/page.module.css line 39-50 and
   app/(site)/about/page.module.css line 58-69) — byte-identical in both,
   angle included: linear-gradient(180deg, rgba(0,0,60,.82) 0%,
   rgba(0,0,60,.52) 24%, rgba(0,0,60,.12) 42%, rgba(0,0,60,0) 56%).
   Route used: (1) pseudo-element, for both. ----- */
.elementor-element-cc02006::before,
.elementor-element-c202008::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 60, 0.82) 0%, rgba(0, 0, 60, 0.52) 24%, rgba(0, 0, 60, 0.12) 42%, rgba(0, 0, 60, 0) 56%);
}
/* The element itself keeps its own position/inset/z-index/pointer-events
   (already correct from prior rounds) so the ::before has a positioned
   containing block and paints at the same box. The element's own
   background-image property (still present from earlier rounds, now
   confirmed permanently suppressed by the lazy-load rule) is left in
   place — inert, harmless, not worth an edit to remove. */
@media (max-width: 700px) {
  .elementor-element-cc02006::before { display: none; }
}
/* About's own <700px fallback already sets display:none on c202008 itself
   (batch 5); a hidden element's ::before does not render regardless, so no
   separate mobile rule is needed there. */


/* =====================================================================
   B. D3 — max-width:1180px had zero measured effect because it was set on
   .e-con-inner while the OUTER .e-con already carries 60px of native side
   padding (clamp(24px,5vw,60px), matching the service-detail template's
   own .hero/.body/.ctaWrap padding) — only ~1145px of space ever reached
   the inner element, below the 1180px cap, so it never engaged.
   Source truth: .hero/.body/.ctaWrap are each a SINGLE box with
   max-width:1180px, margin:0 auto, AND the clamp() padding all on that
   same box (padding sits INSIDE the 1180px-capped box). Moving the cap to
   the OUTER container (which already correctly carries that same padding)
   replicates this single-box model exactly. Verified downstream math at
   1280px viewport: outer 1180 - 2*60 padding = 1060px inner content width;
   ahs-dot-list 2-col grid (gap:40px column) => (1060-40)/2 = 510px per
   column, matching web-visual-qa's target exactly; hero grid (1.05fr
   0.95fr, gap:56px) => (1060-56)*0.95/2 = 476.9px for the 0.95fr photo
   column, matching web-visual-qa's 476.89px target exactly. ----- */
.elementor-element-c702000,
.elementor-element-c703000,
.elementor-element-c704000,
.elementor-element-c802000,
.elementor-element-c803000,
.elementor-element-c804000,
.elementor-element-c902000,
.elementor-element-c903000,
.elementor-element-c904000,
.elementor-element-ca02000,
.elementor-element-ca03000,
.elementor-element-ca04000,
.elementor-element-cb02000,
.elementor-element-cb03000,
.elementor-element-cb04000,
.elementor-element-c402000,
.elementor-element-c403000,
.elementor-element-c404000,
.elementor-element-c502000,
.elementor-element-c503000,
.elementor-element-c504000 {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
/* The previous (ineffective) .e-con-inner rules from the prior round are
   left in place — harmless now that the real constraint sits one layer
   up; the inner element's own max-width:1180 is simply never the binding
   constraint anymore (its parent is already narrower). */


/* =====================================================================
   C. Systemic margin-trap sweep — full audit of every heading/eyebrow
   widget across all 9 pages (7 batch-2 + case-management 216 +
   skilled-nursing 217), cross-referencing rendered tag (bare h1-h6 vs a
   .elementor-heading-title div) against every existing wrapper-level
   margin rule. Confirmed mechanism (same as remediation round 1's D8/D9):
   a margin declared only on the WRAPPER div (.elementor-element-{id})
   never reaches the rendered heading tag/div queried by measurement,
   because either the site's Layer-1 baseline reset zeros bare h1/h2/h3
   directly, or a bare content div simply has no inherited margin of its
   own. Fixed globally: zero every implicated wrapper, declare the real
   literal value on .elementor-heading-title instead. 50 element IDs
   found needing this across the two templates.
   ===================================================================== */

/* ---------- Zero every wrapper margin found to be non-functional ---------- */
.elementor-element-d402007, .elementor-element-d502007,
.elementor-element-d702007, .elementor-element-d802007, .elementor-element-d902007,
.elementor-element-da02007, .elementor-element-db02007,
.elementor-element-d403001, .elementor-element-d503001,
.elementor-element-d703001, .elementor-element-d803001, .elementor-element-d903001,
.elementor-element-da03001, .elementor-element-db03001,
.elementor-element-d403003, .elementor-element-d503003,
.elementor-element-d703003, .elementor-element-d803003, .elementor-element-d903003,
.elementor-element-da03003, .elementor-element-db03003,
.elementor-element-d404002, .elementor-element-d504002,
.elementor-element-d704002, .elementor-element-d804002, .elementor-element-d904002,
.elementor-element-da04002, .elementor-element-db04002,
.elementor-element-dd03010, .elementor-element-dd03013, .elementor-element-dd04002,
.elementor-element-dd04006, .elementor-element-dd04011, .elementor-element-dd04014,
.elementor-element-dd04016, .elementor-element-dd04017,
.elementor-element-dd04025, .elementor-element-dd04026,
.elementor-element-dd04040, .elementor-element-dd04041,
.elementor-element-dd04052, .elementor-element-dd04053,
.elementor-element-dd04057, .elementor-element-dd05005,
.elementor-element-dd05016, .elementor-element-dd05020, .elementor-element-dd05024,
.elementor-element-dd06004, .elementor-element-dd07004, .elementor-element-dd08004 {
  margin: 0 !important;
}

/* ---------- Service-detail template (216, 217, 227-231) — 4 patterns ---------- */
/* .heroTitle{margin:0 0 22px} — H1, extends the existing font-size:40px
   inner-tag rule from remediation round 1 with the correct margin too */
.elementor-element-d402007 .elementor-heading-title,
.elementor-element-d502007 .elementor-heading-title,
.elementor-element-d702007 .elementor-heading-title,
.elementor-element-d802007 .elementor-heading-title,
.elementor-element-d902007 .elementor-heading-title,
.elementor-element-da02007 .elementor-heading-title,
.elementor-element-db02007 .elementor-heading-title {
  margin-bottom: 22px !important;
}
/* .inclEyebrow{margin:0 0 16px} — plain div, no ahs- class */
.elementor-element-d403001 .elementor-heading-title,
.elementor-element-d503001 .elementor-heading-title,
.elementor-element-d703001 .elementor-heading-title,
.elementor-element-d803001 .elementor-heading-title,
.elementor-element-d903001 .elementor-heading-title,
.elementor-element-da03001 .elementor-heading-title,
.elementor-element-db03001 .elementor-heading-title {
  margin-bottom: 16px !important;
}
/* .subheading{font-size:22px;margin:28px 0 12px} — H3 */
.elementor-element-d403003 .elementor-heading-title,
.elementor-element-d503003 .elementor-heading-title,
.elementor-element-d703003 .elementor-heading-title,
.elementor-element-d803003 .elementor-heading-title,
.elementor-element-d903003 .elementor-heading-title,
.elementor-element-da03003 .elementor-heading-title,
.elementor-element-db03003 .elementor-heading-title {
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}
/* .ctaHeading{color:#fff;font-size:30px;margin:0 0 14px} — H2 */
.elementor-element-d404002 .elementor-heading-title,
.elementor-element-d504002 .elementor-heading-title,
.elementor-element-d704002 .elementor-heading-title,
.elementor-element-d804002 .elementor-heading-title,
.elementor-element-d904002 .elementor-heading-title,
.elementor-element-da04002 .elementor-heading-title,
.elementor-element-db04002 .elementor-heading-title {
  margin-bottom: 14px !important;
}

/* ---------- White Card (233) — individual + grouped, literal per class ---------- */
/* .subheading{font-size:26px;margin-bottom:12px} — H2 "Did You Work at Hanford?" */
.elementor-element-dd03010 .elementor-heading-title {
  margin-bottom: 12px !important;
}
/* .occupationsLabel{font-size:14px;margin:8px 0 14px} — div; no explicit
   line-height in source so it inherits body{line-height:1.7} = 14*1.7=23.8px */
.elementor-element-dd03013 .elementor-heading-title {
  line-height: 1.7 !important;
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}
/* H2 "Illnesses That May Be..." — inline style marginBottom:14 */
.elementor-element-dd04002 .elementor-heading-title {
  margin-bottom: 14px !important;
}
/* .illnessCardTitle{font-size:20px;margin:0 0 12px} — H3 x3 */
.elementor-element-dd04006 .elementor-heading-title,
.elementor-element-dd04011 .elementor-heading-title,
.elementor-element-dd04014 .elementor-heading-title {
  margin-bottom: 12px !important;
}
/* eyebrow "Cancer . Part B . Part E" — inline marginTop:56, additional to
   the .ahs-eyebrow class's own inner-tag margin-bottom:12 (round 1) which
   still applies independently since it's a different property */
.elementor-element-dd04016 .elementor-heading-title {
  margin-top: 56px !important;
}
/* H2 "How the Program Could Apply to You" — inline style marginBottom:14 */
.elementor-element-dd04017 .elementor-heading-title {
  margin-bottom: 14px !important;
}
/* .detailEyebrow{font-size:13px;margin-top:18px} — div x3; no explicit
   line-height in source so it inherits body{line-height:1.7} = 13*1.7=22.1px */
.elementor-element-dd04025 .elementor-heading-title,
.elementor-element-dd04040 .elementor-heading-title,
.elementor-element-dd04052 .elementor-heading-title {
  line-height: 1.7 !important;
  margin-top: 18px !important;
}
/* .detailTitle{font-size:23px;line-height:1.25;margin:8px 0 0} — H3 x3;
   source explicitly overrides the kit's default h3 ratio (1.3) to 1.25 */
.elementor-element-dd04026 .elementor-heading-title,
.elementor-element-dd04041 .elementor-heading-title,
.elementor-element-dd04053 .elementor-heading-title {
  line-height: 1.25 !important;
  margin-top: 8px !important;
}
/* .benefitsMayInclude{font-size:13px;margin:4px 0 12px} — div; no explicit
   line-height so it inherits body{line-height:1.7} = 13*1.7=22.1px */
.elementor-element-dd04057 .elementor-heading-title {
  line-height: 1.7 !important;
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}
/* H2 "What Your White Card May Cover" — .ctaHeading-equivalent inline
   context; no rule was ever written for this ID before this round.
   Source: plain <h2 style={{marginBottom:'14px'}}> per page.tsx line 350 */
.elementor-element-dd05002 .elementor-heading-title {
  margin-bottom: 14px !important;
}
/* .homeHealthTitle{font-size:22px;margin:0 0 16px} — H3 */
.elementor-element-dd05005 .elementor-heading-title {
  margin-bottom: 16px !important;
}
/* .benefitCardTitle{font-size:21px;margin:0 0 12px} — H3 x3 */
.elementor-element-dd05016 .elementor-heading-title,
.elementor-element-dd05020 .elementor-heading-title,
.elementor-element-dd05024 .elementor-heading-title {
  margin-bottom: 12px !important;
}
/* .panelHeading{font-size:30px;line-height:1.3;margin:0 0 18px} — H2 x2;
   source explicitly overrides the kit's default h2 ratio (1.25) to 1.3 */
.elementor-element-dd06004 .elementor-heading-title,
.elementor-element-dd07004 .elementor-heading-title {
  line-height: 1.3 !important;
  margin-bottom: 18px !important;
}
/* .ctaBandHeading{font-size:33px;margin:0 0 18px;color:#fff} — H2; no
   line-height override in source, kit's default h2 ratio (1.25) already
   matches, margin only */
.elementor-element-dd08004 .elementor-heading-title {
  margin-bottom: 18px !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION ROUND 4
   Item 1: dd04057 (White Card) miscategorized fix — font-size also missing
   Item 2: paragraph/heading spacing double-stack — full sweep, gap:0 on
   every affected parent, literal margins left untouched (not zeroed)
   ===================================================================== */

/* ----- Item 1: dd04057 "Benefits may include" — .benefitsMayInclude
   Source (white-card/page.module.css line 408-415, re-read verbatim):
     font-size: 13px; font-weight: 800; letter-spacing: 0.06em;
     text-transform: uppercase; color: var(--color-gold);
     margin: 4px 0 12px;
   Round 3 set line-height (from the 1.7 body-inherited ratio) and margin
   but never set font-size, so it was still rendering at the kit's unset
   default (17px) — the 1.7 ratio was therefore being applied to the WRONG
   base. Adding font-size here; line-height:1.7 x 13px = 22.1px is now
   correct off the right base. ----- */
.elementor-element-dd04057 .elementor-heading-title {
  font-size: 13px !important;
}

/* =====================================================================
   Item 2 — gap-double-stack sweep.
   Root cause (per coordinator, confirmed against Elementor's own base
   frontend CSS): .e-con sets --gap/--row-gap/--column-gap with a
   hardcoded 20px fallback (var(--widgets-spacing,20px) etc.) that applies
   UNCONDITIONALLY via `.e-con-full,.elementor-widget{gap:var(--row-gap)
   var(--column-gap)}` whenever a container has no per-element override —
   which is every container the gap-key repair never touched because it
   never had a gap key to repair. Flex-item margins do not collapse with
   this gap; they add. Source for every container below is a plain block
   div with zero gap, spacing entirely by each child's own margin — so the
   fix is gap:0 on the parent, with the already-verified literal margins
   left exactly as they are.
   Route used: CSS gap:0 !important on the parent container IDs (not a
   native flex_gap _elementor_data edit) — chosen for lower risk at this
   scale (45 containers across 9 posts in one save) and consistency with
   the already-proven pattern from the White Card detail-card fix in
   round 1 (cd04022/27/37/42/49/54, and Careers' cc04002 in round 1's D7).
   Layer per rule #2: boxed top-level sections target > .e-con-inner
   (where Elementor's own base CSS actually resolves the gap for boxed
   containers, confirmed via .e-con-boxed{gap:initial} deferring to
   .e-con > .e-con-inner{gap:var(--row-gap) var(--column-gap)}); nested
   containers target the element directly. cd04022/27/37/42/49/54 and
   cc04002 are already fixed (round 1) and are not repeated here.
   ===================================================================== */

/* ---------- Service-detail template (216, 217, 227-231) ---------- */
/* NESTED — hero left column (back-link/icon-row/H1/intro paragraphs/CTA row) */
.elementor-element-c402001, .elementor-element-c502001,
.elementor-element-c702001, .elementor-element-c802001, .elementor-element-c902001,
.elementor-element-ca02001, .elementor-element-cb02001,
/* NESTED — cta-panel text column (H2 + paragraph) */
.elementor-element-c404001, .elementor-element-c504001,
.elementor-element-c704001, .elementor-element-c804001, .elementor-element-c904001,
.elementor-element-ca04001, .elementor-element-cb04001 {
  gap: 0 !important;
}
/* BOXED — whats-included section root (eyebrow/list/H3/body paragraphs) */
.elementor-element-c403000 > .e-con-inner, .elementor-element-c503000 > .e-con-inner,
.elementor-element-c703000 > .e-con-inner, .elementor-element-c803000 > .e-con-inner,
.elementor-element-c903000 > .e-con-inner, .elementor-element-ca03000 > .e-con-inner,
.elementor-element-cb03000 > .e-con-inner {
  gap: 0 !important;
}

/* ---------- Careers (232) ---------- */
/* NESTED — heroOnPhoto (eyebrow + H1) */
.elementor-element-cc02002,
/* NESTED — why-work-here cards (cardRule + cardTitle + cardText each) */
.elementor-element-cc03004, .elementor-element-cc03008, .elementor-element-cc03012 {
  gap: 0 !important;
}
/* BOXED — why-work-here section root (eyebrow + H2, before the cards row) */
.elementor-element-cc03000 > .e-con-inner {
  gap: 0 !important;
}
/* cc04002 (apply-cta text column) already zeroed in remediation round 1 (D7) */

/* ---------- White Card (233) ---------- */
/* NESTED containers */
.elementor-element-cd02001,          /* hero left column: eyebrow+H1+heroIntro+button */
.elementor-element-cd03002,          /* intro text column: eyebrow+3 paragraphs+pullQuote */
.elementor-element-cd04005, .elementor-element-cd04010, .elementor-element-cd04013, /* illness cards */
.elementor-element-cd05007, .elementor-element-cd05010, /* homeHealthGrid text columns */
.elementor-element-cd05015, .elementor-element-cd05019, .elementor-element-cd05023, /* benefit cards */
.elementor-element-cd05027,          /* familyCaregiverCard */
.elementor-element-cd06002,          /* already-have-a-card left column */
.elementor-element-cd06008,          /* already-have-a-card right column */
.elementor-element-cd07002,          /* how-we-help left column */
.elementor-element-cd08001 {         /* eligibility ctaBand */
  gap: 0 !important;
}
/* BOXED — top-level section roots with direct text/heading children */
.elementor-element-cd03000 > .e-con-inner, /* introSection: subheading/subText/occupationsLabel/occ-list/footnote/jumpnav */
.elementor-element-cd04000 > .e-con-inner, /* illnesses section: two eyebrow+H2+intro groups */
.elementor-element-cd05000 > .e-con-inner { /* benefits section: eyebrow+H2+benefitsIntro */
  gap: 0 !important;
}
/* cd04022/cd04027/cd04037/cd04042/cd04049/cd04054 (detail-card icon and text
   columns) already zeroed in remediation round 1 — not repeated here. */


/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION ROUND 5
   Block-flow margin COLLAPSE (source) vs flex margin ADDITION (Elementor)
   sweep. Audited all 50 containers zeroed in rounds 1 and 4 (full sibling
   lists, not just text/heading-filtered) for DOM-adjacent pairs where
   BOTH the preceding element's effective margin-bottom and the following
   element's effective margin-top are non-zero. Found 6 such pairs total
   (the 2 the coordinator already confirmed by measurement, plus 4 new).
   Fix per pair: zero the SMALLER touching margin, leave the larger one
   (the source's own collapsed/rendered value) untouched.
   ===================================================================== */

/* ----- Pair 1 (coordinator-confirmed): service-detail whats-included —
   .ahs-dot-list (margin-bottom:8) -> .subheading H3 (margin-top:28).
   Rendered before: 8 + 0(gap, zeroed round 4) + 28 = 36px. Source: 28px
   (block-flow collapse of 8 and 28 = max = 28). Fix: zero the list's
   margin-bottom (class-level — affects the identical structure on all 7
   service-detail pages in one rule). Rendered after: 0 + 0 + 28 = 28px. ----- */
.ahs-dot-list {
  margin-bottom: 0 !important;
}

/* ----- Pair 2 (coordinator-confirmed): Careers why-work-here — H2
   "What it's like on our team" (dc03002, margin-bottom:12) -> cards row
   (cc03003, native margin-top:36). Rendered before: 12 + 0(gap, zeroed
   round 4) + 36 = 48px. Source: 36px (collapse of 12 and 36 = max = 36).
   Fix: zero the H2's margin-bottom (my own inner-tag rule from round 1).
   Rendered after: 0 + 0 + 36 = 36px. ----- */
.elementor-element-dc03002 .elementor-heading-title {
  margin-bottom: 0 !important;
}

/* ----- Pair 3 (new): White Card Part E detail card — detailText
   paragraph (dd04056, margin-bottom:14) -> .benefitsMayInclude label
   (dd04057, margin-top:4, set this same round). Rendered before:
   14 + 0(gap, zeroed round 1) + 4 = 18px. Source: 14px (collapse of 14
   and 4 = max = 14). Fix: zero the label's margin-top (inner tag).
   Rendered after: 14 + 0 + 0 = 14px. ----- */
.elementor-element-dd04057 .elementor-heading-title {
  margin-top: 0 !important;
}

/* ----- Pair 4 (new): White Card introduction — second .subText paragraph
   (dd03012, margin-bottom:16) -> .occupationsLabel (dd03013, margin-top:8).
   Rendered before: 16 + 0(gap, zeroed round 4) + 8 = 24px. Source: 16px
   (collapse of 16 and 8 = max = 16). Fix: zero the label's margin-top
   (inner tag). Rendered after: 16 + 0 + 0 = 16px. ----- */
.elementor-element-dd03013 .elementor-heading-title {
  margin-top: 0 !important;
}

/* ----- Pair 5 (new): White Card introduction — .ahs-occ-list
   (dd03014, margin-bottom:22) -> .rule decorative bar (cd03015, NATIVE
   margin-top:10, never touched by CSS before). Rendered before:
   22 + 0(gap, zeroed round 4) + 10 = 32px. Source: 22px (collapse of 22
   and 10 = max = 22). Fix: zero the rule bar's margin-top via CSS
   (leaving the native setting itself untouched, consistent with this
   project's practice of not editing native containers when a CSS
   override is lower-risk). Rendered after: 22 + 0 + 0 = 22px. ----- */
.elementor-element-cd03015 {
  margin-top: 0 !important;
}

/* ----- Pair 6 (new): White Card illnesses section — reused
   .illnessesIntro paragraph (dd04018, margin-bottom:36) -> .detailStack
   (cd04019, NATIVE margin-top:36, already confirmed correct in round 1
   and left untouched). Rendered before: 36 + 0(gap, zeroed round 4) + 36
   = 72px. Source: 36px (collapse of two equal 36px margins = max = 36).
   Fix: zero the paragraph's own margin-bottom (my rule from round 1/3)
   rather than touching the native detailStack setting, since the two
   values are equal and either choice gives the same 36px result — this
   is the lower-risk side to edit. Rendered after: 0 + 0 + 36 = 36px. ----- */
.elementor-element-dd04018 {
  margin-bottom: 0 !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION ROUND 6 (human gate feedback)
   1) Gradient double-paint: removed the element-level background
      declarations for c202008/cc02006 above (exact-match edit) — the
      ::before rule (already present, unchanged) is now the ONLY source
      of the gradient at every viewport height, not just <=1024px.
   2) White Card hero grid was on the wrong layer (SOP rule #2 violation):
      cd02000 is a BOXED top-level section whose only child is
      .e-con-inner — moved here, onto the correct layer, literal values
      re-read from white-card/page.module.css lines 20-35 (unchanged from
      before: grid-template-columns:1.05fr .95fr; gap:52px; 860px
      collapse) — only the LAYER was wrong, not the values.
   ===================================================================== */

/* ----- White Card overview hero — correct layer ----- */
.elementor-element-cd02000 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 52px;
  align-items: center;
}
.elementor-element-cd02000 > .e-con-inner > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .elementor-element-cd02000 > .e-con-inner { grid-template-columns: 1fr; }
}

/* ----- Layer sweep: every other grid written on White Card and Careers
   checked against the manifest's boxed flag for its section:
   - cd03001 (introGrid): NESTED inside boxed cd03000, its own children are
     direct — correctly targeted directly. No change.
   - cd04004, cd05014 (illness/benefit cards row): NESTED inside boxed
     cd04000/cd05000 — correctly targeted directly. No change.
   - cd04021/cd04036/cd04048 (detail-card grids): NESTED two layers deep
     inside boxed cd04000 — correctly targeted directly. No change.
   - cd05006 (homeHealthGrid): NESTED inside boxed cd05000 — correctly
     targeted directly. No change.
   - cd06001, cd07001 (already-have-a-card / how-we-help panels): NESTED
     inside boxed cd06000/cd07000 — correctly targeted directly. No change.
   - Careers cc03003 (why-work-here cards) and cc04001 (apply-cta panel):
     both NESTED inside their respective boxed top-level sections
     (cc03000, cc04000) — correctly targeted directly. No change.
   cd02000 (this hero) was the only section where the grid was written
   directly on the boxed top-level element instead of its .e-con-inner —
   confirmed by checking each section's own manifest-recorded child
   structure, not by assumption. ----- */


/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION ROUND 7
   White Card legal disclaimer relocated from the footer into the page's
   own content (cd09000/dd09001, structural change already made and
   verified upstream — footer template 212 is back to 2 top-level
   sections, uniform sitewide). This round: style the relocated
   disclaimer for its new light-background context and remove the dead
   footer-disclaimer CSS behind it (done via exact-match block removal
   above this addition, not shown here — see change log).
   ===================================================================== */

/* ----- dd09001 (White Card disclaimer, new context) -----
   Source of the ORIGINAL disclaimer intent: components/Footer.module.css
   .disclaimer{font-style:italic;font-size:13px;...} — size/style intent
   kept, but its color (#c9c9d6, --color-text-on-navy-subtle) was built
   for a navy background and is unreadable here; NOT carried forward.
   Comparable fine-print-on-light-background pattern found and verified
   in app/(site)/terms-of-use/page.module.css .disclaimer (line 17-27):
   font-style:italic; color:var(--color-body-text-muted) — confirming
   --color-body-text-muted (#5a5a66, app/globals.css) is this site's own
   established token for muted italic fine print on a light background,
   independently matching the coordinator's suggested color. Line-height
   set explicitly to 1.7 (this site's own base ratio, app/globals.css
   body{line-height:1.7}) for a "comfortable" reading rhythm rather than
   relying on inheritance. Rendered markup confirmed via fresh HTML:
   dd09001 is a bare <p> with no class inside .elementor-widget-container
   — targeting the inner tag directly per rule 3.5, not the wrapper. ----- */
.elementor-element-dd09001 p {
  font-style: italic;
  font-size: 13px;
  line-height: 1.7;
  color: #5a5a66;
}

/* ----- Spacing check (Task 3) — verified, no fix needed -----
   cd09000 has content_width:boxed with NATIVE padding only (24px top/
   bottom, clamp(24px,5vw,110px) sides) — no margin key is set at all, on
   either side. A section with zero margin cannot be one half of the
   margin-collapse-vs-addition pair (one side is always 0, so mb+gap+mt
   always equals whichever single value is non-zero, matching source's
   own max() result trivially). Its only child is dd09001 (single widget)
   so gap cannot create any spacing at all — gap only acts between 2+
   flex items. Confirmed both neighbors use the same padding-only rhythm
   (cd07000: padding 64/64; cd08000: padding 0/72 — its own top padding
   is intentionally 0, relying on the preceding section's bottom padding,
   now cd09000's 24px, for the gap above the navy CTA band) — no margin
   on either side of cd09000, so no collision is possible at this
   boundary. Nothing to fix here. ----- */


/* =====================================================================
   STAGE-2 FINE-TUNE — BATCH-1 RETROFIT (Home 213, About 214, Services
   landing 215, Contact 218)
   17 gap-double-stack instances (same root cause as batch 2: containers
   with no gap key fall back to Elementor's unconditional 20px default,
   adding on top of children's own correct margins) + 1 unrelated map bug.

   METHOD NOTE: measured arithmetic across these 4 pages did not cleanly
   fit a single "gap contributes exactly 20px everywhere" model — several
   eyebrow-led pairs showed smaller deltas (8/4/2px) that could not be
   explained by a uniform per-container mechanism, and cross-checking
   showed the SAME shared classes (.ahs-eyebrow/.ahs-eyebrow-hero) behaving
   inconsistently between pages despite identical CSS. Rather than trust
   an incompletely-understood cascade, every container below uses the one
   mechanism proven reliable throughout this whole project end-to-end
   (batch 2 rounds 1-7): container gap:0, plus an EXPLICIT, ID-scoped,
   final margin-bottom on the PRECEDING element in every pair (literal
   source value), with any pre-existing margin-TOP on the FOLLOWING
   element explicitly zeroed to remove double-counting risk. This
   guarantees the correct rendered result regardless of the underlying
   cascade quirk, rather than relying on a partially-understood one.
   Where an element's existing native/CSS margin-bottom already matched
   the literal source value, it is reinforced (redundant but harmless)
   rather than left to chance.
   Verified: none of the touched containers or elements have tablet-
   breakpoint (860px) specific values in source — only grid-column-count
   media queries exist for these pages' hero/card grids, never touched
   here, so no breakpoint-specific handling is needed for these fixes.
   ===================================================================== */

/* ===================== HOME (213) ===================== */

/* ----- c101002 (hero left column, nested) -----
   Source: app/(site)/page.module.css .heroEyebrow{margin-bottom:18px},
   h1{margin:0} (global reset, no override for this hero's H1),
   .whiteCardChip{margin:0 0 26px}, .heroIntro{margin:0 0 32px}. */
.elementor-element-c101002 { gap: 0 !important; }
.elementor-element-d101003 { margin-bottom: 18px !important; } /* eyebrow */
.elementor-element-d101004 { margin-bottom: 0 !important; }    /* H1 — overrides a stray native 26px that doesn't match source's plain h1{margin:0} */
.elementor-element-c101005 { margin-bottom: 26px !important; } /* .whiteCardChip */
.elementor-element-d101010 { margin-bottom: 32px !important; } /* .heroIntro */

/* ----- c103000 (services-strip, boxed -> .e-con-inner) -----
   Source: .eyebrow{margin-bottom:12px}; H2->cards pair not flagged, left alone. */
.elementor-element-c103000 > .e-con-inner { gap: 0 !important; }

/* ----- c104001 (whitecard-band left column, nested) -----
   Source: .eyebrow{margin-bottom:12px}; H2 has no margin (H2->para
   source=0); .whiteCardCopy{margin:0 0 30px}. */
.elementor-element-c104001 { gap: 0 !important; }
.elementor-element-d104003 { margin-bottom: 0 !important; }    /* H2 */
.elementor-element-d104004 { margin-bottom: 30px !important; } /* .whiteCardCopy */

/* ----- c105000 (why-families-choose-us, boxed -> .e-con-inner) -----
   Source: .eyebrow{margin-bottom:12px}; H2->value-grid source=36px. */
.elementor-element-c105000 > .e-con-inner { gap: 0 !important; }
.elementor-element-d105002 { margin-bottom: 36px !important; } /* H2 */
.elementor-element-c105003 { margin-top: 0 !important; }       /* value grid — zero its own native margin-top:36 to avoid double-counting against the H2's new margin-bottom:36 */

/* ----- c106000 (testimonial, boxed -> .e-con-inner) -----
   Source: .quoteMark{margin-bottom:8px}, .quoteText{margin-bottom:26px}. */
.elementor-element-c106000 > .e-con-inner { gap: 0 !important; }
.elementor-element-d106001 { margin-bottom: 8px !important; }
.elementor-element-d106002 { margin-bottom: 26px !important; }

/* ----- c107002 (interest-form-call-band left column, nested) -----
   Source: H2->para=16px, para(.contactText){margin:0 0 28px}. */
.elementor-element-c107002 { gap: 0 !important; }
.elementor-element-d107004 { margin-bottom: 16px !important; } /* H2 */
.elementor-element-d107005 { margin-top: 0 !important; margin-bottom: 28px !important; } /* zero the native margin-top:16 (avoid double-count with H2's new bottom), reinforce correct bottom:28 */


/* ===================== SERVICES landing (215) ===================== */

/* ----- c301001 (hero left column, nested) -----
   Source: .heroEyebrow{margin-bottom:18px}; H1/intro already native-correct. */
.elementor-element-c301001 { gap: 0 !important; }
.elementor-element-d301002 { margin-bottom: 18px !important; } /* eyebrow */
.elementor-element-d301003 { margin-bottom: 0 !important; } /* H1 -- corrected: source has this H1 flush against the intro paragraph (gap 0px), the 32px was a misapplication of the intro->CTA pair's value from this same container's retrofit pass */
.elementor-element-d301004 { margin-bottom: 32px !important; } /* intro */

/* ----- c302000 (what-we-do, boxed -> .e-con-inner) -----
   Source: .eyebrow{margin-bottom:12px}; H2/intro already native-correct
   (12px/44px, matching .whatWeDoIntro{margin:0 0 44px}). */
.elementor-element-c302000 > .e-con-inner { gap: 0 !important; }
.elementor-element-d302002 { margin-bottom: 12px !important; } /* H2 */
.elementor-element-d302003 { margin-bottom: 44px !important; } /* intro */

/* ----- c303010 (call-band left column, nested) -----
   Source: H2->para=16px, para(.contactText-equivalent){margin:0 0 28px}. */
.elementor-element-c303010 { gap: 0 !important; }
.elementor-element-d303003 { margin-bottom: 16px !important; } /* H2 */
.elementor-element-d303004 { margin-top: 0 !important; margin-bottom: 28px !important; } /* zero native margin-top:16, reinforce correct bottom:28 */


/* ===================== ABOUT (214) ===================== */

/* ----- c203000 (mission-values, boxed -> .e-con-inner) -----
   Source: .eyebrow{margin-bottom:12px}. */
.elementor-element-c203000 > .e-con-inner { gap: 0 !important; }

/* ----- c204002 (why-choose-us text column, nested) -----
   Source: .eyebrow{margin-bottom:12px}; H2 margin-bottom:18 (inline,
   already native-correct); .whyIntro{margin:0 0 26px}. */
.elementor-element-c204002 { gap: 0 !important; }
.elementor-element-d204004 { margin-bottom: 18px !important; } /* H2 */
.elementor-element-d204005 { margin-bottom: 26px !important; } /* .whyIntro */

/* ----- c205001 (our-care-team text column, nested) -----
   Source: .eyebrow{margin-bottom:12px}; H2 margin-bottom:18 (already
   native-correct); paragraph margins already native-correct (16px/24px). */
.elementor-element-c205001 { gap: 0 !important; }
.elementor-element-d205003 { margin-bottom: 18px !important; } /* H2 */
.elementor-element-d205004 { margin-bottom: 16px !important; } /* p1 */
.elementor-element-d205005 { margin-bottom: 24px !important; } /* p2 */

/* ----- c206001 (owners text column, nested) -----
   Source: .eyebrow{margin-bottom:12px}; H2 margin-bottom:22 (already
   native-correct); p1(.ownersText){margin:0 0 18px}, matching source
   exactly. */
.elementor-element-c206001 { gap: 0 !important; }
.elementor-element-d206003 { margin-bottom: 22px !important; } /* H2 */
.elementor-element-d206004 { margin-bottom: 18px !important; } /* p1 */


/* ===================== CONTACT (218) ===================== */

/* ----- c602001 (intro inner, nested) -----
   Source: contact/page.module.css .eyebrow{margin-bottom:18px} (this
   page's own local .eyebrow, distinct from the 12px shared one
   elsewhere), h1{margin:0} (global reset, no override), .introText
   {margin:0} explicit. The reported "exact match, no defect" H1->intro
   pair (both sides measuring 20px) could only be explained by a genuine
   container gap value in source, not by either element's own margin —
   rather than leave that pair dependent on gap (which must become 0 to
   fix the eyebrow pair, per the same mechanism used everywhere else in
   this batch), giving the H1 an explicit margin-bottom reproduces the
   same rendered 20px result unambiguously. */
.elementor-element-c602001 { gap: 0 !important; }
.elementor-element-d602002 { margin-bottom: 18px !important; } /* eyebrow */
.elementor-element-d602003 { margin-bottom: 20px !important; } /* H1 */
.elementor-element-d602004 { margin-top: 0 !important; }       /* zero the native margin-top:20 (source's .introText{margin:0} is explicit) — avoids double-counting against the H1's new margin-bottom:20 */


/* =====================================================================
   MAP-1 — Contact Google Maps iframe renders at 0 height.
   Root cause: the iframe's own inline style already correctly reads
   position:absolute;inset:0;width:100%;height:100% (matching source's
   .mapEmbed exactly, untouched) — but its positioning context is not
   the correctly-sized 380px panel (c604001, already position:relative
   + height:380px from an earlier round) but the WIDGET WRAPPER one
   layer in (.elementor-element-d604002, an Elementor default
   position:relative with no explicit height of its own, since an
   absolutely-positioned-only child contributes nothing to its parent's
   flow height). Fix: give that wrapper (and its inner widget-container)
   an explicit height:100% so it correctly fills c604001's 380px, giving
   the absolutely-positioned iframe a real, non-zero box to fill.
   ===================================================================== */
.elementor-element-d604002,
.elementor-element-d604002 .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* STAGE-2 FINE-TUNE -- REMEDIATION ROUND 9: corrected d301003 (Services hero H1)
   margin-bottom from a misapplied 32px to the source-correct 0px (H1 flush
   against the intro paragraph). Neighbouring pairs in c301001 (eyebrow->H1
   18px, intro->CTA 32px) untouched. */


/* =====================================================================
   STAGE-2 FINE-TUNE — REMEDIATION ROUND 10 (REVISED / CORRECTED)
   Round 10's original form (56 heading IDs + 13 non-heading IDs) has been
   REMOVED after the coordinator measured doubled spacing across the site:
   an inner-tag margin on .elementor-heading-title DOES render correctly
   (it is absorbed into the widget wrapper's own box) — it was wrong to
   assume otherwise. Adding a separate, explicit WRAPPER-level margin on
   top of an already-working inner-tag margin created two additive
   margins on two different DOM nodes, doubling the rendered gap on every
   one of the 56 heading fixes. That systemic sweep depended on measuring
   rendered geometry, which is not something this agent can do blind —
   it is web-visual-qa's job, not fine-tune's.
   Kept from round 10 (5 elements, all verified NOT to be inner-tag-heading
   cases, so no doubling risk applies):
   - d105020 (Home banner image): native margin-top:52 confirmed by direct
     coordinator measurement to render as 0 -- a genuine native-image-
     margin defect, unrelated to the inner-tag mechanism.
   - c103003 (Home services-strip cards grid, source: page.tsx inline
     style marginTop:'40px'): a plain container with NO prior margin at
     all (native or CSS) on this property before round 10 -- nothing to
     double.
   - d107003, d303002 (Home + Services call-band team photos, source:
     .contactImg{margin-bottom:30px}): image widgets, same mechanism
     class as the confirmed d105020 case.
   - dc04003 (Careers "Ready to apply?" H2, source: inline style
     marginBottom:12, page.tsx line 73): its margin-bottom had ONLY ever
     existed as a wrapper-level rule (zeroed in round 1's D8 fix) -- no
     inner-tag rule ever supplied this value, so restoring it does not
     double anything; it had been genuinely absent since round 1.
   Everything else from round 10 (all 56 heading IDs, and the other 7
   non-heading IDs relying on already-correctly-rendering native
   container margins: cc03003, cd04031, cd03007, cd03015, cd04019,
   cd05004, cd05027, c103032, c203003) has been removed, restoring the
   exact pre-round-10 state for those elements.
   ===================================================================== */
.elementor-element-d105020 { margin-top: 52px !important; }
.elementor-element-c103003 { margin-top: 40px !important; }
.elementor-element-d107003, .elementor-element-d303002 { margin-bottom: 30px !important; }


/* =====================================================================
   STAGE-2 FINE-TUNE -- JOB 1a (duplicate-margin removal, surgical fix):
   removed 2 dead wrapper-level margin-bottom declarations duplicating an
   already-correct inner-tag rule on 9 elements (8 .ahs-eyebrow instances
   via the shared class, + Careers dc04003 via its own ID-scoped rule):
   1) .ahs-eyebrow { margin-bottom: 12px; } (no !important, from the
      original 'lifted verbatim from source' utility block at the top of
      this file) -- already superseded by the later
      .ahs-eyebrow { margin-bottom: 0 !important; } zero-wrapper rule (the
      D9 fix), so this removal is a no-op on computed styles for
      d103001/d104002/d105001/d203001/d204003/d205002/d206002/d302001 --
      removed as dead code so it cannot reactivate the doubling bug if the
      zero-override rule is ever edited or removed later. d207001,
      dc03001 and the White Card .ahs-eyebrow instances also use this same
      class and were already correct via the D9 rule; unaffected.
   2) .elementor-element-dc04003 { margin-bottom: 12px !important; } --
      already superseded by the later, equal-specificity
      .elementor-element-dc04003 { margin-bottom: 0 !important; } rule in
      the D8 group (source order wins the !important-vs-!important tie),
      so also a no-op removal on computed styles.
   Surviving mechanism for all 9: wrapper margin-bottom: 0, inner
   .elementor-heading-title margin-bottom: 12px (source: .eyebrow /
   .heroOnPhotoEyebrow classes, 12px, page.module.css / globals.css) --
   rule 3.5's established pattern. Every ID's inner-level 12px source was
   confirmed present before its wrapper rule was removed.
   Footer logo->tagline gap (Footer.module.css .logoLink{margin-bottom:
   16px}) was audited in the same pass: the mechanism already exists
   correctly at .elementor-element-d1f01002 a { margin-bottom: 16px
   !important; } (line ~1354, matches the rendered <a> DOM node exactly,
   confirmed via live HTML fetch) -- left untouched, no duplicate added.
   ===================================================================== */


/* =====================================================================
   STAGE-2 FINE-TUNE — BATCH 3 (privacy-policy 235, terms-of-use 236,
   thank-you 237, 404 template 238). First fine-tune pass on these four
   pages/templates. All literal values copied from app/(site)/privacy-policy/
   page.module.css, app/(site)/terms-of-use/page.module.css,
   app/(site)/thank-you/page.module.css, and app/not-found.module.css
   (privacy-policy and terms-of-use share byte-identical page.module.css;
   thank-you and not-found share byte-identical module.css).
   ===================================================================== */

/* ----- A. Width cap: source .wrap{max-width:800px / 640px; margin:0 auto}
   sits on the SAME element as the source's own padding (app's global reset
   is box-sizing:border-box, globals.css line 39-41), so the fix goes on the
   boxed section ROOT (.elementor-element-{id}), which already carries the
   native --padding-left/right:clamp(24px,5vw,110px) — same layer/technique
   already proven working on this site for the service-detail whats-included
   sections (c402000/c403000/etc.), where capping .e-con-inner alone was
   measured ineffective. This IS the correct per-rule-#2 layer here too:
   confirmed via curl that .e-con-inner is a DIRECT CHILD of these section
   roots (boxed:true, e-con-boxed), so capping the root also caps the inner
   content — box-sizing:border-box makes the native padding sit inside the
   800/640 cap exactly like the source's single .wrap box. */
.elementor-element-c1002000, /* privacy-policy .wrap, page.module.css line 2 */
.elementor-element-c1102000 { /* terms-of-use .wrap, page.module.css line 2 */
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.elementor-element-c1201000, /* thank-you .wrap, page.module.css line 2 */
.elementor-element-c1301000 { /* not-found .wrap, not-found.module.css line 2 */
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ----- B. Gap reset — these 4 boxed section roots space their children by
   each child's own margin (source: plain block flow), not by a flex gap.
   Zero the site's hardcoded 20px fallback gap on the .e-con-inner layer
   (rule #2: boxed top-level section, children live in .e-con-inner),
   matching the established site-wide gap-double-stack fix pattern. */
.elementor-element-c1002000 > .e-con-inner,
.elementor-element-c1102000 > .e-con-inner,
.elementor-element-c1201000 > .e-con-inner,
.elementor-element-c1301000 > .e-con-inner {
  gap: 0 !important;
}

/* ----- C. ahs-legal-list — NEW class (manifest batch3_stage1 flag).
   Source page.module.css: .list{margin:0 0 18px;padding-left:22px} .list
   li{margin-bottom:8px}. Font-size/line-height/color already set natively
   on the widget (16px/1.75/#42424f), same as ahs-dot-list/ahs-occ-list. */
.ahs-legal-list {
  padding-left: 22px !important;
  margin: 0 0 18px 0 !important;
}
.ahs-legal-list li {
  margin-bottom: 8px !important;
}

/* ----- D. Headings and paragraphs — margins on the INNER rendered tag only
   (rule 3.5 / this batch's spacing rule #1). Privacy-policy/terms-of-use
   headings render as bare <h1>/<h2> (elementor-heading-title IS the h1/h2),
   text-editor paragraphs render as a plain <p> inside .elementor-widget-
   container — both are DIRECT tag matches for reset.css's own p{margin-
   block-end:.9rem} default, so every value below is declared directly on
   the rendered tag, full override (margin-top AND margin-bottom stated
   explicitly), never on the wrapper.

   Flex items don't collapse margins (project learning #3): where the
   source's normal block flow would collapse two touching non-zero margins,
   the smaller one is zeroed here so only the larger (winning) value creates
   the gap, matching the source's actual rendered spacing. Every body
   paragraph immediately followed by an H2 (.subheading, margin-top:36px)
   has its own margin-bottom:18px zeroed for this reason (18 < 36). The one
   paragraph followed by another paragraph (privacy-policy d1002007) keeps
   its full 18px since there's no larger competing margin to yield to. */

/* H1 — .heading{margin-bottom:10px}, page.module.css line 7-9 */
.elementor-element-d1002001 .elementor-heading-title,
.elementor-element-d1102001 .elementor-heading-title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

/* H2 — .subheading{font-size:22px(already native);margin:36px 0 14px},
   page.module.css line 29-32 */
.elementor-element-d1002006 .elementor-heading-title,
.elementor-element-d1002009 .elementor-heading-title,
.elementor-element-d1002012 .elementor-heading-title,
.elementor-element-d1002014 .elementor-heading-title,
.elementor-element-d1002016 .elementor-heading-title,
.elementor-element-d1002018 .elementor-heading-title,
.elementor-element-d1002020 .elementor-heading-title,
.elementor-element-d1002022 .elementor-heading-title,
.elementor-element-d1002024 .elementor-heading-title,
.elementor-element-d1102006 .elementor-heading-title,
.elementor-element-d1102008 .elementor-heading-title,
.elementor-element-d1102010 .elementor-heading-title,
.elementor-element-d1102012 .elementor-heading-title,
.elementor-element-d1102014 .elementor-heading-title,
.elementor-element-d1102016 .elementor-heading-title,
.elementor-element-d1102018 .elementor-heading-title,
.elementor-element-d1102020 .elementor-heading-title,
.elementor-element-d1102022 .elementor-heading-title {
  margin-top: 36px !important;
  margin-bottom: 14px !important;
}

/* .updated meta line + the two body paragraphs NOT immediately followed by
   an H2 — full .text/.updated margin-bottom:18px stands (page.module.css
   line 11-15, 34-39) */
.elementor-element-d1002002 p,
.elementor-element-d1002007 p,
.elementor-element-d1002010 p,
.elementor-element-d1102002 p {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Body paragraphs immediately followed by an H2 — margin-bottom zeroed per
   the margin-collapse note above (H2's margin-top:36 wins over these
   paragraphs' margin-bottom:18) */
.elementor-element-d1002005 p,
.elementor-element-d1002008 p,
.elementor-element-d1002013 p,
.elementor-element-d1002015 p,
.elementor-element-d1002017 p,
.elementor-element-d1002019 p,
.elementor-element-d1002021 p,
.elementor-element-d1002023 p,
.elementor-element-d1102005 p,
.elementor-element-d1102007 p,
.elementor-element-d1102009 p,
.elementor-element-d1102011 p,
.elementor-element-d1102013 p,
.elementor-element-d1102015 p,
.elementor-element-d1102017 p,
.elementor-element-d1102019 p,
.elementor-element-d1102021 p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ahs-legal-list (d1002011) followed by an H2 — same collapse resolution as
   the paragraph group above, ul's own margin-bottom:18 (from block C) zeroed
   in this specific adjacency, higher specificity than the bare .ahs-legal-
   list rule so it wins regardless of source order */
.elementor-element-d1002011 .ahs-legal-list {
  margin-bottom: 0 !important;
}

/* Closing "Contact Us" paragraph, both pages — source sets an inline style
   override marginBottom:0 (page.tsx line 88 / 88), last child, no sibling
   to space against */
.elementor-element-d1002025 p,
.elementor-element-d1102023 p {
  margin: 0 !important;
}

/* Disclaimer paragraph (inside the bordered box, c1002003/c1102003) — source
   .disclaimer sets padding/border/radius/margin-bottom:36 on the SAME
   element (built here as a container + separate text-editor child); the
   container's own margin-bottom:36 is already a correct native element
   setting. The inner <p> itself carries no separate margin in source, so
   it's zeroed here to avoid the reset.css default .9rem bottom margin
   padding out the bottom of the box. */
.elementor-element-d1002004 p,
.elementor-element-d1102004 p {
  margin: 0 !important;
}

/* ----- E. Thank-you / 404 — H1 and body paragraph margins. No margin-
   collapse conflicts in this sequence (eyebrow mb:18 -> H1 mt:0 -> H1
   mb:18 -> p mt:0 -> p mb:36 -> actions-row mt:0 — every pair has a zero
   side), so source values apply directly. Eyebrow (.ahs-eyebrow-hero,
   already establishes margin-bottom:18px) and the actions row (native
   gap:14px, already verified in the build manifest) are untouched. */
.elementor-element-d1201002 .elementor-heading-title, /* .heading, module.css line 17-19 */
.elementor-element-d1301002 .elementor-heading-title {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}
.elementor-element-d1201003 p, /* .text, module.css line 21-26 */
.elementor-element-d1301003 p {
  margin-top: 0 !important;
  margin-bottom: 36px !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — batch 4: final remediation (3 single-property defects)
   ===================================================================== */

/* ----- Defect 1 & 2: thank-you (d1201001 → d1201002) and 404-template
   (d1301001 → d1301002) eyebrow→H1 gap measured 0px, source is 18px on
   both (thank-you/page.module.css line 14 and not-found.module.css line
   14, both .eyebrow{margin-bottom:18px}). Root cause: same rule-3.5 trap
   already documented and fixed for Careers/White Card (D9, above) —
   .ahs-eyebrow-hero's margin-bottom:18px lives on the WIDGET WRAPPER
   class, but these two eyebrows render as a bare .elementor-heading-title
   div with no margin of its own, and this file's own baseline reset
   zeroes the inner tag directly (direct beats wrapper, rule 3.5) — so the
   wrapper's class-level margin never reached the rendered element. D9
   already fixed this exact pattern for .ahs-eyebrow and for dc02003
   specifically, but never extended it to .ahs-eyebrow-hero's other two
   instances (thank-you/404). Scoped by element ID rather than editing the
   shared .ahs-eyebrow-hero class itself, so Careers' dc02003 (which
   already has its own correct 10px ID-specific override, D9 above) is
   not touched. */
.elementor-element-d1201001,
.elementor-element-d1301001 {
  margin-bottom: 0 !important;
}
.elementor-element-d1201001 .elementor-heading-title,
.elementor-element-d1301001 .elementor-heading-title {
  margin-bottom: 18px !important;
}

/* ----- Defect 3: privacy-policy list→H2 boundary overshoots by 8px
   (measured 44px, source 36px). Brief named d1002023, but direct
   inspection of freshly fetched rendered HTML confirms d1002023 is a
   plain paragraph (the "Changes to This Policy" paragraph, already flat
   against its following H2 via the batch-3 margin-collapse sweep, D
   above) — it has no li children at all, so a li:last-child rule scoped
   to it would be an inert no-op. The actual list→H2 pair on this page is
   d1002011 (the ul.ahs-legal-list — see manifest "text-editor — ul.ahs-
   legal-list (5 items)") → d1002012 (H2 "Health & Eligibility
   Information"). Root cause confirmed from source privacy-policy/
   page.module.css: .list li{margin-bottom:8px} (line 49-51) collapses
   away in the source's real block flow against the following
   .subheading H2's margin-top:36px (line 29-32); Elementor's flex layout
   does not collapse it, so it adds on top of the already-correct 36px H2
   top margin (d1002011's own ul-level margin-bottom is already zeroed
   elsewhere in this file for the same reason). Zeroing only the last li
   so the H2's 36px alone governs the boundary, per the brief's explicit
   instruction not to touch the H2's own margin-top. terms-of-use has no
   ul in its content at all (confirmed against page.tsx) — not touched,
   correctly left as web-visual-qa measured it. */
.elementor-element-d1002011 .ahs-legal-list li:last-child {
  margin-bottom: 0 !important;
}



/* =====================================================================
   STAGE-2 FINE-TUNE — Eligibility Questionnaire page (post 241)
   /white-card/am-i-eligible/ — batch 1 (AHS-EQ-MARKER-BATCH1)
   Sources: components/forms/EligibilityForm.module.css,
            components/eligibility/EligibilityHeader.module.css,
            components/eligibility/EligibilityFooter.module.css,
            app/white-card/am-i-eligible/page.module.css
   AHS is grandfathered to source-literal spacing (predates
   sfd-spacing-standard.md, 17 routes already reviewed against source
   literals) — every spacing value below is copied from the module CSS
   files above, not from a token table.
   ===================================================================== */

/* ---------- 1. CARD — EligibilityForm.module.css .card ---------- */
.elementor-element-c1403001 {
  background: #fff !important;
  border: 1px solid #e6e2dc !important;
  border-radius: 18px !important;
  padding: clamp(24px, 4vw, 44px) !important;
}

/* ---------- 2. FIELD BASELINE — reuses the exact pattern already
   established for forms 1/2 (c107007/c303007/c603023), scoped to this
   form's own container since values differ slightly (15.5px not 15px
   per .input,.textarea) and the shared-.elementor-kit-6 rule blocks can't be
   edited in place under the append-only rule. ---------- */
.elementor-element-c1403001 .gform_wrapper {
  --gf-form-gap-y: 0px !important;
  --gf-form-gap-x: 0px !important;
}
.elementor-element-c1403001 .gform_wrapper .gfield {
  margin-bottom: 0 !important; /* baseline; per-field overrides below own every gap */
}
.elementor-element-c1403001 .gform_wrapper .gfield_required {
  display: none !important; /* matches forms 1/2 convention — source labels carry no required marker */
}
.elementor-element-c1403001 .gform_wrapper label.gfield_label {
  display: block !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 7px !important;
  color: #00003c !important;
} /* .fieldLabel */
.elementor-element-c1403001 .gform_wrapper input[type="text"],
.elementor-element-c1403001 .gform_wrapper input[type="tel"],
.elementor-element-c1403001 .gform_wrapper input[type="email"],
.elementor-element-c1403001 .gform_wrapper select,
.elementor-element-c1403001 .gform_wrapper textarea {
  width: 100% !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  padding: 13px 15px !important;
  border: 1.5px solid #d5d0c7 !important;
  border-radius: 8px !important;
  background: #faf9f7 !important;
  color: #00003c !important;
  box-shadow: none !important;
} /* .input, .textarea */
.elementor-element-c1403001 .gform_wrapper textarea {
  resize: vertical !important;
}
.elementor-element-c1403001 .gform_wrapper input[type="text"]:focus,
.elementor-element-c1403001 .gform_wrapper input[type="tel"]:focus,
.elementor-element-c1403001 .gform_wrapper input[type="email"]:focus,
.elementor-element-c1403001 .gform_wrapper select:focus,
.elementor-element-c1403001 .gform_wrapper textarea:focus {
  border-color: #b8965a !important;
  outline: none !important;
} /* .input:focus, .textarea:focus */

/* ---------- 3. SECTION HEADERS (GF "section" fields render <h3
   class="gsection_title">) — these ARE the literal source .stepTitle H2s
   for "Personal information" / "Hanford employment" / "Medical history" ---------- */
.elementor-element-c1403001 .gform_wrapper .gsection_title {
  font-family: 'Libre Baskerville', serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  color: #00003c !important;
  margin: 0 0 8px 0 !important;
} /* .stepTitle default */
#field_4_2 .gsection_title {
  margin: 0 0 22px 0 !important;
} /* source: <h2 style={{marginBottom:'22px'}}>Personal information</h2> */

/* ---------- 4. FIELDSET LEGENDS — two distinct literal source roles.
   Confirmed by reading the rendered legend text against page.tsx/
   EligibilityForm.tsx: field 1 ("Who are you completing this for?"),
   field 28 ("Your White Card status"), field 29 ("How can we help you
   today?") are literally the source's .stepTitle H2 text for their step.
   Fields 14/15/22/25 are literally the source's .groupLabel div text. ---------- */
#field_4_1 legend.gfield_label,
#field_4_28 legend.gfield_label,
#field_4_29 legend.gfield_label {
  font-family: 'Libre Baskerville', serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  color: #00003c !important;
  margin: 0 0 8px 0 !important;
} /* .stepTitle, default (no inline override on any of these 3 in source) */
#field_4_14 legend.gfield_label,
#field_4_15 legend.gfield_label,
#field_4_22 legend.gfield_label,
#field_4_25 legend.gfield_label,
#field_4_33 legend.gfield_label {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #00003c !important;
  margin: 0 0 10px 0 !important;
} /* .groupLabel — field 33 (consent) legend "Consent" has no source analog,
     reusing this pattern rather than inventing a new one */

/* ---------- 5. FIELD/SECTION DESCRIPTIONS — literal source .stepIntro
   text, confirmed present verbatim in the rendered HTML:
   field 1 "Choose one.", field 13 "Approximate answers are fine — we can
   help fill in the details later.", field 21 "Check all that apply.
   Nothing here is shared outside our care team.", field 28 "Which best
   describes your current situation?", field 29 "Check all that apply." ---------- */
#field_4_1 .gfield_description,
#gfield_description_4_13,
#gfield_description_4_21,
#field_4_28 .gfield_description,
#field_4_29 .gfield_description {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  color: #6a6a78 !important;
  margin: 0 0 22px 0 !important;
} /* .stepIntro */

/* ---------- 6. ORDER FIX — fields 1/28/29: GF's field_description_below
   setting renders legend -> choices -> description; source order is
   heading -> intro -> choices. All three (legend, description,
   ginput_container) are true DOM siblings inside the <fieldset>, so a
   plain flex order re-sequences them with no DOM change. ---------- */
#field_4_1,
#field_4_28,
#field_4_29 {
  display: flex !important;
  flex-direction: column !important;
}
#field_4_1 > legend.gfield_label,
#field_4_28 > legend.gfield_label,
#field_4_29 > legend.gfield_label {
  order: 1 !important;
}
#field_4_1 > .gfield_description,
#field_4_28 > .gfield_description,
#field_4_29 > .gfield_description {
  order: 2 !important;
}
#field_4_1 > .ginput_container,
#field_4_28 > .ginput_container,
#field_4_29 > .ginput_container {
  order: 3 !important;
}

/* ---------- 7. OPTS / OPTS3 GRIDS — literal source grid-template-columns
   + gap:12px, collapsing to 1 col at max-width:760px (source breakpoint).
   opts3 (3-col): who(1), years(15), diagnoses(22), symptoms(25), help_needed(29)
   opts (2-col): employed_at_hanford(14), white_card_status(28) ---------- */
#field_4_1 .gfield_radio,
#field_4_15 .gfield_checkbox,
#field_4_22 .gfield_checkbox,
#field_4_25 .gfield_checkbox,
#field_4_29 .gfield_checkbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}
#field_4_14 .gfield_radio,
#field_4_28 .gfield_radio {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
@media (max-width: 760px) {
  #field_4_1 .gfield_radio,
  #field_4_14 .gfield_radio,
  #field_4_15 .gfield_checkbox,
  #field_4_22 .gfield_checkbox,
  #field_4_25 .gfield_checkbox,
  #field_4_28 .gfield_radio,
  #field_4_29 .gfield_checkbox {
    grid-template-columns: 1fr !important;
  }
}
/* Trailing spacer margins on the grid box itself (source wraps the spacer
   class on the same div as the grid class, e.g. opts3+spacer34) */
#field_4_1 .gfield_radio { margin: 0 0 34px 0 !important; }      /* spacer34 */
#field_4_14 .gfield_radio { margin: 0 0 28px 0 !important; }     /* spacer28 */
#field_4_15 .gfield_checkbox { margin: 0 0 28px 0 !important; }  /* spacer28 */
#field_4_22 .gfield_checkbox { margin: 0 0 20px 0 !important; }  /* spacer20 */
#field_4_25 .gfield_checkbox { margin: 0 !important; }           /* no spacer class in source (last group, step 3) */
#field_4_28 .gfield_radio { margin: 0 0 34px 0 !important; }     /* spacer34 */
#field_4_29 .gfield_checkbox { margin: 0 !important; }           /* no spacer class in source (last group, step 4) */

/* ---------- 8. OPT CARDS (.gchoice) — literal source .opt / .optInput ---------- */
.elementor-element-c1403001 .gform_wrapper .gchoice {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px 16px !important;
  border: 1.5px solid #e6e2dc !important;
  border-radius: 12px !important;
  background: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin: 0 !important;
}
.elementor-element-c1403001 .gform_wrapper .gchoice:hover {
  border-color: #b8965a !important;
}
.elementor-element-c1403001 .gform_wrapper .gchoice:has(input:checked) {
  border-color: #00003c !important;
  background: #e9eef4 !important;
}
.elementor-element-c1403001 .gform_wrapper .gfield-choice-input {
  accent-color: #00003c !important;
  width: 18px !important;
  height: 18px !important;
  flex: none !important;
  cursor: pointer !important;
  margin: 0 !important;
}
.elementor-element-c1403001 .gform_wrapper .gform-field-label--type-inline {
  cursor: pointer !important;
}

/* ---------- 9. CONSENT FIELD (field 33) — literal source
   .opt.optConsent / .optConsentInput / .optConsentText; GF's consent
   markup has no .gchoice wrapper, so the card treatment is applied to
   .ginput_container_consent directly. ---------- */
.elementor-element-c1403001 .gform_wrapper .ginput_container_consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 13px 16px !important;
  border: 1.5px solid #e6e2dc !important;
  border-radius: 12px !important;
  background: #fff !important;
}
.elementor-element-c1403001 .gform_wrapper .ginput_container_consent:hover {
  border-color: #b8965a !important;
}
.elementor-element-c1403001 .gform_wrapper .ginput_container_consent:has(input:checked) {
  border-color: #00003c !important;
  background: #e9eef4 !important;
}
.elementor-element-c1403001 .gform_wrapper .ginput_container_consent input[type="checkbox"] {
  accent-color: #00003c !important;
  width: 18px !important;
  height: 18px !important;
  flex: none !important;
  cursor: pointer !important;
  margin-top: 3px !important;
} /* .optConsentInput */
.elementor-element-c1403001 .gform_wrapper .gfield_consent_label {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  color: #42424f !important;
  cursor: pointer !important;
} /* .optConsentText */
#field_4_33 { margin-bottom: 0 !important; } /* no trailing spacer in source */

/* ---------- 10. TEXT FIELD / TEXTAREA MARGINS — per-field, mapped 1:1
   against source's .fields{gap:18px} grid rhythm collapsed to a single
   column, with the group's own spacer class value on the LAST field of
   each group (owner = the .gfield wrapper div, single owner per rule 3.5) ---------- */
#field_4_3 { margin-bottom: 18px !important; }   /* first_name */
#field_4_4 { margin-bottom: 18px !important; }   /* last_name */
#field_4_5 { margin-bottom: 18px !important; }   /* phone */
#field_4_6 { margin-bottom: 18px !important; }   /* email */
#field_4_7 { margin-bottom: 18px !important; }   /* street_address */
#field_4_8 { margin-bottom: 18px !important; }   /* city */
#field_4_9 { margin-bottom: 18px !important; }   /* state */
#field_4_10 { margin-bottom: 20px !important; }  /* zip — last field, spacer20 */
#field_4_16 { margin-bottom: 18px !important; }  /* employer */
#field_4_17 { margin-bottom: 18px !important; }  /* department_area */
#field_4_18 { margin-bottom: 0 !important; }     /* job_title — last field, no spacer in source */
#field_4_23 { margin-bottom: 18px !important; }  /* cancer_type */
#field_4_24 { margin-bottom: 28px !important; }  /* other_condition — last field, spacer28 */
#field_4_32 { margin-bottom: 24px !important; }  /* message textarea — inline style marginBottom:'24px' */

/* ---------- 11. NAV BUTTONS — literal source .backBtn / .nextBtn ---------- */
.elementor-element-c1403001 .gform_wrapper .gform_next_button,
.elementor-element-c1403001 .gform_wrapper .gform_button {
  border: none !important;
  background: #00003c !important;
  color: #faf9f7 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  box-shadow: none !important;
} /* .nextBtn */
.elementor-element-c1403001 .gform_wrapper .gform_next_button:hover,
.elementor-element-c1403001 .gform_wrapper .gform_button:hover {
  background: #b8965a !important;
  color: #00003c !important;
} /* .nextBtn:hover */
.elementor-element-c1403001 .gform_wrapper .gform_previous_button {
  border: 1.5px solid #00003c !important;
  background: transparent !important;
  color: #00003c !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  padding: 13px 24px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  box-shadow: none !important;
} /* .backBtn */
.elementor-element-c1403001 .gform_wrapper .gform_previous_button:hover {
  background: #00003c !important;
  color: #faf9f7 !important;
} /* .backBtn:hover */

/* ---------- 12. FOOTER / NAV ROW — literal source .navRow layout, minus
   the divider/margin-top/padding-top (relocated onto the nav-hint field,
   see section 13, since the footer sits in a different DOM branch than
   the hint and can't share a single flex row with it — see change log /
   sighted_check for the honest explanation). justify-content:flex-end +
   margin-right:auto on .gform_previous_button reproduces source's
   back-left/next-right space-between even though GF only renders one
   button on page 1 (no empty spacer element the way source has). */
.elementor-element-c1403001 .gform_wrapper .gform_page_footer,
.elementor-element-c1403001 .gform_wrapper .gform-page-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 12px !important; /* authored, not sourced — see change log */
  padding-top: 0 !important;
  border-top: none !important;
}
.elementor-element-c1403001 .gform_wrapper .gform_page_footer .gform_previous_button,
.elementor-element-c1403001 .gform_wrapper .gform-page-footer .gform_previous_button {
  margin-right: auto !important;
}

/* ---------- 13. NAV HINT — ahs-eq-nav-hint(-field). Carries the
   navRow's divider/margin-top/padding-top values (literal source), since
   this field is the last thing in .gform_page_fields, immediately above
   the footer. See change log for the DOM-adjacency explanation of why
   this is above the buttons rather than inline between them. ---------- */
.elementor-element-c1403001 .gform_wrapper .ahs-eq-nav-hint-field {
  margin: 34px 0 0 0 !important;
  padding-top: 26px !important;
  border-top: 1px solid #e6e2dc !important;
}
.elementor-element-c1403001 .gform_wrapper .ahs-eq-nav-hint {
  margin: 0 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #8a8aa0 !important;
  text-align: center !important; /* authored choice, not sourced — see change log */
}

/* ---------- 14. PDF ROW — literal source .pdfRow / .pdfLink.
   ahs-eq-pdf-row renders on the widget wrapper (text-editor widgets
   render custom classes per rule #1); the <a> is styled directly per
   rule #3.5 rather than relying on inheritance. ---------- */
.ahs-eq-pdf-row .elementor-widget-container p {
  margin-top: 22px !important;
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  font-size: 14px !important;
  color: #6a6a78 !important;
  font-family: 'Nunito', sans-serif !important;
}
.ahs-eq-pdf-row .elementor-widget-container p a {
  font-weight: 800 !important;
  color: #00003c !important;
}
.ahs-eq-pdf-row .elementor-widget-container p a:hover {
  color: #b8965a !important;
}

/* ---------- 15. HOVER STATES (item 5) ---------- */
/* Footer back link (d1404002) — BASE COLOR FIX + hover. Rule #3.5 defect:
   the kit's global .elementor-kit-6 a{color:#00003c} is a DIRECT rule on
   the rendered <a>; it beats the INHERITED #e7e7ee set on the ancestor
   widget wrapper .elementor-element-d1404002. Confirmed by reading
   compiled post-241.css (wrapper carries color:#e7e7ee) against compiled
   post-6.css (.elementor-kit-6 a{color:#00003c} / a:hover{color:#b8965a}) —
   same bug class as the footer-links precedent named in rule #3.5.
   Source: EligibilityFooter.module.css .backLink{color:#e7e7ee}
   .backLink:hover{color:#b8965a} */
.elementor-element-d1404002 a {
  color: #e7e7ee !important;
}
.elementor-element-d1404002 a:hover {
  color: #b8965a !important;
}
/* Header phone link (c1401002, container rendered as <a> via html_tag).
   Base color already correct (set directly on the descendant widget
   wrapper .elementor-element-d1401004, which nothing else intercepts) —
   only :hover was missing. Source: EligibilityHeader.module.css
   .phoneLink:hover{color:#b8965a} */
.elementor-element-c1401002:hover .elementor-element-d1401004,
.elementor-element-c1401002:hover .elementor-element-d1401004 .elementor-widget-container p {
  color: #b8965a !important;
}

/* =====================================================================
   16. PROGRESS BAR — GF's single percentage-fill bar restyled toward
   source's 5-segment treatment (progressRow/progressSeg/progressSegDone/
   progressSegActive). HONEST LIMITATION, stated plainly per the brief:
   a single gradient-painted element can only round its two OUTER ends —
   it cannot give each of 5 internal color blocks its own independently-
   rounded pill corners, because that requires 5 separate DOM boxes
   (what source's 5 flex children are), and GF's markup provides exactly
   one fill element. Reproducing true independent pill corners would
   require either a custom GF progress-bar template override (PHP) or
   JS-based DOM insertion of 4 extra elements — both outside a CSS-only
   fine-tune pass. What IS reproduced exactly, with no eyeballing: the
   correct gold(completed)/navy(active)/gray(pending) color logic per
   page, and a literal 10px gap (split 5px either side via calc(), same
   value as source's .progressRow{gap:10px}) at every segment boundary.
   ===================================================================== */
.elementor-element-c1403001 .gform_wrapper .gf_progressbar_wrapper {
  margin-bottom: 10px !important;
}
.elementor-element-c1403001 .gform_wrapper .gf_progressbar_title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #6a6a78 !important;
  margin: 0 0 10px 0 !important;
} /* .progressLabelRow */
.elementor-element-c1403001 .gform_wrapper .gf_step_page_name {
  color: #00003c !important;
} /* .progressLabelActive */
.elementor-element-c1403001 .gform_wrapper .gf_progressbar {
  height: 6px !important;
  border-radius: 99px !important;
  background-color: #e0dcd4 !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background-image:
    linear-gradient(to right, transparent calc(20% - 5px), #fff calc(20% - 5px), #fff calc(20% + 5px), transparent calc(20% + 5px)),
    linear-gradient(to right, transparent calc(40% - 5px), #fff calc(40% - 5px), #fff calc(40% + 5px), transparent calc(40% + 5px)),
    linear-gradient(to right, transparent calc(60% - 5px), #fff calc(60% - 5px), #fff calc(60% + 5px), transparent calc(60% + 5px)),
    linear-gradient(to right, transparent calc(80% - 5px), #fff calc(80% - 5px), #fff calc(80% + 5px), transparent calc(80% + 5px)) !important;
}
.elementor-element-c1403001 .gform_wrapper .gf_progressbar_percentage {
  height: 6px !important;
  border-radius: 99px 0 0 99px !important;
  box-shadow: none !important;
}
.elementor-element-c1403001 .gform_wrapper .gf_progressbar_percentage span {
  display: none !important; /* source shows no numeric percentage */
}
/* Page 1 of 5 — 0 completed, 1 active, no internal gap needed */
.elementor-element-c1403001 .gform_wrapper .percentbar_20 {
  background-image: none !important;
  background-color: #00003c !important;
}
/* Page 2 of 5 — 1 completed, 1 active; boundary at 50% of the fill's own width */
.elementor-element-c1403001 .gform_wrapper .percentbar_40 {
  background-color: transparent !important;
  background-image: linear-gradient(to right,
    #b8965a 0, #b8965a calc(50% - 5px),
    #fff calc(50% - 5px), #fff calc(50% + 5px),
    #00003c calc(50% + 5px), #00003c 100%) !important;
}
/* Page 3 of 5 — 2 completed, 1 active; boundaries at 33.333% / 66.667% */
.elementor-element-c1403001 .gform_wrapper .percentbar_60 {
  background-color: transparent !important;
  background-image: linear-gradient(to right,
    #b8965a 0, #b8965a calc(33.333% - 5px),
    #fff calc(33.333% - 5px), #fff calc(33.333% + 5px),
    #b8965a calc(33.333% + 5px), #b8965a calc(66.667% - 5px),
    #fff calc(66.667% - 5px), #fff calc(66.667% + 5px),
    #00003c calc(66.667% + 5px), #00003c 100%) !important;
}
/* Page 4 of 5 — 3 completed, 1 active; boundaries at 25% / 50% / 75% */
.elementor-element-c1403001 .gform_wrapper .percentbar_80 {
  background-color: transparent !important;
  background-image: linear-gradient(to right,
    #b8965a 0, #b8965a calc(25% - 5px),
    #fff calc(25% - 5px), #fff calc(25% + 5px),
    #b8965a calc(25% + 5px), #b8965a calc(50% - 5px),
    #fff calc(50% - 5px), #fff calc(50% + 5px),
    #b8965a calc(50% + 5px), #b8965a calc(75% - 5px),
    #fff calc(75% - 5px), #fff calc(75% + 5px),
    #00003c calc(75% + 5px), #00003c 100%) !important;
}
/* Page 5 of 5 — 4 completed, 1 active; boundaries at 20% / 40% / 60% / 80%;
   fill width = 100% of track here, so both ends get full pill rounding */
.elementor-element-c1403001 .gform_wrapper .percentbar_100 {
  background-color: transparent !important;
  border-radius: 99px !important;
  background-image: linear-gradient(to right,
    #b8965a 0, #b8965a calc(20% - 5px),
    #fff calc(20% - 5px), #fff calc(20% + 5px),
    #b8965a calc(20% + 5px), #b8965a calc(40% - 5px),
    #fff calc(40% - 5px), #fff calc(40% + 5px),
    #b8965a calc(40% + 5px), #b8965a calc(60% - 5px),
    #fff calc(60% - 5px), #fff calc(60% + 5px),
    #b8965a calc(60% + 5px), #b8965a calc(80% - 5px),
    #fff calc(80% - 5px), #fff calc(80% + 5px),
    #00003c calc(80% + 5px), #00003c 100%) !important;
}


/* =====================================================================
   STAGE-2 FINE-TUNE — Eligibility Questionnaire page (post 241)
   /white-card/am-i-eligible/ — batch 2 (AHS-EQ-MARKER-BATCH2, 2026-08-10)
   Four sighted-gate CSS defects, confirmed by web-visual-qa measurement
   + human screenshot comparison (see wp-conversion/visual-qa-eligibility-
   desktop1280-current.json). AHS remains grandfathered to source-literal
   spacing (predates sfd-spacing-standard.md) — every value below is
   copied literally from EligibilityHeader.module.css / page.module.css,
   not from a token table. spacing_deviations this batch: 0.
   ===================================================================== */

/* ---------- DEFECT 1: mini header wraps to two rows ----------
   Source EligibilityHeader.module.css .bar: display:flex; flex-wrap:wrap;
   justify-content:space-between — logo + phone link share ONE row at
   1280px (measured: logo 106.48x40 @ left 64, phone 236.39x25.5 @ left
   964.61). c1401002 (phone link container, content_width:full) computed
   width:1137px (~full row content width) via Elementor's default
   full-width container sizing — nothing in its own settings asked for
   that. SAME bug class + SAME fix already proven on this build: the real
   header's phone CTA container c1e01003 (kit custom_css, comment "stop
   it defaulting to width:100% ('huge navy block' bug)"). Reusing that
   identical technique. */
.elementor-element-c1401002 {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* ---------- DEFECT 2: logo is squished (measured 48x40, ratio 1.2:1) ----------
   Source EligibilityHeader.module.css .logo{height:40px;width:auto}.
   Native settings on d1401001 carry ONLY height:40px (no width key at
   all, confirmed by reading _elementor_data) and no kit-CSS rule existed
   for this element's img at all — unlike the proven-correct footer logo
   pattern reusing the SAME attachment (174):
   .elementor-element-d1f01002 img{height:50px!important;width:auto!important;
   display:block!important;}. Applying the identical proven pattern,
   height literal from source. */
.elementor-element-d1401001 img {
  height: 40px !important;
  width: auto !important;
  display: block !important;
}

/* ---------- DEFECT 3: progress-bar labels shredded across the bar ----------
   Root cause: batch-1's .gf_progressbar_title rule (above, in
   AHS-EQ-MARKER-BATCH1) applied display:flex;justify-content:space-between
   to GF's single <p class="gf_progressbar_title"> — the source's
   .progressLabelRow flex treatment misapplied to an element with a
   completely different DOM structure (source has 2 sibling spans in a
   flex row; GF emits ONE paragraph containing raw text nodes mixed with
   3 inline spans). Flexing that paragraph turned the 3 spans into flex
   items while the raw text nodes stayed in normal flow, scattering
   "Step | 1 | of | 5 | - Who this is for" across the bar.
   REQUIRED FIX: cancel the flex treatment (display:block is the correct
   default for a <p>; appended here per this site's append-only kit-CSS
   convention rather than editing the existing batch-1 rule in place —
   later cascade position wins the display property, same specificity,
   both !important).
   ATTEMPTED IMPROVEMENT: source shows "Step 1 of 5" left / page name
   right, one line. float:right on the trailing .gf_step_page_name span
   pulls it to the right edge while the preceding inline content ("Step
   1 of 5") flows left on the same line — the standard CSS mechanism for
   exactly this text pattern (inline content before a floated trailing
   element flows to its left). KNOWN CAVEAT CSS cannot fix: GF's own text
   node for this span is literally " - Who this is for" (leading
   dash+space baked into Gravity Forms' own progress-bar markup, per the
   brief's DOM dump) — the right-hand text will read "- Who this is for",
   not bare "Who this is for". Flagged as a sighted_check item since this
   agent cannot visually confirm the float outcome. */
.elementor-element-c1403001 .gform_wrapper .gf_progressbar_title {
  display: block !important;
}
.elementor-element-c1403001 .gform_wrapper .gf_step_page_name {
  float: right !important;
}

/* ---------- DEFECT 4: form card full-width (0px native padding, no cap) ----------
   Source page.module.css .hero{padding:48px clamp(22px,5vw,110px) 8px;
   max-width:1000px;margin:0 auto} (line 1-5) and .formWrap{padding:26px
   clamp(22px,5vw,110px) 84px;max-width:1000px;margin:0 auto} (line 34-38)
   — source applies padding+cap+centering on the SAME single box (global
   reset is box-sizing:border-box, same convention as the already-fixed
   privacy-policy/terms-of-use/thank-you/404 .wrap boxes). UNLIKE those 4
   pages, c1402000/c1403000 carry ZERO native padding settings at all
   (confirmed by reading _elementor_data: no "padding" key present on
   either element, and compiled post-241.css shows no --padding-* custom
   properties for either) — so both padding AND the cap are authored
   here, not just the cap. Per fix_2_reopened_2026_08_10's lesson, this
   goes on the OUTER boxed section root only (never .e-con-inner, never
   both layers) — confirmed there is no pre-existing padding source at
   any layer on either element to double-stack against, so a literal
   padding declaration here is the sole, single owner. */
.elementor-element-c1402000 {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding: 48px clamp(22px, 5vw, 110px) 8px !important;
}
.elementor-element-c1403000 {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding: 26px clamp(22px, 5vw, 110px) 84px !important;
}


/* ===== STAGE 5 ACCESSIBILITY FIXES — 2026-08-10 (web-accessibility-audit) ===== */

/* --- Fix A: visible keyboard focus indicator (SC 2.4.7).
   Dual-ring technique using the two most contrast-extreme design-source
   tokens (globals.css: --color-navy:#00003c line 3, --color-cream:#faf9f7
   line 7) so at least one ring clears 3:1 against every section background
   on the site (light/cream sections, navy CTA panels/footer, gold/navy
   buttons). A single-color outline cannot satisfy 3:1 on both the site's
   near-black navy panels and near-white cream sections at once; this two-
   layer box-shadow ring is the standard technique for that situation and
   uses only literal source hex values, no invented color. Applies to
   :focus-visible only (mouse/touch clicks are unaffected) and uses
   box-shadow rather than outline so it also renders correctly on the
   eligibility form's inputs, whose own source CSS sets outline:none on
   focus (EligibilityForm.module.css .input:focus/.textarea:focus). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #faf9f7, 0 0 0 5px #00003c !important;
}

/* --- Fix B: required-field marker must reach the accessibility tree even
   though it stays invisible on screen (SC 3.3.2 / 4.1.2).
   The existing rules at kit custom_css lines 1506-1508 and 4157-4159 hide
   .gfield_required with display:none!important on all 4 Gravity Forms
   embeds sitewide (home/services Interest Form c107007/c303007, Contact
   Form c603023, Eligibility Questionnaire c1403001). display:none removes
   the element from the accessibility tree entirely, not just from the
   screen. For fieldset/legend-grouped required fields (radio and checkbox
   groups — e.g. eligibility Q1 "Who are you completing this for?") the
   legend's "(Required)" text is the ONLY mechanism that conveys required
   state to assistive tech at all: individual grouped radio/checkbox inputs
   carry no aria-required (confirmed on rendered markup), unlike required
   text inputs which correctly carry aria-required="true" independently of
   this rule. Measured result before this fix: a screen-reader user gets
   zero indication that grouped fields are required, on any of the 4 forms.
   This override keeps the VISUAL result byte-identical (still nothing
   visible — this does not reverse the site's own no-visible-marker
   convention, which is a design decision this stage escalates rather than
   overrides) while restoring the text to the accessibility tree via the
   standard visually-hidden technique (matches WordPress core's own
   .screen-reader-text pattern). Same 4 .elementor-kit-6 scopes as the rules it
   overrides, appended later in the cascade with matching !important. */
.elementor-element-c107007 .gform_wrapper .gfield_required,
.elementor-element-c303007 .gform_wrapper .gfield_required,
.elementor-element-c603023 .gform_wrapper .gfield_required,
.elementor-element-c1403001 .gform_wrapper .gfield_required {
  display: inline-block !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ===== APPLY PASS — 2026-08-11 — palette + house-standard fixes,
   Brad's rulings on the stage-5 audit escalations =====

   RULING: gold #b8965a is accents-and-on-navy only. No gold TEXT on light
   (white/cream/blue-gray) backgrounds anywhere. Every .elementor-kit-6 below was
   confirmed by live getComputedStyle() + elementsFromPoint() hit-testing
   at 1280px, not by reading source. Typographic treatment (uppercase,
   letter-spacing, weight) is untouched — only `color` changes.

   EXCLUDED from this pass, deliberately:
   - .elementor-element-d202001 (About hero eyebrow "About Us") and
     .elementor-element-dc02003 (Careers hero eyebrow "Careers"): at
     1280px both sit on the team-elbow hero photo (elementsFromPoint
     confirms an <img> under the text; ancestor walk falsely reports
     white, ratio 2.78 — the exact false-positive pattern already
     corrected once on the H1s on these same two heroes). Left
     untouched pending a human check — see report / sighted_check.
   - .ahs-sep and .ahs-jump-arrow glyphs (breadcrumb "/" and White Card
     jump-list arrows): treated as decorative accents under Brad's
     "rules, dots, icon fills" exemption, same family as the bullet/
     checkmark accents that already stay gold. Flagged for confirmation,
     not silently dropped.
   - .elementor-element-d1e01002 active/hover/focus nav-menu item color
     (kit CSS line ~1432): default nav links are already navy; making
     the active item navy too would make it visually identical to every
     other nav link, deleting the "current page" signal entirely. Two
     defensible fixes exist (recolor + new differentiator, e.g.
     underline/pill, vs. leave as-is) — escalated, not auto-fixed. */

/* --- 1. Gold eyebrows / section labels -> navy, on confirmed light
   (white or blue-gray) backgrounds. Heading-widget instances (direct
   Elementor title_color setting, one override per element since these
   are not on a shared utility class in every template). */
.elementor-element-d101003 .elementor-heading-title,
.elementor-element-d101008 .elementor-heading-title,
.elementor-element-d103001 .elementor-heading-title,
.elementor-element-d104002 .elementor-heading-title,
.elementor-element-d105001 .elementor-heading-title,
.elementor-element-d203001 .elementor-heading-title,
.elementor-element-d204003 .elementor-heading-title,
.elementor-element-d205002 .elementor-heading-title,
.elementor-element-d207001 .elementor-heading-title,
.elementor-element-d301002 .elementor-heading-title,
.elementor-element-d302001 .elementor-heading-title,
.elementor-element-d402006 .elementor-heading-title,
.elementor-element-d403001 .elementor-heading-title,
.elementor-element-d502006 .elementor-heading-title,
.elementor-element-d503001 .elementor-heading-title,
.elementor-element-d702006 .elementor-heading-title,
.elementor-element-d703001 .elementor-heading-title,
.elementor-element-d802006 .elementor-heading-title,
.elementor-element-d803001 .elementor-heading-title,
.elementor-element-d902006 .elementor-heading-title,
.elementor-element-d903001 .elementor-heading-title,
.elementor-element-da02006 .elementor-heading-title,
.elementor-element-da03001 .elementor-heading-title,
.elementor-element-db02006 .elementor-heading-title,
.elementor-element-db03001 .elementor-heading-title,
.elementor-element-dc03001 .elementor-heading-title,
.elementor-element-dd02002 .elementor-heading-title,
.elementor-element-dd03003 .elementor-heading-title,
.elementor-element-dd03013 .elementor-heading-title,
.elementor-element-dd04001 .elementor-heading-title,
.elementor-element-dd04016 .elementor-heading-title,
.elementor-element-dd04025 .elementor-heading-title,
.elementor-element-dd04040 .elementor-heading-title,
.elementor-element-dd04052 .elementor-heading-title,
.elementor-element-dd04057 .elementor-heading-title,
.elementor-element-dd05001 .elementor-heading-title,
.elementor-element-dd06003 .elementor-heading-title,
.elementor-element-dd07003 .elementor-heading-title,
.elementor-element-d602002 .elementor-heading-title,
.elementor-element-d604007 .elementor-heading-title,
.elementor-element-d1201001 .elementor-heading-title,
.elementor-element-d1402001 .elementor-heading-title {
  color: #00003c !important;
}

/* Same fix, non-heading-title widgets: "Learn more →" service cards
   (text-editor widgets, text sits directly in .elementor-widget-container,
   no inner <a>/<p> wrapper), the About "See the types of care..." link
   (already had a stage-2 restoration rule making it gold on purpose —
   this appends AFTER it and wins on source order), and the Contact
   "Care & on-call support: 24/7" line (text-editor span, no shared class,
   no prior kit-CSS rule for this element at all). */
.elementor-element-d302010 .elementor-widget-container,
.elementor-element-d302016 .elementor-widget-container,
.elementor-element-d302022 .elementor-widget-container,
.elementor-element-d302028 .elementor-widget-container,
.elementor-element-d302034 .elementor-widget-container,
.elementor-element-d302040 .elementor-widget-container,
.elementor-element-d302046 .elementor-widget-container {
  color: #00003c !important;
}
.elementor-element-d205006 a {
  color: #00003c !important;
}
.elementor-element-d603016 .elementor-widget-container,
.elementor-element-d603016 p,
.elementor-element-d603016 span {
  color: #00003c !important;
}

/* --- 2. Gold-filled buttons: label + icon -> navy (measured ~6.4:1,
   matches the header's existing "AVAILABLE 24/7" badge, already navy-on-
   gold by design). One class covers every .ahs-btn-gold instance
   sitewide (gold_button() helper, 20+ call sites, all share this exact
   class pair). Icon uses currentColor so no separate fill rule is
   strictly required, but it's declared explicitly for certainty. */
.ahs-btn-gold .elementor-button,
.ahs-btn-gold .elementor-button-text,
.ahs-btn-gold .elementor-button-icon,
.ahs-btn-gold .elementor-button-icon i,
.ahs-btn-gold .elementor-button svg {
  color: #00003c !important;
  fill: #00003c !important;
}

/* --- 3. Muted grays collapse to source token --color-body-text-muted
   (#5a5a66, globals.css line 12). Replaces #8a8496 (breadcrumb "Home"/
   "Services" links, contact labels, legal dates, White Card sample-card
   caption) and rgb(138,138,160) (eligibility nav hint). Class-based
   where a shared class exists; per-ID heading/paragraph override where
   the color was set directly on the widget. */
.ahs-breadcrumb a,
.ahs-jump-label,
.ahs-eq-nav-hint {
  color: #5a5a66 !important;
}
.elementor-element-d603010 .elementor-heading-title,
.elementor-element-d603015 .elementor-heading-title,
.elementor-element-d603020 .elementor-heading-title {
  color: #5a5a66 !important;
}
.elementor-element-d1002002 p,
.elementor-element-d1102002 p,
.elementor-element-dd02008 p {
  color: #5a5a66 !important;
}

/* --- 4. Input/select/textarea border: #d5d0c7 measured 1.46:1 against
   the field's own #faf9f7 background — fails 1.4.11's 3:1 non-text
   threshold. No existing design-source token clears 3:1 while staying in
   the same warm-neutral family, so a new value was chosen and verified:
   #948d7b measures 3.14:1 against #faf9f7 and 3.30:1 against the
   surrounding page white — the lightest value in this hue that clears
   3:1 with a safety margin (the next step lighter, #96907e, measured
   3.03:1 — too close to the line to trust across rendering engines).
   Same 4 form containers as the existing border-radius/padding rules
   (kit custom_css ~1109 and ~4177). */
.elementor-element-c107007 .gform_wrapper input[type="text"],
.elementor-element-c107007 .gform_wrapper input[type="tel"],
.elementor-element-c107007 .gform_wrapper input[type="email"],
.elementor-element-c107007 .gform_wrapper select,
.elementor-element-c107007 .gform_wrapper textarea,
.elementor-element-c303007 .gform_wrapper input[type="text"],
.elementor-element-c303007 .gform_wrapper input[type="tel"],
.elementor-element-c303007 .gform_wrapper input[type="email"],
.elementor-element-c303007 .gform_wrapper select,
.elementor-element-c303007 .gform_wrapper textarea,
.elementor-element-c603023 .gform_wrapper input[type="text"],
.elementor-element-c603023 .gform_wrapper input[type="tel"],
.elementor-element-c603023 .gform_wrapper input[type="email"],
.elementor-element-c603023 .gform_wrapper select,
.elementor-element-c603023 .gform_wrapper textarea,
.elementor-element-c1403001 .gform_wrapper input[type="text"],
.elementor-element-c1403001 .gform_wrapper input[type="tel"],
.elementor-element-c1403001 .gform_wrapper input[type="email"],
.elementor-element-c1403001 .gform_wrapper select,
.elementor-element-c1403001 .gform_wrapper textarea {
  border-color: #948d7b !important;
}

/* --- 5. Footer legal links (Terms of Use / Privacy Policy): the <a>
   itself renders 19px tall (font-size 13.5px inside a 24px line-height
   that doesn't inflate an inline element's own hit box). Adding vertical
   padding to the inline anchor grows its own box/hit-area without
   changing the row's line-height (already 24px), so the footer's visible
   row height is unaffected. */
.elementor-element-d1f02003 a,
.elementor-element-d1f02004 a {
  padding-block: 3px !important;
}
/* ===== END STAGE 5 ACCESSIBILITY FIXES ===== */


/* ===== APPLY PASS ADDENDUM — 2026-08-11 =====
   Found while verifying the gold-button fix above: .ahs-btn-gold:hover
   .elementor-button (kit custom_css ~line 1481, pre-existing, not part of
   this pass) sets color:#ffffff on hover, independent of the default-state
   fix just applied. Measured: #ffffff on the hover background #a5854c
   (--color-gold-hover) = 3.47:1 — fails 4.5:1 at this button's 16px/800
   weight (does not meet the large-text threshold). Same rule Brad gave for
   the default state (navy label on any gold-family fill) applies here;
   fixed for consistency rather than leaving a hover-only regression.
   Measured after: #00003c on #a5854c = 5.69:1. */
.ahs-btn-gold:hover .elementor-button {
  color: #00003c !important;
}
/* ===== END APPLY PASS ADDENDUM ===== */


/* ===== APPLY PASS ADDENDUM 2 — 2026-08-11 =====
   Verification catch: the bare .ahs-eq-nav-hint rule in the main batch
   above lost to a pre-existing, more specific rule at kit custom_css
   ("13. NAV HINT" block): .elementor-element-c1403001 .gform_wrapper
   .ahs-eq-nav-hint{color:#8a8aa0!important} (specificity 0,3,0 beats the
   bare class's 0,1,0 regardless of source order once both sides use
   !important). Re-declared here at matching specificity so this rule
   wins on source order. Verified before: rgb(138,138,160) on white,
   3.37:1. Verified after: see report. */
.elementor-element-c1403001 .gform_wrapper .ahs-eq-nav-hint {
  color: #5a5a66 !important;
}
/* ===== END APPLY PASS ADDENDUM 2 ===== */


/* ===== APPLY PASS ADDENDUM 3 — 2026-08-11 =====
   Completes the source's own existing <700px stacked-hero fallback for the
   About and Careers photo heroes (kit custom_css: About block at
   "STAGE-2 FINE-TUNE — batch 5", Careers block mirroring it — both cite
   page.module.css's own <700px fallback, About lines 123-136, Careers
   lines 106-119). That fallback already recolors the H1 from cream to
   navy at <700px, because .elementor-element-c202007 / cc02002 (the
   heroOnPhoto wrapper carrying both the eyebrow AND the H1) switches from
   position:absolute (on-photo) to position:static (stacked above the
   photo) at that breakpoint, and hides the gradient overlay
   (c202008/cc02006) in the same block. The eyebrow (d202001 on About,
   dc02003 on Careers) is INSIDE that same repositioned wrapper and lands
   on the same plain white background the H1 does, but was not included
   when the H1 fallback was built — it was still carrying its base
   .ahs-eyebrow-hero color (#b8965a, unconditional, no media query) at
   every width, including <700px.

   Measured before (375px, both elements, confirmed via elementsFromPoint
   hit-testing that no <img> sits under the text at this width): gold
   #b8965a on white #ffffff = 2.78:1.
   Desktop (1280px) is untouched: both eyebrows still sit on the photo
   there and keep their base gold color, matching the H1's own precedent. */
@media (max-width: 700px) {
  .elementor-element-d202001 .elementor-heading-title {
    color: #00003c !important;
  }
  .elementor-element-dc02003 .elementor-heading-title {
    color: #00003c !important;
  }
}
/* ===== END APPLY PASS ADDENDUM 3 ===== */


/* ===== APPLY PASS ADDENDUM 4 — 2026-08-11 =====
   Fix for web-qa-qc's measured 39px horizontal page overflow on /white-card/
   (post 233) at 861px viewport, confined to the 861px-~1023px band (clean at
   375/768/859/1024/1440). Diagnosed cause: NOT a wrong column definition --
   .ahs-benefits-grid's own grid-template-columns:max-content max-content;
   gap:8px 30px stays byte-identical to page.module.css lines 417-420 and is
   NOT touched by this fix.

   Real cause: the outer detail-card grid (cd04021/cd04036/cd04048,
   display:grid!important;grid-template-columns:290px 1fr, this kit's own
   grid-conversion recipe, source page.module.css lines 333-344) sits >860px
   with its text-column cell sized by the 1fr track. cd04027/cd04042/cd04054
   (the text-column containers, one per detail card) are GRID ITEMS of that
   grid and, like all grid/flex items, default to min-width:auto -- a floor
   equal to their content's min-content width, not their assigned track
   size. Part E's text column (cd04054) contains dd04058, whose raw markup
   is <ul class="ahs-benefits-grid"> with two EXPLICIT max-content column
   tracks -- max-content is not an intrinsic "auto" sizing function, so it
   reports its full, non-negotiable natural width as its min-content
   contribution to every ancestor's auto-min-size floor. That floor pushes
   cd04054 (and, one flex layer up, dd04058, the text-editor widget that
   directly wraps the <ul> as a flex item of cd04054's native
   flex-direction:column) wider than the 1fr track's actual fair share in
   the 861-~1023px band specifically -- narrow enough that fair-share <
   ahs-benefits-grid's natural width, wide enough that the outer detailGrid
   no longer stacks to a single column (that only happens <=860px, where
   there is no track constraint at all and the band cannot occur). Past
   ~1024px the fair share alone exceeds the natural width and the floor
   stops mattering, matching web-qa-qc's own "clean at 1024" reading.
   Textbook "child refuses to shrink" case, not a value mismatch -- the
   source's own text column is a bare, unclassed <div> in normal block flow
   (page.tsx lines 210/220/258/268/294/304), never a flex or grid item, so
   it never had an automatic-minimum-size floor to begin with; Elementor's
   container defaults to display:flex, introducing failure modes the source
   markup structurally cannot have. Fix per the standard grid/flex
   auto-min-size escape hatch: min-width:0 on every item in this chain that
   inherits the floor. No grid-template-columns, gap, or breakpoint value
   changed anywhere in this rule. */
.elementor-element-cd04027,
.elementor-element-cd04042,
.elementor-element-cd04054 {
  min-width: 0 !important;
}
.elementor-element-dd04058 {
  min-width: 0 !important;
}
.ahs-benefits-grid {
  min-width: 0 !important;
}
/* ===== END APPLY PASS ADDENDUM 4 ===== */


/* ===== APPLY PASS ADDENDUM 5 — 2026-08-11 =====
   Coordinator follow-up to Addendum 4. Measured directly at 861px: overflow
   persisted (39px) even after min-width:0 correctly zeroed cd04054's and
   .ahs-benefits-grid's own container floors. Root cause of the residual:
   .ahs-benefits-grid's own grid-template-columns:max-content max-content
   (page.module.css line 419) declares its TRACKS as max-content, which is
   not a shrinkable sizing function regardless of how small the container
   (now correctly min-width:0) is permitted to become -- the container
   shrank as intended, its own tracks did not, so the tracks overflowed the
   container instead of the container overflowing its grid ancestor. This
   is a distinct failure mode from Addendum 4's (container refusing to
   shrink) and needed a separate fix at the track level, not a bigger
   min-width chain.

   Coordinator measured the CODED SOURCE at the same 861px width
   (https://at-home-staffing.netlify.app/white-card/) and found it overflows
   too -- 37px, same element (page_benefitsMayIncludeGrid__KEUKN), tracks
   computing 260.469px + 189.594px = 480px inside a container that cannot
   hold it. The source's own .benefitsMayIncludeGrid collapses to one column
   only at <=560px (page.module.css lines 424-427), while its own
   .detailGrid goes two-column starting at >860px (lines 333-344) -- leaving
   the exact same 861-1023px gap in the coded original. This is a
   pre-existing bug in the coded source; the conversion reproduced it
   faithfully (byte-identical grid-template-columns value), and this
   addendum is the one deliberate departure from "copy the source literal"
   on this page -- recorded here, with the source's own measured failure as
   justification, so this rule is never "corrected" back toward
   grid-template-columns:max-content max-content by a future pass.

   Fix: minmax(0, max-content) per track. Preserves max-content as the
   PREFERRED/ceiling size (so nothing changes anywhere there is enough room
   -- 1024px+ desktop and the <=560px single-column fallback are both
   governed by other rules/media queries and are untouched), but sets the
   floor to 0 instead of max-content, letting the two tracks shrink and
   their text wrap when the container (already correctly sized via
   Addendum 4's min-width:0 chain) is narrower than their combined natural
   width. The existing Addendum-4 min-width:0 rules on cd04027/cd04042/
   cd04054/dd04058/.ahs-benefits-grid are left in place -- still needed for
   the chain above the list itself. */
@media (min-width: 561px) {
  .ahs-benefits-grid {
    grid-template-columns: minmax(0, max-content) minmax(0, max-content) !important;
  }
}
/* Scoped to min-width:561px (exact complement of the source's own
   max-width:560px breakpoint, page.module.css line 424) so this never
   contests the pre-existing, correct, non-important <=560px single-column
   fallback a few lines above -- an unscoped !important rule would have won
   over that non-important rule regardless of media-query source order.
   Verified: without this scope, the freshly compiled CSS applied the
   minmax rule unconditionally, which would have overridden the 560px
   fallback; confirmed removed by re-grepping the scoped version below. */
/* ===== END APPLY PASS ADDENDUM 5 ===== */


/* ===== CLIENT EDIT ROUND 1 — 2026-08-13 ===== */

/* --- 1. Claims Assistance: bullet grid -> table layout -------------------
   Client: "the bullet-point layout feels a little awkward. Would it be
   possible to format this section as a table instead...?"
   The 8 items are literally "Claim type: what we do", i.e. tabular data.
   Measured at 1440px: label column of 340px yields ZERO wrapped labels
   (previously all 8 wrapped) and row heights of 85-111px (was 78-104 but
   ragged, because the old 2-col grid paired items of unequal height).
   Scoped to this one section so .ahs-dot-list elsewhere is untouched. */
.elementor-element-c903000 .ahs-dot-list {
  display: block !important;
  border-top: 1px solid #e5e0d6 !important;
  margin-top: 6px !important;
}
.elementor-element-c903000 .ahs-dot-list li {
  display: grid !important;
  grid-template-columns: 340px 1fr !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
  padding: 16px 2px !important;
  border-bottom: 1px solid #e5e0d6 !important;
  align-items: baseline !important;
}
/* the gold ::before dot is a list marker; a table uses row rules instead */
.elementor-element-c903000 .ahs-dot-list li::before {
  display: none !important;
}
.elementor-element-c903000 .ahs-dot-list li .ahs-item-label {
  color: #00003c !important;
}
@media (max-width: 1024px) {
  .elementor-element-c903000 .ahs-dot-list li {
    grid-template-columns: 250px 1fr !important;
    column-gap: 20px !important;
  }
}
@media (max-width: 767px) {
  /* stack label over description — a real <table> would overflow here */
  .elementor-element-c903000 .ahs-dot-list li {
    grid-template-columns: 1fr !important;
    row-gap: 5px !important;
    padding: 14px 2px !important;
  }
}

/* --- 2. White Card: reposition the Family Caregiver qualifier ------------
   Client: "There is a small-font sentence underneath Family Caregiver in the
   blue box... That sentence looks a little out of place."
   Cause: the qualifier used the SAME class as the body paragraph in the coded
   source (familyCaregiverText), so a footnote carried body-copy weight and sat
   between the pitch and the CTA. The card is display:flex/column, so `order`
   moves it after the link with no _elementor_data edit.
   Measured contrast of the muted colour on #00003c = 7.86:1 (passes AA). */
.elementor-element-dd05029 {
  margin-bottom: 16px !important;
}
.elementor-element-dd05030 {
  order: 1 !important;
  margin: 18px 0 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(231, 231, 238, .20) !important;
}
.elementor-element-dd05030 p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: rgba(231, 231, 238, .70) !important;
}

/* ===== CLIENT EDIT ROUND 1b — 2026-08-13 ===== */
/* White Card: EEOICPA disclaimer — was flush (0px) against the navy Family
   Caregiver card and left-aligned across the full content width while the card
   is centred. Centre it under the card and space it so it closes the section. */
.elementor-element-dd09001 {
  margin-top: 30px !important;
  text-align: center !important;
}
.elementor-element-dd09001 p {
  text-align: center !important;
}

/* ===== CLIENT EDIT ROUND 2 — 2026-08-13 — hero White Card chip ===== */
/* The chip wrapped to two rows on mobile (image above text) because the text
   container had an explicit width:295px against 297px of inner space. Source
   keeps them side by side. Measured match after this fix, both breakpoints:
   375px chip 147 / text 147; 1440px chip 109 / image 132 / text 230. */
.elementor-element-c101007 {
  flex: 1 1 0% !important;
  width: auto !important;
  min-width: 0 !important;
}
/* The chip label is not an .ahs-eyebrow, so the sitewide line-height:1.7
   restoration misses it. It rendered at 11px line-height on 11px text. */
.elementor-element-d101008 .elementor-heading-title {
  line-height: 1.7 !important;
}

/* ===== CLIENT EDIT ROUND 3 — 2026-08-13 — home White Card certificate ===== */
/* d104006 rendered 0x0 sitewide and never loaded. justify-self:center sizes a
   grid item to fit-content; its content is a lazy image, which contributes no
   size until it loads, and it can never load because a 0-area element never
   triggers the IntersectionObserver. stretch breaks the deadlock. The image
   keeps its own max-width:440px and stays centred, so nothing else shifts.
   After: 327x206 at 375px, 440x277 at 1440px — both match the coded source. */
.elementor-element-d104006 {
  justify-self: stretch !important;
}/* End custom CSS */