@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..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.0b_~8bw~gzh90.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.0_qb~~5cn13jl.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.0eehd8tgys7nv.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_757527b2-module__KQTHbW__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_757527b2-module__KQTHbW__variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9fb;--bg-elevated:#ffffffdb;--panel:#ffffffe6;--panel-strong:#fff;--text:#1f2937;--muted:#6b7280;--line:#1f293714;--line-strong:#1f293724;--accent:#1c88cf;--accent-strong:#146aa3;--accent-soft:#1c88cf1a;--shadow:0 20px 60px #0f172a14;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:999px;--site-max:1180px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--bg-elevated:#0d1320db;--panel:#111827e0;--panel-strong:#111827;--text:#f3f4f6;--muted:#b6bfcc;--line:#ffffff14;--line-strong:#ffffff26;--accent:#63b3ff;--accent-strong:#8ac4ff;--accent-soft:#63b3ff21;--shadow:0 24px 70px #00000047}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans), system-ui, sans-serif;background:radial-gradient(circle at top left, #1c88cf14, transparent 30%), linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 90%, white 10%) 100%);color:var(--text);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;display:block}.site-shell{width:min(var(--site-max), calc(100% - 2rem));margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;min-height:84px;display:flex}.brand-mark,.footer-logo{letter-spacing:-.08em;color:var(--accent);font-size:2.2rem;font-weight:800}.header-actions{gap:.75rem;display:flex}.icon-button{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:14px;place-items:center;transition:border-color .2s,background .2s,color .2s;display:grid}.icon-button.theme-button{background:var(--panel);box-shadow:var(--shadow);border-radius:50%}.icon-button.menu-button{background:var(--panel-strong);box-shadow:none}.icon-button:hover,.social-row a:hover,.footer-list a:hover,.inline-link:hover,.text-link:hover{color:var(--accent)}.icon{width:22px;height:22px}.icon.tiny{width:16px;height:16px}.mobile-drawer{border-top:1px solid var(--line);background:var(--bg-elevated);display:none}.mobile-drawer.open{display:block}.mobile-drawer-inner{padding:1.25rem 0 1.75rem}.drawer-label,.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 .75rem;font-size:.75rem;font-weight:700}.drawer-title{color:var(--muted);margin:1rem 0 0}.drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.drawer-nav,.drawer-links{gap:.85rem;display:grid}.drawer-nav a,.drawer-links a{color:var(--text);font-size:1.04rem}.section-shell{width:min(var(--site-max), calc(100% - 2rem));margin:0 auto}.page-stack{padding:4.5rem 0 5rem}.hero{flex-direction:column;justify-content:center;padding:3rem 0 2rem;display:flex}.hero h1,.page-heading h1{letter-spacing:-.08em;margin:0;font-size:clamp(3rem,8vw,5.6rem);line-height:.95}.hero h2,.page-heading h2{color:var(--accent);letter-spacing:-.05em;margin:.8rem 0 0;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.05}.hero-copy,.page-heading p,.panel p,.contact-note,.about-meta,.timeline-copy p,.footer-brand p{color:var(--muted);font-size:1.02rem;line-height:1.8}.hero-copy{max-width:38rem;margin:1.25rem 0 0}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.primary-button,.secondary-button,.filter-button,.text-link{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:.55rem;display:inline-flex}.primary-button,.secondary-button{padding:.95rem 1.3rem;font-weight:700}.primary-button{background:var(--accent);color:#fff;box-shadow:0 12px 30px #1c88cf38}.primary-button:hover{background:var(--accent-strong);color:#fff}.secondary-button{background:var(--panel);color:var(--text);border-color:var(--line)}.primary-button.compact{padding-inline:1.15rem}.social-row{flex-wrap:wrap;gap:.75rem;display:flex}.social-row a{background:var(--panel);width:46px;height:46px;color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid}.hero-socials{margin-top:2rem}.stats-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.25rem;display:grid}.stats-strip div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;padding:1.25rem 1.5rem}.stats-strip strong{letter-spacing:-.06em;font-size:1.9rem;display:block}.stats-strip span{color:var(--muted)}.content-section{padding-top:6rem}.section-heading-row{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading-row h2,.panel h2,.page-heading h1,.project-copy h3,.timeline-meta h2,.contact-card h2{letter-spacing:-.06em;margin:0}.inline-link,.text-link{color:var(--text);font-weight:700}.featured-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.project-card,.panel,.timeline-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.project-card{flex-direction:column;display:flex;overflow:hidden}.project-preview{border-bottom:1px solid var(--line);min-height:190px;position:relative}.project-art{position:absolute;inset:0}.art-1{background:linear-gradient(135deg,#111827 0%,#374151 35%,#0f172a 100%)}.art-2{background:linear-gradient(135deg,#0f766e 0%,#14b8a6 50%,#d97706 100%)}.art-3{background:linear-gradient(135deg,#1e3a8a 0%,#60a5fa 52%,#7c3aed 100%)}.featured-badge{color:#111827;border-radius:var(--radius-sm);background:#ffffffeb;padding:.45rem .8rem;font-size:.76rem;font-weight:800;position:absolute;top:1rem;right:1rem}.project-copy{padding:1.25rem 1.25rem .75rem}.project-copy h3{font-size:1.35rem}.project-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.project-meta span{align-items:center;gap:.35rem;display:inline-flex}.project-meta strong{color:var(--accent);margin-left:auto}.tag-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag-row span{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-strong);color:var(--muted);padding:.4rem .75rem;font-size:.9rem}.project-actions{flex-wrap:wrap;gap:1rem;padding:.25rem 1.25rem 1.25rem;display:flex}.action-button{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);color:var(--text);align-items:center;gap:.55rem;padding:.6rem 1.1rem;font-weight:700;display:inline-flex}.action-button:hover{background:var(--accent);color:#fff}.project-actions.detail-actions{padding:1.5rem 0 0}.panel{padding:1.5rem}.split-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.accent-panel{background:linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--accent-soft) 60%, var(--panel) 40%))}.page-heading{max-width:48rem}.page-heading p{max-width:42rem}.filter-row{flex-wrap:wrap;gap:.75rem;display:flex}.filter-button{background:var(--panel);color:var(--text);border-color:var(--line);padding:.9rem 1.2rem;font-weight:700}.filter-button.active{background:var(--accent);color:#fff}.about-hero{grid-template-columns:.95fr 1.05fr;gap:1.5rem;display:grid}.about-meta{margin:.5rem 0 1.25rem}.about-story h3,.skill-panel h3,.timeline-copy h4{margin-top:0}.inline-socials{margin-top:1.2rem}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.skill-list{gap:1rem;display:grid}.skill-item{gap:.45rem;display:grid}.skill-label-row{color:var(--muted);justify-content:space-between;font-weight:600;display:flex}.skill-bar{border-radius:var(--radius-sm);background:#94a3b82e;height:10px;overflow:hidden}.skill-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, white 40%));height:100%;display:block}.experience-timeline{gap:1.25rem;display:grid}.timeline-item{grid-template-columns:.8fr 1.2fr;gap:1.25rem;display:grid}.timeline-meta h3{color:var(--accent);margin:.35rem 0 0;font-size:1.2rem}.timeline-meta span{color:var(--muted)}.timeline-copy ul{color:var(--muted);margin:.75rem 0 0;padding-left:1.2rem;line-height:1.8}.compact-strip{margin-top:1rem}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.large-card{grid-column:1/-1}.contact-link{letter-spacing:-.05em;font-size:clamp(1.4rem,4vw,2.2rem);font-weight:800}.contact-form{gap:1rem;margin-top:1.5rem;display:grid}.contact-form label{gap:.45rem;font-weight:700;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--line-strong);background:var(--panel-strong);width:100%;color:var(--text);border-radius:18px;padding:.9rem 1rem}.contact-form textarea{resize:vertical}.site-footer{padding:4rem 0 1.5rem}.footer-grid{border-top:1px solid var(--line);grid-template-columns:1.35fr .8fr .8fr;align-items:start;gap:1.5rem;padding-top:2rem;display:grid}.footer-brand p{max-width:24rem;margin:.9rem 0 1rem}.footer-grid h2{margin:0 0 .9rem;font-size:1.25rem}.footer-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.footer-list a{color:var(--muted)}.footer-bottom{text-align:center;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.footer-bottom p{color:var(--muted);margin:0}.heart{color:#ff9b9b}.panel.project-detail{max-width:60rem}@media (max-width:900px){.featured-grid,.project-grid,.split-section,.about-hero,.skills-grid,.timeline-item,.contact-grid,.footer-grid,.stats-strip{grid-template-columns:1fr}.section-heading-row,.footer-bottom{flex-direction:column;align-items:flex-start}.hero{min-height:auto;padding-top:3rem}.hero h1,.page-heading h1{font-size:clamp(2.6rem,14vw,4rem)}}@media (max-width:640px){.site-shell{width:min(var(--site-max), calc(100% - 1.25rem))}.header-inner{min-height:74px}.brand-mark,.footer-logo{font-size:1.9rem}.hero-actions,.project-actions,.filter-row{gap:.75rem}.primary-button,.secondary-button,.filter-button{justify-content:center;width:100%}.project-meta strong{margin-left:0}.drawer-grid{grid-template-columns:1fr;gap:1.25rem}}
