:root{--paper:#f3f1ee;--ink:#1b1b19;--muted:#6f6d68;--line:#c8c6c0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;gap:3rem;padding:1.55rem 3.1%;color:var(--ink);font-size:.68rem;letter-spacing:.13em;font-weight:600}.wordmark{white-space:nowrap;letter-spacing:.15em}.topbar nav{display:flex;gap:1.8rem;margin-left:auto}.topbar nav a,.langs button{transition:opacity .2s}.topbar nav a:hover,.langs button:hover{opacity:.5}.langs{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.langs button{padding:0;border:0;background:none;cursor:pointer;color:inherit;font-size:.68rem;letter-spacing:.1em}.langs button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:5px}.hero{min-height:760px;height:100svh;max-height:1100px;display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden}.hero-image{grid-column:2;overflow:hidden;background:#d5d3d0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:saturate(.68)}.hero-type{position:absolute;left:7.4%;top:50%;transform:translateY(-42%);width:75%;pointer-events:none}.eyebrow{font-size:.68rem;letter-spacing:.22em;font-weight:600;text-transform:uppercase}.hero h1{font-family:'Italiana',Georgia,serif;font-size:clamp(6.4rem,12vw,13.4rem);font-weight:400;line-height:.81;letter-spacing:-.04em;margin:2rem 0 3.5rem;white-space:nowrap}.hero h1 em,.about h2 em,.contact h2 em{font-weight:400;font-style:normal}.hero-foot{display:flex;gap:6rem;align-items:center;font-size:.68rem;letter-spacing:.18em;font-weight:600;pointer-events:auto}.hero-foot a{border-bottom:1px solid var(--ink);padding-bottom:8px}.side-note{position:absolute;bottom:2.5rem;right:3%;writing-mode:vertical-rl;font-size:.68rem;letter-spacing:.16em;color:#fff}.intro-line{padding:4rem 7.4% 5rem;display:grid;grid-template-columns:1fr 2fr;align-items:end;gap:2rem}.intro-line p{font-family:'Italiana',Georgia,serif;font-size:clamp(2rem,4vw,4.7rem);line-height:1.1;margin:0}.intro-line .rule{grid-column:1/-1;height:1px;background:var(--line)}.section{padding:6rem 7.4% 8rem}.section-head{display:grid;grid-template-columns:1fr 2fr;column-gap:2rem;align-items:baseline;margin-bottom:3.5rem}.section-head h2,.about h2,.contact h2{font-family:'Italiana',Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:.95;font-size:clamp(4.5rem,8vw,9rem);margin:0}.section-head p{grid-column:2;margin:.85rem 0 0;color:var(--muted);font-size:.9rem}.film-section{background:#1c1c1b;color:var(--paper)}.film-section .section-head p{color:#aaa8a3}.film-feature{display:block}.film-still{position:relative;height:min(66vw,650px);overflow:hidden;background:#333}.film-still img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:brightness(.75) grayscale(.25);transition:transform .6s,filter .6s}.film-feature:hover img{transform:scale(1.025);filter:brightness(.85) grayscale(.1)}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:1rem;padding-left:4px}.film-caption{display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;border-bottom:1px solid #777;font-size:.7rem;letter-spacing:.16em}.film-note{max-width:450px;font-size:.8rem;line-height:1.6;color:#a9a7a2;margin-top:1.5rem}.photos{padding-bottom:12rem}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:2.5vw;align-items:start}.gallery figure{margin:0;overflow:hidden;background:#dedbd6}.gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.gallery figure:hover img{transform:scale(1.025)}.g1{grid-column:1/7;aspect-ratio:4/5}.g2{grid-column:8/12;aspect-ratio:3/4;margin-top:17%!important}.g3{grid-column:2/6;aspect-ratio:3/4;margin-top:10%!important}.g4{grid-column:7/13;aspect-ratio:4/5;margin-top:17%!important}.g5{grid-column:1/6;aspect-ratio:3/4;margin-top:15%!important}.g6{grid-column:7/12;aspect-ratio:4/5}.about{background:#d9d7d2;display:grid;grid-template-columns:43% 1fr;gap:10%;align-items:center}.about-image{aspect-ratio:4/5;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.about h2{margin:2.5rem 0 3rem}.about-copy p{line-height:1.8;max-width:560px}.about-meta{display:flex;gap:3rem;border-top:1px solid #aaa8a3;margin-top:3rem;padding-top:1rem;font-size:.7rem;letter-spacing:.14em}.cv{background:#f3f1ee}.cv-grid{margin-left:33.33%;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-top:2rem}.cv h3{font-size:.7rem;letter-spacing:.2em;margin:1rem 0 1.5rem}.cv p{font-size:.9rem;line-height:1.5;margin:0 0 1rem}.cv h3:not(:first-child){margin-top:2.2rem}.download{display:inline-block;margin:3rem 0 0 33.33%;font-size:.75rem;font-weight:600;letter-spacing:.14em;border-bottom:1px solid;padding-bottom:.7rem}.contact{background:#1c1c1b;color:var(--paper);padding-top:7rem;padding-bottom:2rem}.contact h2{margin:3rem 0 2rem}.contact p{line-height:1.8}.pending{opacity:.5;font-size:.8rem}.footer-row{border-top:1px solid #666;margin-top:8rem;padding-top:1.5rem;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.17em}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}@media(max-width:850px){.topbar{position:absolute;padding:1.3rem 5%;gap:1rem}.topbar nav{display:none}.langs{margin-left:auto}.hero{height:auto;max-height:none;min-height:0;display:block;padding-top:62px}.hero-image{height:68svh;min-height:420px;margin-left:19%;}.hero-type{top:auto;bottom:2rem;left:5%;transform:none;width:90%;color:#fff;text-shadow:0 2px 25px #3338}.hero h1{font-size:clamp(4.2rem,15vw,8rem);white-space:normal;margin:1.3rem 0 1.5rem}.hero-foot{gap:1rem;justify-content:space-between;font-size:.59rem}.side-note{display:none}.intro-line,.section-head{display:block}.intro-line{padding:3rem 5%}.intro-line p{margin:2rem 0}.section{padding:4.5rem 5% 6rem}.section-head h2{margin:1.3rem 0}.section-head p{margin-top:1rem}.film-still{height:60svh}.film-caption{font-size:.57rem}.gallery{gap:1rem}.g1{grid-column:1/8}.g2{grid-column:9/13}.g3{grid-column:1/6}.g4{grid-column:7/13}.g5{grid-column:1/7}.g6{grid-column:8/13}.about{display:block}.about-image{width:72%;margin-bottom:3rem}.about h2{margin:1rem 0 2rem}.cv-grid{margin-left:0;gap:1.5rem}.download{margin-left:0}.footer-row{gap:1rem;flex-wrap:wrap}}@media(max-width:520px){.hero-image{height:72svh;margin-left:13%;min-height:480px}.hero-type{bottom:1.5rem}.hero h1{font-size:clamp(3.4rem,14vw,5.5rem)}.hero-foot span{max-width:7rem}.section-head h2,.about h2,.contact h2{font-size:clamp(4rem,19vw,6rem)}.film-still{height:55svh}.gallery{gap:1.1rem;grid-template-columns:repeat(6,1fr)}.g1{grid-column:1/7}.g2{grid-column:2/6;margin-top:2rem!important}.g3{grid-column:1/5;margin-top:2rem!important}.g4{grid-column:2/7;margin-top:2rem!important}.g5{grid-column:1/6;margin-top:2rem!important}.g6{grid-column:2/7;margin-top:2rem!important}.about-image{width:85%}.cv-grid{grid-template-columns:1fr;gap:1rem}.footer-row{margin-top:6rem}.footer-row span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Compact portfolio and scene selection */
.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 2rem}.scene-card{display:block;background:none;color:inherit;border:0;text-align:left;padding:0;cursor:pointer}.scene-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#333}.scene-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s,opacity .35s}.scene-card:hover img{transform:scale(1.025);opacity:.8}.scene-card .play{width:52px;height:52px;font-size:.8rem;background:#0003}.scene-info{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.2rem 0;border-bottom:1px solid #565651}.scene-info strong{font-size:1rem;font-weight:400}.scene-info>span{font-size:.75rem;letter-spacing:.1em;color:#b9b7b0}.photos{padding-bottom:6rem}.gallery{grid-template-columns:repeat(3,1fr);gap:1.2rem}.gallery figure{grid-column:auto;aspect-ratio:3/4;margin:0!important}.photo-open{width:100%;height:100%;display:block;border:0;padding:0;background:none;cursor:zoom-in}.gallery img{object-position:center}.media-dialog{width:min(1120px,94vw);max-height:94svh;background:#191918;color:#f3f1ee;border:1px solid #555;padding:1.25rem;overflow:auto}.media-dialog::backdrop{background:#000d;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.875rem}.dialog-close{background:none;border:0;color:inherit;cursor:pointer;font-size:.8rem;letter-spacing:.1em;padding:.5rem}.video-player{aspect-ratio:16/9}.video-player iframe{display:block;width:100%;height:100%;border:0}#video-fallback{display:inline-block;font-size:.8rem;margin-top:1rem;text-decoration:underline;text-underline-offset:4px}.photo-dialog{width:min(1040px,94vw)}.photo-view{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:1rem}.photo-view img{width:100%;height:78svh;object-fit:contain}.photo-view button{border:0;background:none;color:inherit;font-size:2.5rem;cursor:pointer;padding:.4rem}.intro-line{padding-bottom:3rem}.intro-line p{font-size:clamp(2rem,3.2vw,3.8rem)}
@media(max-width:850px){.gallery{grid-template-columns:repeat(3,1fr);gap:.8rem}.scene-info{display:block}.scene-info>span{display:block;margin-top:.5rem}.media-dialog{padding:.8rem}.photo-view{grid-template-columns:30px 1fr 30px;gap:.3rem}.photo-view img{height:75svh}.scene-grid{gap:2rem 1rem}}
@media(max-width:520px){.scene-grid{grid-template-columns:1fr;gap:2rem}.gallery{grid-template-columns:repeat(2,1fr);gap:.65rem}.gallery figure{grid-column:auto;aspect-ratio:3/4;margin:0!important}.scene-info{display:flex}.scene-info>span{margin-top:0}.photo-view img{height:70svh}.intro-line p{font-size:2.5rem}.scene-info strong{font-size:.95rem}.scene-info>span{font-size:.65rem}}

