:root{--paper:#f3f0e8;--ink:#161615;--muted:#6f6c64;--line:#c9c5bb;--acid:#d7ff43;--pad:clamp(1.25rem,4vw,4rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{z-index:10;width:100%;padding:1.35rem var(--pad);mix-blend-mode:difference;color:#fff;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0}.brand{letter-spacing:-.05em;font-size:1.25rem;font-weight:600}.brand span{color:var(--acid)}nav{text-transform:uppercase;letter-spacing:.08em;gap:2rem;font:400 .72rem monospace;display:flex}nav a{position:relative}nav a:after{content:"";background:currentColor;width:0;height:1px;transition:all .3s;position:absolute;bottom:-.35rem;left:0}nav a:hover:after{width:100%}.menu-button{color:inherit;background:0 0;border:0;display:none}.section{padding-left:var(--pad);padding-right:var(--pad)}.hero{flex-direction:column;min-height:100svh;padding-top:clamp(8rem,15vh,11rem);display:flex}.eyebrow,.section-label,.muted{text-transform:uppercase;letter-spacing:.12em;font:400 .72rem monospace}.hero h1{letter-spacing:-.075em;margin:clamp(2rem,6vh,5rem) 0;font-size:clamp(3.5rem,9.4vw,9rem);font-weight:500;line-height:.89}.hero h1 em{font-family:Georgia,serif;font-weight:400}.hero-bottom{justify-content:space-between;align-items:end;margin-top:auto;padding-bottom:2rem;display:flex}.hero-bottom>p{max-width:38rem;margin:0;font-size:clamp(1.05rem,1.6vw,1.35rem)}.round-link{border:1px solid var(--ink);text-transform:uppercase;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:7.5rem;height:7.5rem;font:400 .7rem monospace;transition:all .25s;display:flex}.round-link:hover{background:var(--ink);color:var(--paper);transform:rotate(-7deg)}.hero-line{background:var(--line);height:1px}.hero-line span{background:var(--ink);width:24%;height:100%;display:block}.intro{grid-template-columns:1fr 3fr;gap:2rem;padding-top:9rem;padding-bottom:10rem;display:grid}.section-label{margin:0}.intro-copy>p{letter-spacing:-.055em;max-width:74rem;margin:0;font-size:clamp(2rem,4.4vw,4.6rem);line-height:1.12}.intro-copy strong{background:linear-gradient(transparent 72%,var(--acid) 0);font-weight:500}.intro-note{border-top:1px solid var(--ink);grid-template-columns:1fr 2fr;gap:1rem;width:min(100%,30rem);margin:5rem 0 0 auto;padding-top:1rem;font-size:.88rem;display:grid}.intro-note span{text-transform:uppercase;font:400 .68rem monospace}.intro-note p{color:var(--muted);margin:0}.work{background:var(--ink);color:var(--paper);padding-top:7rem;padding-bottom:8rem}.section-head{border-bottom:1px solid #444;justify-content:space-between;margin-bottom:3rem;padding-bottom:1.25rem;display:flex}.muted{color:#96938c;margin:0}.work-grid{grid-template-columns:1fr 1fr;gap:5rem 2rem;display:grid}.project:nth-child(2n){margin-top:9rem}.project-image{aspect-ratio:4/3;background:#272725;overflow:hidden}.project-image img{object-fit:cover;filter:saturate(.78);width:100%;height:100%;transition:transform .7s,filter .4s}.project:hover img{filter:saturate();transform:scale(1.025)}.project-meta{border-top:1px solid #444;grid-template-columns:1fr auto;gap:.15rem 1rem;margin-top:1rem;padding-top:1rem;display:grid}.project-meta h2{margin:0;font-size:1.25rem}.project-meta p,.project-meta span{text-transform:uppercase;color:#96938c;margin:0;font:400 .68rem monospace}.project-meta span{grid-area:1/2/3;align-self:center}.archive-note{color:#aaa79f;max-width:50rem;margin:8rem 0 0 auto;font-size:clamp(1.3rem,2vw,1.8rem)}.approach{padding-top:9rem;padding-bottom:10rem}.approach-grid{grid-template-columns:1fr 1.35fr;gap:6rem;margin-top:6rem;display:grid}.approach h2{letter-spacing:-.07em;margin:0;font-size:clamp(3rem,6vw,6.5rem);font-weight:500;line-height:.95}.approach ol{margin:0;padding:0;list-style:none}.approach li{border-top:1px solid var(--line);grid-template-columns:4rem 1fr;gap:1rem;padding:1.5rem 0 3rem;display:grid}.approach li>span{font:400 .7rem monospace}.approach h3{margin:0 0 .65rem;font-size:1.45rem}.approach li p{color:var(--muted);max-width:30rem;margin:0}.contact{background:var(--acid);flex-direction:column;min-height:86svh;padding-top:6rem;display:flex}.contact-main{margin:auto 0}.contact-main p{text-transform:uppercase;letter-spacing:.1em;font:400 .75rem monospace}.contact-main a{letter-spacing:-.08em;border-bottom:clamp(4px,.6vw,9px) solid var(--ink);justify-content:space-between;align-items:center;font-size:clamp(4rem,13vw,12rem);line-height:1;display:flex}.contact-main a span{font-size:.5em}.contact footer{text-transform:uppercase;border-top:1px solid #00000059;grid-template-columns:1fr 1fr auto;gap:2rem;padding:1.5rem 0 2rem;font:400 .7rem monospace;display:grid}.contact footer p{margin:0}.contact footer span{color:#525344}.footer-note{text-align:center}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}@media (width<=760px){.site-header{mix-blend-mode:normal;color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3f0e8e6}.menu-button{text-transform:uppercase;font:400 .7rem DM Mono,monospace;display:block}nav{width:100%;padding:1.5rem var(--pad);background:var(--paper);color:var(--ink);border-top:1px solid var(--line);flex-direction:column;display:none;position:absolute;top:100%;left:0}nav.open{display:flex}.hero{min-height:auto;padding-top:7rem;padding-bottom:3.5rem}.hero .eyebrow{font-size:.62rem}.hero h1{letter-spacing:-.045em;overflow-wrap:break-word;margin:1.5rem 0 2.5rem;font-size:clamp(1.85rem,9.2vw,4.4rem);line-height:1}.hero h1 em{letter-spacing:-.04em;font-size:1em}.hero-bottom{flex-direction:column;align-items:stretch;gap:1.5rem;padding-bottom:0}.hero-bottom>p{max-width:none;font-size:1rem}.round-link{flex:0 0 5.25rem;align-self:flex-end;width:5.25rem;height:5.25rem}.intro{grid-template-columns:1fr;padding-top:6rem;padding-bottom:7rem}.intro-copy>p{margin-top:3rem}.intro-note{grid-template-columns:1fr;margin-top:4rem}.work{padding-top:5rem}.work-grid{grid-template-columns:1fr;gap:4rem}.project:nth-child(2n){margin-top:0}.archive-note{margin-top:5rem}.approach{padding-top:6rem;padding-bottom:7rem}.approach-grid{grid-template-columns:1fr;gap:4rem;margin-top:3rem}.contact{min-height:75svh}.contact footer{grid-template-columns:1fr auto}.footer-note{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.focus-grid{border-top:1px solid #444;grid-template-columns:repeat(3,1fr);display:grid}.focus-card{border-right:1px solid #444;flex-direction:column;min-height:27rem;padding:1.5rem 2rem 2rem 0;display:flex}.focus-card+.focus-card{padding-left:2rem}.focus-card:last-child{border-right:0}.focus-card>span{color:#96938c;font:400 .68rem DM Mono,monospace}.focus-card h2{letter-spacing:-.05em;margin:auto 0 1.5rem;font-size:clamp(1.8rem,3vw,3.2rem);font-weight:500;line-height:1.05}.focus-card p{color:#aaa79f;max-width:24rem;margin:0}.archive-note strong{color:var(--paper);font-weight:500}.skills{padding-top:8rem;padding-bottom:3rem}.skills .section-head{border-color:var(--line)}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr auto;align-items:center;gap:2rem;padding:1.8rem 0;display:grid}.skill-row h3{margin:0;font-size:1.25rem}.skill-row p{color:var(--muted);margin:0}.skill-row span{font-size:1.25rem}@media (width<=760px){.focus-grid{grid-template-columns:1fr}.focus-card,.focus-card+.focus-card{border-bottom:1px solid #444;border-right:0;min-height:20rem;padding:1.5rem 0}.skills{padding-top:6rem}.skill-row{grid-template-columns:1fr auto;gap:.5rem}.skill-row p{grid-column:1/3}}.brand{letter-spacing:-.04em;font-size:1.08rem}.hero h1{letter-spacing:-.085em;font-family:Arial Black,Arial,sans-serif;font-weight:900;line-height:.86}.hero h1 em{letter-spacing:-.065em;font-family:Georgia,serif;font-size:1.08em;font-weight:400;display:inline-block}.intro-copy>p{letter-spacing:-.045em;font-family:Georgia,serif;line-height:1.08}.intro-copy strong{letter-spacing:-.065em;font-family:Arial,sans-serif;font-weight:600}.approach h2{letter-spacing:-.065em;font-family:Georgia,serif;font-style:italic;font-weight:400;line-height:.93}.contact-main a{letter-spacing:-.095em;font-family:Arial Black,Arial,sans-serif;font-weight:900}.brand{isolation:isolate;white-space:pre;min-width:6.1rem;font-family:monospace;position:relative}.brand-text{display:inline-block}.brand-dot{color:var(--acid)}.brand.is-matrix:before,.brand.is-matrix:after{content:attr(data-logo-text);z-index:-1;white-space:nowrap;opacity:.55;position:absolute;inset:0;overflow:hidden}.brand.is-matrix:before{color:#00ff41;clip-path:inset(0 0 48%);transform:translate(2px,-1px)}.brand.is-matrix:after{color:#c4ffca;clip-path:inset(52% 0 0);transform:translate(-2px,1px)}@keyframes matrix-glitch{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.brand.is-matrix{color:inherit;text-shadow:none;animation:none}.brand.is-matrix:before,.brand.is-matrix:after{display:none}}.brand,.brand.is-matrix{color:var(--ink);text-shadow:none;animation:none}.brand.is-matrix:before,.brand.is-matrix:after{color:var(--ink);opacity:.16;transform:none}.brand.is-matrix:before{transform:translate(.5px)}.brand.is-matrix:after{transform:translate(-.5px)}.site-header{mix-blend-mode:normal;color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.brand{color:var(--ink);text-shadow:none}.brand.is-matrix{color:#00a52d;text-shadow:0 0 4px #00a52d99,0 0 10px #00a52d40;animation:.18s steps(2,end) infinite matrix-glitch-soft}.brand.is-matrix:before{color:#071d0d;opacity:.3;transform:translate(.5px,-.25px)}.brand.is-matrix:after{color:#00d13b;opacity:.32;transform:translate(-.5px,.25px)}@keyframes matrix-glitch-soft{0%,to{transform:translate(0)}50%{transform:translate(.4px,-.25px)}}.site-header.is-over-dark,.site-header.is-over-dark .brand{color:var(--paper)}.site-header.is-over-dark .brand-dot{color:var(--acid)}.brand.is-matrix{color:var(--ink);text-shadow:none}.brand.is-matrix .brand-dot{color:var(--ink)}.brand.is-matrix:before{color:#00a52d;opacity:.12}.brand.is-matrix:after{color:#00d13b;opacity:.18}.site-header.is-over-dark .brand.is-matrix{color:var(--paper);text-shadow:none}.site-header.is-over-dark .brand.is-matrix .brand-dot{color:var(--acid)}.site-header.is-over-dark .brand.is-matrix:before{color:#00a52d;opacity:.26}.site-header.is-over-dark .brand.is-matrix:after{color:#38ff70;opacity:.32}.brand .brand-text,.brand .brand-dot,.brand.is-matrix .brand-text,.brand.is-matrix .brand-dot,.site-header.is-over-dark .brand .brand-dot{color:inherit}.site-header.is-over-dark .brand,.site-header.is-over-dark .brand.is-matrix{color:#25e058}.site-header.is-over-dark .brand .brand-text,.site-header.is-over-dark .brand .brand-dot{color:inherit}.contact-trigger{width:100%;color:inherit;border:0;border-bottom:clamp(4px,.6vw,9px) solid var(--ink);letter-spacing:-.095em;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:0;font-family:Arial Black,Arial,sans-serif;font-size:clamp(3.2rem,11vw,10rem);font-weight:900;line-height:1;display:flex}.contact-trigger span{font-size:.5em}.contact-dialog{background:var(--paper);width:min(72rem,100% - 2rem);max-height:calc(100svh - 2rem);color:var(--ink);border:0;border-radius:0;padding:clamp(1.5rem,4vw,4rem)}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ac2}.dialog-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:start;margin-bottom:3rem;padding-bottom:2rem;display:flex}.dialog-head h2{letter-spacing:-.06em;margin:1.5rem 0 0;font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);font-style:italic;font-weight:400;line-height:.9}.dialog-close{border:0;border-bottom:1px solid var(--ink);text-transform:uppercase;cursor:pointer;background:0 0;padding:.6rem 0;font:400 .7rem monospace}.contact-form{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.contact-form label{flex-direction:column;gap:.65rem;display:flex}.contact-form label>span{text-transform:uppercase;letter-spacing:.1em;font:400 .68rem monospace}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);resize:vertical;background:0 0;border-radius:0;outline:none;padding:.7rem 0;font:400 1.1rem Arial,sans-serif}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.contact-form .full{grid-column:1/-1}.form-submit{color:var(--ink);border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;padding:1.2rem 0;font-size:1.3rem;display:flex}.form-error{color:#a32121;margin:0}.form-success{flex-direction:column;justify-content:center;min-height:18rem;display:flex}.form-success span{text-transform:uppercase;font:400 .7rem monospace}.form-success p{margin:1rem 0 0;font-family:Georgia,serif;font-size:clamp(2rem,5vw,5rem);line-height:1.05}@media (width<=760px){.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form .full{grid-column:1}.contact-dialog{padding:1.5rem}.dialog-head{margin-bottom:2rem}.contact-trigger{font-size:clamp(2.8rem,15vw,5rem)}}.field-error{text-transform:none;letter-spacing:.03em;color:#a32121;font:400 .66rem monospace}.field-error:empty{display:none}.contact-form input.is-invalid,.contact-form textarea.is-invalid{border-color:#a32121}.form-error[hidden]{display:none}.form-submit[disabled],.form-submit.is-sending{opacity:.5;cursor:progress}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-legal{letter-spacing:.02em;color:var(--muted);margin:.4rem 0 0;font:400 .62rem monospace}.form-legal a{text-decoration:underline}.grecaptcha-badge{visibility:hidden}
