/* ============================================================
   MARUDHAR TECHNOLOGIES — Studio Website
   Design tokens: deep navy / white / light grey / blue accent
   ============================================================ */

:root{
  --navy-950:#0A1420;
  --navy-900:#0D1B2E;
  --navy-800:#132C48;
  --navy-700:#1B3A5C;
  --blue-600:#2A5CE0;
  --blue-500:#3E74F0;
  --blue-400:#6E96F5;
  --blue-100:#E7EEFD;
  --white:#FFFFFF;
  --grey-50:#F6F8FB;
  --grey-100:#EBF0F6;
  --grey-200:#DCE3EC;
  --grey-400:#8C99AB;
  --grey-500:#5B6B82;
  --ink:#0B1220;
  --wa-green:#25D366;
  --wa-green-dark:#1DA851;

  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --container:1240px;
  --radius-s:6px;
  --radius-m:10px;
  --radius-l:16px;

  --ease:cubic-bezier(.19,1,.22,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); margin:0; font-weight:600; letter-spacing:-0.02em; color:var(--navy-950); }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }

:focus-visible{
  outline:2px solid var(--blue-500);
  outline-offset:3px;
  border-radius:2px;
}

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

.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--navy-950); color:var(--white);
  padding:12px 20px; z-index:1000; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

.wrap{ max-width:var(--container); margin:0 auto; padding:0 32px; }
@media (max-width:640px){ .wrap{ padding:0 20px; } }

.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--blue-600);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:500;
}
.eyebrow::before{ content:''; width:16px; height:1px; background:var(--blue-600); display:inline-block; }

.section{ padding:112px 0; }
@media (max-width:900px){ .section{ padding:76px 0; } }

.section-head{ max-width:640px; margin-bottom:56px; }
.section-head h2{ font-size:clamp(28px,3.4vw,42px); margin:16px 0 14px; }
.section-head p{ color:var(--grey-500); font-size:17px; max-width:560px; }

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px; border-radius:var(--radius-s);
  font-weight:600; font-size:14.5px; border:1px solid transparent;
  transition:transform .35s var(--ease), background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
  white-space:nowrap;
}
.btn-lg{ padding:16px 30px; font-size:15.5px; }
.btn-primary{
  background:linear-gradient(180deg, var(--blue-500), var(--blue-600));
  color:var(--white);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 -2px 0 rgba(10,20,40,.15) inset, 0 8px 18px -10px rgba(42,92,224,.65);
}
.btn-primary:hover{ background:linear-gradient(180deg, var(--blue-400), var(--blue-500)); transform:translateY(-2px); box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 14px 28px -10px rgba(42,92,224,.6); }
.btn-primary:active{ transform:translateY(0); box-shadow:0 1px 0 rgba(255,255,255,.2) inset, 0 4px 10px -6px rgba(42,92,224,.5); }
.btn-ghost{ background:var(--white); color:var(--navy-950); border-color:var(--grey-200); box-shadow:0 1px 2px rgba(10,20,40,.05); }
.btn-ghost:hover{ border-color:var(--navy-950); transform:translateY(-2px); box-shadow:0 10px 20px -12px rgba(10,20,40,.3); }
.btn-on-dark{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.28); }
.btn-on-dark:hover{ border-color:var(--white); transform:translateY(-2px); }
.btn svg{ width:14px; height:14px; transition:transform .3s var(--ease); }
.btn:hover svg{ transform:translateX(3px); }
.btn .wa-icon{ width:17px; height:17px; transition:none; }
.btn:hover .wa-icon{ transform:none; }

