:root{
  --ink:#171715;--cream:#f3f0eb;--paper:#faf9f6;--stone:#e8e3db;--dark:#181817;
  --muted:#5f625c;--soft:#9a948a;--line:#d4d0c9;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-variant-emoji:text;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:#c1c4b8;color:#20231f}

.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:600;line-height:1.6}
.copy{font-size:15px;line-height:1.95;letter-spacing:.01em;color:var(--muted);margin:0}
.copy+.copy{margin-top:18px}
.btn-link{display:inline-flex;gap:25px;align-items:center;padding:12px 0 10px;border-bottom:1px solid currentColor;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600;transition:gap .25s}
.btn-link:hover{gap:38px}
.btn-link span{font-size:18px;font-weight:300}
.btn-solid{display:inline-block;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:18px 30px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;transition:all .25s}
.btn-solid:hover{background:transparent;color:var(--ink)}

/* Header */
.nav{position:absolute;top:0;left:0;width:100%;height:102px;z-index:20;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.25%}
.nav-back{justify-self:start;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:11px 0}
.brand{font:400 42px/1 var(--serif);letter-spacing:.14em;text-align:center;white-space:nowrap}
.brand span{display:block;font:500 9px/2 var(--sans);letter-spacing:.44em;text-transform:uppercase;margin-top:8px}
.nav-inquire{justify-self:end;font-size:10px;font-weight:500;letter-spacing:.2em;border-bottom:1px solid rgba(255,255,255,.8);padding:11px 0}
.nav a:hover{opacity:.72}

/* Hero */
.hero{position:relative;min-height:86vh;min-height:86svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#2b2a27}
.hero img{position:absolute;inset:0}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.62) 100%)}
.hero-content{position:relative;padding:0 7% 9vh;max-width:1100px}
.hero h1{font:300 clamp(48px,6.6vw,104px)/.92 var(--serif);letter-spacing:-.04em;margin:22px 0 22px}
.hero h1 em{font-style:italic}
.hero .sub{font-size:14px;letter-spacing:.04em;max-width:520px;line-height:1.8;color:#ece8e0}
.crumbs{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#d8d3c9}
.crumbs a:hover{color:#fff}

/* Intro */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:140px 9% 120px;align-items:start}
.intro .lede{font:300 clamp(34px,3.7vw,56px)/1.12 var(--serif);margin:18px 0 0;letter-spacing:-.015em}
.intro .lede em{font-style:italic}
.intro-body{padding-top:44px}
.intro-body .btn-link{margin-top:32px}

/* Films */
.films{background:var(--paper);padding:130px 7% 140px}
.films-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}
.films-head h2{font:300 clamp(40px,4.6vw,72px)/1 var(--serif);margin:14px 0 0;letter-spacing:-.03em}
.films-head h2 em{font-style:italic}
.films-head .copy{max-width:380px;font-size:13px}
.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 34px}
.film-grid.one{grid-template-columns:1fr}
.film{margin:0}
.film.lead{grid-column:1/-1}
.film-frame{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-poster{position:absolute;inset:0;border:0;padding:0;background:none;color:#fff;isolation:isolate}
.film-poster img{transition:transform .7s}
.film-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,9,7,.45),transparent 50%)}
.film-poster:hover img{transform:scale(1.04)}
.play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;border:1px solid rgba(255,255,255,.85);display:grid;place-items:center;font-size:17px;padding-left:4px;background:rgba(255,255,255,.08);backdrop-filter:blur(2px);transition:background .25s}
.film-poster:hover .play,.film-poster:focus-visible .play{background:rgba(255,255,255,.26)}
.film figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:18px;border-bottom:1px solid var(--line);padding-bottom:16px}
.film-name{font:300 clamp(24px,2.2vw,32px)/1.1 var(--serif)}
.film-place{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:right}

/* Highlights */
.highlights{padding:140px 9% 130px}
.hl-head{max-width:760px;margin-bottom:70px}
.hl-head h2{font:300 clamp(40px,4.6vw,72px)/1.02 var(--serif);margin:14px 0 0;letter-spacing:-.03em}
.hl-head h2 em{font-style:italic}
.hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8%}
.hl{display:grid;grid-template-columns:56px 1fr;gap:0 18px;padding:34px 0 38px;border-top:1px solid var(--line)}
.hl-num{font:italic 300 26px/1 var(--serif);color:var(--soft);padding-top:4px}
.hl h3{font:400 clamp(25px,2.2vw,32px)/1.15 var(--serif);margin:0 0 14px}
.hl .copy{font-size:14px}

