/* =====================================================================
   ISS Technologies: unified design system
   One font (Inter), one palette, one button/card/section system for every page.
   Loaded LAST on every page so it governs all earlier stylesheets.
   ===================================================================== */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/inter-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url("fonts/inter-latin-wght-italic.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --navy:#0B1736;--navy-deep:#081126;--slate:#334155;--blue:#2563EB;--blue-hover:#1D4ED8;
  --bg:#F8FAFC;--white:#FFFFFF;--text:#172033;--text-2:#64748B;--border:#E2E8F0;--border-2:#CBD5E1;
  --on-dark:#FFFFFF;--on-dark-2:#CBD5E1;--on-dark-line:rgba(255,255,255,.14);
  --r:12px;--r-lg:16px;--shadow:0 1px 2px rgba(15,23,42,.05);
  --wrap:1240px;--pad:clamp(20px,4vw,40px);--sec:clamp(64px,8vw,104px);
  --font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color-scheme:light;
}

/* ---------- one typeface everywhere ---------- */
html body:not(#_),html body *:not(#_),html body *:not(#_)::before,html body *:not(#_)::after{font-family:var(--font)!important}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
html body{background:var(--white)!important;color:var(--text-2);font-size:16px;line-height:1.65;font-weight:400;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html body main{background:transparent!important}
html body img{max-width:100%}
html body ::selection{background:rgba(37,99,235,.18)}

/* ---------- headings ---------- */
html body :is(h1,h2,h3,h4,h5,h6){font-family:var(--font)!important;color:var(--text)!important;letter-spacing:-.02em;text-shadow:none!important;background:none!important;-webkit-text-fill-color:currentColor!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;max-width:none}
html body h1{font-size:clamp(2.25rem,4.4vw,3.5rem)!important;font-weight:650!important;line-height:1.1!important;letter-spacing:-.03em!important}
html body h2{font-size:clamp(1.75rem,2.9vw,2.5rem)!important;font-weight:600!important;line-height:1.18!important;letter-spacing:-.025em!important}
html body h3{font-size:1.1875rem!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.012em!important}
html body :is(h4,h5,h6){font-size:1rem!important;font-weight:600!important;line-height:1.35!important;letter-spacing:-.005em!important}
html body :is(p,li,dd,td,th,figcaption,summary,label,small){letter-spacing:0}
html body main p,html body main li{color:var(--text-2)}
html body main a:not([class]){color:var(--blue);text-decoration:none}
html body main a:not([class]):hover{color:var(--blue-hover);text-decoration:underline;text-underline-offset:3px}
html body :is(b,strong){font-weight:600}

/* ---------- containers ---------- */
html body .wrap,html body .container,html body .ds-wrap{max-width:var(--wrap)!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--pad)!important;padding-right:var(--pad)!important;box-sizing:border-box}

/* ---------- dark zones: header, hero, CTA, footer ---------- */
html body :is(.banner,.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.iss-cta,.sv-cta,.mscta,.svcta,.soccta,.careers-note,.ds-dark,.sx-hero,.detail-hero){background:var(--navy)!important;background-image:none!important;color:var(--on-dark-2)}
html body :is(.banner,.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.iss-cta,.sv-cta,.mscta,.svcta,.soccta,.careers-note,.ds-dark,.detail-hero) :is(h1,h2,h3,h4,h5,h6){color:var(--on-dark)!important}
html body :is(.banner,.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.iss-cta,.sv-cta,.mscta,.svcta,.soccta,.careers-note,.ds-dark,.detail-hero) :is(p,li,span,small,em,dd,figcaption){color:var(--on-dark-2)}
html body :is(.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.detail-hero){position:relative;padding-top:clamp(56px,7vw,96px)!important;padding-bottom:clamp(56px,7vw,96px)!important}

/* ---------- header ---------- */
html body header:not(.mcol3 header):not(.mega header){position:sticky;top:0;z-index:100;background:var(--navy)!important;background-image:none!important;border-bottom:1px solid var(--on-dark-line)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html body header.scrolled:not(.mcol3 header){box-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 24px rgba(8,17,38,.25)!important}
html body header>nav{max-width:var(--wrap)!important;margin:0 auto!important;padding:0 var(--pad)!important;height:72px!important;display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box}
html body header .logo{display:flex;align-items:center}
html body header .brand-img,html body footer .brand-img{height:34px!important;width:auto!important;filter:brightness(0) invert(1);opacity:1}
html body header .links{display:flex;align-items:center;gap:4px;margin-left:auto}
html body header .links>a,html body header .links .navdd>a{color:#E7ECF6!important;font-size:.9375rem!important;font-weight:500!important;padding:9px 13px;border-radius:8px;text-decoration:none;background:none!important;transition:background .18s,color .18s}
html body header .links>a:hover,html body header .links .navdd:hover>a,html body header .links .navdd:focus-within>a{color:#fff!important;background:rgba(37,99,235,.28)!important}
html body header .links>a[aria-current="page"],html body header .links .navdd>a[aria-current="page"]{color:#fff!important;box-shadow:inset 0 -2px 0 var(--blue)}
html body header a.pill.cta{margin-left:12px}

/* mega menu: clean white directory */
html body header .mega{background:var(--white)!important;border:1px solid var(--border)!important;border-top:0!important;box-shadow:0 18px 40px -12px rgba(15,23,42,.18)!important;border-radius:0 0 var(--r-lg) var(--r-lg)}
html body header .mega .mcol3{--c:var(--blue);border-left:1px solid var(--border)!important}
html body header .mega .mcol3:first-child{border-left:0!important}
html body header .mega .mcol3 header{border-bottom:1px solid var(--border)!important;position:static!important;background:none!important;box-shadow:none!important;height:auto!important;padding-bottom:12px!important}
html body header .mega .mcol3 h4{color:var(--text)!important;font-size:.9375rem!important;font-weight:600!important;min-height:2.6em}
html body header .mega .mcol3 header em{color:var(--text-2)!important;font-size:.78rem!important;font-weight:500}
html body header .mega .mrow{color:var(--slate)!important;border-radius:8px}
html body header .mega .mrow::before{background:var(--blue)!important}
html body header .mega .mrow b{font-size:.9375rem!important;font-weight:500!important;color:var(--text)!important}
html body header .mega .mrow:hover{background:var(--bg)!important}
html body header .mega .mrow:hover b{color:var(--blue)!important}
html body header .mega .md{color:var(--text-2)!important;font-size:.8125rem!important}
html body header .mega .mt i{color:var(--text-2)!important;border:1px solid var(--border)!important;background:var(--bg);border-radius:6px!important;font-size:.72rem!important}
html body header .mega .mbar{border-top:1px solid var(--border)!important;background:var(--bg)}
html body header .mega .mbar ul,html body header .mega .mbar li{color:var(--text-2)!important}
html body header .mega .mbar strong{color:var(--text)!important}

/* ---------- buttons ---------- */
html body :is(a.pill.cta,a.btn.btn-primary,.btn-primary,a.mcta,a.sc-btn,a.primary,a.sx-btn,button.submit,button.apply-submit,a.role-apply,.iss-cta a,.svcta a,.mscta a.btn,a.ds-btn){display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px!important;border-radius:var(--r)!important;border:1px solid var(--blue)!important;background:var(--blue)!important;background-image:none!important;color:#fff!important;font-size:.9375rem!important;font-weight:550!important;line-height:1.2!important;letter-spacing:0!important;text-decoration:none!important;box-shadow:none!important;text-shadow:none!important;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
html body :is(a.pill.cta,a.btn.btn-primary,.btn-primary,a.mcta,a.sc-btn,a.primary,a.sx-btn,button.submit,button.apply-submit,a.role-apply,.iss-cta a,.svcta a,.mscta a.btn,a.ds-btn):hover{background:var(--blue-hover)!important;border-color:var(--blue-hover)!important;transform:translateY(-1px)}
html body :is(a.btn.btn-secondary,.btn-secondary,a.pill.cxo,a.megaall,a.indall,a.secondary,a.ds-btn-2){display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px!important;border-radius:var(--r)!important;border:1px solid var(--border-2)!important;background:var(--white)!important;background-image:none!important;color:var(--text)!important;font-size:.9375rem!important;font-weight:550!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;transition:background .18s,border-color .18s,color .18s}
html body :is(a.btn.btn-secondary,.btn-secondary,a.pill.cxo,a.megaall,a.indall,a.secondary,a.ds-btn-2):hover{border-color:var(--blue)!important;color:var(--blue)!important;background:var(--white)!important}
html body :is(.banner,.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.iss-cta,.sv-cta,.mscta,.svcta,.soccta,.careers-note,.ds-dark) :is(a.btn.btn-secondary,.btn-secondary,a.pill.cxo,a.secondary,a.ds-btn-2){background:transparent!important;border-color:rgba(255,255,255,.4)!important;color:#fff!important}
html body :is(.banner,.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.iss-cta,.sv-cta,.mscta,.svcta,.soccta,.careers-note,.ds-dark) :is(a.btn.btn-secondary,.btn-secondary,a.pill.cxo,a.secondary,a.ds-btn-2):hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important;color:#fff!important}
html body header .mega a.megaall{padding:9px 16px!important}
html body a:focus-visible,html body button:focus-visible,html body summary:focus-visible{outline:2px solid #93B4FF;outline-offset:2px}

/* ---------- CTA band ---------- */
html body section.iss-cta{padding:clamp(48px,6vw,72px) 0!important;border:0!important}
html body section.iss-cta>div{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
html body section.iss-cta h2{font-size:clamp(1.5rem,2.4vw,2rem)!important;margin:0 0 6px!important}
html body section.iss-cta p{margin:0;max-width:56ch}

/* ---------- footer ---------- */
html body footer{background:var(--navy-deep)!important;background-image:none!important;color:var(--on-dark-2);border-top:0!important}
html body footer :is(h4,h5){color:#fff!important;font-size:.8125rem!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase;margin-bottom:14px}
html body footer :is(p,span,li,small){color:var(--on-dark-2)!important}
html body footer a{color:var(--on-dark-2)!important;text-decoration:none;transition:color .15s}
html body footer a:hover{color:#fff!important}
html body footer .ft-bot,html body footer .ft-bot *{color:#94A3B8!important}
html body footer .ft-bot{border-top:1px solid var(--on-dark-line)!important}
html body footer .fts a{border:1px solid var(--on-dark-line)!important;background:transparent!important;border-radius:8px!important;box-shadow:none!important}
html body footer .fts a:hover{border-color:rgba(255,255,255,.4)!important}
html body a.ftup{border:1px solid var(--on-dark-line)!important;background:transparent!important;color:var(--on-dark-2)!important;border-radius:var(--r)!important}

/* ---------- forms ---------- */
html body :is(input,select,textarea){background:var(--white)!important;border:1px solid var(--border-2)!important;border-radius:10px!important;color:var(--text)!important;font-size:.9375rem!important;box-shadow:none!important;padding:11px 14px}
html body :is(input,select,textarea)::placeholder{color:#94A3B8}
html body :is(input,select,textarea):focus{outline:none;border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(37,99,235,.15)!important}
html body label{color:var(--text)!important;font-weight:500;font-size:.875rem}

/* ---------- floating helpers ---------- */
html body #iss-progress{height:2px!important;background:var(--blue)!important;box-shadow:none!important}
html body #iss-chat-btn{background:var(--navy)!important;background-image:none!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;border-radius:var(--r)!important;box-shadow:0 6px 18px rgba(8,17,38,.22)!important}
html body #iss-wa-btn{background:#1FA855!important;background-image:none!important;border-radius:var(--r)!important;box-shadow:0 6px 18px rgba(8,17,38,.18)!important;color:#fff!important}
html body #iss-chat{background:var(--white)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:0 18px 44px rgba(15,23,42,.18)!important;color:var(--text)!important}
html body #iss-chat .hd{background:var(--navy)!important;color:#fff!important;border-radius:var(--r-lg) var(--r-lg) 0 0}
html body #iss-chat :is(.hd .tt,.hd .tt *){color:#fff!important}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html body *,html body *::before,html body *::after{scroll-behavior:auto!important}}

/* ---------- small corrections found while testing ---------- */
html body .eyebrow,html body .cxk,html body .tp-eyebrow,html body .wik,html body .plabel{color:var(--blue)!important;font-size:.8125rem!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase}
html body :is(.banner,.svh,.mshero,.careers-hero,.apply-hero,main>section.hero,.iss-cta,.sv-cta,.mscta,.svcta,.ds-dark,footer) :is(.eyebrow,.cxk,.tp-eyebrow,.wik,.plabel){color:#93B4FF!important}
html body section.iss-cta,html body section.iss-cta>div{margin:0!important}
html body section.iss-cta>div{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body footer{margin-top:0!important}
html body footer :is(h4,h5)::after,html body footer .ftc h4::after{display:none!important;content:none!important}

@media(max-width:900px){
  html body header>nav{height:auto!important;min-height:64px;flex-wrap:wrap;padding-top:10px!important;padding-bottom:6px!important;row-gap:2px}
  html body header .links{order:3;width:100%;margin-left:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding-bottom:4px}
  html body header .links::-webkit-scrollbar{display:none}
  html body header a.pill.cta{margin-left:auto}
}

/* heading highlights: no gradient-clipped text anywhere (the hero's rotating word keeps its own colour) */
html body h1 *:not(.rot):not(.rot *):not(#_),html body h2 *:not(#_){background:none!important;background-image:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important;font-style:normal;text-shadow:none!important}
@media(max-width:560px){
  html body .banner .home-proof-banner{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:14px 22px!important}
  html body .banner .home-proof-banner .proof-stat{min-width:96px;text-align:center}
}
/* =====================================================================
   Shared page patterns: hero -> alternating light sections -> navy CTA
   ===================================================================== */
html body .section-tag,html body .sx-count,html body .detail-kicker,html body .selected-job-kicker,html body .section-header .section-tag{display:inline-block;color:var(--blue)!important;background:none!important;border:0!important;padding:0!important;font-size:.8125rem!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase;box-shadow:none!important}
html body :is(.mshero,.careers-hero,.apply-hero,.svh,.detail-hero,main>section.hero) :is(.section-tag,.detail-kicker,.crumb,.crumb a){color:#93B4FF!important}
html body :is(.mshero,.svh,.careers-hero,.apply-hero,.detail-hero) h1{max-width:20ch;margin-bottom:18px!important}
html body :is(.mshero,.svh,.careers-hero,.apply-hero,.detail-hero) :is(.mshero-copy>p,.container>p,.sv-lead,.lede,.crumb~p){font-size:1.125rem;line-height:1.65;max-width:60ch;color:var(--on-dark-2)!important}
html body :is(.careers-hero-actions,.acts,.detail-actions){display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
html body :is(.mshero-grid,.careers-hero-grid){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
html body .mshero-visual{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--on-dark-line);box-shadow:none!important;background:rgba(255,255,255,.04)!important}
html body .mshero-visual img{display:block;width:100%;height:auto;border-radius:0}
html body .careers-hero-visual{display:none!important}

/* section rhythm */
html body :is(section.msgroup,section.careers-values,section.careers-roles,section.apply-section,section.contact-grid,section.sx-sec,section.dx-sec,.sv-band){padding:var(--sec) 0!important;background-image:none!important;border:0!important}
html body main>section.msgroup:nth-of-type(odd),html body main>section.careers-values,html body main>section.apply-section,html body main>section.sx-sec:nth-of-type(odd){background:var(--white)!important}
html body main>section.msgroup:nth-of-type(even),html body main>section.careers-roles,html body main>section.sx-sec:nth-of-type(even){background:var(--bg)!important}
html body main>section.contact-grid{background:var(--bg)!important}
html body :is(.msgh,.section-header,.careers-section-header){max-width:720px;margin:0 0 clamp(28px,3.5vw,44px)}
html body :is(.msgh,.section-header,.careers-section-header) h2{margin:6px 0 10px!important}
html body :is(.msgh,.section-header,.careers-section-header) p{font-size:1.0625rem;color:var(--text-2)!important}

/* cards */
html body :is(article.msi,a.sx-mscard,a.hubcard,.detail-card,article.career-role-card,.career-value-grid>div,.apply-form-card,.apply-side-card,div.card,.dx-panel,.dx-cards>li,.tp-card,li.tp-card,.sx-ms>*,.svi,.c2,.stp li){background:var(--white)!important;background-image:none!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--text-2)}
html body :is(article.msi,a.sx-mscard,a.hubcard,.detail-card,article.career-role-card,.career-value-grid>div,div.card,.dx-cards>li,.tp-card):hover{border-color:var(--border-2)!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;transform:none}
html body :is(article.msi,a.sx-mscard,a.hubcard,.detail-card,article.career-role-card,.career-value-grid>div,div.card,.dx-cards>li,.tp-card) :is(h3,h4){color:var(--text)!important}
html body :is(article.msi,a.sx-mscard,.detail-card,article.career-role-card,.career-value-grid>div,div.card,.dx-cards>li,.tp-card) :is(p,li,span,small){color:var(--text-2)!important}
html body :is(article.msi,.detail-card,.career-value-grid>div) :is(.msimg,.detail-icon,img.detail-icon,.role-icon){background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:none!important;padding:8px}
html body a.service-icon-link{background:none!important;border:0!important;box-shadow:none!important;color:var(--blue)!important;font-weight:550;padding:0!important;border-radius:0!important}
html body .msitems{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
html body article.msi{padding:24px;display:flex;flex-direction:column;gap:10px}
html body article.msi h3{margin:0!important}
html body article.msi a:not(.service-icon-link){color:var(--blue)!important}

/* navy call-out blocks inside pages */
html body :is(section.mscta,section.careers-note,section.dx-cta){padding:clamp(48px,6vw,80px) 0!important}
html body :is(.careers-note-box,.sv-cta .soccta,.svcta){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
html body :is(.mscta .container,.careers-note-box,.sv-cta .soccta){display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
html body :is(.mscta,.careers-note,.sv-cta,.dx-cta) h2{margin:0 0 8px!important;font-size:clamp(1.5rem,2.4vw,2rem)!important}
html body :is(.mscta,.careers-note,.sv-cta,.dx-cta) p{margin:0;max-width:56ch}
html body .sv-cta{max-width:none!important;padding:clamp(48px,6vw,80px) 0!important;width:100%!important}

/* =====================================================================
   Service detail pages
   ===================================================================== */
html body .svh{padding-bottom:clamp(48px,6vw,80px)!important}
html body .svh .crumb{font-size:.875rem;margin-bottom:20px;color:#93B4FF!important}
html body .svh .crumb a{color:#93B4FF!important;text-decoration:none}
html body .svh .container>p{font-size:1.125rem}
html body :is(.svp,.svp2){background:var(--white)!important;background-image:none!important;border:0!important}
html body .sv-band.sv-a{background:var(--white)!important}
html body .sv-band.sv-b{background:var(--bg)!important}
html body .sv-band.sv-rel{background:var(--white)!important}
html body .sv-band h2{max-width:24ch;margin:0 0 clamp(18px,2.4vw,28px)!important;font-size:clamp(1.65rem,2.7vw,2.25rem)!important}
html body .sv-band :is(.sv-lead,.sv-body){color:var(--text-2)!important;font-size:1.0625rem;line-height:1.7;max-width:62ch}
html body .sv-band .sv-lead{color:var(--slate)!important;font-size:1.1875rem}
html body .sv-band :is(p,li,span,small,em,figcaption){color:var(--text-2)}
html body .sv-band :is(h3,h4,b,strong){color:var(--text)!important}
html body .soc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
html body .soc-split.soc-rev .soc-main{order:2}
html body .svfig,html body figure.soc-anim,html body figure.svvid{margin:0!important;background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;overflow:hidden;box-shadow:var(--shadow)!important;animation:none!important}
html body .svfig img,html body .svfig video{display:block;width:100%;height:auto}
html body .svfig figcaption{background:var(--white)!important;color:var(--text-2)!important;font-size:.8125rem;padding:10px 14px;border-top:1px solid var(--border)}
html body ul.sv-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 36px;margin:20px 0 0;padding:0;list-style:none}
html body ul.sv-cols li,html body ul.soc-one li{position:relative;padding:0 0 0 26px;margin:0;color:var(--text-2)!important;background:none!important;border:0!important}
html body ul.sv-cols li::before,html body ul.soc-one li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg) scale(.9);transform-origin:left top;background:none!important;box-shadow:none!important;border-radius:0!important}
html body ol.sv-rings{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px;margin:0;padding:0;list-style:none;counter-reset:ds}
html body ol.sv-rings li{position:relative;padding:0;background:none!important;border:0!important;box-shadow:none!important;text-align:left}
html body ol.sv-rings li b,html body ol.sv-rings li strong{display:block;margin:12px 0 6px;color:var(--text)!important;font-size:1.0625rem;font-weight:600}
html body span.ring{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%!important;background:var(--white)!important;background-image:none!important;border:1.5px solid var(--blue)!important;color:var(--blue)!important;font-weight:600;font-size:.9375rem;box-shadow:none!important;animation:none!important}
html body span.ring::before,html body span.ring::after{display:none!important}
html body .sc-main,html body .sc-text{color:var(--text-2)!important}
html body .sv-cta .soccta :is(h2,h3,b){color:#fff!important}
html body .sv-cta .soccta :is(p,span){color:var(--on-dark-2)!important}

/* =====================================================================
   Services hub (services.html)
   ===================================================================== */
html body nav.sx-nav{background:var(--white)!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;position:sticky;top:72px;z-index:50;backdrop-filter:none!important}
html body nav.sx-nav a{color:var(--text-2)!important;background:none!important;border:0!important;border-radius:8px!important;font-weight:500!important;font-size:.9rem!important;padding:8px 14px;text-decoration:none;box-shadow:none!important}
html body nav.sx-nav a:hover{color:var(--blue)!important;background:var(--bg)!important}
html body nav.sx-nav a.on,html body nav.sx-nav a[aria-current],html body nav.sx-nav a.is-on{color:var(--blue)!important;background:rgba(37,99,235,.08)!important}
html body .sx-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,5vw,72px);align-items:start}
html body .sx-side h2{margin:6px 0 12px!important}
html body .sx-side p{color:var(--text-2)!important}
html body figure.sx-photo{margin:20px 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:none!important}
html body figure.sx-photo img{display:block;width:100%;height:auto}
html body ul.sx-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
html body a.sx-row{display:grid;grid-template-columns:44px 1fr 24px;gap:6px 16px;align-items:start;padding:20px 8px;border-bottom:1px solid var(--border)!important;border-top:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-decoration:none;transition:background .18s}
html body a.sx-row:hover{background:var(--white)!important}
html body a.sx-row .sx-num{color:var(--text-2)!important;font-weight:500;font-size:.875rem;font-variant-numeric:tabular-nums}
html body a.sx-row .t{color:var(--text)!important;font-weight:600;font-size:1.0625rem}
html body a.sx-row .d{color:var(--text-2)!important;font-size:.9375rem;display:block;margin-top:2px}
html body a.sx-row .sx-arr{color:var(--blue)!important;align-self:center}
html body a.sx-row:hover .t{color:var(--blue)!important}
html body a.sx-btn{margin-top:8px}

/* ---- overrides for the heavier legacy Microsoft / services card rules ---- */
html body main .msgroup .msitems article.msi{--acc:var(--blue);--acc2:var(--blue);--accbg:rgba(37,99,235,.08);background:var(--white)!important;background-image:none!important;border:1px solid var(--border)!important;border-top:1px solid var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow)!important;transform:none!important;padding:24px!important;min-height:0!important;align-items:flex-start!important;gap:10px!important}
html body main .msgroup .msitems article.msi:hover{transform:none!important;border-color:var(--border-2)!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important}
html body main .msgroup .msitems article.msi a.service-icon-link{width:48px!important;height:48px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:var(--bg)!important;display:grid!important;place-items:center;margin:0 0 4px!important;box-shadow:none!important}
html body main .msgroup .msitems article.msi a.service-icon-link svg{width:24px!important;height:24px!important;color:var(--blue)!important}
html body main .msgroup .msitems article.msi img.msimg,html body main .msgroup .msitems article.msi>img{width:48px!important;height:48px!important;padding:8px!important;border-radius:10px!important;background:var(--white)!important;border:1px solid var(--border)!important;box-shadow:none!important}
html body main .msgroup .msitems article.msi>a:last-child{align-self:flex-start;padding:0!important;border:0!important;background:none!important;color:var(--blue)!important;font-weight:550!important;font-size:.9375rem!important;box-shadow:none!important;margin-top:6px!important;border-radius:0!important}
html body main .msgroup .msitems article.msi>a:last-child:hover{background:none!important;color:var(--blue-hover)!important;text-decoration:underline}
html body main .msgroup .msitems article.msi :is(h3,h4){color:var(--text)!important}
html body main .msgroup .msitems article.msi p{color:var(--text-2)!important}
html body :is(.msgh,.section-header,.careers-section-header) h2::before,html body :is(.msgh,.section-header,.careers-section-header) h2::after,html body .sx-side h2::before{display:none!important;content:none!important}
html body :is(.msgh,.section-header) h2{padding-left:0!important;border-left:0!important}

html body .msgh::before{display:none!important;content:none!important}
html body .msgh{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:16px!important;border-bottom:1px solid var(--border)!important;padding-bottom:16px!important;margin-bottom:28px!important;max-width:none!important}
html body .msgh h2{margin:0!important}
html body .msgh em{margin:0!important;padding:0!important;border:0!important;background:none!important;color:var(--text-2)!important;font-size:.8125rem!important;font-weight:500;letter-spacing:.06em!important;text-transform:uppercase;opacity:1!important}
html body main .msitems{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:none!important}

/* =====================================================================
   Careers, apply, contact, post, Microsoft detail pages
   ===================================================================== */
html body .careers-hero-grid{grid-template-columns:minmax(0,1fr)!important}
html body .career-value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
html body .career-value-grid>*{padding:24px}
html body .career-role-list{display:grid;gap:16px}
html body article.career-role-card{padding:24px 28px!important;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:start}
html body .role-icon{display:grid;place-items:center;width:48px!important;height:48px!important;border-radius:10px!important;background:var(--bg)!important;border:1px solid var(--border)!important;color:var(--blue)!important;box-shadow:none!important}
html body .role-icon svg{width:24px;height:24px;color:var(--blue)!important}
html body .role-content h3{margin:0 0 6px!important;font-size:1.1875rem!important}
html body .role-meta{color:var(--text-2)!important;font-size:.875rem;display:flex;gap:14px;flex-wrap:wrap}
html body .role-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
html body .role-tags span,html body .role-tags *{background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:6px!important;color:var(--slate)!important;font-size:.75rem!important;padding:3px 9px;font-weight:500}
html body details.role-details{grid-column:2/-1;border-top:1px solid var(--border);margin-top:6px;padding-top:6px}
html body details.role-details summary{color:var(--blue)!important;font-weight:550;font-size:.9375rem;cursor:pointer;list-style:none;border:0!important;background:none!important;padding:8px 0!important;border-radius:0!important}
html body .role-details-body{background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:var(--r)!important;padding:18px 20px!important;box-shadow:none!important}
html body .role-details-body :is(h4,strong,b){color:var(--text)!important}
html body .role-detail-columns,html body .job-description-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
html body a.role-apply{align-self:center}
@media(max-width:760px){html body article.career-role-card{grid-template-columns:1fr}html body details.role-details{grid-column:auto}}

html body .apply-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(24px,3vw,40px);align-items:start}
html body :is(.apply-form-card,.apply-side-card){padding:clamp(22px,3vw,36px)!important}
html body .apply-side{display:grid;gap:16px}
html body .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
html body .form-grid .full-width{grid-column:1/-1}
html body :is(.selected-job-panel,.upload-panel,.security-panel,.captcha-panel,.verify){background:var(--bg)!important;background-image:none!important;border:1px solid var(--border)!important;border-radius:var(--r)!important;box-shadow:none!important;color:var(--text-2)!important}
html body :is(.selected-job-panel,.upload-panel,.security-panel,.captcha-panel,.verify) :is(h3,h4,strong,b,.captcha-heading){color:var(--text)!important}
html body :is(.selected-job-panel,.upload-panel,.security-panel,.captcha-panel,.verify) :is(p,span,small,li){color:var(--text-2)!important}
html body :is(.security-icon,.fake-check,.verify-badge,.check){border-color:var(--border-2)!important;background:var(--white)!important;color:var(--blue)!important;box-shadow:none!important}
html body .form-message{color:var(--text-2)!important}
@media(max-width:900px){html body .apply-layout{grid-template-columns:1fr}html body .form-grid{grid-template-columns:1fr}}

html body main>section.hero{padding-bottom:clamp(48px,6vw,80px)!important}
html body main>section.hero .eyebrow{background:none!important;border:0!important;padding:0!important;color:#93B4FF!important}
html body main>section.hero h1 em,html body main>section.hero h1 span{color:inherit!important;font-style:normal!important;background:none!important;-webkit-text-fill-color:currentColor!important}
html body .contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(24px,3vw,40px);align-items:start;max-width:var(--wrap);margin:0 auto;padding-left:var(--pad)!important;padding-right:var(--pad)!important;box-sizing:border-box}
html body :is(.form-card,.info-card,div.card.expect){padding:clamp(22px,3vw,32px)!important}
html body .card-title{color:var(--text)!important;font-weight:600;font-size:1.0625rem}
html body :is(.form-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
html body aside.side{display:grid;gap:16px}
html body .info .icon,html body .card .icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border)!important;background:var(--bg)!important;color:var(--blue)!important;box-shadow:none!important}
@media(max-width:900px){html body .contact-grid{grid-template-columns:1fr}html body .form-row{grid-template-columns:1fr}}

html body .post-wrap{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,72px) var(--pad)}
html body .post-wrap :is(p,li){font-size:1.0625rem;line-height:1.75;color:var(--slate)!important}
html body .post-wrap h2{margin:2em 0 .6em!important}
html body .bpost-meta{color:var(--text-2)!important;font-size:.875rem}
html body a.post-back{color:var(--blue)!important;font-weight:550}

html body .detail-wrap{background:var(--white)!important}
html body section.detail-hero{padding:clamp(56px,7vw,96px) 0!important}
html body .dx-hero,html body .dx-head{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
html body section.dx-sec{background:var(--white)!important}
html body section.dx-sec:nth-of-type(even){background:var(--bg)!important}
html body .dx-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
html body :is(figure.dx-img,figure.dx-video){margin:0;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;overflow:hidden;background:var(--bg)!important;box-shadow:none!important}
html body :is(figure.dx-img,figure.dx-video) :is(img,video){display:block;width:100%;height:auto}
html body .dx-panel{padding:clamp(22px,3vw,32px)!important}
html body .dx-panel-head,html body .dx-ph{color:var(--text)!important}
html body .dx-panel-foot{color:var(--text-2)!important}
html body ul.dx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin:0;padding:0;list-style:none}
html body ul.dx-cards>li{padding:22px!important}
html body ol.dx-steps{display:grid;gap:14px;margin:0;padding:0;list-style:none}
html body .dx-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--blue)!important;background:var(--white)!important;color:var(--blue)!important;font-weight:600;font-size:.875rem;box-shadow:none!important}
html body .dx-cta{background:var(--navy)!important}
@media(max-width:860px){html body .dx-split,html body .soc-split,html body :is(.mshero-grid){grid-template-columns:1fr!important}html body .sx-grid{grid-template-columns:1fr!important}html body ul.sv-cols{grid-template-columns:1fr}}

/* ---- fixes from review ---- */
html body .career-value-grid>*{background:var(--white)!important;background-image:none!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow)!important;padding:24px!important}
html body .career-value-grid>* :is(h3,h4,strong,b){color:var(--text)!important}
html body .career-value-grid>* :is(p,span,small){color:var(--text-2)!important}
html body .career-value-grid>* :is(.num,.career-value-num,span:first-child){color:var(--blue)!important}
html body .sv-band ol.sv-rings :is(p,span:not(.ring),small,li){color:var(--text-2)!important;opacity:1!important}
html body .sv-band ol.sv-rings li b{color:var(--text)!important}

/* contact hero + Microsoft detail pages: full-bleed navy hero, constrained content */
html body section.hero:not(.banner){background:var(--navy)!important;background-image:none!important;padding:clamp(56px,7vw,96px) max(var(--pad),calc((100% - var(--wrap))/2 + var(--pad)))!important;border:0!important;color:var(--on-dark-2)}
html body section.hero:not(.banner) :is(h1,h2){color:#fff!important}
html body section.hero:not(.banner) p{color:var(--on-dark-2)!important;max-width:62ch;font-size:1.125rem}
html body section.hero:not(.banner) h1{max-width:22ch}
html body .detail-wrap{max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:var(--white)!important}
html body .detail-wrap section.detail-hero{background:var(--navy)!important;background-image:none!important;color:var(--on-dark-2);padding:clamp(56px,7vw,96px) max(var(--pad),calc((100% - var(--wrap))/2 + var(--pad)))!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
html body .detail-wrap section.detail-hero h1{color:#fff!important;max-width:22ch}
html body .detail-wrap section.detail-hero p{color:var(--on-dark-2)!important;font-size:1.125rem;max-width:62ch}
html body .detail-wrap section.detail-hero .detail-icon{background:#fff!important;border:0!important;border-radius:12px!important;width:56px!important;height:56px!important;padding:8px;margin-bottom:16px}
html body .detail-wrap section.detail-hero .detail-actions a:not(.primary){color:#fff!important;border:1px solid rgba(255,255,255,.4)!important;background:transparent!important;border-radius:var(--r)!important;padding:12px 22px;text-decoration:none;font-weight:550}
html body .detail-wrap .dx-article{max-width:none!important;padding:0!important;background:transparent!important}
html body .detail-wrap .dx-sec{padding:var(--sec) max(var(--pad),calc((100% - var(--wrap))/2 + var(--pad)))!important;border:0!important;background:var(--white)!important}
html body .detail-wrap .dx-sec:nth-of-type(even){background:var(--bg)!important}
html body .detail-wrap .dx-sec h2{margin-bottom:14px!important}
html body .detail-wrap .dx-sec :is(p,li){color:var(--text-2)!important}
html body .detail-wrap .dx-sec :is(b,strong,h3,h4){color:var(--text)!important}
html body .detail-wrap section.dx-cta{background:var(--navy)!important;padding:clamp(48px,6vw,80px) max(var(--pad),calc((100% - var(--wrap))/2 + var(--pad)))!important}
html body .detail-wrap section.dx-cta :is(h2,h3){color:#fff!important}
html body .detail-wrap section.dx-cta :is(p,li){color:var(--on-dark-2)!important}
/* empty media placeholders are hidden until real images are added */
html body figure:has(>.dx-ph:empty){display:none!important}
html body .dx-split:has(>figure>.dx-ph:empty){grid-template-columns:minmax(0,1fr)!important}
html body .dx-hero:has(figure>.dx-ph:empty) figure{display:none}

/* =====================================================================
   Round-1 contrast and consistency fixes (found by the automated audit)
   ===================================================================== */
html body .sv-band .svsub:not(#_){color:var(--text)!important;font-weight:600!important;font-size:.9375rem!important;margin:0 0 8px!important}
html body .sv-band :is(.sv-names,.sv-names span,.sv-cols span,.soc-one span):not(#_){color:var(--text-2)!important;opacity:1!important}
html body .sv-band .flow:not(#_){display:flex;flex-wrap:wrap;align-items:center;gap:10px}
html body .sv-band .flow em:not(#_){background:var(--white)!important;background-image:none!important;border:1px solid var(--border)!important;border-radius:10px!important;color:var(--text)!important;padding:9px 14px;font-style:normal!important;font-weight:500;font-size:.9375rem;box-shadow:none!important;opacity:1}
html body .sv-band .flow i:not(#_){color:var(--text-2)!important;font-style:normal;background:none!important}
html body :is(a.hubcard,a.hubcard *):not(#_){color:var(--text-2)}
html body a.hubcard :is(b,h3,strong,.t):not(#_){color:var(--text)!important}
html body a.hubcard .num:not(#_){color:var(--text-2)!important}
html body a.hubcard .open:not(#_){color:var(--blue)!important;font-weight:550}
html body a.sx-row b:not(#_){color:var(--text)!important;font-weight:600;font-size:1.0625rem}
html body a.sx-row .sx-num:not(#_){color:var(--text-2)!important}
html body a.sx-row i:not(#_){display:inline-block;background:var(--white)!important;border:1px solid var(--border)!important;border-radius:6px!important;color:var(--slate)!important;font-style:normal!important;font-size:.75rem;padding:2px 8px;margin:6px 6px 0 0}
html body a.sx-row .d,html body a.sx-row .hsv-tags{color:var(--text-2)!important}
html body .info-card :is(b,strong,h3):not(#_),html body .card.expect :is(b,strong,h3):not(#_){color:var(--text)!important}
html body .info-card :is(p,span,a,div):not(.icon):not(#_),html body .card.expect :is(p,span,li):not(#_){color:var(--text-2)!important}
html body :is(.apply-side-card,.apply-form-card,.form-card) :is(b,strong,h2,h3,h4):not(#_){color:var(--text)!important}
html body :is(.apply-side-card,.apply-form-card,.form-card) :is(span,p,li,small,.file-info,div):not(.verify-badge):not(.fake-check):not(#_){color:var(--text-2)!important}
html body :is(.apply-side-card,.apply-form-card,.form-card) a:not(.btn):not([class*="primary"]):not(#_){color:var(--blue)!important}
html body .apply-side-card span:first-child:not(#_){color:var(--blue)!important;font-weight:600}
html body .post-wrap :is(div,p):not(#_){color:var(--text-2)!important}
html body #iss-wa-btn{background:#15803D!important}
html body #iss-chat form button:not(#_){background:var(--blue)!important;background-image:none!important;border-radius:10px!important;color:#fff!important}
html body :is(.careers-note,.mscta,.dx-cta,.sv-cta) :is(.section-tag,.detail-kicker):not(#_){color:#93B4FF!important}
html body .detail-wrap section.dx-sec.dx-cta:not(#_){background:var(--navy)!important;padding:clamp(48px,6vw,80px) max(var(--pad),calc((100% - var(--wrap))/2 + var(--pad)))!important}
html body .detail-wrap section.dx-sec.dx-cta :is(h2,h3):not(#_){color:#fff!important}
html body .detail-wrap section.dx-sec.dx-cta :is(p,li):not(#_){color:var(--on-dark-2)!important}
html body .detail-wrap section.dx-sec.dx-cta a:not(.primary):not(#_){color:#93B4FF!important}

/* ---- round 2: hub accents, related-service lists, standalone CTA blocks ---- */
html body .sx-sec:not(#_){--ac:#2563EB;--ac2:#2563EB;border-bottom:0!important}
html body .sx-sec :is(.sx-num,.sx-count):not(#_){color:var(--blue)!important;font-weight:600}
html body a.sx-row .sx-num:not(#_){color:var(--text-2)!important}
html body .sx-mshead:not(#_){margin-bottom:24px}
html body .sx-mshead p:not(#_){color:var(--text-2)!important}
html body a.sx-mscard:not(#_){display:flex;flex-direction:column;gap:6px;padding:20px!important}
html body a.sx-mscard :is(b,strong,h3):not(#_){color:var(--text)!important;font-weight:600;font-size:1.0625rem}
html body a.sx-mscard :is(span,p,small):not(#_){color:var(--text-2)!important}
html body .svr ul:not(#_){display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none}
html body .svr li:not(#_){margin:0;padding:0;background:none!important;border:0!important}
html body .svr li a:not(#_){display:flex;flex-direction:column;gap:4px;height:100%;padding:20px!important;background:var(--white)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow)!important;text-decoration:none;transition:border-color .18s}
html body .svr li a:hover:not(#_){border-color:var(--border-2)!important}
html body .svr li a :is(b,strong,h3):not(#_){color:var(--text)!important;font-weight:600;font-size:1.0625rem}
html body .svr li a span:not(#_){color:var(--text-2)!important;font-size:.9375rem;opacity:1!important}
html body div.svcta:not(#_){background:var(--navy)!important;background-image:none!important;border:0!important;border-radius:var(--r-lg)!important;padding:clamp(28px,4vw,48px)!important;box-shadow:none!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:clamp(32px,4vw,56px)}
html body div.svcta:not(#_) :is(h2,h3):not(#_){color:#fff!important;margin:0 0 6px!important;font-size:clamp(1.35rem,2.2vw,1.75rem)!important}
html body div.svcta:not(#_) :is(p,span):not(#_){color:var(--on-dark-2)!important;margin:0}
html body :is(button.submit,button.apply-submit) *:not(#_){color:#fff!important}
html body :is(button.submit,button.apply-submit):disabled:not(#_),html body :is(button.submit,button.apply-submit)[disabled]:not(#_){background:#64748B!important;border-color:#64748B!important;cursor:not-allowed;opacity:1!important;transform:none!important}
html body video:not(#_){background:var(--bg)!important}
html body .dx-ph:not(#_){background:var(--bg)!important}

/* ---- round 3: full-bleed heroes on contact / Microsoft detail, step cards ---- */
html body main.page:not(#_),html body main:not(#_){max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
html body section.hero:not(.banner):not(#_){max-width:none!important;width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important;text-align:left!important;box-sizing:border-box}
html body section.hero:not(.banner) .eyebrow:not(#_){display:block;text-align:left}
html body .detail-wrap section.detail-hero:not(#_){max-width:none!important;width:100%!important;margin:0!important;border-radius:0!important;box-sizing:border-box;text-align:left!important}
html body ol.dx-steps>li:not(#_),html body .dx-steps>*:not(#_){background:var(--white)!important;background-image:none!important;border:1px solid var(--border)!important;border-radius:var(--r)!important;box-shadow:none!important;color:var(--text-2)!important;padding:16px!important}
html body ol.dx-steps>li :is(b,strong,h4,h3):not(#_){color:var(--text)!important}
html body ol.dx-steps>li :is(p,span):not(.dx-num):not(#_){color:var(--text-2)!important}
html body .dx-panel:not(#_){background:var(--white)!important;background-image:none!important}
html body .dx-panel-head:not(#_){font-weight:600}
html body .dx-panel :is(.dx-panel-head,.dx-panel-head *):not(#_){color:var(--text)!important}

html body section.hero:not(.banner) p:not(#_){margin-left:0!important;margin-right:0!important;text-align:left!important}
html body .dx-hero:not(#_){background:var(--navy)!important;background-image:none!important;max-width:none!important;width:100%!important;margin:0!important;padding:clamp(56px,7vw,96px) max(var(--pad),calc((100% - var(--wrap))/2 + var(--pad)))!important;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center;box-sizing:border-box;border:0!important}
html body .dx-hero:has(>figure:not(:has(.dx-ph:empty))):not(#_){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
html body .dx-hero section.detail-hero:not(#_){background:none!important;background-image:none!important;padding:0!important;max-width:none!important;width:auto!important;margin:0!important}
html body .dx-hero>figure.dx-video:not(#_),html body .dx-hero>figure.dx-img:not(#_){border-color:var(--on-dark-line)!important;background:rgba(255,255,255,.04)!important}
html body form :is(button.submit,button.apply-submit) :is(span,b,svg):not(#_):not(#_){color:#fff!important}
/* =====================================================================
   Home page
   ===================================================================== */
/* hero: same animation, refined type and colour */
html body .banner{background:var(--navy)!important;background-image:none!important}
html body .banner .planet{background:radial-gradient(circle at 50% 8%,rgba(147,180,255,.22),rgba(37,99,235,.14) 26%,rgba(11,23,54,.95) 52%,#0B1736 70%)!important;box-shadow:0 -6px 30px -6px rgba(147,180,255,.28)!important}
html body .banner .planet::after{opacity:.28!important}
html body .banner .hl{color:#fff!important;font-weight:650!important;letter-spacing:-.035em!important;line-height:1.05!important;font-size:clamp(2.75rem,6.2vw,5.25rem)!important;text-shadow:none!important}
html body .banner .hl .l1{color:#fff!important;font-weight:650!important}
html body .banner .hl .rot,html body .banner .hl .rot .ch{color:#93B4FF!important;text-shadow:none!important;font-style:italic!important;font-weight:500!important;filter:none!important}
html body .banner .lede{color:var(--on-dark-2)!important;font-size:clamp(1.0625rem,1.5vw,1.1875rem)!important;line-height:1.65!important;max-width:54ch;margin-left:auto;margin-right:auto}
html body .banner .hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
html body .banner .hero-actions a{margin:0!important}
html body .banner .home-proof-banner{background:none!important;background-image:none!important;border:0!important;border-top:1px solid var(--on-dark-line)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;margin-top:48px!important;padding:22px 0 0!important}
html body .banner .home-proof-banner strong{color:#fff!important;font-weight:600!important}
html body .banner .home-proof-banner span{color:#94A3B8!important}
html body .banner .home-proof-banner .proof-partner-name{color:#E2E8F0!important;font-weight:500}

/* generic home section system */
html body .ds-sec{padding:var(--sec) 0!important;border:0!important;background-image:none!important;position:relative}
html body .ds-white{background:var(--white)!important}
html body .ds-gray{background:var(--bg)!important}
html body .ds-dark{background:var(--navy)!important}
html body .ds-eyebrow{display:inline-block;margin-bottom:12px;color:var(--blue)!important;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
html body .ds-dark .ds-eyebrow{color:#93B4FF!important}
html body .ds-sec h2{margin:0 0 14px!important;max-width:22ch}
html body .ds-sec p{max-width:60ch}
html body .ds-head{max-width:720px;margin-bottom:clamp(28px,4vw,48px)}
html body .ds-head p{font-size:1.0625rem}
html body .ds-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,6vw,88px);align-items:start}
html body .ds-intro{position:sticky;top:104px}
html body .ds-intro p{font-size:1.0625rem;margin:0 0 22px}
html body a.ds-more{color:var(--blue)!important;font-weight:550;text-decoration:none;font-size:.9375rem;display:inline-flex;gap:6px;align-items:center}
html body a.ds-more:hover{color:var(--blue-hover)!important;gap:9px}
html body a.ds-more,html body a.ds-more span{transition:gap .18s,color .18s}

/* service items: clean rows, no cards */
html body ul.ds-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--border)}
html body ul.ds-items>li{border-bottom:1px solid var(--border);margin:0;padding:0}
html body a.ds-item{display:flex;gap:16px;align-items:flex-start;padding:22px 4px;text-decoration:none;color:inherit;transition:background .18s}
html body a.ds-item:hover{background:rgba(255,255,255,.7)}
html body .ds-gray a.ds-item:hover{background:var(--white)}
html body .ds-item-ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--border);background:var(--white);color:var(--blue)}
html body .ds-gray .ds-item-ico{background:var(--white)}
html body .ds-ico{width:22px;height:22px}
html body .ds-item-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
html body .ds-item-txt b{color:var(--text)!important;font-size:1.0625rem;font-weight:600;line-height:1.35}
html body .ds-item-txt span{color:var(--text-2)!important;font-size:.9375rem;line-height:1.55}
html body a.ds-item:hover .ds-item-txt b{color:var(--blue)!important}

/* Microsoft partner badges */
html body .ds-badges{margin-top:32px}
html body .ds-badges-t{margin:0 0 14px;font-size:.9375rem;color:var(--text-2)}
html body .ds-badges .msgrid{display:flex;flex-wrap:wrap;gap:12px}
html body .ds-badges .mbadge{background:var(--white)!important;border:1px solid var(--border)!important;border-radius:var(--r)!important;box-shadow:none!important;padding:10px 14px!important;transform:none!important;width:auto!important;min-width:0!important}
html body .ds-badges .mbadge *{color:var(--text)!important}
html body .ds-badges .mbd span{background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:6px!important;color:var(--text-2)!important;font-size:.72rem!important;padding:2px 8px!important}

/* why choose */
html body .ds-why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,6vw,88px);align-items:start}
html body .ds-why-l h2{color:#fff!important}
html body .ds-why-l p{color:var(--on-dark-2)!important;font-size:1.0625rem;margin:0 0 28px}
html body .ds-stats{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0 0 32px;padding:24px 0;border-top:1px solid var(--on-dark-line);border-bottom:1px solid var(--on-dark-line)}
html body .ds-stats b{display:block;color:#fff!important;font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1.1}
html body .ds-stats span{color:#94A3B8!important;font-size:.875rem}
html body ul.ds-why-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
html body ul.ds-why-grid li{padding:22px 0;border-top:1px solid var(--on-dark-line);display:flex;flex-direction:column;gap:6px}
html body ul.ds-why-grid .ds-ico{color:#93B4FF;margin-bottom:6px}
html body ul.ds-why-grid b{color:#fff!important;font-size:1.0625rem;font-weight:600}
html body ul.ds-why-grid span{color:var(--on-dark-2)!important;font-size:.9375rem;line-height:1.55}

/* industries */
html body .ds-ind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
html body a.ds-ind{display:block;text-decoration:none;color:inherit}
html body .ds-ind-img{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg)}
html body .ds-ind-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
html body a.ds-ind:hover .ds-ind-img img{transform:scale(1.03)}
html body .ds-ind-name{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:var(--text)!important;font-weight:600;font-size:1.0625rem}
html body .ds-ind-name span{color:var(--blue)!important;transition:transform .18s}
html body a.ds-ind:hover .ds-ind-name span{transform:translateX(4px)}

/* partners + technologies */
html body section.tp{padding:var(--sec) 0!important}
html body section.tp .tp-in{max-width:var(--wrap)!important;margin:0 auto!important}
html body section.tp h2{max-width:24ch;margin:0 0 12px!important}
html body section.tp .tp-sub{margin:0 0 clamp(28px,4vw,44px);font-size:1.0625rem;color:var(--text-2)!important;max-width:62ch}
html body ul.tp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
html body li.tp-card{padding:22px!important;display:flex;flex-direction:column;gap:8px;text-align:left}
html body .tp-logo{height:48px;display:flex;align-items:center;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin-bottom:6px}
html body .tp-logo img,html body .tp-logo svg{max-height:34px;max-width:140px;width:auto;height:auto}
html body li.tp-card h3{font-size:1.0625rem!important;margin:0!important}
html body li.tp-card p{font-size:.9rem;margin:0;color:var(--text-2)!important}
html body .ds-tech{margin-top:clamp(40px,6vw,72px)}
html body :is(.pband,.pin){background:none!important;background-image:none!important;border:0!important;box-shadow:none!important}
html body .plabel{margin:0 0 16px!important;text-align:left}
html body .ds-clients .pin,html body .ds-tech .pin{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
html body :is(.marq .track img,.marq .track .tchip){background:var(--white)!important;border:1px solid var(--border)!important;border-radius:var(--r)!important;box-shadow:none!important;filter:none!important}
html body .ds-clients{padding:clamp(40px,5vw,64px) 0!important}
html body .ds-clients .plabel{text-align:center}
html body .tchip b{color:var(--text)!important}

/* CTA */
html body .ds-cta{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(32px,6vw,88px);align-items:center}
html body .ds-cta h2{color:#fff!important;max-width:20ch}
html body .ds-cta p{color:var(--on-dark-2)!important;font-size:1.0625rem;margin:0 0 28px}
html body .ds-cta-b{display:flex;flex-wrap:wrap;gap:12px}
html body .ds-cta-r{padding:0 0 0 clamp(20px,3vw,40px);border-left:1px solid var(--on-dark-line);display:grid;gap:18px;background:none!important;border-top:0;border-right:0;border-bottom:0;box-shadow:none!important}
html body .ds-cta-r h3{color:#fff!important;font-size:1rem!important;margin:0!important}
html body .ds-contact{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--on-dark-2)!important}
html body .ds-contact .ds-ico{flex:none;color:#93B4FF;margin-top:2px}
html body .ds-contact small{display:block;color:#94A3B8!important;font-size:.8125rem}
html body .ds-contact b{color:#fff!important;font-weight:500;font-size:.9375rem;word-break:break-word}
html body a.ds-contact:hover b{text-decoration:underline}

@media(max-width:980px){
  html body .ds-split,html body .ds-why,html body .ds-cta{grid-template-columns:1fr}
  html body .ds-intro{position:static}
  html body ul.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .ds-ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .ds-cta-r{padding:24px 0 0;border-left:0;border-top:1px solid var(--on-dark-line)}
}
@media(max-width:640px){
  html body ul.ds-items,html body ul.ds-why-grid{grid-template-columns:1fr}
  html body ul.tp-grid,html body .ds-ind-grid{grid-template-columns:1fr}
}

/* anchors keep the old #ids working for menu / footer links */
html body a.ds-anchor{display:block!important;position:relative;top:-80px;height:0!important;width:0!important;padding:0!important;margin:0!important;border:0!important;background:none!important;visibility:hidden;overflow:hidden}
/* hero refinements */
html body .banner::after{background:linear-gradient(rgba(11,23,54,0),rgba(11,23,54,.35) 45%,rgba(11,23,54,.92) 85%,#0B1736)!important}
html body .banner a.pill.cta{background:var(--blue)!important;border:1px solid var(--blue)!important;color:#fff!important;box-shadow:none!important;border-radius:var(--r)!important;padding:12px 22px!important;font-size:.9375rem!important;font-weight:550!important}
html body .banner a.pill.cta:hover{background:var(--blue-hover)!important;border-color:var(--blue-hover)!important}
html body .banner a.pill.cxo{background:transparent!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important;border-radius:var(--r)!important;padding:12px 22px!important;font-size:.9375rem!important;font-weight:550!important}
html body .banner a.pill.cxo:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}


/* ==========================================================================
   HOMEPAGE SERVICES — premium animated service cards
   Inspired by the clean, image-led service presentation seen on modern
   enterprise MSP/MSSP sites. Original ISS implementation; no copied assets.
   ========================================================================== */

html body .home-services-chorus{
  --hs-navy:#0B1736;
  --hs-blue:#2563EB;
  --hs-cyan:#60A5FA;
  --hs-line:rgba(255,255,255,.14);
  --hs-muted:#B8C5D8;
  background:var(--hs-navy)!important;
  color:#fff!important;
  padding:clamp(76px,8vw,116px) 0 clamp(72px,8vw,108px)!important;
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

html body .home-services-chorus::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 85%);
}

html body .hs-wrap{
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  position:relative;
  z-index:1;
}

html body .hs-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(32px,7vw,100px);
  align-items:end;
  margin-bottom:clamp(34px,5vw,58px);
}

html body .hs-eyebrow{
  display:block;
  color:#93B4FF!important;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:14px;
}

html body .hs-head h2{
  color:#fff!important;
  max-width:16ch;
  margin:0!important;
  font-size:clamp(2.25rem,4.3vw,4.25rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}

html body .hs-head>p{
  color:#CBD5E1!important;
  font-size:1.02rem!important;
  line-height:1.7!important;
  margin:0!important;
  max-width:500px;
}

/* Four-card service rail */
html body .hs-stage{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  min-height:570px;
}

html body .hs-card{
  position:relative;
  min-width:0;
  min-height:570px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  background:#101D3A;
  box-shadow:0 18px 50px rgba(0,0,0,.20);
  transform:translateY(18px);
  opacity:0;
  transition:
    grid-column .45s cubic-bezier(.2,.75,.25,1),
    transform .45s cubic-bezier(.2,.75,.25,1),
    opacity .65s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

html body .hs-stage.hs-ready .hs-card{
  opacity:1;
  transform:translateY(0);
}

html body .hs-stage.hs-ready .hs-card:nth-child(2){transition-delay:.07s}
html body .hs-stage.hs-ready .hs-card:nth-child(3){transition-delay:.14s}
html body .hs-stage.hs-ready .hs-card:nth-child(4){transition-delay:.21s}

html body .hs-card:hover,
html body .hs-card.is-active{
  border-color:rgba(96,165,250,.58);
  box-shadow:0 28px 70px rgba(0,0,0,.34);
  transform:translateY(-8px);
  z-index:3;
}

html body .hs-card-media{
  position:relative;
  height:245px;
  flex:none;
  overflow:hidden;
  background:#071128;
}

html body .hs-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(5,13,31,.05) 15%,rgba(5,13,31,.28) 50%,#101D3A 100%);
  pointer-events:none;
}

html body .hs-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.86) contrast(1.04);
  transform:scale(1.01);
  transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .5s ease;
}

html body .hs-card:hover .hs-card-media img,
html body .hs-card.is-active .hs-card-media img{
  transform:scale(1.08);
  filter:saturate(1) contrast(1.06);
}

html body .hs-card-number{
  position:absolute;
  left:20px;
  top:18px;
  z-index:2;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(7,17,40,.55);
  backdrop-filter:blur(8px);
  color:#fff!important;
  font-size:.76rem;
  font-weight:700;
}

html body .hs-card-kicker{
  position:absolute;
  right:20px;
  top:24px;
  z-index:2;
  color:#DCE7F8!important;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
}

html body .hs-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px 23px 22px;
  position:relative;
  background:#101D3A;
}

html body .hs-card-body h3{
  color:#fff!important;
  margin:0 0 10px!important;
  font-size:clamp(1.3rem,1.65vw,1.65rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}

html body .hs-card-body p{
  color:#B8C5D8!important;
  margin:0 0 18px!important;
  font-size:.91rem!important;
  line-height:1.6!important;
}

html body .hs-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:5px;
}

html body .hs-tags span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:999px;
  color:#D8E3F3!important;
  background:rgba(255,255,255,.035);
  font-size:.7rem!important;
  line-height:1.2!important;
}

html body .hs-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:21px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#fff!important;
  text-decoration:none!important;
  font-size:.84rem!important;
  font-weight:650!important;
}

html body .hs-link span{
  color:#60A5FA!important;
  font-size:1.1rem;
  transition:transform .22s ease;
}

html body .hs-link:hover span{
  transform:translate(3px,-3px);
}

/* Progress + navigation keep the section feeling deliberate rather than
   auto-moving like a carousel. */
html body .hs-progress{
  height:2px;
  margin:26px 0 0;
  background:rgba(255,255,255,.12);
  overflow:hidden;
}

html body .hs-progress-fill{
  display:block;
  width:25%;
  height:100%;
  background:#60A5FA;
  transition:transform .35s ease;
}

html body .hs-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
  margin-top:16px;
}

html body .hs-controls button{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-size:1.05rem;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

html body .hs-controls button:hover{
  background:#fff;
  border-color:#fff;
  color:#0B1736;
  transform:translateY(-2px);
}

html body .hs-count{
  display:flex;
  align-items:baseline;
  gap:4px;
  min-width:50px;
  color:#94A3B8;
  font-size:.8rem;
}

html body .hs-count strong{
  color:#fff;
  font-size:.95rem;
}

/* Keyboard/focus accessibility */
html body .hs-card:focus-within{
  outline:2px solid #60A5FA;
  outline-offset:4px;
}

@media(min-width:981px){
  html body .hs-stage.hs-active-1{grid-template-columns:1.25fr .9fr .9fr .9fr}
  html body .hs-stage.hs-active-2{grid-template-columns:.9fr 1.25fr .9fr .9fr}
  html body .hs-stage.hs-active-3{grid-template-columns:.9fr .9fr 1.25fr .9fr}
  html body .hs-stage.hs-active-4{grid-template-columns:.9fr .9fr .9fr 1.25fr}
}

@media(max-width:980px){
  html body .hs-head{
    grid-template-columns:1fr;
    gap:18px;
  }
  html body .hs-head h2{max-width:20ch}
  html body .hs-stage{
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:auto;
  }
  html body .hs-card{
    min-height:520px;
  }
}

@media(max-width:640px){
  html body .home-services-chorus{
    padding:64px 0 70px!important;
  }
  html body .hs-wrap{
    width:min(100% - 32px,1240px);
  }
  html body .hs-head h2{
    font-size:2.15rem!important;
  }
  html body .hs-stage{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:12px;
    padding:4px 1px 12px;
  }
  html body .hs-stage::-webkit-scrollbar{display:none}
  html body .hs-card{
    flex:0 0 86vw;
    max-width:380px;
    min-height:505px;
    scroll-snap-align:start;
    opacity:1;
    transform:none;
  }
  html body .hs-card:hover,
  html body .hs-card.is-active{
    transform:none;
  }
  html body .hs-card-media{height:220px}
  html body .hs-controls{justify-content:center}
}

/* Reduced-motion preference */
@media(prefers-reduced-motion:reduce){
  html body .hs-card,
  html body .hs-card-media img,
  html body .hs-link span,
  html body .hs-progress-fill{
    transition:none!important;
  }
}

/* =========================================================
   HOME REFINEMENT — PARTNER LOGOS + INDUSTRY HORIZONTAL RAIL
   ========================================================= */

/* Technology partners: compact logo-only cards, 5 columns = 2 rows */
html body section.tp .tp-grid,
html body ul.tp-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}

html body section.tp li.tp-card,
html body ul.tp-grid li.tp-card{
  min-width:0!important;
  min-height:82px!important;
  height:82px!important;
  padding:12px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #DCE5ED!important;
  box-shadow:0 5px 16px rgba(16,34,53,.055)!important;
}

html body section.tp li.tp-card .tp-logo,
html body ul.tp-grid li.tp-card .tp-logo{
  width:100%!important;
  height:54px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html body section.tp li.tp-card .tp-logo img,
html body section.tp-card .tp-logo svg,
html body ul.tp-grid li.tp-card .tp-logo img,
html body ul.tp-grid li.tp-card .tp-logo svg{
  display:block!important;
  width:auto!important;
  max-width:145px!important;
  height:auto!important;
  max-height:38px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}

/* Keep text in the DOM for accessibility, but do not show it visually. */
html body section.tp li.tp-card h3,
html body section.tp li.tp-card p,
html body ul.tp-grid li.tp-card h3,
html body ul.tp-grid li.tp-card p{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

html body section.tp li.tp-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 9px 22px rgba(16,34,53,.10)!important;
  border-color:#C7D7E6!important;
}

/* Industries: smaller cards in one horizontal, scrollable row */
html body .ds-ind-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 12px!important;
  margin:0!important;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#B9C8D8 transparent;
}

html body a.ds-ind{
  flex:0 0 255px!important;
  width:255px!important;
  min-width:255px!important;
  scroll-snap-align:start;
}

html body .ds-ind-img{
  aspect-ratio:16/9!important;
  border-radius:14px!important;
}

html body .ds-ind-name{
  margin-top:10px!important;
  font-size:.98rem!important;
}

@media(max-width:980px){
  html body section.tp .tp-grid,
  html body ul.tp-grid{
    grid-template-columns:repeat(5,minmax(130px,1fr))!important;
    overflow:hidden!important;
  }
}

@media(max-width:640px){
  html body section.tp .tp-grid,
  html body ul.tp-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  html body section.tp li.tp-card,
  html body ul.tp-grid li.tp-card{
    height:72px!important;
    min-height:72px!important;
    padding:9px 12px!important;
  }

  html body section.tp li.tp-card .tp-logo,
  html body ul.tp-grid li.tp-card .tp-logo{
    height:48px!important;
  }

  html body section.tp li.tp-card .tp-logo img,
  html body section.tp li.tp-card .tp-logo svg,
  html body ul.tp-grid li.tp-card .tp-logo img,
  html body ul.tp-grid li.tp-card .tp-logo svg{
    max-width:125px!important;
    max-height:32px!important;
  }

  html body a.ds-ind{
    flex-basis:220px!important;
    width:220px!important;
    min-width:220px!important;
  }
}

/* ===== INDUSTRIES — 4 large cards, step-by-step autoplay ===== */
html body #ds-industries .ds-ind-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:24px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 0 8px!important;
  margin:0!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  overscroll-behavior-x:contain!important;
}
html body #ds-industries .ds-ind-grid::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
html body #ds-industries a.ds-ind{
  flex:0 0 calc((100% - 72px)/4)!important;
  width:calc((100% - 72px)/4)!important;
  min-width:calc((100% - 72px)/4)!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
html body #ds-industries .ds-ind-img{
  aspect-ratio:4/3!important;
  border-radius:16px!important;
  border:1px solid #dbe3ee!important;
  overflow:hidden!important;
  background:#eef2f7!important;
}
html body #ds-industries .ds-ind-name{
  display:block!important;
  width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  text-align:center!important;
  color:var(--text)!important;
  font-size:1.08rem!important;
  font-weight:650!important;
  line-height:1.35!important;
}
html body #ds-industries .ds-ind-name span{
  display:none!important;
}
html body #ds-industries a.ds-ind:hover .ds-ind-img img{
  transform:scale(1.025)!important;
}
@media(max-width:1050px){
  html body #ds-industries a.ds-ind{
    flex-basis:calc((100% - 48px)/3)!important;
    width:calc((100% - 48px)/3)!important;
    min-width:calc((100% - 48px)/3)!important;
  }
}
@media(max-width:700px){
  html body #ds-industries .ds-ind-grid{gap:16px!important}
  html body #ds-industries a.ds-ind{
    flex-basis:calc((100% - 16px)/2)!important;
    width:calc((100% - 16px)/2)!important;
    min-width:calc((100% - 16px)/2)!important;
  }
}
@media(max-width:480px){
  html body #ds-industries a.ds-ind{
    flex-basis:86%!important;
    width:86%!important;
    min-width:86%!important;
  }
}

/* =====================================================================
   Dark section colours
   ===================================================================== */
html body :is(.iss-cta,.sv-cta,.mscta,.svcta,.soccta,.careers-note,.ds-dark){
  background-color: #1a2744 !important;
  background-image: none !important;
}
html body footer{
  background-color: #111d33 !important;
  background-image: none !important;
}
