 :root{--pink:#ed1b73;--blue:#102f69;--ink:#12203e;--muted:#66728b;--line:#e7edf6;--soft:#f6f8fc;--white:#fff;--shadow:0 20px 55px rgba(19,47,105,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Poppins",sans-serif;background:#fff;color:var(--ink);overflow-x:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button{font:inherit}.container{width:min(1260px,calc(100% - 44px));margin:auto}.brand-line{position:fixed;top:0;left:0;right:0;height:3px;z-index:2000;background:linear-gradient(90deg,var(--pink) 0 36%,var(--blue) 64% 100%)}.site-header{position:sticky;top:0;z-index:1500;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:88px;display:flex;align-items:center;gap:25px}.brand{width:255px;flex:0 0 auto}.nav-links{margin-left:auto;display:flex;gap:21px;align-items:center}.nav-links a{font-size:12.5px;font-weight:600;color:#25324c;position:relative;padding:32px 0}.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--pink);transition:.22s}.nav-links a:hover,.nav-links a.active{color:var(--blue)}.nav-links a:hover::after,.nav-links a.active::after{right:0}.header-cta,.btn,.event-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:13px;font-weight:600;transition:.22s}.header-cta{padding:12px 17px;font-size:13px;color:#fff;background:linear-gradient(110deg,var(--pink),var(--blue))}.menu-btn{display:none;margin-left:auto;border:0;background:none;width:44px;height:44px;padding:10px}.menu-btn span{display:block;height:2px;background:var(--blue);margin:5px;border-radius:10px}.hero{position:relative;background:#fff;padding:64px 0 38px;overflow:hidden}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.96fr 1.04fr;gap:58px;align-items:center;min-height:600px}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:10.5px;letter-spacing:.06em;font-weight:700;color:var(--blue)}.eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--pink)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(50px,4.6vw,70px);line-height:1.06;letter-spacing:-.04em;color:var(--blue);font-weight:800;margin:24px 0 20px}.shimmer-text{display:inline-block;background:linear-gradient(90deg,var(--pink),var(--blue),var(--pink),var(--blue));background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:textShimmer 5.5s linear infinite}@keyframes textShimmer{to{background-position:220% center}}.hero-static,.hero-dynamic{font-size:15.5px;line-height:1.85;color:var(--muted);max-width:650px;text-align:justify}.hero-static{margin-bottom:9px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin:28px 0 30px}.btn{padding:14px 21px;font-size:13px}.btn-gradient{background:linear-gradient(110deg,var(--pink),var(--blue));color:#fff}.btn-outline{background:#fff;color:var(--blue);border:1px solid #ccd6e7}.service-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.service-tab{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;color:#56627a;cursor:pointer}.service-tab:last-child{grid-column:1/-1}.service-tab i{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--blue);font-size:16px}.service-tab span{font-size:11px;font-weight:600}.service-tab.active{border-color:rgba(237,27,115,.23);box-shadow:0 10px 25px rgba(16,47,105,.055);color:var(--blue)}.service-tab.active i{background:var(--pink);color:#fff}.hero-visual{position:relative;min-height:550px;display:flex;align-items:center;justify-content:center}.hero-image{position:relative;z-index:3;width:100%;max-height:555px;object-fit:contain;filter:drop-shadow(0 24px 32px rgba(16,47,105,.12))}.orbit{position:absolute;border-radius:50%}.orbit-a{width:440px;height:440px;background:radial-gradient(circle,rgba(237,27,115,.035),transparent 65%);border:1px solid rgba(237,27,115,.08)}.orbit-b{width:340px;height:340px;border:1px solid rgba(16,47,105,.07)}.stats-strip{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:repeat(4,1fr)}.stats-strip div{text-align:center}.stats-strip strong{display:block;color:var(--blue);font-size:26px}.stats-strip span{font-size:10px;color:#7b879d}.events-section{padding:86px 0 92px;background:#f6f8fc}.section-head{text-align:center;max-width:760px;margin:0 auto 40px}.section-kicker{display:inline-block;color:var(--pink);font-size:11px;font-weight:700;letter-spacing:.13em;margin-bottom:10px}.section-head h2{font-size:38px;color:var(--blue);margin-bottom:13px}.section-head p{font-size:15px;color:#52617c}.events-shell{display:grid;grid-template-columns:1.12fr .98fr;background:#fff;border-radius:27px;overflow:hidden;box-shadow:var(--shadow)}.featured-event{position:relative;min-height:420px;overflow:hidden;background:var(--blue)}.featured-event>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,72,.96),rgba(10,31,72,.82) 48%,rgba(10,31,72,.35))}.featured-content{position:relative;z-index:2;padding:36px 30px 108px;color:#fff;max-width:560px}.featured-label{display:inline-block;background:var(--pink);padding:8px 13px;border-radius:999px;font-size:9px;font-weight:700}.featured-content h3{font-size:26px;color:#fff;margin:16px 0 10px}.featured-content p{font-size:14px;line-height:1.75;color:#d8e1f1}.event-meta{display:flex;gap:18px;flex-wrap:wrap;margin:22px 0}.event-meta span{font-size:11px;color:#e7eef8}.event-btn{padding:12px 17px;background:var(--pink);color:#fff;font-size:12px}.featured-benefits{position:absolute;left:0;right:0;bottom:0;z-index:3;background:rgba(20,43,86,.84);display:grid;grid-template-columns:repeat(3,1fr);padding:13px 22px}.featured-benefits>div{display:flex;gap:10px}.featured-benefits i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--pink)}.featured-benefits b{display:block;color:#fff;font-size:11px}.featured-benefits small{display:block;color:#c5d1e5;font-size:9.5px}.upcoming-panel{padding:25px 28px}.upcoming-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.upcoming-head h3{font-size:15px;color:var(--blue);margin:0}.upcoming-head a{font-size:11px;color:var(--pink);font-weight:700}.timeline{display:grid;gap:10px}.timeline-card{width:100%;border:0;border-radius:15px;background:#f8f9fc;padding:15px 16px;display:grid;grid-template-columns:58px 1fr 34px;gap:10px;align-items:center;text-align:left;cursor:pointer}.timeline-card.active{background:#fff;box-shadow:0 12px 28px rgba(16,47,105,.07)}.timeline-date strong{display:block;color:var(--pink);font-size:21px}.timeline-date span{display:block;color:var(--pink);font-size:9px;font-weight:700}.timeline-date small{font-size:8px;color:#73809a}.timeline-copy em{display:block;font-style:normal;color:var(--pink);font-size:8.5px;font-weight:700}.timeline-copy b{display:block;color:var(--blue);font-size:12px;margin:3px 0 5px}.timeline-copy span{font-size:9.5px;color:#69758d}.timeline-card .arrow{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);border:1px solid #dbe3ef}.timeline-card.active .arrow{background:var(--pink);color:#fff;border-color:var(--pink)}.events-note{margin-top:18px;border:1px solid #f0d6e2;border-radius:16px;padding:13px 14px;display:flex;gap:12px;align-items:center}.events-note>i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff0f6;color:var(--pink)}.events-note b{display:block;font-size:11px;color:var(--blue)}.events-note span{display:block;font-size:9.5px;color:#7a869b}.contact-dock{position:fixed;right:18px;top:46%;z-index:1300;display:grid;gap:8px}.contact-dock a{width:46px;height:46px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(16,47,105,.10);display:grid;place-items:center;font-size:20px}.contact-dock .whatsapp{color:#25D366}.contact-dock .linkedin{color:#0A66C2}.contact-dock .email{color:var(--pink)}.site-footer{background:#0b2148;color:#dbe4f4;padding:58px 0 0}.footer-grid{display:grid;grid-template-columns:1.45fr .75fr 1fr 1.35fr;gap:40px}.footer-brand img{width:270px;background:#fff;border-radius:13px;padding:8px}.footer-brand .tagline{font-size:11px;font-weight:600;color:#d7e0ef;margin:14px 0 8px}.footer-brand p{font-size:10.5px;line-height:1.75;color:#9eacc3}.site-footer h3{font-size:13px;color:#fff}.footer-links a,.footer-contact a{display:block;font-size:11px;color:#aebbd1;margin:10px 0}.footer-contact p{font-size:10.5px;line-height:1.75;color:#9eacc3}.footer-social{display:flex;gap:8px}.footer-social a{width:35px;height:35px;border:1px solid rgba(255,255,255,.12);border-radius:10px;display:grid;place-items:center;color:#fff}.footer-bottom{margin-top:38px;padding:17px 0;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;font-size:9.5px;color:#8493ad}.events-hero{padding:80px 0 50px;background:#f7f9fc;text-align:center}.events-hero h1{font-size:52px;margin:8px 0 14px}.events-hero p{color:var(--muted)}.events-listing{padding:70px 0 90px}.event-grid-page{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.event-page-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.event-page-card img{width:100%;height:290px;object-fit:cover}.event-page-body{padding:24px}.event-page-body>span{font-size:10px;color:var(--pink);font-weight:700}.event-page-body h2{font-size:24px;color:var(--blue)}.event-page-body p{font-size:13px;line-height:1.75;color:var(--muted)}@media(max-width:1100px){.nav-links{gap:14px}.nav-links a{font-size:11.5px}.brand{width:225px}.header-cta{display:none}}@media(max-width:900px){.menu-btn{display:block}.nav-links{display:none;position:absolute;top:88px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:11px 13px}.hero-grid{grid-template-columns:1fr}.hero-content{text-align:center}.hero-static,.hero-dynamic{text-align:center;margin:auto}.hero-actions{justify-content:center}.events-shell{grid-template-columns:1fr}.contact-dock{display:none}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-contact{grid-column:1/-1}.event-grid-page{grid-template-columns:1fr}}@media(max-width:620px){.container{width:min(100% - 26px,1260px)}.nav{height:76px}.brand{width:205px}.nav-links{top:76px}h1{font-size:42px}.hero-static,.hero-dynamic{text-align:left;font-size:14px}.hero-actions{display:grid}.service-tabs{grid-template-columns:1fr}.service-tab:last-child{grid-column:auto}.stats-strip{grid-template-columns:repeat(2,1fr)}.section-head h2{font-size:31px}.featured-event{min-height:470px}.featured-content{padding:28px 22px 135px}.featured-benefits{grid-template-columns:1fr;gap:9px}.featured-benefits small{display:none}.upcoming-panel{padding:22px 16px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand,.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column}.events-hero h1{font-size:38px}}/* Hero polish: light professional IT background + pure PNG service visuals */
.hero::before{content:"";position:absolute;width:680px;height:680px;right:-210px;top:-245px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.09) 0,rgba(237,27,115,.035) 38%,transparent 70%);pointer-events:none}.hero::after{content:"";position:absolute;width:520px;height:520px;left:-300px;bottom:-270px;border-radius:50%;background:radial-gradient(circle,rgba(237,27,115,.07),transparent 68%);pointer-events:none}.hero-grid::after{content:"";position:absolute;right:2%;top:10%;width:44%;height:75%;z-index:-1;border-radius:48% 52% 45% 55%/55% 42% 58% 45%;background:linear-gradient(135deg,rgba(16,47,105,.025),rgba(237,27,115,.035));filter:blur(2px)}.shimmer-text{min-height:2.12em;vertical-align:top}.hero-image{will-change:transform,opacity}.hero-image-enter{animation:heroImageIn .65s cubic-bezier(.2,.75,.2,1)}.hero-text-enter{animation:heroTextIn .48s ease both}@keyframes heroImageIn{0%{opacity:0;transform:translateX(22px) scale(.97)}100%{opacity:1;transform:translateX(0) scale(1)}}@keyframes heroTextIn{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}@media(max-width:900px){.hero-grid::after{width:90%;right:5%;top:48%;height:48%}.hero-visual{min-height:420px}.hero-image{max-height:440px}}@media(max-width:620px){.shimmer-text{min-height:auto}.hero-visual{min-height:330px}.hero-image{max-height:350px}}

/* Final responsive + hero positioning refinement */
.hero-visual{
  transform: translateY(-22px);
}
.hero-image{
  max-width:100%;
  height:auto;
}
@media(max-width:900px){
  .hero-visual{transform:translateY(-10px);}
}
@media(max-width:620px){
  .hero-visual{transform:translateY(-6px);margin-top:-4px;}
  h1{line-height:1.08;}
  .hero-static,.hero-dynamic{line-height:1.75;}
}

/* ---- Final hero polish ---- */
.hero{
  padding-top:72px;
  background:
    radial-gradient(circle at 8% 18%, rgba(237,27,115,.04), transparent 25%),
    radial-gradient(circle at 92% 10%, rgba(16,47,105,.045), transparent 24%),
    #fff;
}
.hero-grid{
  min-height:620px;
  align-items:center;
}
.hero-content{
  padding-top:4px;
}
.hero h1{
  max-width:700px;
  font-size:clamp(52px,4.7vw,72px);
  line-height:1.05;
  margin-bottom:18px;
}
.shimmer-text{
  display:inline;
  background:linear-gradient(
    90deg,
    var(--pink) 0%,
    #ff4b9c 16%,
    var(--blue) 42%,
    #315da4 58%,
    var(--pink) 78%,
    var(--blue) 100%
  );
  background-size:240% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:textShimmer 4.8s linear infinite;
  transition:opacity .18s ease;
}
.hero-note{
  display:flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:16px;
  color:#53617a;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.03em;
}
.hero-note i{
  color:var(--pink);
  font-size:13px;
}
.hero-static,.hero-dynamic{
  max-width:650px;
}
.hero-dynamic{
  min-height:56px;
  transition:opacity .18s ease;
}
.hero-visual{
  transform:translateY(-30px);
}
.hero-image{
  max-height:565px;
  transition:opacity .35s ease, transform .35s ease;
}
.service-tab{
  position:relative;
  overflow:hidden;
}
.service-tab::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transition:right .28s ease;
}
.service-tab.active::after{
  right:0;
}
.service-tab.active span{
  color:var(--blue);
}

/* ---- News & Events auto-loop polish ---- */
.upcoming-panel{
  position:relative;
  overflow:hidden;
}
.timeline{
  position:relative;
  min-height:184px;
}
.timeline-card{
  transition:transform .38s ease, opacity .38s ease, box-shadow .25s ease, background .25s ease;
}
.timeline-card.events-shift-up{
  transform:translateY(-10px);
  opacity:.8;
}
.timeline-card.events-shift-down{
  transform:translateY(10px);
  opacity:.8;
}
.featured-event>img{
  transition:opacity .38s ease, transform .45s ease;
}
.featured-event.image-changing>img{
  opacity:.2;
  transform:scale(1.018);
}
.events-loop-indicator{
  display:flex;
  gap:6px;
  justify-content:center;
  align-items:center;
  margin-top:14px;
}
.events-loop-indicator span{
  width:18px;
  height:3px;
  border-radius:999px;
  background:#dbe3ef;
  transition:.25s ease;
}
.events-loop-indicator span.active{
  background:var(--pink);
  width:28px;
}

@media(max-width:900px){
  .hero-visual{transform:translateY(-12px);}
  .hero-note{margin-left:auto;margin-right:auto;}
}
@media(max-width:620px){
  .hero{padding-top:38px;}
  .hero h1{font-size:42px;line-height:1.08;}
  .hero-note{
    width:100%;
    justify-content:center;
    font-size:9.5px;
    line-height:1.5;
    text-align:center;
    flex-wrap:wrap;
  }
  .hero-visual{transform:translateY(-6px);}
  .hero-dynamic{min-height:auto;}
}

/* ---- Hero services: clean creative horizontal scroller ---- */
.service-tabs{display:none!important;}
.service-scroller-wrap{
  margin-top:26px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.service-scroller-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.service-scroller-label span{
  color:var(--pink);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}
.service-scroller-label small{
  color:#8994a8;
  font-size:9px;
}
.service-scroller{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.service-scroller::-webkit-scrollbar{display:none;}
.service-chip{
  scroll-snap-align:start;
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:10px 4px 12px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#68748a;
  cursor:pointer;
  position:relative;
  transition:.22s ease;
}
.service-chip i{
  width:31px;
  height:31px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f5f7fb;
  color:var(--blue);
  border:1px solid #e8edf5;
  font-size:14px;
  transition:.22s ease;
}
.service-chip span{
  font-size:10.5px;
  font-weight:600;
  white-space:nowrap;
}
.service-chip::after{
  content:"";
  position:absolute;
  left:4px;
  right:100%;
  bottom:3px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transition:right .28s ease;
}
.service-chip:hover{
  color:var(--blue);
  transform:translateY(-1px);
}
.service-chip.active{
  color:var(--blue);
}
.service-chip.active i{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  border-color:transparent;
  box-shadow:0 7px 18px rgba(16,47,105,.12);
}
.service-chip.active::after{right:4px;}

/* Counter visual */
.count-up{
  display:inline-block;
  min-width:48px;
  font-variant-numeric:tabular-nums;
}
@media(max-width:620px){
  .service-scroller-label{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
  .service-scroller{
    margin-right:-12px;
  }
  .service-chip span{
    font-size:10px;
  }
}

/* ===== Hero fixed-layout final refinement ===== */
.hero{
  position:relative;
  min-height:760px;
  padding:64px 0 0;
  background:
    radial-gradient(circle at 12% 16%, rgba(237,27,115,.035), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(16,47,105,.045), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  overflow:hidden;
}
.hero-grid{
  min-height:575px;
  display:grid;
  grid-template-columns: .92fr 1.08fr;
  gap:56px;
  align-items:center;
}
.hero-content{
  min-height:500px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 0 18px;
}
.hero-content h1{
  min-height:152px;
  display:block;
  margin:22px 0 18px;
  font-size:clamp(52px,4.55vw,70px);
  line-height:1.05;
  letter-spacing:-.042em;
}
.shimmer-text{
  display:block;
  min-height:76px;
}
.hero-static{
  min-height:88px;
  margin-bottom:8px;
}
.hero-dynamic{
  min-height:58px;
  margin-bottom:0;
}
.hero-actions{
  margin:26px 0 0;
}
.hero-visual{
  min-height:575px;
  transform:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-image-stage{
  position:relative;
  width:100%;
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-image-glow{
  position:absolute;
  width:78%;
  height:72%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(47,95,178,.11) 0%, rgba(237,27,115,.055) 45%, transparent 72%);
  filter:blur(26px);
}
.hero-image{
  position:relative;
  z-index:2;
  width:112%;
  max-width:none;
  max-height:590px;
  height:auto;
  object-fit:contain;
  transition:opacity .35s ease, transform .35s ease;
  filter:drop-shadow(0 24px 32px rgba(16,47,105,.11));
}
.hero-image.is-changing{
  opacity:.12;
  transform:scale(.985);
}

/* IT-style moving expertise route */
.service-scroller-wrap,.service-scroller{display:none!important;}
.it-service-track{
  position:relative;
  z-index:5;
  margin-top:2px;
  padding:11px 0 19px;
  overflow:hidden;
}
.track-line{
  position:absolute;
  left:0;
  right:0;
  top:36px;
  height:2px;
  background:linear-gradient(90deg,rgba(237,27,115,.18),rgba(16,47,105,.22),rgba(237,27,115,.18));
}
.track-viewport{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.track-runner{
  width:max-content;
  display:flex;
  align-items:center;
  gap:56px;
  animation:expertiseRoute 30s linear infinite;
  will-change:transform;
}
.track-viewport:hover .track-runner{animation-play-state:paused;}
@keyframes expertiseRoute{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.track-item{
  position:relative;
  flex:0 0 auto;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:11px;
  padding:8px 0;
  cursor:pointer;
  color:#647088;
}
.track-node{
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #dfe7f2;
  box-shadow:0 8px 22px rgba(16,47,105,.07);
  color:var(--blue);
  font-size:18px;
  transition:.25s;
}
.track-item b{
  font-size:12px;
  white-space:nowrap;
  color:#536079;
  transition:.25s;
}
.track-item.active .track-node,
.track-item:hover .track-node{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 24px rgba(56,73,158,.15);
}
.track-item.active b,
.track-item:hover b{color:var(--blue);}

.hero-curve{
  position:absolute;
  z-index:1;
  left:-4%;
  right:-4%;
  bottom:-48px;
  height:105px;
  background:#fff;
  border-radius:50% 50% 0 0/75% 75% 0 0;
  box-shadow:0 -1px 0 rgba(231,237,246,.7);
}
.stats-strip{
  position:relative;
  z-index:6;
  margin-top:18px;
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line);
  box-shadow:0 12px 38px rgba(16,47,105,.055);
  padding:18px 10px;
}

/* lock hero heights to prevent jumping while title/image changes */
@media(min-width:901px){
  .hero-grid,.hero-content,.hero-visual,.hero-image-stage{
    height:auto;
  }
}
@media(max-width:900px){
  .hero{min-height:auto;padding-top:48px;}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:20px;}
  .hero-content{min-height:auto;text-align:center;padding-bottom:0;}
  .hero-content h1{min-height:130px;}
  .hero-static,.hero-dynamic{min-height:auto;text-align:center;}
  .hero-visual{min-height:460px;}
  .hero-image-stage{min-height:450px;}
  .hero-image{width:100%;max-height:470px;}
  .it-service-track{margin-top:0;}
  .hero-curve{bottom:-58px;}
}
@media(max-width:620px){
  .hero{padding-top:34px;}
  .hero-content h1{font-size:42px;min-height:132px;}
  .shimmer-text{min-height:86px;}
  .hero-static,.hero-dynamic{text-align:left;}
  .hero-visual{min-height:355px;}
  .hero-image-stage{min-height:345px;}
  .hero-image{width:108%;max-height:370px;}
  .track-runner{gap:38px;animation-duration:24s;}
  .track-node{width:43px;height:43px;font-size:16px;}
  .track-item b{font-size:10.5px;}
  .stats-strip{margin-top:10px;}
}

/* FINAL LCI LOADER */
.site-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#fff;transition:opacity .45s ease,visibility .45s ease}
.site-loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{text-align:center;min-width:280px;padding:28px}
.loader-mark{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;margin:0 auto 16px;font-weight:800;font-size:24px;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));box-shadow:0 16px 38px rgba(16,47,105,.14)}
.loader-brand{font-size:20px;font-weight:700;color:var(--blue);letter-spacing:.045em}
.loader-tag{font-size:10px;color:#8390a6;margin-top:7px;letter-spacing:.08em}
.loader-line{height:3px;background:#eef2f8;border-radius:99px;overflow:hidden;margin:18px auto 0;max-width:260px}
.loader-line span{display:block;height:100%;width:42%;background:linear-gradient(90deg,var(--pink),var(--blue));animation:loaderMove 1.15s ease-in-out infinite}
@keyframes loaderMove{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}

/* Header more visible */
.site-header .nav{height:94px}
.site-header .brand{width:280px}
.nav-links a{font-size:13px}
@media(max-width:1100px){.site-header .brand{width:245px}}
@media(max-width:620px){.site-header .nav{height:80px}.site-header .brand{width:215px}}

/* Hero fixed and premium */
.hero{min-height:780px;padding-top:70px;background:radial-gradient(circle at 8% 18%,rgba(237,27,115,.04),transparent 27%),radial-gradient(circle at 90% 12%,rgba(16,47,105,.05),transparent 30%),linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.hero-grid{min-height:590px;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center}
.hero-content{min-height:510px;display:flex;flex-direction:column;justify-content:center}
.hero-content h1{min-height:196px;font-size:clamp(50px,4.4vw,68px);line-height:1.06;letter-spacing:-.042em;margin:22px 0 18px}
.shimmer-text{display:block;min-height:78px;margin-top:8px;background:linear-gradient(90deg,var(--pink),#ff4c9c,var(--blue),var(--pink),var(--blue));background-size:240% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:textShimmer 4.8s linear infinite}
.hero-static,.hero-dynamic{max-width:640px}
.hero-static{min-height:88px}
.hero-dynamic{min-height:58px}
.hero-visual{min-height:590px;transform:none!important}
.hero-image-stage{min-height:560px}
.hero-image{width:118%;max-width:none;max-height:610px;object-fit:contain;filter:drop-shadow(0 26px 34px rgba(16,47,105,.12));transition:opacity .35s ease,transform .35s ease}
.hero-image.is-changing{opacity:.08;transform:scale(.985)}
.hero-image-glow{width:82%;height:76%;background:radial-gradient(circle,rgba(16,47,105,.10) 0%,rgba(237,27,115,.05) 48%,transparent 72%);filter:blur(28px)}

/* IT service road scroller */
.track-runner{animation:expertiseRoute 30s linear infinite}
@keyframes expertiseRoute{to{transform:translateX(-50%)}}
.track-viewport:hover .track-runner{animation-play-state:paused}

@media(max-width:900px){
  .hero{min-height:auto;padding-top:48px}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:18px}
  .hero-content{min-height:auto;text-align:center}
  .hero-content h1{min-height:172px}
  .hero-static,.hero-dynamic{text-align:center;margin-inline:auto}
  .hero-visual{min-height:470px}
  .hero-image-stage{min-height:455px}
  .hero-image{width:100%;max-height:485px}
}
@media(max-width:620px){
  .hero{padding-top:34px}
  .hero-content h1{font-size:42px;min-height:165px}
  .shimmer-text{min-height:86px}
  .hero-static,.hero-dynamic{text-align:left}
  .hero-visual{min-height:360px}
  .hero-image-stage{min-height:350px}
  .hero-image{width:110%;max-height:380px}
  .track-runner{gap:38px;animation-duration:24s}
}


/* ===== FINAL HEADER + HERO SIZE REFINEMENT ===== */
.site-header .nav{
  height:90px;
}
.site-header .brand{
  width:270px;
  flex:0 0 270px;
}
.nav-links{
  gap:25px;
}
.nav-links a{
  font-family:"Poppins",sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
}
.nav-cta{
  font-size:13px !important;
  padding:12px 20px !important;
}

/* Hero: visible, balanced, not oversized */
.hero{
  min-height:690px;
  padding-top:48px;
  padding-bottom:26px;
}
.hero-grid{
  min-height:520px;
  grid-template-columns:.96fr 1.04fr;
  gap:42px;
}
.hero-content{
  min-height:455px;
}
.hero-content h1{
  min-height:170px;
  font-size:clamp(44px,3.75vw,58px);
  line-height:1.08;
  margin:18px 0 16px;
}
.shimmer-text{
  min-height:68px;
  margin-top:7px;
}
.hero-static{
  min-height:76px;
}
.hero-dynamic{
  min-height:52px;
}
.hero-visual{
  min-height:510px;
}
.hero-image-stage{
  min-height:500px;
}
.hero-image{
  width:108%;
  max-height:530px;
}

/* Tablet */
@media(max-width:1100px){
  .site-header .brand{width:240px;flex-basis:240px}
  .nav-links{gap:18px}
  .nav-links a{font-size:13.5px}
  .hero{min-height:650px}
  .hero-content h1{font-size:clamp(42px,4.4vw,54px)}
  .hero-image{width:105%;max-height:500px}
}

/* Mobile keeps everything readable and compact */
@media(max-width:900px){
  .site-header .nav{height:82px}
  .hero{min-height:auto;padding-top:36px;padding-bottom:18px}
  .hero-grid{min-height:0;gap:12px}
  .hero-content{min-height:auto}
  .hero-content h1{min-height:150px;font-size:44px}
  .hero-visual{min-height:420px}
  .hero-image-stage{min-height:410px}
  .hero-image{width:96%;max-height:435px}
}
@media(max-width:620px){
  .site-header .nav{height:76px}
  .site-header .brand{width:205px;flex-basis:205px}
  .hero{padding-top:26px}
  .hero-content h1{font-size:37px;min-height:140px}
  .shimmer-text{min-height:74px}
  .hero-visual{min-height:330px}
  .hero-image-stage{min-height:320px}
  .hero-image{width:102%;max-height:340px}
}

/* ===== CREATIVE EL SHADDAI LOADING EXPERIENCE ===== */
.site-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 28% 30%, rgba(237,27,115,.055), transparent 26%),
    radial-gradient(circle at 72% 68%, rgba(16,47,105,.065), transparent 28%),
    #ffffff;
  transition:opacity .55s ease,visibility .55s ease;
}
.site-loader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loader-inner{
  position:relative;
  z-index:3;
  text-align:center;
  width:min(520px,calc(100% - 40px));
  padding:38px 34px;
}
.loader-logo-wrap{
  width:330px;
  max-width:85%;
  margin:0 auto 18px;
  padding:10px 14px;
  border-radius:20px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 55px rgba(16,47,105,.08);
  border:1px solid rgba(229,235,245,.95);
  animation:loaderLogoFloat 2.4s ease-in-out infinite;
}
.loader-logo{
  width:100%;
  height:auto;
}
.loader-brand{
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.025em;
  color:var(--blue);
}
.loader-brand span{
  color:var(--pink);
}
.loader-tag{
  margin-top:9px;
  font-size:10.5px;
  letter-spacing:.075em;
  font-weight:500;
  color:#758198;
}
.loader-line{
  width:min(310px,80%);
  height:4px;
  margin:20px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:#edf1f7;
}
.loader-line span{
  display:block;
  width:38%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--pink),#a642cf,var(--blue));
  box-shadow:0 0 14px rgba(78,73,181,.18);
  animation:loaderSweep 1.2s ease-in-out infinite;
}
.loader-status{
  display:block;
  margin-top:9px;
  color:#98a2b4;
  font-size:9px;
  letter-spacing:.08em;
}
.loader-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid transparent;
  pointer-events:none;
}
.orbit-pink{
  width:370px;
  height:370px;
  border-color:rgba(237,27,115,.13);
  box-shadow:inset 0 0 50px rgba(237,27,115,.025);
  animation:orbitPulse 3.2s ease-in-out infinite;
}
.orbit-blue{
  width:510px;
  height:510px;
  border-color:rgba(16,47,105,.09);
  animation:orbitPulse 3.2s ease-in-out infinite reverse;
}
@keyframes loaderSweep{
  0%{transform:translateX(-130%)}
  100%{transform:translateX(350%)}
}
@keyframes loaderLogoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes orbitPulse{
  0%,100%{transform:scale(.97);opacity:.5}
  50%{transform:scale(1.03);opacity:1}
}
@media(max-width:620px){
  .loader-inner{padding:28px 16px}
  .loader-logo-wrap{width:265px}
  .loader-brand{font-size:19px}
  .loader-tag{font-size:9px;line-height:1.6}
  .orbit-pink{width:285px;height:285px}
  .orbit-blue{width:390px;height:390px}
}


/* ===== Curvy interactive services section ===== */
.curvy-services-section{
  position:relative;
  overflow:hidden;
  padding:105px 0 115px;
  background:
    radial-gradient(circle at 10% 15%, rgba(237,27,115,.035), transparent 24%),
    radial-gradient(circle at 92% 78%, rgba(16,47,105,.045), transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 55%,#ffffff 100%);
}
.curvy-services-section .section-head{
  margin-bottom:42px;
}
.curvy-services-section .section-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.curvy-top,
.curvy-bottom{
  position:absolute;
  left:-4%;
  right:-4%;
  height:88px;
  background:#fff;
  z-index:1;
}
.curvy-top{
  top:-48px;
  border-radius:0 0 50% 50%/0 0 85% 85%;
}
.curvy-bottom{
  bottom:-46px;
  border-radius:50% 50% 0 0/85% 85% 0 0;
}
.interactive-services{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.interactive-service-card{
  position:relative;
  min-height:330px;
  border-radius:26px;
  overflow:hidden;
  cursor:pointer;
  background:#0d2b63;
  box-shadow:0 18px 45px rgba(20,53,105,.10);
  isolation:isolate;
  transition:transform .28s ease, box-shadow .28s ease;
}
.interactive-service-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 55px rgba(20,53,105,.14);
}
.interactive-service-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
  transform:scale(1.04);
  transition:transform .45s ease, opacity .35s ease;
}
.interactive-service-card:hover img,
.interactive-service-card.active img{
  transform:scale(1.09);
}
.service-dark-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg,rgba(6,24,59,.25) 0%,rgba(6,24,59,.83) 100%);
}
.service-fill{
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  top:0;
  height:0%;
  background:linear-gradient(180deg,rgba(237,27,115,.94) 0%,rgba(80,47,157,.95) 48%,rgba(16,47,105,.97) 100%);
  transition:height .48s cubic-bezier(.22,.8,.3,1);
}
.interactive-service-card.active .service-fill{
  height:100%;
}
.service-content{
  position:absolute;
  inset:0;
  padding:25px 22px 23px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
}
.service-mini{
  position:absolute;
  top:20px;
  right:20px;
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  font-size:9px;
  font-weight:700;
}
.service-content h3{
  color:#fff;
  font-size:22px;
  line-height:1.16;
  margin:0 0 8px;
}
.service-content p{
  max-height:0;
  opacity:0;
  overflow:hidden;
  color:rgba(255,255,255,.86);
  font-size:11.5px;
  line-height:1.65;
  margin:0;
  transform:translateY(8px);
  transition:max-height .35s ease, opacity .28s ease, transform .35s ease, margin .35s ease;
}
.service-content a{
  max-height:0;
  opacity:0;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  color:#fff;
  font-size:10.5px;
  font-weight:600;
  transform:translateY(8px);
  transition:max-height .35s ease, opacity .28s ease, transform .35s ease, margin .35s ease;
}
.interactive-service-card.active .service-content p{
  max-height:100px;
  opacity:1;
  transform:none;
  margin-bottom:14px;
}
.interactive-service-card.active .service-content a{
  max-height:30px;
  opacity:1;
  transform:none;
}
.interactive-service-card.active .service-content h3{
  margin-bottom:10px;
}

@media(max-width:1100px){
  .interactive-services{
    grid-template-columns:repeat(3,1fr);
  }
  .interactive-service-card:nth-child(4),
  .interactive-service-card:nth-child(5){
    min-height:300px;
  }
}
@media(max-width:760px){
  .curvy-services-section{
    padding:85px 0 95px;
  }
  .interactive-services{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:3px 2px 13px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .interactive-services::-webkit-scrollbar{display:none}
  .interactive-service-card{
    flex:0 0 78%;
    min-height:340px;
    scroll-snap-align:center;
  }
}
@media(max-width:480px){
  .interactive-service-card{
    flex-basis:86%;
    min-height:325px;
  }
  .service-content h3{
    font-size:21px;
  }
}

/* ===== REAL CURVED SECTION SEPARATORS ===== */
.curved-section{position:relative;overflow:hidden}
.curved-section::before{
 content:"";position:absolute;left:-5%;top:-58px;width:110%;height:105px;background:#fff;
 border-radius:0 0 50% 50%/0 0 100% 100%;z-index:1
}
.curved-section::after{
 content:"";position:absolute;left:-5%;bottom:-58px;width:110%;height:105px;background:#fff;
 border-radius:50% 50% 0 0/100% 100% 0 0;z-index:1
}
.events-section{position:relative;overflow:hidden;padding-bottom:105px}
.events-section::after{
 content:"";position:absolute;left:-5%;bottom:-55px;width:110%;height:100px;background:#fff;
 border-radius:50% 50% 0 0/100% 100% 0 0;z-index:2
}

/* ===== FIVE SERVICE HIGHLIGHT ===== */
.expertise-showcase{
 padding:125px 0 135px;
 background:linear-gradient(180deg,#f8fbff 0%,#fff 48%,#f8fbff 100%);
}
.expertise-showcase .container,.testimonials-section .container{position:relative;z-index:3}
.expertise-showcase .section-head h2 span,.testimonials-section .section-head h2 span{
 background:linear-gradient(90deg,var(--pink),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent
}
.expertise-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:42px}
.expertise-card{height:360px;border-radius:30px;overflow:hidden;position:relative;cursor:pointer;isolation:isolate;
 box-shadow:0 18px 45px rgba(16,47,105,.11);transition:.35s ease}
.expertise-card:hover,.expertise-card.active{transform:translateY(-7px)}
.expertise-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transition:.5s ease}
.expertise-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(7,27,65,.18),rgba(7,27,65,.9))}
.expertise-rise{position:absolute;left:0;right:0;bottom:0;height:0;z-index:-1;
 background:linear-gradient(180deg,rgba(237,27,115,.95),rgba(84,48,158,.97) 48%,rgba(16,47,105,.98));
 transition:height .5s cubic-bezier(.22,.8,.3,1)}
