
:root{
  --bg:#071326;
  --bg2:#0c1f40;
  --panel:#0e2247cc;
  --panel-soft:#112956b3;
  --line:rgba(255,255,255,.10);
  --text:#eef5ff;
  --muted:#a8bad4;
  --blue:#2dd2ff;
  --blue2:#6ea8ff;
  --orange:#ff8b2b;
  --orange-soft:#ffb870;
  --violet:#9d7cff;
  --lime:#a7ff73;
  --pink:#ff7ad6;
  --shadow:0 28px 80px rgba(0,0,0,.34);
  --nav-h:78px;
  --radius:30px;
  --container:min(1180px, calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#061123,#091830);color:var(--text);line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
body.intro-locked{overflow:hidden}
.container{width:var(--container);margin:0 auto}
.kicker,.eyebrow,.news-label,.cap-no,.role,.tag,label{font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.kicker,.eyebrow,.news-label,.role,.tag,label{color:#92aacb}
.lead{color:#d1dff0;font-size:15px;line-height:1.7}
.maxw{max-width:66ch}
h1,h2,h3{margin:0;line-height:1.02;letter-spacing:-.045em}
h1{font-size:clamp(38px,6vw,88px)}
h2{font-size:clamp(28px,4vw,58px)}
h3{font-size:clamp(20px,2.2vw,30px)}
p{margin:0 0 15px}
.section{position:relative;padding:110px 0}
.premium-panel{
  position:relative; background:linear-gradient(180deg, rgba(12,31,65,.82), rgba(6,15,31,.93));
  border:1px solid var(--line); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow); overflow:hidden;
  backdrop-filter: blur(18px);
}
.premium-panel.soft{background:linear-gradient(180deg, rgba(17,41,86,.72), rgba(6,15,31,.9))}
.premium-panel::before{
  content:""; position:absolute; inset:auto -80px -80px auto; width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,139,43,.16), rgba(255,139,43,0) 68%);
  pointer-events:none;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px;
  padding:13px 20px; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.14); transition:.28s ease; cursor:pointer
}
.btn:hover{transform:translateY(-2px)}
.btn-secondary{background:rgba(18,44,86,.78); color:#f7fbff; border-color:rgba(140,198,255,.28); box-shadow:0 10px 26px rgba(4,12,30,.22)}
.btn-accent{
  background:linear-gradient(135deg, rgba(255,139,43,.98), rgba(255,186,116,.98));
  color:#091322; border-color:rgba(255,214,173,.82); box-shadow:0 12px 34px rgba(255,139,43,.34); font-weight:700;
}
.btn-small{padding:10px 16px;font-size:10px;letter-spacing:.24em}
.btn-burst{position:relative;overflow:hidden}
.btn-burst::before{
  content:"";position:absolute;inset:-30%;background:radial-gradient(circle, rgba(255,210,125,.55), rgba(255,139,43,0) 52%);
  transform:scale(.55);animation:burstPulse 2.4s ease-in-out infinite;pointer-events:none;
}
@keyframes burstPulse{0%,100%{opacity:.55;transform:scale(.55)}50%{opacity:1;transform:scale(1.05)}}

.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h);
  background:linear-gradient(180deg, rgba(7,18,38,.88), rgba(7,18,38,.56));
  border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(22px)
}
.nav-inner{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:7px;min-width:0}
.brand img{width:36px;height:36px;object-fit:contain;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transform:translateZ(0);backface-visibility:hidden;filter:drop-shadow(0 3px 10px rgba(49,195,255,.16)) saturate(1.04) contrast(1.08) brightness(1.02)}
.brand-word{display:flex;flex-direction:column;line-height:1}
.brand-word strong{font-size:26px;letter-spacing:-.065em;font-weight:700;background:linear-gradient(180deg,#f8fbff 0%,#d6e7fb 68%,#b7d2f3 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-word span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#9ab2d3;padding-top:3px}
.menu{display:flex;justify-content:center;gap:8px;align-items:center}
.menu > a, .menu > .dropdown > button{
  color:#cfe0f5;background:transparent;border:0;padding:11px 12px;border-radius:999px;
  font:inherit;font-size:12px;letter-spacing:.08em;cursor:pointer;position:relative;transition:.25s ease;
}
.menu > a:hover, .menu > .dropdown > button:hover{background:rgba(255,255,255,.05);color:#fff}
.menu [data-menu-item].flash{
  color:#ffffff;
  background:linear-gradient(135deg, rgba(88,115,156,.42), rgba(88,168,255,.44), rgba(164,139,255,.34), rgba(255,164,92,.28));
  background-size:240% 240%;
  box-shadow:0 0 0 1px rgba(213,231,255,.28), 0 0 30px rgba(122,186,255,.28);
  animation:menuRainbowPulse 1.8s linear infinite;
}
@keyframes menuRainbowPulse{
  0%{background-position:0% 50%;filter:brightness(1);transform:translateY(0)}
  50%{background-position:100% 50%;filter:brightness(1.18);transform:translateY(-1px)}
  100%{background-position:0% 50%;filter:brightness(1);transform:translateY(0)}
}
.dropdown{position:relative}
.menu > .dropdown > button{padding-right:34px;display:inline-flex;align-items:center;gap:8px}
.menu-caret{display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:#9ec6ff;transform:translateY(-1px);transition:transform .25s ease,color .25s ease}
.dropdown.open > button .menu-caret{transform:translateY(-1px) rotate(180deg);color:#dff0ff}
.dropdown-menu{
  position:absolute;top:calc(100% + 12px);right:0;min-width:250px;border-radius:22px;padding:10px;
  background:rgba(7,18,38,.96);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);
  display:none;backdrop-filter:blur(24px)
}
.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a{
  display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;
  font-size:12px;color:#dce8f8
}
.dropdown-menu a:hover{background:rgba(255,255,255,.06)}
.nav-right{display:flex;justify-content:flex-end}
.socials{display:flex;align-items:center;gap:9px}
.icon-btn{
  width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#f3f7ff;
  position:relative;transition:.25s ease;overflow:hidden;isolation:isolate
}
.icon-btn::before{
  content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0));opacity:.34;pointer-events:none
}
.icon-btn:hover{transform:none;border-color:rgba(255,255,255,.18)}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.icon-btn svg .fill,.icon-btn .fill{fill:currentColor;stroke:none}
.icon-btn.email-btn,
.icon-btn.fb-btn,
.icon-btn.linkedin-btn{color:#59b7ff}
.icon-btn.whatsapp-btn{color:#59b7ff}
.icon-btn.whatsapp-btn svg{fill:currentColor;stroke:none}
.drop-caret{
  position:absolute;right:-1px;bottom:-2px;width:15px;height:15px;border-radius:999px;
  background:rgba(255,139,43,.95);color:#11192b;display:flex;align-items:center;justify-content:center;
  border:2px solid rgba(7,18,38,.95)
}
.drop-caret svg{width:7px;height:7px}

.hero{
  min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate;
  background:linear-gradient(138deg,#0f2854 0%, #0a1f47 24%, #08183a 47%, #06122e 70%, #040c20 100%);
}
.hero-base{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 85% 16%, rgba(255,173,86,.18), rgba(255,173,86,0) 15%),
    radial-gradient(circle at 72% 54%, rgba(118,186,255,.16), rgba(118,186,255,0) 18%),
    linear-gradient(160deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.015) 24%, rgba(255,255,255,0) 25%),
    linear-gradient(135deg, #12325f 0%, #0f2953 20%, #0a2145 44%, #071738 68%, #040f26 100%);
}
.hero-base::before{
  content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 82% 50%, rgba(255,168,92,.11), rgba(255,168,92,0) 18%),
    linear-gradient(124deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 32%),
    linear-gradient(90deg, rgba(7,21,52,.0), rgba(7,21,52,.05) 35%, rgba(7,21,52,.15) 100%);
}
.hero-orbit{
  position:absolute;right:-180px;top:-110px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,149,56,.18), rgba(255,149,56,0) 58%);
  filter:blur(10px)
}
.hero-orbit::after{
  content:"";position:absolute;inset:48px;border-radius:50%;border:1px solid rgba(255,173,99,.36)
}
.hero-spark{
  position:absolute;right:6%;top:calc(var(--nav-h) + 16px);width:14px;height:14px;border-radius:50%;z-index:6;
  background:radial-gradient(circle, #ffca79 0%, #ffab47 52%, rgba(255,171,71,0) 74%);
  box-shadow:0 0 22px rgba(255,171,71,.55);
}
.hero-inner{position:relative;z-index:3;width:100%;min-height:100svh;padding-top:calc(var(--nav-h) + 12px);padding-bottom:150px;display:flex;align-items:center}
.hero-copy{max-width:700px;padding-top:0;margin-top:2vh}
.hero-title-shell{max-width:640px}
.hero-title .typed{
  min-height:3.7em; font-size:clamp(16px,2vw,22px); font-weight:400; letter-spacing:-.01em; line-height:1.08;
  color:#eef5ff; text-shadow:0 0 0 rgba(46,208,255,0); white-space:pre-line
}
.hero-title .typed .hero-line:first-child{white-space:nowrap;font-size:.72em;color:#d7e6f7;letter-spacing:.015em;font-weight:400}
.hero-title .typed .hero-line{display:block}
.hero-title .typed .hero-line.hero-sub{font-size:1em; line-height:1.16; color:#f3f8ff; margin-top:.42em; letter-spacing:-.01em; font-weight:700; max-width:24ch}
.hero-title .typed.done{text-shadow:0 0 22px rgba(46,208,255,.12)}
.hero-title .typed .hero-line.hero-meta{font-size:.64em;line-height:1.15;color:#b8cce4;margin-top:.58em;letter-spacing:.02em;font-weight:500;white-space:nowrap}
.menu > a.active, .menu > .dropdown > button.active{color:#fff;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(147,198,255,.24), 0 10px 20px rgba(3,10,24,.22)}
.cursor{display:inline-block;width:1.5px;height:.92em;background:#9edcff;margin-left:4px;animation:blink .9s steps(1) infinite;vertical-align:-0.08em}
@keyframes blink{50%{opacity:0}}
.start-wrap{padding-top:20px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.4s ease}
.start-wrap.show{opacity:1;transform:none;pointer-events:auto}
.intro-logo{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4;pointer-events:none;opacity:0;
}
.intro-eclipse{
  position:relative;width:min(24vw, 230px);aspect-ratio:1/1;border-radius:50%;
  transform-origin:center center;will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0);
  filter:drop-shadow(0 0 28px rgba(255,155,74,.12));
}
.eclipse-core,
.eclipse-glow,
.eclipse-halo{position:absolute;inset:0;border-radius:50%}
.eclipse-core{
  inset:15%;
  background:radial-gradient(circle at 38% 38%, #10284f 0%, #08172f 34%, #050c18 66%, #02060d 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.04), inset -18px -18px 30px rgba(0,0,0,.45), inset 12px 12px 18px rgba(255,255,255,.04);
}
.eclipse-glow{
  inset:7%;
  background:radial-gradient(circle, rgba(255,173,92,0) 52%, rgba(255,173,92,.52) 67%, rgba(255,212,138,.95) 72%, rgba(255,173,92,.34) 79%, rgba(255,173,92,0) 88%);
  filter:blur(1px) saturate(1.05);
  opacity:.95;
}
.eclipse-halo.halo-outer{
  inset:-16%;
  border:1px solid rgba(255,205,127,.22);
  box-shadow:0 0 80px rgba(255,165,82,.18), inset 0 0 40px rgba(255,205,127,.08);
}
.eclipse-halo.halo-mid{
  inset:-6%;
  border:1px solid rgba(113,193,255,.16);
  box-shadow:0 0 24px rgba(113,193,255,.12);
}
.intro-logo.run{opacity:1}
.intro-logo.run .intro-eclipse{animation:introEclipseSequence 5.2s cubic-bezier(.22,.7,.2,1) forwards}
@keyframes introEclipseSequence{
  0%{opacity:0;transform:translateZ(0) scale(.54)}
  14%{opacity:1;transform:translateZ(0) scale(.96)}
  34%{opacity:1;transform:translateZ(0) scale(1.06)}
  52%{opacity:1;transform:translateZ(0) scale(1.12)}
  70%{opacity:.98;transform:translateZ(0) scale(1.08)}
  84%{opacity:.92;transform:translateZ(0) scale(.94)}
  100%{opacity:0;transform:translateZ(0) scale(.76)}
}
.ribbon-wrap{position:absolute;left:0;right:0;bottom:86px;z-index:5;opacity:0;transform:translateY(18px);transition:.55s ease}
.ribbon-wrap.show{opacity:1;transform:none}
.ribbon-wrap::before,.ribbon-wrap::after{content:"";position:absolute;top:0;bottom:0;width:8vw;z-index:2;pointer-events:none}
.ribbon-wrap::before{left:0;background:linear-gradient(90deg, #081a40, rgba(8,26,64,0))}
.ribbon-wrap::after{right:0;background:linear-gradient(270deg, #081a40, rgba(8,26,64,0))}
.ribbon-track{
  display:flex;gap:14px;width:max-content;animation:reel 42s linear infinite;padding:0 14px
}
@keyframes reel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.service-pill{
  display:inline-flex;align-items:center;gap:12px;padding:14px 18px;border-radius:999px;
  background:rgba(9,22,48,.72);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);white-space:nowrap
}
.service-pill strong{font-size:11px;letter-spacing:.01em;text-transform:none;color:#f4f8ff;font-weight:500}
.service-pill a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:14px;line-height:1;color:#eef5ff;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);padding:0;min-width:30px;transition:.28s ease}.service-pill a:hover{transform:translateX(2px);background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24)}
.dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#ffd27d,#ff9e38);box-shadow:0 0 16px rgba(255,171,71,.40)}

.section-skyline,.section-capabilities{position:relative;overflow:hidden}
.section-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.section-bg img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block;transform:scale(1.02);filter:saturate(1.03) contrast(1.08) brightness(.8)}
.skyline-bg{background-image:url('images/skyline.jpg');background-position:center center}
.skyline-bg::before{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(7,18,38,.72), rgba(7,18,38,.58) 24%, rgba(7,18,38,.22) 58%, rgba(7,18,38,.04) 100%);z-index:1;
}
.skyline-bg::after{
  content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,0) 38%), radial-gradient(circle at 82% 54%, rgba(255,139,43,.15), rgba(255,139,43,0) 18%);z-index:2;
}
.skyline-faint{opacity:.72}

.premium-table{position:relative;z-index:2;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(9,24,52,.66), rgba(7,18,38,.8));box-shadow:var(--shadow);backdrop-filter:blur(12px);width:min(74%, 860px);margin-left:0;margin-right:auto}
.overview-headings{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));border-bottom:1px solid rgba(255,255,255,.08)}
.overview-tab{appearance:none;border:0;background:transparent;color:#dfeafb;padding:26px 28px;text-align:left;cursor:pointer;transition:.28s ease;position:relative}
.overview-tab + .overview-tab{border-left:1px solid rgba(255,255,255,.08)}
.overview-tab .kicker{display:block;margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9fbbe0}
.overview-tab strong{display:block;font-size:20px;line-height:1.15;font-weight:600;max-width:15ch}
.overview-tab:hover{background:rgba(255,255,255,.04)}
.overview-tab.active{background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));color:#ffffff}
.overview-tab.active::after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg, rgba(255,171,71,.95), rgba(96,196,255,.88))}
.overview-body{min-height:220px;padding:28px 28px 30px;position:relative}
.overview-panel{display:none;max-width:64ch;animation:overviewFade .35s ease}
.overview-panel.active{display:block}
.overview-panel h2{font-size:28px;line-height:1.1;margin:0 0 14px;max-width:15ch}
.overview-panel p{font-size:14px;color:#d8e4f3;max-width:48ch}
@keyframes overviewFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.capabilities-bg{background-image:url('images/capabilities-bg.png');opacity:.60}
.capabilities-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(7,18,38,.86), rgba(7,18,38,.90))}
.dual-grid,.about-grid,.footprint-grid,.contact-grid,.service-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.section-head{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:end;margin-bottom:26px}
.section-head h2{max-width:14ch}
.lead{max-width:55ch}
.cap-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.cap-card{
  grid-column:span 4; min-height:250px; border-radius:28px; padding:24px; display:flex; flex-direction:column; justify-content:space-between;
  background:linear-gradient(180deg, rgba(12,31,65,.76), rgba(7,18,38,.94)); border:1px solid var(--line); box-shadow:var(--shadow); position:relative; overflow:hidden
}
.cap-card.wide{grid-column:span 6}
.cap-card::before{
  content:"";position:absolute;inset:auto -65px -65px auto;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,139,43,.16), rgba(255,139,43,0) 66%);
}
.cap-card:nth-child(2)::before{background:radial-gradient(circle, rgba(46,208,255,.16), rgba(46,208,255,0) 66%)}
.cap-card:nth-child(3)::before{background:radial-gradient(circle, rgba(157,124,255,.16), rgba(157,124,255,0) 66%)}
.cap-card:nth-child(4)::before{background:radial-gradient(circle, rgba(167,255,115,.14), rgba(167,255,115,0) 66%)}
.cap-card:nth-child(5)::before{background:radial-gradient(circle, rgba(255,122,214,.14), rgba(255,122,214,0) 66%)}
.cap-card h3{font-size:25px;max-width:12ch;margin:12px 0 12px}
.cap-card p{font-size:14px;color:#d2deee;max-width:31ch;margin:0 0 20px}
.about-points{display:grid;gap:12px;margin-top:26px}
.about-points div{padding:15px 17px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.about-points strong{display:block;font-size:14px;color:#fff}
.about-points span{font-size:13px;color:#bacbe2}
.infographic-panel img{width:100%;border-radius:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08)}

.footprint-list{display:grid;gap:12px;margin-top:22px}
.footprint-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 15px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.footprint-row strong{font-size:14px}
.footprint-row small{font-size:12px;color:#96abca}
.swatch{width:12px;height:12px;border-radius:50%;display:inline-block}
.uk{background:#ffbd6d;box-shadow:0 0 0 6px rgba(255,189,109,.12)}
.sa{background:#3ad3ff;box-shadow:0 0 0 6px rgba(58,211,255,.12)}
.zw{background:#ff77c5;box-shadow:0 0 0 6px rgba(255,119,197,.12)}
.zm{background:#b2ff6f;box-shadow:0 0 0 6px rgba(178,255,111,.12)}
.ke{background:#c08dff;box-shadow:0 0 0 6px rgba(192,141,255,.12)}
.map-panel{padding:22px;border-radius:32px;background:linear-gradient(180deg, rgba(12,31,65,.76), rgba(7,18,38,.96));border:1px solid var(--line);box-shadow:var(--shadow)}
.map-wrap{position:relative;border-radius:22px;overflow:hidden;background:#07162c;min-height:580px}
.map-wrap img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.map-pin{
  position:absolute;padding:10px 14px;border-radius:999px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  background:rgba(5,13,27,.78);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);white-space:nowrap
}
.map-pin::before{
  content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle;box-shadow:0 0 18px currentColor
}
.pin-uk{left:51%;top:23%;color:#ffbd6d}.pin-sa{left:56%;top:63%;color:#3ad3ff}.pin-zw{left:60%;top:56%;color:#ff77c5}.pin-zm{left:58%;top:53%;color:#b2ff6f}.pin-ke{left:60%;top:47%;color:#c08dff}

.contact-meta{display:grid;gap:13px;margin-top:24px}
.contact-meta div{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.contact-meta span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#98b0d0;margin-bottom:4px}
.contact-meta strong{font-size:15px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:grid;gap:8px}
.field-full{grid-column:1/-1}
.field input,.field textarea{
  border-radius:18px;border:1px solid rgba(255,255,255,.10);padding:14px 15px;background:rgba(255,255,255,.04);color:#eef5ff;outline:none
}
.field input:focus,.field textarea:focus{border-color:rgba(255,139,43,.4);box-shadow:0 0 0 4px rgba(255,139,43,.10)}
.field textarea{min-height:140px;resize:vertical}
.form-actions{display:flex;align-items:center;gap:16px;padding-top:18px}
.form-note{font-size:13px;color:#ffcf9f}

.subpage-main{padding-top:var(--nav-h)}
.subpage-hero{
  padding:88px 0 56px;background:
    radial-gradient(circle at 86% 16%, rgba(255,139,43,.12), rgba(255,139,43,0) 18%),
    linear-gradient(135deg, #102650 0%, #0a1d45 32%, #081a40 60%, #06183a 100%);
  position:relative;overflow:hidden
}
.subpage-hero::after{
  content:"";position:absolute;right:-120px;top:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,139,43,.12), rgba(255,139,43,0) 60%);
}
.service-hero h1{max-width:13ch}
.team-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-card{padding:18px;border-radius:26px;background:linear-gradient(180deg, rgba(12,31,65,.76), rgba(7,18,38,.96));border:1px solid var(--line);box-shadow:var(--shadow)}
.team-photo{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02))}
.team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}
.team-photo.placeholder{display:flex;align-items:center;justify-content:center}
.placeholder-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#93a9c6;font-size:34px;font-weight:700;letter-spacing:-.06em;background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.09), rgba(255,255,255,.02) 50%)}
.team-card h3{margin:16px 0 6px}
.team-card p{margin:0;color:#bdd0e6}
.remote-strip{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;margin-top:26px}
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.staff-box{padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.staff-box strong{display:block;font-size:34px;letter-spacing:-.05em}
.staff-box span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9ab0cd;margin:5px 0}
.staff-box small{font-size:13px;color:#cad7e8}

.news-shell{display:grid;gap:18px}
.news-card{padding:28px;border-radius:30px;background:linear-gradient(180deg, rgba(12,31,65,.76), rgba(7,18,38,.96));border:1px solid var(--line);box-shadow:var(--shadow)}
.news-card h3{margin:10px 0 10px;font-size:34px}
.news-card .news-sub{font-size:15px;color:#ffd9aa;margin-bottom:14px}
.news-card .news-tease{color:#d0deef}
.news-card details{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.news-card summary{cursor:pointer;list-style:none;font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:#fff1cf}
.news-card summary::-webkit-details-marker{display:none}
.news-body{padding-top:14px}
.news-body p{color:#c8d6e8}
.insight-card{padding:20px;border-radius:24px;background:linear-gradient(180deg, rgba(12,31,65,.70), rgba(7,18,38,.95));border:1px solid var(--line)}
.insight-card h3{font-size:24px;margin:10px 0}
.insight-card p{color:#cad8ea;font-size:14px}
.text-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffb875}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.price-card{padding:28px;border-radius:28px;background:linear-gradient(180deg, rgba(12,31,65,.76), rgba(7,18,38,.96));border:1px solid var(--line);box-shadow:var(--shadow)}
.price-card h3{font-size:30px;margin:16px 0 12px}
.price-card p{color:#d3e0f1}
.price-card ul{margin:0;padding-left:18px;color:#cad7e8}
.price-card li{margin-bottom:8px}
.price-note{padding-top:12px;font-size:13px;color:#ffcf9f}

.service-grid{grid-template-columns:1.15fr .85fr}
.service-list{margin:0;padding-left:18px;color:#cad7e8}
.service-list li{margin-bottom:10px}
.service-side .btn{margin-top:20px}

.footer{padding:26px 0 34px;color:#97aecf;font-size:12px;border-top:1px solid rgba(255,255,255,.06)}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media (max-width:1150px){
  .dual-grid,.about-grid,.footprint-grid,.contact-grid,.service-grid,.section-head,.remote-strip{grid-template-columns:1fr}
  .cap-card,.cap-card.wide{grid-column:span 6}
}
@media (max-width:860px){
  :root{--container:min(100vw - 24px, 1000px);--nav-h:102px}
  .nav-inner{grid-template-columns:auto 1fr;grid-template-areas:'brand right' 'menu menu';align-items:start;padding-top:12px}
  .brand{grid-area:brand}
  .nav-right{grid-area:right}
  .menu{grid-area:menu;justify-content:flex-start;overflow:auto;white-space:nowrap;padding-bottom:8px}
  .brand-word strong{font-size:21px;letter-spacing:-.06em}
  .brand-word span{font-size:9px;letter-spacing:.14em}
  .intro-word strong{font-size:44px}
  .hero-inner{min-height:100svh;padding-top:calc(var(--nav-h) + 10px);padding-bottom:136px;align-items:center}
  .hero-copy{padding-top:0;margin-top:4vh;max-width:560px}
  .hero-title-shell{max-width:420px}
  .hero-title .typed{font-size:clamp(16px,3.3vw,21px)}
  .ribbon-wrap{bottom:68px}
  .ribbon-wrap::before,.ribbon-wrap::after{width:18px}
  .ribbon-track{gap:10px}
  .service-pill{padding:10px 12px;gap:9px}
  .service-pill strong{font-size:9.5px;letter-spacing:.01em;text-transform:none}
  .service-pill a{width:26px;height:26px;font-size:12px;min-width:26px}
  .dot{width:7px;height:7px}
  .cap-card,.cap-card.wide{grid-column:span 12}
  .form-grid,.team-matrix,.pricing-grid,.staff-grid{grid-template-columns:1fr}
  .map-wrap{min-height:440px}
}

@media (max-width:560px){
  .nav{overflow:visible}
  .nav-inner{gap:10px;padding-top:8px}
  .menu{gap:5px;padding-bottom:4px}
  .menu > a, .menu > .dropdown > button{padding:8px 9px;font-size:10px;letter-spacing:.06em}
  .brand img{width:29px;height:29px}
  .brand-word strong{font-size:18px;letter-spacing:-.06em}
  .brand-word span{display:none}
  .socials{gap:6px}
  .icon-btn{width:34px;height:34px}
  .icon-btn svg{width:16px;height:16px}
  .drop-caret{width:13px;height:13px}
  .hero{min-height:100svh}
  .hero-copy{max-width:100%;padding-top:0;margin-top:1vh}
  .hero-title-shell{max-width:88vw}
  .eyebrow{font-size:10px;letter-spacing:.20em;margin-bottom:10px}
  .hero-inner{min-height:100svh;padding-top:calc(var(--nav-h) + 6px);padding-bottom:120px;align-items:center}
  .hero-title .typed{font-size:clamp(14px,4.1vw,18px);max-width:100%;line-height:1.08}
  .start-wrap{padding-top:12px}
  .ribbon-wrap{bottom:62px}
  .ribbon-track{padding:0 8px;gap:8px}
  .service-pill{padding:8px 9px;border-radius:20px;gap:8px}
  .service-pill strong{font-size:8.5px;max-width:15ch;white-space:normal;line-height:1.08}
  .service-pill a{width:24px;height:24px;font-size:11px;min-width:24px}
  .dot{width:6px;height:6px}
  .hero-spark{top:calc(var(--nav-h) + 10px);right:4%}
}

.start-scroll-btn{padding:7px 12px;font-size:9px;letter-spacing:.18em;background:rgba(13,31,61,.72);color:#f4f8ff;border:1px solid rgba(173,208,255,.18);box-shadow:none;min-height:auto}
.start-scroll-btn::before{display:none}
.start-scroll-btn:hover{transform:none}

@media (max-width:560px){.start-scroll-btn{padding:6px 10px;font-size:8px}.hero-title-shell{max-width:92vw}.hero-spark{top:calc(var(--nav-h) + 10px);right:4%}.ribbon-track{gap:8px}.service-pill{padding:8px 9px}.service-pill strong{max-width:15ch}.hero-title .typed .hero-line.hero-meta{font-size:.6em;white-space:normal}}

@media (max-width: 768px){
  .ribbon-wrap{bottom:74px}
  .service-pill{padding:12px 14px;gap:10px}
  .service-pill strong{font-size:10.5px;letter-spacing:.01em;text-transform:none}
  .premium-panel h2{font-size:28px}
  .overview-headings{grid-template-columns:1fr}
  .overview-tab + .overview-tab{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .overview-tab strong{font-size:20px}
  .overview-body{padding:24px 20px 26px;min-height:210px}
  .overview-panel h2{font-size:28px}
}

@media (max-width: 900px){.section-bg{background-attachment:scroll}.section-bg img{transform:none;filter:saturate(1.02) contrast(1.04) brightness(.72)}}


.menu > .dropdown.open > button .menu-caret{transform:translateY(-1px) rotate(180deg)}
.menu-caret{display:inline-flex;transition:transform .22s ease}
.overview.section-skyline .container{display:flex;justify-content:flex-start}
@media (max-width: 900px){
  .premium-table{width:100%}
  .section-bg img{object-position:center center;filter:saturate(1.02) contrast(1.04) brightness(.76)}
}
@media (max-width:560px){
  .hero-title .typed .hero-line:first-child{font-size:.68em}
}

@media (max-width: 640px){.intro-eclipse{width:min(38vw, 170px)}}

.welcome-line{opacity:0;transform:translateY(8px);margin:.9rem 0 0 auto;max-width:max-content;font-size:12px;letter-spacing:.02em;font-weight:400;color:#dce7f6;text-align:right;transition:opacity .55s ease, transform .55s ease}
.welcome-line.show{opacity:1;transform:none}
.hero-title .typed .hero-line:first-child{font-size:.64em;color:#d7e6f7;letter-spacing:.01em;font-weight:400;text-transform:none;white-space:nowrap}
.hero-title .typed .hero-line.hero-sub{font-size:1.02em; line-height:1.16; color:#f3f8ff; margin-top:.42em; letter-spacing:-.01em; font-weight:700; max-width:26ch}
.intro-logo{position:absolute;inset:0;display:grid;place-items:center;z-index:4;pointer-events:none;opacity:0}
.intro-eclipse{position:relative;width:min(80vw,80vh);aspect-ratio:1/1;border-radius:50%;transform:scale(.2);will-change:transform,opacity;filter:none}
.eclipse-core{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 42% 38%, #0e0f12 0%, #020304 55%, #000 100%);box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 0 20px rgba(0,0,0,.45)}
.eclipse-halo{position:absolute;inset:0;border-radius:50%}
.halo-outer{background:radial-gradient(circle, rgba(255,255,255,0) 53%, rgba(255,255,255,.08) 57%, rgba(255,255,255,.44) 61%, rgba(255,255,255,.94) 64%, rgba(255,255,255,.30) 70%, rgba(255,255,255,0) 78%);filter:blur(.5px)}
.halo-mid{inset:4%;background:radial-gradient(circle, rgba(255,255,255,0) 58%, rgba(255,255,255,.18) 61%, rgba(255,255,255,.92) 64%, rgba(255,255,255,.24) 69%, rgba(255,255,255,0) 75%)}
.eclipse-glow{position:absolute;inset:-5%;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 44%, rgba(255,255,255,0) 72%)}
.intro-logo.run{opacity:1}
.intro-logo.run .intro-eclipse{animation:introEclipseSequence 4.9s cubic-bezier(.22,.7,.2,1) forwards}
@keyframes introEclipseSequence{0%{transform:scale(.16);opacity:0}12%{transform:scale(.42);opacity:1}38%{transform:scale(.78);opacity:1}62%{transform:scale(.98);opacity:1}78%{transform:scale(.90);opacity:1}100%{transform:scale(.86);opacity:0}}
.ribbon-wrap{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease;transition-delay:.15s}
.ribbon-wrap.show{opacity:1;transform:none}
.premium-table{background:linear-gradient(180deg, rgba(9,24,52,.34), rgba(7,18,38,.48));backdrop-filter:blur(8px)}
.overview-tab{background:rgba(255,255,255,.04)}
.overview-tab.active{background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05))}
.overview-body{background:rgba(6,15,32,.18)}
.section-bg img{object-position:center center;filter:saturate(1.05) contrast(1.08) brightness(.82)}
.skyline-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(7,18,38,.48), rgba(7,18,38,.26) 26%, rgba(7,18,38,.08) 58%, rgba(7,18,38,.02) 100%);z-index:1}
@media (max-width: 640px){.welcome-line{font-size:10px;margin-top:.7rem}.intro-eclipse{width:min(86vw,72vh)}.dropdown-menu{min-width:270px}}


/* v13 refinements */
.hero{overflow:hidden}
.hero-spark{opacity:0;transform:scale(.2);transition:opacity .45s ease, transform .45s ease;}
.hero.hero-ready .hero-spark{opacity:1;transform:scale(1)}
.welcome-line{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  margin:0;max-width:none;width:max-content;font-size:18px;letter-spacing:.01em;
  color:#dce7f6;text-align:center;opacity:0;transition:opacity .55s ease, transform .55s ease;
}
.welcome-line.show{opacity:1;transform:translate(-50%,-50%)}
.welcome-line.fade-out{opacity:0;transform:translate(-50%,-56%)}
.welcome-line .word{display:inline-block;animation:welcomePalette 1.8s ease-in-out infinite;}
.welcome-line .word + .word{margin-left:.32em}
.welcome-line .w1{animation-delay:0s}.welcome-line .w2{animation-delay:.14s}.welcome-line .w3{animation-delay:.28s}.welcome-line .w4{animation-delay:.42s}.welcome-line .w5{animation-delay:.56s}
@keyframes welcomePalette{
  0%,100%{color:#dce7f6;text-shadow:0 0 0 rgba(0,0,0,0)}
  25%{color:#bed6f6}
  50%{color:#a7c9f5;text-shadow:0 0 18px rgba(111,193,255,.12)}
  75%{color:#7fb4ea}
}
.hero-title .typed .hero-line:first-child{font-size:.58em;letter-spacing:.005em;font-weight:400}
.intro-eclipse{width:min(80vw,80vh);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transform:translate3d(0,0,0) scale(.18)}
.eclipse-core{inset:12%;background:radial-gradient(circle at 42% 38%, #121317 0%, #06070a 54%, #000 100%);}
.halo-outer{background:radial-gradient(circle, rgba(255,255,255,0) 53%, rgba(255,255,255,.10) 57%, rgba(255,255,255,.54) 61%, rgba(255,255,255,.98) 64%, rgba(255,255,255,.38) 69%, rgba(255,255,255,0) 77%);filter:none}
.halo-mid{inset:4%;background:radial-gradient(circle, rgba(255,255,255,0) 58%, rgba(255,255,255,.22) 61%, rgba(255,255,255,.98) 64%, rgba(255,255,255,.28) 68%, rgba(255,255,255,0) 74%)}
.intro-logo.run .intro-eclipse{animation:introEclipseSequenceV13 5.2s cubic-bezier(.22,.7,.2,1) forwards}
@keyframes introEclipseSequenceV13{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.16)}
  12%{opacity:1;transform:translate3d(0,0,0) scale(.52)}
  34%{opacity:1;transform:translate3d(0,0,0) scale(.8)}
  56%{opacity:1;transform:translate3d(0,0,0) scale(.98)}
  72%{opacity:1;transform:translate3d(0,0,0) scale(.92)}
  86%{opacity:1;transform:translate3d(26vw,-35vh,0) scale(.18)}
  100%{opacity:0;transform:translate3d(31vw,-40vh,0) scale(.06)}
}
.menu, .menu .dropdown{position:relative;z-index:65}
.dropdown-menu{z-index:90}
.overview-bg img{object-position:center center;filter:saturate(1.04) contrast(1.05) brightness(.74)}
.overview.section-skyline .container{display:flex;justify-content:flex-start}
.premium-table{width:min(58%, 720px);background:linear-gradient(180deg, rgba(9,24,52,.18), rgba(7,18,38,.30));backdrop-filter:blur(5px)}
.overview-tab{padding:22px 22px;background:rgba(255,255,255,.02)}
.overview-body{background:rgba(6,15,32,.10)}
.overview-panel h2{font-size:28px}
.overview-panel p{font-size:14px;max-width:52ch}
.cap-card{background:rgba(9,22,48,.26)!important;border-color:rgba(255,255,255,.12)!important;backdrop-filter:blur(6px)}
.section-capabilities .lead{max-width:58ch}
@media (max-width:900px){
  .welcome-line{font-size:15px;max-width:88vw;white-space:normal}
  @keyframes introEclipseSequenceV13{
    0%{opacity:0;transform:translate3d(0,0,0) scale(.16)}
    12%{opacity:1;transform:translate3d(0,0,0) scale(.52)}
    34%{opacity:1;transform:translate3d(0,0,0) scale(.8)}
    56%{opacity:1;transform:translate3d(0,0,0) scale(.98)}
    72%{opacity:1;transform:translate3d(0,0,0) scale(.92)}
    86%{opacity:1;transform:translate3d(30vw,-39vh,0) scale(.16)}
    100%{opacity:0;transform:translate3d(35vw,-45vh,0) scale(.05)}
  }
  .premium-table{width:min(74%,560px)}
}
@media (max-width:640px){
  .welcome-line{font-size:13px}
  .premium-table{width:78%}
  .overview-panel h2{font-size:22px}
  .overview-panel p{font-size:13px}
}


/* v14 eclipse + welcome timing refinements */
.eclipse-glow, .halo-mid{display:none !important}
.intro-eclipse{filter:drop-shadow(0 0 18px rgba(255,255,255,.08));}
.halo-outer{
  inset:-10% !important;
  border:none !important;
  background:radial-gradient(circle,
    rgba(255,255,255,0) 56%,
    rgba(255,255,255,.18) 60%,
    rgba(255,255,255,.92) 63%,
    rgba(255,255,255,.22) 68%,
    rgba(255,255,255,0) 74%) !important;
  box-shadow:none !important;
}
.hero-spark{right:6%;top:calc(var(--nav-h) + 16px)}
.intro-logo.run .intro-eclipse{animation:introEclipseSequenceV14 5.6s cubic-bezier(.2,.72,.18,1) forwards !important}
@keyframes introEclipseSequenceV14{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.16)}
  12%{opacity:1;transform:translate3d(0,0,0) scale(.48)}
  36%{opacity:1;transform:translate3d(0,0,0) scale(.82)}
  58%{opacity:1;transform:translate3d(0,0,0) scale(.96)}
  78%{opacity:1;transform:translate3d(0,0,0) scale(.88)}
  92%{opacity:1;transform:translate3d(calc(44vw - 7px), calc(-50vh + var(--nav-h) + 23px), 0) scale(.085)}
  100%{opacity:0;transform:translate3d(calc(44vw - 7px), calc(-50vh + var(--nav-h) + 23px), 0) scale(.03)}
}
@media (max-width:900px){
  @keyframes introEclipseSequenceV14{
    0%{opacity:0;transform:translate3d(0,0,0) scale(.16)}
    12%{opacity:1;transform:translate3d(0,0,0) scale(.48)}
    36%{opacity:1;transform:translate3d(0,0,0) scale(.82)}
    58%{opacity:1;transform:translate3d(0,0,0) scale(.96)}
    78%{opacity:1;transform:translate3d(0,0,0) scale(.88)}
    92%{opacity:1;transform:translate3d(calc(43vw - 7px), calc(-50vh + var(--nav-h) + 20px), 0) scale(.08)}
    100%{opacity:0;transform:translate3d(calc(43vw - 7px), calc(-50vh + var(--nav-h) + 20px), 0) scale(.03)}
  }
}
.welcome-line{font-size:20px !important}
@media (max-width:900px){.welcome-line{font-size:16px !important}}
@media (max-width:640px){.welcome-line{font-size:14px !important}}


/* v15 layout/background fixes */
.section-about{position:relative;overflow:hidden}
.shared-skyline .section-bg img{
  object-position:center center;
  filter:saturate(1.02) contrast(1.06) brightness(.78);
}
.overview.section-skyline,
.section-about.section-skyline{
  background:transparent;
}
.overview.section-skyline .container,
.section-about.section-skyline .container,
.section-capabilities .container{
  position:relative;
  z-index:2;
}
.section-about::after,
.overview.section-skyline::after,
.section-capabilities::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.section-about::after,
.overview.section-skyline::after{
  background:linear-gradient(90deg, rgba(7,18,38,.74) 0%, rgba(7,18,38,.60) 26%, rgba(7,18,38,.28) 58%, rgba(7,18,38,.08) 100%);
  z-index:1;
}
.about-copy,
.infographic-panel{
  position:relative;
  z-index:2;
}
.about-copy{
  background:linear-gradient(180deg, rgba(9,24,52,.52), rgba(7,18,38,.42));
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  padding:30px;
  backdrop-filter:blur(8px);
  box-shadow:var(--shadow);
}
.infographic-panel{
  background:linear-gradient(180deg, rgba(9,24,52,.36), rgba(7,18,38,.20));
  border:1px solid rgba(255,255,255,.07);
  border-radius:30px;
  padding:18px;
  backdrop-filter:blur(6px);
}
.alt-building-bg{
  opacity:.60;
}
.alt-building-bg img{
  object-position:center center;
  filter:saturate(1.02) contrast(1.06) brightness(.68);
}
.alt-building-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7,18,38,.84) 0%, rgba(7,18,38,.72) 26%, rgba(7,18,38,.46) 58%, rgba(7,18,38,.20) 100%);
  z-index:1;
}
.alt-building-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 36%);
  z-index:2;
}
.section-capabilities .section-head,
.section-capabilities .cap-grid{
  position:relative;
  z-index:3;
}
.section-capabilities .cap-card{
  background:linear-gradient(180deg, rgba(12,31,65,.58), rgba(7,18,38,.78));
  border-color:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
@media (max-width: 900px){
  .about-copy{padding:24px}
  .infographic-panel{padding:14px}
}



/* v16 background visibility + fixed section backgrounds */
.overview-bg,
.about-bg,
.alt-building-bg{
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  background-attachment:fixed !important;
}

.overview-bg{background-image:url('images/skyline.jpg') !important;}
.about-bg{background-image:url('images/skyline.jpg') !important;}
.alt-building-bg{background-image:url('images/capabilities-bg.png') !important;}

.overview-bg img,
.about-bg img,
.alt-building-bg img{
  display:none !important;
}

.overview-bg::before,
.about-bg::before{
  background:linear-gradient(90deg, rgba(7,18,38,.54) 0%, rgba(7,18,38,.40) 28%, rgba(7,18,38,.14) 62%, rgba(7,18,38,.04) 100%) !important;
}

.alt-building-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7,18,38,.58) 0%, rgba(7,18,38,.42) 28%, rgba(7,18,38,.16) 62%, rgba(7,18,38,.05) 100%);
  z-index:1;
}

.alt-building-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,0) 36%);
  z-index:2;
}

.overview.section-skyline,
.section-about.section-skyline,
.section-capabilities{
  background:transparent !important;
}

.overview.section-skyline .container,
.section-about.section-skyline .container,
.section-capabilities .container{
  position:relative;
  z-index:3;
}

.premium-table{
  background:linear-gradient(180deg, rgba(9,24,52,.26), rgba(7,18,38,.32)) !important;
  backdrop-filter:blur(4px);
}

.section-capabilities .cap-card{
  background:linear-gradient(180deg, rgba(12,31,65,.34), rgba(7,18,38,.42)) !important;
  backdrop-filter:blur(4px);
}

.section-capabilities .section-head,
.about-copy,
.infographic-panel{
  position:relative;
  z-index:3;
}

@media (max-width: 900px){
  .overview-bg,
  .about-bg,
  .alt-building-bg{
    background-attachment:scroll !important;
  }
}


/* v17 typing, frozen skyline, premium infographic */
.cursor.done{
  animation:none !important;
  opacity:0 !important;
}

.overview.section-skyline,
.section-about.section-skyline{
  background-image:
    linear-gradient(90deg, rgba(7,18,38,.76) 0%, rgba(7,18,38,.60) 28%, rgba(7,18,38,.26) 64%, rgba(7,18,38,.06) 100%),
    url('assets/images/skyline.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}

.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg{
  display:none !important;
}

.overview.section-skyline,
.section-about.section-skyline{
  position:relative;
}

.overview.section-skyline::before,
.section-about.section-skyline::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%);
  pointer-events:none;
}

.overview.section-skyline .container,
.section-about.section-skyline .container{
  position:relative;
  z-index:2;
}

.about-grid{
  align-items:stretch;
}

.about-copy{
  padding:34px 34px 30px !important;
}

.infographic-panel{
  padding:22px !important;
  background:linear-gradient(180deg, rgba(7,18,38,.22), rgba(7,18,38,.10)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 80px rgba(1,7,20,.28) !important;
}

.infographic-panel img{
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  display:block;
}

@media (max-width: 900px){
  .overview.section-skyline,
  .section-about.section-skyline{
    background-attachment:scroll !important;
  }
}


/* v18 simplified intro: no eclipse, skyline after typing, dot after welcome */
.intro-logo{display:none !important;}
.intro-eclipse,.eclipse-core,.eclipse-glow,.eclipse-halo{display:none !important;}

.hero-base{
  overflow:hidden;
}
.hero-base::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,18,38,.72) 0%, rgba(7,18,38,.46) 30%, rgba(7,18,38,.14) 62%, rgba(7,18,38,.06) 100%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,0) 34%),
    url('images/skyline.jpg');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:0;
  transform:scale(1.04);
  transition:opacity 1.2s ease, transform 1.8s ease;
}
.hero.skyline-reveal .hero-base::after{
  opacity:1;
  transform:scale(1);
}

.hero-spark{
  opacity:0 !important;
  transform:scale(.4);
  transition:opacity .6s ease, transform .6s ease !important;
}
.hero.dot-ready .hero-spark{
  opacity:1 !important;
  transform:scale(1);
}

.welcome-line{
  transition:opacity .8s ease, transform .8s ease !important;
}

body.intro-locked .ribbon-wrap,
body.intro-locked .start-wrap{
  opacity:0;
  pointer-events:none;
}

.overview.section-skyline,
.section-about.section-skyline{
  background-attachment:fixed !important;
  background-size:cover !important;
  background-position:center center !important;
}

.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg{
  position:fixed !important;
  inset:0 !important;
}

.overview.section-skyline .container,
.section-about.section-skyline .container{
  position:relative;
  z-index:3;
}

@media (max-width: 900px){
  .hero-base::after{background-attachment:scroll;}
  .overview.section-skyline .section-bg,
  .section-about.section-skyline .section-bg{
    position:absolute !important;
  }
}


/* v19 production lock */
.intro-logo,
.intro-eclipse,
.eclipse-core,
.eclipse-glow,
.eclipse-halo,
.hero-orbit{
  display:none !important;
}

.hero{
  position:relative;
  overflow:hidden;
}

.hero-base{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.hero-base::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(6,18,42,.86) 0%, rgba(6,18,42,.64) 32%, rgba(6,18,42,.22) 68%, rgba(6,18,42,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,0) 32%),
    url('images/skyline.jpg') center center / cover no-repeat;
  opacity:0;
  transform:scale(1.035);
  transition:opacity 1.2s ease, transform 1.4s ease;
}

.hero.skyline-reveal .hero-base::after{
  opacity:1;
  transform:scale(1);
}

.hero-copy{
  position:relative;
  z-index:4;
}

.hero-title .typed{
  min-height:9.2rem;
}

.hero-title .typed.done .cursor,
.cursor.done{
  animation:none !important;
  opacity:0 !important;
}

.hero-spark{
  position:fixed;
  top:calc(var(--nav-h) + 16px);
  right:6%;
  width:12px;
  height:12px;
  border-radius:999px;
  background:radial-gradient(circle at 35% 35%, #ffdca4 0%, #ffb457 48%, #ff962a 72%, #f07a00 100%);
  box-shadow:0 0 0 4px rgba(255,163,51,.14), 0 0 16px rgba(255,167,58,.26), 0 0 34px rgba(255,143,32,.2);
  opacity:0;
  transform:scale(.4);
  transition:opacity .5s ease, transform .5s ease;
  z-index:95;
}

.hero.dot-ready .hero-spark{
  opacity:1;
  transform:scale(1);
}

.welcome-line{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-44%);
  width:max-content;
  max-width:86vw;
  margin:0;
  font-size:20px !important;
  line-height:1.25;
  letter-spacing:.01em;
  font-weight:400;
  text-align:center;
  color:#e6f0ff;
  opacity:0;
  transition:opacity .7s ease, transform .7s ease;
  z-index:5;
}
.welcome-line.show{opacity:1;transform:translate(-50%,-50%)}
.welcome-line.fade-out{opacity:0;transform:translate(-50%,-56%)}
.welcome-line .word{
  display:inline-block;
  animation:welcomePalette 2s ease-in-out infinite;
}
.welcome-line .word + .word{margin-left:.32em}

body.intro-locked .ribbon-wrap,
body.intro-locked .start-wrap{
  opacity:0;
  pointer-events:none;
}

.menu .dropdown{
  position:relative;
}
.dropdown-menu{
  display:none;
  z-index:120 !important;
}
.dropdown.open > .dropdown-menu{
  display:block !important;
}
.menu > .dropdown > button{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.dropdown.open > button .menu-caret{
  transform:translateY(-1px) rotate(180deg);
}

.overview.section-skyline,
.section-about.section-skyline{
  position:relative;
  background:
    linear-gradient(90deg, rgba(5,16,38,.78) 0%, rgba(5,16,38,.58) 30%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat fixed !important;
}
.overview.section-skyline::before,
.section-about.section-skyline::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%);
  pointer-events:none;
}
.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg{
  display:none !important;
}
.overview.section-skyline .container,
.section-about.section-skyline .container{
  position:relative;
  z-index:2;
}

.section-capabilities{
  position:relative;
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.62) 28%, rgba(5,16,38,.26) 68%, rgba(5,16,38,.10) 100%),
    url('images/capabilities-bg.png') center center / cover no-repeat !important;
}
.section-capabilities .section-bg{
  display:none !important;
}
.section-capabilities .container{
  position:relative;
  z-index:2;
}

.overview-table,
.about-copy,
.infographic-panel,
.section-capabilities .cap-card,
.section-capabilities .section-head{
  position:relative;
  z-index:2;
}
.infographic-panel{
  padding:22px !important;
  background:linear-gradient(180deg, rgba(7,18,38,.22), rgba(7,18,38,.10)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 80px rgba(1,7,20,.28) !important;
}
.infographic-panel img{
  display:block;
  width:100%;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

@media (max-width: 900px){
  .welcome-line{font-size:16px !important;max-width:90vw}
  .hero-spark{right:5%;top:calc(var(--nav-h) + 12px)}
  .overview.section-skyline,
  .section-about.section-skyline{
    background-attachment:scroll !important;
  }
}

@media (max-width: 640px){
  .welcome-line{font-size:14px !important}
  .hero-title .typed{min-height:8.2rem}
}


/* v20 confirmed background assets */
.hero-base::after{
  background:
    linear-gradient(90deg, rgba(6,18,42,.86) 0%, rgba(6,18,42,.64) 32%, rgba(6,18,42,.22) 68%, rgba(6,18,42,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,0) 32%),
    url('images/skyline.jpg') center center / cover no-repeat !important;
}

.overview.section-skyline,
.section-about.section-skyline{
  background:
    linear-gradient(90deg, rgba(5,16,38,.76) 0%, rgba(5,16,38,.56) 28%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat fixed !important;
}

.section-capabilities{
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.62) 28%, rgba(5,16,38,.26) 68%, rgba(5,16,38,.10) 100%),
    url('images/commercial-building.jpg') center center / cover no-repeat !important;
}

.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg,
.section-capabilities .section-bg{
  display:none !important;
}


/* v23 production final: correct full backgrounds + reliable capabilities dropdown */
.nav, .nav-inner, .menu, .menu .dropdown { overflow: visible !important; }

.menu .dropdown > button{
  -webkit-appearance:none;
  appearance:none;
  touch-action:manipulation;
}

.dropdown-menu{
  display:block !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px) scale(.985);
  transform-origin:top right;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  z-index:130 !important;
  max-height:min(72vh, 520px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.dropdown.open > .dropdown-menu,
.dropdown:focus-within > .dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
@media (hover:hover) and (pointer:fine){
  .dropdown:hover > .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
}
@media (hover:none), (pointer:coarse), (max-width:900px){
  .dropdown:hover > .dropdown-menu{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(10px) scale(.985);
  }
  .dropdown.open > .dropdown-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
}

.hero,
.hero-base,
.hero-inner{
  min-height:100svh !important;
}
.hero-base::after{
  background:
    linear-gradient(90deg, rgba(6,18,42,.84) 0%, rgba(6,18,42,.60) 32%, rgba(6,18,42,.20) 68%, rgba(6,18,42,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,0) 32%),
    url('images/skyline.jpg') center center / cover no-repeat !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}

.overview.section-skyline,
.section-about.section-skyline{
  position:relative;
  background:
    linear-gradient(90deg, rgba(5,16,38,.78) 0%, rgba(5,16,38,.58) 30%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat fixed !important;
}
.section-capabilities{
  position:relative;
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.62) 28%, rgba(5,16,38,.26) 68%, rgba(5,16,38,.10) 100%),
    url('images/commercial-building.jpg') center center / cover no-repeat fixed !important;
}
.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg,
.section-capabilities .section-bg{
  display:none !important;
}
.overview.section-skyline .container,
.section-about.section-skyline .container,
.section-capabilities .container{
  position:relative;
  z-index:2;
}

@media (hover:none), (pointer:coarse), (max-width:900px){
  .overview.section-skyline,
  .section-about.section-skyline,
  .section-capabilities{
    background:none !important;
    overflow:hidden;
    isolation:isolate;
  }
  .overview.section-skyline::before,
  .section-about.section-skyline::before,
  .section-capabilities::before{
    content:"";
    position:absolute;
    inset:-10% 0;
    z-index:0;
    will-change:transform;
    transform:translate3d(0, var(--bg-shift, 0px), 0) scale(1.12);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    transition:transform .12s linear;
  }
  .overview.section-skyline::before,
  .section-about.section-skyline::before{
    background-image:
      linear-gradient(90deg, rgba(5,16,38,.80) 0%, rgba(5,16,38,.60) 30%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
      url('images/skyline.jpg') !important;
  }
  .section-capabilities::before{
    background-image:
      linear-gradient(90deg, rgba(5,16,38,.84) 0%, rgba(5,16,38,.64) 28%, rgba(5,16,38,.26) 70%, rgba(5,16,38,.10) 100%),
      url('images/commercial-building.jpg') !important;
  }
  .overview.section-skyline::after,
  .section-about.section-skyline::after,
  .section-capabilities::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%);
  }
}


/* v24 production correction: no eclipse, full-bleed backgrounds, stronger dropdown */
.hero-orbit,
.intro-logo,
.intro-eclipse,
.eclipse-core,
.eclipse-glow,
.eclipse-halo{
  display:none !important;
}

.hero,
.hero-base,
.hero-inner{
  min-height:100svh !important;
  height:100svh !important;
}
.hero-base{
  position:absolute !important;
  inset:0 !important;
}
.hero-base::after{
  content:"";
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  transform:scale(1.03);
  background:
    linear-gradient(90deg, rgba(6,18,42,.86) 0%, rgba(6,18,42,.62) 32%, rgba(6,18,42,.18) 68%, rgba(6,18,42,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,0) 32%),
    url('images/skyline.jpg') center center / cover no-repeat !important;
  transition:opacity 1.2s ease, transform 1.5s ease;
}
.hero.skyline-reveal .hero-base::after{
  opacity:1 !important;
  transform:scale(1) !important;
}

.hero-spark{
  opacity:0;
  transform:scale(.4);
  transition:opacity .45s ease, transform .45s ease;
}
.hero.dot-ready .hero-spark{
  opacity:1 !important;
  transform:scale(1) !important;
}

/* menu + dropdown */
.nav, .nav-inner, .menu, .menu .dropdown{
  overflow:visible !important;
}
.menu .dropdown{
  position:relative !important;
  z-index:140 !important;
}
.menu .dropdown > button{
  -webkit-appearance:none;
  appearance:none;
  touch-action:manipulation;
  cursor:pointer;
}
.dropdown-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  display:block !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px) scale(.985);
  transform-origin:top right;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  z-index:150 !important;
  max-height:min(72vh, 520px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.dropdown.open > .dropdown-menu,
.dropdown:focus-within > .dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
@media (hover:hover) and (pointer:fine){
  .dropdown:hover > .dropdown-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
}
@media (hover:none), (pointer:coarse), (max-width:900px){
  .dropdown:hover > .dropdown-menu{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(10px) scale(.985) !important;
  }
  .dropdown.open > .dropdown-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
}

/* full image backgrounds */
.overview.section-skyline,
.section-about.section-skyline{
  position:relative;
  min-height:100svh;
  background:
    linear-gradient(90deg, rgba(5,16,38,.78) 0%, rgba(5,16,38,.56) 30%, rgba(5,16,38,.20) 70%, rgba(5,16,38,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat fixed !important;
}
.section-capabilities{
  position:relative;
  min-height:100svh;
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.62) 28%, rgba(5,16,38,.24) 70%, rgba(5,16,38,.10) 100%),
    url('images/commercial-building.jpg') center center / cover no-repeat fixed !important;
}
.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg,
.section-capabilities .section-bg{
  display:none !important;
}
.overview.section-skyline .container,
.section-about.section-skyline .container,
.section-capabilities .container{
  position:relative;
  z-index:2;
}

/* mobile premium background illusion */
@media (hover:none), (pointer:coarse), (max-width:900px){
  .overview.section-skyline,
  .section-about.section-skyline,
  .section-capabilities{
    background:none !important;
    isolation:isolate;
    overflow:hidden;
  }
  .overview.section-skyline::before,
  .section-about.section-skyline::before,
  .section-capabilities::before{
    content:"";
    position:absolute;
    inset:-10% 0;
    z-index:0;
    will-change:transform;
    transform:translate3d(0, var(--bg-shift, 0px), 0) scale(1.12);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    transition:transform .12s linear;
  }
  .overview.section-skyline::before,
  .section-about.section-skyline::before{
    background-image:
      linear-gradient(90deg, rgba(5,16,38,.80) 0%, rgba(5,16,38,.58) 30%, rgba(5,16,38,.20) 70%, rgba(5,16,38,.06) 100%),
      url('images/skyline.jpg') !important;
  }
  .section-capabilities::before{
    background-image:
      linear-gradient(90deg, rgba(5,16,38,.84) 0%, rgba(5,16,38,.64) 28%, rgba(5,16,38,.24) 70%, rgba(5,16,38,.08) 100%),
      url('images/commercial-building.jpg') !important;
  }
  .overview.section-skyline::after,
  .section-about.section-skyline::after,
  .section-capabilities::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%);
  }
  .overview.section-skyline .container,
  .section-about.section-skyline .container,
  .section-capabilities .container{
    position:relative;
    z-index:2;
  }
}


/* v25 no cursor, natural typing retained */
.cursor{
  display:none !important;
  opacity:0 !important;
  width:0 !important;
  margin:0 !important;
  animation:none !important;
}


/* v26 welcome-first intro, tighter capabilities menu, fixed glide backgrounds */
.welcome-line{
  position:absolute !important;
  left:50% !important;
  top:48% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  max-width:88vw !important;
  width:max-content !important;
  text-align:center !important;
  font-size:18px !important;
  line-height:1.24 !important;
  letter-spacing:.01em !important;
  font-weight:400 !important;
  color:#e7f1ff !important;
  z-index:6 !important;
}
.welcome-line.show{opacity:1 !important; transform:translate(-50%,-50%) !important;}
.welcome-line.fade-out{opacity:0 !important; transform:translate(-50%,-56%) !important;}
.welcome-line .word{
  display:inline-block;
  animation:welcomePalette 2.1s ease-in-out infinite;
}
.welcome-line .word + .word{margin-left:.3em;}

.dropdown-menu{
  min-width:220px !important;
  padding:8px !important;
  border-radius:18px !important;
}
.dropdown-menu a{
  padding:9px 11px !important;
  font-size:11px !important;
  line-height:1.18 !important;
  gap:10px !important;
}
.dropdown-menu a span:last-child{
  font-size:11px !important;
  opacity:.82;
}
.dropdown-menu.cap-menu{
  max-width:250px !important;
}

.overview.section-skyline,
.section-about.section-skyline{
  background:
    linear-gradient(90deg, rgba(5,16,38,.78) 0%, rgba(5,16,38,.56) 28%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat fixed !important;
}
.section-capabilities{
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.62) 28%, rgba(5,16,38,.26) 68%, rgba(5,16,38,.10) 100%),
    url('images/commercial-building.jpg') center center / cover no-repeat fixed !important;
}
.overview.section-skyline .section-bg,
.section-about.section-skyline .section-bg,
.section-capabilities .section-bg{
  display:none !important;
}
.overview.section-skyline,
.section-about.section-skyline,
.section-capabilities{
  position:relative !important;
  overflow:hidden !important;
  background-attachment:fixed !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.overview.section-skyline .container,
.section-about.section-skyline .container,
.section-capabilities .container{
  position:relative !important;
  z-index:2 !important;
}
.overview.section-skyline::before,
.section-about.section-skyline::before,
.section-capabilities::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%);
}

@media (hover:none), (pointer:coarse), (max-width:900px){
  .welcome-line{
    font-size:15px !important;
    max-width:90vw !important;
  }

  .overview.section-skyline,
  .section-about.section-skyline,
  .section-capabilities{
    background:none !important;
    isolation:isolate;
  }

  .overview.section-skyline::after,
  .section-about.section-skyline::after,
  .section-capabilities::after{
    content:"";
    position:absolute;
    inset:-8% 0;
    z-index:0;
    will-change:transform;
    transform:translate3d(0, var(--bg-shift, 0px), 0) scale(1.12);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }

  .overview.section-skyline::after,
  .section-about.section-skyline::after{
    background-image:
      linear-gradient(90deg, rgba(5,16,38,.80) 0%, rgba(5,16,38,.58) 30%, rgba(5,16,38,.20) 70%, rgba(5,16,38,.06) 100%),
      url('images/skyline.jpg') !important;
  }

  .section-capabilities::after{
    background-image:
      linear-gradient(90deg, rgba(5,16,38,.84) 0%, rgba(5,16,38,.64) 28%, rgba(5,16,38,.24) 70%, rgba(5,16,38,.08) 100%),
      url('images/commercial-building.jpg') !important;
  }

  .overview.section-skyline::before,
  .section-about.section-skyline::before,
  .section-capabilities::before{
    z-index:1 !important;
  }

  .overview.section-skyline .container,
  .section-about.section-skyline .container,
  .section-capabilities .container{
    z-index:2 !important;
  }
}


/* v27 center welcome, true glide backgrounds, tighter capabilities dropdown */
.welcome-line{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(88vw, 760px) !important;
  max-width:min(88vw, 760px) !important;
  margin:0 !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.24 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  color:#e8f2ff !important;
  z-index:8 !important;
}
.welcome-line.show{
  opacity:1 !important;
  transform:translate(-50%,-50%) !important;
}
.welcome-line.fade-out{
  opacity:0 !important;
  transform:translate(-50%,-56%) !important;
}
.welcome-line .word{
  display:inline-block;
  white-space:nowrap;
}
.welcome-line .word + .word{margin-left:.28em !important;}

/* Make dropdown compact and prevent right-edge encroachment */
.menu .dropdown{position:relative !important;}
.dropdown-menu.cap-menu{
  min-width:228px !important;
  max-width:248px !important;
  width:248px !important;
  padding:7px !important;
  border-radius:18px !important;
  right:0 !important;
}
.dropdown-menu.cap-menu a{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  column-gap:8px !important;
  padding:8px 10px !important;
  font-size:11px !important;
  line-height:1.16 !important;
  min-width:0 !important;
}
.dropdown-menu.cap-menu a span:first-child{
  min-width:0 !important;
  padding-right:2px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.dropdown-menu.cap-menu a span:last-child{
  align-self:center !important;
  justify-self:end !important;
  opacity:.82 !important;
}

/* True frozen background / glide effect using sticky background layers */
.overview.section-skyline,
.section-about.section-skyline,
.section-capabilities{
  position:relative !important;
  overflow:visible !important;
  background:none !important;
  isolation:isolate !important;
}
.overview.section-skyline::before,
.section-about.section-skyline::before,
.section-capabilities::before,
.overview.section-skyline::after,
.section-about.section-skyline::after,
.section-capabilities::after{
  display:none !important;
}

.overview.section-skyline > .section-bg,
.section-about.section-skyline > .section-bg,
.section-capabilities > .section-bg{
  display:block !important;
  position:sticky !important;
  top:0 !important;
  height:100svh !important;
  min-height:100svh !important;
  margin-bottom:-100svh !important;
  inset:auto !important;
  z-index:0 !important;
  overflow:hidden !important;
  background-attachment:scroll !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:none !important;
  will-change:auto !important;
}
.overview.section-skyline > .section-bg img,
.section-about.section-skyline > .section-bg img,
.section-capabilities > .section-bg img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transform:none !important;
  filter:saturate(1.03) contrast(1.06) brightness(.78) !important;
}
.overview.section-skyline > .section-bg::before,
.section-about.section-skyline > .section-bg::before,
.section-capabilities > .section-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(90deg, rgba(5,16,38,.78) 0%, rgba(5,16,38,.56) 28%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%) !important;
}
.overview.section-skyline > .section-bg::after,
.section-about.section-skyline > .section-bg::after,
.section-capabilities > .section-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%) !important;
}

