:root {
  --blue:#1268F3; --blue-dark:#0B54D4; --blue-soft:#EAF2FF; --black:#0A0A0B; --text:#191B20;
  --muted:#616773; --white:#FFFFFF; --surface:#F6F7F9; --border:#E4E7EC;
  --radius-sm:16px; --radius-md:24px; --radius-lg:36px; --shadow:0 18px 50px rgba(7,12,20,.07);
  --font:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --header-height:74px;
}
*{box-sizing:border-box} html{font-size:100%;scroll-behavior:smooth} body{margin:0;background:var(--white);color:var(--text);font-family:var(--font);line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden} body.text-lg{font-size:112.5%} body.text-xl{font-size:125%}
body.high-contrast{--blue:#0054FF;--blue-dark:#003BB5;--black:#000;--text:#000;--muted:#171717;--surface:#FFF;--border:#000}
body.grayscale{filter:grayscale(1)} body.underline-links a{text-decoration:underline;text-underline-offset:.22em} body.readable-spacing{letter-spacing:.018em;word-spacing:.06em}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer} img,svg,canvas{display:block;max-width:100%}
:focus-visible{outline:3px solid rgba(18,104,243,.55);outline-offset:4px}
.skip-link{position:fixed;left:12px;top:12px;z-index:9999;transform:translateY(-160%);background:var(--black);color:var(--white);padding:.8rem 1rem;border-radius:999px;font-weight:800}.skip-link:focus{transform:translateY(0)}
.container{width:min(calc(100% - 32px),1180px);margin-inline:auto}.section{padding-block:clamp(72px,9vw,118px)}.section-soft{background:var(--surface)}
.eyebrow,.hero-kicker{margin:0 0 14px;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow-light{color:#9FC3FF}
h1,h2,h3{margin:0;color:var(--black);line-height:1.06;letter-spacing:-.045em} h1{font-size:clamp(3rem,11vw,6.6rem);font-weight:800} h2{font-size:clamp(2rem,6vw,4rem);font-weight:800} h3{font-size:clamp(1.35rem,3vw,1.8rem);font-weight:800}
p{margin:0;color:var(--muted)} p+p{margin-top:1rem} strong{color:inherit}
.site-header{position:sticky;top:0;z-index:1000;min-height:var(--header-height);background:rgba(255,255,255,.9);border-bottom:1px solid rgba(228,231,236,.82);backdrop-filter:blur(18px)}
.header-inner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--blue);color:var(--white);font-size:.9rem;font-weight:800;box-shadow:0 10px 25px rgba(18,104,243,.22)}.brand-copy{display:grid;line-height:1.08}.brand-copy strong{color:var(--black);font-size:.98rem;font-weight:800;letter-spacing:-.03em}.brand-copy span{margin-top:3px;color:var(--muted);font-size:.68rem;font-weight:600}
.main-nav{display:flex;align-items:center;gap:6px}.main-nav>a:not(.btn){min-height:44px;display:inline-flex;align-items:center;padding:.66rem .82rem;border-radius:999px;color:var(--black);font-size:.92rem;font-weight:750}.main-nav>a:not(.btn):hover,.main-nav>a:not(.btn):focus-visible{background:var(--surface);color:var(--blue)}
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--white)}.menu-toggle span{width:20px;height:2px;display:block;margin:4px auto;border-radius:99px;background:var(--black)}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.9rem 1.22rem;border:1px solid transparent;border-radius:999px;font-weight:800;line-height:1.1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.btn-primary{background:var(--blue);color:var(--white);border-color:var(--blue);box-shadow:0 12px 26px rgba(18,104,243,.2)}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 16px 32px rgba(18,104,243,.25)}.btn-secondary{background:rgba(255,255,255,.9);color:var(--black);border-color:var(--border)}.btn-secondary:hover{color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-large{min-height:54px;padding-inline:1.6rem}
.hero{position:relative;min-height:calc(100svh - var(--header-height));display:grid;place-items:center;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#FFF 0%,#FAFBFC 100%)}.hero-glow{position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 50% 42%,rgba(18,104,243,.16),transparent 30%),radial-gradient(circle at 18% 30%,rgba(18,104,243,.07),transparent 22%),radial-gradient(circle at 84% 24%,rgba(18,104,243,.08),transparent 20%)}.hero-particles{position:absolute;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.88;mix-blend-mode:multiply}.hero::after{content:"";position:absolute;inset:9%;z-index:-1;border:1px solid rgba(18,104,243,.07);border-radius:50%;transform:rotate(-9deg);pointer-events:none}.hero-content{text-align:center;padding-block:56px}.hero-typing{min-height:1.25em;margin-top:18px;color:var(--blue);font-size:clamp(1.45rem,5.2vw,3.1rem);font-weight:800;letter-spacing:-.04em;line-height:1.13}.typing-cursor{display:inline-block;margin-left:3px;animation:cursor-blink 850ms infinite}.hero-description{max-width:800px;margin:24px auto 0;font-size:clamp(1rem,2.4vw,1.2rem)}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.section-grid-split{display:grid;gap:28px}.section-copy{max-width:700px}.section-copy p{font-size:clamp(1rem,2.2vw,1.16rem)}.principles-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:44px}.principle-card{min-height:210px;position:relative;padding:28px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.principle-number{display:inline-block;margin-bottom:32px;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.11em}.principle-card h3{margin-bottom:10px}
.section-heading-centered{max-width:790px;margin-inline:auto;text-align:center}.section-heading-centered>p:last-child{margin-top:18px;font-size:clamp(1rem,2vw,1.12rem)}
.feature-project{max-width:1000px;display:grid;gap:28px;margin:44px auto 0;padding:clamp(26px,5vw,54px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow)}.project-label{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.project-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px rgba(18,104,243,.08)}.feature-project h3{margin-top:16px;font-size:clamp(2rem,6vw,3.4rem)}.feature-lead{margin-top:13px;color:var(--black);font-size:clamp(1.12rem,2.5vw,1.35rem);font-weight:700}.feature-project-copy>p:not(.feature-lead){margin-top:16px}.text-link{display:inline-flex;align-items:center;gap:6px;margin-top:22px;color:var(--blue);font-weight:800}.text-link:hover{color:var(--blue-dark)}.feature-project-visual{min-height:300px;position:relative;display:grid;place-items:center;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 50% 50%,rgba(18,104,243,.16),transparent 35%),linear-gradient(145deg,#F4F8FF 0%,#FFF 70%);border:1px solid #DCE9FF}.visual-ring{position:absolute;border:1px solid rgba(18,104,243,.2);border-radius:50%}.ring-one{width:220px;height:220px}.ring-two{width:150px;height:150px;border-style:dashed}.visual-core{width:90px;height:90px;display:grid;place-items:center;border-radius:26px;background:var(--blue);color:var(--white);font-size:1.7rem;font-weight:800;box-shadow:0 18px 40px rgba(18,104,243,.28)}.visual-label{position:absolute;padding:.55rem .8rem;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.92);color:var(--black);font-size:.78rem;font-weight:750;box-shadow:var(--shadow)}.visual-label-one{top:18%;left:12%}.visual-label-two{top:16%;right:12%}.visual-label-three{bottom:18%;left:10%}.visual-label-four{bottom:16%;right:10%}.section-closing-line{margin-top:26px;text-align:center;color:var(--black);font-weight:700}
.pillar-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:44px}.pillar-card{display:flex;flex-direction:column;min-height:100%;padding:clamp(26px,4vw,34px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);box-shadow:0 16px 40px rgba(8,12,20,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pillar-card:hover{transform:translateY(-4px);border-color:rgba(18,104,243,.28);box-shadow:var(--shadow)}.pillar-card-top{display:flex;align-items:center;gap:10px;margin-bottom:22px}.pillar-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--blue-soft);color:var(--blue);font-weight:800}.pillar-meta{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pillar-card h3{font-size:clamp(1.5rem,3vw,2rem)}.pillar-list{display:grid;gap:20px;padding:0;margin:28px 0 0;list-style:none}.pillar-list li{display:grid;gap:5px;padding-top:18px;border-top:1px solid var(--border)}.pillar-list strong{color:var(--black);font-size:.98rem}.pillar-list span{color:var(--muted);font-size:.92rem}.pillar-card .text-link{margin-top:auto;padding-top:28px}
.rooted-section{background:radial-gradient(circle at 82% 20%,rgba(18,104,243,.32),transparent 25%),var(--black)}.rooted-layout{display:grid;gap:30px}.rooted-section h2,.rooted-section p{color:var(--white)}.rooted-copy p{color:rgba(255,255,255,.76)}.rooted-copy strong{color:var(--white)}.rooted-closing{margin-top:24px!important;color:var(--white)!important;font-weight:800}
.final-cta{max-width:940px;margin-inline:auto;padding:clamp(34px,7vw,72px);text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0%,rgba(18,104,243,.10),transparent 32%),var(--surface)}.final-cta>p:not(.eyebrow){max-width:670px;margin:18px auto 28px}.final-cta-note{display:block;margin-top:18px;color:var(--muted);font-size:.84rem}
.accessibility-panel{position:fixed;right:18px;bottom:22px;z-index:1201;width:min(calc(100vw - 36px),340px);padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);box-shadow:0 22px 60px rgba(0,0,0,.18)}.accessibility-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.accessibility-panel-header h2{font-size:1.05rem;letter-spacing:-.02em}.accessibility-close{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--white);color:var(--black);font-size:1.35rem;line-height:1}.accessibility-actions{display:grid;gap:8px;margin-top:14px}.accessibility-actions button{width:100%;padding:.72rem .84rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--black);text-align:left;font-weight:750}
.site-footer{padding-top:66px;background:#070708;color:var(--white)}.footer-main{display:grid;gap:34px}.footer-logo .brand-copy strong{color:var(--white)}.footer-logo .brand-copy span{color:rgba(255,255,255,.58)}.footer-tagline{margin-top:18px;color:var(--white);font-weight:800}.footer-description{max-width:410px;margin-top:9px;color:rgba(255,255,255,.62)}.footer-column h2{margin-bottom:14px;color:var(--white);font-size:.88rem;letter-spacing:0}.footer-column ul{display:grid;gap:9px;padding:0;margin:0;list-style:none}.footer-column a{color:rgba(255,255,255,.62);font-size:.9rem}.footer-column a:hover{color:var(--white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.footer-bottom-inner{display:grid;gap:14px;padding-block:20px;color:rgba(255,255,255,.55);font-size:.78rem}.footer-legal{display:grid;gap:9px}.footer-legal nav{display:flex;gap:14px;flex-wrap:wrap}.footer-legal a:hover{color:var(--white)}.footer-bottom strong{color:var(--white);font-weight:750}
@media (min-width:700px){.principles-grid{grid-template-columns:repeat(3,1fr)}.feature-project{grid-template-columns:1.2fr .8fr;align-items:center}.rooted-layout{grid-template-columns:.9fr 1.1fr;align-items:start}.footer-bottom-inner{grid-template-columns:1fr auto;align-items:center}}
@media (min-width:900px){.section-grid-split{grid-template-columns:.9fr 1.1fr;align-items:start}.pillar-grid{grid-template-columns:repeat(3,1fr)}.footer-main{grid-template-columns:1.7fr repeat(5,1fr)}}
@media (max-width:899px){.menu-toggle{display:inline-block}.main-nav{position:fixed;top:calc(var(--header-height) + 10px);left:16px;right:16px;display:grid;gap:6px;padding:16px;border:1px solid var(--border);border-radius:22px;background:rgba(255,255,255,.98);box-shadow:0 22px 60px rgba(0,0,0,.16);transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.main-nav.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.main-nav>a:not(.btn){width:100%;justify-content:flex-start;padding:.9rem 1rem;border-radius:14px}.nav-cta{width:100%;margin-top:4px}.brand-copy span{display:none}}
@media (max-width:560px){.container{width:min(calc(100% - 24px),1180px)}.section{padding-block:64px}h1{font-size:clamp(2.8rem,15vw,4rem)}.hero{min-height:calc(100svh - var(--header-height))}.hero-content{padding-block:44px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.feature-project-visual{min-height:250px}.visual-label{font-size:.7rem}.final-cta .btn{width:100%}}
@keyframes cursor-blink{0%,45%{opacity:1}46%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.typing-cursor,.hero-particles{display:none}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}body.reduce-motion .typing-cursor,body.reduce-motion .hero-particles{display:none}


/* V3.1 refinements */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand-logo{width:auto;height:38px;max-width:168px}.footer-brand-logo{height:42px}
.main-nav{gap:12px}.nav-cta{min-height:42px;padding:.72rem 1.08rem;margin-left:18px;font-size:.88rem;box-shadow:0 8px 20px rgba(18,104,243,.13)}.nav-cta:hover{transform:translateY(-1px)}
.section-grid-split{align-items:start}.defines-us .section-intro,.defines-us .section-copy{padding-top:0}.defines-us .section-copy{align-self:start}.principle-card{min-height:220px}.principle-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:28px;border-radius:15px;background:var(--blue-soft);color:var(--blue)}.principle-icon svg{width:23px;height:23px;fill:currentColor}.principle-number{display:none}
#innovation-title span,#rooted-title span{display:block}
.pillar-visual{position:relative;height:132px;margin:-2px -2px 22px;overflow:hidden;border:1px solid #DDE7F7;border-radius:24px;background:radial-gradient(circle at 72% 22%,rgba(18,104,243,.18),transparent 26%),linear-gradient(145deg,#F4F8FF 0%,#FFF 76%)}
.build-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--black);color:var(--white);font-weight:800;box-shadow:0 14px 28px rgba(10,10,11,.18)}.build-node{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px rgba(18,104,243,.08)}.build-node-one{left:22%;top:27%}.build-node-two{right:20%;bottom:24%}.build-line{position:absolute;left:50%;top:50%;width:96px;height:1px;background:rgba(10,10,11,.16);transform-origin:left center}.build-line-one{transform:rotate(25deg)}.build-line-two{transform:rotate(-30deg)}
.skill-book{position:absolute;left:50%;top:50%;width:86px;height:60px;transform:translate(-50%,-50%) rotate(-4deg);border:2px solid var(--black);border-radius:12px 16px 16px 12px;background:var(--white)}.skill-book::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(10,10,11,.18)}.skill-spark{position:absolute;right:22%;top:20%;color:var(--blue);font-size:1.5rem}
.innovate-orbit{position:absolute;left:50%;top:50%;width:116px;height:64px;transform:translate(-50%,-50%) rotate(-18deg);border:1.5px solid rgba(18,104,243,.36);border-radius:50%}.innovate-orbit::after{content:"";position:absolute;right:5px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--blue)}.innovate-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--black);color:var(--white);font-size:1.25rem}
.pillar-card-top{margin-bottom:14px}.pillar-card h3{min-height:2.15em}.pillar-list li{min-height:112px}.rooted-copy{padding-top:4px}
.final-cta{position:relative;overflow:hidden;padding:clamp(42px,7vw,78px);background:radial-gradient(circle at 82% 18%,rgba(18,104,243,.16),transparent 28%),linear-gradient(145deg,#F8FAFD 0%,#FFF 72%);box-shadow:0 22px 60px rgba(7,12,20,.06)}.final-cta h2,.final-cta p,.final-cta .btn{position:relative;z-index:2}.final-cta-orb{position:absolute;width:280px;height:280px;right:-110px;top:-120px;border:1px solid rgba(18,104,243,.13);border-radius:50%}.final-cta-orb::before,.final-cta-orb::after{content:"";position:absolute;inset:38px;border:1px solid rgba(18,104,243,.11);border-radius:50%}.final-cta-orb::after{inset:78px}.final-cta-note{display:none}
.footer-ap-statement{margin-top:50px;padding-block:34px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 80% 50%,rgba(18,104,243,.25),transparent 24%),#0A0A0B}.footer-ap-statement p{color:var(--white);font-size:clamp(1.8rem,4.6vw,3.4rem);font-weight:800;letter-spacing:-.045em;line-height:1.05}.footer-ap-statement span{color:#7EAEFF}.footer-bottom-inner{grid-template-columns:1fr auto;align-items:center}.footer-legal-links{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}.footer-legal-links a{color:rgba(255,255,255,.58)}.footer-legal-links a:hover{color:var(--white)}
.scroll-top{position:fixed;right:18px;bottom:84px;z-index:1199;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--white);color:var(--black);box-shadow:0 12px 30px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top:hover{color:var(--blue)}
@media(max-width:899px){.nav-cta{margin-left:0}.brand-logo{height:34px}.pillar-card h3,.pillar-list li{min-height:auto}.footer-bottom-inner{grid-template-columns:1fr}.footer-legal-links{justify-content:flex-start}}
@media(max-width:560px){.footer-ap-statement{padding-block:28px}.footer-ap-statement p{font-size:clamp(1.7rem,10vw,2.5rem)}}

@media(min-width:900px){.defines-us .section-copy{padding-top:34px}}
@media(max-width:899px){.defines-us .section-copy{padding-top:0}}


/* V3.2 refinements */
.footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

.footer-socials a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.78);
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.footer-socials a:hover,
.footer-socials a:focus-visible {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.07);
  transform: translateY(-1px);
}

