:root{--cream-soft:rgba(247,239,225,.72);--cream-faint:rgba(247,239,225,.16);--paper:#e9c982;--paper2:#f2e2bd;--ink:#2b2016;--night:#1b130b;--teal:#00585b;--red:#971e16;--gold:#f0d782;--cream:#f7efe1;--line:rgba(43,32,22,.22)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper);color:var(--ink);overflow-x:hidden}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;background:var(--paper);color:var(--ink)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.k{font-family:Khand,"Arial Narrow",sans-serif;font-weight:700}

/* top bar — ink strip */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(20px,5vw,56px);background:var(--night);color:var(--cream)}
.back{display:inline-flex;align-items:center;gap:9px;padding:8px 0;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-soft)}
.back:hover{color:var(--gold)}
.topbar .when{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.topbar-right{display:flex;align-items:center;gap:18px}
.lang{text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);border:1px solid rgba(247,239,225,.3);padding:9px 12px}
.lang:hover{color:var(--gold);border-color:var(--gold)}

/* hero — paper + Madhubani border on the left, the painting on the right */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:stretch;background:var(--paper)}
.hero-type{position:relative;display:grid;align-content:center;padding:clamp(70px,9vw,120px) clamp(28px,5.5vw,80px) clamp(48px,6vw,90px);min-height:min(88svh,820px);overflow:hidden}
.hero-type > *{position:relative;z-index:1}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:18px}
h1{font-family:Khand,"Arial Narrow",sans-serif;font-weight:700;font-size:clamp(76px,11.5vw,184px);line-height:.84;letter-spacing:.1em;color:var(--red);padding-left:.02em}
.deva{font-family:Khand,"Noto Serif Devanagari",serif;font-weight:700;font-size:clamp(28px,3.4vw,52px);line-height:1.2;color:var(--teal);margin-top:6px}
.sub{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(22px,2.4vw,34px);line-height:1.25;max-width:20ch;margin-top:22px;color:var(--ink)}
.shows{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.show{display:grid;gap:2px;padding:12px 16px;background:var(--paper2);border:1px solid var(--line);font-variant-numeric:tabular-nums}
.show b{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:600}
.show span{font-size:17px;font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border:2px solid var(--ink);padding:15px 24px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);transition:background .2s,color .2s,transform .2s}
.btn.primary{background:var(--red);color:var(--cream);border-color:var(--red)}
.btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn:active{transform:scale(.97)}
.hero-art{position:relative;overflow:hidden;background:var(--night)}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%}

/* open — the story in short, on night */
.open{position:relative;overflow:hidden;background:var(--night);color:var(--cream);padding:clamp(60px,9vw,130px) clamp(28px,5.5vw,80px) clamp(70px,9vw,130px)}
.open::before{content:"संगम";content:"संगम" / "";position:absolute;right:-.06em;top:50%;transform:translateY(-52%);font-family:Khand,"Noto Serif Devanagari",serif;font-weight:700;font-size:clamp(200px,32vw,520px);line-height:1;color:var(--gold);opacity:.06;pointer-events:none}
.open p{position:relative;font-family:"Playfair Display",Georgia,serif;font-size:clamp(24px,3vw,44px);line-height:1.24;max-width:24ch;color:var(--cream)}
.open p:first-child{color:var(--gold)}
.open p+p{margin-top:22px}
.open .cue{font-family:Inter,sans-serif;font-size:clamp(15px,1.3vw,18px);font-weight:500;letter-spacing:.04em;color:rgba(247,239,225,.7);max-width:none;margin-top:34px}

/* sections */
.section{padding:clamp(56px,8vw,110px) clamp(28px,5.5vw,80px)}
#details{background:var(--paper2)}
.grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(28px,6vw,80px);align-items:start}
h2{font-family:Khand,"Arial Narrow",sans-serif;font-weight:700;font-size:clamp(46px,6.4vw,96px);line-height:.9;letter-spacing:.04em;color:var(--red);margin-bottom:22px}
p{font-size:17px;line-height:1.65;color:var(--ink);max-width:66ch}
.story p:first-of-type{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(22px,2.2vw,30px);line-height:1.3;color:var(--teal)}
.story p + p{margin-top:16px}
.note{margin-top:26px;font-weight:600;color:var(--red)}
.facts{display:grid;gap:0;border-top:2px solid var(--ink)}
.fact{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.fact strong{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);font-weight:600;padding-top:3px}
.fact span{font-size:16px;line-height:1.55;font-variant-numeric:tabular-nums}
.ics{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);text-decoration:none;border-bottom:2px solid currentColor;padding:6px 0 3px}
.ics:hover{color:var(--ink)}

