/* DCCC GLOBAL FOOTER + CTA STANDARD v4
   Home/approved compact footer is the visual master.
   The shared system controls presentation only; page-specific links/content/routes stay page-specific. */
:root{
  --dccc-footer-max:1480px;
  --dccc-footer-bg:#0d1319;
  --dccc-footer-bg-deep:#090d11;
  --dccc-footer-line:#313941;
  --dccc-footer-text:#f4f6f8;
  --dccc-footer-muted:#b9c0c7;
  --dccc-footer-yellow:#f6bf00;
  --dccc-footer-gap:28px;
  --dccc-footer-radius:14px;
  --dccc-footer-cta-h:clamp(215px,18vw,280px);
}

/* APPROVED CTA STANDARD — one or two compact banners only. */
[data-dccc-global-cta="1"]{
  box-sizing:border-box!important;
  width:min(var(--dccc-footer-max),calc(100% - 36px))!important;
  min-height:var(--dccc-footer-cta-h)!important;
  height:var(--dccc-footer-cta-h)!important;
  max-height:280px!important;
  margin:16px auto 0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:var(--dccc-footer-radius)!important;
}
[data-dccc-global-cta="1"] img,
[data-dccc-global-cta="1"] video,
[data-dccc-global-cta="1"] picture,
[data-dccc-global-cta="1"] canvas,
[data-dccc-global-cta="1"] [data-dccc-cta-media="1"]{
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
[data-dccc-global-cta="1"] [data-dccc-cta-media-extra="1"]{display:none!important}
[data-dccc-global-cta="1"] h1,
[data-dccc-global-cta="1"] h2{
  margin:0 0 8px!important;
  font-size:clamp(24px,2.25vw,40px)!important;
  line-height:1.04!important;
}
[data-dccc-global-cta="1"] p{
  max-width:680px!important;
  margin:0 0 12px!important;
  font-size:clamp(11px,.85vw,13px)!important;
  line-height:1.42!important;
}
[data-dccc-global-cta="1"] a,
[data-dccc-global-cta="1"] button{
  min-height:42px!important;
  max-height:46px!important;
  padding-block:0!important;
  border-radius:8px!important;
}

/* ONE FINAL FOOTER ONLY. */
[data-dccc-global-footer="1"]{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:10px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-top:1px solid var(--dccc-footer-line)!important;
  background:var(--dccc-footer-bg)!important;
  color:var(--dccc-footer-text)!important;
  text-align:left!important;
}

/* Company identity is text-only: suppress logo/media only inside the brand/company block. */
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] img,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] video,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] picture,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] canvas,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] svg,
[data-dccc-global-footer="1"] [class*="footer-brand"] img,
[data-dccc-global-footer="1"] [class*="footer-brand"] video,
[data-dccc-global-footer="1"] [class*="footer-brand"] picture,
[data-dccc-global-footer="1"] [class*="footer-brand"] canvas,
[data-dccc-global-footer="1"] [class*="footer-brand"] svg,
[data-dccc-global-footer="1"] [class*="footer-company"] img,
[data-dccc-global-footer="1"] [class*="footer-company"] video,
[data-dccc-global-footer="1"] [class*="footer-company"] picture,
[data-dccc-global-footer="1"] [class*="footer-company"] canvas,
[data-dccc-global-footer="1"] [class*="footer-company"] svg{display:none!important}

[data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
[data-dccc-global-footer="1"] .footer-inner,
[data-dccc-global-footer="1"] .dccc-v6-footer-inner,
[data-dccc-global-footer="1"] .dact-footer-main,
[data-dccc-global-footer="1"] .dbiz-footer-main,
[data-dccc-global-footer="1"] .des4-footer-grid,
[data-dccc-global-footer="1"] .dest2-footer-grid,
[data-dccc-global-footer="1"] .dest-footer-main,
[data-dccc-global-footer="1"] .dmsg-footer-main,
[data-dccc-global-footer="1"] .dos-footer-main,
[data-dccc-global-footer="1"] .dos-footer-grid{
  box-sizing:border-box!important;
  width:min(var(--dccc-footer-max),calc(100% - 36px))!important;
  max-width:var(--dccc-footer-max)!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:28px 0 24px!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(180px,1fr))!important;
  gap:22px var(--dccc-footer-gap)!important;
  align-items:start!important;
  justify-items:stretch!important;
  background:transparent!important;
  text-align:left!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-main="1"]>*,
