:root{--paper:#f2f1e9;--ink:#1a1b18;--acid:#d9f980;--muted:#686962;--line:#d2d3c9;--gutter:clamp(22px, 4.6vw, 80px);--header-height:120px;font-family:var(--font-sora);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;margin:0}body.menu-open{overflow:hidden}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button{-webkit-tap-highlight-color:transparent}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:7px;outline:2px solid}::selection{color:var(--ink);background:var(--acid)}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500}main:focus{outline:none}.arrow{vertical-align:middle;flex:none}.arrow--right{transform:rotate(45deg)}.arrow--down{transform:rotate(135deg)}.skip-link{z-index:100;background:var(--acid);color:var(--ink);padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{height:var(--header-height);padding:0 var(--gutter);align-items:center;gap:30px;display:flex}.header-name{letter-spacing:.035em;font-size:18px;font-weight:600;line-height:1.5}.desktop-nav{gap:34px;margin-left:auto;font-size:14px;display:flex}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .2s;position:absolute;bottom:7px;left:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.menu-toggle{border:0;border-left:1px solid var(--line);background:0 0;align-items:center;gap:20px;margin-left:18px;padding:12px 0 12px 24px;font-size:14px;display:flex}.menu-icon{gap:6px;width:25px;display:grid}.menu-icon i{background:currentColor;width:25px;height:1px;transition:transform .2s}.menu-toggle:hover .menu-icon i:first-child{transform:translate(4px)}.menu-toggle:hover .menu-icon i:last-child{transform:translate(-4px)}.menu-dialog{color:var(--ink);background:var(--acid);border:0;width:min(660px,100%);max-width:100%;height:100dvh;max-height:100%;margin:0 0 0 auto;padding:40px 54px}.menu-dialog[open]{flex-direction:column;animation:.3s ease-out drawer-in;display:flex}.menu-dialog::backdrop{backdrop-filter:blur(5px);background:#10110fd4}.menu-top,.menu-bottom{justify-content:space-between;align-items:center;gap:20px;display:flex}.menu-close{background:0 0;border:0;align-items:center;gap:20px;padding:10px 0 10px 10px;display:flex}.menu-close span{font-size:32px;font-weight:300}.menu-content{flex:1;padding:64px 0}.menu-content nav a{letter-spacing:-.055em;border-bottom:1px solid #1a1b1830;align-items:center;gap:18px;padding:14px 0;font-size:clamp(30px,4vw,53px);display:flex}.menu-content nav .arrow{width:30px;height:30px;margin-left:auto;transition:transform .2s}.menu-content nav a:hover .arrow{transform:translate(3px,-3px)}.menu-bottom{flex-wrap:wrap;font-size:12px}.menu-bottom .arrow{width:15px;height:15px}.eyebrow,.small-label{letter-spacing:.1em;font-size:11px;font-weight:500;line-height:1.5}.small-label{color:var(--muted)}.text-link{border-bottom:1px solid;align-items:center;gap:28px;padding-bottom:8px;font-size:15px;line-height:1.5;display:inline-flex}.text-link .arrow{transition:translate .2s}.text-link:hover .arrow{translate:3px -2px}.home-page{--line:#42443b;--muted:#aeafa4;color:var(--paper);background:var(--ink)}.home-shell{height:calc(100dvh - var(--header-height));padding:0 var(--gutter);grid-template-rows:minmax(0,1fr) auto auto;display:grid}.intro{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.intro-stage{align-items:center;min-height:0;padding:clamp(8px,2dvh,24px) 0;display:flex}.intro-heading{letter-spacing:-.045em;width:100%;max-width:1320px;font-size:clamp(38px,4.8vw,80px);font-weight:400;line-height:1.25}.intro-frame{animation:.3s ease-out frame-in;display:block}.intro-heading a{text-underline-offset:.1em;text-decoration:underline 1.5px #f2f1e970;transition:text-decoration-color .2s}.intro-heading a:hover{text-decoration-color:var(--acid)}.intro-heading .accent{color:var(--acid);text-decoration-color:#d9f98080}.intro-bottomline{justify-content:flex-end;align-items:center;padding:8px 0 16px;display:flex}.intro-bottomline .text-link{border:0;gap:18px;padding:0;font-size:14px}.intro-controls{padding:12px 0}#intro-depth{--progress:25%;-webkit-appearance:none;appearance:none;cursor:ew-resize;background:0 0;width:100%;height:36px;margin:8px 0;display:block}#intro-depth::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--acid) var(--progress), #55574c var(--progress));border:0;height:2px}#intro-depth::-moz-range-track{background:#55574c;height:2px}#intro-depth::-moz-range-progress{background:var(--acid);height:2px}#intro-depth::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--acid);border:9px solid var(--ink);outline:1px solid var(--acid);width:32px;height:32px;box-shadow:0 0 0 6px var(--ink);border-radius:50%;margin-top:-15px}#intro-depth::-moz-range-thumb{background:var(--acid);border:9px solid var(--ink);outline:1px solid var(--acid);width:14px;height:14px;box-shadow:0 0 0 6px var(--ink);border-radius:50%}.slider-labels{justify-content:space-between;align-items:center;gap:18px;display:flex}.slider-labels button{background:0 0;border:0;padding:8px 0;font-size:12px}.slider-labels button:hover{color:var(--acid)}.home-footer{justify-content:space-between;align-items:center;gap:24px;min-height:60px;display:flex}.home-footer>span{color:var(--muted);letter-spacing:.06em;font-size:9px}.home-footer>div{gap:28px;display:flex}.home-footer a{align-items:center;gap:6px;padding:10px 0;font-size:12px;display:inline-flex}.home-footer .arrow{width:13px;height:13px}.home-footer a:hover{color:var(--acid)}.page-container{padding:0 var(--gutter);max-width:1640px;margin:0 auto}.page-intro{padding:58px 0}.page-intro h1{letter-spacing:-.055em;font-size:clamp(58px,7.8vw,120px);line-height:1.1}.page-intro-bottom{justify-content:space-between;align-items:flex-end;gap:40px;padding-top:36px;display:flex}.page-intro-bottom p{color:var(--muted);font-size:clamp(15px,1.3vw,19px);line-height:1.65}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;padding-bottom:56px;display:grid}.project-image-link{display:block;position:relative;overflow:hidden}.project-art{aspect-ratio:1.8;isolation:isolate;position:relative;overflow:hidden}.project-art--logo{background:#fff;justify-content:center;align-items:center;display:flex}.project-logo{object-fit:contain;width:78%;max-width:480px;height:auto;max-height:64%;display:block}.project-image-link .project-art{transition:scale .5s}.project-image-link:hover .project-art{scale:1.025}.project-open{background:var(--paper);color:var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;transition:transform .2s;display:grid;position:absolute;bottom:12px;right:12px}.project-open .arrow{width:16px;height:16px}.project-image-link:hover .project-open{transform:rotate(45deg)}.project-meta{justify-content:space-between;align-items:center;gap:16px;margin:16px 0 9px;display:flex}.project-meta .eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.project-card h2{letter-spacing:-.045em;font-size:clamp(24px,2vw,30px);line-height:1.15}.project-card h2 a{align-items:center;gap:12px;display:inline-flex}.project-card h2 .arrow{width:19px;height:19px}.project-summary{color:var(--muted);max-width:530px;margin-top:10px;font-size:13px;line-height:1.65}.art-heat{background:#23263d}.art-ayus .project-logo{width:100%;max-width:520px;max-height:100%}.art-zefira{color:#355360;background:#d9e5e9}.placeholder-word{letter-spacing:-.055em;font-size:clamp(40px,4vw,66px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.zefira-lines{position:absolute;inset:12% -15%;transform:rotate(-25deg)}.zefira-lines i{top:calc(var(--i,0) * 13%);border-top:1px solid #9bb7bf;border-radius:50%;width:100%;height:60%;position:absolute}.zefira-lines i:nth-child(2){--i:1}.zefira-lines i:nth-child(3){--i:2}.zefira-lines i:nth-child(4){--i:3}.zefira-lines i:nth-child(5){--i:4}.zefira-lines i:nth-child(6){--i:5}.zefira-lines i:nth-child(7){--i:6}.site-footer{margin:0 var(--gutter);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:30px 0;font-size:12px;display:flex}.footer-name{font-weight:600}.footer-name span{color:var(--muted);font-weight:400}.site-footer>a:last-child{align-items:center;gap:10px;display:inline-flex}.site-footer .arrow{width:16px;height:16px}.project-detail{padding-top:34px}.back-link{color:var(--muted);padding:10px 0;font-size:13px;display:inline-block}.detail-header{padding:52px 0 48px}.detail-header .eyebrow{color:var(--muted);text-transform:uppercase}.detail-header h1{letter-spacing:-.07em;margin:14px 0 20px;font-size:clamp(64px,9vw,130px);line-height:1.15}.detail-header>p:last-child{letter-spacing:-.025em;max-width:900px;font-size:clamp(20px,2.5vw,32px);line-height:1.4}.project-detail>.project-art{aspect-ratio:auto;height:clamp(180px,24vw,300px)}.detail-body{grid-template-columns:1fr 2fr;gap:90px;padding:74px 0;display:grid}.detail-body--wide{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}dl{margin:0 0 40px}dl>div{margin-bottom:28px}dt{letter-spacing:.1em;color:var(--muted);margin-bottom:8px;font-size:10px}dd{margin:0;font-size:16px}.detail-body h2{letter-spacing:-.045em;margin:0 0 30px;font-size:clamp(32px,3.3vw,48px);line-height:1.2}.detail-body section>p:not(.eyebrow){color:var(--muted);margin-bottom:20px;font-size:17px;line-height:1.8}.tags{flex-wrap:wrap;gap:8px;margin:30px 0;display:flex}.tags span{border:1px solid var(--line);border-radius:30px;padding:8px 12px;font-size:11px}.source-link{color:var(--muted);text-underline-offset:3px;font-size:11px;text-decoration:underline}.source-link .arrow{width:14px;height:14px}.next-link{border-top:1px solid var(--line);padding:35px 0 55px;display:block}.next-link>span:last-child{letter-spacing:-.055em;justify-content:space-between;align-items:center;margin-top:18px;font-size:clamp(40px,5vw,65px);display:flex}.next-link .arrow{width:45px;height:45px}.publication-toolbar{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:22px;padding:8px 0 22px;display:flex}.filter-buttons{flex-wrap:wrap;gap:10px;display:flex}.filter-buttons button{border:1px solid var(--line);background:0 0;border-radius:30px;padding:11px 17px;font-size:12px}.filter-buttons button span{margin-left:8px;font-size:10px}.filter-buttons button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter-buttons button:hover{border-color:var(--ink)}.publication{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:38px;padding:38px 0;display:grid}.publication-year{letter-spacing:-.05em;font-size:32px;line-height:1.1}.publication-year span{letter-spacing:.1em;color:var(--muted);margin-top:12px;font-size:9px;display:block}.publication h2{letter-spacing:-.035em;font-size:clamp(21px,2.3vw,33px);line-height:1.25}.publication h2 a{justify-content:space-between;gap:34px;display:flex}.publication h2 .arrow{margin-top:6px;transition:translate .2s}.publication h2 a:hover .arrow{translate:3px -3px}.publication h2 a:hover{text-underline-offset:5px;text-decoration:underline 1px}.publication-authors{color:var(--muted);margin-top:18px;font-size:13px;line-height:1.7}.publication-authors strong{color:var(--ink);font-weight:600}.publication-venue{color:var(--muted);margin-top:5px;font-size:13px}.publication-scholar{align-items:center;gap:7px;margin-top:19px;font-size:11px;display:inline-flex}.publication-scholar .arrow{width:13px;height:13px}.publication-note{color:var(--muted);padding:34px 0 64px;font-size:12px;line-height:1.7}.publication-note a{text-underline-offset:3px;text-decoration:underline}.about-statement{grid-template-columns:1fr 1.65fr;align-items:center;gap:80px;padding:14px 0 76px;display:grid}.about-monogram{aspect-ratio:1;background:var(--acid);letter-spacing:-.1em;justify-content:center;align-items:center;padding:36px;font-size:clamp(120px,17vw,250px);line-height:1.2;display:flex;position:relative}.about-statement p{color:var(--muted);margin-bottom:20px;font-size:17px;line-height:1.8}.about-statement p:first-child{color:var(--ink);letter-spacing:-.03em;font-size:clamp(23px,2.4vw,33px);line-height:1.45}.about-statement .text-link{margin-top:10px}.cv-section{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:60px;padding:42px 0 64px;display:grid}.cv-section>h2{letter-spacing:-.045em;font-size:27px}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:30px;margin-bottom:28px;padding-bottom:30px;display:grid}.experience-row:last-child{border:0;margin-bottom:0;padding-bottom:0}.experience-period{color:var(--muted);margin-top:5px;font-size:11px}.experience-row h3,.skills-list h3{letter-spacing:-.025em;font-size:20px}.experience-place{margin:8px 0 16px;font-size:14px}.experience-row div>p:last-child:not(.experience-place),.skills-list p{color:var(--muted);font-size:14px;line-height:1.8}.skills-list{grid-template-columns:1fr 1fr;gap:32px 40px;display:grid}.skills-list h3{margin-bottom:14px}.contact-page{padding-top:74px;padding-bottom:70px}.contact-page h1,.not-found h1{letter-spacing:-.065em;font-size:clamp(56px,7.5vw,110px);line-height:1.03}.contact-email{letter-spacing:-.035em;border-bottom:1px solid var(--ink);align-items:center;gap:30px;margin-top:60px;padding-bottom:12px;font-size:clamp(22px,3.5vw,52px);display:inline-flex}.contact-email .arrow{width:35px;height:35px}.contact-bottom{gap:140px;margin-top:72px;display:flex}.contact-bottom a{align-items:center;gap:8px;margin-right:26px;font-size:14px;display:inline-flex}.contact-bottom .arrow{width:16px;height:16px}.not-found{min-height:70vh;padding-top:80px;padding-bottom:80px}.not-found h1{margin:30px 0}.not-found p:not(.eyebrow){color:var(--muted);margin:24px 0 36px;line-height:1.6}@keyframes frame-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-in{0%{opacity:0;transform:translate(35px)}to{opacity:1;transform:translate(0)}}@media (width>=1700px){.intro-heading{max-width:1450px}}@media (width<=1200px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1000px){.intro-heading{font-size:5.6vw}.wide-break{display:none}.detail-body{gap:50px}.about-statement{gap:42px}.cv-section{grid-template-columns:1fr;gap:30px}.publication{grid-template-columns:100px 1fr}.publication-toolbar{flex-wrap:wrap}}@media (width<=640px){:root{--header-height:80px}.site-header{gap:20px}.header-name{font-size:15px}.desktop-nav{display:none}.menu-toggle{border:0;gap:12px;margin-left:auto;padding-left:0;font-size:12px}.menu-toggle>span:first-child{display:none}.menu-dialog{padding:25px 28px}.menu-content{padding:44px 0}.menu-content nav a{padding:15px 0;font-size:37px}.menu-bottom{flex-direction:column;align-items:flex-start;gap:12px}.intro-heading{letter-spacing:-.05em;font-size:clamp(33px,7.5vw,48px);line-height:1.21}.intro-bottomline{padding:4px 0 8px}.intro-bottomline .text-link{white-space:nowrap;gap:10px;font-size:11px}.intro-bottomline .arrow{width:18px;height:18px}.intro-controls{padding:8px 0}.slider-labels button{font-size:13px}.home-footer{flex-wrap:wrap;gap:8px;min-height:48px;padding:8px 0}.home-footer>span{font-size:8px}.home-footer>div{gap:14px}.home-footer a{gap:4px;font-size:10px}.home-footer .arrow{width:11px;height:11px}.page-intro{padding:35px 0 40px}.page-intro h1{font-size:clamp(36px,10vw,64px)}.page-intro-bottom{flex-direction:column;align-items:flex-start;gap:24px;padding-top:28px}.page-intro-bottom p{font-size:15px}.project-grid{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.project-card h2{font-size:26px}.placeholder-word{font-size:15vw}.site-footer{flex-wrap:wrap;gap:16px;padding:24px 0}.project-detail{padding-top:18px}.detail-header{padding:35px 0}.detail-header h1{font-size:15vw}.detail-header>p:last-child{font-size:21px}.detail-body{grid-template-columns:1fr;gap:38px;padding:38px 0}dl{flex-wrap:wrap;gap:20px;margin-bottom:6px;display:flex}dd{font-size:14px}dt{font-size:8px}.detail-body h2{font-size:36px}.detail-body section>p:not(.eyebrow){font-size:15px}.next-link{padding-bottom:40px}.publication-toolbar{gap:18px}.filter-buttons{gap:7px}.filter-buttons button{padding:10px 12px;font-size:11px}.filter-buttons button span{margin-left:5px}.publication-toolbar>.small-label{font-size:9px}.publication{grid-template-columns:1fr;gap:18px;padding:28px 0}.publication-year{align-items:center;gap:14px;font-size:20px;display:flex}.publication-year span{margin-top:0;font-size:8px}.publication h2{font-size:23px}.publication h2 a{gap:16px}.publication h2 .arrow{width:18px;height:18px}.publication-authors,.publication-venue{font-size:12px}.publication-note{padding-bottom:44px}.about-statement{grid-template-columns:1fr;gap:32px;padding-bottom:46px}.about-monogram{aspect-ratio:1.3;font-size:52vw}.about-statement p{font-size:15px}.about-statement p:first-child{font-size:25px}.cv-section{padding:32px 0 42px}.experience-row{grid-template-columns:1fr;gap:12px}.experience-row h3{font-size:21px}.skills-list{grid-template-columns:1fr;gap:26px}.contact-page{padding-top:40px;padding-bottom:50px}.contact-page h1,.not-found h1{font-size:13vw}.contact-email{gap:12px;font-size:clamp(20px,5.5vw,35px)}.contact-email .arrow{width:24px;height:24px}.contact-bottom{flex-direction:column;gap:32px;margin-top:50px}.not-found{padding-top:50px;padding-bottom:50px}}@media (height<=600px){.home-page{--header-height:64px}.home-page .intro-controls{padding:4px 0}.home-page .home-footer{min-height:40px;padding:4px 0}.home-page .intro-bottomline{padding:4px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