.overview.section-skyline > .container,
.section-about.section-skyline > .container,
.section-capabilities > .container{
  position:relative !important;
  z-index:3 !important;
}

@media (max-width: 900px){
  .welcome-line{
    width:min(90vw, 680px) !important;
    max-width:min(90vw, 680px) !important;
    font-size:16px !important;
  }
  .dropdown-menu.cap-menu{
    width:min(230px, calc(100vw - 24px)) !important;
    max-width:min(230px, calc(100vw - 24px)) !important;
  }
  .overview.section-skyline > .section-bg,
  .section-about.section-skyline > .section-bg,
  .section-capabilities > .section-bg{
    height:100dvh !important;
    min-height:100dvh !important;
    margin-bottom:-100dvh !important;
  }
}


/* v28 hard fixes: centered welcome, true section glide, compact capabilities menu */
.hero{
  align-items:center !important;
}
.hero-inner{
  position:relative !important;
  z-index:3 !important;
  min-height:100svh !important;
  display:flex !important;
  align-items:center !important;
}
.hero-copy,
.hero-title-shell{
  position:relative !important;
  z-index:4 !important;
}
.hero .welcome-line{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(86vw, 760px) !important;
  max-width:min(86vw, 760px) !important;
  margin:0 !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.24 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  color:#e8f2ff !important;
  z-index:8 !important;
  pointer-events:none !important;
}
.hero .welcome-line.show{
  opacity:1 !important;
  transform:translate(-50%,-50%) !important;
}
.hero .welcome-line.fade-out{
  opacity:0 !important;
  transform:translate(-50%,-56%) !important;
}
.hero .welcome-line .word{
  display:inline-block !important;
  white-space:nowrap !important;
}
.hero .welcome-line .word + .word{
  margin-left:.28em !important;
}

