/* Kai Marlow-inspired exploration: large type, open space, sculptural photography. */
:root{--paper:#f3f2ee;--ink:#152b38;--muted:#5e6b71;--line:#152b3828;--accent:#ed3e23}
body{background:var(--paper);color:var(--ink)}
.sidebar{width:180px;padding:28px 19px;background:var(--paper);border-color:var(--line)}
.brand img,.footer img{filter:brightness(0);width:135px}
.edition{color:var(--muted);margin-top:60px;font-size:10px}
.sidebar nav a{font-size:12px;padding:12px 0;border-radius:0;gap:9px;color:var(--muted)}
.sidebar nav a span{color:var(--muted);font-size:10px}
.sidebar nav a.active{background:none;color:var(--accent)}.sidebar nav a.active span{color:var(--accent)}
.sidebar nav a.active i{width:5px;height:5px;background:var(--accent);border-radius:50%;margin-left:auto}
.sidebar nav a:hover:not(.active){background:none;color:var(--ink)}
.sidebar-bottom,.sidebar-bottom>a{color:var(--muted)}.track{background:var(--line)}
main{margin-left:180px;padding:0 30px;max-width:none}.topline{font-size:10px;letter-spacing:.045em;color:var(--ink);padding:26px 0}
.opening{padding-bottom:70px;overflow:hidden}.hero-title{font-size:clamp(75px,10.4vw,180px);white-space:nowrap;line-height:1;margin:45px 0 0;text-align:center;letter-spacing:-.045em}.hero-title span{color:var(--accent)}
.winter-orbit{height:360px;position:relative;perspective:1300px;margin-top:-4px}
.orbit-tilt{position:absolute;left:50%;top:50%;transform:rotateX(-13deg);transform-style:preserve-3d}
.orbit-spin{position:relative;transform-style:preserve-3d;animation:orbit 70s linear infinite}
.orbit-spin img{position:absolute;left:-57px;top:-118px;width:114px;height:236px;object-fit:cover;border-radius:14px;transform:rotateY(calc(var(--i)*22.5deg)) translateZ(300px);backface-visibility:visible;box-shadow:0 4px 14px #152b3815}
@keyframes orbit{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
.orbit-spin.paused,.winter-orbit:hover .orbit-spin{animation-play-state:paused}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:45px;margin:28px 0 0}.hero-bottom p{font-size:17px;line-height:1.5;margin:0}.hero-cta{display:flex;justify-content:space-between;width:35%;border-bottom:1px solid var(--ink);padding:10px 0;font-size:17px}.hero-cta span{color:var(--accent)}
.ribbon-caption{margin:28px 0 0;color:var(--muted);font-size:10px}.motion-toggle{color:var(--muted)}
.section{padding:90px 0 30px;border-top:1px solid var(--line)}.section-head{text-align:left;max-width:none;margin:0 0 45px}.eyebrow{color:var(--muted);font-size:10px}.section-head h2{font-size:clamp(44px,5.5vw,92px);color:var(--ink);margin:18px 0;letter-spacing:-.025em}.section-head>p{color:var(--muted);font-size:15px;max-width:490px}
.film-portfolio{display:grid;grid-template-columns:1fr 1fr;gap:35px 24px}.film{display:flex;flex-direction:column;margin:0}.film video{order:-1;border-radius:16px;aspect-ratio:16/10;object-fit:contain;background:#102530}.film-label{display:flex;justify-content:space-between;align-items:baseline;padding:17px 0 0;gap:10px}.film-label h3{font-size:20px}.film-label>span{font-size:10px;color:var(--muted)}.film-foot{font-size:10px;color:var(--muted);padding:8px 0 0}.film-portfolio .film:nth-child(even){margin-top:80px}
figure img,.bts-twelve img{border-radius:16px}figcaption span,.location-note{color:var(--muted)}figcaption h3{font-size:19px}.bts-twelve figcaption{color:var(--ink);font-size:12px}.bts-twelve{gap:28px 20px}.statement{text-align:left;padding-top:100px}.statement>p{font-size:clamp(40px,5.8vw,90px);max-width:950px}.service-copy{margin:35px 0 0 auto;color:var(--muted);max-width:600px;font-size:15px}
.contact{text-align:left;border-top:1px solid var(--line);margin-top:70px;padding-top:65px}.contact h2{color:var(--ink);font-size:clamp(85px,12vw,190px);letter-spacing:-.04em}.contact-email{border-color:var(--ink)}.client-proof{border-color:var(--line)}.client-proof h3{font-size:32px}.client-logos,.production-logos{background:#fff}.footer{border-color:var(--line);color:var(--muted)}
@media(min-width:1650px){main{padding:0 55px}.winter-orbit{height:450px}}
@media(max-width:1100px){.sidebar{width:155px;padding:25px 14px}main{margin-left:155px;padding:0 22px}.brand img{width:125px}.hero-title{font-size:10vw}.film-label{display:block}.film-label h3{margin-bottom:4px}.orbit-tilt{scale:.85}.winter-orbit{height:330px}}
@media(max-width:760px){.sidebar{width:100%;height:93px;padding:12px 16px;background:var(--paper)}.brand img{width:106px}.sidebar nav{margin-top:8px;gap:17px}.sidebar nav a{padding:5px 0;font-size:11px}.sidebar nav a.active i{display:none}main{margin-left:0;padding:93px 16px 0}.topline{font-size:8px;gap:15px}.topline span:first-child{display:none}.hero-title{font-size:12.4vw;margin-top:34px}.winter-orbit{height:255px;margin-top:0}.orbit-tilt{scale:.52}.hero-bottom{gap:22px;align-items:start;margin-top:10px}.hero-bottom p{font-size:13px}.hero-cta{font-size:12px;width:38%;padding-top:0}.opening{padding-bottom:50px}.section{padding-top:50px}.section-head h2{font-size:42px}.film-portfolio{grid-template-columns:1fr;gap:30px}.film-portfolio .film:nth-child(even){margin-top:0}.film-label{display:flex}.film-label h3{font-size:20px}.section-head>p{font-size:14px}.bts-twelve{grid-template-columns:1fr 1fr;gap:22px 12px}.bts-twelve img{border-radius:12px}.bts-twelve figcaption{font-size:11px}.contact h2{font-size:24vw}.contact-email{font-size:17px}.service-copy{font-size:14px}.footer{font-size:11px}.footer img{width:95px}}
@media(prefers-reduced-motion:reduce){.orbit-spin{animation:none}.motion-toggle{display:none}}

/* Twelve larger landscape frames bring the reel into the headline. */
.hero-title{position:relative;z-index:0}
.winter-orbit{height:504px;perspective:4000px;margin-top:-55px;z-index:1}
.orbit-tilt{scale:.744}
.orbit-spin img{left:-175px;top:-131.25px;width:350px;height:262.5px;aspect-ratio:4/3;transform:rotateY(calc(var(--i)*30deg)) translateZ(740px)}
@media(min-width:1650px){.winter-orbit{height:564px;margin-top:-70px}.orbit-tilt{scale:.888}}
@media(max-width:1100px){.winter-orbit{height:396px;margin-top:-40px}.orbit-tilt{scale:.528}}
@media(max-width:760px){.winter-orbit{height:222px;margin-top:-25px}.orbit-tilt{scale:.246}}

/* User-supplied BAS typeface across the complete page. */
@font-face{font-family:PlateletBAS;src:url('assets/Platelet-BAS.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
body,button,input,select,textarea,h1,h2,h3,h4,.film-label h3,figcaption h3{font-family:PlateletBAS,sans-serif;font-weight:400;font-synthesis:none}

.bas-wordmark{font-family:PlateletBAS,sans-serif;font-size:19px;white-space:nowrap;letter-spacing:0;color:var(--ink)}
@media(max-width:760px){.bas-wordmark{font-size:16px}}

/* Lowercase lettering throughout the page. */
body{text-transform:lowercase}.eyebrow{text-transform:lowercase}

/* Direct manipulation with mouse, touch, or keyboard. */
.winter-orbit{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.winter-orbit.is-dragging,.winter-orbit.is-dragging *{cursor:grabbing}
.winter-orbit img{-webkit-user-drag:none;user-select:none}
.winter-orbit:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:16px}

/* Let each film fill its own natural frame without colored letterboxing. */
.film video,.film.feature video{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain;background:transparent;border:0;box-shadow:none}

/* Hide letterbox strips encoded inside these three source films. */
.film video.cinema-wide{aspect-ratio:1280/536;object-fit:cover}
.film video.cinema-extra-wide{aspect-ratio:1280/476;object-fit:cover}

/* Individual location presentations, with stable frames while photos crossfade. */
.location-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}

.location-slides{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:#e4e5df}

.location-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .85s ease;border-radius:0}
.location-slides img.is-current{opacity:1}
.location-card figcaption{display:block;padding:15px 0 25px}
.location-controls{position:absolute;z-index:2;right:12px;bottom:12px;display:flex;align-items:center;gap:6px;background:#f3f2eef0;border-radius:24px;padding:3px 7px;color:var(--ink)}
.location-controls button{border:0;background:transparent;color:inherit;cursor:pointer;min-width:36px;min-height:36px;font:inherit;font-size:17px;padding:3px}
.location-count{font-size:12px;min-width:40px;text-align:center}
@media(max-width:760px){.location-gallery{grid-template-columns:1fr;gap:8px}.location-card:first-child .location-slides{aspect-ratio:4/3}.location-controls{right:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.location-slides img{transition:none}}

/* An editorial rhythm: wide landscapes, intimate triptychs and offset pairs. */
@media(min-width:761px){
 .location-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 24px;align-items:start}
 .location-card{grid-column:span 6;min-width:0}
 .location-card:first-child{grid-column:1/-1}
 .location-card:first-child .location-slides{aspect-ratio:2.35/1}
 .location-card:nth-child(3){margin-top:65px}
 .location-card:nth-child(n+4):nth-child(-n+6){grid-column:span 4}
 .location-card:nth-child(n+4):nth-child(-n+6) .location-slides{aspect-ratio:4/3}
 .location-card:nth-child(7),.location-card:nth-child(10){grid-column:span 7}
 .location-card:nth-child(8),.location-card:nth-child(9){grid-column:span 5;margin-top:70px}
 .location-card:nth-child(12){margin-top:65px}
 .location-slides{aspect-ratio:16/10}
 .location-card figcaption{padding-bottom:10px}
 .bts-twelve{grid-template-columns:repeat(12,minmax(0,1fr));gap:42px 24px;align-items:start}
 .bts-twelve figure{grid-column:span 6}
 .bts-twelve figure:nth-child(1),.bts-twelve figure:nth-child(9){grid-column:span 7}
 .bts-twelve figure:nth-child(2),.bts-twelve figure:nth-child(8){grid-column:span 5;margin-top:85px}
 .bts-twelve figure:nth-child(n+3):nth-child(-n+5){grid-column:span 4}
 .bts-twelve figure:nth-child(4){margin-top:45px}
 .bts-twelve figure:nth-child(6){grid-column:span 7}
 .bts-twelve figure:nth-child(7){grid-column:span 5;margin-top:75px}
 .bts-twelve figure:nth-child(n+10){grid-column:span 4}
 .bts-twelve figure:nth-child(11){margin-top:45px}
 .bts-twelve img{aspect-ratio:3/2}
 .bts-twelve figure:nth-child(2) img,.bts-twelve figure:nth-child(7) img,.bts-twelve figure:nth-child(8) img{aspect-ratio:4/3}
}
@media(max-width:760px){
 .location-gallery{gap:25px}
 .location-slides,.location-card:first-child .location-slides{aspect-ratio:3/2}
 .location-card:nth-child(3n+2){width:92%}
 .location-card:nth-child(3n){width:92%;justify-self:end}
 .location-card figcaption{padding-bottom:4px}
 .bts-twelve{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;align-items:start}
 .bts-twelve figure:nth-child(1),.bts-twelve figure:nth-child(6),.bts-twelve figure:nth-child(9){grid-column:1/-1}
 .bts-twelve figure:nth-child(3),.bts-twelve figure:nth-child(5),.bts-twelve figure:nth-child(8),.bts-twelve figure:nth-child(11){margin-top:32px}
 .bts-twelve figure:last-child{grid-column:1/-1;width:78%;justify-self:end}
 .bts-twelve img{aspect-ratio:4/3}
 .bts-twelve figure:nth-child(1) img,.bts-twelve figure:nth-child(6) img,.bts-twelve figure:nth-child(9) img{aspect-ratio:3/2}
}

.country-moodboards{margin:0 0 48px;padding:25px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:32px}.country-moodboards p{font-size:17px;line-height:1.6;margin:0}.country-moodboards nav{display:flex;gap:32px;flex-wrap:wrap}.country-moodboards a{font-size:25px;border-bottom:1px solid var(--ink);padding:8px 0}.country-moodboards a span{color:var(--accent);margin-left:18px}.country-moodboards a:hover{color:var(--accent)}@media(max-width:760px){.country-moodboards{display:block;margin-bottom:32px}.country-moodboards p{font-size:15px}.country-moodboards nav{gap:22px;margin-top:18px}.country-moodboards a{font-size:20px}.country-moodboards a span{margin-left:8px}}

/* Seven location stories: paired cards below the mountain opener. */
@media(min-width:761px){.location-card:nth-child(n+4):nth-child(-n+7){grid-column:span 6}.location-card:nth-child(5),.location-card:nth-child(7){margin-top:65px}}
