@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
:root{--paper:#f4f3ee;--ink:#242724;--muted:#646a63;--line:#d4d7cf;--accent:#365af0;--green:#d6e9c8;--white:#fff;--dark:#19201d;--space:clamp(22px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope','Pretendard Variable',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--green);color:var(--ink)}img{display:block;width:100%;height:auto}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:var(--ink);color:var(--white);padding:12px}.skip:focus{top:15px}.wrap{max-width:1600px;margin:auto;padding-inline:var(--space)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.muted{color:var(--muted)}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:12px}.brand-icon{width:23px;height:23px;background:var(--accent);border-radius:50% 50% 2px 50%;transform:rotate(-25deg)}.nav-links{display:flex;gap:30px;font-size:13px}.nav-links a{position:relative;padding-block:10px}.nav-links a:after{content:'';position:absolute;left:0;bottom:4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav-links a:hover:after{transform:scaleX(1)}.nav-contact{font-size:12px;border:1px solid var(--ink);padding:12px 20px;border-radius:30px}.nav-contact:hover{background:var(--ink);color:var(--paper)}
.hero{padding-top:38px}.hero-top{display:flex;justify-content:space-between;align-items:center}.status{display:flex;align-items:center;gap:8px}.status:before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%}.hero-grid{display:block;max-width:1100px;padding-top:65px;padding-bottom:65px}.hero-grid>div{position:relative}.hero h1 br{display:none}.hero h1 .outline{display:block}.hero-copy{margin-left:auto}.hero-bottom{justify-content:flex-end}.hero h1{font-weight:500;letter-spacing:-.075em;font-size:clamp(74px,8.5vw,142px);line-height:.97;margin:0 0 30px}.hero h1 .outline{color:var(--accent)}.hero-copy{font-size:18px;line-height:1.8;letter-spacing:-.025em;max-width:450px}.hero-copy strong{font-weight:650}.hero-bottom{display:flex;align-items:center;gap:25px;margin-top:35px}.round-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;font-weight:650}.circle{background:var(--ink);color:var(--paper);width:49px;height:49px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:transform .25s,background .25s}.round-link:hover .circle{background:var(--accent);transform:rotate(45deg)}
.hero-foot{border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr repeat(3,1fr);padding:23px 0 28px;gap:25px}.hero-foot p{margin:5px 0 0;font-size:13px}.hero-foot b{font-size:22px;font-weight:650}.hero-foot .intro{font-size:12px;line-height:1.7;max-width:250px}
section{scroll-margin-top:35px}.section{padding-top:105px;padding-bottom:50px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading h2{font-weight:500;letter-spacing:-.055em;font-size:clamp(42px,5vw,76px);line-height:1.1;margin:15px 0 0}.section-heading p{font-size:14px;line-height:1.8;max-width:330px;margin:0}.filters{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:30px}.filter{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:12px;transition:background .2s,color .2s}.filter[aria-pressed=true],.filter:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-count{margin-left:auto;align-self:center;font-size:11px;color:var(--muted)}
.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px 25px}.project{min-width:0}.project:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;background:var(--dark);color:var(--paper);border-radius:5px;overflow:hidden}.project[hidden]{display:none}.project:first-child .project-copy{padding:35px;display:flex;flex-direction:column;justify-content:center}.project:first-child .project-image{aspect-ratio:auto;min-height:330px;border-radius:0}.project:first-child .project-number{color:#b7c9bf}.project:first-child .project-desc{color:#d2d8d3}.project:first-child .project-tags span{border-color:#69796e;color:#e2e9e1}.project:first-child .project-link{border-color:#69796e}.project-image{position:relative;aspect-ratio:16/10;border-radius:5px;overflow:hidden;background:#e4e5dd}.project-image img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project:hover .project-image img{transform:scale(1.035)}.project-label{position:absolute;left:18px;bottom:18px;background:var(--paper);color:var(--ink);font-size:10px;letter-spacing:.08em;padding:9px 12px;border-radius:2px}.project-copy{padding-top:20px}.project-number{font-size:10px;color:var(--muted);letter-spacing:.1em}.project h3{font-size:clamp(25px,3vw,39px);font-weight:500;letter-spacing:-.05em;line-height:1.2;margin:12px 0}.project-desc{font-size:14px;line-height:1.85;max-width:480px;color:var(--muted);margin-bottom:20px}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.project-tags span{font-size:10px;border:1px solid var(--line);padding:6px 9px;border-radius:20px}.project-link{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.detail-button{background:transparent;border:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left}.detail-button:hover{color:var(--accent)}.detail-button span:last-child{font-size:23px}.project:first-child .detail-button:hover{color:var(--green)}.research-art{background:var(--green);height:100%;display:flex;align-items:center;justify-content:center;padding:25px;gap:18px}.state{border:1px solid var(--ink);border-radius:50%;width:80px;height:80px;display:grid;place-items:center;font-size:10px;letter-spacing:.06em}.state.active{background:var(--ink);color:var(--green)}.vr-art{height:100%;background:#e0e6f0;display:flex;align-items:center;justify-content:center}.vr-art span{font-size:75px;font-weight:500;letter-spacing:-.07em;transform:rotate(-12deg);color:var(--accent)}
.expertise{background:var(--green);margin-top:75px;padding-block:85px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px}.expertise-card{border-top:1px solid #a3b49b;padding-top:20px}.expertise-card .index{font-size:12px}.expertise-card h3{font-size:27px;font-weight:500;letter-spacing:-.04em;margin:27px 0 15px}.expertise-card p{font-size:14px;line-height:1.9;margin:0 0 24px}.evidence{display:inline-block;font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:5px}.expertise-card a:hover{color:var(--accent)}
.about{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding-block:100px}.portrait{max-width:340px;aspect-ratio:4/5;overflow:hidden;border-radius:5px;position:relative;background:#d8d7d1}.portrait img{height:100%;object-fit:cover}.portrait-caption{position:absolute;bottom:15px;left:15px;background:var(--paper);font-size:10px;padding:9px 12px}.about h2{font-size:clamp(35px,4vw,56px);font-weight:500;line-height:1.35;letter-spacing:-.045em;margin:20px 0 25px;word-break:keep-all}.about p{font-size:15px;line-height:1.95;max-width:580px;color:var(--muted)}.timeline{margin-top:35px}.timeline-row{display:grid;grid-template-columns:110px 1fr;gap:20px;border-top:1px solid var(--line);padding:18px 0;font-size:12px}.timeline-row strong{font-size:14px;font-weight:600;display:block;margin-bottom:4px}
.archive{padding-block:30px 90px}.archive details{border-top:1px solid var(--line);padding-block:21px}.archive summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:17px;gap:15px}.archive summary::-webkit-details-marker{display:none}.archive summary:after{content:'+';font-size:24px}.archive details[open] summary:after{content:'−'}.archive p{font-size:14px;line-height:1.9;max-width:750px}.work-stack{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.work-stack li{font-size:11px;border:1px solid var(--line);padding:6px 10px;border-radius:20px}.work-links{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin-top:22px}.work-links a{border-bottom:1px solid currentColor;padding-bottom:5px}.work-links i{font-style:normal;margin-left:8px}
.contact{background:var(--accent);color:var(--white);padding-block:80px 30px}.contact h2{font-size:clamp(60px,9vw,145px);font-weight:500;line-height:1.05;letter-spacing:-.06em;margin:28px 0 40px}.contact-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.contact p{font-size:14px;line-height:1.8}.contact-mail{font-size:clamp(18px,3vw,36px);display:inline-block;border-bottom:1px solid #a4b6ff;padding-bottom:12px}.contact-mail:hover{color:var(--green)}.footer{display:flex;justify-content:space-between;gap:20px;margin-top:70px;border-top:1px solid #7e97ff;padding-top:25px;font-size:10px}.footer-links{display:flex;gap:25px}.motion-button{background:transparent;border:0;color:inherit;font-size:10px;padding:0}
.project-dialog{background:var(--paper);color:var(--ink);padding:0;border:0;border-radius:8px;width:min(850px,calc(100% - 32px));max-height:90dvh;overscroll-behavior:contain}.project-dialog::backdrop{background:#19201dc9;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;position:sticky;top:0;background:var(--paper);z-index:1;border-bottom:1px solid var(--line)}.dialog-close{background:var(--ink);color:var(--paper);border:0;border-radius:50%;width:38px;height:38px;font-size:22px}.dialog-content{padding:35px}.dialog-content h2{font-size:38px;font-weight:500;letter-spacing:-.05em;margin:0 0 25px}.dialog-content p{font-size:16px;line-height:1.95;word-break:keep-all}.dialog-content img{border-radius:4px;margin-bottom:30px;max-height:360px;object-fit:contain;background:#e6e5de}.dialog-content .work-summary strong{font-weight:650}.dialog-content .work-stack{margin-top:25px}.dialog-open{overflow:hidden}
.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.hero h1{animation:enter .9s cubic-bezier(.2,.7,.2,1) both}.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion .reveal{opacity:1;transform:none}@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
@media(min-width:1700px){.hero-grid{padding-top:80px}}
@media(max-width:900px){.hero-grid{gap:25px}.hero h1{font-size:82px}.nav-links{gap:20px}.project:first-child{grid-template-columns:1fr}.project:first-child .project-image{aspect-ratio:16/9;min-height:0}.project:first-child .project-copy{padding:25px}.expertise-grid{gap:22px}.about{gap:35px}.state{width:58px;height:58px}.research-art{gap:10px}}
@media(max-width:640px){.nav{height:75px}.nav-links{gap:18px;font-size:11px}.nav-links a[href='#about']{display:none}.nav-contact{display:none}.hero-top{font-size:9px}.hero-grid{grid-template-columns:1fr;padding-top:36px;padding-bottom:30px}.hero h1{font-size:clamp(70px,17vw,110px);margin-bottom:22px}.hero-copy{font-size:16px;max-width:350px}.hero-bottom{margin-top:25px}.hero-foot{grid-template-columns:repeat(3,1fr);gap:15px;padding-block:23px}.hero-foot .intro{display:none}.hero-foot p{font-size:10px;line-height:1.6}.hero-foot b{font-size:23px}.section{padding-top:65px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:25px}.section-heading h2{font-size:44px}.section-heading p{font-size:13px}.filter{padding:9px 14px}.filter-count{width:100%;margin-left:0;padding-top:8px}.projects{grid-template-columns:1fr;gap:35px}.project:first-child .project-copy{padding:24px}.project h3{font-size:29px}.expertise{padding-block:60px;margin-top:30px}.expertise-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.expertise-card h3{margin-top:18px}.about{grid-template-columns:1fr;padding-block:65px;gap:30px}.portrait{max-width:220px;aspect-ratio:1}.about h2{font-size:35px}.about p{font-size:14px}.timeline-row{grid-template-columns:85px 1fr;font-size:11px}.archive{padding-bottom:60px}.archive summary{font-size:14px}.contact{padding-top:60px}.contact-top{flex-direction:column;gap:0}.contact h2{font-size:70px;margin-top:15px}.footer{flex-wrap:wrap;line-height:1.8;margin-top:45px}.dialog-content{padding:25px}.dialog-content h2{font-size:29px}.dialog-content p{font-size:14px}.dialog-top{padding:15px 25px}}

@media(min-width:901px){.hero-grid{padding-block:70px 55px}.hero h1{font-size:clamp(100px,12vw,180px);margin-bottom:0}.hero-copy{margin-top:-170px;width:360px}.hero-bottom{margin-top:28px}}
@media(max-width:900px){.hero-grid{padding-block:50px}.hero-copy{margin-left:0}.hero-bottom{justify-content:flex-start}}
