/* Homepage decoration is removed; search controls remain unobstructed. */
.public-homepage .b14-hero::after {
  content: none !important;
  display: none !important;
  pointer-events: none !important;
}

/* Build 51: consistent, readable link hover states across the public site. */
:root {
  --build51-link-hover-light: #075f8b;
  --build51-link-hover-dark: #63daf2;
}

.site-header.build31-header {
  position: sticky !important;
  z-index: 10000 !important;
}

.site-header.build31-header details[open],
.site-header.build31-header .nav-panel {
  z-index: 10010 !important;
}

.build31-header .nav-actions > .account-menu > summary,
.build31-header .nav-actions > .account-menu[open] > summary,
.build31-header .nav-actions > .account-menu > summary:hover,
.build31-header .nav-actions > .account-menu > summary:focus-visible {
  border: 1px solid rgba(89, 209, 237, .35) !important;
  background: transparent !important;
}

.build31-header .account-panel .account-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
}

.build31-header .account-panel .account-logout {
  margin: 0 !important;
}

.build31-header .account-panel {
  background: #fff !important;
  color: #142033 !important;
}

.build31-header .account-panel label {
  color: #142033 !important;
}

.build31-header .account-panel > strong {
  display: block !important;
  margin: 0 0 .65rem !important;
  color: #0b6fbe !important;
  font-size: .73rem !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.build31-header .account-panel p {
  color: #5c6677 !important;
}

.build31-header .account-panel .account-links :is(a, button) {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #12354c !important;
  font: 700 .9rem/1.35 inherit !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

/* Keep the services menu visually balanced despite the larger Web & Online area. */
.build31-header .mega-nav .services-menu.services-menu-balanced {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: min(780px, calc(100vw - 3rem)) !important;
  min-width: 0 !important;
}

.build31-header .mega-nav :is(.products-menu, .company-menu, .contact-menu) {
  width: min(640px, calc(100vw - 3rem)) !important;
  min-width: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

.build31-header .mega-nav :is(.products-menu, .company-menu, .contact-menu) > .mega-group {
  box-sizing: border-box !important;
  min-width: 0 !important;
  padding: .15rem 1.2rem !important;
}

.build31-header .mega-nav :is(.products-menu, .company-menu, .contact-menu) > .mega-group + .mega-group {
  border-left: 1px solid #dce2ea !important;
}

.build31-header .mega-nav :is(.products-menu, .company-menu, .contact-menu) .mega-group-title {
  min-height: 20px !important;
  margin-bottom: .65rem !important;
}

.build31-header .mega-nav :is(.products-menu, .company-menu, .contact-menu) a {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  line-height: 1.35 !important;
}

.build31-header .mega-nav .products-menu a {
  min-height: 44px !important;
}

.build31-header .account-panel {
  width: min(340px, calc(100vw - 2rem)) !important;
  max-width: 340px !important;
  min-width: 0 !important;
}

@media (min-width: 981px) {
  .build31-header .account-menu.is-authenticated .account-panel {
    width: min(280px, calc(100vw - 2rem)) !important;
    max-width: 280px !important;
  }
}

.build31-header .language-panel {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

.build31-header .services-menu-column {
  display: grid;
  align-content: start;
  align-self: stretch;
  height: 100%;
  gap: 1.1rem;
  min-width: 0;
  padding: 0 1rem;
}

.build31-header .services-menu-column + .services-menu-column {
  border-left: 1px solid #dce2ea;
}

.build31-header .services-menu-balanced .mega-group {
  border-left: 0 !important;
  border-right: 0 !important;
  padding: .15rem .35rem !important;
}

.build31-header .nav-panel a:hover,
.build31-header .nav-panel a:focus-visible,
.build31-header .account-panel .account-links a:hover,
.build31-header .account-panel .account-links a:focus-visible {
  color: var(--build51-link-hover-light) !important;
  background: #eaf6fa !important;
  text-decoration: none !important;
}

.build31-header .nav-panel a:hover *,
.build31-header .nav-panel a:focus-visible * {
  color: inherit !important;
}

.build31-header .account-panel .account-links :is(a, button):hover,
.build31-header .account-panel .account-links :is(a, button):focus-visible {
  color: var(--build51-link-hover-light) !important;
  background: #eaf6fa !important;
  text-decoration: none !important;
}

main a:not(.button):not(.portal-button):not(.card-button):hover,
main a:not(.button):not(.portal-button):not(.card-button):focus-visible {
  color: var(--build51-link-hover-light) !important;
  text-decoration-color: currentColor !important;
}

:where(.master-hero, .b13-hero, .b14-hero, .systems-hero, .human-tech, .domain-feature, .app-motion-section, .final-cta, .privacy-index, .app-evolution)
  a:not(.button):not(.portal-button):not(.card-button):hover,
:where(.master-hero, .b13-hero, .b14-hero, .systems-hero, .human-tech, .domain-feature, .app-motion-section, .final-cta, .privacy-index, .app-evolution)
  a:not(.button):not(.portal-button):not(.card-button):focus-visible,
.build14-footer a:hover,
.build14-footer a:focus-visible,
.build14-footer .link-button:hover,
.build14-footer .link-button:focus-visible {
  color: var(--build51-link-hover-dark) !important;
}

.button:hover,
.button:focus-visible,
.portal-button:hover,
.portal-button:focus-visible,
.card-button:hover,
.card-button:focus-visible {
  color: #fff !important;
}

.button.secondary:hover,
.button.secondary:focus-visible,
.portal-button.secondary:hover,
.portal-button.secondary:focus-visible {
  color: #082c44 !important;
}

.build14-footer .footer-brand.footer-brand-compact {
  grid-template-columns: 64px minmax(0, 1fr) !important;
}

.build14-footer .footer-signet-link,
.build14-footer .footer-signet {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
}

@media (max-width: 620px) {
  .build14-footer .footer-brand.footer-brand-compact {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }

  .build14-footer .footer-signet-link,
  .build14-footer .footer-signet {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
  }
}

/* Build 98: one compact page-introduction rhythm across the public site */
:where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) {
  box-sizing: border-box !important;
  display: grid !important;
  align-items: center !important;
  height: clamp(19.5rem, 27vw, 22rem) !important;
  min-height: clamp(19.5rem, 27vw, 22rem) !important;
  padding-block: clamp(2.25rem, 3.5vw, 3rem) !important;
}

:where(.master-hero,.b13-hero,.b14-hero,.compact-hero) > :where(.shell,.wrap,.container) {
  width: min(100% - 2rem, 1180px);
}

@media (max-width: 620px) {
  :where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) {
    min-height: 13.5rem !important;
    padding-block: 2rem !important;
  }
}

/* Build 98: scalable product navigation. */
@media (min-width: 981px) {
  .build31-header .mega-nav .nav-panel.mega-grid {
    box-sizing: border-box !important;
  }

  .build31-header .mega-nav .products-menu {
    width: min(820px, calc(100vw - 3rem)) !important;
    max-width: 820px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  .build31-header .services-menu.services-menu-balanced {
    grid-template-columns: 1fr !important;
  }

  .build31-header .services-menu-column {
    height: auto;
    gap: .35rem;
    padding: 0;
  }

  .build31-header .services-menu-column + .services-menu-column {
    border-left: 0;
    border-top: 1px solid #dce2ea;
    padding-top: .35rem;
  }
}

/* Build 97: compact, consistent page introductions */
:where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) {
  min-height: 0 !important;
  padding-block: clamp(2.5rem, 5vw, 4.75rem) !important;
}

:where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) :where(h1,.hero-title) {
  max-width: 24ch !important;
  margin-block: .25rem .7rem !important;
  font-size: clamp(2.05rem, 4.6vw, 4rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
  text-wrap: pretty;
}

:where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) :where(p,.lead) {
  max-width: 68ch;
  margin-block: .35rem;
}

.breadcrumb-wrap,
.breadcrumbs {
  padding-block: .65rem !important;
}

@media (min-width: 980px) {
  :where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) :where(h1,.hero-title) {
    max-width: 30ch !important;
  }
}

