@import"https://fonts.googleapis.com/css2?family=Oswald:wght@500;700&family=Manrope:wght@400;500;700&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg: #03040a;--text: #f4f6ff;--text-dim: #a4adcc;--text-faint: #5f6788;--blue: #9fb8ff;--line: rgba(159, 184, 255, .18);--big-font: "Oswald", Impact, sans-serif;--body-font: "Manrope", system-ui, sans-serif;--code-font: "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:70px}body{background:var(--bg);color:var(--text);font-family:var(--body-font);font-size:17px;line-height:1.7;overflow-x:hidden}a{color:inherit}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.page{animation:pageIn .6s ease}.stars{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2}.shade{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% 0%,#0f2350 0%,transparent 60%),linear-gradient(#081330,#050a1c 55%,#03040a)}.toggle{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border:1px solid rgba(159,184,255,.3);border-radius:50px;background:#050a1a8c;font-weight:700;font-size:14px;white-space:nowrap}.switch{position:relative;width:40px;height:22px;border-radius:50px;background:#1a2240;transition:background .3s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-dim);transition:transform .3s}.toggle.on .switch{background:#ff3b30}.toggle.on .switch:after{transform:translate(18px);background:#fff}.topbar{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#040816cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transform:translateY(-110%);transition:transform .4s}.topbar.show{transform:translateY(0)}.topbar-left{display:flex;align-items:center;gap:16px}.brand{font-family:var(--big-font);font-weight:700;font-size:21px;letter-spacing:1px;text-decoration:none}.nav{display:flex;gap:24px}.nav a{text-decoration:none;color:var(--text-dim);font-size:15px}.nav a:hover{color:var(--text)}.menu-button{display:none;font-weight:700}.intro{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;overflow:hidden}.name{font-family:var(--big-font);font-weight:700;font-size:clamp(48px,9.5vw,140px);line-height:.95;text-transform:uppercase;animation:nameIn 1.2s ease}.role{margin-top:24px;font-family:var(--big-font);font-weight:500;font-size:clamp(22px,3.2vw,38px);letter-spacing:3px;text-transform:uppercase;color:var(--blue);animation:roleIn .6s ease}.intro-toggle{margin-top:30px;opacity:0;animation:fadeIn .8s ease 1s forwards}.scroll-arrow{position:absolute;bottom:40px;left:50%;width:18px;height:18px;margin-left:-9px;border-right:3px solid var(--text-dim);border-bottom:3px solid var(--text-dim);transform:rotate(45deg);animation:bounce 1.8s ease-in-out infinite}.section{max-width:1080px;margin:0 auto;padding:120px 40px}.title{font-family:var(--big-font);font-weight:700;font-size:clamp(40px,6.5vw,76px);line-height:1;text-transform:uppercase;margin-bottom:40px}h3{font-family:var(--big-font);font-weight:500}#about{padding-top:40px}.about-text{max-width:64ch;font-size:20px;line-height:1.75;color:#d5dbf2}.skills{position:relative;overflow:hidden;background:#020308;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.code-rain{position:absolute;top:0;left:0;width:100%;height:100%;font-family:var(--code-font);font-size:13px;color:#8cafff24;animation:glitchJump 4s infinite}.code-rain p{width:max-content;white-space:nowrap;line-height:22px;animation:slideLeft 40s linear infinite}.code-rain p:nth-child(2n){animation-direction:reverse;color:#8cafff14}.code-rain:after{content:"";position:absolute;left:0;right:0;height:80px;background:linear-gradient(transparent,#8cafff1a);animation:scan 5s linear infinite}.skills .section{position:relative}.skills .title{font-family:var(--code-font);font-weight:600}.glitch{position:relative;display:inline-block}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;opacity:.8}.glitch:before{color:#00ffe0;animation:glitchA 3s infinite}.glitch:after{color:#ff2d7a;animation:glitchB 3s infinite}.skill-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:40px 60px;font-family:var(--code-font)}.skill-group h3{font-family:var(--code-font);font-size:17px;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}.skill-group ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px}.skill-group li{font-size:15px;color:#e7ebfa}.timeline{position:relative;padding-left:50px}.timeline:before{content:"";position:absolute;left:8px;top:6px;bottom:0;width:2px;background:var(--line)}.line-fill{position:absolute;left:8px;top:6px;width:2px;background:linear-gradient(#cfdcff,var(--blue),#5b7cff)}.line-dot{position:absolute;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 24px 6px #9fb8ff8c;z-index:2}.stop{position:relative;padding-bottom:64px}.stop:last-child{padding-bottom:6px}.stop:before{content:"";position:absolute;left:-47px;top:8px;width:12px;height:12px;border-radius:50%;border:2px solid var(--text-faint);background:#050a1c;transition:all .4s}.stop.reached:before{border-color:var(--blue);background:var(--blue)}.stop-row{display:flex;gap:20px;align-items:flex-start;max-width:70ch}.stop-text{flex:1}.dates{color:var(--blue);font-weight:700;font-size:15px}.stop h3{font-size:clamp(24px,3vw,34px);line-height:1.15;margin-top:4px}.place{color:var(--text-dim);margin-top:4px}.stop ul{margin-top:14px;padding-left:18px;max-width:70ch;color:var(--text-dim)}.stop li{margin-top:6px}.logo{width:64px;height:64px;flex-shrink:0;border-radius:12px;object-fit:cover;background:#fff}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:36px}.project-image{position:relative;aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:10px;background:#081028;overflow:hidden}.project-blur{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(24px) brightness(.55);transform:scale(1.2)}.project-photo{position:relative;display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s}.project:hover .project-photo{transform:scale(1.04)}.project h3{margin-top:18px;font-size:24px;line-height:1.2}.project p{margin-top:10px;color:var(--text-dim)}.project .project-tools{margin-top:4px;font-size:14px;color:var(--blue)}.link{display:inline-block;margin-top:14px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--blue)}.link:hover{color:var(--blue)}.certs{border-top:1px solid var(--line)}.cert{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.cert-text{flex:1}.cert-name{font-weight:700;font-size:18px}.cert-from{color:var(--text-faint)}.cert .link{margin-top:0;white-space:nowrap}.contact{background:#05060c;border-top:1px solid var(--line)}.contact-note{color:var(--text-dim)}.email{display:inline-block;margin-top:24px;font-family:var(--big-font);font-size:clamp(24px,5vw,58px);text-decoration:none;overflow-wrap:anywhere}.email:hover{color:var(--blue)}.buttons{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}.button{padding:12px 26px;border:2px solid rgba(244,246,255,.6);border-radius:50px;font-weight:700;font-size:15px;text-decoration:none}.button:hover{background:#f4f6ff1a}.button.white{background:var(--text);color:#05060c}.footer{text-align:center;padding:24px;color:var(--text-faint);font-size:14px;border-top:1px solid var(--line)}@media(max-width:900px){.topbar{padding:12px 16px}.menu-button{display:block}.nav{display:none;position:absolute;top:100%;right:12px;flex-direction:column;gap:4px;padding:12px 20px;background:#060a1a;border:1px solid var(--line);border-radius:12px}.nav.open{display:flex}.section{padding:90px 20px}.cert{flex-wrap:wrap}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{to{opacity:1}}@keyframes nameIn{0%{opacity:0;transform:translateY(30px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes roleIn{0%{opacity:0;transform:translateY(10px);letter-spacing:12px}to{opacity:1;transform:translateY(0);letter-spacing:3px}}@keyframes bounce{0%,to{transform:translateY(0) rotate(45deg)}50%{transform:translateY(8px) rotate(45deg)}}@keyframes slideLeft{to{transform:translate(-50%)}}@keyframes scan{0%{top:-80px}to{top:100%}}@keyframes glitchJump{0%,88%,to{transform:none;filter:none}90%{transform:translate(-12px) skew(-8deg);filter:hue-rotate(90deg)}92%{transform:translate(10px)}94%{transform:none;filter:hue-rotate(-60deg)}}@keyframes glitchA{0%,86%,to{clip-path:inset(0 0 100% 0)}88%{clip-path:inset(10% 0 60% 0);transform:translate(-4px,1px)}91%{clip-path:inset(55% 0 20% 0);transform:translate(4px,-1px)}}@keyframes glitchB{0%,86%,to{clip-path:inset(0 0 100% 0)}89%{clip-path:inset(60% 0 10% 0);transform:translate(4px,1px)}92%{clip-path:inset(15% 0 55% 0);transform:translate(-4px)}}.creative{--c-text: #f5f5f7;--c-grey: #86868b;--c-dark-grey: #1d1d1f;--c-warm: #ffb547;min-height:100vh;background:#000;color:var(--c-text)}.c-topbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#000000b3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.c-nav{display:flex;gap:26px}.c-nav a{text-decoration:none;color:var(--c-grey);font-size:15px}.c-nav a:hover{color:var(--c-text)}.creative .toggle{border-color:#fff3;background:#00000080}.c-intro{position:relative;height:100vh;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.c-bg-photo{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;animation:slowZoom 20s ease-out forwards}.c-bg-dark{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#0000008c,#000000b3 60%,#000),radial-gradient(circle at 50% 45%,transparent,rgba(0,0,0,.6) 70%)}.c-spotlight{position:absolute;width:70vmax;height:70vmax;border-radius:50%;background:radial-gradient(circle,rgba(255,181,71,.16),transparent 60%);animation:spotlight 14s ease-in-out infinite alternate}.c-big-word{position:absolute;font-family:var(--body-font);font-weight:800;font-size:clamp(70px,16vw,260px);letter-spacing:-4px;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);animation:wordIn 2.5s ease}.c-tool{position:absolute;font-size:12px;color:#ffffff4d;opacity:0;animation:toolFade 7.8s ease-in-out infinite}.c-intro-text{position:relative;padding:0 20px}.c-name{font-family:var(--body-font);font-weight:700;font-size:clamp(44px,7.5vw,110px);line-height:1.02;letter-spacing:-2px;max-width:11ch;margin:0 auto;animation:fadeUp 1.2s ease}.c-fields{margin-top:22px;font-size:clamp(14px,1.6vw,18px);color:var(--c-warm)}.c-scroll{position:absolute;bottom:36px;font-size:14px;color:var(--c-grey);text-decoration:none;animation:floaty 2s ease-in-out infinite}.c-block{max-width:1200px;margin:0 auto;padding:140px 32px 0;text-align:center}.c-small{font-size:17px;font-weight:600;color:var(--c-warm)}.c-heading{margin-top:6px;font-family:var(--body-font);font-weight:700;font-size:clamp(40px,7vw,96px);line-height:1.05;letter-spacing:-2px;overflow-wrap:anywhere}.c-about{max-width:560px;margin:18px auto 0;font-size:19px;color:var(--c-grey)}.c-video{position:relative;margin-top:50px;border-radius:32px;overflow:hidden;background:var(--c-dark-grey);transform:scale(.86);opacity:.35;transition:transform 1.2s ease,opacity 1.2s ease,border-radius 1.2s ease}.c-video.grow{transform:scale(1);opacity:1;border-radius:18px}.c-video video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.c-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.c-caption{margin-top:14px;color:var(--c-grey)}.c-slideshow{position:relative;margin-top:50px;aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;background:var(--c-dark-grey)}.c-slide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--c-grey);opacity:0;transition:opacity 1s}.c-slide.active{opacity:1}.c-slide-blur{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(30px) brightness(.5);transform:scale(1.2)}.c-slide-photo{position:relative;width:100%;height:100%;object-fit:contain}.c-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--c-warm);transform-origin:left;animation:timerBar 5s linear forwards}.c-arrow{position:absolute;top:50%;width:46px;height:46px;margin-top:-23px;border-radius:50%;background:#0000008c;font-size:26px;line-height:1}.c-arrow:hover{background:#000000d9}.c-arrow.left{left:16px}.c-arrow.right{right:16px}.c-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}.c-dot{width:8px;height:8px;border-radius:50%;background:#424245}.c-dot.on{background:var(--c-text)}.c-insta{margin-top:160px;padding:120px 20px;text-align:center;background:radial-gradient(60% 80% at 50% 100%,rgba(255,181,71,.14),transparent 70%);border-top:1px solid rgba(255,255,255,.08)}.c-insta-button{display:inline-block;margin-top:30px;padding:14px 30px;border-radius:50px;background:var(--c-text);color:#000;font-weight:700;text-decoration:none}.c-insta-button:hover{background:var(--c-warm)}.c-footer{padding:24px;text-align:center;font-size:13px;color:var(--c-grey);border-top:1px solid rgba(255,255,255,.08)}@media(max-width:900px){.c-topbar{padding:12px 16px}.c-nav{display:none;position:absolute;top:100%;right:12px;flex-direction:column;gap:4px;padding:12px 20px;background:#111;border:1px solid rgba(255,255,255,.1);border-radius:12px}.c-nav.open{display:flex}.c-block{padding:100px 18px 0}.c-two{grid-template-columns:1fr}.c-video{border-radius:20px}}@keyframes spotlight{0%{transform:translate(-25%,-15%)}to{transform:translate(25%,15%)}}@keyframes wordIn{0%{opacity:0;transform:scale(.94)}20%,80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes toolFade{0%{opacity:0}15%,60%{opacity:1}80%,to{opacity:0}}@keyframes slowZoom{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes timerBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
