/* GAT System V132 — site-wide contrast assurance and homepage services redesign */

:root{
  --v132-dark-title:#f8fbff;
  --v132-dark-body:#c9d9e8;
  --v132-dark-soft:#a9bfd2;
  --v132-dark-accent:#70e2ff;
  --v132-light-title:#09233f;
  --v132-light-body:#405b73;
  --v132-light-soft:#607890;
  --v132-line:#cfe0ef;
  --v132-blue:#0b69e3;
  --v132-cyan:#21bfe8;
}

/* Explicit contrast for every intentionally dark site surface. */
body.v54-clear-theme :is(
  .page-hero,
  .service-hero-card,
  .v130-service-suite,
  .v57-outcomes,
  .v57-why,
  .v80-value-section,
  .v80-contact,
  .v57-final-card,
  .cta-panel,
  .technology-band,
  .v92-ai-cta-inner,
  .v108-dark,
  .v108-cta-inner,
  .v126-hero,
  .v126-roles-section,
  .v126-final-panel,
  .footer
) :is(h1,h2,h3,h4){
  color:var(--v132-dark-title)!important;
}

body.v54-clear-theme :is(
  .page-hero,
  .service-hero-card,
  .v130-service-suite,
  .v57-outcomes,
  .v57-why,
  .v80-value-section,
  .v80-contact,
  .v57-final-card,
  .cta-panel,
  .technology-band,
  .v92-ai-cta-inner,
  .v108-dark,
  .v108-cta-inner,
  .v126-hero,
  .v126-roles-section,
  .v126-final-panel,
  .footer
) :is(p,li,small){
  color:var(--v132-dark-body)!important;
}

body.v54-clear-theme :is(
  .page-hero,
  .v130-service-suite,
  .v57-outcomes,
  .v57-why,
  .v80-value-section,
  .v80-contact,
  .cta-panel,
  .technology-band,
  .v92-ai-cta-inner,
  .v108-dark,
  .v108-cta-inner,
  .v126-hero,
  .v126-roles-section,
  .v126-final-panel
) :is(.eyebrow,.v57-label,.v92-ai-eyebrow,.v108-eyebrow,.v108-kicker,.v126-label,.v126-kicker){
  color:var(--v132-dark-accent)!important;
}

body.v54-clear-theme .page-hero :is(.breadcrumb,.breadcrumb a),
body.v54-clear-theme .v126-hero :is(.breadcrumb,.breadcrumb a){
  color:#c9dded!important;
}

/* Dark-theme coverage for page families whose default layouts are light. */
body.theme-dark.v54-clear-theme :is(
  .v57-hero,
  .v92-ai-hero,
  .v108-hero,
  .service-surface,
  .platform-surface,
  .v92-ai-section,
  .v108-section,
  .v126-section,
  .v126-process-section,
  .privacy-content,
  .support-detail-surface
) :is(h1,h2,h3,h4){
  color:var(--v132-dark-title)!important;
}

body.theme-dark.v54-clear-theme :is(
  .v57-hero,
  .v92-ai-hero,
  .v108-hero,
  .service-surface,
  .platform-surface,
  .v92-ai-section,
  .v108-section,
  .v126-section,
  .v126-process-section,
  .privacy-content,
  .support-detail-surface
) :is(p,li,small){
  color:var(--v132-dark-body)!important;
}

/* Light surfaces receive one dependable high-contrast reading palette. */
body:not(.theme-dark).v54-clear-theme :is(
  .service-surface,
  .platform-surface,
  .service-brief-section,
  .service-process-section,
  .service-fit-section,
  .engagement-scenario,
  .v92-ai-section,
  .v108-section:not(.v108-dark),
  .v126-section,
  .v126-process-section,
  .privacy-content,
  .contact-next-section,
  .support-contact-section,
  .support-request-types
) :is(h2,h3,h4){
  color:var(--v132-light-title)!important;
}

body:not(.theme-dark).v54-clear-theme :is(
  .service-surface,
  .platform-surface,
  .service-brief-section,
  .service-process-section,
  .service-fit-section,
  .engagement-scenario,
  .v92-ai-section,
  .v108-section:not(.v108-dark),
  .v126-section,
  .v126-process-section,
  .privacy-content,
  .contact-next-section,
  .support-contact-section,
  .support-request-types
) :is(p,li,small){
  color:var(--v132-light-body)!important;
}

/* Homepage Data & Analytics: stronger, smoother and easier to scan. */
body[data-page="home"] .v132-service-suite{
  margin:clamp(38px,5vw,68px) 0;
  padding:clamp(30px,5vw,62px);
  border:1px solid rgba(91,211,255,.28);
  border-radius:clamp(28px,4vw,42px);
  background:
    radial-gradient(circle at 93% 3%,rgba(56,207,255,.27),transparent 26rem),
    radial-gradient(circle at 5% 100%,rgba(31,111,255,.31),transparent 29rem),
    linear-gradient(135deg,#04152b 0%,#082c51 52%,#07597e 100%)!important;
  box-shadow:0 32px 80px rgba(4,35,69,.24),inset 0 1px rgba(255,255,255,.08);
}

body[data-page="home"] .v132-service-suite::before{
  opacity:.17;
  background-size:52px 52px;
}

body[data-page="home"] .v132-suite-head{
  grid-template-columns:minmax(0,1.18fr) minmax(310px,.72fr);
  align-items:end;
  gap:clamp(28px,5vw,72px);
  margin-bottom:clamp(30px,4vw,46px);
}

body[data-page="home"] .v132-suite-heading{
  min-width:0;
}

body[data-page="home"] .v132-suite-heading h3{
  max-width:18ch;
  margin:0;
  color:var(--v132-dark-title)!important;
  font-size:clamp(2.35rem,4.45vw,4.25rem);
  line-height:1.01;
  letter-spacing:-.055em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}

body[data-page="home"] .v132-suite-intro{
  display:grid;
  gap:14px;
  align-content:end;
  min-width:0;
}

body[data-page="home"] .v132-suite-intro>span{
  justify-self:start;
  padding:8px 12px;
  border:1px solid rgba(117,224,255,.32);
  border-radius:999px;
  color:#dff8ff!important;
  background:rgba(58,196,238,.12);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.085em;
  text-transform:uppercase;
}

body[data-page="home"] .v132-suite-intro>p{
  max-width:52ch;
  margin:0;
  color:#d0e2ef!important;
  font-size:clamp(.98rem,1.2vw,1.08rem);
  line-height:1.72;
}

body[data-page="home"] .v132-suite-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.5vw,20px);
}

