:root{--ink:#090d13;--panel:#101c2d;--line:#293444;--white:#f1f5fa;--muted:#aab6c6;--cyan:#52d6ff;--violet:#a89bff;--gutter:clamp(22px,5vw,92px);--space:clamp(72px,8vw,128px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ink);color:var(--white);font-family:'Be Vietnam Pro',sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid var(--cyan);outline-offset:7px}h1,h2,h3,h4,p,figure{margin:0}h2{font-size:clamp(30px,3.7vw,60px);line-height:1.3;letter-spacing:-1.8px;font-weight:500}p{max-width:65ch}.muted{color:var(--muted)}.skip{position:fixed;left:20px;top:-90px;background:var(--cyan);color:var(--ink);padding:12px 20px;z-index:20}.skip:focus{top:15px}.site-header{height:92px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:22px;letter-spacing:-.8px}.brand svg{width:28px;height:28px;fill:var(--cyan)}sup{font-size:10px;vertical-align:top;margin-left:4px;color:var(--cyan)}nav{display:flex;align-items:center;gap:35px;font-size:12px}nav a{padding:10px 0}nav a:hover{color:var(--cyan)}.nav-contact{display:flex;align-items:center;gap:23px;border-bottom:1px solid #8290a2}.nav-contact span{color:var(--cyan);font-size:20px}
.screen{position:relative;margin:0 20px;overflow:hidden;background:#000;aspect-ratio:1.92;min-height:510px;max-height:850px}.screen video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.screen-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#050c1640 20%,#050c1610 40%,#050b15ed 100%);padding:36px calc(var(--gutter) - 20px) 32px;display:flex;flex-direction:column;justify-content:space-between}.screen-top{display:flex;justify-content:space-between;gap:30px;font-size:12px;line-height:1.7;text-shadow:0 1px 10px #000}.screen-top p{font-weight:600}.screen-top p span{font-weight:400;color:#d0d9e5}.screen-note{text-align:right;font-size:11px;color:#d0d9e5}.play-reel{position:absolute;left:50%;top:39%;translate:-50% -50%;display:flex;align-items:center;gap:17px;background:transparent;border:0;padding:15px;text-align:left;font-size:13px}.play-circle{display:grid;place-items:center;width:76px;height:76px;border:1px solid #f1f5fa88;border-radius:50%;backdrop-filter:blur(12px);background:#13233a55;padding-left:3px;font-size:17px;transition:background .25s,transform .25s}.play-reel:hover .play-circle{background:var(--cyan);color:var(--ink);transform:scale(1.08)}.play-reel small{display:block;color:#c4cfdc;font-size:10px;margin-top:3px}.screen-signature{margin-top:auto}.screen h1{font-family:'Archivo Black',sans-serif;font-size:clamp(75px,13.05vw,230px);font-weight:400;letter-spacing:-.065em;line-height:1.1;margin-left:-.025em;white-space:nowrap}.screen-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:11px;color:#b9c6d8}.screen-bottom>a{color:var(--white)}.screen-bottom>a span{margin-left:30px;color:var(--cyan)}.screen.is-playing video{object-fit:contain}.screen.is-playing .screen-overlay{display:none}.close-reel{position:absolute;top:20px;right:20px;z-index:2;background:#090d13d9;border:1px solid #768598;padding:9px 14px;font-size:11px;border-radius:30px}.video-error{position:absolute;bottom:65px;background:#111e30;padding:15px;left:25px;right:25px}.video-error a{text-decoration:underline}
.intro-band{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:0 var(--gutter);padding:42px 0 50px;border-bottom:1px solid var(--line)}.intro-band>p{font-size:20px;line-height:1.6;color:#c2cbd7;font-weight:400}.intro-band strong{color:var(--white);font-weight:500}.intro-band>div{justify-self:end}.intro-band>div p{font-size:12px;color:var(--muted);margin-bottom:10px}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px}.text-link span{font-size:19px;color:var(--cyan)}.text-link:hover{color:var(--cyan)}
.work-section{padding:var(--space) var(--gutter) 0}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-label{font-size:12px;color:var(--cyan);margin-bottom:19px}.work-aside p{font-size:13px;color:#c1cbd9;margin-bottom:22px}.gallery-instruction{font-size:10px;color:var(--muted)}.archive-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;font-size:11px;color:var(--muted)}.archive-bar>span:last-child{color:var(--violet)}.film-strip{display:flex;gap:9px;align-items:start;min-height:505px;padding-top:30px}.film{border:0;padding:0;background:none;text-align:left;min-width:0;flex:1 1 0;transition:flex-grow .5s cubic-bezier(.22,.7,.3,1),transform .4s;position:relative}.film-image{height:390px;background:#02050a;position:relative;overflow:hidden}.film-image img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:center;filter:saturate(.8);transition:filter .4s}.film-open{position:absolute;right:8px;bottom:8px;width:29px;height:29px;border:1px solid #ffffff6b;border-radius:50%;display:grid;place-items:center;background:#090d1366;backdrop-filter:blur(5px);font-size:15px}.film-caption{padding:15px 0 0;min-height:65px}.film-caption h3{font-size:10px;font-weight:500;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-caption>span{display:block;font-size:8px;color:#9daabe;margin-top:4px}.archive-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:22px}.archive-footer p{font-size:11px;color:var(--muted)}
@media(hover:hover) and (min-width:761px){.film:hover,.film:focus-visible{flex-grow:4.4;transform:translateY(-10px);z-index:2}.film:hover img,.film:focus-visible img{object-fit:contain;filter:none}.film:hover .film-image,.film:focus-visible .film-image{box-shadow:0 15px 35px #0008}.film:hover .film-caption h3,.film:focus-visible .film-caption h3{color:var(--cyan);font-size:12px}.film:hover .film-open{background:var(--cyan);color:#090d13;border-color:var(--cyan)}}
.about-section{padding:var(--space) var(--gutter);margin-top:var(--space);background:#0e1520}.about-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:50px;align-items:start;margin-bottom:60px}.about-heading .section-label{margin-top:10px}.about-heading h2{font-size:clamp(30px,3.25vw,52px)}.about-layout{display:grid;grid-template-columns:1fr 1.35fr .7fr;gap:clamp(25px,4vw,75px)}.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center}.portrait figcaption{font-size:11px;margin-top:15px;display:flex;justify-content:space-between;gap:10px}.portrait figcaption span{color:var(--muted)}.biography p{font-size:13px;color:#acbacd;line-height:1.95;margin-bottom:20px}.biography .lead{font-size:19px;color:var(--white);line-height:1.65;margin-bottom:24px}.experience h3,.practice h3{font-weight:500;font-size:12px;color:#d8e1ee;margin-bottom:23px}.experience-item{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid #334050}.experience-item>span{font-size:11px;color:var(--violet)}.experience-item h4{font-size:13px;font-weight:500;margin:9px 0 5px}.experience p{font-size:11px;color:var(--muted);line-height:1.85}.language h3{margin-bottom:9px}.practice{display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid #293849;padding-top:35px;margin-top:50px}.tools{display:flex;flex-wrap:wrap;gap:11px 22px;color:var(--white);font-size:13px}.practice h3{color:var(--muted);margin-bottom:14px}.practice p{font-size:12px;color:#d3dce9;line-height:1.9}
.contact-section{padding:var(--space) var(--gutter) 65px}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.contact-top .section-label{margin:0}.contact-top>span{font-size:11px;color:var(--muted)}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:50px;margin:35px 0 55px}.contact-main h2{font-size:clamp(35px,5.1vw,82px);font-weight:500;letter-spacing:-2.6px;line-height:1.32}.contact-orb{width:110px;height:110px;flex:0 0 110px;background:var(--cyan);color:#061421;border-radius:50%;display:grid;place-items:center;font-size:50px;transition:background .2s,transform .2s}.contact-orb:hover{background:var(--violet);transform:rotate(45deg)}.contact-details{display:flex;gap:100px;border-top:1px solid var(--line);padding-top:30px}.contact-details>div{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.contact-details>div>span:first-child{flex-basis:100%;font-size:11px;color:var(--muted)}.contact-details a{font-size:16px}.contact-details a:hover{color:var(--cyan)}#copyEmail{background:none;color:var(--muted);border:1px solid #3f4e62;border-radius:20px;padding:5px 10px;font-size:10px}#copyStatus{font-size:10px;color:var(--cyan)}
footer{margin:0 var(--gutter);border-top:1px solid var(--line);padding:38px 0 30px}.footer-brand{font-family:'Archivo Black',sans-serif;font-size:clamp(45px,9vw,150px);line-height:1.2;letter-spacing:-.07em}.footer-brand sup{font-family:'Be Vietnam Pro',sans-serif;font-size:14px;vertical-align:middle;margin-left:12px}footer>div{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);margin-top:28px}
dialog{width:min(1000px,92vw);max-height:92vh;overflow:auto;border:1px solid #45566f;padding:45px;background:#0d1521;color:var(--white)}dialog::backdrop{background:#01050ce8;backdrop-filter:blur(12px)}.dialog-close{position:absolute;right:7px;top:5px;border:0;background:none;width:44px;height:44px;font-size:28px;z-index:2}.dialog-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}#detailImage{width:100%;max-height:75vh;object-fit:contain}.dialog-copy h2{font-size:32px;margin-bottom:25px}.dialog-copy>p:not(.section-label){font-size:13px;margin-bottom:20px}.dialog-copy .text-link{margin-top:15px}body.modal-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1800px){main,.site-header,footer{max-width:2000px;margin-left:auto;margin-right:auto}footer{padding-left:var(--gutter);padding-right:var(--gutter)}}
@media(max-width:1000px){.screen{min-height:490px}.screen h1{font-size:12.4vw}.film-image{height:340px}.film-strip{min-height:450px}.about-layout{grid-template-columns:.8fr 1.2fr}.experience{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:20px}.experience>h3{grid-column:1/-1;margin:0}.language{grid-column:1/-1}.practice{gap:30px}.contact-details{gap:45px}}
@media(max-width:760px){:root{--gutter:24px;--space:70px}.site-header{height:76px}.brand{font-size:18px;gap:8px}.brand svg{width:23px;height:23px}nav{gap:20px;font-size:11px}.nav-contact{gap:12px}nav>a:nth-child(2){display:none}.screen{margin:0 10px;min-height:530px;aspect-ratio:auto}.screen video{object-position:55% center}.screen-overlay{padding:23px 15px}.screen-top{font-size:11px;gap:15px}.screen-note{font-size:9px;max-width:115px}.play-reel{top:42%;gap:13px}.play-circle{width:65px;height:65px}.screen h1{font-size:13.5vw;letter-spacing:-.07em}.screen-bottom{font-size:9px;gap:18px;line-height:1.7}.screen-bottom>a span{margin-left:10px}.intro-band{grid-template-columns:1fr;gap:23px;padding:30px 0}.intro-band>p{font-size:19px}.intro-band>div{justify-self:start}.intro-band>div p{font-size:11px}.section-intro{align-items:start;flex-direction:column;gap:25px;margin-bottom:25px}h2{letter-spacing:-1.1px}.section-label{font-size:11px;margin-bottom:13px}.work-aside{width:100%}.work-aside p{font-size:12px;margin-bottom:12px}.gallery-instruction{font-size:10px}.film-strip{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#536c8d #172231;gap:14px;min-height:0;padding:20px 2px 16px}.film{flex:0 0 72%;scroll-snap-align:center}.film-image{height:390px}.film-image img{object-fit:contain;filter:none}.film-caption h3{font-size:12px;white-space:normal}.film-caption>span{font-size:9px}.archive-footer{align-items:start;flex-direction:column;gap:9px;padding-top:20px}.archive-footer p{font-size:10px}.about-heading{grid-template-columns:1fr;gap:10px;margin-bottom:35px}.about-layout{grid-template-columns:1fr;gap:30px}.portrait{max-width:350px}.portrait img{aspect-ratio:4/5}.portrait figcaption{font-size:11px}.biography .lead{font-size:20px}.biography p{font-size:13px}.experience{grid-column:auto;gap:20px}.practice{grid-template-columns:1fr;gap:30px;margin-top:30px}.tools{font-size:12px}.contact-top{align-items:start;flex-direction:column;gap:10px}.contact-main{gap:20px;margin:28px 0 32px}.contact-main h2{font-size:8.3vw;letter-spacing:-1.1px}.contact-orb{width:62px;height:62px;flex-basis:62px;font-size:30px}.contact-details{flex-direction:column;gap:25px}.contact-details a{font-size:14px}.contact-section{padding-bottom:45px}.footer-brand{font-size:17vw}footer>div{flex-wrap:wrap;font-size:9px;gap:15px}footer>div>span:first-child{flex-basis:100%}.dialog-layout{grid-template-columns:1fr;gap:25px}dialog{padding:42px 24px 28px}#detailImage{max-height:60vh}.dialog-copy h2{font-size:27px;margin-bottom:18px}.dialog-copy .section-label{margin-bottom:10px}}
@media(hover:none) and (min-width:761px){.film-strip{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.film{flex:0 0 230px;scroll-snap-align:start}.film-image img{object-fit:contain;filter:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep the career chronology vertical at all viewport sizes. */
@media(max-width:1000px){.experience{display:block}.experience>h3{margin-bottom:23px}.language{margin-top:25px}}