.footer-socials svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.pillar-list span {
  line-height: 1.58;
}

@media (min-width: 900px) {
  .pillar-list li {
    min-height: 108px;
  }

  .pillar-list span {
    min-height: 3.16em;
  }
}


/* V3.3 hero globe animation */
.hero {
  padding-bottom: 34px;
}

.hero-globe {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: -2;
  width: min(92vw, 820px);
  height: min(44vw, 360px);
  transform: translateX(-50%);
  pointer-events: none;
  opacity: 0.95;
}

body.reduce-motion .hero-globe {
  display: none;
}

.hero::after {
  inset: auto 50% 8px;
  width: min(92vw, 840px);
  height: min(44vw, 360px);
  transform: translateX(-50%);
  border-radius: 420px 420px 0 0;
  border-bottom: 0;
  opacity: 0.42;
}

@media (prefers-reduced-motion: reduce) {
  .hero-globe {
    display: none;
  }
}

@media (max-width: 560px) {
  .hero-globe {
    width: min(96vw, 620px);
    height: min(48vw, 260px);
    bottom: 4px;
  }

  .hero {
    padding-bottom: 26px;
  }
}


/* V3.3.1 — visible lightweight semi-connected globe */
.hero-network-globe {
  position: absolute;
  left: 50%;
  bottom: -2px;
  z-index: 1;
  width: min(94vw, 920px);
  height: min(42vw, 370px);
  transform: translateX(-50%);
  pointer-events: none;
  overflow: hidden;
}

