
/* Structure follows the rhythm of a premium corporate security site: photographic-style hero with a
   progress rail, deep-blue and pale sections alternating with curved edges, a pinned ring-based
   approach section, a pinned service browser and an expanding closing panel. Surfaces are frosted glass. */
:root{
  color-scheme:light;
  --f-d:"Outfit","Segoe UI",system-ui,sans-serif;
  --f-b:"DM Sans","Segoe UI",system-ui,sans-serif;
  --navy:#030D2B; --navy-2:#0A2C84; --navy-3:#1D5BFF;
  --light:#EDF2F9; --white:#fff; --ink:#0B1730; --ink-2:#4A5A78;
  --cy:#3DDDEA; --cy-d:#0A7C90;
  --fg:#EAF0FA; --fg-2:#BCCBEA; --line:rgba(255,255,255,.16);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{font-family:var(--f-b);background:var(--navy);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--cy);outline-offset:3px;border-radius:6px}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
h1,h2,h3,h4{font-family:var(--f-d);font-weight:500;line-height:1.1;letter-spacing:-.015em}

/* ---- surfaces ---- */
.deep{background:
  radial-gradient(1000px 620px at 85% 0%,rgba(30,110,255,.5),transparent 65%),radial-gradient(800px 500px at 0% 100%,rgba(20,90,230,.32),transparent 70%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 1px,transparent 1px 96px),
  linear-gradient(180deg,var(--navy-2),var(--navy));color:var(--fg)}
.pale{background:var(--light);color:var(--ink)}
.pale p{color:var(--ink-2)}
.glass{position:relative;isolation:isolate;border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.17) 0%,rgba(255,255,255,.05) 42%,rgba(255,255,255,.11) 100%);
  -webkit-backdrop-filter:blur(26px) saturate(190%) brightness(1.1);backdrop-filter:blur(26px) saturate(190%) brightness(1.1);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.6),inset 0 -1px 1px rgba(255,255,255,.16),inset 0 0 28px rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.25),0 28px 60px -26px rgba(0,0,0,.65)}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;pointer-events:none;z-index:1;
  background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.08) 28%,rgba(255,255,255,.05) 62%,rgba(255,255,255,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(280px 220px at var(--mx,50%) var(--my,0%),rgba(255,255,255,.22),transparent 70%)}
.glass:hover::after{opacity:1}
.glass.pill{border-radius:999px}
.pale .glass{background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(255,255,255,.4));
  -webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%);
  box-shadow:inset 0 1px 1px #fff,inset 0 0 26px rgba(255,255,255,.55),0 24px 50px -26px rgba(20,60,140,.5)}
