:root{--paper:#f8f7f3;--ink:#252522;--muted:#73736b;--red:#bd422c;--line:#d8d8cd;--serif:'Noto Serif SC','Source Han Serif SC','Songti SC','STSong','SimSun',serif;--sans:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button,a{touch-action:manipulation}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.accent{color:var(--red)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;line-height:1.6}.skip{position:fixed;top:-80px;left:16px;z-index:20;background:var(--red);color:#fff;padding:12px}.skip:focus{top:12px}.mobile-only{display:none}
.site-header{height:88px;padding:0 56px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(248,247,243,.97);z-index:5}.brand{font-size:33px;line-height:1;font-weight:750;letter-spacing:-2px;display:flex;align-items:baseline}.brand>span:first-child{color:var(--red)}.brand-name{font-size:14px;font-weight:500;letter-spacing:.18em;margin-left:20px}.site-header nav{display:flex;gap:34px;align-items:center;font-size:14px}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--red)}.nav-contact{border-bottom:1px solid var(--ink)}
.hero{display:grid;grid-template-columns:46% 54%;min-height:660px;padding-top:64px;padding-bottom:70px;align-items:center;gap:0}.hero-copy{position:relative;z-index:1}.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px;color:var(--muted)}.short-line{height:1px;width:32px;background:var(--red)}h1{font:600 clamp(48px,5.3vw,79px)/1.28 var(--serif);letter-spacing:-.045em;margin-top:29px;white-space:nowrap}.hero-intro{font-size:18px;line-height:1.9;margin-top:27px}.hero-profile{font-size:14px;color:var(--muted);margin-top:24px}.hero-profile span{font-size:13px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px}.button-primary{display:inline-flex;gap:38px;align-items:center;background:var(--red);color:white;padding:13px 23px;font-size:15px;transition:background .2s,transform .2s}.button-primary:hover{background:#963321;transform:translateY(-2px)}.text-button{display:inline-flex;align-items:center;gap:9px;padding:7px 0;font-size:14px;border-bottom:1px solid currentColor;line-height:1.5}.text-button:hover{color:var(--red)}
.hero-gallery{position:relative;min-width:0;padding:18px 0 130px 22px;align-self:center}.gallery-annotation{font-size:11px;letter-spacing:.12em;display:flex;justify-content:space-between;padding:0 0 14px;color:var(--muted)}.hero-main-art{position:relative;width:100%;padding:0;text-align:left;border:1px solid #c9c9bc;transform:rotate(-2deg);background:#eeefe5;box-shadow:0 15px 35px #1c25130e;transition:transform .35s}.hero-main-art:hover{transform:rotate(0)}.art{display:block;position:relative;overflow:hidden;background:#e9e9e0;width:100%}.art img{position:absolute;max-width:none;transition:filter .3s}.hero-art-caption{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--paper)}.hero-art-caption small{font-size:11px;letter-spacing:.06em;color:var(--muted);display:block}.hero-art-caption strong{font:500 30px/1.35 var(--serif);display:block}.hero-watch{position:absolute;top:16px;right:16px;font-size:14px;color:var(--red);background:var(--paper);padding:9px 14px;box-shadow:0 2px 10px #0001}.hero-small-art{position:absolute;bottom:5px;right:-9px;width:48%;padding:7px;background:#fff;transform:rotate(5deg);box-shadow:0 14px 28px #2020181c;transition:transform .3s}.hero-small-art:hover{transform:rotate(1deg) translateY(-4px)}.hero-small-art>span:last-child{display:flex;justify-content:space-between;padding:5px 4px 0;font-size:12px}.hero-note{position:absolute;left:45px;bottom:22px;color:var(--muted);font:16px/1.8 var(--serif);transform:rotate(-5deg)}
.discipline-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding-block:17px;display:flex;align-items:center;gap:25px;font-size:13px;letter-spacing:.1em}.discipline-strip>span:nth-child(even){color:var(--red);font-size:19px}.discipline-strip .strip-end{font-size:12px;color:var(--muted);letter-spacing:.02em;margin-left:auto}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}.section-heading .eyebrow{color:var(--red);margin-bottom:13px}h2{font:500 clamp(30px,3vw,45px)/1.45 var(--serif);letter-spacing:-.02em}.section-heading>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:380px}.works{padding-block:95px 100px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 40px}.project{min-width:0;display:flex;flex-direction:column}.project-visual{display:block;padding:0;position:relative;width:100%;text-align:left;overflow:hidden}.project-visual .art{transition:transform .45s}.project-visual:hover .art{transform:scale(1.025)}.image-action{position:absolute;right:16px;bottom:16px;background:var(--paper);padding:7px 13px;display:flex;gap:20px;font-size:12px;box-shadow:0 1px 8px #0001}.project-copy{padding-top:19px;display:flex;flex-direction:column;flex:1}.project-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);letter-spacing:.035em;margin-bottom:9px}.project h3{font:500 31px/1.5 var(--serif);letter-spacing:.015em}.project h3 button{padding:0;font:inherit;text-align:left}.project h3 button:hover{color:var(--red)}.project-copy>p{font-size:15px;line-height:1.8;margin-top:9px;color:#62625a}.award{display:block;font-size:12px;color:var(--red);margin-top:13px}.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:auto;padding-top:21px}.play-button{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:var(--paper);padding:10px 16px;font-size:14px;transition:background .2s}.play-button:hover{background:#963321}.play-icon{font-size:10px;border:1px solid #fff6;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;padding-left:2px}
.sound-section{background:#e8eee7;color:var(--ink);padding:80px 0 86px;border-block:1px solid #d5ddd0}.sound-section .eyebrow{color:#526d4c}.sound-section .section-heading>p{color:#5d6858}.sound-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.sound-card{display:flex;flex-direction:column;min-width:0}.sound-visual{width:100%;padding:0;position:relative;overflow:hidden;border:7px solid #fafaf5;box-shadow:0 5px 20px #3f4f3910}.sound-visual .art{background:#ebe7d8}.sound-visual .art img{object-fit:fill}.round-play{position:absolute;right:15px;bottom:15px;width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:13px;padding-left:2px;transition:transform .25s}.sound-visual:hover .round-play{transform:scale(1.12);background:#d9e4d4}.sound-card>.eyebrow{margin-top:23px;font-size:12px;letter-spacing:.035em}.sound-card h3{font:500 25px/1.6 var(--serif);margin-top:6px}.sound-card>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b6756;margin-top:10px;margin-bottom:8px}.sound-card>.text-button{margin-top:auto;padding-top:18px;align-self:flex-start}.sound-section .text-button:hover{color:var(--red)}
.explore-section{padding-block:90px}.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}.exploration{text-align:left;padding:0;min-width:0;align-self:start}.exploration-art{display:block;position:relative;border:10px solid #efeee5;overflow:hidden}.exploration .art{transition:transform .35s}.exploration:hover .art{transform:scale(1.02)}.exploration-intro{display:block;font-size:14px;line-height:1.8;color:#62625a;margin-top:7px}.exploration-caption{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.exploration-caption small{font-size:12px;color:var(--muted);display:block}.exploration-caption strong{font:500 28px/1.7 var(--serif)}.exploration-caption>span:last-child{font-size:27px;transition:transform .2s}.exploration:hover .exploration-caption>span:last-child{transform:translate(3px,-3px);color:var(--red)}
.about-section{padding:75px 0 100px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:80px}.about-label>.eyebrow{color:var(--red)}.about-monogram{display:block;font:bold 130px/1.3 Georgia,serif;letter-spacing:-12px;color:#ceccc0;margin-top:25px}.about-label>p:last-child{color:var(--muted);font-size:14px;line-height:1.9;margin-top:20px}.about-body h2{font-size:37px}.about-lead{font:21px/1.9 var(--serif);margin:20px 0 34px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-top:24px}.practice-grid h3{font-size:17px;font-weight:600;margin-bottom:10px}.practice-grid p{font-size:14px;color:var(--muted)}.practice-grid .tool-line{font-size:12px;margin-top:13px;color:#44483f}.experience-line{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;display:flex;gap:24px;font-size:13px}.experience-line>span{color:var(--red);flex-shrink:0}.experience-line p{color:var(--muted);line-height:1.9}.about-body>.text-button{margin-top:27px}
footer{background:#f1f0e5}.contact-scene{min-height:clamp(680px,70.68vw,1080px);background:url("assets/artwork/portfolio-background.jpg") center bottom/cover no-repeat}.contact-scene>.shell{padding-top:clamp(210px,18vw,290px)}.contact-copy{max-width:590px;width:51%}footer .eyebrow{color:var(--red);font-size:11px}.contact-heading{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:20px}.contact-heading h2{font-size:clamp(34px,4.1vw,60px);line-height:1.4}.contact-arrow{width:66px;height:66px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:39px;transition:background .2s,color .2s}.contact-arrow:hover{background:var(--red);color:#fff;border-color:var(--red)}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:26px;padding-bottom:30px}.contact-details>a{font-size:clamp(16px,2vw,23px);border-bottom:1px solid var(--ink);overflow-wrap:anywhere}.contact-details>span{font-size:13px;color:var(--muted)}.footer-base{display:flex;justify-content:space-between;padding:20px 0;font-size:12px;color:var(--muted)}
dialog{border:0;color:var(--ink);padding:0}dialog::backdrop{background:rgba(17,20,17,.82);backdrop-filter:blur(7px)}.case-dialog{width:min(1080px,94vw);max-width:none;max-height:92dvh;background:var(--paper);overscroll-behavior:contain}.case-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--paper);border-bottom:1px solid var(--line);padding:13px 30px}.case-toolbar>span{font-size:12px;letter-spacing:.08em;color:var(--muted)}.close-button{font-size:14px;border:1px solid currentColor;padding:8px 15px;flex-shrink:0}.close-button:hover{background:var(--red);border-color:var(--red);color:white}.case-intro{padding:40px 50px}.case-intro>.eyebrow{color:var(--red)}.case-intro h2{margin:12px 0;font-size:42px}.case-en{font:italic 17px Georgia,serif;color:var(--muted);margin-bottom:24px}.case-description{max-width:780px;font-size:17px;line-height:1.9}.case-tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.case-tools span{font-size:12px;border:1px solid var(--line);padding:3px 10px}.case-intro .project-actions{margin-top:25px}.case-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.case-points h3{font-size:16px;font-weight:600;margin-bottom:10px}.case-points p{font-size:14px;color:var(--muted);line-height:1.8}.case-pages{background:#e7e6de;padding:28px}.case-pages figure{margin:0 0 30px;min-width:0}.design-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.design-boards figure{margin:0}.design-boards figure:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 10px);justify-self:center}.case-pages img{width:100%;height:auto}.case-pages figcaption{display:flex;justify-content:space-between;padding-top:9px;font-size:12px;color:#585c50}.case-pages figcaption a{text-decoration:underline}.case-pages-heading{font-size:14px;margin:0 0 17px}.case-return{display:block;margin:26px auto}
.video-dialog{background:transparent;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;color:#f8f7f3;overflow:auto}.video-dialog[open]{display:flex;align-items:center;justify-content:center}.video-panel{width:min(100%,1080px)}.video-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.video-toolbar .eyebrow{font-size:11px;color:#d59c83}.video-toolbar h2{font-size:26px;margin-top:3px}.video-stage{position:relative;aspect-ratio:16/9;background:#181d18;overflow:hidden}.video-stage iframe,.video-poster{position:absolute;inset:0;width:100%;height:100%;border:0}.video-poster{opacity:.25;filter:blur(7px);background-size:cover;background-position:center}.video-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:rgba(17,22,17,.76);font-size:15px;pointer-events:none}.video-loading[hidden]{display:none}.loading-mark{width:27px;height:27px;border:1px solid #ffffff4d;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.video-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.video-bottom>p{font-size:13px;color:#d5d8ce}.video-bottom>div{display:flex;gap:22px;flex-shrink:0}.video-bottom .text-button{font-size:13px}.video-bottom .text-button:hover{color:#edb29e}.video-hint{font-size:12px;color:#b7bcaf;text-align:center;margin-top:25px}
@media(min-width:1550px){.hero{min-height:730px;padding-top:85px;padding-bottom:90px}.hero-gallery{padding-bottom:140px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.site-header{padding-inline:32px}.hero{grid-template-columns:48% 52%;min-height:610px}.hero-gallery{padding-left:10px}.hero-note{font-size:14px;left:16px}.hero-small-art{right:0}.hero-watch{font-size:11px}.hero-art-caption{padding:10px 13px}.hero-art-caption strong{font-size:24px}.hero-actions{gap:18px}.discipline-strip{gap:18px;font-size:11px}.discipline-strip .strip-end{display:none}.project-grid{column-gap:28px}.about-section{gap:45px}.about-lead{font-size:19px}.project-actions{gap:15px}}
@media(max-width:760px){html{scroll-padding-top:80px}.shell{width:calc(100% - 40px)}.site-header{height:68px;padding-inline:20px}.brand{font-size:29px}.brand-name{font-size:12px;margin-left:12px}.site-header nav{gap:18px;font-size:12px}.site-header nav .nav-contact{display:none}.hero{grid-template-columns:1fr;padding-top:37px;padding-bottom:36px;min-height:0}.hero-copy>.eyebrow{font-size:10px;letter-spacing:.1em}h1{font-size:clamp(42px,10.4vw,68px);margin-top:20px;line-height:1.35;white-space:normal}.hero-intro{font-size:16px;line-height:1.8;margin-top:19px}.hero-profile{font-size:12px;margin-top:17px}.hero-profile span{font-size:12px}.hero-actions{margin-top:23px;gap:22px}.button-primary{font-size:14px;padding:11px 17px;gap:27px}.hero-gallery{margin-top:40px;padding:0 9px 116px 3px}.gallery-annotation{font-size:9px}.hero-small-art{width:47%;right:0;bottom:4px}.hero-note{font-size:14px;bottom:17px;left:13px}.hero-main-art{transform:rotate(-1.5deg)}.hero-art-caption strong{font-size:25px}.hero-art-caption small{font-size:10px}.hero-watch{font-size:12px}.discipline-strip{gap:13px;font-size:9px;letter-spacing:.045em;padding-block:13px;justify-content:space-between}.discipline-strip>span:nth-child(even){font-size:15px}.section-heading{display:block;margin-bottom:29px}.section-heading>.eyebrow{font-size:11px}.section-heading>p,.section-heading>.text-button{margin-top:16px;font-size:14px}.section-heading h2{font-size:30px;line-height:1.5}.works{padding-block:52px 58px}.project-grid{display:block}.project{margin-bottom:44px}.project-copy{padding-top:16px}.project h3{font-size:28px}.project-copy>p{font-size:15px;margin-top:7px}.award{font-size:11px;margin-top:11px}.project-actions{gap:19px;padding-top:17px}.project:last-child{margin-bottom:0}.project-meta{font-size:11px;gap:8px}.project-actions .text-button{font-size:13px}.play-button{font-size:13px;padding:9px 13px}.sound-section{padding:48px 0}.sound-grid{display:block}.sound-card{margin-bottom:36px}.sound-card:last-child{margin-bottom:0}.sound-card>.eyebrow{margin-top:17px}.sound-card h3{font-size:24px}.sound-card>.text-button{margin-top:12px}.explore-section{padding-block:52px}.explore-grid{display:block}.exploration{display:block;width:100%;margin-bottom:28px}.exploration-caption strong{font-size:24px}.about-section{padding:44px 0 55px;display:block}.about-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.about-label>.eyebrow{width:100%}.about-monogram{margin:0;font-size:86px;line-height:1;letter-spacing:-8px}.about-label>p:last-child{margin:0;font-size:12px}.about-body h2{font-size:30px}.about-lead{font-size:18px;line-height:1.9;margin:18px 0 25px}.practice-grid{gap:24px;grid-template-columns:1fr}.practice-grid h3{font-size:16px}.practice-grid .tool-line{font-size:12px}.experience-line{display:block;font-size:12px}.experience-line>span{display:block;margin-bottom:9px}.contact-scene{min-height:650px;background-size:auto 365px;background-position:right bottom;position:relative;isolation:isolate}.contact-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(#f1f0e5 0%,#f1f0e5 39%,transparent 57%);z-index:-1}.contact-scene>.shell{padding-top:48px}.contact-copy{width:100%;max-width:520px}footer .eyebrow{font-size:9px}.contact-heading h2{font-size:34px}.contact-arrow{height:58px;width:58px;font-size:35px;flex-shrink:0}.contact-details{display:block;margin-top:24px;padding-bottom:30px}.contact-details>a{font-size:16px}.contact-details>span{display:block;font-size:12px;margin-top:15px}.footer-base{font-size:10px;gap:15px}.case-dialog{width:100%;height:100dvh;max-height:none;margin:0}.case-toolbar{padding:11px 18px}.case-toolbar>span{font-size:10px}.case-intro{padding:26px 20px}.case-intro h2{font-size:31px}.case-description{font-size:16px}.case-points{grid-template-columns:1fr;gap:20px;margin-top:24px}.case-pages{padding:16px 10px}.design-boards{grid-template-columns:1fr;gap:22px}.design-boards figure:last-child:nth-child(odd){grid-column:auto;width:100%}.case-pages figcaption{padding:8px 4px}.video-dialog{padding:15px}.video-toolbar h2{font-size:22px}.video-toolbar{align-items:flex-start}.close-button{font-size:13px;padding:7px 12px}.video-bottom{display:block}.video-bottom>div{margin-top:15px;justify-content:flex-end}.video-bottom>p{font-size:12px}.video-hint{font-size:11px;line-height:1.8}.video-stage{flex-shrink:0}.video-panel{margin-block:auto}.mobile-only{display:initial}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