.hero-network-globe svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hero-content {
  position: relative;
  z-index: 3;
}

.hero-glow {
  z-index: 0;
}

.hero::after {
  display: none;
}

.globe-grid path {
  fill: none;
  stroke: rgba(10, 10, 11, 0.16);
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
}

.globe-grid path:nth-child(n+5) {
  stroke: rgba(18, 104, 243, 0.20);
}

.globe-links path {
  fill: none;
  stroke: rgba(18, 104, 243, 0.46);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 7 7;
  animation: globe-link-flow 8s linear infinite;
}

.globe-links path:nth-child(even) {
  stroke: rgba(10, 10, 11, 0.30);
  animation-duration: 10s;
}

.globe-nodes circle {
  fill: #1268F3;
  filter: drop-shadow(0 0 5px rgba(18, 104, 243, 0.24));
  transform-box: fill-box;
  transform-origin: center;
  animation: globe-node-breathe 3.4s ease-in-out infinite;
}

.globe-nodes circle:nth-child(3n) {
  fill: #0A0A0B;
  animation-delay: .7s;
}

.globe-nodes circle:nth-child(2n) {
  animation-delay: 1.3s;
}

.globe-pulses circle {
  fill: none;
  stroke: rgba(18, 104, 243, 0.32);
  stroke-width: 1.5;
  transform-box: fill-box;
  transform-origin: center;
  animation: globe-pulse 3.6s ease-out infinite;
}