.pale .glass::before{background:linear-gradient(135deg,#fff,rgba(255,255,255,.2) 30%,rgba(110,150,230,.28) 66%,#fff)}
.pale .glass::after{background:radial-gradient(280px 220px at var(--mx,50%) var(--my,0%),rgba(60,120,220,.14),transparent 70%)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(20,40,80,.92)}.pale .glass{background:#fff}}
@media (prefers-reduced-transparency:reduce){.glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:#14305F}.pale .glass{background:#fff}}
/* soft colour fields that sit behind glass so the blur has something to refract */
.blob{position:absolute;border-radius:50%;pointer-events:none;will-change:transform;z-index:0}
.deep .blob{background:radial-gradient(circle at 40% 35%,rgba(90,190,255,.38),rgba(30,90,220,.16) 55%,transparent 72%);filter:blur(28px)}
.pale .blob{background:radial-gradient(circle at 35% 35%,#b9d3ff,#7ba5f2 60%,transparent 74%);opacity:.7;filter:blur(18px)}
.deep>.wrap,.pale>.wrap{position:relative;z-index:1}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--cy)}
.pale .eyebrow{color:var(--cy-d)}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:3px;font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}
.btn-cy{background:var(--cy);color:#04163A;box-shadow:0 10px 30px -10px rgba(61,221,234,.7)}.btn-cy:hover{background:#7DF0F8;transform:translateY(-2px)}
.btn-line{border:1.5px solid rgba(255,255,255,.55);color:#fff}.btn-line:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.pale .btn-line{border-color:var(--navy-3);color:var(--navy-3)}.pale .btn-line:hover{background:var(--navy-3);color:#fff}
.link-a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--cy)}
.link-a svg{width:16px;height:16px}
.pale .link-a{color:var(--navy-3)}
.sec,.contact{overflow-x:clip}
.sec{scroll-margin-top:var(--hdr);padding:clamp(72px,9vw,128px) 0;position:relative}
.sec-h{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.sec-h h2{font-size:clamp(2rem,4.2vw,3.4rem)}
.sec-h p{font-size:1.08rem;color:var(--fg-2)}
.pale .sec-h p{color:var(--ink-2)}
.cap{height:clamp(40px,6vw,96px);background:var(--prev);border-radius:0 0 50% 50%/0 0 100% 100%;position:absolute;top:0;left:0;right:0;z-index:2}
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.js .rv{opacity:0;transform:translateY(26px)}
.js .rv.in{opacity:1;transform:none}

/* ---- header: floating liquid-glass pill ---- */
.hdr:not(.sm) .hdr-in{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hdr:not(.sm) .hdr-in::before{opacity:0}
.hdr-in::before{transition:opacity .4s}
:root{--hdr:92px}
.hdr{position:fixed;top:14px;left:0;right:0;z-index:50;color:var(--fg);transition:top .4s var(--ease)}
.hdr.sm{top:8px}
.hdr .wrap{width:min(1260px,100% - 24px)}
.hdr-in{height:64px;display:flex;align-items:center;gap:22px;padding:0 12px 0 24px;transition:height .4s var(--ease),background .4s;
  background:linear-gradient(145deg,rgba(22,70,190,.62),rgba(6,24,80,.58))}
.hdr.sm .hdr-in{height:56px}
.logo img{height:36px;width:auto;transition:height .4s var(--ease)}
.hdr.sm .logo img{height:31px}
.nav{display:flex;align-items:center;gap:2px;margin-inline:auto}
.nav-item{position:relative}
.nav-btn,.nav-link{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;font-size:.92rem;font-weight:500;color:var(--fg);transition:background .25s}
.nav-btn:hover,.nav-link:hover,.nav-item.open>.nav-btn{background:rgba(255,255,255,.16)}
.nav-btn svg{width:11px;height:11px;transition:transform .3s}.nav-item.open .nav-btn svg{transform:rotate(180deg)}
.panel{position:absolute;top:calc(100% + 18px);left:0;min-width:260px;padding:22px;border-radius:26px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(145deg,rgba(14,50,150,.96),rgba(4,18,70,.96));box-shadow:inset 0 1px 1px rgba(255,255,255,.35),0 34px 70px -20px rgba(0,0,0,.65);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .3s var(--ease),visibility .25s;display:grid;gap:14px}
.nav-item.open>.panel{opacity:1;visibility:visible;transform:none}
.panel h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cy);font-family:var(--f-b);font-weight:600;margin-bottom:8px}
.panel a{display:block;padding:5px 0;font-size:.9rem;color:var(--fg-2);transition:color .2s,transform .25s var(--ease)}
.panel a:hover{color:#fff;transform:translateX(3px)}
.panel.mega{grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:30px;left:50%;translate:-30% 0;width:max-content;max-width:min(1100px,92vw)}
.panel.mega.sol{translate:-45% 0}
.hdr-end{display:flex;align-items:center;gap:8px}
.lang{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.8rem;font-weight:600}
.lang:hover{background:rgba(255,255,255,.16)}
.hdr .btn{padding:11px 20px;font-size:.74rem;border-radius:999px}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);place-items:center}
.burger svg{width:20px;height:20px;margin:auto}
.progress{position:absolute;left:30px;right:30px;bottom:5px;height:2px;border-radius:2px;background:var(--cy);transform-origin:0 50%;transform:scaleX(0);opacity:.9;pointer-events:none;z-index:2}
.mnav{position:fixed;inset:calc(var(--hdr) - 6px) 12px auto 12px;z-index:49;max-height:calc(100svh - var(--hdr) - 12px);overflow:auto;border-radius:26px;background:linear-gradient(145deg,rgba(18,42,98,.95),rgba(8,24,60,.95));border:1px solid rgba(255,255,255,.2);padding:8px 22px 22px;display:none}
.mnav.open{display:block}
.mnav summary,.mnav>a{display:block;padding:14px 0;font-weight:600;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.mnav details a{display:block;padding:8px 0 8px 14px;color:var(--fg-2);font-size:.92rem}
.mnav h5{padding:10px 0 2px 14px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cy)}

/* ---- hero: black field, live text on the left, animated glass-shield artwork on the right ---- */
.hero{position:relative;min-height:max(100svh,660px);display:flex;align-items:center;overflow:hidden;isolation:isolate;color:#fff;background:#010308}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:
  radial-gradient(760px 620px at 76% 52%,rgba(20,90,255,.28),transparent 68%),
  radial-gradient(520px 360px at 6% 104%,rgba(20,80,230,.22),transparent 70%),
  #010308}
.hero-bg .hg{position:absolute;inset:-6%;background:repeating-linear-gradient(90deg,rgba(80,150,255,.04) 0 1px,transparent 1px 90px),repeating-linear-gradient(0deg,rgba(80,150,255,.03) 0 1px,transparent 1px 90px);mask-image:radial-gradient(60% 70% at 72% 50%,#000,transparent);-webkit-mask-image:radial-gradient(60% 70% at 72% 50%,#000,transparent)}
.hero-grid{width:100%;padding:calc(var(--hdr) + 20px) 0 90px;position:relative;z-index:3}
.hero-in{width:min(1400px,100% - 64px);margin:0 auto;padding-left:13px;position:relative}
.h-eyebrow{display:flex;align-items:center;gap:18px;font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:#8e9bb0;margin-bottom:30px}
.h-eyebrow i{width:40px;height:2px;background:var(--cy);flex:none}
.hero h1{font-size:clamp(2.5rem,4.7vw,4.7rem);font-weight:400;line-height:1.06;letter-spacing:-.02em;max-width:none}
.hero h1 em{font-style:normal;color:var(--cy)}
.hero h1 .wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.hero h1 .wd i{display:inline-block;font-style:normal;transform:translateY(105%);animation:up 1s var(--ease) forwards;animation-delay:calc(.15s + var(--i) * .09s)}
@keyframes up{to{transform:none}}
.hero-sub{margin-top:30px;max-width:520px;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.5;color:#d3dcea}
.hero-cta{margin-top:40px;display:flex;gap:18px;flex-wrap:wrap}
.hbtn{display:inline-flex;align-items:center;gap:22px;padding:19px 28px;border-radius:2px;font-weight:600;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s}
.hbtn svg{width:19px;height:19px;transition:transform .3s var(--ease)}
.hbtn:hover svg{transform:translateX(5px)}
.hbtn-fill{background:var(--cy);color:#02141c;box-shadow:0 0 0 0 rgba(63,224,230,.5)}
.hbtn-fill:hover{background:#7DF0F4;box-shadow:0 10px 40px -8px rgba(63,224,230,.7);transform:translateY(-2px)}
.hbtn-line{border:1px solid rgba(220,230,245,.7);color:#fff}
.hbtn-line:hover{background:rgba(255,255,255,.1);border-color:#fff;transform:translateY(-2px)}
.h-foot{position:absolute;left:max(32px,calc((100% - 1400px)/2 + 45px));bottom:48px;z-index:3;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#6c7a92}
.h-foot i{display:block;width:56px;height:1px;background:#5a6a85;margin-bottom:22px}
.h-foot b{font-weight:400;margin:0 8px;opacity:.7}
/* artwork: native composition is 817x821, placed so its bright edge line sits just right of centre */
.scene{--st:0;position:absolute;right:0;top:50%;width:51.1%;aspect-ratio:817/821;z-index:1;transform:translate3d(0,calc(-50% + var(--st) * 70px),0) scale(calc(1 - var(--st) * .05));opacity:calc(1 - var(--st) * .9);will-change:transform,opacity;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.scene .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.layers{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;overflow:hidden}
.scene.live .layers{opacity:1}
.layers .L{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;user-select:none}
.layers .bg{will-change:transform}
.layers canvas.L{z-index:2}.layers canvas.tf{z-index:20}
.layers .shield{position:absolute;z-index:5;pointer-events:none;will-change:transform;transform-origin:50% 50%}
.layers .shield img{display:block;width:100%;height:100%;opacity:.9;animation:edge 5.5s ease-in-out infinite}
@keyframes edge{0%,100%{filter:drop-shadow(0 0 6px rgba(50,150,255,.35)) brightness(1)}50%{filter:drop-shadow(0 0 20px rgba(70,190,255,.75)) brightness(1.12)}}
.layers .shield i{position:absolute;inset:0;mix-blend-mode:screen;background:linear-gradient(105deg,transparent 38%,rgba(190,235,255,.5) 50%,transparent 62%) 130% 0/260% 100% no-repeat;-webkit-mask:var(--m) center/100% 100%;mask:var(--m) center/100% 100%;animation:glint 8s ease-in-out infinite}
@keyframes glint{0%,15%{background-position:130% 0}60%,100%{background-position:-60% 0}}
.layers .sp{position:absolute;left:0;top:0;mix-blend-mode:screen;will-change:transform;pointer-events:none}
.layers .pulse{position:absolute;left:30%;top:72%;width:44%;height:16%;z-index:3;mix-blend-mode:screen;background:radial-gradient(closest-side,rgba(70,170,255,.55),transparent);animation:pulse2 5.5s ease-in-out infinite}
@keyframes pulse2{0%,100%{opacity:.25;transform:scale(.9)}50%{opacity:.8;transform:scale(1.08)}}
.scroll-cue{position:absolute;left:50%;bottom:22px;translate:-50% 0;z-index:3;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-2);display:grid;justify-items:center;gap:8px}
.scroll-cue::after{content:"";width:1px;height:34px;background:linear-gradient(var(--cy),transparent);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---- what we do ---- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tile{padding:30px 26px 70px;min-height:340px;display:flex;flex-direction:column;gap:12px;transition:transform .5s var(--ease),border-color .3s}
.tile:hover{transform:translateY(-8px);border-color:rgba(61,221,234,.6)}
.tile .n{font-family:var(--f-d);font-size:.95rem;color:var(--cy);letter-spacing:.1em}
.tile h3{font-size:1.7rem}
.tile .ph{font-weight:600;color:#fff}
.tile p{font-size:.95rem;color:var(--fg-2)}
.tile .go{position:absolute;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}
.tile .go svg{width:18px;height:18px}
.tile:hover .go{background:var(--cy);color:#06223D;transform:rotate(45deg)}

/* ---- approach: title first, then circles grow outward from the smallest ---- */
.appr-wrap{height:380vh;position:relative}
.appr-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center}
.ring{position:absolute;width:min(86vh,92vw,820px);aspect-ratio:1;left:50%;top:50%;translate:-50% -50%}
.ring svg{width:100%;height:100%;overflow:visible}
.ring .c{fill:rgba(120,180,255,.035);stroke:rgba(255,255,255,.5);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--d,0));opacity:var(--d,0);transform-origin:400px 400px;transform:scale(calc(.82 + .18 * var(--d,0)));transform-box:view-box}
.ring .c.c1{stroke:rgba(61,221,234,.65)}
.ring .c.c3{fill:none;stroke:rgba(255,255,255,.35);stroke-width:9;stroke-dasharray:1.6 12;stroke-dashoffset:0;transform:rotate(var(--rot,0deg))}
.ring .n{fill:var(--cy);opacity:0;transition:opacity .5s .2s}
.ring .n.on{opacity:1}
.ring .nh{fill:none;stroke:var(--cy);opacity:0;transform-box:fill-box;transform-origin:center}
.ring .nh.on{opacity:.7;animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.2);opacity:0}}
.ring-c{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(230px,56vw)}
.ring-c .eyebrow{opacity:var(--t,0);transform:translateY(calc((1 - var(--t,0)) * 8px));height:calc(var(--t,0) * 1.3em);overflow:hidden}
.ring-c h2{font-size:clamp(3.4rem,8vw,6.4rem);white-space:nowrap;transform:scale(calc(1 - .66 * var(--t,0)));margin-block:calc(var(--t,0) * -.34em);font-weight:500}
.ring-c .sub{color:var(--fg-2);font-size:.8rem;line-height:1.45;opacity:var(--t,0);max-height:calc(var(--t,0) * 5.5em);overflow:hidden}
.ring-c .cnt{font-family:var(--f-d);color:var(--cy);letter-spacing:.12em;font-size:.8rem;margin-top:6px;opacity:var(--t,0)}
.ablk{position:absolute;z-index:3;width:min(330px,24vw);padding:22px 24px;display:grid;gap:8px;opacity:0;transform:translateY(24px) scale(.97);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.ablk.on{opacity:1;transform:none}
.ablk .num{font-family:var(--f-d);font-size:2.2rem;line-height:1;color:var(--cy);font-weight:300}
.ablk h3{font-size:1.2rem}
.ablk p{color:var(--fg-2);font-size:.92rem}
.ablk .tg{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.ablk .tg span{font-size:.72rem;padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--fg-2)}
.ab0{left:max(24px,4vw);top:18vh}.ab1{right:max(24px,3vw);top:22vh}.ab2{left:max(24px,4vw);bottom:12vh}.ab3{right:max(24px,3vw);bottom:12vh}
.ring .c.cx{stroke:rgba(120,180,255,.3);stroke-width:1}
.lead{position:absolute;z-index:2;height:1px;background:rgba(61,221,234,.7);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease) .25s;pointer-events:none}
.lead.l{transform-origin:right}.lead.on{transform:none}
.appr-link{position:absolute;left:50%;bottom:5vh;translate:-50% 0;z-index:3;opacity:0;transition:opacity .6s}
.appr-link.on{opacity:1}

/* ---- services pinned ---- */
.svc-wrap{height:400vh;position:relative;overflow:clip}
.svc-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:var(--hdr)}
.shape{position:absolute;border-radius:28%;background:linear-gradient(135deg,rgba(150,185,245,.45),rgba(190,215,255,.15));border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;will-change:transform}
.shape.a{width:130px;height:130px;left:3%;top:22%;rotate:18deg}
.shape.b{width:90px;height:90px;right:46%;bottom:12%;rotate:-14deg;border-radius:50%}
.shape.c{width:170px;height:170px;right:2%;top:12%;rotate:30deg}
.svc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:center;position:relative;z-index:2}
.svc-list{display:grid;gap:12px}
.svc-list .eyebrow{margin-bottom:4px}
.svc-list h2{font-size:clamp(1.9rem,3.2vw,2.8rem);color:var(--ink);margin-bottom:10px}
.scard{text-align:left;width:100%;padding:18px 22px;border-radius:18px;background:#fff;border:1px solid #DCE5F2;box-shadow:0 8px 24px -16px rgba(20,50,110,.3);transition:box-shadow .4s,border-color .4s,transform .4s var(--ease)}
.scard:hover{transform:translateX(4px)}
.scard.on{border-color:var(--navy-3);box-shadow:0 22px 40px -22px rgba(20,50,110,.5)}
.scard .t{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-d);font-size:1.25rem;color:var(--ink)}
.scard .t i{font-style:normal;font-size:.8rem;color:var(--cy-d);letter-spacing:.1em}
.scard .b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.scard.on .b{grid-template-rows:1fr}
.scard .b>div{overflow:hidden}
.scard .b p{padding-top:8px;font-size:.95rem}
.scard .links{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 2px}
.scard .links a{font-size:.8rem;font-weight:600;padding:5px 12px;border-radius:999px;background:#EDF2F9;color:var(--navy-3);transition:background .2s,color .2s}
.scard .links a:hover{background:var(--navy-3);color:#fff}
.stage{position:relative;aspect-ratio:5/4.2;max-height:68svh;width:100%;border-radius:28px;overflow:hidden;background:var(--navy);box-shadow:0 40px 70px -30px rgba(10,30,80,.6)}
.stage .art{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .8s var(--ease),transform 1.2s var(--ease)}
.stage .art.on{opacity:1;transform:none}
.stage .art svg{width:100%;height:100%}
.stage .cap2{position:absolute;left:20px;right:20px;bottom:20px;padding:16px 20px;border-radius:18px;z-index:2;color:#fff;border-color:rgba(255,255,255,.25)!important;background:rgba(10,28,66,.45)!important;box-shadow:none!important}
.stage .cap2 h3{font-size:1.2rem}.stage .cap2 p{color:#D5E0F2!important;font-size:.9rem}
.svc-all{margin-top:10px}

/* ---- directory ---- */
.dir-bar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.search{flex:1 1 300px;display:flex;align-items:center;gap:10px;padding:0 18px;height:52px;border-radius:999px;background:#fff;border:1px solid #D2DDEE}
.search svg{width:20px;height:20px;color:var(--ink-2)}
.search input{flex:1;border:0;background:none;font:inherit;color:var(--ink);outline:0;height:100%}
.search:focus-within{border-color:var(--navy-3);box-shadow:0 0 0 3px rgba(18,50,116,.18)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid #D2DDEE;font-weight:600;font-size:.88rem;color:var(--ink)}
.chip[aria-pressed=true]{background:var(--navy-3);border-color:var(--navy-3);color:#fff}
.dir-count{font-size:.88rem;color:var(--ink-2);margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.scr{display:flex;flex-direction:column;gap:10px;padding:24px;min-height:190px;border-radius:20px;background:#fff;border:1px solid #DCE5F2;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.scr:hover{transform:translateY(-6px);box-shadow:0 26px 40px -24px rgba(20,50,110,.45);border-color:var(--navy-3)}
.scr .k{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--cy-d)}
.scr h3{font-size:1.2rem;color:var(--ink)}
.scr p{font-size:.9rem;color:var(--ink-2);flex:1}
.scr .go{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--navy-3)}
.scr .go svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.scr:hover .go svg{transform:translate(3px,-3px)}
.empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--ink-2)}

/* ---- research ---- */
.res-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.arrows{display:flex;gap:10px}
.arrows button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,color .3s}
.arrows button:hover{background:var(--cy);color:#06223D}.arrows svg{width:20px;height:20px}
.track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 24px;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 min(1000px,100%);scroll-snap-align:start;display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(20px,4vw,48px);padding:clamp(18px,3vw,34px);align-items:center}
.cover{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#16419A,#0A1E48);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border:1px solid var(--line)}
.cover.alt{background:linear-gradient(160deg,#1A3E6E,#0A1E48)}
.cover.dev{background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px),#0C2557}
.cover svg{position:absolute;inset:0;width:100%;height:100%}
.cover .cm{position:relative;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cy);font-weight:600}
.cover .ct{position:relative;font-family:var(--f-d);font-size:1.5rem;line-height:1.1;margin-top:6px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.badge{font-size:.72rem;padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--fg-2);letter-spacing:.04em}
.badge.new{background:var(--cy);border-color:var(--cy);color:#06223D;font-weight:700}
.slide h3{font-size:clamp(1.3rem,2.3vw,1.9rem);margin-bottom:12px}
.slide p{color:var(--fg-2);margin-bottom:22px;font-size:.98rem}
.slide-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.counter{margin-top:6px;font-family:var(--f-d);letter-spacing:.14em;color:var(--fg-2)}

/* ---- academy & perspectives ---- */
.cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.cats span{padding:9px 18px;border-radius:999px;background:#fff;border:1px solid #D2DDEE;font-size:.88rem;font-weight:500;color:var(--ink)}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.course{padding:28px}
.course h3{font-size:1.3rem;color:var(--ink);margin-bottom:14px}
.course ul{list-style:none;display:grid;gap:8px}
.course li{padding-left:18px;position:relative;font-size:.94rem;color:var(--ink-2)}
.course li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--cy-d)}
.vfoot{margin-top:28px}
.takes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.take{padding:26px;display:grid;gap:10px;align-content:start}
.take .k{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--cy-d)}
.take h3{font-size:1.2rem;color:var(--ink)}
.take p{font-size:.92rem}

/* ---- consulting & auditing deep dive ---- */
.ca-grid{display:grid;grid-template-columns:5fr 7fr;gap:22px;align-items:stretch}
.ca-card{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.ca-top{display:flex;align-items:center;gap:14px}
.ca-top .ic{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(61,221,234,.14);border:1px solid rgba(61,221,234,.4);color:var(--cy)}
.ca-top .ic svg{width:28px;height:28px}
.ca-top .n{font-family:var(--f-d);color:var(--cy);letter-spacing:.1em;font-size:.9rem}
.ca-card h3{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.ca-card .ph{font-weight:600;color:#fff}
.ca-card>p{color:var(--fg-2)}
.rows{display:grid;gap:10px}
.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:background .3s,transform .4s var(--ease),border-color .3s}
.row:hover{background:rgba(255,255,255,.14);transform:translateX(5px);border-color:rgba(61,221,234,.55)}
.row b{font-weight:600;display:block}.row small{display:block;color:var(--fg-2);font-size:.85rem;margin-top:2px}
.row svg{width:18px;height:18px;flex:none;color:var(--cy);transition:transform .3s var(--ease)}
.row:hover svg{transform:translate(3px,-3px)}
.aud-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.aud-col h4{font-family:var(--f-b);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cy);font-weight:600;margin-bottom:10px}
.aud-col .rows{gap:8px}
.aud-col .row{padding:12px 14px;font-size:.92rem;font-weight:500}
.chips-l{display:flex;gap:8px;flex-wrap:wrap}
.chips-l span{font-size:.78rem;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:var(--fg-2);background:rgba(255,255,255,.05)}
.ca-grid2{margin-top:22px;grid-template-columns:1fr 1fr}
.bridge{margin-top:26px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:14px}
.bridge .b{padding:18px 22px;text-align:left}
.bridge .b small{color:var(--cy);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.bridge .b div{font-family:var(--f-d);font-size:1.1rem;margin-top:4px}
.bridge .arrw{width:46px;height:2px;background:linear-gradient(90deg,transparent,var(--cy));position:relative;overflow:hidden}
.bridge .arrw::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff,transparent);transform:translateX(-100%);animation:flow 2.4s ease-in-out infinite}
@keyframes flow{to{transform:translateX(100%)}}

/* ---- research covers ---- */
.cover.img{padding:0;aspect-ratio:1190/1684;background:#04101f;display:block}
.cover.img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.slide:hover .cover.img img{transform:scale(1.04)}
.academy-note{margin-top:22px;font-size:.85rem;color:var(--ink-2)}

/* ---- expanding CTA with scroll-driven timeline ---- */
.cta-wrap{height:360vh;position:relative;background:var(--light)}
.cta-pin{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}
.cta-card{--e:0;width:calc(100% - (1 - var(--e)) * clamp(32px,12vw,200px));height:calc(100% - (1 - var(--e)) * clamp(80px,24vh,200px));border-radius:calc((1 - var(--e)) * 44px);position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;color:#fff;
  background:radial-gradient(800px 500px at 50% 115%,rgba(60,150,255,.6),transparent 70%),radial-gradient(600px 400px at 12% 0%,rgba(61,221,234,.2),transparent 70%),linear-gradient(180deg,#0B3FD0,#041040)}
.cta-card .grid-bg{position:absolute;inset:-10%;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 64px),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 64px);transform:translateY(calc(var(--e) * -60px)) perspective(600px) rotateX(55deg);transform-origin:50% 100%;mask-image:linear-gradient(180deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 70%)}
.cta-card .orb{position:absolute;width:62vmin;height:62vmin;border-radius:50%;border:1px solid rgba(255,255,255,.12);left:50%;top:50%;translate:-50% -50%;scale:calc(.7 + var(--e) * .5)}
.cta-card .orb.o2{width:92vmin;height:92vmin;border-style:dashed;opacity:.5}
.cta-in{position:relative;z-index:2;display:grid;gap:clamp(14px,2.4vh,26px);justify-items:center;padding:24px;width:min(1000px,100%);opacity:calc(.15 + var(--e) * .85);transform:translateY(calc((1 - var(--e)) * 30px))}
.cta-in h2{font-size:clamp(2.1rem,4.8vw,4rem);max-width:15ch}
.cta-in .p{color:var(--fg-2);font-size:1.02rem;max-width:620px}
.tl{position:relative;width:min(900px,100%);height:150px;margin:6px 0 4px}
.tl-line{position:absolute;left:0;right:0;top:50%;height:3px;border-radius:3px;background:rgba(255,255,255,.16)}
.tl-line b{position:absolute;inset:0;border-radius:3px;background:linear-gradient(90deg,var(--cy),#fff);transform-origin:0 50%;transform:scaleX(var(--f,0))}
.tl-ms,.tl-ev{position:absolute;top:50%;left:var(--x);translate:-50% -50%;display:grid;justify-items:center}
.tl-ms i{width:20px;height:20px;border-radius:50%;background:var(--cy);box-shadow:0 0 0 6px rgba(61,221,234,.2),0 0 24px rgba(61,221,234,.7);display:block}
.tl-ms span{position:absolute;top:30px;white-space:nowrap;font-weight:600;font-size:.88rem}
.tl-ev i{width:12px;height:12px;border-radius:50%;background:#fff;display:block;box-shadow:0 0 0 0 rgba(255,255,255,.6)}
.tl-ev span{position:absolute;white-space:nowrap;font-size:.82rem;color:var(--fg-2);padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.tl-ev.up span{bottom:26px}.tl-ev.dn span{top:26px}
.tl-ev,.tl-ms{opacity:0;transform:scale(.7);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.tl-ev.on,.tl-ms.on{opacity:1;transform:none}
.tl-ev.on i{animation:evping 2.4s ease-out infinite}
@keyframes evping{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}100%{box-shadow:0 0 0 16px rgba(255,255,255,0)}}
.qs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.qs span{padding:10px 20px;border-radius:999px;font-weight:600;font-size:.92rem;background:rgba(61,221,234,.14);border:1px solid rgba(61,221,234,.5);color:#fff;opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.qs.on span{opacity:1;transform:none}
.qs.on span:nth-child(2){transition-delay:.12s}.qs.on span:nth-child(3){transition-delay:.24s}
.cta-in .btn{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease) .3s,transform .6s var(--ease) .3s,background .3s}
.cta-in .btn.on{opacity:1;transform:none}
.cta-in .p{opacity:0;transition:opacity .6s}.cta-in .p.on{opacity:1}

/* ---- contact ---- */
.contact{padding:clamp(72px,9vw,120px) 0}
.c-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(30px,5vw,80px);align-items:start}
.c-grid h2{font-size:clamp(2rem,4vw,3.2rem);margin:14px 0}
.lead{color:var(--fg-2);font-size:1.05rem}
.facts{display:grid;gap:12px;margin:26px 0}
.facts span{display:flex;gap:16px;color:var(--fg-2);font-size:.9rem}
.facts b{color:#fff;font-weight:500}
.facts span::before{content:attr(data-k);min-width:64px;color:var(--cy);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;padding-top:2px}
.why{list-style:none;display:grid;gap:8px;color:var(--fg-2);font-size:.94rem}
.why li{padding-left:22px;position:relative}
.why li::before{content:"";position:absolute;left:0;top:.65em;width:10px;height:2px;background:var(--cy)}
.form{padding:clamp(22px,3vw,38px);display:grid;gap:16px}
.form h3{font-size:1.4rem}
.fld{display:grid;gap:6px}.fld label{font-size:.82rem;color:var(--fg-2);font-weight:500}
.fld input,.fld textarea{width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;font:inherit;transition:border-color .25s,background .25s}
.fld textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--cy);background:rgba(255,255,255,.12)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ---- footer ---- */
.ftr{padding:60px 0 28px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--navy),#051233)}
.f-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.f-top img{height:46px;width:auto}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.socials a{padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:.84rem;font-weight:500;transition:background .25s}
.socials a:hover{background:rgba(255,255,255,.12)}
.f-cols{display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
.f-cols h4{font-family:var(--f-b);font-size:.84rem;font-weight:700;margin-bottom:12px;color:#fff}
.f-cols a{display:block;padding:4px 0;font-size:.84rem;color:var(--fg-2);transition:color .2s}
.f-cols a:hover{color:var(--cy)}
.f-about{margin:44px 0 28px;max-width:640px;color:var(--fg-2);font-size:.92rem}
.f-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg-2)}
.f-bot nav{display:flex;gap:18px;flex-wrap:wrap}
.f-bot a:hover{color:#fff}
.wa{opacity:0;pointer-events:none;transition:opacity .4s;position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(12,37,87,.7)!important}
.wa.show{opacity:1;pointer-events:auto}
.wa svg{width:26px;height:26px}
.toast{position:fixed;left:50%;bottom:24px;translate:-50% 20px;z-index:80;max-width:min(520px,90vw);padding:14px 22px;border-radius:16px;background:#0C2557;border:1px solid var(--line);color:#fff;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .3s,translate .4s var(--ease)}
.toast.show{opacity:1;translate:-50% 0}
.loader{position:fixed;inset:0;z-index:100;background:var(--navy);display:grid;place-items:center;transition:opacity .6s,visibility .6s}
.loader.done{opacity:0;visibility:hidden}
.loader img{height:54px;width:auto;margin:auto;animation:pulse 1.4s ease-in-out infinite}
.loader span{display:block;margin-top:14px;text-align:center;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
@keyframes pulse{50%{opacity:.5}}

@media (max-width:1100px){
  .ca-grid,.ca-grid2{grid-template-columns:1fr}
  .hero{flex-direction:column;align-items:stretch;min-height:0}
  .hero{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0}
  .hero-grid{padding:calc(var(--hdr) + 28px) 0 12px}
  .hero-in{width:calc(100% - 40px);padding-left:0}
  .scene{position:relative;right:auto;top:auto;width:100%;transform:translate3d(0,calc(var(--st) * 40px),0) scale(calc(1 - var(--st) * .04));margin-top:0}
  .h-foot{position:relative;left:auto;bottom:auto;order:3;padding:6px 20px 36px}
  .scroll-cue{display:none}
  .hdr-in{padding-left:18px}
}
@media (max-width:900px){
  .ring{width:min(96vw,54svh);top:34%}
  .ring-c{position:absolute;left:50%;top:34%;translate:-50% -50%}
  .ablk{width:auto;left:16px!important;right:16px!important;top:auto!important;bottom:5vh!important;padding:18px 20px}
  .ablk.on:not(.cur){opacity:0;transform:translateY(-14px)}
  .lead{display:none!important}
  .appr-link{left:auto;right:20px;translate:0;bottom:1.5vh}
  .aud-cols{grid-template-columns:1fr}
  .bridge{grid-template-columns:1fr}.bridge .arrw{display:none}
  .tl{height:176px}.tl-ev span,.tl-ms span{font-size:.7rem;padding:5px 9px;white-space:normal;text-align:center;width:78px}
  .tl-ms span{width:70px;padding:0}
  .tl>.tl-ms:nth-child(2){--x:11%}.tl>.tl-ms:last-child{--x:89%}
  .cta-in .p{display:none}
}
@media (max-width:640px){
  .hero h1{font-size:2.5rem}.hbtn{padding:16px 20px;gap:14px;font-size:.78rem}.h-eyebrow{letter-spacing:.2em;font-size:.66rem;margin-bottom:20px}.h-foot{font-size:.6rem;letter-spacing:.2em}
  .hdr-in{height:58px}
  .ring-c .eyebrow{display:none}
}
/* ---- responsive ---- */
@media (max-width:1100px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .grid,.cols{grid-template-columns:repeat(2,1fr)}
  .takes{grid-template-columns:repeat(2,1fr)}
  .f-cols{grid-template-columns:repeat(3,1fr)}
  .nav{display:none}.burger{display:grid}
  .hdr-end .lang{margin-left:auto}.hdr-in{gap:12px}.logo{margin-right:auto}
  .hdr .btn{display:none}
}
@media (max-width:900px){
  .ablk{width:auto;left:24px!important;right:24px!important;top:auto!important;bottom:6vh!important;text-align:left}
  .ablk.on:not(.cur){opacity:0;transform:translateY(-14px)}
  .ring{width:min(92vw,56svh);top:36%}
  .ring-c{position:absolute;left:50%;top:36%;translate:-50% -50%;width:56%}
  .ring-c p{display:none}
  .appr-link{left:24px;right:auto}
  .appr-link{bottom:2vh}
  .svc{grid-template-columns:1fr;gap:16px}
  .stage{aspect-ratio:16/10;max-height:30svh;order:-1}
  .svc-list h2{display:none}
  .svc-list{gap:8px}
  .scard{padding:12px 16px}.scard .t{font-size:1.05rem}
  .scard .links{display:none}
  .slide{grid-template-columns:1fr}.cover{aspect-ratio:16/9}
  .c-grid{grid-template-columns:1fr}
  .rail-in{grid-template-columns:repeat(4,1fr);gap:8px}
  .seg em,.seg small{display:none}.seg span{font-size:.85rem}
}
@media (max-width:640px){
  .wa{width:48px;height:48px;right:14px;bottom:14px}
  .tiles,.grid,.cols,.takes{grid-template-columns:1fr}
  .tile{min-height:0}
  .two{grid-template-columns:1fr}
  .f-cols{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:2.4rem}
  .scroll-cue{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv{opacity:1;transform:none}
  .hero h1 .wd i{transform:none}
  .appr-wrap,.svc-wrap,.cta-wrap{height:auto}
  .appr-pin,.svc-pin,.cta-pin{position:static;height:auto}
  .appr-pin{display:flex;flex-direction:column;gap:28px;padding:80px 24px}
  .ring{display:none}
  .ablk{position:static;width:auto;opacity:1;transform:none}
  .lead{display:none}.scene{transform:none;opacity:1}
  .svc-pin{padding:80px 0}
  .cta-pin{padding:40px 0}.cta-card{--e:1;min-height:70vh}
}
/* ---- calm navy theme ---- */
:root{--navy:#10224A;--navy-2:#2B4F98;--navy-3:#2F5AAE;--cy:#4CD3DD;--cy-d:#1A7F93;--fg-2:#C6D2E8}
.deep{background:
  radial-gradient(900px 560px at 88% 0%,rgba(120,160,225,.34),transparent 66%),
  radial-gradient(700px 480px at 4% 100%,rgba(80,120,195,.28),transparent 70%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 96px),
  linear-gradient(180deg,#2C5099 0%,#243F82 36%,#1B3169 72%,#142859 100%)}
.deep .blob{background:radial-gradient(circle at 40% 35%,rgba(140,180,240,.38),rgba(70,110,190,.18) 55%,transparent 72%)}
.pale .blob{background:radial-gradient(circle at 35% 35%,#C3D3EE,#8EA9D8 60%,transparent 74%);opacity:.6}
.hdr-in{background:linear-gradient(145deg,rgba(52,90,165,.66),rgba(24,46,100,.62))}
.hdr:not(.sm) .hdr-in{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hdr:not(.sm) .hdr-in::before{opacity:0}
.hdr-in,.hdr-in::before{transition:background .4s,box-shadow .4s,opacity .4s}
.panel,.mnav{background:linear-gradient(145deg,rgba(40,74,142,.97),rgba(20,40,90,.97))}
.shape{background:linear-gradient(135deg,rgba(130,165,225,.5),rgba(180,205,240,.18))}
.cta-card{background:radial-gradient(800px 500px at 50% 115%,rgba(120,160,225,.5),transparent 70%),radial-gradient(600px 400px at 12% 0%,rgba(76,211,221,.16),transparent 70%),linear-gradient(180deg,#2C5099,#1B3169 70%,#142859)}
.btn-cy{background:var(--cy);color:#04161c}.btn-cy:hover{background:#86E6EC}
.hbtn-fill{background:var(--cy)}.hbtn-fill:hover{background:#86E6EC}
.scard.on,.chip[aria-pressed=true]{border-color:var(--navy-3)}
.chip[aria-pressed=true]{background:var(--navy-3)}
.cap2,.stage{background:#1B3169}
.cover.dev{background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 10px,transparent 10px 20px),#2A4C94}
.cover{background:linear-gradient(160deg,#2B4F98,#142859)}
.ring .c.c1{stroke:rgba(76,211,221,.75)}
.tile:hover{border-color:rgba(76,211,221,.7)}
.ftr{background:linear-gradient(180deg,#10224A,#0B1938)}
.toast{background:#1B3169}
.hero-bg{background:radial-gradient(760px 620px at 76% 52%,rgba(70,115,200,.2),transparent 68%),radial-gradient(520px 360px at 6% 104%,rgba(60,100,180,.16),transparent 70%),#02050C}
.hero{background:#02050C}
/* animated light line at the left edge of the artwork (replaces the baked one) */
.edgeline{position:absolute;left:0;top:0;bottom:0;width:2.2%;z-index:6;pointer-events:none}
.edgeline i{position:absolute;display:block}
.edgeline .core{left:.85%;top:2%;bottom:2%;width:max(2px,.7%);min-width:2px;border-radius:2px;background:linear-gradient(180deg,rgba(150,210,255,0),rgba(190,228,255,.85) 14%,rgba(200,235,255,.95) 50%,rgba(190,228,255,.85) 86%,rgba(150,210,255,0));box-shadow:0 0 10px 1px rgba(110,185,255,.6),0 0 30px 6px rgba(70,140,230,.35);animation:elbreath 4.8s ease-in-out infinite}
.edgeline .beam{left:calc(.85% - 2px);width:calc(max(2px,.7%) + 4px);height:16%;top:0;border-radius:6px;background:linear-gradient(180deg,transparent,#fff 50%,transparent);filter:blur(1px);mix-blend-mode:screen;box-shadow:0 0 22px 6px rgba(150,215,255,.8);animation:elrun 4.2s cubic-bezier(.45,0,.55,1) infinite}
.edgeline .beam.b2{height:8%;opacity:.75;animation-duration:6.4s;animation-delay:-2.6s;animation-direction:reverse}
@keyframes elrun{0%{transform:translateY(-110%);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(520%);opacity:0}}
@keyframes elbreath{0%,100%{opacity:.78;transform:translateX(0)}50%{opacity:1;transform:translateX(1.5px)}}
@media (prefers-reduced-motion:reduce){.edgeline .beam{display:none}}
/* ---- electric blue (Group-IB-like) + full-width flat blurred header ---- */
:root{--navy:#030716;--navy-2:#0B1FD0;--navy-3:#1737F0;--cy:#4CD3DD;--hdr:74px}
.deep{background:
  radial-gradient(900px 560px at 88% 0%,rgba(30,70,255,.55),transparent 66%),
  radial-gradient(700px 480px at 4% 100%,rgba(20,50,230,.38),transparent 70%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 96px),
  linear-gradient(180deg,#0A1BC4 0%,#0715A0 34%,#050F6E 68%,#030823 100%)}
.deep .blob{background:radial-gradient(circle at 40% 35%,rgba(70,110,255,.5),rgba(20,50,230,.22) 55%,transparent 72%)}
.pale .blob{background:radial-gradient(circle at 35% 35%,#9FB4FF,#5C7BFF 60%,transparent 74%);opacity:.5}
.panel,.mnav{background:linear-gradient(145deg,rgba(8,24,150,.97),rgba(3,10,70,.97))}
.shape{background:linear-gradient(135deg,rgba(90,120,255,.5),rgba(150,175,255,.16))}
.cta-card{background:radial-gradient(800px 500px at 50% 115%,rgba(40,80,255,.7),transparent 70%),radial-gradient(600px 400px at 12% 0%,rgba(76,211,221,.2),transparent 70%),linear-gradient(180deg,#0A1BC4,#050F6E 70%,#030823)}
.cap2,.stage{background:#050F6E}
.cover.dev{background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 10px,transparent 10px 20px),#0B1FD0}
.cover{background:linear-gradient(160deg,#0B1FD0,#030823)}
.chip[aria-pressed=true]{background:var(--navy-3);border-color:var(--navy-3)}
.scard.on{border-color:var(--navy-3)}
.ftr{background:linear-gradient(180deg,#030716,#02040E)}
.toast{background:#050F6E}
.hero,.hero-bg{background-color:#010206}
.hero-bg{background:radial-gradient(760px 620px at 76% 52%,rgba(20,60,230,.26),transparent 68%),radial-gradient(520px 360px at 6% 104%,rgba(20,50,220,.2),transparent 70%),#010206}
/* header */
.hdr,.hdr.sm{top:0}
.hdr .wrap{width:100%;max-width:none;margin:0}
.hdr .hdr-in,.hdr:not(.sm) .hdr-in,.hdr.sm .hdr-in{height:68px;padding:0 max(24px,calc((100% - 1400px)/2 + 24px));gap:26px;border-radius:0;border:0;border-bottom:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(2,6,26,.62),rgba(3,10,44,.46));
  -webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:none}
.hdr.sm .hdr-in{height:60px;background:linear-gradient(180deg,rgba(2,6,26,.74),rgba(3,10,44,.6))}
.hdr .hdr-in::before,.hdr .hdr-in::after{display:none}
.hdr .glass,.hdr .hdr-in.glass{border-radius:0}
.nav-btn,.nav-link{border-radius:4px}
.lang{border-radius:4px}
.hdr .btn{border-radius:4px}
.burger{border-radius:4px}
.panel{border-radius:0 0 8px 8px;top:100%}
.mnav{border-radius:0;inset:68px 0 auto 0}
.progress{left:0;right:0;bottom:-1px;height:2px}
@media (max-width:1100px){.hdr .hdr-in,.hdr:not(.sm) .hdr-in{padding:0 20px}}
/* ---- v9: darker blue, no blur spots, transparent black header, hero edge blend ---- */
:root{--navy-2:#08127A;--navy-3:#1A2EC0}
.blob,.deep .blob,.pale .blob{display:none!important}
.shape{display:none}
.deep{background:
  radial-gradient(900px 560px at 88% 0%,rgba(24,50,200,.32),transparent 66%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 1px,transparent 1px 96px),
  linear-gradient(180deg,#09146F 0%,#060F58 34%,#040A3A 68%,#02051E 100%)}
.cta-card{background:radial-gradient(800px 500px at 50% 115%,rgba(24,50,200,.5),transparent 70%),linear-gradient(180deg,#09146F,#040A3A 70%,#02051E)}
.cap2,.stage{background:#040A3A}
.cover.dev{background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px),#0A1580}
.cover{background:linear-gradient(160deg,#0A1580,#02051E)}
.panel,.mnav{background:linear-gradient(145deg,rgba(6,16,100,.97),rgba(2,6,40,.97))}
.hero-bg{background:radial-gradient(760px 620px at 76% 52%,rgba(14,40,170,.16),transparent 68%),#000}
.hero{background:#000}
.hdr .hdr-in,.hdr:not(.sm) .hdr-in{background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.16));
  -webkit-backdrop-filter:blur(30px) saturate(150%);backdrop-filter:blur(30px) saturate(150%);border-bottom:1px solid rgba(255,255,255,.1)}
.hdr.sm .hdr-in{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.3))}
.scene{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 20%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 20%,#000 82%,transparent 100%)}
@media (max-width:1100px){.scene{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 90%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 90%,transparent 100%)}}

/* v10: stronger header blur */
.hdr .hdr-in,.hdr:not(.sm) .hdr-in{background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.1));-webkit-backdrop-filter:blur(46px) saturate(190%) brightness(.9);backdrop-filter:blur(46px) saturate(190%) brightness(.9)}
.hdr.sm .hdr-in{background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.22))}
.ring .nh{display:none}
/* ===== inner pages ===== */
body.inner{background:#000}
.phero{position:relative;background:#000;color:#fff;padding:calc(var(--hdr) + clamp(56px,8vw,110px)) 0 clamp(72px,9vw,120px);overflow:hidden;isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 420px at 82% 0%,rgba(20,50,200,.28),transparent 70%),radial-gradient(520px 320px at 0% 100%,rgba(20,50,200,.16),transparent 70%)}
.phero::after{content:"";position:absolute;left:0;top:var(--hdr);bottom:0;width:2px;background:linear-gradient(180deg,transparent,rgba(160,215,255,.9),transparent);box-shadow:0 0 18px 2px rgba(90,160,255,.5);opacity:.7;animation:elbreath 4.8s ease-in-out infinite}
.phero .wrap{width:min(1240px,100% - 64px)}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#8e9bb0;margin-bottom:26px}
.crumbs a{color:#8e9bb0;transition:color .2s}.crumbs a:hover{color:var(--cy)}.crumbs i{font-style:normal;opacity:.5}
.phero h1{font-size:clamp(2.3rem,5vw,4.4rem);font-weight:400;max-width:18ch;line-height:1.06;letter-spacing:-.02em}
.phero h1 em{font-style:normal;color:var(--cy)}
.phero .sub{margin-top:26px;max-width:640px;font-size:clamp(1.05rem,1.5vw,1.25rem);color:#d3dcea;line-height:1.55}
.phero .hero-cta{margin-top:34px}
.sec.tight{padding-top:clamp(96px,10vw,150px)}
.two-col{display:grid;grid-template-columns:5fr 6fr;gap:clamp(28px,5vw,80px);align-items:start}
.snap{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.snap .glass{padding:26px;display:grid;gap:6px}
.snap small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--cy-d)}
.snap b{font-family:var(--f-d);font-size:1.3rem;font-weight:500;color:var(--ink)}
.pale .quote{font-family:var(--f-d);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.25;color:var(--ink);max-width:24ch}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dcard{padding:28px;display:grid;gap:12px;align-content:start;min-height:230px}
.dcard .n{font-family:var(--f-d);color:var(--cy);letter-spacing:.1em;font-size:.95rem}
.pale .dcard .n{color:var(--cy-d)}
.dcard h3{font-size:1.35rem}
.pale .dcard h3{color:var(--ink)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.step{padding:30px 28px 34px;border-left:1px solid var(--line);display:grid;gap:12px;align-content:start}
.step:first-child{border-left:0;padding-left:0}
.step .big{font-family:var(--f-d);font-size:3.4rem;font-weight:300;line-height:1;color:var(--cy)}
.step h3{font-size:1.4rem}
.step p{color:var(--fg-2)}
.word{display:flex;gap:clamp(12px,3vw,40px);flex-wrap:wrap;font-family:var(--f-d);font-size:clamp(2rem,5vw,4rem);margin-bottom:clamp(30px,5vw,56px)}
.word span:nth-child(2){color:var(--cy)}
.band{padding:clamp(34px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.band h2{font-size:clamp(1.7rem,3.2vw,2.7rem);max-width:20ch}
.band .acts{display:flex;gap:14px;flex-wrap:wrap}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rel a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-radius:12px;background:#fff;border:1px solid #DCE5F2;font-weight:600;color:var(--ink);transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.rel a:hover{transform:translateY(-4px);border-color:var(--navy-3);box-shadow:0 20px 34px -22px rgba(10,30,120,.5)}
.rel a.cur{border-color:var(--navy-3);background:#EEF1FF}
.rel svg{width:16px;height:16px;color:var(--navy-3);flex:none}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{padding:26px;display:grid;gap:10px;align-content:start}
.pcard h3{font-size:1.25rem}
.pcard .k{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--cy)}
.pcard p{color:var(--fg-2);font-size:.94rem}
.pcard ul{list-style:none;display:grid;gap:6px;margin-top:4px}
.pcard li a{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--fg);transition:color .2s,padding .3s var(--ease)}
.pcard li a:hover{color:var(--cy);padding-left:6px}
.pcard li svg{width:14px;height:14px;flex:none;color:var(--cy)}
.big-q{font-family:var(--f-d);font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.15;max-width:22ch;margin-bottom:28px}
.tags{display:flex;gap:10px;flex-wrap:wrap}
.tags span{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);font-size:.9rem}
.pale .tags span{background:#fff;border-color:#D2DDEE;color:var(--ink)}
.roles{display:grid;gap:12px}
.role{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:24px 26px}
.role h3{font-size:1.3rem}
.role .m{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:.78rem;color:var(--fg-2)}
.role .m span{padding:3px 12px;border:1px solid var(--line);border-radius:999px}
.role p{color:var(--fg-2);margin-top:8px}
.formwrap{max-width:820px}
.fld select{width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;font:inherit}
.fld select option{color:#0B1730}
.fld select:focus{outline:0;border-color:var(--cy)}
.fld input[type=file]{padding:11px 14px}
.fld input[type=date],.fld input[type=time]{color-scheme:dark}
.fld .hint{font-size:.76rem;color:var(--fg-2)}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--fg-2)}
.chk input{width:18px;height:18px;margin-top:3px;accent-color:#4CD3DD;flex:none}
.req{color:var(--cy)}
.doc{max-width:820px;display:grid;gap:30px}
.doc h2{font-size:1.5rem;margin-bottom:8px;color:var(--ink)}
.doc p{color:var(--ink-2)}
.doc .eff{font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cy-d);font-weight:600}
.loc{padding:34px;display:grid;gap:14px;max-width:560px}
.loc h3{font-size:1.8rem}
.loc p{color:var(--fg-2)}
.loginbox{width:min(460px,100%);margin:0 auto;padding:clamp(26px,4vw,42px);display:grid;gap:16px}
.loginbox h1{font-size:2.2rem}
.loginbox p{color:var(--fg-2)}
.wp-hero{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(26px,5vw,72px);align-items:center}
.wp-hero .cover.img{box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.wp-hero h1{font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:400;line-height:1.1;margin:10px 0 20px}
.wp-hero p{color:#d3dcea;margin-bottom:26px;max-width:60ch}
.statline{font-family:var(--f-d);font-size:clamp(1.8rem,4.4vw,3.6rem);line-height:1.12;max-width:20ch}
.statline em{font-style:normal;color:var(--cy)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.trio .glass{padding:28px;display:grid;gap:10px;align-content:start}
.trio .n{font-family:var(--f-d);font-size:2rem;font-weight:300;color:var(--cy)}
.trio h3{font-size:1.25rem}.trio p{color:var(--fg-2);font-size:.95rem}
.pale .trio h3{color:var(--ink)}.pale .trio .n{color:var(--cy-d)}.pale .trio p{color:var(--ink-2)}
.sec .stickyhead{margin-bottom:28px}
@media (max-width:1100px){.pgrid{grid-template-columns:repeat(2,1fr)}.dgrid,.trio,.rel{grid-template-columns:repeat(2,1fr)}.two-col,.wp-hero{grid-template-columns:1fr}.wp-hero .cover.img{max-width:300px}}
@media (max-width:900px){.steps{grid-template-columns:1fr}.step{border-left:0;border-top:1px solid var(--line);padding-left:0}.step:first-child{border-top:0}.band{grid-template-columns:1fr}.phero .wrap{width:calc(100% - 40px)}}
@media (max-width:640px){.pgrid,.dgrid,.trio,.rel,.snap{grid-template-columns:1fr}.role{grid-template-columns:1fr}.phero h1{font-size:2.3rem}}
@media (prefers-reduced-motion:reduce){.phero::after{animation:none}}
/* ================= v11: liquid glass system ================= */
:root{--gr:14px;--gl-hi:rgba(255,255,255,.55);--gl-bd:rgba(255,255,255,.24)}
/* ---- buttons: base (dark surfaces) ---- */
.btn,.hbtn,.lang,.burger,.chip,.arrows button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 26px;border-radius:var(--gr);
  font:600 .8rem/1 var(--f-b);letter-spacing:.09em;text-transform:uppercase;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25);cursor:pointer;
  border:1px solid var(--gl-bd);background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.06));
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 rgba(255,255,255,.1),inset 0 0 14px rgba(255,255,255,.05),0 10px 24px -12px rgba(0,0,0,.65);
  transition:background .3s var(--ease),border-color .3s,box-shadow .35s var(--ease),transform .3s var(--ease),color .2s}
.btn::before,.hbtn::before,.chip::before,.arrows button::before,.lang::before,.burger::before{content:"";position:absolute;z-index:-1;left:1px;right:1px;top:1px;height:52%;border-radius:calc(var(--gr) - 2px) calc(var(--gr) - 2px) 60% 60%/calc(var(--gr) - 2px) calc(var(--gr) - 2px) 100% 100%;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0));pointer-events:none;transition:opacity .3s}
.btn svg,.hbtn svg{width:17px;height:17px;flex:none;transition:transform .3s var(--ease)}
/* primary: cyan-tinted glass */
.btn-cy,.hbtn-fill{background:linear-gradient(180deg,rgba(120,238,245,.58),rgba(34,184,201,.34));border-color:rgba(160,243,248,.75);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(255,255,255,.12),0 10px 30px -10px rgba(60,210,225,.55),0 2px 4px rgba(0,0,0,.25)}
/* secondary: neutral glass */
.btn-line,.hbtn-line{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04))}
/* hover: brighten surface + border */
.btn:hover,.hbtn:hover,.lang:hover,.burger:hover,.chip:hover,.arrows button:hover{background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.11));border-color:rgba(255,255,255,.5);transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 18px rgba(255,255,255,.1),0 16px 30px -14px rgba(0,0,0,.7)}
.btn-cy:hover,.hbtn-fill:hover{background:linear-gradient(180deg,rgba(150,244,250,.75),rgba(52,200,216,.5));border-color:rgba(200,250,253,.95);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 16px 38px -10px rgba(76,211,221,.7),0 2px 4px rgba(0,0,0,.25)}
.btn:hover svg,.hbtn:hover svg{transform:translate(3px,-3px)}
.hbtn:hover svg{transform:translateX(4px)}
/* pressed */
.btn:active,.hbtn:active,.lang:active,.burger:active,.chip:active,.arrows button:active{transform:translateY(0) scale(.985);transition-duration:.08s;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.2));box-shadow:inset 0 2px 8px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-cy:active,.hbtn-fill:active{background:linear-gradient(180deg,rgba(34,184,201,.5),rgba(90,225,236,.5))}
/* keyboard focus */
.btn:focus-visible,.hbtn:focus-visible,.lang:focus-visible,.burger:focus-visible,.chip:focus-visible,.arrows button:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px rgba(76,211,221,.55),inset 0 1px 0 var(--gl-hi)}
/* disabled */
.btn:disabled,.btn[aria-disabled=true],.hbtn:disabled,.hbtn[aria-disabled=true],.chip:disabled,.arrows button:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:saturate(.5);pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
/* sizes */
.hbtn{min-height:56px;padding:0 30px;font-size:.84rem}
.hdr .btn{min-height:42px;padding:0 20px;font-size:.74rem;border-radius:var(--gr)}
.hdr .btn.gt{min-height:44px;padding:0 24px}
.lang{min-height:42px;min-width:46px;padding:0 12px;font-size:.78rem;letter-spacing:.06em}
.burger{width:46px;min-height:46px;padding:0}
.arrows button{width:52px;min-height:52px;padding:0}
.chip{min-height:44px;padding:0 18px;font-size:.78rem}
.chip[aria-pressed=true]{background:linear-gradient(180deg,rgba(120,238,245,.5),rgba(34,184,201,.28));border-color:rgba(160,243,248,.75);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 22px -10px rgba(60,210,225,.55)}
/* ---- buttons on pale surfaces ---- */
.pale .btn,.pale .chip,.pale .arrows button{color:#0B1B6B;text-shadow:none;border-color:rgba(26,46,192,.28);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(236,241,255,.7));
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(26,46,192,.08),0 10px 22px -14px rgba(10,30,120,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pale .btn::before,.pale .chip::before{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,0))}
.pale .btn:hover,.pale .chip:hover{background:linear-gradient(180deg,#fff,rgba(222,230,255,.9));border-color:rgba(26,46,192,.55);box-shadow:inset 0 1px 0 #fff,0 16px 28px -14px rgba(10,30,120,.55)}
.pale .btn-cy{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3);background:linear-gradient(180deg,rgba(40,70,230,.95),rgba(10,21,128,.95));border-color:rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 12px 26px -12px rgba(10,30,160,.8)}
.pale .btn-cy:hover{background:linear-gradient(180deg,rgba(66,96,250,1),rgba(20,36,160,1));border-color:rgba(255,255,255,.6)}
.pale .chip[aria-pressed=true]{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3);background:linear-gradient(180deg,rgba(40,70,230,.95),rgba(10,21,128,.95));border-color:rgba(255,255,255,.35)}
.pale .btn:focus-visible,.pale .chip:focus-visible{outline-color:#1A2EC0;box-shadow:0 0 0 5px rgba(26,46,192,.25)}
/* header mobile get in touch */
.mnav .btn{margin-top:18px;width:100%}
/* ---- menus share the header's glass ---- */
.panel,.mnav{background:linear-gradient(180deg,rgba(0,0,0,.56),rgba(0,0,0,.4))!important;-webkit-backdrop-filter:blur(46px) saturate(190%) brightness(.92);backdrop-filter:blur(46px) saturate(190%) brightness(.92);
  border:1px solid rgba(255,255,255,.14);border-top-color:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 40px 80px -30px rgba(0,0,0,.75)}
.nav-item.mg{position:static}
.panel{border-radius:0 0 16px 16px;top:100%;margin-top:0;padding:26px 28px}
.panel.mega{position:absolute;left:50%;right:auto;translate:-50% 0;width:min(1200px,calc(100vw - 32px));max-width:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:28px}
.panel.mega.sol{width:min(880px,calc(100vw - 32px))}
.panel.mega h4{margin-top:16px}.panel.mega h4:first-child{margin-top:0}
.panel.mega a{padding:4px 0;font-size:.86rem}
.nav-item:not(.mg) .panel{left:0;min-width:300px;grid-auto-flow:column;gap:30px}
.vah{display:flex!important;align-items:center;gap:10px;text-transform:none!important;letter-spacing:0!important;font-family:var(--f-d)!important;font-size:1.05rem!important;color:#fff!important}
.va-mini{height:30px;width:auto;display:block}
.mnav{inset:68px 0 auto 0;border-radius:0 0 18px 18px;max-height:calc(100svh - 68px)}
.mnav details a{padding:10px 0 10px 14px}
.vah-m{display:flex!important;align-items:center;gap:10px}
.mnav h5{margin-top:6px}
/* ---- V-Academy brand lockup ---- */
.vabrand{display:inline-flex;align-items:center;gap:clamp(14px,2vw,26px)}
.vabrand img{height:clamp(64px,9vw,120px);width:auto}
.vabrand em{color:var(--cy)}
.va-lock{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-d);font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--ink)}
.va-lock img{height:clamp(56px,6vw,84px);width:auto;filter:drop-shadow(0 6px 16px rgba(10,30,120,.4));background:linear-gradient(145deg,#0A1580,#040A3A);border-radius:18px;padding:8px 12px}
/* ---- Get in Touch panel (reference style) ---- */
.git-panel{position:relative;isolation:isolate;overflow:hidden;text-align:center;display:grid;justify-items:center;gap:20px;padding:clamp(48px,8vw,104px) clamp(22px,5vw,80px);border-radius:30px;
  border:1px solid rgba(255,255,255,.26);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015));-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 40px rgba(255,255,255,.03),0 40px 80px -40px rgba(0,0,0,.75)}
.git-panel::before{content:"";position:absolute;z-index:-1;right:-8%;top:-45%;width:58%;height:190%;border-radius:0 0 0 70%;background:linear-gradient(165deg,rgba(40,80,230,.42),rgba(20,40,170,.1) 62%,transparent);transform:rotate(16deg)}
.git-panel::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(600px 220px at 50% 0%,rgba(255,255,255,.08),transparent 70%)}
.git-panel h2{font-size:clamp(2rem,5vw,3.8rem);max-width:18ch;line-height:1.06}
.git-panel .acts{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.git-panel p{color:var(--fg-2);max-width:56ch}
.git-in{display:grid;gap:clamp(22px,3vw,34px)}
/* contact form container follows the same glass */
.form.glass,.loginbox.glass{border-radius:26px}
.form.glass .btn{margin-top:4px}
/* ---- service pages ---- */
.subnav{position:sticky;top:60px;z-index:30;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.3));-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.1);margin-top:-1px}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 0}
.subnav a{flex:none;padding:10px 16px;border-radius:10px;font-size:.84rem;font-weight:600;letter-spacing:.04em;color:var(--fg-2);transition:background .25s,color .25s}
.subnav a:hover{background:rgba(255,255,255,.12);color:#fff}
.scope{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.scope li{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;border-radius:20px;font-size:1rem}
.scope .ck{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:var(--cy);background:rgba(76,211,221,.14);border:1px solid rgba(76,211,221,.4)}
.scope .ck svg{width:16px;height:16px}
.flow{list-style:none;display:grid;gap:0;position:relative;max-width:900px}
.flow::before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,var(--cy-d),rgba(26,46,192,.25))}
.flow li{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:18px 0;align-items:start}
.flow .num{position:relative;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-family:var(--f-d);font-size:1.15rem;color:#fff;background:linear-gradient(180deg,rgba(40,70,230,.95),rgba(10,21,128,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 10px 24px -10px rgba(10,30,160,.8)}
.flow h3{font-size:1.35rem;color:var(--ink);margin-bottom:6px}.flow p{color:var(--ink-2);max-width:60ch}
.dlv{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dlv .glass{padding:26px;display:grid;gap:10px;align-content:start;min-height:130px}
.dlv .n{font-family:var(--f-d);color:var(--cy);font-size:.95rem;letter-spacing:.1em}
.dlv b{font-family:var(--f-d);font-weight:500;font-size:1.2rem}
/* directory tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tabs .chip{min-height:50px;padding:0 24px;font-size:.84rem}
.pcard.glass{transition:transform .45s var(--ease),border-color .3s}
.pcard.glass:hover{transform:translateY(-6px)}
.go-l{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:600;color:var(--cy);font-size:.9rem}
.go-l svg{width:15px;height:15px}
.scr .sub-k{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:1100px){.scope,.dlv{grid-template-columns:repeat(2,1fr)}.panel.mega{display:none}}
@media (max-width:640px){.scope,.dlv{grid-template-columns:1fr}.hbtn{width:100%;justify-content:space-between}.hero-cta{width:100%}.flow li{grid-template-columns:48px 1fr;gap:16px}.flow::before{left:23px}.flow .num{width:48px;height:48px}.subnav{top:58px}}
@media (prefers-reduced-motion:reduce){.btn,.hbtn,.chip{transition-duration:.01ms!important}.btn:hover,.hbtn:hover{transform:none}}
@media (prefers-reduced-transparency:reduce){.btn,.hbtn,.chip,.panel,.mnav,.git-panel,.subnav{-webkit-backdrop-filter:none;backdrop-filter:none}.panel,.mnav{background:#050A33!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.panel,.mnav{background:rgba(5,10,40,.96)!important}.btn,.hbtn{background:rgba(255,255,255,.14)}}
/* header blur lives on its own layer so menus (children of the header) can blur the page too */
.hdr::before{content:"";position:absolute;left:0;right:0;top:0;height:68px;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.1));-webkit-backdrop-filter:blur(46px) saturate(190%) brightness(.9);backdrop-filter:blur(46px) saturate(190%) brightness(.9);border-bottom:1px solid rgba(255,255,255,.1);transition:height .4s var(--ease),background .4s}
.hdr.sm::before{height:60px;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.22))}
.hdr .wrap,.hdr .hdr-in{position:relative;z-index:1}
.hdr .hdr-in,.hdr:not(.sm) .hdr-in,.hdr.sm .hdr-in{background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:0!important}

/* ================= v12: corporate glass buttons, roomy menus, capsule sub-nav ================= */
:root{--gr:999px;--ease2:cubic-bezier(.2,.7,.2,1)}
.btn,.hbtn,.lang,.burger,.chip,.arrows button{gap:10px;min-height:48px;padding:0 26px;border-radius:999px;font:600 .95rem/1 var(--f-b);letter-spacing:.005em;text-transform:none;text-shadow:none;color:#fff;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(0,0,0,.35),0 8px 20px -12px rgba(0,0,0,.6);
  transition:background .25s var(--ease2),border-color .25s,box-shadow .3s var(--ease2),transform .25s var(--ease2),color .2s}
.btn::before,.hbtn::before,.chip::before,.arrows button::before,.lang::before,.burger::before{display:none}
.btn svg,.hbtn svg{width:16px;height:16px;transition:transform .3s var(--ease2)}
/* primary: restrained cyan glass */
.btn-cy,.hbtn-fill{background:linear-gradient(180deg,rgba(104,226,236,.95),rgba(56,190,206,.92));border-color:rgba(255,255,255,.4);color:#031233;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.3),0 10px 26px -10px rgba(76,211,221,.55)}
.btn-line,.hbtn-line{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);color:#fff}
.btn:hover,.hbtn:hover,.lang:hover,.burger:hover,.chip:hover,.arrows button:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45);transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 1px 2px rgba(0,0,0,.35),0 12px 26px -12px rgba(0,0,0,.7)}
.btn-cy:hover,.hbtn-fill:hover{background:linear-gradient(180deg,rgba(138,236,244,1),rgba(78,206,222,.98));border-color:rgba(255,255,255,.65);color:#031233;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 32px -10px rgba(76,211,221,.7)}
.btn:hover svg,.hbtn:hover svg,.hbtn:hover svg{transform:translateX(4px)}
.btn:active,.hbtn:active,.lang:active,.burger:active,.chip:active,.arrows button:active{transform:translateY(0) scale(.98);transition-duration:.08s;background:rgba(255,255,255,.1);box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}
.btn-cy:active,.hbtn-fill:active{background:linear-gradient(180deg,rgba(56,190,206,.95),rgba(80,206,220,.95))}
.btn:focus-visible,.hbtn:focus-visible,.lang:focus-visible,.burger:focus-visible,.chip:focus-visible,.arrows button:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px rgba(76,211,221,.5)}
.hbtn{min-height:54px;padding:0 30px;font-size:1rem}
.hdr .btn{min-height:42px;padding:0 22px;font-size:.9rem}
.hdr .btn.gt{min-height:42px;padding:0 24px}
.lang{min-height:42px;min-width:46px;padding:0 14px;font-size:.84rem;letter-spacing:.04em}
.chip{min-height:42px;padding:0 18px;font-size:.88rem}
.chip[aria-pressed=true]{background:linear-gradient(180deg,rgba(104,226,236,.95),rgba(56,190,206,.92));border-color:rgba(255,255,255,.4);color:#031233;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 20px -10px rgba(76,211,221,.55)}
.arrows button{width:50px;min-height:50px;padding:0;border-radius:50%}
.burger{width:44px;min-height:44px;border-radius:50%;padding:0}
@media (min-width:1101px){.burger{display:none}}
/* pale surfaces */
.pale .btn,.pale .chip,.pale .arrows button{color:#0B1B6B;border-color:rgba(26,46,192,.25);background:rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(10,30,120,.12),0 8px 18px -12px rgba(10,30,120,.4)}
.pale .btn:hover,.pale .chip:hover{background:#fff;border-color:rgba(26,46,192,.55);box-shadow:inset 0 1px 0 #fff,0 12px 24px -12px rgba(10,30,120,.5)}
.pale .btn-cy,.pale .chip[aria-pressed=true]{color:#fff;background:linear-gradient(180deg,#1F3FE0,#0B1B8F);border-color:rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 22px -10px rgba(10,30,160,.7)}
.pale .btn-cy:hover{background:linear-gradient(180deg,#3555F0,#12249F);color:#fff}
/* mega menu: roomy */
.panel.mega{width:min(1380px,calc(100vw - 40px));padding:44px 52px 0;gap:0 52px;grid-auto-columns:1fr;border-radius:0 0 22px 22px;display:grid;grid-template-rows:auto auto}
.panel.mega.sol{width:min(960px,calc(100vw - 40px));padding-bottom:40px}
.panel.mega .mc{min-width:0;grid-row:1}
.panel.mega .ph4{font:600 1.15rem/1.2 var(--f-d);letter-spacing:0;text-transform:none;color:#fff;margin:0 0 6px;padding-bottom:0}
.panel.mega .pd{font-size:.82rem;line-height:1.45;color:rgba(255,255,255,.55);margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.panel.mega .gh{font:600 .72rem/1.3 var(--f-b);letter-spacing:.14em;text-transform:uppercase;color:var(--cy);margin:26px 0 8px}
.panel.mega .pd+.gh{margin-top:0}
.panel.mega a{display:block;padding:8px 0;font-size:.93rem;line-height:1.4;color:rgba(255,255,255,.82)}
.panel.mega a:hover{color:#fff;transform:translateX(4px)}
.panel.mega .mbar{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px -52px 0;padding:20px 52px;border-top:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:0 0 22px 22px;font-size:.9rem;color:rgba(255,255,255,.6)}
.panel.mega .mbar .mall{display:inline-flex;align-items:center;gap:10px;padding:0;color:var(--cy);font-weight:600}
.panel.mega .mbar .mall svg{width:16px;height:16px;transition:transform .3s var(--ease2)}
.panel.mega .mbar .mall:hover{transform:none;color:#fff}.panel.mega .mbar .mall:hover svg{transform:translateX(4px)}
.panel.mega .sc{grid-row:1}
.nav-item:not(.mg) .panel{padding:22px 26px;min-width:320px;gap:34px}
.nav-item:not(.mg) .panel a{padding:8px 0;font-size:.93rem}
/* capsule sub-nav (replaces the header once it reaches the top) */
.subnav{position:sticky;top:16px;z-index:60;margin:0;padding:22px 16px 0;background:none!important;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
.subnav .wrap{pointer-events:auto;display:flex;width:fit-content;max-width:min(820px,100%);margin:0 auto;padding:6px;gap:4px;overflow-x:auto;scrollbar-width:none;border-radius:999px;
  background:linear-gradient(180deg,rgba(18,38,150,.5),rgba(6,14,80,.55));-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
  border:1.5px solid rgba(70,120,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 40px -16px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.2)}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:1 0 auto;text-align:center;padding:13px 24px;border-radius:999px;font:600 .95rem/1 var(--f-b);letter-spacing:0;color:rgba(255,255,255,.88);transition:background .3s var(--ease2),color .2s,box-shadow .3s}
.subnav a:hover{background:rgba(255,255,255,.12);color:#fff}
.subnav a.on{background:linear-gradient(180deg,#2E5BFF,#1530D6);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 18px -6px rgba(30,70,255,.8)}
.subnav a:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.hdr{transition:top .4s var(--ease),transform .5s var(--ease2),opacity .4s}
body.sub-stuck .hdr{transform:translateY(-130%);opacity:0;pointer-events:none}
body.sub-stuck .mnav{display:none}
main section[id]{scroll-margin-top:96px}
@media (max-width:640px){.subnav{top:12px;padding-top:16px}.subnav a{padding:12px 18px;font-size:.88rem}}
@media (prefers-reduced-motion:reduce){.hdr{transition:none}}
.panel.mega{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-columns:auto}
.panel.mega.sol{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 44px;padding:40px 48px}
.panel.mega.sol h4:not(.vah){font:600 1.05rem/1.2 var(--f-d);letter-spacing:0;text-transform:none;color:#fff;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.panel.mega.sol .vah{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.panel.mega .mbar{grid-column:1/-1}
.subnav .wrap{background:linear-gradient(180deg,rgba(14,32,140,.88),rgba(5,12,76,.92))}
/* v13: larger capsule, lower, visible blur */
.subnav{top:22px;padding:56px 24px 56px}
.subnav .wrap{width:100%;max-width:min(1120px,100%);padding:8px;gap:6px;
  background:linear-gradient(180deg,rgba(40,80,230,.34),rgba(10,24,130,.28))!important;
  -webkit-backdrop-filter:blur(34px) saturate(200%) brightness(1.05);backdrop-filter:blur(34px) saturate(200%) brightness(1.05);
  border:1.5px solid rgba(110,150,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 30px rgba(120,160,255,.08),0 24px 50px -18px rgba(0,0,0,.6)}
.subnav a{flex:1 1 0;padding:20px 28px;font-size:1.05rem;text-shadow:0 1px 2px rgba(0,0,30,.45)}
.subnav a.on{background:linear-gradient(180deg,rgba(60,105,255,.95),rgba(24,52,220,.95))}
body.sub-stuck .subnav{padding-top:56px}
@media (max-width:640px){.subnav{top:12px;padding:32px 12px 32px}.subnav a{flex:1 0 auto;padding:15px 20px;font-size:.92rem}}
.subnav{top:-34px}
@media (max-width:640px){.subnav{top:-20px}}
.subnav .wrap{background:linear-gradient(180deg,rgba(30,64,210,.6),rgba(8,20,120,.62))!important}
.subnav .wrap{background:linear-gradient(180deg,rgba(30,64,210,.66),rgba(8,20,120,.7))!important;-webkit-backdrop-filter:blur(48px) saturate(200%);backdrop-filter:blur(48px) saturate(200%)}
/* v13b: glass layer lives on a pseudo-element so the scroller does not disable backdrop blur */
.subnav{position:sticky}
.subnav::before{content:"";position:absolute;left:50%;translate:-50% 0;top:56px;width:min(1120px,calc(100% - 48px));height:76px;border-radius:999px;pointer-events:none;
  background:linear-gradient(180deg,rgba(30,64,210,.5),rgba(8,20,120,.56));-webkit-backdrop-filter:blur(40px) saturate(190%);backdrop-filter:blur(40px) saturate(190%);
  border:1.5px solid rgba(110,150,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 24px 50px -18px rgba(0,0,0,.6)}
.subnav .wrap{position:relative;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important;height:76px;box-sizing:border-box;align-items:stretch}
.subnav a{display:flex;align-items:center;justify-content:center;padding:0 28px}
@media (max-width:640px){.subnav::before{top:32px;height:64px;width:calc(100% - 24px)}.subnav .wrap{height:64px}.subnav a{padding:0 20px}}
/* v13c: fixed capsule when stuck (sticky disables backdrop blur in some engines) */
.subnav{position:relative;top:auto;height:188px;padding:0;margin:0;z-index:60}
.subnav::before,.subnav .wrap{position:absolute;top:56px;left:50%;translate:-50% 0;width:min(1120px,calc(100% - 48px));max-width:none;margin:0}
.subnav.stuck::before,.subnav.stuck .wrap{position:fixed;top:22px}
.subnav::before{z-index:0}.subnav .wrap{z-index:1}
@media (max-width:640px){.subnav{top:auto;height:128px}.subnav::before,.subnav .wrap{top:32px;width:calc(100% - 24px)}.subnav.stuck::before,.subnav.stuck .wrap{top:12px}}
/* v13d: no stacking context on .subnav, so the glass layer can see the page behind it */
.subnav{z-index:auto}
.subnav::before{z-index:59}.subnav .wrap{z-index:60}
.subnav::before{background:linear-gradient(180deg,rgba(30,64,210,.62),rgba(8,20,120,.68));-webkit-backdrop-filter:blur(56px) saturate(200%);backdrop-filter:blur(56px) saturate(200%)}

/* v14: lede, progress removed, totop ring, social logos */
.lede{color:var(--fg-2);font-size:1.05rem;line-height:1.7;max-width:62ch}
.pale .lede{color:#41506E}
.progress{display:none!important}
.totop{position:fixed;right:22px;bottom:22px;z-index:45;width:52px;height:52px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;color:#fff;cursor:pointer;background:rgba(8,20,110,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px -8px rgba(0,0,40,.7),inset 0 0 0 1px rgba(255,255,255,.12);opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .35s,transform .35s var(--ease2,ease),background .25s}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:rgba(26,46,192,.95)}
.totop .rg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop .rg circle{fill:none;stroke-width:2.5}
.totop .tr{stroke:rgba(255,255,255,.16)}
.totop .pr{stroke:#5CE3EE;stroke-linecap:round;transition:stroke-dashoffset .12s linear}
.totop .ar{width:20px;height:20px;position:relative}
.totop:focus-visible{outline:2px solid #fff;outline-offset:3px}
.wa{right:22px!important;bottom:86px!important}
@media (max-width:640px){.totop{right:14px;bottom:14px;width:46px;height:46px}.wa{right:14px!important;bottom:72px!important}}
.socials{display:flex;gap:10px}
.socials a{width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:#fff}
.socials a svg{width:19px;height:19px}
.socials a:hover{background:#5CE3EE;border-color:#5CE3EE;color:#031233;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}

/* v14: imagery */
.phero.has-img .wrap{position:relative;z-index:2}
.phero-img{position:absolute;z-index:0;right:0;top:0;bottom:0;width:min(62%,900px);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%),linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 38%),linear-gradient(180deg,#000 70%,transparent 100%);mask-composite:intersect}
.phero-img img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.92}
.phero.has-img .sub{max-width:560px}
.phero.has-img h1{max-width:15ch}
@media (max-width:900px){.phero-img{width:100%;opacity:.38;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 100%);mask-image:linear-gradient(180deg,#000 30%,transparent 100%)}}
.scr .thumb{display:block;margin:-2px -2px 16px;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#06103a}
.scr .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease2,ease)}
.scr:hover .thumb img{transform:scale(1.05)}
.pcard .pimg{display:block;margin:-6px -6px 18px;border-radius:14px;overflow:hidden;aspect-ratio:16/9}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease2,ease)}
.pcard:hover .pimg img{transform:scale(1.05)}
.pfig{border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(5,15,90,.55),0 0 0 1px rgba(120,160,255,.18)}
.pfig img{display:block;width:100%;height:auto}
.pfig.rv{will-change:transform}
.pfgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.pfgrid .pfig{aspect-ratio:4/3}.pfgrid .pfig img{height:100%;object-fit:cover}
@media (max-width:900px){.pfgrid{grid-template-columns:1fr}.pfgrid .pfig{aspect-ratio:16/9}}

/* v14: offices map */
.mapbox{position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#040a3c,#02051E);border:1px solid rgba(120,160,255,.2);box-shadow:0 40px 80px -40px rgba(0,10,120,.7);margin:8px 0 28px}
.wmap{display:block;width:100%;height:auto}
.wmap .grat{fill:none;stroke:rgba(110,150,255,.09);stroke-width:.5}
.wmap .c{fill:#0c1a66;stroke:rgba(120,160,255,.28);stroke-width:.5;transition:fill .3s}
.wmap .c.hi{fill:#1f6fd6;stroke:#7fe8f2;stroke-width:.9;animation:hipulse 4s ease-in-out infinite}
.wmap .c.hi.us{animation-delay:0s}.wmap .c.hi.sa{animation-delay:.6s}.wmap .c.hi.pk{animation-delay:1.2s}
@keyframes hipulse{50%{fill:#2a8ae6}}
.mapbox.has-act .c.hi{opacity:.45}.mapbox.has-act .c.hi.act{opacity:1;fill:#2fc4de}
.wmap .arc{fill:none;stroke:#5CE3EE;stroke-width:1.4;stroke-dasharray:4 5;opacity:.75;animation:dash 14s linear infinite}
@keyframes dash{to{stroke-dashoffset:-180}}
.wmap .pkt{fill:#fff;filter:drop-shadow(0 0 5px #5CE3EE)}
.wmap .pin{cursor:pointer;outline:none}
.wmap .pin .dot{fill:#fff;stroke:#5CE3EE;stroke-width:2.5}
.wmap .pin .r{fill:none;stroke:#5CE3EE;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ping 2.6s ease-out infinite}
.wmap .pin .r2{animation-delay:1.3s}
@keyframes ping{from{transform:scale(1);opacity:.9}to{transform:scale(5);opacity:0}}
.wmap .pin.act .dot{fill:#5CE3EE;stroke:#fff}
.mleg{position:absolute;left:22px;bottom:16px;display:flex;gap:20px;list-style:none;margin:0;padding:0;font-size:.82rem;color:#c8d6f0}
.mleg li{display:flex;align-items:center;gap:8px}.mleg i{width:12px;height:12px;border-radius:3px}.mleg .k1{background:#1f6fd6;box-shadow:0 0 0 1px #7fe8f2}.mleg .k2{background:#5CE3EE;border-radius:50%}
.offs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.off{padding:30px;display:flex;flex-direction:column;gap:12px;transition:transform .35s,border-color .35s,box-shadow .35s}
.off.act,.off:focus-visible{transform:translateY(-6px);border-color:rgba(92,227,238,.7);box-shadow:0 24px 50px -24px rgba(0,180,220,.5);outline:none}
.off .tag{align-self:flex-start;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5CE3EE;border:1px solid rgba(92,227,238,.4);border-radius:999px;padding:5px 12px}
.off h3{font-size:1.5rem}.off p{color:var(--fg-2)}
.off dl{display:grid;grid-template-columns:70px 1fr;gap:8px 12px;margin:6px 0 10px;font-size:.98rem}.off dt{color:#8ea3cf}.off dd{margin:0}.off dd a{color:#fff}.off dd a:hover{color:#5CE3EE}
.off .hero-cta{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}.off .btn{min-height:44px;padding:0 20px}
@media (max-width:900px){.offs{grid-template-columns:1fr}.mleg{position:static;padding:12px 18px 16px;flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.wmap .arc,.wmap .pin .r,.wmap .c.hi{animation:none}.wmap .pkt{display:none}}

/* v14: hero artwork, clean poster only (no animated blur sprites or particles) */
.scene .layers canvas.tb,.scene .layers canvas.tf{display:none!important}
.scene img.poster{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%);mask-image:linear-gradient(90deg,transparent 0,#000 14%)}

/* v15: full-bleed hero image, capsule sits over the image, no black band */
.phero.has-img{padding-bottom:calc(clamp(72px,9vw,120px) + 96px)}
.phero-img{inset:0;width:100%;right:auto;left:0;-webkit-mask-image:none;mask-image:none}
.phero-img img{opacity:1}
.phero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,5,22,.88) 0,rgba(2,5,22,.62) 32%,rgba(2,5,22,.12) 62%,rgba(2,5,22,0) 100%),linear-gradient(180deg,rgba(2,5,22,.4) 0,transparent 18%)}
.phero.has-img::before{display:none}
.phero.has-img + .subnav{margin-top:-150px;height:150px;z-index:5}
.phero.has-img + .subnav::before,.phero.has-img + .subnav .wrap{top:30px}
.phero.has-img + .subnav.stuck::before,.phero.has-img + .subnav.stuck .wrap{top:22px}
.phero.has-img + .sec .cap,.subnav + .sec .cap{display:none}
.phero.has-img + .sec{padding-top:clamp(72px,9vw,128px)}
@media (max-width:900px){
  .phero-img::after{background:linear-gradient(180deg,rgba(2,5,22,.7) 0,rgba(2,5,22,.5) 55%,rgba(2,5,22,.25) 100%)}
  .phero.has-img + .subnav{margin-top:-120px;height:120px}
  .phero.has-img + .subnav::before,.phero.has-img + .subnav .wrap{top:22px}
  .phero.has-img{padding-bottom:calc(clamp(56px,9vw,100px) + 76px)}
}
/* v15: V-Academy imagery */
.vimg{display:block;border-radius:14px;overflow:hidden;aspect-ratio:16/9;margin:-4px -4px 18px;background:#02051E}
.vimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease2,ease)}
.course:hover .vimg img,.std:hover .vimg img,.top:hover .vimg img{transform:scale(1.05)}
.stds{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.std{padding:18px 18px 24px}.std h3{font-size:1.2rem;margin-bottom:6px}.std p{color:var(--fg-2);font-size:.98rem}
.tops{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.top{display:flex;flex-direction:column;padding:16px 16px 22px;text-decoration:none;color:inherit;gap:6px}
.top h3{font-size:1.1rem;line-height:1.35}.top .go-l{margin-top:auto;padding-top:8px}
@media (max-width:1100px){.tops{grid-template-columns:repeat(2,1fr)}.stds{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.tops,.stds{grid-template-columns:1fr}}
.tops{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.tops .top{flex:0 0 calc((100% - 60px)/4)}
@media (max-width:1100px){.tops .top{flex-basis:calc((100% - 20px)/2)}}
@media (max-width:640px){.tops .top{flex-basis:100%}}
/* v16: remove glowing edge line */
.phero::after,.edgeline,.hero .edgeline{display:none!important}
/* v16: feather the artwork's left edge (no hard line), keep animation */
.scene{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%),linear-gradient(180deg,transparent 0,#000 14%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 16%),linear-gradient(180deg,transparent 0,#000 14%,#000 90%,transparent 100%);mask-composite:intersect}
.scene img.poster{-webkit-mask-image:none;mask-image:none}
@media (min-width:901px){.h-foot{left:max(32px,calc((100% - 1400px)/2 + 25px))}}

/* v17: arrow-mark loader */
.loader{position:fixed;inset:0;z-index:200;background:#000;display:grid;place-items:center;transition:opacity .6s,visibility .6s;animation:ldfail .01s 6s forwards}
.loader.done{opacity:0;visibility:hidden}
@keyframes ldfail{to{opacity:0;visibility:hidden}}
.loader .lw{display:grid;justify-items:center;gap:18px}
.loader .lmark{width:92px;height:92px;overflow:visible;filter:drop-shadow(0 0 14px rgba(92,227,238,.55))}
.loader .lmark path{fill:none;stroke:#5CE3EE;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:150;stroke-dashoffset:150;animation:ldraw 1.8s cubic-bezier(.6,0,.3,1) infinite}
.loader .lmark .a2{animation-delay:.22s}
@keyframes ldraw{0%{stroke-dashoffset:150;opacity:0;transform:translate(-14px,14px)}35%{opacity:1}55%{stroke-dashoffset:0;transform:translate(0,0);opacity:1}80%{stroke-dashoffset:0;transform:translate(12px,-12px);opacity:1}100%{stroke-dashoffset:0;transform:translate(22px,-22px);opacity:0}}
.loader span{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:#8fa3c0;padding-left:.34em;animation:ldtx 1.8s ease-in-out infinite}
@keyframes ldtx{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.loader .lmark path{animation:none;stroke-dashoffset:0}.loader span{animation:none}}
/* v18: mobile fit, calmer scale, nothing feels zoomed in */
@media (max-width:640px){
 h1{font-size:clamp(1.7rem,7.6vw,1.95rem)!important;line-height:1.14!important}
 h2{font-size:clamp(1.32rem,6vw,1.55rem)!important;line-height:1.2!important}
 .appr-pin h2{font-size:clamp(1.7rem,8vw,2rem)!important}
 h3{font-size:1.06rem}
 .lede,.phero .sub,.sub{font-size:.97rem!important;line-height:1.55}
 .big-q{font-size:1.2rem!important}
 .sec{padding-top:clamp(52px,12vw,68px)!important;padding-bottom:clamp(52px,12vw,68px)!important}
 .phero{padding-top:calc(var(--hdr) + 34px)!important}
 .phero.has-img{padding-bottom:calc(52px + 76px)!important}
 .eyebrow{font-size:.7rem!important}
 .btn{font-size:.9rem}
 .totop{width:40px!important;height:40px!important;right:12px!important;bottom:12px!important}
 .totop .ar{width:17px;height:17px}
 .wa{width:40px!important;height:40px!important;right:12px!important;bottom:60px!important}
 .wa svg{width:20px;height:20px}
 .cap{height:32px!important}
 .phero .hero-cta .btn{width:100%;justify-content:center}
 /* threat timeline: same horizontal story as the web version, labels alternate above and below the line */
 .tl{height:214px!important;margin:10px 0 6px!important;width:100%!important}
 .tl>.tl-ms:nth-child(2){--x:9%!important}.tl>.tl-ms:last-child{--x:93%!important}
 .tl>.tl-ev:nth-child(3){--x:27%!important}.tl>.tl-ev:nth-child(4){--x:45%!important}.tl>.tl-ev:nth-child(5){--x:63%!important}.tl>.tl-ev:nth-child(6){--x:80%!important}
 .tl-ms i{width:16px!important;height:16px!important}
 .tl-ev i{width:10px!important;height:10px!important}
 .tl-ms span,.tl-ev span{width:66px!important;white-space:normal!important;text-align:center!important;font-size:.68rem!important;line-height:1.25!important;padding:5px 4px!important;border-radius:12px!important}
 .tl-ms span{background:none!important;border:0!important;padding:0!important;font-weight:600;color:#fff;top:26px!important}
 .tl>.tl-ms:last-child span{top:auto!important;bottom:26px!important}
 .tl-ev.up span{bottom:22px!important}.tl-ev.dn span{top:22px!important}
}
@media (max-width:900px){.hdr,.hdr.sm{background:rgba(2,6,24,.94)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}}
/* v19: slim, themed page scrollbar */
html{scrollbar-width:thin;scrollbar-color:rgba(120,150,230,.55) #040818}
html::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-track{background:#040818}
html::-webkit-scrollbar-thumb{background:rgba(120,150,230,.5);border-radius:8px;border:2px solid #040818}
html::-webkit-scrollbar-thumb:hover{background:rgba(150,180,255,.75)}
html::-webkit-scrollbar-button{display:none;width:0;height:0}
/* v20: floating buttons, one tidy column on phones: arrow low, WhatsApp above, same size, same edge */
@media (max-width:640px){
 .totop,.wa{width:44px!important;height:44px!important;right:14px!important;left:auto!important;margin:0!important}
 .totop{bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
 .wa{bottom:calc(68px + env(safe-area-inset-bottom,0px))!important}
 .totop .ar{width:18px;height:18px}
 .wa svg{width:22px;height:22px}
}
/* v21: image polish. Keep photos calm and sharp: no permanent upscale, soft scrim, deliberate depth */
.thumb img,.pimg img,.vimg img{transform:none!important}
.scr:hover .thumb img,.pcard:hover .pimg img,.std:hover .vimg img,.top:hover .vimg img{transform:scale(1.04)!important}
.thumb,.pimg,.vimg,.pfig{position:relative;isolation:isolate}
.thumb img,.pimg img,.vimg img,.pfig img{filter:saturate(.94) brightness(.9) contrast(1.03)}
.thumb::after,.pimg::after,.vimg::after,.pfig::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;border-radius:inherit;background:linear-gradient(180deg,rgba(4,10,48,.0) 40%,rgba(4,10,48,.5) 100%),radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(2,5,30,.38) 100%);box-shadow:inset 0 0 0 1px rgba(150,185,255,.14)}
/* page heroes: image sits back, text sits forward */
.phero-img img{filter:brightness(.86) saturate(.95) contrast(1.05)}
.phero-img::after{background:linear-gradient(90deg,rgba(2,5,22,.94) 0,rgba(2,5,22,.78) 30%,rgba(2,5,22,.3) 58%,rgba(2,5,22,.05) 100%),linear-gradient(180deg,rgba(2,5,22,.55) 0,transparent 24%,transparent 62%,rgba(2,5,22,.7) 100%),radial-gradient(120% 100% at 70% 40%,transparent 50%,rgba(2,5,22,.5) 100%)!important}
.phero.has-img h1,.phero.has-img .sub{text-shadow:0 2px 24px rgba(2,5,22,.7)}
@media (max-width:900px){.phero-img::after{background:linear-gradient(180deg,rgba(2,5,22,.82) 0,rgba(2,5,22,.7) 55%,rgba(2,5,22,.55) 100%)!important}}
/* v22: hero photo is never stretched. It keeps to its native size on the right and melts into the page on the left */
.phero.has-img .phero-img{inset:0 0 0 auto;left:auto;right:0;width:min(100%,1500px);-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,rgba(0,0,0,.8) 34%,#000 52%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,rgba(0,0,0,.8) 34%,#000 52%)}
.phero.has-img .phero-img img{width:100%;height:100%;object-fit:cover;object-position:center right;filter:brightness(.9) saturate(.95) contrast(1.04)}
.phero-img::after{background:linear-gradient(180deg,rgba(0,0,0,.6) 0,transparent 22%,transparent 64%,rgba(0,0,0,.65) 100%),radial-gradient(110% 100% at 75% 45%,transparent 55%,rgba(0,0,0,.5) 100%)!important}
html[dir=rtl] .phero.has-img .phero-img{inset:0 auto 0 0;left:0;right:auto;-webkit-mask-image:linear-gradient(270deg,transparent 0,rgba(0,0,0,.35) 14%,rgba(0,0,0,.8) 34%,#000 52%);mask-image:linear-gradient(270deg,transparent 0,rgba(0,0,0,.35) 14%,rgba(0,0,0,.8) 34%,#000 52%)}
html[dir=rtl] .phero.has-img .phero-img img{object-position:center left}
@media (max-width:900px){
 .phero.has-img .phero-img,html[dir=rtl] .phero.has-img .phero-img{inset:0;width:100%;left:0;right:0;-webkit-mask-image:linear-gradient(180deg,#000 35%,rgba(0,0,0,.55) 100%);mask-image:linear-gradient(180deg,#000 35%,rgba(0,0,0,.55) 100%)}
 .phero.has-img .phero-img img{object-position:center}
 .phero-img::after{background:linear-gradient(180deg,rgba(0,0,0,.78) 0,rgba(0,0,0,.66) 55%,rgba(0,0,0,.5) 100%)!important}
}
/* globe hero: show the whole globe, smaller, nothing cropped */
@media (min-width:901px){
 .phero-img[data-k=globe] img{object-fit:contain!important;object-position:right center!important}
 .phero.has-img .phero-img[data-k=globe]{width:min(100%,1010px)}
}
@media (max-width:900px){.phero-img[data-k=globe] img{object-fit:cover}}
@media (min-width:901px){.phero.has-img .phero-img[data-k=globe]{top:var(--hdr,68px)}}

/* v23 pale-section buttons: keep text dark on hover/focus/active */
.sec.pale .btn:not(.btn-cy):hover,.sec.pale .btn:not(.btn-cy):focus,.sec.pale .btn:not(.btn-cy):focus-visible,.sec.pale .btn:not(.btn-cy):active,.pale .btn-line:hover,.pale .btn-line:focus,.pale .btn-line:active{color:#0B1B6B!important;-webkit-text-fill-color:#0B1B6B}
.sec.pale .btn:not(.btn-cy):hover svg,.sec.pale .btn:not(.btn-cy):focus svg{color:#0B1B6B;stroke:currentColor}
.sec.pale .btn-cy:hover,.sec.pale .btn-cy:focus,.sec.pale .btn-cy:active{color:#fff!important;-webkit-text-fill-color:#fff}

/* v24: approach end fades into exact navy so the cap below has no dark band */
.appr-wrap{isolation:isolate}
.appr-wrap::after{content:none!important}
.appr-wrap .appr-pin{z-index:1}

/* v24 approach layers + global shield */
.ring .spokes line{stroke:rgba(120,180,255,.14);stroke-width:1}
.ring .c.c4{stroke:rgba(76,211,221,.4);stroke-width:5;stroke-dasharray:.6 6;transform:rotate(calc(var(--rot,0deg) * -1.4))}
.appr-wrap.deep{background:radial-gradient(900px 560px at 88% 0%,rgba(24,50,200,.32),transparent 66%),linear-gradient(180deg,#09146F 0%,#060F58 30%,#040A3A 62%,#02051E 100%)}
.protect.pale{padding-bottom:clamp(90px,11vw,150px)}
.protect .c-h{text-align:center;margin-inline:auto;max-width:760px}
.protect .c-h p{margin-inline:auto}
.shieldmap{position:relative;isolation:isolate;margin-top:28px;background:radial-gradient(ellipse at 50% 45%,#07175f,#02051E 75%)}
.shieldmap .wmap .c{animation:landglow 9s ease-in-out infinite}
.shieldmap .dome{position:absolute;left:50%;top:50%;width:88%;height:98%;border-radius:50%;translate:-50% -50%;pointer-events:none;z-index:2;transform:scale(.04);opacity:0;animation:domego 9s cubic-bezier(.3,.6,.3,1) infinite;
 background:radial-gradient(ellipse at 50% 50%,rgba(76,211,221,0) 52%,rgba(76,211,221,.14) 74%,rgba(120,230,255,.42) 96%,rgba(255,255,255,.85) 100%);box-shadow:0 0 60px 6px rgba(76,211,221,.35),inset 0 0 90px rgba(76,211,221,.28)}
.shieldmap .dome .hex{position:absolute;inset:0;border-radius:50%;opacity:.55;background:
 repeating-linear-gradient(60deg,rgba(150,235,255,.2) 0 1px,transparent 1px 34px),repeating-linear-gradient(-60deg,rgba(150,235,255,.2) 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,rgba(150,235,255,.16) 0 1px,transparent 1px 30px);
 -webkit-mask:radial-gradient(ellipse,transparent 25%,#000 90%);mask:radial-gradient(ellipse,transparent 25%,#000 90%);animation:hexshim 3s linear infinite}
.shieldmap .dome .rim{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(190,245,255,.8);filter:blur(.4px)}
.shieldmap .dome.d2{animation-delay:.55s;width:74%;height:84%;background:radial-gradient(ellipse,rgba(76,211,221,0) 60%,rgba(76,211,221,.2) 100%);box-shadow:none}
.shieldmap .dome.d2 .rim{border-color:rgba(76,211,221,.55)}
.shieldmap .emblem{position:absolute;left:50%;top:50%;width:clamp(44px,7vw,84px);translate:-50% -50%;z-index:3;filter:drop-shadow(0 0 14px rgba(76,211,221,.8));animation:embpulse 9s ease-in-out infinite}
.shieldmap .emblem svg{display:block;width:100%;height:auto}
.shieldmap .emblem .p{position:absolute;inset:-16%;border-radius:50%;border:1.5px solid rgba(76,211,221,.7);opacity:0;animation:ping 2.8s ease-out infinite}
.shieldmap .emblem .p2{animation-delay:1.4s}
.shield-notes{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin-top:8px}
.shield-notes .glass{padding:14px 20px;display:grid;gap:2px;min-width:180px;border-radius:18px}
.shield-notes b{font-family:var(--f-d);font-size:1.05rem;color:#fff}.shield-notes span{font-size:.85rem;color:var(--fg-2)}
@keyframes domego{0%{transform:scale(.04);opacity:0}10%{opacity:1}38%{transform:scale(1);opacity:1}68%{transform:scale(1);opacity:1}86%{transform:scale(1.14);opacity:0}100%{transform:scale(.04);opacity:0}}
@keyframes landglow{0%,6%{fill:#0c1a66}38%,68%{fill:#17408f}86%,100%{fill:#0c1a66}}
@keyframes embpulse{0%,100%{transform:scale(.9)}40%,66%{transform:scale(1.12)}}
@keyframes hexshim{to{background-position:34px 20px,-34px 20px,0 30px}}
@media (prefers-reduced-motion:reduce){.shieldmap .dome{animation:none;transform:none;opacity:.8}.shieldmap .dome.d2{display:none}.shieldmap .wmap .c,.shieldmap .emblem{animation:none}}
@media (max-width:640px){.shieldmap .dome .hex{opacity:.35}.shield-notes .glass{min-width:0;flex:1 1 140px}}

.protect.pale .shield-notes .glass{background:#fff;border:1px solid rgba(26,46,192,.18);box-shadow:0 10px 24px -14px rgba(10,30,120,.4)}
.protect.pale .shield-notes b{color:#0B1B6B}.protect.pale .shield-notes span{color:#4a5a8a}
.protect.pale .shieldmap{box-shadow:0 40px 80px -36px rgba(10,30,150,.55)}

/* v26 glass pillar tower (dark) */
.protect.pale{padding-bottom:clamp(90px,11vw,150px)}
.pil-wrap{height:420vh;position:relative;--w:clamp(120px,14vw,210px);--R:calc(var(--w) * 1.45)}
.pil-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:var(--hdr,68px);overflow:hidden}
.pil{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,60px);align-items:center}
.pil-text{display:grid;gap:14px;min-width:0}
.pil-text h2{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.pil-tabs{display:flex;gap:8px;flex-wrap:wrap}
.pil-tabs .pt{font:inherit;display:inline-flex;align-items:center;gap:8px;font-size:.82rem;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--fg-2);cursor:pointer;transition:all .3s}
.pil-tabs .pt i{font-style:normal;font-family:var(--f-d);font-size:.7rem;color:var(--cy)}
.pil-tabs .pt[aria-selected=true]{color:#fff;background:rgba(76,211,221,.16);border-color:rgba(76,211,221,.7);box-shadow:0 0 18px -4px rgba(76,211,221,.6)}
.pil-panels{display:grid;padding:22px 24px;min-height:clamp(230px,32vh,300px);border-radius:22px}
.pp{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s;pointer-events:none;display:grid;gap:10px;align-content:start}
.pp.on{opacity:1;transform:none;pointer-events:auto}
.pp h3{font-size:1.3rem}.pp p{color:var(--fg-2);max-width:48ch}
.plinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.plinks a{font-size:.78rem;padding:5px 12px;border-radius:999px;border:1px solid var(--line);color:var(--fg-2);text-decoration:none;transition:all .25s}
.plinks a:hover{color:#fff;border-color:rgba(76,211,221,.7);background:rgba(76,211,221,.12)}
.pil-all{justify-self:start}
.pil-stage{position:relative;perspective:1500px;perspective-origin:50% 38%;height:min(66vh,560px);min-width:0}
.pil-floor{position:absolute;left:50%;bottom:6%;width:150%;height:0;translate:-50% 0;transform:rotateX(76deg);transform-style:preserve-3d}
.pil-floor i{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid rgba(76,211,221,.35)}
.pil-floor i:nth-child(1){width:calc(var(--R) * 3.2);aspect-ratio:1;rotate:var(--spin,0deg);border-style:dashed}
.pil-floor i:nth-child(2){width:calc(var(--R) * 4.4);aspect-ratio:1;border-color:rgba(120,170,255,.25)}
.pil-floor i:nth-child(3){width:calc(var(--R) * 5.6);aspect-ratio:1;rotate:calc(var(--spin,0deg) * -.6);border-style:dotted;border-color:rgba(120,170,255,.3)}
.pil-stage::after{content:"";position:absolute;left:50%;bottom:4%;width:80%;height:26%;translate:-50% 0;background:radial-gradient(ellipse,rgba(50,150,255,.35),transparent 70%);filter:blur(10px);pointer-events:none}
.pil-rig{--ry:0deg;--rx:-5deg;position:absolute;left:50%;bottom:16%;width:0;height:0;transform-style:preserve-3d;transform:translateZ(calc(var(--R) * -1)) rotateX(var(--rx)) rotateY(var(--ry))}
.slab{position:absolute;left:calc(var(--w) / -2);bottom:0;width:var(--w);height:calc(var(--w) * 2.35);transform-style:preserve-3d;transform:rotateY(calc(var(--i) * 90deg)) translateZ(var(--R))}
.slab[data-i="0"]{--i:0}.slab[data-i="1"]{--i:1}.slab[data-i="2"]{--i:2}.slab[data-i="3"]{--i:3}
.slab .gl{position:absolute;inset:0;border-radius:4px;border:1.5px solid rgba(150,220,255,.5);background:linear-gradient(145deg,rgba(150,210,255,.16),rgba(30,80,170,.05) 42%,rgba(120,190,255,.1));box-shadow:0 0 22px rgba(60,160,255,.3),inset 0 0 26px rgba(90,180,255,.16);transition:border-color .5s,box-shadow .5s}
.slab.on .gl{border-color:rgba(190,240,255,.95);box-shadow:0 0 44px rgba(60,170,255,.65),inset 0 0 40px rgba(90,190,255,.32)}
.slab .sw{position:absolute;inset:0;border-radius:4px;overflow:hidden;pointer-events:none}
.slab .sw::after{content:"";position:absolute;top:-20%;bottom:-20%;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(220,245,255,.28),transparent);transform:skewX(-14deg);animation:sweep 6s ease-in-out infinite}
.slab[data-i="1"] .sw::after{animation-delay:1.5s}.slab[data-i="2"] .sw::after{animation-delay:3s}.slab[data-i="3"] .sw::after{animation-delay:4.5s}
@keyframes sweep{0%,55%{left:-60%}100%{left:130%}}
.slab .lbl{position:absolute;left:0;right:0;top:44%;text-align:center;font-family:var(--f-d);font-size:clamp(.55rem,1.05vw,.82rem);letter-spacing:.2em;text-transform:uppercase;color:#fff;display:grid;gap:10px;justify-items:center;backface-visibility:hidden;text-shadow:0 0 14px rgba(120,210,255,.9);opacity:.6;transition:opacity .5s;transform:translateZ(1px)}
.slab.on .lbl{opacity:1}
.slab .lbl::after{content:attr(data-n);order:-1;color:var(--cy);font-size:.8em}
.slab .lbl::before{content:"";order:-2;width:34%;height:1px;background:#fff}
@media (max-width:900px){
 .pil-wrap{height:380vh;--w:clamp(78px,24vw,130px)}
 .pil{grid-template-columns:1fr;gap:6px}
 .pil-stage{order:-1;height:clamp(210px,34svh,300px)}
 .pil-text{gap:8px}.pil-text h2{font-size:1.45rem}
 .pil-panels{min-height:200px;padding:16px 18px}.pp h3{font-size:1.1rem}.pp p{font-size:.88rem}
 .plinks a{font-size:.72rem;padding:4px 10px}.pil-tabs .pt{font-size:.74rem;padding:5px 11px 5px 8px}
 .pil-floor{width:200%}
}
@media (prefers-reduced-motion:reduce){.pil-wrap{height:auto}.pil-pin{position:static;height:auto;padding-block:90px}.slab .sw::after{animation:none}}
/* approach: link sits on a pill so rings never cover it */
.appr-link{z-index:6!important;padding:8px 20px;border-radius:999px;background:rgba(3,9,40,.88);border:1px solid rgba(76,211,221,.35);backdrop-filter:blur(6px)}

/* v27 realistic glass reflection, contact shadow and light pool */
.slab .refl{position:absolute;left:0;right:0;top:100%;height:100%;transform-origin:50% 0;transform:scaleY(-1);pointer-events:none;opacity:.55;filter:blur(1.2px);
 -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.35) 30%,transparent 62%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.35) 30%,transparent 62%);transition:opacity .6s}
.slab.on .refl{opacity:.85}
.slab .refl .gl{box-shadow:none;border-color:rgba(150,220,255,.55)}
.slab .refl .sw{overflow:hidden}
.slab::before,.slab::after{content:"";position:absolute;left:-30%;right:-30%;bottom:0;height:calc(var(--w) * .9);transform-origin:50% 100%;transform:rotateX(90deg);pointer-events:none;border-radius:50%}
.slab::before{background:radial-gradient(ellipse,rgba(70,180,255,.55) 0%,rgba(40,120,255,.22) 45%,transparent 72%);opacity:.25;transition:opacity .7s;animation:pool 4.2s ease-in-out infinite}
.slab.on::before{opacity:1}
.slab::after{left:-6%;right:-6%;height:calc(var(--w) * .34);background:radial-gradient(ellipse,rgba(0,4,20,.85) 0%,rgba(0,4,20,.45) 55%,transparent 75%);filter:blur(3px)}
@keyframes pool{0%,100%{scale:.94}50%{scale:1.06}}
.pil-stage::after{opacity:.55}
.slab.on .gl{animation:glassbreath 4.2s ease-in-out infinite}
@keyframes glassbreath{0%,100%{box-shadow:0 0 36px rgba(60,170,255,.5),inset 0 0 34px rgba(90,190,255,.26)}50%{box-shadow:0 0 56px rgba(80,190,255,.75),inset 0 0 46px rgba(110,200,255,.38)}}
@media (prefers-reduced-motion:reduce){.slab::before,.slab.on .gl{animation:none}}
.slab::after{opacity:.0;transition:opacity .6s}.slab.on::after{opacity:.7}
.slab .refl{opacity:.75}.slab.on .refl{opacity:1}

/* v28 standards marquee + frosted pillar card */
.pil-text{position:relative}
.pil-text::before{content:"";position:absolute;left:-8%;bottom:-6%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(60,160,255,.55),rgba(40,100,255,.2) 50%,transparent 70%);filter:blur(30px);z-index:0;pointer-events:none;animation:pool 7s ease-in-out infinite}
.pil-text>*{position:relative;z-index:1}
.pil-panels.glass{padding:26px 28px 24px;border-radius:24px;min-height:0;
 background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 55%,rgba(255,255,255,.1));
 -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
 border:1px solid rgba(255,255,255,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.08),0 28px 56px -26px rgba(0,5,40,.7)}
.pp{grid-template-rows:auto auto 1fr;align-content:stretch;gap:10px}
.pp h3{font-size:1.28rem;line-height:1.25;color:#fff}
.pp p{margin:0;line-height:1.6;color:rgba(235,242,255,.82)}
.plinks{align-self:end;margin-top:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
.plinks a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:rgba(240,246,255,.92)}

/* v29 V-Academy home section with orbiting topics */
.vac-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.vac-text{display:grid;gap:16px;justify-items:start}
.vac-text h2{font-size:clamp(1.9rem,3.4vw,3rem);color:var(--ink)}
.vac-text p{color:#4a5a8a;max-width:46ch}
.vac-tracks{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:10px;width:min(440px,100%)}
.vac-tracks li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(236,241,255,.7));border:1px solid rgba(26,46,192,.16);box-shadow:inset 0 1px 0 #fff,0 14px 28px -20px rgba(10,30,120,.5);color:#0B1B6B;font-weight:600;transition:transform .35s,border-color .3s}
.vac-tracks li:hover{transform:translateX(6px);border-color:rgba(26,46,192,.5)}
.vac-tracks i{font-style:normal;font-family:var(--f-d);color:#2b7fa0;font-weight:300;font-size:1.1rem}
.vac-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.vac-orb{display:grid;place-items:center}
.orb-box{position:relative;width:min(100%,560px);aspect-ratio:1;container-type:inline-size}
.o-ring{position:absolute;border-radius:50%;border:1px solid rgba(26,46,192,.22)}
.o-ring.r1{inset:6%}.o-ring.r2{inset:22%;border-style:dashed;border-color:rgba(26,46,192,.3)}.o-ring.r3{inset:34%;border-color:rgba(43,127,160,.4)}
.o-spin{position:absolute;inset:0;animation:ospin 70s linear infinite}
.o-spin.s2{animation-duration:50s;animation-direction:reverse}
.oc{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1cqw))}
.oc .ci{font-style:normal;position:absolute;left:0;top:0;translate:-50% -50%;display:block;animation:ospin 70s linear infinite reverse;transform:rotate(calc(var(--a) * -1))}
.o-spin.s2 .ci{animation-duration:50s;animation-direction:normal}
.oc b{display:block;white-space:nowrap;font-weight:600;font-size:clamp(.66rem,1.5vw,.82rem);color:#0B1B6B;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgba(26,46,192,.22);box-shadow:0 12px 24px -12px rgba(10,30,120,.5)}
.o-core{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1b3bd0,#06104a 75%);display:grid;place-items:center;box-shadow:0 20px 50px -14px rgba(10,30,160,.8),inset 0 1px 0 rgba(255,255,255,.4)}
.o-core img{width:66%;height:auto;position:relative;z-index:2}
.o-core .halo{position:absolute;inset:-8%;border-radius:50%;border:2px solid rgba(76,211,221,.6);animation:halo 3.2s ease-out infinite}
.o-core .halo.h2{animation-delay:1.6s}
@keyframes ospin{to{rotate:360deg}}
@keyframes halo{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@media (max-width:900px){.vac-grid{grid-template-columns:1fr}.vac-orb{order:-1}.orb-box{width:min(100%,420px)}}
@media (prefers-reduced-motion:reduce){.o-spin,.oc .ci,.o-core .halo{animation:none}}

.vac-tracks{counter-reset:t}.vac-tracks li::before{counter-increment:t;content:"0" counter(t);font-family:var(--f-d);color:#2b7fa0;font-weight:300;font-size:1.1rem}
@media (max-width:640px){.oc{transform:rotate(var(--a)) translateY(calc(var(--r) * -.72cqw))}.oc b{font-size:.58rem;padding:6px 9px}.vac-orb{overflow:hidden}.orb-box{width:min(100%,360px)}}

/* v30 how-we-work journey + V-Academy standards line */
.how{padding-bottom:clamp(90px,11vw,150px)}
.how .c-h{text-align:center;margin-inline:auto;max-width:760px}
.jr{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:64px;margin-top:20px}
.jr-line{position:absolute;left:16.6%;right:16.6%;top:22px;height:2px;background:rgba(26,46,192,.14)}
.jr-line i{position:absolute;inset:0;background:linear-gradient(90deg,#1F3FE0,#3DDDEA);transform-origin:left;transform:scaleX(0);transition:transform 1.8s cubic-bezier(.3,.7,.2,1) .3s}
.jr.in .jr-line i{transform:scaleX(1)}
.jr-line b{position:absolute;top:-5px;left:0;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(61,221,234,.5),0 0 18px 4px rgba(61,221,234,.8);opacity:0;animation:jrtravel 5s ease-in-out 2s infinite}
@keyframes jrtravel{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 12px);opacity:0}}
.jr-step{position:relative;display:grid;justify-items:center}
.jr-n{position:absolute;top:-52px;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #1F3FE0;box-shadow:0 0 0 0 rgba(31,63,224,.4);animation:jrpulse 2.8s ease-out infinite;transform:scale(0);transition:transform .5s}
.jr.in .jr-n{transform:scale(1)}
.jr-step:nth-child(3) .jr-n{transition-delay:1s;animation-delay:.9s}.jr-step:nth-child(4) .jr-n{transition-delay:1.8s;animation-delay:1.8s}.jr-step:nth-child(2) .jr-n{transition-delay:.2s}
@keyframes jrpulse{0%{box-shadow:0 0 0 0 rgba(31,63,224,.45)}100%{box-shadow:0 0 0 18px rgba(31,63,224,0)}}
.jr-card{width:100%;display:grid;gap:10px;align-content:start;padding:28px 26px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(236,241,255,.7));border:1px solid rgba(26,46,192,.16);box-shadow:inset 0 1px 0 #fff,0 22px 40px -26px rgba(10,30,120,.5);opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
.jr.in .jr-card{opacity:1;transform:none}
.jr-step:nth-child(3) .jr-card{transition-delay:.9s}.jr-step:nth-child(4) .jr-card{transition-delay:1.7s}.jr-step:nth-child(2) .jr-card{transition-delay:.1s}
.jr-card .n{font-family:var(--f-d);font-size:2.2rem;line-height:1;font-weight:300;color:#2b7fa0}
.jr-card h3{color:var(--ink);font-size:1.25rem}.jr-card p{color:#4a5a8a}
.vac-std{text-align:center;margin-top:clamp(48px,6vw,80px)}
.vac-std h3{font-size:clamp(1.1rem,2vw,1.5rem);color:var(--ink);margin-top:6px}
@media (max-width:900px){
 .jr{grid-template-columns:1fr;gap:18px;padding:0 0 0 38px}
 .jr-line{left:11px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
 .jr-line i{transform-origin:top;transform:scaleY(0)}.jr.in .jr-line i{transform:scaleY(1)}
 .jr-line b{display:none}
 .jr-n{left:-38px;top:24px}
 .jr-step{justify-items:stretch}
}
@media (prefers-reduced-motion:reduce){.jr-line i{transition:none;transform:none}.jr-card,.jr-n{opacity:1;transform:none;transition:none;animation:none}.jr-line b{display:none}}
/* v31 V-Academy cards: clear space between image and text */
.course .vimg,.std .vimg,.top .vimg{display:block;margin-bottom:20px}
.std,.course,.top{display:block}
.std h3,.course h3,.top h3{margin:0 0 8px;line-height:1.3}
.std p,.top p{margin:0;line-height:1.5}
.course ul{margin-top:10px}

/* ===== v32: hero balance, header logo, footer glass ===== */
/* 1. hero: smaller artwork, edges dissolve into the black field, headline +7% */
.hero h1{font-size:clamp(2.65rem,5vw,5.05rem)}
@media (min-width:1101px){
  .scene{width:min(42.5%,860px);right:max(0px,calc((100% - 1640px)/2));
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);
    -webkit-mask-composite:source-in;mask-composite:intersect}
  .hero-bg{background:radial-gradient(620px 520px at 78% 52%,rgba(20,90,255,.24),transparent 68%),radial-gradient(520px 360px at 6% 104%,rgba(20,80,230,.2),transparent 70%),#010308}
}
@media (max-width:1100px){
  .scene{width:min(84%,540px);margin:-6px auto 0;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
    -webkit-mask-composite:source-in;mask-composite:intersect}
}
@media (max-width:640px){.hero h1{font-size:2.6rem}.scene{width:92%;margin-top:-18px}}

/* 2. header logo: cropped wordmark (no descriptor), about 35% larger visible mark */
.logo img{height:38px;width:auto;max-width:none}
.hdr.sm .logo img{height:34px}
@media (max-width:640px){.logo img{height:31px}.hdr.sm .logo img{height:29px}}

/* 4. footer: same glass character as the header dropdown */
.ftr{position:relative;isolation:isolate;border-top:0;background:transparent;overflow:hidden;padding-top:76px}
.ftr::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(640px 280px at 10% 4%,rgba(24,190,196,.20),transparent 70%),
  radial-gradient(720px 320px at 90% 10%,rgba(34,84,236,.24),transparent 72%),
  radial-gradient(560px 260px at 52% 108%,rgba(28,150,172,.15),transparent 70%),
  linear-gradient(180deg,#02051E 0,#030716 150px,#010208 100%)}
.ftr::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.38) 38%,rgba(0,0,0,.44));
  -webkit-backdrop-filter:blur(40px) saturate(190%) brightness(.94);backdrop-filter:blur(40px) saturate(190%) brightness(.94);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 110px);mask-image:linear-gradient(180deg,transparent 0,#000 110px)}
.ftr .wrap{position:relative;z-index:1}
.f-bot{border-top-color:rgba(255,255,255,.12)}
.f-cols a,.f-about,.f-bot,.f-bot a{color:rgba(228,236,250,.82)}
.f-cols a:hover,.f-bot a:hover{color:#fff}
.f-cols h4{color:#fff}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ftr::after{background:linear-gradient(180deg,rgba(2,6,24,.5),rgba(2,6,24,.9));-webkit-mask-image:none;mask-image:none}}
@media (prefers-reduced-transparency:reduce){.ftr::after{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(2,6,24,.92)}}

/* ===== v33: handshake backdrop, protective field, eased blue-to-black ===== */
.c-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.c-bg img{position:absolute;top:0;left:-14%;width:min(96%,1900px);height:100%;object-fit:cover;object-position:54% 50%;opacity:.6;filter:saturate(.85) contrast(1.05)}
.c-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(3,8,52,.28) 0,rgba(8,22,140,.5) 32%,rgba(5,12,92,.86) 60%,rgba(4,10,70,.97) 78%),
  linear-gradient(180deg,rgba(10,22,130,.9) 0,rgba(10,22,130,0) 26%,rgba(2,5,30,0) 60%,rgba(2,5,30,.95) 100%)}
.contact>.wrap,.sec>.wrap.c-grid{position:relative;z-index:1}
.c-grid h2,.c-grid .lead,.c-grid .why{text-shadow:0 1px 14px rgba(2,5,40,.55)}
@media (max-width:900px){.c-bg img{left:0;width:100%;height:56%;object-position:54% 45%;opacity:.5}
  .c-bg::after{background:linear-gradient(180deg,rgba(10,22,130,.75) 0,rgba(6,14,100,.55) 30%,rgba(4,10,70,.93) 52%,#040a3a 62%)}}
/* protective field over the offices map */
.pfield{position:absolute;inset:0;pointer-events:none;z-index:2}
.pfield svg{position:absolute;inset:0;width:100%;height:100%}
.pf-g{opacity:0;animation:pfcycle 10s ease-in-out infinite;will-change:opacity}
.pf-rim{fill:none;stroke:rgba(127,232,242,.5);stroke-width:1.3;animation:pfbreath 10s ease-in-out infinite}
.pf-rim2{fill:none;stroke:rgba(127,232,242,.2);stroke-width:.8;stroke-dasharray:3 7}
.pf-arc{fill:none;stroke:rgba(127,232,242,.16);stroke-width:.8}
.pf-hex{fill:none;stroke:rgba(127,232,242,.2);stroke-width:.8}
.pf-sweep{animation:pfsweep 10s linear infinite}
@keyframes pfcycle{0%{opacity:0}22%{opacity:1}72%{opacity:1}100%{opacity:0}}
@keyframes pfbreath{0%,100%{stroke-opacity:.6}50%{stroke-opacity:1}}
@keyframes pfsweep{0%,12%{transform:translateX(0) skewX(-14deg)}85%,100%{transform:translateX(1500px) skewX(-14deg)}}
@media (prefers-reduced-motion:reduce){.pf-g{animation:none;opacity:.6}.pf-rim,.pf-sweep{animation:none}.pf-sweep{display:none}}
@media (max-width:640px){.pf-hex,.pf-rim2{display:none}}
/* blue to deep navy to black, eased with intermediate stops */
.deep{background:
  radial-gradient(900px 560px at 88% 0%,rgba(24,50,200,.32),transparent 66%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 1px,transparent 1px 96px),
  linear-gradient(180deg,#0A1580 0%,#08127A 16%,#070F66 34%,#060D55 52%,#050B44 68%,#040836 82%,#030626 93%,#02051E 100%)}
.appr-wrap.deep{background:radial-gradient(900px 560px at 88% 0%,rgba(24,50,200,.32),transparent 66%),linear-gradient(180deg,#0A1580 0%,#08127A 14%,#070F66 30%,#060D55 46%,#050B44 62%,#040836 78%,#030626 91%,#02051E 100%)}
.cta-card{background:radial-gradient(800px 500px at 50% 115%,rgba(24,50,200,.42),transparent 70%),linear-gradient(180deg,#0A1580 0%,#08127A 20%,#060D55 45%,#050B44 68%,#030626 88%,#02051E 100%)}
/* first deep section after a black hero or a dark section: the cap fades blue instead of a black strip */
.deep[style*="--prev:#000"]>.cap,.deep[style*="--prev:#02051E"]>.cap{background:linear-gradient(180deg,#000 0,#02051E 40%,#050C58 100%)}
.deep[style*="--prev:#02051E"]>.cap{background:linear-gradient(180deg,#02051E 0,#030830 45%,#070F66 100%)}
.ftr::before{background:
  radial-gradient(640px 280px at 10% 4%,rgba(24,190,196,.28),transparent 70%),
  radial-gradient(720px 320px at 90% 10%,rgba(34,84,236,.24),transparent 72%),
  radial-gradient(560px 260px at 52% 108%,rgba(28,150,172,.15),transparent 70%),
  linear-gradient(180deg,#02051E 0,#030716 150px,#010208 100%)}

/* ===== v34: V-Academy offering pages, About pages ===== */
a.std{color:inherit;text-decoration:none;transition:transform .45s var(--ease)}a.std:hover{transform:translateY(-4px)}
.course li a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.course li a:hover,.course li a:focus-visible{color:var(--cy-d,#1a9bb0);border-bottom-color:currentColor}
.vtype{margin-top:16px;display:inline-block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--cy-d,#1a8fa3)}
.vfacts{margin-top:26px}.vfacts .glass{padding:20px}.vfacts b{font-size:1.02rem;line-height:1.3}
.vgap{height:clamp(40px,6vw,72px)}
.deep .scope{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.vh3{font-size:1.35rem;margin:clamp(34px,5vw,56px) 0 16px;color:var(--ink)}
.vtwo{align-items:start}.vtop{max-width:none}.vtop li{padding:12px 0}.vtop .num{width:46px;height:46px;font-size:1rem}.vtop.flow::before{left:22px}
.vprac{display:grid;gap:14px}.vprac .glass{padding:22px 24px;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}.vprac .n{font-family:var(--f-d);color:var(--cy-d,#1a8fa3);font-size:1.1rem}.vprac p{color:var(--ink-2);margin:0}
.vnote,.vsrc{margin-top:22px;font-size:.92rem;color:var(--fg-2);max-width:70ch}.vsrc a{color:var(--cy);text-decoration:underline;text-underline-offset:3px}
.vdel{padding:clamp(24px,3vw,36px);display:grid;gap:14px;justify-items:start;max-width:860px}.vdel h3{font-size:1.4rem}.vdel p{max-width:62ch}
.pale .vdel p{color:var(--ink-2)}.pale .vdel h3{color:var(--ink)}
.faqs{display:grid;gap:12px;max-width:860px}
.faqi{border-radius:16px;background:#fff;border:1px solid #DCE5F2;padding:0}
.faqi summary{cursor:pointer;padding:18px 22px;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faqi summary::-webkit-details-marker{display:none}.faqi summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--navy-3,#1A2EC0);flex:none}
.faqi[open] summary::after{content:"\2212"}.faqi p{padding:0 22px 20px;color:var(--ink-2);max-width:68ch}
.faqi summary:focus-visible{outline:2px solid var(--navy-3,#1A2EC0);outline-offset:2px;border-radius:16px}
.enq-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(30px,5vw,80px);align-items:start}
.enq-copy h2{font-size:clamp(2rem,4vw,3.1rem);margin:14px 0}
.vcform select,.vcform input,.vcform textarea{font-size:1rem}
.vcform [aria-invalid=true]{border-color:#ff8a8a!important}
.vc-priv{font-size:.84rem;color:var(--fg-2)}.vc-priv a{color:var(--cy);text-decoration:underline}
.vc-status{min-height:1.3em;font-size:.92rem;color:var(--fg-2)}.vc-status.ok{color:#8ff0c0}.vc-status.err{color:#ffb4b4}.vc-status.busy{color:var(--cy)}
.vcform button[aria-busy=true]{opacity:.7;cursor:progress}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vref{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.vdiff .glass{padding:24px}
.stages{display:grid;gap:20px}
.apst{padding:clamp(22px,3vw,34px);display:grid;gap:10px}
.apst .n{font-family:var(--f-d);font-size:2rem;color:var(--cy-d,#1a8fa3);font-weight:300}
.apst small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--cy-d,#1a8fa3)}
.apst h3{font-size:1.45rem;color:var(--ink)}.apst>p{color:var(--ink-2);max-width:64ch}
.stg2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px);margin-top:10px}
.stg2 h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-3,#1A2EC0);margin-bottom:8px}
.stg2 ul,.vbul{list-style:none;display:grid;gap:8px;padding:0;margin:0}.stg2 li,.vbul li{position:relative;padding-left:18px;color:var(--ink-2);line-height:1.5}
.stg2 li::before,.vbul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--cy-d,#1a8fa3)}
.deep .vbul li{color:var(--fg-2)}.deep .vbul li::before{background:var(--cy)}
.vvals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.vvals .glass{padding:clamp(22px,3vw,32px);display:grid;gap:10px;align-content:start}
.vvals .n{font-family:var(--f-d);color:var(--cy);letter-spacing:.1em}.vvals h3{font-size:1.5rem}.vvals h4,.vpil h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cy);margin-top:6px}
.vpil{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.vpil .pcard ul a{white-space:normal}.vgrp{font-size:.88rem;color:var(--fg-2)}
@media (max-width:900px){.enq-grid,.stg2{grid-template-columns:1fr}}

/* v35 responsive + performance */
.panel{max-height:calc(100vh - 86px);max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(120,200,255,.35) transparent}
@media (max-width:370px){.hdr .logo img{height:26px}.hdr-end{gap:6px}.hdr-end .nav-link{display:none}}
@media (max-height:520px) and (orientation:landscape){.hero{min-height:0}}
/* pause animation work that nobody can see */
html.tab-hidden *,html.tab-hidden *::before,html.tab-hidden *::after,
[data-off] *,[data-off] *::before,[data-off] *::after{animation-play-state:paused!important}
/* low-power devices: drop the costly effects, keep the look */
html.lite .panel,html.lite .mnav,html.lite .btn,html.lite .hbtn,html.lite .chip,html.lite .glass,html.lite .git-panel,html.lite .subnav,html.lite .ftr::after,html.lite .hdr{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.lite .panel,html.lite .mnav{background:#050A33!important}
html.lite .ftr::after{background:linear-gradient(180deg,rgba(3,8,40,.9),rgba(2,5,24,.96))}
html.lite .hero-bg .hg,html.lite .pfield,html.lite .pf-hex{display:none}
html.lite *{scroll-behavior:auto!important}
/* ultrawide: keep content measure sane */

/* v36: dark lens under a deep section blends from the section's end colour into blue at its curved edge (no hard black strip) */
section:not(.deep)[style*="--prev:#02051E"]>.cap{background:linear-gradient(180deg,#02051E 0,#030830 30%,#050C4A 58%,#08127A 82%,#0C1A9A 100%)}

/* v37 footer: real frosted glass over a luminous backdrop */
.ftr::before{z-index:-2;background:
  radial-gradient(520px 300px at 8% 6%,rgba(30,214,222,.62),transparent 70%),
  radial-gradient(620px 340px at 92% 10%,rgba(48,96,255,.58),transparent 72%),
  radial-gradient(520px 260px at 50% 104%,rgba(30,170,200,.42),transparent 70%),
  repeating-radial-gradient(circle at 74% 26%,rgba(140,225,255,.30) 0 1.5px,transparent 1.5px 38px),
  repeating-linear-gradient(115deg,rgba(120,200,255,.16) 0 2px,transparent 2px 72px),
  linear-gradient(180deg,#071565 0%,#050D45 45%,#03071F 100%)}
.ftr::after{z-index:-1;
  background:linear-gradient(180deg,rgba(14,34,96,.34),rgba(4,10,40,.46) 55%,rgba(2,6,24,.58));
  -webkit-backdrop-filter:blur(26px) saturate(200%) brightness(1.08);backdrop-filter:blur(26px) saturate(200%) brightness(1.08);
  border-top:1px solid rgba(160,225,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 40px 80px -40px rgba(120,210,255,.12);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 70px);mask-image:linear-gradient(180deg,transparent 0,#000 70px)}
html.lite .ftr::after{background:linear-gradient(180deg,rgba(6,16,60,.7),rgba(2,6,24,.9))}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ftr::after{background:linear-gradient(180deg,rgba(8,20,70,.7),rgba(2,6,24,.9))}}

/* v37 approach stages: aligned two-column rows, no stray gaps */
.stages{gap:18px}
.apst{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr);column-gap:clamp(20px,4vw,56px);row-gap:10px;align-items:start;padding:clamp(22px,2.6vw,34px)}
.apst>*{margin:0}
.apst .n{grid-column:1;grid-row:1;line-height:1;font-size:clamp(2rem,3.4vw,2.8rem)}
.apst small{grid-column:1;grid-row:2;align-self:start}
.apst h3{grid-column:2;grid-row:1;line-height:1.25;align-self:end}
.apst>p{grid-column:2;grid-row:2;line-height:1.6}
.apst .stg2{grid-column:2;grid-row:3;margin-top:8px;padding-top:16px;border-top:1px solid rgba(20,40,120,.12)}
.stg2 h4{margin:0 0 8px}
@media (max-width:760px){.apst{grid-template-columns:1fr}.apst .n,.apst small,.apst h3,.apst>p,.apst .stg2{grid-column:1;grid-row:auto}.apst small{margin-top:-4px}}
.apst{height:auto;min-height:0;aspect-ratio:auto;align-content:start;grid-template-rows:auto auto auto}

/* v38 footer: dark, calm glass. Soft teal/blue glows only, no patterns */
.ftr::before{background:
  radial-gradient(560px 260px at 10% 0%,rgba(24,190,204,.20),transparent 72%),
  radial-gradient(640px 280px at 90% 4%,rgba(34,84,236,.18),transparent 74%),
  radial-gradient(700px 240px at 50% 106%,rgba(24,150,180,.12),transparent 72%),
  linear-gradient(180deg,#040A28 0%,#030717 45%,#010208 100%)}
.ftr::after{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.18) 60%,rgba(0,0,0,.3));
  -webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);
  border-top:1px solid rgba(150,215,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
html.lite .ftr::after{background:linear-gradient(180deg,rgba(3,8,30,.7),rgba(1,2,8,.92))}

/* v39 home approach: compact cards when the viewport is short so numbered cards never overlap */
.ablk.tight{padding:14px 18px;gap:5px}
.ablk.tight .num{font-size:1.6rem}.ablk.tight h3{font-size:1.02rem}.ablk.tight p{font-size:.84rem;line-height:1.4}.ablk.tight .tg{display:none}

.gh a,.mc h5 a{color:inherit;text-decoration:none}.gh a:hover,.mc h5 a:hover{text-decoration:underline;text-underline-offset:3px}

.dpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.dpc{display:grid;gap:8px;align-content:start;padding:24px;text-decoration:none;color:var(--ink)}
.dpc small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--cy-d,#1a8fa3)}
.dpc h3{font-size:1.2rem;color:var(--ink)}.dpc p{color:var(--ink-2);font-size:.95rem;line-height:1.55}
.dpc .dpg{margin-top:6px;font-weight:600;color:var(--navy-3,#1A2EC0)}
.dpc .dpg svg{width:16px;height:16px;vertical-align:-3px;margin-left:4px}
.deep .vh3{color:#fff;font-size:1.25rem;margin-bottom:10px}
.dpc .dpg{display:inline-flex;align-items:center;gap:6px}.dpc .dpg svg{margin:0;vertical-align:0}
.panel.mega h5.gh a,.panel h5.gh a,.mnav h5 a{color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;padding:0!important;display:inline!important;text-decoration:none}
.panel.mega h5.gh a:hover,.panel h5.gh a:hover,.mnav h5 a:hover{text-decoration:underline;text-underline-offset:3px;color:#fff!important}

/* v40 hero: the artwork is a transparent cutout, so it blends with the page by itself. No edge masks, nothing cropped. */
.scene,.scene img.poster{-webkit-mask-image:none!important;mask-image:none!important}
.scene .layers canvas.tb,.scene .layers canvas.tf{display:block!important}
.scene .layers,.scene{overflow:visible}
@media (min-width:1101px){
  .scene{width:min(46%,900px);right:max(0px,calc((100% - 1560px)/2))}
  .hero h1{font-size:clamp(2.65rem,4.6vw,4.9rem)}
  .hero-in{width:min(1400px,100% - 64px)}
}

/* ===== v41: contact image blend on any width ===== */
.c-bg img{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 46%,rgba(0,0,0,.55) 72%,rgba(0,0,0,.18) 90%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 46%,rgba(0,0,0,.55) 72%,rgba(0,0,0,.18) 90%,transparent 100%)}
@media (max-width:900px){.c-bg img{-webkit-mask-image:none;mask-image:none}}

/* ===== v42: phones and tablets use plain stacked sections, no pinned scroll scenes ===== */
@media (max-width:900px){
  /* Our approach */
  .appr-wrap{height:auto!important}
  .appr-pin{position:relative!important;height:auto!important;display:flex!important;flex-direction:column;align-items:stretch;place-items:unset;gap:16px;padding:112px 18px 72px!important;overflow:hidden}
  .appr-pin .ring{width:min(300px,80vw)!important;top:262px!important;left:50%;translate:-50% -50%;z-index:0;opacity:.8}
  .appr-pin .ring svg{overflow:hidden}
  .appr-pin .ring-c{width:min(270px,72vw)!important;height:min(300px,80vw);margin:0 auto 6px;justify-content:center;z-index:2}
  .appr-pin .ring-c .eyebrow{opacity:1!important;height:auto!important;overflow:visible}
  .appr-pin .ring-c h2{transform:none!important;margin-block:6px!important;font-size:clamp(1.9rem,9vw,2.4rem)!important;white-space:normal}
  .appr-pin .ring-c .sub{opacity:1!important;max-height:none!important;font-size:.84rem}
  .appr-pin .ring-c .cnt,.appr-pin .lead{display:none!important}
  .appr-pin .ablk{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;opacity:1!important;transform:none!important;margin:0;padding:18px 20px;z-index:3}
  .appr-pin .ablk .tg{display:flex!important}
  .appr-pin .appr-link{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;translate:none!important;opacity:1!important;align-self:center;margin-top:8px}
  /* Our services pillars */
  .pil-wrap{height:auto!important}
  .pil-pin{position:relative!important;height:auto!important;overflow:hidden;padding:104px 0 84px!important;display:block}
  .pil{gap:14px}
  .pil-stage{height:clamp(220px,40svh,300px)}
  .pil-panels{min-height:0}
  /* closing call to action */
  .cta-wrap{height:auto!important}
  .cta-pin{position:relative!important;height:auto!important;display:block;overflow:hidden}
  .cta-card{--e:1!important;width:100%!important;height:auto!important;min-height:0!important;border-radius:0!important;padding:84px 20px 76px}
  .cta-card .orb{display:none}
  /* floating buttons: smaller, never wider than a thumb */
  .wa,.totop{opacity:.94}
  footer.ftr,.ftr{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px)}
}
@media (max-width:900px){.jr-step .jr-card,.jr-step .jr-n{transition-delay:.12s!important}}
@media (max-width:900px){.appr-pin .ring-c{position:relative!important;left:auto!important;top:auto!important;translate:none!important}}
@media (max-width:900px){.appr-pin .ring{-webkit-mask-image:radial-gradient(circle,#000 58%,transparent 70%);mask-image:radial-gradient(circle,#000 58%,transparent 70%)}}

/* v43: protective field exactly matches the map frame (legend sits below it on phones) */
.mapbox .pfield{inset:0 0 auto 0;height:auto;aspect-ratio:1000/520}
@media (max-width:900px){
  .mapbox .mleg{position:relative;z-index:3;gap:10px 18px;font-size:.78rem}
  /* footer links never run under the floating buttons */
  .f-cols>div:nth-child(even){padding-right:46px}
}

/* v44: phone menu is a solid dark sheet so page text never shows through it */
.mnav{background:linear-gradient(180deg,rgba(3,8,38,.985),rgba(2,6,28,.985))!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.mnav .btn{display:flex;justify-content:center;align-items:center;text-align:center;gap:8px}
@media (min-width:371px){.mnav>a[href$="login.html"]{display:none}}
@media (max-width:480px){html[dir=rtl] .hdr-end .nav-link{display:none!important}}
@media (min-width:371px){html[dir=rtl] .mnav>a[href$="login.html"]{display:block!important}}
@media (min-width:481px){html[dir=rtl] .mnav>a[href$="login.html"]{display:none!important}}

/* v45: sticky section bar is opaque on phones; floating buttons smaller and tucked to the edge */
@media (max-width:900px){
  .subnav,.subnav .subnav-in,.subnav>div{background-color:rgba(5,12,64,.98)}
  .subnav{background:rgba(5,12,64,.98)!important}
  .wa,.totop{width:38px!important;height:38px!important;right:8px!important}
  .totop{bottom:10px!important}.wa{bottom:56px!important}
  .wa svg{width:18px;height:18px}.totop .ar{width:15px;height:15px}
  .wa,.totop{opacity:.88!important}
}
@media (max-width:900px){.subnav .wrap,.subnav>.wrap{background:linear-gradient(180deg,rgba(10,22,104,.985),rgba(5,12,64,.985))!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* v46 game carousel */
.gm-sec .sec-h{margin-bottom:clamp(28px,4vw,48px)}
.gm{position:relative;--gmgap:clamp(14px,1.8vw,24px)}
.gm-vp{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:6px 2px 22px;margin:-6px -2px -22px;border-radius:26px;outline:0;overscroll-behavior-x:contain}
.gm-vp::-webkit-scrollbar{display:none}
.gm-vp:focus-visible{outline:2px solid rgba(150,190,255,.9);outline-offset:6px}
.gm-track{list-style:none;margin:0;padding:0;display:flex;gap:var(--gmgap)}
.gm-card{flex:0 0 calc((100% - 2*var(--gmgap))/3);scroll-snap-align:start;min-width:0;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;position:relative;
 background:linear-gradient(165deg,rgba(255,255,255,.13),rgba(120,160,255,.05) 45%,rgba(255,255,255,.04));border:1px solid rgba(190,215,255,.28);
 -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(120,160,255,.15),0 22px 40px -24px rgba(0,8,60,.9);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.gm-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 22%)}
@media (hover:hover){.gm-card:hover{transform:translateY(-3px);border-color:rgba(190,220,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 28px 46px -24px rgba(20,60,200,.7)}}
.gm-img{aspect-ratio:16/9;background:#02051E;overflow:hidden;border-bottom:1px solid rgba(190,215,255,.18)}
.gm-img img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%}
.gm-body{padding:clamp(16px,1.6vw,22px) clamp(16px,1.8vw,24px) clamp(20px,2vw,26px);display:flex;flex-direction:column;gap:10px;flex:1}
.gm-fmt{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#CFE0FF;padding:5px 11px;border-radius:999px;border:1px solid rgba(160,195,255,.4);background:linear-gradient(180deg,rgba(120,160,255,.22),rgba(60,100,230,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.gm-body h3{margin:0;font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.25;color:#fff;text-wrap:balance}
.gm-body p{margin:0;font-size:.96rem;line-height:1.6;color:rgba(228,238,255,.86)}
.gm-ctl{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,22px);margin-top:clamp(26px,3vw,36px)}
.gm-nav{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;padding:0;border:1px solid rgba(190,215,255,.4);
 background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(80,120,255,.1));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 22px -12px rgba(0,10,80,.9);transition:background .25s,border-color .25s,opacity .25s}
.gm-nav svg{width:20px;height:20px}
[dir=rtl] .gm-nav svg{transform:scaleX(-1)}
.gm-nav:hover{border-color:rgba(210,228,255,.75);background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(90,130,255,.18))}
.gm-nav[aria-disabled=true]{opacity:.38;cursor:default}
.gm-nav:focus-visible,.gm-dot:focus-visible{outline:2px solid #BFD6FF;outline-offset:3px}
.gm-dots{display:flex;gap:6px;align-items:center}
.gm-dot{width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center;border-radius:50%}
.gm-dot[hidden]{display:none}
.gm-dot::before{content:"";width:10px;height:10px;border-radius:50%;border:1px solid rgba(190,215,255,.6);background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.4);transition:width .25s,background .25s}
.gm-dot[aria-current=true]::before{width:24px;border-radius:6px;background:linear-gradient(180deg,#9DBBFF,#4A78FF);border-color:#CFE0FF}
.gm-note{margin:22px auto 0;max-width:640px;text-align:center;font-size:.82rem;line-height:1.55;color:rgba(200,215,245,.7)}
.gm-cta{display:flex;justify-content:center;margin-top:clamp(22px,3vw,32px)}
@media (max-width:1099px){.gm-card{flex-basis:calc((100% - var(--gmgap))/2)}}
@media (max-width:699px){.gm-card{flex-basis:100%}.gm-nav{width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.gm-card,.gm-nav,.gm-dot::before{transition:none}.gm-card:hover{transform:none}}
@media (max-width:699px){.gm-dot{width:22px;height:28px}.gm-dots{gap:2px}.gm-ctl{gap:10px}}

.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
