/* GAT System consolidated polish stylesheet V189. */
/* Combines the previously layered polish versions while restoring V168 homepage theme behavior. */

/* Source: gat-polish-v131.css */
/* GAT System V131 — polish styles. Generated from the validated V130 cascade. */

/* Source: v130.css */
/* V130 — stronger modern client-impression layer */
:root{
  --v130-navy:#061a33;
  --v130-navy-2:#0a2f57;
  --v130-blue:#0b6ff4;
  --v130-blue-2:#135fc7;
  --v130-cyan:#48d7ff;
  --v130-ink:#071a33;
  --v130-muted:#52677f;
  --v130-line:rgba(20,73,124,.14);
  --v130-panel:rgba(255,255,255,.92);
  --v130-shadow:0 18px 52px rgba(6,35,69,.11);
  --v130-shadow-strong:0 28px 76px rgba(5,32,67,.19);
  --v130-radius:24px;
}

html{scroll-padding-top:116px}
body{
  font-optical-sizing:auto;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(circle at 8% 3%,rgba(72,215,255,.10),transparent 23rem),
    radial-gradient(circle at 92% 18%,rgba(11,111,244,.08),transparent 30rem),
    linear-gradient(180deg,#f5f9ff 0,#fff 32rem,#f7faff 100%);
}
body.theme-dark{
  background:
    radial-gradient(circle at 8% 2%,rgba(72,215,255,.08),transparent 24rem),
    linear-gradient(180deg,#071321,#0a1728 34rem,#08121f);
}
::selection{color:#fff;background:#0b6ff4}
h1,h2,h3,h4{font-variation-settings:"wght" 735;text-wrap:balance}
p,li{text-wrap:pretty}
a,button{-webkit-tap-highlight-color:transparent}

/* Navigation */
.topnav-header{
  display:block!important;
  position:sticky!important;
  top:0;
  z-index:1000;
  background:rgba(248,251,255,.84)!important;
  border-bottom:1px solid rgba(16,80,142,.10)!important;
  box-shadow:0 8px 28px rgba(7,40,78,.055)!important;
  backdrop-filter:blur(22px) saturate(165%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(165%)!important;
  transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.topnav-header.is-scrolled{
  background:rgba(255,255,255,.94)!important;
  border-color:rgba(16,80,142,.16)!important;
  box-shadow:0 12px 36px rgba(7,40,78,.10)!important;
}
.topnav{min-height:82px!important;gap:24px}
.topnav-brand{gap:12px}
.topnav-brand .brand-tile{
  width:56px;
  height:56px;
  border:1px solid rgba(26,104,172,.16);
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#edf7ff);
  box-shadow:0 10px 25px rgba(7,64,113,.11);
}
.topnav-brand .brand-name{color:var(--v130-ink);font-weight:800;letter-spacing:-.02em}
.topnav-links>a,.topnav-dropdown-toggle{
  min-height:44px;
  border-radius:13px!important;
  color:#243b55!important;
  font-weight:720!important;
  transition:color .18s ease,background .18s ease,transform .18s ease;
}
.topnav-links>a:hover,.topnav-dropdown-toggle:hover{
  color:#075fc9!important;
  background:rgba(11,111,244,.07)!important;
}
.topnav-links>a.active,.topnav-dropdown.active>.topnav-dropdown-toggle{
  color:#075fc9!important;
  background:rgba(11,111,244,.10)!important;
  box-shadow:inset 0 0 0 1px rgba(11,111,244,.10);
}
.topnav-actions{gap:10px}
.topnav-actions .icon-button,.topnav-actions .theme-toggle{
  border:1px solid rgba(16,80,142,.12)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 20px rgba(7,40,78,.06);
}
.topnav-cta{
  min-height:46px!important;
  padding-inline:20px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(115deg,var(--v130-blue),#0b86d7)!important;
  box-shadow:0 12px 28px rgba(11,111,244,.25)!important;
  font-weight:780!important;
}
.topnav-cta:hover{transform:translateY(-2px);box-shadow:0 17px 35px rgba(11,111,244,.32)!important}
.combined-services-menu{
  border:1px solid rgba(26,104,172,.13)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 30px 80px rgba(6,35,69,.20)!important;
  backdrop-filter:blur(24px) saturate(150%)!important;
}
.dropdown-intro.compact-intro{
  border-radius:20px!important;
  background:
    radial-gradient(circle at 95% 0,rgba(72,215,255,.22),transparent 35%),
    linear-gradient(145deg,#071d39,#0b4777)!important;
}
.dropdown-intro.compact-intro strong,.dropdown-intro.compact-intro a{color:#fff!important}
.dropdown-intro.compact-intro .dropdown-kicker{color:#72ddff!important}
.service-menu-group>span{color:#688099!important;letter-spacing:.09em!important}
.service-menu-group>a{border-radius:11px!important}
.service-menu-group>a:hover{color:#075fc9!important;background:#eef7ff!important;transform:translateX(2px)}

/* Strong abstract page heroes */
.page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:clamp(84px,8vw,126px)!important;
  color:#fff;
  background:
    radial-gradient(circle at 83% 13%,rgba(72,215,255,.22),transparent 23rem),
    radial-gradient(circle at 13% 110%,rgba(31,118,255,.22),transparent 27rem),
    linear-gradient(118deg,#05172e 0,#082a50 48%,#075b8f 100%)!important;
  border-bottom:1px solid rgba(72,215,255,.22);
  box-shadow:inset 0 -1px rgba(255,255,255,.08),0 24px 70px rgba(5,30,59,.14);
}
.page-hero::before{
  content:"";
  position:absolute;
  z-index:-2;
  width:min(58vw,760px);
  aspect-ratio:1;
  right:-15%;
  top:-72%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  box-shadow:
    0 0 0 76px rgba(255,255,255,.025),
    0 0 0 152px rgba(72,215,255,.025),
    0 0 0 228px rgba(255,255,255,.018);
}
.page-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.26;
  background-image:
    linear-gradient(rgba(72,215,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(72,215,255,.12) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(100deg,transparent 25%,#000 100%);
}
.page-hero>.shell{position:relative;z-index:1}
.page-hero h1{max-width:1000px;color:#fff!important;text-shadow:0 12px 32px rgba(0,0,0,.22)}
.page-hero p{max-width:790px;color:#d2e6f7!important;line-height:1.7}
.page-hero .eyebrow{color:#61ddff!important}
.page-hero .breadcrumb,.page-hero .breadcrumb a{color:#b9d2e8!important}
.page-hero .breadcrumb a:hover{color:#fff!important}
.page-hero .button.secondary{
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(10px);
}
.page-hero .service-hero-card{
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 30px 70px rgba(0,0,0,.28)!important;
}
.v57-hero,.v92-ai-hero,.v108-hero,.v126-hero{
  isolation:isolate;
  border-bottom:1px solid rgba(72,215,255,.18)!important;
  box-shadow:0 24px 70px rgba(5,30,59,.12);
}

/* Client-confidence rail */
.v130-confidence{
  position:relative;
  z-index:5;
  border-block:1px solid rgba(17,83,145,.12);
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 36px rgba(7,40,78,.075);
  backdrop-filter:blur(18px);
}
.v130-confidence-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-height:92px;
}
.v130-confidence-item{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  min-width:0;
  padding:19px 24px 19px 42px;
  border-right:1px solid rgba(17,83,145,.10);
}
.v130-confidence-item:last-child{border-right:0}
.v130-confidence-item::before{
  content:"";
  position:absolute;
  left:22px;
  top:34px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--v130-blue),var(--v130-cyan));
  box-shadow:0 0 0 6px rgba(11,111,244,.08);
}
.v130-confidence-item strong{color:var(--v130-ink);font-size:.98rem;line-height:1.25}
.v130-confidence-item span{overflow-wrap:anywhere;color:#687d93;font-size:.78rem;line-height:1.4}

/* Section hierarchy */
.section{padding-block:clamp(76px,8vw,108px)}
.section-heading{margin-bottom:clamp(30px,4vw,48px)}
.section-heading h2{max-width:16ch;color:var(--v130-ink);letter-spacing:-.038em}
.section-heading>p{color:var(--v130-muted);font-size:1.02rem;line-height:1.72}
.eyebrow,.v57-label{
  color:#0870d8!important;
  font-weight:800!important;
  letter-spacing:.095em!important;
}
body:not(.theme-dark) .service-surface{
  background:
    radial-gradient(circle at 88% 16%,rgba(72,215,255,.11),transparent 24rem),
    linear-gradient(180deg,#f6faff,#edf5ff)!important;
}

/* Complete homepage service suite */
.v130-service-suite{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:clamp(34px,5vw,62px) 0;
  padding:clamp(30px,5vw,56px);
  border:1px solid rgba(76,204,255,.22);
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0,rgba(72,215,255,.23),transparent 27rem),
    radial-gradient(circle at 8% 105%,rgba(24,107,244,.25),transparent 27rem),
    linear-gradient(135deg,#06172d,#082b50 54%,#074b76);
  box-shadow:var(--v130-shadow-strong);
}
.v130-service-suite::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.23;
  background-image:
    linear-gradient(rgba(72,215,255,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(72,215,255,.16) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(120deg,transparent 6%,#000 100%);
}
.v130-suite-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);
  gap:36px;
  align-items:end;
  margin-bottom:32px;
}
.v130-suite-label{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  color:#64ddff;
  font-size:.76rem;
  font-weight:820;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.v130-suite-label::before{content:"";width:28px;height:2px;border-radius:9px;background:#48d7ff}
.v130-suite-head h3{max-width:18ch;margin:0;color:#fff;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em}
.v130-suite-head>p{margin:0;color:#c8dced;font-size:1rem;line-height:1.72}
.v130-suite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v130-suite-card{
  position:relative;
  min-width:0;
  min-height:210px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  color:#fff;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  box-shadow:inset 0 1px rgba(255,255,255,.09);
  backdrop-filter:blur(12px);
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.v130-suite-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:2px;
  border-radius:4px 4px 0 0;
  background:linear-gradient(90deg,var(--v130-blue),var(--v130-cyan));
  opacity:.7;
}
.v130-suite-card:hover{
  transform:translateY(-5px);
  border-color:rgba(92,220,255,.42);
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.075));
  box-shadow:0 20px 40px rgba(0,0,0,.17);
}
.v130-suite-index{color:#5fdbff;font-size:.7rem;font-weight:850;letter-spacing:.1em}
.v130-suite-card h4{margin:17px 0 8px;color:#fff;font-size:1.18rem;letter-spacing:-.025em}
.v130-suite-card p{margin:0;color:#c2d8ea;font-size:.87rem;line-height:1.6}
.v130-suite-card b{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;color:#fff;font-size:.82rem}
.v130-suite-card b span{color:#5fe0ff;transition:transform .2s ease}
.v130-suite-card:hover b span{transform:translateX(3px)}

/* Cards and content surfaces */
:where(.service-card,.platform-card,.fit-card,.outcome-card,.technology-card,.solution-panel,.process-panel,.support-channel-card,.support-request-grid article,.contact-link-card,.architecture-visual,.about-story-grid figure,.v57-client-frame){
  border-radius:var(--v130-radius)!important;
  border-color:var(--v130-line)!important;
  box-shadow:var(--v130-shadow)!important;
}
body:not(.theme-dark) :where(.service-card,.platform-card,.fit-card,.outcome-card,.solution-panel,.process-panel,.support-channel-card,.support-request-grid article,.contact-link-card){
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(247,251,255,.92))!important;
}
:where(.service-card,.platform-card,.fit-card,.support-channel-card,.support-request-grid article,.contact-link-card,.v92-cap-grid article,.v126-value-grid article,.v126-role-grid article,.v80-value-grid article,.v99-platform-card){
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
:where(.service-card,.platform-card,.fit-card,.support-channel-card,.support-request-grid article,.contact-link-card,.v92-cap-grid article,.v126-value-grid article,.v126-role-grid article,.v80-value-grid article,.v99-platform-card):hover{
  transform:translateY(-5px)!important;
  border-color:rgba(11,111,244,.28)!important;
  box-shadow:0 24px 60px rgba(6,35,69,.16)!important;
}
.service-card>.icon-tile,.large-icon,.support-channel-icon,.support-request-icon,.platform-quality-icon{
  border-radius:16px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--v130-blue),#0f9bd7)!important;
  box-shadow:0 11px 24px rgba(11,111,244,.22);
}
.check-grid li,.check-list li{
  border-color:rgba(17,83,145,.12)!important;
  border-radius:17px!important;
  box-shadow:0 9px 24px rgba(7,40,78,.055);
}
.check-grid li::before,.check-list li::before{
  background:linear-gradient(135deg,#087dbe,#21b6bf)!important;
  box-shadow:0 7px 15px rgba(8,125,190,.18);
}
.v57-client-frame{overflow:hidden;background:#fff!important}
.v61-audience-card,.v99-platform-card{overflow:hidden;border-radius:25px!important}
.v80-team-photo{overflow:hidden;border-radius:30px!important;box-shadow:var(--v130-shadow-strong)!important}

/* Buttons and calls to action */
.button,.v57-btn,.v126-button{
  min-height:50px;
  border-radius:999px!important;
  font-weight:780!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.button.primary,.v57-btn.primary,.v126-button.primary{
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(115deg,var(--v130-blue),#0c8ed4)!important;
  box-shadow:0 13px 29px rgba(11,111,244,.24)!important;
}
.button.primary:hover,.v57-btn.primary:hover,.v126-button.primary:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 19px 38px rgba(11,111,244,.33)!important;
}
.button.secondary,.v57-btn.secondary{
  border-color:rgba(11,111,244,.18)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 10px 24px rgba(7,40,78,.08);
}
.cta-panel,.v126-final-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(30px,5vw,52px)!important;
  border:1px solid rgba(95,222,255,.24)!important;
  border-radius:32px!important;
  background:
    radial-gradient(circle at 92% 6%,rgba(72,215,255,.26),transparent 19rem),
    linear-gradient(125deg,#06172e,#0a3762 58%,#0875a5)!important;
  box-shadow:var(--v130-shadow-strong)!important;
}
.cta-panel::after,.v126-final-panel::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:280px;
  height:280px;
  right:-100px;
  bottom:-185px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(72,215,255,.025);
}
.cta-panel h2,.v126-final-panel h2{color:#fff!important;letter-spacing:-.038em}
.cta-panel p,.v126-final-panel p{color:#cfe2f2!important}

/* FAQ treatment */
.faq-list{display:grid;gap:12px}
.faq-item{
  padding-inline:20px;
  border:1px solid rgba(17,83,145,.12)!important;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 9px 24px rgba(7,40,78,.05);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.faq-item[open]{
  border-color:rgba(11,111,244,.26)!important;
  background:#fff;
  box-shadow:0 16px 34px rgba(7,40,78,.10);
}
.faq-item summary{padding-block:20px}
.faq-item summary span{color:#0b72dc!important}

/* Footer */
.footer{
  position:relative;
  overflow:hidden;
  padding-top:72px!important;
  color:#eaf4ff!important;
  background:
    radial-gradient(circle at 90% 0,rgba(16,126,191,.22),transparent 27rem),
    linear-gradient(135deg,#041323,#071d35 55%,#082a45)!important;
  border-top:1px solid rgba(72,215,255,.20);
}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:linear-gradient(rgba(72,215,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(72,215,255,.10) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,transparent,#000);
}
.footer>.shell{position:relative;z-index:1}
.footer-grid{gap:clamp(26px,4vw,48px)!important}
.footer h2{color:#fff!important;font-size:.76rem!important;letter-spacing:.11em!important;text-transform:uppercase}
.footer p,.footer a{color:#b9cee0!important}
.footer a{width:fit-content;transition:color .18s ease,transform .18s ease}
.footer a:hover{color:#fff!important;transform:translateX(2px)}
.footer-company p{font-size:.95rem;line-height:1.65}
.footer-reg{color:#7894ad!important}
.v130-footer-trust{
  display:block;
  margin-top:8px;
  color:#5fdcff!important;
  font-size:.72rem!important;
  font-weight:760;
  letter-spacing:.04em;
}
.footer-bottom{border-color:rgba(255,255,255,.11)!important}

/* Dark-mode consistency */
body.theme-dark .topnav-header{
  background:rgba(5,18,32,.88)!important;
  border-color:rgba(255,255,255,.08)!important;
}
body.theme-dark .topnav-brand .brand-tile,
body.theme-dark .topnav-actions .icon-button,
body.theme-dark .topnav-actions .theme-toggle{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.10)!important;
}
body.theme-dark .topnav-brand .brand-name,
body.theme-dark .topnav-links>a,
body.theme-dark .topnav-dropdown-toggle{color:#e7f3ff!important}
body.theme-dark .combined-services-menu{background:rgba(7,23,40,.97)!important;border-color:rgba(255,255,255,.09)!important}
body.theme-dark .service-menu-group>a{color:#c6d8e8!important}
body.theme-dark .service-menu-group>a:hover{color:#fff!important;background:rgba(72,215,255,.10)!important}
body.theme-dark .v130-confidence{
  border-color:rgba(255,255,255,.08);
  background:rgba(8,24,42,.94);
}
body.theme-dark .v130-confidence-item{border-color:rgba(255,255,255,.08)}
body.theme-dark .v130-confidence-item strong{color:#f2f8ff}
body.theme-dark .v130-confidence-item span{color:#9fb5c9}
body.theme-dark .section-heading h2{color:#f4f8ff}
body.theme-dark .faq-item{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.09)!important}
body.theme-dark .faq-item[open]{background:rgba(255,255,255,.08)}

@media(min-width:981px){
  .combined-services-menu{padding:18px!important}
}
@media(max-width:1080px){
  .v130-suite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v130-confidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v130-confidence-item:nth-child(2){border-right:0}
  .v130-confidence-item:nth-child(-n+2){border-bottom:1px solid rgba(17,83,145,.10)}
}
@media(max-width:980px){
  .topnav{min-height:74px!important}
  .topnav-brand .brand-tile{width:46px;height:46px;border-radius:14px}
  .topnav-links{
    background:rgba(248,251,255,.98)!important;
    backdrop-filter:blur(22px);
  }
  body.theme-dark .topnav-links{background:rgba(5,18,32,.98)!important}
  .v130-suite-head{grid-template-columns:1fr;gap:16px}
}
@media(max-width:720px){
  html{scroll-padding-top:86px}
  .page-hero{padding-block:70px!important}
  .page-hero h1{font-size:clamp(2.35rem,12vw,4rem)}
  .v130-confidence-grid{grid-template-columns:1fr}
  .v130-confidence-item{
    min-height:76px;
    padding-block:15px;
    padding-left:42px;
    border-right:0;
    border-bottom:1px solid rgba(17,83,145,.10);
  }
  .v130-confidence-item:last-child{border-bottom:0}
  .v130-confidence-item::before{top:30px}
  .v130-suite-grid{grid-template-columns:1fr}
  .v130-service-suite{margin-inline:-2px;padding:24px;border-radius:26px}
  .v130-suite-card{min-height:190px}
  .section-heading h2{max-width:none}
  .cta-panel{border-radius:26px!important}
  .footer{padding-top:58px!important}
}
@media(hover:none){
  :where(.service-card,.platform-card,.fit-card,.support-channel-card,.support-request-grid article,.contact-link-card,.v92-cap-grid article,.v126-value-grid article,.v126-role-grid article,.v80-value-grid article,.v99-platform-card):hover,
  .v130-suite-card:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .v130-suite-card,.topnav-cta,.footer a{transition:none!important}
}


/* Source: v131.css */
/* V131 — conversion, accessibility and responsive quality layer */
:root{
  --v131-focus:#00a7e8;
  --v131-field:#ffffff;
  --v131-field-border:#c9d9e8;
  --v131-field-text:#102a43;
  --v131-soft:#edf7ff;
}

/* Navigation clarity */
.service-menu-group .v131-capability-link{
  position:relative;
  padding-left:25px!important;
  font-size:.86rem!important;
  font-weight:650!important;
  color:#567087!important;
}
.service-menu-group .v131-capability-link::before{
  content:"";
  position:absolute;
  left:11px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#28bce8;
  transform:translateY(-50%);
}
body.theme-dark .service-menu-group .v131-capability-link{color:#a9c5d9!important}

/* Project brief form */
.v131-project-brief-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 12%,rgba(55,200,244,.18),transparent 24rem),
    linear-gradient(145deg,#061a34 0%,#0a3562 58%,#0b65bf 100%);
}
.v131-project-brief-section::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.22;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,transparent,#000 48%,#000);
}
.v131-brief-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,.76fr) minmax(520px,1.24fr);
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
.v131-brief-copy{padding-top:18px}
.v131-brief-copy .eyebrow{color:#6ee3ff!important}
.v131-brief-copy h2{
  max-width:12ch;
  margin:14px 0 20px;
  color:#fff!important;
  font-size:clamp(2.6rem,4.2vw,4.6rem);
  line-height:1;
  letter-spacing:-.05em;
}
.v131-brief-copy>p{max-width:48ch;color:#d4e5f3!important;font-size:1.04rem;line-height:1.7}
.v131-brief-points{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
.v131-brief-points li{position:relative;padding-left:28px;color:#edf8ff;font-weight:700}
.v131-brief-points li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  color:#05254b;
  background:#6ee3ff;
  font-size:.72rem;
}
.v131-project-form{
  display:grid;
  gap:22px;
  padding:clamp(26px,4vw,42px);
  border:1px solid rgba(255,255,255,.34);
  border-radius:30px;
  background:rgba(255,255,255,.96);
  box-shadow:0 30px 76px rgba(2,18,42,.26);
  backdrop-filter:blur(18px);
}
.v131-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.v131-field{display:grid;gap:8px;min-width:0}
.v131-field.full{grid-column:1/-1}
.v131-field label{color:#173957;font-size:.88rem;font-weight:800}
.v131-field label span{color:#6b7e91;font-weight:600}
.v131-field :is(input,select,textarea){
  width:100%;
  min-height:52px;
  padding:13px 15px;
  border:1px solid var(--v131-field-border);
  border-radius:14px;
  outline:0;
  color:var(--v131-field-text);
  background:var(--v131-field);
  font:inherit;
  line-height:1.35;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.v131-field textarea{min-height:142px;resize:vertical}
.v131-field :is(input,select,textarea):focus{
  border-color:#1988dc;
  box-shadow:0 0 0 4px rgba(25,136,220,.14);
}
.v131-field :is(input,textarea)::placeholder{color:#8093a5}
.v131-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.v131-form-submit{
  min-height:56px;
  padding:0 25px;
  border:0;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(135deg,#0869d8,#0a88db);
  box-shadow:0 14px 28px rgba(8,105,216,.24);
  font:inherit;
  font-weight:850;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.v131-form-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(8,105,216,.30)}
.v131-form-note{margin:0;color:#657b90;font-size:.82rem;line-height:1.55}
.v131-form-note a{color:#0869c8;font-weight:750}
.v131-form-status{min-height:1.4em;margin:0;color:#0b5d9f;font-size:.88rem;font-weight:750}

/* Support consistency */
body[data-page="support"] .cta-panel .button{white-space:normal;text-align:center}
body[data-page="support"] .footer-grid>div:last-child a[href^="mailto:"]{overflow-wrap:anywhere}

/* Careers privacy and application clarity */
.v131-career-privacy{
  grid-column:1/-1;
  margin:18px 0 0!important;
  color:#b9cfe1!important;
  font-size:.82rem!important;
  line-height:1.55!important;
}
.v131-career-privacy a{color:#73e4ff!important;font-weight:800}

/* Resilience */
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--v131-focus)!important;
  outline-offset:3px!important;
}
img{max-width:100%}
.footer a,.service-menu-group a,.v130-suite-card h4{overflow-wrap:anywhere}

@media(max-width:980px){
  .v131-brief-layout{grid-template-columns:1fr}
  .v131-brief-copy h2{max-width:16ch}
}
@media(max-width:680px){
  .v131-field-grid{grid-template-columns:1fr}
  .v131-field.full{grid-column:auto}
  .v131-project-form{padding:24px 18px;border-radius:24px}
  .v131-form-actions{align-items:stretch}
  .v131-form-submit{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .v131-form-submit{transition:none}
}



/* Source: gat-polish-v133.css */
/* GAT System V133 — simplified homepage services, Big Data hero and contrast QA */

:root{
  --v133-ink:#071f39;
  --v133-copy:#3f5c75;
  --v133-soft:#667f96;
  --v133-blue:#0a69e2;
  --v133-cyan:#33c8f2;
  --v133-dark:#06182b;
  --v133-dark-2:#0a3154;
  --v133-dark-title:#f8fbff;
  --v133-dark-copy:#c8dbea;
}

/* Homepage services now present two clear choices only. */
body[data-page="home"] #what-we-do>.shell{
  display:grid;
  gap:clamp(34px,5vw,64px);
}

body[data-page="home"] #what-we-do .v57-heading,
body[data-page="home"] #what-we-do .v86-ai-service,
body[data-page="home"] #what-we-do .v86-platform-strip{
  margin:0!important;
}

body[data-page="home"] #what-we-do .v86-ai-service,
body[data-page="home"] #what-we-do .v86-platform-strip{
  position:relative;
  isolation:isolate;
}

body[data-page="home"] #what-we-do .v86-platform-strip{
  border-color:rgba(39,121,201,.18)!important;
  box-shadow:0 26px 62px rgba(6,42,78,.10)!important;
}

/* Place and present the client-confidence rail directly before the logo wall. */
body[data-page="home"] .v130-confidence{
  padding:clamp(18px,2.4vw,30px) 0!important;
  border-block:1px solid #d8e5f0!important;
  background:linear-gradient(180deg,#ffffff,#f7fbff)!important;
}

body[data-page="home"] .v130-confidence-grid{
  gap:0!important;
  overflow:hidden;
  border:1px solid #d8e5f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(8,43,75,.07);
}

body[data-page="home"] .v130-confidence-item{
  min-height:122px;
  padding:24px 24px 24px 54px!important;
  border-color:#dfe9f2!important;
  background:transparent!important;
}

body[data-page="home"] .v130-confidence-item::before{
  left:24px!important;
  top:32px!important;
  width:10px!important;
  height:10px!important;
  background:linear-gradient(135deg,var(--v133-blue),var(--v133-cyan))!important;
  box-shadow:0 0 0 8px rgba(27,150,232,.10)!important;
}

body[data-page="home"] .v130-confidence-item strong{
  color:var(--v133-ink)!important;
  font-size:1.02rem!important;
  line-height:1.25!important;
  -webkit-text-fill-color:var(--v133-ink)!important;
}

body[data-page="home"] .v130-confidence-item span{
  color:#5c7690!important;
  line-height:1.48!important;
  -webkit-text-fill-color:#5c7690!important;
}

body.theme-dark[data-page="home"] .v130-confidence{
  border-color:#243f5a!important;
  background:#071522!important;
}

body.theme-dark[data-page="home"] .v130-confidence-grid{
  border-color:#294762;
  background:#0b1d2f;
  box-shadow:0 18px 44px rgba(0,0,0,.24);
}

body.theme-dark[data-page="home"] .v130-confidence-item{
  border-color:#294762!important;
}

body.theme-dark[data-page="home"] .v130-confidence-item strong{
  color:#f5faff!important;
  -webkit-text-fill-color:#f5faff!important;
}

body.theme-dark[data-page="home"] .v130-confidence-item span{
  color:#b7cadb!important;
  -webkit-text-fill-color:#b7cadb!important;
}

/* Big Data: compact, balanced first viewport with useful content on both sides. */
body.v133-big-data .v133-big-data-hero{
  min-height:0!important;
  padding:clamp(26px,3vw,42px) 0 clamp(54px,6vw,82px)!important;
  color:var(--v133-ink)!important;
  background:
    radial-gradient(circle at 82% 8%,rgba(26,139,238,.14),transparent 30rem),
    radial-gradient(circle at 7% 88%,rgba(46,203,238,.10),transparent 24rem),
    linear-gradient(180deg,#f9fcff 0%,#eef6fc 100%)!important;
}

body.v133-big-data .v133-big-data-shell{
  display:grid;
  gap:clamp(28px,3.5vw,46px);
}

body.v133-big-data .v133-big-data-breadcrumb{
  margin:0!important;
  color:#526c84!important;
}

body.v133-big-data .v133-big-data-breadcrumb a,
body.v133-big-data .v133-big-data-breadcrumb span{
  color:#526c84!important;
  -webkit-text-fill-color:#526c84!important;
}

body.v133-big-data .v133-big-data-breadcrumb a:hover{
  color:var(--v133-blue)!important;
  -webkit-text-fill-color:var(--v133-blue)!important;
}

body.v133-big-data .v133-big-data-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
  gap:clamp(34px,5vw,74px);
  align-items:center;
}

body.v133-big-data .v133-big-data-copy{
  display:grid;
  align-content:center;
  justify-items:start;
  min-width:0;
}

body.v133-big-data .v133-big-data-copy .eyebrow{
  color:#006bc1!important;
  -webkit-text-fill-color:#006bc1!important;
}

body.v133-big-data .v133-big-data-copy h1{
  max-width:8ch!important;
  margin:18px 0 22px!important;
  color:var(--v133-ink)!important;
  font-size:clamp(3.7rem,6.1vw,6.4rem)!important;
  line-height:.89!important;
  letter-spacing:-.075em!important;
  text-wrap:balance;
  -webkit-text-fill-color:var(--v133-ink)!important;
}

body.v133-big-data .v133-big-data-copy>p{
  max-width:55ch;
  margin:0!important;
  color:var(--v133-copy)!important;
  font-size:clamp(1.03rem,1.25vw,1.16rem)!important;
  line-height:1.72!important;
  -webkit-text-fill-color:var(--v133-copy)!important;
}

body.v133-big-data .v133-big-data-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
}

body.v133-big-data .v133-big-data-benefits li{
  position:relative;
  padding-left:21px;
  color:#173b5d!important;
  font-size:.82rem;
  font-weight:800;
  -webkit-text-fill-color:#173b5d!important;
}

body.v133-big-data .v133-big-data-benefits li::before{
  content:"";
  position:absolute;
  left:0;
  top:.32em;
  width:10px;
  height:10px;
  border:3px solid #fff;
  border-radius:50%;
  background:linear-gradient(135deg,var(--v133-blue),var(--v133-cyan));
  box-shadow:0 0 0 1px rgba(8,105,226,.25);
}

body.v133-big-data .v133-big-data-copy .hero-actions{
  margin-top:30px!important;
}

body.v133-big-data .v133-big-data-copy .button.secondary{
  border-color:#bfd2e3!important;
  color:#163b5e!important;
  background:rgba(255,255,255,.82)!important;
  -webkit-text-fill-color:#163b5e!important;
}

body.v133-big-data .v133-big-data-visual{
  position:relative;
  min-height:clamp(480px,47vw,620px);
  margin:0;
  overflow:hidden;
  border:1px solid rgba(91,174,236,.34);
  border-radius:clamp(28px,3vw,38px);
  background:#06172c;
  box-shadow:0 34px 86px rgba(6,44,81,.24),inset 0 1px rgba(255,255,255,.12);
  isolation:isolate;
}

body.v133-big-data .v133-big-data-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(3,16,34,.02) 28%,rgba(4,20,40,.90) 100%),
    linear-gradient(90deg,rgba(4,21,43,.20),transparent 55%);
  pointer-events:none;
}

body.v133-big-data .v133-big-data-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.05) contrast(1.04);
}

body.v133-big-data .v133-big-data-visual-copy{
  position:absolute;
  inset:auto clamp(22px,3vw,38px) clamp(22px,3vw,36px);
  z-index:2;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px 18px;
  align-items:center;
  color:#fff;
}

body.v133-big-data .v133-big-data-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(149,220,255,.42);
  border-radius:17px;
  color:#8ae5ff!important;
  background:rgba(9,93,169,.66);
  backdrop-filter:blur(12px);
}

body.v133-big-data .v133-big-data-icon svg{
  width:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

body.v133-big-data .v133-big-data-visual-copy>div:nth-child(2){
  display:grid;
  gap:5px;
}

body.v133-big-data .v133-big-data-visual-copy>div:nth-child(2)>span{
  color:#88ddff!important;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  -webkit-text-fill-color:#88ddff!important;
}

body.v133-big-data .v133-big-data-visual-copy strong{
  color:#fff!important;
  font-size:clamp(1.55rem,2.6vw,2.55rem);
  line-height:1.03;
  letter-spacing:-.045em;
  -webkit-text-fill-color:#fff!important;
}

body.v133-big-data .v133-big-data-chips{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.v133-big-data .v133-big-data-chips span{
  padding:7px 11px;
  border:1px solid rgba(188,227,255,.25);
  border-radius:999px;
  color:#eaf7ff!important;
  background:rgba(6,25,48,.58);
  font-size:.72rem;
  font-weight:750;
  backdrop-filter:blur(10px);
  -webkit-text-fill-color:#eaf7ff!important;
}

body.theme-dark.v133-big-data .v133-big-data-hero{
  color:#f6fbff!important;
  background:
    radial-gradient(circle at 82% 8%,rgba(34,159,255,.16),transparent 30rem),
    linear-gradient(180deg,#061321,#081c2d 100%)!important;
}

body.theme-dark.v133-big-data .v133-big-data-copy h1{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}

body.theme-dark.v133-big-data .v133-big-data-copy>p{
  color:#c5d8e8!important;
  -webkit-text-fill-color:#c5d8e8!important;
}

body.theme-dark.v133-big-data .v133-big-data-copy .eyebrow{
  color:#79ddff!important;
  -webkit-text-fill-color:#79ddff!important;
}

body.theme-dark.v133-big-data .v133-big-data-benefits li{
  color:#d7e9f6!important;
  -webkit-text-fill-color:#d7e9f6!important;
}

body.theme-dark.v133-big-data .v133-big-data-breadcrumb,
body.theme-dark.v133-big-data .v133-big-data-breadcrumb a,
body.theme-dark.v133-big-data .v133-big-data-breadcrumb span{
  color:#aec5d8!important;
  -webkit-text-fill-color:#aec5d8!important;
}

body.theme-dark.v133-big-data .v133-big-data-copy .button.secondary{
  border-color:#36536c!important;
  color:#e8f4fd!important;
  background:#10283d!important;
  -webkit-text-fill-color:#e8f4fd!important;
}

/* High-specificity contrast guardrails for every reusable dark panel. */
body.v54-clear-theme :is(
  .scenario-panel,
  .service-hero-card,
  .cta-panel,
  .v57-final-card,
  .v57-outcomes,
  .v57-why,
  .v80-value-section,
  .v80-contact,
  .technology-band-inner,
  .v92-ai-cta-inner,
  .v108-dark,
  .v108-cta-inner,
  .v126-hero,
  .v126-roles-section,
  .v126-final-panel,
  .footer
) :is(h1,h2,h3,h4,strong){
  color:var(--v133-dark-title)!important;
  opacity:1!important;
  -webkit-text-fill-color:var(--v133-dark-title)!important;
}

body.v54-clear-theme :is(
  .scenario-panel,
  .service-hero-card,
  .cta-panel,
  .v57-final-card,
  .v57-outcomes,
  .v57-why,
  .v80-value-section,
  .v80-contact,
  .technology-band-inner,
  .v92-ai-cta-inner,
  .v108-dark,
  .v108-cta-inner,
  .v126-hero,
  .v126-roles-section,
  .v126-final-panel,
  .footer
) :is(p,li,small){
  color:var(--v133-dark-copy)!important;
  opacity:1!important;
  -webkit-text-fill-color:var(--v133-dark-copy)!important;
}

body.v54-clear-theme .scenario-panel{
  border-color:rgba(116,198,255,.28)!important;
  background:
    radial-gradient(circle at 91% 8%,rgba(44,169,255,.28),transparent 28rem),
    linear-gradient(135deg,#06172a 0%,#0b345b 100%)!important;
  box-shadow:0 26px 64px rgba(5,34,61,.18)!important;
}

body.v54-clear-theme .scenario-panel .eyebrow{
  color:#77dcff!important;
  opacity:1!important;
  -webkit-text-fill-color:#77dcff!important;
}

body.v54-clear-theme .scenario-panel p{
  color:#cae0ef!important;
  -webkit-text-fill-color:#cae0ef!important;
}

/* Dependable reading contrast on cards that are light in the default theme. */
body:not(.theme-dark).v54-clear-theme :is(
  .fit-card,
  .outcome-card,
  .technology-card,
  .service-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .benefit-grid>article,
  .support-channel-card,
  .support-request-grid>article,
  .contact-link-card,
  .privacy-content>section
) :is(h2,h3,h4,strong){
  color:var(--v133-ink)!important;
  -webkit-text-fill-color:var(--v133-ink)!important;
}

body:not(.theme-dark).v54-clear-theme :is(
  .fit-card,
  .outcome-card,
  .technology-card,
  .service-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .benefit-grid>article,
  .support-channel-card,
  .support-request-grid>article,
  .contact-link-card,
  .privacy-content>section
) :is(p,li,small){
  color:var(--v133-copy)!important;
  -webkit-text-fill-color:var(--v133-copy)!important;
}

body.theme-dark.v54-clear-theme :is(
  .fit-card,
  .outcome-card,
  .technology-card,
  .service-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .benefit-grid>article,
  .support-channel-card,
  .support-request-grid>article,
  .contact-link-card,
  .privacy-content>section
) :is(h2,h3,h4,strong){
  color:#f5faff!important;
  -webkit-text-fill-color:#f5faff!important;
}

body.theme-dark.v54-clear-theme :is(
  .fit-card,
  .outcome-card,
  .technology-card,
  .service-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .benefit-grid>article,
  .support-channel-card,
  .support-request-grid>article,
  .contact-link-card,
  .privacy-content>section
) :is(p,li,small){
  color:#c4d5e4!important;
  -webkit-text-fill-color:#c4d5e4!important;
}

@media(max-width:1080px){
  body.v133-big-data .v133-big-data-grid{
    grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
    gap:34px;
  }
  body.v133-big-data .v133-big-data-copy h1{
    font-size:clamp(3.5rem,7.2vw,5.3rem)!important;
  }
}

@media(max-width:860px){
  body.v133-big-data .v133-big-data-grid{
    grid-template-columns:1fr;
  }
  body.v133-big-data .v133-big-data-copy h1{
    max-width:11ch!important;
  }
  body.v133-big-data .v133-big-data-copy>p{
    max-width:66ch;
  }
  body.v133-big-data .v133-big-data-visual{
    min-height:520px;
  }
}

@media(max-width:720px){
  body[data-page="home"] .v130-confidence-grid{
    grid-template-columns:1fr!important;
  }
  body[data-page="home"] .v130-confidence-item{
    min-height:0;
    padding:20px 20px 20px 50px!important;
  }
  body[data-page="home"] .v130-confidence-item::before{
    left:21px!important;
    top:28px!important;
  }
  body.v133-big-data .v133-big-data-hero{
    padding-top:20px!important;
  }
  body.v133-big-data .v133-big-data-shell{
    gap:24px;
  }
  body.v133-big-data .v133-big-data-copy h1{
    margin:14px 0 18px!important;
    font-size:clamp(3rem,16vw,4.7rem)!important;
  }
  body.v133-big-data .v133-big-data-benefits{
    display:grid;
    gap:11px;
  }
  body.v133-big-data .v133-big-data-copy .hero-actions,
  body.v133-big-data .v133-big-data-copy .button{
    width:100%;
  }
  body.v133-big-data .v133-big-data-visual{
    min-height:440px;
    border-radius:26px;
  }
  body.v133-big-data .v133-big-data-visual-copy{
    grid-template-columns:1fr;
  }
  body.v133-big-data .v133-big-data-icon{
    width:52px;
    height:52px;
  }
  body.v54-clear-theme .scenario-panel{
    gap:22px!important;
    padding:30px 24px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.v133-big-data .v133-big-data-photo,
  body[data-page="home"] #what-we-do :is(a,article){
    transition:none!important;
  }
}


/* Source: gat-polish-v134.css */
/* GAT System V134 — compact shared service heroes and upper breadcrumbs */

/*
  Applies to the five standard photo-led data service pages. Big Data already
  uses the purpose-built V133 hero, so it is deliberately excluded here.
*/
body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero{
  min-height:0!important;
  padding:clamp(22px,2.2vw,34px) 0 clamp(48px,5vw,72px)!important;
}

body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero>.shell{
  display:grid;
  gap:clamp(22px,2.5vw,34px);
}

body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb{
  align-self:start;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:22px;
  margin:0!important;
  padding:0!important;
  font-size:.8rem;
  line-height:1.45;
}

body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero-grid{
  margin:0!important;
  align-items:center!important;
}

body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero-grid>div:first-child{
  padding-block:clamp(6px,1.5vw,18px)!important;
}

/* Clear light-theme reading contrast on the now more compact hero. */
body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero h1{
  color:#071f39!important;
  opacity:1!important;
  -webkit-text-fill-color:#071f39!important;
}

body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero .service-hero-grid>div:first-child>p{
  color:#3f5c75!important;
  opacity:1!important;
  -webkit-text-fill-color:#3f5c75!important;
}

body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero .eyebrow{
  color:#006bc1!important;
  opacity:1!important;
  -webkit-text-fill-color:#006bc1!important;
}

body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb,
body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb a,
body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb span{
  color:#526c84!important;
  opacity:1!important;
  -webkit-text-fill-color:#526c84!important;
}

body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb a:hover{
  color:#075fb5!important;
  -webkit-text-fill-color:#075fb5!important;
}

body:not(.theme-dark)[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .button.secondary{
  border-color:#bfd2e3!important;
  color:#163b5e!important;
  background:rgba(255,255,255,.88)!important;
  -webkit-text-fill-color:#163b5e!important;
}

/* Matching contrast when the user switches to dark mode. */
body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero h1{
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero .service-hero-grid>div:first-child>p{
  color:#c8dbea!important;
  -webkit-text-fill-color:#c8dbea!important;
}

body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero .eyebrow{
  color:#79ddff!important;
  -webkit-text-fill-color:#79ddff!important;
}

body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb,
body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb a,
body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb span{
  color:#aec5d8!important;
  -webkit-text-fill-color:#aec5d8!important;
}

body.theme-dark[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .button.secondary{
  border-color:#36536c!important;
  color:#e8f4fd!important;
  background:#10283d!important;
  -webkit-text-fill-color:#e8f4fd!important;
}

@media(max-width:1100px){
  body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero{
    padding-bottom:52px!important;
  }
  body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero>.shell{
    gap:24px;
  }
}

@media(max-width:720px){
  body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero.page-hero{
    padding:18px 0 38px!important;
  }
  body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero>.shell{
    gap:18px;
  }
  body[data-page="services"]:has(.v100-service-photo):not(.v133-big-data) .service-hero .breadcrumb{
    font-size:.76rem;
  }
}


/* Source: gat-polish-v138.css */
/* GAT System V138 — platform contrast lock and expandable capability details */

/* Dashboard sections are intentionally dark, even though they do not all use
   the shared .v108-dark class. Keep their reading hierarchy unambiguous. */
body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-head > span{
  color:#67d8ff!important;
  opacity:1!important;
  -webkit-text-fill-color:#67d8ff!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-head h2{
  color:#f8fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8fbff!important;
  text-shadow:0 2px 20px rgba(0,0,0,.16);
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-head p{
  color:#c9dbea!important;
  opacity:1!important;
  -webkit-text-fill-color:#c9dbea!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-dashboard-list > article{
  border-color:rgba(151,211,245,.24)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.06))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 14px 30px rgba(1,16,31,.12);
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-dashboard-list h3{
  color:#f8fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8fbff!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-dashboard-list p{
  color:#c9dbea!important;
  opacity:1!important;
  -webkit-text-fill-color:#c9dbea!important;
}

/* Flow headings follow their actual surface: two pages use a dark stage and
   two use a light stage. Dark mode is handled independently. */
body.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section.v108-dark .v108-head > span,
body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section:not(.v108-dark) .v108-head > span{
  color:#67d8ff!important;
  opacity:1!important;
  -webkit-text-fill-color:#67d8ff!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section.v108-dark .v108-head h2,
body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section:not(.v108-dark) .v108-head h2{
  color:#f8fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8fbff!important;
}

body:not(.theme-dark).v54-clear-theme.v108-platform-page .v108-section.v108-flow-section:not(.v108-dark) .v108-head > span{
  color:#075fa8!important;
  opacity:1!important;
  -webkit-text-fill-color:#075fa8!important;
}

body:not(.theme-dark).v54-clear-theme.v108-platform-page .v108-section.v108-flow-section:not(.v108-dark) .v108-head h2{
  color:#0a2542!important;
  opacity:1!important;
  -webkit-text-fill-color:#0a2542!important;
  text-shadow:none!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li{
  border-color:#d7e4ef!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(2,24,46,.16)!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li h3{
  color:#0a2542!important;
  opacity:1!important;
  -webkit-text-fill-color:#0a2542!important;
  text-shadow:none!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li p{
  color:#49647c!important;
  opacity:1!important;
  -webkit-text-fill-color:#49647c!important;
}

body.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li > span:first-child{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Native, keyboard-accessible details for platform feature cards. */
body.v108-platform-page .v136-report-details{
  margin-top:18px;
  border-top:1px solid #dce7f0;
}

body.v108-platform-page .v136-report-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0 2px;
  color:#075fb5!important;
  cursor:pointer;
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.01em;
  list-style:none;
  -webkit-text-fill-color:#075fb5!important;
}

body.v108-platform-page .v136-report-details summary::-webkit-details-marker{display:none;}

body.v108-platform-page .v136-report-details summary::after{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:27px;
  height:27px;
  border:1px solid #bed6ea;
  border-radius:50%;
  content:"+";
  color:#075fb5;
  background:#eef7ff;
  font-size:1.05rem;
  line-height:1;
}

body.v108-platform-page .v136-report-details[open] summary::after{content:"–";}

body.v108-platform-page .v136-report-details summary:hover,
body.v108-platform-page .v136-report-details summary:focus-visible{
  color:#034b91!important;
  -webkit-text-fill-color:#034b91!important;
}

body.v108-platform-page .v136-report-details summary:focus-visible{
  border-radius:6px;
  outline:3px solid rgba(11,105,227,.28);
  outline-offset:4px;
}

body.v108-platform-page .v136-report-details > p{
  margin:12px 0 0!important;
  color:#49647c!important;
  font-size:.86rem!important;
  line-height:1.65!important;
  -webkit-text-fill-color:#49647c!important;
}

body.theme-dark.v108-platform-page .v136-report-details{
  border-top-color:#29465f;
}

body.theme-dark.v108-platform-page .v136-report-details summary{
  color:#70dfff!important;
  -webkit-text-fill-color:#70dfff!important;
}

body.theme-dark.v108-platform-page .v136-report-details summary::after{
  border-color:#315a78;
  color:#70dfff;
  background:#102c43;
}

body.theme-dark.v108-platform-page .v136-report-details > p{
  color:#c2d5e5!important;
  -webkit-text-fill-color:#c2d5e5!important;
}

@media(max-width:680px){
  body.v54-clear-theme.v108-platform-page .v108-section.v108-dashboard-section .v108-dashboard-list > article{
    padding:17px!important;
  }

  body.v108-platform-page .v136-report-details summary{
    min-height:44px;
    padding-top:12px;
  }
}


/* Source: gat-polish-v140.css */
/* GAT System V140 - complete client wall and premium company facts */

/* Show the approved client wall in full instead of rotating cropped rows. */
body[data-page="home"] #clients{
  padding:clamp(64px,7vw,94px) 0!important;
  background:
    radial-gradient(circle at 86% 12%,rgba(55,170,255,.09),transparent 26rem),
    linear-gradient(180deg,#fff 0%,#f5f9fd 100%)!important;
}

body[data-page="home"] #clients > .shell{
  display:grid!important;
  grid-template-columns:minmax(250px,.42fr) minmax(0,1.58fr)!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:clamp(42px,6vw,92px)!important;
}

body[data-page="home"] #clients .v57-heading{
  align-self:center;
  margin:0!important;
}

body[data-page="home"] #clients .v57-heading h2{
  max-width:11ch!important;
  font-size:clamp(2.45rem,3.8vw,4rem)!important;
  line-height:1.02!important;
}

body[data-page="home"] #clients .v57-client-frame{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  padding:clamp(10px,1.2vw,16px)!important;
  border:1px solid rgba(30,80,135,.15)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#fff,#f9fbfd)!important;
  box-shadow:0 24px 58px rgba(15,52,92,.11)!important;
}

body[data-page="home"] #clients .v72-logo-wall-shell{
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
  border-radius:20px!important;
}

body[data-page="home"] #clients .v72-logo-wall{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
  box-shadow:none!important;
}

body[data-page="home"] #clients .v72-logo-wall img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border-radius:17px!important;
  filter:grayscale(1) contrast(1.06)!important;
}

body[data-page="home"] #clients .v57-client-frame:hover .v72-logo-wall img{
  filter:grayscale(.12) contrast(1.03)!important;
}

/* Override the generic light service surface on the About facts section. */
body:not(.theme-dark).v54-clear-theme[data-page="about"] .service-surface{
  padding:0!important;
  background:
    radial-gradient(circle at 88% 5%,rgba(74,211,255,.27),transparent 28rem),
    radial-gradient(circle at 7% 100%,rgba(30,104,218,.25),transparent 30rem),
    linear-gradient(135deg,#04172c 0%,#08365f 55%,#086b88 100%)!important;
}

body.v54-clear-theme[data-page="about"] .service-surface > .shell{
  padding-block:clamp(52px,6vw,76px)!important;
}

body.v54-clear-theme[data-page="about"] .service-surface .stats-grid.wide{
  overflow:hidden!important;
  border:1px solid rgba(143,222,255,.28)!important;
  border-radius:30px!important;
  background:
    linear-gradient(135deg,rgba(7,31,61,.88),rgba(8,79,111,.76))!important;
  box-shadow:0 28px 68px rgba(1,15,34,.28),inset 0 1px rgba(255,255,255,.09)!important;
  backdrop-filter:blur(12px);
}

body.v54-clear-theme[data-page="about"] .service-surface .stats-grid.wide > div{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015))!important;
  border-color:rgba(152,218,255,.20)!important;
}

body.v54-clear-theme[data-page="about"] .service-surface .stats-grid.wide > div::before{
  position:absolute;
  top:0;
  left:26px;
  width:52px;
  height:3px;
  border-radius:999px;
  content:"";
  background:linear-gradient(90deg,#43d6ff,#3b8cff);
  box-shadow:0 5px 18px rgba(67,214,255,.35);
}

body.v54-clear-theme[data-page="about"] .service-surface .stats-grid.wide strong{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
}

body.v54-clear-theme[data-page="about"] .service-surface .stats-grid.wide span{
  color:#d1e5f4!important;
  opacity:1!important;
  -webkit-text-fill-color:#d1e5f4!important;
}

body.theme-dark.v54-clear-theme[data-page="about"] .service-surface{
  background:
    radial-gradient(circle at 88% 5%,rgba(43,180,226,.18),transparent 27rem),
    linear-gradient(135deg,#020c18,#062945 62%,#07536e)!important;
}

@media(max-width:980px){
  body[data-page="home"] #clients > .shell{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  body[data-page="home"] #clients .v57-heading h2{
    max-width:15ch!important;
  }
}

@media(max-width:720px){
  body[data-page="home"] #clients{
    padding:54px 0!important;
  }

  body[data-page="home"] #clients .v57-client-frame{
    padding:7px!important;
    border-radius:21px!important;
  }

  body[data-page="home"] #clients .v72-logo-wall-shell{
    padding:0!important;
    overflow:visible!important;
  }

  body[data-page="home"] #clients .v72-logo-wall{
    width:100%!important;
    min-width:0!important;
  }

  body[data-page="home"] #clients .v72-logo-wall img{
    border-radius:12px!important;
  }
}


/* Source: gat-polish-v141.css */
/* GAT System V141 - high-contrast platform sections and a fully visible services menu */

/* Solutions: turn the shared qualities band into a crisp, readable feature deck. */
body.v54-clear-theme[data-page="solutions"] #platform-qualities{
  border-color:rgba(111,198,255,.34)!important;
  background:
    radial-gradient(circle at 90% 5%,rgba(61,181,255,.28),transparent 28rem),
    radial-gradient(circle at 5% 100%,rgba(40,102,220,.24),transparent 28rem),
    linear-gradient(140deg,#04182e 0%,#073867 58%,#07557a 100%)!important;
  box-shadow:0 30px 72px rgba(4,28,59,.24)!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-copy .eyebrow{
  color:#79d7ff!important;
  -webkit-text-fill-color:#79d7ff!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-copy h2{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-lead{
  border-left-color:#59c9ff!important;
  color:#d9ecf9!important;
  opacity:1!important;
  -webkit-text-fill-color:#d9ecf9!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid > article{
  min-height:270px!important;
  border-color:rgba(154,215,255,.56)!important;
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(237,248,255,.96))!important;
  box-shadow:0 18px 40px rgba(0,20,52,.20)!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-icon{
  color:#fff!important;
  background:linear-gradient(135deg,#0769d8,#16a5d8)!important;
  -webkit-text-fill-color:#fff!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid h3{
  color:#071e38!important;
  opacity:1!important;
  -webkit-text-fill-color:#071e38!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid p{
  color:#3d5872!important;
  opacity:1!important;
  -webkit-text-fill-color:#3d5872!important;
}

@media(hover:hover){
  body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid > article:hover{
    border-color:#75c9f4!important;
    background:#fff!important;
    box-shadow:0 25px 52px rgba(0,23,58,.25)!important;
  }
}

/* Solutions hero: keep the discussion action unmistakable on the light hero. */
body:not(.theme-dark).v54-clear-theme[data-page="solutions"] .solutions-hero .hero-actions .button.secondary{
  min-height:54px!important;
  padding-inline:24px!important;
  border:2px solid #77aee5!important;
  color:#0759b5!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(17,82,153,.14)!important;
  opacity:1!important;
  -webkit-text-fill-color:#0759b5!important;
}

body:not(.theme-dark).v54-clear-theme[data-page="solutions"] .solutions-hero .hero-actions .button.secondary:hover{
  border-color:#0759b5!important;
  color:#fff!important;
  background:#0759b5!important;
  box-shadow:0 17px 34px rgba(7,89,181,.24)!important;
  -webkit-text-fill-color:#fff!important;
}

body.theme-dark.v54-clear-theme[data-page="solutions"] .solutions-hero .hero-actions .button.secondary{
  border-color:#6da9de!important;
  color:#eef8ff!important;
  background:#102b48!important;
  -webkit-text-fill-color:#eef8ff!important;
}

/* AI Solutions: strengthen the industry heading and every image-card caption. */
body.v92-ai-page.v54-clear-theme .v92-use-section .v92-ai-section-head.light-head > span{
  color:#78d8ff!important;
  opacity:1!important;
  -webkit-text-fill-color:#78d8ff!important;
}

body.v92-ai-page.v54-clear-theme .v92-use-section .v92-ai-section-head.light-head h2{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 7px 28px rgba(0,8,25,.35)!important;
}

body.v92-ai-page.v54-clear-theme .v92-use-section .v92-use-grid article{
  border-color:rgba(167,220,255,.45)!important;
  box-shadow:0 26px 62px rgba(0,11,34,.30)!important;
}

body.v92-ai-page.v54-clear-theme .v92-use-section .v92-use-overlay{
  background:linear-gradient(180deg,rgba(2,17,34,.01) 0%,rgba(2,17,34,.10) 38%,rgba(2,18,37,.84) 69%,rgba(1,13,28,.98) 100%)!important;
}

body.v92-ai-page.v54-clear-theme .v92-use-section .v92-use-copy > span{
  border-color:rgba(167,222,255,.55)!important;
  color:#d8f3ff!important;
  background:rgba(5,83,145,.90)!important;
  -webkit-text-fill-color:#d8f3ff!important;
}

body.v92-ai-page.v54-clear-theme .v92-use-section .v92-use-copy h3{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 4px 20px rgba(0,7,20,.55)!important;
}

body.v92-ai-page.v54-clear-theme .v92-use-section .v92-use-copy p{
  color:#e2f1fb!important;
  opacity:1!important;
  -webkit-text-fill-color:#e2f1fb!important;
  text-shadow:0 3px 16px rgba(0,7,20,.52)!important;
}

/* Desktop services menu: center it in the viewport and make the blue panel a clear header. */
@media(min-width:1181px){
  body.v54-clear-theme .topnav-dropdown > .combined-services-menu{
    position:fixed!important;
    top:86px!important;
    left:50%!important;
    right:auto!important;
    width:min(1140px,calc(100vw - 40px))!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    padding:16px!important;
    border:1px solid #cbdceb!important;
    border-radius:26px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 30px 80px rgba(3,32,68,.22)!important;
    transform:translate(-50%,-8px) scale(.985)!important;
    transform-origin:top center!important;
  }

  body.v54-clear-theme .topnav-dropdown.open > .combined-services-menu{
    transform:translate(-50%,0) scale(1)!important;
  }

  body.v54-clear-theme .combined-services-menu .dropdown-intro.compact-intro{
    grid-column:1/-1;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    padding:18px 22px!important;
    border:1px solid rgba(116,209,255,.28)!important;
    border-radius:17px!important;
    background:
      radial-gradient(circle at 92% 0,rgba(79,219,255,.26),transparent 24rem),
      linear-gradient(120deg,#061c35,#0b4f7f)!important;
  }

  body.v54-clear-theme .combined-services-menu .dropdown-intro.compact-intro .dropdown-kicker{
    color:#7ce3ff!important;
    white-space:nowrap;
    -webkit-text-fill-color:#7ce3ff!important;
  }

  body.v54-clear-theme .combined-services-menu .dropdown-intro.compact-intro strong{
    margin:0!important;
    color:#fff!important;
    font-size:1rem!important;
    -webkit-text-fill-color:#fff!important;
  }

  body.v54-clear-theme .combined-services-menu .dropdown-intro.compact-intro a{
    margin:0!important;
    padding:9px 13px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:10px;
    color:#fff!important;
    background:rgba(255,255,255,.09);
    white-space:nowrap;
    -webkit-text-fill-color:#fff!important;
  }

  body.v54-clear-theme .combined-services-menu .service-menu-group{
    min-width:0;
    padding:17px 16px!important;
    border:1px solid #e1ebf3;
    border-radius:16px!important;
    background:#f8fbfe!important;
  }

  body.v54-clear-theme .combined-services-menu .service-menu-group:hover{
    border-color:#bad8ef!important;
    background:#f1f8fd!important;
  }

  body.v54-clear-theme .combined-services-menu .service-menu-group > span{
    color:#0759b5!important;
    -webkit-text-fill-color:#0759b5!important;
  }

  body.v54-clear-theme .combined-services-menu .service-menu-group > a{
    color:#10243b!important;
    -webkit-text-fill-color:#10243b!important;
  }
}

@media(min-width:1181px) and (max-width:1260px){
  body.v54-clear-theme .topnav-dropdown > .combined-services-menu{
    width:calc(100vw - 28px)!important;
    gap:8px!important;
  }

  body.v54-clear-theme .combined-services-menu .service-menu-group{
    padding-inline:12px!important;
  }
}

/* Preserve the same clarity when visitors use the dark theme. */
body.theme-dark.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid > article{
  border-color:rgba(132,200,247,.30)!important;
  background:linear-gradient(150deg,#102f50,#0b2744)!important;
}

body.theme-dark.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

body.theme-dark.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid p{
  color:#c8dff1!important;
  -webkit-text-fill-color:#c8dff1!important;
}

@media(min-width:1181px){
  body.theme-dark.v54-clear-theme .topnav-dropdown > .combined-services-menu{
    border-color:#27445f!important;
    background:rgba(6,19,34,.99)!important;
  }

  body.theme-dark.v54-clear-theme .combined-services-menu .service-menu-group{
    border-color:#243e59!important;
    background:#0c2239!important;
  }

  body.theme-dark.v54-clear-theme .combined-services-menu .service-menu-group:hover{
    border-color:#37658b!important;
    background:#102b47!important;
  }

  body.theme-dark.v54-clear-theme .combined-services-menu .service-menu-group > span{
    color:#73cfff!important;
    -webkit-text-fill-color:#73cfff!important;
  }

  body.theme-dark.v54-clear-theme .combined-services-menu .service-menu-group > a{
    color:#e2edf7!important;
    -webkit-text-fill-color:#e2edf7!important;
  }
}

@media(max-width:620px){
  body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-grid > article{
    min-height:0!important;
  }

  body.v92-ai-page.v54-clear-theme .v92-use-section .v92-use-copy p{
    font-size:.98rem!important;
  }
}


/* Source: gat-polish-v142.css */
/* GAT System V142 - larger identity, clearer theme contrast and mobile bottom actions */

/* Give the company identity slightly more presence without crowding the header. */
body.v54-clear-theme .topnav{
  min-height:88px!important;
}

body.v54-clear-theme .topnav-brand .brand-tile{
  width:60px!important;
  height:60px!important;
  border-radius:17px!important;
}

body.v54-clear-theme .topnav-brand .brand-tile img{
  width:54px!important;
  height:54px!important;
}

body.v54-clear-theme .topnav-brand .brand-name{
  font-size:1.13rem!important;
  font-weight:850!important;
}

@media(min-width:1181px){
  body.v54-clear-theme .topnav-dropdown > .combined-services-menu{
    top:94px!important;
  }
}

/* Homepage capability labels: equal visual weight shows that these are tags, not tabs. */
body.v54-clear-theme[data-page="home"] #top .v61-capability-rail{
  gap:9px!important;
}

body.v54-clear-theme[data-page="home"] #top .v61-capability-rail span,
body.v54-clear-theme[data-page="home"] #top .v61-capability-rail span:first-child{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #b9d1e5!important;
  color:#173a5b!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 7px 18px rgba(13,60,105,.08)!important;
  font-weight:760!important;
  opacity:1!important;
  -webkit-text-fill-color:#173a5b!important;
}

body.v54-clear-theme[data-page="home"] #top .v61-capability-rail span::before{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  content:"";
  background:#168fe2;
  box-shadow:0 0 0 4px rgba(22,143,226,.11);
}

/* Light homepage contrast. */
body:not(.theme-dark).v54-clear-theme[data-page="home"] #top .v57-hero-copy h1 > span:first-child{
  color:#071f38!important;
  -webkit-text-fill-color:#071f38!important;
}

body:not(.theme-dark).v54-clear-theme[data-page="home"] #top .v57-hero-copy > p{
  color:#3f5b73!important;
  opacity:1!important;
  -webkit-text-fill-color:#3f5b73!important;
}

/* Dark homepage contrast, including the text called out in the reference photo. */
html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top,
body.theme-dark.v54-clear-theme[data-page="home"] #top{
  background:
    radial-gradient(circle at 82% 12%,rgba(36,129,255,.20),transparent 29rem),
    radial-gradient(circle at 12% 78%,rgba(24,179,226,.10),transparent 25rem),
    linear-gradient(145deg,#030d19 0%,#071c31 58%,#082743 100%)!important;
  border-bottom-color:#24445f!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v57-kicker,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v57-kicker{
  border-color:#35698e!important;
  color:#bde8ff!important;
  background:rgba(9,42,70,.86)!important;
  box-shadow:0 10px 24px rgba(0,7,20,.25)!important;
  opacity:1!important;
  -webkit-text-fill-color:#bde8ff!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v57-kicker i,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v57-kicker i{
  background:#56c7ff!important;
  box-shadow:0 0 0 5px rgba(86,199,255,.14)!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v57-hero-copy h1 > span:first-child,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v57-hero-copy h1 > span:first-child{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 6px 28px rgba(0,5,16,.40)!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v57-hero-copy h1 em,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v57-hero-copy h1 em{
  color:#78cfff!important;
  background:linear-gradient(90deg,#65d2ff,#9e91ff)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  filter:drop-shadow(0 5px 22px rgba(67,150,255,.22));
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v57-hero-copy > p,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v57-hero-copy > p{
  color:#d3e1ee!important;
  opacity:1!important;
  -webkit-text-fill-color:#d3e1ee!important;
  text-shadow:0 2px 14px rgba(0,5,16,.26)!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v57-actions .v57-btn.whatsapp,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v57-actions .v57-btn.whatsapp{
  border-color:#a7cde8!important;
  color:#092744!important;
  background:#eef8ff!important;
  box-shadow:0 12px 28px rgba(0,7,22,.28)!important;
  -webkit-text-fill-color:#092744!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v61-capability-rail span,
html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v61-capability-rail span:first-child,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v61-capability-rail span,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v61-capability-rail span:first-child{
  border-color:#3b6383!important;
  color:#e7f3fc!important;
  background:rgba(10,39,65,.94)!important;
  box-shadow:0 8px 20px rgba(0,6,18,.24)!important;
  -webkit-text-fill-color:#e7f3fc!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #top .v61-capability-rail span::before,
body.theme-dark.v54-clear-theme[data-page="home"] #top .v61-capability-rail span::before{
  background:#63ccff;
  box-shadow:0 0 0 4px rgba(99,204,255,.13);
}

/* Keep the complete client portfolio clear in the dark theme too. */
html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #clients,
body.theme-dark.v54-clear-theme[data-page="home"] #clients{
  background:
    radial-gradient(circle at 88% 8%,rgba(44,140,232,.13),transparent 25rem),
    linear-gradient(180deg,#071522,#091b2d)!important;
  border-color:#263e55!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #clients .v57-heading h2,
body.theme-dark.v54-clear-theme[data-page="home"] #clients .v57-heading h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] #clients .v57-label,
body.theme-dark.v54-clear-theme[data-page="home"] #clients .v57-label{
  color:#73d3ff!important;
  -webkit-text-fill-color:#73d3ff!important;
}

/* Explore Careers: explicit button colours for each theme. */
body:not(.theme-dark).v54-clear-theme[data-page="home"] .v80-careers .v57-btn.secondary{
  border-color:#8db9df!important;
  color:#0759b5!important;
  background:#fff!important;
  -webkit-text-fill-color:#0759b5!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] .v80-careers .v57-btn.secondary,
body.theme-dark.v54-clear-theme[data-page="home"] .v80-careers .v57-btn.secondary{
  border-color:#4c789d!important;
  color:#a9ddff!important;
  background:#102c48!important;
  box-shadow:none!important;
  -webkit-text-fill-color:#a9ddff!important;
}

html[data-theme="dark"] body.v54-clear-theme[data-page="home"] .v80-careers .v57-btn.secondary:hover,
body.theme-dark.v54-clear-theme[data-page="home"] .v80-careers .v57-btn.secondary:hover{
  border-color:#76cfff!important;
  color:#fff!important;
  background:#126bbd!important;
  -webkit-text-fill-color:#fff!important;
}

/* Shared dark-mode safeguards for standard page cards and page heroes. */
body.theme-dark.v54-clear-theme :is(.page-hero,.service-page-hero,.service-hero) h1,
body.theme-dark.v54-clear-theme :is(.page-hero,.service-page-hero,.service-hero) h2{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
}

body.theme-dark.v54-clear-theme :is(.page-hero,.service-page-hero,.service-hero) p{
  color:#c8d8e7!important;
  opacity:1!important;
  -webkit-text-fill-color:#c8d8e7!important;
}

body.theme-dark.v54-clear-theme :is(
  .service-card,
  .platform-card,
  .support-channel-card,
  .support-request-grid article,
  .contact-link-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .outcome-card,
  .technology-card,
  .fit-card
){
  border-color:#294760!important;
  background:#0d2236!important;
}

body.theme-dark.v54-clear-theme :is(
  .service-card,
  .platform-card,
  .support-channel-card,
  .support-request-grid article,
  .contact-link-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .outcome-card,
  .technology-card,
  .fit-card
) :is(h2,h3,strong,summary){
  color:#f7fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f7fbff!important;
}

body.theme-dark.v54-clear-theme :is(
  .service-card,
  .platform-card,
  .support-channel-card,
  .support-request-grid article,
  .contact-link-card,
  .solution-panel,
  .process-panel,
  .faq-item,
  .outcome-card,
  .technology-card,
  .fit-card
) :is(p,li,small){
  color:#c5d5e4!important;
  opacity:1!important;
  -webkit-text-fill-color:#c5d5e4!important;
}

/* Mobile: keep the full menu in the header and add thumb-friendly bottom actions. */
@media(max-width:760px){
  body.v54-clear-theme{
    padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;
  }

  body.v54-clear-theme .topnav{
    min-height:72px!important;
  }

  body.v54-clear-theme .topnav-brand .brand-tile{
    width:50px!important;
    height:50px!important;
    border-radius:15px!important;
  }

  body.v54-clear-theme .topnav-brand .brand-tile img{
    width:46px!important;
    height:46px!important;
  }

  body.v54-clear-theme .mobile-conversion-bar{
    position:fixed;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    left:8px;
    z-index:1195;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    min-height:68px;
    padding:7px;
    border:1px solid #c9d9e7;
    border-radius:20px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 44px rgba(5,32,65,.23);
  }

  body.v54-clear-theme .mobile-conversion-bar a{
    display:flex;
    min-width:0;
    min-height:54px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:5px 4px;
    border:1px solid transparent;
    border-radius:14px;
    color:#173a5b!important;
    background:#f3f8fc;
    font-size:.68rem;
    font-weight:800;
    line-height:1.1;
    text-align:center;
    -webkit-text-fill-color:#173a5b!important;
  }

  body.v54-clear-theme .mobile-conversion-bar a svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
  }

  body.v54-clear-theme .mobile-conversion-bar a.primary{
    border-color:#0b67ce;
    color:#fff!important;
    background:linear-gradient(135deg,#075fc0,#1588dc);
    box-shadow:0 8px 20px rgba(7,95,192,.24);
    -webkit-text-fill-color:#fff!important;
  }

  body.theme-dark.v54-clear-theme .mobile-conversion-bar{
    border-color:#2d4b65;
    background:rgba(5,18,31,.98);
    box-shadow:0 18px 44px rgba(0,0,0,.38);
  }

  body.theme-dark.v54-clear-theme .mobile-conversion-bar a{
    border-color:#263f57;
    color:#e3eff8!important;
    background:#0d263d;
    -webkit-text-fill-color:#e3eff8!important;
  }

  body.theme-dark.v54-clear-theme .mobile-conversion-bar a.primary{
    border-color:#3baaf0;
    color:#fff!important;
    background:linear-gradient(135deg,#0867bd,#168bd5);
    -webkit-text-fill-color:#fff!important;
  }

  body.v54-clear-theme .v54-whatsapp{
    display:none!important;
  }

  body.v54-clear-theme.nav-drawer-open .mobile-conversion-bar{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}

@media print{
  .mobile-conversion-bar{display:none!important}
}

/* V195 - reduce excess blank space in the mobile bottom action bar. */
@media(max-width:760px){
  body.v54-clear-theme{
    padding-bottom:calc(70px + env(safe-area-inset-bottom))!important;
  }

  body.v54-clear-theme .mobile-conversion-bar{
    min-height:56px!important;
    padding:5px!important;
    border-radius:16px!important;
  }

  body.v54-clear-theme .mobile-conversion-bar a{
    min-height:44px!important;
    gap:2px!important;
    padding:3px 4px!important;
    border-radius:11px!important;
  }

  body.v54-clear-theme .mobile-conversion-bar a svg{
    width:18px!important;
    height:18px!important;
  }
}

/* V196 - compact the homepage footer so the columns and words sit closer together. */
@media (min-width: 1101px){
  body[data-page="home"].v54-clear-theme .footer{
    padding-block:44px 18px!important;
  }

  body[data-page="home"].v54-clear-theme .footer-grid{
    grid-template-columns:minmax(250px,.95fr) minmax(170px,.72fr) minmax(150px,.58fr) minmax(310px,.95fr)!important;
    column-gap:clamp(34px,4vw,72px)!important;
    row-gap:22px!important;
    align-items:start!important;
    padding-bottom:34px!important;
  }

  body[data-page="home"].v54-clear-theme .footer-grid > div:not(.footer-company){
    gap:7px!important;
  }

  body[data-page="home"].v54-clear-theme .footer h2{
    margin-bottom:16px!important;
  }

  body[data-page="home"].v54-clear-theme .footer p,
  body[data-page="home"].v54-clear-theme .footer a{
    line-height:1.48!important;
  }

  body[data-page="home"].v54-clear-theme .footer-company p{
    max-width:31ch!important;
  }

  body[data-page="home"].v54-clear-theme .footer-map-link{
    max-width:38ch!important;
  }

  body[data-page="home"].v54-clear-theme .footer-bottom{
    margin-top:0!important;
    padding-block:16px 8px!important;
  }
}

/* V197 - make the mobile bottom action bar compact on every live page. */
@media (max-width:760px){
  body:has(.mobile-conversion-bar){
    padding-bottom:calc(62px + env(safe-area-inset-bottom))!important;
  }

  .mobile-conversion-bar{
    min-height:50px!important;
    padding:3px!important;
    border-radius:14px!important;
    gap:4px!important;
    bottom:8px!important;
  }

  .mobile-conversion-bar a{
    min-height:44px!important;
    gap:1px!important;
    padding:2px 4px!important;
    border-radius:10px!important;
    font-size:.66rem!important;
    line-height:1.05!important;
  }

  .mobile-conversion-bar a svg{
    width:17px!important;
    height:17px!important;
  }
}

/* V198 - reduce footer image height and remove unused vertical space sitewide. */
body.v54-clear-theme .footer{
  padding-block:34px 14px!important;
}

body.v54-clear-theme .footer .footer-company .brand{
  margin-bottom:12px!important;
}

html body.v54-clear-theme .footer .footer-company .brand img{
  width:90px!important;
  height:auto!important;
}

body.v54-clear-theme .footer-grid{
  padding-bottom:24px!important;
  row-gap:18px!important;
}

body.v54-clear-theme .footer-company p{
  margin-bottom:10px!important;
  line-height:1.48!important;
}

body.v54-clear-theme .footer-bottom{
  margin-top:0!important;
  padding-block:12px 4px!important;
}

@media (max-width:680px){
  body.v54-clear-theme .footer{
    padding-block:28px 10px!important;
  }

  body.v54-clear-theme .footer-grid{
    padding-bottom:18px!important;
    row-gap:18px!important;
  }
}

/* V199 - final usability polish for keyboard, motion, wrapping and narrow screens. */
html{
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
}

body{
  overflow-x:hidden;
}

img,
svg{
  max-width:100%;
}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #61d7ff!important;
  outline-offset:3px!important;
}

:where(h1,h2,h3,h4,p,a,span,button){
  overflow-wrap:break-word;
}

body.v54-clear-theme .footer-map-link,
body.v54-clear-theme .footer-company p{
  overflow-wrap:anywhere!important;
}

@media (max-width:760px){
  body.v54-clear-theme .footer-bottom{
    gap:8px!important;
  }

  body.v54-clear-theme .footer-bottom div{
    gap:14px!important;
    flex-wrap:wrap;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto!important;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}



/* Source: gat-polish-v143.css */
/* GAT System V143 — dark-mode surface and text contrast correction.
   Focus: platform workflow cards and Join Us content surfaces shown in V142 review. */

/* --------------------------------------------------------------------------
   Platform workflow panels
   -------------------------------------------------------------------------- */
body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section{
  background:
    radial-gradient(circle at 86% 12%,rgba(42,156,232,.16),transparent 27rem),
    linear-gradient(135deg,#041426 0%,#071d33 58%,#0a2946 100%)!important;
  border-color:#173650!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-head > span{
  color:#6fd9ff!important;
  opacity:1!important;
  -webkit-text-fill-color:#6fd9ff!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-head h2{
  color:#ffffff!important;
  opacity:1!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 5px 24px rgba(0,5,16,.28)!important;
}

/* White workflow cards are intentional in dark mode: they create a strong,
   easy-to-scan reading surface. Lock both text colours so global dark rules
   cannot turn the copy white-on-white. */
body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li{
  border-color:#cad9e6!important;
  background:#ffffff!important;
  box-shadow:0 20px 48px rgba(0,7,20,.30)!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li h3{
  color:#092541!important;
  opacity:1!important;
  -webkit-text-fill-color:#092541!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li p{
  color:#506a82!important;
  opacity:1!important;
  -webkit-text-fill-color:#506a82!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li > span:first-child{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li:not(:last-child)::after{
  border:1px solid #163e62!important;
  color:#8edfff!important;
  background:#092943!important;
  box-shadow:0 7px 18px rgba(0,8,20,.24)!important;
  -webkit-text-fill-color:#8edfff!important;
}

/* --------------------------------------------------------------------------
   Join Us — complete dark-mode surface system
   V142 left several sections white while shared dark-theme rules made their
   typography white. V143 makes the surfaces and their typography agree.
   -------------------------------------------------------------------------- */
body.theme-dark.v54-clear-theme.v126-join-page{
  --v126-ink:#f7fbff;
  --v126-muted:#bfd0df;
  --v126-line:#294861;
  --v126-cloud:#071a2b;
  --v126-white:#ffffff;
  background:#05121f!important;
  color:#edf6ff!important;
  color-scheme:dark;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-join-main{
  background:#05121f!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-section{
  background:
    radial-gradient(circle at 88% 8%,rgba(33,150,226,.10),transparent 25rem),
    linear-gradient(180deg,#071827,#081b2c)!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-process-section{
  background:
    radial-gradient(circle at 7% 25%,rgba(55,201,242,.11),transparent 25rem),
    radial-gradient(circle at 88% 76%,rgba(37,102,220,.09),transparent 28rem),
    #081b2d!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section,
body.theme-dark.v54-clear-theme.v126-join-page .v126-final-cta{
  background:#061522!important;
}

/* Headings, labels and supporting copy on dark Join Us surfaces. */
body.theme-dark.v54-clear-theme.v126-join-page :is(
  .v126-section-head h2,
  .v126-process-copy h2,
  .v126-contact-section h2
){
  color:#f8fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8fbff!important;
  text-shadow:none!important;
}

body.theme-dark.v54-clear-theme.v126-join-page :is(
  .v126-section-head > p,
  .v126-process-copy > p,
  .v126-contact-section .hr-contact-heading > p
){
  color:#bfd0df!important;
  opacity:1!important;
  -webkit-text-fill-color:#bfd0df!important;
}

body.theme-dark.v54-clear-theme.v126-join-page :is(
  .v126-section-head .v126-label,
  .v126-process-copy .v126-label,
  .v126-contact-section .eyebrow
){
  color:#63d5ff!important;
  opacity:1!important;
  -webkit-text-fill-color:#63d5ff!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-text-link{
  color:#75dcff!important;
  -webkit-text-fill-color:#75dcff!important;
}

/* Why GAT System cards. */
body.theme-dark.v54-clear-theme.v126-join-page .v126-value-grid article{
  border-color:#294a65!important;
  background:linear-gradient(150deg,#102a42 10%,#0b2034 100%)!important;
  box-shadow:0 18px 42px rgba(0,7,18,.27)!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-value-grid article::after{
  background:rgba(67,201,242,.10)!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-value-grid article:hover{
  border-color:#4783aa!important;
  background:linear-gradient(150deg,#12314c,#0c253b)!important;
  box-shadow:0 24px 54px rgba(0,7,18,.34)!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-value-grid h3{
  color:#f6fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f6fbff!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-value-grid p{
  color:#bfd0df!important;
  opacity:1!important;
  -webkit-text-fill-color:#bfd0df!important;
}

/* Hiring journey cards. */
body.theme-dark.v54-clear-theme.v126-join-page .v126-process-list::before{
  background:linear-gradient(#4fcbed,#527fcc)!important;
  opacity:.7;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-process-list li{
  border-color:#294a65!important;
  background:linear-gradient(145deg,#102a42,#0b2034)!important;
  box-shadow:0 16px 38px rgba(0,7,18,.25)!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-process-list li > span{
  border-color:#0b2034!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-process-list h3{
  color:#f6fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f6fbff!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-process-list p{
  color:#bfd0df!important;
  opacity:1!important;
  -webkit-text-fill-color:#bfd0df!important;
}

/* HR contact section. */
body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-card{
  border-color:#294a65!important;
  background:linear-gradient(145deg,#102a42,#0b2034)!important;
  box-shadow:0 18px 42px rgba(0,7,18,.27)!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-role{
  color:#65d5ff!important;
  opacity:1!important;
  -webkit-text-fill-color:#65d5ff!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-copy h3{
  color:#f8fbff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f8fbff!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-number{
  color:#c5d6e4!important;
  opacity:1!important;
  -webkit-text-fill-color:#c5d6e4!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-actions .button{
  border-color:#355671!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-actions .hr-whatsapp{
  border-color:#2d7056!important;
  color:#90f0bd!important;
  background:#0d3929!important;
  -webkit-text-fill-color:#90f0bd!important;
}

body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-actions .hr-call{
  border-color:#365d7c!important;
  color:#b9e3ff!important;
  background:#0c263d!important;
  -webkit-text-fill-color:#b9e3ff!important;
}

/* Guard against browser/global text-fill inheritance on the three affected
   groups. This is intentionally narrow so dark-panel areas keep their own
   established treatment. */
body.theme-dark.v54-clear-theme.v126-join-page :is(
  #why-join,
  #hiring-process,
  #hr-contacts
) :is(h2,h3,p,a,span){
  opacity:1;
}

/* Comfortable density at tablet/mobile widths after the dark-mode fixes. */
@media(max-width:760px){
  body.theme-dark.v54-clear-theme.v126-join-page .v126-value-grid article,
  body.theme-dark.v54-clear-theme.v126-join-page .v126-process-list li,
  body.theme-dark.v54-clear-theme.v126-join-page .v126-contact-section .hr-contact-card{
    box-shadow:0 12px 28px rgba(0,7,18,.24)!important;
  }

  body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li{
    box-shadow:0 14px 32px rgba(0,7,20,.28)!important;
  }
}


/* Source: gat-polish-v144.css */
/* GAT System V144 — desktop heading width and single-line refinement.
   Goal: keep the prominent section titles on one clean line on larger screens,
   while still allowing natural wrapping on tablet and mobile. */

/* --------------------------------------------------------------------------
   Desktop / large tablet title refinement
   -------------------------------------------------------------------------- */
@media (min-width: 1100px){
  /* Home page — Who we help */
  body[data-page="home"] #who-we-help .v57-heading{
    max-width:none!important;
    width:100%!important;
  }

  body[data-page="home"] #who-we-help .v57-heading > div{
    width:100%!important;
    max-width:none!important;
  }

  body[data-page="home"] #who-we-help .v57-heading h2{
    max-width:none!important;
    width:auto!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2.7rem,3.9vw,4.5rem)!important;
    line-height:1.02!important;
  }

  /* Join Us section headings */
  body.v126-join-page .v126-section-head,
  body.v126-join-page .v126-contact-section .hr-contact-heading{
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;
    gap:clamp(26px,4vw,72px)!important;
  }

  body.v126-join-page .v126-section-head > div,
  body.v126-join-page .v126-contact-section .hr-contact-heading > div,
  body.v126-join-page .v126-process-copy,
  body.v126-join-page .v126-final-panel > div:first-child{
    max-width:none!important;
  }

  body.v126-join-page :is(
    .v126-section-head h2,
    .v126-process-copy h2,
    .v126-contact-section h2,
    .v126-final-panel h2
  ){
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2.35rem,3.45vw,3.75rem)!important;
    line-height:1.03!important;
  }

  /* Platform workflow section headings */
  body.v108-platform-page .v108-head{
    grid-template-columns:minmax(0,1.18fr) minmax(280px,.42fr)!important;
    gap:28px!important;
  }

  body.v108-platform-page .v108-head.centered{
    max-width:1240px!important;
  }

  body.v108-platform-page .v108-head h2,
  body.v108-platform-page .v108-section h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2.2rem,3.05vw,3.5rem)!important;
    line-height:1.03!important;
  }
}

/* Slightly narrower desktop widths still keep the headings visually compact. */
@media (min-width: 1100px) and (max-width: 1340px){
  body[data-page="home"] #who-we-help .v57-heading h2{
    font-size:clamp(2.45rem,3.5vw,3.9rem)!important;
  }

  body.v126-join-page :is(
    .v126-section-head h2,
    .v126-process-copy h2,
    .v126-contact-section h2,
    .v126-final-panel h2
  ){
    font-size:clamp(2.15rem,3.05vw,3.15rem)!important;
  }

  body.v108-platform-page .v108-head h2,
  body.v108-platform-page .v108-section h2{
    font-size:clamp(2rem,2.65vw,3rem)!important;
  }
}

/* Restore normal wrapping on tablet and mobile so there is no overflow. */
@media (max-width: 1099px){
  body[data-page="home"] #who-we-help .v57-heading h2,
  body.v126-join-page :is(
    .v126-section-head h2,
    .v126-process-copy h2,
    .v126-contact-section h2,
    .v126-final-panel h2
  ),
  body.v108-platform-page .v108-head h2,
  body.v108-platform-page .v108-section h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* Source: gat-polish-v145.css */
/* GAT System V145 — headline and CTA layout refinement.
   Focus:
   1) Keep key homepage bold headlines on one line on large screens.
   2) Redesign Join Us process + final CTA so buttons never cover text.
*/

/* --------------------------------------------------------------------------
   Homepage — stronger single-line headlines on large screens
   -------------------------------------------------------------------------- */
@media (min-width: 1280px){
  /* Services heading */
  body[data-page="home"] #what-we-do .v57-heading,
  body[data-page="home"] #what-we-do .v57-heading > div{
    max-width:none!important;
    width:100%!important;
  }

  body[data-page="home"] #what-we-do .v57-heading h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(3.05rem,4.05vw,5rem)!important;
    line-height:.96!important;
    letter-spacing:-.058em!important;
  }

  /* Why GAT — turn the two spans into one clean desktop headline */
  body[data-page="home"] .v80-why-grid{
    grid-template-columns:minmax(250px,.66fr) minmax(0,1.34fr)!important;
    gap:28px!important;
    align-items:center!important;
  }

  body[data-page="home"] .v80-team-photo{
    aspect-ratio:10 / 13!important;
    min-height:430px!important;
  }

  body[data-page="home"] .v80-why-copy{
    max-width:none!important;
  }

  body[data-page="home"] .v80-why-copy h2{
    max-width:none!important;
    margin:10px 0 16px!important;
    font-size:clamp(2.7rem,3.55vw,4.45rem)!important;
    line-height:.96!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body[data-page="home"] .v80-why-copy h2 span{
    display:inline!important;
  }

  body[data-page="home"] .v80-why-copy h2 .v82-blue-line{
    margin-left:.18em!important;
  }
}

@media (min-width: 1280px) and (max-width: 1440px){
  body[data-page="home"] #what-we-do .v57-heading h2{
    font-size:clamp(2.85rem,3.5vw,4.15rem)!important;
  }

  body[data-page="home"] .v80-why-copy h2{
    font-size:clamp(2.45rem,3.1vw,3.7rem)!important;
  }
}

/* Restore natural wrapping below large-desktop widths. */
@media (max-width: 1279px){
  body[data-page="home"] #what-we-do .v57-heading h2,
  body[data-page="home"] .v80-why-copy h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }

  body[data-page="home"] .v80-why-copy h2 span{
    display:block!important;
  }
}

/* --------------------------------------------------------------------------
   Join Us — redesign layouts so buttons do not sit on top of the headline
   -------------------------------------------------------------------------- */
@media (min-width: 1180px){
  /* Hiring journey: keep the left narrative narrower and let the process list
     breathe on the right. Allow a balanced two-line title instead of forcing
     one long line into the cards. */
  body.v126-join-page .v126-process-layout{
    grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)!important;
    gap:48px!important;
    align-items:start!important;
  }

  body.v126-join-page .v126-process-copy{
    max-width:540px!important;
    padding-right:8px!important;
  }

  body.v126-join-page .v126-process-copy h2{
    max-width:11.5ch!important;
    white-space:normal!important;
    text-wrap:balance!important;
    font-size:clamp(2.55rem,3.5vw,4.2rem)!important;
    line-height:1.02!important;
  }

  body.v126-join-page .v126-process-copy > p{
    max-width:22ch!important;
    margin-bottom:28px!important;
  }

  body.v126-join-page .v126-text-link{
    margin-top:2px!important;
  }

  /* Final CTA: stack content first, then actions on a dedicated row so the
     buttons never cover the main heading. */
  body.v126-join-page .v126-final-panel{
    grid-template-columns:minmax(0,1fr)!important;
    gap:26px!important;
    align-items:start!important;
    padding:clamp(42px,5.6vw,72px)!important;
  }

  body.v126-join-page .v126-final-panel > div:first-child{
    max-width:1120px!important;
  }

  body.v126-join-page .v126-final-panel h2{
    max-width:980px!important;
    white-space:normal!important;
    text-wrap:balance!important;
    font-size:clamp(2.6rem,3.55vw,4rem)!important;
    line-height:1.04!important;
    margin-bottom:18px!important;
  }

  body.v126-join-page .v126-final-panel p{
    max-width:900px!important;
  }

  body.v126-join-page .v126-final-actions{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:18px!important;
    margin-top:2px!important;
  }

  body.v126-join-page .v126-final-actions .v126-button{
    min-width:220px!important;
  }

  body.v126-join-page .v131-career-privacy{
    max-width:920px!important;
    margin-top:6px!important;
  }
}

/* Comfortable tablet behavior. */
@media (min-width: 681px) and (max-width: 1179px){
  body.v126-join-page .v126-process-copy h2,
  body.v126-join-page .v126-final-panel h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* Source: gat-polish-v149.css */
/* GAT System V149 — Join Us and Support heading layout refinement.
   - Move supporting highlight copy below selected section headings.
   - Keep selected support headings on one line on large desktop screens.
*/

/* --------------------------------------------------------------------------
   Join Us: stack the supporting copy under the heading for the two sections
   shown in the screenshots.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px){
  body.v126-join-page #why-join .v126-section-head,
  body.v126-join-page #roles .v126-section-head{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:16px!important;
    margin-bottom:40px!important;
  }

  body.v126-join-page #why-join .v126-section-head > div,
  body.v126-join-page #roles .v126-section-head > div{
    max-width:none!important;
    width:100%!important;
  }

  body.v126-join-page #why-join .v126-section-head > p,
  body.v126-join-page #roles .v126-section-head > p{
    max-width:920px!important;
    margin:0!important;
  }
}

/* --------------------------------------------------------------------------
   Support page: stack the highlight copy under the header, and keep the header
   itself on one line on large desktop screens.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px){
  body[data-page="support"] .support-contact-section .section-heading,
  body[data-page="support"] .support-request-types .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:16px!important;
    margin-bottom:34px!important;
  }

  body[data-page="support"] .support-contact-section .section-heading > div,
  body[data-page="support"] .support-request-types .section-heading > div{
    max-width:none!important;
    width:100%!important;
  }

  body[data-page="support"] .support-contact-section .section-heading > p,
  body[data-page="support"] .support-request-types .section-heading > p{
    max-width:980px!important;
    margin:0!important;
  }
}

@media (min-width: 1500px){
  body[data-page="support"] .support-contact-section .section-heading h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2rem,2.1vw,2.75rem)!important;
    line-height:1.05!important;
  }

  body[data-page="support"] .support-request-types .section-heading h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2rem,2vw,2.7rem)!important;
    line-height:1.05!important;
  }

  body[data-page="support"] .cta-panel{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:32px!important;
  }

  body[data-page="support"] .cta-panel > div{
    max-width:none!important;
    min-width:0!important;
  }

  body[data-page="support"] .cta-panel h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2.2rem,2.35vw,3.05rem)!important;
    line-height:1.03!important;
  }

  body[data-page="support"] .cta-panel .button.light{
    min-width:250px!important;
    justify-self:end!important;
    flex-shrink:0!important;
  }
}

/* Safe fallback below large desktop widths. */
@media (max-width: 1499px){
  body[data-page="support"] .support-contact-section .section-heading h2,
  body[data-page="support"] .support-request-types .section-heading h2,
  body[data-page="support"] .cta-panel h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* Source: gat-polish-v150.css */
/* GAT System V150 — Support section headings in one line.
   Keep the two support section headlines on a single line on desktop.
*/

@media (min-width: 1200px){
  body[data-page="support"] .support-contact-section .section-heading,
  body[data-page="support"] .support-request-types .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:14px!important;
    margin-bottom:34px!important;
  }

  body[data-page="support"] .support-contact-section .section-heading > div,
  body[data-page="support"] .support-request-types .section-heading > div{
    max-width:none!important;
    width:100%!important;
  }

  body[data-page="support"] .support-contact-section .section-heading h2,
  body[data-page="support"] .support-request-types .section-heading h2{
    max-width:none!important;
    width:auto!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(1.9rem,2vw,2.5rem)!important;
    line-height:1.05!important;
    letter-spacing:-.045em!important;
    margin:10px 0 0!important;
  }

  body[data-page="support"] .support-contact-section .section-heading > p,
  body[data-page="support"] .support-request-types .section-heading > p{
    max-width:1040px!important;
    margin:0!important;
  }
}

@media (max-width: 1199px){
  body[data-page="support"] .support-contact-section .section-heading h2,
  body[data-page="support"] .support-request-types .section-heading h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* Source: gat-polish-v154.css */
/* GAT System V154 — consolidated About page heading layout.
   Replaces V148 and V151–V153 with one maintained override file.
*/

@media (min-width: 1400px){
  /* Hero: exactly two balanced desktop lines. */
  body[data-page="about"] .about-hero-v2 .shell{
    min-height:560px!important;
  }

  body[data-page="about"] .about-hero-v2 h1{
    width:100%!important;
    max-width:none!important;
    margin:15px 0 20px!important;
    font-size:clamp(3rem,3.6vw,3.4rem)!important;
    line-height:.96!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body[data-page="about"] .about-hero-v2 h1 .about-hero-line{
    display:block!important;
    white-space:nowrap!important;
  }

  body[data-page="about"] .about-hero-v2 p{
    max-width:860px!important;
    margin:0!important;
  }

  /* Section titles stay on one line with supporting copy underneath. */
  body[data-page="about"] .about-evolution-section .section-heading,
  body[data-page="about"] .about-expectations-section .section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:18px!important;
  }

  body[data-page="about"] .about-evolution-section .section-heading{
    margin-bottom:42px!important;
  }

  body[data-page="about"] .about-expectations-section .section-heading{
    margin-bottom:34px!important;
  }

  body[data-page="about"] .about-evolution-section .section-heading > div,
  body[data-page="about"] .about-expectations-section .section-heading > div{
    width:100%!important;
    max-width:none!important;
  }

  body[data-page="about"] .about-evolution-section .section-heading h2,
  body[data-page="about"] .about-expectations-section .section-heading h2{
    width:auto!important;
    max-width:none!important;
    margin:12px 0 0!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body[data-page="about"] .about-evolution-section .section-heading h2{
    font-size:clamp(1.82rem,1.85vw,2.15rem)!important;
  }

  body[data-page="about"] .about-expectations-section .section-heading h2{
    font-size:clamp(1.84rem,1.9vw,2.2rem)!important;
  }

  body[data-page="about"] .about-evolution-section .section-heading > p,
  body[data-page="about"] .about-expectations-section .section-heading > p{
    max-width:980px!important;
    margin:0!important;
  }

  /* Keep the closing CTA heading and button in separate lanes. */
  body[data-page="about"] .about-cta-section .cta-panel{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:34px!important;
    padding:42px 48px!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel > div{
    max-width:none!important;
    min-width:0!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel h2{
    max-width:none!important;
    font-size:clamp(2rem,2.95vw,3.35rem)!important;
    line-height:1.02!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel p{
    max-width:820px!important;
    margin-top:10px!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel .button.light{
    min-width:254px!important;
    justify-self:end!important;
    flex-shrink:0!important;
  }
}

@media (max-width: 1399px){
  body[data-page="about"] .about-hero-v2 h1,
  body[data-page="about"] .about-evolution-section .section-heading h2,
  body[data-page="about"] .about-expectations-section .section-heading h2,
  body[data-page="about"] .about-cta-section .cta-panel h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* Source: gat-polish-v185.css */
/* GAT System V168 - centered platform section headers and 10/10 polish. */

:root{
  --v168-fixed-header-height:76px;
}

html{
  scroll-padding-top:calc(var(--v168-fixed-header-height) + 24px)!important;
}

html body.v54-clear-theme{
  padding-top:var(--v168-fixed-header-height)!important;
}

html body.v54-clear-theme > .site-header.topnav-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  z-index:2000!important;
}

@media (min-width: 761px){
  html body.v54-clear-theme > .site-header.topnav-header .topnav{
    min-height:var(--v168-fixed-header-height)!important;
    padding-block:0!important;
  }

  html body.v54-clear-theme > .site-header.topnav-header .brand-tile{
    width:60px!important;
    height:60px!important;
  }

  html body.v54-clear-theme > .site-header.topnav-header .brand-tile img{
    width:52px!important;
    height:52px!important;
  }
}

/* Make the footer brand easier to recognize without changing its column layout. */
html body.v54-clear-theme .footer .footer-company .brand img{
  width:108px!important;
  height:auto!important;
  max-width:100%!important;
}

/* Solutions hero: remove excessive vertical whitespace while retaining clear hierarchy. */
body.v54-clear-theme[data-page="solutions"] .solutions-hero{
  padding-block:30px 44px!important;
}

body.v54-clear-theme[data-page="solutions"] .solutions-hero .breadcrumb{
  margin-bottom:16px!important;
}

body.v54-clear-theme[data-page="solutions"] .solutions-hero h1{
  width:100%!important;
  max-width:1120px!important;
  margin:10px 0 12px!important;
  font-size:clamp(2.75rem,3.55vw,4.25rem)!important;
  line-height:1.03!important;
  text-wrap:balance!important;
}

body.v54-clear-theme[data-page="solutions"] .solutions-hero p{
  max-width:920px!important;
  margin-bottom:0!important;
}

body.v54-clear-theme[data-page="solutions"] .solutions-hero .hero-actions{
  margin-top:20px!important;
}

@media (min-width: 1200px){
  body.v54-clear-theme[data-page="solutions"] .solutions-hero h1{
    white-space:normal!important;
  }
}

/* Full platform names use flexible labels instead of acronym-sized badges. */
body[data-page="solutions"] .solution-title .platform-code.large{
  width:max-content!important;
  max-width:100%!important;
  height:auto!important;
  min-height:52px!important;
  padding:12px 16px!important;
  border-radius:14px!important;
  font-size:.82rem!important;
  line-height:1.25!important;
  text-align:left!important;
}

body[data-page="home"] #what-we-do a[href="ssas.html"] .v99-platform-code{
  line-height:1.25!important;
}

body[data-page="home"] #what-we-do .v99-platform-code{
  min-height:2.6em!important;
  display:flex!important;
  align-items:flex-start!important;
}

body[data-page="home"] #what-we-do .v99-platform-card{
  min-width:0!important;
}

body[data-page="home"] #what-we-do .v99-platform-copy{
  min-width:0!important;
}

body[data-page="home"] #what-we-do .v99-platform-copy h4,
body[data-page="home"] #what-we-do .v99-platform-copy p{
  overflow-wrap:normal!important;
  text-wrap:balance!important;
}

body.v54-clear-theme .combined-services-menu .service-menu-group:last-child{
  min-width:240px!important;
}

body.v54-clear-theme .combined-services-menu .service-menu-group:last-child a{
  white-space:normal!important;
  line-height:1.25!important;
}

body.v54-clear-theme .topnav-dropdown-menu.combined-services-menu{
  max-width:min(1120px,calc(100vw - 48px))!important;
}

body.v54-clear-theme .footer{
  padding-block:58px 26px!important;
}

body.v54-clear-theme .footer-grid{
  gap:clamp(24px,3vw,42px)!important;
}

body.v54-clear-theme .footer-grid > div:not(.footer-company){
  align-content:start!important;
}

body.v54-clear-theme .footer a{
  max-width:100%!important;
}

body.v54-clear-theme .footer a[href="solutions.html"]{
  font-weight:800!important;
  color:#80c9ff!important;
}

/* CBS now presents a complete five-step portal and integration journey. */
@media (min-width: 901px){
  body.v108-cbs .v108-flow.five{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:16px!important;
  }

  body.v108-cbs .v108-flow.five > li{
    padding:26px 22px!important;
  }

  body.v108-cbs .v108-flow.five h3{
    font-size:1.05rem!important;
  }

  body.v108-cbs .v108-flow.five p{
    font-size:.86rem!important;
  }
}

@media (max-width: 900px){
  body.v108-cbs .v108-flow.five{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* CBS report header returns to the centered treatment used by the reference section. */
body.v108-cbs #reports .v108-head{
  text-align:center!important;
  align-items:center!important;
}

body.v108-cbs #reports .v108-head p{
  max-width:900px!important;
  margin-inline:auto!important;
}

/* Keep highlighted platform section headers centered like the reference section. */
body.v108-ssas .ssas-performance-head,
body.v108-cbs #reports .v108-head,
body.v108-rtms #rtms-features .v108-head,
body.v108-sfa #sfa-features .v108-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:940px!important;
  margin-inline:auto!important;
  text-align:center!important;
  gap:0!important;
}

body.v108-ssas .ssas-performance-head h2,
body.v108-cbs #reports .v108-head h2,
body.v108-rtms #rtms-features .v108-head h2,
body.v108-sfa #sfa-features .v108-head h2{
  width:auto!important;
  max-width:940px!important;
  margin-inline:auto!important;
  white-space:normal!important;
  text-wrap:balance!important;
}

body.v108-ssas .ssas-performance-head > p,
body.v108-cbs #reports .v108-head > p,
body.v108-rtms #rtms-features .v108-head > p,
body.v108-sfa #sfa-features .v108-head > p{
  max-width:900px!important;
  margin:18px auto 0!important;
  text-align:center!important;
  text-wrap:balance!important;
}

/* Contact page: reduce the gap below the fixed top bar. */
body[data-page="contact"] .contact-hero-v2{
  padding-block:26px 44px!important;
}

body[data-page="contact"] .contact-hero-v2 .breadcrumb{
  margin-bottom:16px!important;
}

body[data-page="contact"] .contact-hero-v2 h1{
  margin-top:10px!important;
}

/* Platform detail pages: tighter hero rhythm and long-name protection. */
body.v108-platform-page .v108-hero{
  padding-block:44px 58px!important;
}

body.v108-platform-page .v108-kicker{
  max-width:100%!important;
  align-items:center!important;
}

body.v108-platform-page .v108-kicker > span{
  max-width:100%!important;
  white-space:normal!important;
  text-wrap:balance!important;
}

body.v108-platform-page .v108-hero h1{
  text-wrap:balance!important;
}

body.v108-platform-page .v108-actions .button{
  min-height:52px!important;
}

body.v108-platform-page .v108-proof-list{
  gap:10px!important;
}

body.v108-platform-page .v108-proof-list li{
  white-space:normal!important;
  text-wrap:balance!important;
}

body.v108-platform-page .v108-feature-grid article,
body.v108-platform-page .v108-quality-grid article,
body.v108-platform-page .v108-benefit-grid article{
  min-width:0!important;
}

body.v108-platform-page .v108-feature-grid h3,
body.v108-platform-page .v108-quality-grid h3,
body.v108-platform-page .v108-benefit-grid h3{
  text-wrap:balance!important;
}

@media (max-width: 980px){
  body.v54-clear-theme[data-page="solutions"] .solutions-hero{
    padding-block:24px 34px!important;
  }

  body.v54-clear-theme[data-page="solutions"] .solutions-hero h1{
    font-size:clamp(2.2rem,8vw,3.4rem)!important;
    line-height:1.05!important;
  }

  body.v108-platform-page .v108-hero{
    padding-block:34px 44px!important;
  }

  body.v108-platform-page .v108-actions{
    align-items:stretch!important;
  }

  body.v108-platform-page .v108-actions .button{
    justify-content:center!important;
  }
}

@media (max-width: 560px){
  body.v54-clear-theme .topnav-brand .brand-name{
    font-size:1.08rem!important;
  }

  body.v54-clear-theme[data-page="solutions"] .solutions-hero .hero-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body[data-page="home"] #what-we-do .v99-platform-code{
    min-height:0!important;
  }
}

/* About hero: keep the supplied title at exactly two lines at 100% desktop zoom. */
@media (min-width: 1000px){
  body[data-page="about"] .about-hero-v2 .shell{
    min-height:0!important;
    padding-block:22px 40px!important;
    justify-content:flex-start!important;
  }

  body[data-page="about"] .about-hero-v2 h1{
    width:100%!important;
    max-width:none!important;
    font-family:inherit!important;
    font-size:clamp(3rem,4.25vw,4.8rem)!important;
    font-weight:700!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body[data-page="about"] .about-hero-v2 h1 .about-hero-line{
    display:block!important;
    white-space:nowrap!important;
  }
}

/* About expectations: use the same label, heading, supporting-copy order as the HR reference. */
body[data-page="about"] .about-expectations-section .section-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
}

body[data-page="about"] .about-expectations-section .section-heading > div{
  width:100%!important;
  max-width:none!important;
}

body[data-page="about"] .about-expectations-section .section-heading > p{
  max-width:980px!important;
  margin:0!important;
}

@media (min-width: 1200px){
  body[data-page="about"] .about-expectations-section .section-heading h2{
    width:auto!important;
    max-width:none!important;
    font-size:clamp(2.8rem,3.25vw,3.65rem)!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}

/* Footer: Business Platforms is now a Services link; the separate Platforms column is removed. */
body.v67-premium .footer-grid{
  grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(170px,1fr))!important;
}

@media (max-width: 1100px){
  body.v67-premium .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width: 680px){
  body.v67-premium .footer-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* About evolution: label, heading, then supporting copy in one left column. */
body[data-page="about"] .about-evolution-section .section-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
}

body[data-page="about"] .about-evolution-section .section-heading > div{
  width:100%!important;
  max-width:none!important;
}

body[data-page="about"] .about-evolution-section .section-heading > p{
  max-width:980px!important;
  margin:0!important;
}

@media (min-width: 1000px){
  body[data-page="about"] .about-evolution-section .section-heading h2{
    width:auto!important;
    max-width:none!important;
    font-size:clamp(1.8rem,2.2vw,2.15rem)!important;
    line-height:1.04!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}

@media (max-width: 999px){
  body[data-page="about"] .about-hero-v2 h1,
  body[data-page="about"] .about-evolution-section .section-heading h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}

/* Homepage business-impact copy follows its heading instead of sitting beside it. */
body[data-page="home"] .v80-value-section .v80-section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:start!important;
  gap:12px!important;
  text-align:left!important;
}

body[data-page="home"] .v80-value-section .v80-section-head > div{
  width:100%!important;
}

body[data-page="home"] .v80-value-section .v82-impact-sub{
  max-width:760px!important;
  margin:0!important;
}

/* Join Us HR heading follows the same stacked reading order. */
body.v126-join-page .v126-contact-section .hr-contact-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:14px!important;
}

body.v126-join-page .v126-contact-section .hr-contact-heading > div{
  width:100%!important;
  max-width:none!important;
}

body.v126-join-page .v126-contact-section .hr-contact-heading > p{
  max-width:880px!important;
  margin:0!important;
}

body.v126-join-page .v126-contact-section .hr-contact-email{
  overflow-wrap:anywhere;
}

body.v126-join-page .v126-contact-section .hr-contact-actions .hr-email{
  border-color:#b9d5ee!important;
  color:#145b96!important;
  background:#ffffff!important;
}

body.theme-dark.v126-join-page .v126-contact-section .hr-contact-actions .hr-email{
  border-color:#365d7c!important;
  color:#b9e3ff!important;
  background:#0c263d!important;
  -webkit-text-fill-color:#b9e3ff!important;
}

/* Keep the two HR contact cards compact and readable. */
body.v126-join-page .v126-contact-section .hr-contact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:none!important;
}

body.v126-join-page .v126-contact-section .hr-contact-card-single{
  grid-template-columns:minmax(0,1fr)!important;
  min-height:0!important;
  padding:30px 34px!important;
}

body.v126-join-page .v126-contact-section .hr-contact-card-single .hr-contact-actions{
  grid-column:1/-1!important;
  margin-top:14px!important;
}

body.v126-join-page .v126-contact-section .hr-contact-card-single .hr-whatsapp{
  width:max-content!important;
}

body.v126-join-page .v126-contact-section .hr-contact-card-single .hr-contact-email{
  display:inline-block!important;
  color:#145b96!important;
  font-size:clamp(1.05rem,1.7vw,1.35rem)!important;
  font-weight:800!important;
}

body.theme-dark.v126-join-page .v126-contact-section .hr-contact-card-single .hr-contact-email{
  color:#b9e3ff!important;
  -webkit-text-fill-color:#b9e3ff!important;
}

/* About and Support closing CTA headings stay on one desktop line. */
@media (min-width: 1200px){
  body[data-page="about"] .about-cta-section .cta-panel,
  body[data-page="support"] .cta-panel{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:30px!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel > div,
  body[data-page="support"] .cta-panel > div{
    min-width:0!important;
    max-width:none!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel h2,
  body[data-page="support"] .cta-panel h2{
    width:auto!important;
    max-width:none!important;
    font-size:clamp(2rem,2.7vw,3.25rem)!important;
    line-height:1.02!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body[data-page="about"] .about-cta-section .cta-panel .button,
  body[data-page="support"] .cta-panel .button{
    flex-shrink:0!important;
    justify-self:end!important;
  }
}

@media (max-width: 1199px){
  body[data-page="about"] .about-cta-section .cta-panel h2,
  body[data-page="support"] .cta-panel h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}

/* Support hero: bring the content closer to the fixed top bar. */
@media (min-width: 761px){
  body[data-page="support"] .support-hero{
    padding-block:38px 58px!important;
  }
}

/* Support detail heading: use two balanced desktop lines. */
@media (min-width: 1100px){
  body[data-page="support"] .support-detail-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)!important;
    gap:54px!important;
  }

  body[data-page="support"] .support-detail-copy h2{
    width:max-content!important;
    max-width:none!important;
    font-size:clamp(2.65rem,3.2vw,3.65rem)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
  }

  body[data-page="support"] .support-detail-copy .support-heading-line{
    display:block!important;
    white-space:nowrap!important;
  }
}

@media (max-width: 1099px){
  body[data-page="support"] .support-detail-copy .support-heading-line{
    display:inline!important;
    white-space:normal!important;
  }
}

/* Homepage Business Platforms: match the AI & Automation dark surface. */
body.theme-dark[data-page="home"] #what-we-do .v86-platform-strip{
  border-color:rgba(104,167,230,.25)!important;
  background:linear-gradient(145deg,#081c33,#0d2948)!important;
  box-shadow:0 22px 52px rgba(0,7,18,.30)!important;
}

body.theme-dark[data-page="home"] #what-we-do .v86-platform-intro h3{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

body.theme-dark[data-page="home"] #what-we-do .v86-platform-intro .v86-service-kicker,
body.theme-dark[data-page="home"] #what-we-do .v86-platform-link,
body.theme-dark[data-page="home"] #what-we-do .v99-platform-code,
body.theme-dark[data-page="home"] #what-we-do .v99-platform-copy b{
  color:#67d8ff!important;
  -webkit-text-fill-color:#67d8ff!important;
}

body.theme-dark[data-page="home"] #what-we-do .v86-platform-options .v99-platform-card{
  border-color:#294d6b!important;
  background:linear-gradient(145deg,#102a44,#0b2037)!important;
  box-shadow:0 16px 34px rgba(0,7,18,.24)!important;
}

body.theme-dark[data-page="home"] #what-we-do .v99-platform-copy h4{
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

body.theme-dark[data-page="home"] #what-we-do .v99-platform-copy p{
  color:#bfd0df!important;
  -webkit-text-fill-color:#bfd0df!important;
}

/* Platform workflow: dark mode now uses dark cards instead of white cards. */
body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section{
  background:
    radial-gradient(circle at 86% 12%,rgba(42,156,232,.15),transparent 27rem),
    linear-gradient(135deg,#041426 0%,#071d33 58%,#0a2946 100%)!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li{
  color:#f8fbff!important;
  border-color:#2a4f6c!important;
  background:linear-gradient(145deg,#102a44,#0b2037)!important;
  box-shadow:0 20px 46px rgba(0,7,18,.30)!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li h3{
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li p{
  color:#bfd0df!important;
  -webkit-text-fill-color:#bfd0df!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li > span:first-child{
  color:#ffffff!important;
  background:linear-gradient(135deg,#1769e8,#39bdf1)!important;
  -webkit-text-fill-color:#ffffff!important;
}

body.theme-dark.v54-clear-theme.v108-platform-page .v108-section.v108-flow-section .v108-flow > li:not(:last-child)::after{
  border-color:#2a5576!important;
  color:#8edfff!important;
  background:#092943!important;
  -webkit-text-fill-color:#8edfff!important;
}

/* Retailer Scan Data AI performance section: fix the label/title/copy order and alignment. */
body.v108-ssas .ssas-performance-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:0!important;
}

body.v108-ssas .ssas-performance-head h2{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}

body.v108-ssas .ssas-performance-head > p{
  max-width:760px!important;
  margin:18px 0 0!important;
}

@media (min-width: 1000px){
  body.v108-ssas .ssas-performance-head h2{
    font-size:clamp(2rem,3vw,3.2rem)!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}

@media (max-width: 999px){
  body.v108-ssas .ssas-performance-head h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}

/* Preserve V155's one-line homepage project heading. */
@media (min-width: 900px){
  body[data-page="home"] .v80-contact h2{
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(1.8rem,2.5vw,2.5rem)!important;
  }
}

@media (max-width: 899px){
  body[data-page="home"] .v80-contact h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}

@media (max-width: 760px){
  body.v126-join-page .v126-contact-section .hr-contact-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  :root{
    --v168-fixed-header-height:68px;
  }

  html body.v54-clear-theme > .site-header.topnav-header .topnav{
    min-height:var(--v168-fixed-header-height)!important;
    padding-block:0!important;
  }
}

/* Final alignment pass: keep the selected section headers centered on every platform page. */
body.v108-ssas .ssas-performance-head,
body.v108-cbs #reports .v108-head,
body.v108-rtms #rtms-features .v108-head,
body.v108-sfa #sfa-features .v108-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:940px!important;
  margin-inline:auto!important;
  text-align:center!important;
  gap:0!important;
}

body.v108-ssas .ssas-performance-head h2,
body.v108-cbs #reports .v108-head h2,
body.v108-rtms #rtms-features .v108-head h2,
body.v108-sfa #sfa-features .v108-head h2{
  width:auto!important;
  max-width:940px!important;
  margin-inline:auto!important;
  white-space:normal!important;
  text-align:center!important;
  text-wrap:balance!important;
}

body.v108-ssas .ssas-performance-head > p,
body.v108-cbs #reports .v108-head > p,
body.v108-rtms #rtms-features .v108-head > p,
body.v108-sfa #sfa-features .v108-head > p{
  max-width:900px!important;
  margin:18px auto 0!important;
  text-align:center!important;
  text-wrap:balance!important;
}

/* V183: homepage dark mode is back to V168 behavior. The temporary blue-fade
   canvas and synced section fade rules from V178-V182 were removed. */

/* V182: AI Solutions dark-mode readability. The original AI stylesheet used
   html[data-theme="dark"], while the current site applies dark mode on
   body.theme-dark. These rules make every AI section and card readable in the
   real dark-mode state. */
body.theme-dark.v92-ai-page,
body.theme-dark.v92-ai-page main.v92-ai-main{
  background:#061426!important;
  color:#eef7ff!important;
}

body.theme-dark.v92-ai-page .v92-ai-hero{
  background:
    radial-gradient(circle at 84% 12%,rgba(39,126,255,.16),transparent 32%),
    linear-gradient(180deg,#07172a 0%,#0a2038 100%)!important;
}

body.theme-dark.v92-ai-page .v92-ai-hero h1,
body.theme-dark.v92-ai-page .v92-ai-section-head h2,
body.theme-dark.v92-ai-page .v92-cap-grid h3,
body.theme-dark.v92-ai-page .v92-trust-grid h3,
body.theme-dark.v92-ai-page .v92-build-grid h3,
body.theme-dark.v92-ai-page .v92-process-grid h3,
body.theme-dark.v92-ai-page .v92-faq-wrap h2{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}

body.theme-dark.v92-ai-page .v92-ai-hero h1 span{
  color:#67a6ff!important;
  -webkit-text-fill-color:#67a6ff!important;
}

body.theme-dark.v92-ai-page .v92-ai-hero-copy>p,
body.theme-dark.v92-ai-page .v92-ai-section-head p,
body.theme-dark.v92-ai-page .v92-cap-grid p,
body.theme-dark.v92-ai-page .v92-trust-grid p,
body.theme-dark.v92-ai-page .v92-build-grid p,
body.theme-dark.v92-ai-page .v92-process-grid p,
body.theme-dark.v92-ai-page .v92-faq-wrap>div>p,
body.theme-dark.v92-ai-page .faq-item p{
  color:#c4d5e8!important;
  -webkit-text-fill-color:#c4d5e8!important;
}

body.theme-dark.v92-ai-page .v92-ai-eyebrow,
body.theme-dark.v92-ai-page .v92-ai-section-head>span,
body.theme-dark.v92-ai-page .v92-mini-label{
  color:#65dfff!important;
  -webkit-text-fill-color:#65dfff!important;
}

body.theme-dark.v92-ai-page .v92-ai-eyebrow span,
body.theme-dark.v92-ai-page .v92-icon,
body.theme-dark.v92-ai-page .v92-build-icon,
body.theme-dark.v92-ai-page .v92-process-grid article>span{
  background:linear-gradient(135deg,#1769e8,#38bdf8)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

body.theme-dark.v92-ai-page .v92-cap-grid article,
body.theme-dark.v92-ai-page .v92-trust-grid article,
body.theme-dark.v92-ai-page .v92-build-grid article,
body.theme-dark.v92-ai-page .v92-process-grid article,
body.theme-dark.v92-ai-page .v92-ai-quick a{
  background:#0b213b!important;
  border-color:#1d3e61!important;
  color:#eef7ff!important;
  -webkit-text-fill-color:#eef7ff!important;
  box-shadow:0 18px 42px rgba(0,8,22,.28)!important;
}

body.theme-dark.v92-ai-page .v92-soft-section{
  background:#081a30!important;
}

body.theme-dark.v92-ai-page .v92-faq-wrap{
  background:#081a30!important;
  border-color:#193a5d!important;
}

body.theme-dark.v92-ai-page .faq-item{
  background:#0b213b!important;
  border-color:#1d3e61!important;
}

body.theme-dark.v92-ai-page .faq-item summary{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}

body.theme-dark.v92-ai-page .faq-item summary span,
body.theme-dark.v92-ai-page .v92-cap-grid a{
  color:#5bdcff!important;
  -webkit-text-fill-color:#5bdcff!important;
}

body.theme-dark.v92-ai-page .v92-ai-actions .button.secondary{
  color:#f7fbff!important;
  border-color:#82a7d3!important;
  background:rgba(255,255,255,.04)!important;
  -webkit-text-fill-color:#f7fbff!important;
}

/* V184: Support hero title is fixed to two desktop lines at 100% zoom. */
body[data-page="support"] .support-hero h1{
  max-width:1320px!important;
  line-height:1.05!important;
  text-wrap:initial!important;
}

body[data-page="support"] .support-hero h1 .support-hero-title-line{
  display:block;
  white-space:nowrap;
}

@media (max-width: 1180px){
  body[data-page="support"] .support-hero h1 .support-hero-title-line{
    white-space:normal;
  }
}

/* V190 — Contact project brief dark-mode readability.
   Keeps the "Talk to GAT" project brief form visually consistent with the
   dark blue section so labels, placeholders and helper copy do not clash. */
body.theme-dark[data-page="contact"] .v131-project-brief-section{
  background:
    radial-gradient(circle at 86% 16%,rgba(47,135,255,.20),transparent 26rem),
    linear-gradient(145deg,#041120 0%,#08284e 54%,#064f96 100%)!important;
}

body.theme-dark[data-page="contact"] .v131-project-form{
  background:linear-gradient(180deg,rgba(8,18,32,.98),rgba(5,14,26,.98))!important;
  border-color:rgba(114,184,255,.26)!important;
  box-shadow:0 30px 76px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(18px);
}

body.theme-dark[data-page="contact"] .v131-field label{
  color:#e9f5ff!important;
}

body.theme-dark[data-page="contact"] .v131-field label span{
  color:#a9bfd6!important;
}

body.theme-dark[data-page="contact"] .v131-field :is(input,select,textarea){
  color:#f7fbff!important;
  background:#071322!important;
  border-color:rgba(129,185,242,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}

body.theme-dark[data-page="contact"] .v131-field :is(input,select,textarea):focus{
  background:#091a2d!important;
  border-color:#59b4ff!important;
  box-shadow:0 0 0 4px rgba(89,180,255,.18),inset 0 1px 0 rgba(255,255,255,.06)!important;
}

body.theme-dark[data-page="contact"] .v131-field :is(input,textarea)::placeholder{
  color:#9fb3c9!important;
  opacity:1;
}

body.theme-dark[data-page="contact"] .v131-field select option{
  color:#071322;
  background:#ffffff;
}

body.theme-dark[data-page="contact"] .v131-form-note{
  color:#c4d4e6!important;
}

body.theme-dark[data-page="contact"] .v131-form-note a{
  color:#7ed7ff!important;
}

body.theme-dark[data-page="contact"] .v131-form-status{
  color:#9fe3ff!important;
}

body.theme-dark[data-page="contact"] .v131-form-submit{
  background:linear-gradient(135deg,#147ee8,#08a7e6)!important;
  box-shadow:0 16px 34px rgba(8,121,220,.34)!important;
}

/* V191 — Contact "What happens next" header alignment.
   Centers the heading block and keeps the desktop heading on one clean line. */
body[data-page="contact"] .contact-next-heading{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin-inline:auto!important;
  text-align:center!important;
}

body[data-page="contact"] .contact-next-heading h2{
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  white-space:nowrap!important;
  font-size:clamp(2.15rem,3.05vw,3.35rem)!important;
  line-height:1.05!important;
}

body[data-page="contact"] .contact-next-heading p{
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (max-width: 920px){
  body[data-page="contact"] .contact-next-heading h2{
    white-space:normal!important;
    font-size:clamp(2rem,8vw,2.75rem)!important;
  }
}

/* V192 — Sitewide default scale.
   Makes the whole website feel like browser zoom 90% by default on larger
   screens while keeping tablets and phones at normal readable size. */
@media (min-width: 1024px){
  body{
    zoom:.9;
  }
}

/* V193 — AI capability cards without top icon tiles.
   Removes the small visual block from the AI & Automation cards and tightens
   the spacing so the card begins cleanly with the heading. */
body.v92-ai-page .v92-cap-grid article{
  min-height:230px!important;
  padding-top:30px!important;
}

body.v92-ai-page .v92-cap-grid article>.v92-icon{
  display:none!important;
}

body.v92-ai-page .v92-cap-grid h3{
  margin-top:0!important;
}

/* V194 - keep the remaining AI capability cards balanced after removal. */
body.v92-ai-page .v92-cap-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:820px){
  body.v92-ai-page .v92-cap-grid{
    grid-template-columns:1fr!important;
  }
}

/* V200 - align the Solutions headings with the supplied desktop references. */
body.v54-clear-theme[data-page="solutions"] .cta-panel > div{
  max-width:calc(100% - 8px)!important;
  flex:1 1 auto;
  min-width:0;
}

body.v54-clear-theme[data-page="solutions"] .cta-panel h2 span{
  display:block;
  white-space:nowrap;
}

body.v54-clear-theme[data-page="solutions"] .cta-panel h2{
  max-width:none!important;
  min-width:0!important;
  font-size:clamp(1.7rem,1.82vw,2.2rem)!important;
  line-height:1.08!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-intro{
  grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr)!important;
  align-items:center!important;
  column-gap:clamp(34px,5vw,96px)!important;
}

body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-copy h2{
  max-width:none!important;
  font-size:clamp(1.9rem,2.28vw,2.65rem)!important;
  line-height:1.04!important;
  white-space:nowrap!important;
}

@media (max-width:1199px){
  body.v54-clear-theme[data-page="solutions"] .cta-panel h2 span,
  body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-copy h2{
    white-space:normal!important;
  }
}

@media (max-width:760px){
  body.v54-clear-theme[data-page="solutions"] .cta-panel h2{
    font-size:clamp(1.65rem,7.5vw,2.3rem)!important;
  }

  body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-intro{
    grid-template-columns:1fr!important;
    row-gap:18px!important;
  }

  body.v54-clear-theme[data-page="solutions"] #platform-qualities .platform-quality-copy h2{
    font-size:clamp(2rem,8vw,3rem)!important;
  }
}


/* ========================================================================== */
/* V202 — production acceptance corrections                                  */
/* ========================================================================== */

/* The home page uses an ordered flex stack. The confidence rail is injected
   immediately before #clients, so sharing order 2 preserves the intended
   Hero -> Confidence -> Client logos sequence. */
body[data-page="home"] main#main > .v130-confidence{order:2}

/* Privacy-preserving contact fallback when a default mail application is not
   configured. The secondary action copies the generated brief locally. */
.v131-form-copy{
  min-height:56px;
  padding:0 22px;
  border:1px solid rgba(11,105,200,.22);
  border-radius:15px;
  background:#fff;
  color:#0b5d9f;
  font:inherit;
  font-weight:850;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.v131-form-copy:hover{
  transform:translateY(-2px);
  border-color:rgba(11,105,200,.42);
  box-shadow:0 14px 28px rgba(12,75,135,.12);
}
.v131-form-copy:focus-visible{
  outline:3px solid rgba(25,136,220,.28);
  outline-offset:3px;
}
body.theme-dark[data-page="contact"] .v131-form-copy{
  border-color:rgba(126,215,255,.28)!important;
  background:rgba(255,255,255,.075)!important;
  color:#bcecff!important;
}
@media(max-width:680px){
  .v131-form-copy{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .v131-form-copy{transition:none}
}

/* Improve initial rendering cost on long static pages without hiding content
   from accessibility APIs or changing document order. */
@supports (content-visibility:auto){
  main > section:not(:first-child):not(.v130-confidence){
    content-visibility:auto;
    contain-intrinsic-size:auto 760px;
  }
}

/* V202 homepage patch — keep the Services headline on one line on desktop. */
@media (min-width:900px){
  body[data-page="home"] #what-we-do .v57-heading,
  body[data-page="home"] #what-we-do .v57-heading > div{
    max-width:none!important;
    width:100%!important;
  }

  body[data-page="home"] #what-we-do .v57-heading h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2.25rem,4vw,5rem)!important;
    line-height:.96!important;
    letter-spacing:-.058em!important;
  }
}

/* AI & Automation: keep major section headlines on one clean desktop line. */
@media (min-width:1100px){
  body.v92-ai-page .v92-ai-section-head,
  body.v92-ai-page .v92-ai-section-head.light-head{
    width:100%;
    max-width:1320px!important;
  }

  body.v92-ai-page .v92-ai-section-head h2{
    white-space:nowrap;
  }

  body.v92-ai-page .v128-ai-actions-head{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:18px;
  }

  body.v92-ai-page .v128-ai-actions-head > div{
    width:100%;
  }

  body.v92-ai-page .v128-ai-actions-head h2{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(40px,3.55vw,58px);
  }

  body.v92-ai-page .v128-ai-actions-head > p{
    width:min(720px,58%);
    margin-left:auto;
  }

  body.v92-ai-page .v92-ai-cta-inner > div{
    max-width:none;
  }

  body.v92-ai-page .v92-ai-cta-inner h2{
    max-width:none!important;
    white-space:nowrap;
    font-size:clamp(2.25rem,3vw,3.25rem)!important;
  }
}


/* V203 - centered AI action intro and AI-style data service headings. */

/* AI & Automation: center the entire "From insight to action" intro so the
   kicker, main heading and supporting copy read as one deliberate block. */
body.v92-ai-page .v128-ai-actions-head{
  display:block!important;
  width:100%;
  max-width:1480px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body.v92-ai-page .v128-ai-actions-head > div{
  width:100%!important;
  text-align:center;
}
body.v92-ai-page .v128-ai-actions-head h2{
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
body.v92-ai-page .v128-ai-actions-head > p{
  width:min(940px,82%)!important;
  max-width:940px!important;
  margin:20px auto 0!important;
  text-align:center;
}

/* Big Data Platform, Data Warehouse and Business Intelligence:
   use the same visual hierarchy as the AI & Automation page — centered
   section eyebrow, centered major heading, then centered supporting copy. */
body.v203-data-service #overview .content-grid{
  grid-template-columns:1fr!important;
  gap:14px!important;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body.v203-data-service #overview .content-grid > div:first-child{
  max-width:none!important;
}
body.v203-data-service #overview .content-grid h2{
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
body.v203-data-service #overview .prose{
  max-width:930px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body.v203-data-service #overview .prose p{
  margin-left:auto;
  margin-right:auto;
}

body.v203-data-service .section-heading{
  display:block!important;
  width:100%;
  max-width:1260px;
  margin:0 auto 40px!important;
  text-align:center;
}
body.v203-data-service .section-heading > div{
  max-width:none!important;
}
body.v203-data-service .section-heading > p{
  max-width:860px!important;
  margin:14px auto 0!important;
  text-align:center;
}
body.v203-data-service .section-heading h2{
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}

body.v203-data-service .scenario-panel{
  grid-template-columns:1fr!important;
  gap:18px!important;
  text-align:center;
}
body.v203-data-service .scenario-panel > div{
  width:100%;
}
body.v203-data-service .scenario-panel h2{
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
body.v203-data-service .scenario-panel > p{
  max-width:940px;
  margin:0 auto!important;
  text-align:center;
}

body.v203-data-service .why-gat-section .why-gat-intro{
  grid-template-columns:1fr!important;
  gap:16px!important;
  max-width:1260px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body.v203-data-service .why-gat-section .why-gat-copy{
  width:100%;
  max-width:none!important;
  margin-left:auto;
  margin-right:auto;
}
body.v203-data-service .why-gat-section .why-gat-copy h2{
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
body.v203-data-service .why-gat-section .why-gat-lead{
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center;
}

@media (min-width:1100px){
  body.v92-ai-page .v128-ai-actions-head h2{
    white-space:nowrap!important;
    font-size:clamp(40px,3.55vw,58px)!important;
  }

  body.v203-data-service #overview .content-grid h2,
  body.v203-data-service .section-heading h2,
  body.v203-data-service .scenario-panel h2,
  body.v203-data-service .why-gat-section .why-gat-copy h2{
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  body.v203-data-service #overview .content-grid h2,
  body.v203-data-service .section-heading h2,
  body.v203-data-service .scenario-panel h2{
    font-size:clamp(2.2rem,3vw,3.45rem)!important;
    line-height:1.02!important;
  }

  body.v203-data-service .why-gat-section .why-gat-copy h2{
    font-size:clamp(2.45rem,3.3vw,3.75rem)!important;
    line-height:1.02!important;
  }
}

@media (max-width:1099px){
  body.v92-ai-page .v128-ai-actions-head > p{
    width:min(760px,100%)!important;
  }

  body.v203-data-service #overview .content-grid h2,
  body.v203-data-service .section-heading h2,
  body.v203-data-service .scenario-panel h2,
  body.v203-data-service .why-gat-section .why-gat-copy h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}

@media (max-width:760px){
  body.v203-data-service #overview .content-grid,
  body.v203-data-service .section-heading,
  body.v203-data-service .scenario-panel,
  body.v203-data-service .why-gat-section .why-gat-intro{
    text-align:center!important;
  }

  body.v203-data-service #overview .prose,
  body.v203-data-service .section-heading > p,
  body.v203-data-service .scenario-panel > p,
  body.v203-data-service .why-gat-section .why-gat-lead{
    text-align:center!important;
  }
}


/* V204 - service page refresh: modern brief panel, boxed left-aligned overview, and left-aligned practice section. */
body.v204-service-refresh .service-brief-section{
  padding-top:72px;
}

body.v204-service-refresh .service-brief-panel{
  position:relative;
  display:grid;
  grid-template-columns:minmax(320px,.88fr) minmax(460px,1.12fr);
  gap:32px;
  align-items:start;
  padding:44px;
  border:1px solid rgba(167,190,218,.42);
  border-radius:32px;
  background:linear-gradient(145deg,#ffffff 0%,#f7fbff 58%,#eef5ff 100%);
  box-shadow:0 28px 70px rgba(15,23,42,.08);
  overflow:hidden;
}

body.v204-service-refresh .service-brief-panel::before{
  content:"";
  position:absolute;
  inset:-30% -10% auto auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(61,144,255,.16) 0%,rgba(61,144,255,.08) 34%,rgba(61,144,255,0) 72%);
  pointer-events:none;
}

body.v204-service-refresh .service-brief-copy,
body.v204-service-refresh .service-brief-grid{
  position:relative;
  z-index:1;
}

body.v204-service-refresh .service-brief-copy{
  max-width:520px;
}

body.v204-service-refresh .service-brief-copy .eyebrow{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(15,108,189,.1);
  color:#0f6cbd;
  letter-spacing:.12em;
}

body.v204-service-refresh .service-brief-copy h2{
  max-width:11ch;
  margin:18px 0 16px;
  font-size:clamp(2.4rem,3.6vw,4.1rem);
  line-height:1.02;
  letter-spacing:-.04em;
}

body.v204-service-refresh .service-brief-copy p{
  max-width:48ch;
  margin:0;
  font-size:1.14rem;
  line-height:1.75;
  color:#486078;
}

body.v204-service-refresh .service-brief-copy .button{
  margin-top:28px;
  min-height:54px;
  padding:0 24px;
  border-radius:16px;
  box-shadow:0 18px 32px rgba(15,108,189,.22);
}

body.v204-service-refresh .service-brief-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

body.v204-service-refresh .service-brief-grid article{
  display:grid;
  align-content:start;
  gap:12px;
  min-height:100%;
  padding:24px 22px;
  border:1px solid rgba(191,208,227,.72);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

body.v204-service-refresh .service-brief-grid article span{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(145deg,#0f6cbd,#3b8cff);
  color:#fff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 14px 28px rgba(15,108,189,.22);
}

body.v204-service-refresh .service-brief-grid article strong{
  margin:0;
  font-size:1.28rem;
  line-height:1.22;
  color:#071d38;
}

body.v204-service-refresh .service-brief-grid article p{
  margin:0;
  font-size:1rem;
  line-height:1.7;
  color:#4d647d;
}

body.v204-service-refresh #overview .content-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  align-items:start;
  padding:42px 46px;
  border:1px solid rgba(189,205,224,.78);
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.06);
  text-align:left;
}

body.v204-service-refresh #overview .content-grid > div:first-child,
body.v204-service-refresh #overview .prose{
  max-width:none;
  width:100%;
  text-align:left;
}

body.v204-service-refresh #overview .content-grid .eyebrow,
body.v204-service-refresh #overview .content-grid h2,
body.v204-service-refresh #overview .content-grid p{
  text-align:left;
}

body.v204-service-refresh #overview .content-grid h2{
  max-width:18ch;
  margin:14px 0 0;
  font-size:clamp(2.25rem,3.2vw,3.55rem);
  line-height:1.04;
  letter-spacing:-.04em;
}

body.v204-service-refresh #overview .prose p{
  margin:0 0 22px;
  font-size:1.12rem;
  line-height:1.8;
  color:#49617a;
}

body.v204-service-refresh .scenario-panel{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:start;
  text-align:left;
}

body.v204-service-refresh .scenario-panel > div,
body.v204-service-refresh .scenario-panel > p{
  width:100%;
  max-width:none;
  margin:0;
  text-align:left;
}

body.v204-service-refresh .scenario-panel h2{
  max-width:15ch;
  margin:14px 0 0;
  text-align:left;
  line-height:1.04;
}

body.v204-service-refresh .scenario-panel .eyebrow{
  text-align:left;
}

body.v204-service-refresh .scenario-panel > p{
  align-self:center;
  font-size:1.1rem;
  line-height:1.82;
  color:rgba(244,249,255,.92);
}

@media (max-width:1180px){
  body.v204-service-refresh .service-brief-panel,
  body.v204-service-refresh #overview .content-grid,
  body.v204-service-refresh .scenario-panel{
    grid-template-columns:1fr;
  }

  body.v204-service-refresh .service-brief-copy{
    max-width:none;
  }

  body.v204-service-refresh .service-brief-copy h2,
  body.v204-service-refresh #overview .content-grid h2,
  body.v204-service-refresh .scenario-panel h2{
    max-width:none;
  }
}

@media (max-width:760px){
  body.v204-service-refresh .service-brief-panel{
    padding:28px 22px;
    border-radius:26px;
  }

  body.v204-service-refresh .service-brief-grid{
    grid-template-columns:1fr;
  }

  body.v204-service-refresh .service-brief-copy h2{
    font-size:clamp(2rem,10vw,2.7rem);
  }

  body.v204-service-refresh #overview .content-grid{
    padding:28px 22px;
    border-radius:24px;
    gap:26px;
  }

  body.v204-service-refresh #overview .content-grid h2{
    font-size:clamp(2rem,9.5vw,2.8rem);
  }

  body.v204-service-refresh .scenario-panel{
    gap:24px;
  }
}


/* V205 - desktop one-line service headings for Big Data Platform and related data service pages. */
@media (min-width: 1100px){
  body.v205-nowrap-headings #overview .content-grid h2,
  body.v205-nowrap-headings .service-fit-grid .fit-card h2,
  body.v205-nowrap-headings .section-heading h2,
  body.v205-nowrap-headings .scenario-panel h2,
  body.v205-nowrap-headings .outcome-card h2,
  body.v205-nowrap-headings .technology-card h2,
  body.v205-nowrap-headings .why-gat-copy h2,
  body.v205-nowrap-headings .process-section-heading h2,
  body.v205-nowrap-headings .service-brief-copy h2,
  body.v205-nowrap-headings .faq-layout h2,
  body.v205-nowrap-headings .cta-panel h2,
  body.v205-nowrap-headings .service-card h3{
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    max-width:none!important;
  }

  body.v205-nowrap-headings .scenario-panel > div,
  body.v205-nowrap-headings .why-gat-copy,
  body.v205-nowrap-headings .section-heading > div,
  body.v205-nowrap-headings .process-section-heading > div{
    max-width:none!important;
  }

  body.v205-nowrap-headings #overview .content-grid h2{
    font-size:clamp(2.15rem,2.65vw,3.15rem)!important;
    letter-spacing:-.04em!important;
  }

  body.v205-nowrap-headings .service-fit-grid .fit-card h2{
    font-size:clamp(1.5rem,1.75vw,2rem)!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }

  body.v205-nowrap-headings .section-heading h2,
  body.v205-nowrap-headings .process-section-heading h2{
    font-size:clamp(2rem,2.45vw,2.95rem)!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
  }

  body.v205-nowrap-headings .scenario-panel h2,
  body.v205-nowrap-headings .outcome-card h2,
  body.v205-nowrap-headings .technology-card h2,
  body.v205-nowrap-headings .why-gat-copy h2{
    font-size:clamp(2rem,2.5vw,3rem)!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }

  body.v205-nowrap-headings .service-brief-copy h2{
    font-size:clamp(2rem,2.35vw,3rem)!important;
    line-height:1.06!important;
    letter-spacing:-.04em!important;
  }

  body.v205-nowrap-headings .faq-layout h2{
    font-size:clamp(1.9rem,2.2vw,2.65rem)!important;
    line-height:1.08!important;
  }

  body.v205-nowrap-headings .cta-panel h2{
    font-size:clamp(2rem,2.35vw,3rem)!important;
    line-height:1.05!important;
  }

  body.v205-nowrap-headings .service-card h3{
    font-size:clamp(1.18rem,1.15vw,1.45rem)!important;
    line-height:1.18!important;
  }
}

@media (max-width: 1099px){
  body.v205-nowrap-headings #overview .content-grid h2,
  body.v205-nowrap-headings .service-fit-grid .fit-card h2,
  body.v205-nowrap-headings .section-heading h2,
  body.v205-nowrap-headings .scenario-panel h2,
  body.v205-nowrap-headings .outcome-card h2,
  body.v205-nowrap-headings .technology-card h2,
  body.v205-nowrap-headings .why-gat-copy h2,
  body.v205-nowrap-headings .process-section-heading h2,
  body.v205-nowrap-headings .service-brief-copy h2,
  body.v205-nowrap-headings .faq-layout h2,
  body.v205-nowrap-headings .cta-panel h2,
  body.v205-nowrap-headings .service-card h3{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* V206 - allow selected service section headings to wrap into two balanced lines across data service pages. */
@media (min-width: 1100px){
  body.v206-balance-subheadings .service-fit-grid .fit-card h2,
  body.v206-balance-subheadings .outcome-card h2,
  body.v206-balance-subheadings .technology-card h2{
    white-space:normal !important;
    text-wrap:balance !important;
    max-width:none;
  }

  body.v206-balance-subheadings .service-fit-grid .fit-card h2{
    max-width:24ch !important;
    font-size:clamp(1.5rem,1.8vw,2rem) !important;
    line-height:1.14 !important;
  }

  body.v206-balance-subheadings .outcome-card h2{
    max-width:26ch !important;
    font-size:clamp(2.05rem,2.4vw,2.85rem) !important;
    line-height:1.12 !important;
  }

  body.v206-balance-subheadings .technology-card h2{
    max-width:18ch !important;
    font-size:clamp(1.9rem,2.05vw,2.45rem) !important;
    line-height:1.14 !important;
  }
}

@media (max-width: 1099px){
  body.v206-balance-subheadings .service-fit-grid .fit-card h2,
  body.v206-balance-subheadings .outcome-card h2,
  body.v206-balance-subheadings .technology-card h2{
    white-space:normal !important;
    text-wrap:balance !important;
  }
}


/* V207 - move service section supporting copy below the main heading across all service pages. */
body.v207-stack-service-copy .section-heading,
body.v207-stack-service-copy .why-gat-section .why-gat-intro,
body.v207-stack-service-copy .process-section-heading{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  justify-content:start !important;
  gap:16px !important;
}

body.v207-stack-service-copy .section-heading > div,
body.v207-stack-service-copy .why-gat-section .why-gat-intro > div,
body.v207-stack-service-copy .process-section-heading > div{
  max-width:none !important;
}

body.v207-stack-service-copy .section-heading > p,
body.v207-stack-service-copy .why-gat-section .why-gat-intro > p,
body.v207-stack-service-copy .process-section-heading > p{
  max-width:72ch !important;
  width:100%;
  margin:0 !important;
  text-align:left !important;
}

body.v207-stack-service-copy .section-heading h2,
body.v207-stack-service-copy .why-gat-section .why-gat-copy h2,
body.v207-stack-service-copy .process-section-heading h2{
  max-width:none !important;
}

@media (max-width: 767px){
  body.v207-stack-service-copy .section-heading > p,
  body.v207-stack-service-copy .why-gat-section .why-gat-intro > p,
  body.v207-stack-service-copy .process-section-heading > p{
    max-width:none !important;
  }
}


/* V208 - tighten service hero spacing and improve dark-mode contrast on overview / challenge sections. */
body[data-page="services"] .page-hero{
  padding-top:clamp(36px,4.2vw,56px)!important;
  padding-bottom:clamp(64px,7vw,94px)!important;
}

body[data-page="services"] .page-hero .breadcrumb{
  margin-bottom:18px!important;
}

body[data-page="services"] .service-hero-grid>div:first-child{
  padding-top:clamp(8px,1.4vw,18px)!important;
  padding-bottom:clamp(12px,2vw,24px)!important;
}

body.theme-dark[data-page="services"].v204-service-refresh #overview .content-grid,
body.theme-dark[data-page="services"].v204-service-refresh .service-brief-panel{
  border-color:rgba(122,156,196,.30)!important;
  background:linear-gradient(145deg,#0d1b2b 0%,#0b1725 56%,#0f2236 100%)!important;
  box-shadow:0 24px 58px rgba(0,0,0,.26)!important;
}

body.theme-dark[data-page="services"].v204-service-refresh .service-brief-panel::before{
  background:radial-gradient(circle,rgba(68,148,255,.22) 0%,rgba(68,148,255,.10) 34%,rgba(68,148,255,0) 72%)!important;
}

body.theme-dark[data-page="services"].v204-service-refresh #overview .content-grid h2,
body.theme-dark[data-page="services"].v204-service-refresh .service-brief-copy h2{
  color:#f4f8ff!important;
}

body.theme-dark[data-page="services"].v204-service-refresh #overview .content-grid .eyebrow,
body.theme-dark[data-page="services"].v204-service-refresh .service-brief-copy .eyebrow{
  color:#7fc4ff!important;
}

body.theme-dark[data-page="services"].v204-service-refresh #overview .prose p,
body.theme-dark[data-page="services"].v204-service-refresh .service-brief-copy p{
  color:#bed0e2!important;
}

body.theme-dark[data-page="services"].v204-service-refresh .service-brief-grid article{
  border-color:rgba(122,156,196,.26)!important;
  background:linear-gradient(180deg,#13253a 0%,#102032 100%)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
}

body.theme-dark[data-page="services"].v204-service-refresh .service-brief-grid article strong{
  color:#f4f8ff!important;
}

body.theme-dark[data-page="services"].v204-service-refresh .service-brief-grid article p{
  color:#bfd1e2!important;
}

body.theme-dark[data-page="services"].v204-service-refresh .service-brief-grid article span{
  background:linear-gradient(145deg,#2a7de4,#4d9eff)!important;
  box-shadow:0 14px 28px rgba(25,104,214,.26)!important;
}

@media (max-width: 720px){
  body[data-page="services"] .page-hero{
    padding-top:34px!important;
    padding-bottom:64px!important;
  }

  body[data-page="services"] .page-hero .breadcrumb{
    margin-bottom:14px!important;
  }
}


/* V209 - force selected service text to two lines and reduce hero blank space. */
body[data-page="services"] .service-linebreak{
  display:block;
  width:100%;
  height:0;
}

body[data-page="services"] .technology-card h2{
  max-width:none!important;
  white-space:normal!important;
  text-wrap:balance!important;
  font-size:clamp(1.75rem,1.9vw,2.25rem)!important;
  line-height:1.12!important;
}

body[data-page="services"] .why-gat-grid article p{
  max-width:none!important;
}

body[data-page="services"] .page-hero{
  padding-top:clamp(18px,2vw,30px)!important;
  padding-bottom:clamp(46px,5vw,72px)!important;
}

body[data-page="services"] .page-hero .breadcrumb{
  margin-bottom:10px!important;
}

body[data-page="services"] .service-hero-grid{
  align-items:start!important;
}

body[data-page="services"] .service-hero-grid > div:first-child{
  align-self:start!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

@media (max-width: 767px){
  body[data-page="services"] .service-linebreak{
    display:inline;
    width:auto;
  }

  body[data-page="services"] .technology-card h2{
    font-size:clamp(1.65rem,7vw,2rem)!important;
  }

  body[data-page="services"] .page-hero{
    padding-top:16px!important;
    padding-bottom:40px!important;
  }

  body[data-page="services"] .page-hero .breadcrumb{
    margin-bottom:8px!important;
  }
}

/* V210 - refined shared service card headings with deliberate two-line desktop wrapping. */
body[data-page="services"] h2.v210-two-line-heading{
  max-width:none!important;
  white-space:normal!important;
  text-wrap:wrap!important;
}

@media (min-width: 768px){
  body[data-page="services"] h2.v210-two-line-heading .service-linebreak{
    display:block!important;
    width:100%;
    height:0;
  }
}

@media (max-width: 767px){
  body[data-page="services"] h2.v210-two-line-heading .service-linebreak{
    display:inline!important;
    width:auto;
  }
}



/* V211 Facebook footer link */
.footer-bottom>div{align-items:center}
.footer-social-icon{
  display:inline-grid!important;
  place-items:center;
  width:34px!important;
  height:34px;
  flex:0 0 34px;
  margin-left:2px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:#1877f2;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(24,119,242,.18);
  line-height:1;
  transform:none!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.footer-social-icon svg{width:16px;height:16px;display:block;fill:currentColor}
.footer-social-icon:hover,.footer-social-icon:focus-visible{
  color:#fff!important;
  transform:translateY(-2px)!important;
  filter:brightness(1.08);
  box-shadow:0 12px 26px rgba(24,119,242,.30);
}
.footer-social-icon:focus-visible{outline:3px solid rgba(95,220,255,.45);outline-offset:3px}
@media (max-width:680px){
  .footer-bottom>div{display:flex!important;align-items:center!important;flex-wrap:wrap;gap:14px!important;margin-top:4px!important}
}


/* V213 Facebook floating action — matched exactly to desktop WhatsApp button size */
.v212-facebook-float{
  position:fixed;
  right:24px;
  bottom:34px;
  z-index:1185;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:#1877f2;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(24,119,242,.28);
  line-height:1;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.v212-facebook-float svg{
  display:block;
  width:25px;
  height:25px;
  fill:currentColor;
}
.v212-facebook-float:hover,
.v212-facebook-float:focus-visible{
  color:#fff!important;
  transform:translateY(-3px) scale(1.02);
  filter:brightness(1.06);
  box-shadow:0 18px 38px rgba(24,119,242,.38);
}
.v212-facebook-float:focus-visible{
  outline:3px solid rgba(95,220,255,.48);
  outline-offset:3px;
}
@media(min-width:761px){
  .footer-facebook{display:none!important;}
}
@media(max-width:760px){
  .v212-facebook-float{display:none!important;}
}
@media print{
  .v212-facebook-float{display:none!important;}
}


/* ===== V214 — 10/10 floating social action polish =====
   WhatsApp + Facebook use one shared 60px geometry, 12px spacing,
   matching interaction states and aligned desktop positioning. */
@media (min-width:761px){
  body.v54-clear-theme .v54-whatsapp{
    display:flex!important;
    left:auto!important;
    right:22px!important;
    bottom:100px!important;
    z-index:1186!important;
  }

  body.v54-clear-theme .v54-whatsapp-button,
  body.v54-clear-theme .v212-facebook-float{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    min-height:60px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,filter .18s ease!important;
  }

  body.v54-clear-theme .v54-whatsapp-button{
    background:linear-gradient(180deg,#25d366 0%,#18b95a 100%)!important;
    box-shadow:0 14px 34px rgba(18,140,75,.30)!important;
  }

  body.v54-clear-theme .v212-facebook-float{
    right:22px!important;
    bottom:28px!important;
    z-index:1185!important;
    background:#1877f2!important;
    box-shadow:0 14px 34px rgba(24,119,242,.30)!important;
  }

  body.v54-clear-theme .v54-whatsapp-button svg,
  body.v54-clear-theme .v212-facebook-float svg{
    width:28px!important;
    height:28px!important;
    display:block!important;
    flex:none!important;
  }

  body.v54-clear-theme .v54-whatsapp-button:hover,
  body.v54-clear-theme .v54-whatsapp-button:focus-visible,
  body.v54-clear-theme .v212-facebook-float:hover,
  body.v54-clear-theme .v212-facebook-float:focus-visible{
    transform:translateY(-3px) scale(1.025)!important;
  }

  body.v54-clear-theme .v54-whatsapp-button:hover,
  body.v54-clear-theme .v54-whatsapp-button:focus-visible{
    background:linear-gradient(180deg,#22cc61 0%,#129f4e 100%)!important;
    box-shadow:0 18px 42px rgba(18,140,75,.40)!important;
  }

  body.v54-clear-theme .v212-facebook-float:hover,
  body.v54-clear-theme .v212-facebook-float:focus-visible{
    background:#116fe5!important;
    filter:none!important;
    box-shadow:0 18px 42px rgba(24,119,242,.40)!important;
  }

  body.v54-clear-theme .v54-whatsapp-button:focus-visible,
  body.v54-clear-theme .v212-facebook-float:focus-visible{
    outline:3px solid rgba(95,220,255,.52)!important;
    outline-offset:4px!important;
  }

  /* Compact Facebook hover/focus label to mirror WhatsApp's helpful prompt. */
  body.v54-clear-theme .v214-social-tooltip{
    position:absolute;
    right:74px;
    top:50%;
    z-index:2;
    display:block;
    padding:8px 11px;
    border:1px solid #d7e3ee;
    border-radius:11px;
    background:#fff;
    color:#10243a;
    box-shadow:0 12px 28px rgba(16,42,67,.14);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.01em;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(7px,-50%) scale(.97);
    transform-origin:right center;
    transition:opacity .16s ease,transform .18s ease,visibility .16s ease;
  }

  body.v54-clear-theme .v212-facebook-float:hover .v214-social-tooltip,
  body.v54-clear-theme .v212-facebook-float:focus-visible .v214-social-tooltip{
    opacity:1;
    visibility:visible;
    transform:translate(0,-50%) scale(1);
  }

  body.theme-dark.v54-clear-theme .v214-social-tooltip{
    border-color:#3b536d;
    background:#10243a;
    color:#fff;
    box-shadow:0 14px 32px rgba(0,0,0,.32);
  }
}

@media (max-width:760px){
  body.v54-clear-theme .v212-facebook-float{display:none!important;}
  body.v54-clear-theme .footer-facebook{display:inline-grid!important;}
}

@media (prefers-reduced-motion:reduce){
  body.v54-clear-theme .v54-whatsapp-button,
  body.v54-clear-theme .v212-facebook-float,
  body.v54-clear-theme .v214-social-tooltip{
    transition:none!important;
  }
  body.v54-clear-theme .v54-whatsapp-button:hover,
  body.v54-clear-theme .v54-whatsapp-button:focus-visible,
  body.v54-clear-theme .v212-facebook-float:hover,
  body.v54-clear-theme .v212-facebook-float:focus-visible{
    transform:none!important;
  }
}


/* V216 — Contact form removed; rebalance the project guidance section. */
body[data-page="contact"] .v131-brief-layout{
  grid-template-columns:minmax(0,1fr);
  max-width:1040px;
  margin-inline:auto;
}
body[data-page="contact"] .v131-brief-copy{
  padding-top:0;
  text-align:center;
}
body[data-page="contact"] .v131-brief-copy h2{
  max-width:18ch;
  margin-inline:auto;
}
body[data-page="contact"] .v131-brief-copy>p{
  max-width:68ch;
  margin-inline:auto;
}
body[data-page="contact"] .v131-brief-points{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:32px;
}
body[data-page="contact"] .v131-brief-points li{
  min-height:78px;
  display:flex;
  align-items:center;
  padding:18px 18px 18px 50px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:18px;
  background:rgba(4,22,45,.28);
  text-align:left;
}
body[data-page="contact"] .v131-brief-points li::before{
  left:18px;
  top:50%;
  transform:translateY(-50%);
}
@media(max-width:820px){
  body[data-page="contact"] .v131-brief-points{grid-template-columns:1fr;}
  body[data-page="contact"] .v131-brief-copy h2{max-width:15ch;}
}


/* V217 - Contact CTA heading in one line on desktop without overlapping the CTA button. */
@media (min-width: 1200px){
  body[data-page="contact"] .cta-panel{
    grid-template-columns:minmax(0,1.45fr) auto!important;
    align-items:center!important;
    gap:clamp(28px,3.2vw,46px)!important;
    padding:44px 52px!important;
  }

  body[data-page="contact"] .cta-panel > div{
    min-width:0!important;
    max-width:none!important;
  }

  body[data-page="contact"] .cta-panel h2{
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(1.9rem,2.55vw,3.05rem)!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
    margin:10px 0 14px!important;
  }

  body[data-page="contact"] .cta-panel p{
    max-width:52rem!important;
    margin:0!important;
  }

  body[data-page="contact"] .cta-panel .button.light{
    flex-shrink:0!important;
    align-self:center!important;
    min-height:60px!important;
    padding:0 26px!important;
    margin-left:auto!important;
  }
}

@media (min-width: 1200px) and (max-width: 1399px){
  body[data-page="contact"] .cta-panel h2{
    font-size:clamp(1.78rem,2.2vw,2.28rem)!important;
  }
}

@media (max-width: 1199px){
  body[data-page="contact"] .cta-panel h2{
    white-space:normal!important;
    text-wrap:balance!important;
  }
}


/* V218 - Homepage AI capability row after removing Document Intelligence. */
body[data-page="home"] #what-we-do .v86-ai-options{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}


/* V220 - Contact guidance heading stays on one clean desktop line. */
@media (min-width: 900px){
  body[data-page="contact"] .v131-brief-layout{
    max-width:1180px!important;
  }

  body[data-page="contact"] .v131-brief-copy h2{
    width:100%!important;
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(2.9rem,3.8vw,4.15rem)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
    margin:14px auto 20px!important;
  }
}

@media (max-width: 899px){
  body[data-page="contact"] .v131-brief-copy h2{
    width:auto!important;
    max-width:15ch!important;
    white-space:normal!important;
    text-wrap:balance!important;
  }
}
