@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("assets/fonts/roboto-variable-latin-ext.woff2") format("woff2");
  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;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("assets/fonts/roboto-variable-latin.woff2") format("woff2");
  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:"Poppins"; font-style:normal; font-weight:300; font-display:swap; src:url("assets/fonts/poppins-300-latin-ext.woff2") format("woff2"); 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; }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:300; font-display:swap; src:url("assets/fonts/poppins-300-latin.woff2") format("woff2"); 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:"Poppins"; font-style:normal; font-weight:400; font-display:swap; src:url("assets/fonts/poppins-400-latin-ext.woff2") format("woff2"); 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; }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:400; font-display:swap; src:url("assets/fonts/poppins-400-latin.woff2") format("woff2"); 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:"Poppins"; font-style:normal; font-weight:500; font-display:swap; src:url("assets/fonts/poppins-500-latin-ext.woff2") format("woff2"); 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; }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:500; font-display:swap; src:url("assets/fonts/poppins-500-latin.woff2") format("woff2"); 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:"Poppins"; font-style:normal; font-weight:600; font-display:swap; src:url("assets/fonts/poppins-600-latin-ext.woff2") format("woff2"); 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; }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:600; font-display:swap; src:url("assets/fonts/poppins-600-latin.woff2") format("woff2"); 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:"Poppins"; font-style:normal; font-weight:700; font-display:swap; src:url("assets/fonts/poppins-700-latin-ext.woff2") format("woff2"); 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; }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:700; font-display:swap; src:url("assets/fonts/poppins-700-latin.woff2") format("woff2"); 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:"Poppins"; font-style:normal; font-weight:800; font-display:swap; src:url("assets/fonts/poppins-800-latin-ext.woff2") format("woff2"); 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; }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:800; font-display:swap; src:url("assets/fonts/poppins-800-latin.woff2") format("woff2"); 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; }

:root {
  --navy: #0e2355;
  --blue: #11489b;
  --mint: #63cdb7;
  --mint-light: #b6eadf;
  --charcoal: #5a5a5d;
  --white: #fff;
  --ink: #11182b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  overflow-x: clip;
  font-family: Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: "Roboto", Arial, sans-serif; }
p { font-family: "Poppins", Arial, sans-serif; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: fit-content;
  border-radius: 999px;
  padding: .62rem 1rem;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.14); }