.expertise-card.active .expertise-rise{height:100%}
.expertise-copy{position:absolute;inset:0;padding:24px 20px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.expertise-copy small{position:absolute;top:20px;right:20px;border:1px solid rgba(255,255,255,.25);border-radius:50%;
 width:34px;height:34px;display:grid;place-items:center;font-weight:700}
.expertise-copy h3{font-size:21px;line-height:1.15;color:#fff;margin:0 0 8px}
.expertise-copy p,.expertise-copy a{opacity:0;max-height:0;overflow:hidden;transform:translateY(10px);transition:.35s ease}
.expertise-card.active .expertise-copy p{opacity:1;max-height:100px;transform:none;margin:0 0 14px;font-size:11px;line-height:1.65;color:#fff}
.expertise-card.active .expertise-copy a{opacity:1;max-height:30px;transform:none;color:#fff;font-size:11px;font-weight:600;width:max-content}

/* ===== TESTIMONIALS ===== */
.testimonials-section{padding:125px 0 135px;background:linear-gradient(180deg,#fff,#f9fbff)}
.alt-curve::before{background:#f8fbff}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.testimonial-card{position:relative;padding:34px 30px;border:1px solid #e8edf6;border-radius:28px;background:rgba(255,255,255,.92);
 box-shadow:0 18px 50px rgba(16,47,105,.07);transition:.3s ease}
.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 25px 60px rgba(16,47,105,.11)}
.testimonial-card.featured{background:linear-gradient(145deg,#fff 35%,rgba(237,27,115,.045),rgba(16,47,105,.055))}
.quote-mark{font-size:52px;line-height:.7;color:var(--pink);font-weight:700}
.stars{font-size:12px;letter-spacing:3px;color:#e3a71b;margin:15px 0}
.testimonial-card p{font-size:13px;line-height:1.85;color:#526078;min-height:96px}
.client{display:flex;align-items:center;gap:12px;margin-top:22px}
.client>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;
 background:linear-gradient(135deg,var(--pink),var(--blue))}
.client div{display:flex;flex-direction:column}.client b{font-size:12px;color:var(--blue)}.client small{font-size:10px;color:#8a96aa;margin-top:2px}

/* News image treatment */
.featured-event img{object-fit:cover;object-position:center}

/* Mobile */
@media(max-width:1050px){.expertise-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
 .expertise-showcase,.testimonials-section{padding:105px 0 115px}
 .expertise-cards{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}
 .expertise-cards::-webkit-scrollbar{display:none}.expertise-card{flex:0 0 78%;height:350px;scroll-snap-align:center}
 .testimonial-grid{grid-template-columns:1fr}.testimonial-card p{min-height:0}
}
/* WOW services v3 */
.services-wow{position:relative;padding:108px 0 118px;background:linear-gradient(180deg,#fff 0%,#f8fbff 50%,#fff 100%);overflow:hidden}.services-wow:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(237,27,115,.09),transparent 68%);left:-260px;top:120px}.services-wow:after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(45,108,255,.09),transparent 68%);right:-280px;bottom:-80px}.services-wow .section-head{position:relative;z-index:2}.services-wow .section-head h2 span{background:linear-gradient(100deg,var(--pink),#6d4cff,var(--blue));-webkit-background-clip:text;color:transparent}.services-stage{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:330px;gap:16px}.wow-service{position:relative;overflow:hidden;border:1px solid rgba(21,53,112,.1);border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 18px 55px rgba(23,51,105,.07);isolation:isolate;transition:transform .35s ease,box-shadow .35s ease,border-color .35s}.wow-service.wide{grid-column:span 2}.wow-service:before{content:"";position:absolute;inset:auto -15% -55% 30%;height:75%;border-radius:50%;background:linear-gradient(120deg,rgba(237,27,115,.14),rgba(70,111,255,.14));filter:blur(4px);z-index:-1;transition:.4s}.wow-service:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.92) 0 43%,rgba(255,255,255,.25) 66%,transparent 100%);z-index:1;pointer-events:none}.wow-service:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(21,53,112,.14);border-color:rgba(237,27,115,.22)}.wow-service:hover:before{transform:scale(1.2)}.wow-service img{position:absolute;z-index:0;right:-5%;bottom:-7%;width:73%;height:92%;object-fit:contain;object-position:right bottom;transition:transform .55s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 18px 20px rgba(34,67,139,.08))}.wow-service:not(.wide) img{width:82%;height:77%;right:-15%;bottom:-5%}.wow-service:hover img{transform:translate(4px,-5px) scale(1.035)}.svc-copy{position:absolute;z-index:3;left:26px;top:58px;width:53%}.wow-service:not(.wide) .svc-copy{width:68%;left:22px}.svc-copy>span{font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--pink)}.svc-copy h3{font-size:22px;line-height:1.12;color:var(--blue);margin:8px 0 10px;letter-spacing:-.025em}.svc-copy p{font-size:11px;line-height:1.65;color:#66728b;margin:0 0 14px}.svc-copy b{font-size:10px;color:var(--blue);opacity:0;transform:translateY(7px);display:inline-block;transition:.3s}.wow-service:hover .svc-copy b{opacity:1;transform:none}.svc-num{position:absolute;z-index:4;left:22px;top:20px;width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#7857ff);color:#fff;font-size:10px;font-weight:800;box-shadow:0 8px 18px rgba(237,27,115,.2)}
@media(max-width:1000px){.services-stage{grid-template-columns:repeat(2,1fr)}.wow-service.wide{grid-column:span 1}.wow-service img,.wow-service:not(.wide) img{width:78%;height:80%;right:-10%}.svc-copy,.wow-service:not(.wide) .svc-copy{width:62%}}
@media(max-width:620px){.services-wow{padding:78px 0}.services-stage{grid-template-columns:1fr;grid-auto-rows:310px}.wow-service{border-radius:23px}.svc-copy,.wow-service:not(.wide) .svc-copy{width:58%;left:20px}.svc-copy h3{font-size:20px}.wow-service img,.wow-service:not(.wide) img{width:76%;height:78%;right:-13%}}
/* Premium 3D service orbit */
.services-orbit{position:relative;padding:100px 0 110px;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(222,232,255,.8),transparent 31%),radial-gradient(circle at 16% 40%,rgba(255,222,244,.62),transparent 25%),linear-gradient(180deg,#fff 0%,#f8faff 50%,#fff 100%)}
.services-orbit:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#315ee8 1px,transparent 1px);background-size:28px 28px;opacity:.045;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
.orbit-head{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-kicker{font-size:12px;font-weight:800;letter-spacing:.2em;color:#ef1f74}.orbit-head h2{font-size:clamp(32px,4vw,54px);line-height:1.08;color:#071b50;margin:8px 0 12px;max-width:760px}.orbit-head h2 em{font-style:normal;background:linear-gradient(90deg,#ef1f74,#5a45ff);-webkit-background-clip:text;color:transparent}.orbit-head p{color:#61708d;max-width:650px}.orbit-controls{display:flex;align-items:center;gap:13px;flex:none}.orbit-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #dbe3f5;background:#fff;color:#10265c;font-size:21px;box-shadow:0 10px 30px rgba(18,45,100,.1);cursor:pointer;transition:.25s}.orbit-controls button:hover{transform:translateY(-3px);background:#10265c;color:#fff}.orbit-controls span{font-size:13px;font-weight:800;color:#657493;min-width:52px;text-align:center}
.orbit-stage{position:relative;height:560px;perspective:1400px;touch-action:pan-y;z-index:2}.orbit-floor{position:absolute;left:50%;bottom:44px;width:62%;height:70px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(29,54,130,.18),transparent 68%);filter:blur(8px)}.orbit-card{position:absolute;left:50%;top:50%;width:min(600px,46vw);height:405px;margin-left:min(-300px,-23vw);margin-top:-195px;border:1px solid rgba(255,255,255,.9);border-radius:36px;background:rgba(255,255,255,.86);box-shadow:0 30px 80px rgba(34,53,116,.16);backdrop-filter:blur(16px);padding:22px 28px 25px;text-decoration:none;overflow:hidden;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .55s,filter .55s,box-shadow .55s;will-change:transform}.orbit-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(231,239,255,.34) 55%,rgba(255,222,244,.38));z-index:-1}.orbit-card img{display:block;width:100%;height:245px;object-fit:contain;transition:transform .5s}.orbit-card small{font-weight:800;letter-spacing:.16em;color:#ef1f74}.orbit-card h3{font-size:25px;line-height:1.12;color:#071b50;margin:5px 0 6px}.orbit-card p{font-size:13px;line-height:1.5;color:#61708d;margin:0;max-width:430px}.orbit-card b{display:inline-block;margin-top:9px;font-size:12px;color:#315ee8}.orbit-no{position:absolute;right:24px;top:22px;font-size:13px;font-weight:900;color:#fff;background:linear-gradient(135deg,#ef1f74,#6849ff);padding:7px 10px;border-radius:12px;box-shadow:0 8px 22px rgba(239,31,116,.22)}.orbit-card.is-active{box-shadow:0 36px 100px rgba(38,54,126,.22)}.orbit-card.is-active img{transform:scale(1.035)}.orbit-dots{position:relative;z-index:4;display:flex;justify-content:center;gap:8px;margin-top:-18px}.orbit-dots button{width:8px;height:8px;border:0;border-radius:10px;background:#cbd5ec;padding:0;cursor:pointer;transition:.3s}.orbit-dots button.active{width:30px;background:linear-gradient(90deg,#ef1f74,#5a45ff)}
@media(max-width:760px){.services-orbit{padding:72px 0 82px}.orbit-head{display:block}.orbit-controls{margin-top:22px}.orbit-stage{height:500px;margin-inline:-16px}.orbit-card{width:82vw;height:385px;margin-left:-41vw;margin-top:-185px;border-radius:28px;padding:18px 20px}.orbit-card img{height:225px}.orbit-card h3{font-size:21px}.orbit-card p{font-size:12px}.orbit-dots{margin-top:-10px}}

/* ===== FINAL ORBIT SERVICES POLISH ===== */
.orbit-services-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(237,27,115,.045), transparent 25%),
    radial-gradient(circle at 88% 80%, rgba(16,47,105,.055), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 52%,#ffffff 100%);
}
.orbit-services-stage{
  perspective:1400px;
}
.orbit-card{
  cursor:pointer;
  transition:
    transform .55s cubic-bezier(.22,.8,.3,1),
    opacity .4s ease,
    filter .4s ease,
    box-shadow .35s ease;
  will-change:transform;
}
.orbit-card:hover{
  filter:saturate(1.04) brightness(1.02);
  box-shadow:0 26px 60px rgba(16,47,105,.14);
}
.orbit-card.is-active:hover{
  transform:translate3d(var(--x,0),var(--y,0),0) scale(1.035) !important;
}
.orbit-card .orbit-image-wrap{
  transition:transform .38s ease, filter .38s ease;
}
.orbit-card:hover .orbit-image-wrap{
  transform:translateY(-5px) scale(1.018);
  filter:drop-shadow(0 18px 28px rgba(16,47,105,.12));
}
.orbit-card .orbit-card-link{
  position:relative;
  overflow:hidden;
}
.orbit-card .orbit-card-link::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35) 48%,transparent 72%);
  transform:translateX(-130%);
  transition:transform .55s ease;
}
.orbit-card:hover .orbit-card-link::after{
  transform:translateX(130%);
}
.orbit-controls{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin-top:24px;
}
.orbit-control{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid #dce4ef;
  background:#fff;
  color:var(--blue);
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(16,47,105,.07);
  transition:.25s ease;
}
.orbit-control:hover{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(16,47,105,.12);
}
.orbit-hint{
  margin:16px auto 0;
  text-align:center;
  font-size:10px;
  color:#8792a6;
  letter-spacing:.04em;
}
.orbit-progress{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:14px;
}
.orbit-progress button{
  width:8px;
  height:8px;
  border:0;
  border-radius:999px;
  background:#dce4ee;
  cursor:pointer;
  transition:.25s ease;
}
.orbit-progress button.active{
  width:24px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
}
@media(max-width:620px){
  .orbit-hint{font-size:9px;line-height:1.5;padding:0 16px}
  .orbit-control{width:44px;height:44px}
}

/* ===== FINAL TIGHT SPACING + WOW POLISH ===== */

/* Global section rhythm: remove unnecessary empty vertical space */
main section{
  scroll-margin-top:90px;
}
.hero{
  padding-top:38px !important;
  padding-bottom:18px !important;
  min-height:auto !important;
}
.hero-grid{
  min-height:510px !important;
}
.events-section{
  padding-top:64px !important;
  padding-bottom:72px !important;
}
.orbit-services-section{
  padding-top:76px !important;
  padding-bottom:84px !important;
}
.testimonial-showcase,
.testimonials-section{
  padding-top:72px !important;
  padding-bottom:82px !important;
}
.section-head,
.services-section-head,
.orbit-services-head{
  margin-bottom:28px !important;
}

/* Remove accidental oversized blank anchors/spacers */
.anchor-space,
.section-spacer,
.spacer-lg,
.spacer-xl{
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Faster orbit carousel feel */
.orbit-card{
  transition:
    transform .42s cubic-bezier(.22,.8,.3,1),
    opacity .32s ease,
    filter .32s ease,
    box-shadow .28s ease !important;
}
.orbit-card.is-active{
  filter:saturate(1.05);
}
.orbit-card.is-active::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(237,27,115,.18),transparent 32%,rgba(16,47,105,.16));
  z-index:-1;
  filter:blur(14px);
  opacity:.72;
}
.orbit-card:hover{
  transform:translateY(-7px) scale(1.018);
}

/* Premium moving light sweep */
.orbit-card::after{
  content:"";
  position:absolute;
  top:-35%;
  bottom:-35%;
  width:14%;
  left:-22%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  opacity:0;
  pointer-events:none;
}
.orbit-card.is-active::after{
  opacity:.7;
  animation:orbitSweep 3.2s ease-in-out infinite;
}
@keyframes orbitSweep{
  0%,58%{left:-22%}
  100%{left:122%}
}

/* Gentle image float only for active card */
.orbit-card.is-active .orbit-image-wrap{
  animation:activeServiceFloat 3.6s ease-in-out infinite;
}
@keyframes activeServiceFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* Service status strip: small branded wow moment */
.orbit-status-strip{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin:12px auto 2px;
}
.orbit-status-strip span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.12em;
  color:#7b879b;
}
.orbit-status-strip i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  box-shadow:0 0 0 4px rgba(47,77,161,.055);
}

/* Controls feel quicker and clearer */
.orbit-control{
  transition:.18s ease !important;
}
.orbit-control:active{
  transform:scale(.94) !important;
}

/* Hero/news/services/testimonials curve transitions with less wasted space */
.curve-cut,
.hero-curve,
.curvy-top,
.curvy-bottom,
.services-editorial-curve,
.capability-curve{
  height:70px !important;
}
.hero-curve{
  bottom:-34px !important;
}

/* Footer compact but visible */
.site-footer{
  padding-top:48px !important;
}
.footer-bottom{
  margin-top:24px !important;
}

/* Mobile spacing */
@media(max-width:900px){
  .hero{padding-top:28px !important}
  .hero-grid{min-height:auto !important}
  .events-section{padding-top:52px !important;padding-bottom:62px !important}
  .orbit-services-section{padding-top:62px !important;padding-bottom:70px !important}
  .testimonial-showcase,.testimonials-section{padding-top:60px !important;padding-bottom:70px !important}
}
@media(max-width:620px){
  .hero{padding-top:20px !important;padding-bottom:10px !important}
  .events-section{padding-top:45px !important;padding-bottom:54px !important}
  .orbit-services-section{padding-top:54px !important;padding-bottom:60px !important}
  .testimonial-showcase,.testimonials-section{padding-top:52px !important;padding-bottom:62px !important}
  .orbit-status-strip{gap:10px}
  .orbit-status-strip span{font-size:7.5px}
}

/* ===== Final neat / branded polish ===== */

/* Hero shimmer: refined, not flashy */
.hero-forward-shimmer{
  display:inline-block;
  background:linear-gradient(100deg,#102f69 0%,#ed1b73 34%,#4a63d8 52%,#ed1b73 70%,#102f69 100%);
  background-size:240% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:forwardShimmer 5.2s linear infinite;
}
@keyframes forwardShimmer{to{background-position:240% center}}
.service-dynamic-title{
  display:block;
  margin-top:8px;
  min-height:72px;
  color:var(--blue);
  transition:opacity .28s ease;
}

/* Remove helper-strip space completely */
.orbit-status-strip,.orbit-hint{display:none!important}

/* Orbit gets a cleaner halo and less visual noise */
.orbit-services-section::before{
  content:"";
  position:absolute;
  left:50%;
  top:48%;
  width:min(980px,82vw);
  height:330px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(67,99,207,.075),rgba(237,27,115,.03) 48%,transparent 72%);
  filter:blur(16px);
  pointer-events:none;
}
.orbit-floor{
  opacity:.72;
  filter:saturate(.92);
}

/* ===== Premium testimonials ===== */
.testimonials-premium{
  position:relative;
  overflow:hidden;
  padding:88px 0 102px;
  background:
    radial-gradient(circle at 10% 20%,rgba(237,27,115,.035),transparent 27%),
    radial-gradient(circle at 90% 82%,rgba(16,47,105,.045),transparent 28%),
    linear-gradient(180deg,#fff,#f9fbff);
}
.testimonial-curve{
  position:absolute;left:-5%;width:110%;height:68px;background:#fff;z-index:1
}
.testimonial-curve-top{top:-38px;border-radius:0 0 50% 50%/0 0 100% 100%}
.testimonial-curve-bottom{bottom:-38px;border-radius:50% 50% 0 0/100% 100% 0 0}
.testimonials-premium .container{position:relative;z-index:3}
.testimonial-premium-head{text-align:center;max-width:760px;margin:0 auto 34px}
.testimonial-premium-head h2{
  margin:8px 0 12px;
  color:var(--blue);
  font-size:clamp(34px,3.4vw,49px);
  line-height:1.13;
  letter-spacing:-.035em;
}
.testimonial-premium-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.testimonial-premium-head p{margin:0;color:#6b768b;font-size:13px;line-height:1.8}

.testimonial-shell{
  display:grid;
  grid-template-columns:58px minmax(0,880px) 58px;
  gap:18px;
  align-items:center;
  justify-content:center;
}
.testimonial-window{
  position:relative;
  min-height:300px;
  overflow:hidden;
  border-radius:34px;
  border:1px solid #e4eaf3;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 62px rgba(16,47,105,.085);
}
.testimonial-window::before{
  content:"“";
  position:absolute;
  right:35px;top:8px;
  font-size:120px;font-weight:800;line-height:1;
  color:rgba(237,27,115,.07);
}
.testimonial-panel{
  position:absolute;
  inset:0;
  padding:38px 46px 42px;
  opacity:0;
  transform:translateX(34px) scale(.985);
  pointer-events:none;
  transition:opacity .46s ease,transform .46s cubic-bezier(.22,.8,.3,1);
}
.testimonial-panel.active{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.testimonial-panel-top{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:24px
}
.testimonial-index{
  font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--pink)
}
.testimonial-stars{font-size:12px;letter-spacing:3px;color:#e1a51b}
.testimonial-panel blockquote{
  position:relative;z-index:2;
  max-width:760px;
  margin:0;
  color:#34445f;
  font-size:clamp(18px,1.8vw,24px);
  line-height:1.65;
  font-weight:500;
}
.testimonial-profile{display:flex;align-items:center;gap:12px;margin-top:28px}
.profile-avatar{
  width:46px;height:46px;border-radius:15px;display:grid;place-items:center;
  color:#fff;font-size:11px;font-weight:800;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  box-shadow:0 9px 22px rgba(16,47,105,.13)
}
.testimonial-profile div{display:flex;flex-direction:column}
.testimonial-profile strong{font-size:12px;color:var(--blue)}
.testimonial-profile small{font-size:9.5px;color:#8a95a8;margin-top:3px}
.testimonial-progress-line{
  position:absolute;left:0;right:0;bottom:0;height:3px;background:#edf1f6
}
.testimonial-progress-line span{
  display:block;height:100%;width:33.333%;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transition:transform .45s ease;
  transform-origin:left center;
}

.testimonial-circle-btn{
  width:54px;height:54px;border-radius:50%;border:1px solid #dfe6f0;background:#fff;
  color:var(--blue);display:grid;place-items:center;cursor:pointer;
  box-shadow:0 11px 28px rgba(16,47,105,.07);
  transition:.22s ease;
}
.testimonial-circle-btn:hover{
  color:#fff;border-color:transparent;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  transform:translateY(-2px);
  box-shadow:0 15px 32px rgba(16,47,105,.12);
}
.testimonial-selector{
  display:flex;justify-content:center;gap:10px;margin-top:18px
}
.testimonial-selector-item{
  display:flex;align-items:center;gap:8px;
  padding:7px 12px 7px 7px;border:1px solid #e2e8f1;border-radius:999px;background:#fff;
  cursor:pointer;transition:.2s ease;color:#768197
}
.testimonial-selector-item span{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:#f1f4f9;color:var(--blue);font-size:8px;font-weight:800;
}
.testimonial-selector-item b{font-size:9px;font-weight:600}
.testimonial-selector-item.active{
  border-color:rgba(237,27,115,.22);
  color:var(--blue);
  box-shadow:0 7px 18px rgba(16,47,105,.05)
}
.testimonial-selector-item.active span{
  color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue))
}

@media(max-width:760px){
  .testimonial-shell{grid-template-columns:46px minmax(0,1fr) 46px;gap:7px}
  .testimonial-circle-btn{width:42px;height:42px}
  .testimonial-window{min-height:355px;border-radius:26px}
  .testimonial-panel{padding:30px 25px 38px}
  .testimonial-panel blockquote{font-size:17px}
  .testimonial-selector-item b{display:none}
  .testimonial-selector-item{padding:6px}
}
@media(max-width:520px){
  .testimonials-premium{padding:72px 0 86px}
  .testimonial-shell{grid-template-columns:1fr}
  .testimonial-window{grid-column:1;grid-row:1}
  .testimonial-circle-btn{
    position:absolute;bottom:34px;z-index:6;width:44px;height:44px
  }
  .testimonial-prev-btn{left:calc(50% - 54px)}
  .testimonial-next-btn{right:calc(50% - 54px)}
  .testimonial-selector{margin-top:66px}
}

/* ===== CLIENT STORIES - CLEAN PROFESSIONAL TESTIMONIALS ===== */
.client-stories{
  position:relative;
  overflow:hidden;
  padding:84px 0 96px;
  background:
    radial-gradient(circle at 8% 20%,rgba(237,27,115,.03),transparent 26%),
    radial-gradient(circle at 92% 78%,rgba(16,47,105,.045),transparent 28%),
    linear-gradient(180deg,#fff,#f9fbff);
}
.client-stories .container{position:relative;z-index:3}
.client-stories-curve{
  position:absolute;left:-5%;width:110%;height:64px;background:#fff;z-index:1
}
.client-stories-curve.top{top:-36px;border-radius:0 0 50% 50%/0 0 100% 100%}
.client-stories-curve.bottom{bottom:-36px;border-radius:50% 50% 0 0/100% 100% 0 0}
.client-stories-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.client-stories-head h2{
  margin:8px 0 12px;
  font-size:clamp(34px,3.4vw,50px);
  line-height:1.12;
  letter-spacing:-.035em;
  color:var(--blue);
}
.client-stories-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.client-stories-head p{
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:#6a768c;
}
.client-stories-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
  align-items:stretch;
  max-width:1120px;
  margin:auto;
}
.story-feature{
  position:relative;
  min-height:360px;
  padding:38px 40px 34px;
  border-radius:30px;
  background:#fff;
  border:1px solid #e4eaf3;
  box-shadow:0 24px 62px rgba(16,47,105,.075);
  overflow:hidden;
}
.story-feature::before{
  content:"“";
  position:absolute;
  right:30px;top:4px;
  font-size:140px;font-weight:800;line-height:1;
  color:rgba(237,27,115,.055);
}
.story-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  z-index:2;
}
.story-number{
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--pink);
}
.story-rating{font-size:12px;letter-spacing:3px;color:#e3a71a}
.story-feature blockquote{
  position:relative;
  z-index:2;
  margin:42px 0 34px;
  max-width:760px;
  font-size:clamp(20px,2vw,27px);
  line-height:1.62;
  font-weight:500;
  color:#34435f;
}
.story-footer{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  position:relative;
  z-index:2;
}
.story-person{display:flex;align-items:center;gap:12px}
.story-avatar{
  width:48px;height:48px;border-radius:15px;
  display:grid;place-items:center;
  color:#fff;font-size:11px;font-weight:800;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  box-shadow:0 9px 22px rgba(16,47,105,.12);
}
.story-person div{display:flex;flex-direction:column}
.story-person strong{font-size:12px;color:var(--blue)}
.story-person small{font-size:9.5px;color:#8b96a9;margin-top:3px}
.story-project{text-align:right}
.story-project span{display:block;font-size:8.5px;color:#9aa4b5;text-transform:uppercase;letter-spacing:.08em}
.story-project b{display:block;font-size:11px;color:var(--blue);margin-top:3px}
.story-progress{
  position:absolute;left:0;right:0;bottom:0;height:3px;background:#edf1f6
}
.story-progress span{
  display:block;height:100%;width:33.333%;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transition:transform .4s ease;
}
.story-selector{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.story-select{
  flex:1;
  display:grid;
  grid-template-columns:46px 1fr 30px;
  gap:12px;
  align-items:center;
  width:100%;
  padding:16px 16px;
  border-radius:20px;
  border:1px solid #e4eaf3;
  background:rgba(255,255,255,.92);
  text-align:left;
  cursor:pointer;
  transition:.24s ease;
}
.story-select>span{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:#f2f5f9;
  color:var(--blue);
  font-size:9px;font-weight:800;
  transition:.24s ease;
}
.story-select div{display:flex;flex-direction:column}
.story-select b{font-size:11px;color:var(--blue)}
.story-select small{font-size:9px;color:#8a95a8;margin-top:3px}
.story-select i{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  color:#8590a4;
  border:1px solid #e1e7f0;
  transition:.24s ease;
}
.story-select:hover,.story-select.active{
  transform:translateX(-4px);
  border-color:rgba(237,27,115,.2);
  background:linear-gradient(105deg,rgba(237,27,115,.04),rgba(16,47,105,.035)),#fff;
  box-shadow:0 13px 30px rgba(16,47,105,.06);
}
.story-select.active>span{
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--blue));
}
.story-select.active i{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--pink),var(--blue));
}
@media(max-width:850px){
  .client-stories-grid{grid-template-columns:1fr}
  .story-selector{display:grid;grid-template-columns:repeat(3,1fr)}
  .story-select{grid-template-columns:38px 1fr;padding:12px}
  .story-select i{display:none}
}
@media(max-width:620px){
  .client-stories{padding:72px 0 84px}
  .story-feature{min-height:390px;padding:30px 24px 32px;border-radius:25px}
  .story-feature blockquote{font-size:18px;margin:34px 0 28px}
  .story-footer{align-items:flex-start;flex-direction:column}
  .story-project{text-align:left}
  .story-selector{grid-template-columns:1fr}
  .story-select{grid-template-columns:42px 1fr 28px}
  .story-select i{display:grid}
}

/* ===== EGS correction: shimmer belongs ONLY to rotating service title ===== */
.hero-forward-shimmer{
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  color:inherit!important;
  animation:none!important;
}
#dynamicTitle.shimmer-text{
  display:block;
  margin-top:8px;
  min-height:72px;
  background:linear-gradient(100deg,#102f69 0%,#ed1b73 32%,#7657d8 50%,#ed1b73 68%,#102f69 100%);
  background-size:240% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  animation:egsServiceShimmer 4.2s linear infinite;
}
@keyframes egsServiceShimmer{
  to{background-position:240% center}
}

/* WHY EL SHADDAI — editorial technology showcase */
.why-egs{position:relative;overflow:hidden;padding:112px 0 105px;background:linear-gradient(180deg,#fff 0%,#f8faff 50%,#fff 100%)}
.why-wrap{position:relative;z-index:2}.why-glow{position:absolute;border-radius:50%;filter:blur(85px);opacity:.15;pointer-events:none}.why-glow-a{width:420px;height:420px;background:#ed1b73;left:-230px;top:24%}.why-glow-b{width:500px;height:500px;background:#2f65db;right:-280px;bottom:5%}
.why-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end;margin-bottom:72px}.why-intro h2{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-.04em;color:var(--blue);margin:0}.why-intro h2 span{background:linear-gradient(90deg,var(--pink),#7546d9,var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.why-intro>p{font-size:15px;line-height:1.9;color:#5f6c84;margin:0 0 7px;max-width:580px}
.why-stage{display:grid;gap:34px}.why-scene{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;min-height:420px;border-top:1px solid #dfe7f2;padding:42px 0 22px}.why-scene.scene-ai{grid-template-columns:1.18fr .82fr}.why-copy{padding:24px 7%}.why-index{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--pink);margin-bottom:17px}.why-index:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--pink),var(--blue))}.why-copy h3{font-size:clamp(28px,3vw,42px);line-height:1.13;letter-spacing:-.035em;color:var(--blue);margin:0 0 16px}.why-copy p{font-size:14px;line-height:1.85;color:#65728a;max-width:520px;margin-bottom:22px}.why-tags{display:flex;flex-wrap:wrap;gap:8px}.why-tags span{font-size:9px;font-weight:700;letter-spacing:.04em;color:#31466f;padding:8px 11px;border-radius:999px;border:1px solid #dfe7f2;background:rgba(255,255,255,.72)}
.why-media{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center}.why-media:before{content:"";position:absolute;width:72%;height:72%;border-radius:50%;background:radial-gradient(circle,rgba(65,120,255,.13),rgba(237,27,115,.06) 48%,transparent 70%);filter:blur(12px)}.why-media img{position:relative;z-index:2;width:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 24px 28px rgba(20,47,105,.12));transition:transform .5s ease,filter .5s ease}.why-scene:hover .why-media img{transform:translateY(-8px) scale(1.015);filter:drop-shadow(0 32px 34px rgba(20,47,105,.17))}
.why-proof{margin-top:58px;padding:22px 0;border-top:1px solid #dfe7f2;border-bottom:1px solid #dfe7f2;display:flex;align-items:center;justify-content:space-between;gap:25px}.why-proof span{font-size:12px;font-weight:700;letter-spacing:.08em;color:#6c7890}.why-proof a{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:12px;font-weight:800}.why-proof a i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;transition:.25s}.why-proof a:hover i{transform:rotate(45deg)}
@media(max-width:900px){.why-egs{padding:82px 0}.why-intro{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.why-scene,.why-scene.scene-ai{grid-template-columns:1fr;gap:8px;padding:32px 0}.why-scene.scene-ai .why-media{order:2}.why-scene.scene-ai .why-copy{order:1}.why-copy{padding:10px 2%}.why-media{min-height:260px}.why-media img{max-height:350px}.why-proof{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.why-egs{padding:64px 0}.why-intro h2{font-size:34px}.why-copy h3{font-size:28px}.why-copy p{font-size:13px}.why-media{min-height:220px}.why-media img{max-height:285px}.why-proof span{font-size:10px;line-height:1.7}.why-tags span{font-size:8.5px}}
/* ===== FINAL COMPACT WHY + TESTIMONIAL ===== */
.why-compact{padding:68px 0 62px!important;background:linear-gradient(180deg,#fff,#f8faff)!important}
.compact-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.compact-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.08;color:var(--blue);letter-spacing:-.04em;margin:6px 0 0}.compact-heading h2 span,.testimonial-title h2 span{background:linear-gradient(90deg,var(--pink),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.compact-heading>p{max-width:430px;margin:0;color:#6a768c;font-size:13px;line-height:1.7}
.capability-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.capability-rail article{position:relative;min-width:0;height:255px;border:1px solid #e5eaf3;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 14px 38px rgba(16,47,105,.055);transition:.35s ease}.capability-rail article:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(16,47,105,.1);border-color:rgba(237,27,115,.18)}.capability-img{height:150px;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f8faff,#fff4fa);overflow:hidden}.capability-img img{width:100%;height:100%;object-fit:contain;transition:.45s ease}.capability-rail article:hover img{transform:scale(1.045)}.capability-copy{padding:15px 18px}.capability-copy small{font-size:8px;font-weight:800;letter-spacing:.13em;color:var(--pink)}.capability-copy h3{font-size:17px;color:var(--blue);margin:5px 0 4px}.capability-copy p{font-size:10.5px;line-height:1.55;color:#738096;margin:0}
.testimonial-compact{padding:62px 0 72px!important;background:#fff!important}.testimonial-title{max-width:1040px;margin:0 auto 24px;display:flex;align-items:end;justify-content:space-between}.testimonial-title h2{font-size:clamp(28px,2.7vw,40px);color:var(--blue);letter-spacing:-.035em;margin:6px 0 0}.testimonial-count{display:flex;align-items:baseline;gap:4px;color:#a0a9b8}.testimonial-count b{font-size:24px;color:var(--pink)}.testimonial-count span{font-size:10px}.quote-stage{position:relative;max-width:1040px;margin:auto;padding:28px 70px 28px 84px;border-top:1px solid #dfe6f0;border-bottom:1px solid #dfe6f0;min-height:190px}.quote-mark{position:absolute;left:4px;top:15px;font:700 78px/1 Georgia,serif;color:rgba(237,27,115,.16)}.quote-stage blockquote{margin:0 0 22px!important;max-width:850px;font-size:clamp(17px,1.55vw,22px)!important;line-height:1.55!important;color:#35435e;font-weight:500}.quote-meta{display:flex;align-items:center;gap:11px}.quote-meta .story-avatar{width:38px;height:38px;border-radius:12px}.quote-meta>div{display:flex;flex-direction:column}.quote-meta strong{font-size:11px;color:var(--blue)}.quote-meta small{font-size:8.5px;color:#8b96a9;margin-top:2px}.quote-sep{width:1px;height:28px;background:#dfe6ef;margin:0 6px}.project-mini b{font-size:10px;color:var(--blue);margin-top:2px}.quote-nav{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px}.testimonial-compact .story-select{display:grid!important;place-items:center;width:34px;height:34px;min-height:0;padding:0;border-radius:50%;border:1px solid #dfe6ef;background:#fff;box-shadow:none;transform:none!important}.testimonial-compact .story-select>span{width:auto;height:auto;background:none!important;color:#8792a6!important;font-size:8px}.testimonial-compact .story-select.active{border-color:var(--pink);background:linear-gradient(135deg,var(--pink),var(--blue));}.testimonial-compact .story-select.active>span{color:#fff!important}.testimonial-compact .story-progress{height:2px}.testimonial-compact .story-progress span{background:linear-gradient(90deg,var(--pink),var(--blue))}
@media(max-width:760px){.why-compact{padding:48px 0!important}.compact-heading{display:block}.compact-heading>p{margin-top:12px}.capability-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px}.capability-rail article{flex:0 0 82%;height:240px;scroll-snap-align:start}.testimonial-compact{padding:48px 0 56px!important}.testimonial-title{align-items:center}.testimonial-count{display:none}.quote-stage{padding:24px 44px 24px 46px;min-height:220px}.quote-mark{font-size:52px;left:0}.quote-nav{right:0}.quote-meta{flex-wrap:wrap}.quote-sep,.project-mini{display:none}}

/* === EGS compact premium Why + Testimonial redesign v3 === */
.why-egs{padding:64px 0 54px;background:linear-gradient(180deg,#fff 0%,#f8faff 100%);overflow:hidden}
.why-egs .compact-heading{max-width:720px;margin:0 auto 34px;text-align:center}
.why-egs .compact-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.1;margin:8px 0 10px;color:#0d2256}
.why-egs .compact-heading h2 span{color:#e91e78}.why-egs .compact-heading p{margin:0;color:#66718c;font-size:15px}
.capability-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.capability-rail article{position:relative;min-height:260px;border-radius:26px;overflow:hidden;background:#0d2256;box-shadow:0 14px 38px rgba(18,42,91,.10);isolation:isolate;transition:.35s ease}
.capability-rail article:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(18,42,91,.16)}
.capability-img{position:absolute;inset:0}.capability-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,54,.02) 20%,rgba(5,20,54,.88) 100%)}
.capability-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.capability-rail article:hover img{transform:scale(1.045)}
.capability-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}.capability-copy small{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#ff77b2}.capability-copy h3{font-size:21px;margin:4px 0 5px}.capability-copy p{font-size:13px;line-height:1.55;margin:0;color:rgba(255,255,255,.8)}
.client-stories{padding:54px 0 68px;background:#fff}.testimonial-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.testimonial-title h2{font-size:clamp(28px,3vw,40px);margin:6px 0 0;color:#0d2256}.testimonial-title h2 span{color:#e91e78}.testimonial-count{font-size:14px;color:#9aa3b8}.testimonial-count b{font-size:26px;color:#0d2256;margin-right:4px}
.quote-stage{position:relative;max-width:1040px;margin:auto;padding:32px 76px 25px;border-top:1px solid #e8edf7;border-bottom:1px solid #e8edf7;background:linear-gradient(90deg,rgba(244,247,255,.55),#fff 35%,rgba(255,244,249,.45));min-height:220px}
.quote-mark{position:absolute;left:18px;top:8px;font:800 74px/1 Georgia,serif;color:#ef4c92;opacity:.22}.quote-stage blockquote{font-size:clamp(19px,2vw,27px);font-weight:600;line-height:1.5;color:#172a55;margin:0 0 24px;max-width:870px}.quote-meta{display:flex;align-items:center;gap:12px}.story-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0d2256;color:#fff;font-size:11px;font-weight:800}.quote-meta strong{display:block;font-size:13px;color:#0d2256}.quote-meta small{font-size:11px;color:#8993aa}.quote-sep{height:28px;width:1px;background:#dfe5f0;margin:0 6px}.project-mini b{display:block;font-size:12px;color:#0d2256}.project-mini small{font-size:9px;letter-spacing:1px}.quote-nav{position:absolute;right:22px;bottom:25px;display:flex;gap:7px}.story-select{width:34px;height:34px;border:1px solid #dce3f1;background:#fff;border-radius:50%;font-size:10px;font-weight:800;color:#7d879e;cursor:pointer;transition:.25s}.story-select.active,.story-select:hover{background:#e91e78;color:#fff;border-color:#e91e78;transform:translateY(-2px)}.story-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#eef1f7;overflow:hidden}.story-progress span{display:block;height:100%;width:33.33%;background:linear-gradient(90deg,#e91e78,#355bd8);transition:.4s ease}
@media(max-width:800px){.why-egs{padding:48px 0 42px}.capability-rail{grid-template-columns:1fr}.capability-rail article{min-height:215px}.client-stories{padding:44px 0 55px}.testimonial-title{align-items:center}.quote-stage{padding:28px 24px 68px}.quote-mark{display:none}.quote-stage blockquote{font-size:19px}.quote-nav{left:24px;right:auto;bottom:20px}.quote-meta{flex-wrap:wrap}.project-mini{display:none}}

/* ===== FINAL WHY EL SHADDAI SHOWCASE ===== */
.why-egs-showcase{
  position:relative;
  overflow:hidden;
  padding:82px 0 88px;
  background:
    radial-gradient(circle at 8% 15%,rgba(237,27,115,.035),transparent 25%),
    radial-gradient(circle at 92% 80%,rgba(16,47,105,.045),transparent 27%),
    linear-gradient(180deg,#f9fbff 0%,#fff 100%);
}
.why-egs-heading{
  max-width:850px;
  margin:0 auto 34px;
  text-align:center;
}
.why-egs-heading h2{
  margin:8px 0 12px;
  color:var(--blue);
  font-size:clamp(34px,3.5vw,50px);
  line-height:1.1;
  letter-spacing:-.04em;
}
.why-egs-heading h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.why-egs-heading p{
  margin:0 auto;
  max-width:720px;
  color:#68748a;
  font-size:12.5px;
  line-height:1.8;
}
.why-showcase-track{
  position:relative;
  max-width:1140px;
  min-height:430px;
  margin:auto;
}
.why-showcase-item{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:34px;
  align-items:center;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity .45s ease,transform .45s cubic-bezier(.22,.8,.3,1);
}
.why-showcase-item.is-active{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.why-showcase-copy{
  position:relative;
  padding:28px 8px 28px 0;
}
.why-no{
  position:absolute;
  right:8px;
  top:-12px;
  font-size:82px;
  line-height:1;
  font-weight:800;
  color:rgba(16,47,105,.045);
}
.why-label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--pink);
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
}
.why-label::before{
  content:"";
  width:24px;height:2px;border-radius:99px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
}
.why-showcase-copy h3{
  margin:12px 0 13px;
  max-width:500px;
  color:var(--blue);
  font-size:clamp(27px,2.6vw,38px);
  line-height:1.14;
  letter-spacing:-.035em;
}
.why-showcase-copy p{
  margin:0;
  max-width:510px;
  color:#69758a;
  font-size:12.5px;
  line-height:1.82;
}
.why-mini-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.why-mini-points span{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid #e0e7f0;
  background:#fff;
  color:#68748a;
  font-size:9px;
  font-weight:600;
}
.why-showcase-image{
  position:relative;
  height:390px;
  display:grid;
  place-items:center;
}
.why-showcase-image::before{
  content:"";
  position:absolute;
  inset:35px 20px 10px;
  border-radius:42% 58% 56% 44% / 47% 43% 57% 53%;
  background:linear-gradient(135deg,rgba(237,27,115,.07),rgba(16,47,105,.08));
  filter:blur(1px);
  animation:whyBlob 8s ease-in-out infinite alternate;
}
@keyframes whyBlob{
  to{border-radius:58% 42% 42% 58% / 42% 55% 45% 58%;transform:rotate(2deg)}
}
.why-showcase-image img{
  position:relative;
  z-index:2;
  width:100%;
  max-width:590px;
  max-height:370px;
  object-fit:contain;
  filter:drop-shadow(0 22px 34px rgba(16,47,105,.11));
  animation:whyImageFloat 4.4s ease-in-out infinite;
}
@keyframes whyImageFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
.why-showcase-nav{
  max-width:820px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #dfe6ef;
}
.why-showcase-nav button{
  position:relative;
  padding:15px 10px 13px;
  border:0;
  border-right:1px solid #e2e8f0;
  background:transparent;
  color:#7b8699;
  cursor:pointer;
  font-size:10px;
  font-weight:700;
  transition:.22s ease;
}
.why-showcase-nav button:last-child{border-right:0}
.why-showcase-nav button::after{
  content:"";
  position:absolute;
  left:20%;right:20%;top:-1px;
  height:3px;border-radius:99px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transform:scaleX(0);
  transition:.22s ease;
}
.why-showcase-nav button span{
  display:block;
  margin-bottom:4px;
  color:#a0a9b8;
  font-size:8px;
}
.why-showcase-nav button.active{
  color:var(--blue);
}
.why-showcase-nav button.active::after{transform:scaleX(1)}

@media(max-width:860px){
  .why-showcase-track{min-height:650px}
  .why-showcase-item{grid-template-columns:1fr;text-align:center}
  .why-showcase-copy{padding-right:0}
  .why-showcase-copy h3,.why-showcase-copy p{margin-left:auto;margin-right:auto}
  .why-mini-points{justify-content:center}
  .why-showcase-image{height:320px}
  .why-showcase-image img{max-height:305px}
}
@media(max-width:620px){
  .why-egs-showcase{padding:68px 0 74px}
  .why-showcase-track{min-height:640px}
  .why-showcase-copy h3{font-size:27px}
  .why-showcase-image{height:290px}
  .why-showcase-image img{max-height:275px}
  .why-showcase-nav button{font-size:8.5px;padding-inline:5px}
}

/* ===== WHY EL SHADDAI — CONNECTED TECHNOLOGY JOURNEY ===== */
.why-journey{
  position:relative; overflow:hidden;
  padding:78px 0 82px;
  background:
    radial-gradient(circle at 8% 12%,rgba(237,27,115,.055),transparent 24%),
    radial-gradient(circle at 91% 48%,rgba(35,111,226,.06),transparent 25%),
    linear-gradient(180deg,#fff 0%,#f8fbff 52%,#fff 100%);
}
.why-journey-head{
  max-width:820px; margin:0 auto 58px; text-align:center;
}
.why-eyebrow{
  display:flex; justify-content:center; align-items:center; gap:10px;
  color:#ed1b73; font-size:10px; font-weight:800; letter-spacing:.2em;
}
.why-eyebrow span{width:34px;height:2px;background:#ed1b73;border-radius:9px}
.why-journey-head h2{
  margin:12px 0 13px; color:#102f69;
  font-size:clamp(36px,4vw,56px); line-height:1.04; letter-spacing:-.05em;
}
.why-journey-head h2 em,.why-copy h3 em{font-style:normal;color:#ed1b73}
.why-journey-head p{
  max-width:650px;margin:auto;color:#71809a;font-size:13px;line-height:1.8;
}
.why-path{position:relative;max-width:1160px;margin:auto}
.why-path-line{
  position:absolute;left:50%;top:105px;bottom:105px;width:2px;
  transform:translateX(-50%);
  background:#e8edf5;overflow:hidden;border-radius:9px;
}
.why-path-line span{
  position:absolute;inset:0;
  background:linear-gradient(180deg,#ed1b73,#8d56d9,#236fe2,#ed1b73);
  transform:translateY(-72%);
  animation:whyFlow 5s ease-in-out infinite alternate;
}
@keyframes whyFlow{to{transform:translateY(0)}}
.why-step{
  position:relative;
  display:grid;grid-template-columns:1fr 86px 1fr;
  align-items:center;gap:24px;min-height:385px;
  margin-bottom:26px;
}
.why-step:last-child{margin-bottom:0}
.why-step.reverse .why-visual{grid-column:3}
.why-step.reverse .why-node{grid-column:2;grid-row:1}
.why-step.reverse .why-copy{grid-column:1;grid-row:1;text-align:right}
.why-step.reverse .why-tags{justify-content:flex-end}
.why-visual{
  position:relative;height:330px;display:grid;place-items:center;
  isolation:isolate;
}
.why-visual::before{
  content:"";position:absolute;inset:24px 12px 12px;border-radius:46% 54% 55% 45%/48% 44% 56% 52%;
  background:linear-gradient(135deg,rgba(237,27,115,.065),rgba(35,111,226,.07));
  transition:.45s ease;
}
.why-visual:hover::before{transform:rotate(3deg) scale(1.025);border-radius:58% 42% 44% 56%/43% 57% 43% 57%}
.why-visual img{
  position:relative;z-index:2;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 20px 28px rgba(16,47,105,.10));
  transition:transform .45s cubic-bezier(.2,.75,.3,1),filter .45s ease;
}
.why-visual:hover img{transform:translateY(-7px) scale(1.018);filter:drop-shadow(0 25px 35px rgba(16,47,105,.16))}
.why-orbit{
  position:absolute;z-index:1;width:250px;height:250px;border-radius:50%;
  border:1px dashed rgba(237,27,115,.20);animation:whySpin 20s linear infinite;
}
.why-orbit::after{
  content:"";position:absolute;width:8px;height:8px;border-radius:50%;
  top:23px;left:40px;background:#ed1b73;box-shadow:0 0 0 7px rgba(237,27,115,.08);
}
@keyframes whySpin{to{transform:rotate(360deg)}}
.why-node{
  position:relative;z-index:4;display:grid;place-items:center;
}
.why-node b{
  display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  color:#fff;font-size:12px;letter-spacing:.05em;
  background:linear-gradient(135deg,#ed1b73,#b52387);
  box-shadow:0 0 0 9px #fff,0 12px 30px rgba(237,27,115,.18);
  transition:.3s ease;
}
.why-step:hover .why-node b{transform:scale(1.08);box-shadow:0 0 0 9px #fff,0 0 0 12px rgba(237,27,115,.06),0 15px 32px rgba(237,27,115,.22)}
.why-copy{padding:20px 8px}
.why-category{
  color:#ed1b73;font-size:9px;font-weight:800;letter-spacing:.17em;
}
.why-copy h3{
  margin:9px 0 12px;color:#102f69;font-size:clamp(28px,3vw,40px);
  line-height:1.12;letter-spacing:-.04em;
}
.why-copy p{margin:0;max-width:485px;color:#68768e;font-size:12.5px;line-height:1.82}
.reverse .why-copy p{margin-left:auto}
.why-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.why-tags span,.why-float-tag{
  border:1px solid rgba(16,47,105,.10);background:rgba(255,255,255,.74);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#53627c;border-radius:999px;font-size:8.5px;font-weight:700;
}
.why-tags span{padding:7px 10px}
.why-float-tag{
  position:absolute;z-index:4;padding:7px 11px;
  box-shadow:0 8px 24px rgba(16,47,105,.07);
  opacity:0;transform:translateY(8px);
  transition:.35s ease;
}
.why-visual:hover .why-float-tag{opacity:1;transform:translateY(0)}
.why-float-tag.tag-a{left:8%;top:16%}
.why-float-tag.tag-b{right:5%;bottom:17%}

@media(max-width:820px){
  .why-journey{padding:64px 0 68px}
  .why-journey-head{margin-bottom:38px}
  .why-path-line{left:25px;top:70px;bottom:70px}
  .why-step,.why-step.reverse{
    grid-template-columns:52px 1fr;gap:12px;min-height:auto;margin-bottom:52px;
  }
  .why-step .why-node,.why-step.reverse .why-node{grid-column:1;grid-row:1;align-self:start;margin-top:18px}
  .why-step .why-visual,.why-step.reverse .why-visual{grid-column:2;grid-row:1;height:285px}
  .why-step .why-copy,.why-step.reverse .why-copy{
    grid-column:2;grid-row:2;text-align:left;padding:0 6px 0 0;
  }
  .why-step.reverse .why-tags{justify-content:flex-start}
  .reverse .why-copy p{margin-left:0}
  .why-node b{width:44px;height:44px;box-shadow:0 0 0 7px #fff}
}
@media(max-width:520px){
  .why-journey-head h2{font-size:36px}
  .why-path-line{left:20px}
  .why-step,.why-step.reverse{grid-template-columns:40px 1fr}
  .why-node b{width:38px;height:38px;font-size:9px}
  .why-step .why-visual,.why-step.reverse .why-visual{height:235px}
  .why-copy h3{font-size:27px}
  .why-copy p{font-size:11.5px}
  .why-float-tag{display:none}
}

/* ===== FINAL TESTIMONIAL SECTION ===== */
.egs-testimonial-final{
  position:relative;
  overflow:hidden;
  padding:74px 0 78px;
  background:
    radial-gradient(circle at 15% 20%,rgba(237,27,115,.035),transparent 26%),
    radial-gradient(circle at 86% 72%,rgba(16,47,105,.045),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#fafcff 100%);
}
.egs-testimonial-final-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.egs-testimonial-final-head h2{
  margin:8px 0 12px;
  color:var(--blue);
  font-size:clamp(34px,3.4vw,49px);
  line-height:1.12;
  letter-spacing:-.04em;
}
.egs-testimonial-final-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.egs-testimonial-final-head p{
  margin:0 auto;
  max-width:650px;
  color:#6d798e;
  font-size:12.5px;
  line-height:1.75;
}

.egs-testimonial-stage{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 54px;
  gap:14px;
  align-items:center;
  max-width:1180px;
  margin:auto;
}
.egs-testimonial-track{
  display:grid;
  grid-template-columns:1fr 1.16fr 1fr;
  gap:16px;
  align-items:center;
}
.egs-test-card{
  position:relative;
  min-height:270px;
  padding:28px 27px 24px;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  border:1px solid #e4eaf2;
  box-shadow:0 14px 34px rgba(16,47,105,.05);
  transition:transform .35s ease,box-shadow .35s ease,opacity .35s ease,border-color .35s ease;
}
.egs-test-card.active{
  transform:translateY(-8px) scale(1.025);
  border-color:rgba(237,27,115,.22);
  box-shadow:0 22px 48px rgba(16,47,105,.085),0 12px 34px rgba(237,27,115,.05);
}
.egs-test-card.side-left,
.egs-test-card.side-right{
  opacity:.78;
  transform:scale(.965);
}
.egs-test-card:hover{
  opacity:1;
  transform:translateY(-5px) scale(1.01);
}
.egs-test-quote{
  position:absolute;
  top:12px;right:19px;
  color:rgba(237,27,115,.10);
  font-size:66px;
  font-weight:800;
  line-height:1;
}
.egs-test-stars{
  color:#e1a719;
  letter-spacing:2px;
  font-size:11px;
  margin-bottom:18px;
}
.egs-test-card p{
  position:relative;
  z-index:2;
  margin:0;
  color:#46546e;
  font-size:12.5px;
  line-height:1.8;
}
.egs-test-person{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
  padding-top:17px;
  border-top:1px solid #edf1f5;
}
.egs-test-person>span{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;place-items:center;
  color:#fff;
  font-size:9.5px;
  font-weight:800;
  background:linear-gradient(135deg,var(--pink),var(--blue));
}
.egs-test-person div{
  display:flex;
  flex-direction:column;
}
.egs-test-person b{
  color:var(--blue);
  font-size:10.5px;
}
.egs-test-person small{
  color:#8a95a8;
  font-size:8.8px;
  margin-top:2px;
}

.egs-test-nav{
  width:48px;height:48px;
  border-radius:50%;
  border:1px solid #dfe6ef;
  background:#fff;
  color:var(--blue);
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(16,47,105,.065);
  transition:.22s ease;
}
.egs-test-nav:hover{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  transform:translateY(-2px);
}
.egs-test-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:20px;
}
.egs-test-dots button{
  width:8px;height:8px;
  border:0;
  border-radius:999px;
  background:#dce3ec;
  cursor:pointer;
  transition:.22s ease;
}
.egs-test-dots button.active{
  width:24px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
}

@media(max-width:900px){
  .egs-testimonial-stage{
    grid-template-columns:46px minmax(0,1fr) 46px;
  }
  .egs-testimonial-track{
    grid-template-columns:1fr;
  }
  .egs-test-card.side-left,
  .egs-test-card.side-right{
    display:none;
  }
  .egs-test-card.active{
    transform:none;
  }
}
@media(max-width:560px){
  .egs-testimonial-final{
    padding:62px 0 68px;
  }
  .egs-testimonial-stage{
    grid-template-columns:1fr;
  }
  .egs-test-nav{
    position:absolute;
    bottom:-58px;
    z-index:4;
    width:42px;height:42px;
  }
  .egs-test-nav.prev{left:calc(50% - 52px)}
  .egs-test-nav.next{right:calc(50% - 52px)}
  .egs-test-dots{
    margin-top:67px;
  }
  .egs-test-card{
    min-height:250px;
    padding:25px 22px;
  }
}

/* =========================================================
   EGS FINAL INDEX — LIGHT PROFESSIONAL SECTIONS
   ========================================================= */

/* Our Impact */
.egs-impact{
  padding:64px 0 66px;
  background:#fff;
}
.impact-line{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:42px;
  align-items:center;
  padding:30px 0;
  border-top:1px solid #e2e8f0;
  border-bottom:1px solid #e2e8f0;
}
.impact-intro h2{
  margin:7px 0 0;
  color:var(--blue);
  font-size:clamp(29px,3vw,42px);
  line-height:1.12;
  letter-spacing:-.04em;
}
.impact-intro h2 span{
  display:block;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.impact-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.impact-metrics>div{
  min-height:92px;
  padding:13px 18px;
  border-left:1px solid #e4eaf2;
  display:flex;
  flex-wrap:wrap;
  align-content:center;
}
.impact-metrics strong{
  color:var(--blue);
  font-size:31px;
  line-height:1;
  letter-spacing:-.04em;
}
.impact-metrics b{
  color:var(--pink);
  font-size:18px;
  line-height:1;
}
.impact-metrics span{
  width:100%;
  margin-top:7px;
  color:#7a8699;
  font-size:9px;
  font-weight:600;
}

/* Three-stage process */
.egs-process{
  position:relative;
  overflow:hidden;
  padding:70px 0 78px;
  background:
    radial-gradient(circle at 10% 30%,rgba(237,27,115,.035),transparent 25%),
    radial-gradient(circle at 90% 70%,rgba(16,47,105,.04),transparent 26%),
    linear-gradient(180deg,#f9fbff,#fff);
}
.process-head{
  max-width:760px;
  margin:0 auto 39px;
  text-align:center;
}
.process-head h2{
  margin:8px 0 11px;
  color:var(--blue);
  font-size:clamp(33px,3.4vw,48px);
  line-height:1.1;
  letter-spacing:-.04em;
}
.process-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.process-head p{
  max-width:650px;
  margin:auto;
  color:#6f7a8e;
  font-size:12px;
  line-height:1.75;
}
.process-flow{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:42px;
  max-width:1020px;
  margin:auto;
}
.process-connector{
  position:absolute;
  left:16%;right:16%;top:34px;
  height:2px;
  background:#e4eaf2;
}
.process-connector span{
  display:block;
  width:45%;
  height:100%;
  background:linear-gradient(90deg,var(--pink),#8e55d9,var(--blue));
  animation:processFlow 3.8s ease-in-out infinite alternate;
}
@keyframes processFlow{to{transform:translateX(122%)}}
.process-step{
  position:relative;
  z-index:2;
  text-align:center;
}
.process-icon{
  width:68px;height:68px;
  margin:0 auto 17px;
  border-radius:22px;
  display:grid;
  place-items:center;
  color:var(--pink);
  font-size:22px;
  background:#fff;
  border:1px solid #e0e7f0;
  box-shadow:0 12px 28px rgba(16,47,105,.065);
  transition:.25s ease;
}
.process-step:hover .process-icon{
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  transform:translateY(-4px) rotate(-3deg);
}
.process-no{
  display:block;
  color:#9aa4b6;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
}
.process-step h3{
  margin:7px 0 9px;
  color:var(--blue);
  font-size:15px;
}
.process-step p{
  max-width:270px;
  margin:auto;
  color:#768195;
  font-size:10.5px;
  line-height:1.72;
}

/* Single auto-scrolling testimonial — no manual arrows */
.egs-testimonial-clean{
  padding:70px 0 76px;
  background:#fff;
}
.testimonial-clean-head{
  max-width:740px;
  margin:0 auto 28px;
  text-align:center;
}
.testimonial-clean-head h2{
  margin:8px 0 11px;
  color:var(--blue);
  font-size:clamp(33px,3.3vw,47px);
  line-height:1.1;
  letter-spacing:-.04em;
}
.testimonial-clean-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.testimonial-clean-head p{
  margin:0;
  color:#718096;
  font-size:12px;
}
.testimonial-clean-stage{
  position:relative;
  max-width:900px;
  min-height:265px;
  margin:auto;
  overflow:hidden;
  padding:34px 44px 38px;
  border-top:1px solid #dfe6ef;
  border-bottom:1px solid #dfe6ef;
  background:linear-gradient(110deg,#fff,#fbfcff);
}
.testimonial-watermark{
  position:absolute;
  right:35px;
  top:-13px;
  color:rgba(237,27,115,.055);
  font-size:135px;
  font-weight:800;
  line-height:1;
}
.testimonial-clean-slide{
  position:absolute;
  inset:34px 44px 38px;
  opacity:0;
  transform:translateX(28px);
  pointer-events:none;
  transition:opacity .45s ease,transform .45s cubic-bezier(.22,.8,.3,1);
}
.testimonial-clean-slide.active{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.testimonial-rating{
  color:#e1a61b;
  font-size:11px;
  letter-spacing:3px;
  margin-bottom:18px;
}
.testimonial-clean-slide blockquote{
  max-width:760px;
  margin:0;
  color:#35445f;
  font-size:clamp(18px,1.8vw,24px);
  font-weight:500;
  line-height:1.65;
}
.testimonial-person{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:23px;
}
.testimonial-person>span{
  width:43px;height:43px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  font-size:9px;
  font-weight:800;
}
.testimonial-person div{display:flex;flex-direction:column}
.testimonial-person strong{color:var(--blue);font-size:11px}
.testimonial-person small{color:#8994a7;font-size:8.8px;margin-top:2px}
.testimonial-auto-progress{
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:#edf1f6;
}
.testimonial-auto-progress span{
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--pink),var(--blue));
}
.testimonial-clean-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:15px;
}
.testimonial-clean-dots span{
  width:7px;height:7px;
  border-radius:99px;
  background:#dce4ed;
  transition:.25s ease;
}
.testimonial-clean-dots span.active{
  width:22px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
}

/* CTA directly above footer */
.egs-home-cta{
  padding:26px 0 42px;
  background:#fff;
}
.home-cta-inner{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:31px 38px;
  border-radius:25px;
  border:1px solid #e2e8f0;
  background:
    radial-gradient(circle at 95% 0%,rgba(237,27,115,.06),transparent 34%),
    linear-gradient(110deg,#fff8fb,#f8faff 55%,#f4f8ff);
}
.home-cta-orbit{
  position:absolute;
  right:-70px;top:-115px;
  width:255px;height:255px;
  border-radius:50%;
  border:1px solid rgba(16,47,105,.07);
  box-shadow:0 0 0 36px rgba(237,27,115,.018),0 0 0 72px rgba(16,47,105,.014);
}
.home-cta-copy{position:relative;z-index:2}
.home-cta-copy>span{
  color:var(--pink);
  font-size:8px;
  font-weight:800;
  letter-spacing:.15em;
}
.home-cta-copy h2{
  margin:6px 0 7px;
  color:var(--blue);
  font-size:clamp(26px,2.6vw,37px);
  line-height:1.16;
  letter-spacing:-.035em;
}
.home-cta-copy h2 strong{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.home-cta-copy p{
  margin:0;
  color:#748095;
  font-size:10.5px;
  line-height:1.65;
}
.home-cta-btn{
  position:relative;
  z-index:3;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:13px 17px;
  border-radius:12px;
  color:#fff;
  font-size:10px;
  font-weight:700;
  background:linear-gradient(110deg,var(--pink),var(--blue));
  box-shadow:0 11px 25px rgba(16,47,105,.10);
}

/* Footer: visible, not heavy */
.site-footer{
  padding-top:48px!important;
}
.site-footer h3{
  font-size:15px!important;
  font-weight:800!important;
}
.site-footer a,
.site-footer p{
  font-size:12.5px!important;
  line-height:1.72!important;
}
.site-footer a{font-weight:600!important}
.footer-bottom,.footer-bottom *{
  font-size:11px!important;
  font-weight:600!important;
}

@media(max-width:900px){
  .impact-line{grid-template-columns:1fr;text-align:center}
  .impact-metrics>div:first-child{border-left:0}
  .process-flow{gap:18px}
  .home-cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:650px){
  .egs-impact{padding:52px 0 54px}
  .impact-metrics{grid-template-columns:1fr 1fr}
  .impact-metrics>div:nth-child(odd){border-left:0}
  .impact-metrics>div{border-top:1px solid #e9edf3}
  .egs-process{padding:58px 0 64px}
  .process-flow{grid-template-columns:1fr;gap:28px}
  .process-connector{
    left:34px;right:auto;top:45px;bottom:45px;
    width:2px;height:auto;
  }
  .process-connector span{
    width:100%;height:40%;
    animation:processFlowMobile 3.8s ease-in-out infinite alternate;
  }
  @keyframes processFlowMobile{to{transform:translateY(150%)}}
  .process-step{
    display:grid;
    grid-template-columns:68px 1fr;
    text-align:left;
    gap:0 16px;
  }
  .process-icon{grid-row:1/4;margin:0}
  .process-step p{margin:0;max-width:none}
  .testimonial-clean-stage{
    min-height:310px;
    padding:28px 23px 34px;
  }
  .testimonial-clean-slide{inset:28px 23px 34px}
  .egs-home-cta{padding-bottom:32px}
  .home-cta-inner{padding:27px 23px}
}

/* ===== EGS CLEAN BASE: original pink shimmer on rotating service title ===== */
.hero-forward-shimmer{
  background:none!important;
  color:inherit!important;
  animation:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
}
#dynamicTitle.first-pink-shimmer{
  display:block;
  margin-top:8px;
  min-height:72px;
  width:max-content;
  max-width:100%;
  background:linear-gradient(
    100deg,
    #ed1b73 0%,
    #ff64ac 22%,
    #f2247c 42%,
    #ff8bc5 58%,
    #ed1b73 78%,
    #ff5aa5 100%
  );
  background-size:230% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  animation:firstPinkServiceShimmer 3.7s linear infinite;
  filter:drop-shadow(0 4px 11px rgba(237,27,115,.10));
}
@keyframes firstPinkServiceShimmer{
  to{background-position:230% center}
}
@media(max-width:620px){
  #dynamicTitle.first-pink-shimmer{min-height:58px}
}

/* ===== FROM IDEA TO IMPACT — LIGHT VISUAL STORY ===== */
.idea-impact-wow{
  position:relative;overflow:hidden;padding:78px 0 84px;
  background:
    radial-gradient(circle at 8% 16%,rgba(237,27,115,.04),transparent 24%),
    radial-gradient(circle at 92% 68%,rgba(25,83,173,.045),transparent 26%),
    linear-gradient(180deg,#fff,#fafcff 50%,#fff);
}
.idea-impact-head{max-width:780px;margin:0 auto 48px;text-align:center}
.idea-impact-head h2{margin:8px 0 12px;color:var(--blue);font-size:clamp(35px,3.6vw,51px);line-height:1.08;letter-spacing:-.045em}
.idea-impact-head h2 span,.testimonial-wow-intro h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.idea-impact-head p{max-width:660px;margin:auto;color:#748095;font-size:12px;line-height:1.75}
.impact-story{max-width:1080px;margin:auto;position:relative}
.impact-story::before{
  content:"";position:absolute;left:50%;top:80px;bottom:80px;width:1px;
  background:linear-gradient(180deg,transparent,#e3e9f2 12%,#e3e9f2 88%,transparent)
}
.impact-story-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;min-height:300px;margin:0 0 30px}
.impact-story-row.reverse .impact-story-visual{order:2}
.impact-story-row.reverse .impact-story-copy{order:1;text-align:right}
.impact-story-row.reverse .impact-keywords{justify-content:flex-end}
.impact-story-visual{position:relative;height:285px;display:grid;place-items:center}
.impact-story-visual img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 25px rgba(16,47,105,.08));transition:.45s ease}
.impact-story-row:hover .impact-story-visual img{transform:translateY(-7px) scale(1.018)}
.impact-glow{position:absolute;z-index:1;width:78%;height:72%;border-radius:50%;background:linear-gradient(135deg,rgba(237,27,115,.07),rgba(35,111,226,.065));filter:blur(2px);transition:.45s ease}
.impact-story-row:hover .impact-glow{transform:rotate(5deg) scale(1.04);border-radius:42% 58% 53% 47%/48% 43% 57% 52%}
.impact-step-number{
  position:absolute;z-index:3;right:8%;bottom:12%;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.78);backdrop-filter:blur(10px);
  border:1px solid rgba(237,27,115,.16);color:var(--pink);font-size:10px;box-shadow:0 10px 28px rgba(16,47,105,.08)
}
.impact-story-copy>span{color:var(--pink);font-size:8.5px;font-weight:800;letter-spacing:.18em}
.impact-story-copy h3{margin:9px 0 11px;color:var(--blue);font-size:clamp(27px,2.8vw,38px);line-height:1.13;letter-spacing:-.035em}
.impact-story-copy p{margin:0;color:#6f7c91;font-size:11.5px;line-height:1.8}
.impact-keywords{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.impact-keywords em{font-style:normal;padding:6px 10px;border-radius:99px;border:1px solid #e2e8f0;background:rgba(255,255,255,.8);color:#647188;font-size:8px;font-weight:700}

/* ===== CLIENT VOICES — EDITORIAL, AUTO ONLY ===== */
.testimonial-wow{padding:72px 0 76px;background:#fff}
.testimonial-wow-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;align-items:center;max-width:1080px}
.testimonial-wow-intro h2{margin:8px 0 12px;color:var(--blue);font-size:clamp(31px,3.2vw,44px);line-height:1.1;letter-spacing:-.04em}
.testimonial-wow-intro p{margin:0;color:#748095;font-size:11.5px;line-height:1.75}
.testimonial-index{display:flex;align-items:baseline;gap:5px;margin-top:23px;color:#a3adbc}
.testimonial-index strong{color:var(--pink);font-size:28px;letter-spacing:-.05em}
.testimonial-index span{font-size:10px}
.testimonial-wow-stage{
  position:relative;min-height:260px;padding:31px 38px 35px;
  border-top:1px solid #dfe6ef;border-bottom:1px solid #dfe6ef;
  background:linear-gradient(115deg,#fff,#fbfcff);overflow:hidden
}
.testimonial-quote-mark{position:absolute;right:25px;top:-18px;font-size:128px;line-height:1;color:rgba(237,27,115,.055);font-weight:800}
.testimonial-wow-slide{position:absolute;inset:31px 38px 35px;opacity:0;transform:translateX(24px);transition:.45s ease;pointer-events:none}
.testimonial-wow-slide.active{opacity:1;transform:none;pointer-events:auto}
.testimonial-stars{color:#d9a31c;font-size:10px;letter-spacing:3px;margin-bottom:17px}
.testimonial-wow-slide blockquote{position:relative;z-index:2;margin:0;max-width:700px;color:#34435e;font-size:clamp(18px,1.9vw,24px);line-height:1.62;font-weight:500}
.testimonial-author{display:flex;flex-direction:column;margin-top:22px;padding-left:13px;border-left:2px solid var(--pink)}
.testimonial-author b{color:var(--blue);font-size:10.5px}
.testimonial-author span{margin-top:2px;color:#8b95a7;font-size:8.5px}
.testimonial-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#edf1f5}
.testimonial-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--pink),var(--blue))}

/* ===== FINAL CTA — LIGHT WOW ===== */
.cta-wow{padding:22px 0 42px;background:#fff}
.cta-wow-inner{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:35px;
  padding:32px 38px;border-radius:26px;border:1px solid #e1e7ef;
  background:radial-gradient(circle at 92% 10%,rgba(237,27,115,.07),transparent 31%),linear-gradient(115deg,#fff8fc,#f9fbff 58%,#f4f8ff)
}
.cta-wow-copy{position:relative;z-index:2}
.cta-wow-copy>span{color:var(--pink);font-size:8px;font-weight:800;letter-spacing:.17em}
.cta-wow-copy h2{margin:6px 0 7px;color:var(--blue);font-size:clamp(25px,2.6vw,36px);line-height:1.14;letter-spacing:-.035em}
.cta-wow-copy p{margin:0;color:#748095;font-size:10.5px}
.cta-wow-button{position:relative;z-index:3;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:13px 17px;border-radius:12px;color:#fff!important;background:linear-gradient(110deg,var(--pink),var(--blue));font-size:9.5px;font-weight:700;box-shadow:0 10px 24px rgba(16,47,105,.11);transition:.25s ease}
.cta-wow-button:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(16,47,105,.16)}
.cta-wow-rings{position:absolute;right:-50px;top:-95px;width:250px;height:250px}
.cta-wow-rings i{position:absolute;inset:0;border:1px solid rgba(16,47,105,.055);border-radius:50%;animation:ctaPulse 4s ease-in-out infinite}
.cta-wow-rings i:nth-child(2){inset:35px;animation-delay:.6s}
.cta-wow-rings i:nth-child(3){inset:70px;animation-delay:1.2s}
@keyframes ctaPulse{50%{transform:scale(1.05);opacity:.55}}

@media(max-width:820px){
  .impact-story::before{display:none}
  .impact-story-row,.impact-story-row.reverse{grid-template-columns:1fr;gap:8px;margin-bottom:48px}
  .impact-story-row.reverse .impact-story-visual,.impact-story-row.reverse .impact-story-copy{order:initial}
  .impact-story-row.reverse .impact-story-copy{text-align:left}
  .impact-story-row.reverse .impact-keywords{justify-content:flex-start}
  .impact-story-visual{height:260px}
  .testimonial-wow-grid{grid-template-columns:1fr;gap:26px}
  .testimonial-wow-intro{text-align:center}
  .testimonial-index{justify-content:center}
}
@media(max-width:560px){
  .idea-impact-wow{padding:62px 0 68px}
  .idea-impact-head{margin-bottom:34px}
  .impact-story-visual{height:225px}
  .testimonial-wow{padding:58px 0 62px}
  .testimonial-wow-stage{min-height:300px;padding:27px 22px 32px}
  .testimonial-wow-slide{inset:27px 22px 32px}
  .cta-wow-inner{padding:27px 23px;flex-direction:column;align-items:flex-start}
}

/* ===== WHY EL SHADDAI — COMPACT VISUAL ===== */
.why-compact-new{padding:68px 0 72px;background:linear-gradient(180deg,#fff,#fbfcff)}
.why-compact-head{max-width:780px;margin:0 auto 34px;text-align:center}
.why-compact-head h2{margin:8px 0 10px;color:var(--blue);font-size:clamp(32px,3.3vw,46px);line-height:1.1;letter-spacing:-.04em}
.why-compact-head h2 span{background:linear-gradient(90deg,var(--pink),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.why-compact-head p{max-width:680px;margin:auto;color:#748095;font-size:11.5px;line-height:1.72}
.why-compact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:auto}
.why-compact-item{position:relative;min-width:0;border-top:1px solid #e2e8f0;padding-top:13px;transition:.3s ease}
.why-compact-image{position:relative;height:205px;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(237,27,115,.045),transparent 58%)}
.why-compact-image img{width:100%;height:100%;object-fit:contain;transition:.4s ease;filter:drop-shadow(0 13px 20px rgba(16,47,105,.07))}
.why-compact-image>span{position:absolute;top:12px;left:13px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.78);backdrop-filter:blur(10px);border:1px solid rgba(16,47,105,.08);color:var(--pink);font-size:8px;font-weight:800}
.why-compact-item:hover{border-top-color:rgba(237,27,115,.45)}
.why-compact-item:hover img{transform:translateY(-5px) scale(1.025)}
.why-compact-copy{padding:15px 5px 4px}
.why-compact-copy small{color:var(--pink);font-size:7.5px;font-weight:800;letter-spacing:.17em}
.why-compact-copy h3{margin:6px 0 7px;color:var(--blue);font-size:17px;letter-spacing:-.02em}
.why-compact-copy p{margin:0;color:#768196;font-size:9.8px;line-height:1.65}

/* ===== COMPACT TESTIMONIAL CARDS ===== */
.testimonial-cards-new{padding:66px 0 72px;background:#fff;overflow:hidden}
.testimonial-cards-head{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:1100px;margin:0 auto 27px}
.testimonial-cards-head h2{max-width:650px;margin:7px 0 0;color:var(--blue);font-size:clamp(31px,3vw,43px);line-height:1.1;letter-spacing:-.04em}
.testimonial-cards-head h2 span{background:linear-gradient(90deg,var(--pink),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.testimonial-card-controls{display:flex;gap:8px}
.testimonial-card-controls button{width:42px;height:42px;border-radius:50%;border:1px solid #dfe6ef;background:#fff;color:var(--blue);display:grid;place-items:center;cursor:pointer;transition:.22s ease}
.testimonial-card-controls button:hover{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--pink),var(--blue));transform:translateY(-2px)}
.testimonial-card-viewport{max-width:1100px;margin:auto;overflow:hidden;padding:5px 2px 15px}
.testimonial-card-track{display:flex;gap:14px;transition:transform .48s cubic-bezier(.22,.8,.3,1);will-change:transform}
.testimonial-mini-card{flex:0 0 calc((100% - 28px)/3);min-height:215px;padding:21px 20px;border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 10px 25px rgba(16,47,105,.045);transition:.3s ease}
.testimonial-mini-card:hover{transform:translateY(-5px);border-color:rgba(237,27,115,.22);box-shadow:0 16px 32px rgba(16,47,105,.075)}
.testimonial-mini-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.testimonial-mini-top span{color:rgba(237,27,115,.25);font-size:34px;font-weight:800;line-height:.8}
.testimonial-mini-top b{color:#dba51e;font-size:8px;letter-spacing:1.5px}
.testimonial-mini-card>p{margin:0;color:#526079;font-size:10.5px;line-height:1.72}
.testimonial-mini-person{display:flex;align-items:center;gap:9px;margin-top:18px;padding-top:13px;border-top:1px solid #edf1f5}
.testimonial-mini-person i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:7.5px;font-weight:800}
.testimonial-mini-person div{display:flex;flex-direction:column}
.testimonial-mini-person strong{color:var(--blue);font-size:9px}
.testimonial-mini-person small{color:#929cad;font-size:7.5px;margin-top:2px}
.testimonial-card-progress{max-width:1100px;height:2px;margin:3px auto 0;background:#edf1f5;overflow:hidden}
.testimonial-card-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--blue))}

@media(max-width:820px){
 .why-compact-grid{grid-template-columns:1fr 1fr}
 .testimonial-mini-card{flex-basis:calc((100% - 14px)/2)}
}
@media(max-width:560px){
 .why-compact-new{padding:58px 0 62px}
 .why-compact-grid{grid-template-columns:1fr}
 .why-compact-image{height:190px}
 .testimonial-cards-new{padding:58px 0 64px}
 .testimonial-cards-head{align-items:center}
 .testimonial-card-controls button{width:38px;height:38px}
 .testimonial-mini-card{flex-basis:86%;min-height:205px}
}

/* ===== FINAL TYPOGRAPHY SYSTEM ===== */
html,body,button,input,textarea,select{
  font-family:"Poppins",sans-serif!important;
}
:root{
  --egs-heading-xl:clamp(34px,3.45vw,49px);
  --egs-heading-lg:clamp(29px,2.9vw,40px);
  --egs-heading-md:18px;
  --egs-body:13px;
  --egs-small:10px;
}
.section-kicker{
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.17em!important;
}
.why-ribbon-head h2,
.testimonial-cards-head h2{
  font-size:var(--egs-heading-xl)!important;
}
.why-ribbon-head p{
  font-size:var(--egs-body)!important;
}
.why-ribbon-content h3{
  font-size:var(--egs-heading-md)!important;
}
.why-ribbon-content p{
  font-size:11px!important;
}

/* ===== WHY EL SHADDAI — OPEN RIBBON, NO CARDS ===== */
.why-ribbon{
  position:relative;
  overflow:hidden;
  padding:70px 0 76px;
  background:
    radial-gradient(circle at 8% 15%,rgba(237,27,115,.035),transparent 24%),
    radial-gradient(circle at 92% 76%,rgba(28,90,185,.04),transparent 25%),
    #fff;
}
.why-ribbon-head{
  max-width:800px;
  margin:0 auto 39px;
  text-align:center;
}
.why-ribbon-head h2{
  margin:8px 0 11px;
  color:var(--blue);
  line-height:1.1;
  letter-spacing:-.045em;
}
.why-ribbon-head h2 span{
  background:linear-gradient(90deg,var(--pink),var(--blue));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.why-ribbon-head p{
  max-width:700px;
  margin:auto;
  color:#6f7c91;
  line-height:1.75;
}
.why-ribbon-flow{
  display:grid;
  grid-template-columns:1fr 60px 1fr 60px 1fr;
  align-items:start;
  max-width:1120px;
  margin:auto;
}
.why-ribbon-item{
  min-width:0;
  text-align:center;
}
.why-ribbon-media{
  position:relative;
  height:205px;
  display:grid;
  place-items:center;
}
.why-ribbon-media::before{
  content:"";
  position:absolute;
  width:78%;
  height:68%;
  border-radius:48% 52% 57% 43% / 51% 44% 56% 49%;
  background:linear-gradient(135deg,rgba(237,27,115,.06),rgba(34,101,204,.065));
  transition:.4s ease;
}
.why-ribbon-item:hover .why-ribbon-media::before{
  transform:rotate(5deg) scale(1.04);
  border-radius:58% 42% 45% 55% / 44% 58% 42% 56%;
}
.why-ribbon-media img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 13px 21px rgba(16,47,105,.08));
  transition:.4s cubic-bezier(.22,.8,.3,1);
}
.why-ribbon-item:hover .why-ribbon-media img{
  transform:translateY(-6px) scale(1.025);
}
.why-ribbon-index{
  position:absolute;
  z-index:4;
  left:7%;
  top:11%;
  color:rgba(16,47,105,.13);
  font-size:30px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.06em;
}
.why-ribbon-content{
  position:relative;
  padding:10px 8px 0;
}
.why-ribbon-content::before{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin:0 auto 12px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transition:.3s ease;
}
.why-ribbon-item:hover .why-ribbon-content::before{
  width:58px;
}
.why-ribbon-content small{
  color:var(--pink);
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
}
.why-ribbon-content h3{
  margin:6px 0 7px;
  color:var(--blue);
  line-height:1.25;
  letter-spacing:-.025em;
}
.why-ribbon-content p{
  max-width:285px;
  margin:auto;
  color:#738096;
  line-height:1.68;
}
.why-ribbon-link{
  position:relative;
  height:205px;
}
.why-ribbon-link::before{
  content:"";
  position:absolute;
  left:4px;right:4px;
  top:50%;
  height:1px;
  background:#dfe6ef;
}
.why-ribbon-link span{
  position:absolute;
  top:calc(50% - 3px);
  left:6px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--pink);
  box-shadow:0 0 0 6px rgba(237,27,115,.07);
  animation:whyRibbonTravel 3.2s ease-in-out infinite;
}
@keyframes whyRibbonTravel{
  50%{left:calc(100% - 13px);background:var(--blue);box-shadow:0 0 0 6px rgba(16,47,105,.06)}
}

/* ===== TESTIMONIAL READABILITY ===== */
.testimonial-mini-card>p{
  font-size:12px!important;
  line-height:1.75!important;
  color:#4d5c75!important;
}
.testimonial-mini-person strong{
  font-size:10.5px!important;
  font-weight:700!important;
}
.testimonial-mini-person small{
  font-size:9px!important;
}
.testimonial-mini-card{
  min-height:228px!important;
}

/* ===== FOOTER VISIBILITY ===== */
.site-footer h3,
.site-footer h4{
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
.site-footer p,
.site-footer a,
.site-footer li{
  font-size:12.5px!important;
  line-height:1.75!important;
}
.site-footer a{
  font-weight:600!important;
}
.site-footer .footer-brand p{
  font-size:12.5px!important;
}
.footer-bottom,
.footer-bottom p,
.footer-bottom a{
  font-size:11px!important;
  font-weight:600!important;
}

@media(max-width:850px){
  .why-ribbon-flow{
    grid-template-columns:1fr;
    gap:18px;
  }
  .why-ribbon-link{
    width:1px;
    height:34px;
    margin:auto;
    background:#dfe6ef;
  }
  .why-ribbon-link::before{display:none}
  .why-ribbon-link span{
    left:-3px;
    top:0;
    animation:whyRibbonTravelMobile 2.8s ease-in-out infinite;
  }
  @keyframes whyRibbonTravelMobile{
    50%{left:-3px;top:27px;background:var(--blue)}
  }
  .why-ribbon-media{height:220px}
}
@media(max-width:560px){
  .why-ribbon{padding:58px 0 64px}
  .why-ribbon-head{margin-bottom:28px}
  .why-ribbon-media{height:195px}
  .testimonial-mini-card>p{font-size:11.5px!important}
}

/* ===== FINAL READABILITY POLISH — Poppins hierarchy ===== */
html,body,button,input,textarea,select{font-family:"Poppins",sans-serif!important}

/* Why EL SHADDAI */
.why-ribbon-head h2{font-size:clamp(36px,3.6vw,50px)!important}
.why-ribbon-head p{font-size:14px!important;line-height:1.8!important}
.why-ribbon-content small{font-size:10px!important}
.why-ribbon-content h3{font-size:20px!important;line-height:1.3!important}
.why-ribbon-content p{font-size:13px!important;line-height:1.75!important}

/* Testimonials */
.testimonial-cards-head h2{font-size:clamp(34px,3.35vw,47px)!important}
.testimonial-mini-card>p{font-size:13px!important;line-height:1.78!important}
.testimonial-mini-person strong{font-size:11.5px!important}
.testimonial-mini-person small{font-size:9.5px!important}
.testimonial-mini-card{min-height:245px!important}

/* CTA */
.cta-wow-copy>span{font-size:9.5px!important}
.cta-wow-copy h2{font-size:clamp(29px,2.9vw,40px)!important}
.cta-wow-copy p{font-size:13px!important;line-height:1.7!important}
.cta-wow-button{font-size:11px!important}

/* Footer */
.site-footer h3,.site-footer h4{font-size:16px!important;font-weight:800!important}
.site-footer p,.site-footer a,.site-footer li{font-size:13px!important;line-height:1.8!important}
.site-footer a{font-weight:600!important}
.footer-bottom,.footer-bottom p,.footer-bottom a{font-size:11.5px!important;font-weight:600!important}

@media(max-width:560px){
  .why-ribbon-head p{font-size:13px!important}
  .why-ribbon-content h3{font-size:18px!important}
  .why-ribbon-content p{font-size:12.5px!important}
  .testimonial-mini-card>p{font-size:12.5px!important}
}

/* remove testimonial progress line completely */
.testimonial-card-progress{display:none!important}


/* === WHOLE WEBSITE RESPONSIVE FINAL === */
/* Non-destructive responsive layer for the complete EL SHADDAI website */

html{
  width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
body{
  width:100%;
  min-width:0;
  overflow-x:hidden;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{
  max-width:100%;
  height:auto;
}
iframe{max-width:100%}
table{max-width:100%}
input,select,textarea,button{max-width:100%;font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
main,section,header,footer,nav,div{min-width:0}
.container,.wrap,.section-inner,.inner{
  width:min(100% - 40px,1200px);
  margin-inline:auto;
}

/* Prevent fixed-width visual elements from breaking viewport */
[class*="grid"],
[class*="row"],
[class*="columns"],
[class*="cards"],
[class*="track"],
[class*="content"],
[class*="visual"]{
  min-width:0;
}
h1,h2,h3,h4,h5,h6,p,a,span{
  overflow-wrap:break-word;
}

/* Tablet */
@media (max-width:1024px){
  .container,.wrap,.section-inner,.inner{
    width:min(100% - 36px,960px);
  }

  h1{font-size:clamp(42px,6vw,64px)!important}
  h2{font-size:clamp(31px,4.4vw,46px)!important}

  .hero-grid,
  .about-hero-grid,
  .ae-hero-grid,
  .contact-grid,
  .career-grid,
  .portfolio-grid,
  .service-detail-grid,
  .split-grid,
  .two-col,
  .content-grid{
    gap:28px!important;
  }

  .services-grid,
  .service-grid,
  .cards-grid,
  .feature-grid,
  .capabilities-grid,
  .outcomes-grid,
  .industries-grid,
  .blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile */
@media (max-width:767px){
  :root{--mobile-gutter:18px}

  .container,.wrap,.section-inner,.inner,
  [class*="container"]{
    width:100%!important;
    max-width:none!important;
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  section{
    max-width:100%!important;
    overflow:hidden;
  }

  /* Consistent mobile typography */
  h1{
    font-size:clamp(36px,10.5vw,46px)!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }
  h2{
    font-size:clamp(29px,8vw,36px)!important;
    line-height:1.1!important;
    letter-spacing:-.025em!important;
  }
  h3{
    font-size:clamp(18px,5vw,22px)!important;
    line-height:1.25!important;
  }
  p,li{
    font-size:14px!important;
    line-height:1.72!important;
  }

  /* Header / navigation */
  header{
    width:100%!important;
    max-width:100vw!important;
  }
  header .container,
  header .nav-container,
  .navbar,
  .nav-wrap{
    min-height:68px!important;
  }
  .logo img,
  .brand img,
  header img{
    max-height:52px!important;
    width:auto!important;
  }
  .nav-links,
  .desktop-nav{
    max-width:100%!important;
  }

  /* Universal hero stacking */
  .hero-grid,
  .about-hero-grid,
  .ae-hero-grid,
  .contact-grid,
  .career-grid,
  .portfolio-grid,
  .service-detail-grid,
  .split-grid,
  .two-col,
  .content-grid,
  .capabilities-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  [class*="hero"]{
    max-width:100%!important;
  }
  [class*="hero"] img{
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  .hero-copy,
  .hero-content,
  .about-hero-copy,
  .ae-hero-copy{
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .hero-visual,
  .about-hero .hero-visual,
  .ae-hero-visual{
    width:100%!important;
    max-width:100%!important;
    min-height:280px!important;
    overflow:visible!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .hero-visual img,
  .about-hero .hero-visual img,
  .ae-hero-visual img{
    width:min(100%,560px)!important;
    max-width:100%!important;
    margin-inline:auto!important;
  }

  /* Buttons */
  .hero-actions,
  .cta-actions,
  .button-row,
  .actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .hero-actions a,
  .cta-actions a,
  .btn,
  button{
    min-height:46px;
  }

  /* Cards / service blocks */
  .services-grid,
  .service-grid,
  .cards-grid,
  .feature-grid,
  .capabilities-grid,
  .outcomes-grid,
  .industries-grid,
  .blog-grid,
  .stats-grid,
  .values-grid,
  .why-grid,
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  [class*="card"]{
    max-width:100%!important;
  }

  /* Horizontal scrollers stay usable on mobile */
  .scroller,
  .marquee,
  .ticker,
  [class*="marquee"],
  [class*="scroller"],
  [class*="carousel"],
  [class*="track"]{
    max-width:100vw!important;
  }

  /* Journey/timeline/path sections */
  .timeline,
  .journey-track,
  .lifecycle-track,
  .ae-lifecycle-track{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  /* Forms */
  form{
    width:100%!important;
    max-width:100%!important;
  }
  form .row,
  .form-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  input,textarea,select{
    width:100%!important;
    min-height:46px;
  }

  /* Footer */
  footer{
    overflow:hidden;
  }
  footer .container,
  footer [class*="grid"]{
    max-width:100%!important;
  }

  /* Safe spacing */
  section{
    padding-top:clamp(54px,12vw,78px);
    padding-bottom:clamp(54px,12vw,78px);
  }
}

/* Small phones */
@media (max-width:480px){
  :root{--mobile-gutter:16px}
  h1{font-size:36px!important}
  h2{font-size:29px!important}
  p,li{font-size:13.5px!important}

  .hero-visual,
  .about-hero .hero-visual,
  .ae-hero-visual{
    min-height:240px!important;
  }

  .hero-actions a,
  .cta-actions a,
  .button-row a{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* Very small phones */
@media (max-width:360px){
  :root{--mobile-gutter:14px}
  h1{font-size:33px!important}
  h2{font-size:27px!important}
}

/* Motion accessibility */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
}


/* ===== FINAL REQUEST: FONT VISIBILITY + INDUSTRIES + TOURISM ===== */
body{font-size:16px}
.nav-links a{font-size:14px!important;font-weight:600!important}
.section-kicker,.eyebrow,.is-kicker{font-size:13px!important}
p{line-height:1.78}

/* Increase only text that was visually too small. */
.hero-static,.hero-dynamic{font-size:14.5px!important}
.service-content p,.expertise-copy p,
.event-copy p,.event-content p,
.blog-card p,.testimonial-card p,
.footer-col p,.footer-col a{font-size:13px!important;line-height:1.7!important}
.service-content a,.expertise-copy a{font-size:11.5px!important}
.event-meta,.event-time,.event-date span{font-size:12px!important}
.tech-chip b,.industry-ribbon-item b{font-size:14px!important}
.industry-ribbon-item small{font-size:11.5px!important;line-height:1.35!important}

/* INDUSTRIES WE TRANSFORM: left side larger and more visible. */
.industries-spotlight-copy .is-kicker{
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
.industries-spotlight-copy h2{
  font-size:clamp(46px,4.8vw,66px)!important;
  line-height:1.04!important;
}
.industries-spotlight-copy>p{
  font-size:16.5px!important;
  line-height:1.8!important;
  max-width:500px!important;
}
.is-feature b{font-size:14px!important}
.is-feature span{font-size:12px!important;line-height:1.5!important}

@media(max-width:900px){
  body{font-size:15px}
  .industries-spotlight-copy h2{font-size:44px!important}
  .industries-spotlight-copy>p{font-size:15.5px!important}
}
@media(max-width:560px){
  .nav-links a{font-size:13px!important}
  .section-kicker,.eyebrow,.is-kicker{font-size:12px!important}
  .industries-spotlight-copy h2{font-size:38px!important}
  .industries-spotlight-copy>p{font-size:15px!important}
  .industry-ribbon-item b{font-size:13.5px!important}
  .industry-ribbon-item small{font-size:11px!important}
}


/* ==========================================================
   FINAL FONT VISIBILITY V2
   Increase small text across INDEX without changing layout
   ========================================================== */

body{
  font-size:17px!important;
}

/* Header */
.nav-links a{
  font-size:15px!important;
  font-weight:600!important;
}
.header-cta{
  font-size:14px!important;
}

/* Hero supporting content — keep main heading balanced */
.hero-static,
.hero-content p,
.hero-copy p{
  font-size:16px!important;
  line-height:1.8!important;
}
.hero-kicker,
.eyebrow,
.section-kicker{
  font-size:13.5px!important;
  font-weight:700!important;
}

/* General section copy */
.section-head>p,
.split-heading>p,
.story-wrap>p,
.leadership-section p,
.mission-card p,
.contact-copy p{
  font-size:15.5px!important;
  line-height:1.8!important;
}

/* Stats */
.growth-stat strong,
.growth-stat>span{
  font-size:50px!important;
}
.growth-stat p{
  font-size:13.5px!important;
}

/* Services */
.service-content h3,
.expertise-copy h3,
.interactive-service-card h3{
  font-size:21px!important;
}
.service-content p,
.expertise-copy p,
.interactive-service-card p{
  font-size:14px!important;
  line-height:1.7!important;
}
.service-content a,
.expertise-copy a{
  font-size:12.5px!important;
}

/* News & Events */
.events-section h2,
.events-section .section-head h2{
  font-size:clamp(34px,3.6vw,50px)!important;
}
.event-copy h3,
.event-content h3,
.featured-event h3{
  font-size:19px!important;
}
.event-copy p,
.event-content p,
.featured-event p{
  font-size:14px!important;
  line-height:1.7!important;
}
.event-meta,
.event-time,
.event-date span,
.events-date span{
  font-size:13px!important;
}
.event-date strong,
.events-date strong{
  font-size:29px!important;
}

/* Technology */
.technology-section .split-heading h2{
  font-size:clamp(38px,4vw,54px)!important;
}
.technology-section .split-heading>p{
  font-size:16px!important;
}
.tech-chip b{
  font-size:15px!important;
}

/* INDUSTRIES — especially larger as requested */
.industries-spotlight-copy .is-kicker{
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
}
.industries-spotlight-copy h2{
  font-size:clamp(52px,5.3vw,72px)!important;
  line-height:1.02!important;
}
.industries-spotlight-copy>p{
  font-size:18px!important;
  line-height:1.82!important;
  max-width:530px!important;
}
.is-feature b{
  font-size:15.5px!important;
}
.is-feature span{
  font-size:13px!important;
  line-height:1.55!important;
}
.industry-ribbon-item b{
  font-size:15.5px!important;
}
.industry-ribbon-item small{
  font-size:12.5px!important;
  line-height:1.45!important;
}

/* Testimonials */
.testimonial-card p{
  font-size:14px!important;
  line-height:1.8!important;
}
.client b{
  font-size:13.5px!important;
}
.client small{
  font-size:11.5px!important;
}

/* Blog */
.blog-grid span{
  font-size:11.5px!important;
}
.blog-grid h3{
  font-size:19px!important;
}
.blog-grid p{
  font-size:14px!important;
  line-height:1.75!important;
}

/* Careers */
.career-box p{
  font-size:15px!important;
}
.career-role b{
  font-size:15px!important;
}
.career-role span{
  font-size:11.5px!important;
}
.career-role a{
  font-size:12.5px!important;
}

/* Contact */
.contact-copy p{
  font-size:15.5px!important;
}
.contact-info span{
  font-size:13.5px!important;
}
.contact-info small{
  font-size:10.5px!important;
}
.mail-white{
  font-size:13.5px!important;
}

/* Footer */
.site-footer p,
.site-footer a,
.site-footer li,
footer p,
footer a,
footer li{
  font-size:13.5px!important;
  line-height:1.7!important;
}
.site-footer small,
footer small{
  font-size:11.5px!important;
}

/* Mobile: readable but prevent oversized wrapping */
@media(max-width:900px){
  body{font-size:16px!important}
  .nav-links a{font-size:14px!important}
  .industries-spotlight-copy h2{
    font-size:48px!important;
  }
  .industries-spotlight-copy>p{
    font-size:16.5px!important;
  }
}

@media(max-width:560px){
  body{font-size:15.5px!important}
  .hero-static,.hero-content p,.hero-copy p{
    font-size:15px!important;
  }
  .section-head>p,.split-heading>p,.story-wrap>p{
    font-size:14.5px!important;
  }
  .industries-spotlight-copy .is-kicker{
    font-size:13px!important;
  }
  .industries-spotlight-copy h2{
    font-size:40px!important;
  }
  .industries-spotlight-copy>p{
    font-size:15.5px!important;
  }
  .industry-ribbon-item b{
    font-size:14px!important;
  }
  .industry-ribbon-item small{
    font-size:11.5px!important;
  }
}


/* ==========================================================
   INDEX FINAL POLISH — requested alignment / visibility only
   ========================================================== */

/* Stats: cleaner, less bulky, equal visual rhythm */
.egs-counter-strip{
  gap:12px!important;
}
.egs-counter-item{
  min-height:158px!important;
  padding:20px 14px!important;
}
.egs-counter-item .counter-icon{
  width:42px!important;
  height:42px!important;
  margin-bottom:10px!important;
}
.egs-counter-item .counter-icon i{
  font-size:19px!important;
}
.egs-counter-item .counter-value strong,
.egs-counter-item .counter-value em{
  font-size:44px!important;
}
.egs-counter-item>b{
  font-size:14px!important;
  line-height:1.25!important;
}
.egs-counter-item>small{
  font-size:12px!important;
  line-height:1.35!important;
}

/* Explore Services: move CTA upward so it is easier to notice/click */
.services-orbit .orbit-actions,
.services-orbit .services-actions,
.services-orbit .explore-services-wrap{
  margin-top:16px!important;
  transform:translateY(-10px)!important;
}
.services-orbit a[href*="services"],
.services-orbit .btn-main,
.services-orbit .btn-outline{
  font-size:13.5px!important;
}

/* Industries: left and right begin on the exact same top line */
.industries-spotlight-wrap{
  align-items:start!important;
}
.industries-spotlight-copy,
.industries-spotlight-center,
.industries-spotlight-visual,
.industries-spotlight-media,
.industries-spotlight-right{
  align-self:start!important;
  margin-top:0!important;
  padding-top:0!important;
}
.industries-spotlight-copy .is-kicker{
  margin-top:0!important;
}

/* Right-side industry heading and supporting line larger/more visible */
.industries-spotlight-right h3,
.industries-spotlight-visual h3,
.industries-spotlight-media h3,
.is-visual h3{
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.industries-spotlight-right p,
.industries-spotlight-visual p,
.industries-spotlight-media p,
.is-visual p{
  font-size:14.5px!important;
  line-height:1.65!important;
}
.industries-spotlight-right small,
.industries-spotlight-visual small,
.industries-spotlight-media small,
.is-visual small{
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:600!important;
}

/* Any decorative/support line beneath the right heading */
.industries-spotlight-right h3 + span,
.industries-spotlight-right h3 + p,
.industries-spotlight-visual h3 + span,
.industries-spotlight-visual h3 + p,
.industries-spotlight-media h3 + span,
.industries-spotlight-media h3 + p,
.is-visual h3 + span,
.is-visual h3 + p{
  font-size:14.5px!important;
  line-height:1.6!important;
}

/* View All Blogs: same colorful visual language as View All Events */
.view-all-blogs{
  color:#fff!important;
  border:0!important;
  background:linear-gradient(110deg,#ed1b73 0%,#c42386 46%,#102f69 100%)!important;
  box-shadow:0 10px 26px rgba(16,47,105,.18)!important;
  font-size:13px!important;
  font-weight:700!important;
  padding:12px 18px!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.view-all-blogs i{
  color:#fff!important;
  font-size:14px!important;
}
.view-all-blogs:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(16,47,105,.24)!important;
}

/* Final index readability: supporting copy should never feel tiny */
#home p,
#services p,
#events p,
#technologies p,
#industries p,
#blog p,
#testimonials p{
  font-size:max(14px,0.9rem)!important;
}
.section-kicker,
.eyebrow{
  font-size:13px!important;
}
.industry-ribbon-item b{
  font-size:15px!important;
}
.industry-ribbon-item small{
  font-size:12.5px!important;
}

@media(min-width:1200px){
  .industries-spotlight-right h3,
  .industries-spotlight-visual h3,
  .industries-spotlight-media h3,
  .is-visual h3{
    font-size:26px!important;
  }
}

@media(max-width:900px){
  .industries-spotlight-wrap{
    align-items:stretch!important;
  }
  .services-orbit .orbit-actions,
  .services-orbit .services-actions,
  .services-orbit .explore-services-wrap{
    transform:none!important;
  }
}


/* ==========================================================
   INDEX PRECISE FINAL FIX
   ========================================================== */

/* View All Blogs — pink like View All Events */
.index-page .view-all-blogs{
  background:#ed1b73!important;
  color:#fff!important;
  border:1px solid #ed1b73!important;
  box-shadow:0 10px 24px rgba(237,27,115,.20)!important;
}
.index-page .view-all-blogs i{color:#fff!important}
.index-page .view-all-blogs:hover{
  background:#d91568!important;
  border-color:#d91568!important;
  box-shadow:0 13px 28px rgba(237,27,115,.28)!important;
}

/* Industries — left heading and Finance/right column start at same Y position */
.index-page .industries-spotlight-wrap{
  align-items:start!important;
}
.index-page .industries-spotlight-copy,
.index-page .industries-spotlight-center,
.index-page .industries-spotlight-right,
.index-page .industries-spotlight-visual,
.index-page .industries-spotlight-media,
.index-page .is-visual{
  align-self:start!important;
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}

/* Remove top offsets from the first child so Finance lines up with INDUSTRIES WE TRANSFORM */
.index-page .industries-spotlight-copy>:first-child,
.index-page .industries-spotlight-right>:first-child,
.index-page .industries-spotlight-visual>:first-child,
.index-page .industries-spotlight-media>:first-child,
.index-page .is-visual>:first-child{
  margin-top:0!important;
}

/* Finance and every industry heading/supporting line larger */
.index-page .industries-spotlight-right h3,
.index-page .industries-spotlight-visual h3,
.index-page .industries-spotlight-media h3,
.index-page .is-visual h3{
  font-size:28px!important;
  line-height:1.18!important;
  font-weight:800!important;
  margin-top:0!important;
  margin-bottom:10px!important;
}
.index-page .industries-spotlight-right h3 + p,
.index-page .industries-spotlight-right h3 + span,
.index-page .industries-spotlight-visual h3 + p,
.index-page .industries-spotlight-visual h3 + span,
.index-page .industries-spotlight-media h3 + p,
.index-page .industries-spotlight-media h3 + span,
.index-page .is-visual h3 + p,
.index-page .is-visual h3 + span{
  font-size:15.5px!important;
  line-height:1.62!important;
  font-weight:600!important;
}
.index-page .industry-ribbon-item b{
  font-size:16px!important;
}
.index-page .industry-ribbon-item small{
  font-size:13px!important;
  line-height:1.45!important;
}

/* Five Core Services — Explore Services should sit closer/up */
.index-page .services-orbit .orbit-actions,
.index-page .services-orbit .services-actions,
.index-page .services-orbit .explore-services-wrap{
  margin-top:6px!important;
  position:relative!important;
  top:-18px!important;
}
.index-page .services-orbit a[href*="services"]{
  font-size:14px!important;
  font-weight:700!important;
}

/* 8 capabilities scroller wording larger and easier to scan */
.index-page .egs-capability-tile b,
.index-page .egs-capability-chip b,
.index-page .capability-scroller b,
.index-page .capability-track b{
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.index-page .egs-capability-tile small,
.index-page .egs-capability-chip small,
.index-page .capability-scroller small,
.index-page .capability-track small{
  font-size:12.5px!important;
  line-height:1.45!important;
}
.index-page .egs-capability-tile .cap-icon,
.index-page .egs-capability-chip i{
  font-size:29px!important;
}

/* Hero artwork: actual dynamic image gets visible zoom in/out.
   Use scale only — no layout movement. Animation restarts cleanly when src changes. */
.index-page #dynamicHeroImage,
.index-page .hero-zoom-art{
  animation:heroImageBreathFinal 5.4s ease-in-out infinite!important;
  transform-origin:50% 50%!important;
  will-change:transform!important;
}
@keyframes heroImageBreathFinal{
  0%{transform:scale(.94)}
  50%{transform:scale(1.065)}
  100%{transform:scale(.94)}
}

@media(max-width:900px){
  .index-page .industries-spotlight-right h3,
  .index-page .industries-spotlight-visual h3,
  .index-page .industries-spotlight-media h3,
  .index-page .is-visual h3{
    font-size:24px!important;
  }
  .index-page .services-orbit .orbit-actions,
  .index-page .services-orbit .services-actions,
  .index-page .services-orbit .explore-services-wrap{
    top:-8px!important;
  }
}


/* ==========================================================
   FULL WEBSITE MOBILE + NAVIGATION CONSISTENCY FINAL
   ========================================================== */

/* Only current page is highlighted in navigation */
.site-header .nav-links a.active,
.nav-links a.active{
  color:#ed1b73!important;
  font-weight:700!important;
}
.site-header .nav-links a:not(.active),
.nav-links a:not(.active){
  color:#102f69;
}

/* Prevent wide content from breaking mobile */
html,body{max-width:100%;overflow-x:hidden}
img,video,svg,canvas{max-width:100%;height:auto}
.container,.contact-wrap{width:min(1180px,calc(100% - 40px))!important;margin-inline:auto!important}

/* Tablet */
@media(max-width:900px){
  .container,.contact-wrap{width:min(100% - 32px,760px)!important}
  section{max-width:100%!important}
  .hero,.hero-inner,.hero-grid,.two-col-page,.about-grid,.contact-grid,
  .industries-spotlight-wrap,.blog-min-head{
    max-width:100%!important;
  }
  .egs-counter-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .content-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .hero-image-wrap,.hero-visual,.hero-art{
    max-width:100%!important;
  }
}

/* Mobile */
@media(max-width:640px){
  .container,.contact-wrap{
    width:calc(100% - 28px)!important;
  }
  body{
    font-size:15px!important;
  }
  h1{font-size:clamp(34px,10vw,44px)!important}
  h2{font-size:clamp(29px,8vw,38px)!important}
  h3{line-height:1.3!important}
  p{font-size:14px!important;line-height:1.7!important}

  .site-header .nav,.nav{
    min-height:74px!important;
  }
  .site-header .brand img,.brand img{
    width:190px!important;
    height:auto!important;
  }

  .hero{
    min-height:auto!important;
    padding-top:34px!important;
    padding-bottom:38px!important;
  }
  .hero-inner,.hero-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .hero-copy,.hero-content{
    text-align:left!important;
  }
  .hero-visual,.hero-image-wrap,.hero-art{
    min-height:280px!important;
    height:auto!important;
  }
  #dynamicHeroImage,.hero-zoom-art{
    max-height:310px!important;
    object-fit:contain!important;
  }

  .egs-counter-strip{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .egs-counter-intro{
    grid-column:1/-1!important;
  }
  .egs-counter-item{
    min-height:145px!important;
    padding:16px 10px!important;
  }
  .egs-counter-item .counter-value strong,
  .egs-counter-item .counter-value em{
    font-size:38px!important;
  }
  .egs-counter-item>b{
    font-size:13px!important;
    white-space:normal!important;
  }
  .egs-counter-item>small{
    font-size:11px!important;
  }

  .services-orbit,.events-section,.tech-single-final,
  .industries-spotlight,.blog-minimal,.testimonial-mini,
  .contact-section,.page-section{
    padding-left:0!important;
    padding-right:0!important;
  }

  .content-grid,.blog-grid,.events-grid,.contact-grid,
  .two-col-page,.leadership-grid{
    grid-template-columns:1fr!important;
  }

  .industries-spotlight-wrap{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .industries-spotlight-copy,
  .industries-spotlight-right,
  .industries-spotlight-visual,
  .industries-spotlight-media{
    width:100%!important;
  }
  .industries-spotlight-copy h2{
    font-size:39px!important;
  }

  .industry-ribbon{
    overflow-x:auto!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .industry-ribbon-item{
    min-width:210px!important;
    scroll-snap-align:start!important;
  }

  .blog-min-head{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .blog-min-head h2{
    white-space:normal!important;
  }
  .blog-head-side{
    align-items:flex-start!important;
  }

  .events-section .events-layout,
  .events-section .events-grid{
    grid-template-columns:1fr!important;
  }
  .events-section .timeline-date strong{
    font-size:31px!important;
  }

  .global-phone-field{
    grid-template-columns:1fr!important;
  }
  .map-frame iframe{
    height:320px!important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .container,.contact-wrap{width:calc(100% - 22px)!important}
  .site-header .brand img,.brand img{width:170px!important}
  .egs-counter-strip{grid-template-columns:1fr!important}
  .egs-counter-intro{grid-column:auto!important}
  .hero-visual,.hero-image-wrap,.hero-art{min-height:240px!important}
}


/* ==========================================================
   INDEX — DEVICE RESPONSIVE + TYPOGRAPHY SYSTEM + HERO FIX
   Target: iPhone SE through Pro Max, Pixel, Galaxy, Fold,
   iPad, Surface and desktop.
   ========================================================== */

.index-page{
  --idx-h1:clamp(42px,4.25vw,66px);
  --idx-h2:clamp(32px,3vw,46px);
  --idx-h3:clamp(19px,1.55vw,24px);
  --idx-body:15px;
  --idx-small:13px;
}
.index-page h1{font-size:var(--idx-h1)!important;line-height:1.08!important}
.index-page h2{font-size:var(--idx-h2)!important;line-height:1.16!important}
.index-page h3{font-size:var(--idx-h3)!important;line-height:1.3!important}
.index-page p{font-size:var(--idx-body)!important;line-height:1.72!important}
.index-page .section-kicker,
.index-page .eyebrow{font-size:var(--idx-small)!important}

/* HERO: fixed balanced dimensions and a dedicated zoom shell.
   The shell zooms, so JS image fading/source changes cannot cancel the animation. */
.index-page .hero-grid{
  align-items:center!important;
}
.index-page .hero-visual{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.index-page .hero-image-zoom-shell{
  width:min(100%,620px)!important;
  height:clamp(390px,35vw,535px)!important;
  display:grid!important;
  place-items:center!important;
  animation:indexHeroZoomReliable 5.2s ease-in-out infinite!important;
  transform-origin:center!important;
  will-change:transform!important;
}
.index-page .hero-image-zoom-shell #dynamicHeroImage{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  animation:none!important;
  transform:none!important;
}
@keyframes indexHeroZoomReliable{
  0%,100%{transform:scale(.94)}
  50%{transform:scale(1.055)}
}

/* Five core services: consistent text scale and move Explore service upward */
.index-page .orbit-card{
  display:flex!important;
  flex-direction:column!important;
}
.index-page .orbit-card h3{
  font-size:21px!important;
  line-height:1.28!important;
  margin-bottom:7px!important;
}
.index-page .orbit-card p{
  font-size:14px!important;
  line-height:1.58!important;
  margin:0 0 8px!important;
}
.index-page .orbit-card b{
  display:inline-block!important;
  margin-top:0!important;
  position:relative!important;
  top:-3px!important;
  font-size:13.5px!important;
  line-height:1.3!important;
}

/* 8 capabilities wording — readable but not oversized */
.index-page .contour-service b{
  max-width:190px!important;
  font-size:14.5px!important;
  line-height:1.35!important;
}
.index-page .contour-service small{font-size:9.5px!important}
.index-page .contour-icon{width:60px!important;height:60px!important}
.index-page .contour-icon i{font-size:22px!important}

/* Mobile / small tablet */
@media(max-width:767px){
  .index-page{
    --idx-h1:clamp(34px,9.2vw,44px);
    --idx-h2:clamp(28px,7.2vw,36px);
    --idx-h3:20px;
    --idx-body:14px;
    --idx-small:11px;
  }
  .index-page .hero{
    padding-top:28px!important;
    padding-bottom:32px!important;
  }
  .index-page .hero-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .index-page .hero-content{
    max-width:100%!important;
  }
  .index-page .hero-static,
  .index-page .hero-dynamic{
    max-width:100%!important;
  }
  .index-page .hero-actions{
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .index-page .hero-actions .btn{
    min-height:46px!important;
    font-size:13px!important;
    padding:12px 16px!important;
  }
  .index-page .hero-visual{
    min-height:0!important;
    height:auto!important;
    margin-top:0!important;
  }
  .index-page .hero-image-zoom-shell{
    width:min(100%,470px)!important;
    height:clamp(255px,72vw,370px)!important;
  }

  /* stats stay legible without becoming giant */
  .index-page .egs-counter-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .index-page .egs-counter-intro{grid-column:1/-1!important}
  .index-page .egs-counter-item{
    min-width:0!important;
    min-height:138px!important;
    padding:14px 10px!important;
  }
  .index-page .egs-counter-item .counter-value strong,
  .index-page .egs-counter-item .counter-value em{
    font-size:36px!important;
  }
  .index-page .egs-counter-item>b{font-size:12.5px!important}
  .index-page .egs-counter-item>small{font-size:10.5px!important}

  /* services fit narrow devices */
  .index-page .services-orbit{padding-top:56px!important;padding-bottom:64px!important}
  .index-page .orbit-head h2{font-size:32px!important}
  .index-page .orbit-head p{font-size:14px!important}
  .index-page .orbit-stage{height:470px!important}
  .index-page .orbit-card{
    width:min(84vw,350px)!important;
    height:365px!important;
    margin-left:min(-42vw,-175px)!important;
    padding:16px 18px!important;
  }
  .index-page .orbit-card img{height:205px!important}
  .index-page .orbit-card h3{font-size:19px!important}
  .index-page .orbit-card p{font-size:13px!important;margin-bottom:6px!important}
  .index-page .orbit-card b{font-size:13px!important;top:-5px!important}

  /* capabilities become a smooth horizontal rail on phones */
  .index-page .contour-stage{
    height:190px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .index-page .contour-stage::-webkit-scrollbar{display:none!important}
  .index-page .contour-track{
    animation:none!important;
    width:max-content!important;
  }
  .index-page .contour-group{gap:18px!important;padding-right:18px!important}
  .index-page .contour-service{
    flex:0 0 155px!important;
    min-height:130px!important;
    transform:none!important;
  }
  .index-page .contour-service b{font-size:13.5px!important;max-width:150px!important}
  .index-page .contour-icon{width:54px!important;height:54px!important}

  /* all major grids stack cleanly */
  .index-page .events-shell,
  .index-page .industries-spotlight-wrap,
  .index-page .blog-min-head{
    grid-template-columns:1fr!important;
  }
}

/* Fold / very small phones */
@media(max-width:390px){
  .index-page{
    --idx-h1:32px;
    --idx-h2:27px;
    --idx-body:13.5px;
  }
  .index-page .container{width:calc(100% - 22px)!important}
  .index-page .hero-image-zoom-shell{height:245px!important}
  .index-page .egs-counter-strip{grid-template-columns:1fr!important}
  .index-page .egs-counter-intro{grid-column:auto!important}
  .index-page .orbit-card{
    width:88vw!important;
    margin-left:-44vw!important;
  }
}

/* Tablet portrait */
@media(min-width:768px) and (max-width:1024px){
  .index-page{
    --idx-h1:clamp(42px,5.4vw,54px);
    --idx-h2:clamp(31px,4vw,40px);
    --idx-body:14.5px;
  }
  .index-page .hero-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
    gap:22px!important;
  }
  .index-page .hero-image-zoom-shell{
    height:clamp(340px,42vw,440px)!important;
  }
  .index-page .egs-counter-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .index-page .egs-counter-intro{grid-column:1/-1!important}
}

/* Respect OS accessibility preference */
@media(prefers-reduced-motion:reduce){
  .index-page .hero-image-zoom-shell{animation-duration:10s!important}
}


/* ==========================================================
   FOOTER ONLY — FINAL VISIBILITY / READABILITY FIX
   No other website sections changed.
   ========================================================== */

.site-footer,
.footer{
  background:#102f69!important;
  color:#fff!important;
}

/* Every footer text element must remain clearly visible */
.site-footer p,
.site-footer li,
.site-footer a,
.site-footer span,
.site-footer small,
.site-footer address,
.footer p,
.footer li,
.footer a,
.footer span,
.footer small,
.footer address{
  color:rgba(255,255,255,.90)!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:600!important;
  text-shadow:none!important;
}

/* Footer headings */
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.footer h2,
.footer h3,
.footer h4,
.footer h5{
  color:#fff!important;
  opacity:1!important;
  font-weight:800!important;
  font-size:17px!important;
  line-height:1.3!important;
  margin-bottom:17px!important;
}

/* Brand description */
.site-footer .footer-brand p,
.footer .footer-brand p{
  color:rgba(255,255,255,.88)!important;
  font-size:14px!important;
  line-height:1.72!important;
  font-weight:600!important;
}

/* Tagline directly below logo */
.site-footer .footer-brand > p:first-of-type,
.footer .footer-brand > p:first-of-type{
  color:#fff!important;
  font-weight:700!important;
}

/* Quick Links + Expertise */
.site-footer ul li,
.footer ul li{
  margin-bottom:10px!important;
}
.site-footer ul a,
.footer ul a{
  color:#fff!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:650!important;
}
.site-footer ul a:hover,
.footer ul a:hover{
  color:#ff4b96!important;
}

/* Contact: number, mail, address all strong and readable */
.site-footer .footer-contact p,
.site-footer .footer-contact a,
.site-footer .footer-contact address,
.footer .footer-contact p,
.footer .footer-contact a,
.footer .footer-contact address{
  color:#fff!important;
  font-size:14px!important;
  line-height:1.72!important;
  font-weight:650!important;
  opacity:1!important;
}
.site-footer .footer-contact i,
.footer .footer-contact i{
  color:#ff4b96!important;
  opacity:1!important;
}
.site-footer .footer-contact address,
.footer .footer-contact address{
  font-style:normal!important;
  margin-top:8px!important;
}

/* Fallback for footer layouts without footer-contact class */
.site-footer .footer-col:last-child p,
.site-footer .footer-col:last-child a,
.site-footer .footer-col:last-child address,
.footer .footer-col:last-child p,
.footer .footer-col:last-child a,
.footer .footer-col:last-child address{
  color:#fff!important;
  opacity:1!important;
  font-size:14px!important;
  line-height:1.72!important;
  font-weight:650!important;
}

/* Logo: same footer logo presentation */
.site-footer .footer-logo,
.site-footer .footer-brand img,
.footer .footer-logo,
.footer .footer-brand img{
  width:270px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Social icons */
.site-footer .social-links a,
.site-footer .footer-social a,
.footer .social-links a,
.footer .footer-social a{
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
  opacity:1!important;
}
.site-footer .social-links a:hover,
.site-footer .footer-social a:hover,
.footer .social-links a:hover,
.footer .footer-social a:hover{
  color:#fff!important;
  border-color:#ff4b96!important;
  background:#ed1b73!important;
}

/* Bottom copyright / legal row */
.site-footer .footer-bottom,
.footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.20)!important;
}
.site-footer .footer-bottom *,
.footer .footer-bottom *{
  color:#fff!important;
  opacity:1!important;
  font-size:12.5px!important;
  font-weight:650!important;
}

/* Mobile footer */
@media(max-width:767px){
  .site-footer .footer-grid,
  .footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .site-footer,
  .footer{
    padding-top:48px!important;
  }
  .site-footer .footer-logo,
  .site-footer .footer-brand img,
  .footer .footer-logo,
  .footer .footer-brand img{
    width:240px!important;
  }
  .site-footer h3,
  .site-footer h4,
  .footer h3,
  .footer h4{
    font-size:18px!important;
  }
  .site-footer p,
  .site-footer a,
  .site-footer address,
  .footer p,
  .footer a,
  .footer address{
    font-size:14px!important;
  }
  .site-footer .footer-bottom,
  .footer .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
    padding-bottom:22px!important;
  }
}


/* ==========================================================
   GLOBAL FONT CONSISTENCY + FOOTER LINK WEIGHT
   Keep the same Poppins family throughout every page.
   ========================================================== */
html, body, button, input, textarea, select,
h1, h2, h3, h4, h5, h6, p, a, span, small, strong, b,
label, li, address{
  font-family:"Poppins",sans-serif!important;
}

/* Quick Links + Expertise: clearly bold, matching footer visual weight */
.site-footer ul a,
.footer ul a,
.site-footer .footer-links a,
.footer .footer-links a,
.site-footer .footer-col a,
.footer .footer-col a{
  font-family:"Poppins",sans-serif!important;
  font-weight:700!important;
  color:#fff!important;
  opacity:1!important;
}

/* Keep footer body/contact text consistently strong */
.site-footer p,
.site-footer address,
.footer p,
.footer address{
  font-family:"Poppins",sans-serif!important;
  font-weight:650!important;
}


/* ==========================================================
   INDUSTRIES WE TRANSFORM — FINAL EXACT POLISH
   ========================================================== */

/* Left: clean, aligned, no awkward vertical drift */
.index-page .industries-spotlight-copy{
  align-self:start!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  padding-top:10px!important;
  margin-top:0!important;
}
.index-page .industries-spotlight-copy .is-kicker{
  margin:0 0 14px!important;
}
.index-page .industries-spotlight-copy h2{
  margin:0 0 18px!important;
  max-width:440px!important;
}
.index-page .industries-spotlight-copy>p{
  margin:0 0 24px!important;
  max-width:430px!important;
}
.index-page .industries-spotlight-copy .is-feature{
  margin-top:0!important;
}

/* Center image: clearly larger, visually dominant, still balanced */
.index-page .industries-spotlight-center,
.index-page .industries-spotlight-visual,
.index-page .industries-spotlight-media{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.index-page .industry-center-image,
.index-page .industries-spotlight-center img,
.index-page .industries-spotlight-visual img,
.index-page .industries-spotlight-media img{
  width:118%!important;
  max-width:760px!important;
  height:auto!important;
  object-fit:contain!important;
  transform-origin:center!important;
  animation:industryCenterFloat 6s ease-in-out infinite!important;
  filter:drop-shadow(0 24px 48px rgba(16,47,105,.10))!important;
}
@keyframes industryCenterFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-9px) scale(1.025)}
}

/* Right side is intentionally NOT redesigned. */
.index-page #industryAutoList{
  position:relative!important;
}

/* Smooth visual emphasis for the currently cycling industry */
.index-page #industryAutoList .industry-ribbon-item,
.index-page #industryAutoList .industry-item{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease!important;
}
.index-page #industryAutoList .industry-auto-active{
  transform:translateX(-6px)!important;
  box-shadow:0 12px 28px rgba(16,47,105,.10)!important;
  border-color:rgba(237,27,115,.28)!important;
  background:linear-gradient(90deg,rgba(237,27,115,.035),rgba(16,47,105,.025))!important;
}

/* Responsive scaling */
@media(max-width:1100px){
  .index-page .industry-center-image,
  .index-page .industries-spotlight-center img,
  .index-page .industries-spotlight-visual img,
  .index-page .industries-spotlight-media img{
    width:108%!important;
    max-width:650px!important;
  }
}
@media(max-width:900px){
  .index-page .industries-spotlight-copy{
    padding-top:0!important;
  }
  .index-page .industries-spotlight-copy h2,
  .index-page .industries-spotlight-copy>p{
    max-width:100%!important;
  }
  .index-page .industry-center-image,
  .index-page .industries-spotlight-center img,
  .index-page .industries-spotlight-visual img,
  .index-page .industries-spotlight-media img{
    width:100%!important;
    max-width:560px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .index-page .industry-center-image,
  .index-page .industries-spotlight-center img,
  .index-page .industries-spotlight-visual img,
  .index-page .industries-spotlight-media img{
    animation:none!important;
  }
}




/* ==========================================================
   INDUSTRIES WE TRANSFORM — FINAL CLEAN BALANCED VERSION
   ========================================================== */
.index-page #industries{
  padding-top:58px!important;
  padding-bottom:58px!important;
  overflow:hidden!important;
}
.index-page #industries .industries-spotlight-wrap{
  display:grid!important;
  grid-template-columns:minmax(280px,.95fr) minmax(420px,1.35fr) minmax(270px,.82fr)!important;
  gap:28px!important;
  align-items:start!important;
  min-height:auto!important;
}

/* LEFT — neat, compact, aligned */
.index-page #industries .industries-spotlight-copy{
  align-self:start!important;
  margin:0!important;
  padding:4px 0 0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.index-page #industries .industries-spotlight-copy .is-kicker{
  margin:0 0 12px!important;
}
.index-page #industries .industries-spotlight-copy h2{
  margin:0 0 16px!important;
  max-width:410px!important;
}
.index-page #industries .industries-spotlight-copy>p{
  margin:0 0 18px!important;
  max-width:410px!important;
}
.index-page #industries .industries-spotlight-copy .is-feature{
  margin:0!important;
  max-width:390px!important;
}

/* CENTER — bigger image, no overlap */
.index-page #industries .industries-spotlight-art,
.index-page #industries .industry-orbit-stage{
  position:relative!important;
  min-height:460px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  padding:0!important;
}
.index-page #industries .industry-center-image,
.index-page #industries .industries-spotlight-art>img,
.index-page #industries .industry-orbit-stage>img{
  width:118%!important;
  max-width:760px!important;
  height:auto!important;
  object-fit:contain!important;
  transform-origin:center!important;
  animation:industryImageSoftFloat 6s ease-in-out infinite!important;
  filter:drop-shadow(0 20px 38px rgba(16,47,105,.10))!important;
}
@keyframes industryImageSoftFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.012)}
}

/* RIGHT — compact cards only; remove arrow/extra empty width */
.index-page #industries .industries-ribbon{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  align-self:start!important;
  width:100%!important;
}
.index-page #industries .industry-ribbon-item{
  width:100%!important;
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  box-sizing:border-box!important;
}
.index-page #industries .industry-ribbon-item>span{
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
}
.index-page #industries .industry-ribbon-item>span i{
  font-size:18px!important;
}
.index-page #industries .industry-ribbon-item>div{
  min-width:0!important;
}
.index-page #industries .industry-ribbon-item b{
  font-size:14.5px!important;
  line-height:1.25!important;
  margin:0 0 2px!important;
}
.index-page #industries .industry-ribbon-item small{
  font-size:11.5px!important;
  line-height:1.3!important;
  white-space:normal!important;
}

/* Hide any chevron/arrow icon on right cards */
.index-page #industries .industry-ribbon-item>i,
.index-page #industries .industry-ribbon-item .bi-chevron-right,
.index-page #industries .industry-ribbon-item .bi-arrow-right,
.index-page #industries .industry-ribbon-item::after{
  display:none!important;
  content:none!important;
}

/* Remove old decorative curve/rings completely */
.index-page #industries::after,
.index-page #industries .industry-orbit-ring,
.index-page #industries .industry-orbit-dot,
.index-page #industries .industry-orbit-stage::before{
  display:none!important;
  content:none!important;
}

/* Tablet */
@media(max-width:1050px){
  .index-page #industries .industries-spotlight-wrap{
    grid-template-columns:1fr 1.18fr!important;
    grid-template-areas:
      "copy art"
      "right right"!important;
  }
  .index-page #industries .industries-spotlight-copy{grid-area:copy}
  .index-page #industries .industries-spotlight-art,
  .index-page #industries .industry-orbit-stage{grid-area:art;min-height:390px!important}
  .index-page #industries .industries-ribbon{
    grid-area:right!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:108%!important;
    max-width:620px!important;
  }
}

/* Mobile */
@media(max-width:760px){
  .index-page #industries{
    padding-top:46px!important;
    padding-bottom:48px!important;
  }
  .index-page #industries .industries-spotlight-wrap{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "copy"
      "art"
      "right"!important;
    gap:18px!important;
  }
  .index-page #industries .industries-spotlight-copy{
    align-items:flex-start!important;
    text-align:left!important;
  }
  .index-page #industries .industries-spotlight-art,
  .index-page #industries .industry-orbit-stage{
    min-height:300px!important;
  }
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:100%!important;
    max-width:520px!important;
  }
  .index-page #industries .industries-ribbon{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .index-page #industries .industry-ribbon-item{
    min-height:56px!important;
    padding:9px 10px!important;
    grid-template-columns:36px minmax(0,1fr)!important;
  }
  .index-page #industries .industry-ribbon-item>span{
    width:36px!important;
    height:36px!important;
  }
}

@media(max-width:430px){
  .index-page #industries .industries-ribbon{
    grid-template-columns:1fr!important;
  }
  .index-page #industries .industries-spotlight-art,
  .index-page #industries .industry-orbit-stage{
    min-height:250px!important;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    animation:none!important;
  }
}


/* ==========================================================
   INDUSTRIES — IMAGE OVERLAP FIX ONLY
   ========================================================== */

/* Give each column its own safe area */
.index-page #industries .industries-spotlight-wrap{
  grid-template-columns:minmax(300px,.95fr) minmax(360px,1.15fr) minmax(250px,.78fr)!important;
  column-gap:34px!important;
  align-items:start!important;
  overflow:visible!important;
}

/* Keep the center artwork inside its own column */
.index-page #industries .industries-spotlight-art,
.index-page #industries .industry-orbit-stage{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:430px!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
  z-index:1!important;
}

/* IMPORTANT: do not allow the image to enter the right-side cards */
.index-page #industries .industry-center-image,
.index-page #industries .industries-spotlight-art>img,
.index-page #industries .industry-orbit-stage>img{
  width:108%!important;
  max-width:690px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform-origin:center!important;
  position:relative!important;
  left:-2%!important;
  z-index:1!important;
}

/* Right side always stays above and separate */
.index-page #industries .industries-ribbon{
  position:relative!important;
  z-index:3!important;
  margin-left:0!important;
  padding-left:0!important;
  background:transparent!important;
}

/* Left side stays separated too */
.index-page #industries .industries-spotlight-copy{
  position:relative!important;
  z-index:2!important;
  padding-right:4px!important;
}

/* Desktop width safety */
@media(min-width:1200px){
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:106%!important;
    max-width:710px!important;
    left:-3%!important;
  }
}

/* Laptop */
@media(min-width:901px) and (max-width:1199px){
  .index-page #industries .industries-spotlight-wrap{
    grid-template-columns:minmax(280px,.95fr) minmax(330px,1.05fr) minmax(245px,.78fr)!important;
    column-gap:26px!important;
  }
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:100%!important;
    max-width:600px!important;
    left:0!important;
  }
}

/* Tablet / mobile */
@media(max-width:900px){
  .index-page #industries .industries-spotlight-wrap{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:100%!important;
    max-width:560px!important;
    left:0!important;
  }
}


/* ==========================================================
   INDUSTRIES AUTO-SCROLL ACTIVE COLOR — FINAL
   ========================================================== */

/* Default cards stay clean/neutral */
.index-page #industries .industry-ribbon-item{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dfe6f2!important;
  box-shadow:none!important;
  transition:
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease!important;
}

/* No default color line on inactive cards */
.index-page #industries .industry-ribbon-item::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:0!important;
  height:3px!important;
  border-radius:999px!important;
  background:transparent!important;
  opacity:0!important;
  transform:scaleX(.35)!important;
  transform-origin:left center!important;
  transition:opacity .28s ease,transform .28s ease,background .28s ease!important;
}

/* ONLY the card currently selected by the auto loop gets color */
.index-page #industries .industry-ribbon-item.industry-cycle-active{
  background:linear-gradient(100deg,rgba(237,27,115,.075) 0%,rgba(255,255,255,.98) 48%,rgba(65,91,246,.065) 100%)!important;
  border-color:rgba(237,27,115,.24)!important;
  box-shadow:0 10px 24px rgba(16,47,105,.09)!important;
  transform:translateX(-4px)!important;
}
.index-page #industries .industry-ribbon-item.industry-cycle-active::after{
  opacity:1!important;
  transform:scaleX(1)!important;
  background:linear-gradient(90deg,#ed1b73 0%,#c13bd7 52%,#4c69ff 100%)!important;
}

/* Active icon gets a soft tinted tile */
.index-page #industries .industry-ribbon-item.industry-cycle-active>span{
  background:linear-gradient(135deg,rgba(237,27,115,.13),rgba(76,105,255,.10))!important;
}

/* Active heading is visibly pink/navy without making all cards colored */
.index-page #industries .industry-ribbon-item.industry-cycle-active b{
  color:#e91e73!important;
}
.index-page #industries .industry-ribbon-item.industry-cycle-active small{
  color:#344d78!important;
}

/* Hover should show the same treatment immediately while auto-loop is paused */
.index-page #industries .industry-ribbon-item:hover{
  border-color:rgba(237,27,115,.24)!important;
  box-shadow:0 10px 24px rgba(16,47,105,.09)!important;
}


/* ==========================================================
   FINAL TWO FIXES ONLY
   1) Industries active auto-scroll gradient + readable type
   2) Five Core Services "Explore service" lifted upward
   ========================================================== */

/* ---------- INDUSTRIES: compact right column, no image overlap ---------- */
.index-page #industries .industries-spotlight-wrap{
  grid-template-columns:minmax(300px,.98fr) minmax(390px,1.18fr) minmax(235px,.70fr)!important;
  gap:30px!important;
  align-items:start!important;
}

/* Center artwork stays large but cannot run into the cards */
.index-page #industries .industries-spotlight-art,
.index-page #industries .industry-orbit-stage{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:430px!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  z-index:1!important;
  padding:0!important;
}
.index-page #industries .industry-center-image,
.index-page #industries .industries-spotlight-art>img,
.index-page #industries .industry-orbit-stage>img{
  width:104%!important;
  max-width:670px!important;
  height:auto!important;
  object-fit:contain!important;
  left:-2%!important;
  position:relative!important;
  z-index:1!important;
}

/* Right boxes: narrower, text restored to a clearly readable size */
.index-page #industries .industries-ribbon{
  width:100%!important;
  max-width:285px!important;
  justify-self:end!important;
  position:relative!important;
  z-index:4!important;
  gap:9px!important;
}
.index-page #industries .industry-ribbon-item{
  width:100%!important;
  min-height:64px!important;
  padding:10px 12px!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:11px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  position:relative!important;
  background:#fff!important;
  border:1px solid #dfe6f2!important;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease!important;
}
.index-page #industries .industry-ribbon-item>span{
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
}
.index-page #industries .industry-ribbon-item>span i{
  font-size:19px!important;
}
.index-page #industries .industry-ribbon-item b{
  font-size:15.5px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#102f69!important;
}
.index-page #industries .industry-ribbon-item small{
  display:block!important;
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.32!important;
  font-weight:600!important;
  color:#687797!important;
}

/* Inactive cards do NOT show the gradient line */
.index-page #industries .industry-ribbon-item::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:0!important;
  height:4px!important;
  border-radius:999px 999px 0 0!important;
  background:transparent!important;
  opacity:0!important;
  transform:scaleX(.25)!important;
  transform-origin:left center!important;
  transition:opacity .3s ease,transform .3s ease!important;
}

/*
  Existing page loop uses `.active`.
  New fallback loop uses `.industry-cycle-active`.
  Styling BOTH fixes the missing auto-scroll color.
*/
.index-page #industries .industry-ribbon-item.active,
.index-page #industries .industry-ribbon-item.industry-cycle-active{
  background:linear-gradient(100deg,
    rgba(237,27,115,.12) 0%,
    rgba(255,255,255,.98) 48%,
    rgba(76,105,255,.10) 100%)!important;
  border-color:rgba(225,41,126,.30)!important;
  box-shadow:0 10px 25px rgba(16,47,105,.10)!important;
  transform:translateX(-3px)!important;
}
.index-page #industries .industry-ribbon-item.active::after,
.index-page #industries .industry-ribbon-item.industry-cycle-active::after{
  opacity:1!important;
  transform:scaleX(1)!important;
  background:linear-gradient(90deg,#ed1b73 0%,#b43ddd 52%,#4b69ff 100%)!important;
}
.index-page #industries .industry-ribbon-item.active>span,
.index-page #industries .industry-ribbon-item.industry-cycle-active>span{
  background:linear-gradient(135deg,rgba(237,27,115,.14),rgba(76,105,255,.12))!important;
}
.index-page #industries .industry-ribbon-item.active b,
.index-page #industries .industry-ribbon-item.industry-cycle-active b{
  color:#e51d73!important;
}
.index-page #industries .industry-ribbon-item.active small,
.index-page #industries .industry-ribbon-item.industry-cycle-active small{
  color:#41577e!important;
}

