:root{--ink:#191919;--paper:#f7f7f4;--coral:#ee6657;--sky:#9dc9dc;--yellow:#f3c94b;--line:rgba(25,25,25,0.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;max-width:100%}section[id]{scroll-margin-top:80px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(247,247,244,.93);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-nav,.nav-wrap{width:min(100% - 40px,1280px);margin:0 auto}.nav-wrap{min-height:68px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:.9rem;font-weight:800;letter-spacing:.08em}.wordmark span{color:var(--coral)}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.85rem;font-weight:700}.desktop-nav a,.site-footer a,.text-link{display:inline-flex;align-items:center;gap:7px}.desktop-nav a:hover,.site-footer a:hover,.text-link:hover{color:var(--coral)}.menu-button{display:none;width:40px;height:40px;padding:0;align-items:center;justify-content:center;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}.menu-button svg{width:20px}.mobile-nav{display:none}.hero{min-height:640px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);background:#f1d6cf;overflow:hidden}.hero-copy{align-self:end;min-width:0;padding:clamp(56px,8vw,120px) clamp(24px,6vw,100px)}.eyebrow{margin:0 0 18px;color:rgba(25,25,25,.62);font-size:.69rem;font-weight:800;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{max-width:750px;margin-bottom:30px;font-size:clamp(3.6rem,6.2vw,6.5rem);letter-spacing:0;line-height:.89}em{font-style:italic}.hero-intro{max-width:470px;margin-bottom:30px;font-size:1rem;line-height:1.7}.hero-actions,.portfolio-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 19px;border:1px solid transparent;border-radius:6px;font-size:.84rem;font-weight:800;transition:transform .18s ease,background-color .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:#323232}.text-link{font-size:.84rem;font-weight:800}.hero-art{position:relative;min-height:530px;overflow:hidden;border-left:1px solid rgba(25,25,25,.23)}.hero-portrait{isolation:isolate;background:#d9e5e1}.hero-portrait:before{position:absolute;z-index:-1;inset:22px;content:"";pointer-events:none;border:1px solid rgba(25,25,25,.26)}.portrait-panel{position:absolute;z-index:2;right:clamp(30px,5vw,76px);bottom:0;width:min(47%,370px);height:min(76%,465px);margin:0;overflow:hidden;border:1px solid var(--ink);background:#ece9e0;box-shadow:14px -14px 0 var(--yellow)}.portrait-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 16%}.hero-project{position:absolute;z-index:3;margin:0;overflow:hidden;border:1px solid var(--ink);background:var(--paper);box-shadow:7px 7px 0 var(--coral)}.hero-project img{display:block;width:100%;height:100%;object-fit:cover}.hero-project figcaption{position:absolute;right:0;bottom:0;margin:0;padding:5px 7px;background:var(--paper);color:var(--ink);font-size:.55rem;font-weight:800;letter-spacing:.08em}.hero-project-cat{top:78px;left:clamp(24px,4vw,60px);width:clamp(145px,18vw,225px);aspect-ratio:.84;transform:rotate(-2deg)}.hero-project-cat img{object-position:27% 50%}.hero-project-year{bottom:48px;left:clamp(24px,4vw,60px);width:clamp(160px,22vw,270px);aspect-ratio:1.8;transform:rotate(1.5deg)}.hero-project-year img{object-position:59% 58%}.hero-coordinate{position:absolute;z-index:1;color:rgba(25,25,25,.6);font-size:.58rem;font-weight:800;letter-spacing:.16em}.hero-coordinate-top{top:42px;right:clamp(28px,4vw,62px)}.hero-tag{position:absolute;z-index:4;padding:7px 9px;background:var(--paper);color:var(--ink);font-size:.63rem;font-weight:800;letter-spacing:.1em}.hero-tag-top{top:26px;left:26px}.hero-tag-bottom{right:26px;bottom:26px}.statement{display:flex;align-items:flex-end;justify-content:space-between;min-height:230px;padding:38px max(20px,calc((100vw - 1280px) / 2));background:var(--yellow)}.statement p{max-width:820px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4.5rem);line-height:.96}.statement span{font-size:.7rem;font-weight:800;letter-spacing:.1em}.about-section{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-gap:clamp(44px,8vw,130px);gap:clamp(44px,8vw,130px);padding:110px max(20px,calc((100vw - 1280px) / 2));background:#e8f1ef}.about-intro{align-self:start}.about-intro h2{margin-bottom:28px}.about-lead{max-width:480px;margin-bottom:34px;font-size:1.05rem;line-height:1.8}.about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.about-email{overflow-wrap:anywhere}.about-details{border-top:1px solid var(--line)}.about-row{display:grid;grid-template-columns:minmax(145px,.48fr) minmax(0,1fr);grid-gap:24px;gap:24px;padding:27px 0;border-bottom:1px solid var(--line)}.about-label{margin:0;color:rgba(25,25,25,.63);font-size:.68rem;font-weight:800;letter-spacing:.09em}.about-date{margin:0 0 6px;color:var(--coral);font-size:.74rem;font-weight:800;letter-spacing:.06em}.about-row h3{margin:0 0 5px;font-size:1.42rem;line-height:1.1}.about-row h3+p,.tool-groups p{margin:0;font-size:.92rem;line-height:1.55}.second-date{margin-top:25px}.about-keywords{display:flex;flex-wrap:wrap;gap:8px}.about-keywords span{padding:8px 10px;border:1px solid rgba(25,25,25,.26);border-radius:4px;font-size:.8rem;font-weight:700}.tool-groups{display:grid;grid-gap:10px;gap:10px}.resume-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;color:var(--ink);border-bottom:1px solid var(--ink);font-size:.8rem;font-weight:800;letter-spacing:.07em}.resume-strip:hover{color:var(--coral)}.resume-strip-action{display:inline-flex;align-items:center;gap:7px}.section{padding:110px max(20px,calc((100vw - 1280px) / 2))}.films-section{background:var(--sky)}.section-heading{margin-bottom:54px}.split-heading,.works-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}h2{margin-bottom:0;font-size:clamp(3.2rem,6vw,6.5rem);letter-spacing:0;line-height:.86}.section-note{max-width:330px;margin:0 0 4px;font-size:.94rem;line-height:1.65}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:22px;gap:22px}.film-item{min-width:0}.video-frame{position:relative;overflow:hidden;background:#171717;border:1px solid rgba(25,25,25,.5);border-radius:8px;aspect-ratio:16/9}.video-frame video{width:100%;height:100%;object-fit:cover}.video-index{position:absolute;top:13px;left:13px;padding:5px 7px;background:var(--yellow);color:var(--ink);font-size:.7rem;font-weight:800}.film-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:16px 2px 0;border-top:1px solid rgba(25,25,25,.55)}.film-caption p,.project-meta>p{margin-bottom:7px;color:rgba(25,25,25,.68);font-size:.68rem;font-weight:800;letter-spacing:.075em;line-height:1.4;text-transform:uppercase}.film-caption h3,.project-meta h3{margin:0;font-size:clamp(1.6rem,3vw,2.45rem);line-height:.98}.film-english{display:block;margin-top:5px;color:rgba(25,25,25,.62);font-family:Georgia,Times New Roman,serif;font-size:.92rem;font-style:italic}.film-caption .film-description{margin:12px 0 0;color:var(--ink);font-size:.82rem;font-weight:400;letter-spacing:0;line-height:1.55;text-transform:none}.works-section{background:var(--paper)}.works-count{margin:0;color:var(--coral);font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,7vw,7.5rem);line-height:.68}.works-count span{display:block;margin-top:14px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.13em}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:58px 24px;gap:58px 24px}.project{grid-column:span 6}.project-button{width:100%;padding:0;color:inherit;background:transparent;border:0;cursor:pointer;text-align:left}.project-button:focus-visible{outline:3px solid var(--coral);outline-offset:6px}.project:nth-child(3n){grid-column:3/span 8}.project-image{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#dedede;aspect-ratio:4/3}.project:nth-child(3n) .project-image{aspect-ratio:16/9}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-button:focus-visible .project-image img,.project:hover .project-image img{transform:scale(1.03)}.project-image span{position:absolute;right:12px;bottom:12px;width:31px;height:31px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:.67rem;font-weight:800}.project-meta{padding-top:15px}.project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-heading svg{flex:0 0 auto;margin-top:2px}.project-title span{display:block;margin-top:5px;color:rgba(25,25,25,.6);font-family:Georgia,Times New Roman,serif;font-size:.9rem;font-style:italic}.project-summary{max-width:540px;margin:13px 0 0;color:var(--ink)!important;font-size:.9rem;font-weight:400!important;letter-spacing:0!important;line-height:1.55;text-transform:none!important}.project-instruction{margin:-24px 0 42px;color:rgba(25,25,25,.68);font-size:.88rem}.project-view{display:inline-flex;align-items:center;gap:4px;margin-top:17px;color:var(--coral);font-size:.76rem;font-weight:800}.project-view svg{transition:transform .18s ease}.project-button:focus-visible .project-view svg,.project:hover .project-view svg{transform:translateX(4px)}.portfolio-section{display:grid;grid-template-columns:1.08fr .92fr;min-height:600px;background:var(--coral)}.portfolio-visual{min-height:470px;overflow:hidden}.portfolio-visual img{width:100%;height:100%;object-fit:cover}.portfolio-copy{align-self:center;padding:clamp(55px,7vw,110px)}.portfolio-copy .eyebrow{color:rgba(25,25,25,.66)}.portfolio-copy p:not(.eyebrow){max-width:380px;margin:28px 0 32px;font-size:1rem;line-height:1.65}.button-dark{background:var(--ink);color:white}.dark-link:hover{color:white}.reveal{opacity:1;transform:none}.reveal.is-visible{animation:section-in .65s ease both}@keyframes section-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.project-dialog{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:rgba(17,17,17,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-dialog-panel{position:relative;width:min(100%,1080px);max-height:min(820px,92vh);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);overflow:auto;background:var(--paper);border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.28)}.dialog-image{min-height:500px;background:#e4e4e1}.dialog-image img{width:100%;height:100%;object-fit:cover}.dialog-copy{align-self:center;padding:clamp(38px,5vw,74px)}.dialog-copy h2{font-size:clamp(2.8rem,5vw,4.7rem)}.dialog-english{margin:12px 0 25px;color:var(--coral);font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic}.dialog-category{margin-bottom:20px;font-size:.75rem;font-weight:800;letter-spacing:.08em}.dialog-summary{margin-bottom:28px;font-size:.98rem;line-height:1.75}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{padding:8px 10px;border:1px solid var(--line);border-radius:4px;font-size:.75rem;font-weight:700}.dialog-close{position:absolute;z-index:1;top:14px;right:14px;width:42px;height:42px;display:grid;place-items:center;padding:0;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:50%;cursor:pointer}.dialog-close:hover,.site-footer{color:white;background:var(--ink)}.site-footer{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px max(20px,calc((100vw - 1280px) / 2));font-size:.7rem;font-weight:800;letter-spacing:.09em}.site-footer p{margin:0}.footer-actions{display:flex;align-items:center;gap:22px}@media (max-width:1050px){.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.mobile-nav,.nav-wrap{width:min(100% - 28px,1280px)}.nav-wrap{min-height:62px}.desktop-nav{display:none}.menu-button{position:relative;z-index:2;display:inline-flex!important}.mobile-nav{display:grid;padding:0 0 16px;grid-gap:13px;gap:13px;font-size:.95rem;font-weight:800}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{padding:64px 20px 46px}h1{font-size:clamp(3rem,12vw,3.8rem);line-height:.9}h1 em{display:block}.hero-intro{max-width:340px}.hero-art{min-height:355px;border-top:1px solid rgba(25,25,25,.23);border-left:0}.hero-portrait{min-height:430px}.hero-portrait:before{inset:14px}.portrait-panel{right:auto;left:44vw;width:min(41vw,160px);height:320px;box-shadow:9px -9px 0 var(--yellow)}.portrait-panel img{object-position:58% 12%}.hero-project-cat{top:60px;left:22px;width:142px}.hero-project-year{bottom:30px;left:20px;width:166px}.hero-coordinate-top{top:34px;right:auto;left:44vw}.hero-tag-top{top:21px;left:20px}.hero-tag-bottom{right:auto;bottom:18px;left:45vw}.statement{min-height:190px;display:block;padding:36px 20px 28px}.statement p{margin-bottom:28px;font-size:2.4rem}.about-section,.section{padding:75px 20px}.about-section{display:block}.about-intro{margin-bottom:50px}.about-lead{font-size:.98rem}.about-row{grid-template-columns:1fr;gap:16px;padding:24px 0}.split-heading,.works-heading{display:block}.section-heading{margin-bottom:37px}h2{font-size:clamp(3.2rem,15vw,4.5rem)}.section-note{margin-top:24px}.film-grid{grid-template-columns:1fr;gap:34px}.works-count{margin-top:28px}.project-grid{display:grid;grid-template-columns:1fr;grid-gap:42px;gap:42px}.project,.project:nth-child(3n){grid-column:auto}.project:nth-child(3n) .project-image{aspect-ratio:4/3}.project-summary{font-size:.88rem}.project-instruction{margin:-12px 0 34px;font-size:.82rem;line-height:1.5}.portfolio-section{grid-template-columns:1fr}.portfolio-visual{min-height:280px}.portfolio-copy{padding:64px 20px 75px}.site-footer{min-height:116px;align-items:start;flex-direction:column;padding:28px 20px;line-height:1.5}.footer-actions{align-items:flex-start;flex-direction:column;gap:10px}.project-dialog{align-items:end;padding:0}.project-dialog-panel{width:100%;max-height:92vh;grid-template-columns:1fr;border-radius:8px 8px 0 0}.dialog-image{min-height:250px;max-height:320px}.dialog-copy{padding:40px 22px 48px}.dialog-copy h2{font-size:clamp(2.8rem,14vw,4.2rem)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}