@media (max-width: 620px) {
  :where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) {
    padding-block: 2.1rem !important;
  }

  :where(.master-hero,.b13-hero,.b14-hero,.systems-hero,.compact-hero) :where(h1,.hero-title) {
    font-size: clamp(1.9rem, 10vw, 2.65rem) !important;
  }
}

/* Build 98 final override: equal-height blue introduction band. */
:where(.master-hero,.b13-hero,.b14-hero,.compact-hero) {
  min-height: clamp(15rem, 22vw, 18rem) !important;
  padding-block: clamp(2.4rem, 4.5vw, 3.8rem) !important;
}

/* Build 99: one compact introduction band on every interior public page. */
.public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) {
  box-sizing: border-box !important;
  display: grid !important;
  align-items: center !important;
  grid-template-rows: auto !important;
  height: auto !important;
  min-height: clamp(15rem, 22vw, 18rem) !important;
  padding-block: clamp(2.4rem, 4.5vw, 3.8rem) !important;
  overflow: visible !important;
}

.public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) > :where(.shell,.wrap,.container) {
  align-items: center !important;
  height: auto !important;
  padding-block: clamp(2rem, 3vw, 2.75rem) !important;
}

.public-interior-page :where(.b17-hero,.b20-hero) h1 {
  margin-block: .2rem .65rem !important;
  font-size: clamp(2.05rem, 4vw, 3.55rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
}

.public-interior-page :where(.b17-hero,.b20-hero) :where(.b18-visual,.b20-hero-visual) {
  width: 100% !important;
  height: min(16vw, 14.5rem) !important;
  min-height: 0 !important;
  max-height: 14.5rem !important;
  object-fit: contain !important;
}

.public-homepage .b14-hero {
  height: auto !important;
  min-height: clamp(34rem, 52vw, 44rem) !important;
  padding-block: clamp(3rem, 6vw, 5rem) !important;
  overflow: visible !important;
}

/* Tighter, consistent content rhythm without compressing cards or text. */
main > section:not(:first-child):not(.domain-teaser):not(.master-hero):not(.b13-hero):not(.b14-hero):not(.b17-hero):not(.b20-hero):not(.systems-hero):not(.compact-hero):not(.app-detail-hero):not(.android-test-hero):not(.privacy-highlight) {
  padding-block: clamp(2.6rem, 4.6vw, 4.4rem) !important;
}

@media (max-width: 620px) {
  .public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) {
    height: auto !important;
    min-height: 13.5rem !important;
    padding-block: 2rem !important;
  }

  .public-homepage .b14-hero {
    min-height: 0 !important;
    padding-block: 2.8rem !important;
  }

  main > section:not(:first-child):not(.domain-teaser) {
    padding-block: 2.5rem !important;
  }
}

