:root{--navy:#092652;--navy-2:#12386b;--gold:#b18a38;--gold-soft:#d9c48b;--magenta:#b72c6a;--ink:#182b45;--muted:#647286;--line:#e7e3da;--paper:#fff;--soft:#f7f9fc;--shell:86%;--display:"Montserrat",sans-serif;--body:"Inter",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:15px;font-weight:300;letter-spacing:-.03em;line-height:1.5;overflow-x:clip}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;width:100%}.container{width:var(--shell);max-width:1280px;margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:8px 14px;background:var(--navy);color:#fff;border-radius:5px}.skip-link:focus{top:16px}.site-header{height:76px;position:fixed;inset:0 0 auto;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(9,38,82,.1);backdrop-filter:blur(12px);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .35s}.site-header.is-hidden{transform:translateY(-100%)}.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-family:var(--display);font-weight:700;letter-spacing:.08em;font-size:13px;white-space:nowrap}.brand-mark{width:37px;height:37px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;position:relative;transform:rotate(-12deg);background:#fff}.brand-mark:after{content:"";position:absolute;width:9px;height:9px;border:1px solid var(--magenta);border-radius:50%;right:-4px;top:2px;background:#fff}.brand-mark span{transform:rotate(12deg);font-size:11px;letter-spacing:-.08em}.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,28px);margin-left:auto}.site-nav a{position:relative;padding:28px 0;color:#5d6878;font-size:12px;font-weight:500;letter-spacing:.04em;white-space:nowrap}.site-nav a:after{content:"";position:absolute;right:100%;bottom:18px;left:0;height:2px;background:var(--magenta);transition:right .25s}.site-nav a:hover:after,.site-nav a.active:after{right:0}.site-nav a:hover,.site-nav a.active{color:var(--navy)}.button{height:46px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:7px;font-size:12px;font-weight:600;letter-spacing:.04em;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.button-primary{background:var(--navy);color:#fff;border:1px solid var(--navy)}.button-primary:hover{background:var(--navy-2);box-shadow:0 8px 20px rgba(9,38,82,.18)}.button-outline{color:var(--navy);border:1px solid var(--gold);background:transparent}.button-outline:hover{background:#fbf8ef}.button-gold{color:#fff;background:var(--gold);border:1px solid var(--gold)}.button-gold:hover{background:#967327}.nav-cta{display:inline-flex}.menu-toggle{display:none;border:0;background:none;color:var(--navy)}
.page-hero{min-height:440px;padding:146px 0 72px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:#fff;background:var(--navy);isolation:isolate}.page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,38,82,.96),rgba(9,38,82,.58) 65%,rgba(9,38,82,.25))}.page-hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.54}.eyebrow{margin:0 0 16px;color:var(--magenta);font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.3}.page-hero .eyebrow{color:var(--gold-soft)}.page-hero h1{max-width:820px;margin:0;font-family:var(--display);font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.04em;text-transform:uppercase}.page-hero p{max-width:620px;margin:20px 0 0;color:#dbe4ef;font-size:16px;line-height:1.7}.breadcrumbs{display:flex;gap:9px;margin-top:26px;color:#d6e1ed;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.breadcrumbs a:hover{color:#fff}
.page-hero img{animation:ghHeroImageIn 1.2s cubic-bezier(.22,1,.36,1) both}@keyframes ghHeroImageIn{from{opacity:0;transform:scale(1.045)}to{opacity:.54;transform:none}}
.section{padding:88px 0}.section-soft{background:var(--soft)}.section-head{max-width:700px;margin:0 0 42px}.section-head.centered{text-align:center;margin-inline:auto}.section h2{margin:0;color:var(--navy);font-family:var(--display);font-size:clamp(30px,3.2vw,44px);font-weight:500;line-height:1.2;letter-spacing:-.035em}.section h2 em{color:var(--gold);font-style:normal}.section-head>p:last-child{max-width:570px;margin:16px 0 0;color:var(--muted);font-size:15px;line-height:1.75}.section-head.centered>p:last-child{margin-inline:auto}.lead{margin:20px 0 0;color:#3e5067;font-size:18px;line-height:1.75}.body-copy{margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.split.reverse .split-media{order:2}.split-media{overflow:hidden;border-radius:14px;box-shadow:0 18px 50px rgba(9,38,82,.09)}.split-media img{height:430px;object-fit:cover}.value-grid,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-grid{margin-top:38px}.value-card,.info-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(17,44,77,.05)}.value-card{border-top:3px solid var(--gold)}.value-card strong{display:block;color:#c8d6e7;font-family:var(--display);font-size:31px;font-weight:500}.value-card h3,.info-card h3{margin:20px 0 8px;color:var(--navy);font-family:var(--display);font-size:17px;font-weight:500;letter-spacing:-.01em}.value-card p,.info-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:25px 18px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;color:var(--navy);font-family:var(--display);font-size:32px;font-weight:500}.stat span{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45}.dark-section{padding:88px 0;color:#fff;background:var(--navy)}.dark-section h2{color:#fff}.dark-section .section-head>p:last-child{color:#cbd8e7}.dark-section .info-card{color:#fff;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}.dark-section .info-card h3{color:var(--gold-soft)}.dark-section .info-card p{color:#d4dfec}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;margin-top:38px}.timeline:before{content:"";position:absolute;top:30px;left:8%;right:8%;height:2px;background:var(--gold-soft)}.timeline-step{position:relative;text-align:center}.step-badge{position:relative;z-index:1;display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border:5px solid var(--soft);border-radius:50%;background:var(--navy);box-shadow:0 0 0 1px var(--gold);color:#fff;font-family:var(--display);font-size:13px;font-weight:500}.timeline-step h3{margin:0;color:var(--navy);font-family:var(--display);font-size:16px;font-weight:500}.timeline-step p{max-width:190px;margin:8px auto 0;color:var(--muted);font-size:13px;line-height:1.65}.dark-section .timeline:before{background:rgba(217,196,139,.5)}.dark-section .timeline-step h3{color:#fff}.dark-section .timeline-step p{color:#cbd8e7}.dark-section .step-badge{border-color:var(--navy)}.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{overflow:hidden;background:#fff;border-radius:12px;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.news-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(9,38,82,.11)}.news-card img{height:210px;object-fit:cover}.news-card-body{padding:21px}.news-card small{color:var(--magenta);font-size:10px;font-weight:700;letter-spacing:.12em}.news-card time{float:right;color:#87919f;font-size:10px}.news-card h3{margin:12px 0 8px;color:var(--navy);font-family:var(--display);font-size:18px;font-weight:500;line-height:1.35}.news-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.cta-panel{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:28px;padding:34px 42px;position:relative;overflow:hidden;border:1px solid var(--gold-soft);border-radius:14px;background:#fff}.cta-panel.dark{color:#fff;background:var(--navy);border-color:rgba(217,196,139,.45)}.cta-panel h2{margin:0;color:var(--navy);font-family:var(--display);font-size:clamp(24px,2.7vw,36px);font-weight:500;line-height:1.2}.cta-panel.dark h2{color:#fff}.cta-panel p{margin:10px 0 0;color:var(--muted);font-size:14px}.cta-panel.dark p{color:#d2dbea}.seal{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--gold);border-radius:50%;color:var(--navy);font-family:var(--display);font-size:20px;font-weight:700;line-height:1;text-align:center}.seal small{font-size:8px;letter-spacing:.1em;color:var(--magenta)}.cta-panel.dark .seal{color:#fff;border-color:var(--gold-soft)}.role-list{display:grid;gap:12px}.role{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px}.role h3{margin:0;color:var(--navy);font-family:var(--display);font-size:16px;font-weight:500}.role span{color:var(--muted);font-size:12px}.site-footer{padding:62px 0 20px;color:#fff;background:var(--navy)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.3fr;gap:50px}.brand-footer{color:#fff;margin-bottom:20px}.footer-company p{max-width:260px;margin:0 0 10px;color:#d2dbea;font-size:12px;line-height:1.7}.footer-muted{color:#8e9db5!important}.footer-grid h3{margin:0 0 17px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.12em}.footer-grid a,.footer-grid span{display:block;margin:0 0 10px;color:#c0cadd;font-size:12px}.footer-grid a:hover{color:var(--gold-soft)}.socials{display:flex;gap:8px;margin-top:18px}.socials a{display:grid;place-items:center;width:28px;height:28px;margin:0;border:1px solid #536985;border-radius:50%;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:19px;border-top:1px solid rgba(255,255,255,.16);color:#8492a9;font-size:10px}.footer-bottom span:last-child{display:flex;gap:21px}.footer-bottom a{display:inline;color:inherit;margin:0}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:none}.reveal-group>*{opacity:0;transform:translateY(20px);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1)}.reveal-group.is-visible>*{opacity:1;transform:none}.reveal-group.is-visible>*:nth-child(2){transition-delay:.08s}.reveal-group.is-visible>*:nth-child(3){transition-delay:.16s}.reveal-group.is-visible>*:nth-child(4){transition-delay:.24s}
@media(max-width:900px){.site-nav{gap:15px}.nav-cta{display:none}.split{gap:38px}.value-grid,.card-grid{grid-template-columns:repeat(2,1fr)}.news-list{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.timeline{grid-template-columns:repeat(2,1fr);row-gap:35px}.timeline:before{display:none}.cta-panel{grid-template-columns:70px 1fr;gap:20px}.cta-panel .button{grid-column:2;justify-self:start}.footer-grid{gap:30px;grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.site-header{height:68px}.nav-wrap{gap:15px}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 20px 18px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(9,38,82,.1)}.site-nav.open{display:flex}.site-nav a{padding:12px 0;border-bottom:1px solid #f0eee8}.site-nav a:after{display:none}.menu-toggle{display:flex;align-items:center;gap:4px}.menu-toggle span{display:block;width:18px;height:1px;margin:3px;background:currentColor}.menu-toggle b{font-size:10px;margin-left:5px}.page-hero{min-height:390px;padding:120px 0 52px}.page-hero h1{font-size:36px}.page-hero p{font-size:14px}.section{padding:70px 0}.section h2{font-size:32px}.lead{font-size:16px}.split{display:flex;flex-direction:column;gap:30px}.split.reverse .split-media{order:0}.split-media img{height:280px}.value-grid,.card-grid,.news-list{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:19px 12px}.stat strong{font-size:27px}.timeline{grid-template-columns:1fr;gap:25px}.timeline-step{text-align:left;padding-left:82px}.step-badge{position:absolute;left:0;top:0;width:58px;height:58px;margin:0}.timeline-step h3{padding-top:8px}.timeline-step p{margin:7px 0 0}.cta-panel{grid-template-columns:1fr;padding:28px 24px}.cta-panel .button{grid-column:auto;width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-company{grid-column:1/-1}.footer-bottom{display:block;line-height:1.8}.footer-bottom span:last-child{display:flex;gap:15px;flex-wrap:wrap}.footer-bottom span:last-child a{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-group>*{opacity:1;transform:none;transition:none}.news-card{transition:none}}

/* Word-system spacing tokens: 80px desktop, 30px mobile. */
.section{padding-block:80px}
@media(max-width:760px){.section{padding-block:30px}}

/* GH keeps its full motion language even when the device requests reduced motion. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:smooth!important}.reveal,.reveal-group>*{opacity:0;transform:translateY(20px);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1)}.reveal.is-visible,.reveal-group.is-visible>*{opacity:1;transform:none}.reveal-group.is-visible>*:nth-child(2){transition-delay:.08s}.reveal-group.is-visible>*:nth-child(3){transition-delay:.16s}.reveal-group.is-visible>*:nth-child(4){transition-delay:.24s}.news-card{transition:transform .25s,box-shadow .25s}}

/* Rovant motion layer: directional, reversible and GPU-friendly. */
html{scroll-behavior:auto!important}
.reveal{opacity:0;filter:blur(6px);transform:translate3d(var(--reveal-x,0),var(--reveal-y,42px),0) scale(.985);transition:opacity .78s cubic-bezier(.16,1,.3,1),filter .78s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);will-change:opacity,filter,transform}
.reveal[data-motion="from-left"]{--reveal-x:-42px}.reveal[data-motion="from-right"]{--reveal-x:42px}.reveal[data-motion="from-up"]{--reveal-y:42px}
.reveal.is-visible{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}
.reveal-group>*{opacity:0;filter:blur(4px);transform:translate3d(0,28px,0) scale(.985);transition:opacity .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1);will-change:opacity,filter,transform}
.reveal-group.is-visible>*{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}
.reveal-group.is-visible>*:nth-child(2){transition-delay:.09s}.reveal-group.is-visible>*:nth-child(3){transition-delay:.18s}.reveal-group.is-visible>*:nth-child(4){transition-delay:.27s}
.motion-parallax{transform:translate3d(0,var(--parallax-y,0),0);transition:transform .12s linear;will-change:transform}.site-footer.motion-parallax{transform:translate3d(0,var(--parallax-y,0),0)}
@media(max-width:760px){.reveal{--reveal-y:28px}.reveal[data-motion="from-left"]{--reveal-x:-24px}.reveal[data-motion="from-right"]{--reveal-x:24px}.reveal-group>*{transform:translate3d(0,20px,0) scale(.99)}.motion-parallax{transform:translate3d(0,var(--parallax-y,0),0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal,.reveal-group>*{opacity:0;filter:blur(6px);transform:translate3d(var(--reveal-x,0),var(--reveal-y,28px),0) scale(.985);transition:opacity .78s cubic-bezier(.16,1,.3,1),filter .78s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)!important}.reveal.is-visible,.reveal-group.is-visible>*{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}.motion-parallax{transition:transform .12s linear!important}.news-card{transition:transform .25s,box-shadow .25s!important}}

/* Talent directory and contact form used on the capability page. */
.talent-showcase {
  background: #fff;
}

.talent-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.talent-profile {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(9, 38, 82, .07);
  transition: transform 320ms cubic-bezier(.16, 1, .3, 1), box-shadow 320ms ease, border-color 240ms ease;
}

.talent-profile:hover {
  transform: translateY(-8px);
  border-color: var(--gold-soft);
  box-shadow: 0 20px 38px rgba(9, 38, 82, .13);
}

.talent-profile-media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e8edf5;
}

.talent-profile-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(.16, 1, .3, 1);
}

.talent-profile:hover .talent-profile-media img {
  transform: scale(1.045);
}

.talent-profile-body {
  padding: 20px 20px 22px;
}

.talent-profile-body small {
  display: block;
  color: var(--magenta);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.talent-profile-body h3 {
  margin: 7px 0 9px;
  color: var(--navy);
  font-family: var(--display);
  font-size: 21px;
  font-weight: 500;
  letter-spacing: -.02em;
}

.talent-profile-body p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.contact-section {
  background: var(--soft);
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: start;
}

.contact-intro h2 {
  max-width: 460px;
}

.contact-intro > p:not(.eyebrow) {
  max-width: 450px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.contact-note {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 26px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 600;
}

.contact-note::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--magenta);
  box-shadow: 0 0 0 5px rgba(183, 44, 106, .12);
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(9, 38, 82, .07);
}

.form-field {
  display: grid;
  gap: 7px;
}

.form-field-wide {
  grid-column: 1 / -1;
}

.form-field label {
  color: var(--navy);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid #dce2ea;
  border-radius: 8px;
  padding: 12px 13px;
  color: var(--ink);
  background: #fbfcfe;
  font: 300 14px/1.5 var(--body);
  letter-spacing: -.02em;
  transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.form-field textarea {
  min-height: 128px;
  resize: vertical;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: #9aa6b5;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--gold);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(177, 138, 56, .13);
}

.contact-form .button {
  justify-self: start;
  margin-top: 3px;
}

@media (max-width: 900px) {
  .talent-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
}

@media (max-width: 760px) {
  .talent-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .talent-profile-body {
    padding: 14px 13px 16px;
  }

  .talent-profile-body h3 {
    font-size: 17px;
  }

  .talent-profile-body p {
    font-size: 12px;
    line-height: 1.55;
  }

  .contact-form {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 22px 18px;
  }

  .form-field-wide {
    grid-column: auto;
  }

  .contact-form .button {
    width: 100%;
  }
}

/* Meta line on article and case-study pages. Deliberately NOT .footer-muted:
   cms-runtime.js overwrites every .footer-muted with the company address. */
.article-meta{margin-top:28px;color:var(--muted);font-size:13px;letter-spacing:.02em}
.article-meta time{color:var(--navy);font-weight:500}

/* Article + case-study body: one measured column. A two-column .split left a long
   read squeezed beside a tall empty gutter, so these pages get their own container. */
.article-body{max-width:720px;margin-inline:auto}
.article-body h2{margin:38px 0 14px;font-size:clamp(21px,2.1vw,27px);line-height:1.25}
.article-body h2:first-child{margin-top:0}
.article-body .lead{font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--ink)}
.article-body .body-copy{font-size:15px;line-height:1.75;color:#4d5b70}
.article-body ul.body-copy{padding-left:20px}
.article-body ul.body-copy li{margin-bottom:8px}
@media(max-width:760px){.article-body h2{margin:28px 0 12px}}
