/* Cinematic master: topic explorer, selected perspective treatment and orbit motif. */
/* A single entrance to the dedicated login page. */
.site-header nav>a.nav-login{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border-radius:24px;background:var(--ink);color:#fff;white-space:nowrap}
.site-header nav>a.nav-login:hover{background:var(--cobalt);text-decoration:none}
@media(min-width:801px) and (max-width:1100px){.site-header{padding-inline:24px;gap:20px}.site-header nav{gap:16px;font-size:12px}.site-header .nav-contact{gap:10px;padding-inline:14px}.site-header nav>a.nav-login{padding-inline:14px}.site-header .wordmark{font-size:26px}}
@media(max-width:800px){.site-header nav>a.nav-login{margin-top:8px;padding:12px 17px}}
.purpose-explorer{display:grid;grid-template-columns:190px minmax(0,1fr) 46px;gap:26px 40px;align-items:center}
.purpose-tabs{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}
.purpose-tabs button{position:relative;appearance:none;border:0;background:none;color:var(--muted);font:500 clamp(17px,1.7vw,23px)/1.5 Manrope,sans-serif;padding:12px 0;cursor:pointer;letter-spacing:-.6px}
.purpose-tabs button:after{content:'';position:absolute;inset:auto 0 3px;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.purpose-tabs button[aria-selected=true]{color:var(--ink)}
.purpose-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.purpose-tabs button:focus-visible,.purpose-context a:focus-visible{outline:2px solid var(--cobalt);outline-offset:5px;border-radius:3px}
.purpose-explorer .purpose-story-link{justify-self:end}
.purpose-context{grid-column:1/-1;border-top:1px solid #15347518;padding-top:21px;min-height:64px}
.purpose-context [role=tabpanel]{display:flex;align-items:center;justify-content:space-between;gap:35px}
.purpose-explorer .purpose-context p{font-size:14px;line-height:1.65;max-width:650px;width:auto;margin:0;color:var(--muted)}
.purpose-context a{font-size:12px;font-weight:600;white-space:nowrap;display:inline-flex;gap:16px;align-items:center}
.purpose-context a:hover{color:var(--cobalt)}
#utility-expertise,#sustainability-expertise{scroll-margin-top:110px}
.master-orbit{width:230px;height:230px;flex:none;overflow:visible;stroke:var(--cobalt);stroke-width:1.1}
.master-orbit-paths{opacity:.52}
.master-satellites{fill:var(--coral);stroke:none}
.master-orbit text{fill:var(--ink);stroke:none;font:800 104px Manrope,sans-serif;letter-spacing:-7px}
.perspective-scene{container-type:inline-size}

/* Keep the static lead-in outside the rotating word's 3D rendering context. */
.perspective-caption{display:block;inset:auto 38px 76px;isolation:isolate}
.perspective-turn{position:relative;z-index:0;perspective:900px}
.perspective-intro{display:block;position:relative;z-index:1;color:#fff;font-size:28px;font-size:clamp(24px,5.7cqw,32px);line-height:1.3;letter-spacing:-.9px;margin:0 0 14px}
.perspective-word{display:block;font-size:clamp(32px,5.3vw,72px);font-size:clamp(32px,10.8cqw,72px);line-height:1.3;letter-spacing:-.055em;white-space:nowrap;font-weight:600;transform-origin:50% 55%}
.angle-word{transform-style:flat}

@media(max-width:1100px){.purpose-explorer{grid-template-columns:150px minmax(0,1fr) 40px;column-gap:25px}.master-orbit{width:185px;height:185px}}
@media(max-width:800px){.purpose-explorer{grid-template-columns:1fr 40px;gap:18px}.purpose-explorer>p{grid-column:1;font-size:12px}.purpose-explorer>.purpose-story-link{grid-column:2;grid-row:1}.purpose-tabs{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:40px}.purpose-tabs button{font-size:20px}.purpose-context [role=tabpanel]{align-items:flex-start;flex-direction:column;gap:10px}.purpose-context{min-height:108px}.master-orbit{width:165px;height:165px}}
@media(max-width:540px){.purpose-tabs{justify-content:space-between;gap:8px}.purpose-tabs button{font-size:clamp(13px,3.7vw,20px);letter-spacing:-.35px}.purpose-explorer .purpose-context p{font-size:12px}.purpose-context a{font-size:11px;white-space:normal}.purpose-context{min-height:123px}.perspective-caption{inset:auto 25px 70px}.perspective-intro{font-size:24px}.perspective-word{font-size:clamp(30px,9.6vw,54px);font-size:10.8cqw}.master-orbit{width:105px;height:105px}.cinematic-live .purpose-statement{gap:18px;align-items:center}.cinematic-live .purpose-statement p{font-size:clamp(21px,5.5vw,30px);letter-spacing:-.8px}}
@media(prefers-reduced-motion:reduce){.purpose-tabs button:after{transition:none}}
.motion-paused .purpose-tabs button:after{transition:none}

/* Keep touch controls readable on tablets and phones rotated to landscape. */
@media(max-width:900px){
  .cinematic-live .field input,.cinematic-live .field select,.cinematic-live .field textarea,.cinematic-live #enquiry-copy{font-size:16px}
}
@media(max-width:800px){.cinematic-live .menu-toggle{min-height:44px}}
/* Stable hero geometry: only the frame's mask expands, never the sticky stage.
   svh avoids browser-toolbar changes squeezing the transition on phones. */
.cinematic-live.scroll-scenes .hero-journey{height:calc(max(620px, 100svh) + 95svh)}
.cinematic-live.scroll-scenes .hero-sticky{--hero-trim:106px;--hero-inset:24px;--hero-radius-top:150px;--hero-radius:26px;height:max(620px, 100svh);min-height:0;padding:0}
.cinematic-live.scroll-scenes .earth-window{--hero-frame:1;border-radius:0;clip-path:inset(0px calc(var(--hero-inset) * var(--hero-frame)) calc(var(--hero-trim) * var(--hero-frame)) calc(var(--hero-inset) * var(--hero-frame)) round calc(var(--hero-radius-top) * var(--hero-frame)) calc(var(--hero-radius) * var(--hero-frame)) calc(var(--hero-radius) * var(--hero-frame)) calc(var(--hero-radius) * var(--hero-frame)))}
@media(max-width:1100px){.cinematic-live.scroll-scenes .hero-sticky{--hero-inset:18px;--hero-radius-top:110px;--hero-radius:26px}}
@media(max-width:800px){.cinematic-live.scroll-scenes .hero-sticky{--hero-trim:92px;--hero-inset:16px;--hero-radius-top:90px;--hero-radius:20px}}
@media(max-width:540px){.cinematic-live.scroll-scenes .hero-sticky{--hero-trim:80px;--hero-inset:10px;--hero-radius-top:80px;--hero-radius:18px}}