/* Planning notes */
.notes{background:var(--dark);color:#fff;padding:130px 9%}
.notes-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}
.notes h2{font:300 clamp(38px,4vw,62px)/1.04 var(--serif);margin:14px 0 0;letter-spacing:-.02em}
.notes h2 em{font-style:italic}
.notes ul{list-style:none;margin:0;padding:0}
.notes li{padding:22px 0 24px;border-top:1px solid rgba(255,255,255,.16);font-size:14px;line-height:1.85;color:#d9d5cd}
.notes li strong{display:block;font:400 22px/1.2 var(--serif);color:#fff;margin-bottom:8px;letter-spacing:.005em}
.notes .src{margin-top:26px;font-size:11px;color:#9f9a90;line-height:1.7}
.notes .src a{border-bottom:1px solid #6d6a63}

/* Venues + awards */
.local{padding:130px 9% 120px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.local h2{font:300 clamp(36px,3.6vw,56px)/1.05 var(--serif);margin:14px 0 26px;letter-spacing:-.02em}
.local h2 em{font-style:italic}
.venue-list{list-style:none;margin:0;padding:0}
.venue-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.venue-list li:first-child{border-top:1px solid var(--line)}
.venue-list .v{font:300 24px/1.15 var(--serif)}
.venue-list .p{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:right}
.awards{margin-top:46px;display:flex;gap:0;border-top:1px solid var(--line);padding-top:30px}
.award{flex:1;padding-right:20px}
.award+.award{padding-left:22px;border-left:1px solid var(--line)}
.award .s{font-size:9px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--soft)}
.award .n{display:block;font:italic 300 24px/1.2 var(--serif);margin:6px 0 4px}
.award .y{font-size:10px;letter-spacing:.22em;color:var(--muted)}

/* CTA */
.cta{background:#e9e5dd;padding:140px 9%;text-align:center}
.cta h2{font:300 clamp(42px,5vw,80px)/1 var(--serif);margin:16px auto 24px;letter-spacing:-.03em;max-width:900px}
.cta h2 em{font-style:italic}
.cta .copy{max-width:520px;margin:0 auto 38px}
.cta-row{display:flex;gap:34px;justify-content:center;align-items:center;flex-wrap:wrap}

/* Other areas */
.areas{padding:90px 9% 100px;background:var(--cream)}
.areas-list{display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:22px}
.areas-list a{font:300 26px/1.2 var(--serif);border-bottom:1px solid transparent;transition:border-color .25s}
.areas-list a:hover{font-style:italic;border-color:var(--ink)}

/* Footer */
.footer{background:var(--dark);color:#fff;padding:75px 6% 30px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:75px}
.footer .brand{font-size:43px;text-align:left;letter-spacing:.18em}
.footer-nav{display:flex;gap:30px;font-size:10px;text-transform:uppercase;letter-spacing:.17em;flex-wrap:wrap}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #4a4a46;padding-top:25px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#bbbab3}

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

@media(max-width:900px){
  .nav{height:86px}
  .brand{font-size:30px}
  .brand span{font-size:7px}
  .intro,.local,.notes-wrap{grid-template-columns:1fr}
  .intro{padding:100px 7% 90px;gap:0}
  .intro-body{padding-top:30px}
  .films,.highlights,.notes,.local,.cta{padding-left:7%;padding-right:7%}
  .films-head{flex-direction:column;align-items:flex-start}
  .hl-grid{grid-template-columns:1fr}
  .notes-wrap{gap:40px}
  .local{gap:70px}
  .footer-top{flex-direction:column;align-items:flex-start}
}
@media(max-width:680px){
  .nav{grid-template-columns:auto 1fr auto;padding:0 16px}
  .brand{font-size:24px}
  .brand span{font-size:6px;letter-spacing:.38em}
  .nav-back,.nav-inquire{font-size:9px;letter-spacing:.16em}
  .hero{min-height:78vh;min-height:78svh}
  .hero-content{padding:0 16px 8vh}
  .intro{padding:80px 16px 70px}
  .films,.highlights,.notes,.local,.cta,.areas{padding-left:16px;padding-right:16px}
  .films,.highlights,.notes,.local,.cta{padding-top:90px;padding-bottom:90px}
  .film-grid{grid-template-columns:1fr;gap:38px}
  .play{width:64px;height:64px;font-size:14px}
  .film figcaption{flex-direction:column;gap:6px}
  .film-place{text-align:left}
  .hl{grid-template-columns:40px 1fr}
  .awards{flex-direction:column;gap:22px}
  .award+.award{padding-left:0;border-left:0}
  .areas-list a{font-size:23px}
  .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .film-poster img{transition:none}
}
