/* Design System v4 global layer (HFCM #20). On production it also styles the ad landing pages, so it is loaded there to keep them pixel-identical. */

/* ============================================================
   DESIGN SYSTEM v4 â GLOBAL (site-wide: Astra + Spectra/UAGB)
   Scoped to body:not(.lp-template) so landing pages are untouched.
   Phase 1: typography, canvas, buttons, nav, accents.
   Deeper per-section color work happens in page-by-page rebuilds.
   ============================================================ */

body:not(.lp-template){
  --blue-deep:#1A4E8F; --blue-mid:#2B6CBF; --blue-light:#4A8FE0; --blue-pale:#E8F1FB;
  --cream:#FAF8F4; --cream-dark:#F0EDE7; --gold:#C8973A; --gold-light:#F0E0B8;
  --ink:#1A1927; --ink-muted:#5A5872; --ink-light:#9896AC; --white:#FFFFFF;
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'DM Sans',system-ui,-apple-system,sans-serif;
}

/* ---------- CANVAS ---------- */
body:not(.lp-template){
  background-color:var(--cream) !important;
  font-family:var(--font-body) !important;
}

/* ---------- BODY TEXT â DM Sans (font only; leave colors intact) ---------- */
body:not(.lp-template) p,
body:not(.lp-template) li,
body:not(.lp-template) .entry-content,
body:not(.lp-template) .uagb-ifb-desc,
body:not(.lp-template) .uagb-ifb-text-wrap,
body:not(.lp-template) .wp-block-uagb-info-box p,
body:not(.lp-template) .ast-container,
body:not(.lp-template) .widget,
body:not(.lp-template) input,
body:not(.lp-template) textarea,
body:not(.lp-template) select{
  font-family:var(--font-body) !important;
}

/* ---------- HEADINGS â Fraunces, sentence case ---------- */
body:not(.lp-template) h1,
body:not(.lp-template) h2,
body:not(.lp-template) h3,
body:not(.lp-template) h4,
body:not(.lp-template) h5,
body:not(.lp-template) h6,
body:not(.lp-template) .wp-block-heading,
body:not(.lp-template) .uagb-heading-text,
body:not(.lp-template) .uagb-ifb-title,
body:not(.lp-template) .entry-title{
  font-family:var(--font-display) !important;
  text-transform:none !important;
  letter-spacing:-0.025em !important;
  font-weight:400 !important;
  line-height:1.12 !important;
}
/* italic accent for <em> inside headings */
body:not(.lp-template) h1 em,
body:not(.lp-template) h2 em,
body:not(.lp-template) h3 em,
body:not(.lp-template) .uagb-heading-text em,
body:not(.lp-template) .uagb-ifb-title em{
  font-style:italic !important;
  color:var(--blue-mid) !important;
}

/* ---------- CONTENT LINKS â blue ---------- */
body:not(.lp-template) .entry-content a:not(.wp-block-button__link):not(.ast-button):not(.uagb-buttons-repeater):not(.ast-custom-button-link),
body:not(.lp-template) .uagb-ifb-cta a{
  color:var(--blue-deep);
}

/* ---------- BUTTONS â pill, blue, DM Sans ---------- */
body:not(.lp-template) .ast-button,
body:not(.lp-template) .wp-block-button__link,
body:not(.lp-template) .uagb-buttons-repeater,
body:not(.lp-template) .uagb-ifb-cta-link.wp-block-button__link,
body:not(.lp-template) .menu-link.ast-menu-toggle,
body:not(.lp-template) button.menu-toggle{
  background-color:var(--blue-deep) !important;
  background-image:none !important;
  color:var(--white) !important;
  border:2px solid var(--blue-deep) !important;
  border-radius:100px !important;
  font-family:var(--font-body) !important;
  font-weight:500 !important;
  letter-spacing:0.2px !important;
  text-transform:none !important;
  transition:background-color .2s, border-color .2s, transform .15s !important;
}
body:not(.lp-template) .ast-button:hover,
body:not(.lp-template) .wp-block-button__link:hover,
body:not(.lp-template) .uagb-buttons-repeater:hover,
body:not(.lp-template) .uagb-ifb-cta-link.wp-block-button__link:hover{
  background-color:var(--blue-mid) !important;
  border-color:var(--blue-mid) !important;
  color:var(--white) !important;
  transform:translateY(-1px);
}
/* button text inside spectra repeater */
body:not(.lp-template) .uagb-buttons-repeater .uagb-button__wrapper,
body:not(.lp-template) .uagb-buttons-repeater span{ color:var(--white) !important; }