body[data-page="home"] .v132-service-card{
  --v132-card-accent:#0c75ef;
  min-height:238px;
  padding:clamp(22px,2.3vw,30px);
  border:1px solid rgba(208,229,246,.95)!important;
  border-radius:24px;
  color:var(--v132-light-title)!important;
  background:
    linear-gradient(150deg,rgba(255,255,255,.99),rgba(241,248,255,.97))!important;
  box-shadow:0 14px 34px rgba(2,30,58,.12),inset 0 1px #fff;
  backdrop-filter:none;
  text-decoration:none;
  transform:translateZ(0);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

body[data-page="home"] .v132-service-card:nth-child(2){--v132-card-accent:#1962d2}
body[data-page="home"] .v132-service-card:nth-child(3){--v132-card-accent:#7258dc}
body[data-page="home"] .v132-service-card:nth-child(4){--v132-card-accent:#008baf}
body[data-page="home"] .v132-service-card:nth-child(5){--v132-card-accent:#087fca}
body[data-page="home"] .v132-service-card:nth-child(6){--v132-card-accent:#006da5}

body[data-page="home"] .v132-service-card::after{
  left:28px;
  right:28px;
  height:3px;
  opacity:1;
  background:linear-gradient(90deg,var(--v132-card-accent),#43c8ee);
}

body[data-page="home"] .v132-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

body[data-page="home"] .v132-card-top .v130-suite-index{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--v132-card-accent),#2aaee7);
  box-shadow:0 9px 20px color-mix(in srgb,var(--v132-card-accent) 25%,transparent);
  font-size:.72rem;
}

body[data-page="home"] .v132-card-type{
  min-width:0;
  color:#557087!important;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.08em;
  text-align:right;
  text-transform:uppercase;
}

body[data-page="home"] .v132-service-suite .v132-service-card h4{
  margin:25px 0 10px;
  color:var(--v132-light-title)!important;
  font-size:clamp(1.18rem,1.55vw,1.42rem);
  line-height:1.16;
  letter-spacing:-.03em;
}

body[data-page="home"] .v132-service-suite .v132-service-card p{
  margin:0;
  color:var(--v132-light-body)!important;
  font-size:.91rem;
  line-height:1.65;
}

body[data-page="home"] .v132-service-suite .v132-service-card b{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:22px;
  color:var(--v132-card-accent)!important;
  font-size:.8rem;
}

body[data-page="home"] .v132-service-suite .v132-service-card b span{
  color:inherit!important;
}

@media(hover:hover){
  body[data-page="home"] .v132-service-card:hover{
    transform:translateY(-7px);
    border-color:color-mix(in srgb,var(--v132-card-accent) 46%,#d3e3ef)!important;
    box-shadow:0 24px 52px rgba(2,30,58,.19),inset 0 1px #fff;
  }
}

body.theme-dark[data-page="home"] .v132-service-card{
  border-color:rgba(112,178,224,.25)!important;
  color:var(--v132-dark-title)!important;
  background:linear-gradient(145deg,rgba(14,45,75,.96),rgba(8,30,55,.97))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.06);
}

body.theme-dark[data-page="home"] .v132-service-suite .v132-service-card h4{
  color:var(--v132-dark-title)!important;
}

body.theme-dark[data-page="home"] .v132-service-suite .v132-service-card p{
  color:var(--v132-dark-body)!important;
}

body.theme-dark[data-page="home"] .v132-card-type{
  color:#a9c2d6!important;
}

/* Remove the unused caption spacing now that only the visual logo wall remains. */
body[data-page="home"] .v72-logo-wall-shell{
  gap:0!important;
}

/* Strong focus visibility against both light and dark surfaces. */
body.v54-clear-theme :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #55d9ff!important;
  outline-offset:4px!important;
}

@media(max-width:1180px){
  body[data-page="home"] .v132-suite-head{
    grid-template-columns:1fr;
    align-items:start;
    gap:20px;
  }
  body[data-page="home"] .v132-suite-heading h3{max-width:20ch}
  body[data-page="home"] .v132-suite-intro>p{max-width:68ch}
}

@media(max-width:980px){
  body[data-page="home"] .v132-suite-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  body[data-page="home"] .v132-service-suite{
    margin-inline:0;
    padding:26px 18px;
    border-radius:26px;
  }
  body[data-page="home"] .v132-suite-heading h3{
    font-size:clamp(2.05rem,10.6vw,3.15rem);
    line-height:1.03;
  }
  body[data-page="home"] .v132-suite-grid{
    grid-template-columns:1fr;
  }
  body[data-page="home"] .v132-service-card{
    min-height:218px;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="home"] .v132-service-card{
    transition:none!important;
  }
}
