[hidden]{display:none!important}
.contact-details:empty{min-height:280px}
@media(max-width:720px){.contact-details:empty{min-height:120px}}
.work-navigation{display:flex;gap:34px;flex-wrap:wrap;border-block:1px solid var(--ink);padding:19px 0;margin:0 0 60px;font-size:14px}.work-navigation a{display:flex;gap:18px;align-items:baseline}.work-navigation a:hover{text-decoration:underline;text-underline-offset:5px}.work-navigation span{font:16px Anton,sans-serif;color:var(--muted)}
.image-projects{column-gap:5%;row-gap:35px;align-items:start;scroll-margin-top:30px}.work-card{display:block;min-width:0;position:relative}.project-cover{position:relative;overflow:hidden;background:#deded8}.work-card .work-thumbnail{width:100%;height:100%;margin:0;object-fit:cover;transition:transform .5s ease}.work-card:hover .work-thumbnail{transform:scale(1.025)}.image-card .project-cover{aspect-ratio:4/5}.image-card:nth-child(6n+2){margin-top:100px}.image-card:nth-child(6n+3) .project-cover,.image-card:nth-child(6n+6) .project-cover{aspect-ratio:1}.image-card:nth-child(6n+5) .project-cover{aspect-ratio:4/3}
.card-caption{display:grid;grid-template-columns:30px 1fr auto;gap:14px;border-top:1px solid var(--ink);margin-top:18px;padding-top:14px;align-items:start}.card-caption .project-number{padding:3px 0 0;margin:0;line-height:1.4;color:var(--muted)}.card-title{font-size:clamp(19px,2.1vw,29px);font-weight:650;line-height:1.4;margin:0;letter-spacing:-.025em}.card-label{font-size:11px;letter-spacing:.05em;color:var(--muted);margin:8px 0 0}.card-arrow{font-size:12px;white-space:nowrap;padding-top:4px}.archive-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;border-block:1px solid var(--ink);padding:21px 0;margin-top:55px;font-size:15px;text-align:left}.archive-toggle span{font:18px Anton,sans-serif;letter-spacing:.03em}.archive-toggle:hover{color:#006674}
.film-section{background:#dedfd8;padding-top:45px;padding-bottom:80px;margin-top:25px}.film-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:52px 0 65px;gap:24px}.film-heading .display-title{font-size:clamp(90px,13vw,180px)}.film-heading .display-title span{margin-left:16%}.film-heading>p{font-size:23px;line-height:1.9;margin:0 0 14px}.film-heading>p>span{font-size:13px;color:var(--muted)}.video-projects{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:46px 32px;align-items:start}.video-card{grid-column:span 6}.video-card:first-child{grid-column:span 8}.video-card.portrait-video{grid-column:span 4}.video-card .project-cover{background:#101719;aspect-ratio:16/10}.video-card.portrait-video .project-cover{aspect-ratio:4/5}.video-card:nth-child(-n+2) .project-cover{height:clamp(250px,31vw,470px);aspect-ratio:auto}.video-card:nth-child(2) .work-thumbnail{object-position:50% 25%}.video-card .card-title{font-size:clamp(18px,1.9vw,26px)}
.play-mark{position:absolute;left:20px;bottom:20px;display:grid;place-items:center;width:49px;height:49px;border:1px solid #ffffffb0;border-radius:50%;background:#10171988;color:#fff;font-size:15px;padding-left:2px;backdrop-filter:blur(5px);transition:background .2s}.work-card:hover .play-mark{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}.duration-mark{position:absolute;right:15px;bottom:20px;padding:3px 9px;font-size:12px;color:white;background:#101719b0;font-variant-numeric:tabular-nums}
.ai-section{margin-top:0}.ai-projects{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 25px;align-items:start}.ai-card{min-height:0;border:0;padding:0}.ai-card .project-cover{aspect-ratio:7/10;background:#1b2426}.ai-card .work-thumbnail{object-fit:contain}.ai-card .card-caption{border-color:#455256;gap:10px;grid-template-columns:22px 1fr auto}.ai-card .card-title{font:500 clamp(16px,1.6vw,21px)/1.55 Arial,'Microsoft YaHei',sans-serif;margin:0}.ai-card .project-number{color:var(--cyan);font-size:10px}.ai-card .card-label{color:#9dadaf;font-size:10px;letter-spacing:0}.ai-card .card-arrow{color:var(--cyan)}.ai-card:nth-child(even){margin-top:40px}.ai-card:hover h3{color:var(--cyan)}
.process-section{padding-top:65px;padding-bottom:90px;background:var(--cyan)}.process-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:55px 0 65px}.process-heading .display-title{font-size:clamp(65px,10vw,145px)}.process-heading .display-title span{margin-left:15%}.process-heading>p{font-size:25px;margin:0 0 8px;line-height:1.8}.process-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.process-card .project-cover{aspect-ratio:16/9;padding:12px;background:#f3f2ed}.process-card .work-thumbnail{object-fit:contain}.process-card:first-child{grid-column:1/-1}.process-card:first-child .project-cover{aspect-ratio:3/1;padding:20px}.process-card .card-label,.process-card .project-number{color:#334d51}.process-card .card-title{font-size:22px}
.project-dialog{width:min(1120px,calc(100vw - 48px))}.dialog-top{position:sticky;top:-34px;background:var(--paper);z-index:3;padding-top:12px}.dialog-number{margin-top:25px;font-size:48px}.dialog-video{width:100%;height:auto;max-height:64vh;object-fit:contain;aspect-ratio:auto;margin-bottom:10px}.dialog-gallery{gap:24px}.gallery-figure{margin:0;min-width:0}.gallery-figure figcaption{font-size:11px;color:var(--muted);padding:10px 0 6px}.gallery-image-link{display:block;cursor:zoom-in}.single-gallery{grid-template-columns:1fr}.single-gallery img{max-height:75vh;width:auto;max-width:100%;margin-inline:auto;object-fit:contain}.project-dialog[data-category=process] .single-gallery img{max-height:none;width:100%}.media-original{display:block;width:max-content;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin:12px 0 22px}.dialog-foot{margin-top:25px}
@media(min-width:1500px){.image-projects{column-gap:7%}.work-section{padding-bottom:100px}}
@media(max-width:1000px){.ai-projects{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-card:nth-child(even){margin-top:0}.image-card:nth-child(6n+2){margin-top:60px}.card-caption{gap:9px;grid-template-columns:23px 1fr auto}.process-heading>p{font-size:19px}.video-projects{gap:30px 22px}.film-heading>p{font-size:18px}}
@media(max-width:720px){.work-navigation{gap:15px 25px;margin-bottom:35px;padding:17px 0;font-size:13px}.work-navigation a{gap:10px}.work-navigation span{font-size:14px}.image-projects{grid-template-columns:1fr 1fr;gap:30px 16px}.image-card:nth-child(6n+2){margin-top:36px}.image-card:nth-child(6n+3) .project-cover,.image-card:nth-child(6n+6) .project-cover{aspect-ratio:4/5}.image-card:nth-child(6n+5) .project-cover{aspect-ratio:4/5}.card-caption{grid-template-columns:1fr auto;gap:7px;margin-top:12px;padding-top:10px}.card-caption .project-number{display:none}.card-title{font-size:17px;line-height:1.5}.card-label{font-size:10px;line-height:1.5;letter-spacing:0;margin-top:5px}.card-arrow{font-size:10px}.archive-toggle{margin-top:32px;font-size:13px}.archive-toggle span{font-size:15px}.film-section{margin-top:0;padding-top:35px}.film-heading{display:block;margin:34px 0 35px}.film-heading .display-title{font-size:24vw}.film-heading>p{font-size:17px;margin:28px 0 0}.film-heading>p>span{font-size:12px}.video-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.video-card,.video-card:first-child{grid-column:1/-1}.video-card.portrait-video{grid-column:span 1}.video-card:nth-child(2){grid-column:1/-1;max-width:75%;width:100%;justify-self:end;margin-bottom:3px}.video-card:nth-child(-n+2) .project-cover{height:auto;aspect-ratio:16/10}.video-card:nth-child(2) .project-cover{aspect-ratio:4/5}.video-card .card-title{font-size:19px}.video-card.portrait-video .card-title{font-size:16px}.video-card .play-mark{width:39px;height:39px;left:12px;bottom:14px;font-size:12px}.duration-mark{font-size:11px;right:10px;bottom:15px}.video-card .card-arrow{font-size:11px}.ai-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.ai-card .card-caption{grid-template-columns:1fr auto;margin-top:11px;padding-top:10px}.ai-card .card-title{font-size:16px}.ai-card .card-label{font-size:10px}.ai-card:nth-child(even){margin-top:24px}.process-heading{display:block;margin:35px 0 37px}.process-heading .display-title{font-size:20vw}.process-heading>p{font-size:19px;margin:25px 0 0}.process-projects{grid-template-columns:1fr;gap:28px}.process-card:first-child{grid-column:auto}.process-card:first-child .project-cover{aspect-ratio:16/9;padding:10px}.process-card .card-title{font-size:20px}.process-card .project-cover{padding:10px}.project-dialog{width:calc(100vw - 20px)}.dialog-panel{padding:18px}.dialog-top{top:-18px;gap:8px}.dialog-top .eyebrow{font-size:9px}.dialog-close{font-size:12px}.dialog-close span{margin-left:5px}.dialog-number{font-size:35px;margin:22px 0 12px}.project-dialog h2{font-size:23px}.dialog-role{font-size:12px;margin-bottom:15px}.dialog-gallery{gap:18px}.dialog-video{max-height:59vh}.single-gallery img{max-height:67vh}}
@media(prefers-reduced-motion:reduce){.work-card .work-thumbnail{transition:none}.work-card:hover .work-thumbnail{transform:none}}
@media print{.film-section,.process-section,.archive-toggle{display:none}}
.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.carousel-toolbar p{font-size:13px;margin:0;color:var(--paper)}.carousel-toolbar p span{margin-left:25px;color:#a4b5b6;font-size:12px}.carousel-buttons{display:flex;gap:9px}.carousel-buttons button{width:45px;height:45px;background:transparent;border:1px solid #778487;color:var(--paper);font-size:23px;line-height:1}.carousel-buttons button:hover:not(:disabled){background:var(--cyan);border-color:var(--cyan);color:var(--ink)}.carousel-buttons button:disabled{opacity:.3;cursor:default}
.ai-projects{display:flex;gap:28px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6c8488 #253033;padding:0 0 24px;scroll-padding-inline:0;align-items:flex-start}.ai-projects:focus-visible{outline:2px solid var(--cyan);outline-offset:8px}.ai-projects .ai-card{flex:0 0 clamp(210px,23vw,280px);width:clamp(210px,23vw,280px);margin:0;scroll-snap-align:start}.ai-projects .ai-card .card-title{font-size:16px}.ai-projects .ai-card .card-caption{grid-template-columns:20px 1fr auto}.ai-projects .ai-card .project-number{display:block}.ai-projects .ai-card .project-cover{aspect-ratio:7/10}.ai-section-head{margin-bottom:35px}
@media(max-width:720px){.carousel-toolbar{margin-bottom:20px}.carousel-toolbar p span{margin-left:12px;font-size:10px}.carousel-buttons button{width:39px;height:39px;font-size:21px}.ai-projects{gap:18px;padding-bottom:20px}.ai-projects .ai-card{flex-basis:62vw;width:62vw;max-width:260px}.ai-projects .ai-card .card-caption{grid-template-columns:1fr auto}.ai-projects .ai-card .project-number{display:none}.ai-projects .ai-card .card-title{font-size:16px}.ai-section-head{margin-bottom:27px}}

/* Align both covers in every row; keep the desktop archive at a readable scale. */
.image-projects .image-card{margin-top:0}
.image-projects .image-card .project-cover{aspect-ratio:4/5}
@media(min-width:721px){
 .work-section .category-head,.image-projects,.work-section .archive-toggle{width:100%;max-width:1040px;margin-inline:auto}
 .image-projects{column-gap:40px;row-gap:42px}
 .image-card .card-caption{grid-template-columns:22px minmax(0,1fr) auto;gap:10px;margin-top:15px;padding-top:12px}
 .image-card .card-title{font-size:clamp(18px,1.65vw,23px);line-height:1.4}
 .image-card .card-label{font-size:11px;line-height:1.6}
}
@media(min-width:1001px){
 .work-section .category-head,.image-projects,.work-section .archive-toggle{max-width:1560px}
 .image-projects{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:42px}
}
.shooting-experience{padding:28px 0 38px;border-top:1px solid var(--ink)}
.shooting-experience>.eyebrow{color:#007580;margin:0 0 12px;font-size:11px}
.shooting-experience h4{font-size:25px;margin:0 0 26px;line-height:1.4}
.shooting-list{list-style:none;padding:0;margin:0;counter-reset:shooting}
.shooting-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:15px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line);counter-increment:shooting}
.shooting-list li:before{content:counter(shooting,decimal-leading-zero);font:11px Arial,sans-serif;color:var(--muted)}
.shooting-title{font-size:18px;line-height:1.6;font-weight:600}.shooting-role{font-size:12px;color:var(--muted);white-space:nowrap}
.shooting-list li:nth-child(-n+2) .shooting-title{font-size:24px}
@media(max-width:1000px){.shooting-list li{grid-template-columns:20px minmax(0,1fr);gap:6px 12px}.shooting-role{grid-column:2}.shooting-list li:before{grid-row:1/3}.shooting-title{font-size:17px}}
@media(max-width:720px){.shooting-experience h4{font-size:23px}.shooting-list li:nth-child(-n+2) .shooting-title{font-size:22px}}
.about-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:13%;margin:65px 0 80px;align-items:start}
.about-heading .display-title{font-size:clamp(74px,8.5vw,124px);line-height:1.08}
.about-heading .about-intro{margin:30px 0 0;max-width:370px}
.education-panel{padding-top:10px}.education-panel>.eyebrow{margin:0 0 30px;color:var(--muted)}
.education-panel .education{display:grid;grid-template-columns:1fr 1fr;gap:24px}.education-panel .education h3{display:none}
.experience>.experience-label{margin-bottom:24px}
.experience-item{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.7fr);gap:9%;padding:38px 0 45px}
.experience-heading{display:block}.experience-heading>span{display:block;margin-top:10px}.job-summary .job-role{margin:18px 0 0;line-height:1.8}
.job-summary .metric{display:block;margin-top:32px}.job-summary .metric>span{display:block;margin-top:12px}.job-summary .metric strong{font-size:55px}
.job-details{list-style:none;margin:0;padding:0;counter-reset:duties}.job-details li{position:relative;padding-left:18px;color:var(--muted);font-size:15px;line-height:1.95;margin:0 0 18px;overflow-wrap:anywhere}.job-details li:last-child{margin-bottom:0}.job-details li:before{content:'';position:absolute;left:0;top:13px;width:4px;height:4px;background:#007580}
.shooting-experience{margin-top:5px}.shooting-list{display:grid;grid-template-columns:1fr 1fr;column-gap:55px}.shooting-list li{grid-template-columns:22px minmax(0,1fr);gap:5px 15px;align-content:start;min-height:92px}.shooting-role{grid-column:2}.shooting-list li:before{grid-row:1/3;padding-top:7px}.shooting-experience h4{font-size:30px}
@media(max-width:1000px){.about-overview{gap:8%}.experience-item{grid-template-columns:minmax(170px,.75fr) minmax(0,1.8fr);gap:6%}.education-panel .education{grid-template-columns:1fr;gap:0}.shooting-list{column-gap:30px}.shooting-title{font-size:16px}}
@media(max-width:720px){.about-overview{grid-template-columns:1fr;gap:38px;margin:43px 0 55px}.about-heading .display-title{font-size:18vw}.education-panel{padding:0}.education-panel>.eyebrow{margin-bottom:20px}.education-panel .education{grid-template-columns:1fr 1fr;gap:15px 22px}.experience-item{grid-template-columns:1fr;gap:25px;padding:29px 0 34px}.experience-heading>span{margin-top:7px}.job-summary .job-role{margin-top:10px}.job-summary .metric{display:flex;align-items:baseline;gap:20px;margin-top:20px}.job-summary .metric>span{margin-top:0}.job-summary .metric strong{font-size:45px}.job-details li{font-size:14px;line-height:1.95;margin-bottom:16px}.shooting-list{grid-template-columns:1fr}.shooting-experience h4{font-size:25px}.shooting-title{font-size:18px}}
@media(max-width:360px){.education-panel .education{grid-template-columns:1fr}}
.video-note.is-buffering{color:#007580;font-size:13px;line-height:1.7;margin:8px 0 16px}
.video-note.is-buffering:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin:0 8px 2px 0}
