@font-face{font-family:"Patrick Hand";src:url("fonts/PatrickHand-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--font-sans:"Patrick Hand","Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif;--paper:#f3f0e8;--ink:#252720;--muted:#696b60;--rule:#cecec0;--space:clamp(24px,4.6vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:7px}a:hover{text-decoration:underline;text-underline-offset:5px}::selection{background:#d6d5bd}header,main,footer{padding-inline:var(--space)}.skip{position:absolute;top:-100px;left:24px;background:var(--ink);color:var(--paper);padding:15px;z-index:2}.skip:focus{top:12px}.topbar{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--rule)}.wordmark{font-size:17px;font-weight:600;letter-spacing:-.04em}.nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;line-height:1.8;letter-spacing:.02em}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.masthead{padding-top:clamp(62px,9vw,160px);padding-bottom:clamp(68px,9vw,150px)}h1,h2,p{margin:0}h1{font-weight:400;letter-spacing:-.075em;line-height:.95;font-size:clamp(64px,13.4vw,224px)}.hero-title{white-space:nowrap}.hero-bottom{margin-top:30px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.role{font-size:clamp(14px,1.2vw,19px);letter-spacing:.035em;line-height:1.6;max-width:390px}.edition,.eyebrow{font-size:12px;letter-spacing:.09em;line-height:1.6;text-transform:uppercase}.edition{text-align:right;color:var(--muted)}.section-label{display:flex;justify-content:space-between;padding-bottom:21px;border-bottom:1px solid var(--ink);font-size:14px;font-weight:400;letter-spacing:.04em}.work-list{padding-bottom:110px}.project-link{display:grid;grid-template-columns:55px 1fr 60px;gap:20px;align-items:center;padding:32px 0;border-bottom:1px solid var(--rule);transition:padding .2s}.project-link:hover{padding-left:12px;text-decoration:none}.project-number{font-size:12px;color:var(--muted)}.project-name{font-family:var(--font-sans);font-size:clamp(35px,5.4vw,86px);font-weight:400;line-height:1.13;letter-spacing:-.045em}.project-arrow{font-size:28px;text-align:right;font-weight:400}.project-cover{grid-column:2/4;width:100%;height:auto;display:block;margin-top:18px}.footer{border-top:1px solid var(--rule);padding-block:28px 40px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px;letter-spacing:.03em;line-height:1.7}.footer-role{color:var(--muted)}.project-heading{padding-block:76px 72px}.project-heading h1{font-family:var(--font-sans);font-size:clamp(66px,10.5vw,165px);letter-spacing:-.06em;line-height:1.08;margin-top:32px;overflow-wrap:anywhere}.project-meta{display:flex;justify-content:space-between;gap:24px;margin-top:34px;font-size:14px;line-height:1.6}.credits{max-width:500px;white-space:pre-line}.gallery{display:flex;flex-direction:column;gap:clamp(32px,7vw,110px);padding-bottom:100px}.still{margin:0}.still img{display:block;width:100%;height:auto;object-fit:contain}.still figcaption{padding-top:14px;color:var(--muted);font-size:12px;line-height:1.6}.empty-stills{border-block:1px solid var(--rule);min-height:clamp(230px,35vw,480px);display:flex;flex-direction:column;justify-content:center;gap:18px;padding-block:40px}.empty-stills p:first-child{font-family:var(--font-sans);font-size:clamp(27px,3.5vw,48px);letter-spacing:-.025em}.empty-stills p:last-child{color:var(--muted);font-size:14px;line-height:1.6}.project-next{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-block:20px 70px}.project-next a:last-child{text-align:right}.project-next span{display:block;font-size:12px;color:var(--muted);letter-spacing:.06em;margin-bottom:14px}.project-next strong{font-family:var(--font-sans);font-weight:400;font-size:clamp(24px,3vw,42px);letter-spacing:-.025em}.text-page{min-height:70vh;padding-block:90px 110px}.text-page h1{font-size:clamp(70px,12vw,170px);margin-bottom:75px}.text-body{max-width:700px;font-size:clamp(20px,2.5vw,34px);line-height:1.5;letter-spacing:-.025em;white-space:pre-line}.unavailable{font-size:17px;color:var(--muted);line-height:1.8}.primary-link{display:inline-block;margin-top:30px;border-bottom:1px solid var(--ink);padding-bottom:10px}.preview-note{color:var(--muted);font-size:14px;line-height:1.7;max-width:560px;margin-top:30px}
@media(min-width:1500px){body{max-width:2000px;margin:auto}}
@media(max-width:640px){.topbar{min-height:118px;align-items:flex-start;justify-content:center;flex-direction:column;gap:15px;padding-block:24px}.nav{font-size:12px;gap:10px 18px}.hero-title{font-size:14vw;letter-spacing:-.08em}.hero-bottom{flex-direction:column;gap:25px}.edition{text-align:left}.masthead{padding-top:74px;padding-bottom:74px}.project-link{grid-template-columns:25px 1fr 24px;gap:10px;padding-block:28px}.project-meta{flex-direction:column}.project-heading{padding-block:58px 45px}.project-heading h1{font-size:19vw}.project-next{grid-template-columns:1fr}.project-next a:last-child{text-align:left}.work-list{padding-bottom:75px}.text-page{padding-top:60px}.text-page h1{margin-bottom:50px}.project-cover{grid-column:1/4}.footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-link{transition:none}}
.project-name{margin:0}
@media(min-width:641px){.hero-title{font-size:min(13.4vw,224px)}}

.language-switch{border-left:1px solid var(--rule);padding-left:20px;text-transform:none;font-weight:600;white-space:nowrap}
@media(max-width:640px){.language-switch{padding-left:12px}.nav{gap:10px 12px}}

/* Contemporary typography shared by both languages. */
.hero-title{font-weight:500;letter-spacing:-.065em;font-size:12.2vw}
.project-name{font-weight:400;letter-spacing:-.045em;line-height:1.16;overflow-wrap:anywhere}
.project-heading h1{font-weight:400;letter-spacing:-.055em;line-height:1.1;font-size:clamp(54px,9vw,142px)}
.project-next strong{font-weight:400;letter-spacing:-.03em;line-height:1.2}
.text-page h1{font-weight:400;letter-spacing:-.055em}
.text-body{font-size:clamp(20px,2vw,28px);line-height:1.65;letter-spacing:-.015em}
.nav{font-weight:500;letter-spacing:.015em}
@media(min-width:1500px){.hero-title{font-size:min(12.2vw,244px)}}
@media(max-width:640px){.hero-title{font-size:12.4vw;letter-spacing:-.065em}.project-heading h1{font-size:clamp(46px,13vw,78px)}.nav{font-size:14px;gap:10px 14px}}

/* Slightly smaller masthead name across both languages. */
.hero-title{font-size:9vw}
@media(min-width:1500px){.hero-title{font-size:min(9vw,180px)}}
@media(max-width:640px){.hero-title{font-size:9.2vw}}

/* Local design trial: quiet identity, image-led opening. */
.wordmark{display:flex;flex-direction:column;gap:6px;flex-shrink:0;letter-spacing:0}
.identity-name{font-size:27px;font-weight:500;letter-spacing:-.035em;line-height:1.2}
.identity-role{font-size:12px;font-weight:400;letter-spacing:.045em;line-height:1.5;color:var(--muted)}
.topbar{min-height:132px}
.work-list{padding-top:40px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:800px){.topbar{align-items:flex-start;flex-direction:column;justify-content:center;gap:24px;padding-block:28px}.identity-name{font-size:24px}.work-list{padding-top:28px}}

/* Consistent interior-page scale for the compact identity. */
.project-heading{padding-block:48px 44px}
.project-heading h1,.text-page h1{font-size:clamp(40px,5.5vw,80px);font-weight:400;letter-spacing:-.045em;line-height:1.12;overflow-wrap:normal;word-break:normal}
.project-heading h1{margin-top:22px}
.project-meta{margin-top:26px}
.text-page{padding-block:48px 80px}
.text-page h1{margin-bottom:40px}
.text-body{font-size:clamp(20px,1.8vw,26px);max-width:740px;overflow-wrap:anywhere}
.project-name{font-size:clamp(32px,4.5vw,64px)}
.project-next strong{font-size:clamp(24px,2.6vw,36px)}
@media(max-width:640px){.project-heading,.text-page{padding-top:32px}.project-heading{padding-bottom:32px}.project-heading h1,.text-page h1{font-size:clamp(36px,9vw,52px)}.text-page h1{margin-bottom:28px}.project-meta{gap:18px}}

/* Quiet reel page, matching the compact identity. */
.reel-page h1{font-size:28px;line-height:1.25;letter-spacing:-.025em;margin-bottom:22px}
.reel-page .text-body{font-size:18px;line-height:1.6;letter-spacing:0}
.reel-page .primary-link{font-size:14px;margin-top:22px;padding-bottom:8px}
@media(max-width:640px){.reel-page h1{font-size:26px;margin-bottom:20px}}

/* Consistent, restrained titles across the local design trial. */
.project-heading h1,.text-page h1{font-size:28px;line-height:1.25;letter-spacing:-.025em}
.text-page h1{margin-bottom:22px}
.project-heading h1{margin-top:18px}
.text-page .text-body{font-size:18px;line-height:1.7;letter-spacing:0}
.text-page .primary-link{font-size:14px;margin-top:22px;padding-bottom:8px}
.project-name{font-size:28px;line-height:1.25;letter-spacing:-.025em}
.project-next strong{font-size:24px;line-height:1.3;letter-spacing:-.02em}
@media(max-width:640px){.project-heading h1,.text-page h1,.project-name{font-size:26px}.text-page h1{margin-bottom:20px}.project-next strong{font-size:22px}}

/* Filmography follows the portfolio's quiet typographic scale. */
.all-work-link{padding-top:22px}
.all-work-link .primary-link{font-size:18px;margin-top:0}
.filmography-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.filmography-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--rule)}
.filmography-row h2{font-size:22px;font-weight:400;line-height:1.4;overflow-wrap:anywhere}
.filmography-row h2 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.filmography-details{font-size:16px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:640px){.filmography-row{grid-template-columns:1fr;gap:8px;padding-block:20px}}

.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.about-portrait{display:block;width:100%;height:auto;filter:grayscale(1)}
@media(max-width:800px){.about-layout{grid-template-columns:1fr}.about-portrait{max-width:680px}}

.trailer-link{font-size:16px;margin-top:24px}.trailer-note{font-size:14px;color:var(--muted)}

.inline-trailer{margin-top:28px;max-width:900px}.trailer-label{font-size:16px;margin-bottom:12px}.inline-trailer video{display:block;width:100%;height:auto;background:#000}

.filmography-trailer{font-size:16px;margin-top:12px}

.footer-email{font-size:16px;letter-spacing:0;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

.footer-contact{display:flex;align-items:center;gap:12px;max-width:100%}
.footer-instagram{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;color:inherit}
.footer-instagram:hover{opacity:.65}
.footer-instagram:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.about-layout .text-body{white-space:pre-line}