/* Compact, centered capabilities dropdown that does not run into the edge */
#capabilitiesDropdown{
  position:relative !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) translateY(8px) scale(.985) !important;
  width:232px !important;
  min-width:232px !important;
  max-width:232px !important;
  padding:7px !important;
  border-radius:18px !important;
}
#capabilitiesDropdown.open > .dropdown-menu.cap-menu,
#capabilitiesDropdown:focus-within > .dropdown-menu.cap-menu{
  transform:translateX(-50%) translateY(0) scale(1) !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 10px !important;
  align-items:start !important;
  column-gap:8px !important;
  padding:8px 10px !important;
  min-width:0 !important;
  font-size:10.5px !important;
  line-height:1.16 !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a span:first-child{
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a span.cap-menu-arrow,
#capabilitiesDropdown > .dropdown-menu.cap-menu a span:last-child{
  width:10px !important;
  min-width:10px !important;
  justify-self:end !important;
  text-align:right !important;
  font-size:10px !important;
  line-height:1 !important;
  opacity:.72 !important;
}

/* Make sections actually glide over a frozen full-screen image layer */
#overview.section-skyline,
#about.section-skyline,
#capabilities.section-capabilities{
  padding:0 !important;
  position:relative !important;
  background:none !important;
  overflow:visible !important;
  isolation:isolate !important;
}
#overview.section-skyline::before,
#overview.section-skyline::after,
#about.section-skyline::before,
#about.section-skyline::after,
#capabilities.section-capabilities::before,
#capabilities.section-capabilities::after{
  display:none !important;
}

#overview.section-skyline > .section-bg,
#about.section-skyline > .section-bg,
#capabilities.section-capabilities > .section-bg{
  display:block !important;
  position:sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  margin:0 0 -100vh 0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
#overview.section-skyline > .section-bg img,
#about.section-skyline > .section-bg img,
#capabilities.section-capabilities > .section-bg img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transform:none !important;
  filter:saturate(1.03) contrast(1.06) brightness(.8) !important;
}
#overview.section-skyline > .section-bg::before,
#about.section-skyline > .section-bg::before,
#capabilities.section-capabilities > .section-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(90deg, rgba(5,16,38,.78) 0%, rgba(5,16,38,.56) 28%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%) !important;
}
#overview.section-skyline > .section-bg::after,
#about.section-skyline > .section-bg::after,
#capabilities.section-capabilities > .section-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%) !important;
}
#overview.section-skyline > .container,
#about.section-skyline > .container,
#capabilities.section-capabilities > .container{
  position:relative !important;
  z-index:3 !important;
  padding-top:110px !important;
  padding-bottom:110px !important;
}
#overview.section-skyline .premium-table,
#about.section-skyline .about-copy,
#about.section-skyline .infographic-panel,
#capabilities.section-capabilities .section-head,
#capabilities.section-capabilities .cap-card{
  position:relative !important;
  z-index:3 !important;
}

@media (max-width: 900px){
  .hero .welcome-line{
    width:min(90vw, 680px) !important;
    max-width:min(90vw, 680px) !important;
    font-size:16px !important;
  }
  #capabilitiesDropdown > .dropdown-menu.cap-menu{
    width:min(224px, calc(100vw - 28px)) !important;
    min-width:min(224px, calc(100vw - 28px)) !important;
    max-width:min(224px, calc(100vw - 28px)) !important;
  }
  #overview.section-skyline > .section-bg,
  #about.section-skyline > .section-bg,
  #capabilities.section-capabilities > .section-bg{
    height:100dvh !important;
    min-height:100dvh !important;
    margin:0 0 -100dvh 0 !important;
  }
  #overview.section-skyline > .container,
  #about.section-skyline > .container,
  #capabilities.section-capabilities > .container{
    padding-top:96px !important;
    padding-bottom:96px !important;
  }
}


/* v29 final hard fixes: centered welcome, fixed section background layer, compact capabilities dropdown */
body{
  background:#071226 !important;
}
.hero{
  position:relative !important;
  min-height:100svh !important;
}
.hero > .welcome-line{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  width:min(86vw, 760px) !important;
  max-width:min(86vw, 760px) !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.24 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  color:#e8f2ff !important;
  z-index:12 !important;
  pointer-events:none !important;
}
.hero > .welcome-line.show{
  opacity:1 !important;
  transform:translate(-50%,-50%) !important;
}
.hero > .welcome-line.fade-out{
  opacity:0 !important;
  transform:translate(-50%,-56%) !important;
}
.hero > .welcome-line .word{
  display:inline-block !important;
  white-space:nowrap !important;
}
.hero > .welcome-line .word + .word{
  margin-left:.28em !important;
}

#sectionBackgroundLayer{
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .45s ease, filter .45s ease !important;
  overflow:hidden !important;
}
#sectionBackgroundLayer .section-background-image{
  position:absolute !important;
  inset:0 !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  transform:scale(1.02) !important;
}
#sectionBackgroundLayer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.58) 30%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%) !important;
}
body.has-section-background #sectionBackgroundLayer{
  opacity:1 !important;
}
body.section-bg-skyline #sectionBackgroundLayer .section-background-image{
  background-image:url('images/skyline.jpg') !important;
}
body.section-bg-commercial #sectionBackgroundLayer .section-background-image{
  background-image:url('images/commercial-building.jpg') !important;
}

main{
  position:relative !important;
  z-index:1 !important;
}
#overview.section-skyline,
#about.section-skyline,
#capabilities.section-capabilities{
  position:relative !important;
  background:transparent !important;
  overflow:visible !important;
  isolation:isolate !important;
}
#overview.section-skyline > .section-bg,
#about.section-skyline > .section-bg,
#capabilities.section-capabilities > .section-bg{
  display:none !important;
}
#overview.section-skyline > .container,
#about.section-skyline > .container,
#capabilities.section-capabilities > .container{
  position:relative !important;
  z-index:3 !important;
}
#overview.section-skyline::before,
#about.section-skyline::before,
#capabilities.section-capabilities::before,
#overview.section-skyline::after,
#about.section-skyline::after,
#capabilities.section-capabilities::after{
  display:none !important;
}

#capabilitiesDropdown{
  position:relative !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu{
  display:block !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  left:50% !important;
  right:auto !important;
  top:calc(100% + 10px) !important;
  transform:translateX(-50%) translateY(8px) scale(.985) !important;
  width:220px !important;
  min-width:220px !important;
  max-width:220px !important;
  padding:6px !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
#capabilitiesDropdown.open > .dropdown-menu.cap-menu,
#capabilitiesDropdown:focus-within > .dropdown-menu.cap-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) scale(1) !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 8px !important;
  align-items:start !important;
  column-gap:8px !important;
  padding:8px 9px !important;
  min-width:0 !important;
  font-size:10px !important;
  line-height:1.14 !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a span:first-child{
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a span.cap-menu-arrow,
#capabilitiesDropdown > .dropdown-menu.cap-menu a span:last-child{
  width:8px !important;
  min-width:8px !important;
  justify-self:end !important;
  text-align:right !important;
  font-size:9px !important;
  line-height:1 !important;
  opacity:.72 !important;
}

@media (max-width: 900px){
  .hero > .welcome-line{
    width:min(90vw, 680px) !important;
    max-width:min(90vw, 680px) !important;
    font-size:16px !important;
  }
  #capabilitiesDropdown > .dropdown-menu.cap-menu{
    width:min(214px, calc(100vw - 28px)) !important;
    min-width:min(214px, calc(100vw - 28px)) !important;
    max-width:min(214px, calc(100vw - 28px)) !important;
  }
}


/* v31 production corrections */
body{
  background:#071226 !important;
}
main{
  position:relative !important;
  z-index:4 !important;
}
.hero,
#overview,
#about,
#capabilities,
#footprint,
#contact,
.footer,
.nav{
  position:relative !important;
}
.hero,
#overview,
#about,
#capabilities,
#footprint,
#contact,
.footer{
  z-index:4 !important;
}

/* Welcome line mid-center with left-to-right colour swipes */
.hero > .welcome-line{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:min(84vw, 780px) !important;
  max-width:min(84vw, 780px) !important;
  margin:0 !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.24 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  z-index:14 !important;
  opacity:0 !important;
  pointer-events:none !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}
.hero > .welcome-line.show{
  opacity:1 !important;
  transform:translate(-50%, -50%) !important;
  background:linear-gradient(90deg, #eef6ff 0%, #6fd3ff 16%, #a88cff 32%, #ff8ed3 48%, #ffd08a 64%, #7fe7ff 82%, #eef6ff 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  animation:welcomeFloat 2.8s ease-in-out infinite, welcomeSwipe 1.35s linear infinite !important;
  text-shadow:0 0 18px rgba(120,190,255,.16) !important;
}
.hero > .welcome-line.fade-out{
  opacity:0 !important;
  transform:translate(-50%, -55%) !important;
  animation:none !important;
}
.hero > .welcome-line .word{
  display:inline-block !important;
  white-space:nowrap !important;
  background:none !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  animation:none !important;
}
.hero > .welcome-line .word + .word{
  margin-left:.26em !important;
}
@keyframes welcomeFloat{
  0%,100%{transform:translate(-50%, -50%)}
  50%{transform:translate(-50%, -53%)}
}
@keyframes welcomeSwipe{
  0%{background-position:0% 50%}
  100%{background-position:220% 50%}
}

/* One true fixed background layer behind sections */
#sectionBackgroundLayer{
  position:fixed !important;
  inset:0 !important;
  z-index:1 !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  transition:opacity .35s ease !important;
}
#sectionBackgroundLayer .section-background-image{
  position:absolute !important;
  inset:0 !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  transform:scale(1.02) !important;
}
#sectionBackgroundLayer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:
    linear-gradient(90deg, rgba(5,16,38,.82) 0%, rgba(5,16,38,.58) 30%, rgba(5,16,38,.22) 70%, rgba(5,16,38,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%) !important;
}
body.has-section-background #sectionBackgroundLayer{
  opacity:1 !important;
}
body.section-bg-skyline #sectionBackgroundLayer .section-background-image{
  background-image:url('images/skyline.jpg') !important;
}
body.section-bg-commercial #sectionBackgroundLayer .section-background-image{
  background-image:url('images/commercial-building.jpg') !important;
}
#overview.section-skyline,
#about.section-skyline,
#capabilities.section-capabilities{
  background:transparent !important;
}
#overview.section-skyline > .section-bg,
#about.section-skyline > .section-bg,
#capabilities.section-capabilities > .section-bg{
  display:none !important;
}
#overview.section-skyline::before,
#overview.section-skyline::after,
#about.section-skyline::before,
#about.section-skyline::after,
#capabilities.section-capabilities::before,
#capabilities.section-capabilities::after{
  display:none !important;
}

/* Keep content visible above backgrounds */
#overview .container,
#about .container,
#capabilities .container,
#footprint .container,
#contact .container{
  position:relative !important;
  z-index:6 !important;
}
#overview .premium-table,
#about .about-copy,
#about .infographic-panel,
#capabilities .section-head,
#capabilities .cap-card,
#footprint .premium-panel,
#contact .premium-panel{
  position:relative !important;
  z-index:7 !important;
}

/* Compact capabilities dropdown */
#capabilitiesDropdown{
  position:relative !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu{
  display:block !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  left:50% !important;
  right:auto !important;
  top:calc(100% + 10px) !important;
  transform:translateX(-50%) translateY(8px) scale(.985) !important;
  width:214px !important;
  min-width:214px !important;
  max-width:214px !important;
  padding:6px !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
#capabilitiesDropdown.open > .dropdown-menu.cap-menu,
#capabilitiesDropdown:focus-within > .dropdown-menu.cap-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) scale(1) !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 8px !important;
  align-items:start !important;
  column-gap:8px !important;
  padding:8px 9px !important;
  min-width:0 !important;
  font-size:10px !important;
  line-height:1.12 !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a span:first-child{
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#capabilitiesDropdown > .dropdown-menu.cap-menu a .cap-menu-arrow,
#capabilitiesDropdown > .dropdown-menu.cap-menu a span:last-child{
  width:8px !important;
  min-width:8px !important;
  justify-self:end !important;
  text-align:right !important;
  font-size:9px !important;
  line-height:1 !important;
  opacity:.72 !important;
}

/* Map markers only, each a different colour, add India */
.map-wrap{
  min-height:580px !important;
}
.map-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.map-pin{
  position:absolute !important;
  width:18px !important;
  height:18px !important;
  padding:0 !important;
  border-radius:999px !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  background:currentColor !important;
  border:2px solid rgba(255,255,255,.9) !important;
  box-shadow:0 0 0 10px rgba(255,255,255,.03), 0 0 24px currentColor !important;
}
.map-pin::before{
  content:"" !important;
  position:absolute !important;
  inset:-9px !important;
  border-radius:999px !important;
  border:1px solid currentColor !important;
  opacity:.32 !important;
}
.map-pin::after{
  content:"" !important;
  position:absolute !important;
  inset:-18px !important;
  border-radius:999px !important;
  background:radial-gradient(circle, rgba(255,255,255,.03) 0%, transparent 70%) !important;
}
.pin-uk{left:51% !important; top:23% !important; color:#ffbd6d !important}
.pin-sa{left:56% !important; top:63% !important; color:#3ad3ff !important}
.pin-zw{left:60% !important; top:56% !important; color:#ff77c5 !important}
.pin-zm{left:58% !important; top:53% !important; color:#b2ff6f !important}
.pin-ke{left:60% !important; top:47% !important; color:#c08dff !important}
.pin-in{left:67% !important; top:39% !important; color:#ff8b5e !important}

@media (max-width: 900px){
  .hero > .welcome-line{
    width:min(90vw, 680px) !important;
    max-width:min(90vw, 680px) !important;
    font-size:16px !important;
  }
  #capabilitiesDropdown > .dropdown-menu.cap-menu{
    width:min(208px, calc(100vw - 28px)) !important;
    min-width:min(208px, calc(100vw - 28px)) !important;
    max-width:min(208px, calc(100vw - 28px)) !important;
  }
}


/* v32 verified corrections */
body{
  background:#071226 !important;
}
main{
  position:relative !important;
  z-index:4 !important;
}
.hero, #overview, #about, #capabilities, #footprint, #contact, .footer{
  position:relative !important;
  z-index:4 !important;
}

/* Prelude diagonal swipe for first 4 seconds */
.hero{
  min-height:100svh !important;
  overflow:hidden !important;
}
.hero .hero-base::before{
  content:"" !important;
  position:absolute !important;
  inset:-24% -24% !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:2 !important;
  background:
    linear-gradient(120deg,
      rgba(255,255,255,0) 0%,
      rgba(138,214,255,.06) 22%,
      rgba(180,148,255,.12) 36%,
      rgba(255,154,214,.10) 50%,
      rgba(255,214,158,.12) 64%,
      rgba(255,255,255,0) 82%) !important;
  transform:translateX(-38%) rotate(-10deg) !important;
}
.hero.prelude-active .hero-base::before{
  opacity:1 !important;
  animation:heroPreludeSweep 1.18s linear infinite !important;
}
@keyframes heroPreludeSweep{
  0%{transform:translateX(-42%) rotate(-10deg)}
  100%{transform:translateX(42%) rotate(-10deg)}
}

/* Welcome mid-center + full-line left-to-right colour swipe */
.hero > .welcome-line{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:min(84vw, 780px) !important;
  max-width:min(84vw, 780px) !important;
  margin:0 !important;
  text-align:center !important;
  font-size:20px !important;
  line-height:1.24 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  z-index:14 !important;
  opacity:0 !important;
  pointer-events:none !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}
.hero > .welcome-line.show{
  opacity:1 !important;
  transform:translate(-50%, -50%) !important;
  background:linear-gradient(90deg, #eef6ff 0%, #6fd3ff 16%, #a88cff 32%, #ff8ed3 48%, #ffd08a 64%, #7fe7ff 82%, #eef6ff 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  animation:welcomeFloat 2.8s ease-in-out infinite, welcomeSwipe 1.22s linear infinite !important;
  text-shadow:0 0 18px rgba(120,190,255,.16) !important;
}
.hero > .welcome-line.fade-out{
  opacity:0 !important;
  transform:translate(-50%, -55%) !important;
  animation:none !important;
}
.hero > .welcome-line .word{
  display:inline-block !important;
  white-space:nowrap !important;
  background:none !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
.hero > .welcome-line .word + .word{
  margin-left:.26em !important;
}
@keyframes welcomeFloat{
  0%,100%{transform:translate(-50%, -50%)}
  50%{transform:translate(-50%, -53%)}
}
@keyframes welcomeSwipe{
  0%{background-position:0% 50%}
  100%{background-position:220% 50%}
}

/* Hero typing */
.hero-title .typed{
  position:relative !important;
  z-index:9 !important;
}
.hero-title .typed .hero-line:first-child{
  white-space:nowrap !important;
}

/* Lift floating banner a little higher */
.ribbon-wrap{
  bottom:116px !important;
}

/* Single fixed background layer behind sections 2-4 */
#sectionBackgroundLayer{
  position:fixed !important;
  inset:0 !important;
  z-index:1 !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  transition:opacity .35s ease !important;
}
#sectionBackgroundLayer .section-background-image{
  position:absolute !important;
  inset:0 !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  transform:scale(1.02) !important;
}
#sectionBackgroundLayer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:
    linear-gradient(90deg, rgba(5,16,38,.76) 0%, rgba(5,16,38,.54) 30%, rgba(5,16,38,.20) 70%, rgba(5,16,38,.08) 100%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%) !important;
}
body.has-section-background #sectionBackgroundLayer{
  opacity:1 !important;
}
body.section-bg-commercial #sectionBackgroundLayer .section-background-image{
  background-image:url('images/commercial-building.jpg') !important;
}

/* Hide per-section backgrounds so content glides over the single fixed layer */
#overview.section-skyline,
#about.section-skyline,
#capabilities.section-capabilities{
  background:transparent !important;
}
#overview.section-skyline > .section-bg,
#about.section-skyline > .section-bg,
#capabilities.section-capabilities > .section-bg{
  display:none !important;
}
#overview.section-skyline::before,
#overview.section-skyline::after,
#about.section-skyline::before,
#about.section-skyline::after,
#capabilities.section-capabilities::before,
#capabilities.section-capabilities::after{
  display:none !important;
}

/* Keep content visible above fixed layer */
#overview .container,
#about .container,
#capabilities .container,
#footprint .container,
#contact .container{
  position:relative !important;
  z-index:8 !important;
}
#overview .premium-table,
#about .about-copy,
#about .infographic-panel,
#capabilities .section-head,
#capabilities .cap-card,
#footprint .premium-panel,
#contact .premium-panel{
  position:relative !important;
  z-index:9 !important;
}

