/* Charcoal actions with light text, across site layouts. */
:root { --button-radius:0; --card-radius:0; --radius-sm:0; --radius-md:0; --radius-lg:0; }
body :is(#main,.c-site-header,.c-site-footer) :is(.c-button,.c-victor-inline,button[data-submit-button]) {color:#fff !important; background:#082c4a !important; border-color:#082c4a !important; border-radius:0 !important;}
body :is(#main,.c-site-header,.c-site-footer) :is(.c-button,.c-victor-inline,button[data-submit-button]):is(:hover,:active) {color:#fff !important;background:#1f4665 !important;border-color:#1f4665 !important;}
body :is(#main,.c-site-header,.c-site-footer) :is(.c-button,.c-victor-inline,button[data-submit-button]):focus-visible {outline:3px solid #27689e !important;outline-offset:3px;}
body.page-home .dm-service-strip {background:#242424 !important;color:#fff !important;}
body.page-home .dm-service-strip a,body.page-home .dm-service-strip svg {color:#fff !important;}
body.page-home .dm-service-strip a:hover {background:#101010 !important;}
/* Exclude hero headings, which retain their existing highlights. */
body #main > section:not(.c-hero):not(.dm-clean-hero-84):not(.c-payment-hero) :is(h1,h2,h3,h4,h5,h6),
body #main > section:not(.c-hero):not(.dm-clean-hero-84):not(.c-payment-hero) :is(h1,h2,h3,h4,h5,h6) span {color:#242424 !important;-webkit-text-fill-color:#242424 !important;}
/* Rectangular content containers, while preserving circular icons and controls. */
body :is(.c-card,.c-work-card,.c-form-card,.c-form-aside,.c-quote-band,.c-route-guidance,.c-featured-insight,.c-offer-card,[class*="-card"],[class*="-panel"],[class*="-box"]) {border-radius:0 !important;}
body .c-packages-payment .c-quote-band {padding:clamp(2rem,5vw,4rem) !important;}

/* Preserve readability inside dark cards. */
body #main .c-card--dark :is(h1,h2,h3,h4,h5,h6), body #main .c-card--dark :is(h1,h2,h3,h4,h5,h6) span {color:#fff !important;-webkit-text-fill-color:#fff !important;}

/* Requested white homepage sections, including the portfolio image strip. */
body.page-home #main > section:is(.c-home-introduction,.c-home-portfolio-strip,.c-home-services,.c-home-approach,.c-home-hbsos) {background-color:#fff !important;background-image:none !important;}
/* Preserve legibility on the blue strategy card. */
body.page-home #main > section.c-home-services .dm-strategy-card-68 h3,
body.page-home #main > section.c-home-services .dm-strategy-card-68 h3 span {color:#fff !important;-webkit-text-fill-color:#fff !important;}

/* Readable copy on deliberately dark nested blocks. */
body #main section :is(.c-form-aside,.c-payment-summary,.c-dark-feature .c-system-path__step) :is(h2,h3,h4,h5,p,li,strong,dt,dd,.c-eyebrow) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
body #main section :is(.c-form-aside,.c-payment-summary,.c-dark-feature .c-system-path__step) a:not(.c-button) {color:#fff !important;}
body:not(.page-hbsos) #main section .c-card--dark :is(h2,h3,h4,p,li,strong,.c-eyebrow,a:not(.c-button)) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
/* HBSOS status cards are deliberately light despite their historical class. */
body.page-hbsos #main .dm-hbsos-status .c-card--dark :is(h2,h3,h4,p,li,strong,.c-eyebrow,a:not(.c-button)) {color:#082c4a !important;-webkit-text-fill-color:#082c4a !important;}
/* Advertising examples: preserve the navy card treatment with readable copy. */
body.page-advertising #main section.l-section--ink .c-card {background:#082c4a !important;color:#fff !important;}
body.page-advertising #main section.l-section--ink .c-card :is(h2,h3,h4,p,li,strong,a:not(.c-button)) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
/* More space around campaign steps and their connecting arrows. */
body.page-advertising #main #approach .c-system-path {gap:2rem;}
body.page-advertising #main #approach .c-system-path__step:not(:last-child)::after {font-size:1.6rem;line-height:1;right:-1.55rem;top:50%;transform:translateY(-50%);}

body.page-home #main section.c-home-expect .c-card :is(h2,h3,h4,p,li,strong) {color:#fff !important;-webkit-text-fill-color:#fff !important;}

/* Repair inherited dark text on navy panels only. */
body #main section :is(.c-form-aside,.c-payment-summary,.c-featured-insight,.c-dark-feature .c-system-path__step) :is(h1,h2,h3,h4,h5,h6,p,li,strong,dt,dd,small,.c-eyebrow,.c-meta) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
body #main section :is(.c-form-aside,.c-payment-summary,.c-featured-insight,.c-dark-feature .c-system-path__step) :is(a:not(.c-button),label) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
body #main section .c-card--dark:not(.dm-hbsos-status *) :is(h1,h2,h3,h4,h5,h6,p,li,strong,dt,dd,small,.c-eyebrow,.c-meta,a:not(.c-button)) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
body.page-hbsos #main section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6,p,li,strong,dt,dd,small,.c-eyebrow,.c-meta,a:not(.c-button)) {color:#082c4a !important;-webkit-text-fill-color:#082c4a !important;}
body.page-home #main section.c-home-expect .c-card :is(h1,h2,h3,h4,h5,h6,p,li,strong,.c-eyebrow) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
body #main .c-offer-comparison thead :is(th,td) {color:#fff !important;-webkit-text-fill-color:#fff !important;}

/* Contrast repair: dark panels win over the global non-hero heading rule.
   Light sections and light nested cards keep their existing dark text. */
body #main > section:not(.c-hero):not(.dm-clean-hero-84):not(.c-payment-hero) :is(.c-form-aside,.c-payment-summary,.c-featured-insight,.c-card--dark,.dm-strategy-card-68,.c-dark-feature .c-system-path__step) :is(h1,h2,h3,h4,h5,h6),
body #main > section:not(.c-hero):not(.dm-clean-hero-84):not(.c-payment-hero) :is(.c-form-aside,.c-payment-summary,.c-featured-insight,.c-card--dark,.dm-strategy-card-68,.c-dark-feature .c-system-path__step) :is(h1,h2,h3,h4,h5,h6) span {color:#fff !important;-webkit-text-fill-color:#fff !important;}
/* These HBSOS cards use the historic dark class on a light surface. */
body.page-hbsos #main > section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6),
body.page-hbsos #main > section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6) span {color:#082c4a !important;-webkit-text-fill-color:#082c4a !important;}
/* Ink sections without light-section overrides retain light headings. */
body #main > section.l-section--ink:not(.dm-section-tone-white):not(.dm-section-tone-grey):not(.dm-user-mist-121):not(.c-home-hbsos) :is(h1,h2,h3,h4,h5,h6):not(.c-card:not(.c-card--dark) *),
body #main > section.l-section--ink:not(.dm-section-tone-white):not(.dm-section-tone-grey):not(.dm-user-mist-121):not(.c-home-hbsos) :is(h1,h2,h3,h4,h5,h6):not(.c-card:not(.c-card--dark) *) span {color:#fff !important;-webkit-text-fill-color:#fff !important;}

/* Contrast fixes for verified dark panels and the light HBSOS status card. */
body.page-marketing-strategy #main > section.c-dark-feature .c-system-path__step p,
body.page-advertising #main > section.c-dark-feature .c-system-path__step p,
body.page-advertising #main > section.l-section--ink .c-card :is(h3,p),
body.page-hbsos #main > section .c-card--emphasis :is(h2,h3,h4,p),
body.page-packages #main > section.c-packages-payment .c-quote-band :is(h2,h3,p) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.page-hbsos #main > section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6),
body.page-hbsos #main > section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6) span {
  color:#082c4a !important;
  -webkit-text-fill-color:#082c4a !important;
}
body.page-marketing-strategy.page-marketing-strategy #main > section.c-dark-feature .c-system-path__step p,
body.page-advertising.page-advertising #main > section.c-dark-feature .c-system-path__step p,
body.page-advertising.page-advertising #main > section.l-section--ink .c-card :is(h3,p),
body.page-hbsos.page-hbsos #main > section .c-card--emphasis :is(h2,h3,h4,p),
body.page-shop.page-shop #main > section.c-packages-payment .c-quote-band :is(h2,h3,p) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
body.page-hbsos.page-hbsos.page-hbsos #main > section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6),
body.page-hbsos.page-hbsos.page-hbsos #main > section.dm-hbsos-status .c-card--dark :is(h1,h2,h3,h4,h5,h6) span {color:#082c4a !important;-webkit-text-fill-color:#082c4a !important;}
body.page-marketing-strategy.page-marketing-strategy.page-marketing-strategy #main > section.c-dark-feature .c-system-path__step p,
body.page-advertising.page-advertising.page-advertising #main > section.c-dark-feature .c-system-path__step p,
body.page-advertising.page-advertising.page-advertising #main > section.l-section--ink .c-card :is(h3,p) {color:#fff !important;-webkit-text-fill-color:#fff !important;}
