
  :root{
    --ink:#1b1410;
    --ink-soft:#3a2e24;
    --sand:#f4e9d8;
    --sand-2:#eadcc3;
    --sand-3:#e2cfab;
    --terracotta:#c1502e;
    --terracotta-dim:#a8431f;
    --marigold:#e7a93e;
    --cream:#f8f1e4;
    --line: rgba(27,20,16,0.12);
    --line-dark: rgba(244,233,216,0.16);
    --shadow: 0 30px 60px -20px rgba(27,20,16,0.35);
    --ease: cubic-bezier(.22,.61,.36,1);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--sand);
    color:var(--ink-soft);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ::selection{background:var(--terracotta);color:var(--cream);}

  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:500;
    margin:0;
    color:var(--ink);
    letter-spacing:-0.01em;
  }

  .eyebrow{
    font-family:'Space Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--terracotta);
    display:flex;
    align-items:center;
    gap:0.6em;
    margin-bottom:1.1rem;
  }
  .eyebrow::before{
    content:"";
    width:7px;height:7px;border-radius:50%;
    background:currentColor;
    display:inline-block;
    flex:none;
  }
  .eyebrow.light{color:var(--marigold);}

  .section-label{
    font-family:'Fraunces', serif;
    font-size:clamp(1.3rem,2.2vw,1.7rem);
    font-weight:500;
    font-style:italic;
    color:var(--terracotta);
    display:flex;
    align-items:center;
    gap:0.5em;
    margin-bottom:1.2rem;
  }
  .section-label::before{
    content:"";
    width:9px;height:9px;border-radius:50%;
    background:currentColor;
    display:inline-block;
    flex:none;
  }
  .section-label.light{color:var(--marigold);}

  .wrap{
    max-width:1240px;
    margin:0 auto;
    padding:0 6vw;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:0.6em;
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:0.95em 1.7em;
    border-radius:100px;
    border:1px solid currentColor;
    background:none;
    -webkit-appearance:none;
    appearance:none;
    transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
    cursor:pointer;
    white-space:nowrap;
  }
  .btn-solid{
    background:var(--terracotta);
    border-color:var(--terracotta);
    color:var(--cream);
  }
  .btn-solid:hover{background:var(--terracotta-dim);border-color:var(--terracotta-dim);transform:translateY(-2px);}
  .btn-ghost-dark{color:var(--cream);border-color:rgba(244,233,216,0.5);}
  .btn-ghost-dark:hover{background:rgba(244,233,216,0.12);transform:translateY(-2px);}
  .btn-ghost-light{color:var(--ink);border-color:rgba(27,20,16,0.35);}
  .btn-ghost-light:hover{background:rgba(27,20,16,0.06);transform:translateY(-2px);}

  /* ---------- WAVEFORM DIVIDER (signature element) ---------- */
  .waveform{
    display:flex;
    align-items:center;
    gap:3px;
    height:34px;
    width:100%;
    overflow:hidden;
    padding:0 6vw;
  }
  .waveform span{
    flex:1 1 auto;
    min-width:2px;
    max-width:5px;
    border-radius:2px;
    background:currentColor;
    opacity:0.55;
  }
  .waveform.on-dark{color:var(--marigold);}
  .waveform.on-light{color:var(--terracotta);}

  /* ---------- NAV ---------- */
  header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    padding:1.4rem 6vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
    transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  }
  header.scrolled{
    background:rgba(244,233,216,0.92);
    backdrop-filter:blur(10px);
    padding:0.9rem 6vw;
    box-shadow:0 1px 0 var(--line);
  }
  header.header-solid{
    background:rgba(244,233,216,0.97);
    backdrop-filter:blur(10px);
    padding:0.9rem 6vw;
    box-shadow:0 1px 0 var(--line);
  }
  header.header-solid ~ .page-banner,
  header.header-solid ~ .hero,
  header.header-solid ~ .poster-hero{margin-top:76px;}
  @media(max-width:700px){
    header.header-solid ~ .page-banner,
    header.header-solid ~ .hero,
    header.header-solid ~ .poster-hero{margin-top:68px;}
  }
  header.header-solid nav.links a{color:var(--ink-soft);}
  header.header-solid .menu-btn span{background:var(--ink);}
  .logo{
    display:flex;
    align-items:center;
  }
  .logo img{
    height:40px;
    width:auto;
    display:block;
  }

  nav.links{
    display:flex;
    align-items:center;
    gap:2.1rem;
    font-family:'Space Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
  }
  nav.links a{
    color:var(--cream);
    opacity:0.85;
    position:relative;
    transition:opacity .3s, color .4s var(--ease);
  }
  header.scrolled nav.links a{color:var(--ink-soft);}
  nav.links a:hover{opacity:1;}
  nav.links a::after{
    content:"";
    position:absolute;left:0;bottom:-6px;
    width:0%;height:1px;background:currentColor;
    transition:width .3s var(--ease);
  }
  nav.links a:hover::after{width:100%;}
  .nav-cta{display:none;}
  @media(min-width:880px){.nav-cta{display:inline-flex;}}
  .menu-btn{
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;border:none;cursor:pointer;
    padding:6px;
  }
  .menu-btn span{width:22px;height:1.5px;background:var(--cream);transition:.3s;}
  header.scrolled .menu-btn span{background:var(--ink);}

  @media(max-width:880px){
    nav.links{
      position:fixed;
      inset:0 0 auto auto;
      top:0;right:0;
      height:100vh;
      width:78vw;
      background:var(--ink);
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
      padding:0 10vw;
      gap:1.7rem;
      transform:translateX(100%);
      transition:transform .5s var(--ease);
    }
    nav.links.open{transform:translateX(0);}
    nav.links a{color:var(--sand);font-size:0.85rem;}
    nav.links .nav-cta{display:inline-flex;margin-top:0.5rem;}
    .menu-btn{display:flex;z-index:110;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    min-height:380px;
    max-height:760px;
    overflow:hidden;
  }
  .hero-media{
    position:absolute;inset:0;
    z-index:0;
  }
  .hero-media img,
  .hero-media video{
    width:100%;height:100%;object-fit:cover;object-position:center center;
    transform:scale(1.08);
    animation:heroZoom 18s var(--ease) forwards;
  }
  @keyframes heroZoom{to{transform:scale(1);}}
  .hero-scrim{
    position:absolute;inset:0;
    background: linear-gradient(to bottom, rgba(15,11,8,0) 65%, rgba(15,11,8,0.5) 100%);
    z-index:1;
  }

  /* ---------- HERO INTRO (text, below the video banner) ---------- */
  .hero-intro{
    background:var(--ink);
    padding:4rem 0 3.6rem;
  }
  .hero-intro .hero-kicker{
    font-family:'Space Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--marigold);
    margin-bottom:1.4rem;
    display:flex;align-items:center;gap:0.9em;
  }
  .hero-intro .hero-kicker .rule{width:40px;height:1px;background:var(--marigold);opacity:.6;}
  .hero-intro h1{
    font-size:clamp(2.4rem, 6vw, 5rem);
    line-height:1;
    color:var(--cream);
    font-weight:500;
    max-width:18ch;
  }
  .hero-intro h1 em{font-style:italic;font-weight:400;color:var(--marigold);}
  .hero-intro .hero-sub{
    max-width:52ch;
    font-size:clamp(1rem,1.6vw,1.15rem);
    line-height:1.65;
    color:rgba(248,241,228,0.88);
    margin:1.5rem 0 2.1rem;
    font-weight:300;
  }
  .hero-intro .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}
  .hero-content{
    position:relative;z-index:2;
    padding:0 6vw 0.4rem;
  }
  .hero-kicker{
    font-family:'Space Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--marigold);
    margin-bottom:1.4rem;
    display:flex;align-items:center;gap:0.9em;
    text-shadow:0 2px 10px rgba(0,0,0,0.6);
  }
  .hero-kicker .rule{width:40px;height:1px;background:var(--marigold);opacity:.6;}
  .hero h1{
    font-size:clamp(3rem, 9vw, 7.4rem);
    line-height:0.94;
    color:var(--cream);
    font-weight:500;
    max-width:16ch;
    text-shadow:0 4px 30px rgba(0,0,0,0.55), 0 2px 8px rgba(0,0,0,0.45);
  }
  .hero h1 em{
    font-style:italic;
    font-weight:400;
    color:var(--marigold);
  }
  .hero-sub{
    max-width:44ch;
    font-size:clamp(1rem,1.6vw,1.2rem);
    line-height:1.6;
    color:rgba(248,241,228,0.9);
    margin:1.6rem 0 2.3rem;
    font-weight:300;
    text-shadow:0 2px 14px rgba(0,0,0,0.55);
  }
  .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem;}
  .hero-scroll{
    display:flex;align-items:center;gap:0.8rem;
    font-family:'Space Mono',monospace;
    font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(248,241,228,0.65);
  }
  .hero-scroll .line{width:1px;height:34px;background:rgba(248,241,228,0.4);position:relative;overflow:hidden;}
  .hero-scroll .line::after{
    content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;
    background:var(--marigold);
    animation:scrollLine 2.2s ease-in-out infinite;
  }
  @keyframes scrollLine{0%{top:-100%;}50%{top:0%;}100%{top:100%;}}

  /* ---------- SECTION helpers ---------- */
  section{position:relative;}
  .pad{padding:7.5rem 0;}
  .pad-sm{padding:4.5rem 0;}
  .dark{background:var(--ink);color:var(--sand-2);}
  .dark h2, .dark h3, .dark h4{color:var(--cream);}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- INTRO / MISSION ---------- */
  .intro-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:4rem;
    align-items:start;
  }
  .intro-grid h2{
    font-size:clamp(2rem,3.6vw,3.1rem);
    line-height:1.18;
    font-weight:400;
  }
  .intro-grid h2 b{font-weight:600;color:var(--terracotta);}
  .stat-row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2.4rem 2rem;
    margin-top:1rem;
  }
  .stat-row .stat-num{
    font-family:'Fraunces',serif;
    font-size:clamp(2.2rem,3.4vw,3rem);
    font-weight:600;
    color:var(--ink);
    line-height:1;
  }
  .stat-row .stat-label{
    font-family:'Space Mono',monospace;
    font-size:0.7rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--ink-soft);
    opacity:0.7;
    margin-top:0.6rem;
    display:block;
    max-width:16ch;
  }
  @media(max-width:820px){.intro-grid{grid-template-columns:1fr;gap:2.6rem;}}

  /* ---------- MARQUEE (right to left, poster style) ---------- */
  .marquee-section{
    background:var(--sand-3);
    padding:3.6rem 0;
    overflow:hidden;
  }
  .marquee-head{
    display:flex;justify-content:space-between;align-items:flex-end;
    padding:0 6vw 2.2rem;
    flex-wrap:wrap;gap:1rem;
  }
  .marquee-head h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;max-width:34ch;}
  .marquee-track{
    display:flex;
    width:max-content;
    gap:1.3rem;
    animation:marqueeMove 46s linear infinite;
  }
  .marquee-section:hover .marquee-track{animation-play-state:paused;}
  @keyframes marqueeMove{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .poster{
    position:relative;
    width:230px;
    height:330px;
    flex:none;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 18px 40px -14px rgba(27,20,16,0.4);
  }
  .poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
  .poster:hover img{transform:scale(1.06);}
  .poster .tag{
    position:absolute;left:0;right:0;bottom:0;
    padding:1rem 1rem 0.9rem;
    background:linear-gradient(to top, rgba(17,12,9,0.92), rgba(17,12,9,0));
    color:var(--cream);
  }
  .poster .tag .name{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;}
  .poster .tag .inst{font-family:'Space Mono',monospace;font-size:0.63rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--marigold);margin-top:0.25rem;display:block;}

  /* ---------- STORY (split) ---------- */
  .split{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:0;
    align-items:stretch;
  }
  .split-media{position:relative;min-height:520px;overflow:hidden;}
  .split-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
  .split-text{
    padding:6rem 6vw 6rem 5vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .split-text p{font-size:1.02rem;line-height:1.85;color:var(--ink-soft);margin:0 0 1.2rem;font-weight:300;}
  .split-text h2{font-size:clamp(1.9rem,3vw,2.6rem);margin-bottom:1.6rem;font-weight:500;}
  @media(max-width:900px){
    .split{grid-template-columns:1fr;}
    .split-media{min-height:340px;}
    .split-text{padding:3.6rem 6vw;}
  }
  .split.reverse{grid-template-columns:1.1fr 0.9fr;}
  .split.reverse .split-media{order:2;}
  .split.reverse .split-text{order:1;}
  @media(max-width:900px){
    .split.reverse .split-media{order:1;}
    .split.reverse .split-text{order:2;}
  }

  /* ---------- PROCESS ---------- */
  .process-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--line-dark);
    border-top:1px solid var(--line-dark);
    border-bottom:1px solid var(--line-dark);
    margin-top:3.5rem;
  }
  .process-card{
    background:var(--ink);
    padding:3rem 2.4rem;
  }
  .process-num{
    font-family:'Space Mono',monospace;
    color:var(--marigold);
    font-size:0.75rem;
    letter-spacing:0.1em;
    margin-bottom:1.6rem;
    display:block;
  }
  .process-card h4{font-size:1.4rem;color:var(--cream);margin-bottom:1rem;font-weight:500;}
  .process-card p{font-size:0.94rem;line-height:1.75;color:var(--sand-2);opacity:0.82;font-weight:300;}
  @media(max-width:820px){.process-grid{grid-template-columns:1fr;}}

  /* ---------- FESTIVAL SPOTLIGHT ---------- */
  .festival{
    position:relative;
    min-height:78vh;
    display:flex;align-items:flex-end;
    color:var(--cream);
    overflow:hidden;
  }
  .festival-media{position:absolute;inset:0;}
  .festival-media img{width:100%;height:100%;object-fit:cover;}
  .festival-media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(to top, rgba(15,11,8,0.92), rgba(15,11,8,0.15) 55%, rgba(15,11,8,0.5));
  }
  .festival-body{position:relative;z-index:2;padding:5rem 6vw;width:100%;}
  .festival-body h2{font-size:clamp(2.1rem,4vw,3.4rem);color:var(--cream);max-width:18ch;font-weight:500;margin-bottom:1.4rem;}
  .festival-body p{max-width:56ch;font-size:1.02rem;line-height:1.8;color:rgba(248,241,228,0.85);font-weight:300;margin-bottom:2rem;}
  .festival-stats{display:flex;gap:3rem;flex-wrap:wrap;}
  .festival-stats .stat-num{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:600;color:var(--marigold);}
  .festival-stats .stat-label{display:block;font-family:'Space Mono',monospace;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.06em;opacity:0.75;margin-top:0.3rem;}

  /* ---------- CHANAN KHAN SPOTLIGHT ---------- */
  .spotlight{
    background:var(--ink);
    color:var(--sand-2);
    padding:7.5rem 0;
  }
  .spotlight-grid{
    display:grid;
    grid-template-columns:0.62fr 1.38fr;
    gap:4.5rem;
    align-items:center;
  }
  .spotlight-frame{
    position:relative;
    border-radius:8px;
    overflow:hidden;
    box-shadow:var(--shadow);
  }
  .spotlight-frame img{width:100%;display:block;}
  .quote{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(1.7rem,2.8vw,2.5rem);
    line-height:1.35;
    color:var(--cream);
    margin:0 0 1.8rem;
  }
  .quote span{color:var(--marigold);}
  .spotlight-grid p.body-text{
    font-size:1rem;line-height:1.85;font-weight:300;color:var(--sand-2);opacity:0.88;margin-bottom:1rem;max-width:60ch;
  }
  .spotlight-meta{
    display:flex;gap:2.4rem;margin-top:2rem;flex-wrap:wrap;
    font-family:'Space Mono',monospace;font-size:0.7rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--marigold);
  }
  @media(max-width:900px){.spotlight-grid{grid-template-columns:1fr;}}

  /* ---------- MEDIA / VIDEO LIBRARY ---------- */
  .media-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.4rem;
    margin-top:3rem;
  }
  .media-card{
    aspect-ratio:3/4;
    border-radius:8px;
    background:linear-gradient(155deg, var(--sand-3), var(--sand-2));
    border:1px solid var(--line);
    position:relative;
    padding:1.4rem;
    display:flex;flex-direction:column;justify-content:space-between;
    overflow:hidden;
    cursor:pointer;
    color:inherit;
    text-decoration:none;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .media-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -18px rgba(27,20,16,0.3);}
  .media-card .m-poster{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    transition:transform .5s var(--ease);
  }
  .media-card.has-poster:hover .m-poster{transform:scale(1.06);}
  .media-card.has-poster::after{
    content:"";position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg, rgba(27,20,16,0.1), rgba(27,20,16,0.78));
  }
  .media-card .play{
    width:44px;height:44px;border-radius:50%;
    border:1px solid var(--terracotta);
    display:flex;align-items:center;justify-content:center;
    color:var(--terracotta);
    align-self:flex-end;
    position:relative;z-index:1;
    background:rgba(244,233,216,0.5);
    transition:background .3s, transform .3s;
  }
  .media-card:hover .play{transform:scale(1.08);background:var(--terracotta);}
  .media-card:hover .play svg{fill:var(--cream);}
  .media-card .play svg{width:14px;height:14px;fill:var(--terracotta);transition:fill .3s;}
  .media-card .m-name{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--ink);position:relative;z-index:1;}
  .media-card.has-poster .m-name{color:var(--cream);}
  .media-card .m-tag{font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--terracotta);margin-top:0.4rem;display:block;position:relative;z-index:1;}
  .media-card.has-poster .m-tag{color:var(--marigold);}

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position:fixed;inset:0;z-index:1000;
    background:rgba(15,11,8,0.97);
    display:none;
    align-items:center;justify-content:center;
    padding:2.5vw;
  }
  .lightbox.open{display:flex;}
  .lightbox-inner{width:100%;max-width:1400px;display:flex;flex-direction:column;gap:1rem;}
  .lightbox-player{width:100%;aspect-ratio:16/9;max-height:88vh;background:#000;}
  .lightbox-player video, .lightbox-player iframe{width:100%;height:100%;border:0;display:block;}
  .lightbox-full{
    align-self:center;
    font-family:'Space Mono',monospace;
    font-size:0.75rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--marigold);
    border:1px solid rgba(244,233,216,0.35);
    border-radius:100px;
    padding:0.8em 1.6em;
    transition:background .3s, border-color .3s;
  }
  .lightbox-full:hover{background:rgba(244,233,216,0.1);border-color:rgba(244,233,216,0.6);}
  .lightbox-close{
    position:fixed;top:2rem;right:2rem;z-index:1001;
    width:44px;height:44px;border-radius:50%;
    border:1px solid rgba(244,233,216,0.4);
    background:transparent;color:var(--cream);
    font-size:1.4rem;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .3s;
  }
  .lightbox-close:hover{background:rgba(244,233,216,0.12);}
  @media(max-width:900px){.media-grid{grid-template-columns:repeat(2,1fr);}}

  /* ---------- DRAG GALLERY ---------- */
  .gallery-wrap{overflow:hidden;padding:3rem 0 4rem;}
  .gallery-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:2.2rem;}
  .drag-track{
    display:flex;gap:1.1rem;
    padding:0 6vw;
    cursor:grab;
    user-select:none;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
  }
  .drag-track::-webkit-scrollbar{display:none;}
  .drag-track.grabbing{cursor:grabbing;}
  .drag-item{
    flex:none;
    width:320px;
    height:220px;
    border-radius:6px;
    overflow:hidden;
    position:relative;
  }
  .drag-item img{width:100%;height:100%;object-fit:cover;pointer-events:none;}
  .drag-item.tall{height:400px;}
  .drag-item .cap{
    position:absolute;left:0;right:0;bottom:0;
    padding:0.9rem 1rem;
    background:linear-gradient(to top, rgba(17,12,9,0.85), rgba(17,12,9,0));
    color:var(--cream);
    font-family:'Space Mono',monospace;
    font-size:0.66rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
  }

  /* ---------- PRESS ---------- */
  .press-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.2rem;
    margin-top:3rem;
  }
  .press-card{
    border-radius:6px;
    overflow:hidden;
    background:var(--sand-2);
    border:1px solid var(--line);
  }
  .press-card img{width:100%;height:200px;object-fit:cover;filter:sepia(0.15) contrast(1.02);}
  .press-card .p-body{padding:1rem 1.1rem 1.3rem;}
  .press-card .p-source{font-family:'Space Mono',monospace;font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--terracotta);margin-bottom:0.5rem;display:block;}
  .press-card .p-title{font-family:'Fraunces',serif;font-size:0.98rem;line-height:1.4;color:var(--ink);}
  @media(max-width:900px){.press-grid{grid-template-columns:repeat(2,1fr);}}

  /* ---------- STRENGTHS ---------- */
  .strengths-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2.6rem 3rem;
    margin-top:3.4rem;
  }
  .strength{border-top:1px solid var(--line);padding-top:1.6rem;}
  .strength h4{font-size:1.2rem;margin-bottom:0.7rem;font-weight:500;}
  .strength p{font-size:0.92rem;line-height:1.7;color:var(--ink-soft);opacity:0.85;font-weight:300;}
  @media(max-width:820px){.strengths-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.strengths-grid{grid-template-columns:1fr;}}

  /* ---------- C.R.A.F.T. (parent institution) ---------- */
  .craft-intro{max-width:70ch;}
  .craft-intro h2{font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:500;line-height:1.2;margin-bottom:1.3rem;}
  .craft-intro h2 b{font-weight:600;color:var(--terracotta);}
  .craft-intro p{font-size:1rem;line-height:1.85;color:var(--ink-soft);font-weight:300;margin-bottom:1.1rem;}
  .craft-pillars{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1px;
    background:var(--line);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-top:3rem;
  }
  .craft-pillar{background:var(--sand);padding:1.8rem 1.4rem;}
  .craft-pillar .p-num{font-family:'Space Mono',monospace;font-size:0.68rem;color:var(--terracotta);letter-spacing:0.08em;display:block;margin-bottom:0.9rem;}
  .craft-pillar h5{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;color:var(--ink);margin-bottom:0.5rem;}
  .craft-pillar p{font-size:0.82rem;line-height:1.6;color:var(--ink-soft);opacity:0.85;font-weight:300;margin:0;}
  @media(max-width:900px){.craft-pillars{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.craft-pillars{grid-template-columns:1fr;}}

  .craft-upcoming{
    margin-top:4rem;
    padding-top:3.2rem;
    border-top:1px solid var(--line);
  }
  .upcoming-card{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:3rem;
    align-items:start;
    background:var(--sand-2);
    border:1px solid var(--line);
    border-radius:10px;
    padding:2.8rem;
  }
  .upcoming-card .u-label{
    font-family:'Space Mono',monospace;
    font-size:0.68rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--terracotta);
    border:1px solid var(--terracotta);
    border-radius:100px;
    padding:0.4em 1em;
    display:inline-block;
    margin-bottom:1.2rem;
  }
  .upcoming-card h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;margin-bottom:0.4rem;}
  .upcoming-card .u-logline{font-style:italic;font-family:'Fraunces',serif;color:var(--terracotta-dim);font-size:1.02rem;margin-bottom:1.4rem;}
  .upcoming-card p.u-body{font-size:0.96rem;line-height:1.8;color:var(--ink-soft);font-weight:300;margin-bottom:1rem;}
  .upcoming-more{
    max-height:0;
    overflow:hidden;
    transition:max-height .5s var(--ease);
  }
  .upcoming-more.open{max-height:600px;}
  .upcoming-more p{font-size:0.96rem;line-height:1.8;color:var(--ink-soft);font-weight:300;margin-bottom:1rem;}
  .know-more-btn{
    display:inline-flex;align-items:center;gap:0.5em;
    font-family:'Space Mono',monospace;
    font-size:0.75rem;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--terracotta);
    background:none;border:none;cursor:pointer;
    padding:0;margin-top:0.4rem;
  }
  .know-more-btn .arrow{transition:transform .3s var(--ease);display:inline-block;}
  .know-more-btn.open .arrow{transform:rotate(90deg);}
  @media(max-width:820px){.upcoming-card{grid-template-columns:1fr;padding:2.2rem;}}

  /* ---------- CSR / DONATE ---------- */
  .csr{
    background:var(--ink);
    color:var(--sand-2);
    padding:8rem 0 6rem;
    position:relative;
  }
  .csr-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4.5rem;
  }
  .csr h2{color:var(--cream);font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.15;font-weight:500;margin-bottom:1.6rem;}
  .csr p.lead{font-size:1.02rem;line-height:1.85;font-weight:300;color:var(--sand-2);opacity:0.88;margin-bottom:1.4rem;max-width:52ch;}
  .fund-list{list-style:none;padding:0;margin:2.2rem 0 2.6rem;}
  .fund-list li{
    display:flex;gap:1rem;align-items:flex-start;
    padding:1.1rem 0;
    border-top:1px solid var(--line-dark);
    font-size:0.94rem;
    line-height:1.6;
    color:var(--sand-2);
    font-weight:300;
  }
  .fund-list li:last-child{border-bottom:1px solid var(--line-dark);}
  .fund-list .fnum{font-family:'Space Mono',monospace;color:var(--marigold);font-size:0.78rem;flex:none;padding-top:0.15rem;}
  .csr-card{
    background:linear-gradient(155deg, rgba(244,233,216,0.07), rgba(244,233,216,0.02));
    border:1px solid var(--line-dark);
    border-radius:10px;
    padding:2.6rem 2.4rem;
    height:max-content;
    box-shadow:var(--shadow);
  }
  .csr-card .eyebrow{color:var(--marigold);}
  .csr-card h3{color:var(--cream);font-size:1.5rem;margin-bottom:1rem;font-weight:500;}
  .csr-card p{font-size:0.92rem;line-height:1.75;color:var(--sand-2);opacity:0.85;font-weight:300;margin-bottom:1.7rem;}
  .csr-card .tax-note{
    font-family:'Space Mono',monospace;
    font-size:0.68rem;
    letter-spacing:0.03em;
    color:var(--marigold);
    border-top:1px solid var(--line-dark);
    padding-top:1.2rem;
    margin-top:0.4rem;
    line-height:1.7;
  }
  @media(max-width:900px){.csr-grid{grid-template-columns:1fr;}}

