*{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#1e1e2e;--mantle:#181825;--crust:#11111b;--text:#cdd6f4;--subtext:#a6adc8;--surface:#313244;--overlay:#6c7086;--mauve:#cba6f7;--blue:#89b4fa;--teal:#94e2d5;--green:#a6e3a1;--peach:#fab387;--red:#f38ba8;--panel:var(--mantle);--panel-strong:var(--crust);--card:var(--mantle);--line:color-mix(in srgb, var(--overlay) 34%, transparent);--line-strong:color-mix(in srgb, var(--overlay) 52%, transparent);--panel-shadow:0 18px 44px color-mix(in srgb, var(--crust) 36%, transparent);--shadow:0 22px 56px color-mix(in srgb, var(--crust) 44%, transparent);--radius:14px;--radius-sm:9px}:root[data-theme=latte]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--base:#eff1f5;--mantle:#e6e9ef;--crust:#dce0e8;--text:#4c4f69;--subtext:#6c6f85;--surface:#ccd0da;--overlay:#9ca0b0;--mauve:#8839ef;--blue:#1e66f5;--teal:#179299;--green:#40a02b;--peach:#fe640b;--red:#d20f39}:root[data-theme=frappe]{--base:#303446;--mantle:#292c3c;--crust:#232634;--text:#c6d0f5;--subtext:#a5adce;--surface:#414559;--overlay:#737994;--mauve:#ca9ee6;--blue:#8caaee;--teal:#81c8be;--green:#a6d189;--peach:#ef9f76;--red:#e78284}:root[data-theme=macchiato]{--base:#24273a;--mantle:#1e2030;--crust:#181926;--text:#cad3f5;--subtext:#a5adcb;--surface:#363a4f;--overlay:#6e738d;--mauve:#c6a0f6;--blue:#8aadf4;--teal:#8bd5ca;--green:#a6da95;--peach:#f5a97f;--red:#ee99a0}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{min-width:320px;color:var(--text);background:var(--base);margin:0;font-family:DM Sans,sans-serif;line-height:1.65;transition:color .22s,background .22s}body:before{content:"";pointer-events:none;z-index:-2;opacity:.16;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 76%);mask-image:linear-gradient(#000,#0000 76%)}a{color:inherit}button,select{font:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.ambient{display:none}.site-header{z-index:1000;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:min(1180px,100% - 2rem);box-shadow:var(--panel-shadow);align-items:center;gap:1.1rem;margin:1rem auto 0;padding:.68rem .75rem;display:flex;position:sticky;top:1rem}.brand{align-items:center;gap:.7rem;min-width:max-content;text-decoration:none;display:flex}.brand-mark{aspect-ratio:1;border:1px solid var(--mauve);width:2.5rem;color:var(--crust);background:var(--mauve);box-shadow:0 10px 24px color-mix(in srgb, var(--mauve) 24%, transparent);border-radius:12px;place-items:center;font:700 .83rem JetBrains Mono;display:grid}.brand-copy{flex-direction:column;line-height:1.2;display:flex}.brand-copy strong{font-size:.86rem}.brand-copy small{color:var(--subtext);font:.65rem JetBrains Mono}.nav-links{justify-content:center;gap:.35rem;margin:0 auto;display:flex}.nav-links a{border-radius:var(--radius-sm);min-height:2.15rem;color:var(--subtext);align-items:center;padding:.35rem .65rem;font-size:.82rem;text-decoration:none;transition:color .16s,background .16s;display:inline-flex}.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--surface)}.theme-control{color:var(--subtext);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.5rem;font:.68rem JetBrains Mono;display:flex}.theme-control select{color:var(--text);background:var(--panel-strong);border:1px solid var(--line);cursor:pointer;border-radius:9px;padding:.38rem 1.8rem .38rem .55rem}.menu-toggle{aspect-ratio:1;border:1px solid var(--line);width:2.65rem;color:var(--text);background:var(--panel-strong);cursor:pointer;border-radius:11px;flex:none;place-items:center;display:none;position:relative;overflow:hidden}.menu-toggle span{background:currentColor;border-radius:99px;width:1.1rem;height:2px;transition:transform .18s,opacity .18s;position:absolute}.menu-toggle span:first-child{transform:translateY(-.36rem)}.menu-toggle span:nth-child(3){transform:translateY(.36rem)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}.mobile-nav{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);gap:.35rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .55rem);left:.65rem;right:.65rem;overflow:hidden}.mobile-nav[hidden]{display:none}.mobile-nav a{z-index:1;min-height:2.75rem;color:var(--text);border:1px solid #0000;border-radius:11px;align-items:center;padding:.55rem .75rem;font-weight:600;text-decoration:none;display:flex;position:relative}.mobile-nav a:hover,.mobile-nav a:focus-visible,.mobile-nav a.active{border-color:var(--line);background:var(--surface);color:var(--text);outline:none}main,footer{width:min(1120px,100% - 2rem);margin-inline:auto}.hero{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-content:center;gap:2rem;min-height:calc(100vh - 7rem);padding:6rem 0 4rem;display:grid}.hero-copy{align-self:center}.eyebrow,.section-heading>p,.contact-copy>p:first-child{color:var(--mauve);text-transform:uppercase;letter-spacing:.13em;margin:0 0 1rem;font:600 .72rem JetBrains Mono}.eyebrow span{background:var(--green);width:.55rem;height:.55rem;box-shadow:0 0 0 5px color-mix(in srgb, var(--green) 15%, transparent);border-radius:50%;margin-right:.55rem;display:inline-block}h1,h2,h3,p{overflow-wrap:break-word}h1{letter-spacing:0;max-width:16ch;margin:0;font-size:clamp(3rem,6.4vw,5.8rem);line-height:1}h1 em{color:var(--mauve);font-style:normal}.hero-summary{max-width:58ch;color:var(--subtext);margin:1.6rem 0;font-size:1.06rem}.hero-actions,.contact-actions{flex-wrap:wrap;gap:.7rem;display:flex}.button{border:1px solid var(--line);color:var(--text);background:var(--panel);box-shadow:0 10px 24px color-mix(in srgb, var(--crust) 18%, transparent);border-radius:11px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:transform .16s,border-color .16s;display:inline-flex}.button:hover{border-color:var(--mauve);transform:translateY(-2px)}.button.primary{color:var(--crust);border-color:var(--mauve);background:var(--mauve);box-shadow:0 12px 28px color-mix(in srgb, var(--mauve) 24%, transparent)}.hero-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--panel-shadow);align-self:center;gap:1rem;padding:1.25rem;display:grid}.panel-kicker{color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin:0;font:600 .68rem JetBrains Mono}.hero-panel h2{margin:0;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.05}.hero-panel>p:not(.panel-kicker){color:var(--subtext);margin:0}.status-list{gap:.55rem;padding-top:.35rem;display:grid}.status-list span{color:var(--subtext);align-items:center;gap:.55rem;font:.72rem JetBrains Mono;display:flex}.status-list i{background:var(--green);width:.5rem;height:.5rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 13%, transparent);border-radius:50%;flex:none}.highlights{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.5rem;display:grid}.highlights article{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, var(--base));flex-direction:column;min-height:6rem;padding:1.1rem;display:flex}.highlights strong{color:var(--peach);letter-spacing:0;font-size:clamp(1.5rem,3vw,2.4rem)}.highlights span{color:var(--subtext);font-size:.8rem}.section{border-top:1px solid var(--line);padding:6.5rem 0}.section-heading{grid-template-columns:.65fr 1.35fr;align-items:start;margin-bottom:3rem;display:grid}.section-heading h2,.contact h2{letter-spacing:0;max-width:13ch;margin:0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.02}.timeline{display:grid}.job-card{border-top:1px solid var(--line);grid-template-columns:.65fr 1.35fr;gap:1.5rem;padding:2.2rem 0;display:grid}.job-meta p{color:var(--text);margin:0;font:.72rem JetBrains Mono}.job-meta span{color:var(--subtext);margin-top:.45rem;font-size:.82rem;display:block}.job-meta i{border:1px solid color-mix(in srgb, var(--green) 55%, transparent);color:var(--green);border-radius:999px;margin-top:1rem;padding:.22rem .5rem;font:.65rem JetBrains Mono;display:inline-block}.job-content h3{letter-spacing:0;margin:0;font-size:clamp(1.5rem,3vw,2.25rem)}.company{color:var(--mauve);margin:.1rem 0 1rem;font-weight:600}.job-content ul{margin:0;padding:0;list-style:none}.job-content li{color:var(--subtext);margin:.75rem 0;padding-left:1.25rem;position:relative}.job-content li:before{content:"↳";color:var(--blue);position:absolute;left:0}.projects-intro{max-width:62ch;color:var(--subtext);margin:-1.6rem 0 2rem auto}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0;box-shadow:var(--panel-shadow);flex-direction:column;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;overflow:hidden}.project-card.featured{grid-column:span 2}.project-card:hover{border-color:color-mix(in srgb, var(--mauve) 58%, var(--line));box-shadow:var(--shadow);transform:translateY(-4px)}.project-art{aspect-ratio:16/10;background:var(--panel-strong);isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.project-art:before{content:"";z-index:-2;background-image:var(--project-art);filter:blur(22px)saturate(.8);opacity:.55;background-position:50%;background-size:cover;position:absolute;inset:-1.5rem;transform:scale(1.12)}.project-art:after{content:"";z-index:-1;background:color-mix(in srgb, var(--crust) 18%, transparent);position:absolute;inset:0}.project-art img{object-fit:contain;filter:drop-shadow(0 12px 20px #00000047);width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.project-card:hover .project-art img{transform:scale(1.018)}.project-index{z-index:3;color:#ffffffd1;background:#00000073;border:1px solid #ffffff2e;border-radius:7px;padding:.26rem .45rem;font:.61rem JetBrains Mono;position:absolute;top:.75rem;right:.75rem}.project-copy{flex-direction:column;flex:1;min-height:11rem;padding:1.15rem;display:flex}.project-meta{justify-content:space-between;align-items:flex-start;gap:.7rem;margin-bottom:.8rem;display:flex}.project-status{min-width:0;color:var(--green);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:.42rem;font:.6rem JetBrains Mono;display:inline-flex}.project-status i{background:currentColor;border-radius:50%;flex:none;width:.42rem;height:.42rem}.project-studio{color:var(--overlay);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;font:.58rem JetBrains Mono}.project-copy h3{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.12}.featured .project-copy h3{font-size:clamp(1.55rem,3vw,2.15rem)}.featured-label{color:var(--peach);text-transform:uppercase;letter-spacing:.08em;margin-top:.65rem;font:.68rem JetBrains Mono}.project-copy p{color:var(--subtext);margin:auto 0 0;padding-top:1rem;font:.72rem/1.55 JetBrains Mono}.art-note{color:var(--overlay);text-align:right;margin:.8rem 0 0;font:.6rem JetBrains Mono}.skills-grid{grid-template-columns:repeat(6,1fr);gap:.8rem;display:grid}.skill-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:14rem;box-shadow:var(--panel-shadow);padding:1.25rem}.skill-card>p{color:var(--overlay);margin:0;font:.7rem JetBrains Mono}.skill-card h3{margin:2.5rem 0 1rem;font-size:1.25rem}.skill-card div{flex-wrap:wrap;gap:.4rem;display:flex}.skill-card span{color:var(--subtext);background:var(--surface);border-radius:7px;padding:.28rem .5rem;font:.69rem JetBrains Mono}.skill-1,.skill-2{grid-column:span 3}.skill-3,.skill-4,.skill-5{grid-column:span 2}.contact{grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;display:grid}.contact-copy>p:not(:first-child){max-width:50ch;color:var(--subtext)}.linkedin-card{border:1px solid var(--line);border-radius:var(--radius);min-height:10rem;color:var(--text);background:var(--panel);box-shadow:var(--shadow);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.35rem;text-decoration:none;transition:transform .18s,border-color .18s;display:grid;position:relative;overflow:hidden}.linkedin-card:hover{border-color:var(--blue);transform:translateY(-3px)}.linkedin-logo{aspect-ratio:1;width:3.3rem;color:var(--crust);background:var(--blue);letter-spacing:0;border-radius:12px;place-items:center;font:700 1.45rem/1 DM Sans;display:grid}.linkedin-profile{flex-direction:column;min-width:0;display:flex}.linkedin-profile small{color:var(--blue);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem;font:.65rem JetBrains Mono}.linkedin-profile strong{font-size:1.15rem}.linkedin-profile>span{color:var(--subtext);font-size:.78rem}.linkedin-arrow{z-index:1;color:var(--blue);font-size:1.4rem}footer{border-top:1px solid var(--line);color:var(--subtext);justify-content:space-between;padding:2rem 0 3rem;font:.7rem JetBrains Mono;display:flex}footer a{text-decoration:none}@media (width<=860px){.nav-links{display:none}.site-header{gap:.75rem}.theme-control{margin-left:auto}.menu-toggle{display:grid}.hero{grid-template-columns:1fr;gap:1.25rem;padding-top:4.75rem}.hero-panel{max-width:42rem}.highlights{grid-template-columns:repeat(2,1fr)}.section-heading,.job-card{grid-template-columns:1fr}.job-meta{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.job-meta span,.job-meta i{margin:0}.projects-intro{margin:-1rem 0 2rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card.featured{grid-column:1/-1}.contact{grid-template-columns:1fr;gap:2rem}}@media (width<=620px){html{scroll-padding-top:6rem}.site-header{width:calc(100% - 1rem);margin-top:.5rem;padding:.55rem;top:.5rem}.brand-copy,.theme-control>span{display:none}.theme-control select{max-width:7.9rem;min-height:2.45rem}.mobile-nav{left:.4rem;right:.4rem}.mobile-nav a{min-height:3rem}main,footer{width:min(100% - 1.25rem,1120px)}.hero{min-height:auto;padding:4.75rem 0 3rem}h1{font-size:clamp(2.75rem,14vw,4.1rem)}.hero-summary{margin:1.3rem 0;font-size:.95rem}.hero-actions{flex-direction:column}.hero-actions .button{justify-content:center}.hero-panel{padding:1rem}.status-list span{font-size:.68rem}.highlights{gap:.55rem}.highlights article{min-height:5.4rem;padding:.9rem .7rem}.section{padding:4.75rem 0}.section-heading{margin-bottom:2rem}.section-heading h2,.contact h2{font-size:2.45rem}.job-card{padding:1.7rem 0}.job-content li{font-size:.92rem}.project-grid{grid-template-columns:1fr}.project-card.featured,.project-card:last-child:nth-child(odd){grid-column:auto;width:100%}.project-copy{min-height:9.5rem}.project-meta{flex-direction:column;gap:.35rem}.skills-grid{grid-template-columns:1fr}.skill-1,.skill-2,.skill-3,.skill-4,.skill-5{grid-column:auto}.skill-card{min-height:auto}.skill-card h3{margin-top:1.3rem}.contact-actions{flex-direction:column}.contact-actions .button{justify-content:center}.linkedin-card{grid-template-columns:auto 1fr}.linkedin-arrow{display:none}footer{gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