/* Laptop safety: keep all 3 areas separate */
@media(min-width:901px) and (max-width:1199px){
  .index-page #industries .industries-spotlight-wrap{
    grid-template-columns:minmax(270px,.95fr) minmax(330px,1.05fr) minmax(225px,.70fr)!important;
    gap:22px!important;
  }
  .index-page #industries .industries-ribbon{max-width:265px!important}
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:98%!important;
    max-width:580px!important;
    left:0!important;
  }
}
@media(max-width:900px){
  .index-page #industries .industries-spotlight-wrap{
    grid-template-columns:1fr!important;
  }
  .index-page #industries .industries-ribbon{
    max-width:none!important;
    justify-self:stretch!important;
  }
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    width:100%!important;
    left:0!important;
  }
}

/* ---------- FIVE CORE SERVICES: move Explore service visibly upward ---------- */
.index-page .orbit-card>div{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.index-page .orbit-card>div>p{
  margin-bottom:5px!important;
}
.index-page .orbit-card>div>b{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin-top:-3px!important;
  transform:translateY(-7px)!important;
  position:relative!important;
  z-index:3!important;
  font-weight:800!important;
}


/* ==========================================================
   INDEX FINAL POLISH — requested corrections only
   ========================================================== */

/* 1) INDUSTRIES: only ONE active card may display the gradient.
   The original page loop uses .active; ignore stale fallback classes. */
.index-page #industries .industry-ribbon-item.industry-cycle-active:not(.active){
  background:#fff!important;
  border-color:#dfe6f2!important;
  box-shadow:none!important;
  transform:none!important;
}
.index-page #industries .industry-ribbon-item.industry-cycle-active:not(.active)::after{
  opacity:0!important;
  transform:scaleX(.25)!important;
  background:transparent!important;
}
.index-page #industries .industry-ribbon-item.industry-cycle-active:not(.active)>span{
  background:initial!important;
}
.index-page #industries .industry-ribbon-item.industry-cycle-active:not(.active) b{
  color:#102f69!important;
}
.index-page #industries .industry-ribbon-item.industry-cycle-active:not(.active) small{
  color:#687797!important;
}