/* ---------- PERFORMANCE ENQUIRY CTA (Programmes) ---------- */
.perform-cta{background:var(--ink);color:var(--cream);padding:5.5rem 0;text-align:center;}
.perform-cta h2{color:var(--cream);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;max-width:26ch;margin:0 auto 1.8rem;}
.perform-cta .cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.perform-cta .btn-solid{background:var(--terracotta);border-color:var(--terracotta);}
.perform-cta .btn-solid:hover{background:var(--terracotta-dim);}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--sand-3);
    padding:5rem 0 2.2rem;
  }
  .footer-top{
    display:grid;
    grid-template-columns:1.3fr 0.7fr 0.7fr 0.9fr;
    gap:2.6rem;
    padding-bottom:3.6rem;
    border-bottom:1px solid var(--line);
  }
  .footer-top h3{font-size:2rem;max-width:14ch;font-weight:500;margin-bottom:1.3rem;}
  .footer-col h5{
    font-family:'Space Mono',monospace;
    font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;
    color:var(--terracotta);margin-bottom:1.1rem;
  }
  .footer-col a, .footer-col p{
    display:block;
    font-size:0.9rem;
    line-height:2;
    color:var(--ink-soft);
    opacity:0.85;
  }
  .footer-col a:hover{opacity:1;color:var(--terracotta);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:1.8rem;
    font-family:'Space Mono',monospace;
    font-size:0.68rem;
    letter-spacing:0.04em;
    color:var(--ink-soft);
    opacity:0.65;
    flex-wrap:wrap;gap:1rem;
  }
  @media(max-width:820px){
    .footer-top{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:560px){
    .footer-top{grid-template-columns:1fr;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }

/* ========================================================
   ADDED FOR MULTI-PAGE STRUCTURE (Programmes / About / Donate)
   ======================================================== */

/* ---------- PAGE HEADER (non-hero pages) ---------- */
.page-banner{
  position:relative;
  width:100%;
  aspect-ratio:21/9;
  min-height:260px;
  max-height:520px;
  overflow:hidden;
}
.page-banner img{
  width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;
}
.page-banner::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(15,11,8,0.15), rgba(15,11,8,0.55));
}
.donate-hero{margin-top:76px;width:100%;line-height:0;}
.donate-hero img{width:100%;height:auto;display:block;}
@media(max-width:700px){.donate-hero{margin-top:68px;}}

