@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;550;600;700;800&display=swap');
/* Small instrument-like details complement the large typography. */
.binary,nav sup,#diagram-label{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.09em}
.project .binary{min-width:32px;opacity:.7}.project.active .binary{color:#d1f56b;opacity:1}
.project-list .project{position:relative}.project-list .project:before{content:'';position:absolute;left:0;top:25%;height:50%;width:2px;background:#d1f56b;transform:scaleY(0);transition:transform .3s}.project-list .project.active:before{transform:scaleY(1)}
.lab{box-shadow:0 18px 50px -32px #101c1860;position:relative}.field:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 30%,#161b1840 100%)}
.lab .lab-top{border-bottom:1px solid #ffffff0b}.project-detail{animation:detail-in .4s ease both}
@keyframes detail-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
.contact{position:relative;overflow:hidden}.contact:before{content:'01000010 01000011';position:absolute;right:30px;top:50%;font-family:ui-monospace,monospace;font-size:clamp(30px,6vw,90px);letter-spacing:.05em;opacity:.055;transform:rotate(-15deg);pointer-events:none}.contact>*{position:relative}
@media(prefers-reduced-motion:reduce){.project-detail{animation:none!important}}
:root{--bg:#e8e9e2;--ink:#1b211e;--muted:#60665e;--line:#bfc3b8;--acid:#d1f56b;--dark:#161b18;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #648519;outline-offset:6px}::selection{background:var(--acid);color:var(--ink)}.skip{position:absolute;top:-100px;background:var(--acid);padding:15px;z-index:10}.skip:focus{top:10px}header,main,footer{max-width:1600px;margin:auto}header{padding:27px 5%;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.wordmark{font-size:36px;letter-spacing:-4px;font-weight:800;line-height:1}.wordmark span{font-size:20px;vertical-align:top;margin-left:5px;letter-spacing:0}.header-name{font-size:11px;line-height:1.7}.header-name span{color:var(--muted)}nav{margin-left:auto;display:flex;gap:37px;align-items:center;font-size:12px}nav sup{font-size:8px;margin-left:3px;color:var(--muted)}nav a:hover,footer a:hover{color:#637e2e}.label{font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}.hero{padding:38px 5% 63px;overflow:hidden}.hero-top{display:flex;justify-content:space-between}.hero h1{font-size:clamp(100px,15.6vw,235px);font-weight:550;line-height:.88;letter-spacing:-.085em;margin:44px 0 42px}.surname{display:block;margin-left:22%}.period{color:#7e9258}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.hero-bottom>p{font-size:24px;line-height:1.35;margin:0;letter-spacing:-.8px}.hero-bottom>div{max-width:390px;margin-left:15%}.hero-bottom>div p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 20px}.underlink{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px;display:inline-flex;gap:40px}.underlink:hover span{transform:translate(3px,-3px)}.underlink span{transition:transform .2s}.lab{margin:0 5%;background:var(--dark);color:var(--bg);border-radius:3px;overflow:hidden}.lab-top,.lab-bottom{padding:21px 25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.lab-top h2{margin:0;font-weight:500;display:flex;align-items:center;gap:10px}.status-dot{width:5px;height:5px;background:var(--acid);border-radius:50%;display:inline-block}.lab-controls{display:flex;gap:18px}.lab button{background:none;border:0;color:#b9c7b5;padding:6px 0;font-size:10px}.lab button:hover{color:var(--acid)}.field{height:360px;position:relative;background-image:radial-gradient(#3b4238 .7px,transparent .7px);background-size:22px 22px}canvas{display:block;width:100%;height:100%;touch-action:pan-y}.field-caption{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:9px;color:#a8b5a3;pointer-events:none}.field-caption span:first-child{color:var(--acid)}.lab-bottom{border-top:1px solid #354033;font-size:9px;color:#9aab94}.lab-bottom>span:last-child{color:var(--acid);letter-spacing:4px}.section{padding:70px 5%}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px}.section-heading h2{font-size:27px;font-weight:500;letter-spacing:-1px;margin:0}.section-heading .label{color:var(--muted)}.work-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px}.project-list{border-top:1px solid var(--line)}.project{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);display:flex;gap:24px;align-items:center;text-align:left;padding:26px 18px;transition:background .2s,color .2s}.project>span:first-child{font-size:10px}.project strong{font-size:17px;font-weight:500;letter-spacing:-.5px}.project-arrow{margin-left:auto;transition:transform .2s}.project.active{background:var(--ink);color:var(--bg)}.project.active .project-arrow{color:var(--acid);transform:rotate(45deg)}.project:not(.active):hover{background:#dde1d3;color:var(--ink)}.project-detail{padding:14px 0;min-width:0}.project-detail>.label{color:var(--muted)}.project-detail h3{font-size:31px;font-weight:500;letter-spacing:-1.3px;margin:22px 0 18px;line-height:1.15}.project-detail p{font-size:13px;line-height:1.85;color:var(--muted);max-width:420px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.tags span{font-size:9px;border:1px solid var(--line);border-radius:20px;padding:6px 10px}.project-detail .detail-note{font-size:9px;margin-top:23px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.about h2{font-size:clamp(45px,5.5vw,82px);line-height:1.03;letter-spacing:-4px;font-weight:500;margin:26px 0}.about-copy>p{font-size:17px;line-height:1.75;letter-spacing:-.35px;margin:0 0 20px}.about-copy>p+p{font-size:13px;color:var(--muted);letter-spacing:0}.about-copy>.underlink{margin-bottom:33px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{padding:18px 0;list-style:none;cursor:pointer;font-size:12px;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{transition:transform .2s;font-size:17px}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;line-height:2;color:var(--muted);margin:0 0 20px}.contact{background:var(--acid);margin:0 5%;padding:32px 35px 27px}.contact-top{display:flex;justify-content:space-between;gap:20px}.contact-title{display:flex;justify-content:space-between;align-items:center;font-size:clamp(60px,10vw,150px);letter-spacing:-.075em;line-height:1.3;padding:35px 0}.contact-title span{font-weight:400;transition:transform .25s}.contact-title:hover span{transform:translate(7px,-7px)}.contact-bottom{display:flex;gap:22px;align-items:center;border-top:1px solid #a7c94c;padding-top:20px;font-size:12px}.contact-bottom button{border:0;background:none;font-size:10px;color:var(--ink);padding:5px}.contact-bottom button:hover{text-decoration:underline}#copy-status{font-size:10px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 5%;font-size:10px;color:var(--muted)}footer div{display:flex;gap:24px}
@media(max-width:760px){header{padding:22px 6%;gap:20px}.header-name{font-size:9px}nav{gap:15px;font-size:10px}nav sup{display:none}.wordmark{font-size:31px}.hero{padding:28px 6% 36px}.hero-top .location{display:none}.label{font-size:8px}.hero h1{font-size:19.5vw;letter-spacing:-.085em;margin:35px 0;line-height:.98}.surname{margin-left:6%}.hero-bottom{grid-template-columns:1fr;gap:20px}.hero-bottom>p{font-size:23px}.hero-bottom>div{margin-left:0;max-width:330px}.hero-bottom>div p{font-size:12px}.lab{margin:0 6%}.lab-top{align-items:start;flex-direction:column;padding:18px}.lab-controls{gap:25px}.lab button{font-size:9px}.field{height:300px}.field-caption{left:18px;right:18px;font-size:8px}.field-caption span:last-child{display:none}.lab-bottom{padding:15px 18px;font-size:8px}.lab-bottom>span:last-child{display:none}.section{padding:43px 6%}.section-heading{margin-bottom:23px}.section-heading h2{font-size:24px}.work-grid{grid-template-columns:1fr;gap:24px}.project{padding:20px 13px;gap:15px}.project strong{font-size:15px}.project-detail{min-height:275px}.project-detail h3{font-size:30px;margin:18px 0}.about{grid-template-columns:1fr;gap:15px}.about h2{letter-spacing:-2px;font-size:53px;margin:18px 0}.about-copy>p{font-size:16px}.contact{margin:0 6%;padding:22px}.contact-top>span:last-child{display:none}.contact-title{font-size:17vw;padding:24px 0}.contact-bottom{gap:12px;flex-wrap:wrap;font-size:11px}footer{padding:25px 6%;flex-wrap:wrap;font-size:9px}footer div{gap:18px}}@media(max-width:370px){.header-name{display:none}nav{gap:20px}.contact-bottom{gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
