@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;--bg:#20231e;--panel:#292d26;--panel2:#30352b;--text:#e1e2d8;--muted:#aeb2a3;--olive:#788365;--sage:#a0a78d;--lime:#b9c58a;--orange:#d69a78;--line:#41463a;--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif}:root[data-theme=light]{color-scheme:light;--bg:#efefe7;--panel:#f7f7f0;--panel2:#e6e8dc;--text:#34382f;--muted:#707667;--olive:#788365;--sage:#7d8769;--lime:#788b4f;--orange:#b97858;--line:#d7dacd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;line-height:1.65;transition:background-color .2s,color .2s}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1160px;height:76px;margin:auto;padding:0 28px;display:flex}.wordmark{font:800 25px var(--display);letter-spacing:-2px}.theme-toggle{border:1px solid var(--line);background:var(--panel);color:var(--text);font:11px var(--mono);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:7px;padding:7px 10px;transition:background .2s,border-color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--sage)}.theme-toggle-icon{color:var(--lime);font-size:14px;line-height:1}.wordmark span,.accent{color:var(--lime)}nav{gap:30px;display:flex}nav a,.text-link,.back-link{color:var(--muted);font-size:13px;transition:color .2s}nav a:hover,.text-link:hover,.back-link:hover{color:var(--lime)}main{max-width:1160px;margin:auto;padding:0 28px}.hero{max-width:900px;padding:112px 0 65px}.eyebrow{font:11px var(--mono);letter-spacing:1.5px;color:var(--sage);text-transform:uppercase;margin:0 0 15px}.eyebrow-dot{background:var(--lime);border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block;box-shadow:0 0 12px #b9c58a88}.hero h1,.page-intro h1,.detail-header h1{font:800 clamp(42px,7vw,78px)/1.08 var(--display);letter-spacing:-4px;margin:0}.muted{color:#aeb2a3}.hero-copy{max-width:580px;color:var(--muted);margin:25px 0 28px;font-size:17px}.hero-actions{align-items:center;gap:25px;display:flex}.button{border-radius:4px;align-items:center;gap:22px;padding:12px 17px;font-size:13px;font-weight:700;display:inline-flex}.button-primary{background:var(--lime);color:#1a1d15}.button-primary:hover{background:#d0d8ae}.button-outline{border:1px solid var(--line)}.hero-meta{font:10px var(--mono);letter-spacing:1px;color:#aeb2a3;align-items:center;gap:14px;margin-top:65px;display:flex}.hero-meta i{background:var(--orange);border-radius:50%;width:4px;height:4px}.section{padding:45px 0 80px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.section-heading h2,.closing-cta h2{font:700 clamp(30px,4vw,46px)/1.2 var(--display);letter-spacing:-2px;margin:0}.timeline-controls{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 28px 70px;display:flex}.filter-label{font:9px var(--mono);letter-spacing:1px;color:var(--sage);gap:5px;display:grid}.filter-label select{background:var(--panel);border:1px solid var(--line);color:var(--text);font:12px var(--sans);border-radius:4px;min-width:145px;padding:9px 30px 9px 11px}.filter-reset{color:var(--lime);font:11px var(--mono);cursor:pointer;background:0 0;border:0;padding:9px 5px}.timeline{position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:23px}.timeline-item{grid-template-columns:48px 1fr;gap:22px;padding-bottom:27px;display:grid;position:relative}.timeline-item[hidden]{display:none}.timeline-rail{z-index:1;position:relative}.timeline-marker{background:var(--bg);width:47px;height:47px;color:var(--lime);font:11px var(--mono);border:1px solid #555d49;border-radius:50%;place-items:center;display:grid}.project-preview{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:24px 27px}.project-topline{font:11px var(--mono);color:var(--sage);justify-content:space-between;margin-bottom:23px;display:flex}.status{color:var(--lime)}.project-content{grid-template-columns:1fr minmax(180px,34%);gap:25px;display:grid}.project-content h3{font:700 24px var(--display);letter-spacing:-.8px;margin:0 0 10px}.arrow{color:var(--lime);font-size:.8em}.project-summary,.grid-card-body>p:not(.eyebrow){color:var(--muted);max-width:610px;font-size:14px}.tags{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.tags span{font:10px var(--mono);color:#b9bdaf;border:1px solid #4a5042;border-radius:3px;padding:5px 8px}.project-link{color:var(--lime);margin-top:20px;display:inline-block}.project-cover{background:var(--panel2);border-radius:4px;min-height:155px;display:block;overflow:hidden}.project-cover img,.grid-card>img{object-fit:cover;width:100%;height:100%;display:block}.timeline-details{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:12px;font-size:13px}.timeline-details summary{cursor:pointer;color:var(--lime);font:11px var(--mono);justify-content:space-between;list-style:none;display:flex}.timeline-details summary::-webkit-details-marker{display:none}.timeline-details p{max-width:650px}.no-results{color:var(--muted);margin-left:70px;font-size:14px}.closing-cta{background:var(--panel);border:1px solid var(--line);border-radius:7px;margin:35px 0 100px;padding:55px}.closing-cta h2{margin:0 0 25px}.page-intro{max-width:750px;padding:90px 0 55px}.page-intro>p:last-child{color:var(--muted);max-width:650px;font-size:17px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:90px;display:grid}.grid-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;transition:transform .2s,border-color .2s;overflow:hidden}.grid-card:hover{border-color:var(--sage);transform:translateY(-3px)}.grid-card>img,.image-placeholder{object-fit:cover;width:100%;height:210px}.image-placeholder{color:var(--sage);font:11px var(--mono);background:linear-gradient(135deg,#414a38,#292d26);align-items:end;padding:20px;display:flex}.grid-card-body{padding:22px}.grid-card-body h2{font:700 22px var(--display);margin:0}.detail-page{max-width:850px;margin:auto;padding:55px 0 100px}.back-link{margin-bottom:45px;display:inline-block}.detail-header h1{font-size:clamp(38px,6vw,64px)}.detail-summary{color:var(--muted);max-width:700px;font-size:18px}.detail-cover{object-fit:cover;border-radius:6px;width:100%;max-height:470px;margin:35px 0}.prose{color:#c6c9bc;max-width:720px;margin:45px auto 0}.prose h2{font:700 25px var(--display);color:var(--text);margin:42px 0 12px}.prose h3{color:var(--text);font:600 18px var(--display)}.prose p,.prose li{font-size:15px}.prose a{color:var(--lime);text-decoration:underline}.prose img{border-radius:5px;max-width:100%}.viewer-section{margin:45px 0 55px}.viewer-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px;display:flex}.viewer-heading h2{font:700 30px var(--display);letter-spacing:-1px;margin:0}.viewer-hint{font:9px var(--mono);color:var(--sage);letter-spacing:.8px}.viewer-shell{border:1px solid var(--line);background:radial-gradient(#343c30,#242920 70%);border-radius:8px;overflow:hidden}.viewer-shell model-viewer{--poster-color:transparent;background:0 0;width:100%;height:470px}.viewer-poster{height:100%;color:var(--muted);font:12px var(--mono);place-items:center;display:grid}.viewer-ar-button{background:var(--lime);color:#20231e;font:600 11px var(--sans);border:0;border-radius:4px;padding:9px 12px;position:absolute;bottom:16px;right:16px}.viewer-controls-note{color:var(--muted);font:10px var(--mono);border-top:1px solid #4a5042;flex-wrap:wrap;gap:20px;padding:12px 17px;display:flex}.viewer-caption{color:var(--sage);font-size:11px}.viewer-caption code{color:var(--lime)}.about-layout{grid-template-columns:1fr 270px;gap:75px;padding:10px 0 110px;display:grid}.about-main h2,.contact-panel h2{font:700 25px var(--display);margin:22px 0 12px}.about-main p,.about-aside p,.contact-panel p{color:var(--muted)}.interest-list{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.interest-list span{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:9px 12px;font-size:13px}.about-aside,.contact-panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;height:fit-content;padding:25px}.about-aside .text-link{color:var(--lime);margin-top:15px;display:inline-block}.contact-panel{max-width:650px;margin-bottom:110px;padding:35px}.contact-links{color:var(--lime);gap:22px;margin-top:25px;font-size:13px;display:flex}.small-note{margin-top:30px;font-size:11px!important}.site-footer{border-top:1px solid var(--line);color:#929887;max-width:1160px;font:10px var(--mono);letter-spacing:.3px;justify-content:space-between;margin:auto;padding:25px 28px;display:flex}@media (width<=700px){.site-header{align-items:flex-start;gap:18px;height:auto;min-height:70px;padding:15px 20px}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:13px}.site-header nav a{font-size:11px}.theme-toggle{padding:6px 8px;font-size:10px}main{padding:0 20px}.hero{padding:80px 0 55px}.hero h1,.page-intro h1{letter-spacing:-2.5px}.hero-meta{flex-wrap:wrap;margin-top:50px}.section-heading{flex-direction:column;align-items:start;gap:15px}.timeline-controls{margin-left:46px}.timeline-item{grid-template-columns:34px 1fr;gap:12px}.timeline:before{left:16px}.timeline-marker{width:34px;height:34px;font-size:9px}.project-preview{padding:18px}.project-content{grid-template-columns:1fr}.project-cover{order:-1;height:180px}.project-grid{grid-template-columns:1fr}.about-layout{grid-template-columns:1fr;gap:20px}.closing-cta{padding:30px 24px}.site-footer{flex-direction:column;gap:12px;padding:22px 20px}.hero-actions{flex-wrap:wrap}.detail-page{padding-top:35px}.viewer-heading{flex-direction:column;align-items:start}.viewer-shell model-viewer{height:350px}.viewer-controls-note{gap:10px}.no-results{margin-left:46px}}