/* ============ POSTER HERO (full poster artwork, no crop) ============ */
.poster-hero{
  margin-top:76px;
  width:100%;
  background:var(--sand);
  padding:3.5rem 6vw 3rem;
  display:flex;
  justify-content:center;
}
.poster-hero img{
  width:100%;
  max-width:360px;
  height:auto;
  display:block;
  box-shadow:0 24px 60px rgba(44,30,20,0.28);
  border-radius:3px;
}
@media(max-width:700px){
  .poster-hero{margin-top:68px;padding:2.4rem 6vw 2rem;}
  .poster-hero img{max-width:260px;}
}

.page-header{
  padding:3.4rem 0 4rem;
  background:var(--ink);
  color:var(--sand-2);
}
.page-header .eyebrow{color:var(--marigold);}
.page-header h1{
  font-size:clamp(2.6rem,5.4vw,4.4rem);
  color:var(--cream);
  font-weight:500;
  max-width:22ch;
  line-height:1.1;
}
.page-header p{
  max-width:56ch;
  font-size:1.02rem;
  line-height:1.75;
  color:var(--sand-2);
  opacity:0.85;
  font-weight:300;
  margin-top:1.3rem;
}

/* ---------- NAV active state ---------- */
nav.links a.active{opacity:1;}
nav.links a.active::after{width:100%;}

