:root{
  --ivory:#FBF8F1;
  --paper:#FFFDF8;
  --gold:#B08D2E;
  --gold-ink:#8A6C1F;
  --gold-line:rgba(176,141,46,.42);
  --gold-faint:rgba(176,141,46,.18);
  --red:#7E2E28;
  --ink:#2E2A24;
  --ink-soft:#6B6357;
  --display:'Cinzel Decorative',Georgia,'Times New Roman',serif;
  --body:'Tajawal','Helvetica Neue',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);
     font-weight:400;font-size:1.0625rem;line-height:1.72}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.05rem}
.wrap{width:min(1180px,92vw);margin:0 auto}
h1,h2,h3{margin:0}
h1{font-family:var(--display);font-weight:700;font-size:clamp(2.3rem,4.6vw,3.75rem);
   line-height:1.1;letter-spacing:.02em}
h2{font-family:var(--display);font-weight:400;font-size:clamp(1.45rem,2.3vw,1.95rem);
   line-height:1.25;letter-spacing:.01em}
h3{font-family:var(--body);font-weight:500;font-size:1.09rem;line-height:1.45;letter-spacing:.01em}
.kicker{font-size:.75rem;font-weight:600;letter-spacing:.21em;text-transform:uppercase;
        color:var(--gold-ink);margin:0 0 .75rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* header */
.site-head{border-bottom:1px solid var(--gold-line);background:var(--ivory)}
.head-inner{display:flex;align-items:center;gap:1.2rem;padding:.8rem 0;flex-wrap:wrap}
.brand{font-family:var(--display);font-weight:700;font-size:1.28rem;letter-spacing:.05em;
       display:inline-flex;align-items:center}
.brand .dot{width:5px;height:5px;border-radius:50%;background:var(--red);
            margin-left:.55rem;flex:none}
.nav{display:flex;flex-wrap:wrap;gap:.1rem;margin-left:auto}
.nav a:not(.btn){font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
       padding:.5rem .72rem;color:var(--ink-soft);border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--gold-faint)}
.nav a.is-current{color:var(--ink);border-bottom-color:var(--gold-ink);font-weight:700}
.btn{display:inline-block;font-family:var(--body);font-weight:500;font-size:.75rem;
     letter-spacing:.15em;text-transform:uppercase;color:var(--ink);background:var(--paper);
     border:1px solid var(--gold);border-radius:20px 20px 3px 3px;padding:.62rem 1.15rem .58rem;
     transition:background .2s ease,color .2s ease}
.btn:hover{background:var(--gold-faint)}
.btn-hero{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff;
          font-size:.8rem;padding:.82rem 1.7rem .78rem;border-radius:26px 26px 4px 4px}
.btn-hero:hover{background:#74581A;color:#fff}

/* hero */
.hero{padding:2.9rem 0 3.1rem;border-bottom:1px solid var(--gold-line)}
.hero-grid{display:grid;grid-template-columns:1.06fr .84fr;gap:3.4rem;align-items:center}
.marquee-fan{width:min(400px,84vw);height:auto;margin:0 0 .3rem}
.hero-sub{font-size:1.07rem;color:var(--ink-soft);max-width:50ch;margin:.2rem 0 1.7rem}
.hero-photo{max-width:404px;justify-self:end;width:100%}
.arch-frame{position:relative;padding:9px;border:1px solid rgba(176,141,46,.62);background:var(--paper);
            border-radius:50% 50% 4px 4px / 9% 9% 4px 4px}
.arch-frame::after{content:'';position:absolute;inset:-9px;border:1px solid rgba(176,141,46,.3);
                   pointer-events:none;border-radius:50% 50% 5px 5px / 9% 9% 5px 5px}
.arch-img{border-radius:50% 50% 3px 3px / 8% 8% 3px 3px}

/* sections */
.section{padding:3rem 0;border-bottom:1px solid var(--gold-faint)}
.section-tight{padding:2.5rem 0}
.sec-head{margin-bottom:1.8rem}
.sec-num{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:700;
         font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);
         margin:0 0 .55rem}