/* ---------- HEADER "Book Now" custom button: style INNER pill only ----------
   .ast-custom-button-link is a full-header-height click wrapper; bordering it
   produced stray vertical lines beside the button. Neutralize it; style the
   inner .ast-custom-button pill instead. */
body:not(.lp-template) .ast-custom-button-link{
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-radius:0 !important;
}
body:not(.lp-template) .ast-custom-button{
  background-color:var(--blue-deep) !important;
  color:var(--white) !important;
  border:2px solid var(--blue-deep) !important;
  border-radius:100px !important;
  font-family:var(--font-body) !important;
  font-weight:500 !important;
  letter-spacing:0.2px !important;
  transition:background-color .2s, border-color .2s, transform .15s !important;
}
body:not(.lp-template) .ast-custom-button-link:hover .ast-custom-button{
  background-color:var(--blue-mid) !important;
  border-color:var(--blue-mid) !important;
  color:var(--white) !important;
  transform:translateY(-1px);
}

/* ---------- TOP BAR (above header) â deep blue, white text ---------- */
body:not(.lp-template) .ast-above-header-bar,
body:not(.lp-template) .ast-above-header-bar .ast-above-header-wrap,
body:not(.lp-template) .ast-above-header-bar .ast-builder-layout-element{
  background-color:var(--blue-deep) !important;
}
body:not(.lp-template) .ast-above-header-bar,
body:not(.lp-template) .ast-above-header-bar *,
body:not(.lp-template) .ast-above-header-bar a{
  color:var(--white) !important;
}
body:not(.lp-template) .ast-above-header-bar a:hover{ opacity:.85; }

/* ---------- PRIMARY HEADER â white bg, refined nav ---------- */
body:not(.lp-template) .ast-primary-header-bar,
body:not(.lp-template) .site-header .main-header-bar{
  background-color:var(--white) !important;
  border-bottom:1px solid rgba(26,78,143,0.08) !important;
}
body:not(.lp-template) .main-header-menu > .menu-item > .menu-link,
body:not(.lp-template) .ast-primary-header-bar .menu-item > a{
  font-family:var(--font-body) !important;
  font-weight:500 !important;
  text-transform:none !important;
  color:var(--ink) !important;
}
body:not(.lp-template) .main-header-menu > .menu-item > .menu-link:hover{ color:var(--blue-deep) !important; }
/* dropdown submenus */
body:not(.lp-template) .ast-primary-header-bar .sub-menu{ background-color:var(--white) !important; }
body:not(.lp-template) .ast-primary-header-bar .sub-menu a{ color:var(--ink) !important; font-family:var(--font-body) !important; }

/* ---------- SECTION DIVIDER LINES â gold ---------- */
body:not(.lp-template) .uagb-separator,
body:not(.lp-template) .wp-block-separator{
  border-color:var(--gold) !important;
  background-color:var(--gold) !important;
  color:var(--gold) !important;
}

/* ---------- Hide legacy Astra footer CTA (replaced by editorial CTA via mu-plugin) ---------- */
body:not(.lp-template) .site-primary-footer-wrap{ display:none !important; }

/* ---------- FOOTER â ink ---------- */
body:not(.lp-template) .site-footer,
body:not(.lp-template) .ast-footer-overlay,
body:not(.lp-template) footer.site-footer .ast-footer-wrap{
  background-color:var(--ink) !important;
}
body:not(.lp-template) .site-footer h1,
body:not(.lp-template) .site-footer h2,
body:not(.lp-template) .site-footer h3,
body:not(.lp-template) .site-footer h4{ color:var(--white) !important; }
body:not(.lp-template) .site-footer p,
body:not(.lp-template) .site-footer li,
body:not(.lp-template) .site-footer a{ color:rgba(255,255,255,0.7) !important; }
body:not(.lp-template) .site-footer a:hover{ color:var(--white) !important; }