/* ---------- ARTIST ROSTER ---------- */
.artist-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
  margin-top:3rem;
}
.artist-card{
  background:var(--sand-2);
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.artist-card .a-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
img[src*="peeru-khan-harmonium"]{object-position:center 15%;}
.artist-card .a-photo-blank{
  width:100%;aspect-ratio:4/3;
  background:linear-gradient(155deg,var(--sand-3),var(--sand-2));
  display:flex;align-items:center;justify-content:center;
}
.artist-card .a-photo-blank span{
  font-family:'Fraunces',serif;font-style:italic;font-size:0.85rem;color:var(--ink-soft);opacity:0.5;
}
.artist-card .a-body{padding:1.4rem 1.5rem 1.6rem;flex:1;display:flex;flex-direction:column;}
.artist-card .a-name{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:500;color:var(--ink);}
.artist-card .a-role{font-family:'Space Mono',monospace;font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--terracotta);margin-top:0.35rem;display:block;}
.artist-card .a-bio{font-size:0.88rem;line-height:1.65;color:var(--ink-soft);font-weight:300;margin-top:0.8rem;}
@media(max-width:900px){.artist-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.artist-grid{grid-template-columns:1fr;}}

/* ---------- FUTURE PROJECTS CARDS ---------- */
.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-top:3rem;}
.future-card{
  background:var(--ink);color:var(--sand-2);
  border-radius:10px;padding:2.6rem;
}
.future-card .u-label{
  font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--marigold);border:1px solid var(--marigold);border-radius:100px;padding:0.35em 1em;display:inline-block;margin-bottom:1.1rem;
}
.future-card h3{color:var(--cream);font-size:1.4rem;font-weight:500;margin-bottom:0.9rem;}
.future-card p{font-size:0.92rem;line-height:1.75;color:var(--sand-2);opacity:0.85;font-weight:300;}
@media(max-width:820px){.future-grid{grid-template-columns:1fr;}}