.globe-pulses circle:nth-child(2) {
  animation-delay: 1.1s;
}

.globe-pulses circle:nth-child(3) {
  animation-delay: 2.1s;
}

.hero-network-globe {
  animation: globe-drift 7s ease-in-out infinite alternate;
}

@keyframes globe-link-flow {
  to { stroke-dashoffset: -56; }
}

@keyframes globe-node-breathe {
  0%, 100% { transform: scale(.88); opacity: .72; }
  50% { transform: scale(1.18); opacity: 1; }
}

@keyframes globe-pulse {
  0% { transform: scale(.55); opacity: .72; }
  70%, 100% { transform: scale(2.05); opacity: 0; }
}

@keyframes globe-drift {
  from { transform: translateX(-50%) translateY(3px); }
  to { transform: translateX(-50%) translateY(-5px); }
}

body.reduce-motion .hero-network-globe {
  animation: none;
}

body.reduce-motion .globe-links path,
body.reduce-motion .globe-nodes circle,
body.reduce-motion .globe-pulses circle {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero-network-globe,
  .globe-links path,
  .globe-nodes circle,
  .globe-pulses circle {
    animation: none !important;
  }
}

@media (max-width: 560px) {
  .hero-network-globe {
    width: 108vw;
    height: 46vw;
    bottom: 0;
    opacity: .9;
  }
}


