/* Shared interaction chrome and the audited reading surfaces.
   Kept separate from the older, independently designed mobile layouts. */
:root {
  --experience-accent: #252a30;
  --experience-accent-hover: #3b434d;
  --experience-focus: #1683c2;
  --experience-radius: 10px;
}
html { scroll-padding-top: 0; }
html body main :is(h1,h2,h3,section,details)[id] { scroll-margin-top: 104px; }
html body:not(.home-page):not(.nav-surface-dark) .site-header .nav-cta {
  background: var(--experience-accent) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
html body:not(.home-page):not(.nav-surface-dark) .site-header .nav-cta:is(:hover,:focus-visible) { background: var(--experience-accent-hover) !important; }
html body:not(.home-page) .site-header .contact-case-cta > .nav-case-badge {
  animation: none !important; background: #213747; border-color: #496172;
  box-shadow: none; text-shadow: none; transform: none;
}
html body:not(.home-page) .site-header .contact-case-cta > .nav-case-badge::after { background: #213747; }
html body:not(.home-page) .site-header .contact-case-cta:not(:hover):not(:focus-visible) > .nav-case-badge { opacity: 0; visibility: hidden; pointer-events: none; }
html body :is(.button,.nav-cta):focus-visible { outline: 3px solid var(--experience-focus); outline-offset: 4px; }
@media (min-width: 761px) {
  html body .grid.dedup-balanced-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body:not(.home-page) {
    --content-link: #526577;
    --content-link-hover: #314557;
    --content-link-dark: #a7bacb;
    --content-link-dark-hover: #e2ecf4;
  }
  body.service-overview-polish { --so-link: #526577; --so-link-hover: #314557; }
  body.solutions-page { --sd-link: #526577; --sd-link-hover: #314557; }
  body.reading-layout-page { --document-accent: #526577; }
  html body.solutions-page.visual-polish #main-content .sd-directory .section-heading h2 { font-size: 32px; line-height: 1.4; }
html body:not(.home-page) :is(.page-hero,.cta-band,.contact-hero) .button:not(.secondary) {
  background: var(--experience-accent) !important; color: #fff !important;
  border-color: transparent !important; border-radius: var(--experience-radius); box-shadow: none !important;
  transition: background-color 180ms ease, transform 180ms ease;
}
html body:not(.home-page) :is(.page-hero,.cta-band,.contact-hero) .button:not(.secondary):hover { background: var(--experience-accent-hover) !important; }
}
@media (min-width: 761px) {
  .home-page main > .home-screen-section { min-height: 0; }
  .home-page #home-faq .section-heading { display: block; text-align: left; margin-bottom: 28px; }
  .home-page #home-faq .faq-heading-summary { display: none; }
  .home-page #home-faq .section-heading h2 { padding: 0; border: 0; text-align: left; }
  .home-page #home-faq .section-heading > p { width: auto; max-width: 720px; margin: 12px 0 0; text-align: left; }
  .home-page #home-faq .faq-list summary { font-size: 16px; font-weight: 650; min-height: 62px; }
  .home-page #home-faq .faq-list p { max-width: 65ch; font-size: 15px; line-height: 1.9; }
  .home-page #home-faq .faq-expert-card { padding: 24px; border-radius: 12px; box-shadow: none; }
}
@media (max-width: 760px) {
  :root { --experience-focus: #82c8f7; }
  html body main :is(h1,h2,h3,section,details)[id] { scroll-margin-top: 94px; }
  html body .site-header .mobile-menu-panel { background-color: rgba(7, 17, 31, 0.98) !important; }
  html body .site-header .mobile-menu[open] summary span,
  html body.contact-page:not(.home-page) .site-header .mobile-menu[open] summary span {
    display: block !important; position: relative !important; width: 22px !important; height: 2px !important;
    top: auto !important; left: auto !important; background: #eef5fa !important;
    box-shadow: none !important; transform: rotate(45deg) !important;
  }
  html body .site-header .mobile-menu[open] summary span::after,
  html body.contact-page:not(.home-page) .site-header .mobile-menu[open] summary span::after {
    content: "" !important; display: block !important; position: absolute !important; inset: 0 !important;
    width: 22px !important; height: 2px !important; background: #eef5fa !important; transform: rotate(90deg) !important;
  }
  html body .site-header .mobile-menu[open] summary span::before { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
/* Functional contrast repair only: keep the established mobile geometry and theme. */
@layer mobile-primary-actions {
  @media (max-width: 760px) {
    html body:not(.home-page):not(.contact-page) :is(main,.cta-band) :is(.button:not(.secondary),.reading-download-action) {
      color: #fff !important;
      -webkit-text-fill-color: #fff !important;
      background: linear-gradient(135deg, #2670ca, #246bb7) !important;
      border-color: #79b6ed !important;
      box-shadow: none !important;
    }
    html body:not(.home-page):not(.contact-page) :is(main,.cta-band) :is(.button:not(.secondary),.reading-download-action):is(:hover,:focus-visible) {
      background: #245e9f !important;
      outline: 2px solid #9bd1ff !important;
      outline-offset: 3px !important;
    }
  }
}