.sec-num span{border:1px solid var(--gold-line);padding:.18rem .5rem .12rem;border-radius:2px}
.sec-num::after{content:'';flex:1;height:1px;background:var(--gold-faint)}
.sec-sub{color:var(--ink-soft);max-width:66ch;font-size:.99rem;margin:0}

/* partners */
.section-partners{background:var(--paper)}
.section-partners .sec-head{text-align:center}
.section-partners .sec-sub{margin:0 auto}
.section-partners .sec-num{justify-content:center}
.section-partners .sec-num::after{display:none}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,250px));gap:18px;
              justify-content:center;margin:0 auto}
.partner-card{display:flex;align-items:center;justify-content:center;width:250px;height:150px;
              border:1px solid var(--gold-line);background:var(--paper);
              transition:border-color .2s ease,background .2s ease}
.partner-card:hover{border-color:var(--gold);background:#fff}
.partner-card img{max-width:186px;max-height:66px;width:auto;height:auto;object-fit:contain}

/* quick profile ledger */
.ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3.6rem;margin:0}
.ledger .row{display:flex;gap:1rem;align-items:baseline;padding:.72rem 0;
             border-top:1px solid var(--gold-faint)}
.ledger .row:last-child{grid-column:1 / -1}
.ledger dt{flex:0 0 8.6rem;font-size:.73rem;font-weight:600;letter-spacing:.12em;
           text-transform:uppercase;color:var(--gold-ink);margin:0}
.ledger dd{margin:0;font-size:1rem}

/* about */
.about-grid{display:grid;grid-template-columns:.62fr 1fr;gap:3rem;align-items:start}
.rect-frame{position:relative;padding:9px;border:1px solid var(--gold-line);background:var(--paper)}
.rect-frame::before{content:'';position:absolute;inset:4px;border:1px solid var(--gold-faint);
                    pointer-events:none}
.rect-frame img{position:relative}
.about-text p:last-child{margin-bottom:0}

/* timeline */
.arc-tl{list-style:none;margin:0;padding:0;max-width:74ch}
.arc-tl li{position:relative;padding:0 0 1.5rem 2.3rem}
.arc-tl li::before{content:'';position:absolute;left:.5rem;top:.28rem;width:11px;height:9px;
                   border:1px solid var(--gold);border-bottom:none;
                   border-radius:6px 6px 0 0}
.arc-tl li::after{content:'';position:absolute;left:.99rem;top:1.05rem;bottom:0;width:1px;
                  background:rgba(176,141,46,.32)}
.arc-tl li:last-child{padding-bottom:0}
.arc-tl li:last-child::after{display:none}
.arc-tl .when{display:block;font-family:var(--display);font-weight:700;font-size:.8rem;
              letter-spacing:.09em;color:var(--gold-ink);margin-bottom:.2rem}
.arc-tl .what{display:block;font-size:1rem}
.arc-tl-wide{max-width:88ch}

/* gallery */
.gallery{display:grid;grid-template-columns:1.02fr .74fr .9fr;gap:1.7rem;align-items:start}
.g-card{margin:0;padding:9px;border:1px solid var(--gold-line);background:var(--paper)}
.g-card img{width:100%;object-fit:cover}
.g-1 img{aspect-ratio:1123/1474}
.g-2{margin-top:3.1rem}
.g-2 img{aspect-ratio:418/460}
.g-3{margin-top:1.3rem}
.g-3 img{aspect-ratio:2589/3348;object-position:50% 0}
.credit{font-size:.78rem;color:var(--ink-soft);margin:1.5rem 0 0}