@media (max-width: 620px) {
  :where(.master-hero,.b13-hero,.b14-hero,.compact-hero) {
    min-height: 13.5rem !important;
    padding-block: 2rem !important;
  }
}

/* Build 101: one compact navigation system across homepage and customer area. */
@media (min-width: 981px) {
  .build31-header .mega-nav .products-menu {
    width: min(520px, calc(100vw - 2rem)) !important;
    max-width: 520px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .build31-header .mega-nav .company-menu {
    width: min(510px, calc(100vw - 2rem)) !important;
    max-width: 510px !important;
  }

  .build31-header .mega-nav .contact-menu {
    width: min(560px, calc(100vw - 2rem)) !important;
    max-width: 560px !important;
  }

  .build31-header .mega-nav .services-menu.services-menu-balanced {
    width: min(760px, calc(100vw - 2rem)) !important;
    max-width: 760px !important;
  }
}

.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu) > .mega-group {
  padding: .1rem .8rem !important;
}

.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu) .mega-group-title,
.build31-header .services-menu-balanced .mega-group-title {
  min-height: 0 !important;
  margin-bottom: .4rem !important;
  padding-bottom: .42rem !important;
}

.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu) a,
.build31-header .services-menu-balanced a {
  min-height: 38px !important;
  padding: 8px 9px !important;
  font-size: .9rem !important;
  line-height: 1.3 !important;
}

.build31-header .services-menu-column {
  gap: .55rem !important;
  padding-inline: .7rem !important;
}

.build31-header .account-panel .account-links :is(a,button) {
  min-height: 38px !important;
  padding: 8px 10px !important;
}

/* Build 101: readable legal documents without exposing internal project notes. */
.legal-document {
  padding-block: clamp(2.8rem, 5vw, 5rem) !important;
  background: #fff;
}

.legal-document-content {
  width: min(100% - 2rem, 920px);
  margin-inline: auto;
  color: #24394b;
}

