/* STG Design Patch 2.2.0 — overrides that align the Elementor build with the approved HTML design */

:root{--stg-navy:#0B2F8A;--stg-navy-d:#07206A;--stg-yellow:#FFD400;--stg-text:#1F2933;--stg-muted:#3D4651;--stg-gray:#5B6470;--stg-tint:#EEF2FA;--stg-paper:#FBFAF7;--stg-border:#E4E1D8;--stg-pale:#B9C7EC}

body{-webkit-font-smoothing:antialiased;background:var(--stg-paper)}
.elementor-widget-heading .elementor-heading-title{text-wrap:pretty}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor p{margin-bottom:.6em}
.elementor-widget-text-editor a{color:var(--stg-navy)}
.elementor-widget-text-editor a:hover{color:var(--stg-navy-d)}

/* Grid containers: rows size to content (Elementor imports 2 fixed rows → empty space) */
.e-con.e-grid>.e-con-inner,.e-con.e-grid:not(.e-con-boxed),.stg-grid>.e-con-inner,.stg-grid:not(.e-con-boxed){grid-template-rows:none!important;grid-auto-rows:auto!important}
.stg-grid>.e-con-inner>.e-con,.stg-grid:not(.e-con-boxed)>.e-con{min-width:0}

/* Eyebrow: yellow bar + small caps hug left */
.stg-eyebrow,.e-con:has(>.elementor-widget-divider+.elementor-widget-heading:last-child){justify-content:flex-start!important;flex-wrap:nowrap!important;align-items:center!important}
.stg-eyebrow>.elementor-widget,.e-con:has(>.elementor-widget-divider+.elementor-widget-heading:last-child)>.elementor-widget{width:auto!important;flex:0 0 auto!important}
.stg-eyebrow .elementor-divider{padding:0!important}
.stg-eyebrow .elementor-divider-separator{width:18px!important;border-top-width:3px!important;border-color:var(--stg-yellow)!important}

/* Any container that should hug its content (header groups) */
.stg-hug{--width:auto;width:auto!important;max-width:none!important;flex:0 0 auto!important}

/* Header — structure-independent: every box inside the header hugs its content */
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con){align-items:center!important;justify-content:space-between!important}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con),:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con)>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;min-height:44px}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con)>.e-con-inner{gap:24px;width:100%}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con{--width:auto;width:auto!important;max-width:none!important;flex:0 0 auto!important;display:flex!important;flex-wrap:nowrap!important;padding:0!important}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con:has(>.elementor-widget-theme-site-logo),:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con:has(>.elementor-widget-nav-menu),:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con:has(>.elementor-widget-button){flex-direction:row!important;align-items:center!important}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con:has(>.elementor-widget-theme-site-logo){gap:12px}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con:has(>.elementor-widget-nav-menu){gap:14px}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .e-con:has(>.elementor-widget-heading+.elementor-widget-heading){flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget{--container-widget-width:auto;width:max-content!important;max-width:none!important;flex:0 0 auto!important}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-nav-menu,:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu__container.elementor-nav-menu--main{width:max-content!important;min-width:0}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main{display:flex!important}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main .elementor-nav-menu{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;margin:0;padding:0;width:max-content}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main .elementor-nav-menu>li{display:block;width:auto;white-space:nowrap}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-button .elementor-button,:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-button .elementor-button-text{white-space:nowrap}
.stg-hug>.elementor-widget{--container-widget-width:auto;width:auto!important;max-width:none!important;flex:0 0 auto!important}
@media (min-width:1025px) and (max-width:1280px){:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main .elementor-item{font-size:13px;padding:8px 6px}:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con)>.e-con-inner{gap:12px}}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu a{white-space:nowrap}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main .elementor-item{font-size:15px;font-weight:500;color:var(--stg-muted);padding:8px 10px;border-bottom:2px solid transparent}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main .elementor-item:hover,:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--stg-navy);border-bottom-color:var(--stg-yellow)}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-theme-site-logo img{width:40px;height:40px;object-fit:contain}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-heading .elementor-heading-title{line-height:1.1}
:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-menu-toggle{min-width:44px;min-height:44px;border:1px solid var(--stg-border);border-radius:6px;background:#fff;color:var(--stg-navy)}

/* Hero: photo cropped 5:4, caption card overlays bottom-left */
.stg-hero-media{position:relative!important}
.e-con:has(>.stg-hero-card){position:relative!important}
.stg-hero-media .elementor-widget-image img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:14px;display:block}
.stg-hero-card{position:absolute!important;left:-8px;bottom:28px;max-width:280px;width:auto!important;box-shadow:0 10px 30px rgba(11,47,138,.08);pointer-events:none;z-index:2}
.stg-hero-card .elementor-heading-title{text-wrap:balance}