/* page top + prose */
.page-top{padding:3rem 0 1.6rem;border-bottom:1px solid var(--gold-line)}
.page-lead{font-size:1.09rem;color:var(--ink-soft);max-width:74ch;margin:1.1rem 0 0}
.prose{max-width:78ch}
.prose .block{margin-bottom:2.1rem}
.prose .block:last-child{margin-bottom:0}
.prose h2{margin-bottom:.85rem}
.prose p{font-size:1.03rem}

/* venue list */
.venue-list{list-style:none;margin:0;padding:0;display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3.2rem}
.venue-list li{padding:.85rem 0;border-top:1px solid var(--gold-faint)}
.v-name{display:block;font-weight:500}
.v-note{display:block;font-size:.93rem;color:var(--ink-soft)}

/* filmography */
.film-list{list-style:none;margin:0;padding:0}
.film{display:grid;grid-template-columns:7rem 15rem 1fr;gap:1.4rem;padding:1.05rem 0;
      border-top:1px solid var(--gold-faint);align-items:baseline}
.film:last-child{border-bottom:1px solid var(--gold-faint)}
.f-year{font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.09em;
        color:var(--gold-ink)}
.f-title{display:block;font-weight:500;font-size:1.02rem}
.f-kind{display:block;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
        color:var(--ink-soft)}
.f-note{font-size:.97rem;color:var(--ink-soft)}

/* faq */
.faq-list{display:grid;gap:1.9rem;max-width:82ch}
.qa{border-top:1px solid var(--gold-faint);padding-top:1.15rem}
.qa h3{margin-bottom:.5rem}
.qa p{margin:0;font-size:1rem;color:var(--ink-soft)}
.nf-link{margin:2rem 0 0}

/* footer */
.site-foot{padding:2.2rem 0 2.6rem}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr auto;gap:1.7rem;align-items:start}
.f-brand{font-size:.93rem;color:var(--ink-soft);max-width:46ch}
.f-brand strong{display:block;font-family:var(--display);font-weight:700;font-size:1.06rem;
                letter-spacing:.05em;color:var(--ink);margin-bottom:.35rem}
.f-lang{display:flex;flex-wrap:wrap;gap:.3rem .45rem;justify-content:center}
.f-lang a{font-size:.82rem;color:var(--ink-soft);padding:.22rem .5rem;border:1px solid transparent;
          border-radius:3px}
.f-lang a:hover{border-color:var(--gold-line);color:var(--ink)}
.f-lang a.is-current{color:var(--ink);border-color:var(--gold-ink);font-weight:500}
.f-legal{font-size:.82rem;color:var(--ink-soft);margin:0;text-align:right;white-space:nowrap}

@media (max-width:1040px){
  .hero-grid{grid-template-columns:1fr;gap:2.4rem}
  .hero-photo{justify-self:start;max-width:400px}
  .about-grid{grid-template-columns:1fr;gap:2rem}
  .gallery{grid-template-columns:1fr 1fr}
  .g-3{margin-top:0;grid-column:1 / -1}
  .g-3 img{aspect-ratio:16/10;object-position:50% 0}
  .ledger{grid-template-columns:1fr;gap:0}
  .footer-grid{grid-template-columns:1fr;gap:1.3rem}
  .f-lang{justify-content:flex-start}
  .f-legal{text-align:left;white-space:normal}
  .film{grid-template-columns:5rem 1fr;gap:.4rem 1.2rem}
  .f-note{grid-column:1 / -1}
}
@media (max-width:760px){
  .nav a:not(.btn){font-size:.68rem;letter-spacing:.07em;padding:.45rem .34rem}
  .nav{gap:0}
  .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .partner-card{width:auto;height:122px}
  .partner-card img{max-width:132px;max-height:52px}
  .nav{margin-left:0;order:3;width:100%}
  .gallery{grid-template-columns:1fr}
  .g-2,.g-3{margin-top:0}
  .g-3 img{aspect-ratio:4/3}
  .venue-list{grid-template-columns:1fr}
  .section{padding:2.4rem 0}
  .hero{padding:2.2rem 0 2.4rem}
}