.legal-document-content > :first-child { margin-top: 0; }
.legal-document-content h2 {
  margin: 2.2rem 0 .7rem;
  color: #0d2d43;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  line-height: 1.25;
}
.legal-document-content h3 { margin: 1.35rem 0 .45rem; color: #123d59; }
.legal-document-content p,
.legal-document-content li { line-height: 1.7; }
.legal-document-content ul,
.legal-document-content ol { padding-left: 1.25rem; }
.legal-document-content .legal-meta {
  margin-bottom: 1.6rem;
  padding: .85rem 1rem;
  border-left: 3px solid #119cca;
  background: #eef8fb;
  color: #36566b;
}

/* Build 101: readable, uncramped copy in every blue interior introduction. */
body:not(.public-homepage) :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) {
  color: #fff !important;
}
body:not(.public-homepage) :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) :where(h1,.hero-title) {
  max-width: 30ch !important;
  color: #fff !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
}
body:not(.public-homepage) :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) :where(p,.lead) {
  max-width: 68ch;
  color: rgba(240,248,253,.88) !important;
  line-height: 1.58 !important;
}

/* Build 103: photographs and editorial visuals sit directly in the layout. */
:where(
  .b18-visual,
  .b20-hero-visual,
  .b20-product-image,
  .service-showcase-media img,
  .tool-feature img
) {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
}
html,body{max-width:100%;overflow-x:clip}

/* Build 104: shared, content-driven layout for public pages and portal shell. */
:root {
  color-scheme: light;
  --ui-space-1: .5rem;
  --ui-space-2: .875rem;
  --ui-space-3: 1.25rem;
  --ui-space-4: clamp(2.25rem, 4vw, 4rem);
}

body {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  text-rendering: optimizeLegibility;
}

.build28-breadcrumb,
.build29-breadcrumb {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.build28-breadcrumb ol,
.build29-breadcrumb ol {
  min-width: 0;
  flex-wrap: wrap;
  row-gap: .25rem;
}

/* Every interior introduction grows with its content. */
.public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) {
  height: auto !important;
  min-height: clamp(15rem, 20vw, 18rem) !important;
  padding-block: clamp(2.25rem, 4vw, 3.6rem) !important;
  overflow: visible !important;
}

.public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) > :where(.shell,.wrap,.container) {
  height: auto !important;
  min-height: 0 !important;
  padding-block: 0 !important;
}

.public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) :where(h1,.hero-title) {
  margin-block: .2rem .7rem !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  line-height: 1.1 !important;
  overflow-wrap: anywhere;
}

.public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) :where(p,.lead) {
  line-height: 1.6 !important;
}

.public-interior-page :where(.b18-visual,.b20-hero-visual) {
  height: auto !important;
  min-height: 8rem !important;
  max-height: 14rem !important;
  aspect-ratio: 16 / 10;
  object-fit: contain !important;
}

/* Homepage: one principal blue hero, then a calm light domain module. */
.public-homepage .b14-hero {
  height: auto !important;
  min-height: 0 !important;
  padding-block: clamp(2.75rem, 5vw, 4.5rem) !important;
  overflow: visible !important;
}

.public-homepage .b14-hero-grid {
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  min-height: 0 !important;
  padding-block: 0 !important;
}

.public-homepage .hero-copy h1 {
  font-size: clamp(2.25rem, 5vw, 4.65rem);
  line-height: 1.04;
  text-wrap: balance;
}

