/* ===== Reset + base typography + accessibility primitives ===== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.001ms !important;transition-duration:.001ms !important;}}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font);
  font-size:calc(16px * var(--font-scale));
  line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--heading);line-height:1.22;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;}
h1{font-size:calc(2.1rem * var(--font-scale));}
h2{font-size:calc(1.6rem * var(--font-scale));}
h3{font-size:calc(1.22rem * var(--font-scale));}
h4{font-size:calc(1.03rem * var(--font-scale));}
p{margin:0 0 1rem;}
a{color:var(--link);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
ul,ol{margin:0 0 1rem;padding-left:1.25rem;}
button{font-family:inherit;font-size:inherit;cursor:pointer;}
hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0;}
small{font-size:.82em;}
:target{scroll-margin-top:120px;}

/* ---- keyboard focus: always visible ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{
  outline:3px solid var(--focus);outline-offset:2px;border-radius:4px;
}

/* ---- skip link ---- */
.skip-link{position:absolute;left:12px;top:-60px;background:var(--primary);color:#fff;
  padding:10px 18px;border-radius:0 0 8px 8px;z-index:2000;font-weight:600;transition:top .15s;}
.skip-link:focus{top:0;text-decoration:none;}

/* ---- screen-reader only ---- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---- layout helpers ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,32px);}
.section{padding:clamp(34px,5vw,64px) 0;}
.section.tight{padding:clamp(22px,3vw,36px) 0;}
.grid{display:grid;gap:20px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
.center{text-align:center;}
.muted{color:var(--text-muted);}
.stack>*+*{margin-top:12px;}
.flex{display:flex;}
.between{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.gap8{gap:8px;}.gap12{gap:12px;}.gap16{gap:16px;}
.wrapf{flex-wrap:wrap;}
.hidden{display:none!important;}
@media(max-width:920px){.g4{grid-template-columns:repeat(2,1fr);}.g3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.g4,.g3,.g2{grid-template-columns:1fr;}}

/* ---- eyebrow + section headers ---- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);
  font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--forest,#2E7D32);}
html[lang="gu"] .eyebrow,html[lang="hi"] .eyebrow{letter-spacing:.02em;text-transform:none;}
.sec-head{margin-bottom:26px;}
.sec-head h2{margin:.2em 0 .1em;}
.sec-head .lead{color:var(--text-muted);max-width:60ch;}

/* print friendly */
@media print{
  .site-topbar,.mega,.a11y-bar,.chatbot-fab,.chatbot-panel,.voice-fab,.footer-social,.no-print{display:none!important;}
  body{background:#fff;color:#000;}
  a{color:#000;text-decoration:underline;}
}
