:root{color-scheme:dark;--bg:#101010;--surface:#181818;--inset:#222;--line:#393939;--ink:#fafafa;--muted:#b5b5b5;--button:#f3f3f3;--button-ink:#121212;--small:.875rem;--body:1rem;--title:clamp(1.35rem,2vw,1.85rem);--heading:clamp(2.1rem,4vw,3.5rem);--radius:14px;font-family:Inter,system-ui,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#fafafa;--surface:#fff;--inset:#ededed;--line:#d5d5d5;--ink:#171717;--muted:#505050;--button:#191919;--button-ink:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:var(--body);line-height:1.6}h1,h2,h3,p{margin:0}p{color:var(--muted);max-width:66ch}h1,h2,h3{line-height:1.08;letter-spacing:-.05em}h2{font-size:var(--heading);font-weight:600}h3{font-size:var(--title);font-weight:600}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}button{cursor:pointer}button:hover,a:hover{opacity:.8}.wrap{width:min(1200px,90%);margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;background:var(--bg);z-index:2}header{border-bottom:1px solid var(--line)}nav,nav div,.brand,.actions,.caption,.signature{display:flex;align-items:center;gap:1rem}nav{min-height:76px;justify-content:space-between}nav a,.cover{text-decoration:none}.brand b{font-weight:800;font-size:2rem;letter-spacing:-.12em}.brand>span,nav div,.button,.on-dark,.link,button,small{font-size:var(--small)}nav div{gap:1.4rem}#theme,.feature-toggle{border:1px solid var(--line);border-radius:99px;background:var(--surface);padding:.45rem .9rem}.hero{border-bottom:1px solid var(--line)}.intro{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:7%;padding-block:clamp(3rem,7vw,6.5rem)}.label,.caption span{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:650;color:var(--muted)}.label{margin-bottom:.85rem}h1{font-size:clamp(3.4rem,6.8vw,6.2rem);letter-spacing:-.075em;font-weight:650}h1 span{display:block}.lead{margin-block:1.25rem 1.7rem;font-size:clamp(1rem,1.5vw,1.2rem);max-width:38ch}.button{display:inline-block;border:0;border-radius:7px;font-weight:650;text-decoration:none;background:var(--button);color:var(--button-ink);padding:.75rem 1rem}.shots{position:relative;aspect-ratio:1.65;background-color:var(--inset);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:13px 13px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.shots img{width:70%;position:absolute;border:3px solid var(--surface);border-radius:6px;box-shadow:0 8px 24px #0005}.back{right:5%;top:7%;transform:rotate(4deg)}.front{left:5%;bottom:7%;transform:rotate(-4deg)}.caption{justify-content:space-between;margin-top:.65rem;font-size:var(--small)}.work,.section,.about{padding-block:clamp(2.8rem,5vw,4.5rem)}.projects-grid,.skill-grid,.contact-grid{display:grid;gap:1rem;margin-top:1.8rem}.projects-grid,.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card,.skill-card,.contact-list>*,form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,2vw,1.65rem);min-width:0}.project-card{display:flex;flex-direction:column;gap:1rem}.project-card.selected{order:-1;grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;border-color:var(--muted)}.selected .project-copy:only-child{grid-column:1/-1}.project-copy p:not(.label){margin:.8rem 0}.project-copy small{display:block;color:var(--muted)}.link{display:inline-block;margin:.75rem .7rem 0 0}.feature-toggle{display:block;margin-top:1rem}.feature-toggle[aria-pressed=true]{background:var(--inset)}.gallery,.media-panel{min-width:0}.gallery img,.project-media{display:block;width:100%;border-radius:7px}.gallery img{aspect-ratio:1.9;object-fit:contain;background:var(--inset)}.gallery-caption{font-size:var(--small);margin:.55rem 0}.choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.choices button{font-size:.72rem;border:1px solid var(--line);border-radius:5px;background:var(--inset);padding:4px;overflow-wrap:anywhere}.choices button[aria-pressed=true]{border-color:var(--ink)}.choices img{margin-bottom:3px}.project-media{aspect-ratio:16/10;border:1px solid var(--line);background:var(--inset)}.stream{min-height:260px}.project-card:not(.selected) .choices{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-card h3,form h3{font-size:1.2rem;letter-spacing:-.025em}.skill-card ul{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:1rem 0 0;padding:0}.skill-card li{font-size:var(--small);padding:.18rem .6rem;background:var(--inset);border-radius:5px}.about,footer,#skills{border-top:1px solid var(--line)}.bio p:last-child{margin-top:1rem}.contact-grid{grid-template-columns:1fr 1.2fr}.contact-list{display:grid;gap:.7rem}.contact-list>*{display:flex;flex-direction:column;justify-content:center;text-decoration:none}.contact-list span,.signature span,form p,output{color:var(--muted);font-size:var(--small)}form p{margin:.6rem 0}label,output{display:block;margin:.65rem 0;font-size:var(--small)}input,textarea{display:block;width:100%;margin-top:.3rem;background:var(--bg);border:1px solid var(--line);padding:.65rem;border-radius:6px}textarea{resize:vertical}.signature{margin-top:3rem;border-top:1px solid var(--line);padding-top:1.5rem;flex-wrap:wrap}.signature a{margin-left:auto;font-size:var(--small)}
@media(max-width:950px){.projects-grid,.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand>span{display:none}}
@media(max-width:680px){.intro,.projects-grid,.skill-grid,.contact-grid,.project-card.selected{grid-template-columns:1fr}.intro{gap:2rem}.wrap{width:92%}nav{flex-wrap:wrap;gap:.4rem;padding-block:.5rem;min-height:60px}nav div{gap:.6rem;flex-wrap:wrap}nav a,nav button{font-size:.8rem}#theme{padding:.4rem .55rem}.actions{flex-wrap:wrap}.choices{grid-template-columns:repeat(3,minmax(0,1fr))}.signature{align-items:flex-start;flex-direction:column;gap:.3rem}.signature a{margin-left:0}}
