*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:#f6f1e8;color:#211b16;font:300 15px/1.75 Inter,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.02}h1{font-size:clamp(80px,10vw,160px);letter-spacing:-.05em;margin-bottom:24px}h2{font-size:clamp(44px,5.2vw,76px);letter-spacing:-.035em;margin-bottom:28px}h3{font-size:34px;margin:15px 0}em{font-weight:400;color:#947344}.label{font-size:10px;font-weight:500;letter-spacing:.19em;line-height:1.6}.section{padding:90px max(6vw,24px)}.bio-hero{max-width:1440px;margin:auto;padding:70px 6vw 90px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:8vw;min-height:720px}.lead{font:400 clamp(30px,3.5vw,46px)/1.15 'Cormorant Garamond',serif}.intro{max-width:480px;color:#675e54}.portrait{margin:0;position:relative}.portrait img{display:block;width:100%;height:510px;object-fit:cover;object-position:50% 28%;border-radius:180px 180px 0 0}.portrait figcaption{font-size:9px;letter-spacing:.23em;margin-top:18px;text-align:center}.bio-index{display:flex;flex-wrap:wrap;gap:20px;margin-top:36px;font-size:12px}.bio-index a,.text-link{text-decoration:none;border-bottom:1px solid #a78a65;padding-bottom:5px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-title p{font-size:12px;color:#726455}.section-title .label{font-size:10px}.section-title h2{margin-bottom:0}.projects{background:#eae3d8}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.poster{position:relative;width:100%;display:block;border:0;background:#d9cfc0;padding:0;transition:transform .4s,box-shadow .4s}.poster img{display:block;width:100%;height:480px;object-fit:contain}.poster span{position:absolute;bottom:14px;left:14px;background:#181512e8;color:#fff;padding:8px 12px;font-size:8px;letter-spacing:.12em}.poster:hover{transform:translateY(-8px);box-shadow:0 20px 40px #33220f2b}.project>.label{margin:22px 0 10px}.project h3{font-size:38px}.project p{font-size:13px}.project .role{font-weight:500;font-size:11px;letter-spacing:.02em}.text-link{font-size:11px;display:inline-block}.award{background:#24201c;color:#f3eadc;text-align:center;padding-block:95px}.award em{color:#dec28e}.award .label{color:#dec28e}.award h2{font-size:clamp(48px,6vw,82px)}.award>p:not(.label){font-size:14px;letter-spacing:.04em}.milestones{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.timeline article{border-left:1px solid #cbb99f;padding:0 0 40px 30px}.timeline article:last-child{padding-bottom:0}.timeline article>span{font-size:11px;letter-spacing:.13em;color:#8c683a}.timeline h3{font-size:29px}.timeline p{font-size:13px;max-width:560px}.festivals{background:#eae3d8}.festival-deck{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/3);gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 24px}.festival{scroll-snap-align:start;text-decoration:none}.festival img{width:100%;height:350px;object-fit:contain;background:#dfd6c9;transition:transform .3s}.festival:hover img{transform:translateY(-5px)}.festival h3{font-size:29px}.festival p{font-size:12px}.festival>span{font-size:11px;border-bottom:1px solid #9a7953}.media h2{margin-bottom:40px}.media-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.media-feature{background:#e8ddcb;padding:45px;position:relative}.media-mark{font:italic 500 75px/1 'Cormorant Garamond',serif;display:block;margin-bottom:50px;color:#78603e}.media-mark span{font:500 10px Inter,sans-serif;letter-spacing:.15em;vertical-align:super;margin-left:15px}.media-feature h3,.press h3{font-size:42px}.media-feature p,.press p{font-size:13px}.button{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;padding:17px 22px;background:#24201c;color:#fff4e3;font-size:10px;letter-spacing:.1em;min-height:48px}.media-feature .text-link{display:block;width:fit-content;margin-top:18px}.press{padding:45px;border:1px solid #cdbfa9;display:flex;flex-direction:column;justify-content:center}.press .text-link{align-self:start}.closing{text-align:center;border-top:1px solid #d9ccba}.closing p{font-size:13px}.poster-dialog{border:0;padding:60px 20px 20px;background:#f6f1e8;max-width:95vw;max-height:94vh}.poster-dialog::backdrop{background:#16120fe8;backdrop-filter:blur(8px)}.poster-dialog img{display:block;max-height:75vh;max-width:85vw;width:auto;object-fit:contain}.close{position:absolute;right:20px;top:14px;background:none;border:0;min-height:32px;font-size:12px}body:has(dialog[open]){overflow:hidden}.skip-link{position:absolute;top:-100px;left:20px;z-index:100}.skip-link:focus{top:10px;background:white;padding:10px}:focus-visible{outline:2px solid #9b703b;outline-offset:5px}
@media(max-width:980px){.bio-hero{gap:35px;min-height:600px}.portrait img{height:390px}.poster img{height:340px}.project-grid{gap:20px}.project h3{font-size:30px}.festival img{height:280px}.media-feature,.press{padding:30px}}
@media(max-width:680px){.bio-hero{padding:45px 24px 60px;grid-template-columns:1fr;gap:35px}.bio-hero h1{font-size:88px}.portrait{max-width:360px;margin:auto;width:100%}.portrait img{height:380px}.section{padding:60px 24px}.section-title{display:block}.section-title>p{margin-top:20px}.project-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-24px;padding:10px 24px 24px 0}.project{flex:0 0 85%;scroll-snap-align:start}.poster img{height:400px}.milestones{grid-template-columns:1fr;gap:30px}.festival-deck{grid-auto-columns:78%;gap:20px;margin-right:-24px;padding-right:24px}.festival img{height:330px}.media-grid{grid-template-columns:1fr}.media-mark{margin-bottom:30px}.bio-index{font-size:11px}.section-title h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.poster:hover,.festival:hover img{transform:none}}
/* Commemorative award panel: original festival identity and decorative medal. */
.award-commemorative{position:relative;isolation:isolate;padding:72px max(6vw,24px);background:radial-gradient(ellipse at 20% 40%,#51402b55,transparent 55%),#24201c;text-align:left;overflow:hidden}.award-frame{max-width:1200px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;border:1px solid #caa97455;padding:50px clamp(24px,4vw,64px);position:relative}.award-frame:before,.award-frame:after{content:'';position:absolute;width:50px;height:50px;pointer-events:none;border-color:#d5b680;border-style:solid}.award-frame:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.award-frame:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.award-insignia{text-align:center}.award-medal{display:block;width:min(100%,360px);margin:auto;filter:drop-shadow(0 15px 22px #0005);transition:transform .6s ease,filter .6s ease}.award-insignia:hover .award-medal{transform:translateY(-5px) rotate(-2deg);filter:drop-shadow(0 20px 30px #0007)}.award-insignia-note{display:block;color:#ba9b6b;font-size:8px;letter-spacing:.25em;margin-top:8px}.award-story>.label{font-size:9px;margin-bottom:24px}.award-story h2{font-size:clamp(30px,3.2vw,48px);letter-spacing:-.02em;margin:0 0 8px;color:#ddc69f}.award-film{font:400 clamp(42px,5.5vw,76px)/1.02 'Cormorant Garamond',serif;letter-spacing:-.04em;margin:0 0 20px;color:#fff6e6}.award-film em{display:block;color:#dfc18a}.award-credit{font-size:11px;color:#c3b9aa;margin:0 0 28px}.award-festival{display:flex;align-items:center;gap:20px;border-top:1px solid #caa97433;border-bottom:1px solid #caa97433;padding:22px 0;margin-bottom:25px}.award-festival img{width:110px;height:auto;display:block;border:1px solid #eee0c333}.award-festival .label{font-size:8px;color:#c3aa81}.award-festival h3{font-size:30px;margin:6px 0}.award-edition{font-size:10px;color:#c3b9aa;letter-spacing:.05em}.award-story .text-link{font-size:10px;color:#e7d4b2;border-color:#9b8059;padding-bottom:6px}
@media(max-width:980px){.award-frame{gap:25px;padding:35px 25px}.award-festival{gap:14px}.award-festival img{width:90px}.award-festival h3{font-size:25px}}
@media(max-width:680px){.award-commemorative{padding:44px 20px}.award-frame{grid-template-columns:1fr;gap:30px;text-align:center;padding:28px 22px 36px}.award-medal{width:220px}.award-insignia-note{font-size:7px}.award-story>.label{font-size:8px;margin-bottom:18px}.award-story h2{font-size:31px}.award-film{font-size:54px}.award-credit{font-size:10px}.award-festival{justify-content:center;text-align:left;gap:16px}.award-festival img{width:86px}.award-festival h3{font-size:26px}.award-story .text-link{font-size:10px}}
@media(prefers-reduced-motion:reduce){.award-insignia:hover .award-medal{transform:none}}
@media(min-width:681px){.award-commemorative{padding-block:48px}.award-frame{padding-block:35px}.award-medal{max-width:320px}.award-story>.label{margin-bottom:16px}.award-credit{margin-bottom:20px}.award-festival{padding-block:16px;margin-bottom:20px}}
/* Biography and qualifications */
.bio-hero{grid-template-columns:1.4fr .85fr;gap:6vw}.intro{max-width:650px;font-size:14px}.intro p{margin-bottom:18px}.imdb-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:11px;margin-top:8px}.imdb-link span{background:#edc35a;color:#171410;font-weight:600;font-size:16px;padding:1px 8px;border-radius:3px;letter-spacing:-.04em}.formation{border-top:1px solid #d9ccba;padding-top:55px;padding-bottom:60px}.formation h2{font-size:44px}.qualification-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:30px}.qualification-grid article{padding:20px 0 0;border-top:1px solid #c7b498}.qualification-grid article>span{font-size:10px;color:#947344}.qualification-grid h3{font-size:26px;line-height:1.2;max-width:430px}.qualification-grid p{font-size:11px;color:#716351}.media-feature{padding:0;overflow:hidden}.pieces-copy{padding:30px}.pieces-player{aspect-ratio:16/9;background:#211b16;position:relative}.pieces-play{display:block;width:100%;height:100%;border:0;padding:0;position:relative;background:#211b16;color:#fff}.pieces-play img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .5s}.pieces-play:hover img{transform:scale(1.025);opacity:.85}.play-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff9;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;background:#211b1677;backdrop-filter:blur(4px)}.play-caption{position:absolute;bottom:16px;left:16px;font-size:10px;letter-spacing:.1em;background:#211b16c9;padding:8px 12px}.pieces-player iframe{display:block;width:100%;height:100%;border:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poster img{height:500px}
@media(max-width:680px){.bio-hero{grid-template-columns:1fr}.qualification-grid{grid-template-columns:1fr;gap:16px}.formation h2{font-size:38px}.qualification-grid h3{font-size:27px}.intro{font-size:14px}.pieces-copy{padding:24px}.poster img{height:400px}}
/* Compact filmography and illustrated milestones */
.project-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:230px;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:4px;padding:12px 4px 24px;overscroll-behavior-x:contain;scrollbar-color:#aa8d63 #ddd3c4;scrollbar-width:thin}.project{min-width:0;scroll-snap-align:start}.project .poster img{height:305px;width:100%;object-fit:contain}.project h3{font-size:28px;line-height:1.08;margin:12px 0}.project>.label{margin-top:18px}.project .role{font-size:11px;line-height:1.65}.project p{font-size:12px}.project .art-credit{font-size:10px;color:#766856}.deck-controls{text-align:right;flex-shrink:0}.deck-controls p{margin-bottom:12px}.deck-controls button{border:1px solid #ac9778;border-radius:50%;background:transparent;color:#493827;width:46px;height:46px;margin-left:6px;transition:background .25s,color .25s,transform .25s}.deck-controls button:disabled{opacity:.3;cursor:default}.deck-controls button:not(:disabled):hover{background:#33271b;color:#fff;transform:translateY(-2px)}.milestones{display:block}.milestones>.label,.milestones>div>.label{margin-bottom:30px}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.timeline article{border:1px solid #d2c3ac;background:#f9f5ef;padding:0;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.milestone-image{margin:0;background:#e5ddcf}.milestone-image img{display:block;width:100%;height:205px;object-fit:contain;transition:transform .5s}.timeline article:first-child .milestone-image img{object-fit:cover}.milestone-image figcaption{font-size:8px;padding:8px 12px;color:#695c4c;min-height:29px}.milestone-copy{padding:24px}.milestone-copy>span{font-size:11px;color:#8c683a;letter-spacing:.13em}.milestone-copy h3{font-size:28px;line-height:1.1}.milestone-copy p{font-size:12px}.timeline article:last-child{padding:0}.press{padding:0;display:block;overflow:hidden}.press-photo{display:block;position:relative;overflow:hidden}.press-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .5s}.press-photo span{position:absolute;bottom:0;left:0;right:0;padding:9px 12px;background:#211b16b8;color:#fff;font-size:8px}.press-copy{padding:30px}.media-grid{align-items:start}.media-feature,.press,.qualification-grid article{transition:transform .3s,box-shadow .3s,border-color .3s}.qualification-grid article{padding:20px 14px 10px}.imdb-link,.button,.bio-index a,.text-link{transition:transform .25s,color .25s,background .25s}.portrait{overflow:hidden}.portrait img{transition:filter .5s}.festival{transition:transform .3s}
@media(hover:hover) and (pointer:fine){.timeline article:hover,.media-feature:hover,.press:hover,.qualification-grid article:hover{transform:translateY(-5px);box-shadow:0 15px 30px #38281112;border-color:#a4865b}.press-photo:hover img{transform:scale(1.035)}.imdb-link:hover,.button:hover{transform:translateY(-3px)}.text-link:hover,.bio-index a:hover{color:#997244}.portrait:hover img{filter:brightness(1.04)}.festival:hover{transform:translateY(-4px)}}
@media(max-width:980px){.timeline{gap:16px}.milestone-copy{padding:18px}.milestone-copy h3{font-size:25px}.project-grid{grid-auto-columns:215px}.project .poster img{height:280px}}
@media(max-width:680px){.project-grid{display:grid;grid-auto-columns:205px;gap:20px;margin-right:0;padding-right:4px}.project .poster img{height:265px}.project{flex:none}.deck-controls{display:flex;align-items:center;justify-content:space-between;text-align:left;margin-top:20px}.deck-controls p{margin:0!important;font-size:10px}.deck-controls button{width:42px;height:42px}.timeline{grid-template-columns:1fr}.milestone-image img{height:210px}.milestone-copy{padding:24px}.press-copy{padding:24px}.qualification-grid article{padding-left:0}}
@media(prefers-reduced-motion:reduce){.timeline article:hover,.media-feature:hover,.press:hover,.qualification-grid article:hover,.imdb-link:hover,.button:hover,.festival:hover,.press-photo:hover img{transform:none}}
/* Editorial honours navigation and decorative diploma laurels */
.bio-index{gap:10px;margin-top:28px}.bio-index .honour-link{display:flex;align-items:center;gap:10px;border:1px solid #b59a70;background:linear-gradient(130deg,#eee1c9,#f7f1e6);padding:12px 14px;text-decoration:none;box-shadow:0 3px 9px #49301d08;font-size:11px;font-weight:500;min-height:49px}.honour-mark{font-family:'Cormorant Garamond',serif;font-size:20px;color:#92703b;border-right:1px solid #c6b18d;padding-right:10px}.honour-arrow{font-size:14px;color:#8c6a38}.honour-link:hover{background:#e7d5b4!important;transform:translateY(-3px);box-shadow:0 7px 16px #49301d14}.formation{background:#eee7da}.qualification-grid{grid-template-columns:1.4fr 1fr 1fr;gap:20px}.qualification-grid article{position:relative;padding:24px;text-align:center;background:#faf7f0;border:1px solid #c6ad80;outline:1px solid #d9c9ac;outline-offset:-7px;box-shadow:0 8px 24px #36291708}.diploma-laurel{width:104px;height:104px;color:#a17d40;display:block;margin:0 auto 12px}.qualification-grid h3{font-size:25px;margin:10px auto 16px}.qualification-grid p{font-size:11px;margin-bottom:6px;color:#735f40}.projects{background:linear-gradient(180deg,#25211c,#302921);color:#f5eddf;overflow:hidden}.projects .section-title{align-items:center;margin-bottom:18px}.projects .section-title .label{color:#dfc596;font-size:12px;letter-spacing:.19em;margin:0}.projects .deck-controls p{color:#c9bca9;font-size:10px}.projects .deck-controls button{color:#f2dfb9;border-color:#a88a58}.projects .deck-controls button:not(:disabled):hover{background:#dfc08b;color:#25211c}.deck-controls .motion-toggle{width:auto;border-radius:30px;padding:0 16px;font-size:10px;letter-spacing:.04em}.project-grid{scroll-snap-type:none;padding-top:20px;padding-bottom:30px;scrollbar-color:#b49660 #3e3428}.project{background:#f5eee2;color:#30271c;padding:10px 10px 20px;border:1px solid #c7b48e70;border-radius:4px;box-shadow:0 12px 25px #0003;transition:transform .35s,box-shadow .35s}.project:nth-child(even){transform:rotate(.6deg)}.project:nth-child(odd){transform:rotate(-.6deg)}.project>p,.project>h3,.project>.text-link{margin-left:8px;margin-right:8px}.project .poster{background:#ded4c4}.project .poster img{height:285px}.project .poster:hover{transform:none;box-shadow:none}.project:hover,.project:focus-within{transform:translateY(-8px) rotate(0deg);box-shadow:0 20px 38px #0005}.projects .section-title{flex-wrap:wrap}.media-grid{grid-template-columns:1fr 1fr;gap:28px}.media-feature .pieces-player{aspect-ratio:16/9}.pieces-play img{object-position:center}.milestone-press .milestone-image img{height:250px}.media-identities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px;padding-top:35px;border-top:1px solid #cbb99e}.media-identities a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#f8f3eb;border:1px solid #d3c4ad;padding:24px;text-decoration:none;transition:transform .3s,box-shadow .3s}.media-identities img{width:160px;max-width:100%;height:75px;object-fit:contain}.media-identities span{font-size:10px;color:#6b593e}.media-identities a:hover{transform:translateY(-6px);box-shadow:0 12px 25px #49301d15}.festival{border:1px solid #c9b79c;padding:14px;background:#f6f0e5}.festival h3{font-size:26px}.festival img{height:290px}.media{padding-bottom:90px}
@media(max-width:680px){.bio-index .honour-link{font-size:10px;flex:1 1 145px;padding:11px}.qualification-grid{grid-template-columns:1fr}.qualification-grid article{padding:22px}.qualification-grid h3{max-width:290px}.projects .section-title{display:block}.projects .deck-controls{gap:8px;align-items:center}.deck-controls .motion-toggle{padding:0 12px;margin-left:0}.projects .deck-controls p{max-width:115px;font-size:9px}.project .poster img{height:245px}.media-grid{grid-template-columns:1fr}.media-identities{grid-template-columns:1fr;gap:14px}.media-identities a{flex-direction:row;justify-content:space-between}.media-identities img{width:130px;height:60px}.festival img{height:260px}}
@media(prefers-reduced-motion:reduce){.project:nth-child(n),.project:hover,.project:focus-within,.honour-link:hover,.media-identities a:hover{transform:none}}

/* Continuous movement uses immediate frame updates; manual arrows request smooth scrolling. */
.project-grid{scroll-behavior:auto}

.project-grid{overflow-anchor:none}
