/* ==========================================================================
   gagantripathi.com — "Modern editorial, rooted in agriculture"
   ========================================================================== */
:root{
  --ink:#0F2A1F; --brand:#1E5C3A; --fresh:#4CA66B; --gold:#C8902E; --gold-d:#9A6C1E;
  --paper:#F7F5EF; --paper2:#EFEBE0; --card:#FFFFFF; --text:#1B1F1D; --muted:#5B645F; --border:#E4E0D4;
  --on-ink:#F7F5EF; --on-ink-muted:#B9C8BE;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --hindi:"Noto Sans Devanagari","Inter",sans-serif;
  --radius:16px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(15,42,31,.05),0 8px 24px rgba(15,42,31,.07);
  --shadow-lg:0 2px 4px rgba(15,42,31,.06),0 18px 40px rgba(15,42,31,.13);
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --maxw:1200px;
  --header-h:72px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-width:1600px){ :root{ --maxw:1400px; } }
@media (min-width:1900px){ :root{ --maxw:1560px; } html{ font-size:112.5%; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 16px); }
body{ margin:0; background:var(--paper); color:var(--text); font-family:var(--sans); font-size:clamp(1rem,.95rem + .3vw,1.125rem); line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--brand); text-underline-offset:3px; }
a:hover{ color:var(--ink); }
h1,h2,h3,h4{ font-family:var(--serif); color:var(--ink); line-height:1.15; margin:0 0 .5em; font-weight:600; letter-spacing:-.01em; font-optical-sizing:auto; }
h1{ font-size:clamp(2.2rem,1.4rem + 3.6vw,4.4rem); }
h2{ font-size:clamp(1.7rem,1.25rem + 1.9vw,2.8rem); }
h3{ font-size:clamp(1.12rem,1.02rem + .45vw,1.4rem); }
p{ margin:0 0 1em; }
ul,ol{ padding-left:1.2em; }
:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; border-radius:4px; }
.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; }
.skip-link{ position:fixed; left:16px; top:-60px; z-index:1000; background:var(--ink); color:var(--on-ink); padding:10px 16px; border-radius:8px; transition:top .2s; }
.skip-link:focus{ top:12px; color:var(--on-ink); }
.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 16px; }
@media (min-width:768px){ .container{ padding:0 32px; } }
.narrow{ max-width:780px; }
.muted{ color:var(--muted); }
.small{ font-size:.9rem; }
.hi,[lang="hi"]{ font-family:var(--hindi); }
.eyebrow{ font-family:var(--sans); font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-d); margin:0 0 .75em; }
.lead{ font-size:clamp(1.05rem,1rem + .4vw,1.3rem); color:var(--muted); max-width:62ch; }
.rounded{ border-radius:var(--radius); }
.ico{ width:1.1em; height:1.1em; fill:currentColor; flex:none; }

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; min-height:44px; padding:.65em 1.2em; border-radius:999px; font:600 .95rem/1.2 var(--sans); text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .25s; white-space:nowrap; }
.btn:hover{ transform:translateY(-2px); }
.btn--primary{ background:var(--brand); color:#fff; }
.btn--primary:hover{ background:var(--ink); color:#fff; box-shadow:var(--shadow); }
.btn--ghost{ border-color:var(--brand); color:var(--brand); background:transparent; }
.btn--ghost:hover{ background:var(--brand); color:#fff; }
.btn--gold{ background:var(--gold); color:#1d1406; }
.btn--gold:hover{ background:#d9a347; color:#1d1406; }
.btn--lg{ min-height:52px; padding:.8em 1.5em; font-size:1rem; }
.btn--sm{ min-height:38px; padding:.4em 1em; font-size:.85rem; }
.btn .ico{ width:1em; height:1em; }
.btn-row{ display:flex; flex-wrap:wrap; gap:12px; }
.text-link{ display:inline-flex; align-items:center; gap:.4em; font-weight:600; text-decoration:none; color:var(--brand); }
.text-link .ico{ transition:transform .25s var(--ease); }
.text-link:hover .ico{ transform:translateX(4px); }
.chip{ display:inline-block; font:600 .72rem/1 var(--sans); letter-spacing:.04em; padding:.45em .7em; border-radius:999px; background:#E3F0E7; color:var(--brand); text-decoration:none; }
.chip--national{ background:#E7EEF7; color:#1F4E79; }
.chip--state{ background:#F6ECDA; color:#7A5312; }
.chip--startup{ background:#E3F0E7; color:#1E5C3A; }
.chip--academic{ background:#EFE7F5; color:#5B3A7A; }
.chip--college{ background:#F3E6E1; color:#7A3D2A; }
.chip--muted{ background:#ECEAE3; color:#4F5652; }

/* ---------- Header ---------- */
.site-header{ position:sticky; top:0; z-index:100; background:var(--paper); border-bottom:1px solid transparent; transition:border-color .3s,box-shadow .3s; }
.site-header.is-scrolled{ border-color:var(--border); box-shadow:0 4px 20px rgba(15,42,31,.06); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:var(--header-h); }
.wordmark{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); z-index:2; }
.wordmark__mono{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--brand); color:var(--paper); font:700 .95rem/1 var(--serif); box-shadow:inset 0 -3px 0 var(--gold); }
.wordmark__name{ font:600 1.2rem/1 var(--serif); letter-spacing:-.01em; }
.main-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:4px; }
.main-nav ul a{ position:relative; display:block; padding:10px 10px; font-size:.95rem; font-weight:500; color:var(--text); text-decoration:none; }
.main-nav ul a::after{ content:""; position:absolute; left:10px; right:10px; bottom:4px; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.main-nav ul a:hover::after,.main-nav ul a[aria-current="page"]::after{ transform:scaleX(1); }
.main-nav ul a[aria-current="page"]{ color:var(--brand); }
.main-nav__cta{ display:flex; gap:8px; }
.menu-toggle{ display:none; }
@media (min-width:1100px){
  .main-nav{ display:flex; align-items:center; gap:16px; }
  .site-header{ background:rgba(247,245,239,.92); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); }
}
@media (max-width:1099.98px){
  .menu-toggle{ display:grid; place-items:center; width:48px; height:48px; border:0; background:transparent; cursor:pointer; z-index:2; border-radius:12px; }
  .menu-toggle__bars,.menu-toggle__bars::before,.menu-toggle__bars::after{ content:""; display:block; width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform .3s var(--ease),opacity .2s; position:relative; }
  .menu-toggle__bars::before{ position:absolute; top:-7px; }
  .menu-toggle__bars::after{ position:absolute; top:7px; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__bars{ background:transparent; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__bars::before{ transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__bars::after{ transform:translateY(-7px) rotate(-45deg); }
  .main-nav{ position:fixed; inset:0; height:100vh; height:100dvh; background:var(--paper); padding:calc(var(--header-h) + 16px) 24px 32px; display:flex; flex-direction:column; justify-content:space-between; overflow-y:auto; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .3s,transform .3s var(--ease),visibility 0s .3s; z-index:1; }
  .main-nav.is-open{ opacity:1; visibility:visible; transform:none; transition:opacity .3s,transform .3s var(--ease); }
  .main-nav ul{ flex-direction:column; gap:0; }
  .main-nav ul a{ font:600 1.6rem/1.2 var(--serif); padding:12px 0; border-bottom:1px solid var(--border); }
  .main-nav ul a::after{ display:none; }
  .main-nav__cta{ flex-direction:column; margin-top:24px; }
  .main-nav__cta .btn{ min-height:52px; }
  body.menu-open{ overflow:hidden; }
}

/* ---------- Hero ---------- */
.hero{ position:relative; padding:clamp(32px,5vw,80px) 0 0; overflow:hidden; }
.hero::before{ content:""; position:absolute; right:-10%; top:-20%; width:60vw; height:60vw; max-width:900px; max-height:900px; background:radial-gradient(closest-side,rgba(76,166,107,.13),transparent 70%); pointer-events:none; }
.hero-grid{ display:grid; gap:40px; align-items:center; position:relative; }
@media (min-width:1024px){ .hero-grid{ grid-template-columns:1.15fr .85fr; gap:64px; } }
.hero-title{ font-size:clamp(2.8rem,1.6rem + 5.5vw,6rem); font-weight:700; letter-spacing:-.025em; margin-bottom:.25em; }
.hero-lead{ font-size:clamp(1.1rem,1rem + .55vw,1.45rem); color:var(--text); max-width:36ch; line-height:1.5; }
.hero-quote{ margin:24px 0 28px; padding:4px 0 4px 20px; border-left:3px solid var(--gold); }
.hero-quote p{ font:italic 500 clamp(1rem,.95rem + .35vw,1.2rem)/1.55 var(--serif); color:var(--muted); margin:0; max-width:48ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.glance{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px; }
.glance li{ background:var(--card); border:1px solid var(--border); border-radius:999px; padding:8px 14px; font-size:.88rem; line-height:1.3; }
.glance strong{ color:var(--brand); font-weight:600; }
.glance span{ color:var(--muted); }
.hero-media{ position:relative; justify-self:center; width:min(100%,520px); }
.arch{ position:relative; border-radius:999px 999px 24px 24px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 0 0 6px var(--paper),0 0 0 8px var(--gold),var(--shadow-lg); background:#dfe7df; }
.arch__img{ width:100%; height:100%; object-fit:cover; object-position:50% 25%; animation:kenburns 22s ease-in-out infinite alternate; }
@keyframes kenburns{ from{ transform:scale(1.02); } to{ transform:scale(1.09) translate(-1%,-1%); } }
.hero-badge{ position:absolute; left:-8px; bottom:28px; background:var(--ink); color:var(--on-ink); padding:12px 16px; border-radius:14px; font-size:.8rem; line-height:1.35; box-shadow:var(--shadow-lg); margin:0; max-width:240px; }
.hero-badge span{ display:block; font:600 1rem/1.2 var(--serif); color:#F0C774; }
@media (min-width:1024px){ .hero-badge{ left:-36px; } }

/* Marquee */
.marquee{ margin-top:clamp(40px,6vw,72px); border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--card); overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee__track{ display:flex; width:max-content; animation:marquee 38s linear infinite; }
.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{ animation-play-state:paused; }
.marquee__list{ list-style:none; display:flex; margin:0; padding:0; }
.marquee__list li{ padding:18px 28px; font:600 1rem/1 var(--serif); color:var(--brand); white-space:nowrap; display:flex; align-items:center; gap:28px; }
.marquee__list li::after{ content:"✦"; color:var(--gold); font-size:.8rem; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ---------- Sections ---------- */
.section{ padding:clamp(56px,8vw,112px) 0; }
.section--paper2{ background:var(--paper2); }
.section-head{ margin-bottom:clamp(28px,4vw,48px); max-width:760px; }
.section-head--row{ max-width:none; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; }
.section-head--row h2{ margin-bottom:0; }
.page-hero{ padding:clamp(48px,7vw,104px) 0 clamp(32px,4vw,56px); border-bottom:1px solid var(--border); background:linear-gradient(180deg,#F2EFE6,var(--paper)); }
.page-hero h1{ max-width:20ch; }
.split{ display:grid; gap:32px; align-items:center; }
@media (min-width:900px){ .split{ grid-template-columns:1fr 1.1fr; gap:64px; } .split--top{ align-items:start; } }
.split__media img{ width:100%; object-fit:cover; max-height:640px; box-shadow:var(--shadow); }
.split__media .portrait{ aspect-ratio:4/5; object-position:50% 20%; }
.framed{ border:8px solid #fff; }
.prose p{ max-width:68ch; }
.prose h2,.prose h3{ margin-top:1.4em; }
.prose blockquote{ margin:1.5em 0; padding:.2em 0 .2em 1.2em; border-left:3px solid var(--gold); font-family:var(--serif); font-style:italic; color:var(--muted); }
.prose img{ border-radius:var(--radius-sm); margin:1.5em 0; }
.prose table{ width:100%; border-collapse:collapse; margin:1.5em 0; font-size:.95rem; display:block; overflow-x:auto; }
.prose th,.prose td{ border:1px solid var(--border); padding:.6em .8em; text-align:left; }
.prose iframe{ width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:var(--radius-sm); }
.pull-quote{ margin:2em 0; padding:28px; background:var(--ink); color:var(--on-ink); border-radius:var(--radius); border:0; }
.pull-quote p{ font:italic 500 clamp(1.1rem,1rem + .5vw,1.4rem)/1.5 var(--serif); color:var(--on-ink); margin:0 0 .6em; }
.pull-quote cite{ font:600 .85rem var(--sans); color:#F0C774; font-style:normal; letter-spacing:.06em; text-transform:uppercase; }

/* Stats */
.stats-band{ background:var(--ink); color:var(--on-ink); padding:clamp(40px,6vw,72px) 0; }
.stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px 20px; }
@media (min-width:900px){ .stats{ grid-template-columns:repeat(5,1fr); } .stats--3{ grid-template-columns:repeat(3,1fr); } }
.stats--3{ max-width:860px; }
.stat{ border-left:2px solid var(--gold); padding-left:16px; }
.stat__num{ display:block; font:700 clamp(2rem,1.5rem + 2vw,3.2rem)/1.05 var(--serif); color:#fff; }
.stat__label{ display:block; margin-top:6px; font-size:.88rem; color:var(--on-ink-muted); line-height:1.4; }
.stats-note{ margin:28px 0 0; color:var(--on-ink-muted); font-size:.9rem; display:flex; flex-wrap:wrap; align-items:center; gap:16px; }

/* Feature cards */
.cards-3{ display:grid; gap:20px; }
@media (min-width:860px){ .cards-3{ grid-template-columns:repeat(3,1fr); gap:24px; } }
.feature-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:clamp(24px,3vw,36px); box-shadow:var(--shadow); transition:transform .35s var(--ease),box-shadow .35s; display:flex; flex-direction:column; }
.feature-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.feature-card__num{ font:600 .85rem var(--sans); color:var(--gold-d); letter-spacing:.1em; margin-bottom:20px; }
.feature-card p{ color:var(--muted); flex:1; }

/* Award cards */
.awards-grid{ display:grid; gap:22px; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); }
@media (min-width:1900px){ .awards-grid{ grid-template-columns:repeat(4,1fr); } }
.award-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .35s var(--ease),box-shadow .35s; }
.award-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.award-card[hidden]{ display:none; }
.award-card__media{ position:relative; display:block; background:linear-gradient(145deg,#ECE7D9,#F6F3EA); padding:18px; }
.award-card__frame{ display:block; aspect-ratio:4/3; overflow:hidden; border-radius:6px; background:#fff; box-shadow:0 0 0 1px rgba(200,144,46,.45),0 0 0 6px #fff,0 0 0 7px rgba(200,144,46,.35),0 6px 18px rgba(15,42,31,.12); }
.award-card__frame img{ width:100%; height:100%; object-fit:cover; object-position:50% 30%; transition:transform .6s var(--ease); }
.award-card:hover .award-card__frame img{ transform:scale(1.05); }
.award-card__more{ position:absolute; right:26px; bottom:26px; background:rgba(15,42,31,.85); color:#fff; font-size:.75rem; font-weight:600; padding:4px 10px; border-radius:999px; }
.award-card__body{ padding:18px 20px 22px; display:flex; flex-direction:column; gap:4px; flex:1; }
.award-card__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 6px; }
.award-card__date{ font-size:.8rem; color:var(--muted); margin-left:auto; }
.award-card h3{ font-size:1.12rem; margin:0 0 4px; }
.award-card__org{ font-size:.9rem; font-weight:500; color:var(--brand); margin:0; }
.award-card__desc{ font-size:.9rem; color:var(--muted); margin:6px 0 0; }
.lb-hidden{ display:none; }

/* Filters */
.filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.filter{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:.5em 1.1em; border-radius:999px; border:1.5px solid var(--border); background:var(--card); color:var(--text); font:500 .92rem var(--sans); cursor:pointer; text-decoration:none; transition:all .25s; }
.filter span{ font-size:.75rem; color:var(--muted); }
.filter:hover{ border-color:var(--fresh); color:var(--brand); }
.filter.is-active{ background:var(--brand); border-color:var(--brand); color:#fff; }
.filter.is-active span{ color:#cfe3d6; }

/* List cards (grants, IP, memberships) */
.list-cards{ display:grid; gap:20px; }
@media (min-width:900px){ .list-cards{ grid-template-columns:repeat(2,1fr); } }
.list-card{ display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:start; background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow); }
.list-card--lg{ grid-template-columns:1fr; }
@media (min-width:560px){ .list-card--lg{ grid-template-columns:180px 1fr; } }
.list-card__media{ display:block; border-radius:8px; overflow:hidden; border:1px solid var(--border); background:#faf8f2; }
.list-card__media img{ width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top; transition:transform .5s var(--ease); }
.list-card:hover .list-card__media img{ transform:scale(1.04); }
.list-card h3{ font-size:1.1rem; margin-bottom:4px; }
.list-card p{ font-size:.94rem; margin-bottom:.5em; }

/* Timeline */
.timeline{ list-style:none; padding:0; margin:0; position:relative; }
.timeline::before{ content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:linear-gradient(var(--gold),var(--fresh)); }
.timeline__item{ position:relative; padding-left:44px; margin-bottom:24px; }
.timeline__item::before{ content:""; position:absolute; left:4px; top:22px; width:16px; height:16px; border-radius:50%; background:var(--paper2); border:3px solid var(--gold); }
.timeline__card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px 24px; box-shadow:var(--shadow); }
.timeline__years{ font:600 .82rem var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-d); margin-bottom:6px; }
.timeline__card h3{ margin-bottom:4px; }
.timeline__card p{ margin:0; color:var(--muted); }
.timeline__note{ margin-top:10px!important; font-size:.9rem; color:var(--brand)!important; }
@media (min-width:900px){
  .timeline::before{ left:50%; transform:translateX(-1px); }
  .timeline__item{ width:50%; padding:0 48px 0 0; }
  .timeline__item:nth-child(even){ margin-left:50%; padding:0 0 0 48px; }
  .timeline__item::before{ left:auto; right:-8px; }
  .timeline__item:nth-child(even)::before{ right:auto; left:-8px; }
}

/* Certifications */
.cert-grid{ list-style:none; padding:0; margin:0; display:grid; gap:16px; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); }
.cert{ background:var(--card); border:1px solid var(--border); border-top:3px solid var(--fresh); border-radius:var(--radius-sm); padding:20px; }
.cert h3{ font-size:1.05rem; margin-bottom:6px; }
.cert p{ margin:0; color:var(--muted); font-size:.9rem; }

/* Ventures */
.venture__head{ display:flex; align-items:center; gap:20px; margin-bottom:32px; flex-wrap:wrap; }
.venture__head h2{ margin:0; }
.venture__head .eyebrow{ margin-bottom:4px; }
.venture__logo{ width:auto; height:72px; background:#fff; padding:10px 14px; border-radius:14px; border:1px solid var(--border); object-fit:contain; }
.facts{ list-style:none; padding:0; margin:0 0 24px; display:grid; gap:12px; }
.facts li{ position:relative; padding:14px 16px 14px 44px; background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm); font-size:.95rem; }
.facts li::before{ content:"✓"; position:absolute; left:14px; top:13px; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--brand); color:#fff; font-size:.7rem; }
.doc-row{ display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); margin:48px 0; }
.doc{ margin:0; }
.doc a{ display:block; border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow); background:#fff; }
.doc img{ width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top; transition:transform .5s var(--ease); }
.doc a:hover img{ transform:scale(1.04); }
.doc figcaption{ font-size:.88rem; color:var(--muted); margin-top:10px; }
.subhead{ margin-top:16px; }
.testimonials{ display:grid; gap:20px; }
@media (min-width:900px){ .testimonials{ grid-template-columns:repeat(2,1fr); } }
.testimonial{ margin:0; background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); display:flex; flex-direction:column; justify-content:space-between; }
.testimonial blockquote{ margin:0 0 20px; }
.testimonial blockquote p{ font:italic 500 1.1rem/1.55 var(--serif); color:var(--ink); margin:0; }
.testimonial figcaption{ display:flex; gap:14px; align-items:center; }
.testimonial__thumb{ flex:none; width:56px; border-radius:6px; overflow:hidden; border:1px solid var(--border); }
.testimonial__thumb img{ aspect-ratio:3/4; object-fit:cover; object-position:top; }

/* Research */
.papers{ list-style:none; padding:0; margin:0 0 16px; counter-reset:p; }
.paper{ display:grid; grid-template-columns:1fr auto; gap:16px; align-items:start; padding:20px 0; border-bottom:1px solid var(--border); counter-increment:p; }
.paper h3{ font-size:1.1rem; margin-bottom:6px; }
.paper h3::before{ content:counter(p,decimal-leading-zero) "  "; font:600 .85rem var(--sans); color:var(--gold-d); margin-right:6px; }
.paper__authors{ font-size:.9rem; color:var(--muted); margin:0 0 2px; }
.paper__journal{ font-size:.9rem; font-style:italic; color:var(--brand); margin:0; }
.paper__cites{ text-align:center; margin:0; min-width:72px; background:var(--card); border:1px solid var(--border); border-radius:12px; padding:8px 10px; }
.paper__cites strong{ display:block; font:700 1.4rem/1 var(--serif); color:var(--ink); }
.paper__cites span{ font-size:.72rem; color:var(--muted); }
.books{ display:grid; gap:24px; }
@media (min-width:760px){ .books{ grid-template-columns:repeat(2,1fr); } }
.book{ display:grid; grid-template-columns:130px 1fr; gap:22px; align-items:center; background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); }
.book__cover{ display:block; border-radius:4px 10px 10px 4px; overflow:hidden; box-shadow:-4px 6px 16px rgba(15,42,31,.25); }
.book__cover img{ aspect-ratio:2/3; object-fit:cover; width:100%; }
.talks{ display:grid; gap:24px; }
@media (min-width:860px){ .talks{ grid-template-columns:repeat(2,1fr); } }
.talk{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.talk__media{ display:block; overflow:hidden; }
.talk__media img{ width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .6s var(--ease); }
.talk:hover .talk__media img{ transform:scale(1.04); }
.talk__body{ padding:20px 24px 24px; }
.talk__body p:last-child{ margin:0; color:var(--muted); }

/* Press / gallery */
.press-strip{ display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); }
.press-mini{ margin:0; background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
.press-mini img{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:top; }
.press-mini figcaption{ padding:14px 16px; }
.press-mini .hi{ display:block; font-weight:600; line-height:1.45; color:var(--ink); }
.press-mini small{ color:var(--muted); }
.masonry{ columns:1; column-gap:20px; }
@media (min-width:640px){ .masonry{ columns:2; } }
@media (min-width:1024px){ .masonry{ columns:3; } }
@media (min-width:1900px){ .masonry{ columns:4; } }
.masonry > *{ break-inside:avoid; margin:0 0 20px; }
.press-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
.press-card figcaption{ padding:16px 18px; }
.press-card .hi{ font-weight:600; font-size:1.05rem; line-height:1.45; color:var(--ink); margin-bottom:4px; }
.press-card__en{ font-size:.9rem; margin-bottom:4px; }
.press-card img,.photo img{ width:100%; transition:transform .6s var(--ease); }
.press-card a,.photo a{ display:block; overflow:hidden; }
.press-card a:hover img,.photo a:hover img{ transform:scale(1.03); }
.photo{ border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
.letters{ display:grid; gap:20px; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); }
@media (max-width:639.98px){ .letters{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; margin:0 -16px; padding-left:16px; padding-right:16px; } .letter{ flex:0 0 82%; scroll-snap-align:center; } }
.letter{ margin:0; background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; }
.letter__img{ display:block; background:#f4f1e8; padding:16px 16px 0; overflow:hidden; }
.letter__img img{ width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top; border-radius:6px 6px 0 0; box-shadow:0 4px 14px rgba(15,42,31,.12); transition:transform .5s var(--ease); }
.letter:hover .letter__img img{ transform:translateY(-4px); }
.letter figcaption{ padding:18px 20px 20px; }
.letter blockquote{ margin:0 0 12px; font:italic 1rem/1.5 var(--serif); color:var(--ink); }
.letter blockquote p{ margin:0; }

/* Blog */
.posts-grid{ display:grid; gap:24px; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); }
.post-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .35s var(--ease),box-shadow .35s; }
.post-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.post-card__media{ display:block; overflow:hidden; }
.post-card__media img,.post-card__noimg{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.post-card__noimg{ display:grid; place-items:center; background:linear-gradient(135deg,var(--brand),var(--ink)); color:#F0C774; font:700 2.4rem var(--serif); }
.post-card__body{ padding:20px 22px 24px; }
.post-card h3 a{ color:var(--ink); text-decoration:none; }
.post-card h3 a:hover{ color:var(--brand); }
.post-card p{ color:var(--muted); font-size:.95rem; margin:0; }
.meta{ font-size:.85rem; color:var(--muted); margin-bottom:10px; }
.blog-tools{ display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start; justify-content:space-between; margin-bottom:28px; }
.blog-tools .filters{ margin:0; }
.search{ display:flex; border:1.5px solid var(--border); border-radius:999px; background:var(--card); overflow:hidden; min-width:min(100%,320px); }
.search input{ flex:1; border:0; padding:0 18px; min-height:46px; font:inherit; background:transparent; min-width:0; }
.search input:focus{ outline:none; }
.search:focus-within{ border-color:var(--brand); }
.search button{ border:0; background:var(--brand); color:#fff; width:52px; cursor:pointer; display:grid; place-items:center; }
.pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:40px; }
.pagination a{ min-width:44px; min-height:44px; display:grid; place-items:center; padding:0 12px; border:1px solid var(--border); border-radius:12px; background:var(--card); text-decoration:none; }
.pagination a.is-active{ background:var(--brand); color:#fff; border-color:var(--brand); }
.empty{ text-align:center; padding:56px 16px; background:var(--card); border:1px dashed var(--border); border-radius:var(--radius); }
.post-head{ padding:clamp(40px,6vw,88px) 0 24px; }
.post-head h1{ font-size:clamp(2rem,1.4rem + 2.8vw,3.4rem); }
.post--hi .post-head h1,.post--hi .post-body{ font-family:var(--hindi); }
.post--hi .post-body{ line-height:1.85; }
.crumbs{ font-size:.85rem; color:var(--muted); margin-bottom:16px; }
.crumbs a{ color:var(--muted); }
.post-hero{ margin:0 auto 40px; }
.post-hero img{ width:100%; max-height:620px; object-fit:cover; border-radius:var(--radius); }
.post-hero figcaption{ font-size:.85rem; color:var(--muted); margin-top:8px; text-align:center; }
.post-body{ font-size:clamp(1.05rem,1rem + .25vw,1.18rem); }
.post-body h2{ font-size:clamp(1.5rem,1.3rem + .8vw,2rem); }
.tags{ margin:32px 0 16px; display:flex; flex-wrap:wrap; gap:8px; }
.share{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:20px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:24px 0; }
.share > span{ font-weight:600; margin-right:8px; }
.share a,.share button{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--border); background:var(--card); color:var(--brand); cursor:pointer; position:relative; }
.share a:hover,.share button:hover{ background:var(--brand); color:#fff; }
.copy-link__msg{ position:absolute; top:-30px; left:50%; transform:translateX(-50%); font-size:.75rem; background:var(--ink); color:#fff; padding:3px 8px; border-radius:6px; white-space:nowrap; opacity:0; transition:opacity .2s; pointer-events:none; }
.copy-link__msg.show{ opacity:1; }
.prev-next{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0 56px; }
.prev-next a{ display:block; padding:16px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--card); text-decoration:none; color:var(--ink); font-family:var(--serif); font-weight:600; }
.prev-next small{ display:block; font:500 .78rem var(--sans); color:var(--muted); margin-bottom:4px; }
.prev-next__next{ text-align:right; }

/* Contact */
.contact-grid{ display:grid; gap:40px; }
@media (min-width:960px){ .contact-grid{ grid-template-columns:.8fr 1.2fr; gap:64px; } }
.contact-list{ list-style:none; padding:0; margin:0 0 28px; display:grid; gap:12px; }
.contact-list a{ display:flex; align-items:center; gap:16px; padding:16px 18px; background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm); text-decoration:none; color:var(--ink); transition:border-color .25s,transform .25s var(--ease); word-break:break-word; }
.contact-list a:hover{ border-color:var(--fresh); transform:translateX(4px); }
.contact-list .ico{ width:22px; height:22px; color:var(--brand); }
.contact-list small{ display:block; font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.form-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:clamp(20px,4vw,40px); box-shadow:var(--shadow); }
.form-row{ margin-bottom:18px; }
.form-row--2{ display:grid; gap:18px; }
@media (min-width:600px){ .form-row--2{ grid-template-columns:1fr 1fr; } }
.form label{ display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; }
.form input,.form textarea,.form select{ width:100%; font:inherit; padding:12px 14px; min-height:48px; border:1.5px solid var(--border); border-radius:12px; background:#FCFBF7; color:var(--text); transition:border-color .2s,box-shadow .2s; }
.form input:focus,.form textarea:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 4px rgba(30,92,58,.12); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.alert{ padding:14px 18px; border-radius:12px; margin-bottom:20px; }
.alert ul{ margin:0; padding-left:1.1em; }
.alert--ok{ background:#E3F0E7; color:#123D27; border:1px solid #B9DCC5; }
.alert--err{ background:#FBE9E7; color:#7A1E12; border:1px solid #F1C2BB; }
.alert--warn{ background:#FFF4DC; color:#6B4A0C; border:1px solid #F2D9A0; }
.social{ list-style:none; padding:0; margin:16px 0 0; display:flex; gap:10px; }
.social a{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(247,245,239,.25); color:var(--on-ink); transition:background .25s,color .25s; }
.social a:hover{ background:var(--gold); color:var(--ink); }
.social--dark a{ border-color:var(--border); color:var(--brand); background:var(--card); }

/* Footer */
.site-footer{ background:var(--ink); color:var(--on-ink-muted); padding:clamp(56px,7vw,96px) 0 28px; }
.site-footer a{ color:var(--on-ink); text-decoration:none; }
.site-footer a:hover{ color:#F0C774; }
.footer-cta{ text-align:center; max-width:780px; margin:0 auto clamp(48px,6vw,80px); }
.footer-cta .eyebrow{ color:#F0C774; }
.footer-cta__line{ font:600 clamp(1.5rem,1.1rem + 1.8vw,2.5rem)/1.25 var(--serif); color:#fff; margin-bottom:28px; }
.footer-grid{ display:grid; gap:32px; padding-top:40px; border-top:1px solid rgba(247,245,239,.12); }
@media (min-width:760px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; } }
.footer-name{ font:600 1.4rem var(--serif); color:#fff; margin-bottom:6px; }
.footer-muted{ font-size:.92rem; }
.footer-head{ font:600 .78rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:#F0C774; margin-bottom:12px; }
.footer-links{ list-style:none; padding:0; margin:0; display:grid; gap:4px; }
.footer-links a{ display:inline-flex; align-items:center; gap:6px; min-height:36px; font-size:.95rem; word-break:break-word; }
.footer-links .ico{ width:.85em; height:.85em; opacity:.6; }
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:40px; padding-top:20px; border-top:1px solid rgba(247,245,239,.12); font-size:.85rem; }
.footer-bottom p{ margin:0; }
.error-page{ text-align:center; min-height:55vh; display:grid; align-items:center; }
.error-page .btn-row{ justify-content:center; }

/* Lightbox */
.lightbox{ position:fixed; inset:0; z-index:500; background:rgba(9,22,16,.97); display:grid; grid-template-columns:auto 1fr auto; align-items:center; opacity:0; transition:opacity .3s; }
.lightbox.is-open{ opacity:1; }
.lightbox[hidden]{ display:none; }
.lightbox__figure{ margin:0; height:100vh; height:100dvh; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:56px 8px 16px; min-width:0; }
.lightbox__stage{ flex:1; display:flex; align-items:center; justify-content:center; width:100%; min-height:0; overflow:hidden; touch-action:pan-y pinch-zoom; }
.lightbox__img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:6px; box-shadow:0 10px 40px rgba(0,0,0,.5); transform:scale(.96); transition:transform .35s var(--ease); cursor:zoom-in; }
.lightbox.is-open .lightbox__img{ transform:scale(1); }
.lightbox.is-zoomed .lightbox__img{ transform:scale(1.9); cursor:zoom-out; }
.lightbox__caption{ color:#E6EEE8; font-size:.92rem; text-align:center; max-width:880px; padding:14px 8px 0; line-height:1.45; }
.lightbox__close,.lightbox__nav{ border:0; background:rgba(255,255,255,.1); color:#fff; width:52px; height:52px; border-radius:50%; font-size:2rem; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .2s; margin:0 8px; }
.lightbox__close:hover,.lightbox__nav:hover{ background:rgba(255,255,255,.25); }
.lightbox__close{ position:absolute; top:10px; right:6px; z-index:2; }
.lightbox__count{ position:absolute; top:22px; left:20px; color:#C9D6CD; font-size:.85rem; margin:0; }
@media (max-width:640px){ .lightbox__nav{ position:absolute; bottom:14px; width:48px; height:48px; } .lightbox__prev{ left:12px; } .lightbox__next{ right:12px; } .lightbox{ grid-template-columns:1fr; } .lightbox__figure{ padding-bottom:72px; } }

/* Reveal animation */
.js .reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease),transform .8s var(--ease); transition-delay:var(--d,0s); }
.js .reveal.is-in{ opacity:1; transform:none; }
img[loading="lazy"]{ background:#ece8dd; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .js .reveal{ opacity:1; transform:none; }
  .marquee__track{ animation:none; flex-wrap:wrap; width:auto; }
  .marquee__list[aria-hidden="true"]{ display:none; }
  .marquee__list{ flex-wrap:wrap; justify-content:center; }
  .arch__img{ animation:none; }
}

/* Print (About / Achievements) */
@media print{
  .site-header,.site-footer,.marquee,.filters,.menu-toggle,.lightbox,.share,.btn,.footer-cta,.blog-tools,.skip-link{ display:none!important; }
  body{ background:#fff; color:#000; font-size:11pt; }
  .section,.page-hero{ padding:12pt 0; background:none!important; border:0; }
  .stats-band{ background:none; color:#000; } .stat__num{ color:#000; } .stat__label{ color:#333; }
  .award-card,.list-card,.timeline__card,.cert{ box-shadow:none; break-inside:avoid; border:1px solid #bbb; }
  .awards-grid{ grid-template-columns:repeat(3,1fr); }
  .js .reveal{ opacity:1!important; transform:none!important; }
  a{ color:#000; text-decoration:none; }
  .award-card[hidden]{ display:flex!important; }
}
.list-card--stack{ grid-template-columns:1fr; }
@media (min-width:560px){ .list-card--stack{ grid-template-columns:260px 1fr; align-items:center; } }
.list-card__media--wide img{ aspect-ratio:auto; object-fit:contain; }

/* ==========================================================================
   International Exposures (Home) — all rules scoped under .intl-
   Uses existing tokens only: --ink, --brand, --gold, --gold-d, --card, --border, --muted, --radius, --shadow
   ========================================================================== */
.intl-section + .section--paper2{ border-top:1px solid var(--border); }
.intl-stats{ list-style:none; margin:0 0 clamp(28px,4vw,44px); padding:0; display:grid; gap:12px; grid-template-columns:1fr; }
@media (min-width:640px){ .intl-stats{ grid-template-columns:repeat(3,1fr); gap:16px; } }
.intl-stat{ background:var(--ink); color:var(--on-ink-muted); border-radius:var(--radius); padding:18px 20px; border-left:3px solid var(--gold); }
.intl-stat__value{ display:block; font:700 clamp(1.15rem,1rem + .7vw,1.6rem)/1.2 var(--serif); color:#fff; }
.intl-stat__label{ display:block; margin-top:4px; font-size:.85rem; line-height:1.4; }
.intl-grid{ display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width:640px){ .intl-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .intl-grid{ grid-template-columns:repeat(3,1fr); } }
.intl-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .35s var(--ease),box-shadow .35s; }
.intl-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.intl-card__media{ display:block; background:linear-gradient(145deg,#ECE7D9,#F6F3EA); padding:16px; }
.intl-card__frame{ display:block; aspect-ratio:16/10; overflow:hidden; border-radius:6px; background:#fff; box-shadow:0 0 0 1px rgba(200,144,46,.45),0 0 0 5px #fff,0 0 0 6px rgba(200,144,46,.35),0 6px 18px rgba(15,42,31,.12); }
.intl-card__frame img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; transition:transform .6s var(--ease); }
.intl-card:hover .intl-card__frame img{ transform:scale(1.04); }
.intl-card__icon{ display:grid; place-items:center; height:120px; background:linear-gradient(135deg,var(--brand),var(--ink)); color:#F0C774; font-size:2rem; }
.intl-card__body{ padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.intl-card__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 10px; }
.intl-card__date{ font-size:.8rem; color:var(--muted); margin-left:auto; text-align:right; }
.intl-badge--fellowship{ background:#E7EEF7; color:#1F4E79; }
.intl-badge--participation{ background:#ECEAE3; color:#4F5652; }
.intl-badge--recognition{ background:#F6ECDA; color:#7A5312; }
.intl-badge--recommendation{ background:#EFE7F5; color:#5B3A7A; }
.intl-card h3{ font-size:1.12rem; margin:0 0 4px; }
.intl-card__org{ font-size:.9rem; font-weight:500; color:var(--brand); margin:0 0 8px; }
.intl-card__desc{ font-size:.92rem; color:var(--muted); margin:0 0 12px; }
.intl-card__quote{ margin:0 0 14px; padding:10px 0 10px 14px; border-left:3px solid var(--gold); }
.intl-card__quote p{ font:italic 500 .95rem/1.5 var(--serif); color:var(--ink); margin:0 0 6px; }
.intl-card__quote footer{ font-size:.78rem; color:var(--muted); }
.intl-card__actions{ margin:auto 0 0; display:flex; flex-wrap:wrap; gap:8px 16px; }
.intl-card__btn{ display:inline-flex; align-items:center; gap:.4em; min-height:44px; font-weight:600; font-size:.92rem; color:var(--brand); text-decoration:none; }
.intl-card__btn .ico{ width:1em; height:1em; transition:transform .25s var(--ease); }
.intl-card__btn:hover .ico{ transform:translateX(4px); }
@media (prefers-reduced-motion:reduce){ .intl-card,.intl-card__frame img{ transition:none; } .intl-card:hover{ transform:none; } .intl-card:hover .intl-card__frame img{ transform:none; } }
@media print{ .intl-card{ box-shadow:none; break-inside:avoid; border:1px solid #bbb; } .intl-stat{ background:none; color:#000; border:1px solid #bbb; } .intl-stat__value{ color:#000; } .intl-card__actions{ display:none; } }
