:root{--black:#080808;--ink:#111;--gold:#c9a24c;--cream:#eee7d8;--burg:#5a111d;--muted:#aaa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#eee;font-family:Arial,Helvetica,sans-serif}.top{height:86px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(#080808f5,#080808d9);border-bottom:1px solid #c9a24c44}.brand{color:#e5c46f;text-decoration:none;display:flex;flex-direction:column;letter-spacing:2px;line-height:1}.brand b{font-family:Georgia,serif;font-size:18px}.brand small{font-size:8px;letter-spacing:3.5px;margin-top:6px;color:#bbb}.sky{font-size:8px;letter-spacing:0;color:#c9a24c;margin-bottom:4px}.top nav{display:flex;gap:28px}.top nav a{color:#ddd;text-decoration:none;font-size:11px;letter-spacing:2px}.top nav a:hover{color:var(--gold)}#menu{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:min(850px,100vh);min-height:650px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#000d 0%,#0008 40%,#0002 70%),linear-gradient(0deg,#080808 0%,transparent 28%)}.heroCopy{position:absolute;left:7vw;bottom:12%;max-width:650px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:bold;margin-bottom:15px}.hero h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(52px,8vw,110px);margin:0;letter-spacing:3px}.hero h1 span{display:block;font-size:.27em;letter-spacing:8px;color:#ddd}.tag{font-family:Georgia,serif;letter-spacing:2px;font-size:14px}.premiere{font-weight:bold;letter-spacing:4px;margin:30px 0}.btn{display:inline-block;border:1px solid var(--gold);padding:15px 24px;color:#fff;text-decoration:none;font-size:11px;letter-spacing:2px}.split{max-width:1200px;margin:auto;padding:110px 6vw;display:grid;grid-template-columns:1.2fr .7fr;gap:70px;align-items:center}.split h2,.sectionHead h2,.world h2,.watch h2,.about h2,.modal h2{font-family:Georgia,serif;font-weight:normal;font-size:clamp(38px,5vw,64px);margin:0 0 25px}.split p,.world p,.about p,.modal p{line-height:1.8;color:#c9c9c9}.lead{font-size:20px}.portrait{width:100%;max-height:650px;object-fit:cover;border:1px solid #c9a24c55}.dark{background:#0e0d0c;padding:100px 5vw}.sectionHead{text-align:center;max-width:700px;margin:0 auto 50px}.sectionHead p{color:#999}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;max-width:1450px;margin:auto}.card{position:relative;min-height:320px;overflow:hidden;background:#222;cursor:pointer;border:0;padding:0;color:#fff;text-align:left}.card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.4s}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#000e)}.card:hover img{transform:scale(1.04)}.cardText{position:absolute;z-index:2;bottom:18px;left:18px;right:10px}.cardText b{display:block;font-family:Georgia,serif;font-size:20px}.cardText small{color:#d3b15f;letter-spacing:1px}.world{background:var(--cream);color:#151515;padding:100px 5vw}.worldGrid{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:25px}.worldCard{background:#fff;box-shadow:0 10px 35px #0001}.worldCard.wide{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr}.worldCard img{width:100%;height:390px;object-fit:cover}.worldCard.wide img{height:100%}.worldCard>div{padding:40px}.worldCard h3{font-family:Georgia,serif;font-size:31px;margin:0 0 8px}.worldCard p{color:#444}.estateStrip{display:grid;grid-template-columns:repeat(3,1fr);height:360px}.estateStrip img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.watch{text-align:center;padding:130px 20px;background:radial-gradient(circle at 50% 30%,#321019,#080808 55%)}.watch .big{font-family:Georgia,serif;font-size:26px;letter-spacing:5px}.watch>p:not(.big){color:#aaa}.coming{display:inline-block;margin-top:30px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:13px 45px;letter-spacing:5px;color:var(--gold)}.about{max-width:1150px;margin:auto;padding:100px 6vw;display:grid;grid-template-columns:1.5fr .7fr;gap:80px}.contact{border-left:1px solid #c9a24c66;padding-left:35px;display:flex;flex-direction:column;justify-content:center}.contact span{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:15px}.contact a{font-family:Georgia,serif;color:#fff;text-decoration:none;font-size:20px}footer{border-top:1px solid #ffffff18;padding:45px 6vw;display:flex;justify-content:space-between;align-items:center;color:#777;font-size:11px;line-height:1.7}.foot{color:#c9a24c}.modal{display:none;position:fixed;z-index:50;inset:0;background:#000e;padding:5vw;align-items:center;justify-content:center}.modal.open{display:flex}.modalBox{background:#121110;max-width:900px;width:100%;display:grid;grid-template-columns:330px 1fr;border:1px solid #c9a24c55}.modalBox img{width:100%;height:480px;object-fit:cover}.modalBox>div{padding:45px}.modalBox h2{font-size:42px}.close{position:absolute;right:4vw;top:3vw;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}@media(max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}.top nav{gap:14px}.worldCard.wide{grid-template-columns:1fr}.split{gap:35px}}@media(max-width:700px){.top{height:72px}.top nav{display:none;position:absolute;top:72px;left:0;right:0;background:#090909;padding:25px 5vw;flex-direction:column}.top nav.open{display:flex}#menu{display:block}.hero{min-height:620px}.hero>img{object-position:62% center}.heroShade{background:linear-gradient(0deg,#080808 4%,#0007 55%,#0003)}.heroCopy{left:6vw;right:6vw;bottom:8%}.split,.about{grid-template-columns:1fr;padding:75px 6vw}.split .portrait{max-height:560px}.cards{grid-template-columns:repeat(2,1fr)}.card{min-height:300px}.world{padding:70px 5vw}.worldGrid{grid-template-columns:1fr}.worldCard.wide{grid-column:auto}.worldCard img{height:320px}.estateStrip{height:auto;grid-template-columns:1fr}.estateStrip img{height:280px}.modal{padding:15px}.modalBox{grid-template-columns:1fr;max-height:88vh;overflow:auto}.modalBox img{height:360px}.modalBox>div{padding:28px}.close{z-index:2;right:20px;top:10px}footer{flex-direction:column;align-items:flex-start;gap:20px}.contact{border-left:0;border-top:1px solid #c9a24c66;padding:30px 0 0}.hero h1{font-size:58px}}@media(max-width:420px){.cards{grid-template-columns:1fr 1fr}.card{min-height:250px}.cardText b{font-size:17px}.hero h1{font-size:48px}}

/* Large-screen refinement: preserve the cinematic composition without allowing
   content, portraits, or supporting imagery to become oversized on 2K/4K displays. */
@media (min-width:1600px){
  .top{padding-left:max(5vw,calc((100vw - 1540px)/2));padding-right:max(5vw,calc((100vw - 1540px)/2))}
  .hero{height:820px;min-height:0}
  .heroCopy{left:calc((100vw - 1500px)/2 + 40px);bottom:11%;max-width:650px}
  .hero h1{font-size:104px}
  .split{max-width:1280px;padding-left:40px;padding-right:40px}
  .dark{padding-left:max(5vw,calc((100vw - 1540px)/2));padding-right:max(5vw,calc((100vw - 1540px)/2))}
  .cards{max-width:1500px;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
  .card{min-height:340px}
  .worldGrid{max-width:1320px}
  .estateStrip{max-width:1600px;height:380px;margin-left:auto;margin-right:auto}
  .about{max-width:1240px;padding-left:40px;padding-right:40px}
  footer{padding-left:max(6vw,calc((100vw - 1500px)/2));padding-right:max(6vw,calc((100vw - 1500px)/2))}
}

@media (min-width:2200px){
  .hero{height:860px;max-width:1920px;margin-left:auto;margin-right:auto}
  .heroCopy{left:clamp(70px,7vw,135px)}
  .hero>img{object-position:center center}
  .dark,.world,.watch{padding-top:110px;padding-bottom:110px}
  .estateStrip{max-width:1600px}
}

/* Hero composition lock: the approved hero artwork is 1431×806 (16:9).
   On desktop and large displays, size the hero from its width instead of a
   fixed pixel height. This preserves the same cinematic composition across
   laptop, desktop, ultrawide, 2K and 4K screens without stretching/cropping
   the key art differently at each monitor size. */
@media (min-width:701px){
  .hero{
    width:100%;
    height:auto;
    min-height:0;
    max-width:none;
    margin:0;
    aspect-ratio:1431 / 806;
  }
  .hero>img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .heroCopy{
    bottom:clamp(70px,10.5%,120px);
  }
}

/* Official trailer — Watch section */
.trailerWrap{width:min(1120px,92vw);margin:34px auto 18px;aspect-ratio:16/9;background:#000;border:1px solid #9d7b36;box-shadow:0 24px 70px #0008;overflow:hidden}
.trailer{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.trailerLabel{margin:18px 0 8px;font-size:12px;letter-spacing:3px;color:#c9a85d;font-weight:700}
@media(max-width:700px){.trailerWrap{width:100%;margin-top:26px}.trailerLabel{margin-top:14px}}

/* Legacy Box Office mailing list */
.updates{padding:100px 6vw;background:#0e0d0c;border-top:1px solid #c9a24c2e;border-bottom:1px solid #c9a24c2e;text-align:center}.updatesInner{max-width:1050px;margin:0 auto}.updates h2{font-family:Georgia,serif;font-weight:normal;font-size:clamp(38px,5vw,58px);margin:0 0 20px}.updatesInner>p{max-width:760px;margin:0 auto 36px;color:#bdbdbd;line-height:1.8}.updatesForm{max-width:900px;margin:0 auto}.updatesFields{display:grid;grid-template-columns:1fr 1.35fr auto;gap:14px;align-items:end;text-align:left}.updatesFields label span{display:block;margin:0 0 9px;color:var(--gold);font-size:9px;font-weight:bold;letter-spacing:2px}.updatesFields input{width:100%;height:50px;border:1px solid #c9a24c55;background:#080808;color:#fff;padding:0 15px;font:inherit;outline:none}.updatesFields input:focus{border-color:var(--gold)}.updatesFields button{height:50px;border:1px solid var(--gold);background:var(--gold);color:#090909;padding:0 24px;font-size:10px;font-weight:bold;letter-spacing:2px;cursor:pointer}.updatesFields button:hover{background:#e0bd66}.updatesNote{margin:18px 0 0!important;color:#777!important;font-size:11px;line-height:1.5!important}.updates em{color:#ddd}@media(max-width:700px){.updates{padding:75px 6vw}.updatesFields{grid-template-columns:1fr}.updatesFields button{width:100%;margin-top:4px}}

/* Legacy Box Office support memberships */
.support{padding:110px 5vw;background:linear-gradient(180deg,#080808 0%,#11100e 55%,#080808 100%);border-bottom:1px solid #c9a24c24;text-align:center}.supportInner{max-width:1320px;margin:0 auto}.support h2{font-family:Georgia,serif;font-weight:normal;font-size:clamp(38px,5vw,62px);margin:0 0 18px}.supportLead{max-width:760px;margin:0 auto 45px;color:#bdbdbd;line-height:1.8}.supportGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.supportCard{display:block;position:relative;border:1px solid #c9a24c33;background:#0b0b0b;overflow:hidden;text-decoration:none;box-shadow:0 18px 40px #0007;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.supportCard:hover{transform:translateY(-5px);border-color:#c9a24c99;box-shadow:0 24px 50px #0009}.supportCard:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.supportCard img{display:block;width:100%;height:auto}.supportButton{display:inline-block;margin-top:34px;border:1px solid var(--gold);background:var(--gold);color:#090909;text-decoration:none;padding:15px 28px;font-size:10px;font-weight:bold;letter-spacing:2px}.supportButton:hover{background:#e0bd66}.supportNote{margin:16px 0 0;color:#777;font-size:11px;letter-spacing:.4px}@media(max-width:1000px){.supportGrid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:0 auto}}@media(max-width:560px){.support{padding:75px 6vw}.supportGrid{grid-template-columns:1fr;max-width:420px}.supportLead{margin-bottom:32px}.supportButton{width:100%;max-width:420px}}

/* Mobile hero refinement: preserve the complete approved key art instead of
   cropping the 16:9 composition into a tall phone viewport. On phones, the
   artwork scales to the viewport width and the readable CTA copy flows below. */
@media (max-width:700px){
  .hero{
    width:100%;
    height:auto;
    min-height:0;
    margin-top:72px;
    overflow:visible;
    display:flex;
    flex-direction:column;
    background:#080808;
  }
  .hero>img{
    position:relative;
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1431 / 806;
    object-fit:contain;
    object-position:center center;
    flex:0 0 auto;
  }
  .heroShade{display:none}
  .heroCopy{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    padding:28px 6vw 48px;
    background:linear-gradient(180deg,#080808 0%,#0c0b0a 100%);
  }
  .hero h1{font-size:clamp(42px,13vw,58px);line-height:.95}
  .hero h1 span{font-size:.31em;letter-spacing:4px;margin-top:10px}
  .eyebrow{font-size:9px;letter-spacing:2.2px;margin-bottom:12px}
  .tag{font-size:12px;line-height:1.55;letter-spacing:1.4px;max-width:34em}
  .premiere{font-size:12px;line-height:1.45;letter-spacing:3px;margin:22px 0}
}

@media (max-width:420px){
  .heroCopy{padding-top:24px;padding-bottom:42px}
  .hero h1{font-size:clamp(39px,12.5vw,50px)}
  .hero h1 span{letter-spacing:3px}
}