/* ============ HEADER ============ */
header{
  position:fixed; top:0; left:0; right:0; z-index:500;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
header.scrolled{ border-bottom-color:var(--grey-200); box-shadow:0 6px 24px -18px rgba(10,20,40,.3); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.logo{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:16.5px; letter-spacing:0.02em; color:var(--navy-950); }
.logo-mark{ width:32px; height:32px; border-radius:9px; flex-shrink:0; display:flex; box-shadow:0 6px 14px -6px rgba(42,92,224,.55), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .35s var(--ease); }
.logo:hover .logo-mark{ transform:translateY(-2px) rotate(-4deg); }
.footer-brand .logo-mark{ width:34px; height:34px; }

.nav-links{ display:flex; align-items:center; gap:36px; }
.nav-links a{ font-size:14.5px; font-weight:500; color:var(--navy-800); position:relative; padding:6px 0; }
.nav-links a::after{ content:''; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--blue-600); transition:right .3s var(--ease); }
.nav-links a:hover::after{ right:0; }

.nav-right{ display:flex; align-items:center; gap:22px; }
.nav-right .btn .wa-icon{ width:15px; height:15px; }

.hamburger{
  display:none; width:40px; height:40px; border:1px solid var(--grey-200); border-radius:8px;
  background:var(--white); align-items:center; justify-content:center; flex-direction:column; gap:5px;
}
.hamburger span{ width:18px; height:1.6px; background:var(--navy-950); transition:transform .3s var(--ease), opacity .3s ease; }
.hamburger.active span:nth-child(1){ transform:translateY(6.6px) rotate(45deg); }
.hamburger.active span:nth-child(2){ opacity:0; }
.hamburger.active span:nth-child(3){ transform:translateY(-6.6px) rotate(-45deg); }

.mobile-panel{
  display:none; position:fixed; inset:78px 0 0 0; background:var(--white); z-index:499; padding:36px 24px;
  transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease;
}
.mobile-panel.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
.mobile-panel a{ display:block; font-family:var(--font-display); font-size:26px; padding:16px 0; border-bottom:1px solid var(--grey-100); color:var(--navy-950); }
.mobile-panel .btn{ margin-top:28px; width:100%; }

@media (max-width:880px){
  .nav-links{ display:none; }
  .nav-right .btn-primary{ display:none; }
  .hamburger{ display:flex; }
  .mobile-panel{ display:block; }
}

/* ============ HERO ============ */
.hero{
  position:relative; padding:190px 0 100px;
  background:radial-gradient(1100px 500px at 82% -6%, rgba(42,92,224,.10), transparent 60%), var(--white);
  overflow:hidden;
}
.hero-grid{ display:grid; grid-template-columns:1fr 460px; gap:60px; align-items:center; }
.hero h1{ font-size:clamp(36px,4.9vw,60px); line-height:1.07; max-width:600px; }
.hero-eyebrow{ margin-bottom:22px; }
.hero p.lead{ margin:24px 0 32px; font-size:18px; color:var(--grey-500); max-width:480px; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-meta{ display:flex; gap:36px; margin-top:44px; flex-wrap:wrap; }
.hero-meta-item{ font-size:13.5px; color:var(--grey-500); }
.hero-meta-item span{ display:block; font-family:var(--font-display); font-size:19px; color:var(--navy-950); font-weight:600; margin-bottom:2px; }

.hero-visual{ position:relative; width:100%; aspect-ratio:1/1; }
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ max-width:380px; margin:0 auto; order:-1; }
  .hero{ padding:150px 0 64px; }
}

/* ============ CAPABILITY STRIP ============ */
.capstrip{ background:var(--navy-950); border-top:1px solid var(--navy-800); }
.capstrip .wrap{ display:flex; flex-wrap:wrap; }
.cap-item{ flex:1 1 180px; display:flex; align-items:center; gap:12px; padding:26px 24px; border-right:1px solid rgba(255,255,255,.08); color:var(--white); font-size:14px; font-weight:500; }
.cap-item:last-child{ border-right:none; }
.cap-item svg{ width:18px; height:18px; color:var(--blue-400); flex-shrink:0; }
@media (max-width:900px){ .cap-item{ flex:1 1 45%; border-right:none; border-bottom:1px solid rgba(255,255,255,.08); } }

/* ============ SERVICE CARDS ============ */
.products-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:980px){ .products-grid{ grid-template-columns:1fr; } }

