/* Devagya Vastu — custom.css
   Small supplement to Tailwind CDN: fonts, keyframes, focus states, accordion. */

:root{
  --font-serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-sans:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);}
.font-serif-display{font-family:var(--font-serif);}

/* Focus states (WCAG) */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid #C8A456; outline-offset:3px; border-radius:2px;
}

/* Scroll-reveal */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}

/* Floating WhatsApp pulse */
.wa-float{animation:none;}
.wa-pulse-ring{
  position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:waPulse 2.4s ease-out infinite;
}
@keyframes waPulse{
  0%{transform:scale(1); opacity:.55;}
  70%{transform:scale(1.9); opacity:0;}
  100%{transform:scale(1.9); opacity:0;}
}
@media (prefers-reduced-motion:reduce){ .wa-pulse-ring{animation:none;} }

/* Mobile nav */
.mobile-nav{transform:translateX(100%); transition:transform .25s ease;}
.mobile-nav.open{transform:translateX(0);}

/* Accordion (FAQ / methodology) */
.acc-panel{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.acc-item.open .acc-chevron{transform:rotate(180deg);}
.acc-chevron{transition:transform .25s ease;}

/* Service tabs */
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-btn[aria-selected="true"]{border-color:#C8A456; color:#0A0A0A; background:#FFFFFF;}

/* Form field focus/validation */
.field-invalid{border-color:#C0524A !important;}
.field-error-msg{display:none; color:#C0524A; font-size:0.78rem; margin-top:4px;}
.field-invalid + .field-error-msg, .field-invalid ~ .field-error-msg{display:block;}

/* Utility: hide scrollbar for tab row on mobile */
.no-scrollbar::-webkit-scrollbar{display:none;}
.no-scrollbar{-ms-overflow-style:none; scrollbar-width:none;}