/* Original active card: pink-purple-blue treatment */
.index-page #industries .industry-ribbon-item.active{
  background:linear-gradient(100deg,
    rgba(237,27,115,.12) 0%,
    rgba(255,255,255,.98) 48%,
    rgba(76,105,255,.10) 100%)!important;
  border-color:rgba(225,41,126,.30)!important;
  box-shadow:0 10px 25px rgba(16,47,105,.10)!important;
  transform:translateX(-3px)!important;
}
.index-page #industries .industry-ribbon-item.active::after{
  opacity:1!important;
  transform:scaleX(1)!important;
  background:linear-gradient(90deg,#ed1b73 0%,#b43ddd 52%,#4b69ff 100%)!important;
}
.index-page #industries .industry-ribbon-item.active b{color:#e51d73!important}

/* Center industry image: restore a subtle floating animation */
.index-page #industries .industry-center-image,
.index-page #industries .industries-spotlight-art>img,
.index-page #industries .industry-orbit-stage>img{
  animation:egsIndustryFloatRestored 5.8s ease-in-out infinite!important;
  transform-origin:center center!important;
  will-change:transform!important;
}
@keyframes egsIndustryFloatRestored{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.018)}
}

/* 2) FIVE CORE SERVICES:
   Restore Explore service to its normal position; only enlarge the wording. */