/* ============================================================
   HOME SERVICES GRID â clean editorial cards (matches LP card style)
   Scoped to the services section root container .uagb-block-srrqbg4k
   ============================================================ */
body:not(.lp-template) .uagb-block-srrqbg4k{ background-color:var(--cream) !important; }

/* "Meet Your Lawndale Dental Team" section â white band (cream/white rhythm) */
body:not(.lp-template) .uagb-block-b7d94873{ background-color:var(--white) !important; }

/* card surface â both rows (row1 .uagb-block-0i6k4cb6, row2 .uagb-block-82e22557) */
body:not(.lp-template) .uagb-block-0i6k4cb6 > .wp-block-uagb-container,
body:not(.lp-template) .uagb-block-82e22557 > .wp-block-uagb-container{
  background-color:var(--white) !important;
  border:1px solid rgba(26,78,143,0.10) !important;
  border-radius:18px !important;
  padding:34px 30px !important;
  box-shadow:0 1px 3px rgba(26,25,39,0.04) !important;
  transition:transform .2s, box-shadow .2s !important;
}
body:not(.lp-template) .uagb-block-0i6k4cb6 > .wp-block-uagb-container:hover,
body:not(.lp-template) .uagb-block-82e22557 > .wp-block-uagb-container:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 40px rgba(26,78,143,0.10) !important;
}

/* icon â circular blue-pale chip with a blue line-icon (per-service) */
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-iconbox-icon-wrap{
  width:54px !important; height:54px !important;
  min-width:54px !important;
  background-color:var(--blue-pale) !important;
  border-radius:50% !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  margin:0 !important;
}
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-iconbox-icon-wrap svg{
  width:27px !important; height:27px !important;
  fill:none !important;
  stroke:var(--blue-deep) !important;
  color:var(--blue-deep) !important;
}

/* heading */
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-ifb-title{
  font-family:var(--font-display) !important;
  font-size:23px !important; font-weight:400 !important;
  letter-spacing:-0.02em !important; line-height:1.15 !important;
  color:var(--ink) !important; text-transform:none !important;
}

/* description */
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-ifb-desc{
  font-family:var(--font-body) !important;
  font-size:15px !important; color:var(--ink-muted) !important;
  line-height:1.6 !important; font-weight:300 !important;
}

/* Read More â clean blue text link (override the pill). Cards use .uagb-buttons-repeater. */
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-buttons-repeater,
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-infobox-cta-link.wp-block-button__link{
  background:transparent !important; background-color:transparent !important;
  border:none !important; border-radius:0 !important;
  box-shadow:none !important;
  color:var(--blue-deep) !important;
  font-family:var(--font-body) !important; font-weight:600 !important;
  font-size:14px !important; padding:0 !important; letter-spacing:0.2px !important;
}
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-buttons-repeater:hover,
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-infobox-cta-link.wp-block-button__link:hover{
  background:transparent !important; color:var(--blue-mid) !important; transform:none !important;
}
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-buttons-repeater .uagb-button__wrapper,
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-buttons-repeater span{ color:var(--blue-deep) !important; }
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-buttons-repeater:hover .uagb-button__wrapper,
body:not(.lp-template) .uagb-block-srrqbg4k .uagb-buttons-repeater:hover span{ color:var(--blue-mid) !important; }

/* ============================================================
   MEET YOUR TEAM â "Read More" â clean blue text-link
   The info-box CTA uses .uagb-infobox-cta-link (not .uagb-buttons-repeater)
   ============================================================ */
body:not(.lp-template) .uagb-block-b7d94873 .uagb-infobox-cta-link.wp-block-button__link{
  background:transparent !important; background-color:transparent !important;
  border:none !important; border-radius:0 !important; box-shadow:none !important;
  color:var(--blue-deep) !important;
  font-family:var(--font-body) !important; font-weight:600 !important;
  font-size:14px !important; padding:0 !important; letter-spacing:0.2px !important;
}
body:not(.lp-template) .uagb-block-b7d94873 .uagb-infobox-cta-link.wp-block-button__link:hover{
  background:transparent !important; color:var(--blue-mid) !important;
  transform:none !important;
}

