/* ===== HYDROCORE motion layer ===== */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* scroll progress */
.hc-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 10000; pointer-events: none;
  background: linear-gradient(90deg, var(--orange), #ff9a6b); transform-origin: 0 50%; transform: scaleX(0); }

/* sticky navbar */
.navbar.hc-sticky { position: sticky; top: 0; z-index: 999; background-color: #fff; transition: transform .5s cubic-bezier(.22,1,.36,1), background-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease; }
.navbar.hc-sticky.hc-scrolled { background-color: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4); box-shadow: 0 10px 30px -18px rgba(2,18,21,.35); }
.navbar.hc-sticky.hc-hidden { transform: translateY(-110%) !important; }

/* logo micro-interaction */
.hc-logo-icon { transition: transform .6s cubic-bezier(.34,1.56,.64,1); }
.brand:hover .hc-logo-icon, .brand-2:hover .hc-logo-icon { transform: rotate(-8deg) scale(1.08); }
.hc-logo-icon path:first-of-type { stroke-dasharray: 30; stroke-dashoffset: 30; animation: hc-draw 1.1s .3s cubic-bezier(.65,0,.35,1) forwards; }
.hc-logo-icon path:last-of-type { stroke-dasharray: 12; stroke-dashoffset: 12; animation: hc-draw .6s 1.1s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes hc-draw { to { stroke-dashoffset: 0; } }


/* feature + contact icons */
.feature-card .feature-icon-box, .contact-icon-box { transition: transform .6s cubic-bezier(.34,1.56,.64,1); }
.feature-card:hover .feature-icon-box { transform: translateY(-6px) rotate(-10deg) scale(1.08); }
.contact-link-box:hover .contact-icon-box { transform: scale(1.12) rotate(8deg); }

/* card lift */
.step-card, .testimonial-card, .before-after-item, .feature-card { transition: box-shadow .5s ease; }
.step-card:hover, .testimonial-card:hover, .feature-card:hover { box-shadow: 0 30px 60px -30px rgba(8,87,100,.35); }

/* highlighted text sweep */
.highlighted-text { background-image: linear-gradient(90deg, rgba(247,94,42,.22), rgba(247,94,42,.22)); background-repeat: no-repeat; background-size: 0% 100%; transition: background-size 1.2s cubic-bezier(.65,0,.35,1) .2s; }
.highlighted-text.hc-in { background-size: 100% 100%; }

/* image hover zoom */
.service-image-box img, .about-image-box img { transition: filter .6s ease; }
.service-image-box:hover img { filter: saturate(1.15) contrast(1.05); }

/* footer link underline */
.footer-link { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 1px; transition: background-size .45s cubic-bezier(.22,1,.36,1); }
.footer-link:hover { background-size: 100% 1px; }

@media (prefers-reduced-motion: reduce) {
  .hc-progress { display: none !important; }
  .hc-logo-icon path { animation: none !important; stroke-dashoffset: 0 !important; }
  .highlighted-text { transition: none; background-size: 100% 100%; }
}

/* initial states before JS runs (no flash on load) */
html.hc-motion .stat-box, html.hc-motion .step-card, html.hc-motion .service-feature,
html.hc-motion .faq-bottom .w-dropdown, html.hc-motion .testimonials-stat-box, html.hc-motion .footer-links-box { opacity: 0; }
html.hc-motion .about-image, html.hc-motion .service-image, html.hc-motion .cta-bg-image { clip-path: inset(18% 12% 18% 12% round 24px); }
html.hc-motion [data-hc-anim="up"], html.hc-motion [data-hc-anim="left"], html.hc-motion [data-hc-anim="right"],
html.hc-motion [data-hc-anim="scale"], html.hc-motion [data-hc-anim="shrink"] { opacity: 0; }
html.hc-motion [data-hc-anim="words"] { visibility: hidden; }
.hc-word-mask { padding-bottom: .08em; margin-bottom: -.08em; }
