:root{--ink:#111;--paper:#f2f0eb;--muted:#77746e;--line:#cbc7bf;--red:#9d2732}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button{font:inherit}
.topbar{height:72px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(242,240,235,.92);backdrop-filter:blur(14px);z-index:20}
.brand{font-weight:600;letter-spacing:.09em}
nav{display:flex;align-items:center;gap:25px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
nav a{position:relative}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--ink);transition:.25s}
nav a:hover:after{right:0}
.languages{display:flex;gap:5px;margin-left:12px}
.languages button{border:0;background:none;padding:0;color:#aaa;cursor:pointer;font-size:11px}
.languages button.active{color:var(--ink);font-weight:600}
.languages i{font-style:normal;color:#aaa}
.menu-button{display:none;border:0;background:none;font-size:12px;letter-spacing:.08em}
.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.hero-copy{padding:8vw 4vw 4vw;display:flex;flex-direction:column}
.eyebrow{font-size:11px;letter-spacing:.2em;margin:0 0 35px}
h1,h2{font-family:"Manrope",sans-serif;font-weight:300;letter-spacing:-.055em;margin:0}
h1{font-size:clamp(66px,10vw,148px);line-height:.78;margin:auto 0}
.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.hero-meta a{border-bottom:1px solid;padding-bottom:4px}
.hero-image{margin:0;min-height:calc(100vh - 72px);overflow:hidden;background:#ddd}
.hero-image img{height:100%;object-fit:cover;object-position:center 30%}
.section-number{font-size:11px;margin:0;color:var(--muted)}
.profile{display:grid;grid-template-columns:9% 43% 48%;padding:9vw 4vw;border-bottom:1px solid var(--line)}
.profile h2,.reel h2,.gallery-heading h2,.contact h2{font-size:clamp(42px,5vw,75px);line-height:1}
.profile-text{padding:0 4vw 0 2vw}
.profile-text>p{font-size:clamp(19px,2vw,28px);font-weight:300;line-height:1.45;margin:0 0 60px}
dl{margin:0;border-top:1px solid var(--line)}
dl div{display:grid;grid-template-columns:42% 58%;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
dt{color:var(--muted)}dd{margin:0}
.reel{padding:8vw 4vw;border-bottom:1px solid var(--line)}
.reel-heading{display:grid;grid-template-columns:9% 1fr auto;align-items:end;margin-bottom:45px}
.reel-heading a{font-size:11px;letter-spacing:.13em;border-bottom:1px solid;padding-bottom:5px}
.video-frame{position:relative;padding-top:56.25%;background:#111}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.secondary-reel{margin-top:7vw}
.secondary-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}
.secondary-heading h3{font-family:"Manrope",sans-serif;font-size:clamp(30px,4vw,58px);font-weight:300;letter-spacing:-.045em;margin:0}
.secondary-heading a{font-size:11px;letter-spacing:.13em;border-bottom:1px solid;padding-bottom:5px}
.gallery-section{padding:8vw 4vw;border-bottom:1px solid var(--line)}
.gallery-heading{display:grid;grid-template-columns:9% 1fr auto;align-items:end;margin-bottom:45px}
.gallery-heading>p:last-child{color:var(--muted);font-size:12px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.photo{padding:0;border:0;background:#ddd;cursor:zoom-in;overflow:hidden}
.photo img{height:100%;object-fit:cover;transition:transform .6s ease}
.photo:hover img{transform:scale(1.018)}
.photo:nth-child(1){grid-column:span 7;aspect-ratio:1.25}
.photo:nth-child(2){grid-column:span 5;aspect-ratio:.87}
.photo:nth-child(3){grid-column:span 4;aspect-ratio:.8}
.photo:nth-child(4){grid-column:span 4;aspect-ratio:.67}
.photo:nth-child(5){grid-column:span 4;aspect-ratio:.8}
.photo:nth-child(6){grid-column:span 5;aspect-ratio:.67}
.photo:nth-child(7){grid-column:span 7;aspect-ratio:.9}
.photo:nth-child(8),.photo:nth-child(9){grid-column:span 6;aspect-ratio:.9}
.photo:nth-child(10),.photo:nth-child(11),.photo:nth-child(12){grid-column:span 4;aspect-ratio:.82}
.news{padding:9vw 4vw;border-bottom:1px solid var(--line)}
.news-heading{display:grid;grid-template-columns:9% 91%;margin-bottom:45px}
.news-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:1180px;margin:0 auto}
.news-card{display:flex;flex-direction:column;min-width:0;background:#171717;color:#f4f1eb}
.news-card+.news-card{margin-top:0}
.news-card-alt{background:#e3dfd6;color:var(--ink)}
.news-card-alt .news-copy>p:last-child{color:#56534e}
.news-card figure{margin:0;overflow:hidden;background:transparent;height:auto}
.news-card figure img{width:100%;height:auto;object-fit:initial}
.news-copy{padding:22px 26px 26px;display:flex;flex-direction:column}
.news-date{font-size:8px;letter-spacing:.18em;color:#aaa;margin:0 0 9px}
.news-copy h2{font-size:clamp(20px,1.8vw,28px);line-height:1.05;margin:0 0 11px}
.news-copy>p:last-child{max-width:850px;font-size:11px;font-weight:300;line-height:1.45;color:#c9c6c0;margin:0}
.credits{display:grid;grid-template-columns:9% 91%;padding:9vw 4vw;border-bottom:1px solid var(--line)}
.credit-list{border-top:1px solid var(--line)}
.credit-list article{display:grid;grid-template-columns:12% 56% 32%;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}
.credit-list span,.credit-list p{font-size:12px;color:var(--muted);margin:0}
.credit-list h3{font-weight:400;font-size:clamp(18px,2vw,27px);margin:0}
.feature{height:75vh;position:relative;overflow:hidden;background:#111}
.feature img{height:100%;object-fit:cover;object-position:center 28%;filter:brightness(.68)}
.feature blockquote{position:absolute;left:4vw;bottom:5vw;width:min(760px,85vw);color:white;font-family:"Manrope";font-weight:300;font-size:clamp(28px,4.4vw,68px);line-height:1.05;letter-spacing:-.04em;margin:0}
.contact{display:grid;grid-template-columns:9% 91%;padding:9vw 4vw}
.contact .mail{display:inline-block;font-size:clamp(17px,2.8vw,42px);margin:55px 0 25px;border-bottom:1px solid}
.contact .phone{display:block;width:max-content;font-size:clamp(17px,2vw,30px);margin:0 0 35px;border-bottom:1px solid}
.contact div>p:last-child{font-size:13px;color:var(--muted)}
footer{padding:30px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:rgba(0,0,0,.94);padding:4vh 4vw}
.lightbox::backdrop{background:transparent}
.lightbox img{height:92vh;object-fit:contain}
.lightbox button{position:fixed;right:24px;top:12px;color:white;background:none;border:0;font-size:42px;z-index:2;cursor:pointer}
@media(max-width:800px){
 .topbar{height:60px}.menu-button{display:block}
 nav{position:fixed;inset:60px 0 auto;background:var(--paper);padding:25px 4vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid;transform:translateY(-130%);transition:.25s}
 nav.open{transform:none}.languages{margin:10px 0 0}
 .hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:45vh;padding:55px 5vw 28px}.hero-image{min-height:60vh}.hero-meta{gap:20px}
 .profile,.credits,.contact{grid-template-columns:1fr;padding:75px 5vw}.profile>.section-number,.credits>.section-number,.contact>.section-number{margin-bottom:35px}.profile-text{padding:55px 0 0}.profile-text>p{margin-bottom:40px}
 .reel,.gallery-section{padding:75px 5vw}.reel-heading,.gallery-heading{grid-template-columns:1fr;gap:22px}.reel-heading h2,.gallery-heading h2{order:2}.reel-heading a,.gallery-heading>p:last-child{order:3;justify-self:start}
 .gallery{gap:7px}.photo:nth-child(n){grid-column:span 6;aspect-ratio:.76}.photo:nth-child(1),.photo:nth-child(4){grid-column:span 12;aspect-ratio:.82}
 .news{padding:75px 3vw}.news-heading{grid-template-columns:1fr;gap:25px}.news-grid{grid-template-columns:1fr;gap:14px}.news-card figure{height:auto;min-height:0}.news-copy{padding:15px 14px 18px}.news-copy h2{font-size:18px;margin-bottom:8px}.news-copy>p:last-child{font-size:9px;line-height:1.4}.news-date{font-size:7px;margin-bottom:6px}
 .credit-list article{grid-template-columns:20% 80%}.credit-list p{grid-column:2;margin-top:5px}
 .feature{height:65vh}.feature blockquote{left:5vw;bottom:8vw}
 footer{padding:25px 5vw}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img,nav{transition:none}}

.bio{margin-top:32px;padding-right:3vw;font-size:18px;line-height:1.65;font-weight:300}
.bio p{margin:0 0 24px}
@media(max-width:700px){.bio{padding-right:0;font-size:17px}}

.imdb-link{display:inline-block;margin-top:24px;font-size:20px;text-decoration:underline;text-underline-offset:5px}

/* Keep the granate and blue pairs on shared rows. */
.gallery .photo:nth-child(n){grid-column:span 6;aspect-ratio:.76}
.gallery .photo:nth-child(1){grid-column:span 12;aspect-ratio:1.45}
.gallery .photo:nth-child(6){grid-column:1 / span 6}
@media(max-width:700px){.gallery .photo:nth-child(1){aspect-ratio:.82}}

/* Desktop: show the opening portrait in full and keep news readable on screen. */
@media(min-width:801px){
 .gallery .photo:nth-child(1){aspect-ratio:auto;background:transparent;justify-self:center;width:auto;max-width:100%}
 .gallery .photo:nth-child(1) img{display:block;width:auto;max-width:100%;height:auto;max-height:75vh;object-fit:contain}
 .news{padding:70px 4vw}
 .news-grid{max-width:min(340px,28vh);gap:36px}
 .news-copy{padding:18px 20px 22px}
 .news-copy h2{font-size:21px;line-height:1.15}
 .news-copy>p:last-child{font-size:12px;line-height:1.5}
}

@media(min-width:801px){
 main{max-width:1100px;margin:0 auto}
 .topbar{height:60px}
 nav{gap:20px;font-size:11px}
 .hero{min-height:0;height:min(650px,76vh)}
 .hero-image{min-height:0;height:100%}
 .hero-copy{padding:60px 35px 35px}
 h1{font-size:clamp(64px,7vw,100px)}
 .hero-meta{font-size:10px;gap:18px}
 .profile,.reel,.gallery-section,.news,.credits,.contact{padding:55px 35px}
 .profile h2,.reel h2,.gallery-heading h2,.contact h2{font-size:42px}
 .eyebrow{margin-bottom:24px}
 .bio{font-size:16px;line-height:1.6;margin-top:24px}
 .bio p{margin-bottom:18px}
 .reel .video-frame{max-width:760px;margin:0 auto;padding-top:0;aspect-ratio:16/9}
 .secondary-reel{margin-top:45px}
 .secondary-heading h3{font-size:32px}
 .gallery{max-width:860px;margin:0 auto}
 .gallery .photo:nth-child(1) img{max-height:60vh}
 .news-grid{max-width:860px;gap:24px}
 .news-card{display:grid;grid-template-columns:auto 1fr;align-items:stretch}
 .news-card figure img{width:auto;max-width:280px;height:340px;object-fit:contain}
 .news-copy{padding:28px;justify-content:center}
 .news-copy h2{font-size:24px;line-height:1.2;margin-bottom:16px}
 .news-copy>p:last-child{font-size:14px;line-height:1.6;max-width:480px}
 .news-date{font-size:9px}
 .credit-list article{padding:16px 0}
 .credit-list h3{font-size:21px}
 .feature{height:48vh;max-height:420px}
 .contact .mail{font-size:26px;margin:30px 0 20px}
 .contact .phone{font-size:22px;margin-bottom:24px}
}

/* Opening gallery portrait uses the same tile size as every other photo. */
.gallery .photo:nth-child(1){grid-column:span 6;aspect-ratio:.76;justify-self:stretch;width:100%;max-width:none;background:#ddd}
.gallery .photo:nth-child(1) img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.gallery .photo:nth-child(2),.gallery .photo:nth-child(6){grid-column:auto / span 6}

.agent-link{display:block;margin-top:10px;font-size:12px;text-decoration:underline;text-underline-offset:4px;line-height:1.5}