/* ============================================================
   INSURANCE SECTION â "We make it easy to pay for care"
   Used on Home (replaces dark CTA) and reusable site-wide.
   Scoped to body:not(.lp-template); LP has its own identical rules in snippet #19.
   ============================================================ */
body:not(.lp-template) .ds-section{ padding:96px 24px; }
body:not(.lp-template) .ds-insurance{
  background:var(--white);
  /* full-bleed: break out of Astra's constrained content column */
  width: auto !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
body:not(.lp-template) .ds-container{ max-width:1160px; margin:0 auto; }
body:not(.lp-template) .ds-insurance-layout{
  display:grid; grid-template-columns:1fr 400px; gap:72px; align-items:start;
}
body:not(.lp-template) .ds-section-label{
  display:inline-block; font-family:var(--font-body) !important;
  font-size:12px; font-weight:600; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--blue-mid) !important; margin-bottom:16px;
}
body:not(.lp-template) .ds-section-heading{
  font-family:var(--font-display) !important;
  font-size:clamp(34px,4vw,52px) !important; font-weight:400 !important;
  line-height:1.08 !important; letter-spacing:-0.03em !important;
  color:var(--ink) !important; margin:0 0 20px 0 !important; text-transform:none !important;
}
body:not(.lp-template) .ds-section-heading em{
  font-style:italic !important; color:var(--blue-mid) !important;
}
body:not(.lp-template) .ds-section-sub{
  font-family:var(--font-body) !important; font-size:16px !important;
  color:var(--ink-muted) !important; line-height:1.6 !important;
  font-weight:300 !important; margin:0 0 32px 0 !important;
}
body:not(.lp-template) .ds-insurance-list{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:10px 16px; list-style:none; padding:0 !important; margin:0 !important;
}
body:not(.lp-template) .ds-insurance-list li{
  font-family:var(--font-body) !important; font-size:14px !important;
  font-weight:400 !important; color:var(--ink-muted) !important;
  padding-left:18px !important; position:relative;
}
body:not(.lp-template) .ds-insurance-list li::before{
  content:''; position:absolute; left:0; top:7px;
  width:6px; height:6px; background:var(--blue-mid); border-radius:50%;
}
body:not(.lp-template) .ds-insurance-cta{
  background:var(--blue-pale); border-radius:20px;
  padding:40px 36px; position:sticky; top:32px;
}
body:not(.lp-template) .ds-insurance-cta h3{
  font-family:var(--font-display) !important; font-size:26px !important;
  font-weight:400 !important; letter-spacing:-0.025em !important;
  line-height:1.2 !important; color:var(--ink) !important;
  margin:0 0 12px 0 !important; text-transform:none !important;
}
body:not(.lp-template) .ds-insurance-cta > p{
  font-size:15px !important; color:var(--ink-muted) !important;
  line-height:1.6 !important; font-weight:300 !important; margin:0 0 28px 0 !important;
}
body:not(.lp-template) .ds-insurance-cta .ds-btn{
  display:inline-block; border-radius:100px !important;
  font-family:var(--font-body) !important; font-weight:600 !important;
  font-size:15px !important; text-decoration:none !important; padding:14px 28px !important;
  transition:all .2s;
}
body:not(.lp-template) .ds-insurance-cta .ds-btn-primary{
  background:var(--blue-deep) !important; color:var(--white) !important;
  border:2px solid var(--blue-deep) !important;
}
body:not(.lp-template) .ds-insurance-cta .ds-btn-primary:hover{
  background:var(--blue-mid) !important; border-color:var(--blue-mid) !important;
}
@media(max-width:900px){
  body:not(.lp-template) .ds-insurance-layout{ grid-template-columns:1fr; gap:48px; }
  body:not(.lp-template) .ds-insurance-list{ grid-template-columns:repeat(2,1fr); }
  body:not(.lp-template) .ds-insurance-cta{ position:static; }
}
@media(max-width:600px){
  body:not(.lp-template) .ds-section{ padding:64px 20px; }
  body:not(.lp-template) .ds-insurance-list{ grid-template-columns:1fr 1fr; }
}

