/* Explicit grid rows prevent portrait assets from expanding beyond the hero. */
:root{--accent:#c4c0b6}
header nav,.hero-bottom p,.filters button,.contact-bottom{text-transform:uppercase}
header nav{letter-spacing:.06em;font-size:12px}
.pill{transition:background-color .2s,color .2s,border-color .2s}
.pill:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
h1{font-size:clamp(48px,7.9vw,128px);line-height:1.05;overflow-wrap:normal}
h1 em{color:var(--accent)}
.hero-bottom p{font-size:12px;letter-spacing:.055em;line-height:1.7}
.hero-images{height:clamp(260px,28vw,480px);grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden;position:relative;isolation:isolate}
.hero-images img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}
.hero-caption{position:relative;clear:both;margin:24px 0 4px;min-height:20px;gap:25px}
.intro{display:block;position:relative;clear:both;text-align:left}
.intro>.eyebrow{margin:0 0 35px}
.intro>div{max-width:1250px}
.intro-copy{max-width:1050px;margin-top:30px}
.section-head>p{text-transform:uppercase;text-align:right;font-size:11px;letter-spacing:.04em;line-height:1.8}
.films{overflow:hidden}
.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px}
.carousel-controls button{cursor:pointer;border:1px solid #9c978d;color:var(--ink);background:transparent;border-radius:50%;width:42px;height:42px;font-size:19px}
.carousel-controls .carousel-toggle{width:auto;border-radius:24px;font-size:10px;letter-spacing:.08em;padding:0 18px}
.carousel-controls button:hover{background:var(--ink);color:var(--paper)}
.film-carousel{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;width:100%;padding-bottom:1px;touch-action:pan-x pan-y}
.film-carousel::-webkit-scrollbar{display:none}
.film-track{display:flex;gap:24px;width:max-content;align-items:flex-start}
.film-card{flex:none;position:relative;width:clamp(245px,23vw,370px);aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:var(--ink);margin:0;isolation:isolate}
.film-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.film-card figcaption{position:absolute;left:0;bottom:0;right:0;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:15px;min-height:145px;padding:65px 20px 24px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:white;pointer-events:none;text-transform:uppercase;font-size:12px;line-height:1.5}
.film-card figcaption span{color:#e8e6e0;font-size:8px;letter-spacing:.08em;flex-shrink:0}
.film-play{position:absolute;inset:0;z-index:2;width:100%;height:100%;cursor:pointer;border:0;color:white;background:transparent;display:grid;place-items:center}
.film-play>span{display:grid;place-items:center;border:1px solid #fffc;border-radius:50%;width:56px;height:56px;background:#0004;font-size:18px;backdrop-filter:blur(5px)}
.film-play:hover>span{background:#0008}
.film-card.is-playing .film-play{inset:14px 14px auto auto;width:42px;height:42px}
.film-card.is-playing .film-play>span{width:42px;height:42px;font-size:14px}
.film-card.is-playing figcaption{padding-bottom:24px}
.contact-bottom p{font-size:11px;letter-spacing:.04em;line-height:1.8}
.contact-bottom .email{font-size:clamp(11px,1.4vw,22px);line-height:1.4}
.contact-bottom .phone{font-size:11px;letter-spacing:.04em}
@media(min-width:1500px){.hero-images{height:480px}}
@media(max-width:850px){.hero-images{height:320px;grid-template-columns:repeat(4,minmax(0,1fr))}.hero-images img:last-child{display:block}.film-card{width:290px}.film-track{gap:18px}}
@media(max-width:540px){h1{font-size:clamp(34px,8.5vw,48px);letter-spacing:-.055em}.hero-bottom p{font-size:9px;max-width:230px}.hero-images{height:240px;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-images img:nth-child(3),.hero-images img:last-child{display:none}.hero-caption{font-size:7px;line-height:1.8}.intro>.eyebrow{margin-bottom:25px}.section-head>p{text-align:right;font-size:10px;margin-left:auto}.film-card{width:76vw;max-width:320px;border-radius:16px}.film-track{gap:16px}.contact-bottom .email{font-size:11px}.carousel-controls{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.pill{transition:none}}

.film-card.is-playing figcaption{padding-bottom:60px}

/* Consistent rounding across image and video tiles. */
:root{--media-radius:18px}
.hero-images img,.project-picture,.project-picture img,.film-card,.film-card video,#gallery-stage,#gallery-stage>img,#gallery-stage>video{border-radius:var(--media-radius)}
.project-picture{overflow:hidden}
.film-play,.film-card.is-playing .film-play{inset:14px 14px auto auto;width:42px;height:42px}
.film-play>span,.film-card.is-playing .film-play>span{width:42px;height:42px;font-size:14px}
.film-card.is-playing figcaption{padding-bottom:24px}

.hero-films{margin:38px 0 28px;min-width:0}
.hero-films .carousel-controls{margin:20px 0 0}
.hero-films .carousel-controls button{color:var(--paper);border-color:#ffffff66}
.hero-films .carousel-controls button:hover{color:var(--ink);background:var(--accent);border-color:var(--accent)}
.hero-films .film-carousel{padding-top:0}
@media(max-width:540px){.hero-films{margin-top:25px}.hero-films .carousel-controls{margin-top:18px}}

.hero h1{font-size:clamp(38px,4.5vw,70px);line-height:1.08;letter-spacing:-.05em;text-align:center}
@media(max-width:540px){.hero h1{font-size:37px}}

.hero-top{align-items:flex-start;gap:24px}.hero-top .hero-partner{text-align:right;margin-left:auto}.hero-bottom{justify-content:flex-end}
@media(max-width:540px){.hero-top .eyebrow{flex:1}.hero-top .hero-partner{max-width:52%}}

.hero h1{text-align:left}
.hero-films{margin-bottom:4px}
.hero-films .carousel-controls{gap:8px;margin-top:14px}
.hero-films .carousel-controls button{height:30px;width:30px;font-size:15px;color:#aaa69e;border-color:#77736c}
.hero-films .carousel-controls .carousel-toggle{width:auto;padding:0 12px;font-size:8px;letter-spacing:.06em}
.hero-films .carousel-controls button:hover{background:#ffffff0c;border-color:#aaa69e;color:#d0ccc4}
.contact h2{font-size:clamp(46px,6.4vw,104px)}
.contact-bottom .discovery-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;border-radius:32px;background:var(--ink);color:var(--paper);font-size:12px;letter-spacing:.04em;transition:background .2s,color .2s}
.contact-bottom .discovery-button:hover{background:var(--accent);color:var(--ink)}
.contact-bottom .email,.contact-bottom .phone{font-size:11px;letter-spacing:.04em;line-height:1.4}
.contact-bottom .email{border-bottom:0;padding-bottom:0}
@media(max-width:540px){.contact h2{font-size:clamp(35px,8vw,46px)}.contact-bottom .discovery-button{font-size:11px;padding:15px 20px}}

.hero h1{font-size:clamp(54px,7.4vw,120px);line-height:1.04;margin-top:48px}.hero-top{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.hero-top .eyebrow{font-size:9px;line-height:1.6;margin:0}.hero-top .hero-partner{text-align:left;margin-left:0;max-width:none}.contact-bottom .discovery-button{font-size:14px;padding:21px 30px;gap:42px}
@media(max-width:540px){.hero h1{font-size:clamp(40px,9.7vw,54px);margin-top:35px}.hero-top .eyebrow{font-size:8px;flex:none}.hero-top .hero-partner{max-width:none}.contact-bottom .discovery-button{font-size:12px;padding:18px 24px}}

.hero-top{margin-top:42px;color:var(--accent)}.hero h1{margin-top:22px}
@media(max-width:540px){.hero-top{margin-top:30px}.hero h1{margin-top:20px}}

.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}.carousel-controls .arrow-icon,.gallery-navigation .arrow-icon{width:18px;height:18px}.project-meta .arrow-icon{width:22px;height:22px}.case-next .arrow-icon{margin-left:.2em}
