@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_9a34f1a8-module__41sP0W__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_9a34f1a8-module__41sP0W__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_eb7dfaae-module__Jm0yPa__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_eb7dfaae-module__Jm0yPa__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
:root{--background:#020403;--foreground:#fffaf3;--muted:#d3d0cc;--kicker:#b4b3b4;--line:#ffffff14}::selection{color:#fff;background:#46ff6e80}::selection{color:#fff;background:#46ff6e80}html,body{background:var(--background);max-width:100vw;height:100%;overflow:hidden}body{color:var(--foreground);font-family:var(--font-dm-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}.portfolio-shell{background:var(--background);cursor:default;isolation:isolate;justify-content:flex-start;align-items:center;width:100vw;height:100dvh;padding-left:clamp(6.5rem,8vw,8.5rem);padding-right:clamp(2rem,5vw,5rem);display:flex;position:fixed;inset:0;overflow:hidden}.portfolio-shell:before{content:"";background:linear-gradient(90deg, #000000b8 0%, #0000008f 32%, #0000002e 68%, #00000014 100%), url(/ascii-landscape.png) center / cover no-repeat, var(--background);filter:blur(.5px);z-index:-1;position:absolute;inset:0;transform:scale(1.008)}.portfolio-card{color:var(--foreground);text-align:left;text-transform:lowercase;z-index:2;width:min(720px,100%);max-width:720px;position:relative;transform:translateY(3.2rem)}.portfolio-kicker{color:var(--kicker);letter-spacing:.14em;margin-bottom:1.25rem;font-size:clamp(.72rem,.95vw,.88rem);font-weight:400;line-height:1.2}.portfolio-card h1{color:var(--foreground);font-family:var(--font-instrument-serif), Georgia, serif;letter-spacing:-.035em;text-shadow:0 2px 8px #000000e6,0 0 24px #000000d9;margin-bottom:0;font-size:clamp(5rem,6.5vw,6.8rem);font-weight:400;line-height:.9}.portfolio-card h1:after{content:"";background:#b4d250bf;width:3rem;height:.18rem;margin-top:1.35rem;margin-bottom:2.45rem;display:block}.portfolio-section{color:#ffffffd1;font-family:var(--font-dm-sans), Arial, sans-serif;text-align:left;text-shadow:0 2px 8px #000000e6,0 0 24px #000000d9;gap:1.18rem;margin-top:0;font-size:clamp(1rem,1.18vw,1.15rem);font-weight:600;line-height:1.35;display:grid}.portfolio-section p{max-width:38ch;margin-inline:0}.portfolio-section a{color:var(--foreground);text-underline-offset:.22em;text-decoration:underline;text-decoration-thickness:1px}.social-links{flex-wrap:wrap;justify-content:flex-start;gap:1.4rem;margin-top:2.9rem;display:flex}.social-links a{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd1;font-family:var(--font-dm-sans), Arial, sans-serif;letter-spacing:0;text-transform:lowercase;background:#00000038;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-width:7.1rem;min-height:2.15rem;padding:.45rem .9rem;font-size:.76rem;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.social-icon{flex-shrink:0;width:.82rem;height:.82rem}.social-links a:hover,.social-links a:focus-visible{color:var(--foreground);background:#f3f4ee1a;border-color:#f3f4ee42;transform:translateY(-1px)}.leaf-trail{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}.leaf-trail-item{height:15px;left:var(--leaf-x);opacity:0;top:var(--leaf-y);transform:translate(-50%, -50%) rotate(var(--leaf-rotate)) scale(var(--leaf-scale));background:radial-gradient(circle at 64% 30%,#e6ee9594,#0000 28%),linear-gradient(135deg,#bcd34eeb,#34682fcc);border-radius:100% 0 100% 12%;width:9px;animation:1.9s ease-out forwards leaf-fall;position:absolute;box-shadow:0 0 10px #cade5e3d}.leaf-trail-item:after{content:"";background:#16381985;width:1px;height:11px;position:absolute;top:2px;left:4px;transform:rotate(36deg)}@keyframes leaf-fall{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--leaf-rotate)) scale(calc(var(--leaf-scale) * .7))}12%{opacity:.9}to{opacity:0;transform:translate(calc(-50% + var(--leaf-drift-x)), calc(-50% + var(--leaf-drift-y))) rotate(calc(var(--leaf-rotate) + 96deg)) scale(calc(var(--leaf-scale) * .62))}}@media (prefers-reduced-motion:reduce){.leaf-trail{display:none}.social-links a{transition:none}}@media (max-width:700px){.portfolio-shell{background:url(/ascii-art.png) center / cover no-repeat, var(--background);padding:0 2rem}.portfolio-shell:before{background:0 0}.portfolio-card{width:100%;max-width:none}.portfolio-card h1{white-space:nowrap;margin-bottom:2rem;font-size:clamp(2.9rem,13vw,4.6rem);line-height:.95}.portfolio-section{gap:.95rem}.social-links{flex-wrap:nowrap;justify-content:flex-start;gap:.45rem;margin-top:2.3rem;display:flex}.social-links a{letter-spacing:.04em;white-space:nowrap;min-width:0;min-height:2.15rem;padding:.5rem .75rem;font-size:.72rem}.portfolio-section p{max-width:18ch}}@media (max-width:430px){.portfolio-card h1{white-space:nowrap;font-size:clamp(2.5rem,12vw,3.8rem)}}@media (max-width:700px){.social-links{flex-wrap:nowrap;justify-content:flex-start;gap:.35rem;margin-top:2rem;display:flex}.social-links a{letter-spacing:.03em;white-space:nowrap;gap:.28rem;min-width:0;min-height:1.65rem;padding:.25rem .42rem;font-size:.58rem;font-weight:600}.social-icon{width:.62rem;height:.62rem}}.portfolio-shell:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#0000 35%,#00000052 72%,#000000b8 100%);position:absolute;inset:0}