.index-page .orbit-card>div>b{
  margin-top:0!important;
  top:auto!important;
  transform:none!important;
  position:relative!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:800!important;
}

/* 3) NEWS & EVENTS:
   Heading should match the site's normal section-heading scale,
   while content remains readable instead of oversized/heavy. */
.index-page #events h2,
.index-page .events-section h2,
.index-page .news-events h2{
  font-size:clamp(32px,3vw,46px)!important;
  line-height:1.16!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.index-page #events h3,
.index-page .events-section h3,
.index-page .news-events h3{
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:750!important;
}
.index-page #events p,
.index-page .events-section p,
.index-page .news-events p{
  font-size:14px!important;
  line-height:1.65!important;
  font-weight:500!important;
}
.index-page #events .event-date,
.index-page #events .event-time,
.index-page .events-section .event-date,
.index-page .events-section .event-time{
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
}

/* 4) TECHNOLOGIES:
   Clean one-line heading on desktop; responsive wrap only when necessary. */
.index-page #technologies h2,
.index-page .technologies h2,
.index-page .tech-section h2{
  font-size:clamp(30px,2.8vw,44px)!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .index-page #technologies h2,
  .index-page .technologies h2,
  .index-page .tech-section h2{
    white-space:normal!important;
    font-size:30px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .index-page #industries .industry-center-image,
  .index-page #industries .industries-spotlight-art>img,
  .index-page #industries .industry-orbit-stage>img{
    animation:none!important;
  }
}


/* ==========================================================
   INDEX PREMIUM FLOATING CONTACT ORB
   Compact by default, expands on hover/tap. Professional only.
   ========================================================== */
.egs-chat-orb{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9998;
  font-family:"Poppins",sans-serif;
}
.egs-chat-main{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  height:58px;
  width:58px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#fff;
  box-shadow:0 14px 38px rgba(16,47,105,.20);
  cursor:pointer;
  overflow:hidden;
  transition:width .32s ease, box-shadow .32s ease, transform .25s ease;
}
.egs-chat-main:hover,
.egs-chat-main[aria-expanded="true"]{
  width:150px;
  box-shadow:0 18px 45px rgba(16,47,105,.26);
  transform:translateY(-2px);
}
.egs-chat-ring{
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from 0deg,#ed1b73,#a542d8,#4568ff,#ed1b73);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:egsChatSpin 5s linear infinite;
  pointer-events:none;
}
.egs-chat-core{
  position:relative;
  flex:0 0 48px;
  width:48px;
  height:48px;
  margin-left:5px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#ed1b73,#6c42cc 55%,#183b80);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.egs-chat-core i{font-size:21px}
.egs-chat-label{
  color:#102f69;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  opacity:0;
  transform:translateX(-5px);
  transition:opacity .22s ease,transform .22s ease;
}
.egs-chat-main:hover .egs-chat-label,
.egs-chat-main[aria-expanded="true"] .egs-chat-label{
  opacity:1;
  transform:none;
}
@keyframes egsChatSpin{to{transform:rotate(360deg)}}

.egs-chat-menu{
  position:absolute;
  right:0;
  bottom:70px;
  width:250px;
  display:grid;
  gap:9px;
  padding:10px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(16,47,105,.10);
  box-shadow:0 20px 55px rgba(16,47,105,.20);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.98);
  transform-origin:bottom right;
  transition:opacity .24s ease,visibility .24s ease,transform .24s ease;
}
.egs-chat-menu.open{
  opacity:1;
  visibility:visible;
  transform:none;
}
.egs-chat-action{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:11px;
  border-radius:15px;
  text-decoration:none;
  background:#fff;
  border:1px solid #edf1f7;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.egs-chat-action:hover{
  transform:translateX(-3px);
  border-color:rgba(237,27,115,.20);
  background:linear-gradient(90deg,rgba(237,27,115,.045),rgba(76,105,255,.035));
}
.egs-chat-action>span{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(237,27,115,.10),rgba(76,105,255,.10));
  color:#ed1b73;
}
.egs-chat-action>span i{font-size:18px}
.egs-chat-action div{display:flex;flex-direction:column;min-width:0}
.egs-chat-action b{font-size:13px;color:#102f69}
.egs-chat-action small{font-size:10.5px;color:#7a879d;margin-top:2px}

@media(max-width:640px){
  .egs-chat-orb{right:14px;bottom:14px}
  .egs-chat-main{width:54px;height:54px}
  .egs-chat-main:hover{width:54px}
  .egs-chat-main[aria-expanded="true"]{width:138px}
  .egs-chat-core{width:44px;height:44px;flex-basis:44px}
  .egs-chat-menu{width:min(248px,calc(100vw - 28px))}
}
@media(prefers-reduced-motion:reduce){
  .egs-chat-ring{animation:none}
}


/* ==========================================================
   INDEX STATS — COMPACT + PREMIUM ANIMATION
   Chat and all other sections untouched.
   ========================================================== */

/* Compact the overall strip */
.index-page .egs-counter-strip{
  gap:12px!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
  align-items:stretch!important;
}

/* Intro stays clean and vertically centered */
.index-page .egs-counter-intro{
  align-self:center!important;
}
.index-page .egs-counter-intro h2{
  margin-bottom:10px!important;
}
.index-page .egs-counter-intro p{
  margin-bottom:0!important;
}

/* Smaller, balanced stat cards */
.index-page .egs-counter-item{
  position:relative!important;
  min-height:150px!important;
  padding:18px 14px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(16,47,105,.09)!important;
  box-shadow:0 9px 25px rgba(16,47,105,.07)!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}

/* Subtle premium gradient accent */
.index-page .egs-counter-item::before{
  content:""!important;
  position:absolute!important;
  left:18%!important;
  right:18%!important;
  bottom:0!important;
  height:3px!important;
  border-radius:999px 999px 0 0!important;
  background:linear-gradient(90deg,#ed1b73,#a83fda,#496aff)!important;
  opacity:.70!important;
  transform:scaleX(.55)!important;
  transition:transform .3s ease,opacity .3s ease!important;
}

/* Gentle glow, kept behind content */
.index-page .egs-counter-item::after{
  content:""!important;
  position:absolute!important;
  width:78px!important;
  height:78px!important;
  top:-34px!important;
  right:-28px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(237,27,115,.10),rgba(76,105,255,.035) 48%,transparent 72%)!important;
  pointer-events:none!important;
}

/* Number system: every stat uses exactly the same visual scale */
.index-page .egs-counter-item .counter-value{
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 5px!important;
  line-height:1!important;
}
.index-page .egs-counter-item .counter-value strong,
.index-page .egs-counter-item .counter-value em,
.index-page .egs-counter-item .counter-value span{
  font-size:42px!important;
  line-height:1!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:-.035em!important;
  color:#102f69!important;
  font-variant-numeric:tabular-nums!important;
}

/* Labels: same size and line-height across all four cards */
.index-page .egs-counter-item>b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  margin:0!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:800!important;
  color:#253f6e!important;
}
.index-page .egs-counter-item>small{
  margin-top:4px!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  font-weight:600!important;
  color:#7b89a3!important;
}

/* Creative but subtle motion */
.index-page .egs-counter-item{
  animation:egsStatFloat 5.2s ease-in-out infinite!important;
}
.index-page .egs-counter-item:nth-child(2){animation-delay:.15s!important}
.index-page .egs-counter-item:nth-child(3){animation-delay:.35s!important}
.index-page .egs-counter-item:nth-child(4){animation-delay:.55s!important}
.index-page .egs-counter-item:nth-child(5){animation-delay:.75s!important}

.index-page .egs-counter-item:hover{
  transform:translateY(-6px)!important;
  border-color:rgba(237,27,115,.18)!important;
  box-shadow:0 16px 34px rgba(16,47,105,.12)!important;
}
.index-page .egs-counter-item:hover::before{
  opacity:1!important;
  transform:scaleX(1)!important;
}
@keyframes egsStatFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -3px}
}