.public-homepage .hero-app-showcase {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.public-homepage .hero-app-motion {
  min-height: 17rem !important;
  gap: 1rem 1.5rem !important;
}

.public-homepage .hero-app-motion img {
  width: 6rem !important;
  height: 6rem !important;
}

.domain-teaser,
.domain-teaser-compact {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) !important;
  border-block: 1px solid #dfe8ef !important;
  background: linear-gradient(180deg,#f8fbfd 0%,#eef5f8 100%) !important;
  color: #0b2d43 !important;
  box-shadow: none !important;
}

.domain-teaser :where(.eyebrow,h2,p,label),
.domain-teaser-compact :where(.eyebrow,h2,p,label) {
  color: #0b2d43 !important;
}

.domain-teaser .domain-teaser-grid,
.domain-teaser-compact .domain-teaser-grid {
  grid-template-columns: minmax(15rem,.72fr) minmax(22rem,1.28fr) !important;
  gap: clamp(1rem,3vw,2.4rem) !important;
}

.domain-teaser .domain-search-card,
.domain-teaser-compact .domain-search-card {
  padding: clamp(.75rem,1.5vw,1rem) !important;
  border: 1px solid #d5e1e8 !important;
  border-radius: 16px;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(13,45,67,.08) !important;
}

main > section:not(:first-child):not(.domain-teaser) {
  min-height: 0 !important;
  padding-block: var(--ui-space-4) !important;
}

:where(.b17-card-grid,.b20-grid,.b45-grid,.b46-package-grid,.contact-choice-grid,.tool-overview-grid) {
  gap: clamp(.9rem,2vw,1.35rem) !important;
}

@media (min-width: 981px) {
  .build31-header .mega-nav .products-menu {
    width: min(520px, calc(100vw - 2rem)) !important;
    max-width: 520px !important;
  }
  .build31-header .mega-nav .services-menu.services-menu-balanced {
    width: min(560px, calc(100vw - 2rem)) !important;
    max-width: 560px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .public-interior-page :where(.master-hero,.b13-hero,.b14-hero,.b17-hero,.b20-hero,.systems-hero,.compact-hero,.app-detail-hero,.android-test-hero,.privacy-highlight) {
    min-height: 0 !important;
    padding-block: 2.2rem !important;
  }
  .domain-teaser .domain-teaser-grid,
  .domain-teaser-compact .domain-teaser-grid {
    grid-template-columns: 1fr !important;
  }
  .build31-header .mega-nav .nav-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  .build31-header .mega-nav .products-menu,
  .build31-header .mega-nav .services-menu.services-menu-balanced,
  .build31-header .mega-nav .company-menu,
  .build31-header .mega-nav .contact-menu {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 420px) {
  .public-homepage .b14-hero { padding-block: 2.25rem !important; }
  .public-homepage .hero-copy h1 { font-size: clamp(2rem,11vw,2.65rem); }
  .public-homepage .hero-app-showcase { padding: 0; }
  .public-homepage .hero-app-motion { min-height: 15rem !important; }
  .domain-teaser .domain-search-fields,
  .domain-teaser-compact .domain-search-fields { grid-template-columns: 1fr !important; }
}

/* Build 104: clear footer hierarchy matching the public and portal model. */
@media (min-width: 1100px) {
  .build14-footer .footer-grid.unified-footer {
    grid-template-columns: minmax(13rem,1.4fr) repeat(5,minmax(7.5rem,1fr)) !important;
    gap: clamp(1.25rem,2.2vw,2rem) !important;
  }
}

.build14-footer .footer-grid h3 {
  min-height: 0 !important;
  margin-bottom: .75rem !important;
}

.build14-footer .footer-grid a,
.build14-footer .footer-grid button {
  line-height: 1.35;
}

/* Build 106: measured sticky offsets; no new scroll container on body. */
:root { --site-header-height: 79px; }
html { scroll-padding-top: calc(var(--site-header-height) + 5rem); }
@media (max-width:1180px) { :root { --site-header-height:78px; } }
@media (max-width:560px) { :root { --site-header-height:67px; } }
.build31-header { position:sticky!important; top:0!important; z-index:10000!important; }
.build28-breadcrumb.build29-breadcrumb { position:sticky!important; top:var(--site-header-height)!important; z-index:9000!important; }
main [id] { scroll-margin-top:calc(var(--site-header-height) + 5rem); }

/* Five footer link groups; the former brand/contact row is no longer shown. */
.build14-footer .footer-grid.unified-footer {
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:1.75rem 2rem!important;
  padding-bottom:1.75rem!important;
}
.build14-footer .footer-grid.unified-footer > .footer-brand {
  display:none!important;
}
.build14-footer .footer-grid.unified-footer > div { margin-top:0!important; }
.build14-footer .footer-grid > div:not(.footer-brand) { min-width:0!important; }
.build14-footer .footer-grid h3 { margin:0 0 .65rem!important; font-size:.75rem!important; letter-spacing:.1em!important; }
.build14-footer .footer-grid > div:not(.footer-brand) > a {
  display:block;
  width:fit-content;
  max-width:100%;
  margin:0!important;
  padding:.3rem 0!important;
  font-size:.875rem!important;
  line-height:1.5!important;
  text-decoration:none!important;
  overflow-wrap:break-word;
}
.build14-footer .footer-bottom { display:flex; flex-wrap:wrap; gap:.8rem 2rem; justify-content:space-between; }
@media (max-width:900px) {
  .build14-footer .footer-grid.unified-footer { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:1.5rem!important; }
  .build14-footer .footer-grid.unified-footer > div:first-child { grid-column:auto!important; }
}
@media (max-width:560px) {
  .build14-footer .footer-grid.unified-footer { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:1.5rem 1.1rem!important; }
  .build14-footer .footer-grid > div:last-child { grid-column:1 / -1; }
  .build14-footer .footer-grid > div:not(.footer-brand) > a { padding:.4rem 0!important; font-size:.86rem!important; }
}

/* The visually checked web-product and website introductions share this compact layout. */
:is(.public-website-service,.public-web-product-page) .master-hero.compact-hero {
  min-height:0!important;
  height:auto!important;
  padding-block:clamp(2rem,4vw,3.25rem)!important;
}
:is(.public-website-service,.public-web-product-page) .master-hero.compact-hero > .shell { max-width:1180px!important; width:calc(100% - 40px)!important; padding-block:0!important; }
:is(.public-website-service,.public-web-product-page) .master-hero.compact-hero h1 {
  max-width:28ch!important;
  font-size:clamp(2rem,3.5vw,3rem)!important;
  line-height:1.15!important;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Build 106: issues confirmed in the 320px page-by-page screenshot review. */
.public-website-service .b45-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:.75rem;
  margin-top:1.5rem;
}
.public-services-page .b19-service-map {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.public-services-page .b19-service-map > .b19-service,
.public-services-page .b17-hero-grid > div {
  min-width:0;
}
.public-homepage .editorial-services-media img {
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.public-legal-page .build14-footer .footer-contact button.comm-email {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  min-width:0!important;
  padding:6px 10px!important;
  border:1px solid rgba(93,210,255,.38)!important;
  border-radius:8px!important;
  background:rgba(19,135,187,.13)!important;
  box-shadow:none!important;
}
.public-legal-page .build14-footer .footer-contact button.comm-email:hover,
.public-legal-page .build14-footer .footer-contact button.comm-email:focus-visible {
  border-color:rgba(110,222,255,.75)!important;
  background:rgba(25,160,220,.22)!important;
}

@media (min-width:761px) and (max-width:980px) {
  .public-homepage .hero-app-showcase { padding-bottom:2.75rem!important; }
}
@media (max-width:760px) {
  .public-homepage .hero-app-showcase { padding-bottom:2.75rem!important; }
  .public-services-page .b19-service-map { grid-template-columns:minmax(0,1fr); }
  html[lang="de"] .public-services-page .b17-hero h1,
  html[lang="de"] .public-services-page .b19-service h2,
  html[lang="de"] .public-legal-page main :is(h1,h2,h3) {
    word-break:normal;
    overflow-wrap:break-word;
    -webkit-hyphens:auto;
    hyphens:auto;
    text-wrap:pretty;
  }
}

@media (max-width:560px) {
  .public-website-service .b45-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .public-website-service .b45-actions .button { margin:0!important; }
  .public-legal-page .privacy-app-list a {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:.2rem .8rem;
    padding:.8rem 0;
  }
  .public-legal-page .privacy-app-list img { grid-row:1 / 3; }
  .public-legal-page .privacy-app-list strong,
  .public-legal-page .privacy-app-list span {
    min-width:0;
    margin:0;
    overflow-wrap:normal;
    word-break:normal;
  }
  .public-legal-page .privacy-app-list span { grid-column:2; }

  /* One fixed-width language code, with the full language name kept accessible. */
  .site-header.build31-header .language-menu > summary {
    width:54px!important;
    min-width:54px!important;
    gap:4px!important;
    padding-inline:6px!important;
  }
  .site-header.build31-header .language-menu > summary > .header-icon {
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
  }
  .site-header.build31-header .language-menu > summary > span {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .site-header.build31-header .language-menu > summary > span::after { content:none!important; }
  html[lang="de"] .site-header.build31-header .language-menu > summary::after { content:"DE"!important; }
  html[lang="en"] .site-header.build31-header .language-menu > summary::after { content:"EN"!important; }
  .site-header.build31-header .language-menu > summary::after {
    display:block!important;
    flex:0 0 18px;
    width:18px;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1;
    text-align:center;
  }
}
