:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#171716;--muted:#6f6b64;--paper:#e7e2d9;--panel:#d5d0c7;--panel-dark:#2a2926;--line:#b9b1a5;--orange:#ff6a13;--orange-dark:#c64a08;--cream:#f4efe5;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow-hard:0 10px 0 #171716e0;--shadow-soft:0 28px 90px #17171638;--ease-impact:cubic-bezier(.18, .92, .22, 1);--ease-overlay:cubic-bezier(.16, 1, .3, 1);--page-gutter:clamp(14px, 2.2vw, 28px);--content-max:1440px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:linear-gradient(#1717160b 1px, transparent 1px), linear-gradient(90deg, #1717160b 1px, transparent 1px), var(--paper);min-width:320px;color:var(--ink);background-size:28px 28px;margin:0}button{color:inherit;font:inherit;text-align:left;border:0}img{max-width:100%;display:block}main{min-height:100vh;padding:clamp(72px, 6vw, 92px) var(--page-gutter) var(--page-gutter)}h1,h2,p{margin-top:0}h1{letter-spacing:-.085em;max-width:980px;margin-bottom:18px;font-size:clamp(3.1rem,9vw,8.2rem);font-weight:760;line-height:.84}h2{letter-spacing:-.055em;margin-bottom:0;font-size:clamp(1.65rem,3.1vw,3rem);line-height:.96}.kicker{color:var(--orange-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:700}.about-link{top:clamp(14px,2vw,22px);left:max(var(--page-gutter), calc((100vw - var(--content-max)) / 2));z-index:20;color:var(--ink);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;transition:color .28s ease, transform .32s var(--ease-impact);background:0 0;border-radius:999px;padding:8px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;font-weight:700;position:fixed}.about-link:hover{color:var(--orange-dark);transform:translateY(-2px)}.about-link:active{transform:translateY(1px)}.card-grid{width:min(var(--content-max), 100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,16px);margin:0 auto;display:grid}.portfolio-card{aspect-ratio:1;isolation:isolate;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);cursor:pointer;width:100%;display:block;position:relative;overflow:hidden}.card-media{background:var(--panel-dark);position:absolute;inset:0;overflow:hidden}.card-media:after{content:"";pointer-events:none;background:linear-gradient(#17171600 36%,#17171657 100%);position:absolute;inset:0}.card-media img,.overlay-gallery img{object-fit:cover;object-position:center;filter:saturate(.92)contrast(1.04);width:100%;height:100%}.card-body{z-index:1;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#e7e2d9e0;border:1px solid #17171624;flex-direction:column;justify-content:space-between;min-height:34%;padding:clamp(11px,1vw,14px);display:flex;position:absolute;bottom:clamp(9px,1vw,12px);left:clamp(9px,1vw,12px);right:clamp(9px,1vw,12px)}.card-meta,.spec-list{letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.card-meta{color:var(--muted);justify-content:space-between;gap:10px;display:flex}.card-body h2{font-size:clamp(1.45rem,2.35vw,2.35rem)}.card-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:clamp(.82rem,1vw,.94rem);display:-webkit-box;overflow:hidden}.placeholder-grid{background:linear-gradient(45deg, #ff6a1338 25%, transparent 25%), linear-gradient(-45deg, #ff6a1338 25%, transparent 25%), var(--panel-dark);height:100%;color:var(--orange);letter-spacing:.08em;background-size:22px 22px;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.5rem,3vw,2.4rem);display:grid}.impact-card{transition:transform .36s var(--ease-impact), box-shadow .36s var(--ease-impact), border-color .36s ease, filter .36s ease, background-color .36s ease;will-change:transform;transform:translate(0,0)scale(1)}.impact-card:hover{border-color:var(--orange);box-shadow:var(--shadow-hard);filter:saturate(1.06);transform:translateY(-6px)scale(1.012)}.impact-card:active{transition-duration:.13s;transform:translateY(1px)scale(.992);box-shadow:0 3px #171716e0}.overlay-backdrop{z-index:40;animation:backdrop-in .52s var(--ease-overlay) both;background:#171716ad;padding:clamp(8px,1.7vw,22px);position:fixed;inset:0;overflow:auto}.overlay-backdrop.is-closing{animation:backdrop-out .43s var(--ease-overlay) both}.portfolio-overlay{border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);min-height:calc(100vh - clamp(16px,3.4vw,44px));box-shadow:var(--shadow-soft);animation:overlay-in .64s var(--ease-overlay) both;transform-origin:50% 58%;padding:clamp(18px,3vw,38px)}.portfolio-overlay.is-closing{animation:overlay-out .43s var(--ease-overlay) both}.close-button{z-index:2;float:right;border:1px solid var(--ink);background:var(--orange);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:transform .26s var(--ease-impact), box-shadow .26s var(--ease-impact), background-color .26s ease;border-radius:999px;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;position:sticky;top:18px}.close-button:hover{transform:translateY(-3px);box-shadow:0 5px #171716d1}.close-button:active{transform:translateY(1px);box-shadow:0 1px #171716d1}.overlay-head{max-width:1050px;margin-bottom:34px}.overlay-head p:last-child{max-width:720px;color:var(--muted);font-size:clamp(1.06rem,1.8vw,1.5rem)}.overlay-grid{grid-template-columns:minmax(280px,.95fr) minmax(280px,.62fr);align-items:start;gap:18px;display:grid}.overlay-grid-text-only{grid-template-columns:minmax(280px,760px)}.overlay-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.overlay-gallery img{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-dark)}.overlay-text{border:1px solid var(--line);border-radius:var(--radius-md);background:#f4efe58f;padding:18px;position:sticky;top:24px}.overlay-text p{color:#3e3a34;font-size:clamp(1rem,1.45vw,1.16rem)}.overlay-text p:last-child{margin-bottom:0}.spec-list{gap:8px;margin:0 0 28px;display:grid}.spec-list div{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;gap:12px;padding-bottom:8px;display:grid}.spec-list dt{color:var(--orange-dark)}.spec-list dd{margin:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-in{0%{opacity:0;transform:translateY(24px)scale(.965)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes overlay-out{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(22px)scale(.965)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=1180px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overlay-grid,.overlay-grid-text-only{grid-template-columns:1fr}.overlay-text{position:static}}@media (width<=620px){main{padding:58px 10px 10px}.about-link{left:10px}.card-grid,.overlay-gallery{grid-template-columns:1fr}.portfolio-card{aspect-ratio:.86}.card-body{padding:14px}.portfolio-overlay{min-height:calc(100vh - 16px)}}