/* Tablet */
@media(max-width:1024px){
  .index-page .egs-counter-item{
    min-height:142px!important;
    padding:16px 12px!important;
  }
  .index-page .egs-counter-item .counter-value strong,
  .index-page .egs-counter-item .counter-value em,
  .index-page .egs-counter-item .counter-value span{
    font-size:39px!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .index-page .egs-counter-strip{
    gap:10px!important;
  }
  .index-page .egs-counter-item{
    min-height:130px!important;
    padding:14px 10px!important;
    border-radius:17px!important;
  }
  .index-page .egs-counter-item .counter-value{
    min-height:45px!important;
  }
  .index-page .egs-counter-item .counter-value strong,
  .index-page .egs-counter-item .counter-value em,
  .index-page .egs-counter-item .counter-value span{
    font-size:34px!important;
  }
  .index-page .egs-counter-item>b{
    min-height:34px!important;
    font-size:12px!important;
  }
  .index-page .egs-counter-item>small{
    font-size:9.5px!important;
  }
}

/* Very narrow phone: keep readability */
@media(max-width:390px){
  .index-page .egs-counter-item{
    min-height:122px!important;
  }
  .index-page .egs-counter-item .counter-value strong,
  .index-page .egs-counter-item .counter-value em,
  .index-page .egs-counter-item .counter-value span{
    font-size:32px!important;
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .index-page .egs-counter-item{animation:none!important}
}


/* ==========================================================
   INDEX STATS — MICRO CREATIVE STRIP
   Small footprint, clear numbers, premium visual rhythm.
   ========================================================== */
.index-page .egs-counter-strip{
  margin-top:22px!important;
  grid-template-columns:1.05fr repeat(4,1fr)!important;
  border-radius:20px!important;
  min-height:0!important;
  box-shadow:0 10px 28px rgba(11,43,99,.055)!important;
}
.index-page .egs-counter-intro{
  min-height:88px!important;
  padding:13px 16px!important;
}
.index-page .egs-counter-intro span{
  font-size:8px!important;
}
.index-page .egs-counter-intro b{
  margin-top:3px!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
.index-page .egs-counter-item{
  min-height:88px!important;
  padding:11px 10px!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  align-content:center!important;
  border-radius:0!important;
  animation:none!important;
  background:#fff!important;
}
.index-page .egs-counter-item .counter-value{
  grid-row:1 / span 2!important;
  min-height:0!important;
  margin:0!important;
  align-self:center!important;
}
.index-page .egs-counter-item .counter-value strong,
.index-page .egs-counter-item .counter-value em,
.index-page .egs-counter-item .counter-value span{
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
.index-page .egs-counter-item>b{
  min-height:0!important;
  justify-content:flex-start!important;
  text-align:left!important;
  font-size:11px!important;
  line-height:1.25!important;
  margin:0!important;
}
.index-page .egs-counter-item>small{
  margin-top:2px!important;
  text-align:left!important;
  font-size:8.5px!important;
  line-height:1.25!important;
}
.index-page .egs-counter-item::before{
  left:14%!important;
  right:14%!important;
  height:2px!important;
  opacity:.55!important;
}
.index-page .egs-counter-item:hover{
  transform:translateY(-3px)!important;
  background:linear-gradient(135deg,rgba(237,27,115,.035),#fff 52%,rgba(73,106,255,.035))!important;
}
.index-page .egs-counter-item:hover::before{
  opacity:1!important;
  transform:scaleX(1)!important;
}

/* tiny staggered number reveal accent without taking extra space */
.index-page .egs-counter-item .counter-value{
  animation:egsStatPop .55s cubic-bezier(.2,.8,.2,1) both!important;
}
.index-page .egs-counter-item:nth-child(2) .counter-value{animation-delay:.05s!important}
.index-page .egs-counter-item:nth-child(3) .counter-value{animation-delay:.12s!important}
.index-page .egs-counter-item:nth-child(4) .counter-value{animation-delay:.19s!important}
.index-page .egs-counter-item:nth-child(5) .counter-value{animation-delay:.26s!important}
@keyframes egsStatPop{
  from{opacity:0;transform:translateY(7px) scale(.94)}
  to{opacity:1;transform:none}
}

@media(max-width:900px){
  .index-page .egs-counter-strip{
    grid-template-columns:1fr 1fr!important;
  }
  .index-page .egs-counter-intro{
    grid-column:1/-1!important;
    min-height:76px!important;
  }
  .index-page .egs-counter-item{
    min-height:82px!important;
  }
}
@media(max-width:520px){
  .index-page .egs-counter-strip{
    grid-template-columns:1fr!important;
  }
  .index-page .egs-counter-item{
    min-height:76px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  .index-page .egs-counter-item .counter-value strong,
  .index-page .egs-counter-item .counter-value em,
  .index-page .egs-counter-item .counter-value span{
    font-size:29px!important;
  }
}

/* Let's Talk now directly opens WhatsApp */
.egs-chat-main{
  text-decoration:none!important;
}
.egs-chat-menu{
  display:none!important;
}


/* ==========================================================
   CHAT OVERLAP FIX ONLY
   No other section/design changes.
   ========================================================== */

/* Keep the floating chat safely inside the viewport */
.egs-chat-orb{
  right:max(14px, env(safe-area-inset-right))!important;
  bottom:max(14px, env(safe-area-inset-bottom))!important;
  z-index:9999!important;
  max-width:calc(100vw - 28px)!important;
}

/* Chat button never pushes outside screen or overlaps content awkwardly */
.egs-chat-main{
  max-width:min(150px, calc(100vw - 28px))!important;
  box-sizing:border-box!important;
}

/* If any old menu markup still exists, keep it fully inside viewport */
.egs-chat-menu{
  right:0!important;
  left:auto!important;
  width:min(225px, calc(100vw - 28px))!important;
  max-width:calc(100vw - 28px)!important;
  box-sizing:border-box!important;
  transform-origin:bottom right!important;
}

/* Small phones: anchor the menu safely so it cannot overlap/crop */
@media(max-width:640px){
  .egs-chat-orb{
    right:12px!important;
    bottom:12px!important;
    max-width:calc(100vw - 24px)!important;
  }
  .egs-chat-main{
    max-width:calc(100vw - 24px)!important;
  }
  .egs-chat-menu{
    position:fixed!important;
    right:12px!important;
    left:auto!important;
    bottom:72px!important;
    width:min(220px, calc(100vw - 24px))!important;
    max-height:calc(100vh - 100px)!important;
    overflow:auto!important;
  }
}

/* Very narrow devices / foldables */
@media(max-width:380px){
  .egs-chat-orb{
    right:10px!important;
    bottom:10px!important;
  }
  .egs-chat-menu{
    right:10px!important;
    width:calc(100vw - 20px)!important;
  }
}


/* ==========================================================
   STATS WORD CLIPPING FIX ONLY
   Keeps current design, size, chat and all other sections unchanged.
   ========================================================== */

/* Each card owns its text; nothing may bleed under a neighbour. */
.index-page .egs-counter-item{
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

/* The current micro layout puts the value at left and wording at right.
   Give the wording a real bounded column so it cannot start outside/card edge. */
.index-page .egs-counter-item{
  grid-template-columns:minmax(54px, .72fr) minmax(0, 1.28fr)!important;
  column-gap:8px!important;
}

.index-page .egs-counter-item .counter-value{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  align-self:center!important;
}

/* Labels and descriptions stay fully inside their own card. */
.index-page .egs-counter-item>b,
.index-page .egs-counter-item>small{
  grid-column:2!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  padding-left:0!important;
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  box-sizing:border-box!important;
}

.index-page .egs-counter-item>b{
  grid-row:1!important;
  align-self:end!important;
}

.index-page .egs-counter-item>small{
  grid-row:2!important;
  align-self:start!important;
}

/* At narrower desktop widths, stack content within each card instead of clipping. */
@media (max-width:1180px) and (min-width:901px){
  .index-page .egs-counter-item{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    row-gap:3px!important;
    text-align:center!important;
  }
  .index-page .egs-counter-item .counter-value{
    grid-column:1!important;
    grid-row:1!important;
  }
  .index-page .egs-counter-item>b{
    grid-column:1!important;
    grid-row:2!important;
    text-align:center!important;
    justify-content:center!important;
  }
  .index-page .egs-counter-item>small{
    grid-column:1!important;
    grid-row:3!important;
    text-align:center!important;
  }
}


/* ==========================================================
   INDEX STATS — APPROVED FINAL DESIGN
   ========================================================== */

.index-page .egs-counter-strip{
  display:grid!important;
  grid-template-columns:1.15fr repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:12px!important;
  margin-top:24px!important;
  border:1px solid #e3e9f3!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 12px 32px rgba(16,47,105,.06)!important;
  overflow:hidden!important;
}

/* Left impact card */
.index-page .egs-counter-intro{
  min-width:0!important;
  min-height:146px!important;
  padding:22px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  text-align:left!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#102f69 0%,#1c4a8e 100%)!important;
  color:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.index-page .egs-counter-intro span{
  margin:0 0 8px!important;
  color:#ff6baa!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
.index-page .egs-counter-intro b{
  margin:0!important;
  max-width:190px!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:800!important;
}

/* Stat cards */
.index-page .egs-counter-item{
  position:relative!important;
  min-width:0!important;
  min-height:146px!important;
  padding:18px 14px 20px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto 1fr!important;
  column-gap:12px!important;
  row-gap:3px!important;
  align-items:start!important;
  align-content:start!important;
  text-align:left!important;
  border:1px solid #e3e8f1!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(16,47,105,.035)!important;
  overflow:hidden!important;
  animation:none!important;
  transform:none!important;
}

/* icon */
.index-page .egs-counter-item .counter-icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}
.index-page .egs-counter-item .counter-icon i{
  font-size:20px!important;
}
.index-page .egs-counter-item.pink .counter-icon{
  background:#fff0f6!important;
  color:#ed1b73!important;
}
.index-page .egs-counter-item.blue .counter-icon{
  background:#eef3ff!important;
  color:#4668f4!important;
}

/* number */
.index-page .egs-counter-item .counter-value{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  margin:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  text-align:left!important;
  overflow:visible!important;
}
.index-page .egs-counter-item .counter-value strong,
.index-page .egs-counter-item .counter-value em,
.index-page .egs-counter-item .counter-value span{
  margin:0!important;
  color:#102f69!important;
  font-size:36px!important;
  line-height:1!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}

/* label */
.index-page .egs-counter-item>b{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  color:#102f69!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  position:static!important;
  transform:none!important;
}

/* description */
.index-page .egs-counter-item>small{
  grid-column:1 / -1!important;
  grid-row:3!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:13px 0 0!important;
  padding:0!important;
  display:block!important;
  color:#6e7d9b!important;
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:600!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  position:static!important;
  transform:none!important;
}

/* bottom gradient underline */
.index-page .egs-counter-item::before{
  content:""!important;
  position:absolute!important;
  left:22%!important;
  right:22%!important;
  bottom:0!important;
  height:3px!important;
  border-radius:999px 999px 0 0!important;
  background:linear-gradient(90deg,#ed1b73 0%,#b544dc 50%,#4a69ff 100%)!important;
  opacity:.72!important;
  transform:none!important;
}
.index-page .egs-counter-item::after{
  display:none!important;
  content:none!important;
}

/* subtle hover only */
.index-page .egs-counter-item:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(237,27,115,.16)!important;
  box-shadow:0 10px 24px rgba(16,47,105,.07)!important;
}

/* Tablet */
@media(max-width:1024px){
  .index-page .egs-counter-strip{
    grid-template-columns:1fr 1fr!important;
  }
  .index-page .egs-counter-intro{
    grid-column:1 / -1!important;
    min-height:112px!important;
  }
  .index-page .egs-counter-item{
    min-height:136px!important;
  }
}

/* Mobile */
@media(max-width:640px){
  .index-page .egs-counter-strip{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:10px!important;
    border-radius:20px!important;
  }
  .index-page .egs-counter-intro{
    grid-column:auto!important;
    min-height:104px!important;
    padding:18px!important;
  }
  .index-page .egs-counter-intro b{
    max-width:none!important;
    font-size:15px!important;
  }
  .index-page .egs-counter-item{
    min-height:124px!important;
    padding:16px 14px 18px!important;
  }
  .index-page .egs-counter-item .counter-value strong,
  .index-page .egs-counter-item .counter-value em,
  .index-page .egs-counter-item .counter-value span{
    font-size:34px!important;
  }
  .index-page .egs-counter-item>small{
    min-height:0!important;
    margin-top:10px!important;
  }
}


/* ==========================================================
   ABOUT PAGE — FINAL VISIBILITY PASS
   Global Presence image + larger readable typography.
   ========================================================== */

/* General About-page readability: only lift genuinely small copy */
.about-page p,
.about-page li{
  font-size:max(16px,1em)!important;
  line-height:1.72!important;
}

/* Leadership — make names, roles and supporting text clearly visible */
.about-page .leadership-section p,
.about-page .leadership-section li,
.about-page [class*="leadership"] p,
.about-page [class*="leader"] p{
  font-size:16px!important;
  line-height:1.65!important;
}
.about-page .leadership-section h3,
.about-page .leadership-section h4,
.about-page [class*="leadership"] h3,
.about-page [class*="leader"] h3{
  font-size:clamp(20px,1.55vw,25px)!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.about-page .leadership-section small,
.about-page [class*="leadership"] small,
.about-page [class*="leader"] small{
  font-size:14px!important;
  line-height:1.5!important;
}

/* Global Presence heading approximately one visual step larger */
.about-page .global-presence h2,
.about-page [class*="global-presence"] h2,
.about-page [class*="presence"] h2{
  font-size:clamp(38px,4vw,58px)!important;
  line-height:1.08!important;
}

/* Global Presence supporting wording */
.about-page .global-presence p,
.about-page [class*="global-presence"] p,
.about-page [class*="presence"] p{
  font-size:17px!important;
  line-height:1.7!important;
}

/* Selected image: larger, clean and balanced on the left */
.about-page .global-presence img,
.about-page [class*="global-presence"] img,
.about-page [class*="presence"] img[src*="global-presence"]{
  width:100%!important;
  max-width:none!important;
  min-height:360px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(16,47,105,.14)!important;
}

/* Presence feature/white cards — larger and easier to read */
.about-page .global-presence .card,
.about-page [class*="global-presence"] .card,
.about-page [class*="presence"] [class*="card"],
.about-page [class*="presence"] [class*="item"]{
  padding:18px 20px!important;
}
.about-page .global-presence .card h3,
.about-page .global-presence .card h4,
.about-page [class*="presence"] [class*="card"] h3,
.about-page [class*="presence"] [class*="card"] h4,
.about-page [class*="presence"] [class*="item"] h3{
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.about-page .global-presence .card p,
.about-page [class*="presence"] [class*="card"] p,
.about-page [class*="presence"] [class*="item"] p{
  font-size:15px!important;
  line-height:1.55!important;
}

/* Responsive image sizing */
@media(max-width:900px){
  .about-page .global-presence img,
  .about-page [class*="global-presence"] img,
  .about-page [class*="presence"] img[src*="global-presence"]{
    min-height:300px!important;
  }
}
@media(max-width:640px){
  .about-page p,
  .about-page li{
    font-size:15px!important;
  }
  .about-page .global-presence img,
  .about-page [class*="global-presence"] img,
  .about-page [class*="presence"] img[src*="global-presence"]{
    min-height:230px!important;
    border-radius:18px!important;
  }
  .about-page .global-presence h2,
  .about-page [class*="global-presence"] h2,
  .about-page [class*="presence"] h2{
    font-size:34px!important;
  }
}


/* ==========================================================
   ABOUT — GLOBAL PRESENCE IMAGE + LOGO EXACT FIX
   ========================================================== */

/* Global Presence left image: use the selected image clearly and add subtle motion */
.about-page img[src*="global-presence-user"]{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:360px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:24px!important;
  box-shadow:0 20px 50px rgba(16,47,105,.16)!important;
  animation:aboutGlobalPresenceFloat 6s ease-in-out infinite!important;
  transform-origin:center!important;
  will-change:transform!important;
}
@keyframes aboutGlobalPresenceFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-7px) scale(1.012)}
}

/* About-page header logo must match the same logo size used across other pages */
.about-page .site-header .brand img,
.about-page header .brand img,
.about-page .navbar-brand img,
.about-page .logo img{
  width:210px!important;
  max-width:210px!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Tablet/mobile */
@media(max-width:900px){
  .about-page img[src*="global-presence-user"]{
    min-height:300px!important;
  }
}
@media(max-width:640px){
  .about-page img[src*="global-presence-user"]{
    min-height:230px!important;
    border-radius:18px!important;
  }
  .about-page .site-header .brand img,
  .about-page header .brand img,
  .about-page .navbar-brand img,
  .about-page .logo img{
    width:185px!important;
    max-width:185px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .about-page img[src*="global-presence-user"]{
    animation:none!important;
  }
}

/* Global Presence final selected image */
.about-page img[src*="global-presence-final"]{
 width:100%!important;height:auto!important;aspect-ratio:16/10!important;
 object-fit:cover!important;object-position:center!important;border-radius:22px!important;
 box-shadow:0 18px 42px rgba(7,35,79,.16)!important;
 animation:gpNeat 7s ease-in-out infinite!important;
 transition:filter .35s ease,box-shadow .35s ease!important;
}
.about-page img[src*="global-presence-final"]:hover{
 filter:brightness(1.04) saturate(1.04)!important;
 box-shadow:0 22px 48px rgba(7,35,79,.21)!important;
}
@keyframes gpNeat{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
@media(max-width:640px){.about-page img[src*="global-presence-final"]{aspect-ratio:16/11!important;border-radius:18px!important}}
@media(prefers-reduced-motion:reduce){.about-page img[src*="global-presence-final"]{animation:none!important}}


/* Global Presence bottom benefits — visibility increase only */
.about-page [class*="presence"] [class*="feature"] h3,
.about-page [class*="presence"] [class*="feature"] h4,
.about-page [class*="presence"] [class*="benefit"] h3,
.about-page [class*="presence"] [class*="benefit"] h4,
.about-page [class*="presence"] [class*="item"] h3,
.about-page [class*="presence"] [class*="item"] h4{
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:800!important;
}

.about-page [class*="presence"] [class*="feature"] p,
.about-page [class*="presence"] [class*="benefit"] p,
.about-page [class*="presence"] [class*="item"] p{
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:600!important;
}

/* Exact Global Presence bottom strip fallback */
.about-page .presence-benefits h3,
.about-page .presence-benefits h4,
.about-page .global-benefits h3,
.about-page .global-benefits h4{
  font-size:18px!important;
  font-weight:800!important;
}
.about-page .presence-benefits p,
.about-page .global-benefits p{
  font-size:15px!important;
  line-height:1.55!important;
}

@media(max-width:640px){
  .about-page [class*="presence"] [class*="feature"] h3,
  .about-page [class*="presence"] [class*="benefit"] h3,
  .about-page [class*="presence"] [class*="item"] h3{
    font-size:17px!important;
  }
  .about-page [class*="presence"] [class*="feature"] p,
  .about-page [class*="presence"] [class*="benefit"] p,
  .about-page [class*="presence"] [class*="item"] p{
    font-size:14px!important;
  }
}


/* ==========================================================
   GLOBAL PRESENCE — BLUE LANDMARKS + ZOOM IN/OUT
   ========================================================== */

/* Change pink landmark / map markers to brand blue */
.about-page [class*="presence"] .pin,
.about-page [class*="presence"] .marker,
.about-page [class*="presence"] .map-dot,
.about-page [class*="presence"] .location-dot,
.about-page [class*="presence"] [class*="landmark"],
.about-page [class*="presence"] [class*="marker"],
.about-page [class*="presence"] [class*="dot"]{
  background:#4772f5!important;
  border-color:#4772f5!important;
  color:#4772f5!important;
  box-shadow:0 0 0 6px rgba(71,114,245,.12),0 0 18px rgba(71,114,245,.28)!important;
}

/* If the markers are pseudo-elements */
.about-page [class*="presence"] .pin::before,
.about-page [class*="presence"] .pin::after,
.about-page [class*="presence"] .marker::before,
.about-page [class*="presence"] .marker::after,
.about-page [class*="presence"] .map-dot::before,
.about-page [class*="presence"] .map-dot::after,
.about-page [class*="presence"] [class*="landmark"]::before,
.about-page [class*="presence"] [class*="landmark"]::after{
  background:#4772f5!important;
  border-color:#4772f5!important;
}

/* Selected Global Presence image: visible zoom in -> zoom out loop */
.about-page img[src*="global-presence-final"]{
  animation:egsGlobalZoomInOut 6.5s ease-in-out infinite!important;
  transform-origin:center center!important;
  will-change:transform!important;
}

@keyframes egsGlobalZoomInOut{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.045)}
}

/* Keep zoom neatly clipped inside the existing frame */
.about-page [class*="presence"] figure,
.about-page [class*="presence"] .image-wrap,
.about-page [class*="presence"] [class*="visual"],
.about-page [class*="presence"] [class*="image"]{
  overflow:hidden!important;
  border-radius:22px!important;
}

@media(prefers-reduced-motion:reduce){
  .about-page img[src*="global-presence-final"]{
    animation:none!important;
  }
}

/* ABOUT Global Presence final code-only fix */
.about-page [class*="presence"] .map-dot,
.about-page [class*="presence"] .location-dot,
.about-page [class*="presence"] .map-pin,
.about-page [class*="presence"] .pin-line,
.about-page [class*="presence"] .route-line,
.about-page [class*="presence"] .route-curve,
.about-page [class*="presence"] .map-curve,
.about-page [class*="presence"] .connection-curve,
.about-page [class*="presence"] .connection-line{display:none!important;}

.about-page img[src*="global-presence"]{
 display:block!important;width:100%!important;height:100%!important;
 min-height:0!important;aspect-ratio:16/10!important;object-fit:cover!important;
 object-position:center!important;border-radius:22px!important;
 animation:gpFinalZoom 7s ease-in-out infinite!important;
 transform-origin:center!important;
}
@keyframes gpFinalZoom{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

.about-page [class*="presence"] figure,
.about-page [class*="presence"] .image-wrap,
.about-page [class*="presence"] [class*="visual"]{
 overflow:hidden!important;border-radius:22px!important;
}

/* Font visibility only; icon colors intentionally untouched */
.about-page [class*="presence"] [class*="feature"] h3,
.about-page [class*="presence"] [class*="feature"] h4,
.about-page [class*="presence"] [class*="benefit"] h3,
.about-page [class*="presence"] [class*="benefit"] h4,
.about-page [class*="presence"] [class*="item"] h3,
.about-page [class*="presence"] [class*="item"] h4,
.about-page .presence-benefits h3,.about-page .presence-benefits h4,
.about-page .global-benefits h3,.about-page .global-benefits h4{
 font-size:20px!important;line-height:1.3!important;font-weight:800!important;
}
.about-page [class*="presence"] [class*="feature"] p,
.about-page [class*="presence"] [class*="benefit"] p,
.about-page [class*="presence"] [class*="item"] p,
.about-page .presence-benefits p,.about-page .global-benefits p{
 font-size:16px!important;line-height:1.55!important;font-weight:600!important;
}
@media(max-width:640px){
 .about-page img[src*="global-presence"]{aspect-ratio:16/11!important;border-radius:18px!important;}
 .about-page [class*="presence"] [class*="feature"] h3,
 .about-page [class*="presence"] [class*="benefit"] h3,
 .about-page [class*="presence"] [class*="item"] h3{font-size:18px!important;}
 .about-page [class*="presence"] [class*="feature"] p,
 .about-page [class*="presence"] [class*="benefit"] p,
 .about-page [class*="presence"] [class*="item"] p{font-size:15px!important;}
}


/* Global Presence — remove decorative pink dots over image ONLY */
.about-page [class*="presence"] .map-marker,
.about-page [class*="presence"] .map-marker-dot,
.about-page [class*="presence"] .location-marker,
.about-page [class*="presence"] .globe-marker,
.about-page [class*="presence"] .presence-marker,
.about-page [class*="presence"] .floating-dot,
.about-page [class*="presence"] .decor-dot,
.about-page [class*="presence"] .map-overlay .dot,
.about-page [class*="presence"] .visual-dot,
.about-page [class*="presence"] .hotspot{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

/* Remove decorative overlay layer if it contains only the image markers/curves */
.about-page [class*="presence"] .map-overlay,
.about-page [class*="presence"] .presence-overlay,
.about-page [class*="presence"] .globe-overlay{
  pointer-events:none!important;
}

/* Preserve region list numbered badges and all feature icons */
.about-page [class*="presence"] [class*="region"] [class*="number"],
.about-page [class*="presence"] [class*="region"] [class*="badge"],
.about-page [class*="presence"] [class*="feature"] i,
.about-page [class*="presence"] [class*="feature"] svg,
.about-page [class*="presence"] [class*="benefit"] i,
.about-page [class*="presence"] [class*="benefit"] svg{
  visibility:visible!important;
  opacity:1!important;
}


/* ==========================================================
   CONTACT PAGE — RIGHT IMAGE + SECOND DIV ALIGNMENT FIX
   ========================================================== */

/* Contact right-side image: clean fit, balanced with content */
.contact-page img[src*="contact-global-network"]{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:22px!important;
  box-shadow:0 18px 44px rgba(16,47,105,.10)!important;
}

/* Common second-section/contact-grid alignment */
.contact-page .contact-grid,
.contact-page .contact-wrapper,
.contact-page .contact-main,
.contact-page .contact-content,
.contact-page .contact-shell,
.contact-page .contact-section .container{
  align-items:center!important;
}

/* If second div uses a 2-column grid, keep both sides level */
.contact-page .contact-grid,
.contact-page .contact-wrapper,
.contact-page .contact-main{
  gap:34px!important;
}

/* Right visual should never overlap and should stay centered */
.contact-page .contact-visual,
.contact-page .contact-image,
.contact-page [class*="contact"] [class*="visual"],
.contact-page [class*="contact"] [class*="image"]{
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  overflow:hidden!important;
  border-radius:22px!important;
}

/* Left content alignment — reduce awkward top/bottom spacing */
.contact-page .contact-copy,
.contact-page .contact-info,
.contact-page [class*="contact"] [class*="copy"],
.contact-page [class*="contact"] [class*="info"]{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Form/second div neat spacing */
.contact-page .contact-form,
.contact-page [class*="contact"] form{
  margin-top:0!important;
}
.contact-page .contact-form .form-row,
.contact-page [class*="contact"] .form-row{
  gap:16px!important;
}

/* Tablet/mobile */
@media(max-width:900px){
  .contact-page .contact-grid,
  .contact-page .contact-wrapper,
  .contact-page .contact-main{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .contact-page img[src*="contact-global-network"]{
    max-height:420px!important;
  }
}

@media(max-width:640px){
  .contact-page img[src*="contact-global-network"]{
    max-height:320px!important;
    border-radius:18px!important;
  }
}


/* ==========================================================
   CONTACT — FINAL USER IMAGE + PREMIUM MOTION
   ========================================================== */
.contact-page img[src*="contact-global-network-final"]{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:540px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 18px 28px rgba(31,73,150,.14))!important;
  transform-origin:center center!important;
  animation:contactGlobalFloat 5.8s ease-in-out infinite!important;
  will-change:transform!important;
}

/* gentle float + tiny zoom, suitable for the transparent PNG */
@keyframes contactGlobalFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-9px) scale(1.018)}
}

/* Keep the right visual balanced and prevent overlap */
.contact-page .contact-visual,
.contact-page .contact-image,
.contact-page [class*="contact"] [class*="visual"],
.contact-page [class*="contact"] [class*="image"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  overflow:visible!important;
}

/* Slight hover emphasis without changing the image itself */
.contact-page img[src*="contact-global-network-final"]:hover{
  animation-play-state:paused!important;
  transform:scale(1.025)!important;
  filter:drop-shadow(0 22px 34px rgba(31,73,150,.20))!important;
}

/* Mobile/tablet balance */
@media(max-width:900px){
  .contact-page img[src*="contact-global-network-final"]{
    max-height:430px!important;
  }
}
@media(max-width:640px){
  .contact-page img[src*="contact-global-network-final"]{
    max-height:330px!important;
    animation-duration:6.5s!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .contact-page img[src*="contact-global-network-final"]{
    animation:none!important;
  }
}


/* ==========================================================
   CONTACT FINAL POLISH
   1) Hero image a little larger + creative zoom motion
   2) "How We Start" 3-step section perfectly aligned
   ========================================================== */

/* ---------- CONTACT HERO IMAGE ---------- */
.contact-final .contact-hero-grid{
  align-items:center!important;
  column-gap:28px!important;
}

.contact-final .contact-art{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}

.contact-final .contact-art img[src*="contact-global-network-final"]{
  width:112%!important;
  max-width:760px!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform-origin:center center!important;
  animation:contactHeroZoomFloat 6.4s ease-in-out infinite!important;
  filter:drop-shadow(0 22px 34px rgba(37,74,160,.16))!important;
  will-change:transform!important;
}

@keyframes contactHeroZoomFloat{
  0%,100%{
    transform:translateY(0) scale(1);
  }
  50%{
    transform:translateY(-8px) scale(1.045);
  }
}

/* Hover: slightly stronger focus but no jump */
.contact-final .contact-art img[src*="contact-global-network-final"]:hover{
  animation-play-state:paused!important;
  transform:scale(1.04)!important;
  filter:drop-shadow(0 26px 38px rgba(37,74,160,.22))!important;
}

/* ---------- HOW WE START / SECOND DIV ALIGNMENT ---------- */
.contact-final .contact-process{
  padding-top:66px!important;
  padding-bottom:66px!important;
}

.contact-final .process-head{
  max-width:820px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
}

.contact-final .process-head h2{
  margin:10px 0 10px!important;
  line-height:1.18!important;
}

.contact-final .process-head p{
  margin:0 auto!important;
  max-width:700px!important;
  line-height:1.65!important;
}

/* Equal 3-column grid */
.contact-final .process-grid{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
  max-width:1080px!important;
  margin:0 auto!important;
}

/* Single connector line behind all three icons */
.contact-final .process-grid::before{
  content:""!important;
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  top:34px!important;
  height:2px!important;
  background:linear-gradient(90deg,#e7edf7 0%,#ed1b73 46%,#9a46df 68%,#233f91 100%)!important;
  z-index:0!important;
}

/* Every step uses the same internal row heights */
.contact-final .process-step{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:68px 24px minmax(58px,auto) minmax(92px,auto)!important;
  justify-items:center!important;
  align-items:start!important;
  text-align:center!important;
  padding:0 8px!important;
  margin:0!important;
}

/* Equal icon box position */
.contact-final .process-icon{
  width:68px!important;
  height:68px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #e2e8f2!important;
  box-shadow:0 10px 26px rgba(16,47,105,.06)!important;
}

.contact-final .process-icon i{
  font-size:22px!important;
  line-height:1!important;
}

/* Step number */
.contact-final .process-step>b{
  margin:14px 0 0!important;
  font-size:13px!important;
  line-height:1!important;
  align-self:start!important;
}

/* Headings start on same line position */
.contact-final .process-step h3{
  width:100%!important;
  max-width:300px!important;
  margin:16px auto 0!important;
  min-height:58px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  font-size:24px!important;
  line-height:1.28!important;
  font-weight:800!important;
}

/* Descriptions also start at the same vertical point */
.contact-final .process-step p{
  width:100%!important;
  max-width:300px!important;
  margin:10px auto 0!important;
  min-height:92px!important;
  font-size:16px!important;
  line-height:1.65!important;
  text-align:center!important;
}

/* Tablet */
@media(max-width:900px){
  .contact-final .contact-art img[src*="contact-global-network-final"]{
    width:100%!important;
    max-width:650px!important;
  }

  .contact-final .process-grid{
    gap:18px!important;
  }

  .contact-final .process-step h3{
    font-size:21px!important;
  }

  .contact-final .process-step p{
    font-size:15px!important;
  }
}

/* Mobile: stack neatly and remove long connector */
@media(max-width:700px){
  .contact-final .process-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .contact-final .process-grid::before{
    display:none!important;
  }

  .contact-final .process-step{
    grid-template-rows:auto!important;
    padding:18px 14px!important;
    border:1px solid #e8edf5!important;
    border-radius:18px!important;
    background:#fff!important;
  }

  .contact-final .process-step h3,
  .contact-final .process-step p{
    min-height:0!important;
    max-width:560px!important;
  }

  .contact-final .contact-art img[src*="contact-global-network-final"]{
    width:100%!important;
    max-width:560px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-final .contact-art img[src*="contact-global-network-final"]{
    animation:none!important;
  }
}


/* ==========================================================
   CONTACT — HERO IMAGE SIZE / CENTER SPACE / THIRD DIV FINAL
   ========================================================== */

/* Reduce the unnecessary center gap and give the artwork more room. */
.contact-final .contact-hero-grid{
  grid-template-columns:minmax(430px,.88fr) minmax(620px,1.12fr)!important;
  column-gap:8px!important;
  align-items:center!important;
}

.contact-final .contact-art{
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  justify-content:flex-start!important;
}

/* Make selected contact artwork visibly larger without changing its PNG. */
.contact-final .contact-art img[src*="contact-global-network-final"]{
  width:124%!important;
  max-width:850px!important;
  height:auto!important;
  margin-left:-18px!important;
  object-fit:contain!important;
  object-position:center!important;
  animation:contactHeroFinalMotion 6.2s ease-in-out infinite!important;
  transform-origin:center center!important;
}

@keyframes contactHeroFinalMotion{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-7px) scale(1.04)}
}

/* Global enquiry note has been removed from HTML. */
.contact-final .global-region-contact-note{
  display:none!important;
}

/* Phone field: compact code-only selector + number field. */
.contact-final .global-phone-field{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}

.contact-final .global-phone-field #regionCode{
  width:92px!important;
  min-width:92px!important;
  padding-left:12px!important;
  padding-right:28px!important;
  font-weight:700!important;
}

/* Tablet */
@media(max-width:1050px){
  .contact-final .contact-hero-grid{
    grid-template-columns:minmax(380px,.9fr) minmax(500px,1.1fr)!important;
    column-gap:12px!important;
  }
  .contact-final .contact-art img[src*="contact-global-network-final"]{
    width:116%!important;
    max-width:760px!important;
    margin-left:0!important;
  }
}

/* Mobile */
@media(max-width:900px){
  .contact-final .contact-hero-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .contact-final .contact-art{
    justify-content:center!important;
  }
  .contact-final .contact-art img[src*="contact-global-network-final"]{
    width:100%!important;
    max-width:680px!important;
    margin-left:0!important;
  }
}

@media(max-width:520px){
  .contact-final .global-phone-field{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .contact-final .global-phone-field #regionCode{
    width:82px!important;
    min-width:82px!important;
  }
}


/* ==========================================================
   CONTACT PAGE — HARD OVERRIDE / CSS APPLY FIX
   These selectors intentionally do not depend on body helper classes.
   ========================================================== */

/* HERO GRID */
.contact-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(430px,.9fr) minmax(600px,1.1fr)!important;
  gap:10px!important;
  align-items:center!important;
}

/* HERO ART */
.contact-art{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}

.contact-art img,
.contact-art img[src*="contact-global-network-final"]{
  display:block!important;
  width:118%!important;
  max-width:820px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  transform-origin:center!important;
  animation:contactHeroHardZoom 6.2s ease-in-out infinite!important;
  filter:drop-shadow(0 20px 30px rgba(32,72,150,.16))!important;
}
@keyframes contactHeroHardZoom{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.035)}
}

/* PHONE CODE + NUMBER */
.global-phone-field{
  display:grid!important;
  grid-template-columns:90px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
#regionCode{
  width:90px!important;
  min-width:90px!important;
  max-width:90px!important;
  font-weight:700!important;
}

/* remove global enquiry note in case any stale markup remains */
.global-region-contact-note{
  display:none!important;
}

/* HOW WE START */
.contact-process{
  padding-top:64px!important;
  padding-bottom:64px!important;
}
.process-head{
  max-width:820px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
}
.process-grid{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  max-width:1080px!important;
  margin:0 auto!important;
  align-items:start!important;
}
.process-grid::before{
  content:""!important;
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  top:34px!important;
  height:2px!important;
  background:linear-gradient(90deg,#e7edf7 0%,#ed1b73 48%,#8d4ddd 70%,#233f91 100%)!important;
  z-index:0!important;
}
.process-step{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-rows:68px 24px minmax(58px,auto) minmax(92px,auto)!important;
  justify-items:center!important;
  text-align:center!important;
  padding:0 8px!important;
}
.process-icon{
  width:68px!important;
  height:68px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
}
.process-step h3{
  margin:16px auto 0!important;
  min-height:58px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
  font-size:24px!important;
  line-height:1.28!important;
}
.process-step p{
  margin:10px auto 0!important;
  min-height:92px!important;
  max-width:300px!important;
  font-size:16px!important;
  line-height:1.65!important;
}

/* RESPONSIVE */
@media(max-width:1050px){
  .contact-hero-grid{
    grid-template-columns:minmax(360px,.95fr) minmax(500px,1.05fr)!important;
    gap:14px!important;
  }
  .contact-art img,
  .contact-art img[src*="contact-global-network-final"]{
    width:108%!important;
    max-width:720px!important;
  }
}
@media(max-width:900px){
  .contact-hero-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .contact-art img,
  .contact-art img[src*="contact-global-network-final"]{
    width:100%!important;
    max-width:650px!important;
  }
}
@media(max-width:700px){
  .process-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .process-grid::before{display:none!important;}
  .process-step{
    grid-template-rows:auto!important;
    padding:18px 14px!important;
    border:1px solid #e8edf5!important;
    border-radius:18px!important;
    background:#fff!important;
  }
  .process-step h3,
  .process-step p{
    min-height:0!important;
  }
}
@media(max-width:520px){
  .global-phone-field{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
  }
  #regionCode{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .contact-art img,
  .contact-art img[src*="contact-global-network-final"]{
    animation:none!important;
  }
}


/* ABOUT Leadership — Chithra portrait framing fix ONLY
   Keep full head visible without changing the card/layout. */
img[src*="chithra-new.png"]{
  object-fit:contain!important;
  object-position:center top!important;
  width:100%!important;
  height:100%!important;
  padding-top:0!important;
  transform:scale(.94)!important;
  transform-origin:center top!important;
}


/* ==========================================================
   ABOUT LEADERSHIP — CHITHRA CARD FIT FINAL
   ========================================================== */
img[src*="chithra-new.png"]{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  padding:8px 8px 0!important;
  box-sizing:border-box!important;
  background:#f7f9fd!important;
  border-radius:18px!important;
}

/* Make the portrait frame itself clean and balanced */
[class*="leadership"] [class*="image"]:has(img[src*="chithra-new.png"]),
[class*="leadership"] [class*="photo"]:has(img[src*="chithra-new.png"]),
[class*="leadership"] [class*="portrait"]:has(img[src*="chithra-new.png"]){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#f7f9fd!important;
}

/* ==========================================================
   CONTACT HERO — MOVE ART LEFT, REMOVE CENTER GAP
   ========================================================== */
.contact-hero-grid{
  grid-template-columns:minmax(460px,.98fr) minmax(560px,1.02fr)!important;
  gap:0!important;
  column-gap:0!important;
  align-items:center!important;
}
.contact-art{
  justify-content:flex-start!important;
  overflow:visible!important;
}
.contact-art img[src*="contact-global-network-final"]{
  width:118%!important;
  max-width:840px!important;
  position:relative!important;
  left:-72px!important;
  margin:0!important;
}

/* ==========================================================
   CAREER APPLY — MAILTO FORM FLOW
   ========================================================== */
.career-apply-form{
  display:grid!important;
  gap:14px!important;
}
.career-apply-form .form-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.career-apply-form input,
.career-apply-form select,
.career-apply-form textarea{
  width:100%!important;
  box-sizing:border-box!important;
}
.career-apply-form textarea{
  min-height:120px!important;
  resize:vertical!important;
}
.career-apply-form .apply-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.career-apply-form .apply-actions a,
.career-apply-form .apply-actions button{
  cursor:pointer!important;
}

@media(max-width:900px){
  .contact-hero-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .contact-art{
    justify-content:center!important;
  }
  .contact-art img[src*="contact-global-network-final"]{
    width:100%!important;
    left:0!important;
    max-width:680px!important;
  }
}
@media(max-width:640px){
  .career-apply-form .form-grid{
    grid-template-columns:1fr!important;
  }
}

.career-apply-modal[hidden]{display:none!important}
.career-apply-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}
.career-apply-backdrop{position:absolute;inset:0;background:rgba(9,27,61,.58);backdrop-filter:blur(4px)}
.career-apply-dialog{position:relative;z-index:1;width:min(680px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 28px 80px rgba(9,27,61,.28)}
.career-apply-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:#f4f7fb;font-size:24px;line-height:1}
.career-apply-dialog h2{margin:0 0 8px}
.career-apply-dialog>p{margin:0 0 20px}

/* ABOUT Leadership — Chithra same visual fit as Antony */
.leader-photo img[src*="chithra-card-fit.webp"]{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  background:#fff!important;
  border-radius:0!important;
}

.career-cta .btn-main{
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}


/* ==========================================================
   CAREER APPLY MODAL — EXACT SCREENSHOT STYLE
   ========================================================== */
.career-apply-modal[hidden]{display:none!important}
.career-apply-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:18px;
}
.career-apply-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,31,60,.55);
  backdrop-filter:blur(5px);
}
.career-apply-panel{
  position:relative;
  z-index:1;
  width:min(760px,calc(100vw - 24px));
  max-height:92vh;
  overflow:auto;
  padding:28px 24px 26px;
  border-radius:24px;
  background:linear-gradient(180deg,#f4f6fa 0%,#eef1f6 100%);
  box-shadow:0 30px 90px rgba(7,27,61,.28);
}
.career-apply-close{
  position:absolute;
  top:12px;
  right:14px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#e7ebf2;
  color:#102f69;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.career-apply-kicker{
  margin-bottom:12px;
  color:#ed1b73;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
.career-apply-panel h2{
  margin:0 48px 22px 0;
  color:#132a5a;
  font-size:27px;
  line-height:1.18;
  font-weight:800;
}
.career-apply-form{
  display:grid;
  gap:14px;
}
.career-apply-form .two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.career-apply-form label{
  display:grid;
  gap:8px;
}
.career-apply-form label>span:first-child{
  color:#102f69;
  font-size:13px;
  font-weight:800;
}
.career-apply-form input,
.career-apply-form select,
.career-apply-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d6dce6;
  border-radius:12px;
  background:#fff;
  padding:13px 14px;
  color:#1f2f52;
  font:inherit;
  outline:none;
}
.career-apply-form input:focus,
.career-apply-form select:focus,
.career-apply-form textarea:focus{
  border-color:#ed1b73;
  box-shadow:0 0 0 3px rgba(237,27,115,.08);
}
.career-apply-form textarea{
  min-height:94px;
  resize:vertical;
}
.resume-drop{
  position:relative;
  min-height:96px;
  border:1.5px dashed #ed1b73;
  border-radius:14px;
  background:rgba(237,27,115,.04);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#ed1b73;
  cursor:pointer;
  overflow:hidden;
}
.resume-drop .resume-icon{
  font-size:28px;
  line-height:1;
  margin-bottom:6px;
}
.resume-drop strong{font-size:14px}
.resume-drop small{font-size:12px;margin-top:2px}
.resume-drop input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.career-submit{
  border:0;
  border-radius:999px;
  padding:14px 20px;
  background:linear-gradient(90deg,#ed1b73,#d41464);
  color:#fff;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(237,27,115,.22);
}
.career-form-status{
  min-height:20px;
  color:#6d7a95;
  font-size:12px;
  text-align:center;
}
@media(max-width:640px){
  .career-apply-panel{padding:24px 18px}
  .career-apply-form .two{grid-template-columns:1fr}
  .career-apply-panel h2{font-size:23px}
}

/* CAREER APPLY — WORKING FINAL OVERRIDE */
#careerApplyModal[hidden]{display:none!important}
#careerApplyModal.is-open{
  display:grid!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  place-items:center!important;
  padding:18px!important;
}
#careerApplyModal .career-apply-backdrop{
  position:absolute!important; inset:0!important;
  background:rgba(12,28,58,.58)!important;
  backdrop-filter:blur(5px)!important;
}
#careerApplyModal .career-apply-panel{
  position:relative!important; z-index:2!important;
  width:min(760px,calc(100vw - 28px))!important;
  max-height:92vh!important; overflow:auto!important;
  padding:28px 24px!important; border-radius:24px!important;
  background:#f1f3f7!important;
  box-shadow:0 30px 90px rgba(8,25,58,.30)!important;
}
#careerApplyModal .career-apply-form{display:grid!important;gap:14px!important}
#careerApplyModal .two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
#careerApplyModal label{display:grid!important;gap:8px!important}
#careerApplyModal label>span:first-child{font-size:13px!important;font-weight:800!important;color:#102f69!important}
#careerApplyModal input,#careerApplyModal select,#careerApplyModal textarea{
  width:100%!important;box-sizing:border-box!important;padding:13px 14px!important;
  border:1px solid #d4dae5!important;border-radius:12px!important;background:#fff!important;
}
#careerApplyModal textarea{min-height:94px!important}
#careerApplyModal .resume-drop{
  position:relative!important;min-height:96px!important;border:1.5px dashed #ed1b73!important;
  border-radius:14px!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;color:#ed1b73!important;
  background:rgba(237,27,115,.04)!important;text-align:center!important;overflow:hidden!important;
}
#careerApplyModal .resume-drop input{position:absolute!important;inset:0!important;opacity:0!important;cursor:pointer!important}
#careerApplyModal .career-submit{
  border:0!important;border-radius:999px!important;padding:14px 20px!important;
  background:linear-gradient(90deg,#ed1b73,#d41464)!important;color:#fff!important;
  font-size:16px!important;font-weight:800!important;cursor:pointer!important;
}
#careerApplyModal .career-apply-close{
  position:absolute!important;right:14px!important;top:12px!important;width:40px!important;height:40px!important;
  border:0!important;border-radius:50%!important;font-size:25px!important;z-index:3!important;cursor:pointer!important;
}
@media(max-width:640px){#careerApplyModal .two{grid-template-columns:1fr!important}}


/* ==========================================================
   ABOUT HEADER — EXACT HOME HEADER BEHAVIOR FINAL
   ========================================================== */

/* Header geometry: same compact dimensions as Home */
body.about-page .site-header,
body.about-page header.site-header,
body.about-page header{
  height:auto!important;
  min-height:0!important;
  padding:0!important;
}

body.about-page .site-header .container,
body.about-page header .container{
  min-height:0!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

/* Never let Services dropdown/mega-menu flow inline into About hero */
body.about-page .nav-item.has-dropdown .mega-menu,
body.about-page .nav-item.has-dropdown .dropdown-menu,
body.about-page .services-menu,
body.about-page .mega-menu,
body.about-page header .submenu,
body.about-page header [class*="dropdown-menu"]{
  position:absolute!important;
  top:100%!important;
  left:0!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:9999!important;
}

/* Show only on intentional hover/focus, like Home */
body.about-page .nav-item.has-dropdown:hover .mega-menu,
body.about-page .nav-item.has-dropdown:focus-within .mega-menu,
body.about-page .nav-item.has-dropdown:hover .dropdown-menu,
body.about-page .nav-item.has-dropdown:focus-within .dropdown-menu{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Keep nav items one line and vertically centered */
body.about-page header nav,
body.about-page .site-header nav{
  display:flex!important;
  align-items:center!important;
}

body.about-page header nav > ul,
body.about-page .site-header nav > ul{
  display:flex!important;
  align-items:center!important;
}

body.about-page header nav a,
body.about-page .site-header nav a{
  white-space:nowrap!important;
}

/* About active underline only; do not change header size */
body.about-page header nav a.active,
body.about-page .site-header nav a.active{
  color:#ed1b73!important;
}

/* Prevent any hero/content from being pulled up into the header */
body.about-page main,
body.about-page .about-hero,
body.about-page .hero{
  position:relative!important;
  z-index:1!important;
}


/* INDEX — 5TH ANNIVERSARY IMAGE */
.index-page img[src*="5th-anniversary.png"],
.anniversary-highlight img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}

.anniversary-highlight{
  padding:32px 0!important;
}

.anniversary-highlight-card{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,#fff 0%,#fff8fc 48%,#f6f8ff 100%)!important;
  box-shadow:0 18px 50px rgba(16,47,105,.10)!important;
}

@media(max-width:640px){
  .anniversary-highlight{
    padding:22px 0!important;
  }
  .anniversary-highlight-card{
    border-radius:18px!important;
  }
}


/* INDEX EVENTS — 5TH ANNIVERSARY IMAGE */
.index-page #events img[src*="events-5th-anniversary"],
.index-page .events-section img[src*="events-5th-anniversary"],
.index-page .news-events img[src*="events-5th-anniversary"]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}


/* ==========================================================
   HEADER SERVICES — CREATIVE SERVICE + SUBSERVICE MEGA MENU
   ========================================================== */
.egs-services-nav{position:relative!important}
.egs-services-panel-pro{
  position:absolute!important;
  top:calc(100% + 16px)!important;
  left:50%!important;
  transform:translateX(-42%) translateY(8px)!important;
  width:min(980px,92vw)!important;
  padding:18px!important;
  border:1px solid #e4e9f2!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 28px 70px rgba(16,47,105,.18)!important;
  backdrop-filter:blur(16px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  z-index:10000!important;
}
.egs-services-nav:hover .egs-services-panel-pro,
.egs-services-nav:focus-within .egs-services-panel-pro,
.egs-services-nav.is-open .egs-services-panel-pro{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(-42%) translateY(0)!important;
}
.egs-services-panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:4px 4px 14px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid #edf0f6!important;
}
.egs-services-panel-head span{
  display:block!important;
  color:#ed1b73!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
}
.egs-services-panel-head b{
  display:block!important;
  margin-top:3px!important;
  color:#102f69!important;
  font-size:17px!important;
  line-height:1.25!important;
}
.egs-all-services{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:10px 13px!important;
  border-radius:12px!important;
  background:linear-gradient(90deg,#ed1b73,#7648df)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.egs-services-mega-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.egs-service-group{
  min-width:0!important;
  padding:14px!important;
  border:1px solid #e8edf5!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff 0%,#fbfcff 100%)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.egs-service-group:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(237,27,115,.22)!important;
  box-shadow:0 10px 26px rgba(16,47,105,.07)!important;
}
.egs-service-group-wide{grid-column:1/-1!important}
.egs-service-main{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#102f69!important;
  text-decoration:none!important;
}
.egs-service-main .egs-service-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
}
.egs-service-main .pink{background:#fff0f6!important;color:#ed1b73!important}
.egs-service-main .blue{background:#eef3ff!important;color:#496aff!important}
.egs-service-main b{
  display:block!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.egs-service-main small{
  display:block!important;
  margin-top:2px!important;
  color:#71809a!important;
  font-size:10.5px!important;
}
.egs-subservices{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px 10px!important;
  margin-top:11px!important;
  padding-top:10px!important;
  border-top:1px dashed #e5e9f1!important;
}
.egs-subservices-wide{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.egs-subservices a{
  position:relative!important;
  padding:6px 8px 6px 18px!important;
  border-radius:9px!important;
  color:#50617f!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:650!important;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease,transform .15s ease!important;
}
.egs-subservices a::before{
  content:""!important;
  position:absolute!important;
  left:7px!important;
  top:50%!important;
  width:5px!important;
  height:5px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#ed1b73,#5968ef)!important;
  transform:translateY(-50%)!important;
}
.egs-subservices a:hover{
  background:#f7f4ff!important;
  color:#ed1b73!important;
  transform:translateX(2px)!important;
}

/* Mobile: accordion-style Services panel */
@media(max-width:900px){
  .egs-services-panel-pro{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
    margin-top:8px!important;
    padding:12px!important;
    border-radius:16px!important;
    box-shadow:none!important;
    display:none!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .egs-services-nav.is-open .egs-services-panel-pro{
    display:block!important;
  }
  .egs-services-nav:hover .egs-services-panel-pro{
    display:none!important;
  }
  .egs-services-nav.is-open:hover .egs-services-panel-pro{
    display:block!important;
  }
  .egs-services-panel-head{
    align-items:flex-start!important;
  }
  .egs-all-services{display:none!important}
  .egs-services-mega-grid{
    grid-template-columns:1fr!important;
  }
  .egs-service-group-wide{grid-column:auto!important}
  .egs-subservices,
  .egs-subservices-wide{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   SERVICES MEGA MENU — PREVIOUS LOOK + HOVER SUBSERVICES ONLY
   Keep the earlier 2-column visual design exactly,
   reveal only the hovered service's sub-services.
   ========================================================== */
@media(min-width:901px){

  /* Restore previous overall panel sizing/layout */
  .egs-services-panel-pro{
    width:min(980px,92vw)!important;
    padding:18px!important;
  }

  .egs-services-mega-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
  }

  .egs-service-group{
    position:relative!important;
    min-width:0!important;
    padding:14px!important;
    border:1px solid #e8edf5!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,#fff 0%,#fbfcff 100%)!important;
    overflow:visible!important;
    transform:none!important;
  }

  .egs-service-group-wide{
    grid-column:1/-1!important;
  }

  .egs-service-main{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:0!important;
    height:auto!important;
    gap:10px!important;
  }

  .egs-service-main .egs-service-icon{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }

  .egs-service-main b{
    font-size:14px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }

  .egs-service-main small{
    font-size:10.5px!important;
    line-height:1.3!important;
  }

  /* Sub-services are hidden by default */
  .egs-subservices,
  .egs-subservices-wide{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:14px!important;
    right:auto!important;
    width:min(360px,calc(100vw - 60px))!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    margin:0!important;
    padding:11px!important;
    border:1px solid #e5eaf3!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 18px 42px rgba(16,47,105,.16)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(6px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
    z-index:999!important;
  }

  /* Right-side service cards open inward so nothing goes outside panel */
  .egs-service-group:nth-child(even) .egs-subservices{
    left:auto!important;
    right:14px!important;
  }

  /* Experience Design wide card gets a wider clean submenu */
  .egs-service-group-wide .egs-subservices{
    width:min(520px,calc(100vw - 80px))!important;
    grid-template-columns:1fr 1fr!important;
    left:14px!important;
    right:auto!important;
  }

  /* Show ONLY hovered/focused service's own sub-services */
  .egs-service-group:hover{
    z-index:40!important;
    transform:translateY(-2px)!important;
    border-color:rgba(237,27,115,.22)!important;
    box-shadow:0 10px 26px rgba(16,47,105,.07)!important;
  }

  .egs-service-group:hover > .egs-subservices,
  .egs-service-group:focus-within > .egs-subservices{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .egs-subservices a{
    display:block!important;
    width:100%!important;
    padding:8px 9px 8px 22px!important;
    border-radius:9px!important;
    font-size:11px!important;
    line-height:1.3!important;
    white-space:normal!important;
  }

  .egs-subservices a:hover{
    background:linear-gradient(90deg,#fff1f7,#f4f3ff)!important;
    color:#ed1b73!important;
    transform:translateX(2px)!important;
  }
}

/* Mobile keeps the existing clean accordion */
@media(max-width:900px){
  .egs-services-mega-grid{
    grid-template-columns:1fr!important;
  }
  .egs-service-group-wide{
    grid-column:auto!important;
  }
  .egs-subservices,
  .egs-subservices-wide{
    position:static!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    box-shadow:none!important;
    border:0!important;
    border-top:1px dashed #e5e9f1!important;
    border-radius:0!important;
    margin-top:10px!important;
    padding:9px 0 0!important;
  }
}


/* ==========================================================
   CONTACT HERO — NEAT BALANCED FINAL FIX
   ========================================================== */

.contact-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:72px 0 56px!important;
  background:
    radial-gradient(circle at 12% 20%,rgba(237,27,115,.05),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(86,102,239,.06),transparent 30%),
    #fff!important;
}

.contact-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(420px,.92fr) minmax(560px,1.08fr)!important;
  align-items:center!important;
  gap:28px!important;
}

.contact-copy{
  position:relative!important;
  z-index:3!important;
  max-width:570px!important;
  padding-left:0!important;
}

.contact-copy h1{
  margin:14px 0 18px!important;
  font-size:clamp(48px,5vw,72px)!important;
  line-height:1.04!important;
  letter-spacing:-.03em!important;
  color:#12346f!important;
}

.contact-impact-shimmer{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  color:#ed1b73!important;
  background:none!important;
  -webkit-text-fill-color:#ed1b73!important;
  text-shadow:
    0 0 12px rgba(237,27,115,.22),
    0 0 28px rgba(237,27,115,.12)!important;
  animation:contactImpactGlow 2.8s ease-in-out infinite!important;
}

@keyframes contactImpactGlow{
  0%,100%{
    text-shadow:
      0 0 8px rgba(237,27,115,.18),
      0 0 18px rgba(237,27,115,.08);
  }
  50%{
    text-shadow:
      0 0 16px rgba(237,27,115,.38),
      0 0 34px rgba(237,27,115,.18);
  }
}

.contact-copy p{
  max-width:540px!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.7!important;
}

/* Right image area */
.contact-art-premium{
  position:relative!important;
  min-height:470px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
}

.contact-agent-image{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:min(100%,690px)!important;
  max-height:500px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0 auto!important;
  filter:drop-shadow(0 22px 36px rgba(16,47,105,.12))!important;
  animation:contactAgentFloatNeat 5.6s ease-in-out infinite!important;
}

@keyframes contactAgentFloatNeat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.012)}
}

/* Soft decorative glow behind image instead of a white box */
.contact-art-premium::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  width:78%!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle,rgba(104,130,255,.13) 0%,rgba(237,27,115,.07) 42%,transparent 70%)!important;
  filter:blur(8px)!important;
}

/* Floating icons stay compact and inside the hero */
.contact-float-icon{
  position:absolute!important;
  z-index:4!important;
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 20px rgba(16,47,105,.12))!important;
  opacity:.96!important;
}

.contact-float-phone{left:4%!important;top:23%!important;animation:contactFloatA 4.8s ease-in-out infinite!important}
.contact-float-chat{right:2%!important;top:19%!important;animation:contactFloatB 5.2s ease-in-out infinite!important}
.contact-float-location{right:5%!important;bottom:18%!important;animation:contactFloatA 5.6s ease-in-out infinite reverse!important}
.contact-float-email{left:10%!important;bottom:15%!important;animation:contactFloatB 5s ease-in-out infinite reverse!important}

@keyframes contactFloatA{
  0%,100%{transform:translate(0,0) rotate(0)}
  50%{transform:translate(7px,-8px) rotate(4deg)}
}
@keyframes contactFloatB{
  0%,100%{transform:translate(0,0) rotate(0)}
  50%{transform:translate(-7px,7px) rotate(-4deg)}
}

/* Hide legacy orbit rings that were making the hero look busy */
.contact-orbit{
  display:none!important;
}

/* Tablet */
@media(max-width:1050px){
  .contact-hero-grid{
    grid-template-columns:1fr 1fr!important;
    gap:18px!important;
  }
  .contact-copy h1{
    font-size:clamp(44px,5vw,60px)!important;
  }
  .contact-agent-image{
    width:min(100%,600px)!important;
    max-height:440px!important;
  }
}

/* Mobile */
@media(max-width:820px){
  .contact-hero{
    padding:48px 0 36px!important;
  }
  .contact-hero-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .contact-copy{
    max-width:100%!important;
    text-align:left!important;
  }
  .contact-impact-shimmer{
    width:auto!important;
  }
  .contact-art-premium{
    min-height:360px!important;
  }
  .contact-agent-image{
    width:min(100%,560px)!important;
    max-height:390px!important;
  }
  .contact-float-icon{
    width:52px!important;
    height:52px!important;
  }
}

@media(max-width:560px){
  .contact-copy h1{
    font-size:42px!important;
  }
  .contact-copy p{
    font-size:15px!important;
  }
  .contact-art-premium{
    min-height:300px!important;
  }
  .contact-agent-image{
    max-height:320px!important;
  }
  .contact-float-icon{
    width:44px!important;
    height:44px!important;
  }
}


/* ==========================================================
   CONTACT HERO — FINAL REPAIR
   Fixes literal \n, giant icon overlap, and pink block text.
   ========================================================== */
.contact-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:64px 0 52px!important;
  background:
    radial-gradient(circle at 10% 20%,rgba(237,27,115,.045),transparent 28%),
    radial-gradient(circle at 90% 20%,rgba(86,102,239,.055),transparent 30%),
    #fff!important;
}

