@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@700;800&display=swap");

body{font-family:"Inter",Arial,Helvetica,sans-serif}
h1,h2,h3,.brand,.eyebrow,.kicker,.header-cta{font-family:"Manrope","Inter",Arial,Helvetica,sans-serif}
.header-actions{display:flex;align-items:center;gap:12px}.mobile-menu-btn{display:none;border:0;background:transparent;color:#18314f}.mobile-nav{display:none}.floating-card{box-shadow:0 28px 60px rgba(8,56,97,.12)}
.page-progress{background:linear-gradient(90deg,#0878d7,#33a8ff)!important}

/* Enhanced home about section */
.enhanced-about{padding-top:90px}.about-shell{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center;background:#f4f7fb;border:1px solid rgba(8,120,215,.08);border-radius:34px;padding:36px}.about-media{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;grid-template-rows:180px 340px;gap:18px;align-items:end}.about-media img{display:block;max-width:100%}.media-tall{grid-row:1/span 2;height:100%;border-radius:28px;overflow:hidden;background:#dde8f5}.media-tall img{width:100%;height:100%;object-fit:cover}.media-logo-card,.media-mini{background:#e9f1fa;border-radius:24px;display:grid;place-items:center;padding:22px}.media-logo-card img{width:min(82%,220px)}.media-device{border-radius:28px;padding:18px;display:grid;place-items:center;background:linear-gradient(145deg,#1d5f96,#0b2f58)}.media-device img{width:88%;max-width:360px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))}.media-mini{position:absolute;left:0;bottom:20px;width:160px;height:160px;transform:translateX(-28px)}.media-mini img{width:72%}.about-content h2{font-size:clamp(2.45rem,4.4vw,4.05rem);line-height:1.03;letter-spacing:-.055em;margin:16px 0 18px;max-width:12ch}.about-content p{font-size:1.04rem;line-height:1.75;color:#5b6f84;max-width:620px}.about-content ul{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-content li{display:flex;align-items:center;gap:9px;font-size:.93rem;font-weight:700;color:#17314c}.about-content li svg{color:#0878d7}.floating-card:nth-child(1){animation:floatY 6s ease-in-out infinite}.floating-card:nth-child(2){animation:floatY 6s ease-in-out infinite 1s}.floating-card:nth-child(3){animation:floatY 6s ease-in-out infinite 2s}.floating-card:nth-child(4){animation:floatY 6s ease-in-out infinite 3s}

/* Industry orbit section */
.enhanced-industries .industry-layout{grid-template-columns:.85fr 1.15fr;gap:72px}.enhanced-industries .industry-layout>div:first-child{padding-top:20px}.enhanced-industries .industry-orbit{position:relative;min-height:440px;max-width:620px;margin-left:auto}.industry-orbit:before{content:"";position:absolute;inset:12% 16%;border-radius:50%;background:radial-gradient(circle,rgba(8,120,215,.16) 0,rgba(8,120,215,.08) 24%,transparent 70%)}.industry-ring{position:absolute;border-radius:50%;border:1px solid rgba(8,120,215,.16);animation:spinRing 30s linear infinite}.ring-1{inset:10% 12%}.ring-2{inset:24% 26%;animation-duration:22s;animation-direction:reverse}.ring-3{inset:36% 38%;animation-duration:18s}.industry-item{position:absolute;animation:floatY 6s ease-in-out infinite}.industry-item .industry-pill{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;border-radius:999px;border:1px solid rgba(8,120,215,.22);background:rgba(255,255,255,.95);box-shadow:0 18px 42px rgba(8,120,215,.12);font-size:.9rem;font-weight:800;color:#101d31;white-space:nowrap}.item-1{top:8%;right:4%;animation-delay:.5s}.item-2{top:23%;left:26%;animation-delay:1.2s}.item-3{top:53%;right:8%;animation-delay:2s}.item-4{top:51%;left:18%;animation-delay:.8s}.item-5{bottom:11%;left:34%;animation-delay:1.6s}.item-6{bottom:29%;left:1%;animation-delay:2.4s}

/* Team section */
.team-section-alt{padding-top:90px}.team-section-alt .section-heading{align-items:center;margin-bottom:40px}.team-section-alt .section-heading h2{max-width:11ch}.team-marquee{display:grid;gap:28px;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,black 8%,black 92%,transparent 100%)}.team-track{display:flex;gap:28px;width:max-content;animation:marqueeLeft 36s linear infinite}.team-track.reverse{animation-name:marqueeRight;animation-duration:40s}.team-avatar{margin:0;position:relative;flex:none;width:164px;height:164px;border-radius:50%;padding:4px;background:linear-gradient(145deg,#87deea,#00a8d9);box-shadow:0 18px 38px rgba(8,120,215,.14);overflow:hidden}.team-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;background:#eff4f8}.team-avatar figcaption{position:absolute;left:50%;bottom:10px;transform:translateX(-50%) translateY(150%);padding:8px 12px;border-radius:999px;background:rgba(7,21,47,.9);color:#fff;font-size:.72rem;font-weight:700;transition:transform .28s ease;white-space:nowrap}.team-avatar:hover figcaption{transform:translateX(-50%) translateY(0)}.team-avatar:hover{transform:translateY(-6px)}

/* Testimonials */
.client-voices{padding:105px max(5vw,calc((100vw - 1200px)/2));background:#f7faff}.testimonial-grid-head{max-width:1200px;margin:0 auto 40px;display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;text-align:left}.testimonial-grid-head h2{margin-top:12px}.testimonial-grid-head p{margin:0;color:#617487;line-height:1.8}.client-voices .testimonial-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial-card{background:#fff;border:1px solid rgba(8,120,215,.12);border-radius:20px;padding:30px;box-shadow:0 24px 50px rgba(8,120,215,.08);display:flex;flex-direction:column;min-height:290px}.testimonial-card .quote-glyph{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:rgba(8,120,215,.08);color:#0878d7;font-size:2rem;font-weight:800;line-height:1}
.testimonial-card .stars{color:#f3a43b;letter-spacing:.15em;font-size:1rem;margin:20px 0 12px}.testimonial-card p{color:#52667b;line-height:1.75;flex:1;font-size:.95rem}.testimonial-card b{font-size:1rem;color:#132946;margin-top:12px}.testimonial-card small{color:#7d8da0;margin-top:4px}

/* Contact page redesign */
.compact-contact-hero{padding:68px 24px 66px;min-height:auto}.compact-contact-hero h1{max-width:980px}.compact-contact-hero>p{max-width:760px}.reworked-contact{max-width:1370px;gap:28px;padding-top:34px;padding-bottom:82px;grid-template-columns:.92fr 1.08fr;align-items:start}.contact-side-column{display:flex;flex-direction:column;gap:18px}.contact-panel-primary{padding:32px 30px;border-radius:28px;background:linear-gradient(135deg,#1f6fb2,#225784);color:#fff;box-shadow:0 24px 60px rgba(8,120,215,.18)}.contact-panel-primary h2{font-size:clamp(2rem,3vw,2.8rem);margin:0 0 22px;letter-spacing:-.04em}.contact-primary-list{display:flex;flex-direction:column;gap:14px}.contact-primary-item{display:flex;align-items:flex-start;gap:18px}.contact-primary-item .icon-wrap{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.18);flex:none}.contact-primary-item .icon-wrap svg{width:20px;color:#fff}.contact-primary-item small{display:block;margin-bottom:4px;color:rgba(255,255,255,.48);font-size:.72rem;font-weight:800;letter-spacing:.08em}.contact-primary-item a{font-size:1rem;font-weight:700;color:#fff}.contact-info-card{padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(8,120,215,.1);box-shadow:0 14px 32px rgba(8,120,215,.06)}.info-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.info-title>span{width:64px;height:64px;border-radius:20px;background:#e9f1fa;display:grid;place-items:center;flex:none}.info-title>span svg{width:22px;color:#226dad}.info-title h3{margin:0;font-size:1.55rem;letter-spacing:-.03em}.office-list{display:grid;gap:16px}.office-list article h4{margin:0 0 5px;font-size:1.1rem}.office-list article p,.hours-card p{margin:0;color:#7b8da0;line-height:1.7}.hours-card p{font-size:1.04rem}.contact-form-card{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:40px;border-radius:32px;background:#fff;border:1px solid rgba(8,120,215,.1);box-shadow:0 30px 70px rgba(8,120,215,.08)}.contact-form-card .form-intro{grid-column:1/-1;margin-bottom:4px;position:relative}.contact-form-card .form-intro h2{margin:0 0 10px;font-size:clamp(2.1rem,3.5vw,2.9rem);letter-spacing:-.045em}.contact-form-card .form-intro p{margin:0;color:#8595a9;line-height:1.65;max-width:560px}.floating-accent{position:absolute;right:28%;top:0;width:12px;height:12px;border-radius:50%;background:#b4b2ff;box-shadow:0 0 0 12px rgba(180,178,255,.12)}.contact-form-card label{display:flex;flex-direction:column;gap:8px;font-size:.82rem;font-weight:800;color:#7a8aa0;letter-spacing:.06em}.contact-form-card label span,.request-group>span{color:#8293a7}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{border:1px solid #dde6ef;border-radius:14px;padding:16px 16px;background:#fff;color:#11243d;font:inherit;font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:#0878d7;box-shadow:0 0 0 4px rgba(8,120,215,.08)}.contact-form-card .full{grid-column:1/-1}.request-group{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:10px}.check-item{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:10px;font-size:1rem!important;font-weight:700!important;letter-spacing:0!important;color:#22364f!important}.check-item input{width:18px;height:18px;margin:0;accent-color:#0878d7}.contact-form-card button{grid-column:1/-1;border:0;border-radius:16px;padding:18px 20px;background:linear-gradient(135deg,#07152f,#0c2043);color:#fff;font-weight:800;font-size:1.1rem;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.contact-form-card button:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(7,21,47,.24)}.contact-form-card .form-note{grid-column:1/-1;margin:0;text-align:center;color:#8393a5;line-height:1.5;font-size:.75rem}.streamlined-expertise{margin-top:0}

/* Solutions / procurement hero orbit animations */
.solutions-hero{overflow:hidden;position:relative}.solutions-hero .hero-network{position:absolute;right:max(5vw,calc((100vw - 1200px)/2));top:50%;transform:translateY(-50%);width:360px;height:360px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at center,rgba(8,120,215,.18) 0,rgba(8,120,215,.06) 26%,transparent 66%)}.solutions-hero .hero-network:before,.solutions-hero .hero-network:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(51,168,255,.18)}.solutions-hero .hero-network:before{inset:28px}.solutions-hero .hero-network:after{inset:86px}.solutions-hero .hero-network i{position:absolute;inset:0;border-radius:50%;animation:spinRing 14s linear infinite}.solutions-hero .hero-network i:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#42b6ff;box-shadow:0 0 16px rgba(66,182,255,.9),0 0 0 8px rgba(66,182,255,.08)}.solutions-hero .hero-network i:nth-child(1):after{top:20%;left:9%}.solutions-hero .hero-network i:nth-child(2){inset:58px;animation-duration:10s;animation-direction:reverse}.solutions-hero .hero-network i:nth-child(2):after{top:4%;left:50%;transform:translateX(-50%)}.solutions-hero .hero-network i:nth-child(3){inset:116px;animation-duration:8s}.solutions-hero .hero-network i:nth-child(3):after{top:58%;right:-5px}.procurement-page .suite-radar{clip-path:none;border:none;background:radial-gradient(circle at center,rgba(8,120,215,.18) 0,rgba(8,120,215,.06) 26%,transparent 66%);width:360px;height:360px;border-radius:50%;right:max(5vw,calc((100vw - 1200px)/2));top:50%;transform:translateY(-50%)}.procurement-page .suite-radar:before,.procurement-page .suite-radar:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(51,168,255,.18);inset:28px}.procurement-page .suite-radar:after{inset:86px;animation-duration:18s}.procurement-page .suite-radar i{position:absolute;inset:0;width:auto;height:auto;background:none;box-shadow:none;animation:spinRing 14s linear infinite}.procurement-page .suite-radar i:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#42b6ff;box-shadow:0 0 16px rgba(66,182,255,.9),0 0 0 8px rgba(66,182,255,.08)}.procurement-page .suite-radar i:nth-child(1):after{top:50%;left:8%}.procurement-page .suite-radar i:nth-child(2){inset:58px;animation-duration:11s;animation-direction:reverse}.procurement-page .suite-radar i:nth-child(2):after{top:4%;left:50%;transform:translateX(-50%)}.procurement-page .suite-radar i:nth-child(3){inset:116px;animation-duration:8s}.procurement-page .suite-radar i:nth-child(3):after{top:78%;right:0}.procurement-page .suite-radar span{position:absolute;left:16%;right:16%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(66,182,255,.9),transparent);animation:flowLine 2.8s linear infinite}.procurement-page .suite-radar b{border-color:rgba(66,182,255,.28);border-radius:8px}.procurement-page .suite-radar b:nth-of-type(1){left:0;top:40%}.procurement-page .suite-radar b:nth-of-type(2){left:37%;top:2%}.procurement-page .suite-radar b:nth-of-type(3){right:-1%;bottom:16%}

/* interactive hover accents */
.button,.header-cta,.mobile-cta,.site-header nav a,.mobile-nav a{transition:transform .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease}.site-header nav a:hover{transform:translateY(-1px)}

@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes marqueeLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqueeRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes spinRing{to{transform:rotate(360deg)}}
@keyframes flowLine{0%,100%{opacity:.35;transform:scaleX(.45)}50%{opacity:1;transform:scaleX(1)}}

@media (max-width:1100px){.about-shell,.enhanced-industries .industry-layout,.reworked-contact{grid-template-columns:1fr}.about-content h2{max-width:none}.enhanced-industries .industry-orbit{max-width:560px;margin:10px auto 0}.testimonial-grid-head,.client-voices .testimonial-grid{grid-template-columns:1fr}.client-voices .testimonial-grid{grid-template-columns:repeat(2,1fr)}.solutions-hero .hero-network,.procurement-page .suite-radar{position:relative;right:auto;top:auto;transform:none;margin:30px auto 0;width:min(76vw,330px);height:min(76vw,330px)}}
@media (max-width:860px){.site-header nav{display:none}.mobile-menu-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f1f6fb}.mobile-nav{display:none;position:fixed;left:16px;right:16px;top:84px;padding:18px;border:1px solid rgba(8,120,215,.1);border-radius:20px;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 18px 38px rgba(8,120,215,.12);z-index:49}.mobile-nav.open{display:flex;flex-direction:column;gap:14px}.mobile-nav a{padding:10px 6px;font-weight:700;color:#26415d}.mobile-nav .mobile-cta{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;padding:14px 16px;border-radius:14px;background:#0878d7;color:#fff}.header-cta{display:none}.site-header.menu-open{box-shadow:0 12px 26px rgba(8,120,215,.08)}.about-media{grid-template-columns:1fr 1fr;grid-template-rows:170px 260px}.media-mini{position:relative;transform:none;left:auto;bottom:auto;width:auto;height:auto}.team-track{animation-duration:26s}.client-voices .testimonial-grid{grid-template-columns:1fr}.contact-form-card{grid-template-columns:1fr}.request-group{gap:12px;flex-direction:column;align-items:flex-start}}
@media (max-width:680px){.proof-strip{flex-direction:column;gap:14px;text-align:center}.proof-strip div{gap:12px;flex-wrap:wrap;justify-content:center}.about-shell{padding:22px;border-radius:24px}.about-media{grid-template-columns:1fr;grid-template-rows:auto;gap:14px}.media-tall,.media-logo-card,.media-device,.media-mini{grid-row:auto;height:auto;position:relative;left:auto;bottom:auto;transform:none}.media-tall img{aspect-ratio:4/5}.media-logo-card,.media-mini{min-height:130px}.about-content ul{grid-template-columns:1fr}.enhanced-industries .industry-orbit{min-height:360px}.industry-item .industry-pill{padding:14px 18px;font-size:.82rem}.item-1{right:0}.item-2{left:20%}.item-3{right:0}.item-4{left:12%}.item-5{left:28%}.item-6{left:0}.team-marquee{mask-image:none;overflow:auto;padding-bottom:8px}.team-track,.team-track.reverse{animation:none}.team-avatar{width:132px;height:132px}.compact-contact-hero{padding:56px 18px}.reworked-contact{padding:18px 18px 66px}.contact-panel-primary,.contact-info-card,.contact-form-card{padding:24px;border-radius:24px}.contact-primary-item{gap:14px}.contact-primary-item .icon-wrap{width:42px;height:42px}.info-title>span{width:54px;height:54px}.floating-accent{right:6%;top:6px}.solutions-hero .hero-network,.procurement-page .suite-radar{width:min(78vw,290px);height:min(78vw,290px)}}
@media (prefers-reduced-motion:reduce){.floating-card,.industry-ring,.industry-item,.team-track,.team-avatar,.solutions-hero .hero-network i,.procurement-page .suite-radar i{animation:none!important}.team-avatar:hover,.button:hover,.site-header nav a:hover,.contact-form-card button:hover{transform:none!important}}

/* =====================================================================
   ITeos FINAL VISUAL SYSTEM v4
   Consistent hero alignment + true orbital motion across the website
   ===================================================================== */
:root{
  --iteos-container:1200px;
  --iteos-left:max(24px,calc((100vw - var(--iteos-container))/2));
  --iteos-blue:#0878d7;
  --iteos-cyan:#42b6ff;
  --iteos-navy:#07152f;
}

/* Unified typography / rhythm */
body{font-family:"Inter","Segoe UI",Arial,Helvetica,sans-serif;line-height:1.5}
h1,h2,h3,.brand,.eyebrow,.kicker,.header-cta{font-family:"Manrope","Inter","Segoe UI",Arial,Helvetica,sans-serif}
.site-header{max-width:1248px;width:100%;height:80px}
.site-header nav{gap:28px;font-size:.88rem}
.header-cta{padding:12px 20px}

/* Home: same visual proportion as the internal published pages */
.hero{
  min-height:560px;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.82fr);
  gap:60px;
  padding:64px var(--iteos-left);
}
.hero-content{max-width:680px}
.hero h1{
  max-width:720px;
  font-size:clamp(3rem,4.15vw,4.15rem);
  line-height:1.035;
  letter-spacing:-.052em;
  margin:22px 0 20px;
}
.hero-content>p{font-size:1rem;line-height:1.68;max-width:650px}
.hero-actions{margin-top:26px}
.trust-row{margin-top:28px}
.hero-visual{max-width:430px;min-height:410px;padding:20px;border-radius:22px}
.core-orbit{height:285px}
.core{width:132px;height:132px}
.orbit-one{width:230px;height:230px}
.orbit-two{width:300px;height:190px}
.n1{top:38px;left:42px}.n2{right:22px;top:90px}.n3{bottom:32px;left:28px}.n4{right:46px;bottom:20px}
.visual-stats{padding-top:15px}.visual-stats b{font-size:1.18rem}

/* Internal hero sections: exact common alignment */
.solutions-hero,.narrative-hero,.mw-hero{
  min-height:460px;
  padding-top:58px;
  padding-bottom:58px;
  padding-left:var(--iteos-left);
  padding-right:var(--iteos-left);
}
.solutions-hero{
  grid-template-columns:minmax(0,760px) minmax(320px,1fr);
  gap:58px;
}
.solutions-hero-copy,.mw-hero-copy,.narrative-hero>div:last-child{max-width:760px}
.solutions-hero h1,.narrative-hero h1,.mw-hero h1{
  max-width:760px;
  font-size:clamp(3rem,4.25vw,4.08rem);
  line-height:1.035;
  letter-spacing:-.052em;
  margin:19px 0 18px;
}
.solutions-hero-copy>p,.mw-hero p,.narrative-hero p{
  max-width:660px;
  font-size:1rem;
  line-height:1.68;
}
.solutions-hero .hero-actions,.mw-hero .hero-actions,.narrative-hero .hero-actions{margin-top:26px}

/* Contact hero stays intentionally more compact */
.contact-hero{padding:58px 24px 62px}
.contact-hero h1{font-size:clamp(2.8rem,4vw,3.85rem);line-height:1.04;letter-spacing:-.05em;margin:18px auto}
.contact-hero>p{font-size:1rem;line-height:1.68}

/* ---------------------------------------------------------------------
   TRUE ORBIT ENGINE
   Each i element is a full circular runner. Its ::after dot is anchored
   at the top of the runner, so rotating the runner moves the dot around
   the entire circumference instead of pulsing in one fixed position.
   --------------------------------------------------------------------- */
.hero-network,.narrative-orbit,.suite-radar{
  position:absolute!important;
  right:var(--iteos-left)!important;
  top:50%!important;
  width:330px!important;
  height:330px!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(66,182,255,.18)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at center,rgba(8,120,215,.22) 0,rgba(8,120,215,.08) 26%,transparent 68%)!important;
  box-shadow:inset 0 0 70px rgba(8,120,215,.06)!important;
  clip-path:none!important;
  pointer-events:none!important;
  animation:none!important;
  overflow:visible!important;
}
.hero-network:before,.narrative-orbit:before,.suite-radar:before,
.hero-network:after,.narrative-orbit:after,.suite-radar:after{
  content:""!important;
  position:absolute!important;
  border-radius:50%!important;
  border:1px solid rgba(66,182,255,.16)!important;
  pointer-events:none!important;
}
.hero-network:before,.narrative-orbit:before,.suite-radar:before{inset:54px!important}
.hero-network:after,.narrative-orbit:after,.suite-radar:after{inset:108px!important}

.hero-network>i,.narrative-orbit>i,.suite-radar>i{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  transform-origin:50% 50%!important;
  animation:iteosOrbit 11s linear infinite!important;
}
.hero-network>i:before,.narrative-orbit>i:before,.suite-radar>i:before{
  content:"";
  position:absolute;
  width:34px;height:34px;
  left:50%;top:-17px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(66,182,255,.26),transparent 66%);
  filter:blur(2px);
}
.hero-network>i:after,.narrative-orbit>i:after,.suite-radar>i:after{
  content:""!important;
  position:absolute!important;
  width:10px!important;
  height:10px!important;
  left:50%!important;
  top:-5px!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:var(--iteos-cyan)!important;
  box-shadow:0 0 10px #42b6ff,0 0 22px rgba(66,182,255,.75),0 0 0 7px rgba(66,182,255,.08)!important;
  animation:iteosDotPulse 2.2s ease-in-out infinite!important;
}
.hero-network>i:nth-child(2),.narrative-orbit>i:nth-child(2),.suite-radar>i:nth-child(2){
  inset:54px!important;
  animation-duration:8.5s!important;
  animation-direction:reverse!important;
}
.hero-network>i:nth-child(3),.narrative-orbit>i:nth-child(3),.suite-radar>i:nth-child(3){
  inset:108px!important;
  animation-duration:6.4s!important;
}
.hero-network>i:nth-child(2):after,.narrative-orbit>i:nth-child(2):after,.suite-radar>i:nth-child(2):after{width:9px!important;height:9px!important}
.hero-network>i:nth-child(3):after,.narrative-orbit>i:nth-child(3):after,.suite-radar>i:nth-child(3):after{width:8px!important;height:8px!important}

/* Elegant scan beam through suite radars */
.suite-radar>span{
  position:absolute!important;
  left:14%!important;right:14%!important;top:50%!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(66,182,255,.75),transparent)!important;
  transform-origin:center!important;
  animation:iteosScan 3.6s ease-in-out infinite!important;
}
.suite-radar>b{
  z-index:5!important;
  border-color:rgba(66,182,255,.23)!important;
  background:rgba(3,16,30,.78)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
}
.suite-radar>b:nth-of-type(1){left:-2%!important;top:42%!important}
.suite-radar>b:nth-of-type(2){left:36%!important;top:4%!important}
.suite-radar>b:nth-of-type(3){right:-4%!important;bottom:15%!important}

/* Home product-core orbit dots */
.home-orbit-runner{
  position:absolute;
  left:50%;top:50%;
  width:230px;height:230px;
  margin-left:-115px;margin-top:-115px;
  border-radius:50%;
  pointer-events:none;
  animation:iteosOrbit 9s linear infinite;
}
.home-orbit-runner.r2{width:285px;height:285px;margin-left:-142.5px;margin-top:-142.5px;animation-duration:13s;animation-direction:reverse}
.home-orbit-runner i{position:absolute!important;left:50%!important;top:-4px!important;width:9px!important;height:9px!important;border-radius:50%!important;background:#42b6ff!important;box-shadow:0 0 13px #42b6ff,0 0 0 6px rgba(66,182,255,.08)!important;transform:translateX(-50%)!important}
.home-orbit-runner.r2 i{background:#ff9a3d!important;box-shadow:0 0 13px rgba(255,154,61,.85),0 0 0 6px rgba(255,154,61,.08)!important}

/* Industry section: real motion on the circular graphic */
.industry-orbit{isolation:isolate}
.industry-ring{animation:iteosOrbit 32s linear infinite!important}.ring-2{animation-duration:24s!important;animation-direction:reverse!important}.ring-3{animation-duration:18s!important}
.industry-dot-runner{
  position:absolute;inset:10% 12%;border-radius:50%;pointer-events:none;z-index:0;
  animation:iteosOrbit 12s linear infinite;
}
.industry-dot-runner:after{
  content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;transform:translateX(-50%);
  background:#0878d7;box-shadow:0 0 16px rgba(8,120,215,.8),0 0 0 7px rgba(8,120,215,.08)
}
.industry-dot-runner.ir2{inset:24% 26%;animation-duration:9s;animation-direction:reverse}.industry-dot-runner.ir3{inset:36% 38%;animation-duration:6.8s}
.industry-item{z-index:2}

/* Contact gets a subtle animated orbital signature too */
.contact-hero .contact-orbit{
  position:absolute;width:300px;height:300px;right:max(3vw,calc((100vw - 1200px)/2));top:50%;transform:translateY(-50%);
  border-radius:50%;border:1px solid rgba(66,182,255,.11);opacity:.42;pointer-events:none
}
.contact-orbit:before,.contact-orbit:after{content:"";position:absolute;border:1px solid rgba(66,182,255,.1);border-radius:50%}.contact-orbit:before{inset:52px}.contact-orbit:after{inset:106px}
.contact-orbit i{position:absolute;inset:0;border-radius:50%;animation:iteosOrbit 12s linear infinite}.contact-orbit i:nth-child(2){inset:52px;animation-duration:9s;animation-direction:reverse}.contact-orbit i:nth-child(3){inset:106px;animation-duration:6.5s}.contact-orbit i:after{content:"";position:absolute;left:50%;top:-4px;transform:translateX(-50%);width:9px;height:9px;border-radius:50%;background:#42b6ff;box-shadow:0 0 14px #42b6ff}

/* Section spacing and text consistency */
.section{padding-top:92px;padding-bottom:92px}
.section-heading{margin-bottom:42px}
.section-heading h2,.industries h2,.approach h2,.capability-copy h2,.contact-cta h2{font-size:clamp(2.25rem,3.5vw,3.35rem)}
.solution-approach,.product-suites,.delivery,.narrative-cards{padding-top:86px;padding-bottom:86px}

/* Motion */
@keyframes iteosOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes iteosDotPulse{0%,100%{opacity:.78;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.45)}}
@keyframes iteosScan{0%,100%{opacity:.22;transform:scaleX(.35)}50%{opacity:.9;transform:scaleX(1)}}

@media(max-width:1100px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:58px;padding-bottom:58px}
  .hero-content{max-width:760px}
  .hero-visual{justify-self:center;margin-top:6px}
  .solutions-hero,.narrative-hero,.mw-hero{min-height:auto;padding-top:56px;padding-bottom:56px}
  .solutions-hero{display:block}
  .hero-network,.narrative-orbit,.suite-radar{position:relative!important;right:auto!important;top:auto!important;transform:none!important;margin:36px auto 0!important;width:300px!important;height:300px!important}
  .narrative-hero,.mw-hero{display:block}
  .narrative-hero>div:last-child,.mw-hero-copy{max-width:760px}
  .suite-radar>b:nth-of-type(1){left:-2%!important}.suite-radar>b:nth-of-type(3){right:-2%!important}
  .contact-hero .contact-orbit{opacity:.18;right:-110px}
}
@media(max-width:680px){
  .site-header{height:66px;padding:0 18px}
  .hero{padding:50px 18px!important;gap:30px}
  .hero h1,.solutions-hero h1,.narrative-hero h1,.mw-hero h1,.contact-hero h1{font-size:clamp(2.35rem,11vw,3.05rem)!important;line-height:1.04!important;letter-spacing:-.045em!important}
  .hero-content>p,.solutions-hero-copy>p,.mw-hero p,.narrative-hero p,.contact-hero>p{font-size:.94rem!important;line-height:1.65!important}
  .solutions-hero,.narrative-hero,.mw-hero{padding:46px 18px!important}
  .hero-network,.narrative-orbit,.suite-radar{width:260px!important;height:260px!important;margin-top:30px!important}
  .hero-network:before,.narrative-orbit:before,.suite-radar:before{inset:43px!important}
  .hero-network:after,.narrative-orbit:after,.suite-radar:after{inset:86px!important}
  .hero-network>i:nth-child(2),.narrative-orbit>i:nth-child(2),.suite-radar>i:nth-child(2){inset:43px!important}
  .hero-network>i:nth-child(3),.narrative-orbit>i:nth-child(3),.suite-radar>i:nth-child(3){inset:86px!important}
  .suite-radar>b{font-size:.52rem!important;padding:5px 7px!important}
  .suite-radar>b:nth-of-type(1){left:-5%!important}.suite-radar>b:nth-of-type(2){left:34%!important}.suite-radar>b:nth-of-type(3){right:-5%!important}
  .hero-visual{width:100%;max-width:390px;min-height:360px}
  .core-orbit{height:250px}
  .home-orbit-runner{width:205px;height:205px;margin-left:-102.5px;margin-top:-102.5px}.home-orbit-runner.r2{width:245px;height:245px;margin-left:-122.5px;margin-top:-122.5px}
  .contact-hero .contact-orbit{display:none}
  .section{padding-top:70px;padding-bottom:70px}
  .section-heading h2,.industries h2,.approach h2,.capability-copy h2,.contact-cta h2{font-size:clamp(2rem,9.2vw,2.7rem)}
}
@media(prefers-reduced-motion:reduce){
  .hero-network>i,.narrative-orbit>i,.suite-radar>i,.home-orbit-runner,.industry-dot-runner,.industry-ring,.contact-orbit i{animation:none!important}
}

/* =====================================================================
   ITeos FINAL INDUSTRY + RESPONSIVE POLISH v5.2
   Keeps the "Technology shaped around real operations" animation fully
   inside its column at every resolution. Labels stay readable while
   three glowing dots travel on complete circular paths.
   ===================================================================== */
.enhanced-industries{
  overflow:hidden;
}
.enhanced-industries .industry-layout{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr)!important;
  gap:clamp(34px,4vw,64px)!important;
  align-items:center!important;
}
.enhanced-industries .industry-layout>div:first-child{
  min-width:0;
  padding-top:0!important;
  position:relative;
  z-index:4;
}
.enhanced-industries .industry-layout>div:first-child h2{
  max-width:540px;
  font-size:clamp(2.55rem,4vw,3.7rem)!important;
  line-height:1.07!important;
  letter-spacing:-.05em!important;
}
.enhanced-industries .industry-layout>div:first-child p{
  max-width:560px;
}
.enhanced-industries .industry-orbit{
  --industry-ring-outer:330px;
  --industry-ring-middle:236px;
  --industry-ring-inner:142px;
  position:relative!important;
  width:100%!important;
  max-width:590px!important;
  height:430px!important;
  min-height:0!important;
  margin:0 auto!important;
  border-radius:34px;
  overflow:hidden!important;
  isolation:isolate;
  background:
    radial-gradient(circle at 54% 50%,rgba(8,120,215,.14),rgba(8,120,215,.055) 28%,transparent 62%);
}
.enhanced-industries .industry-orbit:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:360px!important;
  height:360px!important;
  inset:auto!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(8,120,215,.12) 0,rgba(8,120,215,.045) 34%,transparent 70%)!important;
  pointer-events:none;
  z-index:0;
}
.enhanced-industries .industry-ring{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  inset:auto!important;
  border-radius:50%!important;
  border:1px solid rgba(8,120,215,.15)!important;
  animation:none!important;
  pointer-events:none;
  z-index:0;
}
.enhanced-industries .ring-1{width:var(--industry-ring-outer)!important;height:var(--industry-ring-outer)!important}
.enhanced-industries .ring-2{width:var(--industry-ring-middle)!important;height:var(--industry-ring-middle)!important}
.enhanced-industries .ring-3{width:var(--industry-ring-inner)!important;height:var(--industry-ring-inner)!important}
.enhanced-industries .industry-dot-runner{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  inset:auto!important;
  border-radius:50%!important;
  transform-origin:50% 50%!important;
  pointer-events:none!important;
  z-index:1!important;
  animation:industryOrbit 12s linear infinite!important;
}
.enhanced-industries .industry-dot-runner.ir1{
  width:var(--industry-ring-outer)!important;height:var(--industry-ring-outer)!important;
  margin-left:calc(var(--industry-ring-outer) / -2)!important;
  margin-top:calc(var(--industry-ring-outer) / -2)!important;
}
.enhanced-industries .industry-dot-runner.ir2{
  width:var(--industry-ring-middle)!important;height:var(--industry-ring-middle)!important;
  margin-left:calc(var(--industry-ring-middle) / -2)!important;
  margin-top:calc(var(--industry-ring-middle) / -2)!important;
  animation-duration:9s!important;
  animation-direction:reverse!important;
}
.enhanced-industries .industry-dot-runner.ir3{
  width:var(--industry-ring-inner)!important;height:var(--industry-ring-inner)!important;
  margin-left:calc(var(--industry-ring-inner) / -2)!important;
  margin-top:calc(var(--industry-ring-inner) / -2)!important;
  animation-duration:6.8s!important;
}
.enhanced-industries .industry-dot-runner:before{
  content:"";
  position:absolute;
  width:32px;
  height:32px;
  left:50%;
  top:-16px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(66,182,255,.24),transparent 68%);
  filter:blur(1px);
}
.enhanced-industries .industry-dot-runner:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:-5px!important;
  width:10px!important;
  height:10px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:#159fea!important;
  box-shadow:0 0 9px #42b6ff,0 0 20px rgba(66,182,255,.8),0 0 0 6px rgba(66,182,255,.09)!important;
  animation:iteosDotPulse 2s ease-in-out infinite!important;
}
.enhanced-industries .industry-item{
  position:absolute!important;
  z-index:3!important;
  animation:industryFloat 5.8s ease-in-out infinite!important;
  max-width:190px;
}
.enhanced-industries .industry-item .industry-pill{
  display:inline-flex!important;
  width:auto!important;
  max-width:190px!important;
  min-height:48px;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 19px!important;
  white-space:normal!important;
  text-align:center!important;
  border:1px solid rgba(8,120,215,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 14px 34px rgba(8,120,215,.12)!important;
  color:#13253d!important;
  font-size:.84rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  backdrop-filter:blur(7px);
}
.enhanced-industries .item-1{top:7%!important;right:2%!important;left:auto!important;bottom:auto!important;animation-delay:-.4s!important}
.enhanced-industries .item-2{top:18%!important;left:4%!important;right:auto!important;bottom:auto!important;animation-delay:-1.2s!important}
.enhanced-industries .item-3{top:46%!important;right:0!important;left:auto!important;bottom:auto!important;animation-delay:-2.1s!important}
.enhanced-industries .item-4{top:49%!important;left:1%!important;right:auto!important;bottom:auto!important;animation-delay:-3s!important}
.enhanced-industries .item-5{bottom:8%!important;right:12%!important;left:auto!important;top:auto!important;animation-delay:-1.7s!important}
.enhanced-industries .item-6{bottom:12%!important;left:12%!important;right:auto!important;top:auto!important;animation-delay:-2.6s!important}

/* Slide/card tactile response. Audio is added by experience-plus.js. */
.team-avatar,.testimonial-card,.solution-card,.suite-card,.mw-feature,.industry-item .industry-pill{
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.team-avatar:active,.testimonial-card:active,.solution-card:active,.suite-card:active,.mw-feature:active,.industry-item .industry-pill:active{
  transform:scale(.985)!important;
}

@keyframes industryOrbit{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes industryFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-7px,0)}
}

/* Wide laptops / 1366px class: keep everything comfortably inside. */
@media(max-width:1280px){
  .enhanced-industries .industry-layout{
    grid-template-columns:minmax(0,.9fr) minmax(410px,1.1fr)!important;
    gap:34px!important;
  }
  .enhanced-industries .industry-orbit{
    --industry-ring-outer:306px;
    --industry-ring-middle:218px;
    --industry-ring-inner:132px;
    max-width:540px!important;
    height:410px!important;
  }
  .enhanced-industries .industry-item .industry-pill{font-size:.8rem!important;padding:11px 16px!important;max-width:172px!important}
}

/* Tablet: copy first, animation centred below without any clipping. */
@media(max-width:1050px){
  .enhanced-industries .industry-layout{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .enhanced-industries .industry-layout>div:first-child h2{max-width:650px}
  .enhanced-industries .industry-orbit{
    --industry-ring-outer:320px;
    --industry-ring-middle:228px;
    --industry-ring-inner:136px;
    width:min(100%,620px)!important;
    height:420px!important;
    margin:0 auto!important;
  }
}

/* Mobile: keep the orbit graphic clean on top and labels in a 2-column grid. */
@media(max-width:700px){
  .enhanced-industries{padding-left:18px!important;padding-right:18px!important}
  .enhanced-industries .industry-layout{gap:24px!important}
  .enhanced-industries .industry-layout>div:first-child h2{
    font-size:clamp(2.15rem,10vw,2.85rem)!important;
    max-width:100%!important;
  }
  .enhanced-industries .industry-orbit{
    --industry-ring-outer:230px;
    --industry-ring-middle:164px;
    --industry-ring-inner:98px;
    height:auto!important;
    min-height:500px!important;
    width:100%!important;
    max-width:430px!important;
    padding-top:278px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-content:start!important;
    background:radial-gradient(circle at 50% 128px,rgba(8,120,215,.13),transparent 210px)!important;
    border-radius:24px!important;
  }
  .enhanced-industries .industry-orbit:before{width:250px!important;height:250px!important;top:128px!important}
  .enhanced-industries .industry-ring,
  .enhanced-industries .industry-dot-runner{top:128px!important}
  .enhanced-industries .industry-item{
    position:static!important;
    max-width:none!important;
    animation:none!important;
    transform:none!important;
  }
  .enhanced-industries .industry-item .industry-pill{
    width:100%!important;
    max-width:none!important;
    min-height:54px!important;
    padding:11px 12px!important;
    font-size:.78rem!important;
  }
}

@media(max-width:420px){
  .enhanced-industries .industry-orbit{
    --industry-ring-outer:205px;
    --industry-ring-middle:145px;
    --industry-ring-inner:86px;
    padding-top:252px!important;
    min-height:485px!important;
  }
  .enhanced-industries .industry-orbit:before{width:225px!important;height:225px!important;top:116px!important}
  .enhanced-industries .industry-ring,
  .enhanced-industries .industry-dot-runner{top:116px!important}
}

@media(prefers-reduced-motion:reduce){
  .enhanced-industries .industry-dot-runner,.enhanced-industries .industry-item{animation:none!important}
}

/* v5.2 placement hotfix: shorthand inset must come before explicit coordinates. */
.enhanced-industries .industry-orbit:before{
  inset:auto!important;
  left:50%!important;
  top:50%!important;
}
.enhanced-industries .industry-ring{
  inset:auto!important;
  left:50%!important;
  top:50%!important;
}
.enhanced-industries .industry-dot-runner{
  inset:auto!important;
  left:50%!important;
  top:50%!important;
}
.enhanced-industries .industry-item .industry-pill{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
}
@media(max-width:700px){
  .enhanced-industries .industry-orbit:before,
  .enhanced-industries .industry-ring,
  .enhanced-industries .industry-dot-runner{top:128px!important;left:50%!important}
}
@media(max-width:420px){
  .enhanced-industries .industry-orbit:before,
  .enhanced-industries .industry-ring,
  .enhanced-industries .industry-dot-runner{top:116px!important;left:50%!important}
}

/* =====================================================================
   ITeos FINAL EXPERIENCE v6.0
   - Home orbit dots locked to the exact drawn paths at every resolution
   - Stronger click/slide audio feedback (implemented in JS)
   - Smooth scroll-entry animation for sections and records
   ===================================================================== */

/* The old v5 runners are intentionally hidden. v6 positions the dots from
   the actual orbit geometry in JavaScript, so the orange dot follows the
   tilted ellipse exactly instead of drifting outside it. */
.home-orbit-runner{display:none!important}
.home-track-dot{
  position:absolute!important;
  z-index:6!important;
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  pointer-events:none!important;
  will-change:left,top!important;
}
.home-track-dot.blue{
  background:#42b6ff!important;
  box-shadow:0 0 10px #42b6ff,0 0 23px rgba(66,182,255,.9),0 0 0 7px rgba(66,182,255,.08)!important;
}
.home-track-dot.orange{
  background:#ff9a3d!important;
  box-shadow:0 0 10px #ff9a3d,0 0 23px rgba(255,154,61,.9),0 0 0 7px rgba(255,154,61,.09)!important;
}
.home-track-dot:after{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  background:radial-gradient(circle,currentColor 0,transparent 68%);
  opacity:.16;
  animation:v6DotBreath 1.9s ease-in-out infinite;
}
.home-track-dot.blue{color:#42b6ff}.home-track-dot.orange{color:#ff9a3d}
@keyframes v6DotBreath{0%,100%{transform:scale(.7);opacity:.08}50%{transform:scale(1.18);opacity:.24}}

/* Keep the drawn home orbit lines stationary enough to read while the dots
   run the paths. The tilted ellipse remains tilted, but no longer spins away
   from the moving orange point. */
.core-orbit>.orbit-one{animation:none!important;transform:none!important}
.core-orbit>.orbit-two{animation:none!important;transform:rotate(-24deg)!important}

/* Scroll reveal system. `translate`/`scale` are used rather than transform,
   so the existing hover transforms on solution cards continue to work. */
.js-motion .iteos-reveal{
  opacity:0;
  translate:0 28px;
  scale:.985;
  filter:blur(3px);
  transition:
    opacity .72s cubic-bezier(.2,.72,.2,1),
    translate .72s cubic-bezier(.2,.72,.2,1),
    scale .72s cubic-bezier(.2,.72,.2,1),
    filter .72s ease;
  transition-delay:var(--reveal-delay,0ms);
  animation:none!important;
}
.js-motion .iteos-reveal.reveal-left{translate:-32px 0}
.js-motion .iteos-reveal.reveal-right{translate:32px 0}
.js-motion .iteos-reveal.is-visible{
  opacity:1;
  translate:0 0;
  scale:1;
  filter:blur(0);
}

/* Section title/content comes in first; individual records then follow with
   a small stagger. */
.js-motion .iteos-section-reveal{
  opacity:0;
  translate:0 22px;
  transition:opacity .68s ease,translate .68s cubic-bezier(.2,.72,.2,1);
}
.js-motion .iteos-section-reveal.is-visible{opacity:1;translate:0 0}

/* A polished shimmer on clickable record/card surfaces after reveal. */
.solution-card,.suite-card,.mw-feature,.testimonial-card,.team-avatar,
.capability-list article,.approach-grid article,.delivery-cards article,
.narrative-grid-cards article,.mw-outcome-grid article,.why-grid article{
  position:relative;
}
.solution-card:before,.suite-card:before,.mw-feature:before,.testimonial-card:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 22%,rgba(66,182,255,.08) 48%,transparent 72%);
  background-size:220% 100%;
  background-position:180% 0;
  opacity:0;
  transition:opacity .25s ease;
}
.solution-card:hover:before,.suite-card:hover:before,.mw-feature:hover:before,.testimonial-card:hover:before{
  opacity:1;
  animation:v6CardSheen 1.15s ease both;
}
@keyframes v6CardSheen{from{background-position:180% 0}to{background-position:-60% 0}}

/* Consistent responsive home visual proportions. */
@media(max-width:1100px){
  .hero-visual{justify-self:center!important;width:min(100%,430px)!important}
}
@media(max-width:680px){
  .hero-visual{max-width:390px!important;padding:16px!important;min-height:350px!important}
  .core-orbit>.orbit-one{width:220px!important;height:220px!important}
  .core-orbit>.orbit-two{width:285px!important;height:175px!important}
}
@media(max-width:460px){
  .hero-visual{max-width:100%!important;min-height:335px!important}
  .core-orbit>.orbit-one{width:200px!important;height:200px!important}
  .core-orbit>.orbit-two{width:250px!important;height:160px!important}
  .core{width:116px!important;height:116px!important}
}

@media(prefers-reduced-motion:reduce){
  .home-track-dot{display:none!important}
  .js-motion .iteos-reveal,.js-motion .iteos-section-reveal{
    opacity:1!important;translate:none!important;scale:1!important;filter:none!important;transition:none!important
  }
}

/* =====================================================================
   ITeos FINAL EXPERIENCE v8.0
   - Uploaded ITeos logo in header/footer and launch loader
   - First-visit animated launch experience with launch chime
   - Local WAV click / slide sounds and visible sound control
   ===================================================================== */
.brand-logo{
  display:block;
  width:108px;
  height:auto;
  object-fit:contain;
}
.site-header>a:first-child{display:flex;align-items:center;min-width:108px}
footer .brand-logo{width:122px}

.iteos-launch-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 43%,rgba(8,120,215,.13),transparent 28%),
    radial-gradient(circle at 50% 48%,rgba(56,176,255,.06),transparent 44%),
    #f8fbff;
  opacity:1;
  visibility:visible;
  transition:opacity .68s ease,visibility .68s ease;
}
.iteos-launch-loader:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(8,120,215,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(8,120,215,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at center,#000 20%,transparent 72%);
  pointer-events:none;
}
.iteos-launch-loader.is-skipped{display:none!important}
.iteos-launch-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.iteos-loader-active{overflow:hidden}
.iteos-loader-stage{
  position:relative;
  width:min(88vw,560px);
  min-height:520px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  isolation:isolate;
}
.iteos-loader-logo-wrap{
  position:relative;
  z-index:5;
  width:270px;
  padding:26px 28px;
  border-radius:28px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(8,120,215,.12);
  box-shadow:0 30px 75px rgba(8,87,165,.16),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
  animation:iteosLogoFloat 2.8s ease-in-out infinite;
}
.iteos-loader-logo-wrap img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 20px rgba(8,87,165,.12))}
.iteos-loader-copy{position:relative;z-index:5;margin-top:28px;display:flex;flex-direction:column;gap:8px}
.iteos-loader-copy strong{font-family:"Manrope","Inter",Arial,sans-serif;font-size:1rem;letter-spacing:.015em;color:#0c2745}
.iteos-loader-copy span{font-size:.78rem;color:#70849a;letter-spacing:.04em}
.iteos-loader-progress{position:relative;z-index:5;width:min(280px,72vw);height:3px;margin-top:22px;border-radius:99px;overflow:hidden;background:rgba(8,120,215,.1)}
.iteos-loader-progress i{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0878d7,#43b9ff,#0878d7);animation:iteosLoaderProgress 1.25s ease-in-out infinite}
.iteos-loader-orbit{
  position:absolute;
  left:50%;
  top:45%;
  border-radius:50%;
  border:1px solid rgba(8,120,215,.16);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.iteos-loader-orbit.orbit-a{width:390px;height:390px;animation:iteosLoaderSpin 10s linear infinite}
.iteos-loader-orbit.orbit-b{width:315px;height:210px;transform:translate(-50%,-50%) rotate(-22deg);animation:iteosLoaderSpinTilt 8s linear infinite reverse}
.iteos-loader-orbit.orbit-c{width:225px;height:225px;animation:iteosLoaderSpin 6.5s linear infinite reverse}
.iteos-loader-orbit i{
  position:absolute;
  top:-6px;
  left:50%;
  width:12px;
  height:12px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#1495ed;
  box-shadow:0 0 12px rgba(20,149,237,.95),0 0 28px rgba(20,149,237,.52),0 0 0 7px rgba(20,149,237,.08)
}
.iteos-loader-orbit.orbit-b i{background:#ff9a3d;box-shadow:0 0 12px rgba(255,154,61,.95),0 0 28px rgba(255,154,61,.48),0 0 0 7px rgba(255,154,61,.08)}
.iteos-loader-orbit.orbit-c i{width:8px;height:8px;background:#70d0ff}
.iteos-enter-sound{
  position:relative;
  z-index:6;
  margin-top:22px;
  border:0;
  border-radius:999px;
  padding:13px 20px;
  background:linear-gradient(120deg,#0878d7,#1495ed);
  color:#fff;
  font-family:"Inter",Arial,sans-serif;
  font-size:.82rem;
  font-weight:800;
  box-shadow:0 14px 32px rgba(8,120,215,.24);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  translate:0 8px;
  transition:opacity .28s ease,visibility .28s ease,translate .28s ease,box-shadow .25s ease;
}
.iteos-enter-sound:hover{box-shadow:0 18px 38px rgba(8,120,215,.34);translate:0 -2px}
.iteos-launch-loader.requires-gesture .iteos-enter-sound{opacity:1;visibility:visible;translate:0 0}
.iteos-launch-loader.autoplay-ok .iteos-enter-sound{display:none}
.iteos-loader-note{position:relative;z-index:5;margin-top:12px;color:#8c9bad;font-size:.68rem;letter-spacing:.04em}

.iteos-sound-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:80;
  width:42px;
  height:42px;
  border:1px solid rgba(8,120,215,.16);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.94);
  color:#0878d7;
  box-shadow:0 12px 30px rgba(8,65,110,.14);
  backdrop-filter:blur(12px);
  font-size:1rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.iteos-sound-toggle:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 36px rgba(8,65,110,.2)}
.iteos-sound-toggle.is-muted{background:#f3f6f9;color:#8a99aa}

@keyframes iteosLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012)}}
@keyframes iteosLoaderProgress{0%{transform:translateX(-110%)}55%{transform:translateX(105%)}100%{transform:translateX(240%)}}
@keyframes iteosLoaderSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes iteosLoaderSpinTilt{from{transform:translate(-50%,-50%) rotate(-22deg)}to{transform:translate(-50%,-50%) rotate(338deg)}}

@media(max-width:860px){
  .brand-logo{width:98px}.site-header>a:first-child{min-width:98px}footer .brand-logo{width:108px}
  .iteos-loader-stage{min-height:470px}
  .iteos-loader-logo-wrap{width:230px;padding:22px 24px;border-radius:24px}
  .iteos-loader-orbit.orbit-a{width:335px;height:335px}
  .iteos-loader-orbit.orbit-b{width:280px;height:190px}
  .iteos-loader-orbit.orbit-c{width:195px;height:195px}
}
@media(max-width:480px){
  .brand-logo{width:88px}.site-header>a:first-child{min-width:88px}footer .brand-logo{width:104px}
  .iteos-loader-stage{width:94vw;min-height:430px}
  .iteos-loader-logo-wrap{width:195px;padding:19px 20px;border-radius:21px}
  .iteos-loader-orbit.orbit-a{width:285px;height:285px}
  .iteos-loader-orbit.orbit-b{width:235px;height:155px}
  .iteos-loader-orbit.orbit-c{width:165px;height:165px}
  .iteos-loader-copy strong{font-size:.9rem}.iteos-loader-copy span{font-size:.7rem;max-width:280px}
  .iteos-sound-toggle{right:12px;bottom:12px;width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
  .iteos-loader-logo-wrap,.iteos-loader-orbit,.iteos-loader-progress i{animation:none!important}
}

/* =====================================================================
   ITeos FINAL EXPERIENCE v9.0
   - Cinematic home launch animation inspired by immersive science/tech sites
   - No persistent sound button / music-note widget
   - Best-effort launch chime with no confirmation prompt
   - More polished hero + scroll reveal transitions
   ===================================================================== */

/* Remove the old floating audio control completely. */
.iteos-sound-toggle,.iteos-enter-sound{display:none!important}

/* ---------- Cinematic launch ---------- */
.iteos-launch-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#03111f;
  color:#fff;
  opacity:1;
  visibility:visible;
  isolation:isolate;
  transition:opacity .78s cubic-bezier(.2,.72,.2,1),visibility .78s ease;
}
.iteos-launch-loader:before,
.iteos-launch-loader:after{
  content:"";
  position:absolute;
  inset:-18%;
  pointer-events:none;
}
.iteos-launch-loader:before{
  z-index:-4;
  background:
    radial-gradient(circle at 50% 45%,rgba(21,141,226,.24),transparent 26%),
    radial-gradient(circle at 17% 74%,rgba(72,188,255,.11),transparent 22%),
    radial-gradient(circle at 82% 21%,rgba(12,91,170,.16),transparent 28%),
    linear-gradient(125deg,#020912 0%,#041629 50%,#06223c 100%);
  animation:v9LoaderDrift 7s ease-in-out infinite alternate;
}
.iteos-launch-loader:after{
  z-index:-3;
  inset:0;
  opacity:.24;
  background-image:
    linear-gradient(rgba(94,188,245,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(94,188,245,.12) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at 50% 46%,#000 10%,transparent 72%);
  animation:v9GridBreathe 3.8s ease-in-out infinite;
}
.iteos-launch-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.iteos-loader-active{overflow:hidden}

.iteos-loader-curtain{
  position:absolute;
  top:0;
  bottom:0;
  width:50.2%;
  z-index:20;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,17,31,.96),rgba(3,17,31,.9));
  transition:transform .9s cubic-bezier(.76,0,.24,1);
}
.iteos-loader-curtain.curtain-left{left:0;border-right:1px solid rgba(80,190,255,.08)}
.iteos-loader-curtain.curtain-right{right:0;border-left:1px solid rgba(80,190,255,.08)}
.iteos-launch-loader.is-leaving .curtain-left{transform:translateX(-102%)}
.iteos-launch-loader.is-leaving .curtain-right{transform:translateX(102%)}

.iteos-loader-stage{
  position:relative;
  z-index:30;
  width:min(92vw,680px);
  min-height:580px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  transition:opacity .5s ease,transform .72s cubic-bezier(.2,.72,.2,1),filter .5s ease;
}
.iteos-launch-loader.is-leaving .iteos-loader-stage{opacity:0;transform:scale(1.045);filter:blur(4px)}

.iteos-loader-visual{
  position:relative;
  width:430px;
  height:330px;
  max-width:86vw;
  display:grid;
  place-items:center;
}
.iteos-loader-logo-wrap{
  position:relative;
  z-index:8;
  width:270px;
  padding:26px 30px;
  border-radius:26px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(100,204,255,.24);
  box-shadow:
    0 35px 90px rgba(0,0,0,.38),
    0 0 65px rgba(26,149,229,.17),
    inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(14px);
  animation:v9LogoFloat 2.7s ease-in-out infinite;
}
.iteos-loader-logo-wrap:after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 18%,rgba(73,182,255,.28) 46%,transparent 70%);
  background-size:220% 100%;
  mix-blend-mode:screen;
  animation:v9LogoSheen 2.4s ease-in-out infinite;
}
.iteos-loader-logo-wrap img{display:block;width:100%;height:auto;filter:drop-shadow(0 9px 22px rgba(0,74,137,.14))}

.iteos-loader-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  border:1px solid rgba(82,190,249,.25);
  pointer-events:none;
  transform-origin:center;
}
.iteos-loader-orbit.orbit-a{width:390px;height:390px;transform:translate(-50%,-50%);animation:v9LoaderSpin 10s linear infinite}
.iteos-loader-orbit.orbit-b{width:330px;height:215px;transform:translate(-50%,-50%) rotate(-24deg);animation:v9LoaderSpinTilt 7.6s linear infinite reverse}
.iteos-loader-orbit.orbit-c{width:235px;height:235px;transform:translate(-50%,-50%);animation:v9LoaderSpin 5.8s linear infinite reverse}
.iteos-loader-orbit i{
  position:absolute;
  top:-6px;
  left:50%;
  width:11px;
  height:11px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#47bdff;
  box-shadow:0 0 13px #47bdff,0 0 30px rgba(71,189,255,.7),0 0 0 7px rgba(71,189,255,.08)
}
.iteos-loader-orbit.orbit-b i{background:#ff9a3d;box-shadow:0 0 13px #ff9a3d,0 0 30px rgba(255,154,61,.68),0 0 0 7px rgba(255,154,61,.08)}
.iteos-loader-orbit.orbit-c i{width:8px;height:8px;background:#96dcff}
.iteos-loader-scan{
  position:absolute;
  left:7%;
  right:7%;
  top:50%;
  height:1px;
  z-index:4;
  background:linear-gradient(90deg,transparent,rgba(82,190,249,.9),transparent);
  box-shadow:0 0 18px rgba(82,190,249,.55);
  animation:v9Scan 2.15s ease-in-out infinite;
}

.iteos-loader-copy{position:relative;z-index:8;margin-top:8px;display:flex;flex-direction:column;gap:8px}
.iteos-loader-copy strong{font-family:"Manrope","Inter",Arial,sans-serif;font-size:1.05rem;color:#fff;letter-spacing:.025em}
.iteos-loader-copy span{font-size:.73rem;color:rgba(196,225,245,.68);letter-spacing:.16em;text-transform:uppercase}
.iteos-loader-progress{position:relative;z-index:8;width:min(310px,72vw);height:3px;margin-top:22px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.1)}
.iteos-loader-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#168fde,#6ad1ff,#168fde);box-shadow:0 0 16px rgba(61,183,248,.65);animation:v9LoaderProgress 1.18s ease-in-out infinite}
.iteos-loader-status{position:relative;z-index:8;margin-top:13px;display:flex;align-items:center;gap:8px;color:rgba(196,225,245,.58);font-size:.68rem;letter-spacing:.06em}
.iteos-loader-status span{width:6px;height:6px;border-radius:50%;background:#58c8ff;box-shadow:0 0 12px rgba(88,200,255,.8);animation:v9StatusPulse 1.2s ease-in-out infinite}

.iteos-loader-particles{position:absolute;inset:0;z-index:2;pointer-events:none}
.iteos-loader-particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#55c6ff;box-shadow:0 0 12px rgba(85,198,255,.9);opacity:.35;animation:v9Particle 5.8s ease-in-out infinite}
.iteos-loader-particles i:nth-child(1){left:12%;top:22%;animation-delay:-.4s}.iteos-loader-particles i:nth-child(2){left:22%;top:72%;animation-delay:-2.2s}.iteos-loader-particles i:nth-child(3){left:38%;top:15%;animation-delay:-3.1s}.iteos-loader-particles i:nth-child(4){right:18%;top:29%;animation-delay:-1.1s}.iteos-loader-particles i:nth-child(5){right:9%;top:65%;animation-delay:-4.1s}.iteos-loader-particles i:nth-child(6){right:33%;bottom:14%;animation-delay:-2.7s}.iteos-loader-particles i:nth-child(7){left:8%;bottom:24%;animation-delay:-1.8s}.iteos-loader-particles i:nth-child(8){right:46%;top:8%;animation-delay:-4.7s}

/* Hero reveals only after the launch curtain opens, so the motion is visible
   rather than completing behind the loader. */
html.iteos-loader-active .hero-content,
html.iteos-loader-active .hero-visual{opacity:0!important;animation:none!important}
html.iteos-home-ready .hero-content{animation:v9HeroReveal .82s .08s cubic-bezier(.2,.75,.2,1) both!important}
html.iteos-home-ready .hero-visual{animation:v9VisualReveal .9s .18s cubic-bezier(.2,.75,.2,1) both!important}
html.iteos-home-ready .hero-grid{animation:v9GridReveal 1.15s ease both}

/* A slightly richer section reveal, inspired by editorial/immersive sites. */
.js-motion .iteos-section-reveal{
  opacity:0;
  translate:0 34px;
  filter:blur(3px);
  transition:
    opacity .82s cubic-bezier(.2,.72,.2,1),
    translate .82s cubic-bezier(.2,.72,.2,1),
    filter .82s ease;
}
.js-motion .iteos-section-reveal.is-visible{opacity:1;translate:0 0;filter:blur(0)}
.js-motion .iteos-reveal{
  opacity:0;
  translate:0 36px;
  scale:.975;
  filter:blur(4px);
  transition:
    opacity .8s cubic-bezier(.2,.72,.2,1),
    translate .8s cubic-bezier(.2,.72,.2,1),
    scale .8s cubic-bezier(.2,.72,.2,1),
    filter .8s ease;
  transition-delay:var(--reveal-delay,0ms);
  animation:none!important;
}
.js-motion .iteos-reveal.reveal-left{translate:-42px 14px}
.js-motion .iteos-reveal.reveal-right{translate:42px 14px}
.js-motion .iteos-reveal.is-visible{opacity:1;translate:0 0;scale:1;filter:blur(0)}

/* Subtle page-depth effect on large content bands. */
main>section{transform-origin:50% 20%}
.section-heading,.mw-heading,.narrative-heading,.testimonial-heading,.approach-intro{position:relative}
.section-heading:after,.mw-heading:after,.narrative-heading:after,.testimonial-heading:after,.approach-intro:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-18px;
  width:54px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,#0878d7,#52c1ff);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .72s .2s cubic-bezier(.2,.72,.2,1);
}
.iteos-section-reveal.is-visible .section-heading:after,
.iteos-section-reveal.is-visible .mw-heading:after,
.iteos-section-reveal.is-visible .narrative-heading:after,
.iteos-section-reveal.is-visible .testimonial-heading:after,
.iteos-section-reveal.is-visible .approach-intro:after{transform:scaleX(1)}

@keyframes v9LoaderDrift{from{transform:translate3d(-1.2%,-.6%,0) scale(1.02)}to{transform:translate3d(1.2%,.8%,0) scale(1.045)}}
@keyframes v9GridBreathe{0%,100%{opacity:.17}50%{opacity:.31}}
@keyframes v9LogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.012)}}
@keyframes v9LogoSheen{0%{background-position:190% 0;opacity:.1}45%{opacity:.72}100%{background-position:-70% 0;opacity:.08}}
@keyframes v9LoaderSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes v9LoaderSpinTilt{from{transform:translate(-50%,-50%) rotate(-24deg)}to{transform:translate(-50%,-50%) rotate(336deg)}}
@keyframes v9Scan{0%,100%{transform:translateY(-92px) scaleX(.55);opacity:.12}50%{transform:translateY(92px) scaleX(1);opacity:.85}}
@keyframes v9LoaderProgress{0%{transform:translateX(-115%)}58%{transform:translateX(110%)}100%{transform:translateX(245%)}}
@keyframes v9StatusPulse{0%,100%{transform:scale(.7);opacity:.45}50%{transform:scale(1.25);opacity:1}}
@keyframes v9Particle{0%,100%{transform:translate3d(0,0,0) scale(.65);opacity:.18}50%{transform:translate3d(0,-18px,0) scale(1.35);opacity:.7}}
@keyframes v9HeroReveal{from{opacity:0;translate:-26px 22px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes v9VisualReveal{from{opacity:0;translate:34px 18px;scale:.965;filter:blur(5px)}to{opacity:1;translate:0 0;scale:1;filter:blur(0)}}
@keyframes v9GridReveal{from{opacity:0}to{opacity:.08}}

@media(max-width:860px){
  .iteos-loader-stage{min-height:530px}
  .iteos-loader-visual{width:390px;height:310px}
  .iteos-loader-logo-wrap{width:230px;padding:22px 24px}
  .iteos-loader-orbit.orbit-a{width:335px;height:335px}
  .iteos-loader-orbit.orbit-b{width:285px;height:190px}
  .iteos-loader-orbit.orbit-c{width:195px;height:195px}
}
@media(max-width:480px){
  .iteos-loader-stage{width:94vw;min-height:480px}
  .iteos-loader-visual{width:320px;height:270px}
  .iteos-loader-logo-wrap{width:190px;padding:18px 20px;border-radius:20px}
  .iteos-loader-orbit.orbit-a{width:280px;height:280px}
  .iteos-loader-orbit.orbit-b{width:235px;height:155px}
  .iteos-loader-orbit.orbit-c{width:160px;height:160px}
  .iteos-loader-copy strong{font-size:.92rem}
  .iteos-loader-copy span{font-size:.62rem;letter-spacing:.12em}
  .iteos-loader-status{font-size:.62rem}
}
@media(prefers-reduced-motion:reduce){
  .iteos-loader-orbit,.iteos-loader-logo-wrap,.iteos-loader-scan,.iteos-loader-progress i,.iteos-loader-particles i,
  html.iteos-home-ready .hero-content,html.iteos-home-ready .hero-visual,html.iteos-home-ready .hero-grid{animation:none!important}
  .js-motion .iteos-reveal,.js-motion .iteos-section-reveal{opacity:1!important;translate:none!important;scale:1!important;filter:none!important;transition:none!important}
}