/* Map: markers only, no visible names, add India */
.map-wrap{
  min-height:580px !important;
}
.map-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.map-pin{
  position:absolute !important;
  width:18px !important;
  height:18px !important;
  padding:0 !important;
  border-radius:999px !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  background:currentColor !important;
  border:2px solid rgba(255,255,255,.9) !important;
  box-shadow:0 0 0 10px rgba(255,255,255,.03), 0 0 24px currentColor !important;
}
.map-pin::before{
  content:"" !important;
  position:absolute !important;
  inset:-9px !important;
  border-radius:999px !important;
  border:1px solid currentColor !important;
  opacity:.32 !important;
}
.map-pin::after{
  content:"" !important;
  position:absolute !important;
  inset:-18px !important;
  border-radius:999px !important;
  background:radial-gradient(circle, rgba(255,255,255,.03) 0%, transparent 70%) !important;
}
.pin-uk{left:51% !important; top:23% !important; color:#ffbd6d !important}
.pin-sa{left:56% !important; top:63% !important; color:#3ad3ff !important}
.pin-zw{left:60% !important; top:56% !important; color:#ff77c5 !important}
.pin-zm{left:58% !important; top:53% !important; color:#b2ff6f !important}
.pin-ke{left:60% !important; top:47% !important; color:#c08dff !important}
.pin-in{left:67% !important; top:39% !important; color:#ff8b5e !important}
.swatch.in{background:#ff8b5e !important;}

@media (max-width: 900px){
  .hero > .welcome-line{
    width:min(90vw, 680px) !important;
    max-width:min(90vw, 680px) !important;
    font-size:16px !important;
  }
  .ribbon-wrap{
    bottom:104px !important;
  }
}


/* v33 premium refinements */
body{background:#071226 !important;}
main{position:relative !important; z-index:4 !important;}
.hero,#overview,#about,#capabilities,#footprint,#contact,.footer{position:relative !important; z-index:4 !important;}

/* section breaks */
.premium-break{
  position:relative; z-index:10; height:72px; display:flex; align-items:center; justify-content:center;
  margin:-12px 0 -4px; pointer-events:none;
}
.premium-break::before{
  content:""; width:min(86vw,1180px); height:1px; display:block;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(134,215,255,.28) 18%, rgba(255,215,162,.42) 50%, rgba(134,215,255,.28) 82%, rgba(255,255,255,0));
}
.premium-break span{
  position:absolute; width:10px; height:10px; border-radius:999px;
  background:linear-gradient(135deg, #ffd6a3, #7ee9ff);
  box-shadow:0 0 0 10px rgba(255,255,255,.02), 0 0 18px rgba(126,233,255,.24);
}

/* hero prelude and welcome */
.hero{min-height:100svh !important; overflow:hidden !important;}
.hero .hero-base::before{
  content:"" !important; position:absolute !important; inset:-24% -24% !important; opacity:0 !important; pointer-events:none !important; z-index:2 !important;
  background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(138,214,255,.06) 22%, rgba(180,148,255,.12) 36%, rgba(255,154,214,.10) 50%, rgba(255,214,158,.12) 64%, rgba(255,255,255,0) 82%) !important;
  transform:translateX(-38%) rotate(-10deg) !important;
}
.hero.prelude-active .hero-base::before{opacity:1 !important; animation:heroPreludeSweep 1.18s linear infinite !important;}
@keyframes heroPreludeSweep{0%{transform:translateX(-42%) rotate(-10deg)}100%{transform:translateX(42%) rotate(-10deg)}}
.hero > .welcome-line{
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  width:min(84vw,780px) !important; max-width:min(84vw,780px) !important; margin:0 !important; text-align:center !important;
  font-size:20px !important; line-height:1.24 !important; font-weight:400 !important; letter-spacing:.01em !important;
  z-index:14 !important; opacity:0 !important; pointer-events:none !important; color:transparent !important; -webkit-text-fill-color:transparent !important;
}
.hero > .welcome-line.show{
  opacity:1 !important; transform:translate(-50%,-50%) !important;
  background:linear-gradient(90deg, #eef6ff 0%, #6fd3ff 16%, #a88cff 32%, #ff8ed3 48%, #ffd08a 64%, #7fe7ff 82%, #eef6ff 100%) !important;
  background-size:220% 100% !important; -webkit-background-clip:text !important; background-clip:text !important;
  animation:welcomeFloat 2.8s ease-in-out infinite, welcomeSwipe 1.22s linear infinite !important;
  text-shadow:0 0 18px rgba(120,190,255,.16) !important;
}
.hero > .welcome-line.fade-out{opacity:0 !important; transform:translate(-50%,-55%) !important; animation:none !important;}
.hero > .welcome-line .word{display:inline-block !important; white-space:nowrap !important; color:inherit !important; -webkit-text-fill-color:inherit !important;}
.hero > .welcome-line .word + .word{margin-left:.26em !important;}
@keyframes welcomeFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-53%)}}
@keyframes welcomeSwipe{0%{background-position:0% 50%}100%{background-position:220% 50%}}
.hero-title .typed{position:relative !important; z-index:9 !important;}
.hero-title .typed .hero-line:first-child{white-space:nowrap !important;}

/* lift floating banner */
.ribbon-wrap{bottom:126px !important;}
@media (max-width:900px){.ribbon-wrap{bottom:110px !important;}}

/* fixed image layer behind sections */
#sectionBackgroundLayer{
  position:fixed !important; inset:0 !important; z-index:1 !important; opacity:0 !important; pointer-events:none !important; overflow:hidden !important; transition:opacity .35s ease !important;
}
#sectionBackgroundLayer .section-background-image{
  position:absolute !important; inset:0 !important; background-position:center center !important; background-size:cover !important; background-repeat:no-repeat !important; transform:scale(1.02) !important;
}
#sectionBackgroundLayer::before{
  content:"" !important; position:absolute !important; inset:0 !important; z-index:2 !important;
  background:linear-gradient(90deg, rgba(5,16,38,.74) 0%, rgba(5,16,38,.52) 30%, rgba(5,16,38,.18) 70%, rgba(5,16,38,.08) 100%), linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 34%) !important;
}
body.has-section-background #sectionBackgroundLayer{opacity:1 !important;}
body.section-bg-commercial #sectionBackgroundLayer .section-background-image{background-image:url('images/commercial-building.jpg') !important;}
body.section-bg-contact #sectionBackgroundLayer .section-background-image{background-image:url('images/contact-footprint-bg.jpg') !important;}
#overview.section-skyline,#about.section-skyline,#capabilities.section-capabilities,#footprint.section-photo-glide,#contact.section-photo-glide{background:transparent !important;}
#overview.section-skyline > .section-bg,#about.section-skyline > .section-bg,#capabilities.section-capabilities > .section-bg,#contact.section-photo-glide > .section-bg{display:none !important;}
#overview .container,#about .container,#capabilities .container,#footprint .container,#contact .container{position:relative !important; z-index:8 !important;}
#overview .premium-table,#about .about-copy,#about .infographic-panel,#capabilities .section-head,#capabilities .cap-card,#footprint .footprint-copy,#footprint .map-panel,#contact .premium-panel{position:relative !important; z-index:9 !important;}

/* luxurious about section */
.about-grid.about-lux-grid{align-items:stretch !important; grid-template-columns:1.05fr .95fr !important; gap:28px !important;}
.about-lux-copy{
  padding:34px 34px 30px !important; border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.74), rgba(7,18,38,.88)) !important;
  border:1px solid rgba(255,255,255,.10) !important; box-shadow:0 28px 80px rgba(1,8,20,.28) !important; backdrop-filter:blur(12px) !important;
}
.about-lux-copy h2{max-width:14ch; margin-bottom:16px !important;}
.about-lead{font-size:15px !important; color:#d7e5f7 !important; max-width:60ch;}
.about-stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:26px 0 18px;}
.about-stat{padding:16px 16px 14px; border-radius:20px; background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.08);}
.about-stat strong{display:block; font-size:15px; color:#fff; margin-bottom:4px;}
.about-stat span{font-size:12px; color:#aecaeb; line-height:1.35;}
.about-points.premium-points{display:grid; gap:12px; margin-top:10px;}
.about-points.premium-points div{padding:16px 18px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);}
.about-signature{margin-top:18px; padding:16px 18px; border-radius:20px; background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.08); color:#f2f7ff;}
.infographic-panel{
  padding:22px !important; border-radius:32px !important; background:linear-gradient(180deg, rgba(10,26,54,.66), rgba(7,18,38,.90)) !important; border:1px solid rgba(255,255,255,.10) !important;
}
.infographic-panel img{display:block; width:100%; border-radius:24px !important; border:1px solid rgba(255,255,255,.08) !important;}
@media (max-width: 900px){
  .about-grid.about-lux-grid{grid-template-columns:1fr !important;}
  .about-stat-row{grid-template-columns:1fr !important;}
}

/* footprint/contact background image and map refresh */
#footprint .footprint-copy,#footprint .map-panel,#contact .premium-panel{
  background:linear-gradient(180deg, rgba(11,28,58,.72), rgba(7,18,38,.90)) !important; border:1px solid rgba(255,255,255,.10) !important; backdrop-filter:blur(10px) !important;
}
.map-panel{padding:22px; border-radius:32px; box-shadow:var(--shadow);}
.map-wrap{position:relative; border-radius:24px; overflow:hidden; background:#07162c; min-height:480px !important; display:flex; align-items:center; justify-content:center;}
.map-wrap img{width:100% !important; height:auto !important; object-fit:contain !important; transform:none !important; display:block;}
.map-pin{display:none !important;}
.swatch.in{background:#ff8b5e !important; box-shadow:0 0 0 6px rgba(255,139,94,.12) !important;}

/* compact dropdown kept */
#capabilitiesDropdown{position:relative !important;}
#capabilitiesDropdown > .dropdown-menu.cap-menu{width:214px !important; min-width:214px !important; max-width:214px !important;}
#capabilitiesDropdown > .dropdown-menu.cap-menu a{font-size:10px !important; line-height:1.12 !important;}


/* v34 premium map and simplified infographic */
.map-panel{
  padding:24px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.78), rgba(7,18,38,.96)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.26) !important;
}
.map-wrap{
  position:relative !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg, #09182e, #071226) !important;
  min-height:520px !important;
}
.map-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  transform:none !important;
  padding:10px !important;
}
.map-pin{display:none !important;}

.footprint-grid{
  grid-template-columns:.92fr 1.08fr !important;
  align-items:stretch !important;
}
.footprint-copy{
  padding:34px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.72), rgba(7,18,38,.88)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.24) !important;
  backdrop-filter:blur(12px) !important;
}
.footprint-row{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(255,255,255,.08) !important;
}

.infographic-panel{
  padding:20px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.58), rgba(7,18,38,.24)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.22) !important;
}
.infographic-panel img{
  width:100% !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}

.about-grid.about-lux-grid{
  grid-template-columns:1fr 1fr !important;
  align-items:stretch !important;
}
.about-lux-copy{
  padding:36px 36px 32px !important;
}
.about-lux-copy h2{
  max-width:15ch !important;
}
.about-lead{
  font-size:16px !important;
  line-height:1.7 !important;
  color:#dbe7f7 !important;
}
.about-stat{
  background:rgba(255,255,255,.04) !important;
}
.premium-break{
  margin:20px 0 !important;
}
.premium-break span{
  opacity:.85 !important;
}

@media (max-width: 980px){
  .footprint-grid,
  .about-grid.about-lux-grid{
    grid-template-columns:1fr !important;
  }
  .map-wrap{
    min-height:420px !important;
  }
}


/* v35 team page rebuild + premium infographic */
.team-rebuilt-main{
  background:
    radial-gradient(circle at 82% 12%, rgba(255,139,43,.08), rgba(255,139,43,0) 18%),
    linear-gradient(180deg, rgba(7,18,38,.86), rgba(7,18,38,.98)) !important;
}

.team-hero-banner{
  position:relative;
  min-height:68svh;
  display:flex;
  align-items:end;
  overflow:hidden;
}
.team-hero-media{
  position:absolute;
  inset:0;
}
.team-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.02) contrast(1.02) brightness(.82);
}
.team-hero-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(7,18,38,.18), rgba(7,18,38,.56) 48%, rgba(7,18,38,.88) 100%),
    linear-gradient(90deg, rgba(7,18,38,.60), rgba(7,18,38,.20) 48%, rgba(7,18,38,.30));
}
.team-hero-content{
  position:relative;
  z-index:2;
  padding-top:140px;
  padding-bottom:48px;
}
.team-hero-copy{
  width:min(860px, 100%);
  padding:34px 34px 30px;
  background:linear-gradient(180deg, rgba(9,24,52,.50), rgba(7,18,38,.60));
  backdrop-filter:blur(8px);
}

.team-stats-section{
  padding-top:34px;
}
.team-stats-shell{
  padding:34px;
  border-radius:34px;
  background:linear-gradient(180deg, rgba(11,28,58,.72), rgba(7,18,38,.92));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 80px rgba(1,8,20,.24);
}
.team-stats-head{
  max-width:760px;
  margin-bottom:24px;
}
.team-stats-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.team-stat-card{
  padding:24px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
}
.team-stat-card strong{
  display:block;
  font-size:48px;
  line-height:1;
  letter-spacing:-.05em;
  margin:12px 0 10px;
}
.team-stat-kicker{
  display:block;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9ab0cd;
}
.team-stat-card p{
  margin:0;
  color:#c9d8ea;
}

.team-ethos-section{
  padding-top:16px;
  padding-bottom:88px;
}
.team-ethos-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:28px;
  align-items:stretch;
}
.team-ethos-copy{
  padding:34px;
}
.team-ethos-note{
  margin-top:22px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  color:#f2f6fd;
}
.team-ethos-cards{
  display:grid;
  gap:18px;
}
.team-ethos-card{
  padding:26px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(11,28,58,.68), rgba(7,18,38,.92));
  border:1px solid rgba(255,255,255,.10);
}
.ethos-no{
  display:inline-flex;
  width:34px;
  height:34px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  font-size:11px;
  letter-spacing:.14em;
  color:#dce9f8;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.team-ethos-card h3{
  margin:16px 0 10px;
}
.team-ethos-card p{
  margin:0;
  color:#cbd9ea;
}

/* cleaner about infographic presentation */
.infographic-panel{
  padding:20px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.58), rgba(7,18,38,.22)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.22) !important;
}
.infographic-panel img{
  width:100% !important;
  display:block !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}

@media (max-width: 1100px){
  .team-stats-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .team-ethos-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .team-hero-banner{
    min-height:58svh;
  }
  .team-hero-content{
    padding-top:118px;
    padding-bottom:28px;
  }
  .team-hero-copy,
  .team-stats-shell,
  .team-ethos-copy,
  .team-ethos-card{
    padding:24px;
  }
  .team-stats-grid{
    grid-template-columns:1fr;
  }
  .team-stat-card strong{
    font-size:40px;
  }
}


/* v37 team dashboard, premium dropdown, one-session intro */
.team-menu{
  min-width:228px !important;
  width:228px !important;
}
.team-menu a{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 10px !important;
  align-items:start !important;
  column-gap:8px !important;
}
.team-menu a span:first-child{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.team-dashboard-main{
  background:
    radial-gradient(circle at 78% 12%, rgba(255,139,43,.08), rgba(255,139,43,0) 18%),
    linear-gradient(180deg, rgba(7,18,38,.70), rgba(7,18,38,.96)) !important;
}
.team-page{
  background:#071226;
}
.team-page::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,18,38,.78), rgba(7,18,38,.54) 40%, rgba(7,18,38,.38)),
    linear-gradient(135deg, rgba(81,157,255,.18), rgba(81,157,255,0) 32%),
    url('images/team-intro.jpg') center center / cover no-repeat;
  filter:saturate(1.02) contrast(1.02) brightness(.68);
  z-index:0;
  pointer-events:none;
}
.team-page .nav,
.team-page main,
.team-page footer{
  position:relative;
  z-index:2;
}
.team-stage{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.team-stage-bg,
.team-stage-overlay{
  display:none;
}
.team-stage-shell{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:34px;
  align-items:center;
  padding-top:140px;
  padding-bottom:84px;
}
.team-stage-copy{
  max-width:760px;
}
.team-stage-copy h1{
  max-width:12ch;
  font-size:clamp(42px, 5vw, 76px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 18px;
}
.team-stage-copy .lead{
  max-width:58ch;
  color:#d6e3f5;
}
.team-dashboard-nav{
  justify-self:end;
  width:min(360px, 100%);
  display:grid;
  gap:14px;
  opacity:0;
  transform:translateY(18px);
}
.team-dashboard-nav.revealed{
  opacity:1;
  transform:none;
}
.team-nav-card{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  border-radius:0;
  padding:18px 20px;
  background:linear-gradient(180deg, rgba(10,24,52,.82), rgba(7,18,38,.96));
  color:#eef5ff;
  text-align:left;
  box-shadow:0 18px 50px rgba(1,8,20,.20);
  backdrop-filter:blur(10px);
  transform:translateX(24px);
  opacity:0;
  transition:.28s ease;
  cursor:pointer;
}
.team-dashboard-nav.revealed .team-nav-card{
  animation:teamCardIn .55s ease forwards;
}
.team-dashboard-nav.revealed .team-nav-card:nth-child(2){animation-delay:.12s}
.team-dashboard-nav.revealed .team-nav-card:nth-child(3){animation-delay:.24s}
@keyframes teamCardIn{
  from{opacity:0; transform:translateX(24px)}
  to{opacity:1; transform:none}
}
.team-nav-card:hover,
.team-nav-card.active{
  border-color:rgba(111,211,255,.36);
  background:linear-gradient(180deg, rgba(12,31,65,.92), rgba(7,18,38,.98));
  box-shadow:0 20px 56px rgba(1,8,20,.24), inset 0 0 0 1px rgba(111,211,255,.12);
}
.team-nav-kicker{
  display:block;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9ab0cd;
  margin-bottom:8px;
}
.team-nav-card strong{
  font-size:21px;
  font-weight:600;
}

.team-content-section{
  padding-top:14px;
  padding-bottom:92px;
}
.team-detail-shell{
  display:none;
}
.team-detail-shell.shown{
  display:block;
}
.team-detail-panel{
  display:none;
}
.team-detail-panel.active{
  display:block;
}
.team-detail-grid{
  display:grid;
  grid-template-columns:.96fr 1.04fr;
  gap:30px;
  align-items:stretch;
}
.team-detail-media{
  margin:0;
  border-radius:32px;
  overflow:hidden;
  min-height:560px;
  position:relative;
  box-shadow:0 26px 80px rgba(1,8,20,.24);
  border:1px solid rgba(255,255,255,.10);
}
.team-detail-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(7,18,38,.20), rgba(7,18,38,.46) 48%, rgba(7,18,38,.68) 100%),
    linear-gradient(90deg, rgba(47,121,217,.32), rgba(47,121,217,.12) 48%, rgba(47,121,217,.26));
  z-index:1;
}
.team-detail-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.02) contrast(1.02) brightness(.76) hue-rotate(8deg);
}
.team-detail-copy{
  padding:34px;
  border-radius:32px;
  background:linear-gradient(180deg, rgba(10,24,52,.68), rgba(7,18,38,.92));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 80px rgba(1,8,20,.22);
}
.team-quote{
  margin:20px 0 0;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:#f4f8ff;
  font-size:18px;
  line-height:1.7;
}
.team-quote-by{
  margin:14px 0 0;
  color:#9fbcde;
  letter-spacing:.02em;
  font-size:14px;
}
.team-detail-points{
  margin-top:24px;
  display:grid;
  gap:14px;
}
.team-detail-points > div{
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
}
.team-detail-points strong,
.team-detail-points span{
  display:block;
}
.team-detail-points strong{
  margin-bottom:4px;
}

.team-stats-grid-compact{
  margin-top:24px;
  grid-template-columns:repeat(2, 1fr) !important;
}
.inline-ethos{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.inline-ethos .team-ethos-card{
  padding:22px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(11,28,58,.66), rgba(7,18,38,.92));
  border:1px solid rgba(255,255,255,.09);
}
.inline-ethos .team-ethos-card p{
  color:#cad9ea;
}

.infographic-panel{
  padding:20px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.58), rgba(7,18,38,.22)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.22) !important;
}
.infographic-panel img{
  width:100% !important;
  display:block !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}

@media (max-width: 1100px){
  .team-stage-shell{
    grid-template-columns:1fr;
    padding-top:124px;
    gap:22px;
  }
  .team-dashboard-nav{
    justify-self:start;
    width:min(420px, 100%);
  }
  .team-detail-grid{
    grid-template-columns:1fr;
  }
  .team-detail-media{
    min-height:420px;
  }
}
@media (max-width: 760px){
  .team-page::before{
    background-position:center center;
  }
  .team-stage-copy h1{
    font-size:clamp(34px, 10vw, 52px);
  }
  .team-nav-card{
    padding:16px 18px;
  }
  .team-detail-copy{
    padding:24px;
  }
  .team-stats-grid-compact{
    grid-template-columns:1fr !important;
  }
}


/* v38 hero typography + welcome swoosh + dropdown hardening */
.hero > .welcome-line{
  top:47% !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
}
.hero > .welcome-line.show{
  background:linear-gradient(90deg, rgba(236,245,255,.96) 0%, rgba(173,223,255,.92) 18%, rgba(241,247,255,.98) 38%, rgba(173,223,255,.92) 58%, rgba(241,247,255,.98) 78%, rgba(173,223,255,.92) 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  animation:welcomeFloat 2.8s ease-in-out infinite, welcomeSwoosh 1.45s linear infinite !important;
  text-shadow:none !important;
}
.hero > .welcome-line .word{
  font-weight:400 !important;
}
@keyframes welcomeSwoosh{
  0%{background-position:-120% 50%}
  100%{background-position:120% 50%}
}

.hero-title .typed .hero-line:first-child{
  font-size:.82em !important;
  letter-spacing:.012em !important;
  font-weight:400 !important;
}
.hero-title .typed .hero-line.hero-meta{
  font-size:.72em !important;
  line-height:1.18 !important;
  letter-spacing:.02em !important;
  font-weight:500 !important;
}

.menu .dropdown > button{
  position:relative !important;
}
.menu .dropdown > .dropdown-menu{
  z-index:250 !important;
}


/* v39 team hub rebuild + attached infographic */
.about-copy,
.infographic-panel{
  align-self:stretch !important;
}
.infographic-panel{
  padding:18px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.58), rgba(7,18,38,.22)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.22) !important;
}
.infographic-panel img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:26px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}

.team-hub-main{
  min-height:100svh;
  background:#071226;
}
.team-page{
  background:#071226;
}
.team-page::before{
  display:none !important;
}
.team-hub{
  position:relative;
  min-height:100svh;
  overflow:hidden;
}
.team-hub-bg,
.team-hub-tint{
  position:absolute;
  inset:0;
}
.team-hub-bg{
  z-index:0;
}
.team-hub-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:filter .36s ease, transform .46s ease, opacity .36s ease;
  filter:none;
}
.team-hub-tint{
  z-index:1;
  opacity:0;
  background:
    linear-gradient(90deg, rgba(7,18,38,.64), rgba(7,18,38,.28) 38%, rgba(7,18,38,.46)),
    linear-gradient(135deg, rgba(59,128,255,.18), rgba(59,128,255,0) 32%);
  transition:opacity .34s ease;
}
.team-hub.is-tinted .team-hub-tint{
  opacity:1;
}
.team-hub.is-tinted .team-hub-bg img{
  filter:saturate(1.02) contrast(1.02) brightness(.74);
}
.team-hub-shell{
  position:relative;
  z-index:3;
  min-height:100svh;
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:44px;
  align-items:center;
  padding-top:140px;
  padding-bottom:72px;
}
.team-hub-nav{
  align-self:center;
  display:grid;
  gap:14px;
  opacity:0;
  transform:translateX(-14px);
}
.team-hub-nav.revealed{
  opacity:1;
  transform:none;
}
.team-hub-tab{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  border-radius:0;
  padding:18px 18px;
  background:linear-gradient(180deg, rgba(9,24,52,.76), rgba(7,18,38,.92));
  color:#eef5ff;
  text-align:left;
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
  cursor:pointer;
  opacity:0;
  transform:translateX(22px);
  box-shadow:0 16px 40px rgba(1,8,20,.22);
  transition:.28s ease;
}
.team-hub-nav.revealed .team-hub-tab{
  animation:teamHubCardIn .55s ease forwards;
}
.team-hub-nav.revealed .team-hub-tab:nth-child(2){animation-delay:.12s}
.team-hub-nav.revealed .team-hub-tab:nth-child(3){animation-delay:.24s}
@keyframes teamHubCardIn{
  from{opacity:0; transform:translateX(22px)}
  to{opacity:1; transform:none}
}
.team-hub-tab:hover,
.team-hub-tab.active{
  border-color:rgba(111,211,255,.42);
  box-shadow:
    0 0 0 1px rgba(111,211,255,.16) inset,
    0 0 0 4px rgba(111,211,255,.08),
    0 18px 42px rgba(1,8,20,.26);
  background:linear-gradient(180deg, rgba(12,31,65,.92), rgba(7,18,38,.98));
}
.team-hub-content{
  max-width:760px;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
}
.team-hub-content.shown{
  opacity:1;
  transform:none;
  pointer-events:auto;
  transition:opacity .28s ease, transform .28s ease;
}
.team-hub-panel{
  display:none;
}
.team-hub-panel.active{
  display:block;
}
.team-hub-panel h1{
  max-width:14ch;
  font-size:clamp(34px, 4vw, 62px);
  line-height:1.03;
  letter-spacing:-.04em;
  margin:0 0 18px;
  color:#f4f8ff;
}
.team-hub-panel .kicker{
  margin-bottom:12px;
}
.team-quote{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.68;
  color:#e7effb;
  border-left:2px solid rgba(111,211,255,.40);
  padding-left:18px;
  max-width:56ch;
}
.team-quote-by{
  margin:0 0 24px;
  color:#a9c2df;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.team-detail-points{
  display:grid;
  gap:14px;
  max-width:58ch;
}
.team-detail-points > div{
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.team-detail-points strong{
  display:block;
  margin-bottom:5px;
  font-size:15px;
}
.team-detail-points span{
  color:#d0dceb;
}

.team-stats-grid-compact{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:16px !important;
  max-width:720px;
}
.team-stats-grid-compact .team-stat-card{
  border-radius:22px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.team-stats-grid-compact .team-stat-card strong{
  font-size:44px;
}

.inline-ethos{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  max-width:780px;
}
.inline-ethos .team-ethos-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.inline-ethos .team-ethos-card h3{
  margin:14px 0 10px;
}
.inline-ethos .team-ethos-card p{
  color:#d0dceb;
}

@media (max-width: 1100px){
  .team-hub-shell{
    grid-template-columns:220px minmax(0, 1fr);
    gap:28px;
  }
  .inline-ethos{
    grid-template-columns:1fr;
  }
}
@media (max-width: 820px){
  .team-hub-shell{
    grid-template-columns:1fr;
    align-items:end;
    padding-top:120px;
  }
  .team-hub-nav{
    max-width:320px;
    order:2;
  }
  .team-hub-content{
    order:1;
    max-width:100%;
  }
  .team-stats-grid-compact{
    grid-template-columns:1fr 1fr !important;
  }
}
@media (max-width: 620px){
  .team-hub-shell{
    padding-top:108px;
    padding-bottom:48px;
  }
  .team-hub-tab{
    font-size:14px;
    padding:16px 16px;
  }
  .team-hub-panel h1{
    font-size:clamp(28px, 9vw, 44px);
  }
  .team-quote{
    font-size:16px;
  }
  .team-stats-grid-compact{
    grid-template-columns:1fr !important;
  }
}


/* v40 landing full bleed + team fixed-background dashboard refinements */
html, body{
  overflow-x:hidden !important;
}
.hero{
  position:relative !important;
  overflow:hidden !important;
}
.hero-base{
  position:absolute !important;
  inset:0 !important;
  width:100vw !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}
.hero-base::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:-3vw !important;
  right:-3vw !important;
  width:auto !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:none !important;
}
.hero.skyline-reveal .hero-base::after{
  transform:none !important;
}

.team-page{
  background:#071226 !important;
}
.team-page::before{
  display:none !important;
}
.team-hub{
  min-height:100svh !important;
  background:transparent !important;
}
.team-hub-bg{
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
}
.team-hub-bg img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:none !important;
  transition:filter .95s ease, transform 1s ease, opacity .5s ease !important;
  transform:scale(1.01) !important;
}
.team-hub-tint{
  position:fixed !important;
  inset:0 !important;
  z-index:1 !important;
  opacity:0 !important;
  background:
    linear-gradient(90deg, rgba(7,18,38,.74), rgba(7,18,38,.28) 40%, rgba(7,18,38,.52)),
    linear-gradient(135deg, rgba(66,135,255,.18), rgba(66,135,255,0) 34%) !important;
  transition:opacity .95s ease !important;
}
.team-hub.is-tinted .team-hub-tint{
  opacity:1 !important;
}
.team-hub.is-tinted .team-hub-bg img{
  filter:saturate(1.02) contrast(1.02) brightness(.75) !important;
}

