/* GRAVITY MANAGEMENT — living monolith, unified motion system V3.
   This file is additive. Previously approved artwork, layout and copy remain intact. */
:root{--gm-white:244,249,255;--gm-lux-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{background:#07090c}
/* One cool, restrained lighting language across all pages. */
.hero,.v9-hero,.approach-hero{isolation:isolate;position:relative;overflow:hidden}
.gm-light-field{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;overflow:hidden;contain:paint}
.gm-light-field:before{content:"";position:absolute;inset:-16%;background:radial-gradient(ellipse 30% 46% at 70% 40%,rgba(220,238,255,.14),transparent 75%),linear-gradient(116deg,transparent 36%,rgba(231,239,255,.05) 50%,transparent 62%);transform:translate3d(-4%,2%,0);mix-blend-mode:screen;animation:gm-shimmer 11s ease-in-out infinite alternate}
.gm-light-field:after{content:"";position:absolute;right:16%;top:18%;width:1px;height:46%;background:linear-gradient(transparent,rgba(244,250,255,.24),transparent);box-shadow:0 0 22px rgba(244,250,255,.14);opacity:.7;transform:rotate(18deg);animation:gm-filament 9s ease-in-out infinite alternate}
@keyframes gm-shimmer{0%{opacity:.47;transform:translate3d(-5%,2%,0) scale(1)}100%{opacity:1;transform:translate3d(4%,-2%,0) scale(1.04)}}
@keyframes gm-filament{0%,20%{opacity:.12}55%,80%{opacity:.65}100%{opacity:.24}}
/* Mobile trace follows a single monolithic edge, no rectangles, no section numbers. */
.gm-mobile-stage{display:none}
@media(max-width:700px){
  .gm-mobile-stage{display:block;position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important;overflow:hidden;contain:paint;}
  .gm-mobile-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 0 4px rgba(241,250,255,.42))}
  .gm-mobile-track{fill:none;stroke:rgba(218,235,250,.20);stroke-width:.9}
  .gm-mobile-glow{fill:none;stroke:#e6f5ff;stroke-width:13;opacity:.12;filter:blur(11px)}
  .gm-mobile-pulse{fill:none;stroke:#faffff;stroke-linecap:round;stroke-width:2.8;stroke-dasharray:115 885;stroke-dashoffset:1000;filter:drop-shadow(0 0 5px rgba(255,255,255,.9)) drop-shadow(0 0 13px rgba(197,230,255,.9));animation:gm-pulse 5.2s linear infinite}
  .gm-mobile-pulse.second{stroke:#cce6fa;stroke-width:1.7;opacity:.7;stroke-dasharray:55 945;animation-duration:8.2s;animation-delay:-3.2s}
  .gm-light-field:before{inset:-10%;background:radial-gradient(ellipse 65% 46% at 76% 38%,rgba(220,238,255,.18),transparent 78%);animation-duration:7s}
  .gm-light-field:after{right:23%;height:33%;opacity:.47}
  /* Keep steady automatic motion on mobile without hover, including the headline action. */
  a.primary-link,.nav-cta,.contact a,.site-drawer .site-menu-contact{animation:gm-auto-xenon 5.8s ease-in-out infinite!important}
  .site-menu-trigger{animation:gm-menu-xenon 5.8s ease-in-out infinite!important}
  @keyframes gm-auto-xenon{0%,100%{text-shadow:0 0 7px rgba(255,255,255,.2);box-shadow:0 0 6px rgba(255,255,255,.10),inset 0 0 6px rgba(255,255,255,.035)}48%,60%{text-shadow:0 0 15px rgba(255,255,255,.9),0 0 28px rgba(212,237,255,.54);box-shadow:0 0 16px rgba(255,255,255,.58),0 0 42px rgba(222,239,255,.27),inset 0 0 14px rgba(255,255,255,.10)}}
  @keyframes gm-menu-xenon{0%,100%{text-shadow:0 0 4px rgba(255,255,255,.14)}48%,60%{text-shadow:0 0 14px rgba(255,255,255,.9),0 0 26px rgba(220,238,255,.6)}}
}
@keyframes gm-pulse{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
/* White xenon is for controls only; site content keeps its editorial colour. */
.site-drawer a:hover,.site-drawer a:focus-visible,.site-header .brand:hover,.site-header .brand:focus-visible,.site-menu-trigger:hover,.site-menu-trigger:focus-visible{color:#fff!important;text-shadow:0 0 14px rgba(255,255,255,.9),0 0 35px rgba(206,232,255,.38)!important}
a:is(.primary-link,.v9-detail-link,.about-text-link,.nav-cta):is(:hover,:focus-visible),.contact a:is(:hover,:focus-visible),.v9-end a:is(:hover,:focus-visible){color:#fff!important;border-color:rgba(250,253,255,.95)!important;box-shadow:0 0 17px rgba(247,251,255,.66),0 0 44px rgba(223,237,255,.34),inset 0 0 17px rgba(250,253,255,.1)!important;text-shadow:0 0 15px rgba(255,255,255,.8)!important;transition-duration:.95s!important}
.site-drawer{transition:transform .76s var(--gm-lux-ease),visibility .76s!important;background:linear-gradient(155deg,#0d1115,#07090b 82%)!important}
.site-menu-backdrop{transition:opacity .76s var(--gm-lux-ease),visibility .76s!important}
.site-drawer a{transition:color .65s,text-shadow .65s,padding-left .65s,border-color .65s!important}
.site-drawer .site-menu-contact{border-color:rgba(228,235,242,.45)!important;color:#f1f3f5!important}
.site-drawer-title{color:rgba(218,225,231,.6)!important}
.site-drawer a[aria-current="page"]{color:#fff!important;text-shadow:0 0 15px rgba(226,239,251,.32)!important}
/* Continuous cinematic grading between scenes, no cards or artificial framing. */
.gm-ambient{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:.5;background:radial-gradient(ellipse 51% 36% at var(--gm-ambient-x,77%) var(--gm-ambient-y,74%),rgba(177,203,225,.08),transparent 84%);mix-blend-mode:screen;transform:translateZ(0)}
.gm-page-veil{position:fixed;inset:0;z-index:2000;pointer-events:none;opacity:0;background:radial-gradient(ellipse 105% 88% at 68% 44%,rgba(38,48,59,.96),#07090b 73%);transition:opacity .42s ease}
body.gm-leaving .gm-page-veil{opacity:1}
.gm-js main{transition:opacity .85s var(--gm-lux-ease),filter .85s var(--gm-lux-ease),transform .85s var(--gm-lux-ease)}
.gm-js:not(.gm-ready) main{opacity:.02;filter:blur(8px);transform:translateY(15px)}
.gm-js.gm-ready main{opacity:1;filter:none;transform:none}
.gm-js .gm-reveal{opacity:0;filter:blur(3px);transform:translateY(18px);transition:opacity 1.25s var(--gm-lux-ease),filter 1.25s,transform 1.25s var(--gm-lux-ease)}
.gm-js .gm-reveal.gm-visible{opacity:1;filter:none;transform:none}
/* Dedicated Safari stability: fixed light field never captures touch events. */
.gm-ambient,.gm-light-field,.gm-mobile-stage{-webkit-user-select:none;user-select:none;touch-action:auto}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gm-light-field:before,.gm-light-field:after,.gm-mobile-pulse,a.primary-link,.nav-cta,.contact a,.site-menu-trigger{animation:none!important}
  .gm-js main,.gm-js .gm-reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
  .gm-page-veil{transition:none!important}
  .gm-mobile-track{stroke:rgba(218,235,250,.29)}
}

body{margin:0;color:#f4f5f6;background:#080b0e;font:400 17px/1.65 Inter,-apple-system,BlinkMacSystemFont,Arial,sans-serif}header{padding:30px clamp(24px,7vw,112px);display:flex;justify-content:space-between;align-items:center;gap:25px}a{color:inherit;text-decoration:none}header a{font-size:12px;letter-spacing:.18em}main{min-height:77vh;max-width:1100px;margin:0 auto;padding:clamp(90px,12vw,170px) 24px}h1{font-size:clamp(38px,6vw,92px);line-height:1.04;font-weight:540;letter-spacing:-.045em;margin:0 0 42px}p{max-width:720px;color:#b6bdc2;font-size:clamp(17px,1.5vw,20px)}footer{padding:26px clamp(24px,7vw,112px);font-size:12px;color:#8f999f;border-top:1px solid rgba(255,255,255,.08)}a:hover{text-shadow:0 0 17px white}