.products-grid{ perspective:1400px; }
.product-card{
  border:1px solid var(--grey-200); border-radius:var(--radius-l); padding:36px 30px 30px; background:var(--white);
  display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s ease;
  position:relative; overflow:hidden; transform-style:preserve-3d;
}
.product-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--blue-600), var(--blue-400)); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.product-card:hover{ transform:translateY(-8px) rotateX(3deg); box-shadow:0 30px 50px -30px rgba(13,27,46,.28); }
.product-card:hover::before{ transform:scaleX(1); }

.product-icon{ width:48px; height:48px; border-radius:12px; background:var(--navy-950); display:flex; align-items:center; justify-content:center; margin-bottom:22px; box-shadow:0 6px 14px -6px rgba(10,20,40,.5), inset 0 1px 0 rgba(255,255,255,.12); }
.product-icon svg{ width:22px; height:22px; color:var(--blue-400); }
.product-card h3{ font-size:21px; margin-bottom:12px; }
.product-card p.desc{ color:var(--grey-500); font-size:15px; margin-bottom:20px; flex-grow:1; }
.product-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.product-tags span{ font-family:var(--font-mono); font-size:11.5px; color:var(--navy-800); background:var(--grey-50); border:1px solid var(--grey-100); padding:5px 10px; border-radius:20px; }

.product-cta{
  display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; color:var(--blue-600);
  padding-top:18px; border-top:1px solid var(--grey-100); background:none; border-left:none; border-right:none; border-bottom-width:0;
  width:100%; text-align:left; justify-content:flex-start;
}
.product-cta svg{ width:14px; height:14px; transition:transform .3s var(--ease); }
.product-card:hover .product-cta svg{ transform:translateX(4px); }

/* ============ ERP HIGHLIGHT ============ */
.erp-highlight{ background:var(--grey-50); }
.erp-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; perspective:1400px; }
@media (max-width:820px){ .erp-grid{ grid-template-columns:1fr; } }

.erp-card{
  position:relative; overflow:hidden; border-radius:var(--radius-l); padding:38px 32px 32px;
  background:linear-gradient(165deg, var(--navy-900), var(--navy-950));
  color:var(--white); display:flex; flex-direction:column;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 30px 60px -34px rgba(10,20,40,.55);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
  transform-style:preserve-3d;
}
.erp-card:hover{ transform:translateY(-8px) rotateX(2.5deg); box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 40px 70px -30px rgba(10,20,40,.6); }
.erp-badge{
  position:absolute; top:22px; right:24px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  background:var(--blue-500); color:var(--white); padding:5px 12px; border-radius:20px; box-shadow:0 6px 14px -6px rgba(62,116,240,.7);
}
.erp-icon{ background:linear-gradient(155deg, var(--blue-500), var(--blue-600)); }
.erp-icon svg{ color:var(--white); }
.erp-card h3{ color:var(--white); font-size:22px; margin-bottom:12px; }
.erp-card .desc{ color:var(--grey-400); font-size:15px; margin-bottom:22px; }
.erp-features{ margin-bottom:26px; display:flex; flex-direction:column; gap:11px; flex-grow:1; }
.erp-features li{ position:relative; padding-left:26px; font-size:14.5px; color:#D6E0F5; }
.erp-features li::before{
  content:''; position:absolute; left:0; top:5px; width:16px; height:16px; border-radius:50%;
  background:rgba(110,150,245,.18); border:1px solid rgba(110,150,245,.5);
}
.erp-features li::after{
  content:''; position:absolute; left:5px; top:8.5px; width:6px; height:3px; border-left:1.6px solid var(--blue-400); border-bottom:1.6px solid var(--blue-400); transform:rotate(-45deg);
}
.erp-cta{ color:var(--white); border-top-color:rgba(255,255,255,.14); }
.erp-card:hover .erp-cta svg{ transform:translateX(4px); }


/* ============ CONTACT CARD ============ */
.contact-card{
  margin-top:36px; display:inline-flex; flex-direction:column; gap:12px; padding:22px 26px; border-radius:var(--radius-m);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(6px);
  text-align:left;
}
.contact-row{ display:flex; gap:10px; align-items:baseline; font-size:14.5px; }
.contact-label{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-400); min-width:56px; }
.contact-value{ color:var(--white); font-weight:500; }
a.contact-value:hover{ text-decoration:underline; }

