:root {
  --charcoal: #071010;
  --teal: #0b2422;
  --teal-soft: #143b37;
  --ivory: #f3eee1;
  --gold: #b79a62;
  --maroon: #6e2928;
  --serif: "Noto Serif Bengali", "Noto Serif", Georgia, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--charcoal); color: var(--ivory); scroll-behavior: auto; }
body { margin: 0; background: var(--charcoal); font-family: var(--sans); }
body, button, a { -webkit-font-smoothing: antialiased; }
.story { overflow: clip; }
.scene { position: relative; height: 280svh; }
.scene__sticky { position: sticky; top: 0; height: 100svh; min-height: 620px; overflow: hidden; isolation: isolate; }
.scene__sticky::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 45%, transparent 20%, rgba(0,0,0,.32) 100%); z-index: 8; }
.story-progress { position: fixed; left: 0; right: 0; bottom: 0; height: 2px; z-index: 50; background: rgba(255,255,255,.08); transform-origin: left; }
.story-progress span { display: block; width: 100%; height: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.grain { position: absolute; inset: 0; opacity: .045; z-index: 7; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }
.atmosphere--hero, .satra-backdrop, .anindo-bg { position: absolute; inset: 0; background: radial-gradient(circle at 50% 35%, #173d38 0%, var(--charcoal) 58%, #030707 100%); z-index: -2; }
.hero-header { position: absolute; top: clamp(1.5rem, 4vw, 3.5rem); left: clamp(1.25rem, 5vw, 6rem); z-index: 5; }
.eyebrow, .kicker, .scroll-cue, .satra-caption { font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; }
.hero-header .eyebrow { margin: 1rem 0 0; opacity: .55; }
.hero-copy { position: absolute; left: clamp(1.25rem, 7vw, 8rem); top: 50%; transform: translateY(-50%); width: min(66vw, 760px); z-index: 6; }
.hero-full-logo { display: block; width: clamp(190px, 28vw, 390px); height: auto; margin: 0 0 2rem; }
.kicker { color: var(--gold); margin: 0 0 1.3rem; }
h1, h2 { margin: 0; font-family: var(--serif); font-weight: 500; line-height: .98; }
h1 .assamese { display: block; font-size: clamp(2.3rem, 5.3vw, 6rem); }
h1 .english { display: block; margin-top: .65rem; font-family: var(--sans); font-size: clamp(.9rem, 1.25vw, 1.25rem); letter-spacing: .22em; font-weight: 500; }
.venue { margin: 1.8rem 0 0; font-size: clamp(.85rem, 1.1vw, 1.05rem); letter-spacing: .04em; }
.intro { max-width: 34rem; margin-top: .75rem; color: rgba(243,238,225,.68); line-height: 1.65; font-size: clamp(.9rem, 1vw, 1rem); }
.scroll-cue { position: absolute; left: clamp(1.25rem, 7vw, 8rem); bottom: 2.5rem; z-index: 6; display: flex; gap: .8rem; align-items: center; opacity: .55; }
.scroll-cue span { width: 34px; height: 1px; background: var(--gold); }
.satra-architecture { position: absolute; left: -12vw; bottom: -5vh; width: min(72vw, 1050px); z-index: 2; opacity: .88; }
.satra-architecture img { width: 100%; display: block; }
.satra-copy { position: absolute; right: clamp(1.25rem, 8vw, 9rem); top: 50%; transform: translateY(-50%); width: min(38rem, 39vw); z-index: 5; }
.satra-copy h2 { font-size: clamp(3rem, 6vw, 7rem); }
.rule { width: 48px; height: 1px; background: var(--gold); margin: 1.7rem 0; }
.satra-copy p:not(.eyebrow) { color: rgba(243,238,225,.75); font-size: clamp(1rem, 1.15vw, 1.2rem); line-height: 1.8; }
.keywords { margin-top: 2rem; color: var(--gold); font-size: .76rem; line-height: 1.8; letter-spacing: .04em; }
.satra-caption { position: absolute; left: 4vw; bottom: 3rem; opacity: 0; z-index: 5; color: rgba(243,238,225,.55); }
.anindo-bg { background: radial-gradient(circle at 70% 48%, #18322f 0%, #081110 45%, #020404 100%); }
.anindo-photo { position: absolute; inset: 5% 5% 5% 42%; z-index: 2; display: grid; place-items: center; opacity: 0; }
.anindo-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--charcoal) 0%, transparent 25%, transparent 75%, var(--charcoal) 100%), linear-gradient(0deg, var(--charcoal) 0%, transparent 20%, transparent 80%, var(--charcoal) 100%); pointer-events: none; }
.anindo-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: grayscale(1) contrast(.94); mix-blend-mode: screen; opacity: .78; }
.anindo-copy { position: absolute; left: clamp(1.25rem, 8vw, 9rem); top: 50%; transform: translateY(-50%); width: min(39rem, 43vw); z-index: 6; opacity: 0; }
.anindo-copy h2 { font-size: clamp(2.5rem, 5.5vw, 6.5rem); }
.role { margin-top: 1.4rem; font-size: 1.05rem; line-height: 1.7; }
.role span { color: var(--gold); }
.bio { max-width: 28rem; margin-top: 1.5rem; color: rgba(243,238,225,.62); line-height: 1.7; }
@media (max-width: 900px) {
  .scene { height: 230svh; }
  .hero-copy { top: 50%; width: 82vw; }
  .hero-full-logo { width: clamp(210px, 42vw, 340px); margin-bottom: 1.5rem; }
  .satra-architecture { width: 112vw; left: -25vw; bottom: -2vh; opacity: .62; }
  .satra-copy { top: 32%; right: 7vw; width: 80vw; }
  .satra-copy h2 { font-size: clamp(2.7rem, 10vw, 5rem); }
  .anindo-photo { inset: 31% -10% 0 16%; }
  .anindo-copy { top: 25%; left: 7vw; width: 80vw; }
}

/* Desktop: subheadings and supporting biography copy share one reading size. */
@media (min-width: 901px) {
  .scene:not(.scene--hero) :is(
    .eyebrow,
    .profile-subtitle,
    .role,
    .award-year,
    .award-date,
    .manoj-subheading,
    .performer__meta > span
  ) {
    font-size: var(--section-copy-size) !important;
  }
}

@media (max-width: 560px) {
  .scene { height: 210svh; }
  .scene__sticky { min-height: 560px; }
  .hero-header { left: 1.1rem; top: 1.2rem; }
  .hero-header .eyebrow { font-size: .55rem; letter-spacing: .14em; }
  .hero-copy { left: 1.1rem; top: 52%; width: 91vw; }
  .hero-full-logo { width: min(76vw, 300px); margin-bottom: 1.2rem; }
  h1 .assamese { font-size: clamp(2rem, 10.5vw, 3.4rem); }
  h1 .english { font-size: .72rem; letter-spacing: .14em; line-height: 1.5; }
  .venue { margin-top: 1.2rem; font-size: .78rem; max-width: 17rem; }
  .intro { max-width: 19rem; font-size: .8rem; }
  .scroll-cue { left: 1.1rem; bottom: 1.5rem; font-size: .55rem; }
  .satra-copy { top: 28%; right: auto; left: 1.1rem; width: 88vw; }
  .satra-copy h2 { font-size: clamp(2.5rem, 13vw, 4.2rem); }
  .satra-copy p:not(.eyebrow) { font-size: .9rem; line-height: 1.65; }
  .keywords { font-size: .68rem; }
  .satra-architecture { width: 145vw; left: -43vw; bottom: 0; }
  .anindo-copy { top: 23%; left: 1.1rem; width: 88vw; }
  .anindo-copy h2 { font-size: clamp(2.25rem, 11.5vw, 4rem); }
  .anindo-photo { inset: 37% -18% 0 4%; }
}
.reduced-motion .scene { height: 100svh; }
.reduced-motion .scene__sticky { position: relative; }
.reduced-motion .anindo-photo, .reduced-motion .anindo-copy, .reduced-motion .satra-copy { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .scene { height: 100svh; }
  .scene__sticky { position: relative; }
  .anindo-photo, .anindo-copy, .satra-copy { opacity: 1 !important; }
}

/* Scroll composition and performer features */
.hero-copy { width: min(84vw, 1120px); }
.hero-full-logo { width: 100%; margin-bottom: clamp(.65rem, 1.5vh, 1.1rem); }
.hero-copy h1 { width: 100%; white-space: normal; text-align: center; }
.hero-copy h1 .assamese, .hero-copy h1 .english { width: 100%; text-align: center; text-align-last: center; font-size: clamp(1.25rem, 3.4vw, 3rem); letter-spacing: .02em; }
.hero-copy h1 .english { margin-top: .08rem; font-size: clamp(1.25rem, 3.4vw, 3rem); letter-spacing: .02em; }
.hero-event-meta { margin: clamp(.65rem, 1.6vh, 1.1rem) auto 0; text-align: center; }
.hero-copy .kicker, .hero-copy .venue { margin: .15rem auto; font-size: clamp(.8rem, 1.9vw, 1.25rem); letter-spacing: .08em; }
.satra-architecture { width: min(83vw, 1120px); left: 50%; margin-left: max(-41.5vw, -560px); bottom: 2vh; opacity: 1; }
.satra-architecture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.satra-architecture { height: min(72vh, 790px); }
.satra-outline { opacity: .98; }
.satra-full { opacity: 0; }
.satra-copy { right: clamp(2rem, 7vw, 7rem); width: min(35rem, 36vw); padding: .75rem; }
.satra-copy p:not(.eyebrow) { max-width: 35rem; line-height: 1.65; }
.scene--performers { height: auto; min-height: 100svh; background: transparent; }
.scene--performers .scene__sticky { position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible; padding: clamp(5rem, 9vh, 8rem) clamp(1.25rem, 7vw, 7rem); }
.scene--performers .scene__sticky::after { display: none; }
.section-wash { position: fixed; inset: 0; z-index: -2; pointer-events: none; }
.performers-heading { position: relative; inset: auto; margin: 0 0 1.5rem; }
.performer-line { position: relative; inset: auto; display: grid; grid-template-columns: 1fr; gap: clamp(1.4rem, 3vh, 2.6rem); }
.performer { display: grid; grid-template-columns: minmax(220px, 36%) 1fr; align-items: center; gap: clamp(1.25rem, 4vw, 4rem); min-height: min(64vh, 590px); }
.performer:nth-child(even) { grid-template-columns: 1fr minmax(220px, 36%); }
.performer:nth-child(even) { grid-template-columns: minmax(220px, 36%) 1fr; }
.performer:nth-child(even) .performer__image { order: 0; }
.performer__image { position: relative; inset: auto; height: min(56vh, 500px); overflow: visible; background: transparent; }
.performer__image::after { display: none; }
.performer__image img { object-fit: contain; object-position: center bottom; filter: none; }
.performer__meta { padding: 0; max-width: 37rem; }
.performer__meta > span { font-size: .72rem; letter-spacing: .15em; }
.performer__meta h3 { font-size: clamp(1.4rem, 3vw, 2.6rem); letter-spacing: .02em; }
.performer__meta p { font-size: clamp(.95rem, 1.2vw, 1.1rem); line-height: 1.6; }
.performer__meta .performer-bio { max-width: 34rem; margin-top: .8rem; }
.performers-note { position: relative; inset: auto; margin: 1.7rem 0 0; }
.legacy-copy { left: 50%; top: 50%; width: min(88vw, 1080px); min-height: min(78vh, 780px); transform: translate(-50%,-50%); display: grid; grid-template-columns: minmax(260px, 40%) 1fr; align-content: center; align-items: center; gap: 1rem 3rem; padding: 1rem; background: transparent; backdrop-filter: none; }
.legacy-portrait { position: relative; inset: auto; grid-column: 1; grid-row: 1 / span 6; width: 100%; height: min(72vh, 680px); }
.legacy-portrait img { max-height: 100%; max-width: 100%; object-fit: contain; filter: none; }
.legacy-copy .eyebrow, .legacy-copy .legacy-overline, .legacy-copy h2, .legacy-copy .rule, .legacy-copy .legacy-caption { grid-column: 2; }
.legacy-copy h2 { font-size: clamp(2.5rem, 5vw, 5rem); }
.legacy-atmosphere { background: transparent; }
.award-copy { width: min(88vw, 1120px); height: min(80vh, 780px); display: grid; grid-template-columns: minmax(260px, 38%) 1fr; align-items: center; gap: .7rem 3rem; text-align: left; padding: 1rem; }
.award-copy > .eyebrow, .award-copy > h2, .award-copy > .award-year, .award-copy > .rule { grid-column: 2; }
.award-copy h2 { margin: .2rem 0; }
.award-recipient-row { grid-column: 1 / -1; grid-row: 1 / span 4; display: flex; justify-content: flex-start; gap: 3rem; margin: 0; max-width: none; }
.award-recipient-row img { height: min(70vh, 650px); max-width: 100%; }
.award-recipient-row p { align-self: end; max-width: 28rem; font-size: 1rem; line-height: 1.65; }
.award-atmosphere { background: transparent; }
.anindo-photo img, .manoj-image img { filter: none; mix-blend-mode: normal; }
.anindo-photo::after { display: none; }
.performer__image img, .award-recipient-row img, .legacy-portrait img { filter: none; }
.floating-nav { top: 1rem; padding: .55rem .65rem .55rem 1rem; }
.theme-toggle { border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; padding: .55rem .8rem; cursor: pointer; font: inherit; font-size: .72rem; }
.register-link { padding: .65rem 1.1rem; border-radius: 999px; background: var(--gold); color: #fff !important; }
html[data-theme="dark"] { --charcoal:#071010; --teal:#0b2422; --teal-soft:#143b37; --ivory:#f3eee1; --gold:#b79a62; }
html[data-theme="dark"] body, html[data-theme="dark"] .scene--performers { background: #071010; }
html[data-theme="dark"] .section-wash { background: radial-gradient(ellipse at 70% 45%, #173d38, #071010 65%, #030707 100%); }
@media (max-width: 700px) {
  .hero-copy { width: 91vw; }
  .hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(1rem, 6.1vw, 2rem); }
  .satra-architecture { width: 115vw; height: 49vh; left: 50%; margin-left: -57.5vw; bottom: 2vh; }
  .satra-copy { top: 10%; left: 5vw; right: 5vw; width: 90vw; transform: none; padding: .5rem; }
  .satra-copy h2 { font-size: clamp(2.1rem, 10vw, 3.5rem); }
  .scene--performers .scene__sticky { padding: 5rem 1.2rem 3rem; }
  .performer, .performer:nth-child(even) { grid-template-columns: minmax(100px, 37%) 1fr; min-height: 34vh; gap: 1rem; }
  .performer:nth-child(even) .performer__image { order: initial; }
  .performer__image { height: 32vh; }
  .performer__meta h3 { font-size: 1rem; }
  .performer__meta p, .performer__meta > span { font-size: .72rem; }
  .legacy-copy { width: 94vw; grid-template-columns: 37% 1fr; gap: .5rem 1rem; min-height: auto; }
  .legacy-portrait { height: 45vh; }
  .legacy-copy h2 { font-size: clamp(1.65rem, 7vw, 2.5rem); }
  .legacy-caption { font-size: .72rem; }
  .award-copy { width: 94vw; height: auto; grid-template-columns: 37% 1fr; gap: .5rem 1rem; }
  .award-recipient-row { gap: .75rem; }
  .award-recipient-row img { height: 44vh; width: 100%; object-fit: contain; }
  .award-recipient-row p { font-size: .72rem; }
  .floating-nav { justify-content: center; width: 96vw; gap: .3rem; padding: .4rem; }
  .nav-mark { display: none; }
  .floating-links { gap: .55rem; }
.floating-links a, .register-link { font-size: .66rem; }
}

/* Night theme switch and revised portrait scale */
.theme-switch {
  position: fixed; z-index: 40; right: clamp(1rem, 2.5vw, 2.4rem); top: 50%;
  width: 82px; height: 42px; padding: 0; border: 1px solid #c8ccda; border-radius: 999px;
  background: rgba(255,255,255,.96); box-shadow: 0 8px 28px rgba(0,0,0,.2); cursor: pointer;
}
.theme-switch__track { position: absolute; inset: 2px; display: flex; align-items: center; justify-content: space-between; }
.theme-switch__thumb { position: absolute; left: 0; top: 0; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #5b11b6; color: white; transition: left .28s ease, background .28s ease; }
.theme-switch__thumb svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.theme-switch__moon { width: 20px; height: 20px; margin: 0 7px 0 auto; fill: none; stroke: #9da8c7; stroke-width: 1.6; stroke-linejoin: round; }
html[data-theme="light"] .theme-switch__thumb { left: calc(100% - 38px); background: #5b11b6; }
html[data-theme="dark"] { color-scheme: dark; --charcoal:#071311; --teal:#0b2422; --teal-soft:#143b37; --ivory:#f3eee1; --gold:#c6a665; }
html[data-theme="dark"] body, html[data-theme="dark"] .scene--performers { background: #071311; color: #f3eee1; }
html[data-theme="dark"] .atmosphere--hero, html[data-theme="dark"] .section-wash, html[data-theme="dark"] .award-atmosphere, html[data-theme="dark"] .legacy-atmosphere, html[data-theme="dark"] .academy-atmosphere, html[data-theme="dark"] .manoj-atmosphere, html[data-theme="dark"] .footer-atmosphere {
  background: radial-gradient(ellipse at 53% 44%, #123a35 0%, #09231f 46%, #06110f 100%);
}

.hero-full-logo { opacity: 1 !important; visibility: visible !important; }
.anindo-photo, .anindo-copy { opacity: 1; visibility: visible; }
html[data-theme="dark"] .anindo-photo img { mix-blend-mode: normal; }
.performer { grid-template-columns: minmax(240px, 43%) 1fr; gap: clamp(1.25rem, 3vw, 3rem); }
.performer__image { height: min(67vh, 600px); }
.performer--rupa .performer__image img { transform: scale(1.3); transform-origin: center bottom; }
.legacy-copy { grid-template-columns: minmax(320px, 48%) 1fr; gap: 1rem 2rem; }
.legacy-portrait { height: min(94vh, 880px); }
.award-copy { width: min(92vw, 1280px); height: auto; min-height: 82vh; display: flex; flex-direction: column; justify-content: center; gap: 1rem; text-align: center; }
.award-heading { width: 100%; text-align: center; }
.award-heading .eyebrow, .award-heading h2, .award-heading .award-year { text-align: center; }
.award-heading h2 { max-width: 1100px; margin: .4rem auto; }
.award-heading .rule { margin: .75rem auto; }
.award-recipient-row { display: grid; grid-template-columns: minmax(320px, 42%) minmax(0, 1fr); align-items: center; gap: clamp(1.2rem, 3vw, 3rem); max-width: 1100px; width: 100%; margin: .5rem auto 0; text-align: left; }
.award-recipient-row img { height: min(91vh, 840px); width: 100%; max-width: none; object-fit: contain; }
.award-recipient-bio { max-width: 46rem; }
.award-recipient-bio p { font-size: clamp(.9rem, 1.05vw, 1.05rem); line-height: 1.58; }
.award-date { color: var(--gold); letter-spacing: .12em; }
.scene--legacy .legacy-copy, .scene--award .award-copy { opacity: 1; visibility: visible; }
@media (max-width: 700px) {
  .theme-switch { top: auto; right: .7rem; bottom: 1rem; width: 72px; height: 38px; }
  .theme-switch__thumb { width: 34px; height: 34px; }
  html[data-theme="light"] .theme-switch__thumb { left: calc(100% - 34px); }
  .performer, .performer:nth-child(even) { grid-template-columns: minmax(110px, 39%) 1fr; min-height: 39vh; gap: .85rem; }
  .performer__image { height: 38vh; }
  .performer__meta .performer-bio { display: block; }
  .performer__meta .performer-bio p { font-size: .69rem; line-height: 1.42; }
  .performer--rupa .performer__image img { transform: scale(1.3); }
  .legacy-copy { grid-template-columns: 39% 1fr; width: 95vw; gap: .5rem .8rem; }
  .legacy-portrait { height: 58vh; }
  .award-copy { min-height: auto; padding: 4.5rem .8rem 4rem; }
  .award-recipient-row { grid-template-columns: 38% 1fr; gap: .7rem; }
  .award-recipient-row img { height: 56vh; }
  .award-recipient-bio p { font-size: .72rem; line-height: 1.42; }
}

/* Full landing-page scene system */
.scene { height: 175svh; }
.scene--hero, .scene--footer { height: 100svh; }
.scene__sticky { min-height: 620px; }
.scene--hero .scene__sticky { display: grid; place-items: center; }
.hero-copy {
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(92vw, 1380px); text-align: center;
}
.hero-full-logo { width: min(100%, 1050px); margin: 0 auto clamp(1rem, 2.5vh, 2rem); }
.hero-copy .kicker { margin: 0 0 .45rem; }
.hero-copy .venue { margin: 0 0 clamp(1.1rem, 3vh, 2.2rem); font-size: clamp(.78rem, 1.1vw, 1rem); }
.hero-copy h1 { line-height: 1.16; white-space: nowrap; }
.hero-copy h1 .assamese,
.hero-copy h1 .english {
  display: block; white-space: nowrap; font-size: clamp(1.1rem, 3.75vw, 3.5rem);
  letter-spacing: .015em; line-height: 1.25;
}
.hero-copy h1 .english { margin-top: .35rem; font-family: var(--sans); font-weight: 500; letter-spacing: .08em; }
.scroll-cue { bottom: 2rem; }
.satra-architecture { left: 50%; margin-left: max(-36vw, -525px); opacity: .95; }
.satra-copy { right: clamp(1.5rem, 8vw, 9rem); }
.satra-copy, .anindo-copy { opacity: 1; }
.anindo-photo { opacity: 1; }

.scene--performers { background: #0a1413; }
.section-wash, .legacy-atmosphere, .award-atmosphere, .academy-atmosphere, .manoj-atmosphere, .footer-atmosphere {
  position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 75% 45%, #173d38 0, #071010 63%, #030707 100%);
}
.performers-heading, .academy-heading { position: absolute; left: clamp(1.5rem, 7vw, 7rem); top: 9vh; z-index: 4; }
.performers-heading h2, .academy-heading h2 { font-size: clamp(2.4rem, 5.2vw, 5.6rem); line-height: .98; }
.performers-heading h2 span, .academy-heading h2 span { color: var(--gold); }
.performer-line {
  position: absolute; inset: 34% 5vw 13%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.8rem, 2vw, 2rem); align-items: stretch; z-index: 3;
}
.performer { position: relative; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.performer__image { position: absolute; inset: 0 0 4.8rem; overflow: hidden; background: #10201e; }
.performer__image::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(3,8,8,.78)); }
.performer__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 28%; filter: saturate(.76); }
.performer__meta { position: relative; z-index: 2; padding: 0 .65rem; }
.performer__meta > span { color: var(--gold); font-size: .68rem; letter-spacing: .18em; }
.performer__meta h3 { margin: .55rem 0 .25rem; font: 500 clamp(.84rem, 1.1vw, 1.05rem)/1.35 var(--sans); letter-spacing: .1em; }
.performer__meta p { margin: 0; color: rgba(243,238,225,.64); font-size: .9rem; }
.performers-note, .academy-caption, .manoj-caption {
  position: absolute; left: clamp(1.5rem, 7vw, 7rem); bottom: 3rem; color: var(--gold);
  font-size: .68rem; letter-spacing: .22em; z-index: 4;
}
.performers-note span { margin: 0 .75rem; }

.scene--legacy { background: #070d0d; }
.legacy-atmosphere { background: radial-gradient(ellipse at 25% 50%, #153b36 0, #081211 55%, #030707 100%); }
.legacy-architecture { position: absolute; inset: 5% 0 0 -9%; width: 74%; display: flex; align-items: center; opacity: .65; }
.legacy-architecture img { width: 100%; height: 100%; object-fit: contain; object-position: left center; filter: drop-shadow(0 30px 50px rgba(0,0,0,.55)); }
.legacy-copy { position: absolute; left: 54%; top: 50%; transform: translateY(-50%); width: 40%; z-index: 4; }
.legacy-overline, .legacy-caption { color: var(--gold); font-size: .7rem; letter-spacing: .2em; }
.legacy-overline { margin: 0 0 1.1rem; }
.legacy-copy h2 { font-size: clamp(2.8rem, 6.2vw, 6.5rem); }
.legacy-caption { margin-top: 1.4rem; }

.scene--award { background: #10110d; }
.award-atmosphere { background: radial-gradient(circle at center, #342a19 0, #161710 42%, #060909 100%); }
.award-emblem { position: absolute; left: 50%; top: 50%; width: min(70vw, 660px); aspect-ratio: 1; border: 1px solid rgba(183,154,98,.26); border-radius: 50%; transform: translate(-50%,-50%); }
.award-emblem::before, .award-emblem::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(183,154,98,.24); border-radius: 50%; }
.award-emblem::after { inset: 22%; }
.award-emblem span { position: absolute; left: 50%; top: -2.5%; width: 1px; height: 105%; background: linear-gradient(transparent, rgba(183,154,98,.34), transparent); transform-origin: center; }
.award-emblem span:nth-child(2) { transform: rotate(60deg); }
.award-emblem span:nth-child(3) { transform: rotate(-60deg); }
.award-copy { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(72vw, 720px); text-align: center; z-index: 3; }
.award-copy h2 { margin: 1.2rem auto .6rem; font-size: clamp(2rem, 4.5vw, 4.3rem); line-height: 1.12; }
.award-year { margin: 0; color: var(--gold); font: 400 clamp(2.3rem, 5vw, 4.8rem)/1.1 var(--serif); }
.award-copy .rule { margin: 1.3rem auto; }
.award-recipient { color: rgba(243,238,225,.72); font-size: .72rem; letter-spacing: .2em; }

.scene--academy { background: #071010; }
.academy-atmosphere { background: radial-gradient(ellipse at 50% 45%, #173b36, #071010 67%); }
.academy-heading { top: 8vh; }
.academy-gallery { position: absolute; inset: 29% 0 11%; overflow: hidden; z-index: 2; }
.academy-frame { position: absolute; margin: 0; overflow: hidden; background: #10201e; box-shadow: 0 25px 60px rgba(0,0,0,.3); }
.academy-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.academy-frame--1 { left: 5%; top: 12%; width: 44%; height: 70%; }
.academy-frame--2 { left: 32%; top: 0; width: 37%; height: 58%; }
.academy-frame--3 { left: 57%; top: 29%; width: 35%; height: 64%; }
.academy-frame--4 { left: 3%; top: 66%; width: 30%; height: 28%; }
.academy-frame--5 { left: 70%; top: 0; width: 25%; height: 31%; }

.scene--manoj { background: #071010; }
.manoj-atmosphere { background: radial-gradient(ellipse at 30% 52%, #143b37 0, #071010 62%, #030707 100%); }
.manoj-image { position: absolute; inset: 12% 0 0 42%; overflow: hidden; opacity: .62; }
.manoj-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#071010 0%,transparent 38%,rgba(7,16,16,.15) 100%),linear-gradient(0deg,#071010,transparent 32%,transparent 76%,#071010); }
.manoj-image img { width: 100%; height: 100%; display: block; object-fit: cover; filter: grayscale(.45) contrast(.95); }
.manoj-copy { position: absolute; left: clamp(1.5rem, 8vw, 8rem); top: 50%; transform: translateY(-50%); width: 55%; z-index: 4; }
.manoj-copy h2 { font-size: clamp(2.6rem, 6vw, 6rem); }
.manoj-copy .role { color: var(--gold); font-size: .82rem; letter-spacing: .2em; }

.scene--footer { background: #050909; }
.footer-atmosphere { background: radial-gradient(ellipse at 50% 80%, #163b36, #071010 57%, #030606 100%); }
.footer-logo { position: absolute; left: 50%; top: 25%; transform: translateX(-50%); width: min(48vw, 450px); }
.footer-date { position: absolute; left: 50%; top: 58%; transform: translateX(-50%); color: var(--gold); font-size: .68rem; letter-spacing: .2em; text-align: center; white-space: nowrap; }
.footer-nav { position: absolute; left: 50%; top: 69%; transform: translateX(-50%); display: flex; gap: clamp(1rem, 3vw, 3rem); }
.footer-nav a { color: var(--ivory); font-size: .68rem; letter-spacing: .16em; text-decoration: none; }
.footer-nav a:hover, .footer-nav a:focus-visible { color: var(--gold); }
.footer-close { position: absolute; inset: auto 0 2rem; text-align: center; color: rgba(243,238,225,.38); font-size: .6rem; letter-spacing: .22em; }

@media (max-width: 900px) {
  .hero-copy { width: 94vw; }
  .hero-full-logo { width: min(100%, 900px); }
  .hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(1rem, 4.4vw, 2.3rem); }
  .satra-architecture { width: 112vw; margin-left: -56vw; }
  .performer-line { inset: 34% 4vw 13%; gap: .65rem; }
  .performer__meta h3 { font-size: .78rem; letter-spacing: .05em; }
  .legacy-architecture { width: 80%; left: -20%; }
  .legacy-copy { left: 50%; width: 46%; }
  .academy-frame--1 { left: 3%; width: 50%; }
  .academy-frame--2 { left: 40%; width: 40%; }
  .academy-frame--3 { left: 58%; width: 39%; }
}
@media (max-width: 560px) {
  .scene { height: 155svh; }
  .scene--hero, .scene--footer { height: 100svh; }
  .scene__sticky { min-height: 560px; }
  .hero-copy { width: 94vw; }
  .hero-full-logo { width: 94vw; margin-bottom: 1rem; }
  .hero-copy .kicker { font-size: .62rem; letter-spacing: .16em; }
  .hero-copy .venue { font-size: .72rem; margin-bottom: 1.15rem; }
  .hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(.82rem, 4.3vw, 1.15rem); letter-spacing: .015em; }
  .hero-copy h1 .english { letter-spacing: .045em; }
  .scroll-cue { left: 1rem; bottom: 1.35rem; font-size: .52rem; }
  .scene--satra .scene__sticky { min-height: 740px; }
  .satra-architecture { width: 145vw; margin-left: -72.5vw; left: 50%; bottom: -2vh; opacity: .72; }
  .satra-copy { top: 23%; left: 1.15rem; right: 1.15rem; width: auto; transform: none; }
  .satra-copy h2 { font-size: clamp(2.2rem, 12vw, 3.5rem); }
  .satra-copy p:not(.eyebrow) { font-size: .84rem; line-height: 1.55; }
  .keywords { font-size: .62rem; margin-top: 1rem; }
  .satra-caption { left: 1.15rem; bottom: 1.25rem; font-size: .56rem; }
  .scene--anindo .scene__sticky { min-height: 720px; }
  .anindo-copy { top: 21%; left: 1.15rem; width: 88vw; }
  .anindo-copy h2 { font-size: clamp(2rem, 10vw, 3.5rem); }
  .anindo-photo { inset: 39% -16% 0 2%; }
  .performers-heading, .academy-heading { left: 1.15rem; top: 6vh; }
  .performers-heading h2, .academy-heading h2 { font-size: clamp(2.15rem, 10vw, 3.4rem); }
  .scene--performers .scene__sticky { min-height: 790px; }
  .performer-line { inset: 28% 1.15rem 10%; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 1fr); gap: .85rem; }
  .performer__image { inset: 0 0 3.8rem; }
  .performer__meta { padding: 0 .15rem; }
  .performer__meta h3 { font-size: .7rem; line-height: 1.3; }
  .performer__meta p { font-size: .78rem; }
  .performers-note, .academy-caption, .manoj-caption { left: 1.15rem; bottom: 1.25rem; font-size: .56rem; }
  .scene--legacy .scene__sticky { min-height: 720px; }
  .legacy-architecture { inset: 0 0 0 -35%; width: 115%; opacity: .5; }
  .legacy-copy { left: 1.15rem; top: 27%; width: 91%; transform: none; }
  .legacy-copy h2 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .legacy-overline { font-size: .58rem; }
  .scene--award .scene__sticky { min-height: 650px; }
  .award-emblem { width: 93vw; }
  .award-copy { width: 88vw; }
  .award-copy h2 { font-size: clamp(1.7rem, 8vw, 2.6rem); }
  .award-recipient { font-size: .6rem; }
  .scene--academy .scene__sticky { min-height: 780px; }
  .academy-gallery { inset: 32% 0 12%; }
  .academy-frame--1 { left: 4%; top: 7%; width: 68%; height: 48%; }
  .academy-frame--2 { left: 42%; top: 0; width: 53%; height: 36%; }
  .academy-frame--3 { left: 43%; top: 51%; width: 53%; height: 43%; }
  .academy-frame--4 { left: 4%; top: 60%; width: 39%; height: 31%; }
  .academy-frame--5 { display: none; }
  .scene--manoj .scene__sticky { min-height: 700px; }
  .manoj-copy { left: 1.15rem; top: 29%; width: 88%; }
  .manoj-copy h2 { font-size: clamp(2.3rem, 11vw, 3.8rem); }
  .manoj-image { inset: 42% -15% 0 5%; opacity: .52; }
  .footer-logo { width: 76vw; top: 23%; }
  .footer-date { width: 90vw; white-space: normal; top: 53%; font-size: .58rem; }
  .footer-nav { width: 90vw; justify-content: center; flex-wrap: wrap; top: 68%; gap: .9rem 1.25rem; }
  .footer-nav a { font-size: .58rem; }
}
@media (prefers-reduced-motion: reduce) {
  .scene { height: auto; min-height: 100svh; }
  .scene--hero, .scene--footer { min-height: 100svh; }
  .scene__sticky { position: relative; top: auto; }
}

/* 2027 landing page refinements */
:root {
  --charcoal: #f4eddd;
  --teal: #eee4ce;
  --teal-soft: #dfd1b2;
  --ivory: #27251f;
  --gold: #8d672b;
  --maroon: #773a32;
}
html, body { background: #f4eddd; color: #27251f; }
html[data-theme="dark"] { --charcoal: #071010; --teal: #0b2422; --teal-soft: #143b37; --ivory: #f3eee1; --gold: #b79a62; --maroon: #6e2928; }
html[data-theme="dark"], html[data-theme="dark"] body { background: var(--charcoal); color: var(--ivory); }
.scene__sticky::after { background: radial-gradient(circle at 50% 45%, transparent 20%, rgba(90,67,36,.1) 100%); }
.atmosphere--hero, .satra-backdrop, .anindo-bg { background: radial-gradient(circle at 50% 35%, #fffaf0 0%, #eee3cc 66%, #e7dbc2 100%); }
.scene--performers, .scene--legacy, .scene--award, .scene--academy, .scene--manoj, .scene--footer, .scene--venue, .scene--register { background: #f4eddd; }
.section-wash, .legacy-atmosphere, .award-atmosphere, .academy-atmosphere, .manoj-atmosphere, .footer-atmosphere { background: radial-gradient(ellipse at 70% 45%, #fff8e8, #efe4cd 65%, #e7dbc2 100%); }
.anindo-bg { background: radial-gradient(circle at 72% 48%, #efe0c1 0%, #f4eddd 58%, #e9ddc7 100%); }
.anindo-photo::after { background: linear-gradient(90deg, #f4eddd 0%, transparent 27%, transparent 75%, #f4eddd 100%), linear-gradient(0deg,#f4eddd 0%,transparent 20%,transparent 80%,#f4eddd 100%); }
.anindo-photo img { mix-blend-mode: multiply; filter: grayscale(1) contrast(1.03); }
.anindo-copy .bio, .satra-copy p:not(.eyebrow), .performer__meta p, .register-copy > p:last-child { color: rgba(39,37,31,.74); }
.legacy-architecture img { opacity: .34; filter: sepia(.18) drop-shadow(0 18px 35px rgba(90,65,30,.18)); }
.manoj-image::after { background: linear-gradient(90deg,#f4eddd 0%,transparent 38%,rgba(244,237,221,.2) 100%),linear-gradient(0deg,#f4eddd,transparent 32%,transparent 76%,#f4eddd); }
.footer-nav a { color: var(--ivory); }
.story-progress { top: 0; bottom: auto; height: 3px; background: rgba(80,63,36,.14); }
.story-progress span { background: var(--maroon); }
.hero-copy { width: min(84vw, 1180px); }
.hero-full-logo { width: 100%; margin-bottom: clamp(.45rem, 1.7vh, 1.2rem); }
.hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(1rem, 3.2vw, 3rem); }
.hero-copy h1 .assamese, .hero-copy h1 .english { width: 100%; text-align: justify; text-align-last: justify; }
.hero-copy h1 .english { margin-top: .12rem; letter-spacing: .08em; }
.hero-event-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; width: 100%; margin-top: clamp(.8rem, 2.4vh, 1.6rem); text-align: justify; }
.hero-event-meta .kicker, .hero-event-meta .venue { width: 50%; margin: 0; font-size: clamp(.8rem, 1.35vw, 1.1rem); letter-spacing: .12em; }
.hero-event-meta .venue { text-align: right; }
.hero-copy h1 { white-space: normal; }
.floating-nav { position: fixed; z-index: 45; top: 1rem; left: 50%; transform: translate(-50%,-140%); opacity: 0; width: min(94vw, 1180px); display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .8rem .65rem 1.1rem; background: rgba(250,246,235,.9); border: 1px solid rgba(100,76,41,.2); box-shadow: 0 8px 32px rgba(37,28,14,.1); backdrop-filter: blur(16px); transition: opacity .35s ease, transform .35s ease; }
.floating-nav.is-visible { transform: translate(-50%,0); opacity: 1; }
.floating-nav a { color: inherit; text-decoration: none; }
.nav-mark { font: 600 .85rem var(--sans); letter-spacing: .12em; white-space: nowrap; }
.nav-mark span { color: var(--gold); }
.floating-links { display: flex; gap: clamp(.75rem,2vw,1.7rem); }
.floating-links a, .theme-toggle, .register-link { font: 500 .68rem var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.theme-toggle { border: 0; background: transparent; color: inherit; padding: .55rem .3rem; cursor: pointer; }
.register-link { background: var(--maroon); color: #fffaf0 !important; padding: .75rem 1rem; }
.satra-architecture { filter: drop-shadow(0 18px 28px rgba(55,42,24,.16)); }
.satra-copy { padding: 1.4rem; background: rgba(248,243,231,.78); backdrop-filter: blur(9px); }
.satra-copy p:not(.eyebrow) { color: rgba(39,37,31,.82); }
.performer-line { inset: 31% 5vw 9%; gap: clamp(.55rem,1.35vw,1.25rem); }
.performer__image { inset: 0 0 8rem; background: transparent; }
.performer__image img { object-fit: contain; object-position: center bottom; filter: drop-shadow(0 16px 22px rgba(67,49,22,.2)); }
.performer__image::after { inset: auto 0 0; height: 32%; background: linear-gradient(transparent, rgba(244,237,221,.94)); }
.performer__meta { padding: .45rem .35rem 0; background: rgba(250,246,235,.82); min-height: 7.5rem; }
.performer__meta > span { font-size: .58rem; letter-spacing: .11em; }
.performer__meta h3 { color: var(--ivory); }
.performer__meta .performer-bio { font-size: .72rem; line-height: 1.5; margin-top: .45rem; }
.performers-note { color: var(--ivory); }
.legacy-copy { left: 52%; width: 42%; padding: clamp(1rem,2vw,2rem); background: rgba(248,243,231,.78); backdrop-filter: blur(8px); }
.legacy-portrait { position: absolute; z-index: 5; right: 3%; bottom: 0; height: 82%; width: 42%; display: flex; align-items: end; justify-content: center; pointer-events: none; }
.legacy-portrait img { max-height: 100%; max-width: 100%; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(60,41,20,.18)); }
.legacy-caption { max-width: 38rem; font-size: .85rem; line-height: 1.6; letter-spacing: .04em; color: rgba(39,37,31,.7); }
.award-emblem { border-color: rgba(141,103,43,.25); }
.award-emblem::before, .award-emblem::after { border-color: rgba(141,103,43,.26); }
.award-emblem span { background: linear-gradient(transparent, rgba(141,103,43,.28), transparent); }
.award-recipient-row { display: flex; align-items: center; justify-content: center; gap: 1.2rem; max-width: 35rem; margin: 1rem auto 0; text-align: left; }
.award-recipient-row img { height: clamp(110px,24vh,220px); width: auto; max-width: 42%; object-fit: contain; }
.award-recipient-row p { font-size: .78rem; line-height: 1.65; letter-spacing: .08em; }
.academy-intro { position: absolute; top: 24%; left: clamp(1.5rem,7vw,7rem); z-index: 5; width: min(32rem,46vw); line-height: 1.6; color: rgba(39,37,31,.77); }
.academy-gallery { inset: 43% 0 12%; overflow: hidden; }
.academy-track { position: absolute; inset: 0 auto 0 0; width: max-content; display: flex; align-items: center; gap: 1rem; animation: khol-marquee 42s linear infinite; animation-play-state: paused; }
.academy-track.is-marquee { animation-play-state: running; }
.academy-gallery:hover .academy-track { animation-play-state: paused; }
.academy-frame { position: relative; flex: 0 0 auto; width: clamp(220px,28vw,430px); height: 100%; opacity: 1; box-shadow: 0 18px 35px rgba(57,42,22,.16); }
.academy-frame img { object-fit: cover; }
@keyframes khol-marquee { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.manoj-image { inset: 6% 3% 0 52%; }
.manoj-image img { object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 26px rgba(65,48,27,.18)); }
.manoj-image::after { display: none; }
.manoj-copy { padding: 1.4rem; background: rgba(248,243,231,.8); backdrop-filter: blur(9px); }
.manoj-copy .bio { max-width: 35rem; color: rgba(39,37,31,.8); line-height: 1.65; }
.venue-heading, .register-copy { position: absolute; left: clamp(1.5rem,7vw,7rem); top: 50%; transform: translateY(-50%); width: 38%; z-index: 3; }
.venue-heading h2, .register-copy h2 { margin: 1rem 0; font-size: clamp(3rem,7vw,7rem); }
.venue-heading h2 span, .register-copy h2 span { color: var(--gold); }
.venue-heading > p:not(.eyebrow), .register-copy > p:last-child { line-height: 1.7; max-width: 30rem; }
.venue-heading a { display: inline-block; margin-top: 1rem; color: var(--maroon); text-decoration: none; }
.venue-map { position: absolute; left: 49%; right: 5%; top: 12%; bottom: 12%; background: #e8dfce; border: 1px solid rgba(80,60,30,.2); }
.scene--venue .scene__sticky::after { display: none; }
.venue-map iframe { width: 100%; height: 100%; border: 0; filter: sepia(.18) saturate(.72); }
.venue-photo-note { position: absolute; left: 1.5rem; bottom: 1rem; font-size: .7rem; color: rgba(39,37,31,.58); }
.register-copy { width: 42%; }
.register-form { position: absolute; right: clamp(1.5rem,8vw,8rem); top: 50%; transform: translateY(-50%); width: min(38vw,480px); display: grid; gap: 1.1rem; padding: clamp(1.2rem,3vw,2.5rem); background: rgba(250,246,235,.88); border: 1px solid rgba(100,76,41,.22); box-shadow: 0 20px 45px rgba(60,44,24,.12); }
.register-form label { display: grid; gap: .45rem; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.register-form input, .register-form select { width: 100%; padding: .75rem .2rem; border: 0; border-bottom: 1px solid rgba(72,57,34,.35); background: transparent; color: var(--ivory); font: 400 1rem var(--sans); }
.register-form button { display: flex; justify-content: space-between; padding: 1rem; border: 0; background: var(--maroon); color: #fffaf0; font: 600 .78rem var(--sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.form-status { margin: 0; color: var(--maroon); font-size: .8rem; }
html[data-theme="dark"] .floating-nav, html[data-theme="dark"] .satra-copy, html[data-theme="dark"] .legacy-copy, html[data-theme="dark"] .manoj-copy, html[data-theme="dark"] .register-form { background: rgba(7,16,16,.88); border-color: rgba(183,154,98,.22); }
html[data-theme="dark"] .section-wash, html[data-theme="dark"] .legacy-atmosphere, html[data-theme="dark"] .award-atmosphere, html[data-theme="dark"] .academy-atmosphere, html[data-theme="dark"] .manoj-atmosphere, html[data-theme="dark"] .footer-atmosphere { background: radial-gradient(ellipse at 70% 45%, #173d38, #071010 65%, #030707 100%); }
html[data-theme="dark"] .anindo-photo::after { background: linear-gradient(90deg,#071010 0%,transparent 27%,transparent 75%,#071010 100%),linear-gradient(0deg,#071010 0%,transparent 20%,transparent 80%,#071010 100%); }
html[data-theme="dark"] .anindo-photo img { mix-blend-mode: screen; }
html[data-theme="dark"] .anindo-copy .bio, html[data-theme="dark"] .satra-copy p:not(.eyebrow), html[data-theme="dark"] .performer__meta p, html[data-theme="dark"] .academy-intro, html[data-theme="dark"] .manoj-copy .bio, html[data-theme="dark"] .venue-heading > p:not(.eyebrow), html[data-theme="dark"] .register-copy > p:last-child { color: rgba(243,238,225,.74); }
html[data-theme="dark"] .performer__meta { background: rgba(7,16,16,.85); }
html[data-theme="dark"] .performer__image::after { background: linear-gradient(transparent, rgba(7,16,16,.96)); }
html[data-theme="dark"] .venue-map { background: #17211e; }
html[data-theme="dark"] .venue-map iframe { filter: grayscale(.75) invert(.88) hue-rotate(160deg); }
@media (min-width: 701px) {
  .legacy-copy { left: 4%; width: 48%; background: rgba(248,243,231,.84); }
  .legacy-portrait { right: 3%; width: 42%; }
  .award-recipient-row p { color: rgba(39,37,31,.82); }
  .footer-close { color: rgba(39,37,31,.52); }
}
html[data-theme="dark"] .award-recipient-row p { color: rgba(243,238,225,.78); }
@media (max-width: 700px) {
  .floating-nav { width: 96vw; top: .45rem; gap: .4rem; padding: .45rem; }
  .floating-links { gap: .6rem; }
  .floating-links a, .theme-toggle, .register-link { font-size: .53rem; letter-spacing: .02em; }
  .nav-mark { font-size: .68rem; }
  .register-link { padding: .65rem .55rem; }
  .hero-copy { width: 92vw; }
  .hero-full-logo { width: 100%; }
  .hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(.72rem,4vw,1.15rem); }
  .hero-event-meta { display: grid; grid-template-columns: 1fr; gap: .35rem; text-align: center; }
  .hero-event-meta .kicker, .hero-event-meta .venue { width: 100%; text-align: center; font-size: .7rem; }
  .performer-line { inset: 27% 1rem 8%; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,1fr); }
  .performer__image { inset: 0 0 7rem; }
  .performer__meta { min-height: 7rem; }
  .performer__meta .performer-bio { display: none; }
  .legacy-portrait { height: 46%; width: 55%; right: -3%; }
  .legacy-copy { left: 1rem; top: 18%; width: 83%; }
  .legacy-copy h2 { font-size: clamp(2.2rem,10vw,3.3rem); }
  .legacy-caption { font-size: .72rem; }
  .award-recipient-row img { height: 23vh; }
  .award-recipient-row p { font-size: .65rem; }
  .academy-intro { top: 25%; left: 1.15rem; width: 85vw; font-size: .83rem; }
  .academy-gallery { inset: 43% 0 12%; }
  .academy-frame { width: 70vw; }
  .manoj-image { inset: 38% -4% 0 24%; }
  .manoj-copy { top: 19%; left: 1rem; width: 90%; }
  .venue-heading, .register-copy { left: 1.15rem; top: 13%; transform: none; width: 88%; }
  .venue-heading h2, .register-copy h2 { font-size: clamp(2.5rem,12vw,4rem); }
  .venue-map { left: 1.15rem; right: 1.15rem; top: 43%; bottom: 7%; }
  .venue-photo-note { display: none; }
  .register-copy { top: 8%; }
  .register-form { top: 43%; left: 1.15rem; right: 1.15rem; transform: none; width: auto; gap: .75rem; padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-track { animation: none; }
  .floating-nav { transition: none; }
}

/* Final overrides for the current composition */
.hero-copy { width: min(84vw, 1120px); }
.hero-full-logo { width: 100%; margin-bottom: clamp(.65rem, 1.5vh, 1.1rem); }
.hero-copy h1 { width: 100%; white-space: normal; text-align: center; }
.hero-copy h1 .assamese, .hero-copy h1 .english { width: 100%; text-align: center; text-align-last: center; font-size: clamp(1.25rem, 3.4vw, 3rem); letter-spacing: .02em; }
.hero-copy h1 .english { margin-top: .08rem; }
.hero-event-meta { margin: clamp(.65rem, 1.6vh, 1.1rem) auto 0; text-align: center; }
.hero-copy .kicker, .hero-copy .venue { margin: .15rem auto; font-size: clamp(.8rem, 1.9vw, 1.25rem); letter-spacing: .08em; }
.scene--satra { height: 260svh; }
.satra-architecture { width: min(83vw, 1120px); height: min(72vh, 790px); left: 50%; margin-left: max(-41.5vw, -560px); bottom: 2vh; opacity: 1; }
.satra-architecture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.satra-outline { opacity: .98; }
.satra-full { opacity: 0; }
.satra-copy { right: clamp(2rem, 7vw, 7rem); width: min(35rem, 36vw); padding: .75rem; }
.satra-copy p:not(.eyebrow) { max-width: 35rem; line-height: 1.65; }
.scene--performers { height: auto; min-height: 100svh; background: transparent; }
.scene--performers .scene__sticky { position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible; padding: clamp(5rem, 9vh, 8rem) clamp(1.25rem, 7vw, 7rem); }
.scene--performers .scene__sticky::after { display: none; }
.section-wash { position: fixed; inset: 0; z-index: -2; pointer-events: none; }
.performers-heading { position: relative; inset: auto; margin: 0 0 1.5rem; }
.performer-line { position: relative; inset: auto; display: grid; grid-template-columns: 1fr; gap: clamp(1.4rem, 3vh, 2.6rem); }
.performer { display: grid; grid-template-columns: minmax(220px, 36%) 1fr; align-items: center; gap: clamp(1.25rem, 4vw, 4rem); min-height: min(64vh, 590px); }
.performer:nth-child(even) { grid-template-columns: minmax(220px, 36%) 1fr; }
.performer:nth-child(even) .performer__image { order: 0; }
.performer__image { position: relative; inset: auto; height: min(56vh, 500px); overflow: visible; background: transparent; }
.performer__image::after { display: none; }
.performer__image img { object-fit: contain; object-position: center bottom; filter: none; }
.performer__meta { padding: 0; max-width: 37rem; }
.performer__meta > span { font-size: .72rem; letter-spacing: .15em; }
.performer__meta h3 { font-size: clamp(1.4rem, 3vw, 2.6rem); letter-spacing: .02em; }
.performer__meta p { font-size: clamp(.95rem, 1.2vw, 1.1rem); line-height: 1.6; }
.performer__meta .performer-bio { max-width: 34rem; margin-top: .8rem; }
.performers-note { position: relative; inset: auto; margin: 1.7rem 0 0; }
.legacy-copy { left: 50%; top: 50%; width: min(88vw, 1080px); min-height: min(78vh, 780px); transform: translate(-50%,-50%); display: grid; grid-template-columns: minmax(260px, 40%) 1fr; align-content: center; align-items: center; gap: 1rem 3rem; padding: 1rem; background: transparent; backdrop-filter: none; }
.legacy-portrait { position: relative; inset: auto; grid-column: 1; grid-row: 1 / span 6; width: 100%; height: min(72vh, 680px); }
.legacy-portrait img { max-height: 100%; max-width: 100%; object-fit: contain; filter: none; }
.legacy-copy .eyebrow, .legacy-copy .legacy-overline, .legacy-copy h2, .legacy-copy .rule, .legacy-copy .legacy-caption { grid-column: 2; }
.legacy-copy h2 { font-size: clamp(2.5rem, 5vw, 5rem); }
.legacy-atmosphere, .award-atmosphere { background: transparent; }
.award-copy { width: min(88vw, 1120px); height: min(80vh, 780px); display: grid; grid-template-columns: minmax(260px, 38%) 1fr; align-items: center; gap: .7rem 3rem; text-align: left; padding: 1rem; }
.award-copy > .eyebrow, .award-copy > h2, .award-copy > .award-year, .award-copy > .rule { grid-column: 2; }
.award-copy h2 { margin: .2rem 0; }
.award-recipient-row { display: contents; }
.award-recipient-row img { height: min(70vh, 650px); max-width: 100%; }
.award-recipient-row p { align-self: end; max-width: 28rem; font-size: 1rem; line-height: 1.65; }
.anindo-photo img, .manoj-image img, .performer__image img, .award-recipient-row img, .legacy-portrait img { filter: none; mix-blend-mode: normal; }
.anindo-photo img { object-fit: contain; }
.anindo-photo::after { display: none; }
.floating-nav { top: 1rem; padding: .55rem .65rem .55rem 1rem; }
.theme-toggle { border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; padding: .55rem .8rem; cursor: pointer; font: inherit; font-size: .72rem; }
.register-link { padding: .65rem 1.1rem; border-radius: 999px; background: var(--gold); color: #fff !important; }
html[data-theme="dark"] { --charcoal:#071010; --teal:#0b2422; --teal-soft:#143b37; --ivory:#f3eee1; --gold:#b79a62; }
html[data-theme="dark"] body, html[data-theme="dark"] .scene--performers { background: #071010; }
html[data-theme="dark"] .section-wash { background: radial-gradient(ellipse at 70% 45%, #173d38, #071010 65%, #030707 100%); }
@media (max-width: 700px) {
  .hero-copy { width: 91vw; }
  .hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(1rem, 6.1vw, 2rem); }
  .satra-architecture { width: 115vw; height: 49vh; left: 50%; margin-left: -57.5vw; bottom: 2vh; }
  .scene--satra { height: 220svh; }
  .satra-copy { top: 10%; left: 5vw; right: 5vw; width: 90vw; transform: none; padding: .5rem; }
  .satra-copy h2 { font-size: clamp(2.1rem, 10vw, 3.5rem); }
  .scene--performers .scene__sticky { padding: 5rem 1.2rem 3rem; }
  .performer, .performer:nth-child(even) { grid-template-columns: minmax(100px, 37%) 1fr; min-height: 34vh; gap: 1rem; }
  .performer__image { height: 32vh; }
  .performer__meta h3 { font-size: 1rem; }
  .performer__meta p, .performer__meta > span { font-size: .72rem; }
  .legacy-copy { width: 94vw; grid-template-columns: 37% 1fr; gap: .5rem 1rem; min-height: auto; }
  .legacy-portrait { height: 45vh; }
  .legacy-copy h2 { font-size: clamp(1.65rem, 7vw, 2.5rem); }
  .legacy-caption { font-size: .72rem; }
  .award-copy { width: 94vw; height: auto; grid-template-columns: 37% 1fr; gap: .5rem 1rem; }
  .award-recipient-row { gap: .75rem; }
  .award-recipient-row img { height: 44vh; width: 100%; object-fit: contain; }
  .award-recipient-row p { font-size: .72rem; }
  .floating-nav { justify-content: center; width: 96vw; gap: .3rem; padding: .4rem; }
  .nav-mark { display: none; }
  .floating-links { gap: .55rem; }
  .floating-links a, .register-link { font-size: .66rem; }
}

/* Last-in-cascade alignment fixes */
.hero-copy { position: relative !important; top: auto !important; left: auto !important; width: min(84vw, 1120px) !important; color: var(--ivory); z-index: 10 !important; }
.scroll-cue { z-index: 10; }
.hero-copy h1, .hero-copy h1 .assamese, .hero-copy h1 .english { text-align: center !important; text-align-last: center !important; }
.hero-event-meta { display: block !important; width: 100% !important; text-align: center !important; }
.hero-event-meta .kicker, .hero-event-meta .venue { width: 100% !important; text-align: center !important; }
.floating-nav { background: rgba(7,19,17,.88); border-color: rgba(198,166,101,.25); color: var(--ivory); }
.floating-nav.is-visible { transform: translate(-50%,0); }
html[data-theme="dark"] .anindo-bg { background: radial-gradient(ellipse at 68% 48%, #153e38 0%, #0b2420 48%, #06110f 100%); }
.performer { grid-template-columns: minmax(240px, 43%) 1fr !important; }
.performer__image { height: min(67vh, 600px) !important; }
.performer--rupa .performer__image img { transform: scale(1.3); transform-origin: center bottom; }
.legacy-copy { grid-template-columns: minmax(320px, 48%) 1fr !important; }
.legacy-portrait { height: min(94vh, 880px) !important; }
.award-copy { height: auto !important; min-height: 82vh; display: flex !important; flex-direction: column; justify-content: center; text-align: center !important; }
.award-heading { width: 100%; text-align: center; }
.award-heading h2 { max-width: 1100px; margin: .4rem auto; }
.award-heading .rule { margin: .75rem auto; }
.award-recipient-row { display: grid !important; grid-template-columns: minmax(320px, 42%) minmax(0,1fr); align-items: center; gap: clamp(1.2rem,3vw,3rem); max-width: 1100px; width: 100%; margin: .5rem auto 0; text-align: left; }
.award-recipient-row img { height: min(91vh, 840px) !important; width: 100%; max-width: none; object-fit: contain; }
.award-recipient-bio p { font-size: clamp(.9rem,1.05vw,1.05rem) !important; line-height: 1.58; }
html[data-theme="light"] { color-scheme: light; --charcoal:#f4eddd; --teal:#e6ddc8; --teal-soft:#d6c9a8; --ivory:#24211b; --gold:#936d2f; --maroon:#6e2928; }
html[data-theme="light"], html[data-theme="light"] body, html[data-theme="light"] .scene--performers { background: #f4eddd; color: #24211b; }
html[data-theme="light"] .atmosphere--hero, html[data-theme="light"] .section-wash, html[data-theme="light"] .award-atmosphere, html[data-theme="light"] .legacy-atmosphere, html[data-theme="light"] .academy-atmosphere, html[data-theme="light"] .manoj-atmosphere, html[data-theme="light"] .footer-atmosphere { background: radial-gradient(ellipse at 53% 44%, #fff9eb 0%, #f4eddd 60%, #e7dcc4 100%); }
html[data-theme="light"] .floating-nav { background: rgba(250,246,235,.92); color: #24211b; border-color: rgba(100,76,41,.2); }
html[data-theme="light"] .anindo-bg { background: radial-gradient(ellipse at 68% 48%, #fff5dc 0%, #f4eddd 55%, #e9ddc7 100%); }
html[data-theme="light"] .anindo-copy .bio, html[data-theme="light"] .satra-copy p:not(.eyebrow), html[data-theme="light"] .performer__meta p, html[data-theme="light"] .academy-intro, html[data-theme="light"] .manoj-copy .bio, html[data-theme="light"] .venue-heading > p:not(.eyebrow), html[data-theme="light"] .register-copy > p:last-child { color: rgba(39,37,31,.78); }
html[data-theme="light"] .venue-map iframe { filter: sepia(.18) saturate(.72); }
@media (max-width:700px) {
  .hero-copy { width: 91vw !important; }
  .hero-copy h1 .assamese, .hero-copy h1 .english { font-size: clamp(1rem,6.1vw,2rem) !important; }
  .performer, .performer:nth-child(even) { grid-template-columns: minmax(110px,39%) 1fr !important; min-height: 39vh; gap: .85rem; }
  .performer__image { height: 38vh !important; }
  .performer__meta .performer-bio { display: block !important; }
  .performer__meta .performer-bio p { font-size: .69rem; line-height: 1.42; }
  .performer--rupa .performer__image img { transform: scale(1.3); }
  .legacy-copy { grid-template-columns: 39% 1fr !important; width: 95vw; }
  .legacy-portrait { height: 58vh !important; }
  .award-copy { min-height: auto; padding: 4.5rem .8rem 4rem; }
  .award-recipient-row { grid-template-columns: 38% 1fr; gap: .7rem; }
  .award-recipient-row img { height: 56vh !important; }
  .award-recipient-bio p { font-size: .72rem !important; line-height: 1.42; }
}

/* Keep the hero and profile sections readable while their scroll reveals run. */
.scene--hero .scene__sticky { display: grid; place-items: center; }
.scene--hero .hero-copy { position: relative !important; top: auto !important; left: auto !important; z-index: 12 !important; }



.profile-copy { position: relative !important; inset: auto !important; transform: none !important; width: min(92vw, 1280px) !important; min-height: 82vh; height: auto !important; margin: auto; padding: clamp(1rem,2vw,2rem); display: flex !important; flex-direction: column; justify-content: center; gap: 1rem; background: transparent !important; backdrop-filter: none !important; }
.profile-copy .award-heading { width: 100%; text-align: center; }
.profile-copy .award-heading h2 { max-width: 1100px; margin: .4rem auto; font-size: clamp(2rem,4.5vw,4.5rem); }
.profile-copy .profile-subtitle { color: var(--gold); letter-spacing: .14em; font-size: .84rem; }
.legacy-profile-row, .award-recipient-row { display: grid !important; grid-template-columns: minmax(320px,42%) minmax(0,1fr); align-items: center; gap: clamp(1.2rem,3vw,3rem); max-width: 1100px; width: 100%; margin: .5rem auto 0; text-align: left; }
.legacy-profile-row img, .award-recipient-row img { height: min(75vh,720px) !important; width: 100%; max-width: none; object-fit: contain; }
.legacy-profile-row .award-recipient-bio, .award-recipient-row .award-recipient-bio { max-width: 46rem; }
.legacy-profile-row .award-recipient-bio p, .award-recipient-row .award-recipient-bio p { font-size: clamp(.9rem,1.05vw,1.05rem) !important; line-height: 1.58; }
.legacy-profile-row h3, .award-recipient-row h3 { color: var(--gold); font-size: clamp(1.2rem,1.6vw,1.7rem); letter-spacing: .08em; }
.legacy-copy { z-index: 10; }
.scene--legacy, .scene--award { height: auto; min-height: 100svh; }
.scene--legacy .scene__sticky, .scene--award .scene__sticky { position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible; padding: clamp(2rem,5vh,4rem) 0; }
.scene--legacy .profile-copy, .scene--award .award-copy { min-height: 0; }
@media (max-width:700px) {
  .scene--performers .performer-line { display: grid; grid-template-columns: 1fr; gap: 2.4rem; }
  .scene--performers .performer, .scene--performers .performer:nth-child(even) { display: grid; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto 1fr; gap: .7rem; min-height: auto; align-items: start; }
  .scene--performers .performer__image { grid-row: 1; width: 100%; height: min(55svh,500px) !important; overflow: visible; }
  .scene--performers .performer__image img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
  .scene--performers .performer__meta { grid-row: 2; padding: 0 .2rem; }
  .scene--performers .performer__meta .performer-bio { display: block !important; }
  .scene--performers .performer__meta .performer-bio p { font-size: .86rem; line-height: 1.5; }
  .scene--performers .performer__meta h3 { font-size: clamp(1.25rem,6vw,1.8rem); }
  .profile-copy { width: 95vw !important; min-height: auto; padding: 4rem .8rem 3rem; }
  .legacy-profile-row, .award-recipient-row { grid-template-columns: minmax(0,1fr); gap: .75rem; }
  .legacy-profile-row img, .award-recipient-row img { grid-row: 1; height: min(55svh,480px) !important; }
  .legacy-profile-row .award-recipient-bio, .award-recipient-row .award-recipient-bio { grid-row: 2; }
  .legacy-profile-row .award-recipient-bio p, .award-recipient-row .award-recipient-bio p { font-size: .88rem !important; line-height: 1.48; }
}


/* Opening sequence: centered identity, Kirtan Ghar reveal, then the featured tabla artist. */
.scene--hero .scene__sticky::after, .scene--satra .scene__sticky::after, .scene--anindo .scene__sticky::after { display: none; }
.scene--hero { height: 130svh; }
.scene--hero .scene__sticky { display: grid; place-items: center; padding: 1.5rem 0; }
.scene--hero .hero-copy {
  position: relative !important; inset: auto !important; transform: none;
  width: min(86vw, 1120px) !important; margin: 0 auto; display: grid;
  justify-items: center; gap: clamp(.55rem, 1.4vh, 1.1rem); text-align: center;
}
.scene--hero .hero-full-logo { display: block; width: min(100%, 920px); height: auto; margin: 0 auto; }
.scene--hero .hero-copy h1 { width: 100%; line-height: 1.12; white-space: normal; text-align: center; }
.scene--hero .hero-copy h1 .assamese,
.scene--hero .hero-copy h1 .english {
  display: block; width: 100%; white-space: normal; text-align: center; text-align-last: center;
  font-size: clamp(1.5rem, 3.15vw, 3.25rem); line-height: 1.16; letter-spacing: .015em;
}
.scene--hero .hero-copy h1 .english { margin-top: .22rem; font-family: var(--sans); letter-spacing: .075em; font-weight: 500; }
.scene--hero .hero-event-meta { display: grid; justify-items: center; gap: .24rem; margin: 0; width: 100%; text-align: center; }
.scene--hero .hero-event-meta .kicker,
.scene--hero .hero-event-meta .venue {
  width: auto; max-width: 100%; margin: 0; text-align: center; font-size: clamp(.88rem, 1.55vw, 1.2rem);
  line-height: 1.35; letter-spacing: .09em;
}
.scene--hero .hero-event-meta .venue { letter-spacing: .035em; }
.scene--hero .scroll-cue { z-index: 10; }

.scene--satra { height: 260svh; }
.scene--satra .scene__sticky { min-height: 620px; }
.scene--satra .satra-architecture {
  left: 50%; margin-left: -35vw; bottom: 2vh; width: min(70vw, 1040px);
  height: min(76vh, 780px); opacity: 1; filter: none; will-change: transform, filter, opacity;
}
.scene--satra .satra-architecture img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain;
}
.scene--satra .satra-outline { opacity: 1; }
.scene--satra .satra-transparent, .scene--satra .satra-full { opacity: 0; }
.scene--satra .satra-copy {
  top: 50%; right: clamp(2rem, 4.5vw, 5rem); transform: translateY(-50%);
  width: min(27vw, 410px); padding: 0; margin: 0; background: transparent !important;
  border: 0 !important; box-shadow: none !important; backdrop-filter: none !important;
  text-align: center; z-index: 5; will-change: transform, opacity;
}
.scene--satra .satra-copy .eyebrow { color: var(--gold); margin-bottom: .65rem; }
.scene--satra .satra-copy h2 { font-size: clamp(2rem, 3.25vw, 3.7rem); line-height: 1.05; text-align: center; }
.scene--satra .satra-copy .rule { margin: .9rem auto; }
.scene--satra .satra-copy p:not(.eyebrow) { font-size: clamp(.9rem, 1.04vw, 1.08rem); line-height: 1.58; text-align: center; }
.scene--satra .satra-copy .keywords { margin-top: .9rem; font-size: clamp(.68rem, .78vw, .8rem); line-height: 1.6; text-align: center; }
.scene--satra .satra-caption { opacity: 0; }

.scene--anindo .anindo-photo {
  inset: 3vh auto 3vh 2vw; width: 49vw; display: grid; place-items: center;
  opacity: 1; will-change: transform, opacity, filter;
}
.scene--anindo .anindo-photo::after { display: none; }
.scene--anindo .anindo-photo img {
  display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom;
  opacity: 1; filter: none; mix-blend-mode: normal;
}
.scene--anindo .anindo-copy {
  top: 50%; left: auto; right: clamp(2rem, 6vw, 7rem); transform: translateY(-50%);
  width: min(39vw, 610px); max-width: 610px; opacity: 1; text-align: center;
  will-change: transform, opacity;
}
.scene--anindo .anindo-copy .eyebrow,
.scene--anindo .anindo-copy h2,
.scene--anindo .anindo-copy .role,
.scene--anindo .anindo-copy .bio { text-align: center; }
.scene--anindo .anindo-copy h2 { font-size: clamp(2.2rem, 4.2vw, 5rem); line-height: 1.04; }
.scene--anindo .anindo-copy .role { margin-top: .9rem; font-size: clamp(.92rem, 1.15vw, 1.15rem); line-height: 1.5; }
.scene--anindo .anindo-copy .bio { max-width: 100%; margin: 1rem auto 0; font-size: clamp(.86rem, .96vw, 1rem); line-height: 1.52; color: rgba(243,238,225,.82); }
.scene--anindo .anindo-copy .bio p { margin: 0 0 .72rem; }

@media (max-width: 700px) {
  .scene--hero { height: 118svh; }
  .scene--hero .scene__sticky { padding: 1rem .65rem; }
  .scene--hero .hero-copy { width: 94vw !important; gap: .7rem; }
  .scene--hero .hero-full-logo { width: 100%; }
  .scene--hero .hero-copy h1 .assamese,
  .scene--hero .hero-copy h1 .english { font-size: clamp(1.2rem, 6.3vw, 2.15rem); line-height: 1.2; }
  .scene--hero .hero-event-meta .kicker,
  .scene--hero .hero-event-meta .venue { font-size: clamp(.78rem, 3.5vw, 1rem); }

  .scene--satra { height: auto !important; min-height: 0; }
  .scene--satra .scene__sticky {
    position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible;
    padding: 5.5rem 1rem 3rem; display: flex; flex-direction: column; align-items: center; gap: .65rem;
  }
  .scene--satra .satra-architecture {
    position: relative; inset: auto; left: auto; bottom: auto; margin: 0 auto;
    width: min(96vw, 590px); height: min(58svh, 470px); flex: none;
  }
  .scene--satra .satra-copy {
    position: relative; inset: auto; transform: none; width: min(92vw, 560px); margin: .2rem auto 0;
  }
  .scene--satra .satra-copy h2 { font-size: clamp(2rem, 9vw, 3.4rem); }
  .scene--satra .satra-copy p:not(.eyebrow) { font-size: .9rem; line-height: 1.55; }
  .scene--satra .satra-caption { position: relative; left: auto; bottom: auto; margin-top: .5rem; }

  .scene--anindo { height: auto !important; min-height: 0; }
  .scene--anindo .scene__sticky {
    position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible;
    padding: 5rem 1rem 3rem; display: flex; flex-direction: column; align-items: center;
  }
  .scene--anindo .anindo-photo {
    position: relative; inset: auto; width: min(94vw, 560px); height: min(58svh, 500px); flex: none;
  }
  .scene--anindo .anindo-copy { position: relative; inset: auto; transform: none; width: min(92vw, 590px); max-width: 590px; margin: .5rem auto 0; }
  .scene--anindo .anindo-copy h2 { font-size: clamp(2rem, 9vw, 3.4rem); }
  .scene--anindo .anindo-copy .bio { font-size: .88rem; line-height: 1.52; }
}


/* Visibility and scroll-motion safety: every section has a readable static state. */
.scene--hero .hero-copy, .scene--hero .hero-full-logo,
.scene--satra .satra-copy, .scene--satra .satra-architecture,
.scene--anindo .anindo-copy, .scene--anindo .anindo-photo,
.scene--award .award-copy, .scene--award .award-heading,
.scene--award .award-date, .scene--award .award-recipient-row,
.scene--legacy .legacy-copy, .scene--academy .academy-heading,
.scene--academy .academy-intro, .scene--academy .academy-gallery,
.scene--manoj .manoj-copy, .scene--manoj .manoj-image,
.scene--venue .venue-heading, .scene--venue .venue-map,
.scene--register .register-copy, .scene--register .register-form {
  visibility: visible !important;
}
.scene--anindo .anindo-photo, .scene--anindo .anindo-copy { opacity: 1 !important; }
.scene--satra .satra-copy { opacity: 1 !important; }
.scene--satra .satra-transparent { opacity: .42; }
.scene--satra .satra-full { opacity: 1; }
.scene--satra .satra-outline { opacity: .18; }
.scene--satra .satra-caption { opacity: .72; }
.scene--hero .hero-copy, .scene--hero .hero-full-logo,
.scene--award .award-copy, .scene--award .award-date { opacity: 1; }
.scene--performers .performers-heading { left: 0; width: 100%; text-align: center; }
.scene--performers .performers-heading h2 { text-align: center; }
.scene--performers .performer__meta {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  backdrop-filter: none !important; padding: 0 !important;
}
.scene--performers .performer:nth-child(even) { grid-template-columns: 1fr minmax(240px, 43%) !important; }
.scene--performers .performer:nth-child(even) .performer__image { order: 2; }
.scene--performers .performer:nth-child(even) .performer__meta { order: 1; }
.scene--award .award-date { margin: .25rem auto .5rem; color: var(--gold); letter-spacing: .12em; text-align: center; }
.scene--academy .academy-heading, .scene--academy .academy-intro { text-align: center; }
.scene--manoj .manoj-copy { background: transparent !important; box-shadow: none !important; backdrop-filter: none !important; }
.scene--manoj .manoj-copy h2 { text-align: center; }
.scene--venue .venue-heading { width: min(42vw, 650px); }
.scene--venue .venue-heading h2 { font-size: clamp(2.4rem, 5.1vw, 5.5rem); line-height: 1.08; }
@media (max-width: 700px) {
  .scene--performers .performer:nth-child(even) { grid-template-columns: minmax(0,1fr) !important; }
  .scene--performers .performer:nth-child(even) .performer__image,
  .scene--performers .performer:nth-child(even) .performer__meta { order: initial; }
  .scene--venue .venue-heading { width: 88%; }
}


/* Stable opening: normal document flow prevents pinned scenes hiding content. */
.scene--hero, .scene--satra, .scene--anindo { height: auto !important; min-height: 100svh; }
.scene--hero .scene__sticky, .scene--satra .scene__sticky, .scene--anindo .scene__sticky {
  position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible;
}
.scene--hero .scene__sticky { display: grid; place-items: center; padding: 6rem 1.5rem 4rem; }
.scene--hero .hero-copy { width: min(88vw, 1120px) !important; margin: auto; }
.scene--hero .hero-full-logo { width: min(100%, 760px); }
.scene--satra .scene__sticky, .scene--anindo .scene__sticky {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  align-items: center; gap: clamp(1rem, 3vw, 2.5rem); padding: 6rem clamp(1rem, 4vw, 4rem);
}
.scene--satra .satra-architecture, .scene--anindo .anindo-photo {
  position: relative; inset: auto; left: auto; right: auto; top: auto; bottom: auto;
  width: 100%; height: min(78svh, 760px); margin: 0; opacity: 1; transform: none;
}
.scene--satra .satra-architecture { grid-column: 1; grid-row: 1; }
.scene--satra .satra-copy, .scene--anindo .anindo-copy {
  position: relative; inset: auto; top: auto; left: auto; right: auto; transform: none;
  width: 100%; max-width: 660px; margin: 0 auto; opacity: 1; visibility: visible;
}
.scene--satra .satra-copy { grid-column: 2; grid-row: 1; }
.scene--anindo .anindo-copy { grid-column: 1; grid-row: 1; }
.scene--anindo .anindo-photo { grid-column: 2; grid-row: 1; }
.scene--satra .satra-full { opacity: 1; }
.scene--satra .satra-transparent { opacity: .3; }
.scene--satra .satra-outline { opacity: .12; }
.scene--satra .satra-caption { display: none; }
.scene--anindo .anindo-copy .eyebrow { text-align: center; }

/* Centered performer rows with close image and copy columns. */
.scene--performers .scene__sticky { max-width: 1440px; margin: 0 auto; }
.scene--performers .performer-line { width: min(100%, 1180px); margin: 0 auto; gap: clamp(1.8rem, 4vh, 3rem); }
.scene--performers .performer {
  width: 100%; max-width: 1180px; margin: 0 auto; min-height: min(58vh, 520px);
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
  gap: clamp(.4rem, 1vw, .9rem) !important; text-align: center; justify-items: center;
}
.scene--performers .performer:nth-child(even) { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important; }
.scene--performers .performer:nth-child(even) .performer__image { order: 2; }
.scene--performers .performer:nth-child(even) .performer__meta { order: 1; }
.scene--performers .performer__image { width: 100%; height: min(54vh, 470px) !important; }
.scene--performers .performer__meta { width: min(100%, 600px); text-align: center; }
.scene--performers .performer__meta > span { display: block; text-align: center; }
.scene--performers .performer__meta h3, .scene--performers .performer-bio { text-align: center; }

/* Smooth, continuous Academy image ribbon and centered copy. */
.scene--academy .academy-heading { left: 0; right: 0; width: 100%; text-align: center; }
.scene--academy .academy-heading h2 { text-align: center; }
.scene--academy .academy-intro { left: 50%; transform: translateX(-50%); width: min(82vw, 760px); text-align: center; }
.scene--academy .academy-track { gap: .8rem; animation: khol-marquee 54s linear infinite; animation-timing-function: linear; }
.scene--academy .academy-frame { width: clamp(240px, 29vw, 420px); height: 100%; }
@keyframes khol-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* High contrast registration heading and exact venue title. */
.scene--register .register-copy h2 { color: #24211b !important; }
.scene--register .register-copy h2 span { color: #762b2b !important; }
.scene--venue .venue-heading h2 { font-size: clamp(2rem, 4vw, 4rem); line-height: 1.12; }
.scene--venue .venue-map img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scene--venue .venue-heading { width: min(42vw, 650px); }
.scene--venue .venue-heading a { overflow-wrap: anywhere; }
/* Keep adjoining dark cultural sections on a continuous background. */
html[data-theme="dark"] .scene--award { background: #071010; color: var(--ivory); }
html[data-theme="dark"] .scene--award .award-atmosphere { background: radial-gradient(ellipse at 70% 45%, #173d38, #071010 65%, #030707 100%); }

@media (max-width: 700px) {
  .scene--hero .scene__sticky { padding: 5.5rem 1rem 3.5rem; }
  .scene--hero .hero-copy { width: 94vw !important; }
  .scene--satra .scene__sticky, .scene--anindo .scene__sticky {
    display: flex; flex-direction: column; align-items: center; gap: 1rem;
    padding: 5rem 1rem 3rem;
  }
  .scene--satra .satra-architecture, .scene--anindo .anindo-photo {
    width: min(94vw, 560px); height: min(55svh, 440px); flex: none;
  }
  .scene--satra .satra-copy, .scene--anindo .anindo-copy { width: min(92vw, 600px); }
  .scene--satra .satra-architecture { order: 1; }
  .scene--satra .satra-copy { order: 2; }
  .scene--anindo .anindo-copy { order: 1; }
  .scene--anindo .anindo-photo { order: 2; }
  .scene--performers .performer, .scene--performers .performer:nth-child(even) {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: .45rem !important; min-height: 0; text-align: center;
  }
  .scene--performers .performer__image { height: 34svh !important; }
  .scene--performers .performer__meta .performer-bio p { font-size: .78rem; line-height: 1.48; }
  .scene--academy .academy-intro { top: 24%; width: 88vw; }
  .scene--academy .academy-track { animation-duration: 58s; }
  .scene--academy .academy-frame { width: 76vw; }
  .scene--manoj .scene__sticky { position: relative; height: auto; min-height: 100svh; display: flex; flex-direction: column; padding: 5.5rem 1rem 3rem; overflow: visible; }
  .scene--manoj .manoj-copy { order: 1; position: relative; inset: auto; top: auto; left: auto; width: min(92vw,600px); margin: 0 auto; transform: none; padding: 0; }
  .scene--manoj .manoj-copy h2 { text-align: center; }
  .scene--manoj .manoj-image { order: 2; position: relative; inset: auto; width: min(94vw,560px); height: min(60svh,500px); margin: 1rem auto 0; }
  .scene--manoj .manoj-image img { object-fit: contain; }
  .scene--venue .venue-heading { width: 88%; }
}

.scene--hero .hero-copy, .scene--satra .satra-copy, .scene--anindo .anindo-copy { z-index: 20 !important; }
.scene--hero .hero-copy h1, .scene--hero .hero-event-meta,
.scene--satra .satra-copy, .scene--anindo .anindo-copy { color: #f3eee1 !important; }
.scene--hero .hero-copy h1, .scene--hero .hero-copy h1 span { -webkit-text-fill-color: #f3eee1; }
.scene--satra .satra-backdrop, .scene--anindo .anindo-bg { z-index: -2; pointer-events: none; }

/* Scenes 01–03 are intentionally standalone, static-first compositions.
   Their initial HTML/CSS state is fully readable before scroll code loads. */
.scene-rebuild {
  height: auto !important;
  min-height: 116svh;
  color: var(--ivory);
  background: transparent !important;
}
.scene-rebuild__frame {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  overflow: visible;
  padding: clamp(5.5rem, 10vh, 8rem) clamp(1.25rem, 7vw, 8rem);
}
.scene-rebuild__wash {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 56% 48%, rgba(20, 59, 55, .92), rgba(7, 16, 16, .18) 67%, transparent 100%);
}
.scene-rebuild__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.scene-rebuild--hero .scene-rebuild__frame { place-items: center; }
.hero-rebuild__copy {
  position: relative;
  z-index: 10;
  width: min(88vw, 1120px);
  display: grid;
  justify-items: center;
  gap: clamp(.8rem, 1.8vh, 1.35rem);
  text-align: center;
}
.hero-rebuild__logo { display: block; width: min(100%, 760px); height: auto; }
.hero-rebuild__copy h1 { width: 100%; line-height: 1.12; }
.hero-rebuild__copy h1 span { display: block; color: var(--ivory); }
.hero-rebuild__copy h1, .hero-rebuild__copy h1 span, .hero-rebuild__meta { color: #f3eee1 !important; -webkit-text-fill-color: #f3eee1 !important; }
.hero-rebuild__copy h1 .assamese { font-size: clamp(2rem, 5.3vw, 5.3rem); }
.hero-rebuild__copy h1 .english { margin-top: .25rem; font-family: var(--sans); font-size: clamp(.9rem, 1.85vw, 1.45rem); letter-spacing: .16em; font-weight: 500; }
.hero-rebuild__meta { display: grid; gap: .3rem; margin: 0; color: var(--ivory); font-size: clamp(.8rem, 1.05vw, 1rem); letter-spacing: .1em; }
.hero-rebuild__meta p { margin: 0; }
.hero-rebuild__meta p:first-child { color: var(--gold); }
.hero-rebuild__cue { position: absolute; z-index: 1; bottom: 2.3rem; left: 50%; transform: translateX(-50%); display: flex; gap: .75rem; align-items: center; color: rgba(243,238,225,.68); font-size: .68rem; letter-spacing: .2em; }
.hero-rebuild__cue span { width: 34px; height: 1px; background: var(--gold); }

.scene-rebuild--satra .scene-rebuild__frame { grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr); gap: clamp(1.5rem, 5vw, 6rem); }
.satra-rebuild__architecture { position: relative; z-index: 1; align-self: end; width: min(100%, 920px); justify-self: center; }
.satra-rebuild__architecture img { display: block; width: 100%; height: min(70svh, 720px); object-fit: contain; object-position: center bottom; }
.satra-rebuild__copy { position: relative; z-index: 1; max-width: 40rem; color: var(--ivory); }
.satra-rebuild__copy h2 { font-size: clamp(2.7rem, 5.3vw, 6rem); }
.satra-rebuild__copy p:not(.eyebrow) { margin: 0; color: rgba(243,238,225,.82); font-size: clamp(.95rem, 1.1vw, 1.13rem); line-height: 1.75; }
.satra-rebuild__copy .rule { margin: 1.25rem 0; }
.satra-rebuild__copy .keywords { margin-top: 1.5rem; }

.scene-rebuild--anindo .scene-rebuild__frame { grid-template-columns: minmax(19rem, .88fr) minmax(0, 1.12fr); gap: clamp(1.5rem, 5vw, 6rem); }
.anindo-rebuild__copy { position: relative; z-index: 1; max-width: 42rem; color: var(--ivory); }
.anindo-rebuild__copy h2 { font-size: clamp(2.5rem, 4.8vw, 5.8rem); }
.anindo-rebuild__copy .bio { max-width: 37rem; color: rgba(243,238,225,.78); }
.anindo-rebuild__photo { position: relative; z-index: 1; min-height: min(72svh, 780px); display: grid; place-items: end center; }
.anindo-rebuild__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(7,16,16,.68), transparent 28%, transparent 74%, rgba(7,16,16,.16)); }
.anindo-rebuild__photo img { display: block; width: 100%; height: min(72svh, 780px); object-fit: contain; object-position: center bottom; filter: none; mix-blend-mode: normal; }

/* Restored venue: image paired with a map/address view. */
.scene--venue .scene__sticky { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .88fr); align-items: center; gap: clamp(1.2rem, 4vw, 4rem); padding: clamp(5rem, 9vh, 7rem) clamp(1.25rem, 7vw, 7rem); }
.scene--venue .venue-map { grid-column: 1; width: 100%; height: min(70svh, 700px); }
.scene--venue .venue-heading { grid-column: 2; width: min(100%, 650px); }
.scene--venue .venue-heading iframe { display: block; width: 100%; height: clamp(160px, 23vh, 260px); margin: 1.2rem 0; border: 0; filter: grayscale(1) contrast(.9); }

@media (max-width: 700px) {
  .scene-rebuild { min-height: auto; }
  .scene-rebuild__frame { min-height: 100svh; padding: 5.5rem 1.2rem 3.5rem; }
  .hero-rebuild__copy { width: 94vw; }
  .hero-rebuild__copy h1 .assamese { font-size: clamp(1.7rem, 7.4vw, 2.6rem); }
  .hero-rebuild__copy h1 .english { font-size: clamp(.72rem, 3.2vw, .95rem); letter-spacing: .1em; }
  .hero-rebuild__cue { bottom: 1.6rem; font-size: .55rem; }
  .scene-rebuild--satra .scene-rebuild__frame, .scene-rebuild--anindo .scene-rebuild__frame { grid-template-columns: 1fr; gap: 1.4rem; }
  .satra-rebuild__architecture { order: 2; }
  .satra-rebuild__architecture img { height: min(48svh, 440px); }
  .satra-rebuild__copy { order: 1; text-align: center; }
  .satra-rebuild__copy .rule { margin-inline: auto; }
  .anindo-rebuild__photo { order: 1; min-height: min(48svh, 440px); }
  .anindo-rebuild__photo img { height: min(48svh, 440px); }
  .anindo-rebuild__copy { order: 2; text-align: center; }
  .anindo-rebuild__copy .bio { margin-inline: auto; }
  .scene--venue .scene__sticky { grid-template-columns: 1fr; height: auto; min-height: 100svh; padding: 5rem 1.25rem 3rem; }
  .scene--venue .venue-map, .scene--venue .venue-heading { grid-column: 1; width: 100%; }
  .scene--venue .venue-map { height: min(52svh, 480px); }
}

@media (prefers-reduced-motion: reduce) {
  .scene-rebuild *, .scene-rebuild *::before, .scene-rebuild *::after { animation: none !important; transition: none !important; }
}

/* Shared page canvas: sections remain transparent over the existing night-green field. */
html, body { min-height: 100%; background: #071311; }
body { background-image: radial-gradient(ellipse at 52% 26%, #123b35 0%, #0b2420 44%, #071311 78%, #050b0a 100%); background-attachment: fixed; }
.scene--hero, .scene--satra, .scene--anindo, .scene--performers, .scene--legacy,
.scene--award, .scene--academy, .scene--manoj, .scene--venue, .scene--register,
.scene--footer { background: transparent !important; }
.scene__sticky::after { background: none !important; }
.scene-rebuild__wash, .section-wash, .legacy-atmosphere, .award-atmosphere,
.academy-atmosphere, .manoj-atmosphere, .footer-atmosphere, .satra-backdrop,
.anindo-bg { background: transparent !important; }
html[data-theme="light"], html[data-theme="light"] body { background-color: #071311 !important; color: #f3eee1; }
html[data-theme="light"] body { background-image: radial-gradient(ellipse at 52% 26%, #123b35 0%, #0b2420 44%, #071311 78%, #050b0a 100%) !important; background-attachment: fixed; }
html[data-theme="light"] .scene--hero, html[data-theme="light"] .scene--satra,
html[data-theme="light"] .scene--anindo, html[data-theme="light"] .scene--performers,
html[data-theme="light"] .scene--legacy, html[data-theme="light"] .scene--award,
html[data-theme="light"] .scene--academy, html[data-theme="light"] .scene--manoj,
html[data-theme="light"] .scene--venue, html[data-theme="light"] .scene--register,
html[data-theme="light"] .scene--footer { background: transparent !important; color: #f3eee1; }
html[data-theme="light"] .floating-nav { background: rgba(7,19,17,.88); color: #f3eee1; border-color: rgba(198,166,101,.25); }

/* Each performer is a full-screen story stop; the following artist takes its place as you scroll. */
.scene--performers .performer-line { gap: 0; }
.scene--performers .performer {
  position: sticky; top: 0; min-height: 100svh; height: 100svh; padding: 6rem 0 3rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) !important; gap: clamp(.5rem, 1.2vw, 1.25rem) !important;
  background: #0b2420; background: color-mix(in srgb, #0b2420 20%, transparent);
}
.scene--performers .performer:nth-child(even) { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) !important; }
.scene--performers .performer__image { height: min(80vh, 820px) !important; }
.scene--performers .performer__meta { max-width: 40rem; margin-inline: auto; padding-inline: .4rem; }
.scene--performers .performer__meta > span { font-size: .82rem; }
.scene--performers .performer__meta h3 { font-size: clamp(2rem, 4vw, 4.2rem); }
.scene--performers .performer__meta .performer-bio { max-width: 33rem; margin: .8rem auto 0; }

/* Awardee and Jagannath scenes hold a clear full-window resting composition. */
.scene--legacy, .scene--award { height: 145svh !important; min-height: 145svh; }
.scene--legacy .scene__sticky, .scene--award .scene__sticky {
  position: sticky; top: 0; height: 100svh; min-height: 600px; overflow: clip; padding: 4.5rem 1.5rem 2.5rem;
}
.scene--legacy .legacy-copy, .scene--award .award-copy { min-height: 0; max-height: calc(100svh - 7rem); }
.scene--legacy .legacy-profile-row img { width: 100%; height: min(72vh, 740px); object-fit: contain; }
.scene--award .award-recipient-row { flex: 1; min-height: 0; width: min(100%, 1250px); }
.scene--award .award-recipient-row img { height: min(74vh, 760px) !important; object-fit: contain; }

/* Preserve the Academy's scattered-to-aligned photo choreography and continuous marquee. */
.scene--academy .academy-track { animation-play-state: paused; }
.scene--academy .academy-track.is-marquee { animation-play-state: running; }
.scene--academy .academy-frame { transform-origin: center; }
.scene--manoj .manoj-copy { text-align: center; }
.scene--manoj .manoj-copy h2 { width: min(100%, 900px); margin-inline: auto; text-align: center; }

/* Venue heading spans the paired map and photograph; map sits left and the supplied photo right. */
.scene--venue .scene__sticky { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
.scene--venue .venue-heading { position: relative; inset: auto; grid-column: 1 / -1; grid-row: 1; width: 100%; text-align: center; }
.scene--venue .venue-heading .eyebrow, .scene--venue .venue-heading > p:not(.eyebrow), .scene--venue .venue-heading a { display: none; }
.scene--venue .venue-heading h2 { max-width: 1200px; margin: 0 auto; color: var(--ivory); text-align: center; }
.scene--venue .venue-map { position: relative; inset: auto; grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; gap: clamp(.7rem, 1.4vw, 1.25rem); height: 100%; background: transparent; border: 0; }
.scene--venue .venue-map iframe { grid-column: 1; width: 100%; height: 100%; min-height: 360px; filter: grayscale(.72) invert(.85) hue-rotate(145deg) contrast(.95); }
.scene--venue .venue-map iframe, .scene--venue .venue-map img { grid-row: 1; }
.scene--venue .venue-map img { grid-column: 2; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.scene--venue .venue-map a { display: block; grid-column: 1 / -1; grid-row: 2; justify-self: center; color: var(--ivory); font-size: .82rem; letter-spacing: .12em; text-decoration-color: var(--gold); text-underline-offset: .35em; }

@media (max-width: 900px) {
  .scene--performers .performer, .scene--performers .performer:nth-child(even) { padding: 5.5rem 0 2.5rem; }
  .scene--performers .performer__image { height: min(72vh, 660px) !important; }
  .scene--venue .scene__sticky { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .scene--venue .venue-map { grid-template-columns: 1fr; grid-template-rows: minmax(240px, .85fr) minmax(260px, 1fr) auto; }
  .scene--venue .venue-map iframe, .scene--venue .venue-map img { grid-column: 1; }
  .scene--venue .venue-map iframe { grid-row: 1; }
  .scene--venue .venue-map img { grid-row: 2; object-position: right center; }
  .scene--venue .venue-map a { grid-row: 3; }
}
@media (max-width: 700px) {
  .scene--performers .performer, .scene--performers .performer:nth-child(even) {
    position: relative; top: auto; height: auto; min-height: 100svh; padding: 5rem 0 2.4rem;
    display: flex; flex-direction: column; gap: .7rem !important; justify-content: center;
  }
  .scene--performers .performer__image { width: 100%; height: min(48svh, 430px) !important; flex: none; }
  .scene--performers .performer__meta { width: 100%; }
  .scene--legacy, .scene--award { height: auto !important; min-height: 100svh; }
  .scene--legacy .scene__sticky, .scene--award .scene__sticky { position: relative; height: auto; min-height: 100svh; max-height: none; overflow: visible; padding: 5rem 1rem 3rem; }
  .scene--legacy .legacy-copy, .scene--award .award-copy { max-height: none; }
  .scene--legacy .legacy-profile-row img, .scene--award .award-recipient-row img { height: min(50svh, 430px) !important; }
  .scene--venue .scene__sticky { position: relative; height: auto; min-height: 100svh; padding: 5rem 1rem 3rem; }
  .scene--venue .venue-map { grid-template-rows: 280px minmax(240px, 1fr) auto; }
  .scene--venue .venue-map iframe { min-height: 0; }
}

/* Precise annotation pass: only the requested story stops and headings. */
.hero-rebuild__copy h1 .english {
  width: 100%; font-family: var(--serif); font-size: clamp(2rem, 5.3vw, 5.3rem);
  line-height: 1.04; letter-spacing: .035em; font-weight: 500;
}
.scene-rebuild--satra { height: 190svh !important; min-height: 190svh; }
.scene-rebuild--satra .scene-rebuild__frame {
  position: sticky; top: 0; height: 100svh; min-height: 0;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: clamp(1rem, 3vw, 3rem);
  padding-block: 5rem 2rem; overflow: hidden;
}
.satra-rebuild__architecture { width: 100%; height: 100%; align-self: stretch; position: relative; }
.satra-rebuild__architecture img {
  position: absolute; inset: auto 0 0; width: 100%; height: min(88svh, 100%);
  object-fit: contain; object-position: center bottom; transform-origin: center bottom;
}
.satra-rebuild__architecture img:first-child { opacity: 1; }
.satra-rebuild__architecture img:not(:first-child) { opacity: 0; }
.satra-rebuild__copy { max-height: calc(100svh - 8rem); overflow: auto; scrollbar-width: none; }
.satra-rebuild__copy p:not(.eyebrow) { margin: 0 0 .7rem; line-height: 1.55; }
.satra-rebuild__copy h2 { font-size: clamp(2.4rem, 4.6vw, 5rem); }
.scene-rebuild--anindo { height: 180svh !important; min-height: 180svh; }
.scene-rebuild--anindo .scene-rebuild__frame {
  position: sticky; top: 0; height: 100svh; min-height: 0;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(.6rem, 2vw, 2rem);
  padding: 5rem clamp(1rem, 4vw, 4rem) 0; overflow: hidden; align-items: stretch;
}
.anindo-rebuild__copy { align-self: center; max-height: calc(100svh - 7rem); overflow: auto; scrollbar-width: none; }
.anindo-rebuild__copy .eyebrow span { white-space: nowrap; color: var(--gold); }
.anindo-rebuild__copy > .eyebrow { display: flex; flex-wrap: nowrap; align-items: baseline; gap: .4em; font-size: clamp(.58rem, .72vw, .8rem); letter-spacing: .09em; }
.anindo-rebuild__photo { min-height: 0; height: 100%; align-items: end; }
.anindo-rebuild__photo img { height: 100%; max-height: 96svh; width: 100%; object-fit: contain; object-position: center bottom; }
.anindo-rebuild__photo::after { display: none; }
@media (min-width: 901px) {
  .scene-rebuild--anindo .anindo-rebuild__photo { position: absolute; inset: 0 0 0 auto; width: 55%; height: 100%; display: flex; justify-content: center; align-items: flex-end; }
  .scene-rebuild--anindo .anindo-rebuild__photo img { width: 100%; height: 100%; max-height: none; }
  .scene-rebuild--anindo .anindo-rebuild__copy { width: min(43%, 700px); margin-right: auto; }
}

/* Final annotated Anindo placement: portrait and bio exchange columns. */
@media (min-width: 901px) {
  #scene-03 .scene-rebuild__frame {
    display: grid !important;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }
  #scene-03 .anindo-rebuild__photo {
    grid-column: 2 !important;
    grid-row: 2 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    align-self: end !important;
  }
  #scene-03 .anindo-rebuild__copy > .bio {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 .5rem !important;
    align-self: end !important;
    text-align: left !important;
  }
}

@media (max-width: 900px) {
  /* Keep the entire Anindo date together and follow the portrait, never overlay it. */
  #scene-03 .mobile-profile-header .eyebrow {
    color: var(--gold) !important;
    -webkit-text-fill-color: var(--gold) !important;
    white-space: nowrap;
    font-size: clamp(.58rem, 2.55vw, .78rem);
    letter-spacing: .13em;
  }
  #scene-03 .anindo-rebuild__photo {
    transform: translateY(-.55rem) !important;
    margin-bottom: -.55rem !important;
  }
  #scene-03 .mobile-profile-bio {
    position: relative !important;
    z-index: 30 !important;
    margin-top: .85rem !important;
    padding-top: .25rem !important;
    background: #050505 !important;
  }
}

/* Repair the three opening scenes: a single opaque surface with readable copy. */
#scene-01,
#scene-02,
#scene-03,
#scene-01 .scene-rebuild__frame,
#scene-02 .scene-rebuild__frame,
#scene-03 .scene-rebuild__frame {
  background: #050505 !important;
}
#scene-01 .scene-rebuild__wash,
#scene-02 .scene-rebuild__wash,
#scene-03 .scene-rebuild__wash,
#scene-01 .scene-rebuild__grain {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}

@media (min-width: 901px) {
  #scene-02 .profile-dock-bio,
  #scene-03 .anindo-rebuild__copy > .bio {
    display: block !important;
    position: relative !important;
    z-index: 16 !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    color: #f3eee1 !important;
    -webkit-text-fill-color: #f3eee1 !important;
  }
  #scene-02 .profile-dock-bio p,
  #scene-03 .anindo-rebuild__copy > .bio p {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #f3eee1 !important;
    -webkit-text-fill-color: #f3eee1 !important;
  }
}
.scene--performers .performer--rupa .performer__image img { transform: none !important; }
  .scene--performers .performer { background: transparent; }
.scene--legacy .scene__sticky, .scene--award .scene__sticky { padding: 4rem clamp(1rem, 3vw, 3rem) 0; }
.scene--legacy .legacy-copy {
  position: absolute !important; inset: auto !important; left: 50% !important; top: calc(50% + 32px) !important; transform: translate(-50%, -50%) !important;
  display: grid !important; width: min(96vw, 1680px) !important; height: calc(100svh - 5rem) !important; max-height: none !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: .4rem clamp(1rem, 2vw, 2rem);
  align-content: stretch; align-items: stretch !important; padding: 0; top: 50%;
}
.scene--legacy .legacy-copy .award-heading { grid-column: 1 / -1; grid-row: 1; text-align: center; }
.scene--legacy .legacy-copy .award-heading h2 { font-size: clamp(2rem, 4.2vw, 4.4rem); }
.scene--legacy .legacy-profile-row { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(.8rem, 2vw, 2rem); align-items: stretch; min-height: 0; }
.scene--legacy .legacy-profile-row img { height: 100% !important; max-height: calc(100svh - 10rem); object-fit: contain; object-position: center bottom; }
.scene--legacy .legacy-profile-row .award-recipient-bio { align-self: center; max-height: calc(100svh - 10rem); overflow: auto; }
.scene--legacy .legacy-profile-row .award-recipient-bio h3 { font-size: clamp(1.4rem, 2.3vw, 2.4rem); }
.scene--legacy .legacy-profile-row .award-recipient-bio p, .scene--award .award-recipient-bio p { font-size: clamp(.92rem, 1.15vw, 1.15rem); line-height: 1.55; }
.scene--award .award-copy { width: min(96vw, 1680px) !important; height: calc(100svh - 5rem) !important; max-height: none !important; min-height: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: 1fr; grid-template-rows: auto auto minmax(0,1fr); gap: .1rem; }
.scene--award .award-heading { grid-column: 1; grid-row: 1; }
.scene--award .award-date { grid-column: 1; grid-row: 2; margin: 0 auto .4rem; }
.scene--award .award-recipient-row { grid-column: 1; grid-row: 3; align-self: stretch; width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(.8rem, 2vw, 2rem); align-items: stretch; min-height: 0; margin: 0; }
.scene--award .award-recipient-row img { width: 100%; height: 100% !important; max-height: calc(100svh - 12rem); object-fit: contain; object-position: center bottom; }
.scene--award .award-recipient-bio { align-self: center; max-height: calc(100svh - 12rem); overflow: auto; }
.scene--manoj .manoj-heading { position: absolute; z-index: 3; top: 8%; left: 50%; transform: translateX(-50%); width: min(92vw, 1100px); margin: 0; text-align: center; font-size: clamp(2rem, 5vw, 5rem); }
.scene--manoj .manoj-copy h2 { display: none; }
@media (max-width: 700px) {
  .hero-rebuild__copy h1 .english { font-size: clamp(1.7rem, 7.4vw, 2.6rem); letter-spacing: .015em; }
  .scene-rebuild--satra { height: auto !important; min-height: 0; }
  .scene-rebuild--satra .scene-rebuild__frame { position: relative; top: auto; height: auto; min-height: 100svh; grid-template-columns: 1fr; padding-block: 5.5rem 2.5rem; }
  .satra-rebuild__architecture { height: min(54svh, 500px); order: 1; }
  .satra-rebuild__architecture img { height: 100%; }
  .satra-rebuild__copy { order: 2; max-height: none; overflow: visible; }
  .scene-rebuild--anindo { height: 170svh !important; min-height: 170svh; }
  .scene-rebuild--anindo .scene-rebuild__frame { position: sticky; top: 0; height: 100svh; min-height: 0; grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; gap: .2rem; padding: 5rem 1rem 0; }
  .anindo-rebuild__photo { grid-row: 1; min-height: 0; height: 100%; }
  .anindo-rebuild__photo img { height: 100%; max-height: 100%; }
  .anindo-rebuild__copy { grid-row: 2; max-height: 34svh; overflow: auto; padding-bottom: .5rem; }
  .anindo-rebuild__copy h2 { font-size: clamp(2rem, 8vw, 3rem); }
  .anindo-rebuild__copy .bio p { margin: .4rem 0; font-size: .82rem; line-height: 1.4; }
  .scene--legacy .legacy-copy, .scene--award .award-copy { position: relative !important; inset: auto !important; left: auto !important; top: auto !important; transform: none !important; display: grid !important; width: 94vw !important; height: auto !important; max-height: none !important; }
  .scene--legacy .legacy-profile-row, .scene--award .award-recipient-row { grid-template-columns: 1fr; }
  .scene--legacy .legacy-profile-row img, .scene--award .award-recipient-row img { height: min(53svh, 440px) !important; max-height: none; }
  .scene--legacy .legacy-profile-row .award-recipient-bio, .scene--award .award-recipient-bio { max-height: none; }
  .scene--manoj .manoj-heading { position: relative; inset: auto; transform: none; order: 0; margin: 0 auto 1rem; }
  .scene--manoj .manoj-image { order: 1 !important; }
  .scene--manoj .manoj-copy { order: 2 !important; }
}

/* Requested latching and image scale refinements. */
.hero-rebuild__meta {
  font-size: clamp(1.05rem, 1.37vw, 1.3rem) !important;
  color: #ed5558 !important; -webkit-text-fill-color: #ed5558 !important;
  text-shadow: 0 1px 18px rgba(0,0,0,.48);
}
.hero-rebuild__meta p:first-child { color: #ed5558 !important; -webkit-text-fill-color: #ed5558 !important; }

/* Full-screen Kirtan Ghar dissolve, ending on the supplied full transparent image. */
.scene-rebuild--satra { height: 180svh !important; min-height: 180svh; }
.scene-rebuild--satra .scene-rebuild__frame {
  grid-template-columns: minmax(0, 1.32fr) minmax(18rem, .68fr); gap: clamp(.8rem, 2vw, 2rem);
  padding: 4.25rem clamp(1rem, 3vw, 3rem) 0;
}
.satra-rebuild__architecture { width: 100%; height: 100%; min-width: 0; }
.satra-rebuild__architecture img {
  inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center;
  transform-origin: center center; will-change: opacity, transform, filter;
}
.satra-rebuild__copy { max-height: calc(100svh - 5.5rem); padding: .4rem 0; }
.satra-rebuild__copy p:not(.eyebrow) { font-size: clamp(.84rem, 1vw, 1.02rem); line-height: 1.48; }

/* Anindo title stays inside its column while his image fills the screen edge to edge. */
.scene-rebuild--anindo .scene-rebuild__frame { padding: 4.5rem clamp(.8rem, 2vw, 2rem) 0; }
.scene-rebuild--anindo .anindo-rebuild__copy { width: min(37%, 700px); max-width: none; overflow: visible; }
.scene-rebuild--anindo .anindo-rebuild__copy h2 {
  max-width: 100%; font-size: clamp(2.2rem, 3.8vw, 4.25rem); line-height: .98;
  overflow-wrap: anywhere; letter-spacing: -.025em;
}
.scene-rebuild--anindo .anindo-rebuild__photo { width: 63%; }
.scene-rebuild--anindo .anindo-rebuild__photo img { object-fit: contain; object-position: center bottom; }

/* Keep the heading latched inside the first artist card and pin each artist stop. */
.scene--performers { height: auto !important; min-height: 0; }
.scene--performers .scene__sticky { position: relative; top: auto; height: auto; min-height: 0; max-width: none; margin: 0; padding: 0; overflow: visible; }
.scene--performers .performer-line { position: relative; inset: auto; display: grid; grid-template-columns: minmax(0,1fr); width: 100%; max-width: none; margin: 0; gap: 0; overflow: visible; }
.scene--performers .performer {
  position: sticky; top: 0; width: 100%; max-width: none; height: 100svh; min-height: 100svh;
  margin: 0; padding: 5.5rem clamp(1rem, 5vw, 5rem) 2rem;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: clamp(.6rem, 1.5vw, 1.5rem) !important; overflow: hidden;
  background: #071311; background: color-mix(in srgb, #071311 94%, transparent);
}
.scene--performers .performer:nth-child(even) { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important; }
.scene--performers .performer__image { inset: 0; height: 100% !important; }
.scene--performers .performer__image img { object-fit: contain; object-position: center bottom; }
.scene--performers .performer__meta { max-height: calc(100svh - 8rem); overflow: auto; scrollbar-width: none; }
.scene--performers .performers-heading { position: absolute; inset: clamp(8rem, 25vh, 22rem) 0 auto; z-index: 5; width: 100%; margin: 0; padding: 0; text-align: center; }
.scene--performers .performers-heading h2 { font-size: clamp(2rem, 4.4vw, 4.5rem); line-height: 1; }

/* Let the Academy images scramble into a true, continuous flex marquee. */
.scene--academy .academy-gallery { overflow: hidden; }
.scene--academy .academy-track { position: absolute; inset: 0 auto 0 0; display: flex; align-items: center; gap: .8rem; width: max-content; animation: khol-marquee 54s linear infinite; animation-play-state: paused !important; will-change: transform; }
.scene--academy .academy-track.is-marquee { animation-play-state: running !important; }
.scene--academy .academy-frame {
  position: relative !important; inset: auto !important; left: auto !important; top: auto !important;
  flex: 0 0 clamp(240px, 29vw, 420px); width: clamp(240px, 29vw, 420px); height: 100%;
  margin: 0; opacity: 1; transform-origin: center; will-change: transform, opacity;
}

/* Manoj title, exponent line, portrait and biography form one close latched group. */
.scene--manoj .manoj-heading { top: 5.5%; font-size: clamp(2rem, 4.4vw, 4.6rem); }
.scene--manoj .manoj-subheading { position: absolute; z-index: 4; top: 13.8%; left: 50%; transform: translateX(-50%); margin: 0; color: var(--gold); font-size: clamp(.78rem, 1.1vw, 1rem); letter-spacing: .18em; text-transform: uppercase; text-align: center; white-space: nowrap; }
.scene--manoj .manoj-copy { top: 41%; }
.scene--manoj .manoj-image { inset: 17% 0 0 51%; }
.scene--manoj .manoj-image img { transform: scale(1.16); transform-origin: center bottom; }

/* Fill more of both full-screen profile photo columns. */
.scene--legacy .legacy-profile-row { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.scene--legacy .legacy-profile-row img { object-fit: contain; object-position: center bottom; }
.scene--award .award-recipient-row { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.scene--award .award-recipient-row img { object-fit: contain; object-position: center bottom; }

@media (max-width: 900px) {
  .scene-rebuild--satra .scene-rebuild__frame { grid-template-columns: minmax(0, 1.05fr) minmax(16rem, .95fr); }
  .scene-rebuild--anindo .anindo-rebuild__copy { width: 38%; }
  .scene-rebuild--anindo .anindo-rebuild__photo { width: 62%; }
  .scene--performers .performer, .scene--performers .performer:nth-child(even) { padding: 5rem 1.1rem 1.5rem; }
  .scene--performers .performer__meta h3 { font-size: clamp(1.5rem, 3.2vw, 2.5rem); }
  .scene--academy .academy-frame { flex-basis: 42vw; width: 42vw; }
}

/* Current annotation refinements: clearer gold accents, tighter headings, and longer pin holds. */
:root, html[data-theme="dark"] { --gold: #d6a438; }
.hero-rebuild__meta {
  font-size: clamp(1.26rem, 1.65vw, 1.56rem) !important;
  color: var(--gold) !important;
  -webkit-text-fill-color: var(--gold) !important;
}
.hero-rebuild__meta p:first-child { color: var(--gold) !important; -webkit-text-fill-color: var(--gold) !important; }

.scene-rebuild--anindo .anindo-rebuild__copy { width: 85%; max-width: none; }
.scene-rebuild--anindo .anindo-rebuild__copy h2 {
  max-width: none; font-size: clamp(2.8rem, 5.1vw, 6.2rem); line-height: .98;
  overflow-wrap: normal; word-break: normal; text-wrap: balance;
}
.scene-rebuild--anindo .anindo-rebuild__copy .bio { max-width: 100%; }
.scene-rebuild--anindo .anindo-rebuild__photo { bottom: 0; align-items: flex-end; }
.scene-rebuild--anindo .anindo-rebuild__photo img { object-position: center bottom; }

.scene--performers .performer-line { padding-bottom: 100svh; }
.scene--performers .performers-heading {
  position: sticky; top: 4.5rem; height: auto; overflow: visible; z-index: 10;
  align-self: start; left: 0; right: 0; bottom: auto; width: 100%; margin: 4.5rem 0 -5.3rem; padding: 0; text-align: center;
}
.scene--performers .performers-heading h2 { display: inline-block; margin: 0; font-size: clamp(1.8rem, 3.8vw, 3.8rem); line-height: 1; }

.scene--legacy .legacy-profile-row img { object-fit: contain !important; object-position: center bottom !important; }
.scene--award .award-recipient-row img {
  max-height: 100% !important; height: 100% !important; object-fit: contain !important;
  object-position: center bottom !important; align-self: end;
}

.scene--academy .academy-frame { opacity: 1; }
.scene--manoj .manoj-heading { top: 12%; }
.scene--manoj .manoj-subheading { top: 20%; }
.scene--manoj .manoj-image { inset: 23% 0 0 49%; }
.scene--manoj .manoj-copy { top: 25%; left: clamp(1rem, 4vw, 4rem); width: min(48%, 820px); }
.scene--manoj .manoj-copy .bio { max-width: none; }

.scene--venue .scene__sticky { align-content: center; padding-top: clamp(7rem, 12vh, 10rem) !important; }
.scene--venue .venue-heading h2 { margin-top: 1rem; }

@media (max-width: 700px) {
  .hero-rebuild__meta { font-size: 1.25rem !important; }
  .scene--performers .performer-line { padding-bottom: 100svh; }
  .scene--performers .performers-heading { top: 4.1rem; margin-top: 4.1rem; margin-bottom: -4.8rem; }
  .scene--performers .performers-heading h2 { font-size: clamp(1.55rem, 7vw, 2.3rem); }
  .scene-rebuild--anindo .anindo-rebuild__copy { width: 100%; }
  .scene-rebuild--anindo .anindo-rebuild__copy h2 { font-size: clamp(2rem, 8vw, 3.2rem); }
  .scene--manoj .manoj-heading { top: auto; }
  .scene--manoj .manoj-subheading { top: auto; }
  .scene--manoj .manoj-copy { top: auto; left: auto; width: min(92vw, 820px); }
}

/* Small-screen docking refinements requested in the mobile preview comments. */
@media (max-width: 700px) {
  .scene-rebuild--anindo .scene-rebuild__frame { padding: 3.55rem .65rem 0; }
  .scene-rebuild--anindo .anindo-rebuild__photo { margin-top: -.35rem; }
  .scene-rebuild--anindo .anindo-rebuild__photo img {
    object-position: center top; transform: scale(1.12); transform-origin: center top;
  }

  .scene--performers .performer-line { padding-bottom: 0; }
  .scene--performers .performers-heading { top: 5rem; margin-top: 5rem; margin-bottom: -5.7rem; }
  .scene--performers .performer { padding-top: 5rem; gap: .25rem !important; }
  .scene--performers .performer__image { height: min(49svh, 430px) !important; }

  .scene--legacy .legacy-profile-row { gap: .25rem; }
  .scene--legacy .legacy-profile-row img {
    height: min(66svh, 560px) !important; object-fit: contain !important;
    object-position: center bottom !important; transform: scale(1.12); transform-origin: center bottom;
  }
  .scene--legacy .legacy-profile-row .award-recipient-bio { text-align: left; }
  .scene--award .award-recipient-row { gap: .25rem; }
  .scene--award .award-recipient-row img {
    height: min(52svh, 440px) !important; object-fit: contain !important;
    object-position: center bottom !important; align-self: end;
  }
  .scene--award .award-recipient-bio { text-align: left; }

  .scene--manoj .manoj-heading {
    font-size: clamp(1.8rem, 8vw, 2.8rem); line-height: 1.08; margin: 0 auto .25rem;
  }
  .scene--manoj .manoj-subheading { margin: 0 auto .65rem; line-height: 1.35; }
  .scene--manoj .manoj-image { height: min(48svh, 400px); margin: 0 auto .5rem !important; }
  .scene--manoj .manoj-copy { margin: 0 auto; text-align: left; }
  .scene--manoj .manoj-copy .bio { max-height: 25svh; overflow: auto; }
}
@media (max-width: 700px) {
  .hero-rebuild__meta { font-size: 1.25rem !important; }
}
@media (max-width: 700px) {
  .hero-rebuild__meta { font-size: 1.04rem !important; }
  .scene-rebuild--satra { height: 180svh !important; min-height: 180svh; }
  .scene-rebuild--satra .scene-rebuild__frame {
    position: sticky; top: 0; height: 100svh; min-height: 0; display: block; padding: 0; overflow: hidden;
  }
  .scene-rebuild--satra .satra-rebuild__architecture { position: absolute; inset: 0; width: 100%; height: 100%; }
  .scene-rebuild--satra .satra-rebuild__architecture img { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
  .scene-rebuild--satra .satra-rebuild__copy {
    position: absolute; inset: auto .8rem .7rem; z-index: 3; width: auto; max-width: none;
    max-height: 48svh; padding: 1rem; overflow: auto; text-align: left;
    background: linear-gradient(180deg, rgba(7,19,17,.72), rgba(7,19,17,.96) 18%);
  }
  .scene-rebuild--satra .satra-rebuild__copy h2 { font-size: clamp(1.8rem, 8vw, 2.8rem); }
  .scene-rebuild--satra .satra-rebuild__copy p:not(.eyebrow) { font-size: .76rem; line-height: 1.36; margin-bottom: .45rem; }
  .scene-rebuild--anindo .scene-rebuild__frame { grid-template-columns: 1fr; }
  .scene-rebuild--anindo .anindo-rebuild__copy { width: 100%; }
  .scene-rebuild--anindo .anindo-rebuild__photo { width: 100%; }
  .scene--performers .performer, .scene--performers .performer:nth-child(even) {
    position: sticky; top: 0; height: 100svh; min-height: 100svh; padding: 4.4rem .8rem .8rem;
    display: grid; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: .4rem !important; justify-content: stretch;
  }
  .scene--performers .performers-heading { inset: 3.5rem 0 auto; }
  .scene--performers .performers-heading h2 { font-size: clamp(1.7rem, 8vw, 2.6rem); }
  .scene--performers .performer__image { position: relative; grid-row: 1; width: 100%; height: 100% !important; min-height: 0; }
  .scene--performers .performer__meta { grid-row: 2; width: 100%; max-height: 100%; padding: 0 .25rem; text-align: center; }
  .scene--performers .performer__meta h3 { font-size: clamp(1.15rem, 5.5vw, 1.8rem); }
  .scene--performers .performer__meta .performer-bio p { font-size: .72rem; line-height: 1.34; }
  .scene--academy .academy-frame { flex-basis: 76vw; width: 76vw; }
  .scene--manoj .manoj-subheading { position: relative; top: auto; left: auto; transform: none; order: 1; margin: -.7rem auto .3rem; }
  .scene--manoj .manoj-heading { order: 0; margin-bottom: 0; }
  .scene--manoj .manoj-image { order: 2 !important; margin-top: 0 !important; }
  .scene--manoj .manoj-copy { order: 3 !important; margin-top: -.3rem; }
}

/* Final responsive overrides: keep the small-screen artwork and copy docked as one readable story stop. */
@media (max-width: 700px) {
  .hero-rebuild__meta { font-size: 1.25rem !important; }
  .scene--performers .performer-line { padding-bottom: 0; }
  .scene--performers .performers-heading { top: 5rem; inset-block-start: 5rem; margin: 5rem 0 -5.7rem; }
  .scene--performers .performer { padding-top: 5rem; }

  .scene--legacy, .scene--award { height: 125svh !important; min-height: 125svh; }
  .scene--legacy .scene__sticky, .scene--award .scene__sticky {
    position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; padding: 4rem .75rem .45rem;
  }
  .scene--legacy .legacy-copy, .scene--award .award-copy {
    width: 100% !important; height: 100%; min-height: 0; max-height: none; padding: 0;
    display: flex !important; flex-direction: column; justify-content: flex-start; gap: .2rem;
  }
  .scene--legacy .legacy-copy .award-heading h2 { font-size: clamp(1.45rem, 6vw, 2.25rem); line-height: 1.02; }
  .scene--legacy .legacy-copy .profile-subtitle { margin: .15rem 0; font-size: .68rem; }
  .scene--legacy .legacy-profile-row {
    flex: 1; min-height: 0; display: grid !important; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) minmax(0,.9fr);
    gap: .15rem; margin: 0; width: 100%;
  }
  .scene--legacy .legacy-profile-row img {
    grid-row: 1; width: 100%; height: 100% !important; max-height: none; object-fit: contain !important;
    object-position: center bottom !important; transform: scale(1.16); transform-origin: center bottom;
  }
  .scene--legacy .legacy-profile-row .award-recipient-bio { grid-row: 2; max-height: none; overflow: auto; text-align: left; }

  .scene--award .award-copy { display: grid !important; grid-template-rows: auto auto minmax(0,1fr); gap: .12rem; }
  .scene--award .award-heading h2 { font-size: clamp(1.25rem, 4.8vw, 1.9rem); line-height: 1; }
  .scene--award .award-year { margin: .1rem 0; font-size: 1.6rem; }
  .scene--award .award-date { margin: 0 auto .15rem; font-size: .64rem; }
  .scene--award .award-recipient-row {
    min-height: 0; display: grid !important; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) minmax(0,.78fr);
    gap: .15rem; margin: 0; width: 100%;
  }
  .scene--award .award-recipient-row img {
    grid-row: 1; width: 100%; height: 100% !important; max-height: none !important; object-fit: contain !important;
    object-position: center bottom !important; align-self: end;
  }
  .scene--award .award-recipient-bio { grid-row: 2; max-height: none; overflow: auto; text-align: left; }

  .scene--manoj { height: 125svh !important; min-height: 125svh; }
  .scene--manoj .scene__sticky {
    position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; padding: 3.8rem .8rem .45rem;
  }
  .scene--manoj .manoj-heading { position: relative; inset: auto; transform: none; order: 0; margin: 0 auto .15rem; font-size: clamp(1.8rem, 8vw, 2.8rem); line-height: 1.08; }
  .scene--manoj .manoj-subheading { position: relative; inset: auto; transform: none; order: 1; margin: 0 auto .4rem; line-height: 1.3; }
  .scene--manoj .manoj-image { position: relative; inset: auto; order: 2; flex: 0 1 39svh; width: min(94vw,560px); height: 39svh; margin: 0 auto .3rem !important; }
  .scene--manoj .manoj-copy { position: relative; inset: auto; order: 3; transform: none; width: min(92vw,600px); margin: 0 auto; padding: 0; text-align: left; }
  .scene--manoj .manoj-copy .bio { max-height: 24svh; overflow: auto; }
}

/* Final scroll and responsive refinements from the latest review. */
.scene--performers .performer-line { padding-bottom: 100svh; }
.scene--legacy { margin-top: -100svh; }
.scene--performers .performer--rupa .performer__image img {
  object-fit: cover !important; object-position: center top !important;
  transform: scale(1.16); transform-origin: center top;
}
.scene--legacy .legacy-profile-row img {
  object-fit: cover !important; object-position: center top !important;
  transform: scale(1.12); transform-origin: center top;
}
.scene--academy .academy-track { animation-duration: 42s; }

@media (max-width: 900px) {
  .scene-rebuild--satra { height: 145svh !important; min-height: 145svh; }
  .scene-rebuild--satra .scene-rebuild__frame {
    position: sticky; top: 0; height: 100svh; min-height: 0; display: flex; flex-direction: column;
    align-items: stretch; gap: .22rem; padding: 4rem .8rem .7rem; overflow: hidden;
  }
  .scene-rebuild--satra .satra-rebuild__copy { display: contents; }
  .scene-rebuild--satra .satra-rebuild__copy > .eyebrow { order: 0; margin: 0 auto .1rem; }
  .scene-rebuild--satra .satra-rebuild__copy > h2 { order: 1; font-size: clamp(1.7rem, 6vw, 3.2rem); line-height: 1.04; text-align: center; }
  .scene-rebuild--satra .satra-rebuild__copy > .rule { order: 2; flex: none; margin: .25rem auto; }
  .scene-rebuild--satra .satra-rebuild__architecture { position: relative; inset: auto; order: 3; flex: 1; width: 100%; min-height: 0; margin: 0; }
  .scene-rebuild--satra .satra-rebuild__architecture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .scene-rebuild--satra .satra-rebuild__copy > p:not(.eyebrow) { position: relative; order: 4; margin: .1rem 0; max-height: 17svh; overflow: auto; font-size: clamp(.72rem, 1.7vw, .9rem); line-height: 1.38; }

  .scene-rebuild--anindo { height: 145svh !important; min-height: 145svh; }
  .scene-rebuild--anindo .scene-rebuild__frame {
    position: sticky; top: 0; height: 100svh; min-height: 0; display: flex; flex-direction: column;
    align-items: stretch; gap: .18rem; padding: 4rem .8rem .65rem; overflow: hidden;
  }
  .scene-rebuild--anindo .anindo-rebuild__copy { display: contents; }
  .scene-rebuild--anindo .anindo-rebuild__copy > .eyebrow { order: 0; margin: 0 auto .05rem; text-align: center; font-size: .57rem; }
  .scene-rebuild--anindo .anindo-rebuild__copy > h2 { order: 1; margin: 0 auto .05rem; text-align: center; font-size: clamp(1.7rem, 6.8vw, 3.2rem); }
  .scene-rebuild--anindo .anindo-rebuild__copy > .role { order: 2; margin: 0 auto .15rem; text-align: center; font-size: .84rem; line-height: 1.38; }
  .scene-rebuild--anindo .anindo-rebuild__photo { order: 3; flex: 1; min-height: 0; width: 100%; margin: 0; }
  .scene-rebuild--anindo .anindo-rebuild__photo img { height: 100%; object-fit: contain; object-position: center bottom; }
  .scene-rebuild--anindo .anindo-rebuild__copy > .bio { order: 4; width: 100%; max-width: none; max-height: 18svh; overflow: auto; margin: .15rem auto 0; font-size: clamp(.72rem, 1.7vw, .9rem); line-height: 1.4; }

  .scene--performers .performers-heading { top: 4.5rem; margin-top: 4.5rem; margin-bottom: -5rem; }
  .scene--performers .performer, .scene--performers .performer:nth-child(even) {
    position: sticky; top: 0; height: 100svh; min-height: 100svh; padding: 4.6rem .9rem .65rem;
    display: grid; grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto auto minmax(0,1fr) minmax(0,.78fr); gap: .18rem !important;
    justify-items: stretch; align-content: stretch; text-align: left;
  }
  .scene--performers .performer__meta { display: contents; }
  .scene--performers .performer__meta > span { grid-row: 1; justify-self: center; text-align: center; font-size: .64rem; }
  .scene--performers .performer__meta h3 { grid-row: 2; justify-self: center; margin: .1rem 0 .25rem; text-align: center; font-size: clamp(1.15rem, 3.2vw, 1.9rem); }
  .scene--performers .performer__image { position: relative; grid-row: 3; width: 100%; height: 100% !important; min-height: 0; }
  .scene--performers .performer__image img { object-fit: contain; object-position: center bottom; }
  .scene--performers .performer--rupa .performer__image img { object-fit: cover !important; object-position: center top !important; transform: scale(1.2); }
  .scene--performers .performer-bio { grid-row: 4; max-height: 100%; overflow: auto; padding: .15rem .2rem; text-align: left; }
  .scene--performers .performer-bio p { font-size: clamp(.72rem, 1.75vw, .9rem) !important; line-height: 1.38 !important; }

  .scene--legacy .legacy-profile-row { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) minmax(0,.8fr); }
  .scene--legacy .legacy-profile-row img {
    grid-row: 1; width: 100%; height: 100% !important; object-fit: cover !important;
    object-position: center top !important; transform: scale(1.18); transform-origin: center top;
  }
  .scene--legacy .legacy-profile-row .award-recipient-bio { grid-row: 2; }

  .scene--academy { height: 320svh !important; min-height: 320svh; }
  .scene--academy .scene__sticky { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 4.4rem .8rem .6rem; }
  .scene--academy .academy-heading { position: relative; inset: auto; order: 0; margin: 0; }
  .scene--academy .academy-heading h2 { font-size: clamp(1.8rem, 7vw, 3.2rem); line-height: .98; }
  .scene--academy .academy-gallery { position: relative; inset: auto; order: 1; flex: 1; width: 100%; min-height: 0; margin: .4rem 0; }
  .scene--academy .academy-intro { position: relative; inset: auto; order: 2; width: min(92vw, 680px); margin: 0 auto; transform: none; font-size: clamp(.75rem, 1.8vw, .92rem); line-height: 1.45; }
  .scene--academy .academy-track { height: 100%; gap: .55rem; }
  .scene--academy .academy-frame { flex-basis: 62vw; width: 62vw; height: 100%; }

  .scene--manoj .scene__sticky { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: 4.1rem .8rem .6rem; }
  .scene--manoj .manoj-heading { position: relative; inset: auto; order: 0; width: 100%; transform: none; margin: 0 auto .1rem; font-size: clamp(1.8rem, 7vw, 3.2rem); line-height: 1.03; text-align: center; }
  .scene--manoj .manoj-subheading { position: relative; inset: auto; order: 1; transform: none; margin: 0 auto .25rem; font-size: clamp(.68rem, 1.65vw, .85rem); line-height: 1.25; text-align: center; }
  .scene--manoj .manoj-image { position: relative; inset: auto; order: 2; flex: 1 1 42%; width: min(96vw, 720px); min-height: 0; margin: 0 auto .25rem !important; }
  .scene--manoj .manoj-image img { object-fit: contain; object-position: center bottom; }
  .scene--manoj .manoj-copy { position: relative; inset: auto; order: 3; transform: none; width: min(92vw, 700px); max-height: 30%; margin: 0 auto; padding: 0; text-align: left; overflow: auto; }
  .scene--manoj .manoj-copy .bio { max-width: none; max-height: none; margin: .15rem 0 0; font-size: clamp(.76rem, 1.75vw, .94rem); line-height: 1.42; }
}

/* Black is the default. The existing light toggle exposes the Muga cream palette. */
html[data-theme="dark"] {
  color-scheme: dark;
  --charcoal: #050505; --teal: #080808; --teal-soft: #111111;
  --ivory: #f3eee1; --gold: #c6a665; --maroon: #6e2928;
}
html[data-theme="dark"], html[data-theme="dark"] body { background: #050505 !important; color: #f3eee1 !important; }
html[data-theme="dark"] .scene--performers,
html[data-theme="dark"] .scene--legacy,
html[data-theme="dark"] .scene--award,
html[data-theme="dark"] .scene--academy,
html[data-theme="dark"] .scene--manoj,
html[data-theme="dark"] .scene--venue,
html[data-theme="dark"] .scene--register,
html[data-theme="dark"] .scene--footer,
html[data-theme="dark"] .scene--performers .performer { background: #050505 !important; color: #f3eee1 !important; }
html[data-theme="dark"] .section-wash,
html[data-theme="dark"] .legacy-atmosphere,
html[data-theme="dark"] .award-atmosphere,
html[data-theme="dark"] .academy-atmosphere,
html[data-theme="dark"] .manoj-atmosphere,
html[data-theme="dark"] .footer-atmosphere,
html[data-theme="dark"] .scene-rebuild__wash,
html[data-theme="dark"] .atmosphere--hero,
html[data-theme="dark"] .satra-backdrop,
html[data-theme="dark"] .anindo-bg {
  background: radial-gradient(ellipse at 50% 42%, #101010 0%, #050505 68%, #000 100%) !important;
}
html[data-theme="dark"] .anindo-rebuild__photo::after { background: linear-gradient(90deg, rgba(5,5,5,.56), transparent 28%, transparent 74%, rgba(5,5,5,.12)); }
html[data-theme="dark"] .scene__sticky::after { background: radial-gradient(circle at 50% 45%, transparent 28%, rgba(0,0,0,.08) 100%); }
html[data-theme="dark"] .scene :is(h1,h2,h3,p,a,span) { color: #f3eee1 !important; -webkit-text-fill-color: #f3eee1 !important; }
html[data-theme="dark"] .scene :is(.eyebrow,.performer__meta > span,.profile-subtitle,.award-date,.award-year,.manoj-subheading,.hero-rebuild__meta,.hero-rebuild__meta p,.hero-rebuild__meta p:first-child) {
  color: #c6a665 !important; -webkit-text-fill-color: #c6a665 !important;
}
html[data-theme="dark"] .scene--performers .performer__meta p,
html[data-theme="dark"] .scene--legacy .award-recipient-bio p,
html[data-theme="dark"] .scene--award .award-recipient-bio p,
html[data-theme="dark"] .scene--manoj .manoj-copy .bio,
html[data-theme="dark"] .scene--academy .academy-intro { color: rgba(243,238,225,.78) !important; }
html[data-theme="dark"] .scene-rebuild--hero .hero-rebuild__copy h1,
html[data-theme="dark"] .scene-rebuild--hero .hero-rebuild__copy h1 span { color: #f3eee1 !important; -webkit-text-fill-color: #f3eee1 !important; }
html[data-theme="dark"] .floating-nav { background: rgba(5,5,5,.94) !important; border-color: rgba(198,166,101,.28) !important; }
html[data-theme="light"] {
  color-scheme: light;
  --charcoal: #b87912; --teal: #c58a1c; --teal-soft: #d49c2b;
  --ivory: #21180b; --gold: #694207; --maroon: #56320a;
}
html[data-theme="light"], html[data-theme="light"] body {
  background: #c58a1c !important; color: #21180b !important;
}
html[data-theme="light"] .scene--hero, html[data-theme="light"] .scene--satra,
html[data-theme="light"] .scene--anindo, html[data-theme="light"] .scene--performers,
html[data-theme="light"] .scene--legacy, html[data-theme="light"] .scene--award,
html[data-theme="light"] .scene--academy, html[data-theme="light"] .scene--manoj,
html[data-theme="light"] .scene--venue, html[data-theme="light"] .scene--register,
html[data-theme="light"] .scene--footer, html[data-theme="light"] .scene-rebuild {
  background: #c58a1c !important; color: #21180b !important;
}
html[data-theme="light"] .scene-rebuild__wash,
html[data-theme="light"] .section-wash, html[data-theme="light"] .legacy-atmosphere,
html[data-theme="light"] .award-atmosphere, html[data-theme="light"] .academy-atmosphere,
html[data-theme="light"] .manoj-atmosphere, html[data-theme="light"] .footer-atmosphere,
html[data-theme="light"] .atmosphere--hero, html[data-theme="light"] .satra-backdrop,
html[data-theme="light"] .anindo-bg {
  background: radial-gradient(ellipse at 50% 42%, #d9a437 0%, #c58a1c 68%, #a96d0e 100%) !important;
}
html[data-theme="light"] .scene :is(h1,h2,h3,p,a,span) {
  color: #21180b !important; -webkit-text-fill-color: #21180b !important;
}
html[data-theme="light"] .scene :is(.eyebrow,.performer__meta > span,.profile-subtitle,.award-date,.award-year,.manoj-subheading,.hero-rebuild__meta,.hero-rebuild__meta p,.hero-rebuild__meta p:first-child) {
  color: #573607 !important; -webkit-text-fill-color: #573607 !important;
}
html[data-theme="light"] .scene-rebuild--hero .hero-rebuild__copy h1,
html[data-theme="light"] .scene-rebuild--hero .hero-rebuild__copy h1 span { color: #21180b !important; -webkit-text-fill-color: #21180b !important; }
html[data-theme="light"] .scene--performers .performer__meta p,
html[data-theme="light"] .scene--legacy .award-recipient-bio p,
html[data-theme="light"] .scene--award .award-recipient-bio p,
html[data-theme="light"] .scene--manoj .manoj-copy .bio,
html[data-theme="light"] .scene--academy .academy-intro { color: rgba(33,24,11,.82) !important; }
html[data-theme="light"] .floating-nav { background: rgba(225,177,75,.96) !important; color: #21180b !important; border-color: rgba(76,48,8,.35) !important; }
html[data-theme="light"] .anindo-rebuild__photo::after { background: linear-gradient(90deg, rgba(197,138,28,.25), transparent 28%, transparent 74%, rgba(169,109,14,.08)); }
@media (prefers-reduced-motion: reduce) {
  .satra-rebuild__architecture img:first-child,
  .satra-rebuild__architecture img:nth-child(2) { opacity: 0 !important; }
  .satra-rebuild__architecture img:last-child { opacity: 1 !important; }
}

@media (max-width: 700px) {
  .scene--performers .performer-line { padding-bottom: 100svh; }
  .scene--legacy { margin-top: -100svh; }
  .scene--performers .performer, .scene--performers .performer:nth-child(even) { padding: 4.4rem .7rem .5rem; }
  .scene--performers .performer__meta h3 { font-size: clamp(1.05rem, 5vw, 1.45rem); }
  .scene--performers .performer-bio p { font-size: .71rem !important; line-height: 1.34 !important; }
  .scene--legacy .scene__sticky { padding: 3.8rem .7rem .45rem; }
  .scene--legacy .legacy-profile-row { grid-template-rows: minmax(0,1fr) minmax(0,.68fr); }
  .scene--academy .academy-frame { flex-basis: 78vw; width: 78vw; }
  .scene--manoj .scene__sticky { padding: 3.8rem .65rem .45rem; }
  .scene--manoj .manoj-image { flex-basis: 39%; }
  .scene--manoj .manoj-copy { max-height: 32%; }
  .scene--manoj .manoj-heading, .scene--manoj .manoj-subheading { text-align: center !important; text-align-last: center !important; }
  .scene--manoj .manoj-copy, .scene--manoj .manoj-copy .bio, .scene--manoj .manoj-copy .bio p { text-align: left !important; text-align-last: left !important; }
}

.hero-rebuild__cue {
  z-index: 12; bottom: 1.2rem; display: grid; justify-items: center; gap: .3rem;
  color: var(--ivory); text-decoration: none; cursor: pointer; animation: discover-bob 1.6s ease-in-out infinite;
}
.hero-rebuild__cue svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@keyframes discover-bob { 0%,100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 8px); } }
@media (prefers-reduced-motion: reduce) { .hero-rebuild__cue { animation: none; } }

/* Scenes 02 and 03 must paint as ordinary visible sections. Their previous
   sticky compositing path left the browser viewport blank despite valid DOM. */
#scene-02.scene-rebuild,
#scene-03.scene-rebuild {
  height: auto !important;
  min-height: 100svh;
}

#scene-02 .scene-rebuild__frame,
#scene-03 .scene-rebuild__frame {
  position: relative !important;
  top: auto;
  height: auto;
  min-height: 100svh;
  overflow: visible;
}

/* Final layout system: a single visible resting composition for each scene.
   These rules deliberately avoid the clipping and scale crops used by earlier
   experiments, while leaving the supplied imagery and existing content intact. */
:root { --dock-offset: clamp(.5rem, 1.2vw, 1.25rem); --scene-gutter: clamp(1rem, 5vw, 6rem); }
.scene { scroll-margin-top: var(--dock-offset); }
.scene--performers .performer-line { padding-bottom: 0; }
.scene--legacy { margin-top: 0; }

/* Do not crop cultural portraits; every supplied image keeps its original edge. */
.scene--performers .performer--rupa .performer__image img,
.scene--legacy .legacy-profile-row img,
.scene--award .award-recipient-row img {
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
}

@media (min-width: 901px) {
  .scene--legacy .scene__sticky,
  .scene--award .scene__sticky {
    padding-inline: var(--scene-gutter);
  }
  .scene--legacy .legacy-copy,
  .scene--award .award-copy {
    width: min(100%, 1320px);
    margin: 0 auto;
  }
  .scene--legacy .legacy-profile-row,
  .scene--award .award-recipient-row {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(20rem, 1.04fr);
    align-items: end;
    gap: clamp(1rem, 4vw, 4.5rem);
  }
  .scene--legacy .legacy-profile-row img,
  .scene--award .award-recipient-row img {
    width: 100%;
    height: min(66svh, 720px) !important;
  }
  .scene--legacy .award-recipient-bio,
  .scene--award .award-recipient-bio {
    max-width: 42rem;
    padding-bottom: clamp(.5rem, 4vh, 3rem);
  }
  .scene--manoj .manoj-heading,
  .scene--manoj .manoj-subheading,
  .scene--manoj .manoj-copy { text-align: left; }
}

/* Small screens follow one reading order: title, image, then information. */
@media (max-width: 900px) {
  .scene-rebuild--satra,
  .scene-rebuild--anindo {
    height: auto !important;
    min-height: 0;
  }
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame {
    display: flex;
    flex-direction: column;
    gap: clamp(.65rem, 2.5vw, 1rem);
    padding: 4.8rem 1rem 2.4rem;
    min-height: 100svh;
  }
  .scene-rebuild--satra .satra-rebuild__copy,
  .scene-rebuild--anindo .anindo-rebuild__copy { display: contents; }
  .scene-rebuild--satra .satra-rebuild__copy > .eyebrow,
  .scene-rebuild--anindo .anindo-rebuild__copy > .eyebrow { order: 1; margin: 0; text-align: center; }
  .scene-rebuild--satra .satra-rebuild__copy > h2,
  .scene-rebuild--anindo .anindo-rebuild__copy > h2 { order: 2; margin: 0; text-align: center; }
  .scene-rebuild--satra .satra-rebuild__copy > .rule,
  .scene-rebuild--anindo .anindo-rebuild__copy > .role { order: 3; margin: 0 auto; text-align: center; }
  .scene-rebuild--satra .satra-rebuild__architecture,
  .scene-rebuild--anindo .anindo-rebuild__photo { order: 4; width: 100%; min-height: 0; height: min(52svh, 520px); margin: 0; }
  .scene-rebuild--satra .satra-rebuild__architecture img,
  .scene-rebuild--anindo .anindo-rebuild__photo img { height: 100%; object-fit: contain; object-position: center bottom; }
  .scene-rebuild--satra .satra-rebuild__copy > p:not(.eyebrow),
  .scene-rebuild--anindo .anindo-rebuild__copy > .bio { order: 5; width: 100%; max-width: 42rem; margin: 0 auto; max-height: none; overflow: visible; text-align: left; }

  .scene--performers .performers-heading { position: relative; inset: auto; margin: 0; padding: 4.8rem 1rem .4rem; }
  .scene--performers .performer,
  .scene--performers .performer:nth-child(even) {
    position: relative;
    top: auto;
    height: auto;
    min-height: 100svh;
    padding: 1rem 1rem 2.4rem;
    display: grid;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto minmax(14rem, 48svh) auto;
    gap: .6rem !important;
  }
  .scene--performers .performer__meta { display: contents; }
  .scene--performers .performer__meta > span { grid-row: 1; justify-self: center; text-align: center; }
  .scene--performers .performer__meta h3 { grid-row: 2; justify-self: center; margin: 0; text-align: center; }
  .scene--performers .performer__image { grid-row: 3; height: 100% !important; }
  .scene--performers .performer-bio { grid-row: 4; max-height: none; overflow: visible; padding: 0; text-align: left; }

  .scene--legacy, .scene--award, .scene--academy, .scene--manoj, .scene--venue, .scene--register { height: auto !important; min-height: 100svh; }
  .scene--legacy .scene__sticky, .scene--award .scene__sticky,
  .scene--academy .scene__sticky, .scene--manoj .scene__sticky,
  .scene--venue .scene__sticky, .scene--register .scene__sticky {
    position: relative;
    top: auto;
    height: auto;
    min-height: 100svh;
    overflow: visible;
    padding: 4.8rem 1rem 2.4rem;
  }
  .scene--legacy .legacy-profile-row, .scene--award .award-recipient-row { gap: .9rem; }
  .scene--legacy .legacy-profile-row img, .scene--award .award-recipient-row img { height: min(52svh, 500px) !important; }
  .scene--legacy .award-recipient-bio, .scene--award .award-recipient-bio { max-height: none; overflow: visible; text-align: left; }
  .scene--academy .academy-heading, .scene--academy .academy-intro, .scene--academy .academy-gallery,
  .scene--manoj .manoj-heading, .scene--manoj .manoj-subheading, .scene--manoj .manoj-image, .scene--manoj .manoj-copy { position: relative; inset: auto; transform: none; }
  .scene--academy .academy-heading, .scene--academy .academy-intro, .scene--manoj .manoj-heading, .scene--manoj .manoj-subheading { text-align: center !important; }
  .scene--manoj .manoj-copy, .scene--manoj .manoj-copy .bio { max-height: none; overflow: visible; text-align: left !important; }
}

/* Mobile-only docking pass. Desktop keeps its current compositions. */
.satra-rebuild__copy .profile-dock-header > h2 { font-size: clamp(2.4rem, 4.6vw, 5rem); }
.anindo-rebuild__copy .profile-dock-header > h2 { font-size: clamp(2.5rem, 4.8vw, 5.8rem); }

@media (max-width: 900px) {
  :root { --mobile-dock-top: 4.7rem; }

  /* Scenes 02 and 03: title docks, then artwork and copy stay visible. */
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame { overflow: visible !important; }
  #scene-02 .satra-rebuild__copy,
  #scene-03 .anindo-rebuild__copy { display: contents; visibility: visible !important; opacity: 1 !important; filter: none !important; }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo { visibility: visible !important; opacity: 1 !important; filter: none !important; }
  #scene-02 .profile-dock-header,
  #scene-03 .profile-dock-header {
    order: 1;
    position: sticky;
    top: var(--mobile-dock-top);
    z-index: 8;
    width: 100%;
    padding: .45rem .25rem .6rem;
    background: linear-gradient(to bottom, #050505 76%, transparent);
    text-align: center;
  }
  #scene-02 .profile-dock-header :is(.eyebrow, h2, .role),
  #scene-03 .profile-dock-header :is(.eyebrow, h2, .role) { margin: 0 auto; text-align: center; }
  #scene-02 .profile-dock-header h2,
  #scene-03 .profile-dock-header h2 { font-size: clamp(1.8rem, 8vw, 3.1rem); line-height: 1.04; }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo { order: 2; height: min(52svh, 500px); }
  #scene-02 .profile-dock-bio,
  #scene-03 .anindo-rebuild__copy > .bio { order: 3; width: min(100%, 42rem); margin: 0 auto; padding-bottom: 1.2rem; text-align: left; }

  /* Performance heading remains docked as each succeeding artist takes the screen. */
  .scene--performers .scene__sticky { position: relative; height: auto; overflow: visible; }
  .scene--performers .performers-heading {
    position: sticky;
    top: var(--mobile-dock-top);
    z-index: 12;
    margin: 0;
    padding: .55rem 1rem;
    background: linear-gradient(to bottom, #050505 78%, transparent);
  }
  .scene--performers .performers-heading h2 { margin: 0; text-align: center; }
  .scene--performers .performer,
  .scene--performers .performer:nth-child(even) {
    position: sticky;
    top: calc(var(--mobile-dock-top) + 3.6rem);
    min-height: calc(100svh - var(--mobile-dock-top));
    height: calc(100svh - var(--mobile-dock-top));
    padding: .85rem 1rem 1.2rem;
    background: #050505 !important;
    z-index: 2;
  }
  .scene--performers .performer:nth-of-type(2) { z-index: 3; }
  .scene--performers .performer:nth-of-type(3) { z-index: 4; }
  .scene--performers .performer:nth-of-type(4) { z-index: 5; }
  .scene--performers .performer__image { min-height: 0; }

  /* Jagannath, Raju, and Manoj use the same docked-heading sequence. */
  .scene--legacy .award-heading,
  .scene--award .award-heading {
    position: sticky;
    top: var(--mobile-dock-top);
    z-index: 10;
    margin: 0 -1rem .75rem;
    padding: .5rem 1rem .7rem;
    background: linear-gradient(to bottom, #050505 78%, transparent);
  }
  .scene--legacy .award-heading h2,
  .scene--award .award-heading h2 { margin: 0; text-align: center; }
  .scene--legacy .legacy-profile-row,
  .scene--award .award-recipient-row { margin-top: .25rem; }
  .scene--manoj .manoj-heading {
    position: sticky;
    top: var(--mobile-dock-top);
    z-index: 10;
    width: calc(100% + 2rem);
    margin: 0 -1rem !important;
    padding: .5rem 1rem .05rem;
    background: #050505;
  }
  .scene--manoj .manoj-subheading {
    position: sticky;
    top: calc(var(--mobile-dock-top) + 3.1rem);
    z-index: 10;
    width: calc(100% + 2rem);
    margin: 0 -1rem .65rem !important;
    padding: .05rem 1rem .65rem;
    background: linear-gradient(to bottom, #050505 78%, transparent);
  }

  /* The Academy holds its title while the collage resolves into its marquee. */
  .scene--academy { min-height: 205svh !important; }
  .scene--academy .scene__sticky { min-height: 205svh; }
  .scene--academy .academy-heading {
    position: sticky;
    top: var(--mobile-dock-top);
    z-index: 11;
    width: calc(100% + 2rem);
    margin: 0 -1rem !important;
    padding: .55rem 1rem .25rem;
    background: #050505;
  }
  .scene--academy .academy-intro {
    position: sticky;
    top: calc(var(--mobile-dock-top) + 5rem);
    z-index: 10;
    width: calc(100% + 2rem);
    margin: 0 -1rem !important;
    padding: .2rem 1rem .7rem;
    background: linear-gradient(to bottom, #050505 78%, transparent);
  }
  .scene--academy .academy-gallery {
    position: sticky;
    top: calc(var(--mobile-dock-top) + 9.4rem);
    z-index: 2;
    width: 100%;
    height: min(48svh, 430px);
    margin: 0;
  }
}

@media (max-width: 900px) {
  html[data-theme="light"] #scene-02 .profile-dock-header,
  html[data-theme="light"] #scene-03 .profile-dock-header,
  html[data-theme="light"] .scene--performers .performers-heading,
  html[data-theme="light"] .scene--legacy .award-heading,
  html[data-theme="light"] .scene--award .award-heading,
  html[data-theme="light"] .scene--manoj .manoj-heading,
  html[data-theme="light"] .scene--manoj .manoj-subheading,
  html[data-theme="light"] .scene--academy .academy-heading,
  html[data-theme="light"] .scene--academy .academy-intro { background-color: #c58a1c; }
}

/* Small-screen corrections from the final visual review. */
@media (max-width: 900px) {
  /* Keep Scene 02/03 copy in the normal mobile document flow after the image. */
  #scene-02, #scene-03 { height: auto !important; min-height: 0 !important; }
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame { height: auto !important; min-height: 0 !important; }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo {
    flex: 0 0 34svh !important;
    height: 34svh !important;
    min-height: 0 !important;
  }
  #scene-02 .profile-dock-bio,
  #scene-03 .anindo-rebuild__copy > .bio {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    filter: none !important;
    flex: none !important;
    min-height: 1px;
  }
  #scene-02 .profile-dock-bio p,
  #scene-03 .anindo-rebuild__copy > .bio p { display: block !important; }

  /* Remove the entrance gap and keep every performer card in the same stack. */
  .scene--performers,
  .scene--performers .scene__sticky,
  .scene--performers .performer-line,
  .scene--performers .performer { background: #050505 !important; }
  .scene--performers .performer-line { display: block !important; padding: 0 !important; margin: 0 !important; }
  .scene--performers .performers-heading { margin: 0 !important; inset: auto !important; }
  .scene--performers .performer,
  .scene--performers .performer:nth-child(even) { margin: 0 !important; }
  .scene--performers .performer--rupa { position: sticky !important; top: calc(var(--mobile-dock-top) + 3.6rem) !important; }
  .scene--legacy { margin-top: 0 !important; background: #050505 !important; }

  /* The award recipient's name sits directly below the centered date, before the portrait. */
  .scene--award .award-date { margin: .25rem auto .55rem !important; text-align: center !important; }
  .scene--award .award-recipient-row { display: grid !important; grid-template-columns: 1fr; grid-template-rows: auto minmax(15rem, 48svh) auto; }
  .scene--award .award-recipient-bio { display: contents !important; }
  .scene--award .award-recipient-bio h3 { grid-row: 1; margin: 0 0 .45rem; text-align: center; }
  .scene--award .award-recipient-row img { grid-row: 2; width: 100%; height: 100% !important; }
  .scene--award .award-recipient-bio p { grid-row: 3; margin-top: .5rem; text-align: left; }

  /* Jagannath already has the story title above his portrait. Do not repeat it below. */
  .scene--legacy .award-recipient-bio h3 { display: none; }

  /* Keep the Academy collage compact enough to resolve within the docked scene. */
  .scene--academy .academy-gallery { height: min(30svh, 270px) !important; top: calc(var(--mobile-dock-top) + 8.8rem) !important; }
  .scene--academy .academy-frame { flex-basis: 30vw !important; width: 30vw !important; }

  /* Venue and registration titles use the same docked mobile header rhythm. */
  .scene--venue .venue-heading,
  .scene--register .register-copy {
    position: sticky !important;
    top: var(--mobile-dock-top);
    z-index: 10;
    width: calc(100% + 2rem) !important;
    margin: 0 -1rem .8rem !important;
    padding: .55rem 1rem .7rem;
    background: linear-gradient(to bottom, #050505 78%, transparent);
  }
  .scene--venue .venue-heading h2,
  .scene--register .register-copy h2 { margin: 0; text-align: center; }
}

/* Remove residual translucent decoration and keep the early docked headers solid. */
.scene-rebuild__wash,
.scene-rebuild__grain,
.section-wash,
.legacy-atmosphere,
.award-atmosphere,
.academy-atmosphere,
.manoj-atmosphere,
.footer-atmosphere {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

#scene-02 :is(.profile-dock-header, .mobile-profile-header),
#scene-03 :is(.profile-dock-header, .mobile-profile-header) {
  background: #050505 !important;
  opacity: 1 !important;
  filter: none !important;
}

@media (min-width: 901px) {
  /* Anindo: biography on the left, portrait on the right. */
  #scene-03 .anindo-rebuild__copy > .bio {
    grid-column: 1;
    grid-row: 2;
    position: relative !important;
    inset: auto !important;
    align-self: end;
    margin: 0 !important;
    padding-bottom: 0 !important;
    text-align: left;
  }
  #scene-03 .anindo-rebuild__photo {
    grid-column: 2;
    grid-row: 2;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    align-self: end;
    margin: 0 !important;
  }
  #scene-03 .scene-rebuild__frame { align-items: end; }

  #scene-03 .profile-dock-header .eyebrow span {
    color: var(--gold) !important;
    -webkit-text-fill-color: var(--gold) !important;
  }

  .scene--legacy .legacy-profile-row img {
    transform: scale(1.2) !important;
    transform-origin: center bottom;
  }

  .scene--manoj .manoj-copy {
    left: clamp(4rem, 14vw, 15rem);
    width: min(38%, 640px);
    bottom: clamp(1.5rem, 4vh, 3.5rem);
  }

  /* Remove the unused blank performer interval before the first card appears. */
  .scene--performers .performers-heading { margin-bottom: -1.2rem; }
  .scene--performers .performer { padding-top: 4.6rem; }

  /* Jagannath and Raju use the complete available scene width. */
  .scene--legacy .scene__sticky,
  .scene--award .scene__sticky { padding-inline: 0 !important; }
  .scene--legacy .legacy-copy,
  .scene--award .award-copy {
    width: 100% !important;
    max-width: none !important;
  }
  .scene--legacy .legacy-profile-row,
  .scene--award .award-recipient-row {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: min(72svh, 780px);
    padding-inline: 0;
    align-items: end !important;
  }
  .scene--legacy .legacy-profile-row img,
  .scene--award .award-recipient-row img {
    height: 100% !important;
    max-height: none !important;
    align-self: end !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
  .scene--legacy .award-recipient-bio,
  .scene--award .award-recipient-bio {
    width: 100%;
    max-width: none;
    align-self: end !important;
    padding-bottom: 0 !important;
  }

  /* Close the Anindo handoff and align the last bio line with the portrait base. */
  #scene-03 { margin-bottom: 0 !important; }
  #scene-03 .anindo-rebuild__copy > .bio {
    margin-bottom: 2rem !important;
  }
  .scene--performers .performers-heading { margin-top: 0 !important; }
}

.footer-partner {
  display: grid;
  justify-items: center;
  gap: .45rem;
  margin: 1.1rem auto .65rem;
  text-align: center;
}
.footer-partner img {
  width: clamp(3.4rem, 5vw, 4.8rem);
  height: clamp(3.4rem, 5vw, 4.8rem);
  object-fit: cover;
  border-radius: 50%;
}
.footer-partner p {
  margin: 0;
  font-size: clamp(.68rem, .82vw, .8rem);
  letter-spacing: .08em;
  color: var(--ivory);
}
.footer-partner span { color: var(--gold); }

/* Latest reviewed desktop adjustments. */
@media (min-width: 901px) {
  /* End the final Rupa pin at the next scene without an empty viewport. */
  .scene--performers .performer-line { padding-bottom: 0 !important; }
  .scene--legacy { margin-top: 0 !important; }

  /* Align the Anindo biography baseline with the visible portrait baseline. */
  #scene-03 .anindo-rebuild__copy > .bio {
    transform: translateY(-2.65rem) !important;
  }

  /* Place the digital-partner credit after the footer date and navigation. */
  .scene--footer .scene__sticky { position: relative; }
  .footer-partner {
    position: absolute !important;
    left: 50%;
    top: 79% !important;
    width: min(90vw, 42rem);
    margin: 0 !important;
    transform: translateX(-50%);
    z-index: 2;
  }
  .footer-partner img {
    width: clamp(4rem, 5vw, 5.25rem) !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }
}

@media (min-width: 901px) {
  /* Keep a deliberate outer spacer and bring the reading column to the image. */
  #scene-02 .profile-dock-bio {
    justify-self: start;
    margin-left: clamp(-1rem, -1.6vw, -.35rem) !important;
    max-width: min(100%, 38rem) !important;
  }
  #scene-03 .anindo-rebuild__copy > .bio {
    justify-self: end;
    margin-right: clamp(-1rem, -1.6vw, -.35rem) !important;
    max-width: min(100%, 38rem) !important;
  }
}

@media (max-width: 900px) {
  /* Scene 3: a mobile-only two-line eyebrow that fits fully above the title. */
  #scene-03 .mobile-profile-header .scene-03-event {
    font-size: clamp(.7rem, 2.65vw, .82rem) !important;
    letter-spacing: .09em !important;
    line-height: 1.3 !important;
  }
  #scene-03 .mobile-profile-header .scene-03-date {
    font-size: clamp(.72rem, 2.8vw, .86rem) !important;
    letter-spacing: .14em !important;
    line-height: 1.3 !important;
  }

  /* The biography begins only after the visible portrait ends. */
  #scene-03 .anindo-rebuild__photo {
    position: relative !important;
    flex: 0 0 min(48svh, 34rem) !important;
    height: min(48svh, 34rem) !important;
    overflow: clip !important;
  }
  #scene-03 .anindo-rebuild__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
  #scene-03 .mobile-profile-bio {
    position: relative !important;
    z-index: 31 !important;
    margin-top: 0 !important;
    background: #050505 !important;
  }
}

/* Final layout pass: keep every text block within its readable composition. */
@media (min-width: 901px) {
  /* Biography scenes use the same contained width as their adjoining portrait. */
  .scene--legacy .scene__sticky,
  .scene--award .scene__sticky { padding-inline: var(--scene-gutter) !important; }
  .scene--legacy .legacy-copy,
  .scene--award .award-copy {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    margin-inline: auto !important;
  }
  .scene--legacy .legacy-profile-row,
  .scene--award .award-recipient-row {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, .96fr) minmax(20rem, 1.04fr) !important;
    gap: clamp(1rem, 4vw, 4.5rem) !important;
  }
  .scene--legacy .award-recipient-bio,
  .scene--award .award-recipient-bio {
    width: 100%;
    max-width: 42rem;
    justify-self: start;
  }
  .scene--academy .academy-intro {
    width: min(48vw, 46rem) !important;
    max-width: calc(100% - (2 * var(--scene-gutter)));
    margin-inline: auto;
  }
  .scene--manoj .manoj-copy {
    width: min(38vw, 40rem) !important;
    max-width: calc(100% - (2 * var(--scene-gutter)));
  }
}

@media (max-width: 900px) {
  /* Scene 3 mobile header must always wrap inside the visible viewport. */
  #scene-03 .scene-rebuild__frame,
  #scene-03 .mobile-profile-header {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  #scene-03 .mobile-profile-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(.35rem, 1.6vw, .7rem) !important;
    padding-inline: clamp(.75rem, 4vw, 1.25rem) !important;
    overflow: visible !important;
  }
  #scene-03 .mobile-profile-header :is(.eyebrow, h2, .role) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
    box-sizing: border-box;
  }
  #scene-03 .mobile-profile-header h2 {
    font-size: clamp(1.7rem, 7.15vw, 2.65rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.02em !important;
  }
  #scene-03 .mobile-profile-header :is(.eyebrow, .role) {
    font-size: var(--section-copy-size) !important;
    letter-spacing: .13em !important;
    line-height: 1.38 !important;
  }

  #scene-03 .mobile-profile-header .eyebrow { display: grid; gap: .22rem; }
  #scene-03 .mobile-profile-header .scene-03-event,
  #scene-03 .mobile-profile-header .scene-03-date {
    display: block;
    color: var(--gold) !important;
    -webkit-text-fill-color: var(--gold) !important;
  }
  #scene-03 .mobile-profile-header .scene-03-event { white-space: nowrap; }
  #scene-03 .mobile-profile-header .scene-03-date { letter-spacing: .16em; }
}

@media (min-width: 901px) {
  /* At tablet and desktop widths, keep copy close to the image it describes. */
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame {
    width: min(100%, 1440px);
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .95fr) !important;
    column-gap: clamp(1rem, 2.5vw, 2.75rem) !important;
  }
  #scene-02 .satra-rebuild__architecture { grid-column: 1 !important; }
  #scene-02 .profile-dock-bio { grid-column: 2 !important; }
  #scene-03 .anindo-rebuild__copy > .bio { grid-column: 1 !important; transform: none !important; }
  #scene-03 .anindo-rebuild__photo { grid-column: 2 !important; }
  #scene-02 .profile-dock-bio,
  #scene-03 .anindo-rebuild__copy > .bio {
    align-self: end !important;
    padding-bottom: 0 !important;
  }
  .scene--manoj .manoj-copy {
    left: clamp(1.5rem, 5vw, 5rem) !important;
    bottom: clamp(1rem, 2.5vh, 2rem) !important;
    width: min(43vw, 42rem) !important;
  }
}

.term-emphasis { color: var(--gold); -webkit-text-fill-color: var(--gold); }

/* Desktop only: restore the opening and Manoj artwork to its wide composition.
   Copy sits at the image edge and grows upward from the shared lower baseline. */
@media (min-width: 901px) {
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr) !important;
    column-gap: clamp(.75rem, 1.7vw, 2rem) !important;
  }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo {
    width: 100% !important;
    max-width: none !important;
  }
  #scene-02 .profile-dock-bio {
    justify-self: start;
    width: min(100%, 40rem) !important;
  }
  #scene-03 .anindo-rebuild__copy > .bio {
    justify-self: end;
    width: min(100%, 40rem) !important;
  }
  .scene--manoj .manoj-copy {
    left: auto !important;
    right: calc(50% + clamp(.75rem, 1.7vw, 2rem)) !important;
    bottom: clamp(1rem, 2.5vh, 2rem) !important;
    width: min(37vw, 36rem) !important;
  }
}

@media (max-width: 900px) {
  /* Smaller views use the same size for supporting labels and reading text. */
  .scene:not(.scene--hero) :is(
    .eyebrow,
    .profile-subtitle,
    .role,
    .award-year,
    .award-date,
    .manoj-subheading,
    .performer__meta > span
  ) { font-size: var(--section-copy-size) !important; }
}

/* Stable mobile story flow: these overrides avoid nested flex reordering. */
.mobile-profile-header,
.mobile-profile-bio,
.mobile-recipient-name { display: none; }

@media (max-width: 900px) {
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame { display: flex !important; flex-direction: column; align-items: stretch; gap: .65rem; padding-bottom: 2rem; }
  #scene-02 .satra-rebuild__copy,
  #scene-03 .anindo-rebuild__copy { display: none !important; }
  #scene-02 .mobile-profile-header,
  #scene-03 .mobile-profile-header {
    display: block;
    position: sticky;
    top: var(--mobile-dock-top);
    z-index: 12;
    padding: .45rem .25rem .6rem;
    background: linear-gradient(to bottom, #050505 78%, transparent);
    text-align: center;
  }
  #scene-02 .mobile-profile-header :is(.eyebrow, h2, .role),
  #scene-03 .mobile-profile-header :is(.eyebrow, h2, .role) { margin: 0 auto; text-align: center; }
  #scene-02 .mobile-profile-header h2,
  #scene-03 .mobile-profile-header h2 { font-size: clamp(1.8rem, 8vw, 3.1rem); line-height: 1.04; }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo { order: 0; flex: 0 0 34svh !important; height: 34svh !important; }
  #scene-02 .mobile-profile-bio,
  #scene-03 .mobile-profile-bio {
    display: block;
    width: 100%;
    margin: 0;
    padding: .25rem .2rem 1.2rem;
    color: rgba(243,238,225,.86);
    text-align: left;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }
  #scene-02 .mobile-profile-bio p,
  #scene-03 .mobile-profile-bio p { display: block; margin: 0 0 .8rem; font-size: .88rem; line-height: 1.55; }

  .scene--performers,
  .scene--performers .scene__sticky,
  .scene--performers .performer-line,
  .scene--performers .performer,
  .scene--legacy,
  .scene--legacy .scene__sticky,
  .scene--legacy .legacy-atmosphere { background: #050505 !important; }
  .scene--performers .performer-line { display: flex !important; flex-direction: column; gap: 0 !important; }
  .scene--performers .performers-heading { position: sticky !important; top: var(--mobile-dock-top) !important; z-index: 20; }
  .scene--performers .performer,
  .scene--performers .performer:nth-child(even) { position: sticky !important; top: calc(var(--mobile-dock-top) + 3.6rem) !important; }

  /* The mobile award layout has a single centred name, then image, then full-width text. */
  .scene--award .mobile-recipient-name { display: block; margin: 0 auto .55rem; text-align: center; font-size: clamp(1.35rem, 6vw, 2rem); }
  .scene--award .award-recipient-row { display: flex !important; flex-direction: column; gap: .65rem; }
  .scene--award .award-recipient-bio { display: block !important; width: 100%; max-width: none; }
  .scene--award .award-recipient-bio h3 { display: none !important; }
  .scene--award .award-recipient-bio p { display: block; width: 100%; margin: 0 0 .8rem; text-align: center !important; line-height: 1.55; }
  .scene--award .award-recipient-row img { width: 100%; height: min(45svh, 430px) !important; object-fit: contain !important; }

  .scene--academy .academy-gallery { overflow: visible; height: min(28svh, 245px) !important; }
  .scene--academy .academy-track { overflow: visible; }
  .scene--academy .academy-frame { flex: 0 0 30vw !important; width: 30vw !important; height: min(28svh, 245px) !important; }
  .scene--academy .academy-frame img { object-fit: cover; }

  .scene--register .register-copy .eyebrow { display: block; width: 100%; text-align: center !important; }
}

/* Tight centered footer stack at every viewport width. */
.scene--footer .scene__sticky {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(.55rem, 1.8vh, 1.15rem) !important;
  padding: 2rem 1rem !important;
}
.scene--footer .scene__sticky > :is(.footer-logo, .footer-date, .footer-nav, .footer-partner, .footer-close) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto;
}
.scene--footer .scene__sticky > .footer-socials {
  position: relative;
  inset: auto;
  left: auto;
  top: auto;
  bottom: auto;
  transform: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  justify-items: center;
  gap: clamp(.55rem, 2.2vw, 1.8rem);
  width: min(90vw, 42rem);
  margin: clamp(.3rem, 1vh, .75rem) auto 0;
  transform: translateY(clamp(.25rem, 1vh, .625rem)) !important;
}
.scene--footer .footer-socials a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  color: var(--ivory);
  text-decoration: none;
  text-align: center;
}
.scene--footer .footer-socials svg { display: block; width: clamp(1.35rem, 2.1vw, 1.75rem); height: auto; }
.scene--footer .footer-logo { width: clamp(9rem, 24vw, 17rem) !important; }
.scene--footer .footer-date { white-space: normal; line-height: 1.35; }
.scene--footer .footer-nav { width: 100%; justify-content: center; flex-wrap: wrap; gap: .45rem clamp(.7rem, 2vw, 1.5rem); }
.scene--footer .footer-partner { gap: .25rem; }
.scene--footer .footer-partner p { line-height: 1.3; }
.scene--footer .footer-close { line-height: 1.3; }

/* The Academy title stays on one line while scaling to the available width. */
.scene--academy .academy-heading { width: 100% !important; padding-inline: clamp(.75rem, 3vw, 2rem); box-sizing: border-box; }
.scene--academy .academy-heading h2 {
  width: 100%;
  max-width: none;
  white-space: nowrap;
  font-size: clamp(.9rem, 4.05vw, 4.2rem) !important;
  line-height: 1.08 !important;
  letter-spacing: .1em !important;
}

/* Award year matches the heading scale and keeps its deep marigold color. */
.scene--award .award-year {
  font-size: var(--section-title-size, clamp(2rem, 4vw, 4rem)) !important;
  line-height: 1.04 !important;
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}

@media (max-width: 420px) {
  .scene--academy .academy-heading h2 { font-size: clamp(.72rem, 4vw, .95rem) !important; letter-spacing: .045em !important; }
}

/* Final requested refinements: compact centered footer and heading treatments. */
.scene--footer .scene__sticky {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(.45rem, 1.25vh, .85rem) !important;
  padding: 1.5rem 1rem !important;
}
.scene--footer .scene__sticky > :is(.footer-logo, .footer-date, .footer-nav, .footer-partner, .footer-close) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
}
.scene--footer .footer-logo { width: clamp(8rem, 19vw, 13rem) !important; }
.scene--footer .footer-date { white-space: normal; line-height: 1.25; }
.scene--footer .footer-nav { width: 100%; justify-content: center; flex-wrap: wrap; gap: .35rem clamp(.6rem, 1.6vw, 1.2rem); }
.scene--footer .footer-partner { gap: .2rem; }
.scene--footer .footer-partner p, .scene--footer .footer-close { line-height: 1.25; }
.scene--footer .footer-close { padding: 0; }

.scene--academy .academy-heading {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding-inline: clamp(.75rem, 3vw, 2rem);
  box-sizing: border-box;
}
.scene--academy .academy-heading h2 {
  width: 100% !important;
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(.82rem, 3.55vw, 3.6rem) !important;
  line-height: 1.08 !important;
  letter-spacing: .09em !important;
}
.scene--award .award-year {
  font-size: var(--section-title-size, clamp(2rem, 4vw, 4rem)) !important;
  line-height: 1.04 !important;
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}
@media (max-width: 420px) {
  .scene--academy .academy-heading h2 { font-size: clamp(.68rem, 3.65vw, .86rem) !important; letter-spacing: .035em !important; }
}

/* Latest footer and venue annotations, applied consistently across devices. */
.scene--footer .scene__sticky { --footer-brand-width: clamp(12rem, 28.5vw, 19.5rem); }
.scene--footer .footer-logo { width: var(--footer-brand-width) !important; }
.scene--footer .footer-date {
  width: var(--footer-brand-width) !important;
  max-width: 90vw;
  text-align: center;
  overflow-wrap: normal;
  letter-spacing: .14em;
}
.scene--footer .footer-nav {
  width: min(90vw, max(18rem, 42.75vw)) !important;
  max-width: 90vw;
}
.scene--footer .footer-nav a { font-size: .816rem !important; }
.scene--footer .footer-close {
  position: absolute !important;
  inset: auto 1rem clamp(1.25rem, 4vh, 2.5rem) !important;
  width: calc(100% - 2rem);
  text-align: center;
  font-size: .9rem !important;
  line-height: 1.35 !important;
  letter-spacing: .16em;
}
.scene--award .award-heading .award-year {
  font-size: var(--section-title-size, clamp(2rem, 4vw, 4rem)) !important;
  line-height: 1.04 !important;
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}
.scene--venue .academy-venue-line {
  width: 100%;
  margin: clamp(.4rem, 1.1vh, .8rem) auto 0;
  text-align: center;
  white-space: nowrap;
  font-size: clamp(.62rem, 1.25vw, .95rem);
  line-height: 1.35;
  letter-spacing: .12em;
  color: var(--gold) !important;
  -webkit-text-fill-color: var(--gold) !important;
}
@media (max-width: 520px) {
  .scene--footer .scene__sticky { gap: .45rem !important; }
  .scene--footer .footer-logo { width: min(72vw, 15rem) !important; }
  .scene--footer .footer-date { width: min(72vw, 15rem) !important; font-size: .64rem !important; }
  .scene--footer .footer-nav { width: 90vw !important; gap: .45rem .7rem; }
  .scene--footer .footer-nav a { font-size: .72rem !important; }
  .scene--footer .footer-close { font-size: .76rem !important; }
  .scene--venue .academy-venue-line { font-size: clamp(.53rem, 2.3vw, .7rem); letter-spacing: .055em; }
}

/* Footer close is anchored at the bottom while the remaining elements stay
   tightly grouped around the center on every screen size. */
.scene--footer .scene__sticky > .footer-close {
  position: absolute !important;
  inset: auto 1rem clamp(1.25rem, 4vh, 2.5rem) !important;
  width: calc(100% - 2rem) !important;
  margin: 0 !important;
  transform: none !important;
  text-align: center !important;
  font-size: .9rem !important;
}
@media (max-width: 520px) {
  .scene--footer .scene__sticky > .footer-close { font-size: .76rem !important; }
}

/* Responsive brand navigation: logo with a vertical event name. */
.nav-mark {
  display: flex !important;
  align-items: center;
  gap: .55rem;
  flex: 0 0 auto;
  font-size: 0;
  letter-spacing: 0;
}
.nav-mark > img { display: block; width: clamp(2.7rem, 4vw, 4rem); height: 2.4rem; object-fit: contain; }
.nav-mark__title { display: grid; gap: .03rem; font-size: clamp(.46rem, .65vw, .62rem); line-height: 1.05; letter-spacing: .12em; text-transform: uppercase; }
.nav-mark__title > span { color: var(--ivory) !important; -webkit-text-fill-color: currentColor !important; }
.nav-mark__title > span:last-child { color: var(--gold) !important; -webkit-text-fill-color: var(--gold) !important; }
@media (min-width: 901px) {
  .floating-nav {
    width: min(141vw, 1770px) !important;
    max-width: calc(100vw - 2rem) !important;
  }
}

/* Footer spacing and sizing from the latest annotations. */
.scene--footer .scene__sticky { --footer-brand-width: clamp(15.6rem, 37.05vw, 25.35rem) !important; }
.scene--footer .footer-logo { width: var(--footer-brand-width) !important; max-width: calc(100vw - 2rem) !important; }
.scene--footer .footer-date { width: var(--footer-brand-width) !important; max-width: calc(100vw - 2rem) !important; }
.scene--footer .scene__sticky > .footer-nav {
  gap: .4375rem clamp(.75rem, 2vw, 1.5rem) !important;
  margin-top: .585rem !important;
}
.scene--footer .footer-partner { gap: .26rem !important; }
@media (max-width: 520px) {
  .scene--footer .scene__sticky { --footer-brand-width: min(93.6vw, 19.5rem) !important; }
  .scene--footer .footer-logo,
  .scene--footer .footer-date { max-width: calc(100vw - 2rem) !important; }
  .scene--footer .scene__sticky > .footer-nav { margin-top: .585rem !important; }
}

/* The venue line stays visible below its venue title on every viewport. */
.scene--venue .venue-heading .academy-venue-line {
  display: block !important;
  position: relative !important;
  z-index: 30 !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  font-family: var(--serif);
  font-weight: 500;
}
@media (max-width: 900px) {
  .scene--academy .academy-heading h2 { font-size: var(--section-title-size, clamp(1.9rem, 8vw, 3rem)) !important; line-height: 1.04 !important; }
  .scene--venue .venue-heading .academy-venue-line {
    font-size: clamp(1rem, 3.3vw, 1.8rem) !important;
    letter-spacing: .045em !important;
  }
}

/* Scene 03 uses the same responsive eyebrow scale as the other sections on
   smaller devices; the separate event and date lines retain their styling. */
@media (max-width: 900px) {
  #scene-03 .mobile-profile-header .eyebrow { font-size: var(--section-subtitle-size) !important; }
  #scene-03 .mobile-profile-header .scene-03-event,
  #scene-03 .mobile-profile-header .scene-03-date { font-size: inherit !important; }
}

.scene--footer .scene__sticky > .footer-socials {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.scene--footer .footer-socials a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100%;
}
.scene--footer .footer-socials svg {
  display: block !important;
  width: 1.7rem !important;
  height: 1.7rem !important;
  max-width: 100% !important;
  flex: 0 0 1.7rem !important;
}
@media (max-width: 520px) {
  .scene--footer .footer-partner img { width: 3.5rem !important; }
  .scene--footer .footer-socials { width: 96vw; gap: .35rem; }
}

/* Remove stray decorative overlays from the landing scene while preserving
   the hero content and artwork. */
.scene--hero .scene-rebuild__wash,
.scene--hero .scene-rebuild__grain,
.scene--hero .scene-rebuild__frame::before,
.scene--hero .scene-rebuild__frame::after { display: none !important; }
.scene--hero .scene__sticky::after { display: none !important; }

/* Global award year scale and consistent spacing around the separator. */
.scene--award .award-heading .award-year {
  font-size: var(--section-title-size, clamp(2rem, 4vw, 4rem)) !important;
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}
.scene-03-date::before { content: " · "; white-space: pre; }
@media (max-width: 900px) {
  .mobile-profile-header .scene-03-date::before { content: none !important; }
}

/* Emergency mobile visibility guard for the two early story biographies. */
@media (max-width: 900px) {
  #scene-02,
  #scene-03,
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame,
  #scene-02 .mobile-profile-bio,
  #scene-03 .mobile-profile-bio {
    overflow: visible !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    transform: none !important;
  }
  #scene-02 .mobile-profile-bio,
  #scene-03 .mobile-profile-bio {
    position: relative !important;
    order: 3 !important;
    z-index: 30 !important;
    display: block !important;
    min-height: max-content !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    background: #050505 !important;
  }
  #scene-02 .mobile-profile-bio *,
  #scene-03 .mobile-profile-bio * {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    color: #f3eee1 !important;
    -webkit-text-fill-color: #f3eee1 !important;
  }

  /* Raju: date, name, portrait, then biography. */
  .scene--award .award-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }
  .scene--award .award-heading { order: 1; }
  .scene--award .award-date { order: 2; }
  .scene--award .mobile-recipient-name { order: 3; }
  .scene--award .award-recipient-row { order: 4; }
  .scene--award .award-recipient-row img { order: 1; }
  .scene--award .award-recipient-bio { order: 2; }
}

/* Rupa is the final performance card: keep her on an opaque sticky layer until the next story begins. */
.scene--performers .performer--rupa {
  position: sticky !important;
  top: 0;
  z-index: 9;
  background: #050505 !important;
}
.scene--performers .performer--rupa .performer__image::after { background: none !important; }
.scene--academy .academy-gallery { margin-bottom: 0 !important; }

@media (max-width: 900px) {
  .scene--performers .performer--rupa { top: calc(var(--mobile-dock-top) + 3.6rem) !important; }
}

/* Shared editorial rhythm for every story scene. The landing hero deliberately
   remains outside this system. */
:root {
  --section-title-size: clamp(2.1rem, 4.3vw, 4.8rem);
  --section-subtitle-size: clamp(.72rem, .95vw, 1rem);
  --section-copy-size: clamp(.92rem, 1.05vw, 1.08rem);
  --section-heading-gap: clamp(.42rem, .75vw, .78rem);
  --section-content-gap: clamp(1rem, 2.5vw, 2.5rem);
  --section-copy-leading: 1.62;
}

.scene:not(.scene--hero) :is(
  .profile-dock-header,
  .mobile-profile-header,
  .performers-heading,
  .award-heading,
  .academy-heading,
  .venue-heading,
  .register-copy
) {
  text-align: center;
}

.scene:not(.scene--hero) :is(
  .profile-dock-header,
  .mobile-profile-header,
  .award-heading,
  .academy-heading,
  .venue-heading,
  .register-copy
) > :is(.eyebrow, .profile-subtitle, .award-year, h2, .role, .rule) {
  margin-inline: auto;
}

.scene:not(.scene--hero) :is(
  .profile-dock-header h2,
  .mobile-profile-header h2,
  .performers-heading h2,
  .award-heading h2,
  .academy-heading h2,
  .manoj-heading,
  .venue-heading h2,
  .register-copy h2
) {
  font-size: var(--section-title-size);
  line-height: 1.04;
  letter-spacing: -.018em;
  text-wrap: balance;
}

.scene:not(.scene--hero) :is(
  .eyebrow,
  .profile-subtitle,
  .role,
  .award-year,
  .award-date,
  .manoj-subheading,
  .performer__meta > span
) {
  color: var(--gold);
  -webkit-text-fill-color: var(--gold);
  font-size: var(--section-subtitle-size);
  line-height: 1.45;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.scene:not(.scene--hero) :is(.profile-dock-header, .mobile-profile-header) > .eyebrow,
.scene:not(.scene--hero) .award-heading > h2,
.scene:not(.scene--hero) .academy-heading > h2,
.scene:not(.scene--hero) .venue-heading > .eyebrow,
.scene:not(.scene--hero) .register-copy > .eyebrow {
  margin-bottom: var(--section-heading-gap);
}

.scene:not(.scene--hero) :is(
  .profile-dock-bio,
  .mobile-profile-bio,
  .anindo-rebuild__copy .bio,
  .performer-bio,
  .award-recipient-bio,
  .manoj-copy .bio,
  .academy-intro
) {
  font-size: var(--section-copy-size);
  line-height: var(--section-copy-leading);
}

.scene:not(.scene--hero) :is(
  .profile-dock-bio p,
  .mobile-profile-bio p,
  .anindo-rebuild__copy .bio p,
  .performer-bio p,
  .award-recipient-bio p,
  .manoj-copy .bio p
) {
  margin-block: 0 1em;
}

.scene:not(.scene--hero) :is(
  .satra-rebuild__architecture,
  .anindo-rebuild__photo,
  .performer__image,
  .legacy-profile-row,
  .award-recipient-row,
  .academy-gallery,
  .manoj-image,
  .venue-map
) {
  margin-block: var(--section-content-gap);
}

@media (min-width: 901px) {
  /* Scenes 02 and 03 keep a centered, equal-spaced title stack above their
     image and biography composition while preserving their existing columns. */
  #scene-02 .profile-dock-header,
  #scene-03 .profile-dock-header {
    text-align: center;
    margin-bottom: var(--section-content-gap);
  }
  #scene-02 .profile-dock-header > *,
  #scene-03 .profile-dock-header > * { margin-inline: auto; }
  #scene-02 .satra-rebuild__copy,
  #scene-03 .anindo-rebuild__copy { gap: var(--section-content-gap); }
}

@media (max-width: 900px) {
  :root {
    --section-title-size: clamp(1.9rem, 8vw, 3rem);
    --section-subtitle-size: clamp(.68rem, 3vw, .82rem);
    --section-copy-size: clamp(.92rem, 4vw, 1rem);
    --section-content-gap: clamp(.85rem, 4vw, 1.25rem);
  }

  /* Scene 02/03 retain the visible mobile reading order: title, image, bio. */
  #scene-02 .mobile-profile-header,
  #scene-03 .mobile-profile-header {
    display: grid !important;
    gap: var(--section-heading-gap);
    align-content: start;
  }
  #scene-02 .mobile-profile-header .eyebrow,
  #scene-03 .mobile-profile-header .eyebrow { color: var(--gold) !important; }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo { margin-block: var(--section-content-gap) !important; }
  #scene-02 .mobile-profile-bio,
  #scene-03 .mobile-profile-bio { padding-top: 0 !important; }

  .scene:not(.scene--hero) :is(.performer__image, .legacy-profile-row,
    .award-recipient-row, .academy-gallery, .manoj-image, .venue-map) {
    margin-block: var(--section-content-gap) !important;
  }
}

html[data-theme="light"] .scene:not(.scene--hero) :is(
  .eyebrow,
  .profile-subtitle,
  .role,
  .award-year,
  .award-date,
  .manoj-subheading,
  .performer__meta > span
) {
  color: #573607 !important;
  -webkit-text-fill-color: #573607 !important;
}

/* Browser review annotations: only the specified scene adjustments. */
@media (min-width: 901px) {
  /* The two opening story titles hold at the top as their scene content moves. */
  #scene-02 .profile-dock-header,
  #scene-03 .profile-dock-header {
    position: sticky;
    top: 4.75rem;
    z-index: 14;
    padding: .55rem 1rem .7rem;
    background: linear-gradient(to bottom, #050505 80%, transparent);
  }

  /* Give the final performance card a full pin interval, matching its predecessors. */
  .scene--performers .performer-line { padding-bottom: 100svh !important; }
  .scene--performers .performer--rupa {
    position: sticky !important;
    top: 0;
    z-index: 9;
  }

  /* Portrait and biography bottoms share one baseline. */
  .scene--legacy .legacy-profile-row,
  .scene--award .award-recipient-row { align-items: end !important; }
  .scene--legacy .legacy-profile-row img {
    width: 116%;
    max-width: none;
    height: min(72svh, 780px) !important;
    margin-left: -12%;
    transform: none !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
  .scene--award .award-recipient-row img {
    align-self: end !important;
    margin-bottom: 0;
    object-position: center bottom !important;
  }

  /* The Academy description follows the moving collage. */
  .scene--academy .academy-gallery { inset: 31% 0 44%; }
  .scene--academy .academy-intro {
    top: auto;
    bottom: clamp(1.5rem, 4vh, 3.5rem);
    width: min(82vw, 760px);
  }
  .scene--academy .academy-intro p { margin: 0 0 .85rem; }

  /* Manoj's copy rests beside the portrait, sharing its lower edge. */
  .scene--manoj .manoj-copy {
    top: auto;
    bottom: clamp(2rem, 7vh, 5rem);
    left: clamp(1rem, 4vw, 4rem);
    width: min(45%, 760px);
    max-height: none;
    overflow: visible;
  }
}

/* Desktop and tablet story layout: the Scene 02/03 title stack occupies its
   own docked row above the artwork and biography, matching the later scenes. */
@media (min-width: 901px) {
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(19rem, .92fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 3.5rem);
    padding: 4.75rem clamp(1rem, 5vw, 6rem) 2rem;
  }
  #scene-02 .satra-rebuild__copy,
  #scene-03 .anindo-rebuild__copy { display: contents !important; }
  #scene-02 .profile-dock-header,
  #scene-03 .profile-dock-header {
    grid-column: 1 / -1;
    grid-row: 1;
    position: sticky;
    top: 4.5rem;
    z-index: 20;
    width: 100%;
    margin: 0 !important;
    padding: .55rem 1rem .8rem;
    text-align: center;
    background: linear-gradient(to bottom, #050505 80%, transparent);
  }
  #scene-02 .satra-rebuild__architecture,
  #scene-03 .anindo-rebuild__photo {
    grid-column: 1;
    grid-row: 2;
    width: 100% !important;
    height: 100%;
    min-height: 0;
    margin: 0 !important;
    align-self: stretch;
  }
  #scene-02 .profile-dock-bio,
  #scene-03 .anindo-rebuild__copy > .bio {
    grid-column: 2;
    grid-row: 2;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 clamp(1rem, 6vh, 5rem);
    overflow: visible !important;
    align-self: end;
  }
  #scene-02 .satra-rebuild__architecture img,
  #scene-03 .anindo-rebuild__photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
  }
}

/* Jagannath's title already appears in the section heading. */
.scene--legacy .award-recipient-bio > h3 { display: none !important; }

/* Final responsive integrity layer.  This sits last so earlier experimental
   scene rules cannot reintroduce clipped copy, excess handoff space, or
   decorative overlays. */
html, body { max-width: 100%; overflow-x: clip; }
main, .scene, .scene__sticky { min-width: 0; }
.scene:not(.scene--hero) { background: #050505 !important; }
.scene:not(.scene--hero) :is(h2, h3, p, a, span, label) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}
.scene:not(.scene--hero) :is(img, picture, svg, iframe) {
  display: block;
  max-width: 100%;
}
.scene:not(.scene--hero) :is(.profile-dock-bio, .mobile-profile-bio,
  .anindo-rebuild__copy > .bio, .performer-bio, .award-recipient-bio,
  .academy-intro, .manoj-copy .bio) {
  min-width: 0;
  overflow: visible !important;
  text-wrap: pretty;
}
.scene-rebuild__wash, .scene-rebuild__grain, .section-wash,
.legacy-atmosphere, .award-atmosphere, .academy-atmosphere,
.manoj-atmosphere, .footer-atmosphere { display: none !important; }

@media (min-width: 901px) {
  /* Complete the performance sequence without leaving a blank Rupa handoff. */
  .scene--performers .performer-line { padding-bottom: 0 !important; }
  .scene--legacy { margin-top: 0 !important; }

  /* Preserve a readable two-column opening composition. */
  #scene-02 .scene-rebuild__frame,
  #scene-03 .scene-rebuild__frame { min-width: 0; }
  #scene-02 .profile-dock-bio,
  #scene-03 .anindo-rebuild__copy > .bio { min-width: 0; }
  #scene-03 .anindo-rebuild__copy > .bio { transform: translateY(-2.65rem) !important; }

  /* The partner mark follows the footer's logo, date, and navigation. */
  .footer-partner {
    position: absolute !important;
    inset: 79% auto auto 50% !important;
    width: min(90vw, 42rem);
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
  .footer-partner img {
    width: clamp(4rem, 5vw, 5.25rem) !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }
}

@media (max-width: 900px) {
  .scene:not(.scene--hero) :is(.profile-dock-header, .mobile-profile-header,
    .award-heading, .academy-heading, .venue-heading, .register-copy,
    .manoj-copy) { min-width: 0; }
  .scene:not(.scene--hero) :is(.profile-dock-bio, .mobile-profile-bio,
    .anindo-rebuild__copy > .bio, .performer-bio, .award-recipient-bio,
    .academy-intro, .manoj-copy .bio) { max-height: none !important; }
  .footer-partner { width: min(88vw, 26rem); }
  .footer-partner img {
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }
}

/* Scene 01 venue subheading stays visible on every device. */
.scene-rebuild--hero .scene-rebuild__wash,
.scene-rebuild--hero .scene-rebuild__grain,
.scene-rebuild--hero .scene-rebuild__frame::before,
.scene-rebuild--hero .scene-rebuild__frame::after,
.scene-rebuild--hero::before,
.scene-rebuild--hero::after { display: none !important; }
.scene-rebuild--hero .hero-rebuild__meta {
  position: relative !important;
  z-index: 30 !important;
  display: grid !important;
  justify-items: center;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.scene-rebuild--hero .hero-rebuild__academy {
  display: block !important;
  width: max-content;
  max-width: calc(100vw - 2rem) !important;
  margin: .25rem auto 0 !important;
  color: #f3eee1 !important;
  -webkit-text-fill-color: #f3eee1 !important;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(1.25rem, 3.71vw, 3.71rem) !important;
  line-height: 1.06 !important;
  letter-spacing: .015em !important;
  text-align: center;
  white-space: nowrap;
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 900px) {
  .scene-rebuild--hero .hero-rebuild__academy {
    font-size: clamp(1.15rem, 5.18vw, 1.82rem) !important;
    white-space: normal;
    text-wrap: balance;
  }
}

/* Keep the award year at exactly the same responsive heading scale as its title. */
.scene--award .award-heading > .award-year {
  font-size: clamp(2.1rem, 4.3vw, 4.8rem) !important;
  line-height: 1.04 !important;
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}

/* Footer brand line shares the logo width; partner credit sits lower with a
   restrained gap above the copyright line on desktop and mobile. */
.scene--footer .footer-date {
  width: var(--footer-brand-width) !important;
  max-width: calc(100vw - 2rem) !important;
  margin-inline: auto !important;
  text-align: center !important;
  white-space: normal !important;
  text-wrap: balance;
  font-size: clamp(.68rem, .86vw, .84rem) !important;
  letter-spacing: .12em !important;
}
.scene--footer .footer-partner {
  gap: clamp(.8rem, 1.8vh, 1.2rem) !important;
  margin-top: clamp(1rem, 2.4vh, 1.8rem) !important;
  transform: translateY(30%) !important;
}
.scene--footer .footer-partner p { margin: 0 !important; }
.scene--footer .footer-close { margin-top: 0 !important; }
@media (min-width: 901px) {
  .scene--footer .footer-partner {
    top: 87% !important;
    margin-top: 0 !important;
    transform: translate(-50%, 0) !important;
  }
}

@media (max-width: 900px) {
  .scene--footer .footer-partner { margin-top: clamp(1.2rem, 3vh, 2.2rem) !important; }
}

/* Share one responsive type scale between the award title and its year. */
.scene--award .award-heading { --award-heading-size: var(--section-title-size); }
.scene--award .award-heading > h2,
.scene--award .award-heading > .award-year {
  font-size: var(--award-heading-size) !important;
  line-height: 1.04 !important;
}
.scene-rebuild--hero .hero-rebuild__copy { transform: translateY(-7vh) !important; }
@media (max-width: 700px) {
  .scene--award .award-heading { --award-heading-size: clamp(1.25rem, 4.8vw, 1.9rem); }
  .scene-rebuild--hero .hero-rebuild__copy { transform: translateY(-4vh) !important; }
}

/* Final requested refinements: remove decorative compositing layers and keep
   the landing cue and Academy line in a deliberate, repeatable relationship. */
.scene__sticky::after,
.scene-rebuild__wash,
.scene-rebuild__grain,
.grain,
.section-wash,
.legacy-atmosphere,
.award-atmosphere,
.academy-atmosphere,
.manoj-atmosphere,
.footer-atmosphere { display: none !important; }
.scene--footer,
.scene--footer .scene__sticky { background: #050505 !important; }
.scene--footer::before,
.scene--footer::after,
.scene--footer .scene__sticky::before,
.scene--footer .scene__sticky::after { content: none !important; display: none !important; }
.scene--footer .scene__sticky > :is(.footer-logo, .footer-date, .footer-nav, .footer-partner, .footer-close) {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
.scene-rebuild--hero .scene-rebuild__frame { position: relative; }
.scene-rebuild--hero .hero-rebuild__meta { position: static !important; }
.scene-rebuild--hero .hero-rebuild__academy {
  position: absolute !important;
  left: 50% !important;
  bottom: calc(15svh + 4rem) !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .scene-rebuild--hero .hero-rebuild__academy { bottom: calc(15svh + 4.25rem) !important; }

  /* Use one readable body-copy size across small-device information sections. */
  .scene:not(.scene--hero) :is(
    .profile-dock-bio p,
    .mobile-profile-bio p,
    .anindo-rebuild__copy .bio p,
    .performer-bio p,
    .award-recipient-bio p,
    .manoj-copy .bio p,
    .academy-intro p
  ) {
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  /* Let each performer card grow to its complete biography before the next
     card enters, instead of clipping the copy inside a one-screen card. */
  .scene--performers .performer,
  .scene--performers .performer:nth-child(even) {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 1rem .8rem 2rem !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto minmax(10rem, 32svh) auto !important;
    gap: .45rem !important;
  }
  .scene--performers .performer__image {
    position: relative !important;
    grid-row: 3 !important;
    height: min(32svh, 300px) !important;
    min-height: 10rem !important;
  }
  .scene--performers .performer__image img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
  .scene--performers .performer__meta { max-height: none !important; overflow: visible !important; }
  .scene--performers .performer-bio {
    grid-row: 4 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 .15rem !important;
  }
}

/* Pin the partner credit below the social row; this selector overrides the
   earlier sticky child layout rule on every viewport. */
.scene--footer .scene__sticky > .footer-partner {
  position: absolute !important;
  left: 50% !important;
  top: auto !important;
  right: auto !important;
  bottom: calc(clamp(1.25rem, 4vh, 2.5rem) + 1.22rem + 7.5svh) !important;
  width: min(90vw, 42rem) !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  z-index: 3;
}
.scene--footer .footer-partner img {
  width: clamp(4rem, 5vw, 5.25rem) !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.scene--footer .footer-partner p { margin: 0 !important; }
@media (max-width: 520px) {
  .scene--footer .scene__sticky > .footer-partner {
    bottom: calc(clamp(1.25rem, 4vh, 2.5rem) + 1.03rem + 7.5svh) !important;
  }
  .scene--footer .footer-partner img { width: 3.5rem !important; }
  .scene--footer .footer-socials svg { width: 1.5rem !important; height: 1.5rem !important; flex-basis: 1.5rem !important; }
}

/* Match Scene 02's SATTRA HERITAGE eyebrow responsive copy-size scale.
   The event/date spans have their own !important sizes earlier in this file. */
@media (max-width: 900px) {
  #scene-03 .mobile-profile-header > .eyebrow {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #scene-03 .mobile-profile-header .scene-03-event {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  #scene-03 .mobile-profile-header > .eyebrow,
  #scene-03 .anindo-rebuild__copy .profile-dock-header > .eyebrow,
  #scene-03 .mobile-profile-header .scene-03-event,
  #scene-03 .mobile-profile-header .scene-03-date,
  #scene-03 .anindo-rebuild__copy .profile-dock-header .scene-03-event,
  #scene-03 .anindo-rebuild__copy .profile-dock-header .scene-03-date {
    font-size: var(--section-copy-size) !important;
  }
}

/* Final responsive corrections for the annotated heading, eyebrow and footer row. */
#scene-07 .academy-heading > h2 {
  font-size: var(--section-title-size) !important;
  line-height: 1.04 !important;
  letter-spacing: -.018em !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

.scene--footer .scene__sticky > .footer-socials {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(.85rem, 1.6vw, 1.25rem) !important;
  width: max-content !important;
  max-width: 90vw !important;
  margin: clamp(.8rem, 1.8vh, 1.2rem) auto 0 !important;
  transform: translateY(clamp(.5rem, 1.25vh, .9rem)) !important;
}
.scene--footer .footer-socials a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
}
.scene--footer .footer-socials svg { flex: 0 0 auto !important; }

#scene-03 .scene-03-date::before { content: none !important; }
#scene-03 .scene-03-separator { display: inline; white-space: pre; }
.scene--legacy .profile-subtitle {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  column-gap: .32em;
}
.scene--legacy .profile-subtitle-lead,
.scene--legacy .profile-subtitle-tail { white-space: nowrap; }

@media (max-width: 900px) {
  #scene-03 .scene-03-separator { display: none !important; }
  .scene--footer .scene__sticky > .footer-socials {
    transform: translateY(clamp(2.75rem, 5.7vh, 3.5rem)) !important;
  }
}

/* Prevent separator dots from becoming the first character on a wrapped line. */
@media (max-width: 900px) {
  #scene-03 .mobile-profile-header .scene-03-event,
  #scene-03 .anindo-rebuild__copy .profile-dock-header .scene-03-event {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    column-gap: .32em !important;
    row-gap: .08em !important;
  }
  #scene-03 .scene-03-event > span { white-space: nowrap !important; }

  .scene--legacy .profile-subtitle {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .scene--legacy .profile-subtitle-separator { display: none !important; }
}

html[data-theme] .scene--legacy .profile-subtitle {
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}

html[data-theme] #scene-05 .profile-subtitle {
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}

#scene-03 .mobile-profile-header > .eyebrow,
#scene-03 .profile-dock-header > .eyebrow {
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}

@media (max-width: 700px) {
  html[data-theme] #scene-03 .mobile-profile-header > .eyebrow,
  html[data-theme] #scene-03 .mobile-profile-header > .eyebrow * {
    color: #c58a1c !important;
    -webkit-text-fill-color: #c58a1c !important;
  }
  #scene-05 .profile-subtitle {
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }
  #scene-03 .scene-03-event-dot { display: none !important; }
  #scene-03 .mobile-profile-header > .eyebrow,
  #scene-03 .mobile-profile-header > .role {
    color: #c58a1c !important;
    -webkit-text-fill-color: #c58a1c !important;
  }
  .scene--award .award-heading { --award-heading-size: var(--section-title-size) !important; }
  .scene--award .award-heading > h2 {
    font-size: var(--section-title-size) !important;
    line-height: 1.04 !important;
  }
}

#scene-03 .profile-dock-header > .role {
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}

/* Theme rules color nested spans directly, so pin the requested text and every child. */
html[data-theme] #scene-03 .mobile-profile-header > .eyebrow,
html[data-theme] #scene-03 .mobile-profile-header > .eyebrow *,
html[data-theme] #scene-03 .profile-dock-header > .eyebrow,
html[data-theme] #scene-03 .profile-dock-header > .eyebrow *,
html[data-theme] #scene-05 .profile-subtitle,
html[data-theme] #scene-05 .profile-subtitle * {
  color: #c58a1c !important;
  -webkit-text-fill-color: #c58a1c !important;
}