[data-dccc-global-footer="1"] .footer-inner>*,
[data-dccc-global-footer="1"] .dccc-v6-footer-inner>*,
[data-dccc-global-footer="1"] .dact-footer-main>*,
[data-dccc-global-footer="1"] .dbiz-footer-main>*,
[data-dccc-global-footer="1"] .des4-footer-grid>*,
[data-dccc-global-footer="1"] .dest2-footer-grid>*,
[data-dccc-global-footer="1"] .dest-footer-main>*,
[data-dccc-global-footer="1"] .dmsg-footer-main>*,
[data-dccc-global-footer="1"] .dos-footer-main>*,
[data-dccc-global-footer="1"] .dos-footer-grid>*{
  min-width:0!important;
  align-self:start!important;
  margin:0!important;
  text-align:left!important;
}

/* Heading hierarchy stays consistent across all columns. */
[data-dccc-global-footer="1"] h2,
[data-dccc-global-footer="1"] h3,
[data-dccc-global-footer="1"] h4,
[data-dccc-global-footer="1"] .footer-title,
[data-dccc-global-footer="1"] [class*="footer-title"]{
  margin:0 0 10px!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
[data-dccc-global-footer="1"] h2::after,
[data-dccc-global-footer="1"] h3::after,
[data-dccc-global-footer="1"] h4::after{
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin-top:8px;
  border-radius:999px;
  background:var(--dccc-footer-yellow);
}

[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] strong,
[data-dccc-global-footer="1"] [class*="footer-brand"] strong,
[data-dccc-global-footer="1"] [class*="footer-company"] strong{
  display:block!important;
  max-width:300px!important;
  margin:0!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.18!important;
}
[data-dccc-global-footer="1"] p{
  max-width:330px!important;
  margin:8px 0 0!important;
  color:var(--dccc-footer-muted)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-align:left!important;
}

/* Footer link system: same font, same row height, same yellow arrow, same baseline. */
[data-dccc-global-footer="1"] nav{
  display:grid!important;
  gap:3px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  min-height:28px!important;
  margin:0!important;
  padding:3px 0!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  color:#dce1e5!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]::before{
  content:"→"!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  width:16px!important;
  height:16px!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--dccc-footer-yellow)!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1!important;
  transform:translateY(-.25px)!important;
  transition:transform .16s ease,color .16s ease!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:hover,
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:focus-visible{color:#fff!important}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:hover::before,
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:focus-visible::before{transform:translate(2px,-.25px)!important}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:focus-visible{
  outline:2px solid var(--dccc-footer-yellow)!important;
  outline-offset:3px!important;
  border-radius:3px!important;
}
[data-dccc-global-footer="1"] [data-dccc-legacy-arrow="1"]{display:none!important}
[data-dccc-global-footer="1"] [aria-current="page"][data-dccc-footer-link="1"]{color:#fff!important;font-weight:700!important}

/* Existing Message footer visual stage is not part of the compact final footer. Keep its useful text only. */
[data-dccc-global-footer="1"] .dmsg-footer-visual{
  position:static!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
}
[data-dccc-global-footer="1"] .dmsg-footer-visual-stage{display:none!important}
[data-dccc-global-footer="1"] .dmsg-footer-visual>p{position:static!important;margin:0!important;text-shadow:none!important}

/* A merged section is created only when a suppressed legacy footer contains a unique valid route. */
[data-dccc-global-footer="1"] .dccc-global-merged-section{min-width:0!important}

/* Integrated copyright/legal strip — never a second footer. */
[data-dccc-global-footer="1"] [data-dccc-footer-legal="1"],
[data-dccc-global-footer="1"] .footer-legal,
[data-dccc-global-footer="1"] .dccc-v6-footer-bottom,
[data-dccc-global-footer="1"] .dact-footer-bottom,
[data-dccc-global-footer="1"] .dbiz-footer-bottom,
[data-dccc-global-footer="1"] .des4-footer-bottom,
[data-dccc-global-footer="1"] .dest2-footer-bottom,
[data-dccc-global-footer="1"] .dest-footer-bottom,
[data-dccc-global-footer="1"] .dmsg-footer-bottom,
[data-dccc-global-footer="1"] .dos-footer-bottom{
  box-sizing:border-box!important;
  min-height:42px!important;
  height:auto!important;
  margin:0!important;
  padding:11px max(18px,calc((100% - var(--dccc-footer-max))/2))!important;
  border-top:1px solid var(--dccc-footer-line)!important;
  background:var(--dccc-footer-bg-deep)!important;
  color:#949da5!important;
  font-size:11px!important;
  line-height:1.3!important;
  text-align:left!important;
}
[data-dccc-footer-duplicate="1"]{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

@media(max-width:1024px){
  [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  [data-dccc-global-footer="1"] .footer-inner,
  [data-dccc-global-footer="1"] .dccc-v6-footer-inner,
  [data-dccc-global-footer="1"] .dact-footer-main,
  [data-dccc-global-footer="1"] .dbiz-footer-main,
  [data-dccc-global-footer="1"] .des4-footer-grid,
  [data-dccc-global-footer="1"] .dest2-footer-grid,
  [data-dccc-global-footer="1"] .dest-footer-main,
  [data-dccc-global-footer="1"] .dmsg-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-grid{
    grid-template-columns:1.15fr 1fr!important;
    gap:20px 28px!important;
    padding:24px 0 20px!important;
  }
}

@media(max-width:600px){
  :root{--dccc-footer-cta-h:230px;--dccc-footer-radius:10px}
  [data-dccc-global-cta="1"]{
    width:calc(100% - 20px)!important;
    max-height:230px!important;
    margin-top:10px!important;
  }
  [data-dccc-global-footer="1"]{margin-top:8px!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  [data-dccc-global-footer="1"] .footer-inner,
  [data-dccc-global-footer="1"] .dccc-v6-footer-inner,
  [data-dccc-global-footer="1"] .dact-footer-main,
  [data-dccc-global-footer="1"] .dbiz-footer-main,
  [data-dccc-global-footer="1"] .des4-footer-grid,
  [data-dccc-global-footer="1"] .dest2-footer-grid,
  [data-dccc-global-footer="1"] .dest-footer-main,
  [data-dccc-global-footer="1"] .dmsg-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-grid{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:18px 16px!important;
    padding:20px 0 17px!important;
  }
  [data-dccc-global-footer="1"] [data-dccc-footer-brand="1"],
  [data-dccc-global-footer="1"] [class*="footer-brand"],
  [data-dccc-global-footer="1"] [class*="footer-company"]{grid-column:1/-1!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-link="1"]{font-size:12px!important;min-height:27px!important;gap:8px!important}
  [data-dccc-global-footer="1"] h2,
  [data-dccc-global-footer="1"] h3,
  [data-dccc-global-footer="1"] h4,
  [data-dccc-global-footer="1"] .footer-title,
  [data-dccc-global-footer="1"] [class*="footer-title"]{font-size:15px!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] strong,
  [data-dccc-global-footer="1"] [class*="footer-brand"] strong,
  [data-dccc-global-footer="1"] [class*="footer-company"] strong{font-size:18px!important}
}

@media(max-width:560px){
  /* Compatibility checkpoint for the existing deployment QA. The approved mobile layout is inherited from the 600px rule above. */
  [data-dccc-global-footer="1"]{--dccc-footer-qa-compatible:1}
}

@media(max-width:390px){
  [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  [data-dccc-global-footer="1"] .footer-inner,
  [data-dccc-global-footer="1"] .dccc-v6-footer-inner,
  [data-dccc-global-footer="1"] .dact-footer-main,
  [data-dccc-global-footer="1"] .dbiz-footer-main,
  [data-dccc-global-footer="1"] .des4-footer-grid,
  [data-dccc-global-footer="1"] .dest2-footer-grid,
  [data-dccc-global-footer="1"] .dest-footer-main,
  [data-dccc-global-footer="1"] .dmsg-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  [data-dccc-global-footer="1"] [data-dccc-footer-brand="1"],
  [data-dccc-global-footer="1"] [class*="footer-brand"],
  [data-dccc-global-footer="1"] [class*="footer-company"]{grid-column:auto!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-link="1"]{white-space:normal!important}
}

/* ONLINE SERVICE FOOTER ONLY — geometry/alignment correction. No routing, screen, CTA, backend or page logic is touched here. */
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-main,
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-grid{
  width:calc(100% - 24px)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:clamp(10px,2.2vw,32px)!important;
  row-gap:0!important;
  align-items:stretch!important;
  padding:20px 0 18px!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column,
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-main>* ,
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-grid>*{
  min-width:0!important;
  align-self:stretch!important;
  margin:0!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column nav{
  display:grid!important;
  grid-auto-rows:28px!important;
  min-height:196px!important;
  align-content:start!important;
  gap:0!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column h3{
  min-height:28px!important;
  margin:0 0 8px!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column [data-dccc-footer-link="1"]{
  min-height:28px!important;
  height:28px!important;
  padding:3px 0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-main,
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:8px!important;
    width:calc(100% - 16px)!important;
    padding:16px 0 14px!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column h3{
    min-height:24px!important;
    font-size:10px!important;
    margin-bottom:5px!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column nav{
    grid-auto-rows:25px!important;
    min-height:175px!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column [data-dccc-footer-link="1"]{
    min-height:25px!important;
    height:25px!important;
    font-size:9px!important;
    gap:4px!important;
    padding:2px 0!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column [data-dccc-footer-link="1"]::before{
    width:10px!important;
    height:12px!important;
    font-size:12px!important;
  }
}


/* DCCC WHO WE ARE reference: reusable 300px dual-banner presentation.
   One shared footer runtime owns the fallback content; protected page owners stay in place. */
:root{--dccc-who-reference-banner-h:300px;--dccc-who-reference-banner-gap:18px}
html body [data-dccc-global-cta="1"]{
  min-height:var(--dccc-who-reference-banner-h)!important;
  height:var(--dccc-who-reference-banner-h)!important;
  max-height:none!important;
}
html body .dccc-sitewide-promo-stack{
  box-sizing:border-box;
  width:min(1480px,calc(100% - 28px));
  max-width:1480px;
  margin:26px auto 24px!important;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--dccc-who-reference-banner-gap);
}
html body .dccc-sitewide-promo-stack>.dccc-sitewide-promo[data-dccc-global-cta="1"]{
  box-sizing:border-box!important;
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  min-height:300px!important;
  height:300px!important;
  max-height:none!important;
  border-radius:22px!important;
  background:#101315!important;
  color:#fff!important;
  overflow:hidden!important;
  box-shadow:0 10px 32px rgba(0,0,0,.12);
}
html body .dccc-sitewide-promo-copy{
  min-width:0;padding:44px 50px;display:flex;flex-direction:column;justify-content:center;
}
html body .dccc-sitewide-promo-copy small{
  font-size:12px;font-weight:850;letter-spacing:.2em;color:#f6bf00;
}
html body .dccc-sitewide-promo-copy h2{
  margin:8px 0 12px!important;font-size:clamp(29px,3vw,48px)!important;
  line-height:1.03!important;letter-spacing:-.035em;color:#fff!important;
  overflow-wrap:anywhere;
}
html body .dccc-sitewide-promo-copy p{
  max-width:700px!important;margin:0 0 22px!important;
  color:#d9dde0!important;font-size:15px!important;line-height:1.55!important;
}
html body .dccc-sitewide-promo-copy a{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  width:max-content;max-width:100%;min-height:44px!important;
  padding:8px 18px!important;background:#f6bf00;color:#111!important;
  border-radius:9px;text-decoration:none;font-weight:850;line-height:1.2;
}
html body .dccc-sitewide-promo-media{
  min-width:0;position:relative;min-height:300px;height:300px;
  overflow:hidden;background:#252b2f;
}
html body .dccc-sitewide-promo-media .dccc-sitewide-promo-slide{
  position:absolute;inset:0;overflow:hidden;opacity:0;
  animation:dcccSitewidePromoCycle 15s ease-in-out infinite;
}
html body .dccc-sitewide-promo-media .dccc-sitewide-promo-slide:only-child{
  animation:none!important;opacity:1!important;
}
html body .dccc-sitewide-promo-media .dccc-sitewide-promo-slide:nth-child(2){animation-delay:5s}
html body .dccc-sitewide-promo-media .dccc-sitewide-promo-slide:nth-child(3){animation-delay:10s}
html body .dccc-sitewide-promo-slide img,
html body .dccc-sitewide-promo-slide canvas{
  display:block;position:absolute;inset:0;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
}
@keyframes dcccSitewidePromoCycle{
  0%,28%{opacity:1}34%,94%{opacity:0}100%{opacity:1}
}
html body [data-dccc-sitewide-legacy-cta="1"]{
  display:none!important;visibility:hidden!important;
  height:0!important;min-height:0!important;max-height:0!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
}
html body .dccc-sitewide-promo-stack+[data-dccc-global-footer="1"],
html body.dccc-online-family-active [data-dccc-online-promo-stack="1"]+[data-dccc-global-footer="1"]{
  margin-top:22px!important;
}
/* Preserve the existing online and careers dual-banner owners, but match Who reference geometry. */
html body.dccc-online-family-active .dccc-online-promo-stack,
html body.dccc-career-shell-rev4 .dccc-career-promo-stack{
  width:min(1480px,calc(100% - 28px))!important;
  gap:18px!important;
}
html body.dccc-online-family-active .dccc-online-promo,
html body.dccc-career-shell-rev4 .dccc-career-promo{
  width:100%!important;
  min-height:300px!important;height:300px!important;max-height:none!important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr)!important;
  border-radius:22px!important;
}
html body.dccc-online-family-active .dccc-online-promo-media,
html body.dccc-career-shell-rev4 .dccc-career-promo-media{
  min-height:300px!important;height:300px!important;
}
html body.dccc-online-family-active .dccc-online-promo-copy,
html body.dccc-career-shell-rev4 .dccc-career-promo-copy{
  padding:44px 50px!important;
}
html body.dccc-account-access .acct-account-strip,
html body.dccc-account-access .acct-bottom{
  min-height:300px!important;
}
@media(max-width:900px){
  html body .dccc-sitewide-promo-stack>.dccc-sitewide-promo[data-dccc-global-cta="1"],
  html body.dccc-online-family-active .dccc-online-promo,
  html body.dccc-career-shell-rev4 .dccc-career-promo{
    height:auto!important;min-height:0!important;max-height:none!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body .dccc-sitewide-promo-copy,
  html body.dccc-online-family-active .dccc-online-promo-copy,
  html body.dccc-career-shell-rev4 .dccc-career-promo-copy{padding:30px 26px!important}
  html body .dccc-sitewide-promo-media,
  html body.dccc-online-family-active .dccc-online-promo-media,
  html body.dccc-career-shell-rev4 .dccc-career-promo-media{
    min-height:240px!important;height:240px!important;
  }
}
@media(max-width:600px){
  html body .dccc-sitewide-promo-stack{width:calc(100% - 18px)!important;margin-top:18px!important;gap:13px!important}
  html body .dccc-sitewide-promo-stack>.dccc-sitewide-promo[data-dccc-global-cta="1"]{
    border-radius:16px!important;height:auto!important;
  }
  html body .dccc-sitewide-promo-copy{padding:24px 20px!important}
  html body .dccc-sitewide-promo-copy h2{font-size:clamp(24px,7vw,32px)!important}
  html body .dccc-sitewide-promo-copy p{font-size:13px!important;line-height:1.5!important}
  html body .dccc-sitewide-promo-media,
  html body.dccc-online-family-active .dccc-online-promo-media,
  html body.dccc-career-shell-rev4 .dccc-career-promo-media{
    min-height:210px!important;height:210px!important;
  }
  html body.dccc-account-access .acct-account-strip,
  html body.dccc-account-access .acct-bottom{
    min-height:230px!important;height:auto!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body .dccc-sitewide-promo-slide{animation:none!important;opacity:0!important}
  html body .dccc-sitewide-promo-slide:first-child{opacity:1!important}
}

/* DCCC shared photo-safe 1–2–3 banner media; no full UI screenshot flash. */
html body .dccc-promo-cycle .dccc-sitewide-promo-slide{
  animation:none!important;opacity:0!important;transition:opacity .4s ease!important;
}
html body .dccc-promo-cycle .dccc-sitewide-promo-slide.is-active{opacity:1!important}
html body .dccc-sitewide-promo-media .dccc-contact-photo-fallback{
  position:absolute;inset:0;display:block;width:100%;height:100%;background:#15212a;
}
html body .dccc-sitewide-promo-media .dccc-contact-photo-fallback svg{display:block;width:100%;height:100%}
body.dccc-online-family-estimate .dccc-promo-cycle .dccc-estimate-promo-tile{opacity:0!important}
body.dccc-online-family-estimate .dccc-promo-cycle .dccc-estimate-promo-tile.is-active{opacity:1!important}
html body .dccc-promo-cycle .dccc-promo-dots{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  z-index:10;display:flex;gap:7px;align-items:center;
  padding:5px 7px;border-radius:20px;background:rgba(8,14,20,.58);
}
html body .dccc-promo-cycle .dccc-promo-dots button{
  display:grid;place-items:center;min-width:24px;width:24px;height:24px;
  padding:0;border:1px solid rgba(255,255,255,.6);border-radius:50%;
  background:rgba(12,20,27,.72);color:#fff;font-size:11px;font-weight:800;cursor:pointer;
}
html body .dccc-promo-cycle .dccc-promo-dots button.is-active{
  background:#f6bf00;color:#101820;border-color:#f6bf00;
}
@media(prefers-reduced-motion:reduce){
  html body .dccc-promo-cycle .dccc-sitewide-promo-slide:not(.is-active){opacity:0!important}
}

/* DCCC MOBILE FOOTER PARITY — Message 4x7 reference, 2026-11-04. */
/* Changes presentation of EXISTING footer nodes only; no routes, links, owners or JS added.
   No rule escapes this breakpoint: approved desktop footers retain their exact styles. */
@media screen and (max-width: 900px) {
  html body #app :is([data-dccc-global-footer="1"],
      [data-dccc-home-canonical-footer="1"],
      footer[data-dccc-career-shell="footer"],
      footer[data-dccc-contact-footer-4x7="1"],
      .dccc-who-linkshell,
      .acct-footer) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #0b1115 !important;
    color: #f4f6f8 !important;
    border-color: #28313a !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  /* One visual four-column system for existing Home, Who, Message, Business,
     Activities, Careers, Contact, Account and Online-family footer owners. */
  html body #app :is(.dccc-home-hard-grid,
      .dccc-who-linkgrid,
      .dccc-career-footer-grid,
      .dccc-contact-footer-main,
      .dccc-who-master-footer-main,
      [data-dccc-messages-master="v11"],
      .dccc-online-family-footer-main,
      .acct-footer-wrap,
      .dccc-business-master-footer-main,
      .dccc-activities-master-footer-main,
      [data-dccc-global-footer="1"] [data-dccc-footer-main="1"]:has(> section:nth-child(4))) {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    grid-auto-flow: row !important;
    align-items: start !important;
    justify-items: stretch !important;
    column-gap: 9px !important;
    row-gap: 0 !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 16px 0 12px !important;
  }

  /* The three nested grids already live inside their own padded footer inners. */
  html body #app :is(.dccc-home-hard-grid,
      .dccc-who-linkgrid,
      .dccc-career-footer-grid) {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #app :is([data-dccc-home-canonical-footer="1"] > .footer-inner,
      .dccc-who-linkshell-inner,
      .dccc-career-footer-inner) {
    box-sizing: border-box !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: 16px 0 12px !important;
  }

  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) {
    box-sizing: border-box !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
    text-align: left !important;
  }

  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > :is(h2, h3, h4, strong) {
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
    min-height: 37px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 7px !important;
    padding: 0 0 9px !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.17 !important;
    text-transform: none !important;
    overflow: visible !important;
    text-align: left !important;
  }
  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > :is(h2, h3, h4, strong)::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 34px !important;
    height: 3px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #f6bf00 !important;
  }

  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > nav {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(7, minmax(35px, auto)) !important;
    grid-auto-rows: minmax(35px, auto) !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-content: start !important;
    overflow: visible !important;
  }

  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > nav > a[href]:not([aria-hidden="true"]):not([data-dccc-footer-duplicate="1"]) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 35px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    align-items: center !important;
    gap: 4px !important;
    color: #e8ecef !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    overflow: visible !important;
    text-align: left !important;
  }
  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > nav > a[href]::before {
    content: "→" !important;
    display: inline-block !important;
    flex: 0 0 13px !important;
    width: 13px !important;
    min-width: 13px !important;
    height: auto !important;
    margin: 0 !important;
    color: #f6bf00 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
  }
  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > nav > a[href]:focus-visible {
    color: #ffffff !important;
    outline: 2px solid #f6bf00 !important;
    outline-offset: 1px !important;
  }

  /* Keep each EXISTING signature under the four-column grid as three centered lines. */
  html body #app :is(.dccc-home-hard-signature,
      .dccc-who-signature,
      .dccc-career-footer-signature,
      .dccc-contact-footer-signature,
      .dccc-footer-signature-inner) {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 12px auto 0 !important;
    padding: 13px 0 12px !important;
    border-top: 1px solid #2a343c !important;
    text-align: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
  }
  html body #app :is(.dccc-home-hard-signature,
      .dccc-who-signature,
      .dccc-career-footer-signature,
      .dccc-contact-footer-signature,
      .dccc-footer-signature-inner) > * {
    max-width: 100% !important;
    margin: 0 !important;
    color: #f6bf00 !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
  }
  html body #app :is(.dccc-home-hard-signature,
      .dccc-who-signature,
      .dccc-career-footer-signature,
      .dccc-contact-footer-signature,
      .dccc-footer-signature-inner) > :nth-child(2) {
    color: #d43a43 !important;
  }

  html body #app :is(.footer-legal,
      .dccc-global-footer-legal-v5,
      .dccc-career-footer-brandline,
      .dccc-who-brandline,
      .acct-footer-bottom,
      .dcontact-footer-bottom) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 13px 14px 15px !important;
    border-top: 1px solid #2a343c !important;
    background: #090e12 !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body #app .dccc-footer-copyright-v5 {
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

@media screen and (max-width: 430px) {
  html body #app :is(.dccc-home-hard-grid,
      .dccc-who-linkgrid,
      .dccc-career-footer-grid,
      .dccc-contact-footer-main,
      .dccc-who-master-footer-main,
      [data-dccc-messages-master="v11"],
      .dccc-online-family-footer-main,
      .acct-footer-wrap,
      .dccc-business-master-footer-main,
      .dccc-activities-master-footer-main,
      [data-dccc-global-footer="1"] [data-dccc-footer-main="1"]:has(> section:nth-child(4))) {
    column-gap: 6px !important;
  }
  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > :is(h2, h3, h4, strong) {
    font-size: 10.5px !important;
  }
  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > nav > a[href]:not([aria-hidden="true"]):not([data-dccc-footer-duplicate="1"]) {
    font-size: 9.5px !important;
    line-height: 1.25 !important;
  }
  html body #app :is(.dccc-home-hard-col,
      .dccc-who-linkcol,
      .dccc-career-footer-group,
      .dccc-contact-footer-group,
      .dccc-who-master-links,
      .dccc-business-master-links,
      .dccc-activities-master-links,
      .dccc-online-footer-column,
      .acct-footer-group,
      [data-dccc-messages-master="v11"] > section) > nav > a[href]::before {
    font-size: 14px !important;
    flex-basis: 11px !important;
    min-width: 11px !important;
    width: 11px !important;
  }
}

/* Existing Business and Activities master sections can be normalized after their footer DOM mounts.
   Scope explicitly to these two already-owned routes; never replace or clone their links. */
@media screen and (max-width: 900px) {
  html body.dccc-business-footer-master #app [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  html body.dccc-business-footer-master #app .dbiz-footer-main,
  html body.dccc-activities-footer-master #app [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  html body.dccc-activities-footer-master #app .dact-footer-main {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 16px 0 12px !important;
    column-gap: 9px !important;
    row-gap: 0 !important;
    align-items: start !important;
  }
}
@media screen and (max-width: 430px) {
  html body.dccc-business-footer-master #app [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  html body.dccc-activities-footer-master #app [data-dccc-global-footer="1"] [data-dccc-footer-main="1"] {
    column-gap: 6px !important;
  }
}