.footer-contact{ margin-top:10px; font-size:14px; color:var(--grey-400); line-height:1.7; }
.footer-contact a{ color:var(--grey-400); }
.footer-contact a:hover{ color:var(--white); }

/* ============ WHY US ============ */
.why-us{ background:var(--grey-50); }
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:980px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .why-grid{ grid-template-columns:1fr; } }
.why-card{
  background:var(--white); border:1px solid var(--grey-200); border-radius:var(--radius-l); padding:30px 26px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s ease;
}
.why-card:hover{ transform:translateY(-6px); box-shadow:0 24px 44px -28px rgba(13,27,46,.28); border-color:transparent; }
.why-icon{
  width:46px; height:46px; border-radius:12px; background:var(--navy-950); display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; box-shadow:0 6px 14px -6px rgba(10,20,40,.5), inset 0 1px 0 rgba(255,255,255,.12);
}
.why-icon svg{ width:22px; height:22px; color:var(--white); }
.why-card h4{ font-size:17px; color:var(--navy-950); margin-bottom:8px; }
.why-card p{ font-size:14px; color:var(--grey-500); line-height:1.6; }

/* ============ PRICING ============ */
.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
@media (max-width:980px){ .pricing-grid{ grid-template-columns:1fr; } }
.pricing-card{
  border:1px solid var(--grey-200); border-radius:var(--radius-l); padding:36px 30px; background:var(--white);
  display:flex; flex-direction:column; position:relative; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.pricing-card:hover{ transform:translateY(-6px); box-shadow:0 30px 50px -30px rgba(13,27,46,.22); }
.pricing-card.featured{ background:var(--navy-950); border-color:var(--navy-950); color:var(--white); }
.pricing-card.featured h4,
.pricing-card.featured .pricing-desc,
.pricing-card.featured .pricing-features li{ color:var(--white); }
.pricing-card.featured .pricing-features li{ border-top-color:rgba(255,255,255,.12); }
.pricing-badge{
  position:absolute; top:-13px; left:30px; background:var(--blue-600); color:var(--white);
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; padding:5px 12px; border-radius:20px;
}
.pricing-card h4{ font-size:22px; margin-bottom:10px; }
.pricing-desc{ font-size:14.5px; color:var(--grey-500); margin-bottom:24px; }
.pricing-features{ margin-bottom:30px; flex-grow:1; }
.pricing-features li{ font-size:14px; color:var(--navy-800); padding:11px 0; border-top:1px solid var(--grey-100); }
.pricing-features li:first-child{ border-top:none; }
.pricing-card .btn{ width:100%; }
.pricing-card.featured .btn-primary{ background:var(--blue-500); }
.pricing-card.featured .btn-primary:hover{ background:var(--blue-400); }

/* ============ ORDER FORM ============ */
.order{ background:var(--grey-50); }
.order-wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:start; }
@media (max-width:980px){ .order-wrap{ grid-template-columns:1fr; gap:44px; } }
.order-copy p{ color:var(--grey-500); font-size:16px; margin:16px 0 26px; max-width:420px; }
.order-points li{ display:flex; align-items:flex-start; gap:12px; padding:11px 0; font-size:14.5px; color:var(--navy-800); }
.order-points li svg{ width:16px; height:16px; color:var(--blue-600); margin-top:2px; flex-shrink:0; }