.team-hub-shell{
  position:relative !important;
  z-index:3 !important;
  min-height:100svh !important;
  display:grid !important;
  grid-template-columns:220px minmax(0, 1fr) !important;
  gap:48px !important;
  align-items:start !important;
  padding-top:calc(var(--nav-h) + 34px) !important;
  padding-bottom:72px !important;
}
.team-hub-nav{
  position:sticky !important;
  top:calc(var(--nav-h) + 26px) !important;
  align-self:start !important;
  justify-self:start !important;
  width:220px !important;
  z-index:20 !important;
  display:grid !important;
  gap:12px !important;
  opacity:0 !important;
  transform:translateX(-14px) !important;
}
.team-hub-nav.revealed{
  opacity:1 !important;
  transform:none !important;
}
.team-hub-tab{
  border-radius:0 !important;
  padding:16px 16px !important;
  min-height:52px !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  line-height:1.18 !important;
  text-transform:none !important;
  box-shadow:0 16px 38px rgba(1,8,20,.22) !important;
}
.team-hub-tab:hover,
.team-hub-tab.active{
  border-color:rgba(111,211,255,.50) !important;
  box-shadow:
    0 0 0 1px rgba(111,211,255,.20) inset,
    0 0 0 6px rgba(111,211,255,.10),
    0 22px 46px rgba(1,8,20,.28) !important;
}
.team-hub-content{
  position:relative !important;
  z-index:4 !important;
  max-width:760px !important;
  margin-left:auto !important;
  opacity:0 !important;
  transform:translateY(12px) !important;
  pointer-events:none !important;
  transition:opacity .72s ease, transform .72s ease !important;
}
.team-hub-content.shown{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.team-hub-panel{
  display:none !important;
}
.team-hub-panel.active{
  display:block !important;
}
.team-hub-panel h1{
  max-width:14ch !important;
  font-size:clamp(34px, 4vw, 62px) !important;
  line-height:1.04 !important;
  letter-spacing:-.04em !important;
  margin:0 0 18px !important;
}
.team-quote{
  max-width:56ch !important;
  color:#e9f1fb !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  border-left:2px solid rgba(111,211,255,.42) !important;
  border-radius:18px !important;
  padding:18px 20px !important;
  font-size:18px !important;
  line-height:1.68 !important;
}
.team-quote-by{
  margin:12px 0 24px !important;
}
.team-detail-points{
  display:grid !important;
  gap:14px !important;
}
.team-detail-points > div{
  padding:16px 18px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

.team-stats-grid-compact{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:16px !important;
}
.team-stats-grid-compact .team-stat-card{
  backdrop-filter:blur(10px) !important;
}
.inline-ethos{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
}

@media (max-width: 980px){
  .team-hub-shell{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  .team-hub-nav{
    position:sticky !important;
    top:calc(var(--nav-h) + 16px) !important;
    width:min(280px, 100%) !important;
  }
  .team-hub-content{
    max-width:100% !important;
    margin-left:0 !important;
  }
  .inline-ethos{
    grid-template-columns:1fr !important;
  }
}
@media (max-width: 720px){
  .team-hub-shell{
    padding-top:calc(var(--nav-h) + 18px) !important;
    padding-bottom:48px !important;
  }
  .team-hub-tab{
    min-height:48px !important;
    font-size:13px !important;
  }
  .team-stats-grid-compact{
    grid-template-columns:1fr !important;
  }
}


/* v43 expertise + footprint pages, fixed nav, infographic fit, larger world map */
.nav{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:600 !important;
}
.nav-inner,
.menu,
.nav-right{
  overflow:visible !important;
}
.menu .dropdown > .dropdown-menu{
  z-index:700 !important;
}
.subpage-main{
  padding-top:var(--nav-h) !important;
}

/* keep hero background truly full bleed */
.hero-base{
  position:absolute !important;
  inset:0 !important;
  left:50% !important;
  width:100vw !important;
  transform:translateX(-50%) !important;
}
.hero-base::after{
  left:-4vw !important;
  right:-4vw !important;
  width:auto !important;
}

/* About infographic must fit cleanly */
.infographic-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.infographic-panel img{
  width:100% !important;
  height:auto !important;
  max-height:min(80vh, 780px) !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  padding:10px !important;
  background:#071226 !important;
  border-radius:26px !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

/* Expertise page */
.expertise-hero{
  background:
    linear-gradient(180deg, rgba(7,18,38,.82), rgba(7,18,38,.62)),
    url('assets/images/commercial-building.jpg') center center / cover no-repeat;
}
.expertise-page-section{
  position:relative !important;
  overflow:hidden !important;
}

/* Footprint page */
.footprint-hero{
  background:
    linear-gradient(180deg, rgba(7,18,38,.84), rgba(7,18,38,.64)),
    url('assets/images/contact-footprint-bg.jpg') center center / cover no-repeat;
}
.footprint-page-section{
  padding-top:26px !important;
  padding-bottom:80px !important;
}
.footprint-page-grid{
  display:grid !important;
  grid-template-columns:.92fr 1.08fr !important;
  gap:28px !important;
  align-items:stretch !important;
}
.footprint-page-map{
  padding:24px !important;
  border-radius:32px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.78), rgba(7,18,38,.96)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 80px rgba(1,8,20,.26) !important;
}
.footprint-page-map-wrap{
  min-height:680px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#08162a !important;
}
.footprint-page-map-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  padding:0 !important;
  transform:none !important;
  background:#08162a !important;
}

/* home no expertise/footprint sections anymore */
.home-page #about{
  margin-top:10px !important;
}

@media (max-width: 980px){
  .footprint-page-grid{
    grid-template-columns:1fr !important;
  }
  .footprint-page-map-wrap{
    min-height:520px !important;
  }
}
@media (max-width: 720px){
  .footprint-page-map-wrap{
    min-height:420px !important;
  }
}


/* v44 team initial-state refinement */
.team-hub-nav{
  opacity:1 !important;
  transform:none !important;
}
.team-hub-nav.revealed{
  opacity:1 !important;
  transform:none !important;
}
.team-hub-tab{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}
.team-hub-tab.is-default-glow{
  border-color:rgba(111,211,255,.50) !important;
  box-shadow:
    0 0 0 1px rgba(111,211,255,.20) inset,
    0 0 0 6px rgba(111,211,255,.10),
    0 22px 46px rgba(1,8,20,.28) !important;
  background:linear-gradient(180deg, rgba(12,31,65,.92), rgba(7,18,38,.98)) !important;
}
.team-hub-content{
  opacity:0 !important;
  transform:translateY(12px) !important;
  pointer-events:none !important;
}
.team-hub-content.shown{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.team-hub:not(.is-tinted) .team-hub-bg img{
  filter:none !important;
}
.team-hub:not(.is-tinted) .team-hub-tint{
  opacity:0 !important;
}


/* v45 team option-only default state + moving halo + return button */
.team-hub-nav{
  opacity:1 !important;
  transform:none !important;
}
.team-hub-nav.revealed{
  opacity:1 !important;
  transform:none !important;
}
.team-hub-tab{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}
.team-hub-tab.is-default-glow{
  border-color:rgba(111,211,255,.52) !important;
  box-shadow:
    0 0 0 1px rgba(111,211,255,.22) inset,
    0 0 0 6px rgba(111,211,255,.12),
    0 22px 46px rgba(1,8,20,.30) !important;
  background:linear-gradient(180deg, rgba(12,31,65,.94), rgba(7,18,38,.98)) !important;
}
.team-hub-content{
  opacity:0 !important;
  transform:translateY(16px) !important;
  pointer-events:none !important;
  transition:opacity .78s ease, transform .78s ease !important;
}
.team-hub-content.shown{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.team-hub-panel{
  display:none !important;
}
.team-hub-panel.active{
  display:block !important;
}
.team-hub:not(.is-tinted) .team-hub-bg img{
  filter:none !important;
}
.team-hub:not(.is-tinted) .team-hub-tint{
  opacity:0 !important;
}
.team-hub.is-tinted .team-hub-tint{
  transition:opacity .95s ease !important;
}
.team-hub.is-tinted .team-hub-bg img{
  transition:filter 1.05s ease, transform 1.05s ease, opacity .5s ease !important;
}
.team-panel-actions{
  margin-top:24px !important;
}
.team-return-btn{
  border-radius:0 !important;
  padding:14px 18px !important;
}


/* v46 team options only on main state */
.team-hub.panel-open .team-hub-nav{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(-20px) !important;
  transition:opacity .35s ease, transform .35s ease, visibility .35s ease !important;
}
.team-hub:not(.panel-open) .team-hub-nav{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}
.team-hub.panel-open .team-hub-content{
  max-width:860px !important;
  margin-left:0 !important;
}


/* v49 darker team tint + global team statistics */
.team-hub-tint{
  background:
    linear-gradient(90deg, rgba(7,18,38,.84), rgba(7,18,38,.54) 40%, rgba(7,18,38,.70)),
    linear-gradient(135deg, rgba(50,118,255,.20), rgba(50,118,255,0) 34%) !important;
}
.team-hub.is-tinted .team-hub-bg img{
  filter:saturate(1.01) contrast(1.03) brightness(.60) !important;
}

.team-global-stats{
  margin-top:22px !important;
  padding:22px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
}
.team-global-stats-head{
  margin-bottom:16px !important;
}
.team-global-stats-head h3{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.15 !important;
}
.team-global-stats-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px !important;
}
.team-global-stat{
  padding:16px 16px 14px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
.team-global-stat-label{
  display:block !important;
  font-size:11px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#a9c2df !important;
  margin-bottom:10px !important;
}
.team-global-stat strong{
  display:block !important;
  font-size:36px !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
  color:#f4f8ff !important;
  margin-bottom:8px !important;
}
.team-global-stat small{
  display:block !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#d3dfed !important;
}

@media (max-width: 980px){
  .team-global-stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px){
  .team-global-stats-grid{
    grid-template-columns:1fr !important;
  }
}


/* v52 team + expertise interactive hub rebuild */
.team-hub-main,
.expertise-hub-main{
  background:#071226 !important;
  min-height:100svh !important;
}
.hub-stage{
  position:relative !important;
  min-height:100svh !important;
  overflow:hidden !important;
}
.hub-stage .hub-bg,
.hub-stage .hub-tint{
  position:fixed !important;
  inset:0 !important;
}
.hub-stage .hub-bg{
  z-index:0 !important;
}
.hub-stage .hub-bg img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transition:filter 1.05s ease, transform 1.05s ease, opacity .5s ease !important;
  filter:none !important;
  transform:scale(1.01) !important;
}
.hub-stage .hub-tint{
  z-index:1 !important;
  opacity:0 !important;
  transition:opacity .95s ease !important;
}
.team-hub-stage .hub-tint{
  background:
    linear-gradient(90deg, rgba(7,18,38,.84), rgba(7,18,38,.56) 40%, rgba(7,18,38,.72)),
    linear-gradient(135deg, rgba(50,118,255,.20), rgba(50,118,255,0) 34%) !important;
}
.expertise-hub-stage .hub-tint{
  background:
    linear-gradient(90deg, rgba(7,18,38,.86), rgba(7,18,38,.58) 42%, rgba(7,18,38,.76)),
    linear-gradient(135deg, rgba(50,118,255,.18), rgba(50,118,255,0) 32%) !important;
}
.hub-stage.is-tinted .hub-tint{
  opacity:1 !important;
}
.hub-stage.is-tinted .hub-bg img{
  filter:saturate(1.01) contrast(1.03) brightness(.60) !important;
}

.hub-shell,
.expertise-hub-shell{
  position:relative !important;
  z-index:4 !important;
  min-height:100svh !important;
  padding-top:calc(var(--nav-h) + 34px) !important;
  padding-bottom:72px !important;
}
.hub-shell-team{
  display:grid !important;
  grid-template-columns:220px minmax(0, 1fr) !important;
  gap:48px !important;
  align-items:start !important;
}
.expertise-hub-shell{
  display:grid !important;
  grid-template-columns:270px minmax(0, 1fr) 250px !important;
  gap:28px !important;
  align-items:start !important;
}

.hub-nav{
  display:grid !important;
  gap:12px !important;
  z-index:12 !important;
}
.hub-nav-left{
  position:sticky !important;
  top:calc(var(--nav-h) + 20px) !important;
  align-self:start !important;
}
.hub-nav-right{
  position:sticky !important;
  top:calc(var(--nav-h) + 20px) !important;
  align-self:start !important;
}
.hub-tab{
  appearance:none !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:0 !important;
  padding:16px 16px !important;
  min-height:52px !important;
  background:linear-gradient(180deg, rgba(9,24,52,.76), rgba(7,18,38,.92)) !important;
  color:#eef5ff !important;
  text-align:left !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  line-height:1.18 !important;
  cursor:pointer !important;
  box-shadow:0 16px 38px rgba(1,8,20,.22) !important;
  transition:.28s ease !important;
}
.hub-tab:hover,
.hub-tab.is-default-glow{
  border-color:rgba(255,167,86,.42) !important;
  box-shadow:
    0 0 0 1px rgba(255,167,86,.18) inset,
    0 0 0 6px rgba(255,167,86,.08),
    0 22px 46px rgba(1,8,20,.28) !important;
}
.hub-tab.active{
  color:#fff3e7 !important;
  border-color:rgba(255,143,41,.78) !important;
  background:linear-gradient(180deg, rgba(255,145,44,.30), rgba(136,58,6,.40)) !important;
  box-shadow:
    0 0 0 1px rgba(255,167,86,.26) inset,
    0 0 0 6px rgba(255,143,41,.12),
    0 24px 46px rgba(1,8,20,.34) !important;
}

.hub-content{
  max-width:860px !important;
  opacity:0 !important;
  transform:translateY(16px) !important;
  pointer-events:none !important;
  transition:opacity .78s ease, transform .78s ease !important;
}
.hub-content.shown{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.hub-panel{
  display:none !important;
}
.hub-panel.active{
  display:block !important;
}
.hub-panel h1{
  max-width:14ch !important;
  font-size:clamp(34px, 4vw, 62px) !important;
  line-height:1.04 !important;
  letter-spacing:-.04em !important;
  margin:0 0 18px !important;
  color:#f4f8ff !important;
}
.team-quote,
.expertise-lead{
  max-width:58ch !important;
}
.team-quote{
  margin:0 0 12px !important;
  padding:18px 20px !important;
  font-size:18px !important;
  line-height:1.68 !important;
  color:#e9f1fb !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  border-left:2px solid rgba(111,211,255,.42) !important;
  border-radius:18px !important;
}
.team-quote-by{
  margin:12px 0 24px !important;
  color:#a9c2df !important;
  font-size:13px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.expertise-lead{
  margin:0 0 22px !important;
  font-size:18px !important;
  line-height:1.68 !important;
  color:#e7effb !important;
}
.expertise-point-grid,
.team-detail-points{
  display:grid !important;
  gap:14px !important;
  max-width:60ch !important;
}
.expertise-point-grid > div,
.team-detail-points > div{
  padding:16px 18px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
.expertise-point-grid strong,
.team-detail-points strong{
  display:block !important;
  margin-bottom:5px !important;
  font-size:15px !important;
}
.expertise-point-grid span,
.team-detail-points span{
  color:#d0dceb !important;
}
.hub-panel-actions{
  margin-top:24px !important;
}
.hub-return-btn{
  border-radius:0 !important;
  padding:14px 18px !important;
}

/* options should only show in main state */
.hub-stage.panel-open .hub-nav{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.hub-stage:not(.panel-open) .hub-nav{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* expertise left rail */
.expertise-service-rail{
  position:sticky !important;
  top:calc(var(--nav-h) + 20px) !important;
  align-self:start !important;
  padding:24px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.72), rgba(7,18,38,.92)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
.expertise-service-list{
  list-style:none !important;
  padding:0 !important;
  margin:16px 0 0 !important;
  display:grid !important;
  gap:10px !important;
}
.expertise-service-list li{
  padding:10px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  color:#dbe7f7 !important;
  font-size:14px !important;
  line-height:1.25 !important;
}
.expertise-service-list li:last-child{
  border-bottom:none !important;
}
.expertise-hub-content{
  max-width:760px !important;
  margin:0 auto !important;
}

/* team stats */
.team-global-stats{
  margin-top:22px !important;
  padding:22px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
}
.team-global-stats-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px !important;
}
.team-global-stat{
  padding:16px 16px 14px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
.team-global-stat-label{
  display:block !important;
  font-size:11px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#a9c2df !important;
  margin-bottom:10px !important;
}
.team-global-stat strong{
  display:block !important;
  font-size:36px !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
  color:#f4f8ff !important;
  margin-bottom:8px !important;
}
.team-global-stat small{
  display:block !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#d3dfed !important;
}

@media (max-width: 1180px){
  .expertise-hub-shell{
    grid-template-columns:240px minmax(0, 1fr) 220px !important;
  }
}
@media (max-width: 980px){
  .hub-shell-team,
  .expertise-hub-shell{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .expertise-service-rail,
  .hub-nav-left,
  .hub-nav-right{
    position:relative !important;
    top:auto !important;
  }
  .expertise-hub-content{
    max-width:100% !important;
  }
  .team-global-stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px){
  .hub-shell,
  .expertise-hub-shell{
    padding-top:calc(var(--nav-h) + 20px) !important;
    padding-bottom:48px !important;
  }
  .hub-tab{
    min-height:48px !important;
    font-size:13px !important;
  }
  .team-global-stats-grid{
    grid-template-columns:1fr !important;
  }
}


/* v53 menu swoosh + expertise single panel enforcement */
.menu > a[data-menu-item],
.menu > .dropdown > button[data-menu-item]{
  position:relative !important;
  overflow:hidden !important;
  animation:none !important;
  text-shadow:none !important;
  filter:none !important;
}
.menu > a[data-menu-item]::after,
.menu > .dropdown > button[data-menu-item]::after{
  content:"" !important;
  position:absolute !important;
  top:-18% !important;
  bottom:-18% !important;
  left:-42% !important;
  width:34% !important;
  pointer-events:none !important;
  opacity:0 !important;
  background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(196,228,255,.10) 36%, rgba(255,255,255,.34) 50%, rgba(196,228,255,.10) 64%, rgba(255,255,255,0) 100%) !important;
  transform:translateX(0) skewX(-18deg) !important;
}
.menu > a[data-menu-item]:hover::after,
.menu > .dropdown > button[data-menu-item]:hover::after,
.menu > a[data-menu-item].active::after,
.menu > .dropdown > button[data-menu-item].active::after{
  opacity:1 !important;
  animation:menuSwoosh 1.15s ease !important;
}
@keyframes menuSwoosh{
  0%{transform:translateX(0) skewX(-18deg); opacity:0}
  15%{opacity:.95}
  100%{transform:translateX(460%) skewX(-18deg); opacity:0}
}

/* ensure one hub panel at a time */
.hub-content .hub-panel{
  display:none !important;
}
.hub-content .hub-panel.active{
  display:block !important;
}
.expertise-hub-content .hub-panel,
.team-hub-content .hub-panel{
  display:none !important;
}
.expertise-hub-content .hub-panel.active,
.team-hub-content .hub-panel.active{
  display:block !important;
}
.expertise-hub-content:not(.shown) .hub-panel,
.team-hub-content:not(.shown) .hub-panel{
  display:none !important;
}
#expertiseDropdown,
.expertise-dropdown{
  display:none !important;
}


/* v54 per-item menu swoosh + fixed hub backgrounds for gliding content */
.menu > a[data-menu-item],
.menu > .dropdown > button[data-menu-item]{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  isolation:isolate !important;
  overflow:hidden !important;
  animation:none !important;
  text-shadow:none !important;
  filter:none !important;
  transform:translateZ(0) !important;
}

.menu > a[data-menu-item]::after,
.menu > .dropdown > button[data-menu-item]::after{
  content:"" !important;
  position:absolute !important;
  top:-24% !important;
  bottom:-24% !important;
  left:-55% !important;
  width:42% !important;
  pointer-events:none !important;
  opacity:0 !important;
  z-index:0 !important;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 0%,
    rgba(214,236,255,.06) 28%,
    rgba(255,255,255,.34) 50%,
    rgba(214,236,255,.08) 72%,
    rgba(255,255,255,0) 100%) !important;
  transform:translateX(0) skewX(-18deg) !important;
}

.menu > a[data-menu-item] > *,
.menu > .dropdown > button[data-menu-item] > *{
  position:relative !important;
  z-index:1 !important;
}

.menu > a[data-menu-item]:hover::after,
.menu > .dropdown > button[data-menu-item]:hover::after,
.menu > a[data-menu-item].active::after,
.menu > .dropdown > button[data-menu-item].active::after{
  opacity:1 !important;
  animation:menuWordSwoosh 1.05s ease !important;
}

@keyframes menuWordSwoosh{
  0%{transform:translateX(0) skewX(-18deg); opacity:0}
  12%{opacity:.9}
  100%{transform:translateX(320%) skewX(-18deg); opacity:0}
}

/* keep backgrounds fixed while text panels glide over them */
.hub-stage{
  background:transparent !important;
}
.hub-stage .hub-bg,
.hub-stage .hub-tint{
  position:fixed !important;
  inset:0 !important;
  will-change:opacity, filter, transform !important;
}
.hub-shell,
.expertise-hub-shell{
  position:relative !important;
  z-index:4 !important;
}
.hub-content,
.expertise-hub-content,
.team-hub-content{
  position:relative !important;
  z-index:5 !important;
}
.hub-panel,
.team-hub-content .hub-panel,
.expertise-hub-content .hub-panel{
  position:relative !important;
  z-index:5 !important;
}
.hub-stage.is-tinted .hub-bg img{
  transform:scale(1.015) !important;
}

/* stronger panel surface so readable while gliding */
.hub-panel{
  background:linear-gradient(180deg, rgba(7,18,38,.22), rgba(7,18,38,.10)) !important;
  border-radius:28px !important;
  backdrop-filter:blur(2px) !important;
}


/* v55 non-looping letter-only menu swoosh + faster hub reaction */
.menu > a[data-menu-item],
.menu > .dropdown > button[data-menu-item]{
  overflow:visible !important;
}

.menu .menu-label{
  position:relative !important;
  display:inline-block !important;
  overflow:hidden !important;
}

.menu .menu-label::after{
  content:"" !important;
  position:absolute !important;
  top:-18% !important;
  bottom:-18% !important;
  left:-58% !important;
  width:46% !important;
  pointer-events:none !important;
  opacity:0 !important;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 0%,
    rgba(214,236,255,.08) 28%,
    rgba(255,255,255,.42) 50%,
    rgba(214,236,255,.10) 72%,
    rgba(255,255,255,0) 100%) !important;
  transform:translateX(0) skewX(-18deg) !important;
}

.menu > a[data-menu-item]:hover .menu-label::after,
.menu > a[data-menu-item]:focus-visible .menu-label::after,
.menu > .dropdown > button[data-menu-item]:hover .menu-label::after,
.menu > .dropdown > button[data-menu-item]:focus-visible .menu-label::after{
  opacity:1 !important;
  animation:menuLabelSwoosh .95s ease 1 !important;
}

@keyframes menuLabelSwoosh{
  0%{transform:translateX(0) skewX(-18deg); opacity:0}
  15%{opacity:.95}
  100%{transform:translateX(285%) skewX(-18deg); opacity:0}
}

/* remove any persistent active-state menu brightening */
.menu > a[data-menu-item].active::after,
.menu > .dropdown > button[data-menu-item].active::after{
  animation:none !important;
  opacity:0 !important;
}


/* v56 restore home fixed backgrounds, disable menu flash loop, menu label-only swoosh */
.menu .flash{
  animation:none !important;
  background:none !important;
  box-shadow:none !important;
  color:inherit !important;
  filter:none !important;
  transform:none !important;
}

/* kill old item-wide swoosh layer */
.menu > a[data-menu-item]::after,
.menu > .dropdown > button[data-menu-item]::after{
  content:none !important;
}

/* only the letters get the swoosh, and only on hover/focus */
.menu .menu-label{
  position:relative !important;
  display:inline-block !important;
  overflow:hidden !important;
}
.menu .menu-label::after{
  content:"" !important;
  position:absolute !important;
  top:-18% !important;
  bottom:-18% !important;
  left:-58% !important;
  width:46% !important;
  pointer-events:none !important;
  opacity:0 !important;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 0%,
    rgba(214,236,255,.08) 28%,
    rgba(255,255,255,.42) 50%,
    rgba(214,236,255,.10) 72%,
    rgba(255,255,255,0) 100%) !important;
  transform:translateX(0) skewX(-18deg) !important;
}
.menu > a[data-menu-item]:hover .menu-label::after,
.menu > a[data-menu-item]:focus-visible .menu-label::after,
.menu > .dropdown > button[data-menu-item]:hover .menu-label::after,
.menu > .dropdown > button[data-menu-item]:focus-visible .menu-label::after{
  opacity:1 !important;
  animation:menuLabelSwoosh .95s ease 1 !important;
}
.menu > a[data-menu-item].active .menu-label::after,
.menu > .dropdown > button[data-menu-item].active .menu-label::after{
  opacity:0 !important;
  animation:none !important;
}

/* restore home fixed glide backgrounds with the alternative images */
#overview.section-skyline,
#about.section-skyline,
#contact.section-photo-glide{
  background:transparent !important;
}
#overview.section-skyline > .section-bg,
#about.section-skyline > .section-bg,
#contact.section-photo-glide > .section-bg{
  display:none !important;
}
#overview .container,
#about .container,
#contact .container{
  position:relative !important;
  z-index:8 !important;
}
#overview .premium-table,
#about .about-copy,
#about .infographic-panel,
#contact .premium-panel{
  position:relative !important;
  z-index:9 !important;
}
body.section-bg-commercial #sectionBackgroundLayer .section-background-image{
  background-image:url('images/commercial-building.jpg') !important;
}
body.section-bg-contact #sectionBackgroundLayer .section-background-image{
  background-image:url('images/contact-footprint-bg.jpg') !important;
}

/* smoother hub experience with fixed backgrounds and softer info entry */
.hub-stage .hub-bg,
.hub-stage .hub-tint{
  position:fixed !important;
  inset:0 !important;
}
.hub-stage .hub-bg img{
  transition:filter .85s ease, transform .85s ease, opacity .32s ease !important;
}
.hub-stage .hub-tint{
  transition:opacity .85s ease !important;
}
.hub-content,
.team-hub-content,
.expertise-hub-content{
  transition:opacity .55s ease, transform .55s ease !important;
}
.hub-panel{
  transition:opacity .45s ease !important;
}


/* v57 more-menu grouping + cleaner contact links + replaced infographic */
.more-dropdown{
  position:relative !important;
}
.more-dropdown > button{
  width:42px !important;
  height:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.05) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.more-menu-icon{
  width:18px !important;
  height:14px !important;
  display:grid !important;
  align-content:space-between !important;
}
.more-menu-icon span{
  display:block !important;
  height:2px !important;
  border-radius:99px !important;
  background:#d9e8fb !important;
}
.more-menu{
  min-width:220px !important;
}
.more-menu a{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}

.contact-grid-updated{
  align-items:start !important;
}
.contact-links-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:16px !important;
  margin-top:26px !important;
}
.contact-link-card{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  padding:20px 20px !important;
  min-height:104px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg, rgba(11,28,58,.74), rgba(7,18,38,.94)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 24px 60px rgba(1,8,20,.24) !important;
  color:#eef5ff !important;
  text-decoration:none !important;
}
.contact-link-card:hover{
  border-color:rgba(255,255,255,.16) !important;
}
.contact-link-icon{
  width:60px !important;
  height:60px !important;
  border-radius:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#59b7ff !important;
  flex:0 0 auto !important;
}
.contact-link-icon svg{
  width:30px !important;
  height:30px !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  fill:none !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.contact-link-icon .fill{
  fill:currentColor !important;
  stroke:none !important;
}
.contact-link-card.whatsapp .contact-link-icon,
.contact-link-card.email .contact-link-icon,
.contact-link-card.facebook .contact-link-icon,
.contact-link-card.linkedin .contact-link-icon{
  color:#59b7ff !important;
}
.contact-link-card.whatsapp .contact-link-icon svg{
  fill:currentColor !important;
  stroke:none !important;
}
.contact-link-text{
  display:grid !important;
  gap:5px !important;
}
.contact-link-text strong{
  font-size:20px !important;
  line-height:1 !important;
  color:#f4f8ff !important;
}
.contact-link-text small{
  font-size:13px !important;
  line-height:1.3 !important;
  color:#c6d8ee !important;
}
.contact-fb-trigger{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  background:transparent !important;
  border:0 !important;
  color:inherit !important;
  padding:0 !important;
  text-align:left !important;
  cursor:pointer !important;
}
.contact-link-caret{
  margin-left:auto !important;
  color:#9ec6ff !important;
  font-size:16px !important;
}
.contact-social-drop{
  top:calc(100% + 10px) !important;
  left:0 !important;
  right:auto !important;
  min-width:100% !important;
}
.contact-copy .contact-meta{
  display:none !important;
}

/* infographic image fit cleaner */
.infographic-panel img{
  width:100% !important;
  height:auto !important;
  max-height:min(82vh, 820px) !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (max-width: 980px){
  .contact-links-grid{
    grid-template-columns:1fr !important;
  }
}


/* v59 standalone about and contact pages */
.about-page-main,
.contact-page-main{
  padding-top:var(--nav-h) !important;
  min-height:100svh !important;
}

.about-page #about,
.contact-page #contact{
  min-height:calc(100svh - var(--nav-h)) !important;
  margin:0 !important;
  padding-top:34px !important;
  padding-bottom:34px !important;
  display:flex !important;
  align-items:center !important;
}

.about-page #about .container,
.contact-page #contact .container{
  width:100% !important;
}

.about-page .section-bg,
.contact-page .section-bg{
  display:block !important;
}

.about-page .premium-break,
.contact-page .premium-break{
  display:none !important;
}


/* v61 premium intro swoosh refinement */
.hero{
  isolation:isolate !important;
  background:
    radial-gradient(1200px 700px at 20% 18%, rgba(123,181,255,.05), transparent 55%),
    radial-gradient(900px 560px at 82% 24%, rgba(255,194,120,.04), transparent 52%),
    linear-gradient(180deg, rgba(6,14,28,.98) 0%, rgba(5,12,24,.985) 100%) !important;
}
.hero::before,
.hero::after{
  content:"" !important;
  position:absolute !important;
  inset:-16% !important;
  pointer-events:none !important;
  opacity:0 !important;
}
.hero::before{
  z-index:2 !important;
  background:
    radial-gradient(60% 34% at 18% 34%, rgba(120,175,255,.08), transparent 68%),
    radial-gradient(48% 28% at 82% 68%, rgba(255,206,138,.06), transparent 70%) !important;
  filter:blur(24px) !important;
  transform:scale(1.02) !important;
}
.hero::after{
  z-index:3 !important;
  background:
    linear-gradient(112deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 43%,
      rgba(161,222,255,.04) 46%,
      rgba(198,236,255,.18) 49.2%,
      rgba(255,245,225,.42) 50%,
      rgba(173,233,255,.18) 50.8%,
      rgba(255,255,255,0) 54%,
      rgba(255,255,255,0) 100%) !important;
  mix-blend-mode:screen !important;
  filter:blur(2px) !important;
  transform:translate3d(-72%,0,0) rotate(-8deg) scale(1.18) !important;
  transform-origin:center !important;
}
.hero .hero-base::before{
  content:"" !important;
  position:absolute !important;
  inset:-18% -12% !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:4 !important;
  background:
    linear-gradient(112deg,
      rgba(255,255,255,0) 0%,
      rgba(113,198,255,.03) 26%,
      rgba(186,228,255,.08) 36%,
      rgba(255,221,177,.24) 50%,
      rgba(169,232,255,.08) 64%,
      rgba(255,255,255,0) 76%) !important;
  filter:blur(18px) !important;
  transform:translate3d(-54%,0,0) rotate(-8deg) scale(1.12) !important;
  will-change:transform, opacity !important;
}
.hero.prelude-active::before{
  opacity:1 !important;
  animation:heroPreludeAmbient 4s ease-in-out infinite !important;
}
.hero.prelude-active::after{
  opacity:1 !important;
  animation:heroPreludeBlade 2.45s cubic-bezier(.22,.61,.36,1) infinite !important;
}
.hero.prelude-active .hero-base::before{
  opacity:1 !important;
  animation:heroPreludeGlow 2.45s cubic-bezier(.22,.61,.36,1) infinite !important;
}
@keyframes heroPreludeAmbient{
  0%,100%{opacity:.38; transform:scale(1.02)}
  50%{opacity:.7; transform:scale(1.05)}
}
@keyframes heroPreludeBlade{
  0%{opacity:0; transform:translate3d(-76%,0,0) rotate(-8deg) scale(1.18)}
  12%{opacity:.18}
  28%{opacity:.92}
  54%{opacity:.52}
  78%{opacity:.12}
  100%{opacity:0; transform:translate3d(78%,0,0) rotate(-8deg) scale(1.18)}
}
@keyframes heroPreludeGlow{
  0%{opacity:0; transform:translate3d(-58%,0,0) rotate(-8deg) scale(1.12)}
  20%{opacity:.22}
  34%{opacity:.75}
  56%{opacity:.3}
  100%{opacity:0; transform:translate3d(62%,0,0) rotate(-8deg) scale(1.12)}
}
@media (prefers-reduced-motion: reduce){
  .hero.prelude-active::before,
  .hero.prelude-active::after,
  .hero.prelude-active .hero-base::before{animation:none !important; opacity:.35 !important;}
}

