*{box-sizing:border-box} :root{--ink:#171717;--muted:#777;--line:#e7e7e7;--paper:#fff;--soft:#f5f5f3;--sans:"Manrope",Arial,sans-serif;--script:"Caveat",cursive}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header,.admin-top{height:76px;padding:0 6.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.wordmark{font-size:16px;letter-spacing:.13em;font-weight:700}.wordmark span,.works-heading h2 span{color:#888}.desktop-nav{display:flex;gap:30px;font-size:12px;color:#555}.desktop-nav a:hover,.text-link:hover{color:#999}.menu-toggle{display:none;background:none;border:0;font-size:22px}.mobile-nav{display:none}.section{padding-left:10vw;padding-right:10vw}.hero{padding-top:85px;padding-bottom:44px}.eyebrow,.section-label{font-size:10px;letter-spacing:.18em;font-weight:700;color:#777;display:flex;align-items:center;gap:12px}.eyebrow-line{width:28px;height:1px;background:#222;display:inline-block}.hero h1{font-size:clamp(64px,12.8vw,174px);line-height:.87;letter-spacing:-.085em;font-weight:500;margin:36px 0 25px;overflow-wrap:anywhere}.hero h1 em{font-family:var(--script);font-weight:600;letter-spacing:-.04em;font-style:normal}.hero h1 em,h2 em{font-weight:500;letter-spacing:-.06em}h2 em{font-family:var(--script);font-style:normal}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:42px}.hero-description{max-width:390px;color:#666;margin:0;font-size:15px}.text-link{font-size:12px;border-bottom:1px solid #aaa;padding-bottom:7px;white-space:nowrap}.text-link span{margin-left:14px}.hero-image-wrap{height:clamp(230px,44vw,550px);background:#f0f0ee;position:relative;overflow:hidden}.hero-image-wrap img{width:100%;height:100%;object-fit:cover}.image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#999;gap:6px;background:linear-gradient(135deg,#f5f5f3,#e8e8e5)}.image-placeholder span{font-size:12px;letter-spacing:.2em;color:#777}.image-placeholder small{font-size:11px}.image-index{position:absolute;bottom:17px;left:18px;font-size:9px;letter-spacing:.16em;background:#fff;padding:7px 10px}.hero-caption{display:flex;justify-content:space-between;color:#888;font-size:9px;letter-spacing:.15em;padding-top:14px}.about-section,.education-section,.skills-section,.works-section{padding-top:100px;padding-bottom:100px;border-top:1px solid var(--line)}.section-label{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px}.section-label span:first-child{color:#aaa}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:50px}.about-grid h2,.education-content h2,.skills-head h2,.works-heading h2,.contact-content h2{font-family:var(--sans);font-size:clamp(40px,6vw,78px);line-height:1.02;letter-spacing:-.065em;font-weight:500;margin:0}.prose{max-width:500px;padding-top:7px;color:#555}.prose p{margin:0 0 20px}.muted{color:#888}.education-content{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:50px}.education-list{border-top:1px solid var(--line)}.education-item{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.edu-year{font-size:11px;color:#888;padding-top:4px}.education-item h3{margin:0 0 5px;font-size:16px;font-weight:600}.education-item p{margin:0;color:#777;font-size:13px}.skills-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:50px}.skills-head p{max-width:280px;color:#777;font-size:13px}.skills-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:42px}.skills-list span{border:1px solid #ddd;border-radius:99px;padding:11px 18px;font-size:12px}.works-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-top:50px;margin-bottom:32px}.works-heading h2{font-size:clamp(40px,6vw,76px)}.works-heading p{color:#777;font-size:13px;margin:13px 0 0}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{background:white;border:1px solid #ddd;border-radius:99px;padding:8px 13px;font-size:11px;color:#666;cursor:pointer}.filter.active,.filter:hover{background:#171717;color:white;border-color:#171717}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}.work-card{min-width:0;cursor:pointer}.work-image{width:100%;aspect-ratio:1.12;background:#f0f0ee;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.work-card:hover .work-image img{transform:scale(1.035)}.work-meta{display:flex;justify-content:space-between;gap:12px;margin-top:13px}.work-meta h3{font-size:14px;font-weight:600;margin:0}.work-meta p{font-size:11px;color:#888;margin:3px 0 0}.work-category{font-size:9px;letter-spacing:.1em;color:#777;text-transform:uppercase;padding-top:3px}.work-empty{grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--soft);color:#666;font-size:14px}.work-empty span{display:block;color:#999;font-size:12px;margin-top:6px}.contact-section{background:#f5f5f3;padding-top:65px;padding-bottom:75px}.contact-section .section-label{border-color:#ddd}.contact-content{padding-top:65px}.contact-content .eyebrow{font-size:9px}.contact-content h2{font-size:clamp(45px,7.5vw,100px);margin:25px 0 24px}.contact-email{font-size:14px;border-bottom:1px solid #aaa;padding-bottom:6px}.social-links{display:flex;gap:24px;margin-top:38px;font-size:12px}.social-links a{border-bottom:1px solid #bbb;padding-bottom:5px}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 6.5vw;font-size:10px;color:#888}.footer .wordmark{color:#222;font-size:13px}.admin-link{border-bottom:1px solid #ccc}.lightbox{position:fixed;inset:0;background:rgba(15,15,15,.95);z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:5vw;color:#fff}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:78vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:10px;background:none;color:white;border:0;font-size:40px;cursor:pointer}.lightbox div{padding-top:14px;font-size:12px;color:#ddd}.admin-body{background:#f7f7f5}.admin-top{position:static}.admin-kicker{font-size:10px;letter-spacing:.2em;color:#888}.admin-main{max-width:960px;margin:0 auto;padding:55px 24px 80px}.admin-intro{margin-bottom:30px}.admin-intro h1{font-size:clamp(52px,9vw,92px);line-height:.95;letter-spacing:-.075em;font-weight:500;margin:22px 0}.admin-intro h1 em{font-family:var(--script);font-weight:500;font-style:normal}.admin-intro>p{color:#777}.notice{background:#fff;border:1px solid #e5e5e5;padding:16px 18px;margin:25px 0;font-size:12px;color:#666}.notice code{font-size:11px}.admin-card{background:#fff;border:1px solid #e7e7e7;padding:28px;margin:20px 0}.admin-card h2{margin:0;font-size:24px;letter-spacing:-.04em}.admin-card>p{font-size:13px}.admin-card form{display:grid;gap:16px}.admin-card label{display:grid;gap:7px;font-size:12px;color:#555}.admin-card input,.admin-card textarea{width:100%;border:1px solid #ddd;background:#fff;padding:12px 13px;border-radius:0;outline:none;color:#171717;font-size:13px}.admin-card input:focus,.admin-card textarea:focus{border-color:#555}.admin-card textarea{resize:vertical}.button-dark,.button-outline{padding:12px 17px;font-size:12px;cursor:pointer}.button-dark{background:#171717;color:#fff;border:1px solid #171717}.button-dark:hover{background:#444}.button-outline{background:#fff;border:1px solid #ccc;color:#222}.form-message{font-size:12px;color:#666}.hidden{display:none!important}.editor-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.editor-top p{margin:4px 0}.admin-card details{border-top:1px solid #e6e6e6;padding:17px 0}.admin-card details:last-of-type{border-bottom:1px solid #e6e6e6}.admin-card summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between}.admin-card summary:after{content:"+";font-weight:400;color:#888}.admin-card details[open] summary:after{content:"−"}.admin-card details>label,.admin-card details>.form-grid,.admin-card details>.education-editor,.admin-card details>div:not(.form-grid){margin-top:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.save-bar{position:sticky;bottom:12px;background:#fff;border:1px solid #ddd;padding:13px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;box-shadow:0 6px 25px #0000000b}.education-edit,.work-edit{border:1px solid #e5e5e5;padding:14px;margin:14px 0;display:grid;gap:12px}.edit-row-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600}.remove-item{background:none;border:0;color:#999;text-decoration:underline;font-size:11px;cursor:pointer}.image-preview{min-height:80px;background:#f5f5f3;display:flex;align-items:center;justify-content:center;color:#999;font-size:11px;overflow:hidden}.image-preview img{max-height:180px;max-width:100%;object-fit:contain}.admin-footnote{font-size:11px;color:#888;line-height:1.7;margin-top:25px}
@media(max-width:700px){.site-header{height:64px;padding:0 6vw}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-nav{position:sticky;top:64px;z-index:19;background:white;border-bottom:1px solid var(--line);padding:0 6vw;display:none;gap:18px;flex-wrap:wrap;font-size:12px}.mobile-nav.open{display:flex;padding-top:14px;padding-bottom:14px}.section{padding-left:6vw;padding-right:6vw}.hero{padding-top:55px}.hero h1{font-size:clamp(58px,17vw,105px);margin-top:30px}.hero-bottom{align-items:start;flex-direction:column;margin-bottom:28px}.hero-image-wrap{height:280px}.hero-caption{font-size:8px}.about-section,.education-section,.skills-section,.works-section{padding-top:65px;padding-bottom:65px}.about-grid,.education-content{grid-template-columns:1fr;gap:25px;padding-top:35px}.about-grid h2,.education-content h2,.skills-head h2{font-size:54px}.skills-head{display:block;padding-top:35px}.skills-head p{margin-top:18px}.works-heading{display:block;padding-top:35px}.filters{margin-top:22px}.works-grid{gap:25px 12px}.work-meta{display:block}.work-category{display:block;margin-top:6px}.contact-section{padding-top:45px;padding-bottom:55px}.contact-content{padding-top:45px}.social-links{gap:16px;flex-wrap:wrap}.footer{padding:22px 6vw;flex-wrap:wrap}.admin-top{padding:0 5vw;height:64px}.admin-kicker{display:none}.admin-main{padding:35px 5vw 60px}.admin-card{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.save-bar{align-items:stretch;flex-direction:column}.save-bar button{width:100%}.editor-top{align-items:start}.admin-card h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}