.contact-hero .contact-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(430px,.95fr) minmax(520px,1.05fr)!important;
  align-items:center!important;
  gap:34px!important;
}

.contact-hero .contact-copy{
  position:relative!important;
  z-index:3!important;
  max-width:590px!important;
}

.contact-hero .contact-copy h1{
  margin:14px 0 18px!important;
  font-size:clamp(46px,5vw,70px)!important;
  line-height:1.04!important;
  letter-spacing:-.03em!important;
  color:#12346f!important;
  white-space:normal!important;
}

/* Absolutely remove any legacy background/block treatment */
.contact-hero .contact-impact-shimmer{
  display:inline!important;
  position:relative!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#ed1b73!important;
  -webkit-text-fill-color:#ed1b73!important;
  text-decoration:none!important;
  white-space:normal!important;
  animation:contactImpactGlowFinal 2.6s ease-in-out infinite!important;
}

.contact-hero .contact-impact-shimmer::before,
.contact-hero .contact-impact-shimmer::after{
  content:none!important;
  display:none!important;
}

@keyframes contactImpactGlowFinal{
  0%,100%{
    text-shadow:
      0 0 6px rgba(237,27,115,.16),
      0 0 14px rgba(237,27,115,.08);
  }
  50%{
    text-shadow:
      0 0 12px rgba(237,27,115,.34),
      0 0 26px rgba(237,27,115,.16);
  }
}

