
@media(max-width:1100px){:root{--header:72px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.scene--intro,.scene--metrics,.scene--ecosystem,.sustainability-partners,.nexus-scene,.systems-scene,.tech-focus,.capability-scene,.intelligence-scene,.secure-scene,.esg-scene{grid-template-columns:1fr 1fr;gap:4vw}.service-grid{grid-template-columns:repeat(2,1fr)}.glass-card{min-height:220px}.advisor-scene{grid-template-columns:.8fr 1.2fr;gap:5vw}}
@media(max-width:820px){.desktop-nav{display:none}.menu-toggle{display:block}.cursor-dot{display:none}.hero-scroll{height:340dvh}.hero-scene{padding-inline:24px}.hero-copy{left:24px;max-width:calc(100vw - 48px)}.hero-copy h1,.hero-copy h2{font-size:clamp(46px,12vw,80px)}.hero-lede{font-size:16px;max-width:520px}.hero-scroll-indicator{right:24px}.scene{padding:calc(var(--header) + 5vh) 24px 6vh;min-height:auto}.scene--intro,.scene--metrics,.scene--ecosystem,.sustainability-partners,.nexus-scene,.systems-scene,.tech-focus,.capability-scene,.intelligence-scene,.secure-scene,.esg-scene{grid-template-columns:1fr;gap:6vh}.scene--intro,.scene--metrics,.scene--ecosystem,.sustainability-partners,.nexus-scene,.systems-scene,.tech-focus,.intelligence-scene,.secure-scene,.esg-scene{padding-block:12vh}.scene-index{right:24px}.service-grid{grid-template-columns:1fr 1fr}.scene--services{padding:12vh 24px}.strategy-rings,.ecosystem-diagram,.partner-network,.tech-topology,.data-field,.esg-radar{max-width:500px}.metrics-grid{margin-top:2vh}.metric{grid-template-columns:150px 1fr}.page-hero{padding:var(--header) 24px 7vh}.page-hero-tag{right:24px}.page-hero h1{font-size:clamp(52px,13vw,92px)}.nexus-flow{margin-top:1vh}.systems-stack{margin-top:1vh}.capability-scene{padding-block:12vh}.capability-list{margin-top:2vh}.advisory-intro{padding:10vh 24px;grid-template-columns:1fr;gap:4vh}.advisor-scene{grid-template-columns:1fr;gap:4vh;padding:12vh 24px;min-height:auto}.advisor-photo{width:min(72vw,420px);max-height:none}.advisor-number{right:24px;top:5vh}.contact-layout{grid-template-columns:1fr;padding:10vh 24px;gap:8vh}.privacy-layout{grid-template-columns:1fr;padding:10vh 24px}.privacy-nav{position:static;grid-template-columns:repeat(2,1fr)}.site-footer{padding:7vh 24px 4vh;grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-start}.footer-copy{grid-row:2}.footer-meta{grid-row:3}.cta-scene{padding:10vh 24px}}
@media(max-width:540px){.brand-logo{width:132px}.hero-scene{min-height:560px}.hero-copy{top:48%}.hero-copy h1,.hero-copy h2{font-size:clamp(42px,13vw,64px);line-height:.9}.hero-lede{font-size:15px;line-height:1.5}.hero-scroll-indicator span{display:none}.scene-copy h2,.metrics-copy h2,.systems-title h2,.capability-kicker h2,.ecosystem-copy h2{font-size:clamp(38px,11vw,58px)}.scene-copy p{font-size:15px}.service-grid{grid-template-columns:1fr}.glass-card{min-height:210px}.metric{grid-template-columns:110px 1fr}.metric strong{font-size:46px}.metric span{font-size:14px}.eco-node{font-size:10px;padding:9px 12px}.eco-core{width:105px;height:105px;font-size:11px}.cta-scene{min-height:72dvh}.cta-scene h2{font-size:clamp(46px,14vw,68px)}.button--ghost{margin:10px 0 0}.page-hero{min-height:580px;height:100svh}.page-hero h1{font-size:clamp(46px,14vw,70px)}.page-hero-tag{display:none}.nexus-item{grid-template-columns:34px 1fr}.nexus-item small{display:none}.cap-row{grid-template-columns:36px 1fr}.cap-row small{display:none}.system-card{grid-template-columns:54px 1fr}.system-card>span{width:44px;height:44px}.advisor-copy h2{font-size:clamp(44px,13vw,66px)}.advisor-photo{width:100%}.field-row{grid-template-columns:1fr}.form-panel{padding:24px 18px}.privacy-nav{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.footer-copy,.footer-links,.footer-meta{grid-column:1}.footer-copy{grid-row:auto}.footer-meta{grid-row:auto}.hours{grid-template-columns:1fr}.hours strong{margin-bottom:8px}}
@media(max-height:760px) and (min-width:821px){:root{--header:66px}.hero-copy h1,.hero-copy h2{font-size:clamp(48px,6vw,86px)}.hero-lede{font-size:16px;margin-top:18px}.scene{padding-top:calc(var(--header) + 4vh);padding-bottom:4vh}.services-content>h2{font-size:clamp(42px,4.8vw,70px);margin-bottom:3vh}.glass-card{min-height:215px}.glass-card h3{font-size:19px}.glass-card p{font-size:12.5px}.scene-copy h2,.metrics-copy h2,.systems-title h2,.capability-kicker h2{font-size:clamp(38px,4.6vw,68px)}.scene-copy p{font-size:15px}.metric{padding:16px 0}.metric strong{font-size:58px}.page-hero h1{font-size:clamp(56px,7vw,94px)}.advisor-copy h2{font-size:clamp(52px,5.4vw,78px)}.advisor-copy p{font-size:14px}.advisor-photo{max-height:62vh}.cta-scene h2{font-size:clamp(54px,7vw,92px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-scroll{height:100dvh}.hero-scene{position:relative!important;transform:none!important}.hero-copy--alt{display:none}.hero-fallback{opacity:.85}}

/* ===== Expanded footer v7 responsive ===== */
@media(max-width:1180px){
  .footer-main{grid-template-columns:minmax(250px,1.1fr) .7fr 1fr;gap:48px 5vw}
  .footer-hours-block{grid-column:2/4}
  .footer-hours-block{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-content:start}
  .footer-hours-block .footer-heading,.footer-hours-block .footer-small-label,.footer-hours-block .footer-office{grid-column:1/-1}
  .footer-hours-row{grid-row:2}
  .footer-hours-block .footer-small-label{margin-top:24px}
}
@media(max-width:820px){
  .site-footer{padding:64px 24px 30px}
  .footer-main{grid-template-columns:1.08fr .92fr;gap:48px 40px}
  .footer-brand-block{max-width:440px}
  .footer-hours-block{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
  .footer-bottom{margin-top:56px}
}
@media(max-width:540px){
  .site-footer{padding:56px 22px 28px}
  .footer-main{grid-template-columns:1fr;gap:40px}
  .footer-brand-block{max-width:none}
  .footer-logo{width:148px;height:62px}
  .footer-statement{font-size:20px;max-width:310px}
  .footer-hours-block{grid-column:auto;display:flex}
  .footer-hours-row{font-size:12px}
  .footer-bottom{margin-top:48px;align-items:flex-start;flex-direction:column-reverse;gap:20px}
  .footer-bottom-links{width:100%;justify-content:space-between;gap:12px}
}

/* ===== Final static green hero + device-fit pass v8 =====
   The cinematic scroll-scrub hero has been removed. The original Oxygene green animated
   canvas/WebGL scene is restored as a single viewport composition. */
.hero-static,
.hero-static.hero-scroll{
  height:100dvh!important;
  min-height:100svh!important;
  position:relative!important;
  background:#06100c!important;
}
.hero-static .hero-scene{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  height:100dvh!important;
  min-height:100svh!important;
  padding:var(--header) var(--pad) 0!important;
  overflow:hidden;
  background:#06100c;
  isolation:isolate;
}
.hero-static .hero-media{position:absolute;inset:0;overflow:hidden;background:#06100c}
.hero-static .hero-fallback{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  opacity:1;filter:none;transform:none;
}
.hero-static .hero-vignette{
  display:block!important;z-index:1;
  background:
    linear-gradient(90deg,rgba(2,8,6,.82) 0%,rgba(2,8,6,.58) 31%,rgba(2,8,6,.20) 58%,rgba(2,8,6,.08) 100%),
    linear-gradient(180deg,rgba(2,8,6,.28) 0%,transparent 32%,transparent 68%,rgba(2,8,6,.54) 100%);
}
.hero-static .hero-vignette::after{
  content:"";position:absolute;inset:-12%;pointer-events:none;
  background:radial-gradient(circle at 70% 45%,rgba(116,181,102,.16),transparent 38%);
  animation:heroGlow 8s ease-in-out infinite alternate;
}
.hero-static .hero-grid{
  display:block!important;z-index:1;opacity:.085;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:8vw 8vw;
  mask-image:linear-gradient(to right,transparent 18%,#000 58%,transparent 100%);
  animation:gridDrift 24s linear infinite;
}
.hero-static .hero-copy{
  position:absolute;z-index:3;
  left:var(--pad);right:auto;
  top:50%!important;bottom:auto!important;
  transform:translateY(-43%)!important;
  width:min(980px,calc(100vw - (var(--pad) * 2)));
  max-width:min(980px,78vw)!important;
  text-shadow:none;
}
.hero-static .hero-copy .eyebrow{margin:0 0 clamp(12px,2vh,20px);color:var(--lime)}
.hero-static .hero-copy h1{
  margin:0;
  max-width:100%;
  font-size:clamp(46px,min(6.5vw,9.3vh),102px)!important;
  line-height:.90!important;
  letter-spacing:-.058em!important;
  font-weight:510;
  text-wrap:balance;
}
.hero-static .hero-copy h1 span,.hero-static .hero-copy h1 em{display:inline}
.hero-static .hero-copy em{color:var(--lime)}
.hero-static .hero-lede{
  max-width:610px;
  margin:clamp(16px,2.6vh,26px) 0 0!important;
  font-size:clamp(14px,min(1.18vw,2.25vh),19px)!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.74);
  text-wrap:pretty;
}
.hero-static .hero-copy .text-link{
  margin-top:clamp(14px,2.2vh,22px);
  font-size:clamp(12px,1vw,14px);
  color:#fff;border-color:rgba(255,255,255,.35)
}
.hero-static .hero-scroll-indicator{
  display:flex!important;right:var(--pad);bottom:clamp(22px,3.5vh,36px);
  z-index:4;color:rgba(255,255,255,.58)
}
.hero-static .hero-progress{display:none!important}

/* Balance large display typography so no important text is clipped at common laptop heights. */
.hero-copy h1,.hero-copy h2,.page-hero h1,.scene-copy h2,.metrics-copy h2,.systems-title h2,.capability-kicker h2,.ecosystem-copy h2,.cta-scene h2{overflow-wrap:normal;text-wrap:balance}

@media(max-width:1100px){
  .hero-static .hero-copy{max-width:min(820px,82vw)!important}
  .hero-static .hero-copy h1{font-size:clamp(44px,min(6.3vw,8.9vh),78px)!important}
}

@media(max-width:820px){
  .hero-static,.hero-static.hero-scroll{height:100svh!important;min-height:100svh!important}
  .hero-static .hero-scene{height:100svh!important;min-height:100svh!important;padding:var(--header) 24px 0!important}
  .hero-static .hero-vignette{
    background:
      linear-gradient(180deg,rgba(2,8,6,.43) 0%,rgba(2,8,6,.18) 35%,rgba(2,8,6,.60) 100%),
      linear-gradient(90deg,rgba(2,8,6,.55) 0%,rgba(2,8,6,.18) 80%,transparent 100%);
  }
  .hero-static .hero-grid{background-size:18vw 18vw;opacity:.06;mask-image:linear-gradient(to bottom,transparent 8%,#000 50%,transparent 100%)}
  .hero-static .hero-copy{
    left:24px!important;right:24px!important;width:auto!important;max-width:none!important;
    top:52%!important;bottom:auto!important;transform:translateY(-45%)!important;
  }
  .hero-static .hero-copy h1{
    font-size:clamp(40px,min(11.7vw,7.4vh),66px)!important;
    line-height:.92!important;
    letter-spacing:-.052em!important;
  }
  .hero-static .hero-lede{font-size:clamp(14px,3.7vw,16px)!important;line-height:1.5!important;max-width:540px}
  .hero-static .hero-scroll-indicator{right:24px;left:24px;bottom:24px;justify-content:flex-end}
}

@media(max-width:540px){
  .hero-static .hero-scene{min-height:100svh!important}
  .hero-static .hero-copy{top:51%!important;transform:translateY(-43%)!important}
  .hero-static .hero-copy .eyebrow{font-size:10px;margin-bottom:12px}
  .hero-static .hero-copy h1{font-size:clamp(38px,min(12.1vw,7.1vh),54px)!important;line-height:.93!important}
  .hero-static .hero-lede{font-size:14px!important;line-height:1.48!important;margin-top:16px!important;max-width:92%}
  .hero-static .hero-copy .text-link{font-size:12px;margin-top:14px}
  .hero-static .hero-scroll-indicator span{display:none}
}

/* Extra-short screens: fit the whole hero composition without hiding the final line or CTA. */
@media(max-height:700px){
  .hero-static .hero-copy{top:52%!important;transform:translateY(-42%)!important}
  .hero-static .hero-copy .eyebrow{margin-bottom:10px}
  .hero-static .hero-copy h1{font-size:clamp(38px,min(5.8vw,8.1vh),68px)!important;line-height:.91!important}
  .hero-static .hero-lede{margin-top:12px!important;font-size:14px!important;line-height:1.42!important;max-width:560px}
  .hero-static .hero-copy .text-link{margin-top:11px;font-size:12px}
  .hero-static .hero-scroll-indicator{bottom:18px}
}

@media(max-width:820px) and (max-height:620px){
  .hero-static .hero-copy{top:52%!important;transform:translateY(-40%)!important}
  .hero-static .hero-copy h1{font-size:clamp(34px,min(8.8vw,8.4vh),48px)!important}
  .hero-static .hero-lede{display:none}
  .hero-static .hero-copy .text-link{margin-top:12px}
}

@media(prefers-reduced-motion:reduce){
  .hero-static .hero-grid,.hero-static .hero-vignette::after{animation:none!important}
  .hero-static .hero-fallback{opacity:.9}
}
@media(max-width:540px){.hero-static .hero-scroll-indicator{display:none!important}}

/* ===== v9: Home hero typography aligned with the other page heroes =====
   Only the home hero text block is adjusted; all other design, animation and scrolling remains unchanged. */
.hero-static .hero-copy{
  left:var(--pad)!important;
  right:auto!important;
  top:auto!important;
  bottom:7vh!important;
  transform:none!important;
  width:min(1100px,calc(100vw - (var(--pad) * 2)))!important;
  max-width:1100px!important;
}
.hero-static .hero-copy h1{
  font-size:clamp(56px,8vw,130px)!important;
  line-height:.86!important;
  letter-spacing:-.07em!important;
  font-weight:510!important;
  max-width:1100px!important;
}
.hero-static .hero-lede{
  max-width:670px!important;
  color:rgba(255,255,255,.68)!important;
  font-size:clamp(16px,1.4vw,22px)!important;
  line-height:1.55!important;
  margin-top:26px!important;
}

@media(max-width:820px){
  .hero-static .hero-copy{
    left:24px!important;
    right:24px!important;
    bottom:7vh!important;
    width:auto!important;
    max-width:none!important;
  }
  .hero-static .hero-copy h1{
    font-size:clamp(52px,13vw,92px)!important;
    line-height:.86!important;
    letter-spacing:-.07em!important;
  }
}

@media(max-width:540px){
  .hero-static .hero-copy h1{
    font-size:clamp(46px,14vw,70px)!important;
  }
  .hero-static .hero-lede{
    font-size:16px!important;
    line-height:1.55!important;
    max-width:670px!important;
    margin-top:26px!important;
  }
}

@media(max-height:760px) and (min-width:821px){
  .hero-static .hero-copy h1{
    font-size:clamp(56px,7vw,94px)!important;
  }
}
