/* Three works, three ways of moving. The words always stay still. */
.arrival-v3 { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:24px var(--gutter); background:var(--sand); }
.arrival-v3>p { max-width:50ch; font-size:18px; line-height:1.5; }
.arrival-v3 nav { display:flex; gap:28px; flex-shrink:0; }
.arrival-v3 nav a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; text-decoration:none; border-bottom:1px solid #877761; }
.arrival-v3 nav a:hover { border-color:var(--oxide); }
.v3-eyebrow { font-size:12px; line-height:1.5; font-weight:500; letter-spacing:.13em; text-transform:uppercase; margin-bottom:24px; }
.film-v3 { background:#192b29; color:#fff6e5; padding:80px var(--gutter) 56px; scroll-margin-top:100px; }
.film-v3-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:8%; align-items:end; margin-bottom:44px; }
.film-v3 h2 { font-size:clamp(76px,9vw,144px); line-height:.92; letter-spacing:-.06em; }
.film-v3 h2 span { color:#dfb99a; }
.film-v3-intro { padding-bottom:6px; max-width:37ch; }
.film-v3-intro p { font-size:clamp(21px,2.2vw,30px); line-height:1.5; }
.film-v3-intro>span { display:block; margin-top:26px; color:#dfc7aa; font-size:16px; }
.film-v3-stage { position:relative; isolation:isolate; overflow:hidden; aspect-ratio:16/9; background:#592818; }
.v3-poster,.v3-preview { width:100%; height:100%; object-fit:contain; }
.v3-preview { position:absolute; inset:0; opacity:0; transition:opacity .4s ease; pointer-events:none; }
.has-motion>.v3-preview { opacity:1; }
.film-v3-play { position:absolute; left:28px; bottom:28px; display:flex; align-items:center; gap:20px; background:#fff6e5; color:#3b221a; border:0; padding:14px 24px 14px 14px; box-shadow:0 2px 16px #15090426; text-align:left; transition:background .2s; }
.film-v3-play:hover { background:#f0d4a8; }
.v3-play-disc { width:58px; height:58px; display:grid; place-items:center; border:1px solid #6e4a34; border-radius:50%; flex-shrink:0; }
.v3-play-disc svg { width:25px; height:25px; margin-left:3px; }
.film-v3-play strong { display:block; font:550 25px/1.2 var(--display); letter-spacing:-.02em; }
.film-v3-play small { display:block; font-size:15px; line-height:1.4; margin-top:5px; }
.film-v3-transport { display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:24px; margin-top:20px; }
.film-v3-transport p { font-size:16px; line-height:1.5; color:#f0e2cc; }
.v3-track { height:2px; background:#faf0d936; overflow:hidden; }
.v3-track>span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:#f1d29c; }
.film-v3-transport output { font-size:14px; font-variant-numeric:tabular-nums; letter-spacing:.04em; min-width:102px; color:#f0e2cc; }
.film-v3-social { display:flex; align-items:start; justify-content:space-between; gap:32px; margin-top:36px; padding-top:24px; border-top:1px solid #b7b4a94d; }
.film-v3-social>a { display:inline-flex; align-items:center; min-height:44px; font-size:18px; }
.film-v3-social>div { text-align:right; }
.film-v3-social p { font-size:16px; line-height:1.5; }
.film-v3-social .v3-stats-date { margin-top:6px; color:#d1c5b2; font-size:14px; }
.world-v3 { background:#ede3ce; color:#29251e; padding:90px var(--gutter) 80px; scroll-margin-top:100px; }
.world-v3-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:8%; align-items:end; margin-bottom:44px; }
.world-v3 h2 { font-size:clamp(68px,7.7vw,124px); line-height:.95; letter-spacing:-.06em; }
.world-v3 h2 span { color:#5b6653; }
.world-v3-heading>div:last-child { max-width:39ch; padding-bottom:6px; }
.world-v3-heading>div:last-child>p { font-size:clamp(21px,2vw,28px); line-height:1.5; }
.v3-world-status { display:inline-block; border-top:1px solid #a29882; padding-top:14px; margin-top:25px; font-size:16px; }
.world-v3-stage { position:relative; isolation:isolate; overflow:hidden; aspect-ratio:16/9; background:#d8cfb8; }
.world-v3-stage .v3-preview,.world-v3-stage .v3-poster { object-fit:cover; }
.world-v3-viewname { position:absolute; left:22px; bottom:24px; display:flex; flex-direction:column; gap:4px; padding:12px 18px; background:#173236ee; color:#fff6e5; pointer-events:none; }
.world-v3-viewname>span:first-child { font-size:11px; letter-spacing:.12em; }
.world-v3-viewname>span:last-child { font-size:19px; line-height:1.3; }
.world-v3-track { position:absolute; bottom:0; left:0; right:0; height:3px; background:#17323633; }
.world-v3-track>span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:#173236; }
.world-v3-caption { display:flex; justify-content:space-between; gap:24px; margin-top:16px; font-size:16px; line-height:1.5; }
.world-v3-caption>span { color:#575748; white-space:nowrap; }
.world-v3-views { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:28px; }
.world-v3-views button { position:relative; display:flex; align-items:center; gap:14px; width:100%; min-height:104px; color:inherit; background:transparent; text-align:left; border:1px solid #a69b83; padding:16px; transition:background .2s,border-color .2s; }
.world-v3-views button[aria-pressed=true] { background:#d5cfb7; border-color:#52604d; }
.world-v3-views button:hover { background:#ddd5bf; border-color:#52604d; }
.world-v3-viewnumber { font-size:12px; align-self:flex-start; padding-top:3px; color:#525c49; }
.world-v3-views strong { display:block; font-weight:500; font-size:18px; line-height:1.3; }
.world-v3-views small { display:block; font-size:14px; line-height:1.4; margin-top:7px; color:#535345; }
.world-v3-views img { width:78px; height:55px; object-fit:cover; margin-left:auto; flex-shrink:0; }
.world-v3-views button[aria-pressed=true]:after { content:''; position:absolute; left:0; bottom:0; right:0; height:3px; background:#52604d; }
.world-v3-gallery-heading { display:flex; align-items:center; margin-top:46px; padding-top:32px; border-top:1px solid #b6aa91; }
.v3-gallery-open { display:flex; align-items:center; gap:18px; border:0; background:#173236; color:#fff6e5; text-align:left; padding:16px 24px; min-height:72px; transition:background .2s; }
.v3-gallery-open:hover { background:#284b46; }
.v3-gallery-open svg { width:28px; height:28px; stroke:currentColor; stroke-width:1.4; fill:none; flex-shrink:0; }
.v3-gallery-open span { font-size:21px; line-height:1.2; }
.v3-gallery-open small { display:block; font-size:15px; margin-top:6px; color:#eadbc1; }
.world-v3-contact { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin-top:26px; }
.world-v3-contact button { padding:0; text-align:left; background:transparent; border:0; color:inherit; }
.world-v3-thumb { display:block; overflow:hidden; background:#d8cfb8; }
.world-v3-contact img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .4s ease; }
.world-v3-contact button:hover img { transform:scale(1.04); }
.world-v3-contact button>span:last-child { display:flex; align-items:baseline; gap:8px; font-size:15px; line-height:1.4; padding-top:10px; }
.world-v3-contact small { font-size:11px; color:#585844; }
.footer-v3 { display:grid; grid-template-columns:1.25fr 1fr; gap:50px 8%; align-items:end; padding:76px var(--gutter) 28px; background:#4a211b; color:#fff6e5; }
.footer-v3 h2 { font-size:clamp(55px,6.1vw,96px); line-height:1; letter-spacing:-.05em; }
.footer-v3-contact>p { font-size:23px; line-height:1.5; max-width:30ch; }
.footer-v3-contact nav { display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:24px; }
.footer-v3-contact a { display:inline-flex; align-items:center; min-height:44px; font-size:18px; }
.footer-v3-colophon { display:flex; justify-content:space-between; gap:24px; grid-column:1/-1; padding-top:28px; border-top:1px solid #a7826e; font-size:16px; }
.footer-v3-colophon>a { font-family:var(--display); text-decoration:none; font-size:21px; }
.footer-v3-colophon>p { color:#ead4bb; }
.page-home .rush-v2,.film-v3,.world-v3 { scroll-margin-top:110px; }
.page-home .coast-compact { min-height:760px; }
.feature-dialog .dialog-heading>button { min-width:74px; }
@media(max-width:1100px) {
  .arrival-v3 { gap:20px; }.arrival-v3>p { font-size:16px; }.arrival-v3 nav { gap:18px; }
  .film-v3,.world-v3 { padding-top:64px; }.film-v3-heading,.world-v3-heading { gap:5%; }
  .world-v3-views button { gap:10px; padding:14px 12px; }.world-v3-views img { display:none; }
  .world-v3-contact { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .world-v3-contact img { aspect-ratio:16/9; }
}
@media(max-width:760px) {
  .arrival-v3 { display:block; padding:18px 22px 12px; }.arrival-v3>p { font-size:17px; }
  .arrival-v3 nav { display:flex; justify-content:space-between; gap:12px; margin-top:12px; }.arrival-v3 nav a { font-size:14px; min-height:44px; }
  .film-v3 { padding:48px 22px 32px; }.v3-eyebrow { font-size:11px; margin-bottom:20px; }
  .film-v3-heading,.world-v3-heading { grid-template-columns:1fr; gap:26px; margin-bottom:28px; }
  .film-v3 h2 { font-size:clamp(68px,17.5vw,110px); }.film-v3-intro p { font-size:21px; }.film-v3-intro>span { margin-top:16px; font-size:15px; }
  .film-v3-stage { margin-inline:-22px; aspect-ratio:auto; overflow:visible; background:#592818; }
  .film-v3-stage>.v3-poster { width:100%; aspect-ratio:16/9; height:auto; }
  .film-v3-stage>.v3-preview { height:auto; aspect-ratio:16/9; }
  .film-v3-play { position:relative; bottom:auto; left:auto; width:100%; padding:16px 22px; gap:16px; box-shadow:none; }
  .v3-play-disc { width:48px; height:48px; }.film-v3-play strong { font-size:25px; }.film-v3-play small { font-size:15px; }
  .film-v3-transport { grid-template-columns:1fr auto; gap:12px 18px; margin-top:18px; }.film-v3-transport>p { grid-column:1/-1; font-size:15px; }
  .film-v3-transport output { font-size:13px; min-width:96px; }.film-v3-social { flex-direction:column; gap:14px; margin-top:26px; padding-top:18px; }
  .film-v3-social>div { text-align:left; }.film-v3-social>a { font-size:18px; }.film-v3-social p { font-size:16px; }.film-v3-social .v3-stats-date { font-size:14px; }
  .world-v3 { padding:48px 22px 42px; }.world-v3 h2 { font-size:clamp(61px,15vw,100px); }
  .world-v3-heading>div:last-child>p { font-size:21px; }.v3-world-status { margin-top:18px; padding-top:12px; font-size:15px; }
  .world-v3-stage { margin-inline:-22px; aspect-ratio:16/10; }.world-v3-stage .v3-preview,.world-v3-stage .v3-poster { object-fit:contain; }
  .world-v3-viewname { left:12px; bottom:14px; padding:8px 12px; }.world-v3-viewname>span:first-child { font-size:10px; }.world-v3-viewname>span:last-child { font-size:15px; }
  .world-v3-caption { flex-direction:column; gap:8px; margin-top:14px; font-size:15px; }.world-v3-caption>span { display:none; }
  .world-v3-views { gap:8px; margin-top:20px; }.world-v3-views button { display:block; min-height:104px; padding:12px 10px 14px; }
  .world-v3-viewnumber { display:block; font-size:11px; padding-top:0; margin-bottom:9px; }.world-v3-views strong { font-size:15px; line-height:1.25; }.world-v3-views small { display:none; }
  .world-v3-gallery-heading { margin-top:28px; padding-top:24px; }.v3-gallery-open { width:100%; padding:16px 18px; gap:14px; }.v3-gallery-open span { font-size:21px; }.v3-gallery-open small { font-size:15px; }
  .world-v3-contact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; margin-top:24px; }.world-v3-contact button>span:last-child { font-size:15px; gap:7px; }
  .footer-v3 { grid-template-columns:1fr; gap:26px; padding:48px 22px 26px; }.footer-v3 h2 { font-size:clamp(52px,14vw,84px); }
  .footer-v3-contact>p { font-size:21px; }.footer-v3-contact nav { gap:4px 24px; margin-top:20px; }.footer-v3-contact a { font-size:17px; }
  .footer-v3-colophon { display:block; padding-top:24px; margin-top:8px; font-size:15px; }.footer-v3-colophon>p { margin-top:12px; }
  .page-home .rush-v2,.film-v3,.world-v3 { scroll-margin-top:145px; }
}
@media(prefers-reduced-motion:reduce) { .v3-preview,.world-v3-contact img { transition:none; }.world-v3-contact button:hover img { transform:none; } }
html[data-motion=reduce] .v3-preview,html[data-motion=reduce] .world-v3-contact img { transition:none; }

/* The film is a screening canvas; the world is a window with three viewpoints. */
.world-v3-viewer { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:22px; align-items:stretch; }
.world-v3-viewer .world-v3-views { grid-template-columns:1fr; grid-template-rows:repeat(3,1fr); gap:12px; margin-top:0; }
.world-v3-viewer .world-v3-views button { min-height:96px; }
.world-v3-viewer .world-v3-views img { width:60px; height:44px; }
.v3-track>span,.world-v3-track>span { transition:transform .24s linear; }
@media(max-width:1100px) and (min-width:1001px) { .world-v3-viewer { grid-template-columns:minmax(0,1fr) 220px; gap:18px; } }
@media(max-width:1000px) { .world-v3-viewer { grid-template-columns:1fr; gap:20px; }.world-v3-viewer .world-v3-views { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; gap:12px; } }
@media(max-width:760px) { .world-v3-viewer { gap:20px; }.world-v3-viewer .world-v3-views { gap:8px; }.world-v3-viewer .world-v3-views button { min-height:104px; } }
@media(prefers-reduced-motion:reduce) { .v3-track>span,.world-v3-track>span { transition:none; } }
html[data-motion=reduce] .v3-track>span,html[data-motion=reduce] .world-v3-track>span { transition:none; }

.v3-nojs { padding:20px 0; }.v3-nojs a { display:inline-flex; min-height:44px; align-items:center; margin-right:24px; }

.film-v3-stage { cursor:pointer; }