.film-page{background:#1c1c1b;color:var(--paper)}.film-page .topbar{position:relative;color:var(--paper);border-bottom:1px solid #555}.film-page .film-section{padding-top:5rem}.film-page .section-head{margin-bottom:4rem}.film-return{padding:0 7.4% 4rem}.film-return a{font-size:.8rem;letter-spacing:.15em;border-bottom:1px solid #aaa;padding-bottom:.6rem}.intro-line p{line-height:1.2}.film-feature .film-still img{object-position:50% 40%}
@media(max-width:850px){.film-page .topbar{padding:1.3rem 5%}.film-page .film-section{padding-top:4rem}.film-return{padding:0 5% 3rem}}
/* Cinematic contrast; preserve the opening portrait in full. */
:root{--paper:#eae8e4;--ink:#191918;--line:#bab7b0}
body:not(.film-page)>.topbar{color:#f3f1ee;background:#191918;padding-top:1.4rem;padding-bottom:1.4rem}
.hero{display:block;background:#191918;color:#f3f1ee;min-height:720px;height:100svh;max-height:1100px}
.hero-image{position:absolute;top:70px;right:0;bottom:0;width:54%;margin:0;background:transparent;overflow:visible}
.hero-image img{object-fit:contain;object-position:right center;filter:none}
.hero-type{left:6%;top:50%;width:50%;transform:translateY(-30%);color:#f3f1ee;text-shadow:none}
.hero h1{font-size:clamp(5rem,8.4vw,10rem);line-height:.92;letter-spacing:-.035em;margin:2rem 0 3.2rem}
.hero-foot{gap:3rem}.hero-foot a{border-color:#f3f1ee}.side-note{right:1.5rem;bottom:1.5rem;color:#191918}
.intro-line{padding-top:5rem;padding-bottom:5rem}.intro-line p{font-size:clamp(2.5rem,4.2vw,5rem);line-height:1.08}
.film-section{background:#171716}.film-feature .film-still{height:min(72vw,720px)}.film-feature .film-still img{filter:brightness(.84) saturate(.55);object-position:50% 42%}
.photos .section-head{margin-bottom:3rem}.gallery{gap:1rem}.gallery img{filter:saturate(.85)}
.about{background:#292927;color:#eeeae4}.about-copy p{color:#d3cfc7}.about-meta{border-color:#65635c}.about-image img{filter:saturate(.6)}
.cv{background:var(--paper)}.contact{background:#141413}
@media(max-width:1000px) and (min-width:851px){.hero-type{left:5%;width:52%}.hero h1{font-size:8.2vw}.hero-foot{gap:1.5rem}.hero-image{width:53%}}
@media(max-width:850px){.hero{height:auto;min-height:0;max-height:none;padding-top:66px;overflow:hidden}.hero-image{position:static;width:86%;height:72svh;min-height:0;margin:0 0 0 14%;background:transparent}.hero-image img{object-fit:contain;object-position:right center;filter:none}.hero-type{position:static;transform:none;width:100%;padding:2.5rem 5% 3rem;color:#f3f1ee}.hero h1{font-size:clamp(4rem,13.4vw,8rem);margin:1.4rem 0 2rem;line-height:.87}.hero-foot{justify-content:space-between;gap:1rem}.side-note{display:none}.intro-line{padding:4rem 5%}.intro-line p{font-size:clamp(2.6rem,6vw,4rem)}.film-feature .film-still{height:62svh}.about-image{width:85%}}
@media(max-width:520px){.hero-image{width:100%;height:67svh;margin:0}.hero-image img{object-fit:contain;object-position:center}.hero-type{padding-top:1.5rem}.hero h1{font-size:14vw}.intro-line p{font-size:2.65rem}.gallery{gap:.65rem}.film-feature .film-still{height:54svh}}

/* Name and portrait share one opening composition. */
.hero-type{position:absolute;left:6%;top:50%;width:83%;transform:translateY(-20%)}
.hero h1{font-size:clamp(6rem,11.6vw,12rem);line-height:.85;margin:1.5rem 0 2.5rem;text-shadow:0 2px 22px #0002}
.hero-foot{width:48%;justify-content:space-between;gap:1rem}
@media(max-width:1000px) and (min-width:851px){.hero-type{left:5%;width:88%}.hero h1{font-size:11.6vw}.hero-foot{width:52%}}
@media(max-width:850px){.hero{height:90svh;min-height:620px;padding-top:0;max-height:none}.hero-image{position:absolute;top:66px;right:0;bottom:0;width:87%;height:auto;margin:0}.hero-image img{object-fit:contain;object-position:right center}.hero-type{position:absolute;left:5%;top:auto;bottom:2rem;transform:none;width:90%;padding:0;text-shadow:0 2px 18px #0007}.hero h1{font-size:clamp(4rem,14vw,8rem);margin:1.3rem 0 1.7rem;line-height:.85}.hero-foot{width:100%;justify-content:space-between}.hero-foot a{background:#19191890;padding:.5rem .6rem;border-bottom:1px solid #f3f1ee}.hero-type .eyebrow{background:#19191890;padding:.4rem .6rem}}
@media(max-width:520px){.hero{height:88svh;min-height:600px}.hero-image{width:91%;height:auto;margin:0}.hero-image img{object-fit:contain;object-position:right center}.hero-type{bottom:1.5rem}.hero h1{font-size:14vw}.hero-foot{font-size:.65rem}}

.contact-email{display:inline-block;font-size:clamp(1rem,2.5vw,2rem);border-bottom:1px solid #999;padding-bottom:.45rem;margin-top:1rem;overflow-wrap:anywhere}
/* Larger opening portrait, with a controlled crop. */
.hero-image{width:55%;overflow:hidden}
.hero-image img{object-fit:cover;object-position:50% 32%}
@media(max-width:1000px) and (min-width:851px){.hero-image{width:55%}.hero-image img{object-position:50% 30%}}
@media(max-width:850px){.hero-image{width:90%}.hero-image img{object-fit:cover;object-position:50% 30%}}
@media(max-width:520px){.hero-image{width:100%}.hero-image img{object-fit:cover;object-position:50% 28%}}

.about-meta{flex-wrap:wrap;gap:1rem 2rem}.cv-facts{margin:0 0 2rem 33.33%!important;font-size:.9rem!important;letter-spacing:.08em}@media(max-width:850px){.cv-facts{margin-left:0!important}}

/* Mobile-only portrait framing: keep attention on face and shoulders. */
@media(max-width:850px){.hero-image img{transform:scale(1.22);transform-origin:50% 55%}}
