@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eeeef5;--muted:#9899af;--line:#ffffff1a;--accent:#b1a0ff;--scene-a:36,39,100;--scene-b:60,34,80;color:var(--ink);font-synthesis:none;background:#0b0c13;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:#0b0c13;background:#b1a0ff}.ambient{z-index:-2;background:radial-gradient(ellipse at 80% 15%,rgba(var(--scene-a),.5),transparent 58%),radial-gradient(ellipse at 5% 75%,rgba(var(--scene-b),.28),transparent 55%),#0b0c13;pointer-events:none;transition:background 1.2s;position:fixed;inset:0}.grain{z-index:-1;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:fixed;inset:0}.progress{z-index:100;background:linear-gradient(90deg,#8c7bea,#91e7da);width:0;height:2px;position:fixed;top:0;left:0}.container{width:calc(100% - 112px);max-width:1200px;margin:0 auto}.header{border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;height:96px;display:flex;position:relative}.wordmark{letter-spacing:-1.5px;font:800 23px Manrope,sans-serif}.wordmark span{color:var(--accent)}.nav{color:#b8b8c6;gap:30px;font-size:13px;display:flex}.nav a{transition:color .2s}.nav a:hover,.nav a[aria-current]{color:#fff}.nav-contact{border:1px solid var(--line);border-radius:8px;padding:12px 18px;font-size:12px}.nav-contact span{color:var(--accent);margin-left:16px}.menu-toggle{display:none}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:35px;min-height:735px;padding:75px 0 95px;display:grid;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#b9b7cc;align-items:center;gap:10px;font-size:10px;font-weight:600;display:flex}.status-dot{background:#b1a0ff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 16px #9c86ff}.hero h1{letter-spacing:-5px;margin:29px 0 22px;font-family:Manrope,sans-serif;font-size:clamp(58px,6.5vw,90px);font-weight:500;line-height:1.06}.hero h1 span{color:var(--accent)}.hero-role{letter-spacing:-.4px;margin:0 0 19px;font-size:20px}.hero-summary{max-width:455px;color:var(--muted);font-size:15px;line-height:1.9}.hero-actions{gap:13px;margin:31px 0;display:flex}.button{background:var(--accent);color:#151125;cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:25px;padding:16px 22px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#c4b7ff;transform:translateY(-3px)}.button.secondary{color:var(--ink);border-color:var(--line);background:#ffffff06}.hero-meta{color:var(--muted);align-items:center;gap:20px;margin-top:30px;font-size:11px;display:flex}.hero-meta span+span{border-left:1px solid var(--line);padding-left:20px}.hero-bottom{color:#77798e;letter-spacing:1px;justify-content:space-between;align-items:center;font-size:10px;display:flex;position:absolute;bottom:25px;left:0;right:0}.scroll-hint{align-items:center;gap:10px;display:flex}.scroll-hint b{color:var(--accent);font-size:17px;animation:2s infinite bob;display:inline-block}.hero-art{perspective:1000px;place-items:center;height:490px;display:grid;position:relative}.orb{background:radial-gradient(circle at 35% 27%,#baa5ff1f,#5d449e14 40%,#060613cc 73%);border:1px solid #b09cff14;border-radius:50%;width:320px;height:320px;position:absolute;box-shadow:inset 0 0 45px #7e69db22,0 0 100px #7951bb12}.orbit{border:1px solid #b4a3ff28;border-radius:50%;width:420px;height:420px;position:absolute;transform:rotateX(65deg)rotate(-30deg)}.orbit.two{width:380px;height:380px;transform:rotateY(62deg)rotate(30deg)}.orbit.three{opacity:.25;border-style:dashed;width:470px;height:470px;transform:rotateX(20deg)rotateY(25deg)}.core{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(130deg,#b9a3ff2e,#6c51a00a);border:1px solid #ccb8ff55;border-radius:35px;place-items:center;width:160px;height:160px;display:grid;position:relative;transform:rotate(-12deg);box-shadow:0 0 90px #a27bff20,inset 0 1px 1px #fff3}.core svg{filter:drop-shadow(0 0 20px #ac8dfd77);width:84px}.floating-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#c9c7db;background:#141521e8;border:1px solid #ffffff12;border-radius:8px;align-items:center;gap:9px;padding:11px 15px;font-size:11px;animation:6s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 10px 30px #0002}.floating-tag i{color:#aa9aea;font-size:16px;font-style:normal}.tag-one{top:76px;left:22px}.tag-two{animation-delay:-2s;top:154px;right:-4px}.tag-three{animation-delay:-3s;bottom:104px;left:-4px}.tag-four{animation-delay:-1s;bottom:62px;right:45px}.art-caption{letter-spacing:3px;color:#717086;font:9px monospace;position:absolute;bottom:9px}.tech-strip{border-block:1px solid var(--line);color:#c1c0ce;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:27px 0;display:flex}.tech-strip .label{letter-spacing:1.6px;color:#77798e;font-size:9px}.tech-strip .tech{align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:16px;font-weight:700;display:flex}.tech em{color:#9891b4;font-size:20px;font-style:normal}.section{padding:115px 0;position:relative}.section-top{letter-spacing:2px;color:var(--accent);text-transform:uppercase;align-items:center;gap:14px;margin-bottom:24px;font-size:10px;display:flex}.section-top span{color:#66697e;font:10px monospace}.section-top:after{content:"";background:#b1a0ff40;width:45px;height:1px}.section h2{letter-spacing:-2px;margin:0;font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.2}.section h2 .soft{color:#9290a9}.section-intro{color:var(--muted);max-width:500px;margin:20px 0 0;font-size:14px;line-height:1.9}.about-layout{grid-template-columns:1fr 1.05fr;gap:90px;display:grid}.about-copy{color:#abaabe;font-size:15px;line-height:1.9}.about-copy p{margin:0 0 20px}.about-copy strong{color:#e3dfee;font-weight:500}.facts{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;display:grid}.fact{border-top:1px solid var(--line);padding-top:23px}.fact strong{color:#d9ceff;letter-spacing:-1px;font:500 28px Manrope,sans-serif;display:block}.fact span{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.7;display:block}.section-head{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px;display:flex}.section-head .section-intro{max-width:320px;margin:0}.timeline{border-top:1px solid var(--line)}.job{border-bottom:1px solid var(--line);grid-template-columns:210px 1fr;gap:40px;padding:38px 0;display:grid}.job-date{color:#9e96b5;padding-top:7px;font:11px/1.7 monospace}.job-date .current{color:#9bdbca;letter-spacing:1.5px;margin-top:13px;font:9px DM Sans,sans-serif;display:block}.job h3{letter-spacing:-.5px;margin:0 0 8px;font:500 22px Manrope,sans-serif}.company{color:var(--accent);margin-bottom:20px;font-size:12px}.job ul{color:var(--muted);margin-bottom:21px;padding-left:16px;font-size:13px;line-height:1.9}.job li{margin-bottom:6px;padding-left:5px}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{color:#b7b2ca;background:#ffffff04;border:1px solid #ffffff0e;border-radius:5px;padding:6px 10px;font-size:10px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.skill-card{border:1px solid var(--line);background:linear-gradient(130deg,#ffffff04,#0000);border-radius:12px;padding:30px;transition:transform .25s,border-color .25s}.skill-card:hover{border-color:#ae9bff55;transform:translateY(-5px)}.card-icon{width:39px;height:39px;color:var(--accent);background:#b1a0ff08;border:1px solid #b1a0ff25;border-radius:10px;place-items:center;margin-bottom:35px;font:17px monospace;display:grid}.skill-card h3{letter-spacing:-.5px;font:500 18px Manrope,sans-serif}.skill-card p{color:var(--muted);min-height:65px;font-size:12px;line-height:1.9}.skill-card .tags{margin-top:24px}.education-grid{grid-template-columns:1.1fr 1fr;gap:70px;display:grid}.education-list{margin-top:32px}.education-item{border-top:1px solid var(--line);padding:22px 0}.education-item .date{color:var(--accent);font:10px monospace}.education-item h3{margin:10px 0 6px;font-size:16px;font-weight:500;line-height:1.5}.education-item p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.language{border-bottom:1px solid var(--line);justify-content:space-between;padding:18px 0;font-size:13px;display:flex}.language span{color:var(--muted)}.contact{text-align:center;border-top:1px solid var(--line);padding:95px 0 75px}.contact .section-top{justify-content:center}.contact .section-top:after{display:none}.contact h2{letter-spacing:-3px;font-size:clamp(42px,6vw,72px);line-height:1.16}.contact p{color:var(--muted);max-width:450px;margin:25px auto;font-size:14px;line-height:1.8}.contact-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:30px 0 35px;display:flex}.contact-links{color:#aaa4ba;flex-wrap:wrap;justify-content:center;gap:25px;font-size:12px;display:flex}.contact-links a:hover{color:#fff}.footer{border-top:1px solid var(--line);color:#78768b;justify-content:space-between;align-items:center;padding:25px 0;font-size:10px;display:flex}.footer .wordmark{color:#c5bfd5;font-size:19px}.footer a:last-child{font-size:11px}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(25px)}.js-motion .reveal.visible{opacity:1;transform:none}.toast{color:#191125;z-index:50;background:#d7ccff;border-radius:8px;padding:13px 23px;font-size:13px;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}@keyframes float{50%{transform:translateY(-10px)}}@keyframes bob{50%{transform:translateY(4px)}}@media (width>=1500px){.hero{min-height:800px}}@media (width<=1050px){.container{width:calc(100% - 64px)}.hero{gap:0;min-height:700px}.hero h1{font-size:70px}.hero-art{transform-origin:50%;transform:scale(.84)}.about-layout{gap:45px}.skills-grid{gap:12px}.skill-card{padding:24px}.nav{gap:22px}.tech-strip{justify-content:center}.tech-strip .label{text-align:center;width:100%}.job{grid-template-columns:160px 1fr}}@media (width<=760px){.container{width:calc(100% - 40px)}.header{height:78px}.nav-contact{display:none}.menu-toggle{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:6px;padding:8px 12px;font-size:12px;display:block}.nav{border:1px solid var(--line);background:#141320;border-radius:10px;flex-direction:column;gap:24px;padding:25px;display:none;position:absolute;top:70px;left:0;right:0}.nav.open{display:flex}.hero{flex-direction:column;align-items:stretch;gap:0;padding:60px 0 65px;display:flex}.hero h1{letter-spacing:-4px;font-size:66px}.hero-role{font-size:18px}.hero-summary{font-size:14px}.hero-art{height:390px;margin:-10px -20px -35px;transform:scale(.8)}.hero-bottom{font-size:8px;bottom:18px}.hero-bottom>span{display:none}.hero-meta{font-size:10px}.hero-actions{gap:10px}.button{gap:15px;padding:15px 18px}.tech-strip{gap:24px;padding:25px 0}.tech-strip .tech{font-size:13px}.section{padding:75px 0}.about-layout,.education-grid{grid-template-columns:1fr;gap:32px}.about-copy{font-size:14px}.facts{gap:10px;margin-top:28px}.fact strong{font-size:26px}.section-head{margin-bottom:30px;display:block}.section-head .section-intro{margin-top:20px}.section h2{letter-spacing:-1.5px}.job{grid-template-columns:1fr;gap:15px;padding:30px 0}.job-date{align-items:center;gap:20px;display:flex}.job-date .current{margin:0}.job h3{font-size:20px}.skills-grid{grid-template-columns:1fr}.skill-card p{min-height:0}.card-icon{margin-bottom:22px}.contact{padding:70px 0 55px}.contact h2{letter-spacing:-2px}.contact-links{gap:18px}.footer{flex-wrap:wrap;gap:15px}.footer>span{font-size:9px}}.role-slash{color:#676077;margin:0 5px}.skip-link{color:#181222;z-index:200;background:#c4b7ff;border-radius:6px;padding:15px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.project-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.project-card{border:1px solid var(--line);background:#ffffff03;border-radius:12px;transition:border-color .3s;overflow:hidden}.project-card:hover{border-color:#b1a0ff55}.project-body{padding:28px 30px}.project-label{letter-spacing:1.7px;color:var(--accent);margin-bottom:13px;font-size:9px}.project-body h3{letter-spacing:-.7px;margin:0 0 14px;font:500 23px Manrope,sans-serif}.project-body p{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.9}.project-visual{border-bottom:1px solid var(--line);background:radial-gradient(#6c579226,#0000 75%),#10121c;justify-content:center;align-items:center;height:230px;display:flex;position:relative}.mini-window{background:#181725;border:1px solid #a291c933;border-radius:8px;width:80%;max-width:365px;padding-bottom:17px;transform:rotate(-3deg);box-shadow:0 20px 40px #0004}.window-bar{border-bottom:1px solid var(--line);color:#8d86a1;padding:13px;font:9px monospace}.window-bar>span{color:#9d8bc1;letter-spacing:3px;margin-right:20px}.pipeline-nodes{justify-content:center;align-items:center;gap:12px;padding:27px 12px 34px;display:flex}.pipeline-nodes>span{color:#b6a4e4;border:1px solid #b1a0ff44;border-radius:50%;place-items:center;width:27px;height:27px;font-size:12px;display:grid;position:relative}.pipeline-nodes i{color:#615171;font-size:12px}.pipeline-nodes small{color:#a09bb2;font:8px monospace;position:absolute;top:36px}.pipeline-nodes .approve-node{color:#1b142b;background:#b1a0ff;box-shadow:0 0 20px #a188f044}.approval-line{border:1px solid var(--line);color:#bcb5cd;background:#ffffff03;border-radius:5px;align-items:center;gap:8px;margin:12px 15px 0;padding:10px 8px;font-size:8px;display:flex}.approval-line b{color:#9ad2bc}.approval-line>span{color:#9ad2bc;margin-left:auto;font-size:7px}.desk-visual{background:radial-gradient(#2c6c6a20,#0000 75%),#10151c;flex-direction:column;gap:28px}.desk-grid{grid-template-columns:repeat(3,57px);gap:24px 22px;display:grid;transform:rotate(-12deg)skew(7deg)}.desk-grid>span{background:#a1d8c410;border:1px solid #92bfb144;border-radius:5px;width:57px;height:35px;position:relative}.desk-grid>span:after{content:"";background:#253c39;border:1px solid #a1d8c430;border-radius:3px;width:21px;height:6px;position:absolute;bottom:-9px;left:17px}.desk-grid .reserved{background:#9e8acb55;border-color:#b1a0ff66}.visual-note{letter-spacing:1px;color:#8f9f9f;align-items:center;gap:9px;font:9px monospace;display:flex}.visual-note .status-dot{box-shadow:none;background:#93cdb8;width:4px;height:4px}.learning-strip{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:25px;margin-top:20px;padding:25px 27px;display:flex}.learning-strip>div:first-child{grid-template-columns:25px 1fr;gap:5px 10px;display:grid}.learning-dot{color:var(--accent);grid-row:span 2;font-size:25px}.learning-strip strong{font-size:12px;font-weight:500}.learning-strip small{color:var(--muted);font-size:10px}.education-item p.thesis{margin-top:15px}@media (width<=760px){.project-grid{grid-template-columns:1fr}.project-body{padding:25px}.project-visual{height:210px}.learning-strip{flex-direction:column;align-items:flex-start;padding:22px}.hero-role{font-size:16px}.hero-meta{flex-wrap:wrap;gap:12px}.hero-meta span+span{padding-left:12px}.project-body h3{font-size:21px}}@media (width<=380px){.hero h1{font-size:59px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-art{margin-inline:-40px;transform:scale(.67)}.hero-meta span+span{border:0;padding-left:0}}body{isolation:isolate}.page-background{z-index:-3;pointer-events:none;background:#0b0c13;position:fixed;inset:0;overflow:hidden}.background-image{object-fit:cover;object-position:center;opacity:0;width:100%;height:100%;position:absolute;inset:0}.background-image:first-child{opacity:1}.ambient{background:linear-gradient(90deg,#080a13e8,#080a13c4 55%,#080a13ab),linear-gradient(#0000 35%,#080a1359);transition:none}.skill-card,.project-card,.contact-form{background-color:#0c0e19a6}@media (width<=760px){.ambient{background:#080a13d6}}.hero-art{overflow:clip}.portrait-art{overflow:visible}.portrait-halo{background:radial-gradient(circle,#9a7bce2e,#0000 70%);border:1px solid #b1a0ff15;border-radius:50%;width:420px;height:420px;position:absolute}.portrait-frame{background:#171722;border:1px solid #c8b5ff40;border-radius:25px;width:350px;margin:0;position:relative;overflow:hidden;transform:rotate(3deg);box-shadow:0 25px 100px #0005}.portrait-frame img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.portrait-frame figcaption{background:linear-gradient(110deg,#232033,#151521);justify-content:space-between;align-items:center;gap:15px;padding:21px 25px;display:flex}.portrait-frame figcaption span{font:500 15px Manrope,sans-serif}.portrait-frame figcaption small{letter-spacing:1.3px;color:var(--accent);font-size:8px}.portrait-art .tag-one{z-index:2;top:73px;left:0}.portrait-art .tag-four{z-index:2;bottom:56px;right:0}.contact-form{text-align:left;border:1px solid var(--line);background:#ffffff03;border-radius:14px;max-width:690px;margin:36px auto;padding:30px;position:relative}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{color:#c9c3d7;margin-bottom:20px;font-size:12px;display:block}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);background:#0d0e18aa;border:1px solid #ffffff20;border-radius:7px;outline:none;margin-top:9px;padding:13px 14px;font:14px DM Sans,sans-serif;transition:border-color .2s;display:block}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b1a0ff15}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#888397}.contact-form .form-note{max-width:none;margin:16px 0 22px;font-size:11px;line-height:1.7}.form-submit{align-items:center;gap:20px;display:flex}.form-status{color:#bcb2d2;flex:1;font-size:12px;line-height:1.7}.form-submit .button{flex-shrink:0}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#contact-challenge{min-width:0}@media (width<=760px){.portrait-art{height:410px;margin:10px -20px -20px;transform:scale(.85)}.portrait-frame{width:320px}.portrait-halo{width:350px;height:350px}.portrait-art .tag-one{top:37px;left:9px}.portrait-art .tag-four{bottom:15px;right:5px}.contact-form{padding:22px 18px}.form-row{grid-template-columns:1fr;gap:0}.form-submit{flex-direction:column;align-items:flex-start;gap:16px}}@media (width<=380px){.portrait-art{margin-inline:-20px;transform:scale(.75)}.portrait-frame{width:300px}.portrait-halo{width:320px;height:320px}.contact-form{padding:20px 12px}#contact-challenge{margin-inline:-10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}.pizza-entry{z-index:3;-webkit-backdrop-filter:blur(6px);background:#10131c80;border:1px solid #a395ee18;border-radius:10px;grid-template-columns:22px 1fr;gap:6px 10px;width:200px;padding:16px;transition:transform .2s,border-color .2s,background .2s;display:grid;position:absolute;top:100px;left:32%}.pizza-entry-icon{color:#a29ab9;grid-row:span 2;width:22px;height:22px}.pizza-entry-title{letter-spacing:-.2px;color:#c4c0d2;font:500 14px Manrope,sans-serif}.pizza-entry-subtitle{color:#aaa6b9;grid-column:1/-1;font-size:10px;line-height:1.6}.pizza-entry-cta{color:#aaa1c5;grid-column:1/-1;justify-content:space-between;margin-top:5px;font-size:10px;display:flex}.pizza-entry:hover{background:#10131ca8;border-color:#a395ee38;transform:translateY(-2px)}@media (width<=1199px){.pizza-entry{grid-area:2/1/auto/-1;max-width:100%;margin:12px 0 25px;position:relative;top:auto;left:auto}}@media (width<=760px){.pizza-entry{order:1;margin:25px 0 15px}.hero-bottom{order:2}}
