*{box-sizing:border-box}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html{scroll-behavior:smooth}
html,body{margin:0;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;background:#081725}
body{color:#f4f7f8;font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}
a{color:inherit}
button{font:inherit}
.top{position:fixed;z-index:80;top:0;left:0;right:0;height:78px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.top>*{pointer-events:auto}
.brand img{width:215px;display:block}
.lang{display:flex;gap:5px;background:#07131acc;border:1px solid #ffffff22;border-radius:30px;padding:4px;backdrop-filter:blur(15px)}
.lang button{border:0;background:none;color:#8799a3;padding:8px 10px;border-radius:20px;cursor:pointer;font-size:10px;font-weight:700}
.lang button.on{background:#fff;color:#061017}
.hero{height:100vh;min-height:650px;position:relative;background:#000}
.heroVideo{width:100%;height:100%;object-fit:cover;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.heroVideoMobile{display:none}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#03060865,transparent 42%);pointer-events:none}
.sideNav{position:absolute;z-index:20;right:3.2vw;bottom:4.2vh;display:flex;flex-direction:column;align-items:flex-end}
.sideNav a{height:25px;text-decoration:none;display:flex;flex-direction:row-reverse;align-items:center;color:#fff;font-size:10px;font-weight:600;letter-spacing:.115em;opacity:.94;transition:.3s;text-shadow:0 1px 8px rgba(0,0,0,.65)}
.sideNav .num{width:25px;text-align:right;color:#ffffff;font-size:9px;font-weight:700;transition:.3s}
.sideNav .line{width:16px;height:1px;background:#ffffff;margin-left:8px;transition:.3s;opacity:.9}
.sideNav .label{max-width:380px;opacity:1;overflow:hidden;white-space:nowrap;transition:.3s;margin-right:8px;text-align:right}
.sideNav:hover a{height:28px;opacity:1}
.sideNav:hover .line{width:24px;margin-left:8px;background:#ffffff}
.sideNav a:hover .label,.sideNav a:hover .num{color:#00a8e8}
.sideNav a:hover .line{background:#00a8e8}

.section{position:relative;padding:130px 7vw}
.eyebrow,.miniLabel{font-size:9px;letter-spacing:.25em;color:#00a8e8;font-weight:700}
.section h2{font-size:clamp(52px,7vw,112px);line-height:.88;letter-spacing:-.065em;margin:28px 0}
.section p{line-height:1.72}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

.experience{min-height:1000px;background:radial-gradient(circle at 76% 34%,#16384c 0,transparent 31%),#0a1b2a;overflow:hidden}
.years{font-size:clamp(130px,24vw,390px);font-weight:900;letter-spacing:-.1em;line-height:.7;color:#ffffff05;position:absolute;bottom:25px;left:-15px}
.expCopy{width:58%;position:relative;z-index:3}
.expCopy p{max-width:720px;font-size:18px;color:#a1afb6}
.seal{position:absolute;z-index:5;right:8vw;top:145px;width:min(390px,31vw);border:0;background:none;color:#fff;cursor:pointer}
.seal img{width:100%;transition:.55s;filter:drop-shadow(0 35px 60px #000)}
.seal:hover img{transform:rotate(8deg) scale(1.06)}
.seal span{font-size:8px;letter-spacing:.23em}
.timeline{position:relative;z-index:3;margin-top:120px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #2b3b44}
.timeline button{background:none;color:#fff;border:0;border-right:1px solid #263740;text-align:left;padding:25px 20px;min-height:150px;cursor:pointer;transition:.3s}
.timeline button:hover{background:#0b171e;transform:translateY(-8px)}
.timeline b{display:block;font-size:20px}
.timeline small{display:block;margin-top:8px;color:#71838d;line-height:1.45}

.clients{background:#0b2030;min-height:1080px}
.quoteIntro{max-width:1150px}
.quoteIntro h2{font-size:clamp(50px,6vw,92px)}
.clientStage{margin-top:90px;display:grid;grid-template-columns:1fr 1fr;gap:25px}
.clientCard{min-height:395px;border:1px solid #315166;padding:45px;position:relative;overflow:hidden;background:#071016;cursor:pointer;transition:.4s}
.clientCard:hover,.clientCard:focus{transform:translateY(-12px);border-color:#00a8e8;outline:none}
.clientCard img{max-width:78%;max-height:105px;object-fit:contain;background:transparent;padding:0}
.clientCard h3{font-size:34px;margin:58px 0 12px}
.clientCard p{color:#83949e;max-width:440px}
.clientCard>span{font-size:9px;letter-spacing:.2em;color:#00a8e8}
.clientCard .arrow{position:absolute;right:35px;bottom:30px;font-size:26px}
.connection{height:170px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:9px;letter-spacing:.25em;color:#8a9ba4}
.connection i{width:20vw;height:1px;background:#315166;position:relative;overflow:hidden}
.connection i:after{content:"";position:absolute;width:35%;height:100%;background:#00a8e8;animation:travel 3s infinite alternate ease-in-out}
@keyframes travel{to{transform:translateX(190%)}}


.mspAward{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 74% 26%,rgba(0,174,239,.16),transparent 24%),
    radial-gradient(circle at 22% 76%,rgba(61,124,166,.14),transparent 28%),
    linear-gradient(180deg,#0c2a40 0%,#092337 54%,#071d2f 100%);
  min-height:1600px;
  overflow:hidden;
}
.mspAward:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:linear-gradient(110deg,transparent 0 43%,rgba(255,255,255,.025) 43.2% 43.7%,transparent 44% 100%);
  transform:translateX(-35%);
  animation:mspSweep 12s ease-in-out infinite;
}
@keyframes mspSweep{50%{transform:translateX(35%)}}
.mspGridGlow{
  position:absolute;
  z-index:-2;
  inset:0;
  opacity:.16;
  background-image:
    linear-gradient(rgba(151,198,225,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,198,225,.12) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 72%,transparent 96%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 72%,transparent 96%);
}
.mspAwardHead{
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
  gap:6.5vw;
  align-items:center;
}
.mspAwardTitle{position:relative;z-index:3;max-width:560px;padding-right:1vw}
.mspAwardTitle h2{
  font-size:clamp(68px,7vw,118px);
  max-width:560px;
  margin:30px 0 34px;
  line-height:.84;
  letter-spacing:-.078em;
}
.mspAwardTitle>p{
  max-width:540px;
  color:#b7cad6;
  font-size:18px;
  line-height:1.72;
}
.mspGhostAction{
  margin-top:30px;
  padding:0 0 9px;
  border:0;
  border-bottom:1px solid #18b9f2;
  background:none;
  color:#dff5ff;
  font-size:9px;
  letter-spacing:.21em;
  cursor:pointer;
}
.mspGhostAction:hover{color:#18b9f2}

.mspOrbitWrap{
  min-height:690px;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1000px;
}
.mspOrbit{
  position:relative;
  width:min(560px,42vw);
  aspect-ratio:1;
  transform-style:preserve-3d;
}
.orbitRing{
  position:absolute;
  border:1px solid rgba(151,198,225,.25);
  border-radius:50%;
  inset:8%;
}
.orbitRingA{inset:5%;animation:orbitSpin 34s linear infinite}
.orbitRingB{inset:19%;border-style:dashed;animation:orbitSpinReverse 46s linear infinite}
.orbitRingC{inset:34%;border-color:rgba(24,185,242,.35);animation:orbitSpin 58s linear infinite}
.orbitRingA:before,.orbitRingB:before,.orbitRingC:before{
  content:"";
  position:absolute;
  width:7px;height:7px;
  border-radius:50%;
  background:#19b9f1;
  box-shadow:0 0 22px rgba(25,185,241,.9);
  left:50%;top:-4px;
}
.orbitRingB:before{width:6px;height:6px;top:auto;bottom:-3px;left:32%;}
.orbitRingC:before{width:5px;height:5px;left:auto;right:10%;top:50%;margin-top:-2.5px;box-shadow:0 0 18px rgba(25,185,241,.75);}

@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes orbitSpinReverse{to{transform:rotate(-360deg)}}
.orbitCore{
  position:absolute;
  left:50%;top:50%;
  width:240px;height:240px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(4,22,35,.82);
  border:1px solid rgba(42,190,243,.45);
  box-shadow:0 0 0 18px rgba(16,71,102,.17),0 40px 90px rgba(0,0,0,.32),inset 0 0 60px rgba(24,185,242,.08);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:34px;
  backdrop-filter:blur(12px);
}
.orbitCore>span{
  color:#29c0f5;
  font-size:8px;
  letter-spacing:.22em;
  font-weight:700;
}
.orbitCore strong{
  font-size:38px;
  letter-spacing:-.05em;
  margin:12px 0 10px;
}
.orbitCore p{
  margin:0;
  color:#94aebb;
  font-size:12px;
  line-height:1.55;
  min-height:56px;
}

.orbitNode{
  position:absolute;
  z-index:4;
  min-width:120px;
  height:43px;
  padding:0 15px;
  border:1px solid rgba(128,178,205,.36);
  background:rgba(5,24,37,.78);
  color:#c5d8e1;
  border-radius:999px;
  font-size:9px;
  letter-spacing:.13em;
  cursor:pointer;
  transition:transform .3s ease,border-color .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease;
  backdrop-filter:blur(10px);
}
.orbitNode span{
  display:inline-block;
  width:6px;height:6px;
  margin-right:8px;
  border-radius:50%;
  background:#68899b;
}
.orbitNode:hover{border-color:#1ac0f6;transform:scale(1.06);color:#fff}
.orbitNode.active{
  background:#17b9ef;
  color:#03131d;
  border-color:#17b9ef;
  box-shadow:0 12px 34px rgba(0,174,239,.24);
}
.orbitNode.active span{background:#03131d}
.orbitNode.n1{left:50%;top:3%;transform:translateX(-50%)}
.orbitNode.n1:hover{transform:translateX(-50%) scale(1.06)}
.orbitNode.n2{right:4%;top:26%}
.orbitNode.n3{right:4%;bottom:24%}
.orbitNode.n4{left:50%;bottom:2%;transform:translateX(-50%)}
.orbitNode.n4:hover{transform:translateX(-50%) scale(1.06)}
.orbitNode.n5{left:4%;bottom:24%}
.orbitNode.n6{left:4%;top:26%}

.mspManifesto{
  position:relative;
  margin:30px 0 0;
  padding:75px 0 68px;
  border-top:1px solid rgba(115,165,193,.30);
  border-bottom:1px solid rgba(115,165,193,.30);
  display:grid;
  grid-template-columns:150px 1fr;
  gap:45px;
  align-items:start;
}
.mspManifesto>span{
  color:#20bdf3;
  font-size:9px;
  letter-spacing:.2em;
  padding-top:15px;
}
.mspManifesto p{
  margin:0;
  max-width:1220px;
  font-size:clamp(43px,5.8vw,90px);
  line-height:.98;
  letter-spacing:-.055em;
  color:#f5f9fb;
}
.mspManifesto em{font-style:normal;color:#66c9ee}

.mspTriptych{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:70px;
  border-top:1px solid rgba(115,165,193,.27);
  border-bottom:1px solid rgba(115,165,193,.27);
}
.mspTriptych article{
  min-height:310px;
  padding:44px 42px;
  border-right:1px solid rgba(115,165,193,.27);
  transition:background .35s ease,transform .35s ease;
}
.mspTriptych article:last-child{border-right:0}
.mspTriptych article:hover{background:rgba(22,74,104,.34);transform:translateY(-6px)}
.mspTriptych article>span{
  font-size:9px;
  letter-spacing:.2em;
  color:#27bff4;
}
.mspTriptych h3{
  margin:70px 0 17px;
  font-size:32px;
  letter-spacing:-.04em;
}
.mspTriptych p{
  max-width:390px;
  color:#9db3bf;
  font-size:14px;
  line-height:1.7;
}

.mspTickerWrap{
  margin:78px -7vw 0;
  overflow:hidden;
  border-top:1px solid rgba(115,165,193,.26);
  border-bottom:1px solid rgba(115,165,193,.26);
  background:rgba(4,24,39,.36);
}
.mspTicker{
  width:max-content;
  display:flex;
  align-items:center;
  gap:34px;
  padding:25px 0;
  animation:mspTickerMove 32s linear infinite;
  white-space:nowrap;
}
.mspTicker span{
  font-size:12px;
  letter-spacing:.16em;
  color:#c3d4de;
}
.mspTicker i{font-style:normal;color:#1bc0f5}
@keyframes mspTickerMove{to{transform:translateX(-50%)}}

.mspActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:54px;
  border-top:1px solid rgba(115,165,193,.28);
}
.mspActions button{
  min-height:100px;
  border:0;
  border-bottom:1px solid rgba(115,165,193,.28);
  background:none;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 30px 0 2px;
  cursor:pointer;
  transition:background .3s ease,padding .3s ease;
}
.mspActions button:first-child{border-right:1px solid rgba(115,165,193,.28)}
.mspActions button:hover{background:rgba(20,79,111,.32);padding-left:22px}
.mspActions span{font-size:10px;letter-spacing:.18em;color:#a9bec9}
.mspActions i{font-style:normal;font-size:24px;color:#1bc0f5}


.solutions{background:#0d2234;min-height:1300px}
.solutionIntro{max-width:1100px}
.solutionIntro p{max-width:720px;color:#94a4ad;font-size:17px}
.solutionColumns{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:100px}
.solutionColumn{min-width:0}
.explorer{margin-top:18px;border-top:1px solid #315166}
.explorer button{width:100%;border:0;border-bottom:1px solid #315166;background:none;color:#fff;padding:30px 5px;text-align:left;display:grid;grid-template-columns:55px 1fr auto;align-items:center;cursor:pointer;transition:.25s}
.explorer button:hover{background:#0e1c24;padding-left:16px}
.explorer b{font-size:clamp(24px,3.2vw,50px);letter-spacing:-.04em}
.explorer.compact b{font-size:clamp(20px,2.2vw,34px)}
.explorer i{font-style:normal;color:#00a8e8;font-size:25px}
.industryZone{margin-top:120px;padding-top:35px;border-top:1px solid #315166}
.industryZone>p{color:#758993;font-size:13px}
.areaCloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.areaCloud button{border:1px solid #365a70;border-radius:30px;padding:13px 18px;font-size:10px;letter-spacing:.08em;color:#aab7bd;background:transparent;cursor:pointer;transition:.25s}
.areaCloud button:hover{background:#00a8e8;color:#031017;border-color:#00a8e8;transform:translateY(-3px)}

.why{background:#102a3d;color:#f4f7f8}
.why .eyebrow{color:#25b8f3}
.why h2{max-width:1000px}
.whyGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#315066;margin-top:85px;border:1px solid #315066}
.whyGrid article{background:#102a3d;padding:42px 32px;min-height:310px}
.whyGrid article>b{font-size:10px;color:#25b8f3;letter-spacing:.2em}
.whyGrid h3{font-size:23px;margin-top:55px}
.whyGrid p{color:#a9bbc6;font-size:14px}

.about{background:#0a1b29}
.aboutGrid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.about p{color:#a9bbc6;font-size:17px}
.aboutPrinciples{border:1px solid #2d4b5e;padding:46px;background:#0c2131}
.principle{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid #2d4b5e}
.principle>b{font-size:9px;letter-spacing:.16em;color:#25b8f3;padding-top:5px}
.principle h3{margin:0 0 8px;font-size:25px}
.principle p{margin:0;color:#91a6b2;font-size:14px;line-height:1.6}

.textAction{border:0;background:none;color:#00a8e8;padding:0;margin-top:20px;cursor:pointer;font-size:10px;letter-spacing:.18em}
.contactBox{border:1px solid #2d4b5e;padding:40px}
.contactBox b{color:#00a8e8}
.contactCTA{display:inline-block;margin-top:18px;text-decoration:none;color:#fff;border-bottom:1px solid #00a8e8;padding-bottom:8px;font-size:10px;letter-spacing:.16em}

.footer{background:#0b3153;padding:75px 6vw;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:70px;font-size:14px;line-height:1.65}
.footer img{width:240px;margin-bottom:28px}
.footer a{display:block;text-decoration:none;margin:8px 0}
.footer a:hover{color:#00a8e8}
.footer strong{color:#00a8e8}

.drawer{position:fixed;z-index:120;top:0;right:0;bottom:0;width:min(790px,94vw);background:#0b1f2ef9;border-left:1px solid #29434f;padding:10vh 64px 80px;transform:translateX(105%);transition:.5s cubic-bezier(.16,1,.3,1);overflow:auto}
.drawer.on{transform:none}
.drawerClose{position:absolute;right:28px;top:24px;border:0;background:none;color:#fff;font-size:40px;cursor:pointer}
.drawer h2{font-size:clamp(42px,5vw,68px);letter-spacing:-.055em;line-height:.95;margin:25px 0}
.drawer p{color:#b1bdc3;line-height:1.75}
.drawer .drawerLead{font-size:18px;color:#d2dadd}
.drawerList{margin:35px 0 0;padding:0;list-style:none;border-top:1px solid #315166}
.drawerList li{padding:14px 0;border-bottom:1px solid #315166;color:#9aabb4}
.drawerList b{color:#fff}
.drawer img{max-width:260px;max-height:100px;background:transparent;padding:0;margin:20px 0}
.backdrop{position:fixed;z-index:110;inset:0;background:#010405bd;backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:.35s}
.backdrop.on{opacity:1;pointer-events:auto}

.policy{background:#f7f8f7;color:#111820;min-height:100vh;padding:130px 7vw}
.policyHead{max-width:1000px}
.policyHead h1{font-size:clamp(48px,7vw,95px);letter-spacing:-.06em;line-height:.92}
.policyHead p{color:#68747b}
.policyLayout{display:grid;grid-template-columns:260px 1fr;gap:7vw;margin-top:70px}
.policyNav{position:sticky;top:110px;align-self:start}
.policyNav a{display:block;text-decoration:none;border-bottom:1px solid #d8dddf;padding:12px 0;font-size:12px;color:#52616a}
.policyContent{max-width:900px}
.policyContent section{padding:15px 0 45px;border-bottom:1px solid #d8dddf}
.policyContent h2{font-size:32px}
.policyContent p{white-space:pre-line;line-height:1.8;color:#34434b}
.legalTop{position:fixed;top:0;left:0;right:0;height:82px;background:#0a1c2af2;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;z-index:50}
.legalTop img{width:140px}
.legalTop a{text-decoration:none;font-size:11px;letter-spacing:.15em}

@media(max-width:1000px){
  .solutionColumns,.whyGrid{grid-template-columns:1fr 1fr}
  .whyGrid article{min-height:250px}
}
@media(max-width:850px){
  .brand img{width:140px}
  .sideNav{right:18px;bottom:20px}
  .sideNav .label{display:block;font-size:8.5px;max-width:270px}
  .sideNav .line{width:12px}
  .section{padding:100px 7vw}
  .expCopy{width:100%}
  .seal{position:relative;top:auto;right:auto;width:250px;margin:50px auto;display:block}
  .timeline{grid-template-columns:1fr 1fr}
  .clientStage,.aboutGrid,.solutionColumns,.footer,.mspTop,.mspControl{grid-template-columns:1fr}
  .mspTop{gap:35px}.mspIntro{padding:0}.mspTop h2{font-size:clamp(56px,15vw,92px)}
  .mspStatement{border-right:0;border-bottom:1px solid #2d4b5e}
  .mspStatement,.mspModules{padding:34px 26px}
  .benefitRail button{grid-template-columns:1fr auto;gap:10px}
  .benefitRail span{grid-column:1/-1}
  .whyGrid{grid-template-columns:1fr}
  .policyLayout{grid-template-columns:1fr}
  .policyNav{position:relative;top:auto}
  .footer{gap:35px}
  .hero{min-height:600px}
  .drawer{padding:90px 30px 60px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}


@media(max-width:1000px){
  .mspAwardHead{grid-template-columns:1fr;min-height:auto;gap:30px}
  .mspOrbit{width:min(610px,86vw)}
  .mspManifesto{grid-template-columns:1fr;gap:16px}
  .mspTriptych{grid-template-columns:1fr}
  .mspTriptych article{border-right:0;border-bottom:1px solid rgba(115,165,193,.27)}
}
@media(max-width:650px){
  .mspAwardTitle h2{font-size:clamp(58px,18vw,92px)}
  .mspOrbitWrap{min-height:570px}
  .mspOrbit{width:94vw;max-width:530px}
  .orbitCore{width:190px;height:190px;padding:24px}
  .orbitCore strong{font-size:30px}
  .orbitCore p{font-size:10px}
  .orbitNode{min-width:95px;height:38px;font-size:7px;padding:0 10px}
  .orbitNode.n2,.orbitNode.n3{right:-4%}
  .orbitNode.n5,.orbitNode.n6{left:-4%}
  .mspManifesto p{font-size:clamp(38px,12vw,60px)}
  .mspTriptych article{padding:36px 20px}
  .mspActions{grid-template-columns:1fr}
  .mspActions button:first-child{border-right:0}
}


/* ASCENTY PARTNER — new section */
.ascentyPartner{
  position:relative;
  overflow:hidden;
  min-height:720px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 16% 45%,rgba(246,162,0,.10),transparent 27%),
    radial-gradient(circle at 76% 38%,rgba(0,93,142,.22),transparent 34%),
    linear-gradient(135deg,#071a29 0%,#0a2639 52%,#081d2c 100%);
  border-top:1px solid rgba(96,154,185,.23);
  border-bottom:1px solid rgba(96,154,185,.23);
}
.ascentyPartnerGlow{
  position:absolute;
  width:620px;height:620px;
  border:1px solid rgba(244,160,0,.16);
  border-radius:50%;
  right:-190px;top:-170px;
  box-shadow:0 0 0 90px rgba(0,92,139,.035),0 0 0 180px rgba(0,92,139,.02);
}
.ascentyPartnerInner{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.8fr);
  gap:9vw;
  align-items:center;
  position:relative;
  z-index:2;
}
.ascentyPartnerBrand .eyebrow{color:#f5a300}
.ascentyPartnerBrand img{
  display:block;
  width:min(660px,100%);
  height:auto;
  margin-top:42px;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.22));
}
.ascentyPartnerActions{display:flex;flex-direction:column;gap:18px}
.ascentyPartnerButton{
  position:relative;
  min-height:148px;
  padding:31px 86px 28px 32px;
  border:1px solid rgba(122,177,206,.35);
  background:rgba(5,24,38,.62);
  color:#fff;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease;
  backdrop-filter:blur(8px);
}
.ascentyPartnerButton:before{
  content:"";
  position:absolute;
  left:-100%;top:0;bottom:0;
  width:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  transition:left .6s ease;
}
.ascentyPartnerButton:hover:before{left:100%}
.ascentyPartnerButton:hover{transform:translateY(-6px);border-color:#f5a300;box-shadow:0 22px 55px rgba(0,0,0,.22)}
.ascentyPartnerButton.primary:hover{background:rgba(246,162,0,.08)}
.ascentyPartnerButton.secondary:hover{background:rgba(0,165,226,.08)}
.ascentyPartnerButton span{font-size:8px;letter-spacing:.22em;color:#8ca8b8;font-weight:700;margin-bottom:12px}
.ascentyPartnerButton strong{font-size:clamp(24px,2vw,34px);letter-spacing:-.035em}
.ascentyPartnerButton i{
  position:absolute;right:30px;top:50%;
  transform:translateY(-50%);
  font-style:normal;font-size:31px;color:#f5a300;
}
.ascentyPartnerButton.secondary i{color:#1fb9ee}

/* ASCENTY INTERNAL PAGE */
.ascentyDocBody{background:#071725;color:#eef6fa}
.ascentyDocTop{
  position:fixed;z-index:80;top:0;left:0;right:0;height:82px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;background:rgba(5,19,30,.92);
  border-bottom:1px solid rgba(108,161,189,.24);
  backdrop-filter:blur(16px);
}
.ascentyDocTop img{width:190px;display:block}
.ascentyDocTop a{text-decoration:none;font-size:10px;letter-spacing:.18em;color:#fff}
.ascentyDocTop a:hover{color:#1db9ed}
.ascentyDocHero{
  min-height:680px;padding:150px 7vw 90px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);
  gap:8vw;align-items:center;
  background:
    radial-gradient(circle at 74% 30%,rgba(244,160,0,.11),transparent 25%),
    radial-gradient(circle at 22% 66%,rgba(0,110,166,.20),transparent 32%),
    linear-gradient(140deg,#081d2d,#0a2b40);
}
.ascentyDocHero .kicker{font-size:9px;letter-spacing:.25em;color:#f5a300;font-weight:700}
.ascentyDocHero h1{font-size:clamp(54px,7vw,106px);line-height:.87;letter-spacing:-.07em;margin:24px 0}
.ascentyDocHero p{max-width:780px;color:#abc0cb;font-size:18px;line-height:1.75}
.ascentyDocHero img{width:min(620px,100%);display:block}
.ascentyDocLayout{
  display:grid;grid-template-columns:250px minmax(0,1fr);gap:7vw;
  padding:90px 7vw 130px;
}
.ascentyDocNav{position:sticky;top:110px;align-self:start}
.ascentyDocNav a{
  display:block;text-decoration:none;color:#829ca9;
  font-size:10px;letter-spacing:.12em;padding:12px 0;
  border-bottom:1px solid rgba(104,157,184,.20);
}
.ascentyDocNav a:hover{color:#f5a300}
.ascentyDocContent{max-width:1120px}
.ascentyBlock{padding:15px 0 78px;border-bottom:1px solid rgba(105,157,184,.23);scroll-margin-top:110px}
.ascentyBlock .sectionTag{font-size:9px;letter-spacing:.22em;color:#f5a300;font-weight:700}
.ascentyBlock h2{font-size:clamp(38px,4vw,66px);letter-spacing:-.055em;line-height:.98;margin:18px 0 34px}
.ascentyBlock h3{font-size:24px;margin:36px 0 12px}
.ascentyBlock p{color:#a8bdc8;line-height:1.78;font-size:16px}
.ascentyQuote{padding:26px 0 26px 28px;border-left:2px solid #f5a300;margin:24px 0;color:#c7d7df}
.ascentyMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.ascentyMetric{padding:24px;border:1px solid rgba(106,159,188,.27);background:rgba(10,41,60,.52)}
.ascentyMetric strong{display:block;font-size:28px;color:#fff;margin-bottom:6px}
.ascentyMetric span{color:#8aa4b2;font-size:11px;line-height:1.4}
.ascentyTimeline{margin-top:34px;border-top:1px solid rgba(107,160,188,.30)}
.ascentyTimeline article{display:grid;grid-template-columns:90px 210px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid rgba(107,160,188,.20)}
.ascentyTimeline b{color:#f5a300}
.ascentyTimeline strong{font-size:18px}
.ascentyTimeline p{margin:0;font-size:14px}
.ascentyGrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.ascentyInfoCard{padding:28px;border:1px solid rgba(107,160,188,.25);background:#0a2233}
.ascentyInfoCard h3{margin:0 0 12px;font-size:21px}
.ascentyInfoCard p{margin:0;font-size:14px}
.ascentyVisual{margin:34px 0 0;padding:12px;background:#fff;border-radius:6px}
.ascentyVisual img{display:block;width:100%;height:auto}
.ascentyCampusGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px}
.ascentyCampus{padding:28px;border:1px solid rgba(107,160,188,.25);background:rgba(8,32,48,.75)}
.ascentyCampus h3{margin:0 0 18px}
.ascentyCampus ul,.ascentyBlock ul{padding-left:18px;color:#a8bdc8;line-height:1.75}
.ascentyQuoteGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.ascentyQuoteCard{padding:28px;border:1px solid rgba(107,160,188,.25);background:#092031}
.ascentyQuoteCard p{margin:0 0 20px}
.ascentyQuoteCard b{color:#f5a300}
.ascentyDocFooter{
  padding:55px 7vw;background:#06131f;
  display:flex;justify-content:space-between;gap:30px;align-items:center;
  color:#839aa6;font-size:12px
}
.ascentyDocFooter img{width:170px}

@media(max-width:900px){
  .ascentyPartnerInner,.ascentyDocHero,.ascentyDocLayout{grid-template-columns:1fr}
  .ascentyPartner{min-height:auto}
  .ascentyDocNav{position:relative;top:auto}
  .ascentyMetrics{grid-template-columns:1fr 1fr}
  .ascentyTimeline article{grid-template-columns:70px 1fr}
  .ascentyTimeline article p{grid-column:2}
  .ascentyGrid3,.ascentyCampusGrid,.ascentyQuoteGrid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .ascentyMetrics{grid-template-columns:1fr}
  .ascentyPartnerButton{padding-right:64px}
}


/* ==========================================================
   CODENET MOBILE LAYOUT — same content, mobile positioning only
   ========================================================== */
@media (max-width:850px){
  html{scroll-padding-top:68px}
  body{overflow-x:hidden}

  /* Header / logo / language */
  .top{
    height:68px;
    padding-left:calc(18px + env(safe-area-inset-left));
    padding-right:calc(18px + env(safe-area-inset-right));
    align-items:center;
    background:linear-gradient(180deg,rgba(4,18,29,.72),rgba(4,18,29,0));
    overflow:hidden;
  }
  .brand{flex:0 1 auto;min-width:0}
  .brand img{width:150px!important;max-height:50px;object-fit:contain}
  .lang{padding:3px;gap:2px;background:rgba(5,19,30,.82);flex:0 0 auto}
  .lang button{padding:7px 10px;font-size:9px;min-width:34px}

  /* HOME: portrait video + same vertical navigation moved for thumb/mobile view */
  .hero{height:100svh;min-height:620px;max-height:none;overflow:hidden}
  .heroVideoDesktop{display:none!important}
  .heroVideoMobile{
    display:block!important;
    position:absolute;
    inset:0;
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:center center;
    transform:scale(1.02);
    transform-origin:center center;
  }
  .hero:after{background:linear-gradient(0deg,rgba(2,10,16,.82) 0%,rgba(2,10,16,.22) 50%,rgba(2,10,16,.26) 100%)}
  .sideNav{
    right:calc(18px + env(safe-area-inset-right))!important;
    left:auto;
    bottom:calc(28px + env(safe-area-inset-bottom))!important;
    max-width:calc(100vw - 36px - env(safe-area-inset-left) - env(safe-area-inset-right));
    align-items:flex-end;
  }
  .sideNav a{height:30px!important;font-size:9px!important;letter-spacing:.08em!important;font-weight:700;opacity:1!important}
  .sideNav .num{width:24px!important;font-size:8px!important;color:#fff}
  .sideNav .line{width:12px!important;margin-left:7px!important;background:#fff!important}
  .sideNav .label{display:block!important;max-width:315px!important;font-size:9px!important;white-space:nowrap!important;color:#fff;opacity:1!important;margin-right:6px!important;text-align:right}
  .sideNav a:hover .label,.sideNav a:focus .label,.sideNav a:hover .num,.sideNav a:focus .num{color:#00a8e8!important}
  .sideNav a:hover .line,.sideNav a:focus .line{background:#00a8e8!important;width:18px!important}

  /* Global section rhythm */
  .section{padding:96px 22px!important}
  .eyebrow,.miniLabel{font-size:8px;letter-spacing:.18em}
  .section h2{font-size:clamp(48px,13.8vw,68px);line-height:.92;letter-spacing:-.055em;margin:22px 0}
  .section p{font-size:15px;line-height:1.68}

  /* 30 years */
  .experience{min-height:auto;padding-bottom:78px!important}
  .years{font-size:44vw;line-height:.75;left:-6vw;bottom:210px;opacity:.78;pointer-events:none}
  .expCopy{width:100%;max-width:none}
  .expCopy p{font-size:15px;max-width:none}
  .seal{position:relative!important;right:auto!important;top:auto!important;width:min(235px,62vw)!important;margin:46px auto 24px!important;display:block!important}
  .seal span{font-size:8px}
  .timeline{margin:42px -22px 0;padding-left:22px;padding-right:22px;display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:min(78vw,310px);gap:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;border-top:1px solid #2b3b44;scrollbar-width:none}
  .timeline::-webkit-scrollbar{display:none}
  .timeline button{scroll-snap-align:start;min-height:150px;padding:24px 18px;border-right:1px solid #2b3b44;border-bottom:1px solid #2b3b44}
  .timeline b{font-size:18px}.timeline small{font-size:12px}

  /* About */
  .aboutGrid{grid-template-columns:1fr!important;gap:56px!important}
  .aboutPrinciples{padding:28px 22px!important}
  .principle{grid-template-columns:34px 1fr;gap:12px;padding:22px 0}
  .principle h3{font-size:22px}.principle p{font-size:13px!important}

  /* Clients / testimonials */
  .clients{min-height:auto}
  .quoteIntro h2{font-size:clamp(42px,11vw,60px)}
  .clientStage{grid-template-columns:1fr!important;gap:18px;margin-top:54px}
  .clientCard{min-height:385px;padding:30px 24px}
  .clientCard img{max-width:88%;max-height:95px;margin:8px auto 0;display:block}
  .clientCard h3{font-size:31px;margin:58px 0 12px}
  .clientCard p{font-size:14px;max-width:none}
  .connection{height:110px;gap:11px;font-size:8px}.connection i{width:38vw}

  /* MSP: same interaction, repositioned and scaled for mobile */
  .mspAward{min-height:auto;padding-top:96px!important}
  .mspAwardHead{min-height:auto!important;grid-template-columns:1fr!important;gap:46px!important;align-items:start}
  .mspAwardTitle{max-width:none!important;padding-right:0!important}
  .mspAwardTitle h2{font-size:clamp(58px,16vw,76px)!important;max-width:none!important;line-height:.86!important;margin:24px 0 28px!important}
  .mspAwardTitle>p{max-width:none!important;font-size:15px!important}
  .mspGhostAction{margin-top:22px}
  .mspOrbitWrap{min-height:430px!important;margin:8px -8px 0!important;overflow:visible;perspective:none}
  .mspOrbit{width:min(310px,80vw)!important;max-width:310px;aspect-ratio:1;margin:auto}
  .orbitRingA{inset:5%}.orbitRingB{inset:20%}.orbitRingC{inset:34%}
  .orbitCore{width:155px!important;height:155px!important;padding:20px!important;box-shadow:0 0 0 12px rgba(16,71,102,.16),0 22px 60px rgba(0,0,0,.28),inset 0 0 40px rgba(24,185,242,.08)}
  .orbitCore>span{font-size:6.2px!important;letter-spacing:.16em}
  .orbitCore strong{font-size:27px!important;margin:7px 0 6px!important}
  .orbitCore p{font-size:8.7px!important;line-height:1.35!important;min-height:42px!important}
  .orbitCore i{width:6px;height:6px;margin-top:8px}
  .orbitNode{min-width:86px!important;max-width:102px;height:34px!important;padding:0 8px!important;font-size:6.7px!important;letter-spacing:.07em!important;white-space:nowrap}
  .orbitNode span{width:4px;height:4px;margin-right:4px}
  .orbitNode.n1{top:0}.orbitNode.n2{right:-2px!important;top:24%!important}.orbitNode.n3{right:-2px!important;bottom:23%!important}.orbitNode.n4{bottom:0}.orbitNode.n5{left:-2px!important;bottom:23%!important}.orbitNode.n6{left:-2px!important;top:24%!important}
  .mspManifesto{grid-template-columns:1fr!important;gap:12px!important;margin-top:30px;padding:48px 0!important}
  .mspManifesto>span{padding-top:0}.mspManifesto p{font-size:clamp(38px,11vw,54px)!important;line-height:1!important}
  .mspTriptych{grid-template-columns:1fr!important;margin-top:44px}
  .mspTriptych article{min-height:auto!important;padding:34px 4px!important;border-right:0!important;border-bottom:1px solid rgba(115,165,193,.27)}
  .mspTriptych h3{margin:35px 0 13px!important;font-size:28px}.mspTriptych p{font-size:13px!important}
  .mspTickerWrap{margin:50px -22px 0!important}.mspTicker{padding:20px 0;gap:22px}.mspTicker span{font-size:9px}
  .mspActions{grid-template-columns:1fr!important;margin-top:34px}.mspActions button:first-child{border-right:0!important}.mspActions button{min-height:84px;padding-right:10px}

  /* Ascenty partnership */
  .ascentyPartner{min-height:auto!important;padding-top:90px!important;padding-bottom:90px!important}
  .ascentyPartnerInner{grid-template-columns:1fr!important;gap:50px!important}
  .ascentyPartnerBrand img{width:min(100%,560px)!important;margin-top:28px!important}
  .ascentyPartnerActions{gap:14px}
  .ascentyPartnerButton{min-height:126px;padding:25px 64px 24px 24px!important}
  .ascentyPartnerButton strong{font-size:26px!important}.ascentyPartnerButton i{right:22px}
  .ascentyPartnerGlow{width:430px;height:430px;right:-240px;top:-140px}

  /* Solutions */
  .solutions{min-height:auto}
  .solutionColumns{grid-template-columns:1fr!important;gap:64px!important;margin-top:64px!important}
  .explorer button{grid-template-columns:40px 1fr auto;padding:24px 4px}
  .explorer b,.explorer.compact b{font-size:clamp(22px,7.8vw,32px)!important;line-height:1.05}
  .industryZone{margin-top:70px!important}.areaCloud{gap:8px}.areaCloud button{padding:11px 14px;font-size:9px}

  /* Why */
  .whyGrid{grid-template-columns:1fr!important;margin-top:52px!important}
  .whyGrid article{min-height:auto!important;padding:34px 24px!important}
  .whyGrid h3{margin-top:28px;font-size:24px}.whyGrid p{font-size:13px!important}

  /* Footer / contact */
  .footer{grid-template-columns:1fr!important;gap:40px!important;padding:64px 24px!important;font-size:13px!important}
  .footer img{width:215px!important;margin-bottom:22px!important}

  /* Drawers */
  .drawer{width:100vw!important;padding:84px 24px 50px!important;border-left:0!important}
  .drawer h2{font-size:42px!important}.drawer .drawerLead{font-size:15px!important}

  /* Ascenty internal page */
  .ascentyDocTop{height:68px;padding:0 18px}.ascentyDocTop img{width:145px!important}.ascentyDocTop a{font-size:8px}
  .ascentyDocHero{min-height:auto!important;padding:118px 22px 72px!important;grid-template-columns:1fr!important;gap:48px!important}
  .ascentyDocHero h1{font-size:clamp(52px,14vw,72px)!important}.ascentyDocHero p{font-size:15px!important}.ascentyDocHero img{width:100%!important}
  .ascentyDocLayout{grid-template-columns:1fr!important;gap:36px!important;padding:50px 22px 90px!important}
  .ascentyDocNav{position:relative!important;top:auto!important;display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
  .ascentyDocNav::-webkit-scrollbar{display:none}
  .ascentyDocNav a{flex:0 0 auto;padding:10px 12px!important;border:1px solid rgba(104,157,184,.28)!important;border-radius:999px;white-space:nowrap;font-size:8px!important}
  .ascentyBlock{padding-bottom:56px!important}.ascentyBlock h2{font-size:clamp(38px,10vw,52px)!important}.ascentyBlock h3{font-size:21px}.ascentyBlock p{font-size:14px!important}
  .ascentyMetrics{grid-template-columns:1fr 1fr!important;gap:8px!important}.ascentyMetric{padding:18px!important}.ascentyMetric strong{font-size:22px!important}
  .ascentyTimeline article{grid-template-columns:64px 1fr!important;gap:14px!important}.ascentyTimeline article p{grid-column:2!important}
  .ascentyGrid3,.ascentyCampusGrid,.ascentyQuoteGrid{grid-template-columns:1fr!important}
  .ascentyInfoCard,.ascentyCampus,.ascentyQuoteCard{padding:22px!important}
  .ascentyVisual{margin-left:-6px;margin-right:-6px;padding:6px}
  .ascentyDocFooter{padding:40px 22px!important;display:block!important}.ascentyDocFooter img{width:160px!important;margin-bottom:18px}

  /* Legal pages */
  .legalTop{height:68px;padding:0 18px}.legalTop img{width:145px!important}.legalTop a{font-size:8px}
  .policy{padding:110px 22px 70px!important}.policyHead h1{font-size:clamp(46px,13vw,66px)!important}.policyLayout{grid-template-columns:1fr!important;gap:32px!important;margin-top:45px!important}.policyNav{position:relative!important;top:auto!important}.policyContent h2{font-size:28px!important}.policyContent p{font-size:14px}
}

@media (max-width:430px){
  .top{padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right))}
  .brand img{width:138px!important}
  .lang button{padding:7px 9px!important;min-width:32px}
  .sideNav{right:calc(14px + env(safe-area-inset-right))!important;bottom:calc(22px + env(safe-area-inset-bottom))!important}
  .sideNav a{font-size:8.2px!important;height:28px!important}
  .sideNav .label{font-size:8.2px!important;max-width:280px!important}
  .section{padding-left:18px!important;padding-right:18px!important}
  .timeline{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
  .mspTickerWrap{margin-left:-18px!important;margin-right:-18px!important}
  .mspOrbit{width:min(300px,79vw)!important}
  .orbitNode{min-width:82px!important;max-width:96px;font-size:6.2px!important}
  .orbitCore{width:148px!important;height:148px!important}
  .ascentyMetrics{grid-template-columns:1fr!important}
}


/* V5.23 — conteúdo MSP + credencial */
.microsoftPartner{
  display:inline-block;
  margin-left:14px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  color:#d8e8ef;
  font-size:7.5px;
  line-height:1;
  letter-spacing:.18em;
  vertical-align:middle;
  background:rgba(255,255,255,.035);
}
.orbitPromise{
  display:block;
  max-width:170px;
  margin:7px 0 0;
  color:#6da9c2;
  font-size:6.5px;
  line-height:1.45;
  letter-spacing:.13em;
}

@media(max-width:1000px){
}
@media(max-width:650px){
  .microsoftPartner{display:block;width:max-content;margin:12px 0 0}
  .orbitPromise{max-width:135px;font-size:5.7px}
}