/* V3.3.2 — triangulated network dome inspired by reference */
.hero-network-globe {
  display: none !important;
}

.hero-network-dome {
  position: absolute;
  left: 50%;
  bottom: -118px;
  z-index: 1;
  width: min(86vw, 780px);
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
  opacity: .78;
}

.hero-network-dome svg {
  width: 100%;
  height: auto;
  overflow: visible;
}

.mesh-lines line {
  stroke: rgba(10, 10, 11, 0.18);
  stroke-width: .9;
  vector-effect: non-scaling-stroke;
  animation: mesh-line-breathe 6.5s ease-in-out infinite alternate;
}

.mesh-lines line:nth-child(3n) {
  stroke: rgba(10, 10, 11, 0.11);
  animation-delay: 1.4s;
}

.mesh-lines line:nth-child(5n) {
  stroke: rgba(18, 104, 243, 0.11);
  animation-delay: 2.2s;
}

.mesh-nodes circle {
  fill: rgba(10, 10, 11, 0.68);
  transform-box: fill-box;
  transform-origin: center;
  animation: mesh-node-breathe 3.8s ease-in-out infinite;
  animation-delay: var(--node-delay, 0s);
}

.mesh-nodes .mesh-node-accent {
  fill: rgba(18, 104, 243, 0.68);
}

