/* Loom Shakti — custom styles layered on top of Tailwind (Preflight disabled) */
:root{ --brand:#2563eb; }
*{ box-sizing:border-box; }
body{ -webkit-font-smoothing:antialiased; }
img{ max-width:100%; height:auto; display:block; }
a{ text-decoration:none; }

/* offset for fixed header on anchor jumps */
section[id], div[id^="anchor"]{ scroll-margin-top:84px; }

/* subtle woven background pattern used on hero + CTA */
.weave-pattern{
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.6) 0 2px, transparent 2px 18px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.6) 0 2px, transparent 2px 18px);
}
.hero-bg{
  background:
    radial-gradient(1100px 500px at 85% -5%, #e0ecff 0%, rgba(224,236,255,0) 60%),
    linear-gradient(180deg,#f3f8ff 0%,#ffffff 70%);
}
.section-soft{ background:linear-gradient(180deg,#f7faff 0%,#ffffff 100%); }

/* gradient text helper */
.text-gradient{ background:linear-gradient(90deg,#2563eb,#16a34a); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* feature card hover lift */
.lift{ transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lift:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -14px rgba(30,41,59,.22); }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }

/* header shrink shadow */
header.scrolled{ box-shadow:0 6px 24px -12px rgba(15,23,42,.25); }

/* float animation for hero badges */
@keyframes floaty{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-8px) } }
.floaty{ animation:floaty 4s ease-in-out infinite; }

/* accordion */
.acc-body{ max-height:0; overflow:hidden; transition:max-height .3s ease; }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
  .floaty{ animation:none; }
  html{ scroll-behavior:auto; }
}
