:root{--bg: #0b0c10;--panel: #12141a;--text: #e8ebf1;--muted: #a7b0c0;--accent: #06b6d4;--accent-2: #8b5cf6;--ring: #06b6d455;--shadow: 0 10px 25px rgba(0, 0, 0, .25);--radius: 18px;--container: 1100px}html[data-theme=light]{--bg: #f6f7fb;--panel: #ffffff;--text: #0b1324;--muted: #4b5563;--shadow: 0 10px 25px rgba(2, 6, 23, .08)}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Noto Sans,"Segoe UI Emoji";background:var(--bg);color:var(--text);line-height:1.6}html,body,*{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0;background:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;transition:transform .3s ease,filter .3s ease}.container{width:min(100% - 32px,var(--container));margin-inline:auto}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}header{position:fixed;top:0;left:0;right:0;z-index:140;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#000000b3;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}body{--hdr-h: 72px}main,.hero{scroll-margin-top:var(--hdr-h)}body:not(.home-page) main{padding-top:calc(var(--hdr-h) + 12px)}.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;max-width:100%}.nav a{opacity:.9;text-shadow:0 2px 8px rgba(0,0,0,.3);transition:opacity .2s ease}.nav a:hover{opacity:1}.nav-links{display:flex;gap:1.125rem;align-items:center;flex-wrap:wrap}.brand{font-weight:800;letter-spacing:.3px;font-size:1.1rem;background:linear-gradient(45deg,var(--accent),var(--accent-2));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none!important}.brand-group{display:flex;gap:.75rem;align-items:center}@media (max-width: 480px){.brand-group{gap:.55rem}}.brand:hover{opacity:1}.home-page header{background:#0f192833;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 1px 20px #0000001f}.home-page .nav{padding:.5rem 0}.home-page .nav a{color:#fffffff2;text-shadow:0 2px 12px rgba(0,0,0,.4);font-weight:500}.home-page .nav a:hover{color:#fff;text-shadow:0 2px 15px rgba(0,0,0,.6)}.home-page .brand{background:linear-gradient(45deg,#ffffffe6,#c8dcffcc);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:1.25rem}.home-page .nav-links{gap:1rem;font-size:.9rem}.home-page .nav-links .sep{opacity:.4;color:#fff9}@media (max-width: 768px){.nav{padding:.75rem 0;flex-wrap:wrap;gap:.5rem}.nav-links{gap:.75rem;font-size:.9rem;flex-wrap:wrap;justify-content:center;width:100%;order:2}.brand{font-size:1rem;order:1}}@media (max-width: 480px){.nav{padding:.5rem 0}.nav-links{gap:.5rem;font-size:.85rem}.nav-links .sep{display:none}.brand{font-size:.95rem}}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0}.topbar .bar{display:flex;gap:12px;align-items:center}.nav-contacts{display:flex;gap:12px;align-items:center;font-size:14px}.nav-contacts a{color:#fff;text-decoration:none;font-weight:600}.nav-contacts a:hover{opacity:.9;text-decoration:underline}.contact-inline{display:flex;gap:10px;align-items:center}.contact-inline .sep{opacity:.6;padding:0 6px}@media (max-width: 768px){.home-page .topbar{flex-direction:column;gap:.5rem;align-items:center}.home-page .bar{order:1;gap:.75rem;font-size:.9rem}.home-page .nav-contacts{order:2;font-size:.8rem;gap:.35rem;flex-wrap:nowrap;justify-content:center}.home-page .nav-contacts .contact-inline{gap:.5rem}.home-page .nav-contacts .sep{margin:0 .25rem}}@media (max-width: 480px){.home-page .topbar{gap:.75rem}.home-page .bar{gap:.5rem;font-size:.85rem}.home-page .nav-contacts{font-size:.75rem;gap:.25rem;flex-wrap:nowrap}.home-page .nav-contacts .contact-inline{flex-direction:row;gap:.2rem;text-align:center}.home-page .nav-contacts .sep{margin:0 .1rem}.home-page .nav-contacts .contact-inline .sep{display:none}}@media (max-width: 360px){.home-page .bar{font-size:.8rem;gap:.375rem}.home-page .nav-contacts{font-size:.75rem}}footer{padding:36px 0;color:var(--muted);text-align:center}main{padding:28px 0 48px}.btn,.btn-secondary{padding:10px 14px;border-radius:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;box-shadow:0 6px 16px #00000040}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #00000047}.btn-secondary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff;border:none;box-shadow:0 4px 14px #00000040}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0000004d;filter:brightness(1.05)}.btn-secondary:active{transform:translateY(0);box-shadow:0 4px 12px #00000040}.text-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;position:relative;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:4px}.text-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(.35);transform-origin:left;transition:transform .3s ease;border-radius:2px;opacity:.75}.text-link:hover:after{transform:scaleX(1);opacity:1}.text-link:focus{outline:2px solid color-mix(in oklab,var(--accent),transparent 40%);outline-offset:2px}.text-link:active{transform:translateY(1px)}.text-link:hover{color:var(--accent-2)}.glow-card,.qcard,.skill-card{position:relative;overflow:hidden}.qcard .glowing-effect,.skill-card .glowing-effect{z-index:0}.qcard>*,.skill-card>*{position:relative;z-index:1}.glow-card{isolation:isolate}.glow-card .glowing-effect{z-index:0}.glow-card>*{position:relative;z-index:1}.glowing-effect{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;filter:blur(var(--ge-blur, 0px))}.glowing-effect:after{content:"";position:absolute;inset:calc(-1 * var(--ge-border, 1px));border-radius:inherit;border:var(--ge-border, 1px) solid transparent;background:radial-gradient(circle at var(--ge-gx,50%) var(--ge-gy,50%),rgba(221,123,187,.65) 0%,rgba(221,123,187,0) 30%),radial-gradient(circle at calc(var(--ge-gx,50%) - 10%) calc(var(--ge-gy,50%) - 10%),#d79f1e73,#d79f1e00 25%),repeating-conic-gradient(from 236.84deg at 50% 50%,#dd7bbb,#d79f1e calc(25% / var(--ge-times, 5)),#5a922c calc(50% / var(--ge-times, 5)),#4c7894 calc(75% / var(--ge-times, 5)),#dd7bbb calc(100% / var(--ge-times, 5)));background-attachment:local;background-position:center;opacity:var(--ge-active, 0);transition:opacity .18s ease,transform .3s ease;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:linear-gradient(#0000,#0000),conic-gradient(from calc((var(--ge-start, 0) - var(--ge-spread, 40)) * 1deg),transparent 0deg,#fff 1deg,transparent calc(var(--ge-spread, 40) * 2deg));mask-image:linear-gradient(#0000,#0000),conic-gradient(from calc((var(--ge-start, 0) - var(--ge-spread, 40)) * 1deg),transparent 0deg,#fff 1deg,transparent calc(var(--ge-spread, 40) * 2deg))}.click-burst{position:relative}.click-burst:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle,rgba(6,182,212,.6) 0%,rgba(139,92,246,.4) 50%,transparent 80%);animation:clickBurstEffect .8s ease-out forwards;z-index:-1}@keyframes clickBurstEffect{0%{opacity:0;transform:scale(.3);filter:blur(0px)}40%{opacity:1;transform:scale(1.1);filter:blur(1px)}to{opacity:0;transform:scale(2);filter:blur(6px)}}@keyframes clickGlowBurst{0%{opacity:0;transform:scale(.5);filter:blur(0px)}30%{opacity:1;transform:scale(1);filter:blur(2px)}to{opacity:0;transform:scale(1.8);filter:blur(8px)}}@media (max-width: 768px){.btn,.btn-secondary{padding:.75rem 1rem;font-size:.9rem;gap:.5rem}.btn:hover,.btn-secondary:hover{transform:translateY(-1px)}.glowing-effect{opacity:.6}@media (hover: none){.glowing-effect{opacity:.4}.btn:hover,.btn-secondary:hover{transform:none}}}@media (max-width: 480px){.btn,.btn-secondary{padding:.625rem .875rem;font-size:.85rem;border-radius:.75rem}.actions{gap:.5rem;flex-wrap:wrap;justify-content:center}}@media (max-width: 360px){.btn,.btn-secondary{padding:.5rem .75rem;font-size:.8rem;border-radius:.5rem}}.card-inner{display:flex;flex-direction:column;gap:8px;height:100%}.h3-reset,.para-reset{margin:0}.flex-1{flex:1 1 auto}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn-group{display:flex;gap:10px;flex-shrink:0}.pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px #00000040}.pill--ghost{background:#00000047;color:#fff;border:1px solid rgba(255,255,255,.35)}.pill--white{background:#fff;color:#0b1324;border:1px solid rgba(0,0,0,.08)}.lamp-container{position:relative;display:flex;min-height:60vh;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--bg);width:100%;border-radius:var(--radius);z-index:0;margin-bottom:2rem}.lamp-effect{position:relative;display:flex;width:100%;flex:1;transform:scaleY(1.25);align-items:center;justify-content:center;z-index:0}.lamp-beam{position:absolute;height:14rem;overflow:visible;width:30rem;transition:all .8s ease}.lamp-beam-left{right:50%;background:conic-gradient(from 70deg at center top,var(--accent) 0%,transparent 40%)}.lamp-beam-right{left:50%;background:conic-gradient(from 290deg at center top,transparent 60%,var(--accent-2))}.lamp-mask{position:absolute;background:var(--bg);z-index:20}.lamp-mask-bottom{width:100%;left:0;height:10rem;bottom:0;mask-image:linear-gradient(to top,white,transparent);-webkit-mask-image:linear-gradient(to top,white,transparent)}.lamp-mask-left{width:10rem;height:100%;left:0;bottom:0;mask-image:linear-gradient(to right,white,transparent);-webkit-mask-image:linear-gradient(to right,white,transparent)}.lamp-mask-right{width:10rem;height:100%;right:0;bottom:0;mask-image:linear-gradient(to left,white,transparent);-webkit-mask-image:linear-gradient(to left,white,transparent)}.lamp-light-source{position:absolute;top:50%;height:12rem;width:100%;transform:translateY(3rem) scaleX(1.5);background:var(--bg);filter:blur(.5rem);z-index:10}.lamp-backdrop{position:absolute;top:50%;z-index:50;height:12rem;width:100%;background:transparent;opacity:.1;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem)}.lamp-glow{position:absolute;z-index:50;height:9rem;width:28rem;top:50%;transform:translateY(-50%);border-radius:9999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));opacity:.3;filter:blur(3rem);animation:lampPulse 4s ease-in-out infinite alternate}.lamp-spotlight{position:absolute;z-index:30;height:9rem;width:16rem;top:50%;transform:translateY(-6rem);border-radius:9999px;background:var(--accent-2);filter:blur(2rem);opacity:.4;transition:all .8s ease}.lamp-content{position:relative;z-index:50;display:flex;transform:translateY(-5rem);flex-direction:column;align-items:center;padding:0 1.25rem}.lamp-title{margin-top:2rem;background:linear-gradient(to bottom right,var(--text),var(--muted));background-clip:text;-webkit-background-clip:text;text-align:center;font-size:clamp(2.5rem,8vw,4rem);font-weight:600;letter-spacing:-.025em;color:transparent;line-height:1;transition:all .8s ease}.lamp-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6;text-align:center;color:#ffffffb3;max-width:700px;margin:1rem auto 0;opacity:0;transform:translateY(20px);transition:all .8s ease .3s}.lamp-subtitle .highlight{color:#fff;font-weight:600;background:linear-gradient(45deg,var(--accent),var(--accent-2));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}.lamp-subtitle .highlight:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:linear-gradient(45deg,var(--accent),var(--accent-2));opacity:.5;transform:scaleX(0);transition:transform .3s ease}.lamp-subtitle .highlight:hover:after{transform:scaleX(1)}@keyframes lampPulse{0%{opacity:.3;transform:translateY(-50%) scale(1)}to{opacity:.5;transform:translateY(-50%) scale(1.1)}}@media (max-width: 768px){.lamp-container{min-height:50vh}.lamp-beam{height:10rem;width:20rem}.lamp-glow{width:20rem;height:6rem}.lamp-spotlight{width:12rem;height:6rem}}@media (max-width: 1200px){.container{width:min(100% - 2rem,var(--container))}.hero .inner{padding:4rem 2rem 2rem}}@media (max-width: 980px){.hero .inner{flex-direction:column;text-align:center;align-items:center;gap:2rem;padding:3rem 1.5rem 2rem}.qcard{grid-column:span 12}.card{grid-template-columns:1fr}.headline h1{font-size:clamp(2.5rem,8vw,4rem)}}@media (max-width: 768px){.container{width:min(100% - 1.5rem,var(--container))}.hero{min-height:80vh}.hero .inner{padding:2rem 1rem 1.5rem;gap:1.5rem}.headline p{font-size:1.125rem;line-height:1.6}.grid{grid-template-columns:1fr;gap:1rem}.card{padding:1.5rem;min-height:auto}.modal-content{margin:1rem;max-height:85vh;border-radius:.75rem}}@media (max-width: 640px){.container{width:min(100% - 1rem,var(--container))}.skill-card{min-width:280px}.headline p{font-size:1.125rem}.headline-title{flex-direction:column;align-items:center;gap:.5rem}.headline-title img{width:5.375rem;height:5.375rem}.headline .tagline{display:inline-block;white-space:nowrap;font-size:clamp(.75rem,3.6vw,1.125rem)}.about h2,.about p{text-align:left;padding-left:.5rem}.card{min-height:auto;padding:1.25rem}.hero-inner .about h1{font-size:2.125rem!important;line-height:1.15}.team-inner .about h2{font-size:1.75rem!important;line-height:1.2}.scroll-btn{width:2.25rem;height:2.25rem}.scroll-wrap:before,.scroll-wrap:after{width:1.75rem}}@media (max-width: 480px){.container{width:min(100% - .75rem,var(--container))}.hero .inner{padding:1.5rem .75rem 1rem}.headline h1{font-size:clamp(2rem,8vw,3rem);margin-bottom:.5rem}.headline p{font-size:1rem;margin-bottom:1rem}.headline-title img{width:4.5rem;height:4.5rem}.card{padding:1rem;border-radius:.75rem}.btn{padding:.75rem 1.5rem;font-size:.9rem}.btn-secondary{padding:.625rem 1.25rem;font-size:.875rem}.modal-content{margin:.5rem;padding:1.5rem;max-height:90vh}}@media (max-width: 360px){.container{width:min(100% - .5rem,var(--container))}.hero .inner{padding:1.25rem .5rem .75rem}.headline h1{font-size:clamp(1.75rem,9vw,2.5rem)}.headline p{font-size:.9rem}.headline-title img{width:4rem;height:4rem}.btn{padding:.6875rem 1.25rem;font-size:.875rem}.card{padding:.875rem}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;color:#fff;text-align:left;overflow:hidden}.hero .inner{position:relative;z-index:1;display:flex;align-items:flex-start;gap:40px;max-width:1100px;padding:80px 40px 40px}.headline-title{display:flex;align-items:center;gap:12px}.headline-title img{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #00000059}.headline h1{font-size:clamp(38px,6vw,72px);margin:0 0 6px;text-shadow:0 3px 18px rgba(0,0,0,.55)}.headline p{margin:0 0 20px;font-size:22px;color:#eef2f7;text-shadow:0 2px 12px rgba(0,0,0,.6)}.tagline{text-align:center}@media (max-width: 600px){.headline h1{margin-bottom:2px}.tagline{margin-top:-16px;font-size:24px}.headline-title img{width:96px;height:96px}}.about h2{font-size:28px;margin:0 0 12px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7)}.about p{font-size:18px;line-height:1.75;margin:0 0 1.8em;max-width:760px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7)}.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:56px}.qcard{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.3);background:#00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 18px #00000040;color:#fff;width:100%;max-width:320px;margin:0;min-height:210px}.qcard--resume{min-height:250px}.qcard .card-inner{display:flex;flex-direction:column;gap:12px;flex:1}.qcard .row-between{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex:1}.qcard .btn-group{display:flex;gap:10px}.quick .qcard p{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:2.8em}@media (max-width:740px){.quick{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-items:start}.qcard{min-height:200px}.qcard--resume{min-height:230px}.qcard .row-between{flex-direction:column;align-items:flex-start;gap:10px}.qcard h3{font-size:20px}.qcard .btn-group{width:100%;display:flex;gap:10px}.qcard .btn-group a,.qcard .btn-group .pill{flex:1;text-align:center}}.qcard h3{margin:0;font-size:18px}.section-title{font-size:22px;margin:0 0 12px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7)}.skill-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch}.skill-card{scroll-snap-align:start;min-width:360px;max-width:420px;border-radius:16px;border:1px solid rgba(255,255,255,.3);background:#00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003;color:#fff;padding:18px 18px 14px}.scroll-wrap{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.scroll-wrap::-webkit-scrollbar{display:none}.bg-btn.bg-cycle{position:fixed;top:96px;right:18px;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0000008c,#0000004d);color:#fff;cursor:pointer;font-size:22px;font-weight:500;line-height:1;padding-bottom:2px;box-shadow:0 4px 18px #00000073,0 0 0 1px #ffffff0f inset;transition:background .25s ease,transform .25s ease,box-shadow .3s ease,filter .3s ease,opacity .3s ease;z-index:3200;backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);opacity:.85}.bg-btn.bg-cycle:hover{background:linear-gradient(135deg,#0f172ac7,#0000006b);transform:translateY(-2px) scale(1.05);opacity:1}.bg-btn.bg-cycle:active{transform:translateY(0) scale(.94);filter:brightness(1.18)}.bg-btn.bg-cycle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 600px){.bg-btn.bg-cycle{top:132px;right:10px;width:36px;height:36px;font-size:18px}}.bg-credit{position:relative;color:#ffffffe6;font-size:14px;text-align:left;text-shadow:0 2px 12px rgba(0,0,0,.8);z-index:9999;padding:10px 5px;margin:0 auto;max-width:90vw;margin-top:calc(var(--hdr-h, 72px) + 2px)}#skills{color:inherit;margin-top:0}@media (max-width: 900px){.quick{margin-bottom:48px}}@media (max-width: 600px){.quick{margin-bottom:42px}}#skills a,#skills .skill-card a{color:#fff;font-weight:600;text-decoration:none}#skills a:hover,#skills .skill-card a:hover{opacity:.9;text-decoration:underline}#skills .contact-inline{display:flex;gap:10px;align-items:center}.scroll-wrap{position:relative;display:flex;align-items:center}.scroll-wrap{--scroll-btn-w: 34px;--scroll-btn-h: 54px}.skill-track{padding:8px calc(var(--scroll-btn-w) + 10px);gap:18px;scroll-behavior:smooth}.scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:var(--scroll-btn-w);height:var(--scroll-btn-h);border:none;background:#0f172a47;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:400;cursor:pointer;box-shadow:none;isolation:isolate;overflow:hidden;z-index:5;transition:background .25s ease,filter .3s ease,transform .35s cubic-bezier(.34,.07,.19,1),opacity .3s ease;border-radius:12px;backdrop-filter:blur(6px) brightness(1.05);-webkit-backdrop-filter:blur(6px) brightness(1.05);opacity:.65}.scroll-btn:before,.scroll-btn:after{display:none}.scroll-btn.left{left:6px}.scroll-btn.right{right:6px}.scroll-btn:hover{background:#1e293b8c;transform:translateY(-50%) scale(1.06);opacity:.9}.scroll-btn:active{filter:brightness(1.18) saturate(1.1)}@media (max-width: 768px){.scroll-wrap{--scroll-btn-w: 38px;--scroll-btn-h: 48px}.scroll-btn{font-size:20px}}@media (max-width: 480px){.scroll-wrap{--scroll-btn-w: 34px;--scroll-btn-h: 44px}.scroll-btn{font-size:18px}.scroll-btn.left{left:4px}.scroll-btn.right{right:4px}}.scroll-wrap:before,.scroll-wrap:after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:4;pointer-events:none;transition:opacity .35s ease}.scroll-wrap:before{left:0;background:linear-gradient(to right,#00000073,#0000)}.scroll-wrap:after{right:0;background:linear-gradient(to left,#00000073,#0000)}.scroll-wrap:hover:before,.scroll-wrap:hover:after{opacity:.95}@media (max-width: 768px){.scroll-wrap:before,.scroll-wrap:after{width:56px}}@media (max-width: 480px){.scroll-wrap:before,.scroll-wrap:after{width:46px}}.resume-actions{display:flex;justify-content:flex-start}.resume-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,#875eff26,#06b6d41f);border:1px solid rgba(255,255,255,.06);color:#fff;font-weight:700;box-shadow:0 8px 26px #02061799;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,background .12s ease}.resume-btn:before{content:"📄";font-size:18px}.resume-btn:hover{transform:translateY(-3px);box-shadow:0 14px 36px #020617b3}body.home-has-bg:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;pointer-events:none;z-index:0}main,footer,.hero{position:relative;z-index:1}.home-bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center top;background-repeat:no-repeat;z-index:-2;transform:translateZ(0);will-change:opacity,transform,filter}.home-bg-layer.current{opacity:1;animation:fadeInBg 2.2s cubic-bezier(.4,0,.2,1) forwards}.bg-fade-prev{animation:fadeOutBg 2.4s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeInBg{0%{opacity:0;transform:scale(1.018);filter:blur(12px)}30%{opacity:.8;transform:scale(1.012);filter:blur(5px)}60%{opacity:.95;transform:scale(1.005);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes fadeOutBg{0%{opacity:1;filter:blur(0)}35%{opacity:.55;filter:blur(4px)}70%{opacity:.15;filter:blur(8px)}to{opacity:0;filter:blur(10px)}}.home-bg-underlay{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center top;background-repeat:no-repeat;filter:blur(22px) brightness(.55) saturate(1.1);transform:scale(1.08);z-index:-3}body.home-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000008c,#0000006b 18%,#0000004d 42%,#00000057 60%,#0000008c),radial-gradient(circle at 70% 25%,rgba(255,255,255,.08),transparent 60%);mix-blend-mode:normal;z-index:-1;pointer-events:none;transition:background .6s ease}@media (max-width: 768px){.home-bg-layer.portrait-mobile{background-size:cover;background-position:center center}}@media (max-width: 768px){.hero{padding:0 1rem}.hero .inner{max-width:100%;padding:60px 20px 32px}.resume-actions{justify-content:center;margin-top:1.5rem}.bg-btn{width:36px;height:36px}.bg-credit{font-size:11px;bottom:15px;left:10px;right:10px;margin-top:calc(var(--hdr-h, 72px) + 48px)}.resume-btn{padding:1rem 1.25rem;font-size:.9rem}.skill-track{padding:.5rem 3rem;gap:1rem}.scroll-btn{width:2.5rem;height:2.5rem}}@media (max-width: 480px){.hero .inner{padding:1.5rem .5rem 1rem}.headline-title{margin-bottom:1rem}.resume-btn{padding:.875rem 1rem;font-size:.875rem}.skill-track{padding:.5rem 2.5rem;gap:.75rem}.scroll-btn{width:2.25rem;height:2.25rem}.scroll-btn.left{left:.25rem}.scroll-btn.right{right:.25rem}}.projects-page header .nav{padding:.5rem 0}.toolbar{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:0 1rem;align-items:center;margin-top:-2rem}.search-container{display:flex;justify-content:center;margin-bottom:.5rem}.search-wrapper{position:relative;width:100%;max-width:600px;display:flex;align-items:center}.search-icon{position:absolute;left:1.25rem;z-index:2;color:var(--muted);transition:color .3s ease;pointer-events:none}.search-input{width:100%;padding:1rem 3.5rem;border:2px solid rgba(255,255,255,.1);border-radius:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,inset 0 1px #ffffff1a}.search-input::placeholder{color:#ffffff80;font-weight:400}.search-input:focus{outline:none;border-color:var(--accent);background:#ffffff14;box-shadow:0 0 0 4px #7c3aed1a,0 10px 25px -5px #00000040,inset 0 1px #fff3;transform:translateY(-2px)}.search-wrapper:hover .search-icon,.search-input:focus~.search-icon{color:var(--accent)}.search-clear{position:absolute;right:1rem;background:#ffffff1a;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;opacity:.7;transition:all .2s ease;z-index:2}.search-clear:hover{background:#fff3;color:var(--text);opacity:1;transform:scale(1.1)}.search-clear:active{transform:scale(.95)}.search{flex:1 1 280px;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid color-mix(in oklab,var(--text),transparent 90%);padding:10px 12px;border-radius:12px}.search input{flex:1;border:none;outline:none;background:transparent;color:var(--text);font-size:14px}.filters-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:0}.filter-section{display:flex;justify-content:center;width:100%}.filters{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.filters--primary{gap:1rem}.filters--secondary{gap:.5rem}.chip--primary{padding:1rem 2rem;border-radius:2.5rem;border:2px solid rgba(255,255,255,.15);background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;font-size:1.1rem;letter-spacing:.025em;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #0000001f,inset 0 1px #ffffff26}.chip--primary:hover{transform:translateY(-3px);border-color:#ffffff40;background:#ffffff1f;box-shadow:0 6px 16px #0000002e,inset 0 1px #fff3}.chip--primary.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;box-shadow:0 6px 16px #7c3aed4d,0 2px 6px #0000001a}.chip--primary.active:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 24px #7c3aed66,0 4px 12px #00000026}.chip--secondary{padding:.5rem 1rem;border-radius:1.5rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;font-size:.85rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000f,inset 0 1px #ffffff0d}.chip--secondary:hover{transform:translateY(-1px);border-color:#ffffff26;background:#ffffff0f;color:#ffffffd9;box-shadow:0 3px 8px #0000001a,inset 0 1px #ffffff1a}.chip--secondary.active{background:linear-gradient(135deg,#7c3aedcc,#06b6d4cc);color:#fff;border-color:transparent;box-shadow:0 3px 8px #7c3aed33,0 1px 3px #0000001a}.chip--secondary.active:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 4px 12px #7c3aed40,0 2px 6px #0000001a}@media (max-width: 768px){.toolbar{margin-top:-3rem;margin-bottom:1.5rem}.filters-container{gap:.75rem;padding:0 1rem}.chip--primary{padding:.7rem 1.2rem;font-size:.95rem;border-radius:1.8rem;flex:1 1 auto;min-width:0;text-align:center}.chip--secondary{padding:.45rem .9rem;font-size:.8rem;border-radius:1.25rem}.filters--primary{gap:.5rem;flex-wrap:nowrap;justify-content:space-between;width:100%;max-width:100%}.filters--secondary{gap:.4rem}.card{display:flex;flex-direction:column;min-height:0;grid-template-columns:none}.thumb{width:100%;aspect-ratio:16 / 9;min-height:0}.thumb img{width:100%;height:100%;object-fit:cover;object-position:center}.content{width:100%}}@media (max-width: 480px){.toolbar{padding:0 .5rem;margin-top:-3.5rem;margin-bottom:1.25rem}.filters-container{gap:.625rem;padding:0}.chip--primary{padding:.6rem .8rem;font-size:.85rem;font-weight:600;letter-spacing:.01em;flex:1 1 auto;min-width:0;text-align:center}.chip--secondary{padding:.4rem .75rem;font-size:.75rem;font-weight:500}.filters--primary{gap:.4rem;flex-wrap:nowrap;justify-content:space-between;width:100%}.filters--secondary{gap:.35rem}.thumb{aspect-ratio:16 / 10}.chip--primary:hover,.chip--secondary:hover{transform:translateY(-2px)}.chip--primary.active:hover{transform:translateY(-2px) scale(1.02)}.chip--secondary.active:hover{transform:translateY(-1px) scale(1.01)}}@media (max-width: 360px){.chip--primary{padding:.55rem .6rem;font-size:.8rem;flex:1 1 auto;min-width:0}.chip--secondary{padding:.35rem .65rem;font-size:.7rem}.filters--primary,.filters--secondary{gap:.3rem}}.muted{color:color-mix(in oklab,var(--text),transparent 40%);font-size:18px;text-shadow:0 1px 6px rgba(0,0,0,.45)}.grid{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.card{grid-column:span 12;display:grid;grid-template-columns:1.1fr 1.6fr;background:var(--panel);border:1px solid color-mix(in oklab,var(--text),transparent 90%);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:160px}.thumb{position:relative;min-height:160px;background:var(--panel);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .4s ease}.card:hover .thumb img{transform:scale(1.05);filter:brightness(1.05)}@media (hover: none){.thumb img{animation:slowZoomCard 10s ease-in-out infinite alternate}}@keyframes slowZoomCard{0%{transform:scale(1)}to{transform:scale(1.04)}}@media (hover: hover){.thumb img{animation:slowZoomCard 16s ease-in-out infinite alternate}.card:hover .thumb img{animation-play-state:paused}}@media (prefers-reduced-motion: reduce){.thumb img{animation:none!important;transition:none!important}}.thumb.fallback{background:linear-gradient(135deg,color-mix(in oklab,var(--accent-2),transparent 70%),transparent),linear-gradient(180deg,color-mix(in oklab,var(--accent),transparent 70%),transparent)}.content{padding:16px}.card h3{margin:4px 0 8px;font-size:20px}.badge{display:inline-flex;gap:6px;align-items:center;background:#ffffff26;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.35)}.actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.card .description{font-size:.95rem;line-height:1.35rem;margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.card .description .inline-details{font-size:.85rem;font-weight:600;padding:0;margin-left:4px;position:relative;top:-1px}.card .description .inline-details:after{height:1px;bottom:-1px}.empty{text-align:center;color:var(--muted);padding:32px;border:1px dashed color-mix(in oklab,var(--text),transparent 85%);border-radius:12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[hidden]{display:none}.modal-content{background:var(--panel);color:var(--text);padding:24px;border-radius:12px;max-width:700px;max-height:80vh;overflow:auto;box-shadow:var(--shadow)}.close{float:right;font-size:24px;cursor:pointer;background:transparent;border:none;color:var(--text)}.chip--lang.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent}.chip--type.active{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;border-color:transparent}.chip--type.is-hackathon.active{background:linear-gradient(135deg,#10b981,#34d399)}@media (max-width: 768px){.card{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;min-height:0}.thumb{width:100%;min-height:210px;aspect-ratio:auto;background:var(--panel);display:block}.thumb img{width:100%;height:100%;object-fit:cover;object-position:center}.content{width:100%}}.badge--type{background:linear-gradient(135deg,#a78bfa33,#06b6d433);color:#fff}.badge--type.badge--academic,.badge--type.badge--personal,.badge--type.badge--hackathon{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}body:has([data-page=athletic]) header .nav,.athletic-page header .nav{padding:.5rem 0}.hero-wrap{position:relative;height:90vh;min-height:560px;overflow:hidden}.hero-slides{position:absolute;top:0;right:0;bottom:0;left:0}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background:center/cover no-repeat;opacity:0;transition:opacity 1s ease;filter:brightness(.9);will-change:transform,opacity}.hero-slide.active{opacity:1;animation:zoomSlow 8s ease-in-out forwards}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000008c,#00000059)}.hero-inner{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;justify-content:center;padding:28px 18px;padding-bottom:9vh;text-align:left}.hero-inner .about{max-width:780px}.hero-inner .about p{margin:0;text-indent:0;line-height:1.45}.dots{position:absolute;z-index:3;inset:auto 0 18px 0;display:flex;gap:10px;justify-content:center}.dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:#ffffff40;cursor:pointer}.dot.active{background:#fff}.team-section{position:relative;height:90vh;min-height:560px;overflow:hidden;margin-top:22px}.team-bg{position:absolute;top:0;right:0;bottom:0;left:0}.team-bg .frame{position:absolute;top:0;right:0;bottom:0;left:0;background:center/cover no-repeat;opacity:0;transition:opacity 1s ease;filter:brightness(.88);will-change:transform,opacity}.team-bg .frame.active{opacity:1;animation:zoomSlow 8s ease-in-out forwards}.team-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000008c,#00000073)}.team-inner{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;justify-content:center;padding:28px 18px;padding-bottom:8vh;text-align:left}.team-inner .about{max-width:780px}.team-inner .about p{margin:0;text-indent:0;line-height:1.45}.hero-inner .about h1,.hero-inner .about p,.team-inner .about h2,.team-inner .about p{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}.hero-inner .about h1{-webkit-user-select:none;user-select:none;background:transparent!important}.hero-inner .about h1::selection{background:transparent;color:inherit}.records-wrap{position:relative;padding:40px 0}.records-inner{position:relative;z-index:1;color:#fff;text-align:center;padding:80px 20px}.records-inner h2{font-size:36px;margin-bottom:20px}.records-inner ul{list-style:none;padding:0;margin:0;font-size:20px;line-height:1.8}@keyframes zoomSlow{0%{transform:scale(1)}to{transform:scale(1.05)}}@media (max-width: 980px){.hero-inner .about,.team-inner .about{max-width:840px;text-align:center}.dots{inset:auto 0 12px 0}}@media (max-width: 640px){.hero-inner .about p{line-height:1.5}.team-inner .about .team-text{font-size:.95rem;line-height:1.45}}@media (max-width: 480px){.hero-wrap,.team-section{min-height:520px;height:82vh}.hero-inner,.team-inner{padding-bottom:8vh}}@media (max-width: 360px){.hero-inner .about h1{font-size:1.6rem!important}.team-inner .about h2{font-size:1.4rem!important}.records-inner{padding:2rem .75rem}.records-inner h2{font-size:1.5rem}.records-inner ul{font-size:.85rem}.team-inner .about .team-text{font-size:.8rem}}.hero-title{font-size:46px;line-height:1.1;margin-bottom:12px}.hero-text{font-size:18px}.team-title{font-size:42px;margin-bottom:12px}.team-text{font-size:18px}.team-highlight{font-weight:700;font-size:17px;color:gold}.resume-page header .nav{padding:.5rem 0}.resume-page{min-height:100vh;display:flex;flex-direction:column;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;overflow-x:hidden;overflow-y:auto;background:linear-gradient(160deg,#071422,#0c2338 24%,#103553 48%,#165581 70%,#3d8ec8 88%,#77c4ff);background-size:200% 200%;animation:resumeGradientFlow 36s ease-in-out infinite;color:var(--text)}.resume-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 60% 18%,#ffffff2e,#fff0 55%),radial-gradient(circle at 20% 75%,#ffffff1a,#fff0 60%),linear-gradient(180deg,#ffffff1a,#ffffff05 45%,#00000040);mix-blend-mode:screen;opacity:.65}.resume-page:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 50%,#0000 55%,#00000073);mix-blend-mode:normal}.resume-page header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(150deg,#071422d9,#103553b8,#3d8ec859);border-bottom:1px solid rgba(255,255,255,.15);color:#f0f4ff;box-shadow:0 2px 8px #00000059}.resume-page header .nav{padding:10px 0}.resume-page header .nav a{color:#f0f4ff;opacity:1;text-shadow:none;font-weight:600}.resume-page header .nav a:hover{text-decoration:underline}.resume-page header .sep{opacity:.65;margin:0 6px;color:#c5d4f7}.resume-section h2{margin-top:28px;margin-bottom:10px;font-size:22px;font-weight:700;color:#fff}.resume-section h3{margin-top:20px;margin-bottom:6px;font-size:18px;font-weight:600;color:#e0e6f5}.resume-section p,.resume-section ul{margin-top:0;margin-bottom:6px;line-height:1.6}.see-more,.see-less{color:#4da6ff;cursor:pointer;font-weight:600;display:inline-block;margin-top:6px}.see-more:hover,.see-less:hover{text-decoration:underline}.courses ul.sublist{margin:6px 0 0 20px;font-size:15px;line-height:1.5}@keyframes resumeGradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (prefers-reduced-motion: reduce){.resume-page{animation:none;background-position:40% 50%}.resume-page:before{opacity:.55}}.resume-paper{background:#ffffff12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}@media (max-width: 768px){.resume-page{background-size:300% 300%}.resume-page header .nav{padding:.75rem 0}.resume-paper{padding:1.5rem;margin:1rem 0;border-radius:.75rem}.resume-section h2{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem}.resume-section h3{margin-top:1.25rem;margin-bottom:.5rem;font-size:1.125rem}.resume-section p,.resume-section ul{font-size:.95rem;line-height:1.5;margin-bottom:.5rem}.courses ul.sublist{margin:.5rem 0 0 1.25rem;font-size:.9rem}}@media (max-width: 480px){.resume-page{background-size:250% 250%}.resume-paper{padding:1.25rem;margin:.75rem 0;border-radius:.5rem}.resume-section h2{margin-top:1.25rem;margin-bottom:.625rem;font-size:1.125rem}.resume-section h3{margin-top:1rem;margin-bottom:.375rem;font-size:1rem}.resume-section p,.resume-section ul{font-size:.9rem;line-height:1.45;margin-bottom:.375rem}.courses ul.sublist{margin:.375rem 0 0 1rem;font-size:.85rem}.see-more,.see-less{font-size:.9rem;margin-top:.375rem}}@media (max-width: 360px){.resume-paper{padding:1rem;margin:.5rem 0}.resume-section h2{font-size:1rem;margin-top:1rem;margin-bottom:.5rem}.resume-section h3{font-size:.95rem;margin-top:.75rem;margin-bottom:.25rem}.resume-section p,.resume-section ul{font-size:.85rem;margin-bottom:.25rem}.courses ul.sublist{font-size:.8rem;margin-left:.75rem}}