.mesh-dome-outline {
  fill: none;
  stroke: rgba(10, 10, 11, 0.14);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.mesh-dome-glow {
  opacity: .72;
}

@keyframes mesh-node-breathe {
  0%, 100% { opacity: .58; transform: scale(.90); }
  50% { opacity: .92; transform: scale(1.12); }
}

@keyframes mesh-line-breathe {
  from { opacity: .55; }
  to { opacity: .92; }
}

body.reduce-motion .hero-network-dome,
body.reduce-motion .mesh-lines line,
body.reduce-motion .mesh-nodes circle {
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .hero-network-dome,
  .mesh-lines line,
  .mesh-nodes circle {
    animation: none !important;
  }
}

@media (max-width: 900px) {
  .hero-network-dome {
    width: min(96vw, 720px);
    bottom: -102px;
    opacity: .72;
  }
}

@media (max-width: 560px) {
  .hero-network-dome {
    width: 112vw;
    bottom: -78px;
    opacity: .68;
  }
}

.hero-network-globe,
.globe-grid,
.globe-links,
.globe-nodes,
.globe-pulses {
  pointer-events: none;
}


/* V3.4 — approved Three.js semi-globe integration */
.hero-network-globe,
.hero-network-dome,
.hero-globe {
  display: none !important;
}

.hero {
  padding-bottom: 24px;
}

.hero-three-globe {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  width: min(100%, 1320px);
  height: min(42vw, 500px);
  min-height: 280px;
  transform: translateX(-50%);
  pointer-events: none;
  overflow: hidden;
  opacity: 0.96;
}

.hero-three-globe canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.hero-content {
  position: relative;
  z-index: 3;
}

.hero-glow {
  z-index: 0;
}

.hero::after {
  display: none !important;
}

body.reduce-motion .hero-three-globe {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero-three-globe {
    display: none;
  }
}

@media (max-width: 720px) {
  .hero-three-globe {
    width: 100%;
    height: 46svh;
    min-height: 260px;
  }
}

@media (max-width: 560px) {
  .hero {
    padding-bottom: 18px;
  }

  .hero-three-globe {
    width: 108%;
    height: 36svh;
    min-height: 220px;
    opacity: 0.92;
  }
}


/* V3.5 — restored lightweight connected-particle hero */
.hero-three-globe,
.hero-network-globe,
.hero-network-dome,
.hero-globe {
  display: none !important;
}

.hero {
  padding-bottom: 0;
}

.hero-particles {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.72;
}

.hero-content {
  position: relative;
  z-index: 3;
}

.hero-glow {
  z-index: 0;
}

.hero::after {
  display: block !important;
  content: "";
  position: absolute;
  inset: 8%;
  z-index: 1;
  border: 1px solid rgba(18, 104, 243, 0.055);
  border-radius: 999px;
  transform: rotate(-8deg);
  pointer-events: none;
}

body.reduce-motion .hero-particles {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero-particles {
    display: none;
  }
}

@media (max-width: 560px) {
  .hero-particles {
    opacity: 0.58;
  }

  .hero::after {
    inset: 11% 3%;
  }
}


/* V3.6 — approved glass icons for What We Do cards */
.pillar-visual-image {
  height: 148px;
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  border: 0;
  background:
    linear-gradient(135deg, #2447E8 0%, #1268F3 48%, #42C7F4 100%);
}

.pillar-visual-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
}

@media (max-width: 899px) {
  .pillar-visual-image {
    height: 170px;
  }
}

@media (max-width: 560px) {
  .pillar-visual-image {
    height: 152px;
  }
}


/* V3.7 — card-ready glass icon assets, no cropping */
.pillar-visual-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 520;
  display: block;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: linear-gradient(135deg, #2643E8 0%, #1268F3 48%, #4CCDF5 100%);
}

.pillar-visual-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  transform: none;
}

