/* Colours sampled directly from the supplied Intech logo. */
:root { --blue: #233d92; --green: #6abd46; --brand-navy: #101b42; }
.hero h1 em, .section-heading h2 em {
  background-image: linear-gradient(110deg, #233d92 10%, #415aa1 40%, #438134 76%, #6abd46 100%);
}
.enterprise-brand img { width: 200px; }
.enterprise-header { box-shadow: 0 5px 24px #233d9206; }
.mega-menu { animation: menu-arrive .18s ease both; }
@keyframes menu-arrive { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }

/* A full-size, readable client wall. These are the supplied logo assets. */
.client-logos { gap: 28px; padding: 12px 0 22px; }
.client-logos > div { height: 134px; }
.client-logos img, .client-logos > div:nth-child(5) img {
  width: 132px; height: 132px; max-width: 100%; max-height: 132px;
  object-fit: contain; filter: none; opacity: 1;
  transition: transform .35s ease;
}
.client-logos img:hover { transform: translateY(-4px); }

/* Tonal blue/green surfaces with a clear light source and deeper contact shadows. */
.service-card.service-0 {
  background: radial-gradient(ellipse at 2% 0%, #233d9238, transparent 65%), radial-gradient(ellipse at 100% 6%, #6abd4645, transparent 58%), #f8fafb;
}
.service-card.service-1, .service-card.service-4 {
  background: radial-gradient(ellipse at 0% 0%, #233d92cc, transparent 70%), radial-gradient(ellipse at 100% 0%, #375e34, transparent 66%), #10192d;
}
.service-card { box-shadow: inset 0 1px 0 #ffffffb3, 0 8px 24px #17295704; transition: border-color .3s, box-shadow .3s, transform .3s; }
.service-card:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 #ffffffb3, 0 18px 42px #233d9214; }
.connection-hub { background: linear-gradient(135deg, #8493c6 0%, #233d92 48%, #1a2e6e 100%); box-shadow: inset 1px 2px 3px #ffffffd9, inset -2px -3px 4px #14255e80, 0 13px 0 #bdc8e2, 0 25px 30px #233d922e; }
.endpoint, .icon-sculpture { box-shadow: inset 0 2px 2px #fff, inset -2px -4px 7px #233d9212, 0 9px 0 #d7dfee, 0 18px 26px #233d921b; }
.fiber-art { filter: drop-shadow(0 14px 12px #07112e3b); }
.fiber-layer { animation: fiber-breathe 5s ease-in-out infinite; }
@keyframes fiber-breathe { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }

.ecosystem-brand { width:188px; height:188px; padding:20px; border-color:#fff; background:linear-gradient(140deg,#fff 38%,#eef2f9 75%,#dae2ef); box-shadow:0 0 0 10px #ffffff80, inset 1px 3px 3px #fff, inset -3px -5px 9px #233d9215, 0 14px 30px #233d9218; }
.ecosystem-brand img { width:154px; }
.ecosystem-pillar > svg { color:var(--blue); }
.ecosystem-pillar:nth-of-type(2) > svg, .ecosystem-pillar:nth-of-type(3) > svg { color:#509334; }
.ecosystem-divider::after { content:""; position:absolute; border-radius:8px; animation-play-state:paused; }
.ecosystem-divider-horizontal::after { width:100px; height:2px; top:-.5px; background:linear-gradient(90deg,transparent,#233d92,#6abd46,transparent); animation:ecosystem-x 6s ease-in-out infinite; animation-play-state:paused; }
.ecosystem-divider-vertical::after { height:70px; width:2px; left:-.5px; background:linear-gradient(transparent,#233d92,#6abd46,transparent); animation:ecosystem-y 7s ease-in-out infinite; animation-play-state:paused; }
[data-motion="on"] .ecosystem-grid.motion-active .ecosystem-divider::after { animation-play-state:running; }
[data-motion-suspended="true"] .ecosystem-divider::after { animation-play-state:paused!important; }
@keyframes ecosystem-x { from { left:0; opacity:0; } 10%,90%{opacity:1} to {left:calc(100% - 100px);opacity:0} }
@keyframes ecosystem-y { from { top:0;opacity:0; } 10%,90%{opacity:1} to {top:calc(100% - 70px);opacity:0} }

/* Photographic industry set shares light, palette and crop. */
.industry-photo { overflow:hidden; border:1px solid #233d920c; border-radius:14px; }
.industry-photo img { transition:transform 1s cubic-bezier(.2,.65,.3,1); }
.industry-card:hover .industry-photo img, .industry-card:focus-within .industry-photo img { transform:scale(1.055); }
.industry-photo::after { display:none; }

.city-panel { min-height:465px; background:#edf3fa; border:1px solid #dfe5f0; box-shadow:0 18px 55px #233d920b; }
.city-tag { z-index:2; font-size:11px; color:#233d92; }
.city-render { position:absolute; inset:45px 0 45px; overflow:hidden; }
.city-render > img { width:100%; height:100%; object-fit:cover; animation:city-camera 12s ease-in-out infinite alternate; animation-play-state:paused; }
[data-motion="on"] .city-panel.motion-active .city-render > img { animation-play-state:running; }
[data-motion-suspended="true"] .city-render > img { animation-play-state:paused!important; }
@keyframes city-camera { from {transform:scale(1.025) translateY(0)} to {transform:scale(1.085) translateY(-4px)} }
.city-connections { position:absolute; inset:0; width:100%; height:100%; mix-blend-mode:multiply; }
.city-route { fill:none;stroke:#233d92;stroke-width:1;opacity:.18; }
.city-packet { fill:none;stroke:url(#city-pulse);stroke-width:3;stroke-linecap:round;stroke-dasharray:.06 .94;animation:network-travel 5s linear infinite; }
.city-beacon { fill:none;stroke:#6abd46;stroke-width:1.5;transform-origin:0 0;animation:city-beacon 4s ease-out infinite; }
@keyframes city-beacon {0%{opacity:0;transform:scale(.2)}20%{opacity:.8}100%{opacity:0;transform:scale(1.8)}}
.city-stat { bottom:20px;left:20px;right:20px;border-color:#fff;background:#ffffffd9;backdrop-filter:blur(18px);box-shadow:0 8px 28px #233d920d; }
.city-stat strong > span { color:var(--green); }

/* A quieter, substantial footer in the logo's deep blue family. */
.enterprise-footer { position:relative; isolation:isolate; overflow:hidden; background:#101b42; color:#f6f8fd; padding:64px 0 26px; }
.enterprise-footer::before { content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0% 5%,#233d9285,transparent 65%),radial-gradient(ellipse at 100% 10%,#6abd4612,transparent 55%); }
.footer-intro { display:flex;justify-content:space-between;gap:35px;align-items:flex-end;padding-bottom:46px;margin-bottom:46px;border-bottom:1px solid #ffffff1c; }
.footer-intro .menu-eyebrow { color:#a9bcdb;font-size:10px;letter-spacing:1.8px; }
.footer-intro p { margin-top:16px;font-size:clamp(29px,3.1vw,42px);line-height:1.15;letter-spacing:-1.1px;font-weight:400; }
.footer-email { display:flex;align-items:center;gap:24px;padding:0 0 11px;border-bottom:1px solid #6abd4680;font-size:16px; }
.footer-email svg { color:#9bce80;transition:transform .3s; }
.footer-email:hover svg { transform:translate(3px,-3px); }
.enterprise-footer .footer-grid { gap:32px;grid-template-columns:1.6fr 1fr 1.5fr .8fr 1.15fr;padding-bottom:38px; }
.enterprise-footer .footer-brand > .brand { display:inline-flex;max-width:100%;padding:13px 16px 12px;border-radius:10px;background:#fff;box-shadow:0 4px 0 #5d6e9d44; }
.enterprise-footer .brand img { width:185px;height:auto; }
.enterprise-footer .footer-brand p { font-size:12px;line-height:1.8;color:#aab7d0;max-width:29ch;margin:22px 0 16px; }
.enterprise-footer .footer-grid h3 { margin:8px 0 20px;color:#fff;font-size:12px;letter-spacing:.2px;font-weight:500; }
.enterprise-footer .footer-grid > div > button, .enterprise-footer .footer-grid > div > a:not(.brand) { font-size:11px;line-height:1.65;color:#adb9d1;margin:12px 0; }
.enterprise-footer .footer-grid > div > button:hover, .enterprise-footer .footer-grid > div > a:not(.brand):hover { color:#b0df96; }
.enterprise-footer .footer-grid svg { color:#9bc882; }
.enterprise-footer .footer-bottom { border-color:#ffffff1c;color:#aab7d0;font-size:10px;padding-top:24px; }
.enterprise-footer a:focus-visible, .enterprise-footer button:focus-visible { outline-color:#a6d78a; }

@media (max-width:1099px) {
  .enterprise-brand img { width:176px; }
  .client-logos { gap:20px; }
  .client-logos > div { height:116px; }
  .client-logos img,.client-logos > div:nth-child(5) img { width:112px;height:112px;max-height:112px; }
  .enterprise-footer .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:32px; }
  .enterprise-footer .footer-brand { grid-column:1/-1;display:block; }
  .enterprise-footer .footer-brand p { max-width:52ch; }
  .ecosystem-brand { width:174px;height:174px; }
  .ecosystem-brand img { width:144px; }
}
@media (max-width:600px) {
  .enterprise-brand img { width:145px; }
  .client-logos { grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;padding:12px 0; }
  .client-logos > div { height:105px; }
  .client-logos img,.client-logos > div:nth-child(5) img { width:103px;height:103px;max-height:103px; }
  .ecosystem-brand { width:130px;height:130px;padding:13px; }
  .ecosystem-brand img { width:110px; }
  .city-panel { min-height:370px; }
  .city-render { inset:43px -12px 47px; }
  .city-stat { left:16px;right:16px;bottom:16px;padding:14px 16px; }
  .city-tag { top:20px;left:18px;gap:10px;font-size:10px; }
  .enterprise-footer { padding:42px 0 22px; }
  .footer-intro { display:block;padding-bottom:30px;margin-bottom:32px; }
  .footer-intro p { font-size:31px; }
  .footer-email { margin-top:28px;width:fit-content;font-size:14px;gap:35px; }
  .enterprise-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px; }
  .enterprise-footer .footer-brand { grid-column:1/-1; }
  .enterprise-footer .brand img { width:184px; }
  .enterprise-footer .footer-brand p { max-width:40ch;font-size:12px; }
  .enterprise-footer .footer-grid h3 { font-size:13px;margin-bottom:18px; }
  .enterprise-footer .footer-grid > div > button,.enterprise-footer .footer-grid > div > a:not(.brand) { font-size:12px;min-height:25px; }
  .enterprise-footer .footer-bottom { gap:17px; }
  .enterprise-footer .footer-bottom > div { gap:14px;flex-wrap:wrap; }
}
@media (max-width:359px) { .enterprise-brand img{width:120px} .client-logos{gap:10px}.client-logos > div{height:88px}.client-logos img,.client-logos > div:nth-child(5) img{width:86px;height:86px;max-height:86px}.enterprise-footer .footer-grid{gap:22px 18px}.enterprise-footer .footer-grid > div > a:not(.brand){overflow-wrap:anywhere} }
@media (prefers-reduced-motion:reduce) {
  .mega-menu { animation:none; }
  .service-card,.client-logos img,.industry-photo img { transition:none; }
  .service-card:hover,.client-logos img:hover,.industry-card:hover .industry-photo img { transform:none; }
}
[data-motion="paused"] .mega-menu { animation:none; }

/* Final spacing refinement: a single navigation row and a clear statistics band. */
:root { --nav-height: 99px; }
html { scroll-padding-top: calc(var(--nav-height) + 24px); }
.hero-particle-zone {
  position: absolute;
  z-index: 0;
  left: 44%; right: -3%; top: 0; bottom: 24px;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(transparent, #000 12%, #000 64%, transparent 100%);
}
.hero-particle-zone > .particle-field-hero { inset:0; width:100%; height:100%; opacity:.8; }
.enterprise-hero .hero-art { position:relative; z-index:1; }
.proof-grid { margin-top:14px; }
.audience-routes { padding-block:24px 26px; }
.audience-routes article { padding-block:6px; }
.audience-routes article + article { padding-block:6px; }
.audience-routes h2 { margin:5px 0 9px; }
.audience-routes p { margin-bottom:12px; line-height:1.65; max-width:55ch; }
.clients.section { padding-top:38px; }
.contact-scroll-scene.contact { margin-bottom:0; }
.contact-scroll-scene.contact h2 { font-size:clamp(42px,5vw,64px); line-height:1.08; margin:22px auto 28px; }
.contact-scroll-scene.contact p { font-size:13px; line-height:1.8; margin-bottom:26px; }
.contact-scroll-scene .contact-links { margin-top:26px; }
@media (max-width:1099px) { :root { --nav-height:83px; } }
@media (max-width:850px) {
  .hero-particle-zone { top:42%;left:-3%;right:-3%;bottom:16px; }
}
@media (max-width:600px) {
  :root { --nav-height:76px; }
  .proof-grid { margin-top:8px; }
  .audience-routes { padding-block:8px 12px; }
  .audience-routes article,.audience-routes article + article { padding-block:18px; }
  .clients.section { padding-top:30px; }
  .contact-scroll-scene.contact h2 { font-size:40px;letter-spacing:-1.7px;margin-bottom:24px; }
  .contact-scroll-scene.contact p { font-size:12px;max-width:37ch;margin-bottom:24px; }
}
/* Both lines follow the same contrast treatment through the scroll gradient. */
.contact-scroll-scene.contact h2 > * { color:inherit; }

/* Webora-inspired finish: sculpted grey light, inset controls and brand strokes. */
.enterprise-hero {
  background:
    radial-gradient(ellipse at 78% 32%, #fff9 0%, #fff0 51%),
    linear-gradient(118deg, #fafafa 2%, #f0f1f3 33%, #fafafa 51%, #e8eaed 57%, #f7f8f9 75%, #fff 100%);
}
.enterprise-hero::before {
  content:"";
  position:absolute;
  pointer-events:none;
  inset:-27% 29% 37% -19%;
  border-radius:0 0 55% 45%;
  background:linear-gradient(155deg, #fff0 30%, #ffffffad 80%, #fff);
  box-shadow:0 20px 42px #3f485006;
  transform:rotate(12deg);
}
.service-card.service-2, .service-card.service-3, .service-card.service-5 {
  background:
    radial-gradient(ellipse at 5% 0%, #233d9214, transparent 58%),
    radial-gradient(ellipse at 95% 0%, #6abd461a, transparent 55%),
    linear-gradient(145deg, #f8f8f9, #f1f2f3);
  border-color:#e3e5e8;
}
.home-visual {
  background:
    radial-gradient(ellipse at 2% 0%, #233d9221, transparent 60%),
    radial-gradient(ellipse at 95% 5%, #6abd4626, transparent 55%),
    linear-gradient(135deg, #f1f2f4, #fafafa);
  border-color:#e4e6e9;
}

/* A dark face set into a slim white frame; the glow uses the logo colours. */
.enterprise-cta, .button.primary, .contact-scroll-scene .button.primary {
  position:relative;
  isolation:isolate;
  border:5px solid #fafafa;
  border-radius:16px;
  background:linear-gradient(180deg, #42454c 0%, #292c32 40%, #14171d 100%) padding-box;
  color:#fff;
  outline:1px solid #d4d7dc;
  outline-offset:0;
  box-shadow:inset 0 1px 0 #ffffff24, 0 2px 3px #17202c08;
  transition:transform .2s ease, box-shadow .2s ease;
}
.enterprise-cta { padding:11px 17px; }
.button.primary { padding:13px 20px; }
.enterprise-cta::after, .button.primary::after {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
  left:16%; right:16%; bottom:-10px; height:10px;
  border-radius:50%;
  background:linear-gradient(90deg,#233d92a3,#6abd4680);
  filter:blur(10px);
  opacity:.55;
  transition:opacity .2s ease;
}
.enterprise-cta:hover, .button.primary:hover, .contact-scroll-scene .button.primary:hover {
  background:linear-gradient(180deg, #4b4e56, #30343d 42%, #19202e) padding-box;
  box-shadow:inset 0 1px 0 #ffffff40, 0 4px 8px #17202c10;
  transform:translateY(-2px);
}
.enterprise-cta:hover::after, .button.primary:hover::after { opacity:.9; }
.button.secondary {
  border:5px solid #fafafa;
  border-radius:16px;
  background:linear-gradient(#fff, #f0f1f3) padding-box;
  outline:1px solid #d4d7dc;
  outline-offset:0;
  color:#23324e;
  box-shadow:inset 0 1px 0 #fff, 0 2px 3px #17202c05;
  padding:13px 20px;
}
.enterprise-cta:focus-visible, .button.primary:focus-visible, .button.secondary:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:4px;
}
.contact-scroll-scene .button.primary:focus-visible { outline-color:#90c976; }

/* Native details keep keyboard behaviour and work without JavaScript. */
.faq-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:76px 84px;
  background:
    radial-gradient(ellipse at 90% 9%, #fff 0%, #fff0 64%),
    linear-gradient(124deg, #f5f5f6, #eceef0 33%, #f8f8f9 41%, #fdfdfd 78%);
}
.faq-section::before {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:75%;height:110%;left:-16%;top:-65%;
  border-radius:0 0 50% 50%;
  transform:rotate(16deg);
  background:linear-gradient(120deg,#fff0,#ffffffc2);
  box-shadow:0 20px 50px #323c4e04;
}
.faq-section .editorial-split { grid-template-columns:.82fr 1.18fr;gap:60px; }
.faq-section .section-heading { padding-top:12px; }
.faq-list { display:grid;gap:12px;border:0;min-width:0; }
.faq-list details {
  --stroke-angle:35deg;
  border:1.25px solid transparent;
  border-radius:17px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from var(--stroke-angle), #e9ebee 12%, #6abd4685 23%, #233d9270 33%, #e9ebee 44%, #e9ebee 78%, #e9ebee) border-box;
  box-shadow:0 3px 10px #1d253b04;
  animation:faq-stroke 12s linear infinite;
  animation-play-state:paused;
}
.faq-list details[open], .faq-list details:hover, .faq-list details:focus-within {
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from var(--stroke-angle), #e7e9ec 5%, #6abd46 20%, #233d92 33%, #e7e9ec 48%, #e7e9ec 58%, #6abd4690 72%, #233d9270 84%, #e7e9ec 95%) border-box;
  box-shadow:0 8px 24px #1d253b07;
}
.faq-list details:nth-child(even) { animation-delay:-5s; }
.faq-list summary {
  justify-content:flex-start;
  gap:18px;
  padding:22px 24px;
  font-size:15px;
  font-weight:500;
  color:#263044;
  border-radius:13px;
}
.faq-list summary > span { order:-1;width:14px;height:14px; }
.faq-list summary > span::before, .faq-list summary > span::after {
  background:#7c838d;top:6px;width:14px;height:1.5px;
}
.faq-list details[open] summary > span::before { background:var(--blue); }
.faq-list details p {
  padding:0 24px 24px 56px;
  max-width:none;
  font-size:13px;
  line-height:1.8;
  color:#596273;
}
.faq-list summary:focus-visible { outline:2px solid var(--blue);outline-offset:-7px; }
[data-motion="on"] .faq-section.motion-active details:is([open],:hover,:focus-within) { animation-play-state:running; }
[data-motion-suspended="true"] .faq-list details { animation-play-state:paused!important; }
@keyframes faq-stroke { from {--stroke-angle:35deg} to {--stroke-angle:395deg} }
@media (max-width:850px) {
  .faq-section .editorial-split { grid-template-columns:1fr;gap:28px; }
  .faq-section .section-heading { padding-top:0; }
  .enterprise-hero::before { inset:-10% 10% 55% -30%; }
}
@media (max-width:600px) {
  .faq-section { padding-block:48px 52px; }
  .faq-list { gap:10px; }
  .faq-list summary { padding:19px 17px;gap:14px;font-size:14px; }
  .faq-list details p { padding:0 18px 21px 45px;font-size:12px;line-height:1.8; }
  .hero-actions { gap:16px; }
  .hero-actions .button { padding:11px 15px; }
}
@media (prefers-reduced-motion:reduce) {
  .faq-list details { animation:none; }
  .enterprise-cta, .button.primary, .button.secondary { transition:none; }
  .enterprise-cta:hover, .button.primary:hover, .button.secondary:hover { transform:none; }
}

/* A tighter page rhythm after removing the eyebrow labels and repeated footer CTA. */
.enterprise-hero h1 { margin-top:0; }
.enterprise-hero .hero-art-controls { justify-content:flex-end; }
.service-card .service-copy { padding-top:12px; }
.service-card .service-copy h3 { margin-top:0; }
.faq-section .section-heading { padding-top:0; }
.enterprise-footer { padding-top:44px; }
.contact-scroll-scene.contact,
[data-motion="on"] .contact-scroll-scene.contact {
  height:auto;
  min-height:0;
  margin:0;
}
.contact-scroll-scene .contact-stage,
[data-motion="on"] .contact-scroll-scene .contact-stage {
  position:relative;
  top:auto;
  height:auto;
  min-height:0;
}
.contact-scroll-scene .contact-panel { padding:52px 24px 42px; }
.contact-scroll-scene.contact h2 { margin:0 auto 22px; }
.contact-scroll-scene .contact-links { margin-top:22px; }

/* Product photography provides the material detail; motion stays lightweight. */
.home-visual { min-height:0; padding:28px 28px 20px; }
.home-product { position:relative; width:100%; margin:18px auto 4px; }
.home-render-scene { position:relative; animation:home-product-float 6.5s ease-in-out infinite; }
.home-render-scene img { display:block; width:100%; height:auto; }
.home-wireless { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.home-wave { fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;animation:home-wireless 2.8s ease-in-out infinite;opacity:.25; }
.home-wave:nth-child(2) { stroke:#438735;animation-delay:-.25s; }
.home-wave:nth-child(3) { stroke:var(--green);animation-delay:-.5s; }
.home-activity {
  position:absolute;left:27%;top:31%;width:48px;height:48px;
  display:grid;place-items:center;border-radius:13px;
  color:white;background:#12265b75;border:1px solid #ffffff70;
  backdrop-filter:blur(10px);box-shadow:0 8px 20px #14264b30,inset 0 1px 0 #ffffff35;
  transform:rotate(5deg);transition:background .35s ease;
}
.home-visual[data-mode="learn"] .home-activity { background:#24542e90; }
.home-visual[data-mode="unwind"] .home-activity { background:#1e286f90; }
[data-motion="on"] .home-visual.motion-active .home-activity { animation:home-mode-enter .45s ease both; }
.home-mode-controls { margin-block:10px; }
.home-visual > p { min-height:0; }
@keyframes home-product-float {
  0%,100% { transform:translateY(2px) rotate(-.4deg); }
  50% { transform:translateY(-7px) rotate(.4deg); }
}
@keyframes home-wireless {
  0%,100% { opacity:.12;stroke-dashoffset:0; }
  40%,60% { opacity:.9; }
}
@keyframes home-mode-enter { from {opacity:0;scale:.8} to {opacity:1;scale:1} }

/* Motion rhythm: heading → supporting copy → staggered cards → live artwork.
   Individual translate/scale keep entrance motion separate from hover transforms. */
:root { --motion-ease:cubic-bezier(.22,1,.36,1); }
[data-motion="on"] .hero-copy > * {
  animation:hero-arrive 1s var(--motion-ease) both;
}
[data-motion="on"] .hero-copy > p { animation-delay:.12s; }
[data-motion="on"] .hero-copy > .hero-actions { animation-delay:.23s; }
[data-motion="on"] .hero-copy > .home-route { animation-delay:.32s; }
[data-motion="on"] .hero-art { animation:hero-arrive 1.2s .18s var(--motion-ease) both; }
@keyframes hero-arrive {
  from { opacity:0;translate:0 26px; }
  to { opacity:1;translate:0 0; }
}
[data-motion="on"] .motion-reveal {
  --reveal-y:30px;
  transition:
    opacity .85s var(--motion-ease) var(--reveal-delay,0ms),
    translate 1s var(--motion-ease) var(--reveal-delay,0ms),
    scale 1s var(--motion-ease) var(--reveal-delay,0ms),
    transform .35s var(--motion-ease),box-shadow .35s ease,border-color .35s ease;
}
[data-motion="on"] .motion-reveal:not(.is-visible) {
  opacity:0;translate:0 var(--reveal-y);
}
[data-motion="on"] [data-reveal="card"].motion-reveal { --reveal-y:52px; }
[data-motion="on"] [data-reveal="card"].motion-reveal:not(.is-visible) { scale:.98; }
[data-motion="on"] [data-reveal="row"].motion-reveal { --reveal-y:20px; }
[data-motion="on"] [data-reveal="emblem"].motion-reveal { --reveal-y:0px; }
[data-motion="on"] [data-reveal="emblem"].motion-reveal:not(.is-visible) { scale:.9; }
[data-motion="on"] .motion-reveal.is-visible,
[data-motion="on"] .motion-reveal:focus-within { opacity:1;translate:none;scale:1; }

/* Text stays intact and accessible; each heading is revealed as a whole. */
[data-motion="on"] [data-reveal="heading"].motion-reveal { opacity:1;translate:none; }
[data-motion="on"] [data-reveal="heading"] > * {
  transition:opacity .85s var(--motion-ease),translate 1s var(--motion-ease);
}
[data-motion="on"] [data-reveal="heading"] > p { transition-delay:.13s; }
[data-motion="on"] [data-reveal="heading"]:not(.is-visible) > * { opacity:0;translate:0 30px; }
[data-motion="on"] [data-reveal="heading"].is-visible > * { opacity:1;translate:none; }

/* The card frame lands first; artwork and supporting details settle just after. */
[data-motion="on"] .service-card .service-copy > :is(p,.service-tags),
[data-motion="on"] .insight-card .text-link {
  transition:opacity .8s var(--motion-ease) calc(var(--reveal-delay,0ms) + 120ms),
    translate .9s var(--motion-ease) calc(var(--reveal-delay,0ms) + 120ms);
}
[data-motion="on"] :is(.service-card,.insight-card):not(.is-visible):not(:focus-within) :is(.service-copy > p,.service-tags,.text-link) {
  opacity:0;translate:0 12px;
}
[data-motion="on"] .service-card .service-visual {
  transition:scale 1.2s var(--motion-ease) var(--reveal-delay,0ms);
}
[data-motion="on"] .service-card:not(.is-visible):not(:focus-within) .service-visual { scale:.95; }
[data-motion="on"] [data-scroll-art] { translate:0 var(--art-offset,0px); }

/* A quiet reading-progress line, in the existing logo colours. */
[data-motion="on"] .enterprise-header::after {
  content:"";position:absolute;inset:auto 0 -1px;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--green));
  transform:scaleX(var(--page-progress,0));transform-origin:left;
  pointer-events:none;
}
[data-motion="on"] :is(.button,.text-link,.enterprise-cta,.card-arrow) svg {
  transition:translate .3s var(--motion-ease);
}
@media (hover:hover) and (pointer:fine) {
  [data-motion="on"] :is(.button,.text-link,.enterprise-cta,.card-arrow):hover svg,
  [data-motion="on"] .service-card:hover .card-arrow svg { translate:2px -2px; }
}
[data-motion="on"] .faq-list details[open] > p { animation:answer-arrive .35s var(--motion-ease) both; }
@keyframes answer-arrive { from {opacity:0;translate:0 -5px} to {opacity:1;translate:none} }
[data-motion-suspended="true"] :is(.hero-copy > *, .hero-art, .faq-list details > p) { animation-play-state:paused!important; }
@media (max-width:600px) {
  [data-motion="on"] [data-reveal="card"].motion-reveal { --reveal-y:32px; }
  [data-motion="on"] .motion-reveal { transition-duration:.7s,.85s,.85s,.3s,.3s,.3s; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  [data-reveal], [data-reveal] > *, [data-scroll-art], .hero-copy > * { animation:none!important;transition:none!important; }
}
@media (max-width:850px) {
  .home-visual { padding:24px 20px 20px; }
  .home-activity { width:36px;height:36px;border-radius:10px; }
  .home-activity svg { width:19px; }
}
@media (max-width:600px) {
  .contact-scroll-scene .contact-panel { padding:42px 20px 34px; }
  .contact-scroll-scene.contact h2 { margin-top:0;margin-bottom:20px; }
  .enterprise-footer { padding-top:32px; }
  .home-visual { padding:24px 20px 20px; }
  .home-product { margin-top:20px; }
}
@media (prefers-reduced-motion:reduce) {
  [data-reveal="card"].motion-reveal { opacity:1;translate:none;scale:1;filter:none;transition:none; }
  .home-render-scene,.home-wave,.home-activity { animation:none!important; }
}
[data-motion="paused"] .home-activity,
[data-motion-suspended="true"] .home-activity { animation-play-state:paused!important; }

/* A rounded infrastructure grid, fading from soft grey to Intech's pale blue. */
.network-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-block:1px solid #e6eaf0;
  background:
    radial-gradient(ellipse at 100% 100%, #e2eddf70, transparent 50%),
    linear-gradient(180deg, #fafafa 0%, #f0f3f7 25%, #dee6f1 62%, #cbd8e9 100%);
}
.network-section::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:url('/images/network-grid.svg') center top / 128px 112px repeat;
}
.network-section > .editorial-split { position:relative;z-index:1; }
.network-grid-pixels { position:absolute;inset:0;z-index:0;pointer-events:none; }
.network-grid-pixels i {
  position:absolute;
  width:6px;height:6px;
  color:#ffffff91;background:currentColor;
  box-shadow:9px 0 currentColor,18px 0 currentColor,9px -9px currentColor,9px 9px currentColor,18px 9px currentColor,0 18px currentColor,9px 18px currentColor;
}
.network-grid-pixels i:nth-child(1) { left:47%;top:11%;color:#233d9210; }
.network-grid-pixels i:nth-child(2) { left:3%;bottom:14%; }
.network-grid-pixels i:nth-child(3) { right:3%;top:22%;color:#233d9210; }
.network-section .network-panel {
  background:linear-gradient(145deg,#fffffff0,#f7faf6eb);
  border-color:#ffffff;
  box-shadow:inset 0 1px 0 #fff,0 16px 45px #233d9209;
  backdrop-filter:blur(4px);
}
.network-section .section-heading p { color:#5d6c83; }
.network-section .credentials { border-color:#233d921c; }
.network-section .credentials span { color:#65758c; }
@media (max-width:600px) {
  .network-section::before { background-size:92px 88px; }
  .network-grid-pixels i:nth-child(1) { left:auto;right:12%;top:4%; }
  .network-grid-pixels i:nth-child(2) { left:5%;bottom:3%; }
  .network-grid-pixels i:nth-child(3) { display:none; }
}

/* A single frosted resin/glass family, generated in the logo blue and green. */
.frosted-icon {
  display:block;
  flex-shrink:0;
  width:var(--icon-size,64px);
  height:var(--icon-size,64px);
  max-width:100%;
  object-fit:contain;
}
.service-card .frosted-service-visual {
  display:grid;
  place-items:center;
  height:220px;
  min-height:220px;
  padding:12px 20px 0;
  background:none;
  overflow:visible;
}
.frosted-service-object {
  position:relative;
  z-index:1;
  animation:frosted-float 6.5s ease-in-out infinite;
}
.frosted-service-object .frosted-icon { width:202px;height:202px; }
.frosted-service-1 .frosted-icon,.frosted-service-3 .frosted-icon { width:226px;height:208px; }
.frosted-service-4 .frosted-icon { width:230px;height:214px; }
.frosted-signal { position:absolute;inset:20px 0 0;width:100%;height:calc(100% - 20px);pointer-events:none; }
.frosted-signal path { stroke:#233d9224;stroke-width:.8; }
.frosted-signal .frosted-signal-packet { stroke:#6abd46;stroke-width:1.8;stroke-dasharray:.045 .955;animation:network-travel 5.5s linear infinite;animation-play-state:paused; }
:is(.service-1,.service-4) .frosted-signal path:first-child { stroke:#d7e4f233; }
.frosted-hero-node { animation:frosted-float 6s ease-in-out infinite; }
@keyframes frosted-float { 0%,100%{transform:translateY(2px)} 50%{transform:translateY(-7px)} }

.ecosystem-pillar > .frosted-icon { margin:0 auto 13px; }
.ecosystem-credentials .frosted-icon { display:inline-block;vertical-align:middle; }
.audience-routes article > .frosted-icon { margin-top:0; }
.credentials > div > .frosted-icon { margin-top:-4px; }
.mega-groups button { padding-block:10px; }
.mega-groups .frosted-icon { margin-left:-4px; }
.orbit-node > div,
.orbit-node-1 > div,
.orbit-node-2 > div {
  width:70px;height:70px;
  background:none;border:0;border-radius:0;box-shadow:none;
}
.orbit-node { gap:3px; }
.orbit-node-0,.orbit-node-2 { left:calc(50% - 35px); }
.orbit-node-1,.orbit-node-3 { top:calc(50% - 35px); }
.orbit-center {
  background:linear-gradient(135deg,#ffffffd9,#cdddeabb 62%,#9fc9a27a);
  border-color:#ffffffbd;
  box-shadow:inset 0 1px 3px #fff,0 3px 0 #6abd4659,0 7px 0 #233d922b;
  backdrop-filter:blur(14px);
}
.city-panel { background:linear-gradient(135deg,#e8edf4,#f5f7f9 55%,#e6efdf); }
.city-render { inset:48px 0 67px;overflow:visible; }
.city-render > .frosted-icon {
  position:relative;z-index:1;
  width:100%;height:100%;object-fit:contain;
  padding:6px 40px 12px;
  animation:frosted-float 7s ease-in-out infinite;
  animation-play-state:paused;
}
.city-stat > .frosted-icon { margin-left:auto; }
.home-render-scene { aspect-ratio:1.5; }
.home-render-scene .frosted-home-laptop {
  position:absolute;left:0;top:-3%;width:77%;height:100%;object-fit:contain;
}
.home-render-scene .frosted-home-router {
  position:absolute;right:0;bottom:7%;width:26%;height:auto;object-fit:contain;
}
.home-wireless { z-index:2; }
.home-wave { stroke-width:2; }
.home-visual-top > .frosted-icon { margin-top:-5px; }
.insight-art > .frosted-icon { width:136px;height:136px;transition:transform .6s var(--motion-ease); }
@media (hover:hover) and (pointer:fine) {
  [data-motion="on"] .insight-card:hover .frosted-icon { transform:translateY(-5px) rotate(-3deg); }
}
@media (max-width:600px) {
  .service-card .frosted-service-visual { height:210px;min-height:210px;padding-top:8px; }
  .frosted-service-object .frosted-icon { width:190px;height:190px; }
  .frosted-service-1 .frosted-icon,.frosted-service-3 .frosted-icon,.frosted-service-4 .frosted-icon { width:214px;height:200px; }
  .ecosystem-pillar > .frosted-icon { width:54px;height:54px;margin-bottom:12px; }
  .audience-routes article { gap:15px; }
  .audience-routes article > .frosted-icon { width:40px;height:40px; }
  .city-render { inset:48px 0 73px; }
  .city-render > .frosted-icon { padding:6px 24px; }
  .orbit-node > div,.orbit-node-1 > div,.orbit-node-2 > div { width:58px;height:58px; }
  .orbit-node-0,.orbit-node-2 { left:calc(50% - 29px); }
  .home-visual-top > .frosted-icon { width:34px;height:34px; }
}
[data-motion="paused"] .city-render > .frosted-icon { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) {
  .frosted-icon { transition:none!important; }
  .frosted-hero-node,.frosted-service-object,.city-render > .frosted-icon,.frosted-signal-packet { animation:none!important; }
}

/* A single editorial hero, with the supplied image and film alternatives. */
.media-hero { padding:0; overflow:hidden; background:linear-gradient(140deg,#fff,#f8fafb); }
.hero-toolbar { position:relative; z-index:3; display:flex; align-items:center; justify-content:flex-end; gap:16px; min-height:62px; }
.hero-mode-switch { display:flex; gap:3px; padding:4px; border:1px solid #233d921c; border-radius:24px; background:#ffffffcf; backdrop-filter:blur(12px); }
.hero-mode-switch button { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border-radius:20px; font-size:11px; color:#637089; background:transparent; transition:background .2s,color .2s; }
.hero-mode-switch button[aria-pressed="true"] { color:#fff; background:var(--blue); }
.hero-mode-switch button:focus-visible,.film-control:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
.hero-stage { position:relative; isolation:isolate; }
.media-hero-inner { position:relative; display:grid; grid-template-columns:1.04fr 1fr; gap:36px; align-items:center; min-height:440px; padding-block:20px 48px; }
.media-hero .hero-copy { position:relative; z-index:1; min-width:0; }
.media-hero h1 { font-size:clamp(39px,3.65vw,56px); line-height:1.08; letter-spacing:-2.3px; margin:0 0 24px; font-weight:500; }
.media-hero h1 em { font-style:normal; }
.media-hero .hero-copy > p { max-width:57ch; font-size:14px; line-height:1.85; color:#617086; }
.media-hero .hero-actions { gap:14px; margin-top:25px; }
.media-hero .hero-actions .button { min-height:48px; font-size:12px; }
.media-hero .home-route { font-size:12px; margin-top:24px; }
.hero-media { width:100%; min-width:0; border-radius:24px; overflow:hidden; }
.hero-media img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.media-hero .proof-grid { position:relative; z-index:1; margin-top:0; padding-top:24px; padding-bottom:28px; }
.media-hero-film .hero-stage { margin-top:-62px; padding-top:62px; }
.media-hero-film .media-hero-inner { display:flex; min-height:440px; padding-bottom:66px; }
.media-hero-film .hero-copy { max-width:650px; }
.hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.hero-film-wash { position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#fffffffa 0%,#ffffffeb 26%,#ffffff8c 45%,#ffffff00 67%),linear-gradient(0deg,#f9fbfd 0%,#ffffff00 24%); }
.hero-film-controls { position:absolute; bottom:22px; right:0; }
.film-control { display:inline-flex; align-items:center; gap:7px; padding:11px 17px; border:1px solid #ffffffb3; border-radius:24px; background:#ffffffd9; color:#253752; font-size:11px; backdrop-filter:blur(12px); }
.hero-film-controls > p { font-size:11px; padding:10px 14px; background:#ffffffe6; border-radius:8px; }

/* Flat line icons and compact text-led cards replace repeated 3D artwork. */
.line-icon { display:block; flex-shrink:0; color:var(--blue); }
.service-icon { padding:28px 28px 0; }
.service-icon .line-icon { color:var(--blue); }
.service-1 .service-icon .line-icon,.service-4 .service-icon .line-icon { color:#b1d995; }
.service-grid .service-card .service-copy { padding:22px 28px 28px!important; }
.service-grid .service-card .service-copy h3 button { min-height:56px; align-items:center; }
.service-grid .service-card .service-copy p { margin-top:13px; }
.service-grid .service-card { min-height:0; }
.ecosystem-pillar > .line-icon { margin:0 auto 18px; width:40px;height:40px; }
.ecosystem-credentials .line-icon { display:inline-block; vertical-align:middle; width:22px;height:22px; }
.ecosystem-brand { background:#fff;box-shadow:0 0 0 10px #ffffff80;border-color:#dde5e7; }
.audience-routes article > .line-icon { width:32px;height:32px;margin-top:3px; }
.audience-routes article:nth-child(2) > .line-icon { color:#509334; }
.credentials > div > .line-icon { width:25px;height:25px;margin-top:2px; }
.mega-groups button > .line-icon { width:25px;height:25px; }
.service-features .line-icon { width:19px;height:19px; color:#509334; }
.orbit-node > div,.orbit-node-1 > div,.orbit-node-2 > div { width:54px;height:54px;border:1px solid #d6e1e7;border-radius:50%;background:#fff;box-shadow:none; }
.orbit-node > div > .line-icon { width:27px;height:27px; }
.orbit-node-1 .line-icon,.orbit-node-2 .line-icon { color:#509334; }
.orbit-node-0,.orbit-node-2 { left:calc(50% - 27px); }
.orbit-node-1,.orbit-node-3 { top:calc(50% - 27px); }
.orbit-center { background:#fff;border:1px solid #d6e1e7;box-shadow:none;backdrop-filter:none; }
.project-summary.city-panel { position:relative; min-height:265px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; gap:32px; background:linear-gradient(125deg,#edf1f8,#f7faf4); box-shadow:none; }
.project-summary .city-tag { position:static; display:flex; flex-wrap:wrap; gap:14px; }
.project-summary .city-stat { position:static; width:100%; display:flex; align-items:center; gap:24px; padding:28px 0 0; border:0; border-top:1px solid #233d9221; border-radius:0; background:none; backdrop-filter:none; box-shadow:none; }
.project-summary .city-stat strong { font-size:clamp(52px,5.5vw,76px); }
.project-summary .city-stat p { font-size:14px;line-height:1.6; }
.project-summary .city-stat .line-icon { margin-left:auto; color:#509334; }
.home-summary.home-visual { min-height:265px; padding:32px; }
.home-summary .home-visual-top { gap:24px; }
.home-summary .home-visual-top > span { font-size:clamp(25px,2.7vw,36px); }
.home-summary .home-visual-top > .line-icon { width:28px;height:28px; color:#509334; }
.home-summary .home-mode-controls { width:100%;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:32px 0 17px;background:none;border:0;box-shadow:none; }
.home-summary .home-mode-controls button { display:flex;align-items:center;justify-content:center;gap:9px;padding:16px 8px;border:1px solid #233d9221;border-radius:12px;background:#ffffffb3;box-shadow:none;font-size:13px; }
.home-summary .home-mode-controls button[aria-pressed="true"] { background:var(--blue);border-color:var(--blue);color:#fff; }
.home-summary > p { min-height:22px;font-size:12px;margin:0; }
.insight-card { padding:26px 0 0; }
.insight-mark { margin-bottom:18px; }
.insight-1 .insight-mark { color:#509334; }
.insight-card h3 { margin-top:0; }
@media (max-width:1000px) {
  .media-hero-inner { gap:24px;grid-template-columns:1.1fr 1fr;min-height:400px; }
  .media-hero h1 { font-size:clamp(32px,4.2vw,42px);letter-spacing:-1.6px; }
  .media-hero .hero-copy > p { font-size:13px; }
  .media-hero .hero-actions { gap:10px; }
  .media-hero .hero-actions .button { font-size:11px;padding:13px 15px; }
  .media-hero-film .hero-copy { max-width:580px; }
  .service-icon { padding:24px 24px 0; }
  .service-grid .service-card .service-copy { padding:20px 24px 24px!important; }
}
@media (max-width:700px) {
  .hero-toolbar { min-height:58px;gap:10px; }
  .hero-mode-switch button { padding:8px 11px; }
  .media-hero-inner { grid-template-columns:minmax(0,1fr);gap:20px;min-height:0;padding-block:20px 30px; }
  .media-hero h1 { font-size:clamp(33px,5.5vw,43px);letter-spacing:-1.6px;line-height:1.1;margin-bottom:19px; }
  .media-hero .hero-copy > p { font-size:13px;line-height:1.8; }
  .media-hero .hero-actions { margin-top:22px; }
  .media-hero .home-route { margin-top:20px; }
  .hero-media { max-width:540px;margin:auto; }
  .media-hero-film .hero-stage { margin-top:-58px;padding-top:58px; }
  .media-hero-film .media-hero-inner { min-height:460px;align-items:flex-start;padding-top:30px;padding-bottom:70px; }
  .hero-film { object-position:62% center; }
  .hero-film-wash { background:linear-gradient(90deg,#fffffff0,#ffffffba 70%,#ffffff85),linear-gradient(0deg,#f9fbfd,transparent 30%); }
  .media-hero .proof-grid { padding-top:22px;padding-bottom:24px; }
  .project-summary.city-panel { min-height:240px;padding:24px;gap:25px; }
  .project-summary .city-stat { gap:16px; }
  .project-summary .city-stat p { font-size:12px; }
  .home-summary.home-visual { min-height:0;padding:26px 22px; }
  .home-summary .home-mode-controls button { flex-direction:column;gap:8px;padding:16px 5px;font-size:12px; }
  .ecosystem-pillar > .line-icon { width:32px;height:32px; }
  .service-grid .service-card .service-copy h3 button { min-height:48px; }
}
@media (prefers-reduced-motion:reduce) { .hero-mode-switch button { transition:none; } }
