*{box-sizing:border-box}html{color:#191919;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #111;outline-offset:6px}button{color:inherit}.home{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto}.home-header{text-align:center;padding:64px 24px 0}.home-header h1{font-size:clamp(48px,5vw,76px);font-weight:550;letter-spacing:.12em;text-indent:.12em;line-height:1.2;margin:0 0 19px}.home-header p{font-size:14px;letter-spacing:.12em;line-height:1.8;margin:0;color:#666}.home-main{display:flex;align-items:center;justify-content:center;padding:54px 40px}.slices{width:min(100%,920px);height:clamp(320px,44vh,450px);display:flex;gap:4px}.slice{position:relative;flex:1;min-width:0;overflow:hidden;isolation:isolate;transition:flex .48s cubic-bezier(.25,.75,.2,1);background:#222}.slice-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--pos);transition:filter .4s}.slice-toggle{position:absolute;inset:0;z-index:2;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.slice-toggle:focus-visible{outline:2px solid white;outline-offset:-6px}.slice-number{position:absolute;left:15px;bottom:16px;font-size:13px;letter-spacing:.12em;color:white;text-shadow:0 1px 5px #000}.slice-info{position:absolute;z-index:3;left:26px;right:26px;bottom:24px;background:#fafafa;padding:23px 27px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .3s,visibility .2s;pointer-events:none}.slice-info h2{font-size:clamp(20px,2.2vw,30px);font-weight:500;line-height:1.4;letter-spacing:-.02em;margin:7px 0 10px}.eyebrow{font-size:12px;letter-spacing:.12em;line-height:1.6;color:#686868;margin:0}.slice-description{font-size:14px;line-height:1.7;color:#777;margin:0 0 16px}.slice-info a{display:inline-block;font-size:14px;padding:5px 0;pointer-events:auto}.slice-info a span{padding-left:14px}.slices.has-active .slice{flex:0 0 22px}.slices.has-active .slice.active{flex:1}.slice.active .slice-info{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:.12s}.slice.active .slice-number{top:18px;bottom:auto}.home-footer{display:flex;gap:48px;justify-content:center;padding:0 24px 46px;font-size:14px;letter-spacing:.12em}.home-footer a{padding:10px 0}.home-footer a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.page-top{max-width:1120px;margin:auto;padding:32px 40px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.page-top .name{font-size:22px;font-weight:550;letter-spacing:.1em}.detail{max-width:1040px;margin:auto;padding:44px 40px 100px}.detail-header{max-width:760px;margin-bottom:38px}.detail h1{font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.4;letter-spacing:-.02em;margin:12px 0 20px}.detail .lead{font-size:16px;line-height:1.9;color:#666;max-width:680px}.video-stage{background:#111;display:flex;justify-content:center;align-items:center;margin:36px 0 28px}.video-stage video{display:block;max-width:100%;width:100%;max-height:72vh;min-height:220px}.video-stage.portrait video{width:auto;max-width:100%}.video-meta{font-size:13px;color:#777;display:flex;justify-content:space-between;gap:16px}.film-list{margin:72px 0 0}.film-list h2{font-size:18px;font-weight:500;margin-bottom:25px}.film-list a{display:grid;grid-template-columns:42px 90px 1fr auto;gap:20px;align-items:center;padding:16px 0;font-size:16px}.film-list a:hover .film-title{text-decoration:underline;text-underline-offset:5px}.film-list img{width:90px;height:68px;object-fit:cover}.film-list .num,.film-list .duration{font-size:13px;color:#777}.reading{max-width:840px}.reading .detail-header{margin-bottom:44px}.article-hero{width:100%;height:auto;max-height:500px;object-fit:cover;margin-bottom:38px}.article-body{font-size:17px;line-height:2.05;overflow-wrap:anywhere}.article-body p{margin:24px 0}.article-body h4,.article-body h3,.article-body h2{font-size:25px;font-weight:550;line-height:1.5;margin:64px 0 28px}.article-body h4:empty{display:none}.article-body img{display:block;max-width:100%;width:auto;height:auto;margin:0 auto}.article-body figure{margin:28px 0}.article-body ul{padding:0;list-style:none}.article-body .wp-block-gallery ul,.article-body .wp-block-gallery{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.article-body .wp-block-gallery ul{width:100%;margin:0}.article-body .wp-block-gallery li,.article-body .wp-block-gallery>figure{flex:1;min-width:calc(50% - 12px);margin:0}.article-body a{text-decoration:underline;text-underline-offset:4px}.article-body [class*=caption],.article-body p.source-caption{font-size:13px;color:#777;text-align:center;line-height:1.7}.article-source{font-size:14px;line-height:1.9;color:#777;margin:56px 0}.article-source a{text-decoration:underline;text-underline-offset:4px}.page-end{margin-top:64px;font-size:14px}.resume-section{margin-top:48px}.resume-section h2{font-size:21px;font-weight:550;margin-bottom:26px}.resume-entry{margin-bottom:34px}.resume-entry h3{font-size:18px;font-weight:550;margin:0 0 8px}.resume-entry .meta{font-size:14px;color:#777;margin:0 0 12px}.resume-entry p,.resume-entry li{font-size:16px;line-height:1.9}.resume-entry ul{padding-left:20px}.download-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:6px;padding:10px 0}.portfolio-pages img{display:block;width:100%;height:auto;margin:26px 0;background:white}.contact-detail{padding-top:100px}.phone{display:inline-block;font-size:clamp(30px,6vw,64px);font-weight:450;letter-spacing:.02em;margin:30px 0}.contact-detail p{color:#777;line-height:1.8}.contact-detail button{display:block;background:none;border:0;padding:10px 0;font-size:14px;text-decoration:underline;text-underline-offset:6px;cursor:pointer}.copy-status{min-height:28px;font-size:14px}.pdf-embed{width:100%;height:80vh;border:0;margin-top:30px}@media(min-width:1500px){.slices{width:1040px;height:480px}.home-header{padding-top:84px}.home-footer{padding-bottom:60px}}@media(max-width:640px){.home-header{padding:48px 20px 0}.home-header h1{font-size:52px;margin-bottom:18px}.home-header p{font-size:12px;letter-spacing:.04em}.home-main{padding:44px 20px}.slices{height:400px;gap:3px}.slices.has-active .slice{flex:0 0 8px}.slice-info{left:12px;right:12px;bottom:14px;padding:18px 16px}.slice-info h2{font-size:22px}.slice-description{font-size:14px}.slice-number{left:8px;font-size:12px}.slice.active .slice-number{left:14px}.home-footer{gap:30px;flex-wrap:wrap;padding-bottom:30px;font-size:14px;letter-spacing:.04em}.page-top{padding:25px 22px}.detail{padding:35px 22px 70px}.detail h1{font-size:30px}.film-list a{grid-template-columns:24px 62px 1fr;gap:12px}.film-list img{width:62px;height:62px}.film-list .duration{display:none}.film-title{font-size:14px;line-height:1.7}.article-body{font-size:16px}.article-body h4{font-size:22px}.article-body .wp-block-gallery{gap:6px}.contact-detail{padding-top:80px}.video-meta{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* The caption sits outside the images, in the same centered work region. */
.work-region{width:min(100%,920px)}
.work-region .slices{width:100%}
.work-caption{text-align:center;min-height:123px;padding:17px 8px 0;color:#686868}
.caption-item[hidden]{display:none}
.caption-item .eyebrow{font-size:12px;letter-spacing:.08em;color:#777}
.caption-item h2{font-size:16px;font-weight:500;line-height:1.6;margin:5px 0 4px;letter-spacing:.02em;color:#252525}
.caption-item .slice-description{font-size:13px;line-height:1.7;margin:0 0 5px;color:#777}
.caption-item a{display:inline-block;font-size:13px;line-height:1.8;padding:3px 0;color:#555}
.caption-item a:hover{text-decoration:underline;text-underline-offset:4px}
.caption-item a span{margin-left:7px}
.home-main{padding-top:45px;padding-bottom:32px}
@media(min-width:1500px){.work-region{width:1040px}}
@media(max-width:640px){.home-main{padding:38px 20px 26px}.work-caption{padding-top:15px;min-height:160px}.caption-item h2{font-size:15px}.caption-item .slice-description{font-size:12px}.work-region .slices{height:360px}}

.work-caption{opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease}
.work-region.has-caption .work-caption{opacity:1;visibility:visible}
.slice-open{position:absolute;right:17px;bottom:15px;z-index:4;color:#fff;font-size:12px;line-height:1.8;letter-spacing:.06em;text-shadow:0 1px 5px #111;white-space:nowrap;visibility:hidden;opacity:0;padding:5px 0}
.slice.active .slice-open{visibility:visible;opacity:1}
.slice-open:focus-visible{outline-color:white}
.slice:not(.active) .slice-number{opacity:0}
@media(max-width:640px){.slice-open{right:12px;bottom:12px;font-size:12px}}

.home-header .brand-title{font-size:0;line-height:0;text-indent:0;letter-spacing:0;margin:0 0 19px}.brand-logo{display:block;width:190px;height:auto;margin:auto;overflow:hidden}@media(max-width:640px){.brand-logo{width:156px}}
