@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";.about__card{flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.about__text{color:#fff;line-height:1.7}.about__education{color:var(--yellow-soft);font-weight:700}.cloud-field{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.cloud-field__cloud{filter:drop-shadow(0 4px 16px #5064a040);will-change:transform;width:240px;animation:linear infinite cloud-drift-rtl;position:absolute;left:0}.cloud-field__svg{width:100%;height:auto;display:block}@keyframes cloud-drift-rtl{0%{transform:translate(110vw)}to{transform:translate(-120%)}}@media (prefers-reduced-motion:reduce){.cloud-field{display:none}}.courses__empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:1rem}.courses__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.courses__card{flex-direction:column;gap:.65rem;height:100%;padding:1.25rem 1.5rem;display:flex}.courses__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.courses__year{color:var(--text-muted);font-size:.75rem;font-weight:700}.courses__title{color:#fff;margin:0;font-size:1rem;font-weight:800;line-height:1.4}.courses__title--link{text-decoration:none;transition:color .2s}.courses__title--link:hover{color:var(--yellow-soft)}.courses__tags{flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding:.25rem 0 0;list-style:none;display:flex}.courses__tag{border-radius:var(--radius-pill);border:1px solid var(--glass-border);color:var(--text-muted);background:#121c3a73;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.contact__card{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;display:flex}.contact__emoji{font-size:2.5rem;line-height:1}.contact__text{color:#fff;max-width:42ch;font-size:1.05rem}.contact__links{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.contact__link{border-radius:var(--radius-pill);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;box-shadow:var(--glass-shadow);background:#121c3a73;align-items:center;gap:.35rem;padding:.65rem 1.1rem;font-weight:700;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.contact__link:hover{color:#fff;background:#1a2648a6;border-color:#e8c8724d}.cursor-sparkles{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.cursor-sparkle{color:var(--yellow-soft);text-shadow:0 0 6px #e8c87299;pointer-events:none;font-size:.75rem;animation:.8s ease-out forwards cursor-burst;position:fixed;transform:translate(-50%,-50%)}@keyframes cursor-burst{0%{opacity:1;transform:translate(-50%,-50%)scale(0)rotate(0)}to{opacity:0;transform:translate(-50%,-80px)scale(1.2)rotate(180deg)}}@media (prefers-reduced-motion:reduce){.cursor-sparkles{display:none}}@media (width<=768px){.cursor-sparkles{display:none}}.footer{z-index:1;text-align:center;color:var(--text-muted);padding:2.5rem 1.5rem 3rem;font-weight:600;position:relative}.footer strong{color:var(--yellow-soft)}.footer__stars{justify-content:center;gap:.75rem;margin-top:.5rem;font-size:1.1rem;display:flex}.footer__star{animation:2s ease-in-out infinite twinkle;display:inline-block}.footer__star:nth-child(2){animation-delay:.6s}.footer__star:nth-child(3){animation-delay:1.2s}.header{z-index:100;width:var(--sidebar-width,220px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);background:#060918d1;transition:box-shadow .3s,background .3s;position:fixed;top:0;bottom:0;left:0}.header--scrolled{background:#060918f0;box-shadow:4px 0 24px #00000059}.header__inner{flex-direction:column;align-items:stretch;gap:0;height:100%;padding:1.75rem 1.25rem;display:flex}.header__logo{color:var(--yellow-soft);white-space:nowrap;align-items:center;padding-bottom:.25rem;font-size:1.2rem;font-weight:800;display:flex}.header__nav{flex-direction:column;flex:1;gap:.35rem;margin-top:2rem;display:flex}.header__pill{border-radius:var(--radius);width:100%;color:var(--text-muted);text-align:left;border:1px solid #0000;align-items:center;padding:.65rem 1rem;font-size:.9rem;font-weight:700;transition:background .2s,color .2s,box-shadow .2s,transform .2s,border-color .2s;display:flex}.header__pill:hover{color:var(--text-heading);background:#e8c8721a;transform:translate(4px)}.header__pill--active{color:var(--yellow-soft);background:#e8c8722e;border-color:#e8c8724d;box-shadow:0 0 16px #e8c8721a}.header__pill--active:hover{color:var(--yellow-soft);background:#e8c87242;transform:translate(4px)}.header__social{margin-top:auto;padding-top:1.5rem}.header__social .glow-btn{border-radius:var(--radius);gap:.35rem;width:100%;height:auto;padding:.65rem 1rem;font-size:.9rem;font-weight:700;animation:none}@media (width<=768px){.header{border-right:none;border-top:1px solid var(--border);width:100%;height:auto;inset:auto 0 0}.header__inner{flex-direction:row;align-items:center;gap:.5rem;height:auto;padding:.65rem .75rem}.header__logo{display:none}.header__nav{scrollbar-width:none;flex-direction:row;flex:1;gap:.35rem;margin-top:0;overflow-x:auto}.header__nav::-webkit-scrollbar{display:none}.header__pill{border-radius:var(--radius-pill);flex-shrink:0;width:auto;padding:.45rem .75rem;font-size:.78rem}.header__pill:hover,.header__pill--active:hover{transform:none}.header__social{flex-shrink:0;margin-top:0;padding-top:0}.header__social .glow-btn{border-radius:50%;width:44px;height:44px;padding:0;font-size:1.1rem}}.hero{max-width:var(--max-width);text-align:center;justify-content:center;align-items:center;margin:0 auto;padding:3rem 1.5rem 2rem;display:flex}.hero__content{flex-direction:column;align-items:center;gap:.85rem;max-width:min(720px,100%);display:flex}.hero__hello{color:#fff;font-size:larger;font-weight:800}.hero__eyebrow{color:var(--yellow-soft);font-size:.95rem;font-weight:700}.hero__title{letter-spacing:-.02em;font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;line-height:1.15}.hero__role{color:#fff;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700}.hero__divider{color:var(--text-muted);letter-spacing:.08em;opacity:.7;font-size:.9rem}.hero__tagline{color:var(--text);font-weight:700}.hero__dot{color:var(--yellow-soft);font-size:1.25rem}.hero__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.hero__cta{border-radius:var(--radius-pill);color:var(--yellow-soft);background:#e8c87226;border:1px solid #e8c87266;align-items:center;gap:.35rem;padding:.65rem 1.25rem;font-weight:700;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 4px 20px #e8c8721f}.hero__cta:hover{color:var(--yellow-soft);background:#e8c87247;transform:translateY(-4px)scale(1.05)}.hero__cta--outline{color:var(--text-heading);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);background:#121c3a73;animation:none}.hero__cta--outline:hover{background:#1a26488c;animation:.5s wiggle}@media (width<=768px){.hero{padding-top:2rem}}.jobs__timeline{flex-direction:column;gap:1.25rem;display:flex}.jobs__card{flex-direction:column;gap:.5rem;padding:1.5rem 2rem;display:flex}.jobs__title{color:#fff;margin-top:.25rem;font-size:1.05rem;font-weight:800}.jobs__desc{color:var(--text-muted);font-size:.95rem;line-height:1.6}.project-card{flex-direction:column;height:100%;display:flex}.project-card__image{aspect-ratio:4/3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);background:#0e163080;place-items:center;display:grid;overflow:hidden}.project-card__photo{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-card__photo{transform:scale(1.04)}.project-card__placeholder{color:var(--yellow-soft);opacity:.5;font-size:2.5rem;font-weight:800}.project-card__body{flex-direction:column;flex:1;gap:.65rem;padding:1.25rem;display:flex}.project-card__desc{color:var(--text-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:1;font-size:.9rem;line-height:1.55;display:-webkit-box;overflow:hidden}.project-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.project-card__title{color:#fff;font-size:1.15rem;font-weight:800}.project-card__tags{flex-wrap:wrap;gap:.4rem;padding-top:.25rem;display:flex}.project-card__actions{gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.project-card__btn{border-radius:var(--radius-pill);color:var(--yellow-soft);background:#e8c87226;border:1px solid #e8c87259;flex:1;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.82rem;font-weight:700;transition:background .2s,border-color .2s;display:inline-flex}.project-card__btn:hover{background:#e8c87247;border-color:#e8c87273}.project-card__btn--outline{border-color:var(--glass-border);color:#fff;background:#121c3a73}.project-card__btn--outline:hover{color:#fff;background:#1a2648a6;border-color:#e8c8724d}.project-card__btn--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.project-card__tag{border-radius:var(--radius-pill);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-muted);background:#121c3a73;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.projects__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:1.5rem;display:grid}.projects__grid .reveal-scale,.projects__grid .reveal,.projects__grid .project-card{height:100%}.skills__grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.skills__card{padding:1.5rem}.skills__card-title{color:#fff;margin-bottom:1rem;font-size:1.1rem;font-weight:800}.skills__list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.skills__pill{border-radius:var(--radius-pill);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);background:#121c3a73;padding:.35rem .75rem;font-size:.85rem;font-weight:600;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s}.skills__pill:hover{color:var(--yellow-soft);background:#e8c87233;border-color:#e8c87266;transform:scale(1.1)rotate(-2deg)}.skills__emoji{display:inline-block}@media (width<=768px){.skills__grid{grid-template-columns:1fr}}.sparkle-field{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.sparkle-field__star{transform-origin:50%;background:#eef1f8;border-radius:50%;animation:ease-in-out infinite star-twinkle;position:absolute}.sparkle-field__star--dot{box-shadow:0 0 3px #eef1f880}.sparkle-field__star--bright{background:var(--yellow-soft);box-shadow:0 0 4px #f5e6b8e6,0 0 10px #e8c87259}.sparkle-field__star--glow{background:#fff;box-shadow:0 0 6px #fffffff2,0 0 14px #e8c87273,0 0 22px #e8c87226}.sparkle-field__star--glow:before,.sparkle-field__star--glow:after{content:"";background:#ffffffd9;border-radius:1px;position:absolute}.sparkle-field__star--glow:before{width:1px;height:140%;top:-20%;left:50%;transform:translate(-50%)}.sparkle-field__star--glow:after{width:140%;height:1px;top:50%;left:-20%;transform:translateY(-50%)}@keyframes star-twinkle{0%,to{opacity:.15;transform:scale(.7)}45%{opacity:1;transform:scale(1)}55%{opacity:.85;transform:scale(.95)}}@media (prefers-reduced-motion:reduce){.sparkle-field__star{opacity:.6;animation:none}}.app{background:0 0;min-height:100svh;position:relative}.app:before{content:"";z-index:-2;background-color:#0000;background-image:radial-gradient(70% 45% at 50% -5%,#1a2650e6 0%,#0000 55%),radial-gradient(40% 30% at 90% 10%,#e8c87212 0%,#0000 50%),radial-gradient(50% 35% at 10% 80%,#1e2d5f80 0%,#0000 55%),linear-gradient(#0f1635 0%,#0a0f24 45%,#060918 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;position:fixed;inset:0}.app__main{z-index:1;margin-left:var(--sidebar-width);background:0 0;min-height:100svh;position:relative}.footer{margin-left:var(--sidebar-width)}@media (width<=768px){.app__main{margin-bottom:72px;margin-left:0}.footer{margin-left:0;padding-bottom:5rem}}.section{max-width:var(--max-width);margin:0 auto;padding:3rem 1.5rem}.section__header{text-align:center;margin-bottom:2rem}.section__title{color:var(--yellow-soft);align-items:center;gap:.5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;display:inline-flex}.section__subtitle{color:var(--text-muted);margin-top:.5rem;font-size:1rem}.badge{border-radius:var(--radius-pill);color:var(--yellow-soft);background:#e8c8722e;border:1px solid #e8c87259;align-items:center;gap:.25rem;width:fit-content;padding:.2rem .65rem;font-size:.75rem;font-weight:700;animation:2.5s ease-in-out infinite pulse-glow;display:inline-flex}.badge--outline{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);color:var(--text-muted);background:#121c3a66;animation:none}.card{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s;position:relative;overflow:hidden}.card:before{content:"";opacity:0;pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 40%,#fff9 50%,#0000 60%) 0 0/200% 100%;position:absolute;inset:0}.glow-btn{width:48px;height:48px;box-shadow:0 0 0 4px var(--yellow-glow), var(--glass-shadow);justify-content:center;align-items:center;font-size:1.25rem;transition:background .2s,border-color .2s;animation:2s ease-out infinite pulse-ring;display:inline-flex}.glow-btn:hover{background:#1a26488c}:root{--bg:#0a0f24;--bg-deep:#060918;--bg-mid:#111936;--bg-glow:#1a2650;--yellow:#e8c872;--yellow-dark:#9a7b3c;--yellow-soft:#f5e6b8;--yellow-glow:#e8c87247;--white:#f5f7fc;--text:#dce3f0;--text-muted:#8b9bb8;--text-heading:#f5f7fc;--glass-bg:#121c3a80;--glass-bg-hover:#1a26489e;--glass-border:#829bd238;--glass-blur:blur(20px);--glass-shadow:0 8px 32px #0006;--glass-radius:24px;--card:var(--glass-bg);--card-solid:#16203ea6;--border:#829bd247;--radius:18px;--radius-pill:999px;--shadow-card:0 4px 0 #00000059;--font:"Nunito", system-ui, sans-serif;--max-width:80%;--sidebar-width:220px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg-deep);min-height:100%}body{min-height:100svh;font-family:var(--font);color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}#root{background:0 0;min-height:100svh}h1,h2,h3{color:var(--text-heading);margin:0;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}section{scroll-margin-top:2rem}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-18px)rotate(6deg)}66%{transform:translateY(-8px)rotate(-4deg)}}@keyframes float-slow{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-24px)translate(8px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)translateY(20px)}70%{transform:scale(1.05)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes bounce-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--yellow-glow), 0 4px 0 var(--border)}50%{box-shadow:0 0 20px 6px var(--yellow-glow), 0 4px 0 var(--border)}}@keyframes pulse-ring{0%{box-shadow:0 0 #e8c87273}70%{box-shadow:0 0 0 12px #e8c87200}to{box-shadow:0 0 #e8c87200}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes rainbow-text{0%{background-position:0%}to{background-position:200%}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes jello{0%,to{transform:skew(0)skewY(0)}30%{transform:skew(-8deg)skewY(-8deg)}60%{transform:skew(4deg)skewY(4deg)}}@keyframes star-spin{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.3)}}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(36px)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.34,1.56,.64,1);transform:scale(.85)}.reveal-scale--visible{opacity:1;transform:scale(1)}.anim-slide-down{animation:.6s cubic-bezier(.22,1,.36,1) both slide-down}.anim-pop-in{animation:.7s cubic-bezier(.34,1.56,.64,1) both pop-in}.anim-float{animation:4s ease-in-out infinite float}.anim-float-slow{animation:6s ease-in-out infinite float-slow}.anim-heartbeat{animation:1.8s ease-in-out infinite heartbeat}.anim-bounce-soft{animation:2s ease-in-out infinite bounce-soft}.anim-pulse-glow{animation:2.5s ease-in-out infinite pulse-glow}.anim-wiggle-hover:hover{animation:.5s ease-in-out wiggle}.anim-shimmer-text{background:linear-gradient(90deg, var(--text-heading) 0%, var(--text-heading) 30%, var(--yellow-soft) 50%, var(--text-heading) 70%, var(--text-heading) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite rainbow-text}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-scale{opacity:1;transform:none}}.glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000014}.glass:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0}.glass>*{z-index:1;position:relative}.glass--strong{background:#ffffff2e}.glass--pink{box-shadow:inset 0 0 24px #b4c8f00f, var(--glass-shadow);background:#0e163059;border-color:#829bd233}.glass--pink:hover{box-shadow:0 12px 40px #e8c8721a, inset 0 0 28px #c8d7f514, var(--glass-shadow)}.glass--sm{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:16px}.glass--pill{border-radius:var(--radius-pill)}.glass--circle{border-radius:50%}
