:root{--bg:#0a0a0a;--panel:#121212;--text:#f5f3ef;--muted:#aaa59e;--line:#2b2926;--orange:#f97316;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:absolute;left:-999px;top:1rem;background:white;color:black;padding:.75rem 1rem;z-index:99}.skip-link:focus{left:1rem}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);transition:background .25s}.site-header.scrolled{background:rgba(10,10,10,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-weight:700;letter-spacing:-.03em;font-size:1.2rem}.wordmark span,.eyebrow{color:var(--orange)}nav{display:flex;gap:1.6rem}nav a{text-decoration:none;color:#ddd;font-size:.9rem}nav a:hover{color:var(--orange)}.menu-toggle{display:none;border:1px solid var(--line);background:#111;color:white;padding:.5rem .75rem}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.12)),linear-gradient(to top,rgba(0,0,0,.65),transparent 55%)}.hero-copy{position:relative;z-index:2;padding:0 clamp(1.25rem,6vw,6.5rem) clamp(4rem,10vh,8rem);max-width:1000px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;margin:0 0 1.25rem}.hero h1{font-size:clamp(3.1rem,8vw,7.7rem);line-height:.91;letter-spacing:-.065em;margin:0 0 1.6rem;max-width:1100px}.hero-copy>p:not(.eyebrow){color:#ddd;font-size:clamp(1rem,2vw,1.25rem);max-width:620px}.text-link{display:inline-block;margin-top:1.2rem;text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:.2rem}.section{padding:clamp(5rem,11vw,10rem) clamp(1.25rem,5vw,5.5rem);max-width:var(--max);margin:auto}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:end;margin-bottom:3rem}.section-intro .eyebrow{grid-column:1/-1;margin-bottom:-.8rem}.section-intro h2,.about h2,.contact h2{font-size:clamp(2.7rem,6vw,6rem);line-height:.95;letter-spacing:-.055em;margin:0}.section-intro>p:last-child{color:var(--muted);max-width:600px;margin:0}.filters{display:flex;gap:.6rem;margin-bottom:2rem}.filter{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:.55rem 1rem;cursor:pointer}.filter:hover,.filter.active{background:var(--orange);border-color:var(--orange);color:#111}.gallery{columns:3 300px;column-gap:1rem}.photo{display:block;width:100%;margin:0 0 1rem;break-inside:avoid;position:relative;border:0;background:none;padding:0;cursor:zoom-in;overflow:hidden}.photo img{width:100%;height:auto;transition:transform .45s,filter .45s}.photo:hover img{transform:scale(1.015);filter:brightness(.72)}.photo-meta{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;justify-content:space-between;gap:1rem;color:white;opacity:0;transform:translateY(8px);transition:.25s;font-size:.8rem;text-align:left}.photo:hover .photo-meta{opacity:1;transform:none}.manifesto{max-width:var(--max);margin:auto;padding:2rem clamp(1.25rem,5vw,5.5rem) clamp(5rem,11vw,10rem);font-size:clamp(2.2rem,5.4vw,5.6rem);letter-spacing:-.05em;line-height:1.05}.manifesto p{margin:.18em 0;color:#555}.manifesto p:nth-child(2){color:#aaa}.manifesto p:nth-child(3){color:var(--orange)}.built{border-top:1px solid var(--line)}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:minmax(150px,.7fr) 1.6fr;gap:3rem;padding:3rem 0;border-bottom:1px solid var(--line)}.project-index{color:var(--orange);font-variant-numeric:tabular-nums}.project h3{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.045em;margin:0}.project-subtitle{font-size:1.2rem;color:#ddd;margin:.25rem 0 1rem}.project-description{max-width:700px;color:var(--muted)}.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}.tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;color:#bbb}.about{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:clamp(2rem,5vw,6rem);border-top:1px solid var(--line)}.about-copy{color:#d5d0c9;font-size:1.1rem}.about-copy p:first-child{margin-top:0}.resume-panel{border-left:2px solid var(--orange);padding-left:1.5rem;align-self:start;color:var(--muted)}.button{display:inline-block;margin-top:1rem;background:var(--orange);color:#111;text-decoration:none;font-weight:700;padding:.8rem 1rem}.contact{padding:clamp(6rem,14vw,13rem) clamp(1.25rem,6vw,7rem);background:#f0ede7;color:#111}.contact .eyebrow{color:#c54d00}.contact h2{max-width:1100px}.contact-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:3rem}.contact-links a{text-decoration:none;border-bottom:1px solid #111;padding-bottom:.15rem}.contact-links a:hover{color:#c54d00;border-color:#c54d00}footer{max-width:var(--max);margin:auto;padding:2rem clamp(1.25rem,5vw,5.5rem);display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem}footer a{text-decoration:none}.lightbox{width:min(94vw,1400px);height:min(94vh,1000px);border:0;background:#080808;padding:2.5rem;color:white}.lightbox::backdrop{background:rgba(0,0,0,.92)}.lightbox img{width:100%;height:calc(100% - 2rem);object-fit:contain}.lightbox p{text-align:center;color:var(--muted);margin:.6rem}.lightbox-close{position:absolute;right:.6rem;top:.3rem;border:0;background:none;color:white;font-size:2rem;cursor:pointer}
@media(max-width:800px){.menu-toggle{display:block}nav{display:none;position:absolute;top:64px;right:1rem;flex-direction:column;background:#111;border:1px solid var(--line);padding:1rem;min-width:190px}nav.open{display:flex}.hero-shade{background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.15) 85%)}.hero-copy{padding-bottom:4rem}.section-intro,.about,.project{grid-template-columns:1fr}.section-intro .eyebrow{margin-bottom:-.3rem}.about{gap:2rem}.resume-panel{border-left:0;border-top:2px solid var(--orange);padding:1.5rem 0 0}.gallery{columns:2 150px}.photo-meta{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
