@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_741be330-module__yWt_da__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_741be330-module__yWt_da__variable{--font-body:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_590fd37e-module__Yn3fQa__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_590fd37e-module__Yn3fQa__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
:root{--bg:#070707;--surface:#0f0f10;--surface-soft:#141416;--line:#262629;--line-strong:#3a1313;--text:#f1f1f1;--text-soft:#b6b6b8;--accent:#e42626;--accent-soft:#e426261f}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--text);background-color:var(--bg);font-family:var(--font-body), "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(#e4262614 1px,#0000 1px),linear-gradient(90deg,#e4262614 1px,#0000 1px),radial-gradient(circle at 50% 15%,#e4262638,#0000 50%);background-size:52px 52px,52px 52px,100% 100%;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.site-shell{width:min(1220px,94vw);margin:0 auto;padding-bottom:4rem}.section-wrap{opacity:0;animation:.65s forwards rise-in;transform:translateY(24px)}.topbar{z-index:12;border:1px solid var(--line);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070707d9;justify-content:space-between;align-items:center;gap:1rem;margin-top:.25rem;padding:1rem 1.1rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display), "Trebuchet MS", sans-serif;letter-spacing:.14em;font-size:1.35rem;font-weight:700}.brand span{color:var(--accent)}.quick-links{flex-wrap:wrap;gap:.55rem;display:flex}.quick-links a{color:silver;letter-spacing:.15em;text-transform:uppercase;border:1px solid #0000;padding:.45rem .8rem;font-size:.77rem;font-weight:700;transition:all .2s}.quick-links a:hover{border-color:var(--line-strong);color:var(--accent)}.status{color:#898a8f;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:.45rem;display:inline-block;box-shadow:0 0 12px #e42626b3}.hero{grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:1rem;display:grid}.hero-copy,.profile-card,.panel,.project-card,.footer,.skills-grid p,.contact-panel{background:linear-gradient(180deg, #e426260a, transparent 24%), var(--surface);border:1px solid var(--line)}.hero-copy{border-radius:.2rem;padding:2.4rem}.eyebrow{color:#a9a9ac;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.6rem;font-size:.72rem;font-weight:700}h1,h2,h3{font-family:var(--font-display), "Trebuchet MS", sans-serif}h1{letter-spacing:.06em;margin-bottom:.9rem;font-size:clamp(2.3rem,7vw,4.8rem);line-height:.98}.hero-copy h1 span{color:var(--accent)}.hero-copy h2{color:#d9d9db;letter-spacing:.06em;margin-bottom:1.25rem;font-size:clamp(1.05rem,1.5vw,1.25rem)}.hero-copy>p{color:var(--text-soft);max-width:66ch;font-size:.98rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.btn{border:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase;border-radius:.16rem;padding:.78rem 1.45rem;font-size:.8rem;font-weight:700}.btn-primary{background:var(--accent);border-color:var(--accent);color:#121212}.btn-ghost{color:#d0d0d1}.profile-card{border-radius:.2rem;flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.45rem;display:flex}.profile-card img{border:1px solid var(--line-strong);border-radius:.2rem}.profile-card h2{letter-spacing:.08em;font-size:1.15rem}.profile-card p{color:var(--text-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.86rem}.profile-card ul{gap:.55rem;width:100%;list-style:none;display:grid}.profile-card li{border-left:2px solid var(--accent);background:var(--surface-soft);color:#ccccce;padding:.58rem .65rem;font-size:.82rem}.profile-links{flex-wrap:wrap;gap:.55rem;display:flex}.profile-links a{border:1px solid var(--line);letter-spacing:.13em;text-transform:uppercase;padding:.38rem .66rem;font-size:.72rem}.section-head{margin-bottom:.75rem}.section-kicker{color:#9f9fa4;letter-spacing:.15em;text-transform:uppercase;margin-top:2.1rem;margin-bottom:.65rem;font-size:.82rem;font-weight:700}.section-head h2{letter-spacing:.08em;font-size:clamp(1.75rem,4vw,2.6rem)}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.78rem;display:grid}#projects{margin-bottom:1.2rem}.project-card{border-radius:.18rem;padding:1.05rem}.project-card h3{margin-bottom:.35rem;font-size:1.15rem}.project-card p{color:var(--text-soft);margin-top:.56rem;font-size:.9rem;line-height:1.7}.stack-list{flex-wrap:wrap;gap:.35rem;margin-top:.72rem;list-style:none;display:flex}.stack-list li{border:1px solid var(--line);color:#ababaf;letter-spacing:.08em;text-transform:uppercase;border-radius:.15rem;padding:.21rem .47rem;font-size:.68rem}.project-card a,.no-link{letter-spacing:.09em;margin-top:.8rem;font-size:.8rem;font-weight:700;display:inline-block}.project-card a{color:var(--accent)}.no-link{color:#8f8f94}.split{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.panel{border-radius:.18rem;padding:1.05rem}.bullet-list,.timeline{gap:.54rem;list-style:none;display:grid}.bullet-list li,.timeline li{border-left:2px solid var(--accent);background:var(--surface-soft);color:#ceced0;border-radius:.15rem;padding:.62rem .74rem;font-size:.88rem;line-height:1.65}.bullet-list strong,.timeline strong{color:#efefef;display:block}.timeline li{gap:.23rem;display:grid}.timeline span{color:#a0a0a5;font-size:.84rem}.skills-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.62rem;display:grid}.skills-grid p{letter-spacing:.08em;text-transform:uppercase;text-align:center;border-radius:.16rem;padding:.75rem .62rem;font-size:.73rem;font-weight:700}.skill-item{justify-content:center;align-items:center;gap:.55rem;display:flex}.skill-icon{filter:drop-shadow(0 0 6px #e4262638)}.contact-panel{border-radius:.18rem;margin-top:2.2rem;padding:1.2rem}.contact-form{gap:.5rem;display:grid}.contact-form label{color:#acacb0;letter-spacing:.16em;text-transform:uppercase;margin-top:.45rem;font-size:.74rem}.contact-form input,.contact-form textarea{border:1px solid var(--line);color:#efeff0;width:100%;font-family:var(--font-body), "Segoe UI", sans-serif;background:#0d0d0e;border-radius:.15rem;padding:.68rem .72rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.contact-form button{border:1px solid var(--accent);background:var(--accent);color:#171717;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:.15rem;margin-top:.55rem;padding:.78rem;font-weight:800}.footer{border-radius:.18rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;margin-top:2.6rem;padding:1.1rem;display:flex}.contact-links{flex-wrap:wrap;gap:.55rem;display:flex}.contact-links a{color:#d7d7d9;border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;padding:.42rem .68rem;font-size:.73rem;font-weight:700}.copyright{letter-spacing:.12em;color:#9a9a9f;text-transform:uppercase;font-size:.73rem}.section-wrap:nth-child(2){animation-delay:80ms}.section-wrap:nth-child(3){animation-delay:.16s}.section-wrap:nth-child(4){animation-delay:.22s}.section-wrap:nth-child(5){animation-delay:.28s}@keyframes rise-in{to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.hero,.projects-grid,.split,.skills-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch;gap:.8rem}.quick-links{justify-content:center}.brand,.status{text-align:center}.hero-copy{padding:1.25rem}h1{font-size:clamp(2.1rem,14vw,3.1rem)}.footer{flex-direction:column;align-items:stretch}.contact-links{justify-content:center}.copyright{text-align:center}}