/* ---------- TEAM / KEY MEMBERS ---------- */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:3rem;}
.team-card{background:var(--sand);padding:2rem 2.2rem;}
.team-card.wide{grid-column:1/-1;}
.team-card .t-name{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:500;color:var(--ink);}
.team-card .t-role{font-family:'Space Mono',monospace;font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--terracotta);margin-top:0.3rem;display:block;}
.team-card p{font-size:0.9rem;line-height:1.7;color:var(--ink-soft);font-weight:300;margin-top:0.8rem;}
@media(max-width:820px){.team-grid{grid-template-columns:1fr;}}

/* ---------- PRESS ---------- */
.press-note{
  background:var(--sand-2);border:1px dashed var(--line);border-radius:8px;
  padding:1.6rem 1.8rem;margin-top:1rem;
  font-size:0.88rem;line-height:1.7;color:var(--ink-soft);font-weight:300;
}

/* ---------- IMPACT TABLE ---------- */
.impact-table{width:100%;border-collapse:collapse;margin-top:2.5rem;}
.impact-table tr{border-top:1px solid var(--line);}
.impact-table tr:last-child{border-bottom:1px solid var(--line);}
.impact-table td{padding:1.3rem 1rem;vertical-align:top;}
.impact-table td:first-child{
  font-family:'Fraunces',serif;font-size:2rem;font-weight:600;color:var(--terracotta);
  width:38%;
}
.impact-table td:last-child{font-size:0.94rem;line-height:1.7;color:var(--ink-soft);font-weight:300;}
@media(max-width:700px){
  .impact-table, .impact-table tbody, .impact-table tr, .impact-table td{display:block;width:100%;}
  .impact-table tr{padding:1rem 0;}
  .impact-table td:first-child{margin-bottom:0.3rem;}
}

