/* GalaxyLink v12 · sensory layer for every sub page */
:root{--nv:#05213a;--bl:#004878;--vi:#a898f8;--vk:#6f55c4;--tx:#10243a;--mu:#5d6b7b;--ln:#e2e7ee;--so:#f3f5f9;--ez:cubic-bezier(.16,1,.3,1)}
body:not(.home-page){color:var(--tx);background:#fff;word-break:keep-all;-webkit-user-select:auto;user-select:auto}html{-webkit-user-select:auto;user-select:auto}
/* header: transparent over the dark hero, glass after scroll */
body:not(.home-page) .site-header{position:fixed;left:0;right:0;top:0;height:84px;background:transparent;border-color:transparent;backdrop-filter:none;color:#fff;transition:background .45s,color .45s,height .45s var(--ez),transform .5s var(--ez),box-shadow .45s}
body:not(.home-page) .site-header .brand-logo{filter:brightness(0) invert(1);transition:filter .45s}
.fx-scrolled body:not(.home-page) .site-header{height:68px;background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--tx);box-shadow:0 1px 0 var(--ln)}
.fx-scrolled body:not(.home-page) .site-header .brand-logo{filter:none}
.nav-links{font-size:12.5px;letter-spacing:.08em;font-weight:600}.nav-links a:not(.nav-cta){opacity:.82;transition:opacity .3s}.nav-links a:not(.nav-cta):hover,.nav-links a[aria-current=page]{opacity:1}
.nav-links a[aria-current=page]:after{background:var(--vi)!important;height:2px!important}
.nav-links .nav-cta{background:var(--vi)!important;color:var(--nv)!important;border-radius:99px;padding:10px 20px;transition:background .3s,color .3s}.nav-links .nav-cta:hover{background:#fff!important}
.fx-scrolled .nav-links .nav-cta:hover{background:var(--nv)!important;color:#fff!important}
.menu-toggle{color:inherit;background:transparent;border-color:currentColor}.nav-links.open{color:var(--tx);background:#fff}
/* hero: dark stage lit by the page's own image */
body:not(.home-page) .page-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:min(80vh,780px);padding:calc(84px + clamp(48px,8vw,110px)) 0 clamp(60px,7vw,100px);background:var(--nv);color:#fff;border:0}
.page-hero>.wrap{margin:0 auto}
.page-hero:before{content:'';position:absolute;inset:-60px;z-index:-2;background:var(--hero-img,none) center/cover no-repeat;filter:blur(40px) saturate(1.25);opacity:.6;transform:scale(1.12);animation:gl-drift 18s ease-in-out infinite alternate}
.page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#05213ad9 0%,#05213a8c 45%,#05213af5 100%)}
@keyframes gl-drift{to{transform:scale(1.22) translate(-2%,2%)}}
body:not(.home-page) .page-hero h1{color:#fff;font-size:clamp(38px,5.3vw,84px);line-height:1.15;letter-spacing:-.05em;font-weight:700}
body:not(.home-page) .page-hero p,.page-hero-copy p{color:#c4d0db}
.page-hero .eyebrow,.page-hero .eyebrow:before{color:var(--vi)!important}.breadcrumb,.breadcrumb a{color:#8ea1b2}
.page-hero .case-agency{color:#dfe6ec!important}.page-hero .case-agency strong{color:var(--vi)}
.page-hero .page-image{border-radius:16px;overflow:hidden;background:#ffffff12;border:1px solid #ffffff22;box-shadow:0 50px 90px -40px #000c;transition:transform .7s var(--ez);will-change:transform}
.page-hero .page-image>img{border-radius:0;background:transparent!important}
.page-hero .page-image figcaption{background:#0000002e!important;color:#9fb1c0!important;border-top:1px solid #ffffff1a!important;padding:12px 16px;margin:0}
.case-v8-image{background:transparent!important}
.galaxy-brand-panel{background:#ffffff0d!important}.galaxy-brand-panel>img{filter:brightness(0) invert(1);width:42%!important}.brand-panel-orbit,.galaxy-brand-panel figcaption{display:none}
/* works hero with the showreel */
.works-v8-hero .hero-reel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.5}.works-v8-hero.has-reel:before{display:none}
body:not(.home-page) .works-hero-heading h1{color:#fff}.works-total strong{color:#fff!important;font-variant-numeric:tabular-nums}.works-total span{color:var(--vi)!important}
/* type & rhythm */
.section{padding:clamp(76px,9vw,140px) 0}.section.compact{padding:clamp(40px,5vw,64px) 0}.section.white{background:var(--so)}.section.dark,.card.dark{background:var(--nv)}
.section-head h2,.statement h2,.case-scope-grid h2,.prose h2{font-size:clamp(30px,3.5vw,52px);line-height:1.28;letter-spacing:-.045em;font-weight:700;color:var(--tx)}.section.dark h2{color:#fff}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--bl)!important}.eyebrow:before{width:24px!important;height:1px!important;border-radius:0!important;vertical-align:middle;background:var(--vi)!important;margin-right:12px!important}
.statement p,.section-head p{color:var(--mu)}
/* cards turn into a dark stage on hover (GF services feel) */
body:not(.home-page) .card{border:0;border-top:1px solid var(--tx);border-radius:0;background:transparent;padding:32px 6px 36px;transition:background .55s var(--ez),color .4s,padding .55s var(--ez)}
body:not(.home-page) .card:hover{background:var(--nv);color:#fff;padding-left:30px;padding-right:30px}
.card:hover p,.card:hover li,.card:hover .eyebrow,.card:hover small{color:#c4d0db!important}.card:hover h2,.card:hover h3,.card:hover a{color:#fff}
.card.dark{color:#fff;padding-left:30px!important;padding-right:30px!important}
/* buttons & links */
body:not(.home-page) .button{border-radius:99px;min-height:52px;padding:12px 28px;background:var(--nv);border-color:var(--nv);color:#fff;transition:background .35s,color .35s,transform .35s var(--ez)}body:not(.home-page) .button:hover{background:var(--vi);border-color:var(--vi);color:var(--nv);transform:translateY(-2px)}
body:not(.home-page) .button.outline{background:transparent;color:inherit;border-color:currentColor}
.text-link span{transition:transform .4s var(--ez)}.text-link:hover span{transform:translate(4px,-4px)}
/* works wall */
.work-grid{gap:60px 28px}.work-card{border:0!important}
.work-visual{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3.1!important;background:var(--nv)!important}
.work-visual:before{content:'';position:absolute;inset:-36px;z-index:0;background:var(--card-img,none) center/cover;filter:blur(26px) saturate(1.3);opacity:.8;transform:scale(1.1)}
.work-visual>img,.work-visual>.case-type-cover{position:relative;z-index:1}.work-visual .case-cover{width:100%;height:100%;object-fit:contain}
.work-card:hover .work-visual .case-cover{transform:scale(1.06)}
.work-meta h3{font-size:20px;font-weight:700;letter-spacing:-.03em}.work-meta .arrow{color:var(--vk)}.agency-tag{color:var(--vk)}
.case-type-cover{background:linear-gradient(160deg,#0a3558,#05213a)!important}.case-type-cover:after{display:none}
.filter-btn{border-radius:99px!important;padding:9px 18px;font-size:13px;border:1px solid var(--ln);background:#fff;transition:background .3s,color .3s,border-color .3s}.filter-btn:hover{border-color:var(--tx)}
.filter-btn[aria-pressed=true],.filter-btn.active{background:var(--nv)!important;border-color:var(--nv)!important;color:#fff!important}
.search-field{border-radius:99px!important;padding:0 18px}
/* case detail */
.case-facts{border:0!important;background:var(--so);border-radius:14px;padding:30px 34px!important}.case-facts dd{font-size:17px!important}
.case-scope-list li{font-size:18px;transition:padding .5s var(--ez)}.case-scope-list li:hover{padding-left:12px}.case-scope-list li span{font-size:13px;color:var(--vk);font-weight:700}
/* closing */
body:not(.home-page) .cta{background:var(--nv);color:#fff;border:0;padding:clamp(80px,10vw,150px) 0}
body:not(.home-page) .cta h2{color:#fff;font-size:clamp(34px,4.8vw,72px);letter-spacing:-.05em;line-height:1.2}.cta p{color:#c4d0db}.cta .eyebrow{color:var(--vi)!important}
body:not(.home-page) .cta .button{background:var(--vi);border-color:var(--vi);color:var(--nv)}body:not(.home-page) .cta .button:hover{background:#fff;border-color:#fff}
.fx-flow{background:var(--vi)!important;color:var(--nv)!important}.fx-flow i{background:var(--nv)!important}.fx-flow:hover{background:#fff!important}
body:not(.home-page) .site-footer{background:#031829;color:#fff;border:0}.site-footer .brand-logo{filter:brightness(0) invert(1)}.footer-top p,.footer-links,.footer-bottom{color:#8ea1b2!important}.footer-links b{color:var(--vi)!important}.footer-links a:hover{color:#fff}.footer-bottom{border-color:#ffffff1a!important}
@media(max-width:900px){body:not(.home-page) .site-header{height:68px}body:not(.home-page) .page-hero{min-height:auto;padding:calc(68px + 44px) 0 56px}.page-hero .page-image{max-width:none}}
@media(prefers-reduced-motion:reduce){.page-hero:before{animation:none}}
.fx-flow>span{flex:none}.fx-flow span span{white-space:nowrap;flex:none}.works-total strong{white-space:nowrap}