/* v63 premium landing prelude refinement */
.hero{
  background:linear-gradient(140deg,#081428 0%,#071225 42%,#050d1b 100%) !important;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:radial-gradient(circle at 50% 52%, rgba(140,190,255,.045), rgba(140,190,255,0) 34%),
             linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 20%, rgba(0,0,0,.14) 100%);
  opacity:0;
  transition:opacity .6s ease;
}
.hero.prelude-active::after{opacity:1;}
.hero .hero-base{
  background:
    radial-gradient(circle at 78% 22%, rgba(255,186,112,.08), rgba(255,186,112,0) 16%),
    radial-gradient(circle at 62% 54%, rgba(104,164,255,.07), rgba(104,164,255,0) 20%),
    linear-gradient(140deg, #081428 0%, #071225 44%, #050d1b 100%) !important;
}
.hero .hero-base::before,
.hero .hero-base::after{
  content:"" !important;
  position:absolute !important;
  pointer-events:none !important;
}
.hero .hero-base::before{
  inset:-30% -18% !important;
  z-index:2 !important;
  opacity:0 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(180,224,255,.02) 39%,
      rgba(214,240,255,.32) 46%,
      rgba(255,244,214,.82) 49.5%,
      rgba(186,230,255,.34) 53.5%,
      rgba(255,255,255,0) 62%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(140,205,255,.05) 43%,
      rgba(255,198,134,.18) 50%,
      rgba(140,205,255,.05) 57%,
      rgba(255,255,255,0) 100%) !important;
  transform:translate3d(-62%,0,0) rotate(-11deg) scaleX(.94) !important;
  filter:blur(1.2px) !important;
  mix-blend-mode:screen;
  will-change:transform, opacity;
}
.hero .hero-base::after{
  inset:-8% !important;
  z-index:1 !important;
  opacity:0 !important;
  background:
    radial-gradient(circle at 24% 58%, rgba(121,180,255,.10), rgba(121,180,255,0) 20%),
    radial-gradient(circle at 70% 44%, rgba(255,194,124,.09), rgba(255,194,124,0) 18%),
    linear-gradient(120deg, rgba(255,255,255,.03), rgba(255,255,255,0) 28%) !important;
  will-change:opacity, transform;
}
.hero.prelude-active .hero-base::before{
  opacity:1 !important;
  animation:heroPreludeBlade 3.85s cubic-bezier(.18,.78,.16,1) 1 both !important;
}
.hero.prelude-active .hero-base::after{
  opacity:1 !important;
  animation:heroPreludeAmbient 4s ease-in-out 1 both !important;
}
@keyframes heroPreludeBlade{
  0%{transform:translate3d(-72%,0,0) rotate(-11deg) scaleX(.9);opacity:0}
  10%{opacity:.22}
  24%{opacity:.68}
  46%{opacity:1}
  70%{opacity:.78}
  100%{transform:translate3d(72%,0,0) rotate(-11deg) scaleX(1.02);opacity:0}
}
@keyframes heroPreludeAmbient{
  0%{opacity:0;transform:scale(1)}
  18%{opacity:.5}
  55%{opacity:.92}
  100%{opacity:.24;transform:scale(1.03)}
}

/* v64 landing prelude polish: cleaner premium one-pass light cut */
.hero{
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(1100px 620px at 18% 22%, rgba(86,146,255,.05), transparent 58%),
    radial-gradient(780px 460px at 78% 30%, rgba(255,193,116,.035), transparent 52%),
    linear-gradient(135deg, #07111f 0%, #06101d 46%, #040b16 100%) !important;
}
.hero .hero-base{
  background:
    radial-gradient(520px 220px at 74% 48%, rgba(135,182,255,.045), transparent 62%),
    radial-gradient(420px 160px at 32% 68%, rgba(255,198,130,.035), transparent 68%),
    linear-gradient(135deg, #07111f 0%, #06101d 46%, #040b16 100%) !important;
}
.hero::before,
.hero::after,
.hero .hero-base::before,
.hero .hero-base::after{
  content:"" !important;
  position:absolute !important;
  pointer-events:none !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
  will-change:transform, opacity !important;
}
.hero::before{
  inset:-12% !important;
  z-index:1 !important;
  opacity:0 !important;
  background:
    radial-gradient(65% 42% at 50% 52%, rgba(125,176,255,.075), transparent 62%),
    radial-gradient(40% 22% at 50% 52%, rgba(255,212,155,.045), transparent 72%) !important;
  filter:blur(28px) !important;
  transform:scale(1) translate3d(0,0,0) !important;
}
.hero::after{
  inset:-28% -16% !important;
  z-index:3 !important;
  opacity:0 !important;
  background:
    linear-gradient(102deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 39%,
      rgba(166,221,255,.04) 45.5%,
      rgba(215,241,255,.24) 48.6%,
      rgba(255,243,218,.86) 50%,
      rgba(205,239,255,.24) 51.4%,
      rgba(166,221,255,.04) 54.5%,
      rgba(255,255,255,0) 61%,
      rgba(255,255,255,0) 100%) !important;
  filter:blur(.6px) !important;
  transform:translate3d(-78%,0,0) rotate(-9.5deg) scaleX(.88) !important;
  transform-origin:center !important;
}
.hero .hero-base::before{
  inset:-20% -8% !important;
  z-index:2 !important;
  opacity:0 !important;
  background:
    linear-gradient(102deg,
      rgba(255,255,255,0) 0%,
      rgba(132,204,255,.018) 42%,
      rgba(255,215,160,.15) 50%,
      rgba(132,204,255,.018) 58%,
      rgba(255,255,255,0) 100%) !important;
  filter:blur(20px) !important;
  transform:translate3d(-64%,0,0) rotate(-9.5deg) scaleX(.92) !important;
}
.hero .hero-base::after{
  inset:0 !important;
  z-index:0 !important;
  opacity:0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,0) 18%, rgba(0,0,0,.18) 100%),
    radial-gradient(58% 22% at 50% 56%, rgba(196,226,255,.07), rgba(196,226,255,0) 68%) !important;
  transform:scale(1) !important;
}
.hero.prelude-active::before{
  opacity:1 !important;
  animation:heroPreludeAmbientV64 3.95s cubic-bezier(.24,.72,.2,1) 1 both !important;
}
.hero.prelude-active::after{
  opacity:1 !important;
  animation:heroPreludeBladeV64 3.45s cubic-bezier(.17,.79,.16,1) 1 both !important;
}
.hero.prelude-active .hero-base::before{
  opacity:1 !important;
  animation:heroPreludeGlowV64 3.45s cubic-bezier(.17,.79,.16,1) 1 both !important;
}
.hero.prelude-active .hero-base::after{
  opacity:1 !important;
  animation:heroPreludeBedV64 3.95s ease-out 1 both !important;
}
@keyframes heroPreludeAmbientV64{
  0%{opacity:0;transform:scale(1) translate3d(0,0,0)}
  16%{opacity:.34}
  48%{opacity:.72}
  100%{opacity:.18;transform:scale(1.035) translate3d(0,0,0)}
}
@keyframes heroPreludeBedV64{
  0%{opacity:0;transform:scale(1)}
  22%{opacity:.24}
  58%{opacity:.58}
  100%{opacity:.2;transform:scale(1.02)}
}
@keyframes heroPreludeBladeV64{
  0%{opacity:0;transform:translate3d(-82%,0,0) rotate(-9.5deg) scaleX(.84)}
  10%{opacity:.1}
  24%{opacity:.44}
  42%{opacity:.98}
  58%{opacity:.82}
  78%{opacity:.22}
  100%{opacity:0;transform:translate3d(86%,0,0) rotate(-9.5deg) scaleX(1.03)}
}
@keyframes heroPreludeGlowV64{
  0%{opacity:0;transform:translate3d(-66%,0,0) rotate(-9.5deg) scaleX(.92)}
  18%{opacity:.12}
  40%{opacity:.42}
  54%{opacity:.32}
  100%{opacity:0;transform:translate3d(68%,0,0) rotate(-9.5deg) scaleX(1.01)}
}
@media (max-width: 900px){
  .hero::after{transform:translate3d(-86%,0,0) rotate(-10.5deg) scaleX(.8) !important; filter:blur(.8px) !important;}
  .hero .hero-base::before{transform:translate3d(-72%,0,0) rotate(-10.5deg) scaleX(.86) !important;}
}
@media (prefers-reduced-motion: reduce){
  .hero.prelude-active::before,
  .hero.prelude-active::after,
  .hero.prelude-active .hero-base::before,
  .hero.prelude-active .hero-base::after{
    animation:none !important;
    opacity:.28 !important;
  }
}

/* v65 luxury landing prelude: softer, more natural cinematic light cut */
.hero::before,
.hero::after,
.hero .hero-base::before,
.hero .hero-base::after{
  will-change:transform, opacity, filter;
  backface-visibility:hidden;
}
.hero::before{
  background:
    radial-gradient(88% 58% at 50% 54%, rgba(214,230,255,.10) 0%, rgba(214,230,255,.045) 34%, rgba(214,230,255,0) 72%),
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.012) 18%, rgba(0,0,0,.28) 100%) !important;
  filter:blur(12px) saturate(112%) !important;
}
.hero::after{
  inset:-22% -16% !important;
  z-index:3 !important;
  opacity:0 !important;
  background:
    linear-gradient(101deg,
      rgba(255,255,255,0) 0%,
      rgba(168,213,255,.025) 34%,
      rgba(255,236,196,.16) 44%,
      rgba(255,255,255,.70) 49%,
      rgba(255,233,192,.24) 54%,
      rgba(168,213,255,.03) 66%,
      rgba(255,255,255,0) 100%) !important;
  mix-blend-mode:screen !important;
  filter:blur(26px) saturate(106%) !important;
  transform:translate3d(-112%, 5%, 0) rotate(-11.6deg) skewX(-8deg) scale3d(.74,1.06,1) !important;
  transform-origin:center center !important;
}
.hero .hero-base::before{
  inset:-18% -10% !important;
  z-index:2 !important;
  opacity:0 !important;
  background:
    linear-gradient(101deg,
      rgba(255,255,255,0) 0%,
      rgba(167,217,255,.02) 40%,
      rgba(255,241,216,.18) 48%,
      rgba(255,255,255,.52) 50%,
      rgba(255,239,211,.15) 52%,
      rgba(167,217,255,.018) 60%,
      rgba(255,255,255,0) 100%) !important;
  mix-blend-mode:screen !important;
  filter:blur(10px) !important;
  transform:translate3d(-104%, 3%, 0) rotate(-11deg) skewX(-6deg) scale3d(.66,1.02,1) !important;
}
.hero .hero-base::after{
  inset:-6% -2% !important;
  z-index:1 !important;
  opacity:0 !important;
  background:
    radial-gradient(64% 24% at 46% 56%, rgba(212,232,255,.14), rgba(212,232,255,.04) 40%, rgba(212,232,255,0) 72%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0) 22%, rgba(0,0,0,.20) 100%) !important;
  filter:blur(16px) !important;
  transform:scale(1.03) translate3d(0,0,0) !important;
}
.hero.prelude-active::before{
  opacity:1 !important;
  animation:heroPreludeVeilV65 4s cubic-bezier(.23,.71,.18,1) 1 both !important;
}
.hero.prelude-active::after{
  opacity:1 !important;
  animation:heroPreludeBladeV65 4s cubic-bezier(.18,.77,.17,1) 1 both !important;
}
.hero.prelude-active .hero-base::before{
  opacity:1 !important;
  animation:heroPreludeCoreV65 4s cubic-bezier(.18,.77,.17,1) 1 both !important;
}
.hero.prelude-active .hero-base::after{
  opacity:1 !important;
  animation:heroPreludeBloomV65 4s cubic-bezier(.24,.68,.2,1) 1 both !important;
}
@keyframes heroPreludeVeilV65{
  0%{opacity:0;transform:scale(1.02) translate3d(0,0,0)}
  12%{opacity:.16}
  34%{opacity:.34}
  58%{opacity:.52}
  78%{opacity:.46}
  100%{opacity:.18;transform:scale(1.055) translate3d(0,-.4%,0)}
}
@keyframes heroPreludeBloomV65{
  0%{opacity:0;transform:scale(1.05) translate3d(0,1.6%,0)}
  18%{opacity:.08}
  42%{opacity:.28}
  60%{opacity:.44}
  78%{opacity:.36}
  100%{opacity:.14;transform:scale(1.02) translate3d(0,-.8%,0)}
}
@keyframes heroPreludeBladeV65{
  0%{opacity:0;transform:translate3d(-112%, 7%, 0) rotate(-11.8deg) skewX(-9deg) scale3d(.72,1.08,1)}
  8%{opacity:.04}
  18%{opacity:.13}
  32%{opacity:.42}
  46%{opacity:.82}
  56%{opacity:1}
  68%{opacity:.76}
  82%{opacity:.28}
  100%{opacity:0;transform:translate3d(108%, -4%, 0) rotate(-7.4deg) skewX(-5deg) scale3d(1.08,.98,1)}
}
@keyframes heroPreludeCoreV65{
  0%{opacity:0;transform:translate3d(-106%, 4%, 0) rotate(-11deg) skewX(-6deg) scale3d(.62,1,1)}
  16%{opacity:.05}
  30%{opacity:.16}
  44%{opacity:.46}
  54%{opacity:.62}
  64%{opacity:.34}
  100%{opacity:0;transform:translate3d(104%, -2%, 0) rotate(-7.8deg) skewX(-4deg) scale3d(.96,.98,1)}
}
@media (max-width: 900px){
  .hero::after{
    inset:-20% -22% !important;
    filter:blur(22px) !important;
    transform:translate3d(-118%, 6%, 0) rotate(-12.4deg) skewX(-8deg) scale3d(.68,1.08,1) !important;
  }
  .hero .hero-base::before{
    transform:translate3d(-110%, 4%, 0) rotate(-12deg) skewX(-6deg) scale3d(.6,1.02,1) !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .hero.prelude-active::before,
  .hero.prelude-active::after,
  .hero.prelude-active .hero-base::before,
  .hero.prelude-active .hero-base::after{
    animation:none !important;
    opacity:.22 !important;
  }
}


/* v66 ultra-premium landing prelude: softer glass-reflection sweep */
.hero{
  isolation:isolate;
}
.hero::before,
.hero::after,
.hero .hero-base::before,
.hero .hero-base::after{
  will-change:transform, opacity, filter;
  backface-visibility:hidden;
}
.hero::before{
  background:
    radial-gradient(98% 72% at 52% 52%, rgba(194,217,255,.085) 0%, rgba(194,217,255,.038) 34%, rgba(194,217,255,0) 70%),
    radial-gradient(56% 24% at 50% 58%, rgba(255,240,214,.05) 0%, rgba(255,240,214,.016) 42%, rgba(255,240,214,0) 78%),
    linear-gradient(180deg, rgba(255,255,255,.024) 0%, rgba(255,255,255,.008) 16%, rgba(0,0,0,.30) 100%) !important;
  filter:blur(16px) saturate(108%) !important;
}
.hero::after{
  inset:-24% -18% !important;
  z-index:3 !important;
  opacity:0 !important;
  background:
    linear-gradient(102deg,
      rgba(255,255,255,0) 0%,
      rgba(170,210,255,.018) 34%,
      rgba(241,224,194,.11) 44%,
      rgba(255,248,233,.48) 48.5%,
      rgba(255,255,255,.86) 50%,
      rgba(255,249,236,.42) 51.5%,
      rgba(241,224,194,.12) 56%,
      rgba(170,210,255,.02) 66%,
      rgba(255,255,255,0) 100%) !important;
  mix-blend-mode:screen !important;
  filter:blur(34px) saturate(104%) !important;
  transform:translate3d(-116%, 5.5%, 0) rotate(-12.4deg) skewX(-7deg) scale3d(.7,1.12,1) !important;
  transform-origin:center center !important;
}
.hero .hero-base::before{
  inset:-20% -12% !important;
  z-index:2 !important;
  opacity:0 !important;
  background:
    linear-gradient(102deg,
      rgba(255,255,255,0) 0%,
      rgba(182,220,255,.012) 39%,
      rgba(255,243,224,.08) 46%,
      rgba(255,255,255,.38) 50%,
      rgba(255,243,224,.075) 54%,
      rgba(182,220,255,.012) 61%,
      rgba(255,255,255,0) 100%) !important;
  mix-blend-mode:screen !important;
  filter:blur(14px) !important;
  transform:translate3d(-108%, 4.2%, 0) rotate(-12deg) skewX(-5deg) scale3d(.58,1.02,1) !important;
}
.hero .hero-base::after{
  inset:-8% -4% !important;
  z-index:1 !important;
  opacity:0 !important;
  background:
    radial-gradient(72% 28% at 50% 56%, rgba(215,231,255,.12) 0%, rgba(215,231,255,.032) 42%, rgba(215,231,255,0) 76%),
    radial-gradient(34% 18% at 52% 56%, rgba(255,237,208,.05) 0%, rgba(255,237,208,0) 76%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0) 22%, rgba(0,0,0,.22) 100%) !important;
  filter:blur(18px) !important;
  transform:scale(1.025) translate3d(0,.8%,0) !important;
}
.hero.prelude-active::before{
  opacity:1 !important;
  animation:heroPreludeVeilV66 4s cubic-bezier(.24,.7,.2,1) 1 both !important;
}
.hero.prelude-active::after{
  opacity:1 !important;
  animation:heroPreludeBladeV66 4s cubic-bezier(.19,.76,.18,1) 1 both !important;
}
.hero.prelude-active .hero-base::before{
  opacity:1 !important;
  animation:heroPreludeCoreV66 4s cubic-bezier(.19,.76,.18,1) 1 both !important;
}
.hero.prelude-active .hero-base::after{
  opacity:1 !important;
  animation:heroPreludeBloomV66 4s cubic-bezier(.22,.69,.21,1) 1 both !important;
}
@keyframes heroPreludeVeilV66{
  0%{opacity:0;transform:scale(1.025) translate3d(0,.5%,0)}
  12%{opacity:.11}
  28%{opacity:.24}
  50%{opacity:.4}
  68%{opacity:.5}
  82%{opacity:.42}
  100%{opacity:.18;transform:scale(1.06) translate3d(0,-.5%,0)}
}
@keyframes heroPreludeBloomV66{
  0%{opacity:0;transform:scale(1.04) translate3d(0,1.2%,0)}
  18%{opacity:.05}
  34%{opacity:.16}
  52%{opacity:.31}
  68%{opacity:.39}
  86%{opacity:.27}
  100%{opacity:.11;transform:scale(1.015) translate3d(0,-.7%,0)}
}
@keyframes heroPreludeBladeV66{
  0%{opacity:0;transform:translate3d(-116%, 6.2%, 0) rotate(-12.8deg) skewX(-7deg) scale3d(.68,1.12,1)}
  10%{opacity:.03}
  24%{opacity:.09}
  38%{opacity:.26}
  52%{opacity:.62}
  61%{opacity:.78}
  70%{opacity:.62}
  82%{opacity:.24}
  100%{opacity:0;transform:translate3d(109%, -2.2%, 0) rotate(-8.2deg) skewX(-3.5deg) scale3d(1.05,.985,1)}
}
@keyframes heroPreludeCoreV66{
  0%{opacity:0;transform:translate3d(-108%, 4.4%, 0) rotate(-12.2deg) skewX(-5deg) scale3d(.56,1.01,1)}
  18%{opacity:.03}
  32%{opacity:.08}
  46%{opacity:.22}
  58%{opacity:.34}
  70%{opacity:.22}
  100%{opacity:0;transform:translate3d(105%, -1.2%, 0) rotate(-8.5deg) skewX(-2deg) scale3d(.92,.99,1)}
}
@media (max-width: 900px){
  .hero::after{
    inset:-22% -24% !important;
    filter:blur(28px) !important;
    transform:translate3d(-120%, 6.2%, 0) rotate(-13.4deg) skewX(-7deg) scale3d(.65,1.14,1) !important;
  }
  .hero .hero-base::before{
    transform:translate3d(-112%, 4.6%, 0) rotate(-12.8deg) skewX(-5deg) scale3d(.54,1.03,1) !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .hero.prelude-active::before,
  .hero.prelude-active::after,
  .hero.prelude-active .hero-base::before,
  .hero.prelude-active .hero-base::after{
    animation:none !important;
    opacity:.18 !important;
  }
}


/* v67 home hero skyline timing + premium section dividers */
.hero.skyline-reveal .hero-base::after{
  opacity:1 !important;
  transform:scale(1.018) translate3d(0,0,0) !important;
}
.hero + .premium-break{
  margin:-18px 0 2px !important;
}
.premium-break{
  position:relative !important;
  z-index:12 !important;
  height:96px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:2px 0 4px !important;
  pointer-events:none !important;
  isolation:isolate;
}
.premium-break::before,
.premium-break::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:min(88vw,1220px);
  border-radius:999px;
}
.premium-break::before{
  height:1px;
  background:linear-gradient(90deg,
    rgba(255,255,255,0),
    rgba(118,213,255,.12) 14%,
    rgba(195,236,255,.48) 35%,
    rgba(255,224,184,.76) 50%,
    rgba(195,236,255,.48) 65%,
    rgba(118,213,255,.12) 86%,
    rgba(255,255,255,0));
  box-shadow:0 0 18px rgba(126,233,255,.12), 0 0 32px rgba(255,214,163,.1);
}
.premium-break::after{
  height:22px;
  background:radial-gradient(circle at center,
    rgba(255,230,195,.18) 0,
    rgba(135,224,255,.1) 28%,
    rgba(9,19,39,0) 72%);
  filter:blur(10px);
  opacity:.9;
}
.premium-break span{
  position:relative !important;
  width:14px !important;
  height:14px !important;
  border-radius:999px !important;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,255,255,.95), rgba(255,255,255,.35) 28%, transparent 29%),
    linear-gradient(135deg, #ffe2bf, #8cecff 72%, #c7f8ff) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18),
    0 0 0 8px rgba(255,255,255,.022),
    0 0 24px rgba(140,236,255,.26),
    0 0 38px rgba(255,226,191,.18) !important;
}
.premium-break span::before,
.premium-break span::after{
  content:"";
  position:absolute;
  top:50%;
  width:110px;
  height:1px;
  transform:translateY(-50%);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,240,221,.52), rgba(255,255,255,0));
  opacity:.55;
}
.premium-break span::before{ right:calc(100% + 18px); }
.premium-break span::after{ left:calc(100% + 18px); }
@media (max-width: 900px){
  .premium-break{height:74px !important;}
  .premium-break::after{height:18px; filter:blur(9px);}
  .premium-break span::before,
  .premium-break span::after{width:64px;}
}


/* v68 landing skyline restore: reveal from deep blue darkness to full light */
.hero .hero-base::after{
  inset:0 !important;
  z-index:1 !important;
  opacity:0 !important;
  background:
    linear-gradient(180deg, rgba(3,10,28,.94) 0%, rgba(6,17,42,.88) 36%, rgba(9,24,56,.80) 68%, rgba(10,28,63,.72) 100%),
    linear-gradient(90deg, rgba(5,15,38,.84) 0%, rgba(6,18,42,.62) 34%, rgba(8,24,58,.22) 70%, rgba(8,24,58,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat !important;
  filter:brightness(.22) saturate(.86) contrast(1.04) blur(.3px) !important;
  transform:scale(1.04) translate3d(0,1.2%,0) !important;
  transition:
    opacity 1.25s ease,
    filter 4.8s cubic-bezier(.2,.7,.18,1),
    transform 4.8s cubic-bezier(.2,.7,.18,1) !important;
}
.hero.prelude-active .hero-base::after{
  animation:none !important;
  opacity:0 !important;
}
.hero.skyline-reveal .hero-base::after{
  opacity:1 !important;
  filter:brightness(1.02) saturate(1.06) contrast(1.02) blur(0) !important;
  transform:scale(1) translate3d(0,0,0) !important;
}


/* v69 robust final skyline reveal using real layer instead of pseudo only */
.hero .hero-base{position:absolute;inset:0;z-index:1;overflow:hidden;}
.hero .hero-skyline-final{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(3,10,28,.94) 0%, rgba(6,17,42,.88) 36%, rgba(9,24,56,.80) 68%, rgba(10,28,63,.72) 100%),
    linear-gradient(90deg, rgba(5,15,38,.84) 0%, rgba(6,18,42,.62) 34%, rgba(8,24,58,.22) 70%, rgba(8,24,58,.08) 100%),
    url('images/skyline.jpg') center center / cover no-repeat !important;
  opacity:0;
  filter:brightness(.16) saturate(.82) contrast(1.04);
  transform:scale(1.045) translate3d(0,1.2%,0);
  transition:opacity 1.1s ease, filter 5.2s cubic-bezier(.2,.7,.18,1), transform 5.2s cubic-bezier(.2,.7,.18,1);
}
.hero.prelude-active .hero-skyline-final{opacity:0 !important;}
.hero.skyline-final .hero-skyline-final{
  opacity:1;
  filter:brightness(1.02) saturate(1.06) contrast(1.02);
  transform:scale(1) translate3d(0,0,0);
}
/* keep old pseudo skyline from interfering */
.hero .hero-base::after{opacity:0 !important;}
.hero.skyline-reveal .hero-base::after{opacity:0 !important;}


/* v70 true final skyline reveal + hard scroll lock until reveal completes */
html.intro-locked,
body.intro-locked{
  overflow:hidden !important;
  height:100% !important;
  overscroll-behavior:none !important;
  touch-action:none !important;
}

body.intro-locked main,
body.intro-locked .site-header{
  pointer-events:none;
}
body.intro-locked .site-header .nav,
body.intro-locked .site-header .brand{
  pointer-events:auto;
}

.hero .hero-skyline-final{
  z-index:2 !important;
  opacity:0 !important;
  filter:brightness(.12) saturate(.78) contrast(1.05) !important;
  transform:scale(1.05) translate3d(0,1.4%,0) !important;
  transition:
    opacity 1.15s ease,
    filter 6.2s cubic-bezier(.2,.7,.18,1),
    transform 6.2s cubic-bezier(.2,.7,.18,1) !important;
}
.hero.skyline-final .hero-skyline-final{
  opacity:1 !important;
  filter:brightness(1) saturate(1.04) contrast(1.02) !important;
  transform:scale(1) translate3d(0,0,0) !important;
}
.hero .hero-base::after,
.hero.skyline-reveal .hero-base::after,
.hero.skyline-final .hero-base::after{
  opacity:0 !important;
}

.hero-copy,
.welcome-line,
.hero-spark,
.ribbon-wrap{
  z-index:4;
}

/* v72 rebuilt landing skyline reveal + premium dividers */
.hero{
  isolation:isolate;
}
.hero .hero-base{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  overflow:hidden !important;
}
.hero .hero-skyline-final{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transition:opacity 1.15s ease !important;
  overflow:hidden !important;
}
.hero .hero-skyline-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:1 !important;
  filter:brightness(.18) saturate(.86) contrast(1.02) hue-rotate(196deg) !important;
  transform:scale(1.045) translate3d(0,1.4%,0) !important;
  transition:filter 4.6s cubic-bezier(.2,.72,.16,1), transform 4.6s cubic-bezier(.2,.72,.16,1) !important;
}
.hero .hero-skyline-final::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(4,13,34,.92) 0%, rgba(6,18,45,.76) 36%, rgba(8,24,58,.42) 70%, rgba(8,24,58,.14) 100%),
    linear-gradient(90deg, rgba(7,18,46,.58) 0%, rgba(7,18,46,.22) 42%, rgba(7,18,46,.06) 76%, rgba(7,18,46,0) 100%);
  opacity:1;
  transition:opacity 3.8s ease !important;
}
.hero .hero-base::before,
.hero .hero-base::after,
.hero::before,
.hero::after{
  pointer-events:none;
}
.hero.skyline-final .hero-skyline-final{
  opacity:1 !important;
}
.hero.skyline-final .hero-skyline-image{
  filter:brightness(.46) saturate(.98) contrast(1.03) hue-rotate(188deg) !important;
  transform:scale(1.015) translate3d(0,.3%,0) !important;
}
.hero.skyline-full-light .hero-skyline-image{
  filter:brightness(1) saturate(1.01) contrast(1.01) hue-rotate(0deg) !important;
  transform:scale(1) translate3d(0,0,0) !important;
}
.hero.skyline-full-light .hero-skyline-final::before{
  opacity:0 !important;
}
.hero-copy,
.welcome-line,
.hero-spark,
.ribbon-wrap,
.start-wrap{
  position:relative;
  z-index:5 !important;
}
html.intro-locked,
body.intro-locked{
  overflow:hidden !important;
  height:100% !important;
  overscroll-behavior:none !important;
}
body.intro-locked{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
}
body.home-page:not(.intro-locked){
  position:static !important;
}
body.intro-locked .hero,
body.intro-locked .nav{
  pointer-events:auto !important;
}
body.intro-locked main > :not(.hero){
  pointer-events:none !important;
}
.premium-break{
  position:relative !important;
  height:88px !important;
  background:linear-gradient(180deg, rgba(5,12,28,0) 0%, rgba(5,12,28,.38) 34%, rgba(6,15,36,.7) 50%, rgba(5,12,28,.38) 66%, rgba(5,12,28,0) 100%) !important;
  overflow:hidden !important;
}
.premium-break::before{
  content:"";
  position:absolute;
  left:6%; right:6%; top:50%;
  height:1px;
  background:linear-gradient(90deg, rgba(177,208,255,0) 0%, rgba(177,208,255,.68) 18%, rgba(250,253,255,.95) 50%, rgba(177,208,255,.68) 82%, rgba(177,208,255,0) 100%);
  transform:translateY(-50%);
  box-shadow:0 0 22px rgba(142,198,255,.22), 0 0 55px rgba(111,177,255,.12);
}
.premium-break::after{
  content:"";
  position:absolute;
  left:18%; right:18%; top:50%;
  height:22px;
  transform:translateY(-50%);
  background:radial-gradient(circle at center, rgba(130,189,255,.24) 0%, rgba(130,189,255,.12) 34%, rgba(130,189,255,0) 74%);
  filter:blur(9px);
}
.premium-break span,
.premium-break span::before,
.premium-break span::after{
  display:none !important;
}


