
/* 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:30vh}.ab2{left:max(24px,4vw);bottom:12vh}
.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%)}

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