@media (max-width: 899px) {
  .pillar-visual-image {
    height: auto;
    aspect-ratio: 1200 / 520;
  }
}

@media (max-width: 560px) {
  .pillar-visual-image {
    height: auto;
    aspect-ratio: 1200 / 520;
  }
}


/* V3.8 — feature project visual image integration */
.feature-project-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  padding: clamp(18px, 3vw, 28px);
  background: #ffffff;
  border: 1px solid #E8EDF5;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 56px rgba(8, 16, 30, 0.05);
}

.feature-project-visual img {
  display: block;
  width: 100%;
  max-width: 620px;
  height: auto;
  object-fit: contain;
  object-position: center;
  filter: saturate(1.02);
}

@media (max-width: 899px) {
  .feature-project-visual {
    min-height: 320px;
    padding: 18px;
  }

  .feature-project-visual img {
    max-width: 560px;
  }
}

@media (max-width: 560px) {
  .feature-project-visual {
    min-height: 260px;
    padding: 14px;
    border-radius: 22px;
  }

  .feature-project-visual img {
    max-width: 100%;
  }
}


/* V3.8.2 — enlarge InspAIra feature visual within white card */
.feature-project-visual {
  min-height: 420px;
  padding: clamp(12px, 2vw, 18px);
}

.feature-project-visual img {
  width: clamp(340px, 86%, 820px);
  max-width: 86%;
  max-height: 390px;
  height: auto;
}