/* ============================================================
   HERO ROOT CONTAINER â z-index:1 so hero sits above subsequent sections.
   Required: the images use a negative bottom-margin to overlap the stat
   counter section below. Before my inner-blocks-wrap stacking context change,
   the UAGB grid's z-index:1 bubbled to the document level. Now it's trapped
   inside inner-blocks-wrap's stacking context, so we need the root container
   itself at z-index:1 to restore the overlap.
   ============================================================ */
body:not(.lp-template) .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child{
  position: relative;
  z-index: 1;
}

/* Fix 10,000+ counter: uses var(--ast-global-color-0) which resolves to grey;
   the other two counters hardcode #3b67ba */
body:not(.lp-template) .uagb-block-2cde7c70 .wp-block-uagb-counter__number,
body:not(.lp-template) .uagb-block-2cde7c70 .uagb-counter-block-number,
body:not(.lp-template) .uagb-block-2cde7c70 .uagb-counter-block-suffix{
  color: var(--blue-mid) !important;
}

/* ============================================================
   DECORATIVE BLUE CIRCLE â kirrors LP .ds-hero-bg-shape
   Anchored to the content column (inner-blocks-wrap), NOT the full-width
   root container. right:-120px is 120px past the content column's right
   edge â same relative position as the LP â so the circle tracks the image,
   not the viewport edge. z-index:-1 within the inner-blocks-wrap stacking
   context keeps it behind all content at every viewport width.
   ============================================================ */
body:not(.lp-template) .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child > .uagb-container-inner-blocks-wrap{
  position: relative;
  z-index: 0; /* stacking context: circle at z-index:-1 stays below content */
}
body:not(.lp-template) .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child > .uagb-container-inner-blocks-wrap::before{
  content: '';
  position: absolute;
  top: -80px;
  right: -120px;
  width: 540px;
  height: 540px;
  background: #E8F1FB;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
}
@media(max-width:900px){
  body:not(.lp-template) .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child > .uagb-container-inner-blocks-wrap::before{
    display: none;
  }
}

/* ============================================================
   REUSABLE COMPONENTS â Ticker + Editorial CTA
   Injected via mu-plugin hooks on allowlisted pages.
   Wrapped in .ds-global so styles stay self-contained.
   ============================================================ */