/* v73 final landing skyline rework: show full skyscraper image without crop */
.hero .hero-base{
  background: radial-gradient(circle at 50% 42%, rgba(22,52,96,.14) 0%, rgba(8,16,34,.06) 30%, rgba(5,10,24,0) 64%), #040a16 !important;
}
.hero .hero-skyline-final{
  display:block !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(28,74,142,.22) 0%, rgba(16,39,82,.14) 28%, rgba(6,14,33,.05) 58%, rgba(4,10,22,0) 76%),
    linear-gradient(180deg, rgba(3,9,22,.96) 0%, rgba(6,15,34,.88) 40%, rgba(7,19,42,.72) 72%, rgba(8,21,46,.48) 100%) !important;
}
.hero .hero-skyline-image{
  object-fit:contain !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  background:transparent !important;
  filter:brightness(.12) saturate(.85) contrast(1.02) hue-rotate(195deg) !important;
  transform:scale(1.02) translate3d(0,0,0) !important;
  transition:filter 5.2s cubic-bezier(.2,.72,.16,1), transform 5.2s cubic-bezier(.2,.72,.16,1), opacity 1.1s ease !important;
}
.hero .hero-skyline-final::before{
  background:
    radial-gradient(circle at 50% 42%, rgba(34,94,176,.28) 0%, rgba(18,49,101,.18) 26%, rgba(8,20,46,.08) 58%, rgba(6,15,34,0) 78%),
    linear-gradient(180deg, rgba(4,12,30,.90) 0%, rgba(6,16,39,.66) 44%, rgba(8,22,49,.28) 74%, rgba(8,22,49,.04) 100%) !important;
  opacity:1 !important;
  transition:opacity 4.2s ease !important;
}
.hero.skyline-final .hero-skyline-final{
  opacity:1 !important;
}
.hero.skyline-final .hero-skyline-image{
  filter:brightness(.42) saturate(.98) contrast(1.03) hue-rotate(186deg) !important;
  transform:scale(1.005) translate3d(0,0,0) !important;
}
.hero.skyline-full-light .hero-skyline-image{
  filter:none !important;
  opacity:1 !important;
  transform:scale(1) translate3d(0,0,0) !important;
}
.hero.skyline-full-light .hero-skyline-final::before{
  opacity:0 !important;
}
.hero.skyline-full-light .hero-skyline-final{
  background:transparent !important;
}
@media (max-aspect-ratio: 4/5){
  .hero .hero-skyline-image{
    object-position:center 56% !important;
  }
}

/* v74 mobile hero skyline correction: full-screen skyscraper, lower service ribbon, softer left tint */
.hero{
  min-height:100svh !important;
  height:100svh !important;
  background:#040b18 !important;
}
.hero .hero-base,
.hero .hero-skyline-final,
.hero .hero-skyline-image{
  inset:0 !important;
}
.hero .hero-skyline-final{
  background:none !important;
}
.hero .hero-skyline-image{
  object-fit:cover !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
  filter:brightness(.14) saturate(.86) contrast(1.03) hue-rotate(188deg) !important;
  transform:scale(1.06) translate3d(0,0,0) !important;
}
.hero .hero-skyline-final::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(5,16,42,.72) 0%, rgba(6,18,46,.46) 22%, rgba(7,19,47,.18) 42%, rgba(7,19,47,.04) 58%, rgba(7,19,47,0) 74%),
    linear-gradient(180deg, rgba(4,11,28,.78) 0%, rgba(5,14,33,.34) 36%, rgba(6,16,38,.08) 68%, rgba(6,16,38,0) 100%) !important;
  opacity:1 !important;
  transition:opacity 3.6s ease, background 3.6s ease !important;
}
.hero.skyline-final .hero-skyline-image{
  filter:brightness(.54) saturate(.94) contrast(1.04) hue-rotate(182deg) !important;
  transform:scale(1.025) translate3d(0,0,0) !important;
}
.hero.skyline-full-light .hero-skyline-image{
  filter:brightness(1.02) saturate(1.02) contrast(1.01) hue-rotate(0deg) !important;
  transform:scale(1) translate3d(0,0,0) !important;
}
.hero.skyline-full-light .hero-skyline-final::before{
  opacity:1 !important;
  background:
    linear-gradient(90deg, rgba(8,22,52,.30) 0%, rgba(8,22,52,.18) 22%, rgba(8,22,52,.07) 38%, rgba(8,22,52,.02) 52%, rgba(8,22,52,0) 70%),
    linear-gradient(180deg, rgba(4,10,24,.18) 0%, rgba(4,10,24,.04) 34%, rgba(4,10,24,0) 64%) !important;
}

@media (max-width: 900px){
  .hero .hero-skyline-image{
    object-position:54% center !important;
  }
  .hero-inner{
    min-height:100svh !important;
    align-items:flex-start !important;
    padding-top:calc(var(--nav-h) + 255px) !important;
    padding-bottom:110px !important;
  }
  .hero-copy{
    margin-top:0 !important;
    max-width:min(88vw, 430px) !important;
  }
  .hero-title-shell{
    max-width:min(88vw, 430px) !important;
  }
  .hero-title .typed{
    max-width:min(88vw, 430px) !important;
    font-size:clamp(15px, 4.2vw, 20px) !important;
  }
  .hero-title .typed .hero-line.hero-sub{
    max-width:15ch !important;
  }
  .hero-title .typed .hero-line.hero-meta{
    max-width:19ch !important;
    white-space:normal !important;
  }
  .ribbon-wrap{
    top:calc(var(--nav-h) + 98px) !important;
    bottom:auto !important;
    left:0 !important;
    right:0 !important;
  }
  .ribbon-track{
    padding:0 18px !important;
    gap:12px !important;
  }
  .service-pill{
    min-width:min(80vw, 360px) !important;
    padding:14px 18px !important;
    border-radius:28px !important;
    background:linear-gradient(180deg, rgba(9,23,54,.74), rgba(8,21,48,.64)) !important;
    border:1px solid rgba(163,196,245,.16) !important;
    box-shadow:0 16px 40px rgba(1,8,22,.28) !important;
  }
  .service-pill strong{
    font-size:13px !important;
    line-height:1.08 !important;
    max-width:17ch !important;
  }
  .service-pill a{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    font-size:16px !important;
  }
  .start-wrap{
    padding-top:18px !important;
  }
}

@media (max-width: 560px){
  .hero .hero-skyline-image{
    object-position:56% center !important;
  }
  .hero-inner{
    padding-top:calc(var(--nav-h) + 285px) !important;
  }
  .ribbon-wrap{
    top:calc(var(--nav-h) + 112px) !important;
  }
  .service-pill{
    min-width:74vw !important;
    padding:13px 16px !important;
  }
  .service-pill strong{
    font-size:12px !important;
    max-width:15ch !important;
  }
}


/* v75 rebuilt landing hero and slide sequence from scratch */

.home-page .hero.hero-rebuild{
  position:relative !important;
  min-height:100svh !important;
  height:100svh !important;
  background:
    radial-gradient(circle at 18% 26%, rgba(34,86,168,.12), rgba(34,86,168,0) 34%),
    radial-gradient(circle at 82% 18%, rgba(25,60,122,.12), rgba(25,60,122,0) 28%),
    linear-gradient(180deg, #031026 0%, #04142d 44%, #061a37 100%) !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
.home-page .hero.hero-rebuild .hero-spark{display:none !important;}
.home-page .hero.hero-rebuild .hero-base,
.home-page .hero.hero-rebuild .hero-skyline-final{
  position:absolute !important;
  inset:0 !important;
}
.home-page .hero.hero-rebuild .hero-base{
  z-index:1 !important;
  overflow:hidden !important;
}
.home-page .hero.hero-rebuild .hero-base::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 42%, rgba(46,128,255,.10) 0%, rgba(46,128,255,.04) 22%, rgba(46,128,255,0) 48%),
    linear-gradient(180deg, rgba(4,14,33,.92) 0%, rgba(5,15,36,.96) 100%);
  opacity:1;
  z-index:1;
}
.home-page .hero.hero-rebuild .hero-base::after{
  content:"";
  position:absolute;
  top:-18%;
  bottom:-18%;
  left:-42%;
  width:38%;
  background:
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(179,221,255,.10) 22%, rgba(255,255,255,.52) 48%, rgba(255,255,255,.10) 72%, rgba(255,255,255,0) 100%);
  transform:rotate(-14deg) translate3d(0,0,0);
  opacity:0;
  filter:blur(1px);
  z-index:3;
  pointer-events:none;
}
.home-page .hero.hero-rebuild.prelude-active .hero-base::after{
  opacity:1;
  animation:conilPreludeSweep 3.9s cubic-bezier(.18,.72,.16,1) forwards;
}
@keyframes conilPreludeSweep{
  0%{transform:translate3d(0,0,0) rotate(-14deg) scaleX(.88); opacity:0;}
  8%{opacity:.22;}
  28%{opacity:.72;}
  70%{opacity:.18;}
  100%{transform:translate3d(420%,0,0) rotate(-14deg) scaleX(1.02); opacity:0;}
}
.home-page .hero.hero-rebuild .hero-skyline-final{
  z-index:2 !important;
  opacity:0;
  transition:opacity 1.1s ease;
  pointer-events:none;
}
.home-page .hero.hero-rebuild .hero-skyline-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
  filter:brightness(.16) saturate(.88) contrast(1.02) hue-rotate(188deg);
  transform:scale(1.06);
  transition:filter 4.8s cubic-bezier(.2,.72,.16,1), transform 5.3s cubic-bezier(.2,.72,.16,1);
}
.home-page .hero.hero-rebuild .hero-skyline-final::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(4,11,26,.90) 0%, rgba(5,15,35,.72) 38%, rgba(7,18,42,.30) 76%, rgba(7,18,42,.12) 100%),
    linear-gradient(90deg, rgba(6,19,47,.58) 0%, rgba(6,19,47,.38) 25%, rgba(6,19,47,.16) 48%, rgba(6,19,47,.03) 72%, rgba(6,19,47,0) 100%);
  opacity:1;
  transition:opacity 4.6s ease, background 4.6s ease;
  z-index:2;
}
.home-page .hero.hero-rebuild .hero-skyline-final::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7,22,52,.54) 0%, rgba(7,22,52,.32) 18%, rgba(7,22,52,.12) 34%, rgba(7,22,52,.02) 52%, rgba(7,22,52,0) 70%);
  opacity:0;
  transition:opacity 2.8s ease;
  z-index:3;
}
.home-page .hero.hero-rebuild.skyline-visible .hero-skyline-final{opacity:1;}
.home-page .hero.hero-rebuild.skyline-visible .hero-skyline-image{
  filter:brightness(.54) saturate(.94) contrast(1.03) hue-rotate(184deg);
  transform:scale(1.025);
}
.home-page .hero.hero-rebuild.skyline-visible .hero-skyline-final::after{opacity:.5;}
.home-page .hero.hero-rebuild.skyline-full-light .hero-skyline-image{
  filter:brightness(1.02) saturate(1.02) contrast(1.01) hue-rotate(0deg);
  transform:scale(1);
}
.home-page .hero.hero-rebuild.skyline-full-light .hero-skyline-final::before{opacity:0;}
.home-page .hero.hero-rebuild.skyline-full-light .hero-skyline-final::after{opacity:.28;}
.home-page .hero.hero-rebuild .hero-inner,
.home-page .hero.hero-rebuild .hero-copy,
.home-page .hero.hero-rebuild .welcome-line,
.home-page .hero.hero-rebuild .ribbon-wrap,
.home-page .hero.hero-rebuild .start-wrap{
  position:relative;
  z-index:5 !important;
}
.home-page .hero.hero-rebuild .hero-inner{
  min-height:100svh !important;
  display:flex !important;
  align-items:flex-end !important;
  padding-top:calc(var(--nav-h) + 140px) !important;
  padding-bottom:114px !important;
}
.home-page .hero.hero-rebuild .hero-copy{
  width:100%;
  max-width:620px;
  margin:0 0 0 0;
}
.home-page .hero.hero-rebuild .hero-title-shell{
  max-width:620px !important;
  padding-bottom:0 !important;
}
.home-page .hero.hero-rebuild .hero-title{
  min-height:240px;
  display:flex;
  align-items:flex-end;
}
.home-page .hero.hero-rebuild .hero-title .typed{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  min-height:auto !important;
  max-width:620px !important;
  font-size:clamp(19px,1.6vw,24px) !important;
  line-height:1.06 !important;
  text-shadow:0 10px 30px rgba(4,10,24,.24);
}
.home-page .hero.hero-rebuild .hero-title .typed .hero-line{
  display:block;
}
.home-page .hero.hero-rebuild .hero-title .typed .hero-line:first-child{
  font-size:1em !important;
  line-height:1.1 !important;
  color:rgba(237,244,255,.94) !important;
  font-weight:400 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
}
.home-page .hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
  font-size:2.22em !important;
  line-height:.99 !important;
  letter-spacing:-.045em !important;
  font-weight:700 !important;
  color:#f8fbff !important;
  margin-top:.18em !important;
  max-width:11ch !important;
}
.home-page .hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-size:1em !important;
  line-height:1.1 !important;
  color:rgba(230,238,250,.92) !important;
  margin-top:.7em !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
  max-width:28ch !important;
}
.home-page .hero.hero-rebuild .welcome-line{
  position:absolute !important;
  inset:50% auto auto 50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  max-width:88vw !important;
  text-align:center !important;
  font-size:20px !important;
  letter-spacing:.01em !important;
  color:rgba(242,247,255,.94) !important;
  opacity:0 !important;
  transition:opacity .7s ease, transform .7s ease !important;
}
.home-page .hero.hero-rebuild .welcome-line.show{opacity:1 !important; transform:translate(-50%,-50%) !important;}
.home-page .hero.hero-rebuild .welcome-line.fade-out{opacity:0 !important; transform:translate(-50%,-56%) !important;}
.home-page .hero.hero-rebuild .start-wrap{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease, transform .55s ease;
  padding-top:18px !important;
}
.home-page .hero.hero-rebuild .start-wrap.show{opacity:1; transform:none;}
.home-page .hero.hero-rebuild .start-scroll-btn{
  backdrop-filter:blur(12px);
  background:linear-gradient(180deg, rgba(20,45,98,.76), rgba(14,34,78,.74)) !important;
  border:1px solid rgba(177,207,255,.24) !important;
  box-shadow:0 18px 45px rgba(3,10,24,.28);
}
.home-page .hero.hero-rebuild .ribbon-wrap{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:calc(var(--nav-h) + 148px) !important;
  bottom:auto !important;
  opacity:0;
  transform:translateY(16px);
  transition:opacity .8s ease, transform .8s ease;
}
.home-page .hero.hero-rebuild .ribbon-wrap.show{opacity:1; transform:none;}
.home-page .hero.hero-rebuild .ribbon-track{
  gap:12px !important;
  padding:0 24px !important;
}
.home-page .hero.hero-rebuild .service-pill{
  min-width:280px !important;
  padding:16px 20px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg, rgba(10,24,54,.76), rgba(8,20,45,.68)) !important;
  border:1px solid rgba(163,196,245,.18) !important;
  box-shadow:0 18px 50px rgba(1,8,22,.24) !important;
}
.home-page .hero.hero-rebuild .service-pill strong{
  font-size:15px !important;
  line-height:1.04 !important;
  font-weight:500 !important;
}
.home-page .hero.hero-rebuild .service-pill a{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  font-size:18px !important;
}
.home-page .premium-break{
  background:linear-gradient(180deg, rgba(5,12,28,0) 0%, rgba(7,18,40,.42) 28%, rgba(10,25,56,.72) 50%, rgba(7,18,40,.42) 72%, rgba(5,12,28,0) 100%) !important;
}
.home-page .premium-break::before{
  left:7% !important;
  right:7% !important;
  height:1px !important;
  background:linear-gradient(90deg, rgba(177,208,255,0) 0%, rgba(177,208,255,.72) 16%, rgba(247,251,255,.98) 50%, rgba(177,208,255,.72) 84%, rgba(177,208,255,0) 100%) !important;
}
.home-page .premium-break::after{
  left:20% !important;
  right:20% !important;
  background:radial-gradient(circle at center, rgba(139,194,255,.22) 0%, rgba(139,194,255,.10) 34%, rgba(139,194,255,0) 72%) !important;
}
html.intro-locked,
body.intro-locked{
  overflow:hidden !important;
  overscroll-behavior:none !important;
  height:100% !important;
}
body.intro-locked{position:static !important; inset:auto !important; width:auto !important;}
body.intro-locked .hero.hero-rebuild{touch-action:none !important;}
@media (max-width: 900px){
  .home-page .hero.hero-rebuild .hero-skyline-image{
    object-position:center center !important;
  }
  .home-page .hero.hero-rebuild .ribbon-wrap{
    top:calc(var(--nav-h) + 166px) !important;
  }
  .home-page .hero.hero-rebuild .ribbon-track{
    padding:0 18px !important;
    gap:12px !important;
  }
  .home-page .hero.hero-rebuild .service-pill{
    min-width:min(82vw, 360px) !important;
    padding:15px 18px !important;
  }
  .home-page .hero.hero-rebuild .service-pill strong{
    font-size:13px !important;
    max-width:16ch !important;
  }
  .home-page .hero.hero-rebuild .hero-inner{
    align-items:flex-end !important;
    padding-top:calc(var(--nav-h) + 200px) !important;
    padding-bottom:100px !important;
  }
  .home-page .hero.hero-rebuild .hero-title{
    min-height:220px !important;
  }
  .home-page .hero.hero-rebuild .hero-copy,
  .home-page .hero.hero-rebuild .hero-title-shell,
  .home-page .hero.hero-rebuild .hero-title .typed{
    max-width:min(88vw, 470px) !important;
  }
  .home-page .hero.hero-rebuild .hero-title .typed{
    font-size:clamp(16px, 3.2vw, 22px) !important;
  }
  .home-page .hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    max-width:11.2ch !important;
  }
  .home-page .hero.hero-rebuild .welcome-line{font-size:17px !important;}
}
@media (max-width: 640px){
  .home-page .hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 280px) !important;
    padding-bottom:94px !important;
  }
  .home-page .hero.hero-rebuild .hero-title{
    min-height:230px !important;
  }
  .home-page .hero.hero-rebuild .hero-copy,
  .home-page .hero.hero-rebuild .hero-title-shell,
  .home-page .hero.hero-rebuild .hero-title .typed{
    max-width:min(90vw, 420px) !important;
  }
  .home-page .hero.hero-rebuild .hero-title .typed{
    font-size:clamp(15px, 4.3vw, 19px) !important;
  }
  .home-page .hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:2.05em !important;
    max-width:10.8ch !important;
  }
  .home-page .hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
    max-width:18ch !important;
  }
  .home-page .hero.hero-rebuild .ribbon-wrap{
    top:calc(var(--nav-h) + 186px) !important;
  }
  .home-page .hero.hero-rebuild .service-pill{
    min-width:min(84vw, 330px) !important;
    padding:14px 16px !important;
    border-radius:26px !important;
  }
  .home-page .hero.hero-rebuild .service-pill a{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
  .home-page .hero.hero-rebuild .welcome-line{font-size:14px !important;}
}

/* v75 hero width hard reset */
.home-page .hero.hero-rebuild .hero-base, .home-page .hero.hero-rebuild .hero-skyline-final{left:0 !important; right:0 !important; width:100% !important; transform:none !important;}


/* v76 landing rebuild hard override: full-screen skyline, lower final ribbon, wider/smaller copy */
#home.hero.hero-rebuild{
  position:relative !important;
  min-height:100svh !important;
  height:100svh !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#041023 0%,#06162f 42%,#092043 100%) !important;
  isolation:isolate !important;
}
#home.hero.hero-rebuild .hero-base{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  z-index:1 !important;
  background:
    radial-gradient(circle at 18% 26%, rgba(29,88,188,.12), rgba(29,88,188,0) 34%),
    radial-gradient(circle at 82% 18%, rgba(25,60,122,.12), rgba(25,60,122,0) 28%),
    linear-gradient(180deg, #031026 0%, #04142d 44%, #061a37 100%) !important;
}
#home.hero.hero-rebuild .hero-base::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(61,142,255,.12) 0%, rgba(61,142,255,.03) 28%, rgba(61,142,255,0) 56%),
    linear-gradient(180deg, rgba(4,14,33,.95) 0%, rgba(5,15,36,.90) 36%, rgba(5,15,36,.65) 64%, rgba(7,18,42,.36) 100%) !important;
  opacity:1 !important;
  z-index:2 !important;
}
#home.hero.hero-rebuild .hero-base::after{
  content:"" !important;
  position:absolute !important;
  top:-16% !important;
  bottom:-16% !important;
  left:-44% !important;
  width:34% !important;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(171,213,255,.10) 18%, rgba(255,255,255,.44) 50%, rgba(173,214,255,.10) 78%, rgba(255,255,255,0) 100%) !important;
  transform:rotate(-12deg) translate3d(0,0,0) !important;
  opacity:0 !important;
  filter:blur(1.2px) !important;
  z-index:5 !important;
  pointer-events:none !important;
}
#home.hero.hero-rebuild.prelude-active .hero-base::after{
  opacity:1 !important;
  animation:csLuxurySweepV76 3.9s cubic-bezier(.18,.74,.15,1) forwards !important;
}
@keyframes csLuxurySweepV76{
  0%{transform:translate3d(0,0,0) rotate(-12deg) scaleX(.9);opacity:0;}
  10%{opacity:.16;}
  28%{opacity:.68;}
  58%{opacity:.5;}
  82%{opacity:.14;}
  100%{transform:translate3d(445%,0,0) rotate(-12deg) scaleX(1.03);opacity:0;}
}
#home.hero.hero-rebuild .hero-skyline-final{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100vw !important;
  height:100svh !important;
  max-width:none !important;
  max-height:none !important;
  inset:auto !important;
  overflow:hidden !important;
  z-index:1 !important;
  opacity:0 !important;
  transition:opacity 1.15s ease !important;
  pointer-events:none !important;
}
#home.hero.hero-rebuild .hero-skyline-image{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100vw !important;
  height:100svh !important;
  min-width:100vw !important;
  min-height:100svh !important;
  max-width:none !important;
  max-height:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:brightness(.14) saturate(.84) contrast(1.02) hue-rotate(188deg) !important;
  transform:scale(1.07) !important;
  transition:filter 4.8s cubic-bezier(.2,.72,.16,1), transform 5.2s cubic-bezier(.2,.72,.16,1) !important;
}
#home.hero.hero-rebuild .hero-skyline-final::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg, rgba(3,10,23,.88) 0%, rgba(5,15,35,.58) 38%, rgba(7,18,42,.20) 74%, rgba(7,18,42,.08) 100%),
    linear-gradient(90deg, rgba(5,16,39,.58) 0%, rgba(6,19,47,.40) 22%, rgba(6,19,47,.17) 42%, rgba(6,19,47,.05) 62%, rgba(6,19,47,0) 78%) !important;
  opacity:1 !important;
  transition:opacity 4.6s ease, background 4.6s ease !important;
  z-index:2 !important;
}
#home.hero.hero-rebuild .hero-skyline-final::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg, rgba(7,22,52,.42) 0%, rgba(7,22,52,.24) 18%, rgba(7,22,52,.10) 34%, rgba(7,22,52,.02) 50%, rgba(7,22,52,0) 66%) !important;
  opacity:0 !important;
  transition:opacity 2.8s ease !important;
  z-index:3 !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-final{opacity:1 !important;}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-image{
  filter:brightness(.58) saturate(.93) contrast(1.02) hue-rotate(184deg) !important;
  transform:scale(1.035) !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-final::after{opacity:.46 !important;}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-image{
  filter:brightness(1.02) saturate(1.01) contrast(1.01) hue-rotate(0deg) !important;
  transform:scale(1) !important;
}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final::before{opacity:0 !important;}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final::after{opacity:.20 !important;}
#home.hero.hero-rebuild .hero-inner,
#home.hero.hero-rebuild .hero-copy,
#home.hero.hero-rebuild .welcome-line,
#home.hero.hero-rebuild .ribbon-wrap,
#home.hero.hero-rebuild .start-wrap{
  position:relative !important;
  z-index:6 !important;
}
#home.hero.hero-rebuild .hero-inner{
  min-height:100svh !important;
  display:flex !important;
  align-items:flex-end !important;
  padding-top:calc(var(--nav-h) + 120px) !important;
  padding-bottom:148px !important;
}
#home.hero.hero-rebuild .hero-copy{
  width:100% !important;
  max-width:min(92vw, 720px) !important;
  margin:0 !important;
}
#home.hero.hero-rebuild .hero-title-shell{
  max-width:min(92vw, 720px) !important;
  padding-bottom:0 !important;
}
#home.hero.hero-rebuild .hero-title{
  min-height:234px !important;
  display:flex !important;
  align-items:flex-end !important;
}
#home.hero.hero-rebuild .hero-title .typed{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  min-height:auto !important;
  max-width:min(92vw, 720px) !important;
  font-size:clamp(18px,1.55vw,24px) !important;
  line-height:1.08 !important;
  text-shadow:0 14px 34px rgba(3,9,22,.22) !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line{display:block !important;}
#home.hero.hero-rebuild .hero-title .typed .hero-line:first-child{
  font-size:.94em !important;
  line-height:1.1 !important;
  color:rgba(236,243,255,.94) !important;
  font-weight:400 !important;
  letter-spacing:-.008em !important;
  white-space:normal !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
  font-size:1.84em !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  font-weight:700 !important;
  color:#f8fbff !important;
  margin-top:.22em !important;
  max-width:14.2ch !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-size:.9em !important;
  line-height:1.12 !important;
  color:rgba(230,238,250,.94) !important;
  margin-top:.86em !important;
  letter-spacing:-.006em !important;
  white-space:nowrap !important;
  max-width:none !important;
}
#home.hero.hero-rebuild .welcome-line{
  position:absolute !important;
  inset:50% auto auto 50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  max-width:88vw !important;
  text-align:center !important;
  font-size:20px !important;
  letter-spacing:.01em !important;
  color:rgba(242,247,255,.94) !important;
  opacity:0 !important;
  transition:opacity .7s ease, transform .7s ease !important;
}
#home.hero.hero-rebuild .welcome-line.show{opacity:1 !important; transform:translate(-50%,-50%) !important;}
#home.hero.hero-rebuild .welcome-line.fade-out{opacity:0 !important; transform:translate(-50%,-56%) !important;}
#home.hero.hero-rebuild .start-wrap{
  opacity:0 !important;
  transform:translateY(18px) !important;
  transition:opacity .55s ease, transform .55s ease !important;
  padding-top:20px !important;
}
#home.hero.hero-rebuild .start-wrap.show{opacity:1 !important; transform:none !important;}
#home.hero.hero-rebuild .ribbon-wrap{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:auto !important;
  bottom:20px !important;
  opacity:0 !important;
  transform:translateY(24px) !important;
  transition:opacity .8s ease, transform .8s ease !important;
}
#home.hero.hero-rebuild .ribbon-wrap.show{opacity:1 !important; transform:none !important;}
#home.hero.hero-rebuild .ribbon-track{
  gap:12px !important;
  padding:0 18px !important;
}
#home.hero.hero-rebuild .service-pill{
  min-width:280px !important;
  padding:15px 19px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg, rgba(10,24,54,.76), rgba(8,20,45,.68)) !important;
  border:1px solid rgba(163,196,245,.18) !important;
  box-shadow:0 18px 50px rgba(1,8,22,.24) !important;
}
#home.hero.hero-rebuild .service-pill strong{
  font-size:15px !important;
  line-height:1.04 !important;
  font-weight:500 !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  font-size:18px !important;
}
@media (max-width: 900px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 126px) !important;
    padding-bottom:150px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(92vw, 560px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{
    font-size:clamp(16px, 3.05vw, 21px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:1.8em !important;
    max-width:14.4ch !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
    font-size:.86em !important;
  }
  #home.hero.hero-rebuild .welcome-line{font-size:17px !important;}
  #home.hero.hero-rebuild .ribbon-track{padding:0 14px !important;}
  #home.hero.hero-rebuild .service-pill{
    min-width:min(82vw, 360px) !important;
    padding:14px 16px !important;
  }
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 110px) !important;
    padding-bottom:154px !important;
  }
  #home.hero.hero-rebuild .hero-title{
    min-height:210px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(92vw, 520px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{
    font-size:clamp(13px, 4.18vw, 18px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:1.74em !important;
    max-width:15.2ch !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
    font-size:.80em !important;
    white-space:nowrap !important;
  }
  #home.hero.hero-rebuild .ribbon-wrap{bottom:12px !important;}
  #home.hero.hero-rebuild .service-pill{
    min-width:min(86vw, 330px) !important;
    padding:13px 15px !important;
    border-radius:26px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:13px !important;
    max-width:17ch !important;
  }
  #home.hero.hero-rebuild .service-pill a{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
  #home.hero.hero-rebuild .welcome-line{font-size:14px !important;}
}

