@font-face{font-family:display;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:display Fallback;src:local("Arial");ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.00%;size-adjust:110.84%}.__className_7c8e51{font-family:display,display Fallback}.__variable_7c8e51{--font-display:"display","display Fallback"}@font-face{font-family:body;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");font-display:swap;font-weight:100 1000}@font-face{font-family:body Fallback;src:local("Arial");ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.00%;size-adjust:105.13%}.__className_8378ad{font-family:body,body Fallback}.__variable_8378ad{--font-body:"body","body Fallback"}@font-face{font-family:mono;src:url(/_next/static/media/cdec7fa3927eb560-s.p.woff2) format("woff2");font-display:swap;font-weight:400}@font-face{font-family:mono;src:url(/_next/static/media/af5dd2b5d3f396f3-s.p.woff2) format("woff2");font-display:swap;font-weight:500}@font-face{font-family:mono Fallback;src:local("Arial");ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.00%;size-adjust:131.49%}.__className_d8992c{font-family:mono,mono Fallback}.__variable_d8992c{--font-mono:"mono","mono Fallback"}:root{--bg:#f6f1ea;--paper:#fbf8f3;--text:#26222c;--muted:#675f6b;--accent:#b7475b;--accent-soft:#f0e1e3;--amber:#d6a65d;--lavender:#e9e1eb;--technical:#211c29;--light:#f8f4ef;--line:#d8cfd0;--peach:var(--lavender);--coral:var(--amber);--shadow:0 18px 60px #26222c0b;color-scheme:light}:root[data-theme=dark]{--bg:#17141b;--paper:#25202b;--text:#f8f4ef;--muted:#c1b6c6;--accent:#ee9aaa;--accent-soft:#3c2833;--lavender:#342c3d;--line:#463a4b;--shadow:0 18px 60px #0002;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body),Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:0}a,button{color:inherit}a{text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--light)}figure,h1,h2,h3,h4,h5,p{margin:0}h1,h2,h3,h4,h5{font-family:var(--font-display),sans-serif;font-weight:500}h2{font-size:clamp(36px,4.5vw,62px);line-height:1.08;letter-spacing:-2.7px}h2>span{color:var(--accent)}p{line-height:1.8}ul{margin:0}.wrap{width:min(1360px,100%);margin-inline:auto;padding-inline:64px}.micro-label,.mono,.section-label{font-family:var(--font-mono),monospace}.icon{width:20px;height:20px;flex-shrink:0}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--paper);padding:14px 20px;border:1px solid var(--accent)}.skip:focus{top:10px}.section{padding-block:112px}.section-label{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:1.3px;line-height:1.7;text-transform:uppercase;color:var(--accent);margin-bottom:28px}.section-label>span{font-size:10px;color:var(--muted)}.section-label>span:after{content:" /";color:var(--accent)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:70px}.section-heading>p{font-size:15px;max-width:340px;color:var(--muted);padding-bottom:5px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.availability{font-size:11px;display:flex;align-items:center;gap:9px;line-height:1.7;color:var(--muted)}.header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(12px)}.header-inner{height:80px;display:flex;justify-content:space-between;align-items:center;gap:30px}.wordmark{font-family:var(--font-display),sans-serif;font-size:34px;letter-spacing:-2px;font-weight:700;line-height:1}.wordmark>span{color:var(--accent)}.nav{display:flex;align-items:center;gap:28px;font-size:12px}.nav a{position:relative;padding-block:15px}.nav a:hover,.nav a[aria-current]{color:var(--accent)}.nav a[aria-current]:after{position:absolute;content:"";height:2px;left:0;right:0;bottom:7px;background:var(--accent)}.controls{gap:10px}.controls,.controls button{display:flex;align-items:center}.controls button{background:none;min-height:44px;min-width:40px;justify-content:center}.language{font-size:11px;gap:6px}.language>span{color:var(--muted)}.theme .icon{width:18px;height:18px}.nav-contact{display:flex;align-items:center;gap:22px;background:var(--text);color:var(--bg);font-size:12px;padding:13px 18px;border-radius:3px;margin-left:7px}.nav-contact .icon{width:14px;height:14px}.controls .menu-toggle{display:none}.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform-origin:0 50%}.hero{display:grid;grid-template-columns:1.2fr .85fr;gap:32px 70px;align-items:center;position:relative;padding-top:26px;padding-bottom:30px}.hero-content{padding:32px 0 44px;min-width:0}.hero-eyebrow{font-size:10px;letter-spacing:1.2px;color:var(--accent);display:flex;align-items:center;gap:9px}.hero-name{font-family:var(--font-display),sans-serif;font-size:18px;margin-top:26px;margin-bottom:13px}.hero h1{font-size:clamp(38px,4.35vw,62px);line-height:1.075;letter-spacing:-2.8px;font-weight:500}.hero h1>span{display:block}.hero h1 .headline-accent{color:var(--accent)}.hero-intro{font-size:14px;line-height:1.85;max-width:480px;color:var(--muted);margin-top:25px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 20px;min-height:46px;font-size:11px;font-weight:500;border-radius:3px;transition:background .2s,transform .2s}.button .icon{width:15px;height:15px}.primary{background:#b7475b;color:#f8f4ef;border:1px solid #b7475b}.primary:hover{background:#9a3549;transform:translateY(-2px)}.secondary{border:1px solid var(--line);background:transparent}.secondary:hover{background:var(--paper)}.text-link{font-size:11px;display:flex;align-items:center;gap:8px;padding:12px 2px}.text-link .icon{width:13px;height:13px}.hero .availability{margin-top:23px;font-size:10px}.hero-portrait{position:relative;padding:0 10px 0 0;min-width:0;align-self:center}.portrait-annotation{font-size:9px;letter-spacing:1px;display:block;margin:0 0 24px 16px;color:var(--muted)}.portrait-motion{height:470px;position:relative;width:100%;max-width:410px;margin:auto;isolation:isolate}.portrait-frame{position:absolute;inset:0 18px 0 0;background:var(--lavender);border-radius:108px 8px 86px 8px;overflow:hidden;z-index:2;display:flex;align-items:center}.portrait-frame img{display:block;width:100%;height:auto;object-fit:contain}.portrait-offset{position:absolute;inset:22px 0 -15px 23px;border-radius:108px 8px 86px 8px;background:#b7475b;z-index:0}.portrait-outline{position:absolute;inset:-12px 35px 22px -12px;border:1px solid var(--amber);border-radius:108px 8px 86px 8px;z-index:3;pointer-events:none}.portrait-coordinate{position:absolute;bottom:11px;right:26px;z-index:4;color:#f8f4ef;font-size:9px;writing-mode:vertical-rl;letter-spacing:1.5px}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:15px;font-family:var(--font-mono),monospace;font-size:9px;color:var(--muted);margin-top:36px}.hero-portrait figcaption>span:first-child{color:var(--accent);letter-spacing:.8px}.connection-motif{overflow:visible;pointer-events:none}.connection-motif path{stroke:currentColor;stroke-width:1}.connection-motif circle{fill:var(--amber)}.connection-motif .motif-secondary{stroke:var(--amber);opacity:.55}.portrait-network{position:absolute;width:140px;height:60px;right:-36px;bottom:26px;z-index:4;color:var(--accent);opacity:.65}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.2px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}.hero-bottom>a,.hero-bottom>span{display:flex;align-items:center;gap:9px}.hero-bottom .icon{width:12px;height:12px}.hero-bottom>a>span{font-size:18px;color:var(--accent);margin-left:9px}.discipline-strip{border-block:1px solid var(--line);padding-block:24px;background:var(--lavender)}.discipline-strip>.wrap{gap:16px}.discipline-strip .wrap>span,.discipline-strip>.wrap{display:flex;align-items:center;justify-content:space-between}.discipline-strip .wrap>span{gap:32px;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.6px}.strip-separator{color:var(--accent);font-size:20px;animation:separator-breathe 5s ease-in-out infinite}.discipline-strip .wrap>span:last-child .strip-separator{display:none}.about{display:grid;grid-template-columns:1.15fr .85fr;gap:110px;align-items:start}.about h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-2px}.body-large{font-size:17px;line-height:1.85;margin-top:30px;max-width:570px}.muted{font-size:14px;line-height:1.9;color:var(--muted);margin-top:18px}.atelier-notes{margin-top:34px;border:1px solid var(--line);background:var(--paper);border-radius:5px;max-width:500px}.notes-bar{display:flex;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.6px;color:var(--muted)}.notes-bar>span:first-child{color:var(--accent);font-size:7px;letter-spacing:3px}.notes-lines{padding:10px 17px}.notes-lines>p{display:flex;align-items:center;gap:15px;padding:8px 0;font-size:12px}.notes-lines .mono{font-size:9px;color:var(--accent)}.notes-lines .icon{width:15px;height:15px;margin-left:auto;color:var(--muted)}.education{border-top:1px solid var(--accent);padding-top:22px;position:relative;margin-top:24px}.education-monogram{font-family:var(--font-display),sans-serif;font-size:110px;line-height:1;color:var(--lavender);position:absolute;right:0;top:40px;z-index:-1}.education-monogram>span{color:var(--amber)}.education-entry{padding:24px 0 28px 23px;border-left:1px solid var(--line);position:relative;margin-left:4px}.education-entry:before{content:"";position:absolute;top:29px;left:-4px;width:7px;height:7px;background:var(--accent)}.education-date{font-size:10px;color:var(--accent)}.education-entry h3{font-size:24px;line-height:1.4;margin-top:14px;max-width:300px}.education-entry p{font-size:13px;line-height:1.8;margin-top:9px;color:var(--muted)}.education-current{display:inline-block;background:var(--lavender);font-size:10px;padding:6px 10px;margin-top:14px;border-radius:3px}.education-entry:nth-last-child(2) h3{font-size:19px}.education-note{font-size:9px;letter-spacing:1px;margin-top:30px;color:var(--muted)}.projects-section{padding-top:10px}.project-list{display:flex;flex-direction:column;gap:90px}.project-card{border-top:1px solid var(--line);padding-top:28px;min-width:0}.case-heading{display:flex;align-items:center;gap:28px;margin-bottom:36px}.project-number{font-family:var(--font-display),sans-serif;font-size:94px;line-height:.95;letter-spacing:-6px;color:color-mix(in srgb,var(--accent) 28%,var(--bg));font-weight:400}.case-label{color:var(--accent);text-transform:uppercase;font-size:9px;letter-spacing:1px}.case-heading h3{font-size:clamp(27px,3vw,42px);line-height:1.2;letter-spacing:-1.7px;margin-top:10px;max-width:680px}.project-category{font-family:var(--font-mono),monospace;font-size:9px;color:var(--muted);margin-top:9px;line-height:1.7}.case-index{margin-left:auto;align-self:flex-start;font-size:10px;padding-top:9px;color:var(--muted)}.case-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);align-items:start;gap:48px}.project-card:nth-child(2n) .case-overview{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.project-card:nth-child(2n) .project-media{order:2}.project-media{min-width:0;position:sticky;top:110px;align-self:start;padding-top:4px}.project-copy{min-width:0}.project-purpose{font-family:var(--font-display),sans-serif;font-size:23px;letter-spacing:-.55px;line-height:1.45}.micro-label{font-size:9px;letter-spacing:1px;color:var(--accent);margin-top:26px}.contribution-text{font-size:14px;color:var(--muted);line-height:1.85;margin-top:11px}.feature-list{list-style:none;padding:0;margin-top:18px;display:flex;flex-direction:column;gap:10px}.feature-list>li{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.8;color:var(--muted)}.feature-list .icon{width:13px;height:13px;color:var(--accent);margin-top:4px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.tags>span{font-family:var(--font-mono),monospace;font-size:9px;line-height:1.5;color:var(--muted);padding:6px 9px;border:1px solid var(--line);border-radius:3px}.project-note{font-size:10px;line-height:1.85;color:var(--muted);border-left:2px solid var(--amber);padding-left:12px;margin-top:20px}.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 23px;margin-top:25px}.project-link{display:inline-flex;align-items:center;gap:12px;background:none;padding:10px 0;border-bottom:1px solid var(--accent);color:var(--accent);font-size:12px;text-align:left}.project-link .icon{width:13px;height:13px}.repository-link{font-size:11px;display:inline-flex;align-items:center;gap:8px;color:var(--accent);padding-block:10px}.repository-link .icon{width:14px;height:14px}.repository-link:hover{text-decoration:underline;text-underline-offset:4px}.project-visual{background:var(--paper);border:1px solid var(--line);border-radius:7px;overflow:hidden;width:100%;box-shadow:0 20px 40px #211c290a}.browser-bar{height:35px;display:flex;align-items:center;gap:5px;padding-inline:13px;border-bottom:1px solid var(--line)}.browser-bar>span:not(.browser-code){height:4px;width:4px;border-radius:50%;background:var(--accent);opacity:.5}.browser-bar small{font-size:8px;color:var(--muted);margin-left:10px}.browser-bar small,.browser-code{font-family:var(--font-mono),monospace}.browser-code{font-size:10px;margin-left:auto;color:var(--accent)}.project-image-stage{padding:8px;background:var(--lavender)}.project-image-stage>a{display:block;cursor:zoom-in}.project-image-stage img{display:block;width:100%;height:auto;border-radius:2px}.project-visual figcaption{padding:13px 15px;font-size:10px;line-height:1.8;color:var(--muted)}.image-open{display:block;font-size:10px;color:var(--accent);margin-top:6px}.image-registration{display:block;margin-top:13px;color:var(--muted);font-size:8px;letter-spacing:.7px}.result-pills{display:flex;gap:26px;margin-top:22px;border-block:1px solid var(--line);padding-block:16px}.result-pills>span{flex:1;line-height:1.7;font-size:9px;color:var(--muted)}.result-pills strong{font-family:var(--font-display),sans-serif;font-size:36px;letter-spacing:-1.5px;font-weight:500;color:var(--accent);display:block}.result-pills strong small{font-size:17px;margin-left:2px}.research-cover{padding:26px;background:var(--lavender);border:1px solid var(--line);border-radius:8px}.research-top{justify-content:space-between;gap:15px;font-size:9px;color:var(--muted)}.research-status,.research-top{display:flex;align-items:center}.research-status{gap:7px;font-size:10px}.research-identity{display:flex;align-items:center;gap:25px;margin:48px 0 25px}.research-orbit{width:95px;height:95px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;position:relative}.research-orbit:after{position:absolute;content:"";inset:12px -12px;border:1px solid var(--amber);border-radius:50%;transform:rotate(-35deg)}.research-orbit>.icon{width:35px;height:35px;color:var(--accent);stroke-width:1.2}.research-identity>span:last-child{font-family:var(--font-display),sans-serif;font-size:62px;letter-spacing:-3px}.research-identity>span:last-child>span{color:var(--accent)}.research-line{font-size:17px;line-height:1.5;max-width:300px;margin-bottom:30px}.research-step{display:flex;gap:15px;border-top:1px solid color-mix(in srgb,var(--text) 15%,transparent);padding:17px 0}.research-step small,.research-step>span{font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.5px;color:var(--accent)}.research-step p{font-size:12px;line-height:1.8;margin-top:6px}.planned-step small,.research-step p{color:var(--muted)}.experience-section{background:var(--paper);border-block:1px solid var(--line)}.experience{display:grid;grid-template-columns:170px minmax(0,1fr);gap:55px;border-top:1px solid var(--line);padding-block:36px}.experience-year{font-family:var(--font-display),sans-serif;font-size:54px;letter-spacing:-2px;color:var(--accent);line-height:1}.experience-side>p{font-size:9px;margin-top:13px;color:var(--muted)}.experience-card{padding-left:32px;border-left:1px solid var(--line);min-width:0}.experience-card-top{display:flex;justify-content:space-between;gap:25px;align-items:center}.company-name{font-size:10px;color:var(--accent);font-family:var(--font-mono),monospace}.experience-card h3{font-size:27px;line-height:1.3;letter-spacing:-1px;margin-top:9px}.company-logo{width:125px;height:58px;background:#fff;padding:8px 12px;border:1px solid #e1d9dc;border-radius:4px;display:flex;align-items:center;flex-shrink:0}.company-logo img{width:100%;height:100%;object-fit:contain}.experience-card>p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:22px;max-width:720px}.internship-project-link{display:flex;align-items:center;gap:16px;margin-top:25px;color:var(--accent);font-size:13px}.internship-project-link>span{font-size:8px;letter-spacing:.8px;color:var(--muted)}.internship-project-link>strong{font-weight:500}.internship-project-link .icon{width:13px;height:13px}.skill-row{display:grid;grid-template-columns:210px minmax(0,1fr) 235px;align-items:start;gap:32px;padding-block:28px;border-top:1px solid var(--line)}.skill-row:last-child{border-bottom:1px solid var(--line)}.skill-row-title{display:flex;align-items:baseline;gap:16px}.skill-row-title>.mono{font-size:9px;color:var(--accent)}.skill-row-title h3{font-size:21px;line-height:1.4;letter-spacing:-.6px}.technology-list{display:flex;align-items:center;flex-wrap:wrap;gap:16px 20px}.technology{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1.6}.technology>.icon{width:16px;height:16px;color:var(--accent)}.tech-logo{height:17px;width:17px;display:block;background:var(--accent);mask-position:center;mask-size:contain;mask-repeat:no-repeat;flex-shrink:0}.skill-caption{font-size:11px;line-height:1.8;color:var(--muted)}.skill-footnote{font-size:9px;color:var(--muted);letter-spacing:.7px;margin-top:24px}.contact-section{background:#211c29;color:#f8f4ef;position:relative;overflow:hidden;--accent:#efa1b0;--muted:#c8bacd;--line:#514356}.contact{padding-block:85px 90px;position:relative}.contact .reveal{position:relative;z-index:1}.contact .section-label{color:#efa1b0}.contact .availability{color:#c8bacd}.contact h2{font-size:clamp(40px,5.3vw,75px);line-height:1.09;letter-spacing:-3px;max-width:1000px;margin-top:27px}.contact h2>span{color:#e9e1eb}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:44px}.contact-description{font-size:14px;line-height:1.9;max-width:430px;color:#c8bacd;margin-bottom:25px}.contact-links{padding-top:4px}.email{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #514356;padding-bottom:18px;font-family:var(--font-display),sans-serif;font-size:clamp(16px,1.8vw,25px);letter-spacing:-.4px;overflow-wrap:anywhere}.email .icon{width:18px;height:18px;color:#efa1b0}.contact-links>div{display:flex;flex-wrap:wrap;gap:25px;margin-top:22px;font-size:12px}.contact-links>div>a:hover{color:#efa1b0}.cv-version-note{font-size:10px;line-height:1.9;color:#c8bacd;margin-top:22px;max-width:440px}.contact-network{position:absolute;right:-55px;top:30px;width:420px;color:#b7475b;opacity:.45}.contact .status-dot{background:#d6a65d}footer{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .mono{font-size:9px;letter-spacing:.4px;color:var(--muted)}.back-top{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;color:var(--accent)}dialog{width:min(1100px,calc(100% - 40px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);overscroll-behavior:contain}dialog::backdrop{background:#17141bbf;backdrop-filter:blur(5px)}.dialog-inner{padding:46px;position:relative}.dialog-close{position:sticky;top:15px;float:right;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);z-index:15;margin:-20px -20px 5px 15px}.dialog-inner>h2{font-size:40px;letter-spacing:-1.5px;margin-bottom:30px;line-height:1.2}.dialog-inner>.section-label{font-size:9px;padding-right:40px}.dialog-inner>.project-visual{margin-top:25px}.detail-text{font-size:15px;color:var(--muted);line-height:1.9;margin-top:26px}.project-study{margin-top:34px}.project-study>h3{font-size:24px;letter-spacing:-.8px;margin-bottom:20px}.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.study-panel{border-top:1px solid var(--line);padding-top:17px}.study-panel h4{font-size:16px;line-height:1.5}.study-panel ul{font-size:12px;color:var(--muted);line-height:1.9;padding-left:17px;margin-top:13px}.study-panel li+li{margin-top:8px}.study-experimental{border-color:var(--amber)}aside{padding:17px;border-left:2px solid var(--amber);font-size:12px;line-height:1.85;background:var(--paper)}.detail-list,aside{margin-top:25px;color:var(--muted)}.detail-list{padding-left:20px;font-size:13px;line-height:1.9}.detail-list li+li{margin-top:12px}@keyframes separator-breathe{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@media(min-width:1500px){.hero{padding-top:32px}.hero-content{padding-block:48px}.portrait-motion{height:510px}}@media(max-width:1150px){.wrap{padding-inline:40px}.header-inner{gap:20px}.nav{gap:19px;font-size:11px}.hero{gap:30px 38px}.hero h1{font-size:clamp(38px,4.4vw,56px)}.portrait-motion{height:420px}.hero-actions{gap:9px}.hero-actions .button{padding-inline:14px;gap:14px}.about{gap:60px}.case-overview,.project-card:nth-child(2n) .case-overview{gap:32px}.skill-row{grid-template-columns:175px minmax(0,1fr) 190px;gap:24px}.contact-grid{gap:50px}.project-purpose{font-size:21px}}@media(max-width:900px){.wrap{padding-inline:28px}.header-inner{height:74px}.nav{gap:14px;font-size:10px}.nav-contact{gap:12px;padding:12px 14px}.controls{gap:3px}.hero{grid-template-columns:1.15fr .85fr;gap:26px}.hero h1{font-size:39px;letter-spacing:-1.8px}.hero-intro{font-size:13px}.hero-name{font-size:16px}.hero-eyebrow{font-size:8px}.portrait-motion{height:350px}.hero-portrait figcaption{flex-direction:column;gap:5px}.portrait-annotation{font-size:8px}.hero-actions .text-link{padding-top:8px}.hero-bottom{font-size:8px}.discipline-strip .wrap>span{font-size:8px;gap:16px}.section{padding-block:85px}.projects-section{padding-top:0}.section-heading{gap:40px;margin-bottom:50px}.section-heading>p{font-size:13px;max-width:280px}.about{gap:40px}.body-large{font-size:15px}.education-entry h3{font-size:22px}.case-heading{gap:20px}.project-number{font-size:76px}.case-overview,.project-card:nth-child(2n) .case-overview{grid-template-columns:1fr;gap:30px}.project-media{position:relative;top:auto;max-width:100%}.project-card:nth-child(2n) .project-media{order:0}.project-copy{max-width:700px}.project-purpose{font-size:24px}.experience{grid-template-columns:125px minmax(0,1fr);gap:28px}.experience-card{padding-left:25px}.experience-card h3{font-size:24px}.skill-row{grid-template-columns:175px minmax(0,1fr)}.skill-caption{grid-column:2}.contact-grid{gap:35px}.contact-network{width:300px}.contact h2{letter-spacing:-2px}}@media(max-width:760px){html{scroll-padding-top:90px}.wrap{padding-inline:22px}.header-inner{height:70px}.wordmark{font-size:30px}.controls{gap:3px}.controls .menu-toggle{display:flex}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:17px 22px 24px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 14px 20px #211c2910}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{font-size:16px;padding:13px 4px;border-bottom:1px solid var(--line)}.nav a[aria-current]:after{display:none}.nav-contact{font-size:10px;gap:14px;padding:11px 12px;margin-left:5px}.nav-contact .icon{width:12px;height:12px}.controls button{min-width:36px}.hero{grid-template-columns:1fr;gap:0;padding-top:20px;padding-bottom:24px}.hero-content{padding:31px 0 30px}.hero-eyebrow{font-size:9px;letter-spacing:.6px}.hero-name{font-size:17px;margin-top:22px;margin-bottom:14px}.hero h1{font-size:clamp(35px,7.7vw,55px);letter-spacing:-1.8px;line-height:1.09}.hero-intro{font-size:14px;max-width:490px;margin-top:22px}.hero-actions{gap:12px;max-width:500px;margin-top:24px}.hero-actions .button{font-size:11px;padding:13px 17px}.hero .availability{font-size:9px}.hero-portrait{width:100%;max-width:380px;justify-self:center;margin:8px 0 32px;padding:0 12px}.portrait-motion{height:410px;max-width:330px}.portrait-frame,.portrait-offset,.portrait-outline{border-top-left-radius:90px;border-bottom-right-radius:70px}.portrait-annotation{font-size:8px;margin-bottom:20px;margin-left:6px}.hero-portrait figcaption{flex-direction:row;font-size:8px;margin-top:34px;gap:12px}.portrait-network{right:0;bottom:25px;width:100px}.hero-bottom{grid-column:1;display:grid;grid-template-columns:1fr auto;gap:13px;font-size:8px;padding-top:18px}.hero-bottom>span:last-child{grid-column:1/-1}.hero-bottom>a{font-size:7px}.discipline-strip{padding-block:18px}.discipline-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px}.discipline-strip .wrap>span{font-size:8px;gap:10px}.discipline-strip .wrap>span:last-child .strip-separator,.discipline-strip .wrap>span:nth-child(2) .strip-separator{display:none}.strip-separator{font-size:15px}.section{padding-block:70px}h2{font-size:38px;letter-spacing:-1.8px}.section-label{font-size:9px;letter-spacing:.8px;margin-bottom:22px}.section-heading{display:block;margin-bottom:40px}.section-heading>p{font-size:13px;margin-top:23px;max-width:420px}.about{grid-template-columns:1fr;gap:38px}.about h2{font-size:36px}.body-large{font-size:15px;margin-top:25px}.muted{font-size:13px}.education{margin-top:0}.education-monogram{z-index:0;opacity:.5}.education-entry{position:relative;z-index:1}.education-entry h3{font-size:23px;max-width:100%}.atelier-notes{margin-top:27px}.projects-section{padding-top:0}.project-list{gap:64px}.project-card{padding-top:23px}.case-heading{gap:17px;margin-bottom:25px;align-items:flex-start}.project-number{font-size:65px;letter-spacing:-4px}.case-label{font-size:8px;letter-spacing:.5px}.case-heading h3{font-size:27px;letter-spacing:-1px;margin-top:7px}.project-category{font-size:8px;margin-top:8px}.case-index{display:none}.case-overview{gap:25px}.project-purpose{font-size:23px;line-height:1.4}.micro-label{font-size:9px;margin-top:23px}.contribution-text{font-size:13px}.feature-list>li{font-size:12px}.project-image-stage{padding:5px}.project-visual figcaption{padding:11px;font-size:9px}.image-open{font-size:9px}.browser-bar{height:30px}.browser-bar small{font-size:7px}.project-note{font-size:10px}.project-actions{gap:12px 20px;margin-top:20px}.result-pills strong{font-size:34px}.research-cover{padding:22px}.research-identity{margin-block:36px 23px;gap:20px}.research-identity>span:last-child{font-size:57px}.research-orbit{width:76px;height:76px}.research-line{font-size:16px}.experience{grid-template-columns:1fr;gap:23px;padding-block:28px}.experience-side{display:flex;align-items:center;justify-content:space-between;gap:20px}.experience-year{font-size:42px}.experience-side>p{margin-top:0;font-size:8px}.experience-card{padding-left:19px}.experience-card h3{font-size:23px}.company-name{font-size:9px}.experience-card-top{gap:16px;align-items:flex-start}.company-logo{width:95px;height:48px;padding:7px}.experience-card>p{font-size:13px;margin-top:19px}.internship-project-link{flex-wrap:wrap;gap:10px 15px;font-size:12px}.internship-project-link>span{font-size:7px}.skill-row{grid-template-columns:1fr;gap:19px;padding-block:25px}.skill-row-title h3{font-size:23px}.skill-caption{grid-column:1;font-size:11px}.technology-list{gap:14px 20px}.technology{font-size:11px}.skill-footnote{font-size:8px;line-height:1.9}.contact{padding-block:65px}.contact h2{font-size:clamp(35px,8vw,55px);letter-spacing:-1.8px}.contact-grid{grid-template-columns:1fr;gap:35px;margin-top:28px}.contact-description{font-size:13px}.contact-network{top:40px;right:-70px;width:260px;opacity:.25}.email{font-size:clamp(16px,4.4vw,23px)}.contact-links>div{gap:22px;font-size:11px}.contact .availability{font-size:9px;align-items:flex-start}.contact .availability .status-dot{margin-top:6px}.contact .section-label,.cv-version-note{font-size:9px}footer{padding-block:27px;display:grid;grid-template-columns:1fr auto;gap:20px}footer>.mono{font-size:8px}footer>.mono:nth-child(3){grid-column:1;grid-row:2}footer>.back-top{grid-column:2;grid-row:2}.dialog-inner{padding:28px 20px}.dialog-inner>h2{font-size:29px;letter-spacing:-1px}.dialog-close{margin:-12px -8px 5px 10px;top:8px;width:35px;height:35px}.dialog-inner>.section-label{font-size:8px;padding-right:30px}dialog{width:calc(100% - 22px);max-height:94dvh}.detail-text{font-size:13px}.study-grid{grid-template-columns:1fr}.project-study>h3{font-size:22px}.study-panel h4{font-size:16px}}@media(max-width:360px){.wrap{padding-inline:17px}.nav-contact{padding-inline:10px;gap:8px}.controls button{min-width:33px}.hero h1{font-size:34px;letter-spacing:-1.8px}.hero-actions{gap:9px}.hero-actions .button{padding-inline:12px;gap:10px;font-size:10px}.portrait-motion{height:350px}.portrait-frame{border-top-left-radius:76px;border-bottom-right-radius:60px}.portrait-annotation{font-size:7px}.portrait-offset,.portrait-outline{border-top-left-radius:76px;border-bottom-right-radius:60px}.hero-portrait figcaption{font-size:7px}.case-heading h3{font-size:24px}.project-number{font-size:56px}.company-logo{width:80px;height:43px}.experience-card h3{font-size:21px}.discipline-strip .wrap>span{font-size:7px;letter-spacing:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.portrait-motion,.reveal{opacity:1!important;transform:none!important}.motif-particle{display:none}.button:hover{transform:none}}.header .wordmark{display:inline-flex;align-items:center;gap:0}.wordmark .header-name{font-family:var(--font-body),sans-serif;font-size:11px;font-weight:500;letter-spacing:.1px;line-height:1.35;color:var(--text);margin-left:12px}.hero .hero-name{font-size:clamp(27px,2.5vw,35px);font-weight:600;letter-spacing:-1px;line-height:1.25;margin-bottom:19px}.school-signature{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}.school-logo{display:block;width:100px;height:auto;object-fit:contain;background:#fff;padding:3px 4px;border-radius:3px;flex-shrink:0}.education-school{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:14px}.education-school .school-logo{width:138px}.education-school h3{margin-top:0}.hero-portrait figcaption{align-items:center}@media(max-width:760px){.hero .hero-name{font-size:28px}.school-signature{gap:7px}.school-logo{width:76px}.hero-portrait figcaption>span:last-child{max-width:145px;text-align:right}.education-school .school-logo{width:120px}}@media(max-width:400px){.header .nav-contact{display:none}.wordmark .header-name{font-size:10px;margin-left:9px}.hero .hero-name{font-size:27px}}.hero h1{font-size:clamp(34px,3.8vw,54px);letter-spacing:-2.2px}@media(max-width:600px){.hero h1{font-size:clamp(32px,7.5vw,42px);letter-spacing:-1.8px)}}.project-architecture{container-type:inline-size;container-name:architecture;--bg:#211c29;--paper:#2c2534;--text:#f8f4ef;--muted:#c8bdcf;--accent:#f0a1b2;--accent-soft:#3c2c3c;--line:#514559;--coral:#d6a65d;--architecture-coral:#d6a65d;--wire:#c9697f;--shadow:0 16px 35px #0004;background:var(--bg);color:var(--text);padding:28px;border:1px solid #47384d;border-radius:10px;min-width:0;margin-top:34px}.architecture-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px}.architecture-kicker{display:block;font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;font-weight:400;color:var(--accent);line-height:1.8}.architecture-heading h4{font-size:23px;letter-spacing:-.7px;margin-top:8px;line-height:1.4}.architecture-heading>p{font-size:11px;color:var(--muted);max-width:270px;line-height:1.8}.architecture-intro{font-size:12px;line-height:1.9;color:var(--muted);max-width:920px}.architecture-modules{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px}.architecture-modules>span{font-size:10px;color:var(--text);background:var(--accent-soft);padding:6px 9px;border-radius:3px;line-height:1.6}.architecture-modules>span:first-child{font-size:9px;background:none;color:var(--muted);padding-left:0;margin-right:6px;font-family:var(--font-mono),monospace}.architecture-canvas{position:relative;width:100%;max-width:1000px;margin:20px auto 0;padding:18px 16px;background-image:radial-gradient(#c3a7ce26 1px,transparent 0);background-size:18px 18px;border-radius:8px}.architecture-grid{display:grid;grid-template-columns:repeat(var(--architecture-columns),minmax(0,1fr));grid-auto-rows:minmax(116px,auto);column-gap:80px;row-gap:56px;align-items:stretch}.architecture-node{grid-column:var(--node-column);grid-row:var(--node-row);position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-width:0;padding:13px 14px;border:1px solid #66526e;border-radius:8px;text-align:left;background:var(--paper);color:var(--text);box-shadow:0 7px 22px #0001;transition:border-color .2s,background .2s;z-index:2}.architecture-node:focus-visible,.architecture-node:hover,.architecture-node[data-open]{border-color:var(--accent);background:#382c3f;z-index:5}.architecture-node:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.node-experimental{border-color:#a68551}.architecture-node-technologies{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;color:#e9e1eb;font-size:9px;font-weight:500}.architecture-node-technologies>span{display:inline-flex;align-items:center;gap:6px;line-height:1.6}.architecture-tech-logo{width:18px;height:18px;background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;flex-shrink:0;display:inline-block;color:var(--accent)}.architecture-text-mark{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:3px;color:var(--accent);font-size:10px;font-family:var(--font-mono),monospace;flex-shrink:0}.architecture-text-mark .icon{width:13px;height:13px}.architecture-node-title{font-family:var(--font-display),sans-serif;font-size:13px;font-weight:500;line-height:1.55;letter-spacing:-.2px}.architecture-node-summary{font-size:10px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}.architecture-node-hint{position:absolute;top:7px;right:7px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;width:12px;height:12px;font-family:Georgia,serif;font-size:8px;color:var(--muted)}.architecture-tooltip{display:none;position:absolute;left:-10px;right:-10px;bottom:calc(100% + 10px);padding:14px;border:1px solid var(--line);border-radius:7px;background:#302638;box-shadow:var(--shadow);font-size:11px;font-weight:400;line-height:1.85;color:var(--text);z-index:10;text-transform:none;letter-spacing:0}.architecture-node:focus-visible .architecture-tooltip,.architecture-node:hover .architecture-tooltip,.architecture-node[data-open] .architecture-tooltip{display:block}.architecture-wires{position:absolute;left:0;top:0;z-index:1;pointer-events:none;overflow:visible}.architecture-connection{color:var(--wire)}.connection-experimental{color:var(--architecture-coral)}.connection-experimental>path{stroke-dasharray:5 4}.architecture-connection-label rect{fill:var(--bg);stroke:var(--line);stroke-width:.5}.architecture-connection-label text{font-family:var(--font-mono),monospace;font-size:9px;font-weight:400;fill:var(--muted)}.architecture-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:10px 0 20px}.architecture-legend>span{display:flex;align-items:center;gap:8px}.architecture-legend i{width:23px;height:0;border-top:2px solid var(--wire)}.architecture-legend .legend-experimental{border-color:var(--architecture-coral);border-top-style:dashed}.architecture-edge-list{border:1px solid var(--line);border-radius:6px;background:var(--bg);padding:12px 15px}.architecture-edge-list summary{font-size:11px;font-weight:400;color:var(--accent);cursor:pointer;line-height:1.8}.architecture-edge-list summary>span{margin-left:8px}.architecture-edge-list ul{list-style:none;padding:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.architecture-edge-list li{font-size:10px;line-height:1.8;display:flex;flex-direction:column;gap:4px;color:var(--muted)}.architecture-edge-list b{font-weight:400;color:var(--accent)}.architecture-edge-list strong{font-size:9px;font-weight:500;color:var(--accent)}.architecture-stack-heading{display:flex;justify-content:space-between;align-items:center;margin-top:28px;margin-bottom:14px;gap:15px}.architecture-stack-heading>span:last-child{font-family:var(--font-mono),monospace;font-size:15px;color:var(--accent)}.architecture-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:14px}.architecture-stack-group{border-top:1px solid var(--line);padding-top:17px;min-width:0}.architecture-stack-group h5{font-family:var(--font-mono),monospace;font-size:10px;font-weight:400;letter-spacing:.4px;color:#e9e1eb;margin:0 0 17px;line-height:1.8}.architecture-stack-group ul{display:flex;flex-direction:column;gap:18px;list-style:none;padding:0}.architecture-stack-group li{display:flex;align-items:flex-start;gap:9px}.architecture-stack-group .architecture-tech-logo,.architecture-stack-group .architecture-text-mark{margin-top:3px}.architecture-stack-group strong{font-size:11px;font-weight:500;line-height:1.7;display:block}.architecture-stack-group p{font-size:10px;line-height:1.85;color:var(--muted);margin-top:5px}.architecture-wip{display:flex;align-items:flex-start;gap:20px;padding:28px;border-style:dashed}.architecture-wip-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--accent);flex-shrink:0}.architecture-wip h4{font-size:23px;letter-spacing:-.6px;margin-top:10px;line-height:1.5}.architecture-wip p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:14px;max-width:800px}.wip-statuses{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.wip-statuses>span{font-size:10px;color:var(--accent);border:1px solid var(--line);padding:7px 11px;border-radius:3px}.wip-statuses>span:last-child{border-color:var(--coral)}@container architecture (max-width:800px){.architecture-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(110px,auto);row-gap:46px}.architecture-node{grid-column:1;grid-row:auto;padding:15px;gap:9px}.architecture-canvas{padding:18px 30px;margin-top:18px}.architecture-node-title{font-size:14px}.architecture-node-summary{font-size:12px}.architecture-node-technologies{font-size:11px}.architecture-tooltip{left:-4px;right:-4px;font-size:12px}.architecture-edge-list ul{grid-template-columns:1fr}.architecture-heading{display:block}.architecture-heading>p{margin-top:12px;max-width:none}.architecture-stack-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}}@media(max-width:760px){.project-architecture{padding:22px 16px;margin-top:26px}.architecture-heading h4{font-size:22px}.architecture-intro{font-size:12px}.architecture-canvas{padding-inline:25px}.architecture-node{padding:14px 13px}.architecture-node-title{font-size:13px}.architecture-node-summary{font-size:11px}.architecture-node-technologies{font-size:10px}.architecture-edge-list{padding:12px}.architecture-edge-list li{font-size:11px}.architecture-stack-grid{grid-template-columns:minmax(0,1fr)}.architecture-stack-group h5,.architecture-stack-group p,.architecture-stack-group strong{font-size:12px}.architecture-wip{display:block;padding:23px 20px}.architecture-wip-icon{margin-bottom:20px}.architecture-wip h4{font-size:22px}.architecture-wip p{font-size:12px}}@media(prefers-reduced-motion:reduce){.architecture-node{transition:none}.architecture-flow-dot{display:none}}