
:root{--blue:#045184;--red:#8b0000;--display:"League Spartan",Arial,sans-serif;--body-serif:Georgia,"Times New Roman",serif;--nav:"Avenir Next",Avenir,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#111;background:#fff;font-family:var(--body-serif);line-height:1.5;min-height:100vh}body::before{content:"";position:fixed;inset:0;z-index:-2;background-repeat:no-repeat;background-size:cover;background-position:center top;opacity:.3}body::after{content:"";position:fixed;inset:0;z-index:-1;background:rgba(255,255,255,.18)}body.home-background::before{background-image:url("../images/home-background.jpg");opacity:.33}body.interior::before{background-image:url("../images/interior-background.jpg");opacity:.28}body.gallery-background::before{background-image:url("../images/gallery-background.jpg");opacity:.28}body.screenings-background::before{background-image:url("../images/screenings-background.jpg");opacity:.28}body.news-background::before{background-image:url("../images/news-background.jpg");opacity:.28}body.contact-background::before{background-image:url("../images/contact-background.jpg");opacity:.30}a{color:var(--blue)}img{max-width:100%}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:99;background:#fff;padding:8px}.site-header{padding:18px 24px 8px}.header-inner{max-width:1120px;margin:auto;display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap}.site-nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}.site-nav a{font:800 15px/1 var(--nav);text-decoration:none;color:#111}.site-nav a.active{color:var(--blue)}.social-links{display:flex;gap:7px}.social-links img{width:28px;height:28px;display:block}.menu-toggle{display:none}.page-shell{width:min(100% - 32px,1040px);margin:0 auto;padding:26px 0 70px}.page-title{text-align:center;font:900 clamp(36px,5vw,50px)/1 var(--display);letter-spacing:.04em;margin:10px 0 42px}.home-page{max-width:920px;text-align:center}.title-lockup h1{color:var(--blue);font:900 clamp(40px,6vw,62px)/.95 var(--display);letter-spacing:.025em;margin:28px 0 10px}.title-lockup .byline{font:800 clamp(19px,2.3vw,26px)/1.2 var(--display);margin:0 0 34px}.review{width:min(100%,760px);margin:28px auto;color:var(--blue);font-size:clamp(19px,2.2vw,25px);font-style:italic}.review footer{font-size:.82em;margin-top:10px;font-style:normal}.prime-callout{font:900 clamp(28px,4vw,42px)/1 var(--display);margin:42px 0}.prime-callout a{color:var(--red);text-decoration:none}.video-frame{position:relative;padding-top:56.25%;background:#000;margin:0 auto 46px;max-width:850px}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.poster-wrap img{width:min(72vw,540px);box-shadow:0 4px 18px rgba(0,0,0,.18)}.copy-section,.director-section{margin-top:56px}.copy-section h2,.director-section h2{font:900 clamp(28px,4vw,38px)/1 var(--display);color:var(--blue);letter-spacing:.04em}.copy-section p,.director-section p{font-size:clamp(18px,2vw,22px);text-align:left}.director-section{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start}.director-section img{width:100%}.signature{text-align:right!important;font-style:italic}.featured-lead{display:flex;justify-content:center;margin-bottom:52px}.person-card{width:min(100%,380px);text-align:center}.person-card img{display:block;width:100%;max-width:320px;height:330px;margin:0 auto 15px;object-fit:cover;box-shadow:0 2px 9px rgba(0,0,0,.16)}.featured-lead .person-card{width:min(100%,430px)}.featured-lead .person-card img{max-width:415px;height:auto;max-height:430px;object-fit:contain}.person-card h2,.credit-list h2{margin:0;font:900 clamp(22px,2.4vw,29px)/1.05 var(--display);color:var(--blue);letter-spacing:.03em}.person-card h2 a,.credit-list a,.production-credits a{color:inherit;text-decoration:none}.person-card p{margin:7px 0 0;color:var(--blue);font-size:clamp(18px,2vw,23px)}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 90px;justify-items:center}.credit-list{text-align:center}.also-starring{margin:70px auto 0}.credit-list h2{font-size:clamp(25px,3vw,34px);margin-bottom:18px}.credit-list p,.production-credits p{color:var(--blue);font-size:clamp(18px,1.8vw,22px);margin:7px 0}.crew-groups{width:min(100%,650px);margin:72px auto 48px;display:grid;gap:38px}.crew-groups .credit-list p{font-family:var(--display);font-weight:800}.production-credits{text-align:center}.credit-role{color:#111;font-weight:700}.stills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-tile,.bts-tile{margin:0;text-align:center}.gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.gallery-open img{display:block;width:100%;aspect-ratio:1.652/1;object-fit:cover;box-shadow:0 2px 9px rgba(0,0,0,.14)}.gallery-tile figcaption,.bts-tile figcaption{margin-top:8px;color:var(--blue);font:700 clamp(15px,1.5vw,19px)/1.15 var(--body-serif)}.gallery-instruction{text-align:center;font:900 18px/1 var(--display);margin:32px 0}.bts-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 14px}.bts-tile .gallery-open img{aspect-ratio:1/1}.lightbox{width:min(94vw,1120px);max-width:none;max-height:92vh;padding:54px 64px 46px;border:0;background:rgba(10,10,10,.96);color:#fff}.lightbox::backdrop{background:rgba(0,0,0,.82)}.lightbox figure{margin:0;display:grid;justify-items:center;gap:14px}.lightbox figure img{max-width:100%;max-height:72vh;object-fit:contain}.lightbox figcaption{font:20px/1.25 var(--body-serif);text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer}.lightbox-close{top:9px;right:16px;font-size:42px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:58px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.festival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 36px}.festival-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:center;padding:24px;background:rgba(255,255,255,.62);box-shadow:0 2px 10px rgba(0,0,0,.08)}.festival-card>img{width:100%;max-height:155px;object-fit:contain}.festival-copy h2{margin:0 0 10px;font:900 clamp(20px,2vw,25px)/1.02 var(--display);color:var(--blue)}.festival-note{margin:0 0 8px;font:800 16px/1.2 var(--display)}.festival-date{margin:0 0 8px;color:var(--blue);font-size:19px}.festival-link{margin:0;font:800 16px/1.2 var(--display)}.news-prime{display:grid;grid-template-columns:minmax(240px,430px) minmax(0,1fr);gap:34px;align-items:center;margin:0 auto 60px;padding:28px;background:rgba(255,255,255,.6)}.news-prime img{width:100%}.news-prime p{color:var(--blue);font-size:clamp(19px,1.9vw,23px);margin:0 0 14px}.news-prime .country-list{font-size:18px}.news-timeline{width:min(100%,900px);margin:auto}.news-month{margin-bottom:56px}.news-month>h2{text-align:center;font:900 clamp(26px,3vw,34px)/1 var(--display)}.news-item{margin-bottom:26px;padding:22px;background:rgba(255,255,255,.55);text-align:center}.news-item p{margin:0;color:var(--blue);font-size:clamp(19px,1.9vw,23px)}.news-media{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:16px}.news-media img{max-width:min(100%,520px);max-height:360px;width:auto;height:auto;object-fit:contain}.contact-page{min-height:calc(100vh - 100px);display:grid;place-items:start center;padding-top:clamp(55px,10vh,130px)}.contact-card{text-align:center}.contact-card h1{font:900 clamp(30px,4vw,42px)/1 var(--display)}.contact-card p{font-size:clamp(20px,2.1vw,24px)}.contact-or{margin:25px 0!important}
@media(max-width:900px){.bts-grid{grid-template-columns:repeat(3,1fr)}.festival-grid{grid-template-columns:1fr}.news-prime{grid-template-columns:1fr}.director-section{grid-template-columns:1fr}.director-section img{max-width:300px;margin:auto}}
@media(max-width:760px){.people-grid{grid-template-columns:1fr}.person-card img{height:auto;max-height:420px;object-fit:contain}.stills-grid{grid-template-columns:1fr}.bts-grid{grid-template-columns:repeat(2,1fr)}.festival-card{grid-template-columns:160px 1fr}.site-nav{display:none;width:100%}.site-nav.open{display:flex}.menu-toggle{display:inline-flex;gap:8px;align-items:center}.header-inner{justify-content:space-between}.social-links{margin-left:auto}}
@media(max-width:520px){.bts-grid{grid-template-columns:1fr}.festival-card{grid-template-columns:1fr;text-align:center}.festival-card>img{max-width:260px;margin:auto}.lightbox{padding:50px 44px 36px}.title-lockup h1{font-size:38px}}


/* Wix fidelity pass — v10 */
/* Original Wix navigation: title case, Avenir Heavy-style face, blue, ~23px. */
.site-nav a,
.site-nav a.active {
  color: var(--blue);
  font-family: var(--nav);
  font-size: 23px;
  font-weight: 800;
  line-height: 1;
  text-transform: none;
}
.site-nav { gap: 18px; }
.social-links img { width: 40px; height: 40px; }

/* Home: original Wix uses black display headings/title text. */
.title-lockup h1,
.title-lockup .byline,
.copy-section h2,
.director-section > h2 {
  color: #111;
}
.director-section {
  display: block;
  margin-top: 56px;
}
.director-section > h2 {
  margin: 0 0 17px;
  text-align: center;
  font: 900 clamp(28px,4vw,38px)/1 var(--display);
  letter-spacing: .04em;
}
.director-content {
  display: grid;
  grid-template-columns: 278px minmax(0, 579px);
  gap: 32px;
  justify-content: center;
  align-items: start;
}
.director-content > img {
  width: 278px;
  height: 410px;
  object-fit: cover;
  margin: 0;
}
.director-content > div > p:first-of-type { margin-top: 0; }

/* Cast and Crew: black, all-caps visual treatment matching Wix. */
.cast-page .person-card h2,
.cast-page .person-card h2 a,
.cast-page .person-card p,
.cast-page .credit-list h2,
.cast-page .credit-list p,
.cast-page .credit-list a,
.cast-page .credit-list span,
.crew-page .person-card h2,
.crew-page .person-card h2 a,
.crew-page .person-card p,
.crew-page .credit-list h2,
.crew-page .credit-list p,
.crew-page .credit-list a,
.crew-page .production-credits,
.crew-page .production-credits p,
.crew-page .production-credits a,
.crew-page .credit-role {
  color: #111;
  text-transform: uppercase;
}

/* Let each portrait keep the proportions and display size used by Wix. */
.cast-page .person-card,
.crew-page .person-card { width: 100%; }
.cast-page .person-card img,
.crew-page .person-card img,
.cast-page .featured-lead .person-card img,
.crew-page .featured-lead .person-card img {
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  margin: 0 auto 15px;
}

/* Cast source-display dimensions from the Wix page. */
.cast-page img[src$="emily-jackson.jpg"] { width: 237px; }
.cast-page img[src$="craig-mcdonald-kelly.jpg"] { width: 230px; }
.cast-page img[src$="benjamin-frankenberg.jpg"] { width: 202px; }
.cast-page img[src$="robert-clohessy.jpg"] { width: 282px; }
.cast-page img[src$="selenis-leyva.jpg"] { width: 326px; }
.cast-page img[src$="deborah-twiss.jpg"] { width: 198px; }
.cast-page img[src$="chris-bellant.jpg"] { width: 199px; }
.cast-page img[src$="chris-riggi.jpg"] { width: 230px; }
.cast-page img[src$="tanner-flood.jpg"] { width: 266px; }
.cast-page img[src$="marc-coppola.jpg"] { width: 306px; }
.cast-page img[src$="thomas-poarch.jpg"] { width: 370px; }

/* Crew source-display dimensions from the Wix page. */
.crew-page img[src$="christine-vartoughian.jpg"] { width: 415px; }
.crew-page img[src$="rebekah-nelson.jpg"] { width: 225px; }
.crew-page img[src$="debra-markowitz.jpg"] { width: 179px; }
.crew-page img[src$="wilfredo-ramos.jpg"] { width: 218px; }
.crew-page img[src$="tobias-beidermuhle.jpg"] { width: 224px; }
.crew-page img[src$="allan-pray.jpg"] { width: 212px; }
.crew-page img[src$="grace-sloan.jpg"] { width: 217px; }

/* Keep the two-column rhythm while reducing the excessive v9 card footprint. */
.cast-page .people-grid,
.crew-page .people-grid { gap: 54px 72px; }
.cast-page .featured-lead,
.crew-page .featured-lead { margin-bottom: 48px; }

/* Contact: friendly actions instead of visible addresses. */
.contact-card .email-link { color: var(--blue); font-weight: 700; }
.contact-js-note { font-size: 15px !important; opacity: .75; }

@media (max-width: 980px) {
  .site-nav a,
  .site-nav a.active { font-size: 19px; }
  .social-links img { width: 34px; height: 34px; }
}
@media (max-width: 760px) {
  .site-nav a,
  .site-nav a.active { font-size: 20px; }
  .director-content { grid-template-columns: 1fr; }
  .director-content > img { width: min(278px, 100%); height: auto; margin: 0 auto; }
}


/* Fidelity/layout pass — v11 */
/* Original Behind the Scenes page displays three thumbnails across on desktop. */
.bts-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 20px;
}

/* Keep menu and social icons on one desktop row; preserve collapsed mobile nav. */
@media (min-width: 761px) {
  .site-header {
    padding-left: 12px;
    padding-right: 12px;
  }
  .header-inner {
    width: 100%;
    max-width: 1320px;
    flex-wrap: nowrap;
    gap: clamp(8px, 1vw, 16px);
  }
  .site-nav {
    flex-wrap: nowrap;
    gap: clamp(8px, 1.2vw, 18px);
    min-width: 0;
  }
  .site-nav a,
  .site-nav a.active {
    white-space: nowrap;
    font-size: clamp(14px, 1.6vw, 23px);
  }
  .social-links {
    flex: 0 0 auto;
    gap: clamp(4px, .5vw, 7px);
    margin-left: 0;
  }
  .social-links img {
    width: clamp(27px, 2.8vw, 40px);
    height: clamp(27px, 2.8vw, 40px);
  }
}

@media (max-width: 760px) {
  .bts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .bts-grid { grid-template-columns: 1fr; }
}


/* Streaming availability — v11.2 */
.prime-callout + .apple-tv-callout {
  margin-top: -20px;
}