/* Cycle diagram: timeline rail with dots */
.stg-cycle .elementor-icon-list-items{border-left:2px solid var(--stg-pale);margin-left:5px;padding-left:20px}
.stg-cycle .elementor-icon-list-item{padding-top:0;padding-bottom:18px}
.stg-cycle .elementor-icon-list-item:last-child{padding-bottom:0}
.stg-cycle .elementor-icon-list-icon{margin-left:-27px;background:var(--stg-tint);line-height:0;padding:2px 0}
.stg-cycle .elementor-icon-list-icon svg{width:12px;height:12px;fill:#fff;stroke:var(--stg-navy);stroke-width:2px}
.stg-cycle .elementor-icon-list-icon svg path{fill:#fff;stroke:var(--stg-navy);stroke-width:48px}
.stg-cycle>.elementor-widget-heading:last-child{margin-left:5px;padding-left:20px;border-left:2px solid var(--stg-pale)}

/* Yellow-underline "link" buttons (pathway cards, small CTAs) — render as inline text links */
.stg-linkbtn{width:auto!important;max-width:100%!important;align-self:flex-start;margin-top:auto}
.stg-linkbtn .elementor-button-wrapper{text-align:left;display:block}
.stg-linkbtn .elementor-button,.stg-linkbtn .elementor-button-link{display:inline!important;padding:0!important;margin:0!important;border-radius:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--stg-navy)!important;text-align:left!important;white-space:normal;line-height:1.8;font-weight:600;text-decoration:none}
.stg-linkbtn .elementor-button-content-wrapper{display:inline!important}
.stg-linkbtn .elementor-button-text{display:inline!important;flex:none!important;text-align:left!important;border-bottom:2px solid var(--stg-yellow);padding-bottom:1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.stg-linkbtn .elementor-button:hover .elementor-button-text{color:var(--stg-navy-d)}
.stg-card>.stg-linkbtn{margin-top:auto!important}
/* Arrows in any button stay on the same line as the last word */
.elementor-button .elementor-button-text{text-wrap:pretty}

/* Card rows: equal heights, headings breathe */
.stg-card>.elementor-widget-heading .elementor-heading-title{text-wrap:balance}
.e-con.e-flex>.stg-card{align-self:stretch}

/* Cards */
.stg-card{min-width:0}
.stg-card .elementor-widget-button .elementor-button-wrapper{text-align:left}
a.e-con.stg-card:hover,.e-con.stg-card[href]:hover{border-color:var(--stg-navy)!important;background:#fff!important}

/* FAQ — nested accordion */
.stg-faq,.e-n-accordion{--n-accordion-title-justify-content:space-between;--n-accordion-title-icon-order:1;--n-accordion-title-flex-grow:1;--n-accordion-border-width:0;--n-accordion-border-color:transparent;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px}
.e-n-accordion-item{border:0!important;border-bottom:1px solid var(--stg-border)!important;border-radius:0!important;background:transparent!important}
.e-n-accordion-item-title{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;text-align:left!important;padding:22px 0!important;gap:20px;cursor:pointer;border:0!important;background:transparent!important}
.e-n-accordion-item-title-header{order:0!important;flex:1 1 auto!important;text-align:left!important;display:flex;align-items:center}
.e-n-accordion-item-title-text{font-family:Newsreader,Georgia,serif;font-size:24px;line-height:1.3;color:var(--stg-navy);font-weight:400;text-align:left;margin:0}
.e-n-accordion-item-title-icon{order:1!important;flex:0 0 32px;width:32px;height:32px;border:1.5px solid var(--stg-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s;margin:0!important}
.e-n-accordion-item-title-icon svg,.e-n-accordion-item-title-icon i{width:13px;height:13px;font-size:13px;fill:var(--stg-navy);color:var(--stg-navy)}
.e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon{transform:rotate(180deg)}
.e-n-accordion-item>.e-con{padding:0 48px 26px 0!important;border:0!important;background:transparent!important}
.e-n-accordion-item>.e-con .elementor-widget-text-editor{font-size:17px;line-height:1.6;color:var(--stg-text)}
/* FAQ — classic accordion fallback */
.stg-faq .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--stg-border)}
.stg-faq .elementor-tab-title{padding:22px 0}
.stg-faq .elementor-tab-content{padding:0 48px 26px 0;border:0}

/* Accessibility: visible keyboard focus, sensible measure for text-only columns */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,summary:focus-visible,.elementor-item:focus-visible{outline:3px solid var(--stg-yellow)!important;outline-offset:3px;border-radius:4px}
.stg-measure{max-width:72ch}
.elementor-widget-image:not(:has(img)){display:none}

/* Screening & clinical review card in the CTA band */
.stg-screening-card .elementor-icon-list-text{color:#FFFFFF}
.stg-screening-card .elementor-button{width:100%;justify-content:center}
.stg-screening-block .elementor-icon-list-items{margin:0}

/* Icon lists */
.elementor-icon-list-items .elementor-icon-list-icon{margin-top:.15em;align-self:flex-start}

/* Footer */
.stg-footer .e-con>.e-con{min-width:0}
.stg-footer .elementor-icon-list-item a{color:var(--stg-text)}
.stg-footer .elementor-icon-list-item a:hover{color:var(--stg-navy)}

/* Responsive safety net */
@media (max-width:1024px){
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--main{display:none!important}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-menu-toggle{display:flex}
  :is(:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con)>.e-con-inner,:is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con):not(.e-con-boxed))>.e-con>.e-con .elementor-heading-title{font-size:15px}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-nav-menu{width:auto!important}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-nav-menu--dropdown{width:100vw;left:0}
  .e-con.e-flex>.e-con[style*="--width"]{max-width:100%}
}
@media (max-width:767px){
  .e-con.e-parent.e-con-boxed{--padding-left:20px!important;--padding-right:20px!important;--padding-top:48px!important;--padding-bottom:48px!important}
  .e-con.e-flex>.e-con.e-child{--width:100%!important;width:100%!important}
  .e-con.e-flex.e-child[class*="e-con"]:not(.stg-eyebrow):not(.stg-hug){--flex-direction:column;--container-widget-width:100%}
  .stg-grid>.e-con-inner,.stg-grid:not(.e-con-boxed){--e-con-grid-template-columns:repeat(1,1fr)!important}
  .elementor-widget-heading .elementor-heading-title{overflow-wrap:anywhere}
  .elementor-widget-text-editor{font-size:17px}
  .elementor-widget-button .elementor-button{white-space:normal}
  .stg-hero-media .elementor-widget-image img{aspect-ratio:4/3}
  .stg-cycle{width:100%!important}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con){--padding-left:16px!important;--padding-right:16px!important}
  .stg-hero-card{position:static!important;left:auto;bottom:auto;max-width:none;margin-top:12px;pointer-events:auto}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-button .elementor-button{padding:11px 14px;font-size:14px}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con)>.e-con-inner{gap:10px}
  :is(.stg-header,.elementor-location-header>.e-con,.elementor-location-header>.elementor-section-wrap>.e-con) .elementor-widget-heading:first-of-type .elementor-heading-title{font-size:10px}
  .e-n-accordion-item>.e-con{padding-right:0!important}
  .e-n-accordion-item-title-text{font-size:20px}
}

/* 2.2 — header safety net regardless of classes */
.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu{display:flex!important;flex-wrap:nowrap!important;width:max-content}
.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li{white-space:nowrap}
.elementor-location-header .elementor-widget-nav-menu{width:max-content!important;max-width:none!important;flex:0 0 auto!important}
.elementor-location-header .elementor-widget-button{width:max-content!important;flex:0 0 auto!important}
.elementor-location-header .e-con.e-con{position:static!important}
.elementor-location-header .elementor-widget-text-editor p{margin:0}
@media (max-width:1024px){.elementor-location-header .elementor-nav-menu--dropdown{position:absolute;left:0;right:0;top:100%;width:100%;background:#fff;border-top:1px solid var(--stg-border);z-index:60}.elementor-location-header>.e-con{position:sticky!important}}

/* 2.2 — two-column lists share the row */
.stg-list-cols>.e-con{flex:1 1 0!important;min-width:0;width:auto!important}
.stg-list-cols .elementor-icon-list-items{margin:0}

/* 2.2 — arrow text links (mid-page "Not sure what fits? →") */
.stg-linkbtn .elementor-button{border:0!important}