/* v77 landing hero refinement: upper-left opener, natural typing, softer tinted skyline, smaller bottom ribbon */
#home.hero.hero-rebuild{
  background:linear-gradient(180deg,#031022 0%,#071933 44%,#0a2142 100%) !important;
}
#home.hero.hero-rebuild .hero-base::before{
  background:
    radial-gradient(circle at 50% 38%, rgba(71,149,255,.10) 0%, rgba(71,149,255,.03) 26%, rgba(71,149,255,0) 54%),
    linear-gradient(180deg, rgba(3,11,25,.95) 0%, rgba(4,13,30,.88) 42%, rgba(5,15,34,.54) 72%, rgba(7,18,42,.22) 100%) !important;
}
#home.hero.hero-rebuild .hero-skyline-image{
  filter:brightness(.12) saturate(.82) contrast(1.03) hue-rotate(188deg) !important;
  transform:scale(1.05) !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-image{
  filter:brightness(.44) saturate(.90) contrast(1.02) hue-rotate(184deg) !important;
  transform:scale(1.02) !important;
}
#home.hero.hero-rebuild .hero-skyline-final::before{
  background:
    linear-gradient(180deg, rgba(3,10,23,.84) 0%, rgba(5,15,35,.54) 38%, rgba(7,18,42,.18) 72%, rgba(7,18,42,.10) 100%),
    linear-gradient(90deg, rgba(6,18,45,.64) 0%, rgba(7,21,52,.48) 24%, rgba(7,21,52,.24) 46%, rgba(7,21,52,.10) 64%, rgba(7,21,52,0) 84%) !important;
}
#home.hero.hero-rebuild .hero-skyline-final::after{
  background:linear-gradient(90deg, rgba(8,23,55,.46) 0%, rgba(8,23,55,.30) 20%, rgba(8,23,55,.14) 38%, rgba(8,23,55,.04) 56%, rgba(8,23,55,0) 72%) !important;
}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-image{
  filter:brightness(.92) saturate(.98) contrast(1.02) hue-rotate(2deg) !important;
  transform:scale(1) !important;
}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final::before{opacity:.16 !important;}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final::after{opacity:.34 !important;}

#home.hero.hero-rebuild .hero-inner{
  align-items:flex-start !important;
  padding-top:calc(var(--nav-h) + 150px) !important;
  padding-bottom:176px !important;
}
#home.hero.hero-rebuild .hero-copy,
#home.hero.hero-rebuild .hero-title-shell,
#home.hero.hero-rebuild .hero-title .typed{
  max-width:min(92vw, 820px) !important;
}
#home.hero.hero-rebuild .hero-title{
  min-height:286px !important;
  align-items:flex-start !important;
}
#home.hero.hero-rebuild .hero-title .typed{
  font-size:clamp(17px,1.42vw,22px) !important;
  line-height:1.06 !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line:first-child{
  font-size:.98em !important;
  margin-top:0 !important;
  margin-bottom:.52em !important;
  color:rgba(236,243,255,.95) !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
  font-size:1.66em !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  max-width:18.5ch !important;
  margin-top:0 !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-size:.86em !important;
  margin-top:.78em !important;
  white-space:nowrap !important;
}
#home.hero.hero-rebuild .ribbon-wrap{
  bottom:26px !important;
}
#home.hero.hero-rebuild .ribbon-track{
  gap:10px !important;
  padding:0 14px !important;
}
#home.hero.hero-rebuild .service-pill{
  min-width:236px !important;
  padding:11px 14px !important;
  border-radius:22px !important;
}
#home.hero.hero-rebuild .service-pill strong{
  font-size:12px !important;
  line-height:1.02 !important;
  max-width:16ch !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  font-size:15px !important;
}
@media (max-width: 900px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 138px) !important;
    padding-bottom:170px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(92vw, 640px) !important;
  }
  #home.hero.hero-rebuild .hero-title{
    min-height:264px !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{
    font-size:clamp(14px, 2.9vw, 19px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:1.7em !important;
    max-width:18.8ch !important;
  }
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 116px) !important;
    padding-bottom:166px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(94vw, 560px) !important;
  }
  #home.hero.hero-rebuild .hero-title{
    min-height:248px !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{
    font-size:clamp(13px, 4.0vw, 17px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line:first-child{
    font-size:.96em !important;
    margin-bottom:.54em !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:1.58em !important;
    max-width:18.6ch !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
    font-size:.82em !important;
  }
  #home.hero.hero-rebuild .ribbon-wrap{
    bottom:14px !important;
  }
  #home.hero.hero-rebuild .service-pill{
    min-width:min(64vw, 250px) !important;
    padding:10px 12px !important;
    border-radius:20px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:11px !important;
    max-width:15ch !important;
  }
  #home.hero.hero-rebuild .service-pill a{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    font-size:13px !important;
  }
}


/* v78 landing and staged subpage rebuild */
#home.hero.hero-rebuild{
  background:linear-gradient(180deg,#041022 0%,#061731 54%,#0a2140 100%) !important;
}
#home.hero.hero-rebuild .hero-base{
  background:
    radial-gradient(circle at 20% 24%, rgba(38,110,219,.10), rgba(38,110,219,0) 34%),
    radial-gradient(circle at 76% 18%, rgba(28,72,156,.08), rgba(28,72,156,0) 28%),
    linear-gradient(180deg,#031022 0%, #07172f 55%, #09203e 100%) !important;
}
#home.hero.hero-rebuild .hero-base::before{
  background:
    linear-gradient(180deg, rgba(3,11,25,.96) 0%, rgba(4,13,30,.90) 44%, rgba(5,15,34,.72) 76%, rgba(7,18,42,.52) 100%),
    radial-gradient(circle at 50% 36%, rgba(78,150,255,.06) 0%, rgba(78,150,255,.02) 30%, rgba(78,150,255,0) 56%) !important;
}
#home.hero.hero-rebuild .hero-base::after{
  top:-14% !important;
  bottom:-14% !important;
  left:-42% !important;
  width:26% !important;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(180,214,255,.05) 18%, rgba(255,255,255,.22) 50%, rgba(180,214,255,.05) 82%, rgba(255,255,255,0) 100%) !important;
  filter:blur(1.8px) !important;
}
#home.hero.hero-rebuild.prelude-active .hero-base::after{
  animation:csLuxurySweepV78 4.2s cubic-bezier(.2,.72,.18,1) forwards !important;
}
@keyframes csLuxurySweepV78{
  0%{transform:translate3d(0,0,0) rotate(-12deg) scaleX(.96);opacity:0;}
  16%{opacity:.11;}
  42%{opacity:.28;}
  74%{opacity:.16;}
  100%{transform:translate3d(500%,0,0) rotate(-12deg) scaleX(1.02);opacity:0;}
}
#home.hero.hero-rebuild .hero-skyline-final{
  transition:opacity 1.6s ease !important;
}
#home.hero.hero-rebuild .hero-skyline-image{
  filter:brightness(.18) saturate(.72) contrast(1.02) hue-rotate(194deg) !important;
  transform:scale(1.035) !important;
  transition:filter 4.6s cubic-bezier(.22,.7,.18,1), transform 4.6s cubic-bezier(.22,.7,.18,1) !important;
}
#home.hero.hero-rebuild .hero-skyline-final::before{
  background:
    linear-gradient(180deg, rgba(3,10,22,.88) 0%, rgba(4,13,30,.56) 38%, rgba(6,17,40,.24) 76%, rgba(7,18,42,.18) 100%),
    linear-gradient(90deg, rgba(7,20,47,.66) 0%, rgba(7,20,47,.54) 22%, rgba(7,20,47,.34) 40%, rgba(7,20,47,.18) 58%, rgba(7,20,47,.06) 72%, rgba(7,20,47,0) 84%) !important;
  opacity:1 !important;
  transition:opacity 4.8s ease !important;
}
#home.hero.hero-rebuild .hero-skyline-final::after{
  background:linear-gradient(90deg, rgba(8,22,52,.34) 0%, rgba(8,22,52,.24) 20%, rgba(8,22,52,.14) 38%, rgba(8,22,52,.06) 58%, rgba(8,22,52,0) 74%) !important;
  opacity:.16 !important;
  transition:opacity 4.8s ease !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-image{
  filter:brightness(.34) saturate(.78) contrast(1.02) hue-rotate(188deg) !important;
  transform:scale(1.02) !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-final::after{opacity:.24 !important;}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-image{
  filter:brightness(.72) saturate(.88) contrast(1.02) hue-rotate(182deg) !important;
  transform:scale(1) !important;
}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final::before{opacity:.22 !important;}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final::after{opacity:.34 !important;}
#home.hero.hero-rebuild .hero-inner{
  align-items:flex-start !important;
  padding-top:calc(var(--nav-h) + 144px) !important;
  padding-bottom:162px !important;
}
#home.hero.hero-rebuild .hero-copy,
#home.hero.hero-rebuild .hero-title-shell,
#home.hero.hero-rebuild .hero-title .typed{
  max-width:min(92vw, 880px) !important;
}
#home.hero.hero-rebuild .hero-title{
  min-height:276px !important;
  align-items:flex-start !important;
}
#home.hero.hero-rebuild .hero-title .typed{
  font-size:clamp(16px,1.35vw,22px) !important;
  line-height:1.06 !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line:first-child{
  font-size:.94em !important;
  margin-bottom:.54em !important;
  color:rgba(238,244,255,.94) !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
  font-size:1.48em !important;
  line-height:1.08 !important;
  letter-spacing:-.028em !important;
  max-width:20.5ch !important;
  margin-top:0 !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-size:.82em !important;
  margin-top:.92em !important;
  white-space:nowrap !important;
  letter-spacing:.01em !important;
  color:rgba(233,240,249,.96) !important;
}
#home.hero.hero-rebuild .ribbon-wrap{
  bottom:18px !important;
}
#home.hero.hero-rebuild .ribbon-track{
  gap:8px !important;
  padding:0 12px !important;
}
#home.hero.hero-rebuild .service-pill{
  min-width:204px !important;
  padding:9px 12px !important;
  border-radius:20px !important;
}
#home.hero.hero-rebuild .service-pill strong{
  font-size:10.5px !important;
  line-height:1.08 !important;
  max-width:15ch !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  font-size:13px !important;
}
@media (max-width: 900px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 132px) !important;
    padding-bottom:156px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(92vw, 640px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{font-size:clamp(14px,2.65vw,19px) !important;}
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{max-width:21ch !important; font-size:1.52em !important;}
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 108px) !important;
    padding-bottom:152px !important;
  }
  #home.hero.hero-rebuild .hero-title{min-height:240px !important;}
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(94vw, 560px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{font-size:clamp(12px,3.85vw,17px) !important;}
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{font-size:1.54em !important; max-width:20.6ch !important;}
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{font-size:.74em !important; white-space:nowrap !important;}
  #home.hero.hero-rebuild .service-pill{min-width:178px !important; padding:8px 10px !important;}
  #home.hero.hero-rebuild .service-pill strong{font-size:9px !important; max-width:13.8ch !important;}
  #home.hero.hero-rebuild .service-pill a{width:26px !important; height:26px !important; min-width:26px !important; font-size:11px !important;}
}

body.menu-entry-delay.menu-entry-prep{overflow:hidden !important;}
body.menu-entry-delay [data-menu-entry-content],
body.menu-entry-delay .menu-stage-copy{
  opacity:1;
  transform:none;
  transition:opacity .7s ease, transform .7s ease;
}
body.menu-entry-delay.menu-entry-prep [data-menu-entry-content],
body.menu-entry-delay.menu-entry-prep .menu-stage-copy{
  opacity:0 !important;
  transform:translateY(18px) !important;
  pointer-events:none !important;
}
body.menu-entry-delay.menu-entry-prep .hub-bg img,
body.menu-entry-delay.menu-entry-prep .menu-stage-hero{
  filter:brightness(.48) saturate(.88) contrast(1.02) !important;
}
body.menu-entry-delay.menu-entry-ready [data-menu-entry-content],
body.menu-entry-delay.menu-entry-ready .menu-stage-copy{
  opacity:1 !important;
  transform:none !important;
}
body.footprint-page .menu-stage-hero{
  position:relative;
  min-height:62svh;
  background:
    linear-gradient(180deg, rgba(4,12,28,.78) 0%, rgba(6,17,38,.56) 44%, rgba(8,19,43,.36) 100%),
    url('images/footprint-menu-bg.jpg') center center / cover no-repeat;
}
body.footprint-page .menu-stage-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(6,18,42,.54) 0%, rgba(6,18,42,.22) 34%, rgba(6,18,42,0) 64%);
}
body.footprint-page .menu-stage-hero > .container{
  position:relative;
  z-index:2;
  min-height:62svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:72px;
}
body.footprint-page .footprint-page-section{
  padding-top:48px;
}
body.team-page.menu-entry-delay .hub-stage[data-hub="team"] .hub-bg img{
  content-visibility:auto;
}


/* v79 landing hero update: new landing image, no tint/brighten reveal, smaller copy and smaller ribbon */
#home.hero.hero-rebuild{
  background:linear-gradient(180deg,#041224 0%, #081a34 58%, #0d233f 100%) !important;
}
#home.hero.hero-rebuild .hero-base{
  background:linear-gradient(180deg,#041224 0%, #081a34 58%, #0d233f 100%) !important;
}
#home.hero.hero-rebuild .hero-base::before{
  background:linear-gradient(180deg, rgba(4,18,36,.96) 0%, rgba(6,18,38,.88) 46%, rgba(8,21,44,.70) 78%, rgba(10,24,48,.54) 100%) !important;
}
#home.hero.hero-rebuild .hero-base::after{
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(190,220,255,.04) 28%, rgba(255,255,255,.18) 50%, rgba(190,220,255,.04) 72%, rgba(255,255,255,0) 100%) !important;
  filter:blur(2.2px) !important;
}
#home.hero.hero-rebuild .hero-skyline-final{
  opacity:0 !important;
  transition:opacity 1.2s ease !important;
}
#home.hero.hero-rebuild .hero-skyline-image{
  width:100vw !important;
  height:100svh !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}
#home.hero.hero-rebuild .hero-skyline-final::before,
#home.hero.hero-rebuild .hero-skyline-final::after{
  content:none !important;
  display:none !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-final,
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final{
  opacity:1 !important;
}
#home.hero.hero-rebuild.skyline-visible .hero-skyline-image,
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-image{
  filter:none !important;
  transform:none !important;
}
#home.hero.hero-rebuild .hero-inner{
  align-items:flex-start !important;
  padding-top:calc(var(--nav-h) + 142px) !important;
  padding-bottom:154px !important;
}
#home.hero.hero-rebuild .hero-copy,
#home.hero.hero-rebuild .hero-title-shell,
#home.hero.hero-rebuild .hero-title .typed{
  max-width:min(92vw, 920px) !important;
}
#home.hero.hero-rebuild .hero-title{
  min-height:260px !important;
  align-items:flex-start !important;
}
#home.hero.hero-rebuild .hero-title .typed{
  font-size:clamp(16px,1.28vw,21px) !important;
  line-height:1.08 !important;
  text-shadow:0 8px 22px rgba(6,16,33,.24), 0 2px 6px rgba(6,16,33,.12) !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line:first-child{
  font-size:.92em !important;
  margin-bottom:.56em !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
  font-size:1.34em !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  max-width:23.2ch !important;
  margin-top:0 !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-size:.78em !important;
  margin-top:.9em !important;
  white-space:nowrap !important;
  letter-spacing:.012em !important;
}
#home.hero.hero-rebuild .ribbon-wrap{
  bottom:14px !important;
}
#home.hero.hero-rebuild .ribbon-track{
  gap:8px !important;
  padding:0 10px !important;
}
#home.hero.hero-rebuild .service-pill{
  min-width:176px !important;
  padding:8px 10px !important;
  border-radius:18px !important;
}
#home.hero.hero-rebuild .service-pill strong{
  font-size:9.6px !important;
  line-height:1.06 !important;
  max-width:14.5ch !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  font-size:11px !important;
}
@media (max-width: 900px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 130px) !important;
    padding-bottom:150px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(92vw, 680px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{
    font-size:clamp(14px,2.6vw,18px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:1.42em !important;
    max-width:23.6ch !important;
  }
  #home.hero.hero-rebuild .service-pill{
    min-width:min(56vw, 214px) !important;
  }
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .hero-inner{
    padding-top:calc(var(--nav-h) + 112px) !important;
    padding-bottom:148px !important;
  }
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .hero-title .typed{
    max-width:min(94vw, 560px) !important;
  }
  #home.hero.hero-rebuild .hero-title{
    min-height:232px !important;
  }
  #home.hero.hero-rebuild .hero-title .typed{
    font-size:clamp(12.5px,3.9vw,16px) !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-sub{
    font-size:1.34em !important;
    max-width:24ch !important;
  }
  #home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
    font-size:.74em !important;
  }
  #home.hero.hero-rebuild .service-pill{
    min-width:min(53vw, 196px) !important;
    padding:7px 9px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:8.9px !important;
    max-width:13.5ch !important;
  }
  #home.hero.hero-rebuild .service-pill a{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    font-size:10px !important;
  }
}


/* v80 landing image update: use uploaded tower image more cleanly and slow meta typing */
#home.hero.hero-rebuild .hero-base::before{
  transition:opacity .7s ease !important;
}
#home.hero.hero-rebuild.skyline-full-light .hero-base::before{
  opacity:0 !important;
}
#home.hero.hero-rebuild.skyline-full-light .hero-skyline-final,
#home.hero.hero-rebuild.skyline-visible .hero-skyline-final{
  opacity:1 !important;
}
#home.hero.hero-rebuild .hero-skyline-image{
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
}
#home.hero.hero-rebuild .service-pill{
  min-width:168px !important;
  padding:7px 9px !important;
}
#home.hero.hero-rebuild .service-pill strong{
  font-size:9.1px !important;
  max-width:13.6ch !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
}
@media (max-width:640px){
  #home.hero.hero-rebuild .service-pill{
    min-width:min(50vw, 188px) !important;
    padding:7px 8px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:8.5px !important;
    max-width:12.9ch !important;
  }
}


/* v81 expertise background refresh + smaller home ribbon + fixed footprint backdrop */
#home.hero.hero-rebuild .ribbon-wrap{
  bottom:12px !important;
}
#home.hero.hero-rebuild .ribbon-track{
  gap:6px !important;
  padding:0 8px !important;
}
#home.hero.hero-rebuild .service-pill{
  min-width:118px !important;
  padding:6px 8px 6px 9px !important;
  border-radius:16px !important;
  gap:7px !important;
}
#home.hero.hero-rebuild .service-pill .dot{
  width:8px !important;
  height:8px !important;
  min-width:8px !important;
}
#home.hero.hero-rebuild .service-pill strong{
  font-size:8px !important;
  line-height:1.02 !important;
  max-width:10.2ch !important;
  letter-spacing:.01em !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  font-size:10px !important;
}
@media (max-width: 900px){
  #home.hero.hero-rebuild .service-pill{
    min-width:108px !important;
    padding:6px 7px 6px 8px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:7.5px !important;
    max-width:9.7ch !important;
  }
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .service-pill{
    min-width:100px !important;
    padding:5px 7px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:7.1px !important;
    max-width:9.1ch !important;
  }
  #home.hero.hero-rebuild .service-pill a{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    font-size:9px !important;
  }
}

body.footprint-page{
  background:#061326 !important;
}
body.footprint-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(6,18,42,.70) 0%, rgba(6,18,42,.48) 34%, rgba(6,18,42,.28) 72%, rgba(6,18,42,.20) 100%),
    url('images/footprint-menu-bg.jpg') center center / cover no-repeat;
  transition:filter .9s ease, opacity .9s ease;
  will-change:filter;
}
body.footprint-page.menu-entry-prep::before{
  filter:brightness(.54) saturate(.88) contrast(1.02);
}
body.footprint-page.menu-entry-ready::before{
  filter:brightness(.86) saturate(1.02) contrast(1.01);
}
body.footprint-page .nav,
body.footprint-page .subpage-main,
body.footprint-page .footer{
  position:relative;
  z-index:2;
}
body.footprint-page .menu-stage-hero,
body.footprint-page .footprint-page-section{
  background:transparent !important;
}
body.footprint-page .menu-stage-hero{
  min-height:62svh;
}
body.footprint-page .menu-stage-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(5,15,34,.18) 0%, rgba(5,15,34,.08) 50%, rgba(5,15,34,0) 100%) !important;
}
body.footprint-page .footprint-page-section{
  padding-top:28px !important;
  padding-bottom:72px !important;
}
body.footprint-page .footprint-copy,
body.footprint-page .footprint-page-map{
  background:rgba(7,18,38,.48) !important;
  backdrop-filter:blur(10px) saturate(1.06) !important;
  -webkit-backdrop-filter:blur(10px) saturate(1.06) !important;
}


/* v83 expertise + landing asset refresh, ribbon tightening, and about-us cleanup */
#home.hero.hero-rebuild .ribbon-wrap{
  overflow:hidden !important;
  bottom:12px !important;
}
#home.hero.hero-rebuild .ribbon-wrap::before,
#home.hero.hero-rebuild .ribbon-wrap::after{
  width:24px !important;
}
#home.hero.hero-rebuild .ribbon-track{
  display:flex !important;
  align-items:stretch !important;
  width:max-content !important;
  gap:6px !important;
  padding:0 !important;
  animation:ribbonLoopTight 52s linear infinite !important;
  will-change:transform !important;
}
@keyframes ribbonLoopTight{
  from{transform:translateX(0)}
  to{transform:translateX(-33.333333%)}
}
#home.hero.hero-rebuild .service-pill{
  flex:0 0 112px !important;
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
  padding:6px 7px 6px 8px !important;
  border-radius:12px !important;
  gap:6px !important;
  align-items:center !important;
}
#home.hero.hero-rebuild .service-pill .dot{
  width:6px !important;
  height:6px !important;
  min-width:6px !important;
}
#home.hero.hero-rebuild .service-pill strong{
  display:block !important;
  flex:1 1 auto !important;
  font-size:7.4px !important;
  line-height:1.08 !important;
  max-width:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  letter-spacing:.008em !important;
}
#home.hero.hero-rebuild .service-pill a{
  width:19px !important;
  height:19px !important;
  min-width:19px !important;
  font-size:8.8px !important;
}
@media (max-width: 900px){
  #home.hero.hero-rebuild .service-pill{
    flex-basis:106px !important;
    width:106px !important;
    min-width:106px !important;
    max-width:106px !important;
    padding:5px 6px 5px 7px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:7px !important;
  }
  #home.hero.hero-rebuild .service-pill a{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    font-size:8px !important;
  }
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .ribbon-wrap::before,
  #home.hero.hero-rebuild .ribbon-wrap::after{
    width:16px !important;
  }
  #home.hero.hero-rebuild .service-pill{
    flex-basis:100px !important;
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
  }
  #home.hero.hero-rebuild .service-pill strong{
    font-size:6.7px !important;
    line-height:1.06 !important;
  }
}
.about-grid.about-lux-grid.about-no-graphic{
  grid-template-columns:minmax(0,1fr) !important;
  max-width:1040px !important;
  align-items:stretch !important;
}
#about .infographic-panel,
.about-page .infographic-panel,
main .infographic-panel{
  display:none !important;
}

/* v86 landing indent, lighter hero type, new expertise background, stronger team shade, orange expertise switching */
#home.hero.hero-rebuild .hero-copy,
#home.hero.hero-rebuild .hero-title-shell,
#home.hero.hero-rebuild .start-wrap{
  padding-left:clamp(18px, 3.2vw, 44px) !important;
}
#home.hero.hero-rebuild .start-wrap{
  margin-top:4px !important;
}
@media (max-width: 640px){
  #home.hero.hero-rebuild .hero-copy,
  #home.hero.hero-rebuild .hero-title-shell,
  #home.hero.hero-rebuild .start-wrap{
    padding-left:18px !important;
  }
}

#home.hero.hero-rebuild .hero-title .typed .hero-line:first-child,
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-family:"Avenir Next","Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-weight:400 !important;
  letter-spacing:-0.008em !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line:first-child{
  font-size:.9em !important;
  color:#EAF4FF !important;
  text-shadow:0 2px 12px rgba(7,18,38,.42) !important;
}
#home.hero.hero-rebuild .hero-title .typed .hero-line.hero-meta{
  font-size:.745em !important;
  color:#EAF3FF !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  text-shadow:0 2px 14px rgba(7,18,38,.62) !important;
  -webkit-text-stroke:0.2px rgba(7,18,38,.20) !important;
  paint-order:stroke fill !important;
}

.hero-spark,
.hero.dot-ready .hero-spark{
  left:auto !important;
}
.hero-spark{
  right:clamp(22px, 4.5vw, 64px) !important;
  top:calc(var(--nav-h) + 14px) !important;
  width:13px !important;
  height:13px !important;
  background:radial-gradient(circle at 34% 34%, #ffe0ab 0%, #ffbc5f 44%, #ff9b2f 70%, #e77100 100%) !important;
  box-shadow:0 0 0 4px rgba(255,163,51,.12), 0 0 16px rgba(255,160,58,.20), 0 0 28px rgba(228,118,0,.14) !important;
  z-index:96 !important;
}
@media (max-width: 640px){
  .hero-spark{
    right:16px !important;
    top:calc(var(--nav-h) + 12px) !important;
    width:11px !important;
    height:11px !important;
  }
}

.team-hub-stage .hub-bg img{
  object-position:center 12% !important;
}
.team-hub-stage .hub-tint{
  background:
    linear-gradient(90deg, rgba(7,18,38,.86), rgba(7,18,38,.58) 40%, rgba(7,18,38,.74)),
    linear-gradient(135deg, rgba(74,132,230,.34), rgba(74,132,230,.12) 28%, rgba(74,132,230,0) 44%) !important;
}
.team-hub-stage.is-tinted .hub-bg img{
  filter:saturate(.93) contrast(1.02) brightness(.62) hue-rotate(6deg) !important;
}

.expertise-hub-stage .hub-tab,
.expertise-hub-stage .hub-nav .hub-tab{
  position:relative !important;
  overflow:hidden !important;
}
.expertise-hub-stage .hub-tab::after,
.expertise-hub-stage .hub-nav .hub-tab::after{
  content:"" !important;
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:8px !important;
  height:3px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(255,166,84,0), rgba(255,166,84,.92), rgba(228,111,0,.92), rgba(255,166,84,0)) !important;
  opacity:0 !important;
  transform:scaleX(.42) !important;
  transition:opacity .28s ease, transform .28s ease !important;
}
.expertise-hub-stage .hub-tab:hover::after,
.expertise-hub-stage .hub-tab.is-default-glow::after,
.expertise-hub-stage .hub-tab.active::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
.expertise-hub-stage .hub-tab:hover,
.expertise-hub-stage .hub-tab.is-default-glow{
  color:#fff2e4 !important;
  border-color:rgba(205,118,43,.58) !important;
  background:linear-gradient(180deg, rgba(131,63,16,.74), rgba(74,31,6,.82)) !important;
  box-shadow:0 18px 34px rgba(11,10,7,.22), inset 0 1px 0 rgba(255,212,171,.12) !important;
}
.expertise-hub-stage .hub-tab.active{
  color:#fff6eb !important;
  border-color:rgba(236,145,58,.80) !important;
  background:linear-gradient(180deg, rgba(180,95,28,.88), rgba(104,43,8,.90)) !important;
  box-shadow:0 20px 38px rgba(11,10,7,.26), inset 0 1px 0 rgba(255,220,188,.18) !important;
}

/* v87 verification fix: ensure final orange dot is not suppressed by older home hero rule */
.home-page .hero.hero-rebuild .hero-spark{
  display:block !important;
}


/* v101 fix: make final orange dot visible in the actual top-right corner */
.home-page #home.hero.hero-rebuild .hero-spark{
  display:block !important;
  position:fixed !important;
  left:auto !important;
  right:clamp(18px, 4vw, 56px) !important;
  top:calc(var(--nav-h) + 14px) !important;
  width:13px !important;
  height:13px !important;
  border-radius:999px !important;
  z-index:120 !important;
}
@media (max-width: 640px){
  .home-page #home.hero.hero-rebuild .hero-spark{
    right:16px !important;
    top:calc(var(--nav-h) + 12px) !important;
    width:11px !important;
    height:11px !important;
  }
}
