@keyframes starsDrift{0%{transform:translate(0,0)}to{transform:translate(-70px,48px)}}@keyframes particleFloat{0%{transform:translateY(-12px)}to{transform:translateY(18px)}}@keyframes badgePulse{0%,to{box-shadow:0 0 #38bdf852}50%{box-shadow:0 0 0 8px #38bdf800}}@keyframes roleCycle{0%,14%{transform:translateY(0)}20%,34%{transform:translateY(-20%)}40%,54%{transform:translateY(-40%)}60%,74%{transform:translateY(-60%)}80%,to{transform:translateY(-80%)}}@keyframes caretBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes gradientGlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes loadingGlow{0%{transform:scale(.98);box-shadow:0 0 36px #38bdf833,inset 0 1px #ffffff14}to{transform:scale(1);box-shadow:0 0 68px #8b5cf647,inset 0 1px #ffffff1f}}@keyframes loadingFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.scroll-progress{background:linear-gradient(90deg, var(--primary-accent), var(--secondary-accent));transform-origin:0%;z-index:120;height:3px;position:fixed;top:0;left:0;right:0;box-shadow:0 0 22px #38bdf86b}.navbar{z-index:100;padding:18px clamp(18px,4vw,56px);transition:padding .22s,transform .22s;position:fixed;top:0;left:0;right:0}.navbar__inner{border:1px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:22px;max-width:1180px;min-height:64px;margin:0 auto;padding:10px 12px 10px 18px;transition:background .24s,border-color .24s,box-shadow .24s;display:flex}.navbar--scrolled{padding-top:12px}.navbar--scrolled .navbar__inner,.navbar__links--open{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-color:var(--border);background:#0b1020b8;box-shadow:0 18px 60px #00000047,inset 0 1px #ffffff14}.navbar__brand,.navbar__link,.navbar__toggle{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0}.navbar__brand{align-items:center;gap:10px;min-width:max-content;display:inline-flex}.navbar__brand span{border:1px solid var(--border);box-shadow:var(--shadow-glow);font-family:var(--font-display);letter-spacing:0;background:linear-gradient(135deg,#38bdf83d,#8b5cf638);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:.78rem;display:inline-flex}.navbar__brand strong{font-family:var(--font-heading);font-size:1rem;font-weight:700}.navbar__links{align-items:center;gap:4px;display:flex}.navbar__link{color:var(--muted-text);border-radius:999px;padding:10px 11px;font-size:.86rem;font-weight:600;transition:color .18s,background .18s;position:relative}.navbar__link:hover,.navbar__link--active{color:var(--text);background:#ffffff0f}.navbar__link--active:after{background:var(--primary-accent);content:"";border-radius:999px;width:18px;height:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.navbar__resume{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));color:#fff;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:.88rem;font-weight:800;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 12px 34px #38bdf838}.navbar__resume:hover{transform:translateY(-2px);box-shadow:0 16px 42px #8b5cf647}.navbar__toggle{border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:none}
.hero{align-items:center;min-height:100svh;padding:112px clamp(20px,6vw,84px) 72px;display:flex;position:relative;overflow:hidden}.hero__aurora{filter:blur(18px);opacity:.72;pointer-events:none;z-index:-1;background:radial-gradient(circle at 30% 35%,#38bdf838,#0000 28%),radial-gradient(circle at 65% 48%,#8b5cf638,#0000 30%);position:absolute;inset:6% 4% 0}.hero__content{width:100%;max-width:1040px;margin:0 auto}.hero__badge,.hero__eyebrow{border:1px solid var(--border);color:var(--muted-text);align-items:center;font-weight:700;display:inline-flex}.hero__badge{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);letter-spacing:0;text-transform:uppercase;background:#11182794;border-radius:999px;gap:10px;margin-bottom:22px;padding:9px 14px;font-size:.82rem;box-shadow:inset 0 1px #ffffff14}.hero__badge span{background:#22c55e;border-radius:50%;width:9px;height:9px;animation:2.2s ease-in-out infinite badgePulse}.hero__eyebrow{background:#38bdf812;border-radius:12px;gap:8px;margin-bottom:14px;padding:7px 11px;font-size:.88rem}.hero__title{font-family:var(--font-display);max-width:820px;margin:0;font-size:clamp(2.35rem,4.25vw,4.18rem);line-height:1.04}.hero__title span{-webkit-text-fill-color:transparent;background:linear-gradient(115deg,#fff 0%,#38bdf8 32%,#8b5cf6 68%,#fff 100%) 0 0/220% 220%;-webkit-background-clip:text;background-clip:text;animation:8s infinite gradientGlow;display:block}.hero__roles{font-family:var(--font-heading);flex-wrap:wrap;align-items:center;max-width:min(100%,680px);min-height:1.65em;margin-top:22px;font-size:clamp(1.02rem,1.42vw,1.32rem);font-weight:700;display:flex}.hero__typing{color:var(--primary-accent);isolation:isolate;overflow-wrap:anywhere;text-wrap:balance;white-space:normal;max-width:100%;min-height:1.55em;padding:.02em .12em;line-height:1.55;display:inline-block;position:relative}.hero__typing:before{content:"";filter:blur(14px);opacity:.78;pointer-events:none;z-index:-1;background:radial-gradient(circle at 50% 52%,#38bdf83d,#0000 62%),radial-gradient(circle at 48% 52%,#8b5cf61f,#0000 70%);border-radius:999px;animation:2.2s ease-in-out infinite alternate roleGlow;position:absolute;inset:-.35em -.7em}.hero__summary{color:var(--muted-text);max-width:790px;margin:24px 0 0;font-size:clamp(1rem,1.12vw,1.08rem);font-weight:560;line-height:1.68}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.premium-button{border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:164px;min-height:50px;padding:0 22px;font-size:.95rem;font-weight:800;transition:border-color .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden}.premium-button:hover{border-color:#38bdf85c;box-shadow:0 18px 50px #38bdf82e}.hero .premium-button:hover{border-color:#38bdf87a;box-shadow:0 20px 54px #38bdf838}.hero .premium-button--primary:hover{background:linear-gradient(135deg,#4fd3ff,#9a70ff)}.hero .premium-button--secondary:hover{background:#111827c7}.hero .premium-button--ghost:hover{background:#38bdf81f}.premium-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff47,#0000);width:64%;height:100%;transition:left .52s;position:absolute;top:0;left:-120%;transform:skew(-20deg)}.premium-button:hover:before{left:130%}.premium-button--primary{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));color:#fff;box-shadow:0 18px 50px #38bdf83d}.premium-button--secondary{color:var(--text);background:#111827a8;box-shadow:inset 0 1px #ffffff14}.premium-button--ghost{color:var(--primary-accent);background:#38bdf812}@keyframes roleGlow{0%{opacity:.5;transform:scaleX(.96)}to{opacity:.82;transform:scaleX(1.04)}}
.section-pad{padding:96px clamp(20px,6vw,84px);scroll-margin-top:96px;position:relative}.section-container{width:100%;max-width:1180px;margin:0 auto;position:relative}.section-title{margin-bottom:30px}.section-title--center{text-align:center;max-width:720px;margin-inline:auto}.section-title--left{text-align:left}.section-title span{color:var(--primary-accent);font-family:var(--font-heading);margin-bottom:10px;font-size:.92rem;font-weight:800;line-height:1.55;display:block}.section-title h2{font-family:var(--font-display);background:linear-gradient(120deg, #fff, var(--primary-accent), var(--secondary-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.85rem,3.1vw,2.82rem);line-height:1.12}.about{background:linear-gradient(#0508161f,#0b102057)}.about:before{content:"";pointer-events:none;background:radial-gradient(circle at 18%,#38bdf81f,#0000 30%),radial-gradient(circle at 90% 10%,#8b5cf61a,#0000 26%);position:absolute;inset:0}.about__grid{grid-template-columns:minmax(180px,.58fr) minmax(0,1.42fr);align-items:center;gap:clamp(34px,6vw,76px);display:grid}.about__visual{flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex;position:relative}.about__visual:before{content:"";filter:blur(12px);z-index:-1;background:radial-gradient(circle,#38bdf842,#8b5cf621 42%,#0000 68%);border-radius:50%;width:min(58vw,280px);height:min(58vw,280px);position:absolute}.about__ambient{filter:blur(8px);opacity:.72;background:radial-gradient(circle at 42% 36%,#38bdf833,#0000 34%),radial-gradient(circle at 58% 62%,#8b5cf629,#0000 38%);border-radius:50%;width:min(44vw,280px);height:min(44vw,280px);animation:7s ease-in-out infinite alternate ambientPulse}.about__text{color:var(--muted-text);max-width:820px;margin:0;font-size:clamp(1rem,1.08vw,1.06rem);line-height:1.82}.about__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px;display:grid}.about__stat-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#111827bd,#0b10208f) padding-box padding-box,linear-gradient(135deg,#38bdf82e,#8b5cf61a,#ffffff0a) border-box;border:1px solid #0000;border-radius:14px;min-height:138px;padding:18px;transition:border-color .18s,box-shadow .18s;box-shadow:0 18px 48px #00000029,inset 0 1px #ffffff0f}.about__stat-card:hover{border-color:#38bdf861;box-shadow:0 22px 60px #38bdf824,inset 0 1px #ffffff14}.about__stat-icon{color:var(--primary-accent);background:#38bdf81a;border:1px solid #38bdf829;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:14px;font-size:1.2rem;display:inline-flex}.about__stat-card strong{font-family:var(--font-heading);font-size:clamp(1.48rem,2.35vw,1.9rem);line-height:1;display:block}.about__stat-card p{color:var(--muted-text);margin:10px 0 0;font-size:.88rem;font-weight:700;line-height:1.35}@keyframes ambientPulse{0%{opacity:.55;transform:scale(.96)}to{opacity:.9;transform:scale(1.04)}}
.skills{background:radial-gradient(circle at 78% 18%,#38bdf81a,#0000 30%),radial-gradient(circle at 12% 78%,#8b5cf61a,#0000 28%)}.skills__intro{color:var(--muted-text);text-align:center;max-width:760px;margin:-6px auto 42px;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.75}.skills__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.skills__card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#111827c7,#0b10208f) padding-box padding-box,linear-gradient(135deg,#38bdf847,#8b5cf629,#ffffff0f) border-box;border:1px solid #0000;border-radius:20px;min-height:230px;padding:24px;position:relative;overflow:hidden;box-shadow:0 18px 60px #0000002e,inset 0 1px #ffffff0f}.skills__card:before{content:"";opacity:0;background:radial-gradient(circle,#38bdf833,#0000 62%);width:180px;height:180px;transition:opacity .22s;position:absolute;top:-72px;right:-72px}.skills__card:hover{box-shadow:0 26px 72px #38bdf826,inset 0 1px #ffffff14}.skills__card:hover:before{opacity:1}.skills__card-head{align-items:center;gap:14px;display:flex;position:relative}.skills__card-head span{color:var(--primary-accent);background:linear-gradient(135deg,#38bdf82e,#8b5cf629);border:1px solid #ffffff14;border-radius:16px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.32rem;display:inline-flex}.skills__card h3{color:var(--text);font-family:var(--font-heading);margin:0;font-size:1.16rem;line-height:1.25}.skills__chips{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex;position:relative}.skills__chips span{border:1px solid var(--border);color:var(--muted-text);background:#ffffff0e;border-radius:999px;padding:9px 12px;font-size:.9rem;font-weight:700;transition:background .18s,border-color .18s,color .18s}.skills__card:hover .skills__chips span{color:#ffffffeb;border-color:#38bdf833}
.projects{background:radial-gradient(circle at 16% 20%,#8b5cf61c,#0000 30%),radial-gradient(circle at 84% 54%,#38bdf81a,#0000 28%),linear-gradient(#05081614,#0b102047);overflow:hidden}.projects:before,.projects:after{content:"";filter:blur(34px);pointer-events:none;z-index:-1;border-radius:50%;position:absolute}.projects:before{background:#38bdf81f;width:220px;height:220px;top:18%;left:5%}.projects:after{background:#8b5cf61f;width:260px;height:260px;bottom:12%;right:6%}.projects .section-title{margin-bottom:34px}.projects .section-title span{color:var(--muted-text);max-width:820px;margin-inline:auto;line-height:1.7}.projects__showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.project-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#111827c2,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf86b,#8b5cf63d,#ffffff14) border-box;border:1px solid #0000;border-radius:16px;flex-direction:column;min-height:100%;padding:24px;transition:box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 54px #0003,inset 0 1px #ffffff12}.project-card:before{content:"";background:linear-gradient(90deg,#0000,#38bdf866,#8b5cf661,#0000);width:58%;height:1px;transition:left .8s;position:absolute;top:0;left:-60%}.project-card:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#38bdf824,#0000 62%);width:300px;height:300px;transition:opacity .24s;position:absolute;top:-120px;right:-120px}.project-card:hover{box-shadow:0 24px 72px #38bdf821,0 16px 60px #0000004d}.project-card--clickable{cursor:pointer}.project-card--clickable:focus-visible{border-color:#38bdf894;outline:none;box-shadow:0 24px 72px #38bdf829,0 16px 60px #0000004d}.project-card:hover:before{left:104%}.project-card:hover:after{opacity:1}.project-card__icon{color:var(--primary-accent);background:radial-gradient(circle at 30% 24%,#38bdf842,#0000 34%),linear-gradient(135deg,#38bdf81f,#8b5cf61a);border:1px solid #38bdf82e;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.9rem;display:inline-flex}.project-card__top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.project-card__content{z-index:1;flex-direction:column;flex:1;min-width:0;padding:0;display:flex;position:relative}.project-card__badge{color:var(--primary-accent);font-family:var(--font-heading);background:#38bdf81a;border:1px solid #38bdf82e;border-radius:999px;align-items:center;gap:8px;margin-bottom:0;padding:7px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.project-card__badge svg{fill:currentColor}.project-card__heading h3{color:var(--text);font-family:var(--font-display);margin:0;font-size:clamp(1.22rem,1.55vw,1.42rem);line-height:1.24}.project-card__description{color:var(--muted-text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:14px 0 0;font-size:.94rem;line-height:1.68;display:-webkit-box;overflow:hidden}.project-card__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0;display:grid}.project-card__meta div{border:1px solid var(--border);background:#ffffff0b;border-radius:12px;min-width:0;padding:10px 11px}.project-card__meta span{color:var(--muted-text);text-transform:uppercase;margin-bottom:5px;font-size:.72rem;font-weight:900;display:block}.project-card__meta strong{color:var(--text);font-family:var(--font-heading);font-size:.84rem;font-weight:800;line-height:1.35;display:block}.project-card__tech{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.project-card__tech span{border:1px solid var(--border);color:#ffffffd6;background:#ffffff0e;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.project-card__features{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.project-card__features span{color:#ffffffdb;background:#8b5cf617;border:1px solid #8b5cf62e;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:800}.project-card__actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:24px;display:flex}.project-card__button{color:var(--text);cursor:pointer;font:inherit;background:#05081657;border:1px solid #38bdf83d;border-radius:999px;flex:100%;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 12px;font-size:.8rem;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.project-card__button:hover{background:#38bdf81a;border-color:#38bdf875;box-shadow:0 16px 38px #38bdf821}.project-card__button--filled{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));border-color:#0000}.project-card__button--plain{background:#ffffff0b}.project-card__button--disabled{color:var(--muted-text);cursor:not-allowed;opacity:.72}.project-card__button--disabled:hover{box-shadow:none;background:#05081657;border-color:#38bdf83d}
.project-detail{overflow-x:hidden}.project-detail__hero{align-items:center;min-height:100svh;padding-top:128px;display:flex;overflow:hidden}.project-detail__hero:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 28%,#38bdf82e,#0000 28%),radial-gradient(circle at 82% 22%,#8b5cf62e,#0000 30%);position:absolute;inset:0}.project-detail__back{border:1px solid var(--border);color:var(--muted-text);background:#11182794;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:.86rem;font-weight:800;transition:border-color .18s,color .18s,transform .18s;display:inline-flex}.project-detail__back:hover{color:var(--text);border-color:#38bdf85c;transform:translateY(-2px)}.project-detail__hero-grid{grid-template-columns:minmax(0,.96fr) minmax(360px,1.04fr);align-items:center;gap:clamp(32px,5vw,64px);margin-top:34px;display:grid}.project-detail__hero-grid--solo{max-width:920px;display:block}.project-detail__eyebrow{color:var(--primary-accent);font-family:var(--font-heading);text-transform:uppercase;background:#38bdf814;border:1px solid #38bdf82e;border-radius:999px;margin-bottom:18px;padding:8px 12px;font-size:.82rem;font-weight:900;display:inline-flex}.project-detail__hero h1{font-family:var(--font-display);margin:0;font-size:clamp(3rem,6.5vw,6.4rem);line-height:.95}.project-detail__hero h2{color:var(--primary-accent);font-family:var(--font-heading);margin:18px 0 0;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.28}.project-detail__hero p,.project-detail__panel p,.project-detail__cta-card p{color:var(--muted-text);font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.75}.project-detail__hero p{max-width:760px;margin:20px 0 0}.project-detail__meta{flex-wrap:wrap;gap:9px;margin:26px 0 30px;display:flex}.project-detail__meta span{border:1px solid var(--border);color:#ffffffdb;background:#ffffff0e;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:850}.project-detail__hero-media,.project-detail__image{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#111827c2,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf857,#8b5cf638,#ffffff12) border-box;border:1px solid #0000;border-radius:16px;margin:0;overflow:hidden;box-shadow:0 24px 72px #0000003d,inset 0 1px #ffffff12}.project-detail__hero-media img,.project-detail__image img{object-fit:contain;width:100%;height:auto;transition:transform .26s;display:block}.project-detail__hero-media:hover img,.project-detail__image:hover img{transform:scale(1.012)}.project-detail__sections{background:linear-gradient(#0508160a,#0b10203d);padding-top:76px}.project-detail__split{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;gap:clamp(28px,5vw,58px);display:grid}.project-detail__split+.project-detail__split{margin-top:clamp(54px,8vw,92px)}.project-detail__split--reverse{grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr)}.project-detail__split--reverse .project-detail__image{order:2}.project-detail__split--reverse .project-detail__text{order:1}.project-detail__text{position:relative}.project-detail__text h2,.project-detail__cta-card h2,.project-detail__highlight-card h3{color:var(--text);font-family:var(--font-heading);margin:0;line-height:1.18}.project-detail__text h2{font-size:clamp(1.55rem,2.65vw,2.32rem)}.project-detail__text p,.project-detail__highlight-card p{color:var(--muted-text);margin:16px 0 0;line-height:1.78}.project-detail__architecture,.project-detail__cta{background:linear-gradient(#0b10203d,#05081614)}.project-detail__panel,.project-detail__cta-card,.project-detail__highlight-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#111827c2,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf847,#8b5cf629,#ffffff0f) border-box;border:1px solid #0000;border-radius:16px;box-shadow:0 18px 54px #0003,inset 0 1px #ffffff12}.project-detail__panel{padding:clamp(24px,4vw,38px)}.project-detail__flow{flex-wrap:wrap;gap:10px;margin:26px 0 22px;display:flex}.project-detail__flow-item{align-items:center;gap:10px;display:inline-flex}.project-detail__flow-item span{color:var(--text);background:#38bdf817;border:1px solid #38bdf82e;border-radius:999px;padding:9px 12px;font-size:.82rem;font-weight:850}.project-detail__flow-item svg{color:var(--primary-accent);flex:none}.project-detail__panel p{max-width:880px;margin:0}.project-detail__highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.project-detail__highlight-card{min-height:190px;padding:22px;transition:border-color .18s,box-shadow .18s,transform .18s}.project-detail__highlight-card:hover{border-color:#38bdf861;transform:translateY(-4px);box-shadow:0 24px 72px #38bdf821,0 16px 60px #00000047}.project-detail__highlight-card h3{font-size:1.08rem}.project-detail__highlight-card p{font-size:.94rem}.project-detail__cta{padding-top:72px}.project-detail__cta-card{justify-content:space-between;align-items:center;gap:24px;padding:clamp(24px,4vw,38px);display:flex}.project-detail__cta-card span{color:var(--primary-accent);font-family:var(--font-heading);margin-bottom:10px;font-size:.88rem;font-weight:900;display:block}.project-detail__cta-card h2{font-size:clamp(1.58rem,2.4vw,2.28rem)}.project-detail__cta-card p{margin:12px 0 0}.project-detail__cta-card .premium-button{flex:none}@media (max-width:1040px){.project-detail__hero-grid,.project-detail__split,.project-detail__split--reverse{grid-template-columns:1fr}.project-detail__hero-media{max-width:820px}.project-detail__split--reverse .project-detail__image{order:1}.project-detail__split--reverse .project-detail__text{order:2}.project-detail__highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.project-detail__hero{min-height:auto;padding-top:112px}.project-detail__hero-grid{margin-top:26px}.project-detail__meta{gap:8px}.project-detail__meta span,.project-detail__flow-item span{font-size:.76rem}.project-detail__sections{padding-top:58px}.project-detail__highlight-grid{grid-template-columns:1fr}.project-detail__highlight-card{min-height:auto}.project-detail__cta-card{flex-direction:column;align-items:flex-start}.project-detail__cta-card .premium-button{width:100%}}
.experience{background:radial-gradient(circle at 82% 22%,#38bdf81a,#0000 30%),radial-gradient(circle at 12% 72%,#8b5cf617,#0000 28%),linear-gradient(#0b10203d,#0508161f);overflow:hidden}.experience:before{content:"";filter:blur(38px);pointer-events:none;z-index:-1;background:#38bdf81f;border-radius:50%;width:260px;height:260px;position:absolute;top:20%;left:8%}.timeline{max-width:980px;margin:56px auto 0;position:relative}.timeline:before{background:linear-gradient(180deg, transparent, var(--primary-accent), var(--secondary-accent), transparent);content:"";border-radius:999px;width:2px;height:calc(100% + 28px);position:absolute;top:-14px;left:20px;box-shadow:0 0 28px #38bdf859}.timeline__item{padding:0 0 34px 72px;position:relative}.timeline__item:last-child{padding-bottom:0}.timeline__node{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));z-index:2;border:4px solid #050816eb;border-radius:50%;width:22px;height:22px;animation:2.6s ease-in-out infinite timelinePulse;position:absolute;top:34px;left:10px;box-shadow:0 0 0 1px #38bdf859,0 0 26px #38bdf88c}.timeline-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#111827c7,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf847,#8b5cf62e,#ffffff0f) border-box;border:1px solid #0000;border-radius:22px;padding:clamp(22px,3vw,30px);transition:box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 22px 70px #0000003d,inset 0 1px #ffffff0f}.timeline-card:before{content:"";opacity:0;background:radial-gradient(circle,#38bdf82e,#0000 64%);width:220px;height:220px;transition:opacity .22s;position:absolute;top:-90px;right:-90px}.timeline-card:hover{box-shadow:0 28px 86px #38bdf824,0 20px 70px #0000004d}.timeline-card:hover:before{opacity:1}.timeline-card__meta{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex;position:relative}.timeline-card__meta span,.timeline-card__metric,.timeline-card__tech span{border-radius:999px;align-items:center;font-weight:800;display:inline-flex}.timeline-card__meta span{color:var(--primary-accent);background:#38bdf814;border:1px solid #38bdf829;gap:8px;padding:8px 12px;font-size:.84rem}.timeline-card__heading{position:relative}.timeline-card__heading p{color:var(--secondary-accent);font-family:var(--font-heading);margin:0 0 10px;font-size:.98rem;font-weight:800}.timeline-card__heading h3{color:var(--text);font-family:var(--font-heading);margin:0;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.15}.timeline-card__metric{border:1px solid var(--border);color:var(--muted-text);background:#ffffff0e;gap:9px;width:max-content;margin-top:18px;padding:10px 13px}.timeline-card__metric svg{color:var(--primary-accent)}.timeline-card__metric strong{color:var(--text);font-family:var(--font-heading)}.timeline-card__description{color:var(--muted-text);margin:20px 0 0;font-size:1rem;line-height:1.82;position:relative}.timeline-card__tech{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex;position:relative}.timeline-card__tech span{border:1px solid var(--border);color:#ffffffd6;background:#ffffff0e;padding:9px 12px;font-size:.86rem}.timeline-card__button{color:var(--text);background:#05081657;border:1px solid #38bdf83d;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;margin-top:24px;padding:0 16px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative}.timeline-card__button:hover{background:#38bdf81a;border-color:#38bdf875;box-shadow:0 14px 34px #38bdf821}@keyframes timelinePulse{0%,to{box-shadow:0 0 0 1px #38bdf859,0 0 26px #38bdf87a}50%{box-shadow:0 0 0 9px #38bdf800,0 0 34px #8b5cf685}}
.education{background:radial-gradient(circle at 18% 18%,#38bdf817,#0000 28%),radial-gradient(circle at 78% 76%,#8b5cf61a,#0000 30%),linear-gradient(#0508161a,#0b102042);overflow:hidden}.education:before,.education:after{content:"";filter:blur(38px);pointer-events:none;z-index:-1;border-radius:50%;position:absolute}.education:before{background:#8b5cf61f;width:250px;height:250px;top:22%;right:8%}.education:after{background:#38bdf81a;width:220px;height:220px;bottom:12%;left:6%}.education__achievements{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:980px;margin:54px auto 0;display:grid}.education__achievement-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#111827bd,#0b10208a) padding-box padding-box,linear-gradient(135deg,#38bdf842,#8b5cf626,#ffffff0d) border-box;border:1px solid #0000;border-radius:20px;min-height:156px;padding:20px;transition:box-shadow .2s,border-color .2s;box-shadow:inset 0 1px #ffffff0f}.education__achievement-card:hover{box-shadow:0 24px 70px #38bdf824,inset 0 1px #ffffff14}.education__achievement-icon{color:var(--primary-accent);background:#38bdf81a;border:1px solid #38bdf829;border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:20px;font-size:1.22rem;display:inline-flex}.education__achievement-card strong{color:var(--text);font-family:var(--font-heading);font-size:clamp(1.55rem,3vw,2.25rem);line-height:1;display:block}.education__achievement-card p{color:var(--muted-text);margin:10px 0 0;font-size:.9rem;font-weight:800}
.certifications{background:radial-gradient(circle at 12% 24%,#38bdf81a,#0000 30%),radial-gradient(circle at 84% 68%,#8b5cf61a,#0000 28%),linear-gradient(#0b10203d,#0508161a);overflow:hidden}.certifications__grid{scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-color:#38bdf847 transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:18px;margin-top:44px;padding:8px 2px 14px;display:flex;overflow:auto hidden}.certifications__grid::-webkit-scrollbar{height:8px}.certifications__grid::-webkit-scrollbar-track{background:0 0}.certifications__grid::-webkit-scrollbar-thumb{background:#38bdf83d;border-radius:999px}.certification-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scroll-snap-align:start;background:linear-gradient(145deg,#111827c7,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf847,#8b5cf629,#ffffff0f) border-box;border:1px solid #0000;border-radius:22px;flex-direction:column;flex:0 0 clamp(280px,27vw,340px);min-height:342px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 70px #00000038,inset 0 1px #ffffff0f}.certification-card:before{content:"";background:linear-gradient(90deg,#0000,#38bdf85c,#8b5cf652,#0000);width:70%;height:1px;transition:left .76s;position:absolute;top:0;left:-80%}.certification-card:after{content:"";opacity:0;background:radial-gradient(circle,#38bdf829,#0000 62%);width:190px;height:190px;transition:opacity .22s;position:absolute;top:-78px;right:-78px}.certification-card:hover{box-shadow:0 28px 80px #38bdf824,0 18px 70px #00000047}.certification-card:hover:before{left:108%}.certification-card:hover:after{opacity:1}.certification-card__icon{border:1px solid var(--border);color:var(--primary-accent);z-index:1;background:linear-gradient(135deg,#38bdf82e,#8b5cf629);border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:20px;font-size:1.38rem;display:inline-flex;position:relative}.certification-card__meta{z-index:1;flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex;position:relative}.certification-card__meta span{color:var(--primary-accent);background:#38bdf814;border:1px solid #38bdf829;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:800}.certification-card h3{color:var(--text);font-family:var(--font-heading);z-index:1;margin:0;font-size:1.18rem;line-height:1.25;position:relative}.certification-card p{color:var(--muted-text);z-index:1;flex:1;margin:16px 0 22px;font-size:.95rem;line-height:1.72;position:relative}.certification-card__button{color:var(--text);z-index:1;border:1px solid #38bdf83d;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 16px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative}.certification-card__button:hover{background:#38bdf81a;border-color:#38bdf875;box-shadow:0 14px 34px #38bdf821}
.resume-cta{padding-top:70px;padding-bottom:70px}.resume-cta__card{border:1px solid var(--border);background:radial-gradient(circle at 18% 20%,#38bdf847,#0000 32%),radial-gradient(circle at 82% 80%,#8b5cf647,#0000 34%),linear-gradient(135deg,#111827e6,#0b1020c7);border-radius:30px;justify-content:space-between;align-items:center;gap:28px;padding:clamp(28px,5vw,56px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 100px #0000004d,0 0 72px #38bdf81f}.resume-cta__card:before{content:"";opacity:.16;pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0}.resume-cta__eyebrow{color:var(--primary-accent);font-family:var(--font-heading);margin-bottom:12px;font-weight:800;display:block;position:relative}.resume-cta h2{color:var(--text);font-family:var(--font-display);margin:0;font-size:clamp(2rem,4.8vw,4.2rem);line-height:1;position:relative}.resume-cta p{color:var(--muted-text);max-width:620px;margin:18px 0 0;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.7;position:relative}.resume-cta__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:12px;display:flex;position:relative}.resume-cta__button{color:var(--text);background:#05081657;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-width:160px;min-height:52px;padding:0 20px;font-weight:800;display:inline-flex}.resume-cta__button--primary{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));border-color:#0000;box-shadow:0 18px 48px #38bdf838}
.contact{background:radial-gradient(circle at 20% 28%,#38bdf81a,#0000 30%),radial-gradient(circle at 78% 66%,#8b5cf61c,#0000 30%),linear-gradient(#0508161f,#0b102047);overflow:hidden}.contact__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(22px,4vw,40px);margin-top:44px;display:grid}.contact__details,.contact__card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#111827c2,#0b10208f) padding-box padding-box,linear-gradient(135deg,#38bdf83d,#8b5cf629,#ffffff0f) border-box;border:1px solid #0000;border-radius:24px;padding:clamp(22px,3vw,30px);box-shadow:0 24px 80px #0000003d,inset 0 1px #ffffff0f}.contact__detail{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:18px 0;display:flex}.contact__detail:first-child{padding-top:0}.contact__detail span,.social-links__item{border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.contact__detail span{color:var(--primary-accent);background:#38bdf81a;border:1px solid #38bdf829;flex:none;width:46px;height:46px;font-size:1.2rem}.contact__detail p{color:var(--muted-text);margin:0 0 5px;font-size:.86rem;font-weight:800}.contact__detail strong{color:var(--text);font-family:var(--font-heading);font-size:1rem;line-height:1.35}.social-links{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.social-links__item{border:1px solid var(--border);color:var(--text);background:#ffffff0e;gap:9px;min-height:46px;padding:0 14px;font-weight:800;transition:background .18s,border-color .18s,box-shadow .18s}.social-links__item:hover{background:#38bdf81a;border-color:#38bdf861;box-shadow:0 14px 34px #38bdf81f}.social-links__item--disabled{color:var(--muted-text);cursor:not-allowed;opacity:.72}.social-links__item--disabled:hover{border-color:var(--border);box-shadow:none;background:#ffffff0e}.social-links--compact{margin-top:0}.social-links--compact .social-links__item{border-radius:50%;width:44px;height:44px;min-height:44px;padding:0}.contact__card{align-self:stretch;position:relative;overflow:hidden}.contact__card:before{content:"";background:radial-gradient(circle,#38bdf82e,#0000 62%);width:260px;height:260px;position:absolute;top:-100px;right:-100px}.contact__card-kicker{color:var(--primary-accent);font-family:var(--font-heading);margin-bottom:16px;font-weight:800;display:block;position:relative}.contact__card h3{color:var(--text);font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.08;position:relative}.contact__card p{color:var(--muted-text);max-width:640px;margin:22px 0 30px;font-size:1rem;line-height:1.8;position:relative}.contact__email-button{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 22px;font-weight:800;display:inline-flex;position:relative;box-shadow:0 18px 48px #38bdf838}
.footer{border-top:1px solid var(--border);background:linear-gradient(#0b10202e,#03050df0),radial-gradient(circle at 50% 0,#38bdf817,#0000 34%);padding:46px clamp(20px,6vw,84px) 26px;position:relative}.footer__inner{gap:22px;display:grid}.footer__brand{max-width:760px}.footer__brand h2{color:var(--text);font-family:var(--font-heading);margin:0;font-size:1.32rem}.footer__roles{color:var(--primary-accent);font-family:var(--font-heading);flex-wrap:wrap;gap:6px 10px;font-weight:800;display:flex}.footer__roles span:not(:last-child):after{color:#ffffff5c;content:"•";margin-left:10px}.footer__brand p,.footer__bottom p{color:var(--muted-text);margin:6px 0 0;line-height:1.68}.footer__nav{flex-wrap:wrap;gap:10px;display:flex}.footer__nav a{color:var(--muted-text);border:1px solid #0000;border-radius:999px;padding:9px 12px;font-weight:800;transition:background .18s,border-color .18s,color .18s}.footer__nav a:hover{border-color:var(--border);color:var(--text);background:#ffffff0e}.footer__actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px;display:flex}.footer__top{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));color:var(--text);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.1rem;display:inline-flex;box-shadow:0 16px 40px #38bdf833}.footer__bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;display:flex}
@media (max-width:1180px){.projects__showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1040px){.navbar__inner{min-height:60px}.navbar__links{gap:0}.navbar__link{padding-inline:8px;font-size:.8rem}.about__grid{grid-template-columns:1fr}.about__visual{min-height:240px}.about__content,.section-title--left{text-align:center}.about__text{margin-inline:auto}.skills__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline{max-width:760px}.education__achievements{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.resume-cta__card,.contact__grid{grid-template-columns:1fr}.resume-cta__card{flex-direction:column;align-items:flex-start}.resume-cta__actions{justify-content:flex-start}}@media (max-width:880px){.cursor-glow{display:none}.navbar{padding-inline:16px}.navbar__inner{border-color:var(--border);background:#0b1020ad;padding-right:10px}.navbar__links{opacity:0;pointer-events:none;border-radius:24px;flex-direction:column;gap:4px;max-height:calc(100vh - 96px);padding:14px;transition:opacity .18s,transform .18s;position:fixed;top:86px;left:16px;right:16px;transform:translateY(-10px)scale(.98)}.navbar__links--open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.navbar__link,.navbar__resume{justify-content:center;width:100%;min-height:46px}.navbar__toggle{display:inline-flex}.hero{min-height:100svh;padding-top:112px}.section-pad{padding-block:90px}.about__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.projects .section-title{margin-bottom:34px}.projects__showcase{gap:18px}.timeline{margin-top:42px}.timeline:before{left:50%;transform:translate(-50%)}.timeline__item{padding-top:44px;padding-left:0}.timeline__node{top:0;left:50%;transform:translate(-50%)}}@media (max-width:640px){.hero{align-items:flex-start;padding:104px 18px 52px}.hero__badge{font-size:.82rem;line-height:1.35}.hero__eyebrow{font-size:.86rem}.hero__title{font-size:clamp(2.2rem,12vw,3.45rem);line-height:1.04}.hero__roles{align-items:flex-start;margin-top:14px;font-size:1.05rem}.hero__typing{min-width:100%}.hero__summary{margin-top:18px;font-size:.96rem;line-height:1.68}.hero__actions{gap:12px;width:100%;display:grid}.premium-button{width:100%}.hero__scroll{display:none}.section-pad{padding:78px 18px}.section-title{margin-bottom:24px}.section-title h2{font-size:clamp(2rem,11vw,3rem)}.about__visual{min-height:160px}.about__stats,.skills__grid{grid-template-columns:1fr}.about__stat-card{min-height:134px}.skills__card{min-height:auto;padding:22px}.skills__intro{margin-bottom:30px}.project-card{border-radius:18px;padding:20px}.project-card__content{text-align:left;padding:0}.project-card__icon{width:58px;height:58px}.project-card__heading h3{font-size:1.28rem}.project-card__tech,.project-card__actions{justify-content:flex-start}.project-card__meta{text-align:left;grid-template-columns:1fr}.project-card__button{flex-basis:100%;width:100%}.timeline:before{left:14px;transform:none}.timeline__item{padding-top:0;padding-left:48px}.timeline__node{top:30px;left:4px;transform:none}.timeline-card{border-radius:18px;padding:20px}.timeline-card__metric{width:100%}.education__achievements{grid-template-columns:1fr;margin-top:38px}.education__achievement-card{min-height:134px}.certifications__grid{margin-top:26px}.certification-card{flex-basis:min(82vw,320px);min-height:auto}.resume-cta{padding-block:48px}.resume-cta__card{text-align:center;border-radius:22px}.resume-cta__actions,.resume-cta__button{width:100%}.contact__grid{grid-template-columns:1fr;margin-top:34px}.contact__details,.contact__card{border-radius:20px;padding:20px}.contact__detail{align-items:flex-start}.social-links,.footer__nav,.footer__actions,.footer__bottom{justify-content:center}.social-links__item{flex:130px}[data-tooltip]:after{white-space:normal;max-width:min(220px,72vw)}.contact__card{text-align:center}.contact__email-button{width:100%}.footer{padding:46px 18px 28px}.footer__brand{text-align:center;margin-inline:auto}.footer__roles{justify-content:center}.footer__actions{flex-direction:column}.footer__bottom{text-align:center}}@media (max-width:390px){.navbar__brand strong{display:none}.hero__title{font-size:2.08rem}}@media (max-width:600px){.projects__showcase{grid-template-columns:1fr}}
:root{--background:#050816;--background-secondary:#0b1020;--card:#111827;--primary-accent:#38bdf8;--secondary-accent:#8b5cf6;--text:#fff;--muted-text:#94a3b8;--border:#ffffff14;--shadow-glow:0 0 42px #38bdf838;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-display:Orbitron, "Space Grotesk", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Space Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100%}body{background:radial-gradient(circle at 8% 18%, #38bdf814, transparent 24%), radial-gradient(circle at 92% 14%, #8b5cf614, transparent 22%), var(--background);color:var(--text);font-family:var(--font-body);text-rendering:optimizelegibility;min-height:100vh;margin:0;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:-3;position:fixed;inset:0}body:before{background:radial-gradient(circle at 18% 18%,#38bdf82e,#0000 30%),radial-gradient(circle at 78% 12%,#8b5cf629,#0000 28%),radial-gradient(circle at 48% 82%,#38bdf814,#0000 32%),linear-gradient(135deg,#050816 0%,#080c1a 48%,#03050d 100%)}body:after{opacity:.18;background-image:radial-gradient(circle,#ffffffb8 0 1px,#0000 1px),radial-gradient(circle,#38bdf861 0 1px,#0000 1px);background-position:0 0,38px 52px;background-size:86px 86px,132px 132px;animation:42s linear infinite starsDrift}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary-accent);outline-offset:4px}[data-tooltip]{position:relative}[data-tooltip]:after{color:var(--text);content:attr(data-tooltip);font-family:var(--font-body);opacity:0;pointer-events:none;text-align:center;white-space:nowrap;z-index:30;background:#03050deb;border:1px solid #38bdf838;border-radius:10px;max-width:210px;padding:8px 10px;font-size:.76rem;font-weight:800;line-height:1.25;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);box-shadow:0 14px 34px #00000047}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.skip-link{background:var(--primary-accent);color:#020617;z-index:200;border-radius:999px;padding:10px 16px;font-weight:900;transition:transform .18s;position:fixed;top:18px;left:24px;transform:translateY(-180%)}.skip-link:focus-visible{transform:translateY(0)}::selection{color:var(--text);background:#38bdf852}.portfolio-shell{isolation:isolate;min-height:100vh;position:relative}.portfolio-shell:before{content:"";opacity:.24;pointer-events:none;z-index:-2;background:radial-gradient(circle,#38bdf86b 0 2px,#0000 2px) 18vw 24vh/420px 420px,radial-gradient(circle,#8b5cf661 0 2px,#0000 2px) 78vw 68vh/520px 520px;animation:13s ease-in-out infinite alternate particleFloat;position:fixed;inset:0}.scroll-to-top{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text);cursor:pointer;z-index:90;background:linear-gradient(145deg,#111827b8,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf880,#8b5cf65c) border-box;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.12rem;display:inline-flex;position:fixed;bottom:26px;right:24px;box-shadow:0 18px 48px #00000047,0 0 30px #38bdf829}.scroll-to-top:hover{box-shadow:0 20px 56px #38bdf838,0 0 34px #8b5cf629}.loading-screen,.not-found{background:radial-gradient(circle at 50% 35%, #38bdf82e, transparent 26%), radial-gradient(circle at 58% 54%, #8b5cf624, transparent 30%), var(--background);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;overflow:hidden}.loading-screen{flex-direction:column;gap:22px;animation:.9s both loadingFade}.loading-screen__logo,.not-found__panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 30px 100px #0000004d, var(--shadow-glow);background:linear-gradient(145deg,#111827c7,#0b102094) padding-box padding-box,linear-gradient(135deg,#38bdf87a,#8b5cf65c,#ffffff14) border-box;border:1px solid #0000}.loading-screen__logo{color:var(--text);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;width:clamp(96px,22vw,148px);height:clamp(96px,22vw,148px);font-size:clamp(2rem,7vw,4rem);animation:1.5s ease-in-out infinite alternate loadingGlow;display:inline-flex}.loading-screen p{color:var(--muted-text);font-family:var(--font-heading);margin:0;font-weight:800}.not-found__panel{text-align:center;border-radius:28px;max-width:620px;padding:clamp(30px,6vw,58px);position:relative}.not-found__eyebrow{color:var(--primary-accent);font-family:var(--font-heading);margin-bottom:14px;font-weight:900;display:block}.not-found h1{font-family:var(--font-display);margin:0;font-size:clamp(2.6rem,8vw,5.8rem);line-height:1}.not-found p{color:var(--muted-text);max-width:440px;margin:20px auto 30px;line-height:1.7}.not-found__button{background:linear-gradient(135deg, var(--primary-accent), var(--secondary-accent));color:#fff;border-radius:999px;min-height:52px;padding:15px 24px;font-weight:900;transition:box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 18px 48px #38bdf838}.not-found__button:hover{transform:translateY(-3px);box-shadow:0 22px 56px #8b5cf647}
