@font-face{font-family:'Pretendard Label';src:url('assets/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Pretendard Label';src:url('assets/Pretendard-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Itsadzoke;src:url('assets/itsadzoke.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Pretendard;src:url('assets/Pretendard-Light.woff2') format('woff2');font-weight:300 500;font-display:swap}
@font-face{font-family:Pretendard;src:url('assets/Pretendard-Bold.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{--ink:#1b1e1d;--muted:#656961;--line:#d7d9d2;--paper:#fafaf7;--wash:#f0f1ed;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,Arial,sans-serif;font-weight:300;font-size:18px;line-height:1.8;word-break:keep-all}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #40534b;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2{line-height:1.12}h2,h3,h4{font-weight:700;letter-spacing:-.035em}h3{font-size:24px;line-height:1.5}h4{font-size:18px;line-height:1.6}ul{padding:0;list-style:none;margin:0}.small{font-size:14px;letter-spacing:.1em;line-height:1.7}.skip{position:fixed;top:-100px;background:var(--paper);z-index:100;padding:12px}.skip:focus{top:10px}.section{padding:100px var(--gutter);max-width:1680px;margin:auto}section{scroll-margin-top:10px}
/* Quiet typography, with Itsadzoke reserved for the cover and closing line. */
.nav{height:78px;padding:0 var(--gutter);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:rgba(250,250,247,.97);position:sticky;top:0;z-index:20}.wordmark{display:flex;align-items:center;font-family:Itsadzoke,Georgia,serif;font-size:25px;line-height:1}.wordmark-wave{width:29px;height:20px;margin:0 3px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.nav-caption{font-size:13px;letter-spacing:.13em}.menu-toggle{margin-left:auto;font-size:14px;letter-spacing:.15em;display:flex;gap:30px;align-items:center}.menu-toggle span{font-size:24px;line-height:1;transition:transform .3s}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}#menu{display:none;position:absolute;right:var(--gutter);top:77px;width:min(420px,calc(100vw - 48px));padding:25px 32px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 40px #00000008}#menu.open{display:grid}#menu a{padding:9px 0;font-size:16px}#menu a:hover{text-decoration:underline;text-underline-offset:5px}
.cover{padding:22px var(--gutter) 0}.cover-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.13em;margin-bottom:22px}.cover-stage{position:relative;min-height:660px;height:calc(100svh - 155px);max-height:880px;overflow:hidden;background:#363c3b}.cover-stage>img{height:100%;object-fit:cover;object-position:center 48%}.cover-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07161516,#07161530 55%,#07161548);pointer-events:none}.cover-title{position:absolute;left:5%;right:5%;top:20%;z-index:1;color:#fff;text-align:center}.cover-title h1{font-family:Itsadzoke,Georgia,serif;font-weight:400;font-size:clamp(66px,12vw,182px);letter-spacing:-.025em;line-height:1;white-space:nowrap}.cover-title>p:first-of-type{font-family:Itsadzoke,Georgia,serif;font-size:clamp(19px,2.7vw,40px);line-height:1.5;margin-top:23px;letter-spacing:-.015em}.wave-line{display:block;width:130px;height:auto;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;overflow:visible}.cover-title .wave-line{width:205px;margin:40px auto 30px}.cover-statement{font-size:16px;line-height:1.9}.cover-signature{position:absolute;left:50%;transform:translateX(-50%);text-align:center;bottom:42px;display:grid;gap:2px;z-index:1;color:#fff;font-size:16px;letter-spacing:.05em}.cover-signature span:last-child{font-size:14px;opacity:.8}.scroll{position:absolute;bottom:42px;right:5%;display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.12em;border-bottom:1px solid #ffffff80;color:#fff;padding:8px 0;z-index:1}.scroll span{font-size:23px;line-height:1}
.section-label{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.08em}.about-main{display:grid;grid-template-columns:1fr 1.7fr;gap:10%;align-items:center;padding:60px 0 70px}.portrait{width:200px;max-width:100%;justify-self:center}.portrait-photo{aspect-ratio:1/1;position:relative;overflow:hidden;background:#e7e7e2}.portrait img{width:100%;height:100%;object-fit:cover}.portrait p{display:grid;gap:2px;font-size:13px;letter-spacing:.05em;padding-top:13px}.portrait p span{color:var(--muted);font-size:12px}.about-copy>.wave-line{margin-bottom:24px}.about-copy h2{font-size:clamp(27px,3vw,45px);line-height:1.5;margin-bottom:28px}.about-copy>p{font-size:16px;line-height:1.9}.about-copy .about-detail{font-size:16px;color:var(--muted);margin:24px 0 28px}.profile-details{display:grid;grid-template-columns:1fr 1.7fr;gap:10%;border-top:1px solid var(--line);padding-top:38px}.profile-details h3{font-size:24px;margin-bottom:22px}.licenses li{font-size:16px;padding:8px 0}.licenses li span{display:block;font-size:13px;color:var(--muted)}.skill-scale{font-size:13px;color:var(--muted);margin-top:-15px;margin-bottom:20px}.skills{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.skill{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 15px;padding:8px 0 12px;border-bottom:1px solid var(--line)}.skill-name{font-size:16px}.skill-rating{display:flex;align-items:center;gap:10px}.stars{display:flex;gap:3px}.star{position:relative;display:block;width:15px;height:15px;background:#dcdfd6;clip-path:polygon(50% 0%,62% 34%,98% 37%,71% 60%,79% 95%,50% 75%,21% 95%,29% 60%,2% 37%,38% 34%)}.star:before{content:'';position:absolute;inset:0 auto 0 0;width:var(--fill);background:#3c5146}.rating-number{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.index{background:var(--wash);max-width:none;display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-top:70px;padding-bottom:75px}.index h2{font-size:48px;margin:24px 0}.index p{font-size:16px;color:var(--muted)}.index-links a{display:grid;grid-template-columns:35px 1fr 22px;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 0}.index-links a:first-child{border-top:1px solid var(--line)}.index-links span{font-size:13px}.index-links b{font-size:16px;font-weight:700;line-height:1.4}.index-links em{font-size:14px;font-style:normal;color:var(--muted)}.index-links i{font-size:22px;font-style:normal;transition:transform .2s}.index-links a:hover i{transform:translate(3px,-3px)}.section-heading{display:grid;grid-template-columns:60px 1fr auto;gap:20px;align-items:start;margin-bottom:60px}.section-heading .number{font-size:14px;padding-top:10px;letter-spacing:.05em}.section-heading h2{font-size:clamp(32px,4vw,58px);letter-spacing:-.045em}.section-heading>span:last-child{font-size:14px;padding-top:12px;color:var(--muted)}.education-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.education-layout>img{aspect-ratio:4/5;object-fit:cover;mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%)}.education-list article{padding:35px 0;border-top:1px solid var(--line)}.education-list article:first-child{padding-top:0;border-top:0}.education-list h3{margin:18px 0 12px;font-size:25px}.education-list p{font-size:16px}.edu-note{margin-top:28px;font-size:13px;letter-spacing:.04em}.edu-note span{display:block;font-size:16px;margin-top:8px;color:var(--muted);letter-spacing:0}.section-description{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-description p{font-size:22px;line-height:1.7}.section-description>span{font-size:12px;letter-spacing:.12em}
/* Exhibition panels and their details form each project's visual story. */
.project-index{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:60px}.project-index a{font-size:14px;display:flex;gap:10px}.project-index a span{color:var(--muted);font-size:12px}.project-index a:hover{text-decoration:underline;text-underline-offset:4px}.works-grid{display:grid;gap:90px}.work-card{min-width:0;scroll-margin-top:110px}.work-card+.work-card{border-top:1px solid var(--line);padding-top:70px}.project-layout{display:grid;grid-template-columns:1fr 2.15fr;gap:7%;align-items:center}.project-copy{min-width:0}.work-meta{display:grid;gap:5px;font-size:13px;color:var(--muted);letter-spacing:.04em;margin-bottom:20px}.work-number{font-size:14px;letter-spacing:.09em;display:block;margin-bottom:22px}.work-card h3{font-size:clamp(24px,2.5vw,36px);line-height:1.5}.work-card p{font-size:16px;color:var(--muted);margin:22px 0;line-height:1.9;max-width:400px}.project-view{font-size:14px;display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--ink);padding:9px 0}.work-image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;background:#eff1ec;padding:28px;overflow:hidden}.work-image img{width:100%;height:100%;max-height:600px;object-fit:contain}.work-image.panel img{max-height:660px}.work-open{position:absolute;bottom:15px;right:20px;font-size:20px}.work-caption{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin-top:12px;color:var(--muted)}.project-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0 0}.project-details figure{min-width:0}.project-details button{width:100%;background:var(--wash);padding:18px}.project-details img{height:225px;object-fit:contain;transition:transform .5s}.project-details button:hover img{transform:scale(1.025)}.project-details figcaption{font-size:13px;color:var(--muted);margin-top:10px}.project-details.four{grid-template-columns:repeat(4,1fr)}.project-details.four img{height:190px}.project-extra-label{font-size:14px;margin:30px 0 14px;font-weight:700;letter-spacing:.03em}.project-rail{margin-top:0!important}.project-rail figure{flex:0 0 min(72%,450px)}.project-rail button{background:var(--wash);padding:20px}.project-rail img{height:240px;object-fit:contain}.project-rail figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.interlude{margin:20px var(--gutter);height:460px;position:relative;overflow:hidden}.interlude img{height:100%;object-fit:cover}.interlude figcaption{position:absolute;top:50%;left:7%;transform:translateY(-50%);background:#fafaf7ed;padding:30px 35px}.interlude figcaption span{font-size:12px;letter-spacing:.13em}.interlude p{font-size:28px;line-height:1.7;margin:24px 0}.project-text{margin:28px 0;color:var(--muted);line-height:1.9}.tags{font-size:13px;letter-spacing:.05em}.image-button{display:block;position:relative;width:100%;text-align:left}.image-action{position:absolute;right:16px;bottom:14px;font-size:12px;letter-spacing:.08em;background:var(--paper);padding:7px 10px}.external-feature{display:grid;grid-template-columns:1fr 1.35fr;gap:9%;align-items:center}.external-feature h3,.music-feature h3{font-size:clamp(26px,3vw,40px);margin:22px 0 12px;line-height:1.3}.external-feature>div>p,.music-feature>div>p{font-size:16px}.external-feature .image-button{background:#e9ece5;padding:32px}.external-feature .image-button>img{max-height:440px;object-fit:contain}.external-feature figcaption,.music-caption{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:12px}.blanc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;margin-top:40px;align-items:center}.blanc-grid .image-button{background:var(--wash);padding:28px}.blanc-grid img{height:265px;object-fit:contain}.blanc-grid .blanc-poster img{height:360px}.blanc-grid figcaption{font-size:13px;color:var(--muted);margin-top:12px}.rail-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:50px 0 20px}.rail-heading h4{margin-top:8px}.rail-controls{display:flex;gap:12px}.rail-controls button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:18px}.rail-controls button:hover{background:var(--wash)}.image-rail{display:flex;gap:22px;overflow:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;scrollbar-width:thin;scrollbar-color:#b1b8ae transparent;overscroll-behavior-x:contain}.image-rail>figure{scroll-snap-align:start;min-width:0}.pop-rail>figure{flex:0 0 calc(33.333% - 15px)}.pop-rail .image-button{background:var(--wash);padding:25px}.pop-rail img{height:380px;object-fit:contain}.pop-rail figcaption{font-size:14px;margin-top:12px;color:var(--muted)}
.dns-project{display:grid;grid-template-columns:1fr 1.4fr;gap:9%;align-items:center;margin-top:80px;padding-top:65px;border-top:1px solid var(--line)}.dns-project h3{font-size:clamp(26px,3vw,40px);margin:20px 0 12px}.dns-project p{font-size:16px}.dns-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dns-cards .image-button{background:var(--wash);padding:22px}.dns-cards figcaption{font-size:13px;margin-top:12px;color:var(--muted)}.music-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center;margin-top:90px;margin-bottom:40px}.music-feature>figure>.image-button{padding:35px;background:var(--wash)}.music-feature img{height:440px;object-fit:contain}.music-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px}.music-grid figure{min-width:0}.music-grid .image-button{background:var(--wash);padding:28px;display:flex;align-items:center;justify-content:center}.music-grid img{width:100%;height:100%;object-fit:contain}.music-grid figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:13px}.music-grid .music-wide{grid-row:span 2}.music-grid .music-wide .image-button{height:668px}.music-grid .music-leaflet .image-button{height:300px}.music-grid figcaption span:last-child{color:var(--muted)}
.experience-summary{display:flex;gap:10%;justify-content:space-between;border-top:1px solid var(--line);padding-top:35px}.experience-summary h3{margin:15px 0;font-size:25px}.experience-summary p{font-size:16px;margin-bottom:20px}.experience-summary .experience-copy{font-size:16px;line-height:2;align-self:center}.experience-photos{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.3fr;gap:20px;align-items:center;margin-top:40px}.experience-photos img{height:260px;object-fit:cover}.experience-photos figure:nth-child(2) img,.experience-photos figure:nth-child(3) img{height:320px}.experience-photos figcaption{font-size:13px;color:var(--muted);margin-top:10px}.responsibilities{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 55px;margin-top:60px}.responsibilities article{border-top:1px solid var(--line);padding-top:22px}.responsibilities article>span{font-size:13px}.responsibilities h3{font-size:21px;margin:12px 0}.responsibilities p{font-size:16px;color:var(--muted);line-height:1.9}.brand-strip{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin-top:65px;font-size:16px;font-weight:700}.brand-strip small{display:block;font-size:13px;font-weight:300;color:var(--muted);margin-top:6px}.jade-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:center;margin-bottom:65px}.jade-intro>img{height:470px;object-fit:cover}.jade-intro h3{font-size:32px;line-height:1.6;margin:22px 0}.jade-intro p{font-size:16px;color:var(--muted)}.gallery-tabs{display:flex;border-bottom:1px solid var(--line);gap:45px}.gallery-tabs button{padding:16px 0;position:relative;font-size:16px;color:var(--muted)}.gallery-tabs span{font-size:12px;margin-left:15px}.gallery-tabs button[aria-selected=true]{color:var(--ink);font-weight:700}.gallery-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--ink)}.gallery-intro{display:flex;justify-content:space-between;gap:30px;padding:28px 0 35px;font-size:16px}.gallery-intro span{font-size:12px;letter-spacing:.1em;color:var(--muted);align-self:center}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:stretch}.photo-grid button{grid-column:span 4;position:relative;overflow:hidden;aspect-ratio:1/1.15}.photo-grid button:nth-child(7n+1){grid-column:span 8;aspect-ratio:1.8}.photo-grid button:nth-child(7n+2){grid-column:span 4;aspect-ratio:.9}.photo-grid button:nth-child(7n+6),.photo-grid button:nth-child(7n+7){grid-column:span 6;aspect-ratio:1.5}.photo-grid img{height:100%;object-fit:cover;transition:transform .65s}.photo-grid button:hover img{transform:scale(1.035)}.photo-number{position:absolute;bottom:15px;left:15px;color:white;text-shadow:0 1px 4px #0008;font-size:13px;letter-spacing:.1em}.channel-section{display:grid;grid-template-columns:1fr 1.4fr;gap:12%;margin-top:85px;align-items:center;border-top:1px solid var(--line);padding-top:55px}.channel-section h3{font-size:29px;line-height:1.6;margin:20px 0}.channel-section p{font-size:16px;color:var(--muted)}.channel-links a{display:grid;grid-template-columns:30px 1fr 24px;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.channel-links a:first-child{border-top:1px solid var(--line)}.channel-links a>span{font-size:12px;color:var(--muted)}.channel-links b{font-size:20px;font-weight:700}.channel-links small{display:block;font-size:14px;color:var(--muted)}.channel-links i{font-style:normal;font-size:23px;transition:transform .25s}.channel-links a:hover i{transform:translate(3px,-3px)}
.contact{padding-top:75px;padding-bottom:30px;background:var(--wash);max-width:none}.contact>.wave-line{width:160px;margin-bottom:30px}.contact h2{font-family:Itsadzoke,Georgia,serif;font-weight:400;font-size:clamp(55px,8vw,120px);line-height:1.08;margin:32px 0 55px;letter-spacing:-.02em}.contact-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px}.contact-row p{font-size:16px;line-height:1.9}.contact-row p span{font-size:13px;color:var(--muted)}.contact-row>a{font-size:clamp(18px,2.5vw,35px);border-bottom:1px solid var(--ink);padding-bottom:10px}.contact-row>a span{padding-left:40px}.footer{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:12px;letter-spacing:.07em}
/* Full panels can be magnified and panned inside the gallery. */
dialog{width:calc(100% - 48px);max-width:1380px;height:calc(100dvh - 48px);max-height:1100px;border:1px solid var(--line);padding:22px 28px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#171e1bdd}dialog[open]{display:flex;flex-direction:column;gap:18px}.viewer-top{display:flex;justify-content:space-between;gap:20px}.viewer-top h2{font-size:20px;line-height:1.5}.viewer-top p{font-size:16px;color:var(--muted);margin-top:5px;line-height:1.7;max-width:850px}.viewer-top button{font-size:14px;white-space:nowrap;align-self:start}.viewer-image-wrap{flex:1;min-height:0;background:var(--wash);display:flex;align-items:center;justify-content:center;overflow:auto}.viewer-image-wrap img{height:100%;width:100%;object-fit:contain}.viewer-image-wrap.zoomed{display:block}.viewer-image-wrap.zoomed img{width:180%;height:auto;max-width:none;object-fit:initial;min-width:100%;cursor:zoom-out}.viewer-bottom{display:flex;justify-content:space-between;font-size:14px;align-items:center;gap:12px}.viewer-bottom button:disabled{opacity:.3;cursor:default}.viewer-position{text-align:center;font-size:14px;line-height:1.7}.viewer-position #zoom-image{margin-left:15px;font-size:13px;border-bottom:1px solid var(--line)}.viewer-position a{display:block;text-decoration:underline;text-underline-offset:3px;font-size:13px;margin-top:5px}
@media(min-width:1600px){.cover{padding-left:0;padding-right:0}}
@media(max-width:1000px){.section{padding-top:80px;padding-bottom:80px}.section-heading{grid-template-columns:40px 1fr;gap:14px}.section-heading>span:last-child{grid-column:2;padding-top:0}.cover-stage{min-height:610px}.cover-title{top:20%}.cover-title h1{font-size:11.8vw}.index{grid-template-columns:1fr;gap:35px}.about-main,.profile-details{gap:7%}.skills{grid-template-columns:1fr}.project-layout{grid-template-columns:1fr 1.75fr;gap:5%}.work-image{padding:18px}.work-card h3{font-size:26px}.project-details{gap:15px}.project-details img{height:175px}.project-details.four img{height:145px}.external-feature{gap:6%}.external-feature .image-button{padding:22px}.blanc-grid{gap:16px}.blanc-grid .image-button{padding:18px}.blanc-grid img{height:210px}.blanc-grid .blanc-poster img{height:290px}.pop-rail>figure{flex-basis:calc(50% - 12px)}.responsibilities{grid-template-columns:1fr 1fr;gap:35px}.brand-strip{flex-wrap:wrap;justify-content:flex-start;gap:25px 40px}.channel-section{gap:7%}.experience-photos{gap:14px}.experience-photos img{height:200px}.experience-photos figure:nth-child(2) img,.experience-photos figure:nth-child(3) img{height:250px}.interlude{height:380px}}
@media(max-width:650px){body{font-size:16px}.nav{height:64px;gap:14px}.wordmark{font-size:21px}.wordmark-wave{width:24px}.nav-caption{font-size:12px;letter-spacing:.06em}.menu-toggle{font-size:12px;gap:18px}#menu{top:63px;padding:20px 24px}#menu a{font-size:16px}.cover{padding-top:15px}.cover-top{font-size:11px;letter-spacing:.03em;margin-bottom:15px}.cover-stage{height:calc(100svh - 128px);min-height:555px;max-height:750px}.cover-stage>img{object-position:53% center}.cover-title{top:24%;left:5%;right:5%}.cover-title h1{font-size:10.6vw}.cover-title>p:first-of-type{font-size:4vw;line-height:1.6;margin-top:20px}.cover-title .wave-line{width:115px;margin:32px auto 24px}.cover-statement{font-size:14px;line-height:1.9}.cover-signature{left:50%;bottom:72px;font-size:14px}.cover-signature span:last-child{font-size:12px}.scroll{bottom:25px;right:50%;transform:translateX(50%);font-size:11px;gap:12px}.scroll span{font-size:18px}.section{padding-top:65px;padding-bottom:65px}.section-label{font-size:12px}.about-main{grid-template-columns:1fr;gap:32px;padding:35px 0 45px}.portrait{width:150px;justify-self:center;text-align:center}.portrait p{font-size:12px}.about-copy h2{font-size:27px}.about-copy>p{font-size:16px}.about-copy .about-detail br{display:none}.about-copy>.wave-line{width:105px;margin-bottom:20px}.profile-details{grid-template-columns:1fr;gap:35px;padding-top:30px}.profile-details h3{font-size:23px;margin-bottom:20px}.skills{grid-template-columns:1fr 1fr;gap:15px 20px}.skill{display:block}.skill-rating{margin-top:8px;gap:7px}.star{width:13px;height:13px}.stars{gap:2px}.rating-number{font-size:12px}.licenses li{font-size:16px;padding:6px 0}.index-intro h2{font-size:38px}.index-links a{grid-template-columns:25px 1fr 20px;gap:10px;padding:20px 0}.index-links b{font-size:16px}.index-links em{grid-column:2;grid-row:2;font-size:13px}.index-links i{grid-column:3;grid-row:1/3}.section-heading{margin-bottom:35px;grid-template-columns:28px 1fr;gap:10px}.section-heading h2{font-size:clamp(25px,7.7vw,34px);min-width:0}.section-heading .number{font-size:12px;padding-top:7px}.section-heading>span:last-child{font-size:13px}.education-layout{grid-template-columns:1fr;gap:30px}.education-layout>img{height:260px;aspect-ratio:auto;object-position:center 65%}.education-list h3{font-size:22px}.education-list article{padding:28px 0}.section-description{display:block;margin-bottom:28px}.section-description p{font-size:18px;margin-bottom:15px}.section-description>span{font-size:12px}.project-index{gap:12px 20px;margin-bottom:40px;padding:18px 0}.project-index a{font-size:13px;gap:7px}.works-grid{gap:55px}.work-card+.work-card{padding-top:45px}.project-layout{grid-template-columns:1fr;gap:25px}.work-number{margin-bottom:12px;font-size:13px}.work-meta{margin-bottom:14px;font-size:12px}.work-card h3{font-size:25px}.work-card p{margin:16px 0;font-size:16px}.project-view{font-size:13px;padding:7px 0;gap:18px}.work-image{padding:16px}.work-image.panel img{max-height:none}.work-image img{max-height:460px}.work-caption{font-size:12px}.project-details,.project-details.four{grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:22px}.project-details button{padding:12px}.project-details img,.project-details.four img{height:155px}.project-details figcaption{font-size:12px;margin-top:8px}.project-details figure:last-child:nth-child(odd){grid-column:1/-1}.project-details figure:last-child:nth-child(odd) img{height:210px}.project-rail figure{flex-basis:86%}.project-rail img{height:190px}.project-extra-label{font-size:13px}.interlude{height:340px;margin-top:0;margin-bottom:0}.interlude figcaption{padding:22px;left:6%;right:6%}.interlude p{font-size:23px}.interlude figcaption span{font-size:12px}.external-feature{grid-template-columns:1fr;gap:28px}.external-feature h3,.music-feature h3{font-size:29px}.external-feature .image-button{padding:20px}.external-feature .image-button>img{max-height:360px}.external-feature figcaption{font-size:12px}.blanc-grid{grid-template-columns:1fr 1fr;gap:18px 12px;margin-top:25px}.blanc-grid .image-button{padding:12px}.blanc-grid img{height:175px}.blanc-grid .blanc-poster{grid-column:1/-1}.blanc-grid .blanc-poster img{height:420px}.blanc-grid figcaption{font-size:12px}.rail-heading{margin-top:38px;gap:15px}.rail-heading h4{font-size:16px}.rail-controls{gap:7px}.rail-controls button{width:30px;height:30px;font-size:16px}.image-rail{gap:15px}.pop-rail>figure{flex-basis:82%}.pop-rail .image-button{padding:18px}.pop-rail img{height:365px}.pop-rail figcaption{font-size:13px}.dns-project{grid-template-columns:1fr;gap:25px;margin-top:55px;padding-top:40px}.dns-cards{gap:14px}.dns-cards .image-button{padding:12px}.dns-cards figcaption{font-size:12px}.music-feature{grid-template-columns:1fr;gap:25px;margin-top:60px;margin-bottom:28px}.music-feature>div{grid-row:1}.music-feature>figure>.image-button{padding:25px}.music-feature img{height:370px}.music-grid{grid-template-columns:1fr;gap:25px}.music-grid .music-wide{grid-row:auto}.music-grid .image-button{padding:18px}.music-grid .music-wide .image-button{height:460px}.music-grid .music-leaflet .image-button{height:245px}.music-grid figcaption{font-size:12px}.experience-summary{display:block;padding-top:28px}.experience-summary h3{font-size:22px}.experience-summary .experience-copy{font-size:16px;margin-top:28px}.experience-photos{grid-template-columns:1fr 1fr;gap:20px 12px;margin-top:28px}.experience-photos img,.experience-photos figure:nth-child(2) img,.experience-photos figure:nth-child(3) img{height:230px}.experience-photos figure:nth-child(2){padding-top:25px}.experience-photos figure:nth-child(3){padding-bottom:25px}.experience-photos figcaption{font-size:12px}.responsibilities{grid-template-columns:1fr;gap:28px;margin-top:35px}.responsibilities h3{font-size:20px;margin:8px 0 12px}.brand-strip{gap:22px 32px;font-size:16px;margin-top:40px}.brand-strip small{font-size:12px}.jade-intro{grid-template-columns:1fr;gap:28px;margin-bottom:40px}.jade-intro>img{height:300px}.jade-intro h3{font-size:28px;margin:15px 0 18px}.gallery-tabs{gap:20px;justify-content:space-between}.gallery-tabs button{font-size:14px}.gallery-tabs span{display:none}.gallery-intro{display:block;padding:20px 0}.gallery-intro span{display:block;margin-top:12px;font-size:12px}.photo-grid{grid-template-columns:1fr 1fr;gap:13px}.photo-grid button{grid-column:span 1!important;aspect-ratio:1/1.3!important}.photo-grid button:nth-child(7n+1){grid-column:span 2!important;aspect-ratio:1.5!important}.photo-number{font-size:12px;left:12px;bottom:10px}.channel-section{grid-template-columns:1fr;margin-top:55px;gap:28px;padding-top:35px}.channel-section h3{font-size:26px}.channel-links a{gap:12px;grid-template-columns:24px 1fr 20px;padding:16px 0}.channel-links b{font-size:18px}.channel-links small{font-size:13px}.contact h2{font-size:12vw;margin:25px 0 40px}.contact>.wave-line{width:115px;margin-bottom:24px}.contact-row{display:block;margin-bottom:50px}.contact-row>a{display:inline-block;margin-top:25px;font-size:21px}.contact-row>a span{padding-left:20px}.footer{flex-wrap:wrap;font-size:12px;gap:14px}.footer>span:nth-child(2){order:3;width:100%}.footer>a{margin-left:auto}dialog{width:calc(100% - 20px);height:calc(100dvh - 20px);padding:16px 13px}.viewer-top h2{font-size:16px}.viewer-top p{font-size:13px}.viewer-top button{font-size:12px}.viewer-bottom{font-size:12px}.viewer-position,.viewer-position #zoom-image{font-size:12px}.viewer-position #zoom-image{display:block;margin:3px auto}.viewer-position a{font-size:12px}.viewer-image-wrap.zoomed img{width:240%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The designer's photographs and quiet flowing lines carry the personal identity. */
.flow-divider{padding:0 var(--gutter);max-width:1504px;height:70px;margin:0 auto;display:flex;align-items:center;overflow:hidden}.flow-divider img{width:100%;height:70px;object-fit:fill}.flow-divider.reverse img{transform:scaleX(-1)}.about+.flow-divider{margin-top:-30px;margin-bottom:25px}.water-note{position:relative;isolation:isolate;min-height:275px;max-width:1504px;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;padding:40px 12%;overflow:hidden}.water-note>img,.water-note>.story-photo{position:absolute;inset:0;width:60%;height:100%;object-fit:cover;object-position:50% 65%;opacity:.55;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 60%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 60%,transparent)}.water-note>div{position:relative;max-width:550px}.water-note .small{color:var(--muted);font-size:12px}.water-note p{font-size:clamp(22px,2.3vw,34px);line-height:1.8;letter-spacing:-.035em;margin-top:18px;font-weight:300}.water-note .note-wave{position:absolute;bottom:-48px;left:-80%;width:180%;height:60px;max-width:800px;pointer-events:none}.photo-grid button.original-ratio{grid-column:span 4;aspect-ratio:auto;align-self:start;padding:16px 16px 38px;background:var(--wash)}.photo-grid button.original-ratio img{height:auto;object-fit:contain}.photo-grid button.original-ratio:hover img{transform:none}.photo-grid .original-ratio .photo-number{position:static;display:block;padding-top:12px;color:var(--muted);text-shadow:none;font-size:12px}.photo-grid button.original-ratio{padding-bottom:14px}
@media(max-width:650px){.flow-divider{height:50px;padding:0 12px}.flow-divider img{height:50px}.about+.flow-divider{margin-top:-20px;margin-bottom:10px}.water-note{min-height:260px;padding:40px var(--gutter)}.water-note>img,.water-note>.story-photo{width:100%;opacity:.28;mask-image:linear-gradient(180deg,transparent,#000 20%,#000 65%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 65%,transparent)}.water-note>div{margin-left:auto}.water-note p{font-size:22px}.water-note .note-wave{bottom:-38px;left:-25%;width:120%;height:50px}.photo-grid button.original-ratio,.photo-grid button.original-ratio:nth-child(7n+1){grid-column:span 2!important;aspect-ratio:auto!important;padding:16px 16px 14px}.photo-grid button.original-ratio img{height:auto}}

.wave-line path{vector-effect:non-scaling-stroke;stroke-width:1.25}

.gallery-hint{font-size:13px;color:var(--muted);margin-bottom:18px;letter-spacing:0}

/* Final hierarchy: readable cover, panels first, and professional work in focus. */
.cover-stage:after{background:linear-gradient(180deg,rgba(6,24,22,.18),rgba(6,24,22,.43) 38%,rgba(6,24,22,.35) 68%,rgba(6,24,22,.4))}
.cover-title h1{-webkit-text-stroke:.45px currentColor;text-shadow:0 2px 18px #071b1740}
.cover-title>p:first-of-type{text-shadow:0 2px 12px #071b1760;-webkit-text-stroke:.15px currentColor}
.cover-statement{font-size:16px;font-weight:600;letter-spacing:.015em;text-shadow:0 2px 9px #071b1790}
.cover-signature{font-weight:600;text-shadow:0 1px 8px #071b1760}
.cover-signature span:last-child{opacity:1}
.work-card.exhibition .project-layout{display:flex;flex-direction:column;align-items:stretch;gap:30px}
.work-card.exhibition .project-layout>figure{order:-1}
.work-card.exhibition .project-copy{max-width:980px}
.work-card.exhibition .work-image{padding:32px;background:#edf0e9}
.work-card.exhibition .work-image.panel img{max-height:880px;width:100%;height:auto;object-fit:contain}
.work-card.exhibition h3{font-size:32px}
.mobile-showcase{display:grid;grid-template-columns:1fr 2fr;gap:7%;align-items:center;margin-top:35px;background:var(--wash);padding:34px}
.mobile-showcase h4{font-size:24px;margin:15px 0;line-height:1.6}
.mobile-showcase p,.mobile-showcase figcaption{font-size:14px;color:var(--muted)}
.mobile-showcase .image-button{display:block;width:100%}
.mobile-showcase img{max-height:480px;object-fit:contain}
.mobile-showcase figcaption{margin-top:12px}
.blanc-feature .blanc-main-poster .image-button{padding:30px;width:100%;background:var(--wash)}
.blanc-feature .blanc-main-poster img{max-height:650px;height:650px;width:100%;object-fit:contain}
.blanc-grid{grid-template-columns:1.15fr 1.15fr .7fr;align-items:center}
.blanc-grid .blanc-sign .image-button{padding:20px;width:100%}
.blanc-grid .blanc-sign img{height:185px;object-fit:contain}
.blanc-grid .blanc-sign figcaption span{display:block;font-size:12px;margin-top:2px}
.experience-summary{align-items:center}
.experience-summary h3{font-size:clamp(30px,3.2vw,46px);line-height:1.35}
.experience-summary .experience-copy{font-size:clamp(18px,1.7vw,25px);font-weight:600;line-height:1.8}
.experience-copy span{display:block;font-size:14px;font-weight:300;color:var(--muted);margin-top:18px;line-height:1.9}
.experience-photos{grid-template-columns:1.6fr .9fr .9fr 1.1fr;align-items:start}
.experience-photos figure:first-child img{height:380px}
.experience-photos figure:nth-child(2){padding-top:55px}
.experience-photos figure:nth-child(3){padding-top:15px}
.experience-photos figure:nth-child(4){padding-top:70px}
.responsibilities h3{font-size:23px}
.contact-methods{display:grid;gap:14px;min-width:340px}
.contact-methods a{display:grid;grid-template-columns:55px 1fr 20px;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}
.contact-methods small{font-size:12px;letter-spacing:.09em;color:var(--muted)}
.contact-methods a>span{font-size:clamp(19px,2vw,28px);font-weight:600}
.contact-methods i{font-size:23px;font-style:normal}
@media(max-width:1000px){.blanc-feature .blanc-main-poster img{height:520px;max-height:520px}.experience-photos figure:first-child img{height:285px}.contact-methods{min-width:300px}}
@media(max-width:650px){.cover-title h1{-webkit-text-stroke:.25px currentColor}.cover-statement{font-size:16px;font-weight:600}.work-card.exhibition .project-layout{gap:24px}.work-card.exhibition .work-image{padding:12px}.work-card.exhibition .work-image.panel img{max-height:none}.mobile-showcase{grid-template-columns:1fr;gap:20px;padding:22px 16px;margin-top:25px}.mobile-showcase h4{font-size:20px;margin:10px 0}.mobile-showcase img{max-height:none}.blanc-feature .blanc-main-poster .image-button{padding:22px}.blanc-feature .blanc-main-poster img{height:auto;max-height:540px}.blanc-grid{grid-template-columns:1fr 1fr}.blanc-grid .blanc-sign{grid-column:1/-1;max-width:170px;justify-self:center;margin-top:8px}.blanc-grid .blanc-sign .image-button{padding:15px}.blanc-grid .blanc-sign img{height:150px}.experience-summary h3{font-size:30px}.experience-summary .experience-copy{font-size:19px;margin-top:25px}.experience-copy span{font-size:13px}.experience-photos{grid-template-columns:1fr 1fr}.experience-photos figure:first-child{grid-column:1/-1}.experience-photos figure:first-child img{height:280px}.experience-photos figure:nth-child(2),.experience-photos figure:nth-child(3),.experience-photos figure:nth-child(4){padding:0}.experience-photos figure:nth-child(4){grid-column:1/-1;max-width:78%;justify-self:end}.experience-photos figure:nth-child(4) img{height:235px}.contact-methods{min-width:0;width:100%;margin-top:25px;gap:10px}.contact-methods a{grid-template-columns:42px 1fr 16px;gap:10px;padding:10px 0}.contact-methods a>span{font-size:clamp(17px,5vw,21px)}.contact-methods small{font-size:12px}.contact-methods i{font-size:19px}}

/* Reading scale and restrained supporting details. */
.cover-statement{font-size:18px;line-height:1.8;margin:48px auto 0}
.cover-signature{font-size:16px;letter-spacing:.08em}
.cover-top{gap:14px;flex-wrap:wrap}
.index-links b{font-size:18px}
.about-copy .about-detail{font-size:18px;line-height:1.8;max-width:620px;margin:0}
.portrait p{font-size:16px}.portrait p span{font-size:13px}
.licenses li,.skill-name{font-size:16px}
.skill-rating{gap:8px}.rating-number{font-size:13px}
.skills{gap:20px 24px}.star{width:17px;height:17px}
.education-list p,.edu-note span{font-size:16px}
.work-card p{font-size:17px;max-width:620px;line-height:1.8}
.project-details.curated{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.project-details.curated img{height:320px}
.project-details figcaption,.project-rail figcaption{font-size:14px;line-height:1.65}
.project-view{font-size:16px}
.external-feature p,.music-feature p,.dns-project p,.jade-intro p,.channel-section p,.contact-row p{font-size:18px;line-height:1.8}
.project-text{max-width:620px}
.responsibilities p,.experience-summary>div>p,.experience-copy span{font-size:16px;line-height:1.8}
.gallery-intro p{font-size:16px;line-height:1.8}
.gallery-tabs button{font-size:16px}
.channel-links small{font-size:14px}
.footer{font-size:12px;gap:24px}
.viewer-top p,.viewer-bottom,.viewer-position,.viewer-position #zoom-image{font-size:14px}
.viewer-position a{font-size:13px}
@media(max-width:650px){
 body{font-size:16px}
 .cover-top{font-size:11px;letter-spacing:0;gap:3px 12px}
 .cover-title{top:22%}
 .cover-title>p:first-of-type{font-size:clamp(16px,4vw,24px);max-width:280px;margin:20px auto 0}
 .cover-statement{font-size:16px;line-height:1.8;margin-top:38px;letter-spacing:0}
 .cover-signature{bottom:82px;font-size:15px}
 .scroll{left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;bottom:28px;font-size:12px;gap:18px}
 .nav-caption{font-size:11px;letter-spacing:.03em}
 .about-copy .about-detail,.external-feature p,.music-feature p,.dns-project p,.jade-intro p,.channel-section p,.contact-row p{font-size:16px;line-height:1.8}
 .work-card p{font-size:16px}
 .index-links b{font-size:17px;line-height:1.6}
 .skills{gap:18px 16px}.skill{display:block}.skill-rating{margin-top:9px;gap:8px}.star{width:15px;height:15px}.skill-name{font-size:16px}
 .project-details.curated{grid-template-columns:1fr;gap:24px}
 .project-details.curated img{height:auto;max-height:350px;min-height:150px;object-fit:contain}
 .project-details figcaption,.project-rail figcaption{font-size:14px}
 .gallery-tabs{gap:16px}.gallery-tabs button{font-size:14px}
 .gallery-intro p{font-size:16px}
 .footer{font-size:12px;gap:14px}
 .viewer-top p{font-size:14px}.viewer-top button,.viewer-bottom,.viewer-position,.viewer-position #zoom-image{font-size:13px}
 .viewer-position a{font-size:12px}
}

.skill-scale{font-size:16px;line-height:1.7}

.experience-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:720px;margin:45px auto 0;align-items:start}
.experience-photos figure,.experience-photos figure:nth-child(2){padding:0}
.experience-photos img,.experience-photos figure:first-child img,.experience-photos figure:nth-child(2) img{height:auto;aspect-ratio:3/4;object-fit:contain}
.experience-photos figcaption{font-size:14px;line-height:1.7}
@media(max-width:650px){.experience-photos{gap:20px;margin-top:30px}.experience-photos figure:first-child{grid-column:auto}.experience-photos figcaption{font-size:13px}}

/* Quiet supporting copy, paired detail thumbnails, and print collections. */
.prose p+p{margin-top:14px}
.about-detail.prose p{font-size:18px;line-height:1.8}
.project-heading{margin-bottom:26px}
.project-heading .work-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin:12px 0 0;font-size:14px}
.project-description{margin-top:34px;max-width:1000px}
.project-paragraphs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.project-description p{max-width:46ch;margin:0;font-size:17px;line-height:1.8}
.project-description .project-view{margin-top:24px}
.project-copy>.work-meta{margin-top:12px}
.project-copy .prose{margin:22px 0}
.project-copy .prose p{margin:0}
.project-copy .prose p+p{margin-top:14px}
.responsibilities li{font-size:16px;line-height:1.8;color:var(--muted);padding:3px 0}
.jade-intro .prose,.channel-section .prose{font-size:18px;line-height:1.8;color:var(--muted)}
.photo-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.photo-grid .image-button,.photo-grid .image-button:nth-child(7n+1){grid-column:span 4;aspect-ratio:3/4}
.photo-grid.landscape-gallery .image-button:nth-child(14n+1){grid-column:span 8;aspect-ratio:4/3}
.photo-grid.landscape-gallery .image-button:nth-child(14n+2){grid-column:span 4;aspect-ratio:2/3}
.photo-grid.landscape-gallery .image-button:nth-child(14n+6),.photo-grid.landscape-gallery .image-button:nth-child(14n+7),.photo-grid.landscape-gallery .image-button:nth-child(14n+11),.photo-grid.landscape-gallery .image-button:nth-child(14n+12),.photo-grid.landscape-gallery .image-button:nth-child(14n+13),.photo-grid.landscape-gallery .image-button:nth-child(14n+14){grid-column:span 6;aspect-ratio:4/3}
.photo-grid.class-gallery .image-button:nth-child(-n+2){grid-column:span 6;aspect-ratio:4/3}
.photo-grid.class-gallery .image-button img{object-fit:contain;background:var(--wash)}
.photo-grid.food-gallery .image-button:first-child{grid-column:span 8;aspect-ratio:4/3}
.photo-grid.food-gallery .image-button:nth-child(2){grid-column:span 4;aspect-ratio:2/3}
.experience-sign{max-width:1080px;margin:45px auto 0}
.experience-sign img{width:100%;height:auto;display:block}
.experience-sign figcaption{font-size:14px;line-height:1.7;margin-top:12px;color:var(--muted)}
.reel-feature{display:grid;grid-template-columns:.9fr 1.3fr;gap:7%;align-items:center;margin-top:80px;padding-top:65px;border-top:1px solid var(--line)}
.reel-feature h3{font-size:32px;line-height:1.4;margin:18px 0 24px}
.reel-feature .prose{max-width:480px;font-size:18px;line-height:1.8;color:var(--muted)}
.reel-roles{font-size:14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);max-width:480px}
.reel-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.reel-feature figure{width:100%;min-width:0;justify-self:center}
.reel-feature video{display:block;width:100%;height:auto;aspect-ratio:480/854;object-fit:contain;background:#1b1e1d}
.reel-feature figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.7;color:var(--muted);margin-top:12px}
.water-note p{font-size:22px;line-height:1.8}
.section-description p{font-size:20px;line-height:1.8}
.interlude p{font-size:22px;line-height:1.8;margin:18px 0 0}
.project-details.curated img{height:260px}
.rail-controls button{width:44px;height:44px}
.materials-rail>figure{flex:0 0 38%}
.materials-rail .image-button{display:flex;align-items:center;justify-content:center;width:100%;height:320px;padding:24px;background:var(--wash)}
.materials-rail img{height:272px;object-fit:contain}
.materials-rail .blanc-sign img{height:210px}
.materials-rail figcaption,.music-print-rail figcaption,.cardnews-rail figcaption{font-size:14px;line-height:1.7;margin-top:12px;color:var(--muted)}
.materials-rail figcaption span{display:block}
.music-feature{display:block;margin:90px 0 0}
.music-feature>div{max-width:650px}
.music-feature+.rail-heading{margin-top:35px}
.music-print-rail>figure{flex:0 0 44%}
.music-print-rail .image-button{display:flex;align-items:center;justify-content:center;width:100%;height:520px;padding:28px;background:var(--wash)}
.music-print-rail img{width:100%;height:100%;object-fit:contain}
.music-print-rail figcaption{display:flex;justify-content:space-between;gap:12px}
.cardnews-section[hidden]{display:none}
.cardnews-rail>figure{flex:0 0 36%}
.cardnews-rail .image-button{display:block;width:100%}
.cardnews-rail img{width:100%;height:auto;object-fit:contain}

/* Closing cover shares the opening cover's image, alignment, and contrast. */
.contact{padding-top:40px;padding-bottom:30px;max-width:1680px;background:transparent}
.contact-stage{position:relative;isolation:isolate;overflow:hidden;min-height:610px;display:flex;align-items:center;justify-content:center;background:#363c3b;color:#fff}
.contact-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.contact-stage:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,24,22,.28),rgba(6,24,22,.52) 45%,rgba(6,24,22,.48));pointer-events:none}
.contact-content{width:min(100%,650px);padding:75px 28px;text-align:center}
.contact-content>.small{font-size:12px;letter-spacing:.1em;color:#fff}
.contact .contact-content h2{font-size:clamp(44px,4.4vw,64px);line-height:1.12;margin:26px 0 24px;letter-spacing:0;text-shadow:0 2px 12px #07161538;-webkit-text-stroke:.2px currentColor}
.contact-content>p{font-size:17px;line-height:1.8;margin:0}
.contact-content .contact-methods{min-width:0;width:min(100%,370px);margin:30px auto 0;gap:6px;text-align:left}
.contact-content .contact-methods a{grid-template-columns:50px 1fr 18px;gap:12px;border-color:#ffffff66;color:#fff;padding:12px 0}
.contact-content .contact-methods small{color:#ffffffe0;font-size:12px}
.contact-content .contact-methods a>span{font-size:20px;font-weight:600}
.contact-content .contact-methods i{font-size:20px}
.contact .footer{margin-top:24px;padding-top:18px}
@media(max-width:650px){
 .about-detail.prose p,.jade-intro .prose,.channel-section .prose{font-size:16px}
 .prose p+p{margin-top:14px}
 .work-card.exhibition h3{font-size:26px;line-height:1.4}
 .project-heading{margin-bottom:22px}
 .project-heading .work-meta{display:grid;font-size:13px;gap:5px}
 .project-paragraphs{grid-template-columns:1fr;gap:14px}
 .project-description{margin-top:26px}
 .project-description p{font-size:16px;line-height:1.8}
 .project-description .project-view{margin-top:18px}
 .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .photo-grid .image-button,.photo-grid .image-button:nth-child(7n+1){grid-column:span 1!important;aspect-ratio:3/4!important}
 .photo-grid.landscape-gallery .image-button:nth-child(14n+13){grid-column:span 1!important;aspect-ratio:3/4!important}
 .photo-grid.class-gallery .image-button img{object-fit:contain}
 .responsibilities li{font-size:16px}
 .reel-feature{grid-template-columns:1fr;gap:30px;margin-top:50px;padding-top:35px}
 .reel-feature h3{font-size:26px;margin:15px 0 20px}
 .reel-feature .prose{font-size:16px}
 .project-copy .prose p+p{margin-top:14px}
 .experience-sign{margin-top:30px}
 .experience-sign figcaption{font-size:13px}
 .reel-gallery{gap:14px}
 .reel-feature figcaption{display:block;font-size:13px}
 .reel-feature figcaption span{display:block}
 .reel-roles{font-size:14px;margin-top:20px}
 .water-note p,.interlude p{font-size:18px}
 .section-description p{font-size:17px}
 .project-details.curated{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .project-details.curated button{padding:10px}
 .project-details.curated img{height:155px;min-height:0;max-height:none;object-fit:contain}
 .project-details.curated figcaption{font-size:13px;line-height:1.6}
 .materials-rail>figure{flex-basis:76%}
 .materials-rail .image-button{height:250px;padding:18px}
 .materials-rail img{height:214px}
 .materials-rail .blanc-sign img{height:160px}
 .music-feature{margin-top:60px}
 .music-print-rail>figure{flex-basis:88%}
 .music-print-rail .image-button{height:350px;padding:20px}
 .music-print-rail figcaption{display:block}
 .music-print-rail figcaption>span:last-child{display:block}
 .cardnews-rail>figure{flex-basis:78%}
 .materials-rail figcaption,.music-print-rail figcaption,.cardnews-rail figcaption{font-size:13px}
 .contact{padding-top:20px;padding-bottom:24px}
 .contact-stage{min-height:550px}
 .contact-content{padding:55px 20px}
 .contact .contact-content h2{font-size:clamp(30px,7.5vw,40px);margin:24px 0}
 .contact-content>p{font-size:16px}
 .contact-content .contact-methods{margin-top:28px}
 .contact-content .contact-methods a{grid-template-columns:42px 1fr 16px;gap:8px}
 .contact-content .contact-methods a>span{font-size:clamp(16px,4.5vw,19px)}
 .contact-content .contact-methods i{font-size:18px}
}

/* Align every skill rating and keep the class sequence balanced on desktop. */
.skill{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:center;gap:9px;min-height:110px;padding:14px 8px;text-align:center}
.skill-name{line-height:1.5;white-space:nowrap}
.skill-rating{display:grid;justify-items:center;align-items:center;gap:7px;margin:0}
.stars{display:flex;align-items:center;justify-content:center;gap:4px;line-height:1}
.star{flex:0 0 auto}
.rating-number{line-height:1.4}
.photo-grid.class-gallery .image-button:nth-child(n){grid-column:span 4;aspect-ratio:3/4}
.photo-grid.class-gallery .image-button:nth-child(-n+2){grid-column:span 6;aspect-ratio:4/3}
@media(max-width:650px){
 .skill{display:grid;min-height:104px;padding:12px 4px;gap:8px}
 .skill-rating{display:grid;margin:0;gap:6px}
 .stars{gap:3px}
}

/* Panel halves read left to right; character details have room to breathe. */
.project-details.panel-halves{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.project-details.panel-halves img{height:330px;object-fit:contain}
.detail-carousel{margin-top:34px;min-width:0}
.detail-slide-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.slide-hint{font-size:14px;color:var(--muted)}
.project-slides{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;position:relative}
.project-slides::-webkit-scrollbar{display:none}
.project-slides>figure{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.project-slides .image-button{display:flex;align-items:center;justify-content:center;width:100%;padding:28px;background:var(--wash);min-height:440px}
.project-slides img{width:100%;height:460px;object-fit:contain}
.project-slides figcaption{font-size:15px;line-height:1.7;margin-top:14px;color:var(--muted)}
.slide-controls{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:20px}
.slide-controls>button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:20px}
.slide-controls>button:disabled{opacity:.3;cursor:default}
.slide-controls>button:not(:disabled):hover{background:var(--wash)}
.slide-pagination{display:flex;align-items:center;gap:16px}
.slide-count{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}
.slide-dots{display:flex;gap:0;align-items:center}
.slide-dots button{width:32px;height:32px;display:grid;place-items:center}
.slide-dots button span{width:6px;height:6px;border-radius:50%;background:#c9cec7;transition:background .2s}
.slide-dots button[aria-current="true"] span{background:var(--ink)}

/* A quiet bottom menu returns to any work without traversing the long page. */
.floating-navigation{position:fixed;z-index:35;bottom:max(22px,env(safe-area-inset-bottom));right:28px;display:flex;align-items:flex-end;gap:12px}
.work-dock{position:relative}
#work-menu-toggle,.back-to-top{height:48px;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid #bfc7bc;box-shadow:0 3px 20px #26362b12;border-radius:26px}
#work-menu-toggle{padding:0 20px;gap:24px;font-size:14px;font-weight:600}
#work-menu-toggle>span:last-child{transition:transform .2s}
#work-menu-toggle[aria-expanded="true"]>span:last-child{transform:rotate(180deg)}
.back-to-top{width:64px;gap:5px;font-size:11px;font-weight:700;letter-spacing:.03em}
.back-to-top>span:first-child{font-size:20px;font-weight:300}
#work-menu{position:absolute;bottom:62px;right:0;width:340px;max-height:min(65svh,530px);overflow:auto;background:var(--paper);padding:12px 18px;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #26362b1c}
#work-menu[hidden]{display:none}
#work-menu a{display:grid;grid-template-columns:23px 1fr 15px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
#work-menu a:last-child{border:0}
#work-menu a>span{font-size:12px;color:var(--muted)}
#work-menu a b{font-weight:500}
#work-menu a i{font-style:normal}
#work-menu a:hover,#work-menu a[aria-current="location"]{color:#3c5949}
#work-menu a[aria-current="location"] b{font-weight:700}
body.locked .floating-navigation{visibility:hidden}
.contact{padding-bottom:100px}
@media(max-width:650px){
 .project-details.panel-halves{gap:12px}
 .project-details.panel-halves img{height:155px}
 .detail-carousel{margin-top:24px}
 .detail-slide-heading{gap:8px;margin-bottom:14px}
 .detail-slide-heading .small{font-size:12px;letter-spacing:.04em}
 .slide-hint{font-size:12px}
 .project-slides{gap:16px}
 .project-slides .image-button{padding:16px;min-height:0}
 .project-slides img{height:320px}
 .project-slides figcaption{font-size:14px;margin-top:12px}
 .slide-controls{gap:20px;margin-top:16px}
 .slide-pagination{gap:10px}
 .floating-navigation{right:16px;bottom:max(16px,env(safe-area-inset-bottom));gap:8px}
 #work-menu-toggle{height:46px;padding:0 16px;gap:20px;font-size:13px}
 .back-to-top{height:46px;width:58px}
 #work-menu{right:-66px;width:min(340px,calc(100vw - 32px));bottom:58px;padding:10px 16px;max-height:60svh}
 #work-menu a{font-size:14px;padding:12px 0}
 .contact{padding-bottom:95px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide-dots button span,#work-menu-toggle>span:last-child{transition:none}}

/* Let each introduction paragraph flow naturally at a comfortable reading width. */
.about-copy .about-detail{max-width:33rem}
.about-detail.prose p{margin:0}
.about-detail.prose p+p{margin-top:14px}

/* Clear paragraph rhythm on small screens, with the original reading scale. */
.prose p,.project-paragraphs p,.gallery-intro p{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
@media(max-width:768px){
 .mobile-phrase{display:block}
 .prose,.project-paragraphs,.gallery-intro{min-width:0}
 .prose,.project-paragraphs{max-inline-size:38rem}
 .prose p,.about-detail.prose p,.external-feature .prose p,.music-feature .prose p,
 .dns-project .prose p,.jade-intro .prose p,.channel-section .prose p,
 .reel-feature .prose p,.project-copy .prose p,.project-description p,.gallery-intro p{
  max-inline-size:38rem;margin:0;font-size:16px;line-height:1.7;
  word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty
 }
 .prose p+p,.about-detail.prose p+p,.project-copy .prose p+p{margin-top:16px}
 .project-paragraphs{grid-template-columns:minmax(0,1fr);gap:16px}
 .about-copy h2{margin-bottom:22px}
 .about-main{gap:26px}
 .experience-copy,.contact-content>p{line-height:1.7;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
 .responsibilities li{line-height:1.7;padding-block:4px}
}

/* Every campus work uses a single-page detail carousel. */
.detail-slide-heading .small{min-width:0;line-height:1.5}
.slide-hint{flex-shrink:0;white-space:nowrap}
.slide-controls>button{flex-shrink:0}
.slide-count{white-space:nowrap}
#project-meal .project-slides .image-button{min-height:0}
#project-meal .project-slides img{height:auto;aspect-ratio:16/9;max-height:460px;object-fit:contain}
/* Each detail frames one topic from the unchanged original panel. */
.cover-signature .cover-role{font-size:14px;line-height:1.6;letter-spacing:.08em}
.panel-frame{display:block;position:relative;overflow:hidden;aspect-ratio:var(--frame-ratio);width:min(100%,calc(460px * var(--frame-ratio)));background:#fff}
.project-slides .panel-frame img,#viewer-frame.is-cropped img,.viewer-image-wrap.zoomed #viewer-frame.is-cropped img{position:absolute;width:var(--source-width);height:var(--source-height);left:var(--source-left);top:var(--source-top);max-width:none;min-width:0;object-fit:fill;aspect-ratio:auto}
.viewer-image-wrap{container-type:size}
#viewer-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
#viewer-frame.is-cropped{display:block;position:relative;overflow:hidden;height:auto;aspect-ratio:var(--frame-ratio);width:min(100%,calc(100cqh * var(--frame-ratio)));flex:none}
.viewer-image-wrap.zoomed #viewer-frame{height:auto;display:block}
.viewer-image-wrap.zoomed #viewer-frame.is-cropped{width:180%;min-width:var(--frame-pixels);margin:0}
@media(max-width:650px){
 .cover-signature .cover-role{font-size:13px}
 .panel-frame{width:min(100%,calc(320px * var(--frame-ratio)))}
 .viewer-image-wrap.zoomed #viewer-frame.is-cropped{width:240%}
}
@media(max-width:650px){
 .slide-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center}
 .slide-pagination{min-width:0;flex-direction:column;gap:3px}
 .slide-dots{max-width:100%;flex-wrap:wrap;justify-content:center}
 .slide-dots button{flex:0 0 32px}
 #project-meal .project-slides img{max-height:none}
}

/* Quiet emphasis and a compact shortcut to the contact page. */
.about-detail .about-signature{font-weight:600}
.work-dock{position:static}
#work-menu{right:0}
.contact-shortcut{height:48px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;background:var(--paper);border:1px solid #bfc7bc;box-shadow:0 3px 20px #26362b12;border-radius:26px}
.contact-shortcut>span:first-child{font-size:20px;font-weight:300}
@media(max-width:650px){
 .dock-label-prefix{display:none}
 #work-menu-toggle{padding:0 14px;gap:12px}
 #work-menu{right:0}
 .contact-shortcut{height:46px;padding:0 12px;gap:5px;font-size:11px}
}

/* A centered signature and two quiet rows for work categories and utilities. */
.nav .wordmark{position:absolute;left:50%;transform:translateX(-50%);gap:10px;white-space:nowrap}
.nav .wordmark-wave{width:40px;height:20px;margin:0;stroke-width:1.2;flex-shrink:0}
.nav .wordmark-wave path{vector-effect:non-scaling-stroke}
.floating-navigation{flex-direction:column;align-items:flex-end;gap:8px}
.contact{padding-bottom:150px}
.utility-navigation{display:flex;align-items:center;gap:12px}
.category-shortcuts{display:flex;align-items:center;min-height:44px;background:var(--paper);border:1px solid #bfc7bc;border-radius:26px;box-shadow:0 3px 20px #26362b12;overflow:hidden}
.category-shortcut{position:relative;min-width:64px;min-height:44px;padding:0 17px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1.2}
.category-shortcut+.category-shortcut:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);height:16px;border-left:1px solid var(--line)}
.category-shortcut:hover{background:var(--wash)}
.category-shortcut:focus-visible{outline-offset:-4px}
#work-menu{bottom:calc(100% + 12px);max-height:min(60svh,calc(100svh - 190px))}
@media(max-width:650px){
 .nav .wordmark{gap:6px}
 .nav .wordmark-wave{width:24px;height:16px}
 .cover-signature{bottom:135px}
 .utility-navigation{gap:8px}
 .category-shortcut{padding:0 15px;font-size:11px}
 #work-menu{bottom:calc(100% + 10px);max-height:min(60svh,calc(100svh - 180px))}
}
@media(max-width:360px){.nav .wordmark-wave{width:20px}}

/* Clear water stays unfiltered; a soft translucent veil sits behind the words. */
.cover-stage>img,.contact-stage>img{object-position:50% 35%}
.cover-stage:after,.contact-stage:after{background:none}
.cover-title,.cover-signature,.cover .scroll,.contact-stage,.contact-content>.small,.contact-content .contact-methods a,.contact-content .contact-methods small{color:#101e1a}
.photo-label{display:inline-block;max-width:100%;padding:.12em .4em;background:transparent;color:#101e1a;text-shadow:none;vertical-align:middle}
.cover-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(26px,4svh,40px);padding:40px 0 70px}
.cover-stage>img{position:absolute;inset:0;width:100%;height:100%}
.cover-title{position:relative;top:auto;left:auto;right:auto;width:100%;padding:0 4%;flex-shrink:0}
.cover-title h1{font-size:clamp(58px,9.2vw,132px);line-height:1.15;text-shadow:none;-webkit-text-stroke:0}
.cover-title h1 .photo-label{padding:.035em .18em}
.cover-title>.cover-discipline:first-of-type{font-family:Pretendard,Arial,sans-serif;font-size:clamp(12px,1.1vw,16px);font-weight:600;letter-spacing:.025em;line-height:1.6;max-width:none;margin:14px auto 0;text-shadow:none;-webkit-text-stroke:0}
.cover-discipline .photo-label{padding:5px 12px}
.discipline-part{white-space:nowrap}
.discipline-part+.discipline-part:before{content:'· '}
.cover-statement{font-size:18px;line-height:1.75;font-weight:400;margin:30px auto 0;text-shadow:none}
.cover-statement .photo-label{padding:10px 18px}
.cover-signature{position:relative;left:auto;bottom:auto;transform:none;flex-shrink:0;margin:0 auto;padding:9px 18px;background:transparent;font-size:14px;line-height:1.6;letter-spacing:.06em;text-shadow:none}
.cover-signature .cover-role{font-size:12px;line-height:1.6;color:#40534b}
.contact-content{padding:52px 20px}
.contact-content>.small.photo-label{font-size:11px;letter-spacing:.08em;padding:5px 10px;font-weight:500}
.contact .contact-content h2{font-size:clamp(42px,4.1vw,58px);line-height:1.12;margin:20px 0;text-shadow:none;-webkit-text-stroke:0}
.contact .contact-content h2 .photo-label{padding:8px 16px}
.contact-content>p.photo-label{font-size:16px;font-weight:400;line-height:1.7;padding:10px 16px;text-shadow:none}
.contact-content .contact-methods{width:min(100%,370px);margin-top:26px;gap:8px;text-shadow:none}
.contact-content .contact-methods a{padding:12px 16px;background:transparent;border:0;grid-template-columns:48px minmax(0,1fr) 18px;gap:22px}
.contact-content .contact-methods small{font-weight:500}
.contact-content .contact-methods a>span{font-size:19px}
/* A blurred light field diffuses equally beyond all four edges; text stays sharp. */
.photo-label,.cover-signature,.contact-content .contact-methods a{position:relative;isolation:isolate;border-radius:24px}
.photo-label:before,.cover-signature:before,.contact-content .contact-methods a:before{content:'';position:absolute;inset:-4px -16px;z-index:-1;border-radius:inherit;background:rgba(252,255,251,.84);filter:blur(12px);pointer-events:none}
.cover-title h1 .photo-label,.contact-content h2 .photo-label{border-radius:48px}
.cover-signature{border-radius:999px}
.contact-content .contact-methods a{border-radius:22px;transition:color .2s ease}
.contact-content .contact-methods a:before{inset:-2px -2px;filter:blur(10px)}
.contact-content .contact-methods a:hover,.contact-content .contact-methods a:focus-visible{color:#174d3b}
.design-perspective{border-top:1px solid var(--line);padding-top:38px;margin-top:12px}
.perspective-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:30px}
.perspective-heading>.small{padding-top:5px;font-size:12px;letter-spacing:.08em}
.perspective-heading h3{font-size:28px;line-height:1.4;font-weight:600}
.perspective-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.perspective-grid article{min-width:0;padding-top:20px;border-top:1px solid var(--line)}
.perspective-number{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.perspective-grid h4{font-size:20px;font-weight:600;margin:12px 0}
.perspective-grid p{font-size:16px;line-height:1.7;word-break:keep-all;text-wrap:pretty}
.perspective-grid a{display:inline-flex;gap:20px;align-items:center;margin-top:20px;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:5px}
.perspective-grid a:hover{border-color:currentColor}
.credentials{margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.credentials>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:22px 0;font-size:16px;font-weight:600}
.credentials>summary::-webkit-details-marker{display:none}
.credentials>summary:focus-visible{outline:2px solid #40534b;outline-offset:5px}
.credential-hint{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:300;color:var(--muted)}
.credential-hint i{font-style:normal;font-size:20px;transition:transform .2s}
.credentials[open] .credential-hint i{transform:rotate(45deg)}
.credentials .profile-details{padding-top:10px;padding-bottom:32px;border:0}
.credentials .profile-details h3{font-size:22px}
.credentials .skill-scale{font-size:12px}
.mobile-break{display:none}
.section-description{margin-bottom:40px}
.interlude figcaption{background:#fffffc}
@media(max-width:1000px){
 .perspective-grid{gap:22px}
 .perspective-grid h4{font-size:18px}
 .desktop-break{display:none}
}
@media(max-width:650px){
 .cover-stage{height:calc(100svh - 128px);min-height:0;max-height:none;gap:26px;padding:24px 0 calc(146px + env(safe-area-inset-bottom))}
 .cover-title{padding:0 4%}
 .cover-title h1{font-size:10vw;line-height:1.1}
 .cover-title h1 .photo-label,.contact-content h2 .photo-label{border-radius:20px}
 .photo-label:before,.cover-signature:before{inset:-4px -8px;filter:blur(10px)}
 .contact-content .contact-methods a{border-radius:18px}
 .cover-title>.cover-discipline:first-of-type{font-size:12px;margin-top:10px;line-height:1.55;letter-spacing:0}
 .cover-discipline .photo-label{padding:4px 10px}
 .cover-discipline .discipline-part{display:block}
 .cover-discipline .discipline-part:before{content:none}
 .cover-statement{font-size:16px;line-height:1.65;margin-top:20px}
 .cover-statement .photo-label{padding:8px 12px}
 .cover-signature{font-size:13px;margin:0 auto;padding:7px 16px}
 .cover-signature .cover-role{font-size:12px}
 .contact-content{padding:38px 16px}
 .contact .contact-content h2{font-size:clamp(24px,7.4vw,34px);margin:18px 0}
 .contact .contact-content h2 .photo-label{padding:8px 12px}
 .contact-content>p.photo-label{font-size:16px;line-height:1.65;padding:8px 12px}
 .contact-content .contact-methods a{grid-template-columns:36px minmax(0,1fr) 14px;gap:16px;padding:12px 10px}
 .contact-content .contact-methods a>span{font-size:clamp(14px,4.2vw,17px)}
 .contact-content .contact-methods small{font-size:10px}
 .contact-content .contact-methods i{font-size:17px}
 .mobile-break{display:initial}
 .perspective-heading{display:block;margin-bottom:24px}
 .perspective-heading>.small{display:block;padding:0;margin-bottom:14px}
 .perspective-heading h3{font-size:24px}
 .design-perspective{padding-top:28px;margin-top:0}
 .perspective-grid{grid-template-columns:1fr;gap:26px}
 .perspective-grid article{padding-top:18px}
 .perspective-grid h4{font-size:20px;margin:10px 0}
 .perspective-grid a{margin-top:14px}
 .credentials{margin-top:30px}
 .credentials>summary{align-items:flex-start;padding:20px 0;font-size:15px}
 .credential-hint{font-size:12px;gap:12px}
 .credential-hint>span{display:none}
 .credential-hint i{font-size:17px}
 .section-description{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.credential-hint i{transition:none}}

/* Quieter career introduction; the cover keeps a compact centred hierarchy. */
.experience-summary .experience-copy{font-size:16px;font-weight:300;line-height:1.7}
.interlude>img{object-position:50% 56%}

/* Crop the story photograph inside its fading frame; retain the original water colour. */
.water-note>.story-photo{overflow:hidden}
.story-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;transform:scale(1.3);transform-origin:50% 100%}
.contact-stage>img{object-position:50% 20%}
@media(max-width:650px){.story-photo>img{object-position:50% 95%}}

/* Full exhibition panels share a single, uncropped horizontal gallery. */
.panel-carousel{min-width:0;scroll-margin-top:100px}
.panel-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.panel-gallery-heading .small{font-size:12px;letter-spacing:.08em}
.panel-slides{display:flex;gap:28px;position:relative;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b1b8ae transparent;padding-bottom:16px}
.panel-slides>.work-card{flex:0 0 100%;min-width:0;scroll-snap-align:start;border:0;padding:26px 0 0;scroll-margin:0}
.panel-slides .project-heading{min-height:92px;margin-bottom:22px}
.panel-slides .work-meta{font-size:12px;line-height:1.5}
.panel-slides .work-image.panel{height:clamp(360px,52svh,600px);padding:20px}
.panel-slides .work-card.exhibition .work-image.panel img{width:100%;height:100%;max-height:none;object-fit:contain}
.panel-slides .project-description{max-width:none;margin-top:24px}
.panel-slides .project-description p{font-size:16px;line-height:1.7}
.panel-controls{margin-top:8px}
.panel-slides:focus-visible{outline:2px solid #40534b;outline-offset:5px}
@media(max-width:650px){
 .panel-carousel{scroll-margin-top:78px}
 .panel-gallery-heading{display:block;padding-bottom:16px}
 .panel-gallery-heading .small{display:block;font-size:11px;margin-bottom:8px}
 .panel-gallery-heading .slide-hint{font-size:12px;white-space:normal}
 .panel-slides{gap:16px}
 .panel-slides>.work-card{padding-top:22px}
 .panel-slides .project-heading{min-height:106px;margin-bottom:16px}
 .panel-slides h3{font-size:25px;line-height:1.4}
 .panel-slides .work-image.panel{height:clamp(260px,50svh,460px);padding:12px}
 .panel-slides .project-description{margin-top:20px}
 .panel-controls{margin-top:12px}
}

/* Selected C: clear black type over a white field diffused in every direction. */
.cover-title h1 .photo-label,.cover-discipline .discipline-part,.cover-signature>span,.contact-content>.small.photo-label,.contact-content h2 .photo-label,.contact-content .contact-methods a>small,.contact-content .contact-methods a>span,.contact-content .contact-methods a>i{color:#101e1a;-webkit-text-stroke:0;text-shadow:none}
.photo-label:before,.cover-signature:before,.contact-content .contact-methods a:before{content:'';position:absolute;inset:-12px -28px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,#fff 0%,#fffffff5 35%,#ffffffb3 58%,#ffffff00 80%);filter:blur(12px)}
.cover-signature:before{inset:-14px -30px}
.contact-content .contact-methods a:before{inset:-8px -18px}
.cover-signature .cover-role{color:#101e1a}
.cover-title>.cover-discipline:first-of-type,.cover-signature,.cover-signature .cover-role,.contact-content>.small.photo-label,.contact-content .contact-methods small,.contact-content .contact-methods a>span,.contact-content .contact-methods a>i{font-family:'Pretendard Label',Pretendard,Arial,sans-serif;font-weight:600}
@media(max-width:650px){.photo-label:before,.cover-signature:before{inset:-10px -18px;filter:blur(10px)}}
.water-note-quiet>img{object-position:50% 42%}

/* Trim only the outer panel margin; all graduation panels retain the same viewport. */
.panel-slides .work-image.panel{container-type:size}
.panel-slides .work-image.panel .panel-frame{width:min(100%,calc(100cqh * var(--frame-ratio)));max-height:100%;flex:none}
.panel-slides .work-card.exhibition .work-image.panel .panel-frame img{position:absolute;width:var(--source-width);height:var(--source-height);left:var(--source-left);top:var(--source-top);max-width:none;max-height:none;object-fit:fill;aspect-ratio:auto}
/* Slightly larger labels in the actual SemiBold cut, preserving the selected C treatment. */
.cover-title>.cover-discipline:first-of-type{font-size:clamp(14px,1.25vw,18px)}
.cover-signature{font-size:16px}
.cover-signature>span.cover-role{font-size:14px}
.contact-content>.small.photo-label{font-size:13px}
.contact-content .contact-methods small{font-size:14px}
.contact-content .contact-methods a>span{font-size:20px}
@media(max-width:650px){
 .cover-title>.cover-discipline:first-of-type{font-size:14px}
 .cover-signature{font-size:15px}
 .cover-signature>span.cover-role{font-size:14px}
 .contact-content>.small.photo-label{font-size:12px}
 .contact-content .contact-methods small{font-size:12px}
 .contact-content .contact-methods a{grid-template-columns:46px minmax(0,1fr) 16px}
 .contact-content .contact-methods a>span{font-size:clamp(15px,4.4vw,18px)}
}

/* Portrait and introduction share a quiet, left-aligned two-column layout. */
#about{text-align:left}
#about .section-label{display:flex;justify-content:space-between;gap:16px}
#about .about-main{grid-template-columns:200px minmax(0,1fr);width:min(100%,900px);margin-inline:auto;justify-items:start;align-items:center;gap:64px;padding-top:48px}
#about .portrait,#about .about-copy{margin:0;text-align:left}
#about .about-copy{width:100%;min-width:0}
#about .about-copy>.wave-line,#about .about-copy .about-detail,#about .about-detail p{margin-inline:0}
#about .portrait-name{font-family:'Pretendard Label',Pretendard,Arial,sans-serif;font-size:13px;font-weight:400;color:var(--ink);white-space:nowrap}
#about .portrait-birth{font-size:12px;white-space:nowrap}
#about .about-copy h2{font-size:30px;line-height:1.45;margin-bottom:18px}
#about .about-copy .about-detail{margin-top:18px;margin-bottom:0}
#about .design-perspective,#about .credentials{text-align:left}
/* Numberless category lists retain their original destinations. */
.index-links a{grid-template-columns:minmax(0,1fr) 22px}
.index-links b{grid-column:1;grid-row:1}
.index-links i{grid-column:2;grid-row:1}
/* Both water interludes share the same centred text, photograph and flowing line. */
.water-note{justify-content:center;text-align:center}
.water-note>div{width:min(100%,550px);margin-inline:auto}
.water-note>img,.water-note>.story-photo{left:50%;right:auto;transform:translateX(-50%)}
.water-note .note-wave{left:50%;transform:translateX(-50%)}
/* Quiet supporting text stays smaller than the signature and contact details. */
.cover-title>.cover-discipline:first-of-type,.cover-discipline .discipline-part,
.contact-content>.small.photo-label{font-family:'Pretendard Label',Pretendard,Arial,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:.025em}
@media(max-width:650px){
 #about .about-main{grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:start;padding-top:35px}
 #about .portrait{width:90px}
 #about .portrait-name{font-size:12px;letter-spacing:0}
 #about .portrait-birth{font-size:12px;letter-spacing:0}
 #about .about-copy h2{font-size:20px;line-height:1.45;margin-bottom:14px}
 #about .about-copy>.wave-line{width:80px;margin-bottom:16px}
 #about .about-copy .about-detail{margin-top:14px}
 #about .about-detail .mobile-phrase{display:inline}
 #about .section-label{gap:8px}
 .index-links a{grid-template-columns:minmax(0,1fr) 20px}
}
/* Contact rows return to left alignment and share the signature's typography. */
.contact-content .contact-methods,.contact-content .contact-methods a{text-align:left}
.cover-signature>span,.cover-signature>span.cover-role,
.contact-content .contact-methods a>small,.contact-content .contact-methods a>span{font-family:'Pretendard Label',Pretendard,Arial,sans-serif;font-weight:600;font-size:14px;line-height:1.6;letter-spacing:.025em}

/* Keep label separation clear on narrow phones while retaining one-line contact values. */
@media(max-width:360px){
 .contact-content .contact-methods a{grid-template-columns:44px minmax(0,1fr) 16px;gap:12px;padding-inline:4px}
}

/* English editorial headings echo the opening and closing Itsadzoke titles. */
.editorial-heading,.section-heading h2,.index-intro h2,.external-feature h3,.music-feature h3,
.reel-feature h3,.responsibilities h3,.credentials .profile-details h3,
.detail-slide-heading .small,.panel-gallery-heading .small{font-family:Itsadzoke,Georgia,serif;font-weight:400;letter-spacing:0;line-height:1.25}
/* Korean supporting headings stay quieter than the work titles and body copy. */
.section-heading>.section-kicker-ko{font-size:12px}
#about .section-label>span:last-child{font-size:12px}
#about .perspective-heading{display:block;text-align:left;margin-bottom:26px}
#about .perspective-heading>.small{display:block;padding:0;margin-bottom:14px}
#about .perspective-heading h3{font-size:22px;line-height:1.45;text-align:left}
.perspective-grid h4{font-size:18px}
.section-description p{font-size:18px}
.water-note p{font-size:20px}
.rail-heading h4{font-size:16px}
.jade-intro h3{font-size:28px}
.channel-section h3{font-size:25px}
.experience-summary h3,.education-list h3{font-size:23px}
.external-feature>div>p,.music-feature>div>p{font-size:14px}
.contact-content{width:min(100%,760px)}
.contact .contact-content h2{font-size:clamp(50px,5vw,72px);line-height:1.12}
@media(max-width:650px){
 #about .perspective-heading h3{font-size:20px}
 .perspective-grid h4{font-size:17px}
 .section-description p{font-size:16px}
 .water-note p{font-size:17px}
 .rail-heading h4{font-size:15px}
 .jade-intro h3{font-size:24px}
 .channel-section h3{font-size:22px}
 .experience-summary h3,.education-list h3{font-size:20px}
 .contact .contact-content h2{font-size:clamp(28px,8.6vw,42px)}
}

@media(max-width:360px){.contact .contact-content h2 .photo-label{padding-inline:2px}}