/* company + students */
.wide{background:var(--paper)}
.wide h2{margin-bottom:12px}
.wide .intro{margin-bottom:30px}
.people{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.person img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border:6px solid var(--paper2)}
.person b{display:block;padding:10px 2px 0;font-family:Khand,sans-serif;font-weight:700;font-size:20px;line-height:1.05;letter-spacing:.02em;color:var(--ink)}
#students{background:var(--paper2)}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border:6px solid var(--paper)}
.photo-credit{margin-top:16px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);max-width:none}

/* why — the loud plane */
.why{position:relative;overflow:hidden;background:var(--red);color:var(--cream);padding:clamp(60px,9vw,130px) clamp(28px,5.5vw,80px)}
.why .eyebrow{color:var(--gold)}
.why blockquote{position:relative;margin:0;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(24px,2.8vw,40px);line-height:1.28;max-width:30ch}
.why blockquote p{font:inherit;color:var(--cream);max-width:none}
.why blockquote p+p{margin-top:20px}
.why cite{display:block;margin-top:28px;font-style:normal;font-family:Khand,sans-serif;font-weight:700;font-size:24px;letter-spacing:.08em;color:var(--gold)}

/* credits — night */
#credits{background:var(--night);color:var(--cream)}
#credits h2{color:var(--gold)}
#credits p{color:rgba(247,239,225,.86)}
.credits{display:grid;gap:0;border-top:2px solid var(--gold)}
.credit{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--cream-faint)}
.credit strong{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;padding-top:3px}
.credit span{color:var(--cream);line-height:1.55}
.invite{margin-top:22px;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,28px);line-height:1.3;color:var(--cream)!important}
.invite + .btn{margin-top:26px}
#credits .btn.primary{border-color:var(--red)}
#credits .btn.primary:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}

footer{position:relative;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding:calc(100vw * 400 / 4096 + 28px) clamp(24px,6vw,76px) 30px;background:var(--night);color:rgba(247,239,225,.6);font-size:13px}
footer::before{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:4096/400;background:url(assets/kit/fish-band.jpg) center bottom/100% auto no-repeat}
footer a{display:inline-block;padding:6px 0;text-decoration:none;color:rgba(247,239,225,.78)}
footer a:hover{color:var(--gold)}
.foot-links{display:flex;flex-wrap:wrap;gap:22px}

@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-art{order:-1;aspect-ratio:4/3}
  .hero-type{min-height:0;padding-top:clamp(36px,9vw,56px)}
  }
@media(max-width:1100px){.people{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .grid{grid-template-columns:1fr}
  .fact,.credit{grid-template-columns:1fr;gap:4px}
  .topbar .when{display:none}
  .people{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .person b{font-size:16px}
  .gallery{grid-template-columns:1fr}
  .open::before{font-size:200px;top:auto;bottom:40px;transform:none}
}
@media(max-width:430px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* a11y — focus, skip link, visually hidden headings (audit 2026-10-09) */
a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.topbar a:focus-visible,.open a:focus-visible,.why a:focus-visible,#credits a:focus-visible,footer a:focus-visible{outline-color:var(--gold)}
.btn.primary:focus-visible{outline-color:var(--ink)}
#credits .btn.primary:focus-visible{outline-color:var(--gold)}
.skip{position:absolute;left:12px;top:-60px;z-index:10;background:var(--gold);color:var(--ink);padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.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}
.why h2.eyebrow{font-family:Inter,-apple-system,sans-serif;font-weight:600;font-size:12px;line-height:1.4;letter-spacing:.22em;color:var(--gold);margin-bottom:18px}
