/* Phase 1 — Brand typography system */
:root{
  --font-serif:"Noto Serif",Georgia,serif;
  --font-kannada:"Noto Serif Kannada","Noto Serif",Georgia,serif;
  --font-devanagari:"Noto Serif Devanagari","Noto Serif",Georgia,serif;
  --type-body-size:17px;
  --type-body-leading:1.75;
  --type-body-measure:72ch;
  --type-h1-size:clamp(52px,8vw,104px);
  --type-h1-leading:1.04;
  --type-h2-size:clamp(38px,5vw,64px);
  --type-h2-leading:1.12;
  --type-h3-size:clamp(21px,2vw,24px);
  --type-h3-leading:1.3;
  --type-lead-size:clamp(19px,2.4vw,27px);
  --type-lead-leading:1.45;
  --type-kicker-size:11px;
  --type-kicker-leading:1.4;
  --type-caption-size:12px;
  --type-caption-leading:1.5;
  --type-meta-size:11px;
  --type-meta-leading:1.4;
  --type-nav-size:12px;
  --type-nav-leading:1.4;
}

html{font-size:100%}
body{font-family:var(--font-serif);font-size:var(--type-body-size);line-height:var(--type-body-leading)}
body:lang(kn){font-family:var(--font-kannada);line-height:1.85}
body:lang(mr){font-family:var(--font-devanagari);line-height:1.8}

.brand-copy strong{font-family:inherit;font-size:17px;line-height:1.25}
.brand-copy small{font-family:inherit;font-size:var(--type-meta-size);line-height:var(--type-meta-leading);letter-spacing:.08em}
body:lang(kn) .brand-copy strong,body:lang(mr) .brand-copy strong{line-height:1.35}
body:lang(kn) .brand-copy small,body:lang(mr) .brand-copy small{line-height:1.45}

.site-header nav>a{font-family:inherit;font-size:var(--type-nav-size);line-height:var(--type-nav-leading)}
.lang{font-family:inherit;font-size:var(--type-meta-size);line-height:1.4}

.hero h1{font-family:var(--font-serif);font-size:var(--type-h1-size);line-height:var(--type-h1-leading)}
body:lang(kn) .hero h1{font-family:var(--font-kannada);line-height:1.18}
body:lang(mr) .hero h1{font-family:var(--font-devanagari);line-height:1.14}
.eyebrow{font-family:inherit;font-size:15px;line-height:1.5}
.lead{font-family:inherit;font-size:var(--type-lead-size);line-height:var(--type-lead-leading)}
.hero-description{font-family:inherit;font-size:15px;line-height:1.7}
.hero-quote{font-family:inherit;font-size:var(--type-caption-size);line-height:1.5}

.section-kicker{font-family:inherit;font-size:var(--type-kicker-size);line-height:var(--type-kicker-leading)}
.intro h2,.module-header h2,.section-heading h2{font-family:inherit;font-size:var(--type-h2-size);line-height:var(--type-h2-leading)}
body:lang(kn) .intro h2,body:lang(kn) .module-header h2,body:lang(kn) .section-heading h2{line-height:1.3}
body:lang(mr) .intro h2,body:lang(mr) .module-header h2,body:lang(mr) .section-heading h2{line-height:1.22}
.intro-copy p,.module-header p,.section-heading p{font-family:inherit;max-width:var(--type-body-measure);line-height:1.85}
body:lang(kn) .intro-copy p,body:lang(kn) .module-header p,body:lang(kn) .section-heading p{line-height:1.95}
body:lang(mr) .intro-copy p,body:lang(mr) .module-header p,body:lang(mr) .section-heading p{line-height:1.9}

.feature-list span,.module-cards strong,.timeline article h3,.utsav-grid h3,.contact-grid h3{font-family:inherit}
.feature-list span{font-size:20px;line-height:1.4}
.module-cards strong{font-size:22px;line-height:1.35}
.module-cards span,.timeline article p,.utsav-grid p{font-size:14px;line-height:1.7}
.timeline article h3,.utsav-grid h3{font-size:var(--type-h3-size);line-height:var(--type-h3-leading)}
.year,.utsav-number{font-size:var(--type-meta-size);line-height:var(--type-meta-leading)}
.notice{font-size:13px;line-height:1.65}
.gallery figcaption{font-size:var(--type-caption-size);line-height:var(--type-caption-leading)}
.visit-card strong,.visit-card a{font-size:18px;line-height:1.5}
.contact-grid h3{font-size:19px;line-height:1.35}

.footer-brand strong{font-family:inherit;font-size:18px;line-height:1.35}
.footer-brand small{font-family:inherit;font-size:var(--type-meta-size);line-height:var(--type-meta-leading)}
.footer-main>p{line-height:1.6}
.footer-columns h3{font-size:12px;line-height:1.4}
.footer-columns a{font-size:12px;line-height:1.5}
.footer-bottom{font-size:10px;line-height:1.5}

.btn{font-family:inherit;font-size:12px;line-height:1.4}
.text-link{font-family:inherit;font-size:12px;line-height:1.5}

@media(max-width:850px){
  body{font-size:16px}
  body:lang(kn){line-height:1.82}
  body:lang(mr){line-height:1.78}
  .hero h1{font-size:clamp(44px,11vw,76px)}
  body:lang(kn) .hero h1{line-height:1.2}
  body:lang(mr) .hero h1{line-height:1.16}
  .intro h2,.module-header h2{font-size:clamp(34px,7.5vw,52px)}
  body:lang(kn) .intro h2,body:lang(kn) .module-header h2{line-height:1.3}
  body:lang(mr) .intro h2,body:lang(mr) .module-header h2{line-height:1.22}
  .intro-copy p,.module-header p,.section-heading p{line-height:1.8}
  body:lang(kn) .intro-copy p,body:lang(kn) .module-header p,body:lang(kn) .section-heading p{line-height:1.9}
  body:lang(mr) .intro-copy p,body:lang(mr) .module-header p,body:lang(mr) .section-heading p{line-height:1.86}
}

@media(max-width:480px){
  .hero h1{font-size:clamp(40px,10.5vw,58px)}
  .module-header h2{font-size:clamp(32px,9.5vw,40px)}
  .module-header p{font-size:14px}
  .notice{font-size:12px;line-height:1.65}
  .brand-copy strong{font-size:16px}
  .brand-copy small{font-size:10px}
}