/* ---------- PROCESS LIST (a/b/c format) ---------- */
.process-steps{margin-top:3rem;}
.process-step{border-top:1px solid var(--line-dark);padding:2.2rem 0;}
.process-step:last-child{border-bottom:1px solid var(--line-dark);}
.process-step .ps-label{font-family:'Space Mono',monospace;font-weight:700;font-size:1.05rem;color:var(--marigold);letter-spacing:0.08em;display:block;margin-bottom:0.9rem;}
.process-step h4{color:var(--cream);font-size:1.3rem;font-weight:500;margin-bottom:0.8rem;}
.process-step p{font-size:0.95rem;line-height:1.8;color:var(--sand-2);opacity:0.85;font-weight:300;}
.process-example{
  margin-top:1.3rem;padding:1.4rem 1.6rem;
  background:rgba(244,233,216,0.06);border-left:2px solid var(--marigold);border-radius:0 6px 6px 0;
}
.process-example .pe-label{font-family:'Space Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--marigold);display:block;margin-bottom:0.5rem;}
.process-example p{font-size:0.9rem;color:var(--sand-2);opacity:0.85;}

/* ---------- FOOTER (shared, all pages) ---------- */
.site-footer{background:var(--sand-3);padding:4.5rem 0 2rem;}
.site-footer .footer-top{
  display:grid;grid-template-columns:1.3fr 0.7fr 0.7fr 0.9fr;gap:2.6rem;
  padding-bottom:3rem;border-bottom:1px solid var(--line);
}
.site-footer h3{font-size:1.7rem;max-width:14ch;font-weight:500;margin-bottom:1.2rem;}
.site-footer .footer-col h5{font-family:'Space Mono',monospace;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--terracotta);margin-bottom:1rem;}
.site-footer .footer-col a, .site-footer .footer-col p{display:block;font-size:0.88rem;line-height:1.95;color:var(--ink-soft);opacity:0.85;}
.site-footer .footer-col a:hover{opacity:1;color:var(--terracotta);}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.6rem;font-family:'Space Mono',monospace;font-size:0.66rem;color:var(--ink-soft);opacity:0.65;flex-wrap:wrap;gap:1rem;}
@media(max-width:820px){.site-footer .footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.site-footer .footer-top{grid-template-columns:1fr;}}

/* ---------- QR DONATE (Donate page) ---------- */
.qr-block{
  display:flex;flex-direction:column;align-items:flex-start;gap:1rem;
  margin-top:1.5rem;padding-top:1.4rem;
  border-top:1px solid rgba(244,233,216,0.18);
}
.qr-block img{
  width:100%;max-width:280px;aspect-ratio:1/1;object-fit:contain;background:var(--cream);
  border-radius:10px;padding:14px;flex-shrink:0;
}
.qr-block .qr-caption{font-size:0.88rem;line-height:1.65;color:var(--sand-2);opacity:0.9;}
.qr-block .qr-caption strong{display:block;font-family:'Fraunces',serif;font-size:1.1rem;font-weight:500;color:var(--cream);margin-bottom:0.3rem;}
.qr-block .qr-caption #qrZoomLink{color:var(--marigold);opacity:1;}
@media(max-width:480px){
  .qr-block img{max-width:100%;}
}