.button-mint { background: var(--mint); color: #082d39; }
.button-outline { color: var(--blue); border: 2px solid var(--blue); background: transparent; }

.hero {
  min-height: 900px;
  display: grid;
  grid-template-columns: 41.5% 58.5%;
  background: #0c1d47;
  overflow: hidden;
  position: relative;
}
.hero-photo {
  position: relative;
  min-height: 900px;
  background: url("assets/hero-image-angle-crop.png") center top / cover no-repeat;
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
  z-index: 2;
}
.hero-photo-tint {
  position: absolute;
  inset: 36% -10% -7% -10%;
  background: radial-gradient(ellipse at 47% 100%, rgba(105,226,199,.82) 0%, rgba(83,201,178,.5) 31%, rgba(60,155,144,.18) 53%, transparent 74%);
  mix-blend-mode: screen;
  opacity: .9;
  pointer-events: none;
}
.brand-top {
  position: absolute;
  left: 7.5%;
  top: 5.5%;
  width: 205px;
  z-index: 3;
}
.hero-copy { position: relative; color: #fff; background: #0c1d47; overflow: hidden; isolation: isolate; }
.hero-copy::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(142deg, #0c1d47 0%, rgba(12,29,71,.97) 24%, rgba(12,29,71,.79) 45%, rgba(12,29,71,.28) 64%, transparent 79%),
    radial-gradient(ellipse 126% 106% at 100% 100%, rgba(39,88,218,.76) 0%, rgba(29,70,185,.5) 34%, rgba(20,50,128,.24) 61%, transparent 88%);
  pointer-events: none;
}
.home-page .hero > .nav {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  width: 58.5%;
  box-sizing: border-box;
  color: #fff;
}
.service-home-hero > .nav {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  width: 58.5%;
  box-sizing: border-box;
  color: #fff;
}
.nav {
  display: flex;
  justify-content: flex-end;
  padding: 52px 6.5% 0 3%;
  position: relative;
  z-index: 5;
}
.nav-links { display: flex; align-items: center; gap: 2.4rem; }
.nav-links > a:not(.button) { font-size: .93rem; text-decoration: none; }
.language-toggle { display: flex; align-items: center; gap: .35rem; font-size: .82rem; }
.language-toggle a { color: inherit; text-decoration: none; opacity: .6; }
.language-toggle a.active { opacity: 1; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.nav-toggle { display: none; }
.services-nav-item{position:relative;display:flex;align-items:center;align-self:stretch}.services-nav-item>a{font-size:.93rem;text-decoration:none;display:flex;align-items:center}.services-nav-menu{position:absolute;top:calc(100% + 15px);left:-24px;width:330px;padding:12px 18px;background:rgba(7,25,58,.98);border:1px solid rgba(105,226,199,.2);box-shadow:0 22px 55px rgba(0,7,24,.28);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.services-nav-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}.services-nav-item:hover .services-nav-menu,.services-nav-item:focus-within .services-nav-menu{opacity:1;visibility:visible;transform:translateY(0)}.services-nav-menu>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.12);font-size:.84rem;line-height:1.2;transition:color .18s ease,padding-left .18s ease}.services-nav-menu>a:last-child{border-bottom:0}.services-nav-menu>a:hover,.services-nav-menu>a:focus-visible{color:var(--mint);padding-left:6px}.services-nav-menu i{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:var(--mint);color:#082d39;font-size:0;font-style:normal;transition:transform .18s ease}.services-nav-menu>a:hover i,.services-nav-menu>a:focus-visible i{font-size:.66rem;transform:scale(1.18)}
.hero-message {
  position: absolute;
  z-index: 2;
  left: 15%;
  top: 33%;
  max-width: 700px;
}
.hero-pattern {
  position: absolute;
  z-index: 1;
  right: -7%;
  top: 0;
  bottom: 0;
  width: 92%;
  height: 100%;
  background: url("assets/exclamation-mark-pattern-dark.svg") right bottom / cover no-repeat;
  filter: brightness(.56) saturate(1.12);
  opacity: .72;
  -webkit-mask-image: linear-gradient(142deg, transparent 0 10%, rgba(0,0,0,.13) 28%, #000 66%, rgba(0,0,0,.5) 100%);
  mask-image: linear-gradient(142deg, transparent 0 10%, rgba(0,0,0,.13) 28%, #000 66%, rgba(0,0,0,.5) 100%);
  pointer-events: none;
}
.hero h1 {
  margin: 0 0 2.6rem;
  font-weight: 400;
  letter-spacing: -.03em;
  font-size: clamp(3rem, 4.2vw, 5.35rem);
  line-height: .98;
}
.hero-message p { margin: 0; font-size: 1.08rem; line-height: 1.42; }
.hero-scroll-cue {
  display: block;
  width: 49px;
  margin-top: 1.15rem;
  color: var(--mint);
  transition: transform .2s ease, filter .2s ease;
}
.hero-scroll-cue:hover { transform: translateY(4px); filter: drop-shadow(0 0 12px rgba(105,226,199,.45)); }
.hero-scroll-cue img { display: block; width: 100%; height: auto; }

.about {
  display: grid;
  grid-template-columns: 41.5% 58.5%;
  min-height: 650px;
  background: linear-gradient(145deg, #fff 73%, #ecfbf8 100%);
}
.about-stats { padding: 72px 8.5% 70px 8.5%; align-self: start; }
.about-brandline { display: flex; align-items: center; gap: 28px; margin-bottom: 28px; }
.about-brandline .logo-blue { width: 170px; filter: brightness(0) saturate(100%) invert(21%) sepia(66%) saturate(1702%) hue-rotate(193deg) brightness(86%) contrast(96%); }
.about-brandline strong { color: var(--blue); font-size: 2.2rem; }
.stat { border-top: 2px solid #8bd8c8; padding: 17px 0 16px; display: flex; align-items: baseline; gap: 16px; color: var(--blue); }
.stat strong { font-size: 2.2rem; white-space: nowrap; }
.stat span { font-size: 1.2rem; }
.about-copy { padding: 64px 15% 60px 14%; }
.about-copy h2, .services h2 { color: var(--blue); font-size: 2.45rem; line-height: 1.02; margin: 0 0 42px; }
.about-copy p { max-width: 670px; font-size: 1.06rem; line-height: 1.5; margin: 0 0 1.65rem; }
.about-copy p strong { color: var(--blue); }

.services {
  min-height: 560px;
  padding: 65px 0 80px;
  background:
    radial-gradient(circle at 94% 42%, rgba(105,226,199,.78) 0, rgba(69,174,180,.46) 19%, rgba(31,87,155,.12) 43%, transparent 61%),
    linear-gradient(108deg, #2056a4 0%, #194d94 56%, #185174 100%);
  position: relative;
  overflow: hidden;
}
/* Retained for a possible future re-use of the repeating exclamation pattern.
.services::after {
  content: "";
  position: absolute;
  right: -2%; top: 5%; bottom: 0;
  width: 43%;
  background: url("assets/exclamation-mark-pattern-light-02.png") center / cover no-repeat;
  opacity: .45;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.15) 22%, #000 48%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.15) 22%, #000 48%);
}
*/
.section-inner { width: min(1390px, 84%); margin: auto; position: relative; z-index: 1; }
.services h2 { margin-bottom: 46px; color: #fff; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.service-card {
  min-height: 300px;
  padding: 43px 28px 36px;
  background: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.service-card:nth-child(4) { background: var(--navy); color: #fff; }
.service-card:nth-child(4) h3 { color: #fff; }
.service-card:nth-child(4) .button-outline { border-color: var(--mint); color: var(--mint); }
.service-card:nth-child(4) .button-outline:hover,
.service-card:nth-child(4) .button-outline:focus-visible { background: var(--mint); color: var(--navy); }
.service-card h3 { color: var(--blue); font-weight: 500; font-size: clamp(1.4rem, 1.65vw, 1.8rem); line-height: 1.02; margin: 0 0 25px; }
.service-card p { font-size: 1rem; max-width: 250px; min-height: 52px; margin: 0 0 22px; line-height: 1.25; }

.ai { min-height: 500px; display: grid; grid-template-columns: 52.5% 47.5%; overflow: hidden; }
.ai-copy {
  color: #fff;
  background: var(--charcoal);
  padding: 88px 8.5%;
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
  position: relative;
  z-index: 2;
}
.ai-copy h2 { margin: 0 0 26px; font-size: 2rem; font-weight: 500; }
.ai-copy p { max-width: 650px; margin: 0 0 35px; font-size: 1.02rem; line-height: 1.42; }
.ai-image {
  margin-left: -7%;
  background: linear-gradient(90deg, rgba(99,205,183,.08), rgba(99,205,183,.35)), url("assets/image-2.png") center / cover no-repeat;
}

.testimonial {
  min-height: 390px;
  display: grid;
  grid-template-columns: 100px 1fr 100px;
  align-items: center;
  padding: 50px 6%;
  background: #fff;
}
.testimonial blockquote { margin: 0; text-align: center; color: var(--navy); }
.testimonial blockquote p { font-size: clamp(1.55rem, 2.25vw, 2.4rem); line-height: 1.25; margin: 0 0 25px; }
.testimonial cite { font-style: normal; font-size: .78rem; }
.slider-arrow {
  width: 48px; height: 48px; border-radius: 50%; border: 4px solid #eef0f2;
  background: #fff; color: #d9dde1; font-size: 2.1rem; line-height: 1; cursor: pointer;
}
.next { justify-self: end; }

.logo-strip {
  min-height: 128px;
  border-top: 1px solid #777;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0;
}
.logo-strip-track { display: flex; width: max-content; animation: logo-marquee 24s linear infinite; will-change: transform; }
.logo-strip:hover .logo-strip-track { animation-play-state: paused; }
.logo-strip-group { min-width: 100vw; display: flex; align-items: center; justify-content: space-around; gap: clamp(35px, 4vw, 90px); padding: 0 clamp(24px, 4vw, 80px); }
.logo-strip img {
  width: clamp(92px, 7vw, 130px);
  flex: 0 0 auto;
  opacity: .36;
  filter: brightness(0) saturate(100%);
}
@keyframes logo-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .logo-strip-track { animation-duration: 50s; } }

.footer {
  min-height: 420px;
  background: var(--navy);
  color: #fff;
  display: grid;
  grid-template-columns: 130px 1fr 220px;
  align-items: center;
  gap: 35px;
  padding: 45px 8.5%;
}
.footer-mark img { width: 70px; max-height: 220px; object-fit: contain; }
.footer-cta p { font-size: clamp(1.55rem, 2vw, 2.25rem); line-height: 1.12; margin: 0 0 30px; }
.footer-meta { display: flex; min-height: 220px; flex-direction: column; justify-content: space-between; align-items: center; }
@media(min-width:761px){.footer-meta{justify-self:end;align-items:flex-end}}
.iso { width: 112px; }
.socials { display: flex; gap: 15px; }
.social { width: 42px; height: 42px; display: grid; place-items: center; text-decoration: none; }
.social img { width: 100%; height: 100%; object-fit: contain; }
.footer-legal { grid-column: 1 / -1; width: 100%; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.3); }
.footer-legal > p { max-width: 760px; margin: 0 0 14px; color: rgba(255,255,255,.66); font-size: .78rem; line-height: 1.5; }
.footer-legal-row { display: flex; align-items: center; justify-content: space-between; gap: 25px; color: rgba(255,255,255,.78); font-size: .8rem; }
.footer-legal-row nav { display: flex; flex-wrap: wrap; gap: 11px 28px; }
.footer-legal-row a { color: #fff; text-decoration: none; }
.footer-legal-row a:hover { color: var(--mint); }
.footer-credits{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:17px;color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.45;letter-spacing:.01em}.footer-credits strong{color:#fff;font-weight:600}
.home-ai-stem,.footer-mark-home,.home-footer-links,.home-closing-heading,.home-closing-button{display:none}
.home-page .testimonial,
.home-page .logo-strip { display: none; }
.home-page .ai,
.home-page .ai-copy { background-color: #0c1d47; }

/* Homepage closing composition: desktop only. Mobile keeps the established layout. */
@media (min-width: 761px) {
  .home-page {
    --home-content-left: 8.5%;
    --home-mark-width: clamp(220px,18vw,280px);
    --home-footer-gap: clamp(38px,4vw,64px);
  }
  .home-page .ai {
    position: relative;
    z-index: 2;
    display: block;
    min-height: calc(clamp(620px,32vw,760px) + 290px);
    overflow: visible;
    background: #0c1d47;
  }
  .home-page .ai-image {
    position: absolute;
    inset: 0 0 auto;
    display: block;
    width: 100%;
    height: clamp(620px,32vw,760px);
    margin: 0;
    background-image: linear-gradient(90deg,rgba(8,29,68,.04),rgba(8,29,68,.08)),url('/assets/hero-v2-banner-image.jpg')!important;
    background-position: center;
    background-size: cover;
  }
  .home-page .ai-copy {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    min-height: 350px;
    display: grid;
    grid-template-columns: minmax(0,900px) minmax(140px,1fr);
    grid-template-rows: auto;
    align-content: center;
    align-items: center;
    column-gap: clamp(30px,4vw,70px);
    padding: 55px var(--home-content-left) 55px calc(var(--home-content-left) + var(--home-mark-width) + var(--home-footer-gap));
    background: #0c1d47;
    clip-path: none;
  }
  .home-page .ai-copy h2 {
    grid-column: 1;
    margin: 0 0 14px;
    font-size: clamp(1.9rem,2.5vw,3rem);
    line-height: 1.06;
  }
  .home-page .ai-copy p {
    grid-column: 1;
    max-width: 760px;
    margin: 0;
    font-size: clamp(.95rem,1.05vw,1.16rem);
    line-height: 1.5;
  }
  .home-page .ai-copy .button {
    grid-column: 2;
    grid-row: 1 / span 2;
    white-space: nowrap;
  }
  .home-page .ai-copy .ai-standard-heading,
  .home-page .ai-copy .ai-standard-text,
  .home-page .ai-copy .ai-standard-button { display: none; }
  .home-page .ai-copy .home-closing-heading {
    display: block;
    grid-column: 1;
    margin: 0;
    max-width: 900px;
    font-size: clamp(1.85rem,2.25vw,2.65rem);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.025em;
    white-space: nowrap;
  }
  .home-page .ai-copy .home-closing-button {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
  }
  .home-page .home-ai-stem {
    position: absolute;
    z-index: 3;
    top: 40px;
    left: var(--home-content-left);
    display: block;
    width: var(--home-mark-width);
    height: calc(100% - 40px);
    transform: none;
    filter: brightness(0) invert(1);
    pointer-events: none;
  }
  .home-page > .footer {
    position: relative;
    z-index: 1;
    min-height: 390px;
    grid-template-columns: var(--home-mark-width) minmax(0,1fr) 170px;
    grid-template-rows: auto auto;
    align-items: start;
    gap: 34px var(--home-footer-gap);
    padding: 38px var(--home-content-left) 28px;
    background: #1b2f68;
  }
  .home-page > .footer .footer-mark {
    align-self: center;
    justify-self: center;
  }
  .home-page > .footer .footer-mark-default,
  .home-page > .footer .footer-cta {
    display: none;
  }
  .home-page > .footer .footer-mark-home {
    display: block;
    width: clamp(160px,14vw,210px);
    max-height: none;
    filter: brightness(0) invert(1);
  }
  .home-page .home-footer-links {
    display: grid;
    grid-template-columns: repeat(4,minmax(105px,1fr));
    gap: clamp(22px,2.25vw,42px);
    align-self: center;
    padding-top: 0;
  }
  .home-page .home-footer-links nav,
  .home-page .home-footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }
  .home-page .home-footer-links strong {
    margin-bottom: 10px;
    color: #fff;
    font-size: .78rem;
    letter-spacing: .075em;
    text-transform: uppercase;
  }
  .home-page .home-footer-links a {
    color: rgba(255,255,255,.82);
    font-size: .82rem;
    line-height: 1.35;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
  }
  .home-page .home-footer-links a:hover,
  .home-page .home-footer-links a:focus-visible {
    color: var(--mint);
    transform: translateX(4px);
  }
  .home-page .home-footer-column p,
  .home-page .home-footer-column address {
    margin: 0;
    color: rgba(255,255,255,.7);
    font-size: .74rem;
    font-style: normal;
    line-height: 1.55;
  }
  .home-page > .footer .footer-meta {
    min-height: 185px;
    justify-self: end;
    align-items: flex-end;
  }
  .home-page > .footer .iso { width: 96px; }
  .home-page > .footer .social { width: 34px; height: 34px; }
  .home-page > .footer .footer-legal {
    padding-top: 17px;
  }
  .home-page > .footer .footer-legal > p { margin-bottom: 10px; font-size: .68rem; }
  .home-page > .footer .footer-legal-row { font-size: .7rem; }
  .home-page > .footer .footer-credits { margin-top: 10px; font-size: .64rem; }
}

/* Legal pages */
.legal-hero { position: relative; overflow: hidden; padding: 95px 8.5vw 105px; background: var(--navy); color: #fff; }
.legal-hero > div { position: relative; z-index: 1; max-width: 980px; }
.legal-eyebrow { margin: 0 0 22px; color: var(--mint); font-size: .82rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.legal-hero h1 { margin: 0 0 30px; font-size: clamp(3.25rem, 5.5vw, 6.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .92; }
.legal-intro { max-width: 800px; margin: 0; color: rgba(255,255,255,.86); font-size: 1.14rem; line-height: 1.62; }
.legal-layout { display: grid; grid-template-columns: minmax(210px, 27%) 1fr; gap: 7vw; width: 83%; max-width: 1320px; margin: auto; padding: 95px 0 115px; }
.legal-aside { position: sticky; top: 24px; align-self: start; max-height: calc(100vh - 48px); overflow-y: auto; padding: 25px 8px 25px 0; border-top: 4px solid var(--mint); border-bottom: 1px solid #cad4d8; }
.legal-toc > strong { display: block; margin-bottom: 18px; color: var(--navy); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.legal-toc ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.legal-toc li { border-top: 1px solid #e1e7e9; }
.legal-toc li:first-child { border-top: 0; }
.legal-toc a { display: block; padding: 10px 4px; color: #53606c; font-size: .82rem; line-height: 1.35; text-decoration: none; transition: color .2s, transform .2s; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: var(--blue); transform: translateX(4px); }
.legal-content { max-width: 820px; }
.legal-section { scroll-margin-top: 28px; padding: 0 0 38px; margin: 0 0 38px; border-bottom: 1px solid #dce3e5; }
.legal-section:last-child { margin-bottom: 0; }
.legal-section h2 { margin: 0 0 16px; color: var(--blue); font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 500; line-height: 1.2; }
.legal-section p { margin: 0; color: #354454; line-height: 1.72; }

/* Contact page */
.interior-header {
  min-height: 152px;
  position: relative;
  background: var(--navy);
  color: #fff;
}
.interior-brand { position: absolute; left: 3.1125vw; top: 32px; width: 240px; z-index: 6; }
.interior-nav { padding: 52px 6.5% 0 3%; }
.active-cta { box-shadow: inset 0 0 0 2px rgba(255,255,255,.18); }
.contact-layout { min-height: 720px; display: grid; grid-template-columns: 42% 58%; background: #fff; overflow: hidden; }
.contact-story {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: 72px 7.5vw 75px 7vw;
  background: var(--navy);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
}
.contact-story::after {
  content: "";
  position: absolute;
  left: 0;
  top: 27%;
  width: 100%;
  height: 82%;
  background:
    radial-gradient(ellipse at -8% 55%, rgba(99,205,183,.78) 0%, rgba(99,205,183,.42) 28%, rgba(99,205,183,.12) 49%, transparent 68%),
    url("assets/Radial-Gradiant.png") left center / 112% auto no-repeat;
  opacity: .68;
  transform: scaleX(-1);
  transform-origin: center;
  mix-blend-mode: screen;
  pointer-events: none;
}
.contact-story-inner { position: relative; z-index: 1; }
.contact-eyebrow { margin: 0 0 22px; color: var(--mint); font-size: .85rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-story h1 { max-width: 620px; margin: 0 0 26px; font-size: clamp(2.85rem, 4vw, 4.75rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.contact-intro { max-width: 570px; margin: 0 0 30px; font-size: 1.03rem; line-height: 1.55; }
.contact-expectation { max-width: 570px; margin: 0 0 30px; padding: 18px 20px; border-left: 4px solid var(--mint); background: rgba(255,255,255,.07); }
.contact-expectation h2 { margin: 0 0 10px; color: var(--mint); font-size: 1.05rem; font-weight: 700; }
.contact-expectation p { margin: 0; color: rgba(255,255,255,.9); font-size: .96rem; line-height: 1.55; }
.contact-facts { display: grid; gap: 0; max-width: 570px; border-top: 1px solid rgba(255,255,255,.28); }
.contact-facts > div { display: grid; grid-template-columns: 125px 1fr; gap: 15px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.contact-facts span { color: var(--mint); font-size: .8rem; font-weight: 800; }
.contact-facts a, .contact-facts strong { font-size: .94rem; font-weight: 500; }
.contact-form-wrap { position: relative; z-index: 1; margin-left: -6%; padding: 72px max(7vw, 55px) 75px calc(max(7vw, 55px) + 6%); background: linear-gradient(145deg, #fff 72%, #edf9f6 100%); }
.contact-form-wrap::after { content: none; }
.contact-form-heading, .contact-form, .contact-success, .form-errors { position: relative; z-index: 1; max-width: 760px; }
.contact-form-heading h2, .contact-success h2 { margin: 0 0 10px; color: var(--blue); font-size: 2.35rem; line-height: 1.05; }
.contact-form-heading p { margin: 0 0 34px; color: #53606c; line-height: 1.5; }
.contact-form label { display: grid; gap: 8px; margin: 0 0 20px; color: var(--blue); font-size: .83rem; font-weight: 800; }
.contact-form input, .contact-form textarea, .contact-form select {
  width: 100%;
  border: 1px solid #b9c8cd;
  border-radius: 2px;
  padding: 13px 14px;
  background: rgba(255,255,255,.88);
  color: var(--ink);
  font: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.contact-form textarea { resize: vertical; line-height: 1.5; }
.contact-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--blue) 50%), linear-gradient(135deg, var(--blue) 50%, transparent 50%); background-position: calc(100% - 19px) 50%, calc(100% - 14px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(17,72,155,.12); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.consent-row { grid-template-columns: 20px 1fr !important; align-items: start; color: #4c5965 !important; font-weight: 500 !important; line-height: 1.45; }
.consent-row input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--blue); }
.contact-submit { margin-top: 8px; padding: .85rem 1.35rem; border: 0; cursor: pointer; }
.honeypot { position: absolute; left: -9999px; }
.form-errors { margin: 0 0 25px; padding: 16px 20px; border-left: 4px solid #b3261e; background: #fff0ef; color: #7d201a; line-height: 1.45; }
.form-errors ul { margin: 8px 0 0; padding-left: 20px; }
.contact-success { padding: 65px 0; }
.contact-success > span { display: grid; width: 62px; height: 62px; margin-bottom: 25px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--navy); font-size: 1.8rem; font-weight: 800; }
.contact-success p { max-width: 540px; margin: 0 0 28px; color: #53606c; font-size: 1.05rem; line-height: 1.55; }
.contact-careers { position: relative; grid-column: 1 / -1; display: grid; grid-template-columns: 36% 64%; gap: 7%; min-height: 430px; overflow: hidden; padding: 90px 8.5vw; background: var(--mint-light); color: var(--ink); }
.contact-careers::after { content: ""; position: absolute; right: -13%; top: -80%; width: 52%; height: 260%; background: radial-gradient(circle, rgba(99,205,183,.42), rgba(99,205,183,.08) 48%, transparent 69%); pointer-events: none; }
.contact-careers-heading { position: relative; z-index: 1; align-self: start; padding: 4px 7vw 10px 0; border-right: 1px solid rgba(16,37,78,.2); }
.contact-careers-heading .contact-eyebrow { color: var(--blue); }
.contact-careers-heading h2 { margin: 0; color: var(--navy); font-size: clamp(3rem, 4.5vw, 5.2rem); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.contact-careers-copy { position: relative; z-index: 1; align-self: center; max-width: 760px; padding: 4px 0; }
.contact-careers-copy p { max-width: 690px; margin: 0 0 22px; line-height: 1.62; }
.contact-careers-copy .careers-lead { color: var(--blue); font-size: 1.35rem; font-weight: 600; line-height: 1.4; }
.careers-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 34px; }
.careers-values-link { color: var(--blue); font-size: .9rem; font-weight: 700; text-underline-offset: 5px; }

/* Contact page — rebuilt as three independent, aligned sections. */
.contact-page { background: #fff; }
.contact-hero-new { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.75fr); gap: clamp(70px,8vw,145px); padding: 86px 8.5vw 92px; background: var(--navy); color: #fff; }
.contact-hero-copy { max-width: 680px; }
.contact-hero-copy h1 { margin: 0 0 26px; font-size: clamp(3.25rem,4.25vw,5.25rem); font-weight: 400; letter-spacing: -.045em; line-height: .96; }
.contact-hero-intro { max-width: 610px; margin: 0; color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.58; }
.contact-hero-aside { align-self: end; border-top: 1px solid rgba(255,255,255,.24); }
.contact-expectation-new { padding: 28px 0 31px; border-bottom: 1px solid rgba(255,255,255,.24); }
.contact-expectation-new h2 { margin: 0 0 12px; color: var(--mint); font-size: 1.35rem; font-weight: 500; }
.contact-expectation-new p { max-width: 560px; margin: 0; color: rgba(255,255,255,.78); line-height: 1.58; }
.contact-direct-grid { display: grid; grid-template-columns: 1fr; }
.contact-direct-grid a, .contact-direct-grid a + a { display: grid; grid-template-columns: 115px 1fr; gap: 18px; align-items: baseline; padding: 16px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff; text-decoration: none; }
.contact-direct-grid a:last-child { border-bottom: 0; }
.contact-direct-grid span { color: var(--mint); font-size: .71rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-direct-grid strong { min-width: 0; font-size: .94rem; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.contact-form-section { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.25fr); gap: clamp(65px,8vw,140px); padding: 92px 8.5vw 100px; background: #f4f8f7; }
.contact-form-intro { align-self: start; max-width: 390px; padding-top: 8px; }
.contact-form-intro h2 { margin: 0 0 20px; color: var(--blue); font-size: clamp(2.55rem,3vw,3.6rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.contact-form-intro > p:last-child { max-width: 360px; margin: 0; color: #53606c; font-size: 1rem; line-height: 1.55; }
.contact-form-panel { width: 100%; max-width: 840px; padding: 0; background: transparent; }
.contact-form-panel .contact-form label { margin-bottom: 22px; }
.contact-form-panel .contact-form input, .contact-form-panel .contact-form textarea, .contact-form-panel .contact-form select { border-color: #bdcbd0; background-color: #fff; }
.contact-form-panel .contact-submit { padding: .9rem 1.4rem; }
.contact-careers-new { display: grid; grid-template-columns: minmax(330px,.75fr) minmax(0,1.25fr); gap: clamp(70px,8vw,145px); padding: 82px 8.5vw 88px; background: var(--mint-light); }
.contact-careers-title { align-self: center; }
.contact-careers-title .contact-eyebrow { color: var(--blue); }
.contact-careers-title h2 { max-width: 490px; margin: 0; color: var(--navy); font-size: clamp(2.8rem,3.6vw,4.35rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.contact-careers-body { align-self: center; padding-left: clamp(35px,4vw,75px); border-left: 1px solid rgba(16,37,78,.22); color: var(--navy); }
.contact-careers-body > p { max-width: 720px; margin: 0 0 22px; line-height: 1.62; }
.contact-careers-body .careers-lead { color: var(--blue); font-size: 1.25rem; font-weight: 600; line-height: 1.4; }
.contact-careers-body .careers-values-link { color: var(--blue); }

/* Unified contact composition: the form belongs to the hero, rather than sitting as a widget below it. */
.contact-composition { display: grid; grid-template-columns: 43% 57%; min-height: 790px; overflow: hidden; background: var(--navy); }
.contact-composition-copy { display: flex; flex-direction: column; justify-content: center; padding: 72px 5vw 74px 8.5vw; color: #fff; }
.contact-composition .contact-hero-copy { max-width: 590px; }
.contact-composition .contact-hero-copy h1 { font-size: clamp(3.1rem,4.15vw,5rem); }
.contact-composition .contact-hero-intro { max-width: 560px; font-size: 1rem; }
.contact-composition .contact-expectation-new { max-width: 560px; margin-top: 38px; padding: 25px 0; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.contact-composition .contact-expectation-new h2 { font-size: 1.15rem; }
.contact-composition .contact-expectation-new p { font-size: .92rem; line-height: 1.55; }
.contact-composition .contact-direct-grid { max-width: 560px; }
.contact-composition .contact-direct-grid a, .contact-composition .contact-direct-grid a + a { grid-template-columns: 105px 1fr; padding: 13px 0; }
.contact-composition-form { position: relative; display: flex; flex-direction: column; justify-content: center; margin-left: -7%; padding: 66px 7vw 70px calc(7vw + 7%); background: #f7faf9; clip-path: polygon(8% 0,100% 0,100% 100%,0 100%); }
.contact-composition-form .contact-form-intro { max-width: 740px; margin-bottom: 30px; padding: 0; }
.contact-composition-form .contact-form-intro h2 { margin-bottom: 10px; font-size: clamp(2.35rem,2.8vw,3.25rem); }
.contact-composition-form .contact-form-intro > p:last-child { max-width: none; }
.contact-composition-form .contact-form-panel { max-width: 760px; }
.contact-composition-form .contact-form label { margin-bottom: 16px; }
.contact-composition-form .contact-form input, .contact-composition-form .contact-form select { padding-block: 11px; }
.contact-composition-form .contact-form textarea { min-height: 150px; padding-block: 11px; }
.contact-composition-form .contact-submit { margin-top: 3px; }

/* Services overview */
.services-overview-page { background: #f5f8f7; }
.services-overview-hero { display: grid; grid-template-columns: minmax(0,46%) minmax(0,1fr); gap: 8%; padding: 92px 8.5vw 100px; background: var(--navy); color: #fff; }
.services-overview-hero h1 { max-width: 720px; margin: 0; font-size: clamp(3.25rem,4.65vw,5.6rem); font-weight: 400; letter-spacing: -.045em; line-height: .94; }
.services-overview-intro { align-self: end; max-width: 700px; padding: 8px 0 0; }
.services-overview-intro p { margin: 0 0 20px; color: rgba(255,255,255,.84); font-size: 1.06rem; line-height: 1.58; }
.services-overview-intro p:last-child { margin-bottom: 0; color: var(--mint); font-weight: 600; }
.services-overview-list { width: 83%; margin: 0 auto; padding: 92px 0 105px; }
.service-overview-row { display: grid; grid-template-columns: 44% 56%; height: 470px; margin-bottom: 46px; overflow: hidden; background: #fff; box-shadow: 0 15px 40px rgba(16,37,78,.07); }
.service-overview-row:last-child { margin-bottom: 0; }
.service-overview-row.reverse { grid-template-columns: 56% 44%; }
.service-overview-image { position: relative; z-index: 1; min-width: 0; min-height: 0; overflow: hidden; clip-path: polygon(0 0,100% 0,90% 100%,0 100%); }
.service-overview-row.reverse .service-overview-image { grid-column: 2; clip-path: polygon(10% 0,100% 0,100% 100%,0 100%); }
.service-overview-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.service-overview-row:nth-child(1) .service-overview-image img { object-position: 55% center; }
.service-overview-row:nth-child(2) .service-overview-image img { object-position: 48% 42%; }
.service-overview-row:nth-child(3) .service-overview-image img { object-position: 50% center; }
.service-overview-row:nth-child(4) .service-overview-image img { object-position: 43% center; }
.service-globe { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 48% 48%, #173f72 0, #102d61 44%, #091a40 100%); }
.service-globe::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(99,205,183,.08), transparent 44%, rgba(99,205,183,.04)); pointer-events: none; }
.service-globe-canvas { display: block; width: 100%; height: 100%; }
.service-overview-row:nth-child(4) { background: var(--navy); }
.service-overview-row:nth-child(4) .service-overview-content h2 { color: #fff; }
.service-overview-row:nth-child(4) .service-overview-content p { color: rgba(255,255,255,.8); }
.service-overview-row:nth-child(4) .service-overview-content .service-overview-tagline { color: var(--mint); }
.service-overview-row:nth-child(4) .service-overview-content .button-outline { border-color: var(--mint); color: var(--mint); }
.service-overview-row:nth-child(4) .service-overview-content .button-outline:hover { background: var(--mint); color: var(--navy); }
.service-overview-content { display: flex; min-height: 0; flex-direction: column; justify-content: flex-start; padding: 48px 7% 52px 10%; }
.service-overview-row.reverse .service-overview-content { grid-column: 1; grid-row: 1; padding: 48px 10% 52px 9%; }
.service-overview-content h2 { max-width: 650px; margin: 0 0 18px; color: var(--blue); font-size: clamp(2rem,2.65vw,3.25rem); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.service-overview-content p { max-width: 680px; margin: 0 0 20px; color: #3d4b58; line-height: 1.58; }
.service-overview-content .service-overview-tagline { color: var(--navy); font-size: 1.12rem; font-weight: 650; line-height: 1.42; }
.service-overview-content .button { align-self: flex-start; margin-top: auto; }
.services-governance { display: grid; width: 83%; grid-template-columns: minmax(0,42%) minmax(0,1fr); gap: 8%; margin: 0 auto; padding: 88px 0 94px; background: #fff; box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); }
.services-governance h2 { max-width: 620px; margin: 0; color: var(--blue); font-size: clamp(2.6rem,3.55vw,4.25rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.services-governance-copy > p { max-width: 720px; margin: 0 0 38px; color: #3d4b58; font-size: 1.04rem; line-height: 1.65; }
.services-stat-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 50px; }
.services-stat { position: relative; min-width: 0; min-height: 168px; overflow: hidden; padding: 31px 28px 28px; background: var(--navy); clip-path: polygon(0 0,calc(100% - 27px) 0,100% 27px,100% 100%,0 100%); }
.services-stat::before { content: ""; position: absolute; top: 0; left: 0; width: 58px; height: 4px; background: var(--mint); }
.services-stat::after { content: none; }
.services-stat strong, .services-stat span { position: relative; z-index: 1; display: block; }
.services-stat strong { margin-bottom: 17px; color: var(--mint); font-size: clamp(2.4rem,3.3vw,4rem); font-weight: 400; letter-spacing: -.04em; line-height: .9; }
.services-stat span { max-width: 180px; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .065em; line-height: 1.35; text-transform: uppercase; }
.services-overview-cta { background: var(--mint-light); }
.services-overview-cta-inner { display: flex; width: 83%; margin: 0 auto; align-items: center; justify-content: space-between; gap: 60px; padding: 72px 0 76px; }
.services-overview-cta h2 { max-width: 850px; margin: 0 0 14px; color: var(--navy); font-size: clamp(2.3rem,3.3vw,4rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.services-overview-cta p { margin: 0; color: #3d4b58; font-size: 1.08rem; }
.services-overview-cta .button { flex: 0 0 auto; }

/* Service detail page */
.service-detail-hero { min-height: 680px; display: grid; grid-template-columns: 58% 42%; overflow: hidden; background: #fff; }
.service-hero-copy { align-self: center; padding: 95px 9vw 105px 8.5vw; }
.service-eyebrow, .section-eyebrow { margin: 0 0 22px; color: var(--mint); font-size: .82rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-hero-copy h1 { margin: 0 0 30px; color: var(--blue); font-size: clamp(3.8rem, 5.8vw, 7rem); font-weight: 400; letter-spacing: -.045em; line-height: .91; }
.service-lead { max-width: 680px; margin: 0 0 34px; color: #364353; font-size: clamp(1.2rem, 1.55vw, 1.65rem); line-height: 1.4; }
.service-primary-button { padding: .85rem 1.35rem; }
.service-hero-visual { position: relative; display: flex; min-height: 680px; align-items: flex-end; overflow: hidden; padding: 80px 7vw 95px 9vw; background: var(--navy); color: #fff; clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%); }
.service-hero-visual::before { content: ""; position: absolute; inset: -5% -25% 22% 1%; background: radial-gradient(circle at 75% 50%, rgba(99,205,183,.75), rgba(99,205,183,.18) 38%, transparent 66%); }
.service-hero-visual::after { content: ""; position: absolute; inset: 0; background: url("assets/Radial-Gradiant.png") 20% 25% / 145% auto no-repeat; opacity: .35; mix-blend-mode: screen; }
.service-hero-visual img { position: absolute; top: 82px; right: 16%; width: 92px; max-height: 300px; z-index: 1; opacity: .95; }
.service-hero-visual p { position: relative; z-index: 2; max-width: 390px; margin: 0; font-size: 1.22rem; line-height: 1.48; }
.service-overview { position: relative; display: grid; grid-template-columns: 40% 60%; gap: 7%; overflow: hidden; padding: 88px 8.5vw 94px; background: #fff; }
.service-overview::after { content: none; }
.service-overview > * { position: relative; z-index: 1; }
.service-overview h2, .service-capabilities h2, .service-approach h2, .service-cta h2 { margin: 0; color: var(--blue); font-size: clamp(2.45rem, 3.8vw, 4.6rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.service-overview-copy { max-width: 760px; margin: 0; padding: 8px 0 0; background: transparent; box-shadow: none; clip-path: none; }
.service-overview-copy p { max-width: 720px; margin: 0 0 24px; font-size: 1.09rem; line-height: 1.65; }
.service-overview-copy p:first-child { color: var(--blue); font-size: 1.22rem; font-weight: 600; line-height: 1.5; }
.service-capabilities { position: relative; overflow: hidden; padding: 88px 0 98px; background: var(--mint-light); }
.service-capabilities::after {
  content: "";
  position: absolute;
  right: -2%; top: 5%; bottom: 0;
  width: 43%;
  background: url("assets/exclamation-mark-pattern-light-02.png") center / cover no-repeat;
  opacity: .45;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.15) 22%, #000 48%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.15) 22%, #000 48%);
  pointer-events: none;
}
.service-section-inner { position: relative; z-index: 1; width: 83%; margin: auto; }
.service-capabilities h2 { max-width: 760px; margin-bottom: 42px; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.capability-card { min-height: 350px; padding: 34px 30px 38px; border-top: 5px solid var(--blue); background: rgba(255,255,255,.96); box-shadow: 0 14px 32px rgba(14,35,85,.07); }
.capability-card h3 { margin: 0 0 16px; color: var(--blue); font-size: 1.65rem; font-weight: 500; }
.capability-card p { margin: 0; color: #354454; line-height: 1.58; }
.service-approach { display: grid; grid-template-columns: 48% 52%; min-height: 650px; overflow: hidden; background: var(--charcoal); color: #fff; }
.approach-heading { position: relative; z-index: 2; padding: 105px 8.5vw; background: var(--navy); clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%); }
.section-eyebrow.light { color: var(--mint); }
.service-approach h2 { color: #fff; }
.approach-heading > p:last-child { max-width: 590px; margin: 34px 0 0; font-size: 1.05rem; line-height: 1.58; }
.approach-steps { display: grid; align-content: center; gap: 0; margin-left: -6%; padding: 75px 8vw 75px 12vw; }
.approach-steps article { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.approach-steps article:first-child { border-top: 1px solid rgba(255,255,255,.28); }
.approach-steps span { color: var(--mint); font-size: .85rem; font-weight: 800; }
.approach-steps h3 { margin: 0 0 8px; font-size: 1.35rem; font-weight: 500; }
.approach-steps p { max-width: 480px; margin: 0; color: rgba(255,255,255,.82); line-height: 1.48; }
.service-ai-callout { position: relative; display: grid; grid-template-columns: 55% 45%; min-height: 590px; overflow: hidden; background: var(--navy); color: #fff; }
.service-ai-copy { position: relative; z-index: 2; align-self: center; max-width: 850px; padding: 82px 8vw 86px 8.5vw; }
.service-ai-image { position: relative; z-index: 1; min-height: 590px; overflow: hidden; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
.service-ai-image::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(180deg, transparent, rgba(99,205,183,.36)); mix-blend-mode: screen; }
.service-ai-image img { width: 100%; height: 100%; object-fit: cover; object-position: 46% center; }
.service-ai-callout h2, .service-governance h2 { margin: 0; font-size: clamp(2.8rem, 4.3vw, 5.15rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.service-ai-callout h2 { max-width: 650px; margin-bottom: 32px; }
.service-ai-callout p:not(.section-eyebrow) { max-width: 690px; margin: 0 0 30px; color: rgba(255,255,255,.9); font-size: 1.08rem; line-height: 1.65; }
.service-ai-callout a { display: inline-block; max-width: 610px; color: var(--mint); font-size: .94rem; font-weight: 800; line-height: 1.45; text-underline-offset: 5px; }
.service-governance { position: relative; display: grid; grid-template-columns: 155px 36% 1fr; align-items: center; gap: 5%; min-height: 390px; overflow: hidden; padding: 72px 8.5vw; background: #fff; }
.service-governance::before, .service-governance::after { content: none; }
.service-governance > * { position: relative; z-index: 1; }
.governance-badge { display: grid; width: 138px; height: 138px; place-items: center; border-radius: 50%; background: var(--navy); box-shadow: 0 16px 34px rgba(14,35,85,.16); }
.governance-badge img { width: 112px; }
.service-governance h2 { color: var(--blue); }
.service-governance > p { max-width: 700px; margin: 0; padding: 0; background: transparent; box-shadow: none; clip-path: none; color: #354454; font-size: 1.08rem; line-height: 1.67; }
@media(min-width:761px){
  .service-ai-callout{z-index:2;overflow:visible}
  .service-ai-callout::after{content:"";position:absolute;z-index:3;left:calc(8.5vw + 37px);bottom:-78px;width:64px;height:78px;background:url('/assets/IDEKA-bottom-exclamation.svg') center/100% 100% no-repeat;pointer-events:none}
  .service-governance{z-index:1}
}
.service-cta { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 340px; align-items: center; gap: 70px; overflow: hidden; padding: 72px 10vw 72px 8.5vw; background: var(--mint-light); }
.service-cta::after { content: none; }
.service-cta > * { position: relative; z-index: 1; }
.service-cta h2 { max-width: 1040px; color: var(--navy); font-size: clamp(2.65rem, 3.55vw, 4.35rem); }
.service-cta p { max-width: 660px; margin: 22px 0 0; color: #354454; font-size: 1.12rem; line-height: 1.5; }
.service-cta .button { flex: 0 0 auto; padding: .95rem 1.45rem; background: var(--navy); color: #fff; }

/* Delivery teams and project execution */
.squads-models { padding: 92px 8.5vw 105px; background: #fff; }
.squads-models-heading { display: grid; grid-template-columns: 35% 1fr; gap: 7%; align-items: end; margin-bottom: 54px; }
.squads-models-heading .section-eyebrow { grid-column: 1; }
.squads-models-heading h2 { grid-column: 1; margin: 0; color: var(--blue); font-size: clamp(3rem, 4.4vw, 5.2rem); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.squads-models-heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; max-width: 680px; margin: 0 0 8px; color: #354454; font-size: 1.15rem; line-height: 1.6; }
.squads-model-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.squads-model-card { display: flex; min-height: 560px; flex-direction: column; padding: 34px 31px 30px; border-top: 5px solid var(--blue); background: #f5faf8; }
.squads-model-card h3 { min-height: 76px; margin: 0 0 20px; color: var(--blue); font-size: 1.65rem; font-weight: 500; line-height: 1.16; }
.squads-model-card > p { margin: 0 0 28px; color: #354454; line-height: 1.58; }
.model-fit { margin-top: auto; padding: 22px 0 0; border-top: 1px solid #c9d9d6; }
.model-fit strong { display: block; margin-bottom: 8px; color: var(--navy); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.model-fit p { margin: 0; color: #53606c; font-size: .92rem; line-height: 1.52; }
.squads-differences { display: grid; grid-template-columns: 42% 58%; min-height: 690px; overflow: hidden; background: var(--navy); color: #fff; }
.squads-difference-heading { padding: 102px 8.5vw; background: rgba(255,255,255,.035); clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%); }
.squads-difference-heading h2 { margin: 0; font-size: clamp(3rem, 4.5vw, 5.25rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.squads-difference-list { display: grid; align-content: center; gap: 0; padding: 72px 8vw 72px 10vw; }
.squads-difference-list article { padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.24); }
.squads-difference-list article:first-child { border-top: 1px solid rgba(255,255,255,.24); }
.squads-difference-list h3 { margin: 0 0 10px; color: #fff; font-size: 1.35rem; font-weight: 500; }
.squads-difference-list p { max-width: 650px; margin: 0; color: rgba(255,255,255,.82); line-height: 1.55; }
.squads-visibility { display: grid; grid-template-columns: 150px 39% 1fr; align-items: center; gap: 5%; min-height: 390px; padding: 72px 8.5vw; background: #fff; }
.squads-visibility-badge { display: grid; width: 138px; height: 138px; place-items: center; border-radius: 50%; background: var(--navy); box-shadow: 0 16px 34px rgba(14,35,85,.16); }
.squads-visibility-badge img { width: 112px; }
.squads-visibility h2 { margin: 0; color: var(--blue); font-size: clamp(2.8rem, 4.3vw, 5.15rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.squads-visibility > p { max-width: 700px; margin: 0; color: #354454; font-size: 1.08rem; line-height: 1.67; }
.squads-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 340px; align-items: center; gap: 70px; padding: 72px 10vw 72px 8.5vw; background: var(--mint-light); }
.squads-cta h2 { max-width: 920px; margin: 0; color: var(--navy); font-size: clamp(2.8rem, 4vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: .97; }
.squads-cta p { margin: 22px 0 0; color: #354454; font-size: 1.12rem; }
.squads-cta .button { padding: .95rem 1.45rem; background: var(--navy); color: #fff; }

/* Strategic recruitment */
.recruitment-overview { display: grid; grid-template-columns: 42% 58%; gap: 8%; padding: 92px 8.5vw 102px; background: #fff; }
.recruitment-overview h2, .recruitment-differences h2, .recruitment-transparency h2, .recruitment-cta h2 { margin: 0; color: var(--blue); font-size: clamp(2.8rem, 4.25vw, 5.1rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.recruitment-overview > div:last-child { max-width: 720px; padding-top: 14px; }
.recruitment-overview > div:last-child p { margin: 0 0 30px; color: #354454; font-size: 1.08rem; line-height: 1.65; }
.recruitment-overview > div:last-child strong { display: block; color: var(--blue); font-size: 1.3rem; font-weight: 600; line-height: 1.5; }
.recruitment-differences { position: relative; overflow: hidden; padding: 88px 0 100px; background: var(--mint-light); }
.recruitment-differences::after { content: ""; position: absolute; right: -2%; top: 5%; bottom: 0; width: 43%; background: url("assets/exclamation-mark-pattern-light-02.png") center / cover no-repeat; opacity: .45; mix-blend-mode: multiply; -webkit-mask-image: linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 22%,#000 48%); mask-image: linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 22%,#000 48%); pointer-events: none; }
.recruitment-differences .service-section-inner { position: relative; z-index: 1; }
.recruitment-differences h2 { margin-bottom: 45px; }
.recruitment-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.recruitment-card-grid article { min-height: 345px; padding: 34px 30px 38px; border-top: 5px solid var(--blue); background: rgba(255,255,255,.96); }
.recruitment-card-grid h3 { margin: 0 0 18px; color: var(--blue); font-size: 1.55rem; font-weight: 500; line-height: 1.18; }
.recruitment-card-grid p { margin: 0; color: #354454; line-height: 1.58; }
.recruitment-transparency { display: grid; grid-template-columns: 150px 39% 1fr; align-items: center; gap: 5%; min-height: 390px; padding: 72px 8.5vw; background: #fff; }
.recruitment-iso { display: grid; width: 138px; height: 138px; place-items: center; border-radius: 50%; background: var(--navy); box-shadow: 0 16px 34px rgba(14,35,85,.16); }
.recruitment-iso img { width: 112px; }
.recruitment-transparency > p { max-width: 700px; margin: 0; color: #354454; font-size: 1.08rem; line-height: 1.67; }
.recruitment-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; min-height: 340px; align-items: center; gap: 70px; padding: 72px 10vw 72px 8.5vw; background: var(--mint-light); }
.recruitment-cta h2 { max-width: 950px; color: var(--navy); }
.recruitment-cta p { margin: 22px 0 0; color: #354454; font-size: 1.12rem; }
.recruitment-cta .button { padding: .95rem 1.45rem; background: var(--navy); color: #fff; }

/* Desktop layout follows one viewport-based left guide across sections. */
@media (min-width: 761px) {
  /* The English hero has longer prescribed lines than the French version.
     Give those lines enough measure so the scroll cue retains clear space. */
  .home-page.lang-en .hero-message {
    left: 12%;
    max-width: min(960px, 82%);
  }

  /* Match the homepage/service-detail desktop navigation column exactly. */
  .interior-header > .nav {
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    width: 58.5%;
    box-sizing: border-box;
    padding: 52px 6.5% 0 3%;
  }
  .hero {
    overflow: visible;
    position: relative;
  }
  .brand-top {
    left: 3.1125vw;
    width: 240px;
    top: calc(5.5% - 30px);
  }
  .hero-photo {
    position: absolute;
    inset: 0 auto auto 0;
    width: 41.5%;
    height: 1120px;
    min-height: 1120px;
  }
  .hero-copy { grid-column: 2; }

  .about {
    min-height: 760px;
    position: relative;
  }
  .about-stats {
    padding: 285px 8.5vw 70px;
    position: relative;
    z-index: 3;
  }

  .section-inner { width: 83%; }

  .ai-copy { padding-left: 8.5vw; }
}

@media (max-width: 1050px) {
  .hero { grid-template-columns: 45% 55%; min-height: 740px; }
  .hero-photo { width: 45%; height: 900px; min-height: 900px; }
  .nav-links { gap: 1.2rem; }
  .hero-message { left: 10%; top: 30%; }
  .hero h1 { font-size: 3.5rem; }
  .about-stats { padding-top: 210px; }
  .about-copy { padding-right: 8%; }
  .section-inner { width: 90%; }
  .interior-brand { width: 205px; }
  .contact-layout { grid-template-columns: 43% 57%; }
  .contact-story { padding-inline: 6vw; }
  .contact-form-wrap { padding-right: 5vw; padding-left: calc(5vw + 8%); }
  .contact-hero-new { grid-template-columns: minmax(0,1fr) minmax(330px,.8fr); gap: 55px; padding-inline: 6vw; }
  .contact-form-section { grid-template-columns: minmax(230px,.5fr) minmax(0,1.2fr); gap: 55px; padding-inline: 6vw; }
  .contact-careers-new { grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); gap: 55px; padding-inline: 6vw; }
  .contact-composition { grid-template-columns: 45% 55%; }
  .contact-composition-copy { padding-left: 6vw; }
  .contact-composition-form { padding-right: 5vw; }
  .services-overview-hero { gap: 6%; padding-inline: 6vw; }
  .services-governance { width: 88%; gap: 6%; padding-inline: 0; }
  .services-overview-list { width: 88%; }
  .service-overview-row { grid-template-columns: 42% 58%; }
  .service-overview-row.reverse { grid-template-columns: 58% 42%; }
  .service-detail-hero { grid-template-columns: 60% 40%; }
  .service-hero-copy { padding-inline: 6vw; }
  .service-hero-visual { padding-inline: 9vw 5vw; }
  .service-overview { gap: 5%; padding-inline: 6vw; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  .hero { display: block; min-height: auto; position: relative; }
  .hero-photo {
    width: 100%;
    height: auto;
    min-height: 560px;
    background-image: url("assets/hero-female-mobile.png");
    background-position: center top;
    clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
  }
  .brand-top { width: 175px; top: 17px; left: 24px; }
  .hero-copy { min-height: 530px; position: relative; margin-top: -46px; padding-top: 46px; }
  .hero-copy::after {
    background:
      linear-gradient(142deg, #0c1d47 0%, rgba(12,29,71,.97) 24%, rgba(12,29,71,.79) 45%, rgba(12,29,71,.28) 64%, transparent 79%),
      radial-gradient(ellipse 112% 92% at 100% 100%, rgba(39,88,218,.74) 0%, rgba(29,70,185,.48) 34%, rgba(20,50,128,.22) 61%, transparent 88%);
  }
  .nav { position: absolute; top: 48px; right: 24px; padding: 0; }
  .home-page .hero > .nav,
  .service-home-hero > .nav { top: 48px; right: 24px; width: auto; padding: 0; z-index: 20; }
  .home-page .hero > .nav .nav-links { color: #0c1d47; }
  .nav-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    background: var(--mint);
    border-radius: 50%;
    padding: 0;
    margin: 0;
  }
  .nav-toggle span:not(.sr-only) { display: block; width: 20px; height: 2px; background: var(--navy); }
  .nav-links { display: none; position: absolute; right: 0; top: 56px; width: min(330px, calc(100vw - 48px)); padding: 24px; background: #fff; color: var(--navy); border-radius: 16px; flex-direction: column; align-items: stretch; box-shadow: 0 18px 50px rgba(0,0,0,.25); }
  .nav-links.open { display: flex; }
  .services-nav-item{display:block;align-self:auto}.services-nav-item>a{font-size:inherit}.services-nav-menu{display:none!important}
  .hero-message { position: relative; left: auto; top: auto; padding: 60px 25px 70px; }
  .hero h1 { font-size: clamp(2.55rem, 11vw, 4rem); }
  .hero-message p br { display: none; }
  .hero-pattern { right: -36%; top: 0; bottom: 0; width: 165%; height: 100%; opacity: .84; }
  .hero-scroll-cue { width: 43px; margin-top: 1rem; }

  .about { display: block; }
  .about-stats, .about-copy { padding: 52px 25px; }
  .about-brandline { gap: 18px; }
  .about-brandline strong { font-size: 1.8rem; }
  .stat { align-items: flex-start; flex-direction: column; gap: 3px; }
  .about-copy h2, .services h2 { font-size: 2.15rem; }

  .services { padding: 55px 0; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 270px; }

  .ai { display: flex; flex-direction: column; }
  .ai-copy { clip-path: none; padding: 62px 25px; }
  .ai-image { margin: 0; min-height: 430px; }

  .testimonial { grid-template-columns: 44px 1fr 44px; padding: 50px 15px; }
  .slider-arrow { width: 38px; height: 38px; font-size: 1.6rem; }
  .testimonial blockquote p { font-size: 1.45rem; }

  .logo-strip { min-height: 112px; padding: 0; }
  .logo-strip-group { min-width: max-content; width: 180vw; gap: 42px; padding: 0 30px; }
  .logo-strip img { display: block; width: 92px; }

  .footer { grid-template-columns: 65px 1fr; padding: 55px 24px; min-height: 520px; align-items: start; }
  .footer-mark { padding-top: 8px; }
  .footer-mark img { width: 48px; }
  .footer-cta p { font-size: 1.55rem; }
  .footer-meta { grid-column: 1 / -1; min-height: auto; flex-direction: row; justify-content: space-between; width: 100%; }
  .iso { width: 88px; }
  .footer-legal-row { align-items: flex-start; flex-direction: column; gap: 14px; }
  .footer-legal-row nav { flex-direction: column; gap: 10px; }

  .interior-header { min-height: 118px; display: block; padding: 0; }
  .interior-brand { position: absolute; top: 17px; left: 24px; width: 175px; }
  .interior-nav { position: static; }
  .interior-header .nav-toggle { position: absolute; top: 48px; right: 24px; }
  .interior-header .nav-links { top: 100px; right: 24px; z-index: 20; }
  .contact-layout { display: block; }
  .contact-story { padding: 65px 25px 75px; clip-path: none; }
  .contact-story::after { left: 0; top: 34%; width: 100%; height: 72%; opacity: .48; }
  .contact-story h1 { font-size: clamp(2.75rem, 13vw, 4.2rem); }
  .contact-intro { font-size: 1rem; }
  .contact-facts > div { grid-template-columns: 1fr; gap: 5px; }
  .contact-form-wrap { margin-left: 0; padding: 65px 25px 75px; }
  .contact-form-heading h2, .contact-success h2 { font-size: 2rem; }
  .form-grid { grid-template-columns: 1fr; }
  .contact-careers { display: block; min-height: auto; }
  .contact-careers-heading { padding: 65px 25px 55px; border-right: 0; border-bottom: 1px solid rgba(16,37,78,.2); }
  .contact-careers-copy { padding: 65px 25px 75px; }
  .careers-actions { align-items: flex-start; flex-direction: column; }

  .contact-hero-new { display: block; padding: 65px 25px 0; }
  .contact-hero-copy { padding-bottom: 48px; }
  .contact-hero-copy h1 { font-size: clamp(2.8rem, 13vw, 4.4rem); }
  .contact-expectation-new { padding-bottom: 55px; }
  .contact-direct-grid { grid-template-columns: 1fr; }
  .contact-direct-grid a, .contact-direct-grid a + a { padding: 20px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .contact-direct-grid a:last-child { border-bottom: 0; }
  .contact-form-section { display: block; padding: 70px 25px 80px; }
  .contact-form-intro { margin-bottom: 42px; padding: 0; }
  .contact-form-panel { padding: 30px 22px 34px; }
  .contact-careers-new { display: block; min-height: auto; }
  .contact-careers-title, .contact-careers-body { padding: 65px 25px 72px; }
  .contact-careers-body { border-left: 0; border-top: 1px solid rgba(16,37,78,.22); }
  .contact-composition { display: block; min-height: auto; overflow: visible; }
  .contact-composition-copy { padding: 65px 25px 55px; }
  .contact-composition .contact-expectation-new { margin-top: 32px; }
  .contact-composition-form { margin: 0; padding: 62px 25px 72px; clip-path: none; }
  .contact-composition-form .contact-form-intro { margin-bottom: 32px; }
  .services-overview-hero { display: block; padding: 65px 25px 72px; }
  .services-overview-hero h1 { font-size: clamp(2.8rem,12vw,4.2rem); }
  .services-overview-intro { margin-top: 40px; }
  .services-overview-list { width: auto; padding: 55px 20px 65px; }
  .service-overview-row, .service-overview-row.reverse { display: flex; height: auto; min-height: auto; flex-direction: column; margin-bottom: 28px; }
  .service-overview-row.reverse .service-overview-image { order: 0; }
  .service-overview-image, .service-overview-row.reverse .service-overview-image { min-height: 0; height: 260px; clip-path: polygon(0 0,100% 0,100% 90%,0 100%); }
  .service-overview-content, .service-overview-row.reverse .service-overview-content { padding: 36px 28px 42px; }
  .service-overview-content h2 { font-size: clamp(2rem,9vw,2.8rem); }
  .services-governance { display: block; width: auto; margin: 0; padding: 65px 25px 72px; }
  .services-governance-copy { margin-top: 38px; }
  .services-stat-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .services-stat { min-height: 145px; padding: 25px 20px; }
  .services-overview-cta-inner { display: block; width: auto; padding: 60px 25px 65px; }
  .services-overview-cta .button { margin-top: 30px; }

  .legal-hero { padding: 65px 25px 75px; }
  .legal-hero h1 { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .legal-intro { font-size: 1rem; }
  .legal-layout { display: block; width: auto; padding: 65px 25px 80px; }
  .legal-aside { position: static; margin-bottom: 55px; }

  .service-detail-hero { display: flex; min-height: auto; flex-direction: column; }
  .service-hero-copy { width: 100%; align-self: stretch; padding: 70px 25px 75px; }
  .service-hero-copy h1 { font-size: clamp(2.9rem, 12vw, 4rem); }
  .service-hero-visual { width: 100%; min-height: 430px; padding: 185px 35px 60px; clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%); }
  .service-hero-visual img { top: 75px; right: 35px; width: 68px; max-height: 210px; }
  .service-hero-visual p { font-size: 1.08rem; }
  .service-overview { display: block; padding: 75px 25px; }
  .service-overview-copy { margin: 35px 0 0; padding: 0; }
  .service-capabilities { padding: 70px 0; }
  .service-section-inner { width: calc(100% - 50px); }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 260px; }
  .capability-card > span { margin-bottom: 35px; }
  .service-approach { display: block; }
  .approach-heading { padding: 75px 25px 90px; clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); }
  .approach-steps { margin: 0; padding: 55px 25px 70px; }
  .service-ai-callout { display: block; min-height: auto; }
  .service-ai-copy { max-width: none; padding: 70px 25px 75px; }
  .service-ai-image { min-height: 0; height: auto; clip-path: polygon(0 9%, 100% 0, 100% 100%, 0 100%); }
  .service-ai-image::after { display: none; }
  .service-ai-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
  .service-governance { grid-template-columns: 88px 1fr; gap: 24px; padding: 70px 25px; }
  .governance-badge { width: 82px; height: 82px; }
  .governance-badge img { width: 68px; }
  .service-governance > p { grid-column: 1 / -1; padding: 0; }
  .service-cta { display: flex; min-height: 430px; align-items: flex-start; flex-direction: column; justify-content: center; padding: 75px 25px; }
  .service-cta::after { right: -60%; width: 130%; }

  .squads-models { padding: 70px 25px 80px; }
  .squads-models-heading { display: block; margin-bottom: 42px; }
  .squads-models-heading > p:last-child { margin-top: 28px; }
  .squads-model-grid { grid-template-columns: 1fr; }
  .squads-model-card { min-height: auto; }
  .squads-model-card h3 { min-height: auto; }
  .model-fit { margin-top: 12px; }
  .squads-differences { display: block; min-height: auto; }
  .squads-difference-heading { padding: 70px 25px 85px; clip-path: polygon(0 0,100% 0,100% 92%,0 100%); }
  .squads-difference-list { padding: 55px 25px 70px; }
  .squads-visibility { grid-template-columns: 88px 1fr; gap: 24px; padding: 70px 25px; }
  .squads-visibility-badge { width: 82px; height: 82px; }
  .squads-visibility-badge img { width: 68px; }
  .squads-visibility > p { grid-column: 1 / -1; }
  .squads-cta { display: flex; min-height: 420px; align-items: flex-start; flex-direction: column; justify-content: center; padding: 72px 25px; }

  .recruitment-overview { display: block; padding: 72px 25px 80px; }
  .recruitment-overview > div:last-child { margin-top: 36px; padding: 0; }
  .recruitment-differences { padding: 70px 0 78px; }
  .recruitment-card-grid { grid-template-columns: 1fr; }
  .recruitment-card-grid article { min-height: auto; }
  .recruitment-transparency { grid-template-columns: 88px 1fr; gap: 24px; padding: 70px 25px; }
  .recruitment-iso { width: 82px; height: 82px; }
  .recruitment-iso img { width: 68px; }
  .recruitment-transparency > p { grid-column: 1/-1; }
  .recruitment-cta { display: flex; min-height: 420px; align-items: flex-start; flex-direction: column; justify-content: center; padding: 72px 25px; }
}

/* Keep the homepage header compact on narrow tablet/mobile browser widths. */
@media (min-width: 761px) and (max-width: 900px) {
  .home-page .hero > .nav,
  .service-home-hero > .nav {
    position: absolute;
    z-index: 20;
    top: 32px;
    right: 24px;
    width: auto;
    padding: 0;
  }
  .home-page .nav-toggle,
  .service-home-hero .nav-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    background: var(--mint);
    border-radius: 50%;
    padding: 0;
    margin: 0;
  }
  .home-page .nav-toggle span:not(.sr-only),
  .service-home-hero .nav-toggle span:not(.sr-only) {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--navy);
  }
  .home-page .nav-links,
  .service-home-hero .nav-links {
    display: none;
    position: absolute;
    right: 0;
    top: 56px;
    width: min(330px, calc(100vw - 48px));
    padding: 24px;
    background: #fff;
    color: var(--navy);
    border-radius: 16px;
    flex-direction: column;
    align-items: stretch;
    box-shadow: 0 18px 50px rgba(0,0,0,.25);
    color: #0c1d47;
  }
  .home-page .nav-links.open,
  .service-home-hero .nav-links.open { display: flex; }
}

/* Service detail hierarchy: section headings remain secondary to the page H1 on desktop. */
@media (min-width: 761px) {
  .service-overview h2,
  .service-capabilities h2,
  .service-ai-callout h2,
  .service-governance h2,
  .service-cta h2,
  .squads-models-heading h2,
  .squads-difference-heading h2,
  .squads-visibility h2,
  .squads-cta h2,
  .recruitment-overview h2,
  .recruitment-differences h2,
  .recruitment-transparency h2,
  .recruitment-cta h2 {
    font-size: clamp(2.4rem, 3.15vw, 4rem);
  }
}

/* Service hero deliberately mirrors the homepage hero, but remains self-contained. */
.service-home-hero { overflow: hidden; }
.service-home-hero .hero-message { top: 29%; }
.hero-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 0 0 28px; color: rgba(255,255,255,.68); font-size: .78rem; }
.hero-breadcrumb a { color: #fff; text-decoration: none; }
.hero-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.hero-breadcrumb span[aria-current="page"] { color: var(--mint); font-weight: 700; }
@media (min-width: 761px) {
  .service-home-hero .hero-photo {
    position: relative;
    inset: auto;
    width: 100%;
    height: 900px;
    min-height: 900px;
  }
  .service-home-hero .brand-top {
    top: 32px;
    width: 240px;
  }
}
@media (max-width: 760px) {
  .service-home-hero .hero-message { padding-top: 52px; }
  .hero-breadcrumb { margin-bottom: 24px; }
}
/* AI Expertise Centre */
.ai-centre-body{background:#061631}.ai-centre-header{position:absolute;z-index:20;width:100%;background:transparent}.ai-film-hero{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 68% 45%,#123f46 0,#071d34 35%,#030b18 78%)}
#ai-particle-film{position:absolute;inset:0;width:100%;height:100%;display:block}.ai-film-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,10,24,.86) 0%,rgba(2,10,24,.45) 42%,rgba(2,10,24,.03) 72%),linear-gradient(0deg,rgba(2,10,24,.55),transparent 45%);pointer-events:none}
.ai-film-copy{position:absolute;z-index:2;left:max(6.7vw,48px);bottom:15%;width:min(680px,48vw);color:#fff}.ai-film-copy h1{font-size:clamp(3.5rem,6vw,7rem);line-height:.92;font-weight:400;letter-spacing:-.055em;margin:.25em 0}.ai-film-copy>p:last-child{font-size:clamp(1rem,1.25vw,1.35rem);line-height:1.55;max-width:610px}.ai-scroll-cue{position:absolute;z-index:3;left:50%;bottom:3.5%;width:38px;height:76px;border:1px solid rgba(103,224,199,.7);border-radius:30px;color:#69e2c7;display:grid;place-items:center;text-decoration:none}.ai-scroll-cue span{font-size:1.4rem;animation:ai-scroll 1.6s ease-in-out infinite}@keyframes ai-scroll{0%,100%{transform:translateY(-8px);opacity:.35}50%{transform:translateY(10px);opacity:1}}
.ai-centre-intro,.ai-capabilities,.ai-model>div:last-child,.ai-centre-cta{width:min(86.5%,1700px);margin-inline:auto}.ai-centre-intro{background:#fff;display:grid;grid-template-columns:.9fr 1fr;gap:9vw;padding:9rem 0}.ai-centre-intro h2,.ai-cap-heading h2,.ai-model h2,.ai-centre-cta h2{font-size:clamp(2.6rem,4.5vw,5.2rem);line-height:.98;font-weight:400;letter-spacing:-.045em;color:#0d4da4;margin:.2em 0}.ai-centre-intro>p{font-size:clamp(1.15rem,1.45vw,1.55rem);line-height:1.7;color:#263b51;padding-top:2.5rem}.ai-centre-intro:before{content:"";position:absolute;left:0;right:0;background:#fff}.ai-capabilities{width:100%;padding:8rem 6.7%;background:#aee8dc;position:relative;overflow:hidden}.ai-capabilities:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(13,77,164,.16);border-radius:50%;right:-160px;top:-220px;box-shadow:0 0 0 75px rgba(13,77,164,.035),0 0 0 150px rgba(13,77,164,.025)}.ai-cap-heading{max-width:850px}.ai-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(13,77,164,.22);margin-top:5rem;position:relative;z-index:1}.ai-cap-grid article{background:#f8fbfa;padding:3.5rem 3rem;min-height:330px}.ai-cap-grid span{color:#50cdb5;font-weight:700}.ai-cap-grid h3{font-size:clamp(1.5rem,2vw,2.2rem);line-height:1.08;color:#0d4da4;margin:2.2rem 0 1.2rem}.ai-cap-grid p{line-height:1.7;color:#35475a}.ai-model{position:relative;min-height:680px;background:#071b3d;color:#fff;display:grid;place-items:center;overflow:hidden}.ai-model>div:last-child{position:relative;z-index:2;max-width:760px;margin-left:12%;margin-right:auto}.ai-model h2{color:#fff}.ai-model p:last-child{font-size:1.2rem;line-height:1.7;max-width:680px}.ai-model-orbit{position:absolute;right:7%;width:min(42vw,600px);aspect-ratio:1;border:1px solid rgba(105,226,199,.36);border-radius:50%;animation:orbit 18s linear infinite}.ai-model-orbit:before,.ai-model-orbit:after,.ai-model-orbit i{content:"";position:absolute;border:1px solid rgba(105,226,199,.22);border-radius:50%;inset:12%}.ai-model-orbit:after{inset:27%}.ai-model-orbit i:nth-child(1){width:18px;height:18px;inset:8% auto auto 18%;background:#69e2c7;box-shadow:0 0 25px #69e2c7}.ai-model-orbit i:nth-child(2){inset:auto 5% 30% auto;width:10px;height:10px;background:#69e2c7}.ai-model-orbit i:nth-child(3){inset:46%;background:#69e2c7}@keyframes orbit{to{transform:rotate(360deg)}}.ai-centre-cta{padding:7rem 0;display:flex;align-items:center;justify-content:space-between;gap:4rem;color:#fff}.ai-centre-cta h2{color:#fff;max-width:950px}.ai-centre-cta p{font-size:1.15rem}.ai-centre-cta .button{flex:none}
@media(min-width:761px){.ai-centre-cta{width:83%;max-width:none}}
@media(max-width:760px){.ai-film-copy{left:24px;right:24px;bottom:15%;width:auto}.ai-film-copy h1{font-size:clamp(3rem,14vw,4.5rem)}.ai-film-vignette{background:linear-gradient(0deg,rgba(2,10,24,.92),rgba(2,10,24,.08) 78%)}.ai-centre-intro{grid-template-columns:1fr;gap:1rem;padding:6rem 0}.ai-centre-intro>p{padding-top:0}.ai-capabilities{padding:6rem 24px}.ai-cap-grid{grid-template-columns:1fr;margin-top:3rem}.ai-cap-grid article{min-height:0;padding:2.5rem 2rem}.ai-model{min-height:700px;padding:5rem 0}.ai-model>div:last-child{margin:0 auto;width:calc(100% - 48px);align-self:start}.ai-model-orbit{width:130vw;right:-52%;bottom:-32%}.ai-centre-cta{padding:5rem 0;align-items:flex-start;flex-direction:column}}
.ai-centre-intro:before{content:none}

/* Refined AI Centre editorial sections */
.ai-centre-intro{width:100%;max-width:none;margin:0;padding:9rem max(6.7vw,48px);background:#fff}
.ai-capabilities{width:100%;max-width:none;margin:0;padding:9rem max(6.7vw,48px) 10rem;background:linear-gradient(135deg,#06152f 0%,#0a2450 58%,#0a3545 100%)}
.ai-capabilities:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(105,226,199,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(105,226,199,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent)}
.ai-capabilities:after{width:650px;height:650px;right:-210px;top:-320px;border-color:rgba(105,226,199,.28);box-shadow:0 0 0 90px rgba(105,226,199,.025),0 0 0 180px rgba(105,226,199,.018)}
.ai-cap-heading{position:relative;z-index:2;max-width:1000px}.ai-cap-heading h2{color:#fff;max-width:860px}.ai-cap-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;background:none;margin-top:6rem;align-items:start}
.ai-cap-grid article{position:relative;grid-column:span 4;min-height:390px;padding:4rem 3rem 3rem;background:linear-gradient(145deg,rgba(19,54,101,.96),rgba(6,25,57,.98));border:1px solid rgba(105,226,199,.2);clip-path:polygon(0 0,calc(100% - 46px) 0,100% 46px,100% 100%,0 100%);box-shadow:0 28px 70px rgba(0,5,18,.25);transition:transform .35s ease,border-color .35s ease}
.ai-cap-grid article:nth-child(2){margin-top:3.5rem}.ai-cap-grid article:nth-child(3){margin-top:7rem}.ai-cap-grid article:before{content:"";position:absolute;left:0;top:0;width:88px;height:3px;background:#69e2c7;box-shadow:0 0 22px #69e2c7}.ai-cap-grid article:hover{transform:translateY(-10px);border-color:rgba(105,226,199,.55)}
.ai-cap-grid span{display:block;font-size:3.6rem;line-height:1;color:rgba(105,226,199,.25);font-weight:400}.ai-cap-grid h3{color:#fff;font-size:clamp(1.7rem,2.15vw,2.5rem);margin:3.2rem 0 1.5rem}.ai-cap-grid p{color:#c5d4e3;font-size:1.05rem;line-height:1.75}
@media(max-width:760px){.ai-centre-intro{padding:6rem 24px}.ai-capabilities{padding:6rem 24px}.ai-cap-grid{grid-template-columns:1fr;margin-top:3.5rem}.ai-cap-grid article{grid-column:auto;min-height:0;margin-top:0!important;padding:3rem 2rem}.ai-cap-grid span{font-size:2.8rem}}

/* Static hero and joined AI narrative */
.ai-film-hero{background:radial-gradient(circle at 78% 35%,rgba(61,190,165,.22),transparent 27%),radial-gradient(circle at 65% 68%,rgba(18,92,124,.28),transparent 36%),linear-gradient(135deg,#020b18 0%,#06182e 58%,#082b38 100%)}
.ai-film-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 54%,rgba(105,226,199,.08) 54.1%,transparent 54.35%),linear-gradient(28deg,transparent 68%,rgba(105,226,199,.055) 68.1%,transparent 68.35%);pointer-events:none}
.ai-film-hero:after{content:"";position:absolute;inset:-12%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 48% 52%,rgba(2,12,35,.94) 0,rgba(3,19,48,.7) 18%,transparent 43%),radial-gradient(circle at 8% 10%,rgba(105,226,199,.72) 0,rgba(105,226,199,.34) 20%,rgba(105,226,199,.1) 38%,transparent 58%),radial-gradient(circle at 92% 88%,rgba(105,226,199,.68) 0,rgba(45,175,158,.3) 22%,rgba(45,175,158,.09) 42%,transparent 62%),radial-gradient(circle at 70% 12%,rgba(83,211,190,.36) 0,rgba(83,211,190,.12) 30%,transparent 53%),radial-gradient(circle at 24% 92%,rgba(37,176,166,.4) 0,rgba(37,139,151,.12) 31%,transparent 56%);background-size:125% 125%,100% 100%,100% 100%,100% 100%,100% 100%;background-position:42% 48%,center,center,center,center;filter:blur(9px);opacity:.72;transform:scale(.98);animation:ai-ambient-pulse 5.2s cubic-bezier(.45,0,.55,1) infinite alternate}
.ai-film-copy,.ai-scroll-cue{z-index:3}
@keyframes ai-ambient-pulse{0%{opacity:.25;transform:translate3d(-4%,3%,0) scale(.86);background-position:36% 44%,center,center,center,center;filter:blur(15px)}38%{opacity:.94;transform:translate3d(2%,-3%,0) scale(1.1);background-position:52% 56%,center,center,center,center;filter:blur(6px)}72%{opacity:.43;transform:translate3d(5%,2%,0) scale(.94);background-position:62% 46%,center,center,center,center;filter:blur(12px)}100%{opacity:1;transform:translate3d(-2%,-2%,0) scale(1.16);background-position:44% 58%,center,center,center,center;filter:blur(7px)}}
@media(prefers-reduced-motion:reduce){.ai-film-hero:after{animation:none;opacity:.46;transform:none}}
.ai-energy-lines{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}.ai-energy-lines i{position:absolute;display:block;width:145vw;height:1px;left:-18vw;background:rgba(105,226,199,.12);transform-origin:left center}.ai-energy-lines i:first-child{top:5%;transform:rotate(31deg)}.ai-energy-lines i:last-child{top:105%;left:27%;transform:rotate(-64deg)}
.ai-energy-lines i:after{content:"";position:absolute;top:-1px;left:0;width:16%;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(105,226,199,.25) 25%,#d9fff7 72%,#69e2c7 88%,transparent 100%);filter:drop-shadow(0 0 4px #69e2c7) drop-shadow(0 0 10px rgba(105,226,199,.85));transform:translateX(-130%);animation:ai-line-spark 3.6s cubic-bezier(.35,.08,.18,1) infinite}
.ai-energy-lines i:last-child:after{animation-duration:4.4s;animation-delay:1.15s;width:13%}
@keyframes ai-line-spark{0%,12%{transform:translateX(-130%);opacity:0}18%{opacity:1}72%{opacity:1}82%,100%{transform:translateX(760%);opacity:0}}
@media(prefers-reduced-motion:reduce){.ai-energy-lines i:after{animation:none;display:none}}

/* One directional energy streak: always enters from the top. */
.ai-film-hero:before{content:none}
.ai-energy-lines i{width:145vh;height:1px;left:72%;top:-18%;background:rgba(105,226,199,.055);transform-origin:left center}
.ai-energy-lines i:first-child{top:-18%;left:72%;transform:rotate(90deg)}
.ai-energy-lines i:last-child{display:none}
.ai-energy-lines i:first-child:after{width:18%;animation:ai-line-spark-down 3.9s cubic-bezier(.35,.08,.18,1) infinite}
@keyframes ai-line-spark-down{0%,14%{transform:translateX(-130%);opacity:0}20%{opacity:1}72%{opacity:1}84%,100%{transform:translateX(720%);opacity:0}}

/* Two crossing streaks plus a third vertical streak on desktop. */
.ai-energy-lines i{width:145vw;left:-18vw;background:rgba(105,226,199,.075)}
.ai-energy-lines i:first-child{display:block;top:5%;left:-18vw;transform:rotate(31deg)}
.ai-energy-lines i:last-child{display:block;top:105%;left:27%;transform:rotate(-64deg)}
.ai-energy-lines i:first-child:after{width:16%;animation:ai-line-spark 3.6s cubic-bezier(.35,.08,.18,1) infinite}
.ai-energy-lines i:last-child:after{width:13%;animation:ai-line-spark 4.4s cubic-bezier(.35,.08,.18,1) 1.15s infinite}
.ai-energy-lines:before{content:"";position:absolute;z-index:2;top:-28%;left:72%;width:3px;height:24%;background:linear-gradient(180deg,transparent 0%,rgba(105,226,199,.2) 24%,#d9fff7 70%,#69e2c7 87%,transparent 100%);filter:drop-shadow(0 0 5px #69e2c7) drop-shadow(0 0 12px rgba(105,226,199,.8));animation:ai-vertical-streak 4.1s cubic-bezier(.35,.08,.18,1) .55s infinite}
.ai-energy-lines:after{content:"";position:absolute;z-index:1;top:0;bottom:0;left:72%;width:1px;background:rgba(105,226,199,.065)}
@keyframes ai-vertical-streak{0%,12%{transform:translateY(-30%);opacity:0}20%{opacity:1}76%{opacity:1}88%,100%{transform:translateY(660%);opacity:0}}
@media(max-width:760px){.ai-energy-lines:before{display:block;left:76%}.ai-energy-lines:after{left:76%}.ai-energy-lines i{width:190vw}.ai-energy-lines i:first-child{top:16%;left:-55%;transform:rotate(42deg)}.ai-energy-lines i:last-child{top:90%;left:2%;transform:rotate(-52deg)}}

/* Minimal desktop services flyout: no containing panel. */
@media(min-width:761px){.services-nav-menu{left:-14px;width:320px;padding:12px 0 0;background:transparent;border:0;box-shadow:none;clip-path:none}.services-nav-menu>a{position:relative;min-height:46px;padding:0 0 0 13px;border-bottom:1px solid rgba(255,255,255,.42);text-shadow:0 1px 8px rgba(2,11,28,.65)}.services-nav-menu>a:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--mint);transform:translateY(-50%);box-shadow:0 0 8px rgba(105,226,199,.65)}.services-nav-menu i{width:24px;height:24px;flex-basis:24px;border:1px solid rgba(255,255,255,.8);background:rgba(7,25,58,.28);color:#fff;font-size:.68rem}.services-nav-menu>a:hover,.services-nav-menu>a:focus-visible{padding-left:17px}.services-nav-menu>a:hover i,.services-nav-menu>a:focus-visible i{font-size:.68rem;background:var(--mint);border-color:var(--mint);color:#082d39}}
@media(min-width:761px){.services-nav-menu{top:calc(100% + 18px);left:-22px;width:348px;padding:15px 20px 17px;background:rgba(7,25,58,.98);border:1px solid rgba(105,226,199,.3);border-top:3px solid var(--mint);box-shadow:0 24px 60px rgba(0,7,24,.38);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);backdrop-filter:blur(12px)}.services-nav-menu>a{padding-left:14px;text-shadow:none}.services-nav-menu>a:hover,.services-nav-menu>a:focus-visible{padding-left:19px}}
@media(min-width:761px){.services-nav-menu i{position:relative;font-size:0!important}.services-nav-menu i:before{content:"";position:absolute;left:7px;top:11px;width:9px;height:1px;background:currentColor}.services-nav-menu i:after{content:"";position:absolute;left:12px;top:8px;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.services-nav-menu>a:hover i,.services-nav-menu>a:focus-visible i{transform:scale(1.1)}}
.services-nav-menu i:before,.services-nav-menu i:after{content:none!important}.services-nav-menu i svg{display:block;width:14px;height:14px;overflow:visible}.services-nav-menu i svg path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.services-nav-item{width:100%}.services-nav-item>a{width:100%;padding:0}.services-nav-menu{position:static!important;display:block!important;width:100%;margin:13px 0 5px;padding:4px 0 4px 16px;background:transparent;border:0;border-left:2px solid var(--mint);border-radius:0;box-shadow:none;clip-path:none;opacity:1;visibility:visible;transform:none}.services-nav-menu:before{content:none}.services-nav-menu>a{min-height:38px;padding:0 0 0 13px;color:var(--navy);border:0;text-shadow:none;font-size:.78rem}.services-nav-menu>a:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--mint);transform:translateY(-50%)}.services-nav-menu i{width:21px;height:21px;flex:0 0 21px;border:1px solid rgba(14,35,85,.38);background:transparent;color:var(--navy)}.services-nav-menu i svg{width:12px;height:12px}.services-nav-menu>a:hover,.services-nav-menu>a:focus-visible{padding-left:13px;color:var(--blue)}}
@media(max-width:760px){.services-nav-menu{margin:10px 0 7px;padding:2px 0 2px 10px;border-left:0}.services-nav-menu>a{min-height:46px;margin:2px 0;padding:0 11px 0 14px;border-radius:999px;transition:background .18s ease,color .18s ease}.services-nav-menu>a:before{content:none}.services-nav-menu>a:hover,.services-nav-menu>a:focus-visible,.services-nav-menu>a:active{padding-left:14px;background:#eef1f2;color:var(--blue);outline:none}.services-nav-menu i{margin-left:10px}}
@media(max-width:760px){.nav-links>a:not(.button),.services-nav-item>a{display:flex;align-items:center;min-height:43px;margin:-4px -10px;padding:0 10px;border-radius:999px;transition:background .18s ease,color .18s ease}.nav-links>a:not(.button):hover,.nav-links>a:not(.button):focus-visible,.services-nav-item>a:hover,.services-nav-item>a:focus-visible{background:#f6f7f8;color:var(--blue);outline:none}.services-nav-menu>a:hover,.services-nav-menu>a:focus-visible,.services-nav-menu>a:active{background:#f4f6f7}}

/* Insights archive and editorial articles */
.insights-header{background:var(--navy)}.insights-page{background:#f3f7f6}.insights-hero{min-height:610px;padding:200px 8.5vw 100px;color:#fff;background:linear-gradient(120deg,#0e2355 0%,#0e2355 57%,#123d54 100%);position:relative;overflow:hidden}.insights-hero:after{content:"";position:absolute;width:44vw;aspect-ratio:1;border:1px solid rgba(99,205,183,.18);border-radius:50%;right:-12vw;top:5%;box-shadow:0 0 0 80px rgba(99,205,183,.025),0 0 0 160px rgba(99,205,183,.018)}.insights-hero h1{position:relative;z-index:1;max-width:950px;margin:.25em 0;font-size:clamp(3.8rem,6.3vw,7.6rem);font-weight:400;letter-spacing:-.055em;line-height:.91}.insights-hero>p:last-of-type{position:relative;z-index:1;max-width:700px;font-size:1.2rem;line-height:1.6}.insights-grid{width:min(83%,1500px);margin:0 auto;padding:110px 0 140px;display:grid;grid-template-columns:repeat(2,1fr);gap:70px 42px}.insight-card{background:#fff;box-shadow:0 18px 50px rgba(14,35,85,.07)}.insight-card.featured{grid-column:1/-1;display:grid;grid-template-columns:58% 42%;min-height:540px}.insight-image{display:block;overflow:hidden;min-height:330px}.insight-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.insight-card:hover .insight-image img{transform:scale(1.035)}.insight-card-copy{padding:42px}.insight-card.featured .insight-card-copy{padding:65px 58px;display:flex;flex-direction:column;justify-content:center}.insight-meta{display:flex;gap:22px;color:#4abda7;font-size:.73rem;font-weight:700;letter-spacing:.08em}.insight-card h2{margin:24px 0 18px;color:var(--blue);font-size:clamp(1.8rem,2.5vw,3.2rem);font-weight:400;line-height:1.02;letter-spacing:-.035em}.insight-card h2 a{text-decoration:none}.insight-card p{color:#435266;line-height:1.65}.insight-read{display:inline-flex;align-items:center;gap:12px;margin-top:25px;color:var(--blue);font-weight:700;text-decoration:none}.insight-read i{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-style:normal}.article-page{background:#fff}.article-hero{padding:175px 8.5vw 0;background:var(--navy);color:#fff}.article-hero .hero-breadcrumb{position:static;padding-bottom:55px}.article-title{max-width:1120px}.article-title h1{font-size:clamp(3.5rem,5.9vw,7rem);font-weight:400;line-height:.92;letter-spacing:-.055em;margin:.22em 0}.article-title>div>p:nth-of-type(2){max-width:820px;font-size:1.2rem;line-height:1.6}.article-title .insight-meta{margin:35px 0 55px}.article-hero figure{margin:0;transform:translateY(75px);height:min(54vw,720px);clip-path:polygon(0 0,94% 0,100% 12%,100% 100%,0 100%)}.article-hero figure img{width:100%;height:100%;object-fit:cover}.article-body{width:min(760px,calc(100% - 48px));margin:160px auto 110px;color:#28394c;font-size:1.12rem;line-height:1.85}.article-body h2{margin:2.2em 0 .65em;color:var(--blue);font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1.05;letter-spacing:-.035em}.article-back{width:min(83%,1500px);margin:auto;padding:0 0 100px}.article-back a{color:var(--blue);font-weight:700;text-decoration:none}
@media(max-width:760px){.insights-hero{min-height:560px;padding:170px 24px 75px}.insights-hero h1{font-size:3.75rem}.insights-grid{width:calc(100% - 48px);padding:65px 0 90px;grid-template-columns:1fr;gap:32px}.insight-card.featured{grid-column:auto;display:block;min-height:0}.insight-card-copy,.insight-card.featured .insight-card-copy{padding:30px 24px}.insight-card h2{font-size:2rem}.article-hero{padding:150px 24px 0}.article-hero .hero-breadcrumb{padding-bottom:35px}.article-title h1{font-size:3.3rem}.article-hero figure{height:72vw;transform:translateY(45px)}.article-body{margin-top:100px}}
.article-progress{position:fixed;z-index:1000;left:0;right:0;top:0;height:5px;background:rgba(99,205,183,.16);opacity:0;transition:opacity .2s ease;pointer-events:none}.article-progress.visible{opacity:1}.article-progress span{display:block;width:100%;height:100%;background:var(--mint);box-shadow:0 0 12px rgba(99,205,183,.55);transform:scaleX(0);transform-origin:left center;will-change:transform}
@media(prefers-reduced-motion:reduce){.ai-energy-lines:before{display:block;animation-duration:7s}}
.ai-model{min-height:580px;background:linear-gradient(135deg,#06152f 0%,#0a2450 58%,#0a3545 100%);place-items:center;position:relative}
.ai-model:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(105,226,199,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(105,226,199,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent)}
.ai-model-orbit{display:none}.ai-model>div:last-child{position:relative;z-index:2;width:min(86.5%,1700px);max-width:none;margin:0 auto}.ai-model>div:last-child>p:last-of-type{max-width:760px}
.ai-model-steps{display:flex;align-items:center;width:min(900px,75%);margin-top:5rem;color:#69e2c7}.ai-model-steps span{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(105,226,199,.65);border-radius:50%;font-size:.8rem;background:#0a2948}.ai-model-steps i{height:1px;flex:1;background:linear-gradient(90deg,#69e2c7,rgba(105,226,199,.15),#69e2c7)}
@media(max-width:760px){.ai-model{min-height:auto;padding:6rem 0}.ai-model>div:last-child{width:calc(100% - 48px);margin:0 auto}.ai-model-steps{width:100%;margin-top:3.5rem}.ai-model-steps span{width:46px;height:46px;flex:0 0 46px}}

/* The model is part of the capability canvas, not a separate colour band. */
.ai-capabilities .ai-model{width:100%;min-height:0;margin:10rem 0 0;padding:8rem 0 0;background:transparent;display:block;overflow:visible;border-top:1px solid rgba(105,226,199,.18)}
.ai-capabilities .ai-model:before{content:none}.ai-capabilities .ai-model>div:last-child{width:100%;max-width:none;margin:0}.ai-capabilities .ai-model h2{max-width:1050px}.ai-capabilities .ai-model-steps{width:min(900px,75%)}
@media(max-width:760px){.ai-capabilities .ai-model{margin-top:6rem;padding:5rem 0 0}.ai-capabilities .ai-model>div:last-child{width:100%}.ai-capabilities .ai-model-steps{width:100%}}

/* Approved AI Expertise Centre copy, retained within the established page geometry. */
.ai-centre-page .ai-hero-button{display:inline-flex;margin-top:1.75rem}
.ai-centre-intro-copy{font-size:clamp(1.05rem,1.3vw,1.38rem);line-height:1.72;color:#263b51;padding-top:2.5rem}
.ai-centre-intro-copy p+p{margin-top:1.35rem}
.ai-cap-intro{position:relative;z-index:2;max-width:980px;margin-top:2rem;color:#d9e4ec;font-size:clamp(1rem,1.2vw,1.24rem);line-height:1.75}
.ai-cap-intro p+p{margin-top:1.2rem}
.ai-journey-heading-inline{position:relative;z-index:2;max-width:1050px;margin-top:5.5rem}
.ai-journey-heading-inline h2{font-size:clamp(2.4rem,4vw,4.7rem);line-height:1;color:#fff;font-weight:400;letter-spacing:-.04em;margin:.2em 0}
.ai-capabilities .ai-cap-grid{grid-template-columns:repeat(12,1fr);gap:1px}
.ai-capabilities .ai-cap-grid article{grid-column:span 4;margin-top:0}
.ai-capabilities .ai-cap-grid article:nth-child(4){grid-column:3 / span 4}
.ai-capabilities .ai-cap-grid article:nth-child(5){grid-column:span 4}
.ai-diagnostic{position:relative;z-index:2;max-width:1050px;margin:3.5rem 0 0;padding:1.35rem 1.6rem;border-left:4px solid #69e2c7;background:rgba(105,226,199,.08);color:#fff;font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.6}
.ai-model-copy{max-width:850px;font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.72}
.ai-model-copy p+p{margin-top:1.15rem}
.ai-leadership-copy-only{align-items:start}
.ai-leader-copy{padding-top:2.5rem;color:#263b51;font-size:clamp(1rem,1.16vw,1.22rem);line-height:1.72}
.ai-leader-copy h3{font-size:clamp(1.8rem,2.5vw,2.8rem);line-height:1.05;color:#0d4da4;font-weight:500;margin:0 0 .5rem}
.ai-leader-role{color:#27a98f;font-weight:700;margin-bottom:1.5rem}
.ai-leader-copy p+p{margin-top:1.15rem}
@media(max-width:760px){.ai-centre-page .ai-hero-button{margin-top:1.2rem}.ai-centre-intro-copy,.ai-leader-copy{padding-top:0}.ai-journey-heading-inline{margin-top:4rem}.ai-capabilities .ai-cap-grid{grid-template-columns:1fr}.ai-capabilities .ai-cap-grid article,.ai-capabilities .ai-cap-grid article:nth-child(4),.ai-capabilities .ai-cap-grid article:nth-child(5){grid-column:auto}.ai-diagnostic{margin-top:2.5rem}}
.insights-header{position:absolute;inset:0 0 auto;width:100%;background:transparent;z-index:20}
.article-hero{position:relative;padding-top:235px;background:linear-gradient(120deg,#0e2355 0%,#0e2355 64%,#123d54 100%);isolation:isolate}.article-hero:after{content:"";position:absolute;z-index:-1;width:760px;height:760px;right:-240px;top:145px;border:1px solid rgba(99,205,183,.22);border-radius:50%;box-shadow:0 0 0 85px rgba(99,205,183,.035),0 0 0 170px rgba(99,205,183,.022),0 0 0 255px rgba(99,205,183,.014);pointer-events:none}.article-hero .hero-breadcrumb{padding-bottom:70px}.article-hero figure{position:relative;z-index:1}.article-title{position:relative;z-index:1}
@media(max-width:760px){.article-hero{padding-top:190px}.article-hero .hero-breadcrumb{padding-bottom:48px}.article-hero:after{width:430px;height:430px;right:-250px;top:180px}}
.insights-listing{padding-top:70px}.insights-filters{width:min(83%,1500px);margin:0 auto;display:flex;flex-wrap:wrap;gap:10px}.insights-filters button{border:1px solid rgba(14,35,85,.22);border-radius:999px;padding:10px 17px;background:transparent;color:var(--navy);font:inherit;font-size:.8rem;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.insights-filters button:hover,.insights-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.insights-listing .insights-grid{padding-top:45px}.insight-card:not(.featured){display:flex;flex-direction:column;min-height:690px}.insight-card:not(.featured) .insight-image{height:330px;min-height:330px}.insight-card:not(.featured) .insight-card-copy{display:flex;flex:1;flex-direction:column}.insight-card:not(.featured) .insight-read{margin-top:auto;padding-top:24px}.insight-card[hidden]{display:none!important}.insight-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.insight-badges span{display:inline-flex;align-items:center;min-height:25px;padding:5px 10px;border-radius:999px;background:#e8f5f1;color:#197865;font-size:.68rem;font-weight:700;letter-spacing:.035em}.insight-card.featured .insight-badges{margin-bottom:26px}
@media(max-width:760px){.insights-listing{padding-top:45px}.insights-filters{width:calc(100% - 48px);gap:8px}.insights-filters button{padding:8px 13px;font-size:.74rem}.insight-card:not(.featured){min-height:0}.insight-card:not(.featured) .insight-image{height:58vw;min-height:240px}}
.insights-listing{width:min(83%,1500px);margin:0 auto;padding:90px 0 140px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(38px,5vw,90px);align-items:start}.insights-listing .insights-filters{position:sticky;top:110px;width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:9px}.insights-listing .insights-filters:before{content:"FILTERS";margin-bottom:12px;color:#4abda7;font-size:.7rem;font-weight:700;letter-spacing:.12em}.insights-listing .insights-filters button{text-align:left;background:transparent}.insights-listing .insights-filters button.active{background:var(--navy)}.insights-month-filter{width:100%;margin-top:18px;padding:11px 13px;border:1px solid rgba(14,35,85,.22);border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-size:.78rem}.insights-listing .insights-grid{width:100%;margin:0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.insights-listing .insight-card.featured{grid-column:1/-1}.insights-listing .insight-card:not(.featured){min-height:540px}.insights-listing .insight-card:not(.featured) .insight-image{height:220px;min-height:220px}.insights-listing .insight-card:not(.featured) .insight-card-copy{padding:27px 24px}.insights-listing .insight-card:not(.featured) h2{font-size:clamp(1.45rem,1.75vw,2rem)}.insights-listing .insight-card:not(.featured) p{font-size:.9rem}.insights-listing .insight-card:not(.featured) .insight-meta{gap:12px;font-size:.62rem}.insights-listing .insight-card:not(.featured) .insight-badges span{font-size:.6rem;padding:4px 8px}
@media(max-width:1050px){.insights-listing{grid-template-columns:1fr}.insights-listing .insights-filters{position:static;display:flex;flex-direction:row;flex-wrap:wrap}.insights-listing .insights-filters:before{width:100%}.insights-month-filter{width:auto;margin-top:0}.insights-listing .insights-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.insights-listing{width:calc(100% - 48px);padding:55px 0 90px;gap:34px}.insights-listing .insights-grid{grid-template-columns:1fr}.insights-listing .insight-card:not(.featured){min-height:0}.insights-listing .insight-card:not(.featured) .insight-image{height:58vw;min-height:230px}}
@media(max-width:760px){
  .insights-header{z-index:80}
  .insights-header .nav-toggle{z-index:82}
  .insights-header .nav-links{z-index:81}
  .insights-listing .insights-filters{
    position:sticky;
    top:0;
    z-index:30;
    margin:-16px -24px 0;
    width:calc(100% + 48px);
    padding:16px 24px 18px;
    background:#f3f7f6;
    border-bottom:1px solid rgba(14,35,85,.08);
    box-shadow:0 10px 24px rgba(14,35,85,.055);
  }
}

/* Insights archive: align the desktop filter rail with the page's outer content guide. */
@media(min-width:1051px){
  .insights-listing{width:83%;grid-template-columns:190px minmax(0,1fr);gap:clamp(34px,4vw,72px)}
  .insights-listing .insights-grid{width:min(100%,1500px);justify-self:start}
}
@media(min-width:1051px) and (max-width:1499px){
  .insights-listing .insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.insights-listing .insights-filters button:hover{
  color:var(--navy);
  border-color:rgba(74,189,167,.45);
  background:rgba(99,205,183,.12);
}
.insights-listing .insights-filters button.active,
.insights-listing .insights-filters button.active:hover{
  color:var(--navy);
  border-color:var(--mint);
  background:var(--mint);
}

/* Branded Insights hero mark: supplied IDEKA exclamation geometry, tinted to the hero. */
.insights-hero:before{
  content:"";
  position:absolute;
  z-index:0;
  width:max(58vw,1040px);
  height:58vw;
  right:-22vw;
  bottom:-31vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(42,130,139,.2) 0,rgba(19,72,101,.11) 42%,transparent 70%);
  filter:blur(14px);
  pointer-events:none;
}
.insights-hero:after{
  content:"";
  position:absolute;
  z-index:1;
  width:max(58vw,1040px);
  height:106%;
  aspect-ratio:auto;
  right:-6vw;
  top:-3%;
  bottom:-3%;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:linear-gradient(145deg,#03132d 4%,#072743 38%,#155c70 69%,#3a9b99 100%);
  -webkit-mask:url('/assets/exclamation-icon-mark.svg') center/100% 100% no-repeat;
  mask:url('/assets/exclamation-icon-mark.svg') center/100% 100% no-repeat;
  filter:drop-shadow(18px 24px 40px rgba(1,10,31,.2));
  opacity:.84;
  pointer-events:none;
}
.insights-hero>*{position:relative;z-index:3}
.insights-hero>h1,
.insights-hero>.section-eyebrow,
.insights-hero>p:last-of-type{position:relative;z-index:4}
@media(min-width:1051px) and (max-width:1450px){
  .insights-hero h1{max-width:790px}
}
@media(min-width:761px){
  .insights-hero:after{
    height:150%;
    top:-25%;
    bottom:auto;
    background-size:100% 112%;
    transform:scaleY(1.12);
    transform-origin:center center;
  }
}
@media(max-width:760px){
  .insights-hero:after{width:210vw;height:100%;right:-105vw;top:0;bottom:0;opacity:.68}
  .insights-hero:before{width:120vw;height:120vw;right:-70vw;bottom:-40vw}
}

/* Article hero: concentric desktop core and contained decorative overflow. */
.article-page{overflow-x:clip}
html:has(.article-page),body:has(.article-page){overflow-x:clip}
@media(min-width:761px){
  .article-hero:after{
    right:-380px;
  }
  .article-hero:before{
    content:"";
    position:absolute;
    z-index:-1;
    width:350px;
    height:350px;
    right:-175px;
    top:350px;
    border-radius:50%;
    background:
      radial-gradient(circle at 28% 24%,rgba(100,220,198,.28) 0,transparent 34%),
      linear-gradient(138deg,#173f5b 0%,#1a566a 48%,#267d82 100%);
    box-shadow:0 20px 55px rgba(3,18,48,.3),inset 0 0 50px rgba(86,205,185,.08);
    opacity:.72;
    pointer-events:none;
  }
}

/* AI Centre desktop content guide: shared with the CTA and footer. */
@media(min-width:761px){
  .ai-centre-page .ai-film-copy{left:8.5vw}
  .ai-centre-page .ai-centre-intro{padding-left:8.5vw;padding-right:8.5vw}
  .ai-centre-page .ai-capabilities{padding-left:8.5vw;padding-right:8.5vw}
}

/* Numbered card labels were removed; headings now begin at the card's content edge. */
.ai-cap-grid h3{margin-top:0}

/* Approved AI Expertise Centre: content between the existing hero and footer. */
.ai-centre-page .ai-hero-button{margin-top:28px}
.ai-proof{
  position:relative;overflow:hidden;display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr);
  gap:clamp(60px,9vw,180px);padding:clamp(95px,9vw,165px) 8.5vw;background:#fff;
}
.ai-proof:before{
  content:"";position:absolute;width:380px;height:380px;right:-145px;top:-210px;
  background:linear-gradient(135deg,#154fb4,#69e2c7);transform:rotate(45deg);opacity:.13;
}
.ai-proof-title,.ai-proof-copy{position:relative;z-index:2}
.ai-proof h2,.ai-mission h2,.ai-journey h2,.ai-belief h2,.ai-leadership h2{
  font-size:clamp(2.5rem,4.6vw,5.2rem);line-height:.98;font-weight:400;
  letter-spacing:-.045em;margin:.2em 0;
}
.ai-proof h2,.ai-belief h2,.ai-leadership h2{color:#0d4da4}
.ai-proof-copy p,.ai-mission-copy p,.ai-belief p,.ai-leadership p{
  font-size:1.05rem;line-height:1.75;
}
.ai-proof>i{
  position:absolute;width:150px;height:150px;left:-72px;bottom:-74px;border-radius:50%;
  border:28px solid rgba(105,226,199,.28);box-shadow:0 0 55px rgba(26,111,178,.12);
}
.ai-mission{display:grid;grid-template-columns:48% 52%;min-height:690px;background:#0c1d47;color:#fff}
.ai-mission-image{margin:0;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);overflow:hidden}
.ai-mission-image img{display:block;width:100%;height:100%;object-fit:cover}
.ai-mission-copy{align-self:center;padding:90px 10vw 90px 7vw}
.ai-mission-copy h2{color:#fff}
.ai-mission-copy p{max-width:720px}
.ai-journey{
  position:relative;overflow:hidden;padding:clamp(100px,9vw,165px) 8.5vw;
  background:linear-gradient(135deg,#0c1d47 0%,#164e8b 60%,#239e99 100%);color:#fff;
}
.ai-journey:before{
  content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;
  background-image:linear-gradient(rgba(105,226,199,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(105,226,199,.45) 1px,transparent 1px);
  background-size:88px 88px;
}
.ai-journey-heading{position:relative;z-index:2;max-width:1000px}
.ai-journey h2{color:#fff}
.ai-journey-heading>p:last-child{font-size:1.15rem;line-height:1.7;max-width:760px}
.ai-journey-track{
  position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:20px;margin-top:80px;padding-top:30px;
}
.ai-journey-track:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(105,226,199,.65)}
.ai-journey-track article{position:relative;padding:35px 22px 25px;border-left:1px solid rgba(105,226,199,.28)}
.ai-journey-track article i{
  position:absolute;width:15px;height:15px;border-radius:50%;top:-38px;left:-8px;
  background:#69e2c7;box-shadow:0 0 22px rgba(105,226,199,.95);
}
.ai-journey-track h3{font-size:1.25rem;line-height:1.2;color:#fff;margin:0 0 16px}
.ai-journey-track p{line-height:1.65;color:#d3e0ea;margin:0}
.ai-diagnostic{
  position:relative;z-index:2;max-width:1080px;margin:90px 0 0;padding:38px 48px;
  border:1px solid rgba(105,226,199,.55);clip-path:polygon(0 0,96% 0,100% 30%,100% 100%,0 100%);
  background:rgba(7,25,61,.35);font-size:clamp(1.6rem,2.6vw,3rem);line-height:1.18;
}
.ai-belief{
  display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.4fr);
  gap:clamp(60px,8vw,150px);padding:clamp(100px,9vw,160px) 8.5vw;background:#fff;
}
.ai-belief-mark{
  align-self:center;font-size:clamp(14rem,26vw,30rem);font-weight:700;line-height:.62;color:#0d4da4;
  text-shadow:18px 22px 0 rgba(105,226,199,.3),34px 42px 0 rgba(24,82,164,.08);
}
.ai-belief p,.ai-leadership p{max-width:780px}
.ai-leadership{display:grid;grid-template-columns:55% 45%;background:#edf5f3;overflow:hidden}
.ai-leadership-copy{padding:clamp(90px,8vw,150px) 6vw 120px 8.5vw}
.ai-leadership-copy h3{font-size:1.8rem;color:#0d4da4;margin:35px 0 4px}
.ai-leader-role{color:#258c7d;font-weight:700;margin-top:0}
.ai-leadership-image{margin:0;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);min-height:720px}
.ai-leadership-image img{display:block;width:100%;height:100%;object-fit:cover}
.ai-centre-page .ai-centre-cta{width:83%;max-width:none}

/* Contact: branded exclamation field on the navy information panel only. */
.contact-composition-copy{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(145deg,#0c1d47 0 48%,#123f91 100%);
}
.contact-composition-copy:before{
  content:"";position:absolute;z-index:-2;inset:-10%;pointer-events:none;
  background:
    radial-gradient(circle at 0 74%,rgba(42,102,224,.92) 0,rgba(42,102,224,.28) 34%,transparent 61%),
    linear-gradient(150deg,rgba(12,29,71,.98) 8%,rgba(12,29,71,.45) 68%,rgba(45,120,204,.42));
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%);
}
.contact-composition-copy:after{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background-image:url('/assets/exclamation-mark-pattern-dark.svg');
  background-repeat:repeat;background-size:120px auto;opacity:.54;
  -webkit-mask-image:linear-gradient(145deg,transparent 1%,rgba(0,0,0,.12) 24%,#000 67%,#000 100%);
  mask-image:linear-gradient(145deg,transparent 1%,rgba(0,0,0,.12) 24%,#000 67%,#000 100%);
}
.contact-composition-copy>*{position:relative;z-index:1}

@media(max-width:1000px){
  .ai-journey-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
  .ai-journey-track:before{display:none}
  .ai-journey-track article i{top:7px}
}
@media(max-width:760px){
  .ai-proof,.ai-belief{grid-template-columns:1fr;gap:38px;padding:78px 24px}
  .ai-proof h2,.ai-mission h2,.ai-journey h2,.ai-belief h2,.ai-leadership h2{font-size:clamp(2.35rem,11vw,3.5rem)}
  .ai-mission{grid-template-columns:1fr}
  .ai-mission-image{min-height:390px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
  .ai-mission-copy{padding:70px 24px 82px}
  .ai-journey{padding:82px 24px}
  .ai-journey-track{grid-template-columns:1fr;margin-top:55px;padding-top:0}
  .ai-journey-track article{padding:20px 15px 25px 30px}
  .ai-diagnostic{margin-top:55px;padding:28px 26px;clip-path:polygon(0 0,92% 0,100% 18%,100% 100%,0 100%)}
  .ai-belief-mark{font-size:13rem;text-align:center;line-height:.65}
  .ai-leadership{grid-template-columns:1fr}
  .ai-leadership-copy{padding:78px 24px}
  .ai-leadership-image{min-height:460px;clip-path:polygon(0 10%,100% 0,100% 100%,0 100%)}
  .ai-centre-page .ai-centre-cta{width:auto}
  .contact-composition-copy:after{background-size:92px auto;opacity:.48}
}

/* Roll back the temporary branded treatment on the Contact page. */
.contact-composition-copy{background:transparent}
.contact-composition-copy:before,.contact-composition-copy:after{content:none}