/* ----- TICKER (placed in-content; breaks out of Astra's 1200px content box to full width) ----- */
body:not(.lp-template) .entry-content > .ds-global-ticker-wrap,
.ds-global-ticker-wrap{
  background:var(--blue-deep,#1A4E8F);
  padding:14px 0; overflow:hidden;
  width:auto !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
.ds-global-ticker{
  display:flex; gap:0; white-space:nowrap;
  animation:dsg-ticker 32s linear infinite;
}
.ds-global-ticker-item{
  display:inline-flex; align-items:center; gap:16px; padding:0 32px;
  font-family:'DM Sans',system-ui,sans-serif; font-size:14px; font-weight:400;
  color:rgba(255,255,255,0.82); letter-spacing:0.3px; flex-shrink:0;
}
.ds-global-ticker-dot{ width:5px; height:5px; background:#C8973A; border-radius:50%; flex-shrink:0; }
@keyframes dsg-ticker{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ----- EDITORIAL FINAL CTA ----- */
.ds-global-cta{
  background:#1A4E8F; padding:88px 24px; text-align:center;
  position:relative; overflow:hidden;
}
.ds-global-cta::before{
  content:''; position:absolute; top:-120px; left:50%; transform:translateX(-50%);
  width:600px; height:600px; background:rgba(255,255,255,0.04); border-radius:50%;
}
.ds-global-cta-inner{ max-width:680px; margin:0 auto; position:relative; }
.ds-global-cta h2{
  font-family:'Fraunces',Georgia,serif !important; font-weight:400 !important;
  font-size:clamp(34px,4.5vw,58px) !important; line-height:1.08 !important;
  letter-spacing:-0.03em !important; color:#FFFFFF !important; margin:0 0 16px 0 !important;
  text-transform:none !important;
}
.ds-global-cta h2 em{ font-style:italic !important; color:#F0E0B8 !important; }
.ds-global-cta p{
  font-family:'DM Sans',system-ui,sans-serif !important; font-size:18px !important;
  color:rgba(255,255,255,0.82) !important; max-width:480px; margin:0 auto 36px !important;
  font-weight:300 !important; line-height:1.6 !important;
}
.ds-global-cta-actions{ display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
.ds-global-cta a.dsg-btn-white{
  display:inline-block; background:#FFFFFF !important; color:#1A4E8F !important;
  padding:15px 34px !important; border-radius:100px !important; font-size:15px !important;
  font-weight:600 !important; text-decoration:none !important; border:2px solid #FFFFFF !important;
  font-family:'DM Sans',system-ui,sans-serif !important; transition:all .2s;
}
.ds-global-cta a.dsg-btn-white:hover{ background:#F0E0B8 !important; border-color:#F0E0B8 !important; color:#1A4E8F !important; }
.ds-global-cta a.dsg-btn-ghost{
  display:inline-block; background:transparent !important; color:#FFFFFF !important;
  padding:15px 34px !important; border-radius:100px !important; font-size:15px !important;
  font-weight:400 !important; text-decoration:none !important;
  border:1.5px solid rgba(255,255,255,0.35) !important;
  font-family:'DM Sans',system-ui,sans-serif !important; transition:all .2s;
}
.ds-global-cta a.dsg-btn-ghost:hover{ border-color:rgba(255,255,255,0.7) !important; color:#FFFFFF !important; }

@media (max-width:900px){
  .ds-global-cta{ padding:64px 20px; }
}

/* ============================================================
   CONTACT PAGE â editorial form section (page-id-301)
   Mirrors LP form aesthetic: centered heading + narrow white card.
   Scoped tightly so no other page is affected.
   ============================================================ */
body:not(.lp-template).page-id-301 .ds-contact-form-section{
  background: var(--cream);
  padding: 96px 24px 80px;
  text-align: center;
}
body:not(.lp-template).page-id-301 .ds-contact-form-inner{
  max-width: 680px;
  margin: 0 auto;
}
body:not(.lp-template).page-id-301 .ds-contact-heading{
  font-family: var(--font-display) !important;
  font-size: clamp(38px,5vw,58px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
  color: var(--ink) !important;
  margin: 0 0 16px 0 !important;
  text-transform: none !important;
}
body:not(.lp-template).page-id-301 .ds-contact-heading em{
  font-style: italic !important;
  color: var(--blue-mid) !important;
}
body:not(.lp-template).page-id-301 .ds-contact-sub{
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  color: var(--ink-muted) !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
  margin: 0 0 40px 0 !important;
}
body:not(.lp-template).page-id-301 .ds-contact-sub a{
  color: var(--blue-deep) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
body:not(.lp-template).page-id-301 .ds-contact-form-card{
  background: var(--white);
  border-radius: 20px;
  padding: 44px 40px;
  box-shadow: 0 2px 24px rgba(26,78,143,0.08);
  text-align: left;
}
/* SureForms: strip default chrome inside the card */
body:not(.lp-template).page-id-301 .srfm-form-container{
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
/* Labels */
body:not(.lp-template).page-id-301 .srfm-block-label{
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  letter-spacing: 0.3px !important;
  margin-bottom: 6px !important;
}
/* Input + textarea fields */
body:not(.lp-template).page-id-301 .srfm-input-common{
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  border: 1.5px solid rgba(26,78,143,0.18) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  color: var(--ink) !important;
  background: var(--white) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
body:not(.lp-template).page-id-301 .srfm-input-common:focus{
  border-color: var(--blue-mid) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(43,108,191,0.12) !important;
}
/* Dropdown (TomSelect) */
body:not(.lp-template).page-id-301 .srfm-dropdown-common.ts-wrapper .ts-control,
body:not(.lp-template).page-id-301 .ts-control{
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  border: 1.5px solid rgba(26,78,143,0.18) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  background: var(--white) !important;
}
/* Submit button */
body:not(.lp-template).page-id-301 .srfm-submit-button{
  background: var(--blue-deep) !important;
  color: var(--white) !important;
  border: 2px solid var(--blue-deep) !important;
  border-radius: 100px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background-color .2s, border-color .2s, transform .15s !important;
  width: 100% !important;
  letter-spacing: 0.2px !important;
}
body:not(.lp-template).page-id-301 .srfm-submit-button:hover{
  background: var(--blue-mid) !important;
  border-color: var(--blue-mid) !important;
  transform: translateY(-1px) !important;
}
@media(max-width:600px){
  body:not(.lp-template).page-id-301 .ds-contact-form-section{ padding: 64px 20px; }
  body:not(.lp-template).page-id-301 .ds-contact-form-card{ padding: 28px 20px; border-radius: 16px; }
}

/* ============================================================
   FIX: Service-section body paragraphs â DM Sans
   UAGB Advanced Heading uses p.uagb-heading-text for body text;
   the global heading rule was pushing those to Fraunces (wrong).
   ============================================================ */
body:not(.lp-template) p.uagb-heading-text{
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

/* ============================================================
   FIX: FAQ accordion items â cream/beige instead of grey
   ============================================================ */
body:not(.lp-template) .uagb-faq-child__outer-wrap,
body:not(.lp-template) .uagb-faq-questions-button{
  background-color: var(--cream-dark) !important;
  border-radius: 8px !important;
}
/* Open/active item: white card with left-accent */
body:not(.lp-template) .uagb-faq-child__outer-wrap.uagb-faq-item-a,
body:not(.lp-template) .uagb-faq-item-a .uagb-faq-questions-button{
  background-color: var(--white) !important;
  border-left: 3px solid var(--blue-mid) !important;
  border-radius: 0 8px 8px 0 !important;
}
/* Answer pane */
body:not(.lp-template) .uagb-faq-content{
  background-color: var(--white) !important;
  border-radius: 0 0 8px 8px !important;
}

/* ============================================================
   EDITORIAL PAGE BANNER â About (760), Services (763), Careers (417)
   Strips the dark-photo background + decorative circle.
   Replaces with clean cream editorial look matching DS tone.
   ============================================================ */

/* Container: remove photo, cream bg, subtle bottom divider */
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child{
  background-image: none !important;
  background-color: var(--cream) !important;
  border-bottom: 1px solid rgba(26,78,143,0.08) !important;
  min-height: 0 !important;
}

/* Kill decorative circle on these pages */
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child > .uagb-container-inner-blocks-wrap::before,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child > .uagb-container-inner-blocks-wrap::before,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child > .uagb-container-inner-blocks-wrap::before{
  display: none !important;
}

/* Heading text: white â ink */
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-ifb-title,
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-heading-text,
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h1,
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h2,
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h3,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-ifb-title,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-heading-text,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h1,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h2,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h3,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-ifb-title,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-heading-text,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h1,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h2,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child h3{
  color: var(--ink) !important;
}

/* Description / body copy: white â ink-muted */
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child p,
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-ifb-desc,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child p,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-ifb-desc,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child p,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child .uagb-ifb-desc{
  color: var(--ink-muted) !important;
}

/* Kill Spectra's dark overlay ::before on banner (persists even after removing bg image) */
body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child::before,
body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child::before,
body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child::before{
  display: none !important;
}

@media(max-width:768px){
  body:not(.lp-template).page-id-760 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child,
  body:not(.lp-template).page-id-763 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child,
  body:not(.lp-template).page-id-417 .entry-content > .wp-block-uagb-container.uagb-is-root-container:first-child{
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}


/* ---- SERVICES PAGE: Card buttons → text links ---- */
body:not(.lp-template).page-id-763 .uagb-block-qzfimkxv .uagb-buttons-repeater{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: var(--blue-mid) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
}
body:not(.lp-template).page-id-763 .uagb-block-qzfimkxv .uagb-buttons-repeater:hover{
  color: var(--blue-deep) !important;
  background: transparent !important;
}