.qr-modal{
  position:fixed;inset:0;z-index:1000;
  background:rgba(15,11,8,0.85);
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.25s ease;
}
.qr-modal.open{opacity:1;pointer-events:auto;}
.qr-modal-box{
  background:var(--cream);border-radius:14px;
  padding:2.6rem 2.2rem 2.2rem;max-width:480px;width:100%;
  text-align:center;position:relative;
}
.qr-modal-box img{
  width:100%;max-width:400px;aspect-ratio:1/1;object-fit:contain;
  margin:0 auto 1.3rem;display:block;background:#fff;border-radius:8px;padding:16px;
  border:1px solid var(--line);
}
.qr-modal-box h4{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:500;color:var(--ink);margin-bottom:0.6rem;}
.qr-modal-box p{font-size:0.92rem;line-height:1.7;color:var(--ink-soft);margin-bottom:0;}
.qr-modal-close{
  position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);background:none;cursor:pointer;font-size:1.15rem;
  color:var(--ink-soft);display:flex;align-items:center;justify-content:center;line-height:1;
}
.qr-modal-close:hover{background:var(--sand);}

/* ---------- LEGACY IN TUNES (film page) ---------- */
.film-meta{
  display:flex;flex-wrap:wrap;gap:0.6em;align-items:center;
  font-family:'Space Mono',monospace;font-size:0.78rem;letter-spacing:0.03em;
  color:var(--marigold);margin-top:1.4rem;
}
.film-meta .dot-sep{opacity:0.5;}
.film-credit-line{font-size:0.95rem;color:var(--sand-2);opacity:0.85;margin-top:1rem;max-width:56ch;}

.trailer-section{background:var(--ink);padding:5rem 0;}
.trailer-frame{
  position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;
  background:linear-gradient(155deg,var(--sand-3),var(--ink));
  border:1px solid var(--line-dark);
  display:flex;align-items:center;justify-content:center;
  margin-top:2.4rem;
}
.trailer-frame .tf-play{
  width:74px;height:74px;border-radius:50%;border:1.5px solid var(--marigold);
  display:flex;align-items:center;justify-content:center;color:var(--marigold);
  font-size:1.4rem;margin-bottom:1rem;
}
.trailer-frame .tf-note{
  position:absolute;bottom:0;left:0;right:0;padding:1.4rem 1.8rem;
  font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.03em;
  color:var(--sand-2);opacity:0.7;text-align:center;
}
.trailer-frame-inner{display:flex;flex-direction:column;align-items:center;}
.trailer-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.trailer-fallback{
  margin-top:1.1rem;font-family:'Space Mono',monospace;font-size:0.75rem;letter-spacing:0.02em;
  color:var(--sand-2);opacity:0.75;text-align:center;
}
.trailer-fallback a{color:var(--marigold);opacity:1;}

.film-body p{font-size:1.02rem;line-height:1.9;color:var(--ink-soft);font-weight:300;max-width:72ch;margin-bottom:1.2rem;}
.film-body p:last-child{margin-bottom:0;}

.credits-section{background:var(--ink);color:var(--sand-2);padding:6.5rem 0;}
.credits-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 2.6rem;margin-top:3rem;
}
.credit-block{border-top:1px solid var(--line-dark);padding-top:1.3rem;}
.credit-block .cb-label{
  font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--marigold);display:block;margin-bottom:0.6rem;
}
.credit-block .cb-names{font-family:'Fraunces',serif;font-size:1.08rem;font-weight:500;color:var(--cream);line-height:1.55;}
.credit-block.wide{grid-column:1/-1;}
.credit-block .cb-sub{font-size:0.82rem;color:var(--sand-2);opacity:0.75;font-weight:300;margin-top:0.3rem;font-family:'Work Sans',sans-serif;}
@media(max-width:900px){.credits-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.credits-grid{grid-template-columns:1fr;}}

.film-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.film-details-grid .film-details-list{margin-top:2.5rem;max-width:60ch;}
.awards-block{margin-top:2.5rem;}
.awards-block .section-label{margin-bottom:1.1rem;}
.award-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.award-photo{background:var(--sand-2);border-radius:8px;padding:1.1rem;text-align:center;}
.award-photo img{width:100%;height:110px;object-fit:contain;cursor:zoom-in;}
.award-cap{display:block;margin-top:0.8rem;font-size:0.78rem;line-height:1.5;color:var(--ink-soft);opacity:0.85;font-weight:300;}
@media(max-width:560px){.award-gallery{grid-template-columns:1fr;}}
@media(max-width:800px){.film-details-grid{grid-template-columns:1fr;gap:0;}}

.film-details-list{margin-top:2.5rem;max-width:60ch;}
.film-details-list .fd-row{
  display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;
  border-top:1px solid var(--line);font-size:0.94rem;
}
.film-details-list .fd-row:last-child{border-bottom:1px solid var(--line);}
.film-details-list .fd-k{color:var(--ink-soft);opacity:0.7;font-weight:400;}
.film-details-list .fd-v{color:var(--ink);font-weight:500;text-align:right;}
@media(max-width:560px){
  .film-details-list .fd-row{flex-direction:column;gap:0.3rem;}
  .film-details-list .fd-v{text-align:left;}
}
.film-copyright{
  font-family:'Space Mono',monospace;font-size:0.72rem;color:var(--ink-soft);opacity:0.65;
  margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);max-width:60ch;
}

/* ---------- PROCESS STEP IMAGE (optional) ---------- */
.process-step.has-img{display:grid;grid-template-columns:1fr 260px;gap:2.6rem;align-items:start;}
.process-step .ps-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;}
@media(max-width:820px){
  .process-step.has-img{grid-template-columns:1fr;}
  .process-step .ps-img{margin-top:1.4rem;aspect-ratio:16/9;}
}

/* ---------- SECTION LEAD PHOTO (optional banner within a section) ---------- */
.section-lead-photo{
  width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:10px;
  margin:2.4rem 0 3rem;display:block;
}

/* ---------- QUICK NAV (Programmes page) ---------- */
.quick-nav{
  background:var(--sand-2);border-bottom:1px solid var(--line);
  padding:1rem 0;
}
.quick-nav .wrap{display:flex;justify-content:center;align-items:center;gap:0.9rem;flex-wrap:wrap;}
.quick-nav a{
  font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--ink-soft);opacity:0.75;transition:opacity .25s, color .25s;
}
.quick-nav a:hover{opacity:1;color:var(--terracotta);}
.quick-nav .qn-dot{color:var(--line-dark);opacity:0.6;font-size:0.7rem;}

