@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=Space+Mono:wght@400;700&display=swap');
:root{--bg:#f8faff;--panel:#edf3fc;--ink:#091a35;--muted:#53657e;--line:#d4dfef;--accent:#1759df;--teal:#00bcb7;--mono:'Space Mono',monospace;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{color:var(--bg);background:var(--accent)}.wrap{width:calc(100% - 112px);max-width:1480px;margin:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;padding:16px;background:var(--accent);color:#111}.skip-link:focus{top:20px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:29px;letter-spacing:-1.4px;font-weight:800}.brand-light{font-weight:450}.brand-period{color:var(--accent)}nav{display:flex;align-items:center;gap:40px}nav a{font-size:14px;font-weight:550}nav a span{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:7px}.nav-github{border:1px solid #676c58;border-radius:6px;padding:12px 17px}nav a:hover,.text-link:hover{color:var(--accent)}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;padding-top:76px;min-height:742px}.eyebrow,.section-note,.art-coordinate,.hero-bottom,.project-index,.project-meta,.lab-signature,footer>span,footer>a:last-child{font-family:var(--mono);font-size:12px;letter-spacing:1px;font-weight:400}.eyebrow{display:flex;align-items:center;gap:10px}.crosshair{color:var(--accent);font-size:25px;line-height:1}.hero h1{font-size:clamp(64px,7.3vw,112px);line-height:1.025;letter-spacing:-6px;font-weight:550;margin:28px 0 24px}.hero h1 em{color:var(--accent);font-style:normal}p{line-height:1.65}.hero-copy>p{color:var(--muted);font-size:17px;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;border-radius:5px;padding:17px 21px;font-size:15px;font-weight:650;transition:background .2s,transform .2s}.button-primary{background:var(--accent);color:#111310}.button:hover{background:#e3ff84;transform:translateY(-3px)}.button span{font-size:23px;line-height:1}.hero-art{position:relative;min-width:0;display:flex;align-items:center;align-self:stretch;margin-top:-15px;margin-bottom:76px}.sculpture{width:115%;height:auto;max-height:540px;object-fit:contain;mix-blend-mode:lighten;position:relative;left:-7%;filter:contrast(1.05);animation:arrive 1.1s ease-out both}.art-coordinate{position:absolute;color:#909786;z-index:1;font-size:10px}.top-coordinate{top:8px;right:0}.bottom-coordinate{bottom:4px;left:12px;right:0;display:flex;justify-content:space-between}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;color:var(--muted);padding:32px 0;font-size:10px;letter-spacing:1.3px}.hero-bottom a span{margin-left:18px;color:var(--accent);font-size:17px}.work-section{padding-top:100px;padding-bottom:92px}.section-top{display:flex;justify-content:space-between;align-items:center}.section-top .eyebrow,.lab-section .eyebrow,.elsewhere>.eyebrow{color:var(--accent)}.section-note{font-size:10px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:30px 0 42px}h2{font-size:clamp(40px,4.6vw,68px);font-weight:500;letter-spacing:-3px;line-height:1.08;margin:0}h2 span{color:var(--muted)}.section-heading p{color:var(--muted);margin:0 0 5px;font-size:15px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-card{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--line);padding-top:16px;margin-bottom:20px}.project-visual{height:255px;position:relative;overflow:hidden;background:#23271c;display:flex;align-items:center;justify-content:center;border-radius:7px;transition:background .3s}.project-card:nth-child(4n+2) .project-visual{background:#202722}.project-card:nth-child(4n+3) .project-visual{background:#282622}.project-card:nth-child(4n+4) .project-visual{background:#23232b}.project-visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(transparent,#000)}.project-glyph{font-size:94px;font-family:var(--mono);font-weight:700;letter-spacing:-8px;color:var(--accent);transition:transform .4s}.project-card:nth-child(4n+2) .project-glyph{color:#a9cbb2}.project-card:nth-child(4n+3) .project-glyph{color:#ddd1b4}.project-card:nth-child(4n+4) .project-glyph{color:#b8b1dc}.project-visual:hover .project-glyph{transform:scale(1.07) rotate(-3deg)}.project-index{position:absolute;top:18px;left:20px;color:var(--muted);font-size:11px}.project-category{position:absolute;bottom:17px;left:20px;font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--muted)}.project-arrow{position:absolute;right:18px;top:16px;width:34px;height:34px;border:1px solid #ffffff25;border-radius:50%;display:grid;place-items:center;font-size:21px;transition:background .2s,color .2s}.project-visual:hover .project-arrow{background:var(--accent);color:#111}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.project-title-row h3{margin:0;font-size:25px;font-weight:500;letter-spacing:-.7px;overflow-wrap:anywhere}.project-meta{font-size:10px;color:var(--muted);white-space:nowrap}.project-card p{font-size:15px;color:var(--muted);margin:10px 0 12px;max-width:95%}.project-actions{display:flex;gap:22px;margin-top:auto;padding-top:5px}.project-actions a{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:4px}.project-actions a:hover{color:var(--accent);border-color:var(--accent)}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:19px 0;font-size:16px;margin-top:25px}.text-link span{font-size:24px}.lab-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#191c16;padding:80px 0}.lab-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.lab-section h2{margin-top:35px;font-size:clamp(40px,4.3vw,62px)}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);letter-spacing:-2px}.lab-copy{padding-top:35px}.lab-copy .large-copy{font-size:25px;color:var(--ink);line-height:1.45;margin:0 0 22px;letter-spacing:-.5px}.lab-copy>p{color:var(--muted);font-size:16px}.lab-signature{display:flex;gap:18px;align-items:center;font-size:10px;line-height:1.8;margin-top:34px;color:var(--muted)}.elsewhere{padding-top:80px;padding-bottom:85px}.elsewhere-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-top:35px}.external-links a{display:flex;gap:24px;padding:23px 0;border-bottom:1px solid var(--line);font-size:22px;align-items:center}.external-links a:first-child{border-top:1px solid var(--line)}.external-links a>span{flex:1}.external-links a small{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0;margin-top:6px}.external-links a:hover{color:var(--accent)}.external-links svg{width:24px;height:24px}.setup-note{padding:24px;border:1px solid var(--line);font-size:15px;color:var(--muted);line-height:1.6}.setup-note strong{display:block;color:var(--ink);font-weight:500;margin-bottom:6px}footer{border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{font-size:22px}footer>span,footer>a:last-child{font-size:9px;color:var(--muted);letter-spacing:.5px}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero{min-height:830px}.hero-art{margin-bottom:40px}.sculpture{max-height:630px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{min-height:650px;padding-top:65px}.hero h1{font-size:80px;letter-spacing:-4px}.hero-art{margin-bottom:65px}.section-heading p{font-size:14px}.lab-grid,.elsewhere-heading{gap:45px}.project-visual{height:220px}.section-note{display:none}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:84px}.brand{font-size:24px;gap:8px}.brand img{width:30px;height:30px}nav{gap:21px}nav a{font-size:13px}nav a span{display:none}.nav-github{display:none}.hero{display:flex;flex-direction:column;padding-top:40px;min-height:0}.eyebrow{font-size:10px;letter-spacing:.7px}.hero h1{font-size:clamp(58px,13vw,88px);letter-spacing:-3px;margin-top:25px}.hero-copy>p{font-size:16px}.hero-art{height:310px;margin:28px 0 0}.sculpture{width:100%;height:100%;left:0;object-fit:contain}.top-coordinate{top:6px}.bottom-coordinate{bottom:0;left:0;font-size:8px}.hero-bottom{padding:28px 0;font-size:8px;gap:12px}.hero-bottom a span{margin-left:6px}.work-section{padding-top:64px;padding-bottom:50px}.section-heading{display:block;margin-top:25px;margin-bottom:28px}h2{font-size:44px;letter-spacing:-2px}.section-heading p{margin-top:23px;font-size:15px}.project-grid{grid-template-columns:1fr;gap:12px}.project-visual{height:240px}.project-title-row h3{font-size:24px}.project-meta{font-size:10px}.lab-section{padding:52px 0}.lab-grid,.elsewhere-heading{grid-template-columns:1fr;gap:28px}.lab-section h2{margin-top:25px;font-size:44px}.lab-copy{padding-top:0}.lab-copy .large-copy{font-size:23px}.elsewhere{padding-top:52px;padding-bottom:55px}.elsewhere-heading{margin-top:25px}.external-links a{font-size:21px}footer{flex-wrap:wrap;padding:25px 0;gap:20px}footer>span{order:3;width:100%;font-size:8px}footer>a:last-child{margin-left:auto;font-size:9px}}
body{overflow-x:clip;background:radial-gradient(ellipse at 85% 6%,#e2f5fa 0,transparent 35%),var(--bg)}.project-meta{white-space:normal;text-align:right}.sculpture{border-radius:12px;mix-blend-mode:multiply;filter:none;width:100%;left:0;max-height:600px}.brand-symbol{position:relative;display:block;overflow:hidden;width:42px;height:36px;flex-shrink:0}.brand-symbol img{position:absolute;width:78px;height:78px;max-width:none;left:-18px;top:-17px;mix-blend-mode:multiply}.brand-light{font-weight:700}.brand-period{display:none}.button-primary{background:linear-gradient(115deg,#164ee5,#087bac);color:white;box-shadow:0 7px 22px #1759df21}.button:hover{background:#1349bc;color:white}.nav-github{border-color:#c3d3ec;background:#ffffff80}.hero h1 em{background:linear-gradient(105deg,#194be9,#00877f);background-clip:text;-webkit-background-clip:text;color:transparent}.art-coordinate{color:#526888}.hero-art{margin-left:15px}.project-visual{background:#e8effc!important;border:1px solid #d4e1f5}.project-card:nth-child(4n+2) .project-visual{background:#e4f4f5!important}.project-card:nth-child(4n+3) .project-visual{background:#e7edf7!important}.project-card:nth-child(4n+4) .project-visual{background:#e1f0fa!important}.project-visual:before{background-image:linear-gradient(#1437780a 1px,transparent 1px),linear-gradient(90deg,#1437780a 1px,transparent 1px)}.project-glyph{color:#1759df!important}.project-card:nth-child(even) .project-glyph{color:#007f91!important}.project-arrow{border-color:#adc4e3}.project-visual:hover .project-arrow{color:white}.lab-section{background:#0a1d39;color:#eff6ff;border:none;position:relative}.lab-section .eyebrow,.lab-section h2 em{color:#39d9d0}.lab-copy .large-copy{color:#f5f8ff}.lab-copy>p,.lab-signature{color:#aebfd6}.signature-mark{font-size:26px;color:#39d9d0;letter-spacing:-2px}.external-links a:hover,.text-link:hover{color:#1759df}.hero-bottom a span{color:#1759df}.skip-link{color:white}.hero h1{font-weight:600}.project-title-row h3{font-weight:600}
@media(max-width:700px){.brand-symbol{width:31px;height:30px}.brand-symbol img{width:62px;height:62px;left:-14px;top:-13px}.hero-art{height:340px;margin-left:0}.sculpture{max-width:400px;margin:auto}.brand{font-size:22px}.hero h1{font-size:clamp(54px,12.8vw,86px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.error-page{padding-top:18vh}.error-page h1{font-size:clamp(48px,8vw,110px);line-height:1.05;letter-spacing:-3px}.error-page p{color:var(--muted);margin-bottom:30px}
.brand-symbol{height:32px}.eyebrow,.section-note,.art-coordinate,.hero-bottom,.project-index,.project-meta,.project-category,.lab-signature,footer>span,footer>a:last-child,.external-links a small{font-size:12px}.section-heading p,.project-card p{font-size:16px}.project-actions a{font-size:14px}.hero-bottom{gap:16px}.lab-signature{letter-spacing:.6px}.top-coordinate{font-size:11px}.project-glyph{user-select:none}.project-visual:focus-visible .project-arrow{background:var(--accent);color:#fff}
@media(max-width:700px){.brand-symbol{height:24px}.hero-bottom{flex-wrap:wrap;line-height:1.7}.eyebrow{font-size:11px}.art-coordinate{font-size:10px}.hero-bottom{font-size:10px}.project-meta{font-size:11px}nav a{font-size:14px}footer>span{font-size:10px}footer>a:last-child{font-size:10px}}
@media(max-width:380px){.brand{font-size:20px;letter-spacing:-1px}nav{gap:12px}.brand-symbol{display:none}}
.brand{letter-spacing:-.6px}.brand-light{margin-left:3px}
