@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#f3f1ff;background:#090719;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}:root{--ink: #f3f1ff;--muted: #a8a5c8;--night: #090719;--space: #100d29;--violet: #876bff;--lilac: #c7b8ff;--cyan: #80f0ff;--line: rgba(215, 208, 255, .18);--serif: "Playfair Display", Georgia, serif;--mono: "DM Mono", monospace}main{overflow:hidden;background:var(--night)}.site-header{height:84px;max-width:1240px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;color:var(--ink)}.brand{font:600 30px/1 var(--serif);letter-spacing:-1.7px}.brand span,em{color:var(--cyan)}.site-header nav{display:flex;gap:34px;font-size:13px}.site-header nav a{transition:color .2s}.site-header nav a:hover,footer a:hover{color:var(--cyan)}.menu-toggle{display:none;color:inherit;background:transparent;border:0;padding:8px}.hero{min-height:643px;max-width:1240px;margin:auto;padding:74px 32px 52px;position:relative;display:grid;grid-template-columns:1fr 440px;align-items:center;color:var(--ink)}.hero:before{content:"";position:absolute;width:580px;height:580px;top:-250px;left:-290px;border-radius:50%;background:radial-gradient(circle,rgba(91,59,226,.25),transparent 67%);pointer-events:none}.eyebrow{margin:0 0 22px;color:var(--lilac);font:11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow span{display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;background:var(--cyan);border-radius:50%;box-shadow:0 0 10px var(--cyan)}h1,h2,h3,p{margin-top:0}.hero h1{max-width:680px;margin-bottom:25px;font:500 clamp(52px,6.1vw,82px)/.98 var(--serif);letter-spacing:-.065em}.hero h1 em,h2 em{font-weight:500}.hero-intro{max-width:410px;margin-bottom:30px;font-size:17px;line-height:1.55;color:var(--muted)}.hero-links{display:flex;align-items:center;gap:22px}.text-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--lilac);padding-bottom:5px;font-weight:600;font-size:14px}.cv-link{display:inline-flex;align-items:center;gap:7px;color:var(--cyan);font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em}.cv-link span{font-size:18px}.arrow{font-size:20px;line-height:12px;transition:transform .2s}.text-link:hover .arrow,.project-info a:hover .arrow,.contact-email:hover .arrow{transform:translate(3px,-3px)}.hero-art{height:420px;position:relative;overflow:hidden;border:1px solid rgba(196,182,255,.25);border-radius:220px 220px 24px 24px;background:radial-gradient(circle at 70% 25%,#38266b 0,#151033 35%,#090719 74%);box-shadow:inset 0 0 60px #7957ff38,0 22px 60px #00000038}.hero-art:after{content:"";position:absolute;width:240px;height:240px;left:-120px;bottom:-150px;border:1px solid rgba(128,240,255,.35);border-radius:50%;box-shadow:0 0 0 32px #80f0ff09,0 0 0 64px #80f0ff06}.star-field i{position:absolute;width:3px;height:3px;background:#fff;border-radius:50%;box-shadow:0 0 8px #fff}.star-field i:nth-child(1){top:14%;left:19%}.star-field i:nth-child(2){top:22%;right:16%;width:5px;height:5px}.star-field i:nth-child(3){top:46%;left:13%}.star-field i:nth-child(4){top:59%;right:9%}.star-field i:nth-child(5){top:74%;left:28%;width:2px;height:2px}.star-field i:nth-child(6){top:7%;left:51%}.star-field i:nth-child(7){top:34%;left:42%;width:2px;height:2px}.star-field i:nth-child(8){top:78%;right:26%}.planet{position:absolute;z-index:1;width:190px;height:190px;top:105px;left:50%;transform:translate(-50%);overflow:hidden;border-radius:50%;background:radial-gradient(circle at 34% 29%,#e7dfff 0,#e7dfff 5%,#ae97ff 16%,#6442c1 52%,#271657);box-shadow:inset -22px -13px 30px #0b0524b3,0 0 34px #906dff99}.planet span{position:absolute;width:230px;height:30px;top:84px;left:-21px;transform:rotate(-18deg);border-radius:50%;background:#e4daff40;box-shadow:0 46px #2d17662e}.planet-ring{position:absolute;z-index:2;width:290px;height:78px;top:163px;left:50%;transform:translate(-50%) rotate(-16deg);border:13px solid rgba(184,254,255,.82);border-left-color:#b8feff59;border-radius:50%;box-shadow:0 0 18px #80f0ff38}.moon{position:absolute;z-index:2;border-radius:50%;background:#d8d1f7;box-shadow:inset -5px -4px 8px #7265a6,0 0 13px #d8d1f78c}.moon-one{width:26px;height:26px;top:75px;right:67px}.moon-two{width:12px;height:12px;bottom:86px;left:68px}.hero-portrait{position:absolute;z-index:3;width:294px;height:294px;right:27px;bottom:45px;overflow:hidden;border:3px solid rgba(128,240,255,.88);border-radius:50%;background:#1b1640;box-shadow:0 0 0 9px #80f0ff1a,0 0 35px #80f0ff40,0 18px 28px #00000059}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-art p{position:absolute;z-index:4;left:38px;bottom:32px;margin:0;color:var(--ink);font:italic 32px/.86 var(--serif);letter-spacing:-2px}.scroll-note{position:absolute;bottom:1px;left:32px;color:var(--muted);font:11px var(--mono)}.scroll-note span{margin-left:8px;color:var(--cyan);font-size:16px}.section{padding:120px max(32px,calc((100vw - 1176px)/2))}.projects{position:relative;background:#0e0b23;color:var(--ink)}.projects:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.45;background-image:radial-gradient(rgba(199,184,255,.42) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 76%);mask-image:linear-gradient(to bottom,black,transparent 76%);pointer-events:none}.section-heading,.project-grid{position:relative}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.section-heading h2,.about h2,.contact h2{margin-bottom:0;font:500 clamp(42px,4.4vw,61px)/1 var(--serif);letter-spacing:-.06em}.heading-note{width:282px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-visual{height:324px;position:relative;overflow:hidden;border:1px solid var(--line);background-color:#181338}.project-number{position:absolute;z-index:3;top:19px;left:20px;color:#f3f1ffb3;font:11px var(--mono)}.mockup{position:absolute;z-index:2;border:1px solid rgba(235,232,255,.2);border-radius:9px 9px 0 0;overflow:hidden;box-shadow:0 17px 31px #00000059}.mockup-bar{height:21px;padding:8px;display:flex;gap:4px}.mockup-bar i{width:5px;height:5px;border-radius:50%;background:currentColor}.mockup-content{height:220px}.project-cosecha{background:radial-gradient(circle at 76% 20%,#705ed4,transparent 18%),#171333}.project-cosecha .mockup{width:208px;right:44px;bottom:-24px;background:#171334;color:var(--cyan);transform:rotate(-6deg)}.project-cosecha .mockup-content{margin:17px;height:186px;border-radius:6px;background:radial-gradient(circle at 70% 32%,#ffb3d9 0 16px,transparent 17px),linear-gradient(142deg,#34285f 0,#34285f 44%,#9478f7 44%)}.project-cosecha:after{content:"";position:absolute;width:184px;height:184px;bottom:-48px;left:20px;border:18px solid #d5c9ff;border-radius:50%;box-shadow:inset -20px -12px #7761c7}.project-lumen{background:radial-gradient(circle at 30% 30%,#325a75,transparent 32%),#0e1b31}.project-lumen .mockup{width:270px;height:205px;right:-20px;top:68px;background:#101b34;color:#e2dcff;transform:rotate(4deg)}.project-lumen .mockup-content{height:184px;margin:0 13px;background:linear-gradient(126deg,transparent 0 42%,#82efff 42% 44%,transparent 44%),repeating-linear-gradient(90deg,#2b405d 0 52px,transparent 52px 64px),linear-gradient(#38276a 0,#38276a 55px,#172642 55px)}.project-lumen:after{content:"✦";position:absolute;left:42px;bottom:30px;color:var(--cyan);font-size:105px;text-shadow:0 0 25px var(--cyan)}.project-volta{background:radial-gradient(circle at 66% 32%,#343f91,transparent 28%),#12102d}.project-volta .mockup{width:144px;right:65px;bottom:-15px;background:#eff0ff;color:#473a92;border-radius:18px 18px 0 0}.project-volta .mockup-bar{display:none}.project-volta .mockup-content{height:260px;margin:13px 10px;border-radius:10px;background:radial-gradient(circle at 72% 27%,#f4ecff 0 7px,transparent 8px),linear-gradient(150deg,#302c6f 40%,#80f0ff 40%,#80f0ff 43%,#7461d1 43%,#7461d1 64%,#d7ceff 64%)}.project-volta:after{content:"";width:116px;height:116px;border:17px solid #d3c7ff;border-right-color:transparent;border-radius:50%;position:absolute;bottom:40px;left:37px;transform:rotate(-30deg)}.project-info{display:flex;justify-content:space-between;align-items:end;padding-top:20px}.project-info p{margin-bottom:5px;color:var(--muted);font:10px var(--mono);text-transform:uppercase}.project-info h3{margin:0;font:500 30px var(--serif);letter-spacing:-.04em}.project-info a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--lilac);border-radius:50%;color:var(--cyan)}.project-description{margin:17px 0 15px;color:var(--muted);font-size:14px;line-height:1.5}.tag-list{padding:0;display:flex;flex-wrap:wrap;gap:7px;list-style:none}.tag-list li{padding:5px 8px;border:1px solid var(--line);border-radius:2px;color:var(--lilac);font:9px var(--mono)}.about{min-height:620px;display:grid;grid-template-columns:.75fr 1.4fr 1fr;gap:66px;align-items:center;position:relative;background:linear-gradient(115deg,#171142,#0a0920 60%);color:var(--ink)}.about:after{content:"";position:absolute;width:420px;height:420px;top:-270px;right:-130px;border:1px solid rgba(128,240,255,.25);border-radius:50%;box-shadow:0 0 0 55px #80f0ff06,0 0 0 110px #80f0ff05}.about-mark{position:relative;z-index:1;color:var(--lilac);font:190px/.7 var(--serif);letter-spacing:-20px}.about-mark i{display:inline-block;width:44px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan);transform:rotate(-25deg) translate(54px,-72px)}.about-copy,.skills{position:relative;z-index:1}.about-copy .eyebrow{color:var(--lilac)}.about-copy h2{margin-bottom:27px}.about-copy p:not(.eyebrow){max-width:490px;color:var(--muted);font-size:15px;line-height:1.65}.about-copy .text-link{margin-top:10px;border-color:var(--lilac)}.skills{align-self:end;padding-bottom:17px}.skills>p{margin-bottom:22px;color:var(--lilac);font:10px var(--mono);text-transform:uppercase}.skills ul{padding:0;margin:0;list-style:none}.skills li{padding:13px 0;border-top:1px solid var(--line);font-size:13px}.skills li:last-child{border-bottom:1px solid var(--line)}.skills span{display:inline-block;width:34px;color:var(--cyan);font:10px var(--mono)}.carousel{width:100%;overflow:hidden}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.carousel-controls>p{margin:0;color:var(--lilac);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.carousel-controls>div{display:flex;gap:7px}.carousel-controls button{width:31px;height:31px;color:var(--cyan);border:1px solid var(--line);border-radius:50%;background:#80f0ff0a;cursor:pointer;transition:background .2s,border-color .2s}.carousel-controls button:hover,.carousel-controls button:focus-visible{border-color:var(--cyan);background:#80f0ff21;outline:none}.carousel-track{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 14px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--violet) transparent;scroll-snap-type:x mandatory}.carousel-track::-webkit-scrollbar{height:5px}.carousel-track::-webkit-scrollbar-thumb{border-radius:4px;background:var(--violet)}.tech-card,.course-card{flex:0 0 172px;min-height:114px;scroll-snap-align:start;border:1px solid var(--line);background:linear-gradient(140deg,#6b51da2e,#0d0b2285)}.tech-card{padding:20px;display:flex;flex-direction:column;justify-content:space-between}.tech-card img{width:35px;height:35px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(128,240,255,.16))}.tech-card h3,.course-card h3{margin:0;font:500 22px/1 var(--serif);letter-spacing:-.035em}.course-card{flex-basis:277px;min-height:190px;padding:23px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.course-card p{margin:0;color:var(--cyan);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.course-card h3{font-size:25px;line-height:1.05}.course-card span{color:var(--muted);font-size:12px;line-height:1.4}.courses{position:relative;background:#12102d;color:var(--ink)}.courses:after{content:"";position:absolute;width:390px;height:390px;right:-190px;bottom:-250px;border:1px solid rgba(128,240,255,.22);border-radius:50%;box-shadow:0 0 0 35px #80f0ff06}.courses .section-heading,.courses .carousel{position:relative;z-index:1}.trajectory{background:#0e0b23;color:var(--ink)}.trajectory-list{border-top:1px solid var(--line)}.trajectory-list article{display:grid;grid-template-columns:170px 1fr;gap:28px;padding:29px 0;border-bottom:1px solid var(--line)}.trajectory-list article>p{margin:3px 0 0;color:var(--cyan);font:11px var(--mono)}.trajectory-list h3{margin:0 0 6px;font:500 27px/1.1 var(--serif);letter-spacing:-.03em}.trajectory-list h4{margin:0 0 13px;color:var(--lilac);font:11px var(--mono);font-weight:400;text-transform:uppercase;letter-spacing:.05em}.trajectory-list span{max-width:600px;display:block;color:var(--muted);font-size:14px;line-height:1.55}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}.credentials p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.credentials strong{display:block;margin-bottom:8px;color:var(--cyan);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.contact{min-height:470px;position:relative;overflow:hidden;padding:105px 32px;text-align:center;background:#d9d2ff;color:#130c33}.contact:before,.contact:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(70,44,153,.3)}.contact:before{width:630px;height:630px;top:-455px;left:50%;transform:translate(-50%);box-shadow:0 0 0 34px #462c990d,0 0 0 68px #462c990a}.contact:after{width:12px;height:12px;bottom:70px;right:18%;background:var(--violet);box-shadow:-270px -70px 0 -2px var(--cyan),120px -100px 0 -4px #5d46be}.contact .eyebrow,.contact h2,.contact-email,.contact-meta{position:relative;z-index:1}.contact .eyebrow{margin-bottom:19px;color:#46308e}.contact .eyebrow span{background:#46308e;box-shadow:none}.contact h2{font-size:clamp(59px,6.7vw,90px)}.contact h2 em{color:#7356d8}.contact-email{display:inline-flex;gap:8px;margin-top:30px;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:16px;font-weight:600}.contact-meta{margin:17px 0 0;color:#594b8e;font:11px var(--mono)}.contact-spark{position:absolute;z-index:1;top:58px;left:calc(50% + 230px);color:var(--violet);font:85px/.5 var(--serif)}footer{min-height:88px;max-width:1240px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:10px var(--mono)}footer div{display:flex;gap:21px}@media (max-width: 800px){.site-header{height:70px;padding:0 22px}.menu-toggle{display:flex;flex-direction:column;gap:5px;z-index:3}.menu-toggle i{display:block;width:21px;height:1px;background:var(--ink)}.site-header nav{display:none}.site-header nav.nav-open{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;height:100vh;padding:100px 22px;display:flex;flex-direction:column;background:#151034;font:500 42px var(--serif)}.hero{min-height:auto;padding:63px 22px 40px;grid-template-columns:1fr}.hero h1{font-size:clamp(48px,14vw,72px)}.hero-art{width:min(100%,420px);height:390px;margin:54px auto 0}.hero-portrait{width:270px;height:270px;right:50%;bottom:48px;transform:translate(50%)}.scroll-note{display:none}.section{padding:83px 22px}.section-heading{display:block;margin-bottom:39px}.section-heading h2{font-size:46px}.heading-note{width:auto;margin-top:20px}.project-grid{grid-template-columns:1fr;gap:52px}.project-visual{height:min(79vw,355px)}.about{grid-template-columns:1fr;gap:44px}.about-mark{display:none}.about h2{font-size:45px}.skills{align-self:auto;padding:0}.tech-card{flex-basis:148px}.course-card{flex-basis:min(82vw,286px)}.trajectory-list article{grid-template-columns:1fr;gap:10px}.trajectory-list h3{font-size:24px}.credentials{grid-template-columns:1fr;gap:20px}.contact{min-height:405px;padding:89px 22px}.contact-spark{top:36px;left:auto;right:33px}.contact h2{font-size:61px}footer{padding:26px 22px;min-height:130px;align-items:flex-start;flex-wrap:wrap;gap:21px}footer>a{width:100%;order:3}}@media (max-width: 390px){.hero h1{font-size:47px}.project-visual{height:290px}.hero-art{height:350px}.about h2{font-size:40px}.planet{transform:translate(-50%) scale(.88)}.planet-ring{transform:translate(-50%) rotate(-16deg) scale(.88)}}@media (prefers-reduced-motion: reduce){.carousel-track{scroll-behavior:auto}}.about{grid-template-columns:.75fr 1.4fr}.skills{grid-column:1 / -1;width:min(100%,920px);justify-self:center;align-self:auto;padding:12px 0 0}.carousel-tech .carousel-controls{justify-content:center}.carousel-tech .carousel-track{width:max-content;overflow:visible;padding-bottom:2px;scrollbar-width:none;scroll-snap-type:none;animation:technology-marquee 30s linear infinite}.carousel-tech .carousel-track::-webkit-scrollbar{display:none}.carousel-tech:hover .carousel-track,.carousel-tech:focus-within .carousel-track{animation-play-state:paused}@keyframes technology-marquee{to{transform:translate(calc(-50% - 6px))}}@media (max-width: 800px){.about{grid-template-columns:1fr}.skills{grid-column:auto;width:100%}}@media (prefers-reduced-motion: reduce){.carousel-tech .carousel-track{animation:none}}