/* ---------- NUMBERED PROGRAMME CARDS ---------- */
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:2.8rem;}
.prog-card{background:var(--sand-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative;}
.prog-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;}
.prog-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.prog-num{
  position:absolute;top:0.9rem;left:0.9rem;
  font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem;color:var(--cream);
  background:rgba(27,20,16,0.55);border-radius:6px;padding:0.15em 0.65em;
  z-index:2;
}
.prog-card .prog-body{padding:1.6rem 1.7rem 1.8rem;}
.prog-card h3{font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:0.7rem;}
.prog-card p{font-size:0.9rem;line-height:1.7;color:var(--ink-soft);font-weight:300;}
@media(max-width:900px){.prog-grid{grid-template-columns:1fr;}}

/* ---------- ARTIST ROW CARDS ---------- */
.artist-row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:3rem;}
.artist-row-card{
  display:flex;align-items:flex-start;gap:1.1rem;
  background:var(--cream);border:1px solid var(--line);border-radius:8px;
  padding:1rem;
}
.artist-row-card .ar-photo{width:78px;height:78px;border-radius:6px;object-fit:cover;flex-shrink:0;}
.artist-row-card .ar-photo-blank{
  width:78px;height:78px;border-radius:6px;flex-shrink:0;
  background:linear-gradient(155deg,var(--sand-3),var(--sand-2));
}
.artist-row-card .ar-name{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;color:var(--ink);}
.artist-row-card .ar-role{display:block;font-size:0.78rem;color:var(--ink-soft);opacity:0.85;margin-top:0.15rem;}
.artist-row-card .ar-bio{display:block;font-size:0.78rem;line-height:1.55;color:var(--ink-soft);opacity:0.75;font-weight:300;margin-top:0.4rem;}
.artist-row-card .ar-watch{
  display:inline-block;margin-top:0.45rem;font-size:0.76rem;font-weight:500;color:var(--terracotta);
}
.artist-row-card .ar-watch:hover{color:var(--terracotta-dim);}
@media(max-width:900px){.artist-row-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.artist-row-grid{grid-template-columns:1fr;}}

/* ---------- FIELD RECORDINGS (static thumb + caption below) ---------- */
.rec-subhead{
  font-family:'Fraunces',serif;font-size:1.25rem;font-weight:500;color:var(--ink);
  margin:2.6rem 0 1.3rem;
}
.rec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.rec-grid.rec-grid-2{grid-template-columns:repeat(2,1fr);}
.rec-grid.rec-grid-1{grid-template-columns:1fr;max-width:340px;}
.rec-card{display:flex;flex-direction:column;}
.rec-thumb-wrap{position:relative;aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:linear-gradient(155deg,var(--sand-3),var(--sand-2));display:block;}
.rec-thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.rec-thumb-wrap:hover img{transform:scale(1.05);}
.rec-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;background:rgba(27,20,16,0.55);
  display:flex;align-items:center;justify-content:center;color:var(--cream);
  transition:background .3s;
}
.rec-thumb-wrap:hover .rec-play{background:var(--terracotta);}
.rec-play svg{width:16px;height:16px;fill:currentColor;}
.rec-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.5rem;
}
.rec-placeholder span{font-family:'Fraunces',serif;font-style:italic;font-size:0.85rem;color:var(--ink-soft);opacity:0.55;text-align:center;padding:0 1rem;}
.rec-caption{margin-top:0.8rem;}
.rec-name{display:block;font-family:'Fraunces',serif;font-size:1rem;font-weight:500;color:var(--ink);}
.rec-link{display:inline-block;margin-top:0.25rem;font-size:0.78rem;font-weight:500;color:var(--terracotta);}
.rec-link:hover{color:var(--terracotta-dim);}
.rec-pending{display:inline-block;margin-top:0.25rem;font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink-soft);opacity:0.55;}
.rec-desc{display:block;margin-top:0.3rem;font-size:0.85rem;line-height:1.65;color:var(--ink-soft);font-weight:300;opacity:0.85;}
@media(max-width:900px){.rec-grid{grid-template-columns:repeat(2,1fr);} .rec-grid.rec-grid-2{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.rec-grid, .rec-grid.rec-grid-2{grid-template-columns:1fr;}}

/* ---------- PERFORMANCE HISTORY (About) ---------- */
.history-grid{margin-top:2.6rem;}
.history-item{display:grid;grid-template-columns:190px 1fr;gap:1.8rem;padding:1.6rem 0;border-top:1px solid var(--line);}
.history-grid .history-item:last-child{border-bottom:1px solid var(--line);}
.history-when{font-family:'Space Mono',monospace;font-size:0.76rem;letter-spacing:0.03em;color:var(--terracotta);line-height:1.6;}
.history-loc{display:block;font-size:0.78rem;color:var(--ink-soft);opacity:0.65;margin-top:0.3rem;font-family:'Work Sans',sans-serif;letter-spacing:0;}
.history-title{font-family:'Fraunces',serif;font-size:1.08rem;font-weight:500;color:var(--ink);margin-bottom:0.4rem;}
.history-desc{font-size:0.93rem;line-height:1.75;color:var(--ink-soft);font-weight:300;max-width:62ch;}
@media(max-width:700px){.history-item{grid-template-columns:1fr;gap:0.4rem;}}

/* ---------- IMAGE ZOOM MODAL (Press clippings, etc.) ---------- */
.press-card img{cursor:zoom-in;}
.img-modal{
  position:fixed;inset:0;z-index:1000;
  background:rgba(15,11,8,0.9);
  display:flex;align-items:center;justify-content:center;
  padding:2rem;opacity:0;pointer-events:none;transition:opacity 0.25s ease;
}
.img-modal.open{opacity:1;pointer-events:auto;}
.img-modal-inner{position:relative;max-width:min(90vw,900px);max-height:90vh;}
.img-modal-inner img{max-width:100%;max-height:90vh;display:block;border-radius:6px;object-fit:contain;}
.img-modal-close{
  position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--line);background:var(--cream);cursor:pointer;font-size:1.15rem;
  color:var(--ink-soft);display:flex;align-items:center;justify-content:center;line-height:1;
}
.img-modal-close:hover{background:var(--sand);}
