.hero{padding:96px 28px 72px;border-bottom:1px solid var(--border)}.hero-inner{max-width:1060px;margin:0 auto}.hero-kicker{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);margin-bottom:26px}.hero-name{font-family:var(--font-serif);font-weight:320;font-size:clamp(52px,11vw,148px);line-height:.96;letter-spacing:-.03em;color:var(--text);margin:0 0 36px}.hero-name span{display:block}.hero-name .indent{margin-left:clamp(24px,9vw,130px);font-style:italic}.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.hero-role{font-size:14px;color:var(--text-2);line-height:1.7;max-width:380px}.hero-role em{font-family:var(--font-serif);font-style:italic;color:var(--text);font-size:15px}.section{max-width:1060px;margin:0 auto;padding:72px 28px}.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:36px}.sec-num{font-family:DM Mono,monospace;font-size:10px;color:var(--text-3);letter-spacing:.1em}.sec-head h2{font-size:26px;color:var(--text);margin:0}.sec-head .rule{flex:1;height:1px;background:var(--border);align-self:center}.work-index{display:flex;flex-wrap:wrap;gap:4px 22px;margin-bottom:28px}.cat-tag{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);background:none;border:none;padding:0 0 3px;border-bottom:1px solid transparent;cursor:pointer;transition:color .2s,border-color .2s;user-select:none}.cat-tag:hover{color:var(--text)}.cat-tag.active{color:var(--text);border-bottom-color:var(--accent)}.cat-tag.disabled{opacity:.45;cursor:default;pointer-events:none}.grid{columns:3 260px;column-gap:14px}.grid-item{break-inside:avoid;margin-bottom:14px;position:relative;overflow:hidden;cursor:pointer;background:var(--surface-dim);opacity:0;animation:scale-in .6s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d, 0s)}.grid-item img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}.grid-item:hover img{transform:scale(1.04)}.grid-overlay{position:absolute;inset:0;background:linear-gradient(to top,#12100e99,#12100e00 45%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:12px}.grid-item:hover .grid-overlay{opacity:1}.grid-overlay span{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#fffdf7e6}.placeholder-cell{break-inside:avoid;margin-bottom:14px;aspect-ratio:4/3;background:var(--surface-dim);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.placeholder-cell span{font-family:DM Mono,monospace;font-size:9px;color:var(--text-3)}.port-count{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--text-3);margin-top:18px}.folder-tabs{display:flex;gap:6px;position:relative;z-index:2;margin-bottom:-1px;padding-left:14px}.folder-tab{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);background:var(--surface-dim);border:1px solid var(--border);border-bottom:none;border-radius:4px 4px 0 0;padding:10px 20px 9px;cursor:pointer;transition:color .2s,background .2s}.folder-tab:hover{color:var(--text)}.folder-tab.active{background:var(--bg);color:var(--text)}.folder-panel{border:1px solid var(--border);padding:36px 32px;background:var(--bg)}@media(max-width:600px){.folder-panel{padding:24px 18px}}.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.gear-card{background:var(--bg);border:1px solid var(--border);padding:22px 20px;transition:background .2s}.gear-card:hover{background:var(--surface-dim)}.gear-icon{width:44px;height:44px;color:var(--text-2);margin-bottom:14px}.gear-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.gear-name{font-family:var(--font-serif);font-size:17px;color:var(--text);margin-bottom:5px}.gear-spec{font-size:12px;color:var(--text-2);line-height:1.6;margin-bottom:10px}.gear-uses{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);line-height:1.8}.gear-uses:before{content:"used for — ";color:var(--accent)}.about-grid{display:grid;grid-template-columns:380px 1fr;gap:64px;align-items:start}@media(max-width:860px){.about-grid{grid-template-columns:1fr 1fr;gap:36px}}@media(max-width:620px){.about-grid{grid-template-columns:1fr;gap:32px}}.about-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}.about-lede{font-family:var(--font-serif);font-weight:330;font-size:clamp(20px,2.6vw,27px);line-height:1.45;letter-spacing:-.01em;color:var(--text);margin-bottom:20px}.about-lede em{font-style:italic}.about-body{font-size:13.5px;color:var(--text-2);line-height:1.85;max-width:480px;margin-bottom:32px}.facts{list-style:none;margin:0 0 32px;padding:0;max-width:480px}.facts li{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-top:1px solid var(--border)}.facts li:last-child{border-bottom:1px solid var(--border)}.facts .f-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.facts .f-value{font-family:var(--font-serif);font-size:17px;color:var(--text)}