.contact-hero .contact-copy p{
  max-width:560px!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.72!important;
}

/* Right-side image only — no giant floating icon PNGs */
.contact-hero .contact-art,
.contact-hero .contact-art-premium{
  position:relative!important;
  min-height:430px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
}

.contact-hero .contact-agent-image{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:min(100%,650px)!important;
  max-width:650px!important;
  height:auto!important;
  max-height:465px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0 auto!important;
  filter:drop-shadow(0 18px 30px rgba(16,47,105,.12))!important;
  animation:contactAgentFloatFinal 5.4s ease-in-out infinite!important;
}

@keyframes contactAgentFloatFinal{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-7px) scale(1.01)}
}

/* Defensive: hide any old floating icons/orbits if stale markup survives */
.contact-hero .contact-float-icon,
.contact-hero .contact-orbit{
  display:none!important;
}

@media(max-width:980px){
  .contact-hero .contact-hero-grid{
    grid-template-columns:1fr 1fr!important;
    gap:20px!important;
  }
  .contact-hero .contact-agent-image{
    max-width:560px!important;
    max-height:420px!important;
  }
}

@media(max-width:820px){
  .contact-hero{
    padding:46px 0 34px!important;
  }
  .contact-hero .contact-hero-grid{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  .contact-hero .contact-copy{
    max-width:100%!important;
  }
  .contact-hero .contact-art,
  .contact-hero .contact-art-premium{
    min-height:340px!important;
  }
  .contact-hero .contact-agent-image{
    max-width:560px!important;
    max-height:370px!important;
  }
}

@media(max-width:560px){
  .contact-hero .contact-copy h1{
    font-size:40px!important;
  }
  .contact-hero .contact-copy p{
    font-size:15px!important;
  }
  .contact-hero .contact-art,
  .contact-hero .contact-art-premium{
    min-height:280px!important;
  }
  .contact-hero .contact-agent-image{
    max-height:310px!important;
  }
}


/* CONTACT HERO — isolated final fix */
.contact-final .contact-copy h1 .contact-impact-clean{
  display:inline!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ed1b73!important;
  -webkit-text-fill-color:#ed1b73!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  white-space:nowrap!important;
  text-shadow:0 0 8px rgba(237,27,115,.18)!important;
  animation:contactCleanGlow 2.8s ease-in-out infinite!important;
}
.contact-final .contact-copy h1 .contact-impact-clean::before,
.contact-final .contact-copy h1 .contact-impact-clean::after{
  content:none!important;
  display:none!important;
}
@keyframes contactCleanGlow{
  0%,100%{text-shadow:0 0 7px rgba(237,27,115,.16)}
  50%{text-shadow:0 0 14px rgba(237,27,115,.36),0 0 28px rgba(237,27,115,.14)}
}

.contact-final .contact-art.contact-art-premium{
  min-height:440px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
}
.contact-final .contact-art .contact-agent-clean-final{
  display:block!important;
  position:relative!important;
  z-index:3!important;
  width:min(100%,650px)!important;
  max-width:650px!important;
  height:auto!important;
  max-height:455px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:transparent!important;
  margin:0 auto!important;
  filter:drop-shadow(0 18px 30px rgba(16,47,105,.11))!important;
  animation:contactCleanFloat 5.8s ease-in-out infinite!important;
}
@keyframes contactCleanFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,-8px,0) scale(1.012)}
}
.contact-final .contact-float-icon,
.contact-final .contact-orbit{display:none!important}

@media(max-width:820px){
  .contact-final .contact-copy h1 .contact-impact-clean{white-space:normal!important}
  .contact-final .contact-art.contact-art-premium{min-height:330px!important}
  .contact-final .contact-art .contact-agent-clean-final{max-height:360px!important}
}


/* ==========================================================
   CONTACT HERO — CODE-ONLY FLOATING ICONS AROUND RIGHT IMAGE
   No PNG/icon image files used.
   ========================================================== */

.contact-final .contact-art.contact-art-premium{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
}

/* Girl/laptop remains the visual focus */
.contact-final .contact-agent-clean-final{
  position:relative!important;
  z-index:3!important;
}

/* Decorative glow behind image */
.contact-final .contact-art.contact-art-premium::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  width:78%!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  background:
    radial-gradient(circle,
      rgba(237,27,115,.11) 0%,
      rgba(117,94,238,.09) 35%,
      rgba(29,149,255,.05) 54%,
      transparent 72%)!important;
  filter:blur(8px)!important;
  pointer-events:none!important;
}

.contact-code-float-layer{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  pointer-events:none!important;
}

.contact-code-icon{
  position:absolute!important;
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  font-size:23px!important;
  color:#fff!important;
  background:
    linear-gradient(135deg,#1aa7ff 0%,#5e5df0 48%,#ed1b73 100%)!important;
  border:1px solid rgba(255,255,255,.92)!important;
  box-shadow:
    0 12px 28px rgba(35,62,130,.18),
    inset 0 1px 0 rgba(255,255,255,.78),
    0 0 24px rgba(237,27,115,.08)!important;
  backdrop-filter:blur(5px)!important;
  transform-origin:center!important;
  will-change:transform!important;
}

.contact-code-icon::before{
  content:""!important;
  position:absolute!important;
  inset:-7px!important;
  border-radius:22px!important;
  border:1px solid rgba(105,104,238,.15)!important;
  opacity:.7!important;
}

/* Carefully placed around the girl — never over the face */
.contact-code-icon.icon-mail{
  left:5%!important;
  top:16%!important;
  animation:contactOrbitA 5.4s ease-in-out infinite!important;
}
.contact-code-icon.icon-phone{
  left:10%!important;
  bottom:18%!important;
  animation:contactOrbitB 5.8s ease-in-out infinite!important;
}
.contact-code-icon.icon-chat{
  right:2%!important;
  top:22%!important;
  animation:contactOrbitC 5.2s ease-in-out infinite!important;
}
.contact-code-icon.icon-location{
  right:5%!important;
  bottom:19%!important;
  animation:contactOrbitA 6.1s ease-in-out infinite reverse!important;
}
.contact-code-icon.icon-send{
  left:43%!important;
  top:4%!important;
  width:50px!important;
  height:50px!important;
  border-radius:16px!important;
  font-size:20px!important;
  animation:contactOrbitB 5s ease-in-out infinite reverse!important;
}

@keyframes contactOrbitA{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
  }
  50%{
    transform:translate3d(8px,-10px,0) rotate(6deg) scale(1.06);
  }
}
@keyframes contactOrbitB{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
  }
  50%{
    transform:translate3d(-9px,8px,0) rotate(-6deg) scale(1.05);
  }
}
@keyframes contactOrbitC{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
  }
  33%{
    transform:translate3d(-7px,-6px,0) rotate(-4deg);
  }
  66%{
    transform:translate3d(5px,7px,0) rotate(4deg);
  }
}

/* Tiny pulse on the icon glyphs */
.contact-code-icon i{
  display:block!important;
  animation:contactGlyphPulse 2.5s ease-in-out infinite!important;
}
@keyframes contactGlyphPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.08);opacity:.9}
}

/* Keep icons elegant on tablet */
@media(max-width:980px){
  .contact-code-icon{
    width:50px!important;
    height:50px!important;
    border-radius:16px!important;
    font-size:20px!important;
  }
  .contact-code-icon.icon-send{
    width:44px!important;
    height:44px!important;
    font-size:18px!important;
  }
}

/* Mobile: fewer/smaller icons, still floating without covering the image */
@media(max-width:820px){
  .contact-code-icon{
    width:43px!important;
    height:43px!important;
    border-radius:14px!important;
    font-size:17px!important;
  }
  .contact-code-icon.icon-mail{left:2%!important;top:18%!important}
  .contact-code-icon.icon-phone{left:5%!important;bottom:17%!important}
  .contact-code-icon.icon-chat{right:1%!important;top:20%!important}
  .contact-code-icon.icon-location{right:3%!important;bottom:18%!important}
  .contact-code-icon.icon-send{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .contact-code-icon,
  .contact-code-icon i,
  .contact-final .contact-agent-clean-final{
    animation:none!important;
  }
}


/* ==========================================================
   CONTACT HERO — CREATIVE FLOATING ORBS + LIGHT SHIMMER FINAL
   ========================================================== */

/* More premium circular floating icons with pulse rings */
.contact-final .contact-code-icon{
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 30% 25%,rgba(255,255,255,.42),transparent 28%),
    linear-gradient(145deg,#12b7ff 0%,#5666ef 48%,#ed1b73 100%)!important;
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:
    0 10px 26px rgba(33,66,150,.18),
    0 0 0 6px rgba(92,101,239,.05),
    0 0 26px rgba(237,27,115,.10)!important;
  overflow:visible!important;
}

.contact-final .contact-code-icon::before{
  content:""!important;
  position:absolute!important;
  inset:-8px!important;
  border-radius:50%!important;
  border:1px solid rgba(96,106,240,.22)!important;
  opacity:.7!important;
  animation:contactOrbRing 2.8s ease-out infinite!important;
}

.contact-final .contact-code-icon::after{
  content:""!important;
  position:absolute!important;
  inset:-15px!important;
  border-radius:50%!important;
  border:1px solid rgba(237,27,115,.12)!important;
  opacity:.45!important;
  animation:contactOrbRing 2.8s ease-out infinite .9s!important;
}

@keyframes contactOrbRing{
  0%{transform:scale(.78);opacity:.65}
  70%,100%{transform:scale(1.18);opacity:0}
}

/* Different orbit/boom-style motions per icon */
.contact-final .icon-mail{
  left:4%!important;
  top:17%!important;
  animation:contactOrbitalFloat1 6.2s ease-in-out infinite!important;
}
.contact-final .icon-phone{
  left:8%!important;
  bottom:16%!important;
  animation:contactOrbitalFloat2 5.7s ease-in-out infinite!important;
}
.contact-final .icon-chat{
  right:1%!important;
  top:21%!important;
  animation:contactOrbitalFloat3 6.5s ease-in-out infinite!important;
}
.contact-final .icon-location{
  right:4%!important;
  bottom:17%!important;
  animation:contactOrbitalFloat4 5.9s ease-in-out infinite!important;
}
.contact-final .icon-send{
  left:45%!important;
  top:2%!important;
  width:50px!important;
  height:50px!important;
  animation:contactOrbitalFloat5 5.4s ease-in-out infinite!important;
}

@keyframes contactOrbitalFloat1{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  35%{transform:translate3d(12px,-10px,0) rotate(8deg) scale(1.08)}
  70%{transform:translate3d(-5px,7px,0) rotate(-4deg) scale(.98)}
}
@keyframes contactOrbitalFloat2{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  40%{transform:translate3d(-11px,-7px,0) rotate(-8deg) scale(1.07)}
  75%{transform:translate3d(6px,9px,0) rotate(4deg)}
}
@keyframes contactOrbitalFloat3{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  30%{transform:translate3d(-10px,8px,0) rotate(-7deg) scale(1.06)}
  65%{transform:translate3d(8px,-9px,0) rotate(6deg)}
}
@keyframes contactOrbitalFloat4{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  45%{transform:translate3d(10px,-8px,0) rotate(7deg) scale(1.08)}
  80%{transform:translate3d(-6px,6px,0) rotate(-5deg)}
}
@keyframes contactOrbitalFloat5{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(0,-13px,0) rotate(10deg) scale(1.1)}
}

/* Add tiny sparkles around the right visual, code-only */
.contact-final .contact-art-premium{
  position:relative!important;
}
.contact-final .contact-art-premium .contact-code-float-layer::before,
.contact-final .contact-art-premium .contact-code-float-layer::after{
  content:"✦"!important;
  position:absolute!important;
  color:#ed1b73!important;
  font-size:16px!important;
  text-shadow:0 0 12px rgba(237,27,115,.35)!important;
  animation:contactSparkle 2.4s ease-in-out infinite!important;
}
.contact-final .contact-art-premium .contact-code-float-layer::before{
  left:24%!important;
  top:12%!important;
}
.contact-final .contact-art-premium .contact-code-float-layer::after{
  right:18%!important;
  bottom:12%!important;
  color:#5666ef!important;
  animation-delay:1.1s!important;
}
@keyframes contactSparkle{
  0%,100%{opacity:.2;transform:scale(.7) rotate(0deg)}
  50%{opacity:1;transform:scale(1.15) rotate(18deg)}
}

/* Create Impact — index/service style light sweep shimmer, but keep pink base */
.contact-final .contact-impact-clean{
  display:inline-block!important;
  position:relative!important;
  color:#ed1b73!important;
  -webkit-text-fill-color:#ed1b73!important;
  background:none!important;
  overflow:hidden!important;
  text-shadow:0 0 10px rgba(237,27,115,.20)!important;
  animation:contactImpactSoftPulse 3s ease-in-out infinite!important;
}

.contact-final .contact-impact-clean::after{
  content:""!important;
  position:absolute!important;
  top:-20%!important;
  bottom:-20%!important;
  width:22%!important;
  left:-28%!important;
  background:linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,0) 25%,
    rgba(255,255,255,.78) 50%,
    rgba(255,255,255,0) 75%,
    transparent 100%
  )!important;
  transform:skewX(-18deg)!important;
  filter:blur(1px)!important;
  animation:contactImpactSweep 3.8s ease-in-out infinite!important;
  pointer-events:none!important;
}

@keyframes contactImpactSoftPulse{
  0%,100%{
    text-shadow:0 0 8px rgba(237,27,115,.18),0 0 18px rgba(237,27,115,.06);
  }
  50%{
    text-shadow:0 0 14px rgba(237,27,115,.32),0 0 28px rgba(237,27,115,.12);
  }
}

@keyframes contactImpactSweep{
  0%,18%{left:-28%;opacity:0}
  28%{opacity:1}
  62%{left:112%;opacity:.95}
  63%,100%{left:112%;opacity:0}
}

/* Keep hero compact and elegant */
.contact-final.contact-hero,
.contact-hero.contact-final{
  padding-top:52px!important;
  padding-bottom:40px!important;
}

@media(max-width:820px){
  .contact-final .contact-code-icon{
    width:44px!important;
    height:44px!important;
  }
  .contact-final .icon-send{display:none!important}
  .contact-final .contact-impact-clean::after{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .contact-final .contact-code-icon,
  .contact-final .contact-code-icon::before,
  .contact-final .contact-code-icon::after,
  .contact-final .contact-impact-clean,
  .contact-final .contact-impact-clean::after{
    animation:none!important;
  }
}

/* ABOUT HERO RIGHT IMAGE — FINAL LIFT + FLOAT ONLY */
.about-page .about-hero .hero-visual{
  transform:translateY(-28px)!important;
  overflow:visible!important;
}
.about-page .about-hero .hero-egs-art{
  transform:translateX(5%) translateY(-10px)!important;
  animation:aboutHeroLiftFloatFinal 5.2s ease-in-out infinite!important;
  transform-origin:center center!important;
  will-change:transform!important;
}
@keyframes aboutHeroLiftFloatFinal{
  0%,100%{transform:translateX(5%) translateY(-10px) scale(1)}
  50%{transform:translateX(5%) translateY(-24px) scale(1.012)}
}
@media(max-width:900px){
  .about-page .about-hero .hero-visual{transform:translateY(-16px)!important}
  .about-page .about-hero .hero-egs-art{animation:aboutHeroLiftFloatTablet 5.2s ease-in-out infinite!important}
  @keyframes aboutHeroLiftFloatTablet{
    0%,100%{transform:translateX(2%) translateY(-6px) scale(1)}
    50%{transform:translateX(2%) translateY(-16px) scale(1.01)}
  }
}
@media(max-width:560px){
  .about-page .about-hero .hero-visual{transform:translateY(-8px)!important}
  .about-page .about-hero .hero-egs-art{animation:aboutHeroLiftFloatMobile 5.2s ease-in-out infinite!important}
  @keyframes aboutHeroLiftFloatMobile{
    0%,100%{transform:translateY(-4px) scale(1)}
    50%{transform:translateY(-12px) scale(1.008)}
  }
}


/* ===== FINAL ANGULAR HERO ROTATING TITLE GRADIENT FIX =====
   Do not depend on legacy body classes; Angular mounts legacy body inside app host.
   Match the Explore Our Services button gradient exactly. */
#dynamicTitle,
#dynamicTitle.service-dynamic-title,
#dynamicTitle.first-pink-shimmer,
#dynamicTitle.shimmer-text,
#dynamicTitle.first-pink-shimmer.shimmer-text {
  display: block !important;
  background: linear-gradient(110deg, #ed1b73 0%, #102f69 100%) !important;
  background-image: linear-gradient(110deg, #ed1b73 0%, #102f69 100%) !important;
  background-size: 100% 100% !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation: none !important;
  filter: none !important;
}
