/* Final cross-template polish after the post-deployment audit. */
html{scroll-padding-top:116px}
main [id]{scroll-margin-top:116px}

/* One navigation contract on every route. */
.home-reference .home-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(3,26,63,.08);
  box-shadow:0 5px 18px rgba(3,26,63,.06);
  backdrop-filter:blur(14px);
}
.brand{min-height:44px;display:flex;align-items:center}
.brand img{display:block;width:100%;height:auto;background:transparent!important}
.site-footer .footer-brand{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.site-footer .footer-brand img{
  display:block!important;
  width:220px!important;
  max-width:100%!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Content must never disappear merely because an observer was skipped. */
.reveal,.reveal-ready .reveal,.reveal.visible{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

/* White components inside dark sections must retain dark readable text. */
.section-dark .card,
.section-dark .number-item,
.section-dark .lifecycle li,
.section-dark .matrix-layer:not(:nth-child(4)),
.section-dark .document-card,
.section-dark .form-shell{
  color:var(--ink);
}
.section-dark .card h2,
.section-dark .card h3,
.section-dark .number-item b,
.section-dark .lifecycle strong,
.section-dark .matrix-layer:not(:nth-child(4))>span,
.section-dark .document-card h2,
.section-dark .document-card h3,
.section-dark .form-shell legend,
.section-dark .form-shell label{
  color:var(--ink);
}
.section-dark>.container>.check-list li,
.section-dark .split>div:not(.card)>.check-list li,
.section-dark .matrix>div:not(.card)>.check-list li{
  color:#d7e4ee;
}
.section-dark .card .check-list li,
.section-dark .form-shell .check-list li,
.section-dark .number-item small,
.section-dark .lifecycle small{
  color:var(--slate-700);
}
.section-dark .card-index{color:var(--teal-700)}

/* Keep sticky navigation from visually colliding with section content. */
.site-header{isolation:isolate}
.page-hero,.section,.final-cta{isolation:isolate}

/* Touch targets remain usable while footer navigation stays vertically stacked. */
.footer-column a{min-height:44px;display:flex;align-items:center}
.footer-legal a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.cookie-manage{min-height:44px}
.breadcrumbs a{min-height:40px;display:inline-flex;align-items:center}

@media(max-width:1100px){
  html{scroll-padding-top:82px}
  main [id]{scroll-margin-top:82px}
  .home-reference .home-site-header{height:auto}
  .home-reference .home-site-header .nav-wrap{height:auto;min-height:74px}
  .home-reference .home-site-header .brand{width:178px}
  .primary-nav>a,.nav-dropdown>button{min-height:52px}
  .footer-column a{width:100%;padding-block:10px}
  .footer-bottom a,.footer-legal a{padding:10px 6px}
}

@media(max-width:720px){
  .site-footer .footer-brand img{width:200px!important}
  .breadcrumbs{gap:6px}
  .breadcrumbs a{padding-inline:4px}
}


/* === Final manual-audit remediation === */
:root{
  --slate-500:#596575;
}
.home-reference{
  --home-teal-dark:#007575;
  --home-muted:#596575;
}
.home-reference .home-site-header .primary-nav>a.active,
.home-reference .home-site-header .primary-nav>a:hover,
.home-reference .home-site-header .nav-dropdown>button:hover,
.home-reference .home-site-header .nav-dropdown>button[aria-expanded="true"],
.home-reference .home-pathway-copy em,
.home-reference .home-capabilities-intro>p{
  color:#007575!important;
}
.home-reference .section-heading>p,
.home-reference .contact-copy>.section-kicker,
.home-reference .contact-copy>p:nth-child(3),
.home-reference .contact-detail a,
.home-reference .contact-detail span,
.home-reference .form-note,
.form-field small,
.form-note{
  color:#596575!important;
}
.scope-label{color:#8a5b14!important}
.lifecycle li>span{color:#00686a!important}

/* Actual controls, not merely their surrounding cards, meet the 44px target. */
.breadcrumbs a{min-height:44px!important;padding-block:2px}
.card-link{min-height:44px!important;display:inline-flex!important;align-items:center;padding-block:10px}
.contact-detail a,
.contact-copy a[href^="mailto:"],
.contact-copy a[href^="tel:"]{min-height:44px;display:inline-flex;align-items:center;padding-block:10px}
.form-consent a{min-height:44px;display:inline-flex;align-items:center;padding-block:10px;margin-block:-10px}
@media(max-width:680px){
  main a[href^="#"]:not(.button){min-height:44px;display:flex;align-items:center;padding-block:8px}
}

/* The responsive overlay is viewport-bound, never header-bound. */
@media(max-width:1100px){
  .site-header,
  .home-reference .home-site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .home-reference .home-site-header .primary-nav{
    position:fixed!important;
    z-index:1002!important;
    top:76px!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(430px,100vw)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 76px)!important;
    padding:24px 28px 40px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:#fff!important;
    transform:translateX(105%)!important;
  }
  .home-reference .home-site-header .primary-nav.open{
    transform:translateX(0)!important;
  }

  /* Legacy templates expose the same truthful close affordance as the homepage. */
  .site-header:not(.home-site-header) .menu-toggle span{
    transition:transform .18s ease,opacity .18s ease;
    transform-origin:center;
  }
  .site-header:not(.home-site-header) .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  .site-header:not(.home-site-header) .menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
  .site-header:not(.home-site-header) .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }
}
@media(max-width:720px){
  .home-reference .home-site-header .primary-nav{
    top:72px!important;
    max-height:calc(100dvh - 72px)!important;
    width:100vw!important;
  }
}

/* Architecture matrices stack before their labels can force tablet overflow. */
@media(min-width:721px) and (max-width:1100px){
  .matrix{grid-template-columns:minmax(0,1fr);gap:42px}
  .matrix-board{width:100%;max-width:100%}
  .matrix-layer,.matrix-layer>*{min-width:0}
  .matrix-layer>*{overflow-wrap:anywhere}
}

/* Preserve whole words in the long Telecommunications hero at desktop sizes. */
@media(min-width:1101px){
  .industry-detail.telecommunications .page-hero h1{
    font-size:min(5vw,64px);
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

/* Final CTA actions stay visually decisive rather than breaking into two lines. */
.cta-panel .button{flex:0 0 auto;white-space:nowrap}

/* Mobile breadcrumbs show only useful context and never clip off-screen. */
@media(max-width:720px){
  .breadcrumbs{
    overflow:visible!important;
    white-space:normal!important;
    flex-wrap:wrap;
  }
  .breadcrumbs>*{display:none!important}
  .breadcrumbs>a:first-child{display:inline-flex!important}
  .breadcrumbs>span:nth-last-child(2){display:inline-flex!important;align-items:center}
  .breadcrumbs>span:last-child{
    display:block!important;
    flex:1 1 0;
    min-width:0;
    align-self:center;
    line-height:1.4;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}