@media (max-width: 899px) {
  .feature-project-visual {
    min-height: 360px;
    padding: 14px;
  }

  .feature-project-visual img {
    width: min(92%, 700px);
    max-width: 92%;
    max-height: 320px;
  }
}

@media (max-width: 560px) {
  .feature-project-visual {
    min-height: 300px;
    padding: 12px;
  }

  .feature-project-visual img {
    width: min(96%, 520px);
    max-width: 96%;
    max-height: 260px;
  }
}


/* V3.9 — landscape InspAIra feature visual sized for feature-project-visual */
.feature-project-visual {
  min-height: 0;
  padding: 0;
  background: #ffffff;
  border: 1px solid #E8EDF5;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 56px rgba(8, 16, 30, 0.05);
}

.feature-project-visual img {
  display: block;
  width: 100%;
  max-width: none;
  max-height: none;
  height: auto;
  object-fit: cover;
  object-position: center;
  filter: none;
}

@media (max-width: 899px) {
  .feature-project-visual {
    border-radius: 24px;
  }

  .feature-project-visual img {
    width: 100%;
    max-width: none;
    max-height: none;
  }
}

@media (max-width: 560px) {
  .feature-project-visual {
    border-radius: 20px;
  }

  .feature-project-visual img {
    width: 100%;
    max-width: none;
    max-height: none;
  }
}


/* V3.9.1 — final InspAIra visual sizing and placement */
@media (min-width: 700px) {
  .feature-project {
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
    gap: clamp(28px, 4vw, 48px);
  }
}

.feature-project-visual {
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0;
  padding: 0;
  align-self: center;
  background: #ffffff;
  border: 0;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: none;
}

.feature-project-visual img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.075);
  transform-origin: center;
  filter: none;
}

@media (max-width: 899px) {
  .feature-project-visual {
    width: min(100%, 620px);
    margin-inline: auto;
    aspect-ratio: 4 / 3;
    border-radius: 24px;
  }

  .feature-project-visual img {
    width: 100%;
    height: 100%;
    transform: scale(1.065);
  }
}

@media (max-width: 560px) {
  .feature-project-visual {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 20px;
  }

  .feature-project-visual img {
    transform: scale(1.045);
  }
}


/* V3.9.2 — cropped asset + final feature visual balance */
@media (min-width: 900px) {
  .feature-project {
    max-width: 1080px;
    grid-template-columns: minmax(0, 0.92fr) minmax(410px, 1.08fr);
    gap: clamp(32px, 4vw, 52px);
    padding: clamp(34px, 4vw, 48px);
  }
}

.feature-project-visual {
  width: 100%;
  aspect-ratio: 1080 / 854;
  min-height: 0;
  align-self: center;
  padding: 0;
  margin: 0;
  background: #ffffff;
  border: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: none;
}

.feature-project-visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: none;
}

@media (max-width: 899px) {
  .feature-project-visual {
    width: min(100%, 680px);
    margin-inline: auto;
    aspect-ratio: 1080 / 854;
    border-radius: 22px;
  }
}

@media (max-width: 560px) {
  .feature-project-visual {
    width: 100%;
    border-radius: 18px;
  }
}


/* V4 — footer accessibility + production cleanup */
.footer-brand-logo {
  display: block;
  height: 42px;
  width: auto;
  max-width: 176px;
  filter: none;
}

.footer-accessibility-link {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.58);
  font: inherit;
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
}

.footer-accessibility-link:hover,
.footer-accessibility-link:focus-visible {
  color: #fff;
}

.scroll-top {
  bottom: 18px;
}

@media (max-width: 560px) {
  .accessibility-panel {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-height: calc(100svh - 24px);
    overflow-y: auto;
  }
}


/* V4 accessibility target sizing */
.footer-column a,
.footer-legal-links a,
.footer-accessibility-link {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
}
