:root{
  --parchment:#f4ead4;
  --parchment-2:#ecdfc0;
  --ink:#241811;
  --ink-soft:#4a382c;
  --maroon:#7c2331;
  --maroon-deep:#3c0f18;
  --gold:#b3822f;
  --gold-light:#e6c777;
  --line: rgba(36,24,17,0.14);
  --radius: 2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  line-height:1.65;
}
h1,h2,h3,.display{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--maroon);
  margin:0;
}
.deva{ font-family:'Tiro Devanagari Hindi', serif; }
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

/* ---------- NAV ---------- */
header.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(60,15,24,0.94);
  backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(230,199,119,0.25);
}
.nav-inner{
  max-width:1120px; margin:0 auto; padding:16px 32px;
  display:flex; align-items:center; justify-content:space-between;
}
@media (max-width:640px){ .nav-inner{padding:14px 20px;} }
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Fraunces', serif; font-weight:600; font-size:1.05rem;
  color:var(--gold-light); text-decoration:none; letter-spacing:0.02em;
}
.brand .seal-mini{
  width:30px; height:30px; border-radius:50%;
  border:1px solid var(--gold-light);
  display:flex; align-items:center; justify-content:center;
  font-family:'Tiro Devanagari Hindi', serif; font-size:14px; color:var(--gold-light);
  flex-shrink:0;
}
nav.links{display:flex; gap:28px; list-style:none; margin:0; padding:0;}
nav.links a{
  text-decoration:none; color:#efe3c4; font-size:0.86rem;
  letter-spacing:0.08em; text-transform:uppercase; font-weight:500;
  padding-bottom:4px; border-bottom:1px solid transparent;
  transition:border-color .25s ease, color .25s ease;
}
nav.links a:hover, nav.links a.active{ color:var(--gold-light); border-color:var(--gold-light); }
.nav-toggle{ display:none; background:none; border:none; color:var(--gold-light); font-size:1.5rem; cursor:pointer; }
@media (max-width:860px){
  nav.links{
    position:absolute; top:100%; left:0; right:0;
    background:var(--maroon-deep); flex-direction:column; gap:0;
    max-height:0; overflow:hidden; transition:max-height .35s ease;
  }
  nav.links.open{ max-height:400px; }
  nav.links a{ padding:16px 20px; border-bottom:1px solid rgba(230,199,119,0.12); width:100%; }
  .nav-toggle{ display:block; }
}

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{
  position:relative;
  background:
    radial-gradient(ellipse at 20% -10%, rgba(230,199,119,0.18), transparent 55%),
    linear-gradient(180deg, var(--maroon-deep) 0%, #2a0a10 100%);
  color:var(--parchment);
  padding:158px 0 70px;
  overflow:hidden;
}
.page-hero::after{
  content:"";
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(115deg, rgba(230,199,119,0.05) 0 1px, transparent 1px 90px);
  pointer-events:none;
}
.page-hero .inner{ position:relative; z-index:1; max-width:760px; }
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.78rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-light); margin-bottom:20px; font-weight:500;
}
.eyebrow::before{ content:""; width:28px; height:1px; background:var(--gold-light); display:inline-block; }
.page-hero h1{
  font-size:clamp(2.2rem, 4.6vw, 3.4rem);
  line-height:1.08; color:#fbf3e0; font-weight:600;
}
.page-hero p.lede{ margin-top:18px; color:#cdbb9a; font-size:1.04rem; max-width:60ch; }
.crumb{ margin-top:6px; font-size:0.82rem; color:#a68f6c; }
.crumb a{ text-decoration:none; color:#c9b78f; }
.crumb a:hover{ color:var(--gold-light); }

/* ---------- HOME HERO ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(ellipse at 20% -10%, rgba(230,199,119,0.18), transparent 55%),
    linear-gradient(180deg, var(--maroon-deep) 0%, #2a0a10 100%);
  color:var(--parchment);
  padding:168px 0 96px;
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(115deg, rgba(230,199,119,0.05) 0 1px, transparent 1px 90px);
  pointer-events:none;
}
.hero-grid{
  display:grid; grid-template-columns: 1.15fr 0.85fr; gap:56px; align-items:center;
  position:relative; z-index:1;
}
@media (max-width:860px){ .hero-grid{ grid-template-columns:1fr; text-align:center; } }
.hero h1{
  font-size:clamp(2.6rem, 5.4vw, 4.3rem);
  line-height:1.05; color:#fbf3e0; font-weight:600;
}
.hero .deva-name{
  display:block; font-size:clamp(1.1rem,2.2vw,1.5rem); color:var(--gold-light);
  font-weight:400; margin-top:10px; letter-spacing:0.02em;
}
.hero .roles{ margin-top:24px; font-size:1.05rem; color:#d9c9a8; font-weight:400; }
.hero .roles span{ color:var(--gold-light); }
.hero p.lede{ margin-top:22px; max-width:52ch; color:#cdbb9a; font-size:1.02rem; }
@media (max-width:860px){ .hero p.lede{ margin-left:auto; margin-right:auto; } .eyebrow{ justify-content:center; } .eyebrow::before{ display:none; } }
.hero-cta{ margin-top:34px; display:flex; gap:16px; flex-wrap:wrap; }
@media (max-width:860px){ .hero-cta{ justify-content:center; } }
.btn{
  display:inline-block; padding:13px 26px; font-size:0.86rem;
  letter-spacing:0.08em; text-transform:uppercase; font-weight:600;
  text-decoration:none; border-radius:var(--radius); transition:all .25s ease; border:none; cursor:pointer;
}
.btn-primary{ background:var(--gold-light); color:var(--maroon-deep); }
.btn-primary:hover{ background:#f3ddA0; }
.btn-ghost{ border:1px solid rgba(230,199,119,0.5); color:var(--gold-light); background:transparent; }
.btn-ghost:hover{ border-color:var(--gold-light); background:rgba(230,199,119,0.08); }

.seal-wrap{ display:flex; align-items:center; justify-content:center; flex-direction:column; }

/* portrait card (replaces the old circular medallion) */
.portrait-card{
  width:min(300px, 78vw);
  background:linear-gradient(180deg, rgba(230,199,119,0.06), rgba(0,0,0,0.1)), var(--maroon-deep);
  border:1px solid rgba(230,199,119,0.35);
  border-radius:6px;
  padding:14px 14px 22px;
  box-shadow:0 24px 60px -18px rgba(0,0,0,0.55);
}
.portrait-card .photo-frame{
  aspect-ratio:3/4; overflow:hidden; border-radius:3px;
  border:1px solid rgba(230,199,119,0.5);
  box-shadow:0 10px 26px rgba(0,0,0,0.35);
}
.portrait-card .photo-frame img{
  width:100%; height:100%; object-fit:cover; object-position:50% 18%;
  filter:saturate(1.04) contrast(1.04);
  display:block;
}
.portrait-card .name-plate{
  text-align:center; margin-top:18px; padding-top:14px;
  border-top:1px solid rgba(230,199,119,0.3);
}
.portrait-card .name-plate .hindi-name{
  display:block; font-family:'Tiro Devanagari Hindi', serif; color:var(--gold-light);
  font-size:1.05rem; margin-bottom:4px; opacity:0.9;
}
.portrait-card .name-plate .eng-name{
  font-family:'Fraunces', serif; font-style:italic; font-weight:600;
  color:#fbf3e0; font-size:1.15rem; letter-spacing:0.01em;
}
.portrait-card .pen-accent{
  display:flex; justify-content:center; margin-top:16px;
}
.portrait-card .pen-accent img{
  width:150px; max-width:70%; height:auto;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,0.45));
  transform:rotate(-3deg);
}
@media (max-width:480px){
  .portrait-card{ padding:12px 12px 18px; }
  .portrait-card .pen-accent img{ width:130px; }
}

/* ---------- TICKER ---------- */
.ticker{
  background:var(--maroon); border-top:1px solid rgba(230,199,119,0.25);
  border-bottom:1px solid rgba(230,199,119,0.25);
  overflow:hidden; padding:16px 0;
}
.ticker-track{
  display:flex; gap:60px; white-space:nowrap;
  animation: scroll-left 42s linear infinite;
  width:max-content;
}
@keyframes scroll-left{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.ticker-track span{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:1.15rem; color:var(--gold-light); opacity:0.9;
}
.ticker-track span::after{ content:"✦"; margin-left:60px; color:rgba(230,199,119,0.5); font-style:normal; }

/* ---------- SECTION shared ---------- */
section{ padding:104px 0; }
@media (max-width:640px){ section{ padding:64px 0; } }
.section-head{ max-width:640px; margin-bottom:56px; }
.section-head .eyebrow{ color:var(--maroon); }
.section-head .eyebrow::before{ background:var(--maroon); }
.section-head h2{ font-size:clamp(1.9rem,3.6vw,2.7rem); }
.section-head p{ margin-top:16px; color:var(--ink-soft); font-size:1.02rem; max-width:56ch; }
.section-head.on-dark .eyebrow{ color:var(--gold-light); }
.section-head.on-dark .eyebrow::before{ background:var(--gold-light); }
.section-head.on-dark h2{ color:#fbf3e0; }
.section-head.on-dark p{ color:#cdbb9a; }

.bg-alt{ background:var(--parchment-2); }
.bg-dark{ background:linear-gradient(180deg, var(--maroon-deep), #2a0a10); color:var(--parchment); }

/* ---------- ABOUT ---------- */
.about-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:64px; }
@media (max-width:860px){ .about-grid{ grid-template-columns:1fr; } }
.about-copy p{ color:var(--ink-soft); font-size:1.04rem; margin:0 0 20px; }
.about-copy p:first-of-type::first-letter{
  font-family:'Fraunces', serif; font-size:3.4rem; font-weight:600;
  float:left; line-height:0.8; padding:6px 8px 0 0; color:var(--maroon);
}
.facts{ background:var(--parchment-2); border:1px solid var(--line); padding:34px 30px; }
.facts h3{ font-size:1rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--maroon); margin-bottom:22px; font-weight:600; }
.facts dl{ margin:0; display:flex; flex-direction:column; gap:18px; }
.facts .fact{ display:flex; gap:16px; align-items:baseline; }
.facts dt{ font-family:'Fraunces', serif; font-style:italic; color:var(--gold); font-size:0.95rem; min-width:92px; flex-shrink:0; }
.facts dd{ margin:0; font-size:0.95rem; color:var(--ink-soft); }

/* ---------- RECITATIONS / TRACKS ---------- */
.track-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
  gap:2px; background:var(--line); border:1px solid var(--line);
}
.track{ background:var(--parchment); padding:28px; display:flex; flex-direction:column; gap:14px; }
.track-num{ font-family:'Tiro Devanagari Hindi', serif; color:var(--gold); font-size:1.6rem; line-height:1; }
.track h4{ font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem; color:var(--maroon); margin:0; }
.track-frame{ position:relative; width:100%; padding-top:56.25%; background:#111; border:1px solid var(--line); }
.track-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.track-frame .cover-btn{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, rgba(60,15,24,0.35), rgba(60,15,24,0.75));
  cursor:pointer; border:none; padding:0;
}
.track-frame .cover-btn .play-ring{
  width:56px; height:56px; border-radius:50%; border:1.5px solid var(--gold-light);
  display:flex; align-items:center; justify-content:center;
}
.track-frame .cover-btn .play-ring::after{
  content:""; border-style:solid; border-width:9px 0 9px 15px;
  border-color:transparent transparent transparent var(--gold-light); margin-left:4px;
}
.new-collection{ margin-top:2px; padding:34px 28px; background:var(--parchment); border:1px solid var(--line); border-top:none; }
.new-collection h4{ font-family:'Fraunces', serif; font-style:italic; color:var(--maroon); font-size:1.1rem; margin:0 0 18px; }
.mini-track-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }

.watch-link{
  align-self:flex-start; font-size:0.8rem; letter-spacing:0.03em;
  color:var(--gold); text-decoration:none; border-bottom:1px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
.watch-link:hover{ color:var(--maroon); border-color:var(--maroon); }

/* ---------- WORKS / BOOKS ---------- */
.works-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:44px; }
.book-card{ text-align:center; }
.book-frame{
  background:linear-gradient(160deg, var(--maroon-deep), var(--maroon));
  padding:26px 26px 34px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 18px 40px -18px rgba(60,15,24,0.55);
}
.book-frame img{ max-height:220px; width:auto; margin:0 auto; box-shadow:0 10px 24px rgba(0,0,0,0.4); border:6px solid #fdf7e8; }
.book-card h4{ margin-top:20px; font-family:'Fraunces', serif; font-weight:600; color:var(--maroon); font-size:1.05rem; }
.book-card p{ color:var(--ink-soft); font-size:0.92rem; margin-top:6px; }
.book-card.placeholder .book-frame{
  background:repeating-linear-gradient(135deg, var(--parchment-2), var(--parchment-2) 10px, var(--parchment) 10px, var(--parchment) 20px);
  border:1px dashed var(--line);
}
.book-card.placeholder .book-frame span{ font-family:'Fraunces', serif; font-style:italic; color:var(--gold); font-size:0.95rem; }

.shelf{
  margin-top:20px; background:var(--maroon-deep); padding:22px;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.shelf img{ height:80px; width:auto; margin:0 auto; image-rendering:-webkit-optimize-contrast; }
.shelf-caption{ text-align:center; font-size:0.82rem; color:#b6a486; margin-top:12px; }

/* ---------- RECOGNITION / AWARDS ---------- */
.recog-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
@media (max-width:860px){ .recog-grid{ grid-template-columns:1fr; } }
.recog-frame{ border:1px solid rgba(230,199,119,0.3); padding:10px; background:rgba(0,0,0,0.15); }
.recog-copy blockquote{
  margin:0 0 26px; font-family:'Fraunces', serif; font-style:italic;
  font-size:1.3rem; color:var(--gold-light); line-height:1.5; padding-left:22px;
  border-left:2px solid var(--gold-light);
}
.recog-copy p{ color:#d9c9a8; font-size:1rem; }
.recog-stats{ display:flex; gap:40px; margin-top:32px; flex-wrap:wrap; }
.recog-stats .stat b{ display:block; font-family:'Fraunces', serif; font-size:2.1rem; color:#fbf3e0; font-weight:600; }
.recog-stats .stat span{ font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); }

.awards-table-wrap{ overflow-x:auto; border:1px solid var(--line); }
table.awards-table{ width:100%; border-collapse:collapse; min-width:680px; background:var(--parchment); }
table.awards-table caption{ text-align:left; padding:18px 20px; font-family:'Fraunces', serif; font-style:italic; color:var(--maroon); background:var(--parchment-2); border-bottom:1px solid var(--line); }
table.awards-table th{
  text-align:left; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gold); background:var(--parchment-2); padding:14px 18px; border-bottom:1px solid var(--line);
}
table.awards-table td{ padding:14px 18px; font-size:0.92rem; color:var(--ink-soft); border-bottom:1px solid var(--line); vertical-align:top; }
table.awards-table tr:last-child td{ border-bottom:none; }
table.awards-table td.num{ font-family:'Tiro Devanagari Hindi', serif; color:var(--maroon); font-size:1rem; }
table.awards-table tr:hover td{ background:rgba(179,130,47,0.06); }

/* ---------- GALLERY ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:26px; }
.gallery-item{ background:var(--parchment); border:1px solid var(--line); overflow:hidden; }
.gallery-item .img-wrap{ overflow:hidden; }
.gallery-item img{ width:100%; height:auto; transition:transform .5s ease; display:block; }
.gallery-item:hover img{ transform:scale(1.04); }
.gallery-item .cap{ padding:16px 18px; }
.gallery-item .cap h4{ font-family:'Fraunces', serif; font-size:1rem; color:var(--maroon); margin:0 0 4px; }
.gallery-item .cap p{ font-size:0.85rem; color:var(--ink-soft); margin:0; }
.gallery-item.wide{ grid-column: span 2; }
@media (max-width:640px){ .gallery-item.wide{ grid-column: span 1; } }

/* ---------- PHOTO GRID (masonry-ish) + LIGHTBOX ---------- */
.photo-count{ font-size:0.85rem; color:var(--ink-soft); margin-bottom:28px; }
.photo-grid{ columns: 4 240px; column-gap:14px; }
@media (max-width:900px){ .photo-grid{ columns: 3 200px; } }
@media (max-width:560px){ .photo-grid{ columns: 2 140px; } }
.photo-grid figure{
  margin:0 0 14px; break-inside:avoid; background:var(--parchment-2);
  border:1px solid var(--line); overflow:hidden; cursor:zoom-in;
}
.photo-grid img{
  width:100%; height:auto; display:block; transition:transform .4s ease, opacity .4s ease;
  opacity:0; background:var(--parchment-2);
}
.photo-grid img.loaded{ opacity:1; }
.photo-grid figure:hover img{ transform:scale(1.035); }

.lightbox{
  position:fixed; inset:0; z-index:1000; background:rgba(20,8,6,0.94);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .25s ease;
  padding:40px;
}
.lightbox.open{ opacity:1; visibility:visible; }
.lightbox img{ max-width:100%; max-height:85vh; box-shadow:0 20px 60px rgba(0,0,0,0.6); }
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next{
  position:absolute; background:none; border:1px solid rgba(230,199,119,0.5); color:var(--gold-light);
  cursor:pointer; border-radius:50%; width:44px; height:44px; font-size:1.2rem;
  display:flex; align-items:center; justify-content:center; transition:all .2s ease;
}
.lightbox .lb-close:hover, .lightbox .lb-prev:hover, .lightbox .lb-next:hover{ background:rgba(230,199,119,0.12); border-color:var(--gold-light); }
.lightbox .lb-close{ top:24px; right:24px; }
.lightbox .lb-prev{ left:24px; top:50%; transform:translateY(-50%); }
.lightbox .lb-next{ right:24px; top:50%; transform:translateY(-50%); }
.lightbox .lb-counter{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  font-size:0.8rem; letter-spacing:0.08em; color:#cdbb9a;
}
@media (max-width:640px){
  .lightbox{ padding:16px; }
  .lightbox .lb-prev{ left:8px; } .lightbox .lb-next{ right:8px; } .lightbox .lb-close{ top:12px; right:12px; }
}

/* ---------- NOTE STRIP ---------- */
.note-strip{ background:var(--parchment-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; font-size:0.86rem; color:var(--ink-soft); }
.note-strip .wrap{ display:flex; gap:10px; align-items:flex-start; }
.note-strip .mark{ color:var(--maroon); font-weight:600; }

/* ---------- FOOTER ---------- */
footer{ background:var(--maroon-deep); color:#cdbb9a; padding:56px 0 30px; }
.footer-grid{ display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
footer .brand{ margin-bottom:8px; }
footer p{ font-size:0.9rem; max-width:36ch; color:#b6a486; }
footer nav{ display:flex; gap:24px; flex-wrap:wrap; }
footer nav a{ text-decoration:none; color:#e6d9ba; font-size:0.85rem; letter-spacing:0.04em; }
footer nav a:hover{ color:var(--gold-light); }
.footer-bottom{ margin-top:44px; padding-top:22px; border-top:1px solid rgba(230,199,119,0.15); font-size:0.78rem; color:#8f7c62; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

::selection{ background:var(--gold-light); color:var(--maroon-deep); }
a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
