/* Decorative motion stays inside the hero's whitespace, behind every control. */
.hero{isolation:isolate}
.hero-ambient{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* hero-line.js: the underline under "made clearer." draws in once. */
.hero-line{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}
.hero-line path{fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.hero-line.is-drawn path{stroke-dashoffset:0;transition:stroke-dashoffset .7s cubic-bezier(.65,0,.35,1) .3s}
@media(prefers-reduced-motion:reduce){.hero-line path{stroke-dashoffset:0}}
/* Client logos at the foot of the hero: quiet, grey, static proof. */
.hero-trust{display:flex;align-items:center;gap:20px 40px;margin-top:40px;padding-top:24px;border-top:1px solid var(--rule)}
.hero-trust p{margin:0;flex:none;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hero-trust ul{display:flex;flex-wrap:wrap;align-items:center;gap:16px 34px;margin:0;padding:0;list-style:none}
.hero-trust img{display:block;width:auto;height:36px;max-width:140px;object-fit:contain;filter:grayscale(1);opacity:.75;mix-blend-mode:multiply}
/* Fine-lettered marks need more height to read at the same visual weight. */
.hero-trust img[src*=mahavir]{height:44px;max-width:150px}.hero-trust img[src*=evergreen]{height:48px;filter:grayscale(1) contrast(2.2) brightness(.6)}
/* Phones: the strip gets its own row in the hero grid. Spare height is split evenly above the headline and above
   "Let's talk" (where the wave sits); both spacers may shrink to 0 on short screens. */
@media(max-width:700px){.hero{grid-template-rows:minmax(0,1fr) auto auto minmax(0,1fr) auto auto auto}.hero .hero-intro>p:first-child+.credibility,.hero .credibility{margin-top:20px}.hero .hero-trust{grid-row:7;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px;padding-top:12px}.hero-trust p{font-size:11px}.hero-trust ul{gap:8px 16px}.hero-trust img{height:20px;max-width:76px}.hero-trust img[src*=mahavir]{height:26px;max-width:84px}.hero-trust img[src*=evergreen]{height:28px}}
/* Monavi has no logo of its own (its site carries the ENBIO brand it distributes), so a plain wordmark. */
.hero-trust-word{font-size:16px;font-weight:700;letter-spacing:-.01em;color:#6b6f75;white-space:nowrap}
.hero-trust img[src*=arihant]{height:24px;max-width:160px}
@media(max-width:700px){.hero-trust-word{font-size:12.5px}.hero-trust img[src*=arihant]{height:15px;max-width:100px}}
@media(max-width:700px) and (max-height:700px){.hero .credibility{margin-top:12px}.hero .hero-trust{margin-top:10px;padding-top:10px;gap:6px}}
/* Phones: the client logos carry the proof, so the stats row is hidden to keep the first screen calm. */
@media(max-width:700px){.hero .credibility{display:none}}
/* Hero contact: the WhatsApp icon replaces the "WhatsApp" caption; only the arrow nudges on hover. */
.hero-contact{grid-template-columns:auto auto 44px;gap:8px 16px}
.hero-contact .hero-wa{width:36px;height:36px;color:#226246;stroke-width:1.7}
.hero-contact:hover .hero-wa{transform:none}
@media(max-width:700px){.hero-contact{gap:6px 12px}.hero-contact .hero-wa{width:30px;height:30px}}