.order-form{
  background:var(--white); border:1px solid var(--grey-200); border-radius:var(--radius-l); padding:36px;
  display:flex; flex-direction:column; gap:20px;
}
.form-row{ display:flex; flex-direction:column; gap:8px; }
.form-row label{ font-size:13.5px; font-weight:600; color:var(--navy-800); }
.form-row .optional{ font-weight:400; color:var(--grey-400); }
.form-row input,
.form-row select,
.form-row textarea{
  font-family:inherit; font-size:15px; padding:12px 14px; border:1px solid var(--grey-200); border-radius:var(--radius-s);
  background:var(--white); color:var(--ink); transition:border-color .2s ease, box-shadow .2s ease; resize:vertical;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  border-color:var(--blue-500); outline:none; box-shadow:0 0 0 3px var(--blue-100);
}
.chip-group{ display:flex; flex-wrap:wrap; gap:9px; }
.chip{
  font-family:inherit; font-size:13.5px; font-weight:500; padding:9px 16px; border-radius:20px;
  border:1px solid var(--grey-200); background:var(--white); color:var(--navy-800);
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.chip:hover{ border-color:var(--blue-500); }
.chip.active{ background:var(--navy-950); border-color:var(--navy-950); color:var(--white); }
.form-error{ font-size:13.5px; color:#C0392B; min-height:0; margin:0; display:none; }
.form-error.visible{ display:block; }

/* ============ CONTACT CTA ============ */
.cta-final{
  background:linear-gradient(155deg, var(--navy-950) 0%, var(--navy-800) 100%); color:var(--white);
  text-align:center; position:relative; overflow:hidden;
}
.cta-final::before{ content:''; position:absolute; inset:0; background:radial-gradient(600px 300px at 50% 0%, rgba(62,116,240,.25), transparent 65%); }
.cta-final .inner{ position:relative; max-width:700px; margin:0 auto; }
.cta-final h2{ color:var(--white); font-size:clamp(30px,4.4vw,48px); margin-bottom:18px; }
.cta-final p{ color:var(--grey-400); font-size:17px; margin-bottom:38px; }
.cta-final .hero-ctas{ justify-content:center; }

/* ============ FOOTER ============ */
footer{ background:var(--navy-950); color:var(--grey-400); padding:76px 0 32px; }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.08); }
@media (max-width:800px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand .logo{ color:var(--white); margin-bottom:16px; }
.footer-brand p{ font-size:14.5px; max-width:280px; margin-bottom:24px; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{ width:36px; height:36px; border:1px solid rgba(255,255,255,.14); border-radius:8px; display:flex; align-items:center; justify-content:center; transition:border-color .3s ease, background .3s ease; }
.footer-social a:hover{ border-color:var(--blue-500); background:rgba(62,116,240,.12); }
.footer-social svg{ width:15px; height:15px; }

.footer-col h5{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--white); margin-bottom:20px; font-weight:500; }
.footer-col a{ display:block; font-size:14.5px; padding:7px 0; transition:color .2s ease; }
.footer-col a:hover{ color:var(--white); }

.footer-bottom{ display:flex; justify-content:center; align-items:center; padding-top:28px; font-size:13px; flex-wrap:wrap; gap:14px; }
.footer-bottom-links{ display:flex; gap:22px; }

/* ============ FLOATING WHATSAPP BUTTON ============ */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:600;
  width:56px; height:56px; border-radius:50%; background:var(--wa-green);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px -8px rgba(37,211,102,.55);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s ease;
}
.wa-float svg{ width:28px; height:28px; color:var(--white); }
.wa-float:hover{ background:var(--wa-green-dark); transform:translateY(-3px) scale(1.04); box-shadow:0 16px 32px -8px rgba(37,211,102,.65); }
@media (max-width:640px){ .wa-float{ right:16px; bottom:16px; width:52px; height:52px; } .wa-float svg{ width:25px; height:25px; } }

/* ============ REVEAL ON SCROLL ============ */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in-view{ opacity:1; transform:translateY(0); }
.reveal-stagger.in-view > *{ transition-delay:calc(var(--i,0) * 90ms); }

/* ============ HERO NETWORK ANIMATION ============ */
.pulse-line{ animation:pulseFlow 5.5s linear infinite; }
.pulse-2{ animation-delay:1.1s; }
.pulse-3{ animation-delay:2.3s; }
@keyframes pulseFlow{
  0%{ stroke-dashoffset:0; opacity:0; }
  5%{ opacity:1; }
  90%{ opacity:1; }
  100%{ stroke-dashoffset:-820; opacity:0; }
}
#heroNetwork circle{ transform-box:fill-box; transform-origin:center; }

@media (prefers-reduced-motion: reduce){
  .pulse-line{ animation:none !important; }
}
