.nav-links{position:relative}.nav-links>a{z-index:1;position:relative}.nav-pill{opacity:0;pointer-events:none;background:#55f0c229;border:1px solid #55f0c252;border-radius:999px;width:0;height:100%;transition:transform .45s cubic-bezier(.34,1.3,.64,1),width .45s cubic-bezier(.34,1.3,.64,1),opacity .2s;position:absolute;top:0;left:0}.nav-links a.is-active{color:var(--ink)}.menu-toggle{display:none}@media (width<=880px){.site-header{flex-wrap:wrap;align-items:center}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;flex-direction:column;justify-content:center;gap:5px;width:2.6rem;height:2.6rem;margin-left:auto;padding:0 .7rem;display:inline-flex}.menu-toggle span{background:var(--ink);border-radius:2px;height:2px;transition:transform .22s,opacity .22s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.resume-link{margin-left:auto}.resume-link+.menu-toggle{margin-left:0}.nav-links.is-open{flex-direction:column;flex-basis:100%;order:5;align-items:stretch;gap:.2rem;padding:.4rem .2rem .3rem;display:flex}.nav-links.is-open a{padding:.8rem 1rem;font-size:1rem}.nav-links.is-open a.is-active{background:#55f0c224}.nav-pill{display:none}}::view-transition-old(root){animation-duration:.26s}::view-transition-new(root){animation-duration:.26s}.vt-nav{scroll-behavior:auto}.play-lede{color:var(--muted);max-width:52ch;margin:.4rem 0 0}.play-holder{position:relative}.play-stage{border:1px solid var(--line);background:#02020361;border-radius:24px;height:clamp(330px,34vw,400px);position:relative;overflow:hidden}.play-chip{min-height:2.4rem;color:var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#0202039e;border:1px solid #55f0c252;border-radius:999px;justify-content:center;align-items:center;padding:.55rem .95rem;font-size:.85rem;font-weight:800;line-height:1.1;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.play-stage .play-chip{cursor:grab;touch-action:none;will-change:transform;position:absolute;top:0;left:0;transform:translate(-9999px)}.play-stage .play-chip.is-held{cursor:grabbing;background:#55f0c233;border-color:#55f0c2d9}.play-static{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.play-controls{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.play-btn{border:1px solid var(--line);min-height:2.25rem;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff0f;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;transition:background .22s,border-color .22s}.play-btn:hover,.play-btn[aria-pressed=true]{background:#55f0c229;border-color:#55f0c280}.play-note{color:var(--muted);font-size:.85rem}.play-section{scroll-margin-top:5rem}@media (width<=640px){.play-stage{height:430px}.play-stage .play-chip{min-height:2rem;padding:.4rem .7rem;font-size:.76rem}}.skill-halo.skill-halo--strip{display:none}.sticker-layer .sticker-play{bottom:1%;left:auto;right:calc(50% + 161px)}@media (width<=880px){.hero-visual{margin-bottom:-2.5rem}.skill-halo.skill-halo--ring{display:none}.skill-halo.skill-halo--strip{display:flex}.sticker-layer .sticker-play{width:4.8rem;top:calc(1.24*min(82vw,330px) - 4.08rem);bottom:auto;right:calc(50% - min(82vw,330px)/2 + .25rem)}}:root{--spring:cubic-bezier(.34, 1.56, .64, 1);--spring-soft:cubic-bezier(.34, 1.3, .64, 1)}.hero-actions{align-items:stretch;gap:.9rem}.hero-actions .primary-button,.hero-actions .secondary-button{box-sizing:border-box;min-width:10.5rem;min-height:3.5rem;transition:transform .24s ease, scale .42s var(--spring), rotate .42s var(--spring), box-shadow .3s ease, background .3s ease, border-color .3s ease;background-origin:border-box;border:2px solid #0000;padding:0 1.7rem;font-size:1rem;line-height:1;position:relative;overflow:hidden}.hero-actions .secondary-button{border-color:#ffffff47}.hero-actions .primary-button:hover{rotate:-2.5deg;scale:1.09;box-shadow:0 18px 60px #55f0c280,0 0 0 5px #55f0c229}.hero-actions .secondary-button:hover{border-color:var(--sun);background:#ffd16629;transform:none}.hero-actions .primary-button:active,.hero-actions .secondary-button:active{transition-duration:90ms;rotate:0deg;scale:.92}.hero-actions .primary-button:after{content:"";background:linear-gradient(100deg,#0000,#ffffffa6,#0000);width:40%;animation:3.6s ease-in-out 1.6s infinite btn-shine;position:absolute;inset:-20% auto -20% -60%;transform:skew(-18deg)}@keyframes btn-shine{0%{left:-60%}28%,to{left:130%}}.bold-on .hero .eyebrow{animation:slide-in .7s var(--spring-soft) 80ms backwards}.bold-on .hero h1 .w{animation:word-pop .85s var(--spring) backwards;animation-delay:calc(var(--i) * 55ms + 60ms);display:inline-block}.bold-on .hero-text{animation:rise .8s var(--spring-soft) .45s backwards}.bold-on .hero-actions .primary-button{animation:pop-in .7s var(--spring) .65s backwards}.bold-on .hero-actions .secondary-button{animation:pop-in .7s var(--spring) .78s backwards}.bold-on .profile-card{animation:card-drop 1.1s var(--spring) .3s backwards}.bold-on .sticker-burst{animation:sticker-in .8s var(--spring) .9s backwards, wobble 4s ease-in-out 1.8s infinite}.bold-on .sticker-play{animation:sticker-in .8s var(--spring) 1.05s backwards}@keyframes word-pop{0%{opacity:0;translate:0 .7em;rotate:7deg;scale:.6}to{opacity:1;translate:0;rotate:0deg;scale:1}}@keyframes slide-in{0%{opacity:0;translate:-40px}to{opacity:1;translate:0}}@keyframes rise{0%{opacity:0;translate:0 30px}to{opacity:1;translate:0}}@keyframes pop-in{0%{opacity:0;rotate:-12deg;scale:.3}to{opacity:1;rotate:0deg;scale:1}}@keyframes card-drop{0%{opacity:0;translate:0 -90px;rotate:5deg;scale:.85}to{opacity:1;translate:0;rotate:0deg;scale:1}}@keyframes sticker-in{0%{opacity:0;rotate:-60deg;scale:0}to{opacity:1;rotate:0deg;scale:1}}@keyframes wobble{0%,to{rotate:10deg}50%{rotate:16deg}}.hl{z-index:0;position:relative}.hl:before{content:"";z-index:-1;transform-origin:0;transition:transform .7s var(--spring-soft) .7s;background:#55f0c280;border-radius:.3em;position:absolute;inset:52% -.12em 4%;transform:scaleX(0)rotate(-1.5deg)}.hl.hl-sun:before{background:#ffd1666b}.hl.hl-rose:before{background:#ff6b9a6b}.bold-on .hero h1 .hl:before{transition-delay:1s;transform:scaleX(1)rotate(-1.5deg)}.bold-on h2 .hl:before{transition:none;transform:scaleX(1)rotate(-1.5deg)}.project-card,.lab-card,.proof-grid article,.timeline-item,.metric-strip>*,.contact-links a,.quick-tags span,.floating-chip,.nav-links a,.resume-link{transition-property:transform,scale,rotate,background,border-color,box-shadow,color,opacity;transition-duration:.3s,.45s,.45s,.3s,.3s,.3s,.3s,.3s;transition-timing-function:ease, var(--spring), var(--spring), ease, ease, ease, ease, ease}.project-card:hover{border-color:#55f0c280;rotate:-1deg;scale:1.04;box-shadow:0 30px 80px #55f0c22e}.project-card:nth-child(2n):hover{rotate:1deg}.lab-card:hover,.proof-grid article:hover{border-color:#ffd1668c;rotate:.8deg;scale:1.04}.timeline-item:hover{border-color:#55f0c280;translate:8px;scale:1.025}.metric-strip>:hover{rotate:-2deg;scale:1.08}.quick-tags span:hover,.project-card .tags span:hover{background:#ffd16638;rotate:-6deg;scale:1.2}.nav-links a:hover{rotate:-2deg;scale:1.12}.resume-link:hover{rotate:2deg;scale:1.1}.floating-chip:hover{rotate:6deg;scale:1.2}.profile-card{transition-property:transform,scale,rotate}.nav-links a[href=\#play]:after{content:"";background:var(--rose);vertical-align:middle;border-radius:50%;width:.45rem;height:.45rem;margin-left:.4rem;animation:1.6s ease-in-out infinite ping;display:inline-block}@keyframes ping{0%,to{opacity:1}50%{opacity:.3}}.sticker-layer{pointer-events:none;z-index:6;position:absolute;inset:0}.sticker{pointer-events:auto;place-items:center;display:grid;position:absolute}.sticker-burst{aspect-ratio:1;width:clamp(5.6rem,11vw,7.6rem);color:var(--sun);top:3%;right:1%;rotate:12deg}.sticker-burst .burst-shape{width:100%;height:100%;animation:18s linear infinite spin;position:absolute;inset:0}.sticker-burst span{color:#101114;text-align:center;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(.95rem,1.7vw,1.2rem);font-weight:800;line-height:1;position:relative;transform:rotate(-8deg)}.sticker-play{aspect-ratio:1;background:var(--rose);color:#101114;cursor:pointer;width:clamp(6rem,11vw,7.8rem);transition:scale .42s var(--spring), rotate .42s var(--spring);border-radius:50%;text-decoration:none;animation:3.2s ease-in-out infinite float-y;bottom:1%;left:-5%;box-shadow:0 14px 34px #ff6b9a66}.sticker-play:hover{rotate:-10deg;scale:1.16}.sticker-play:active{scale:.9}.sticker-play .play-ring{width:100%;height:100%;animation:12s linear infinite spin;position:absolute;inset:0}.sticker-play .play-ring text{letter-spacing:.08em;fill:#101114;font:800 10.5px Space Grotesk,Inter,sans-serif}.sticker-play:hover .play-ring{animation-duration:3s}.sticker-play .play-core{aspect-ratio:1;width:38%;color:var(--rose);background:#101114;border-radius:50%;place-items:center;padding-left:.15rem;font-size:1rem;display:grid}.spark{width:1.6rem;height:1.6rem;animation:2.4s ease-in-out infinite twinkle;position:absolute}.spark-a{color:var(--mint);top:10%;left:6%}.spark-b{color:var(--sun);width:1.2rem;height:1.2rem;animation-delay:.8s;top:55%;right:-1%}.spark-c{color:var(--rose);width:1rem;height:1rem;animation-delay:1.5s;top:30%;left:-1%}@keyframes twinkle{0%,to{opacity:.6;rotate:0deg;scale:.5}50%{opacity:1;rotate:90deg;scale:1.25}}@keyframes float-y{0%,to{translate:0}50%{translate:0 -12px}}.tape-wrap{height:8.2rem;margin:.5rem 0 1rem;position:relative;overflow:clip}.tape{text-transform:uppercase;color:#101114;border-block:2px solid #101114;width:110%;font-family:Space Grotesk,Inter,sans-serif;font-weight:800;position:absolute;left:-5%;overflow:visible}.tape-a{background:var(--sun);top:.7rem;rotate:-2.2deg}.tape-b{background:var(--mint);top:3.9rem;rotate:1.8deg}.tape-track{will-change:transform;width:max-content;padding:.7rem 0;font-size:clamp(1.1rem,2.4vw,1.6rem);animation:22s linear infinite tape-left;display:flex}.tape-b .tape-track{animation-name:tape-right;animation-duration:26s}.tape-track span{white-space:nowrap;align-items:center;padding:0 .9rem;display:inline-flex}.tape-track i{margin-left:1.8rem;font-style:normal;animation:5s linear infinite spin;display:inline-block}.tape:hover .tape-track{animation-play-state:paused}@keyframes tape-left{to{transform:translate(-50%)}}@keyframes tape-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.burst-particle{z-index:9999;pointer-events:none;font-size:1.3rem;line-height:1;position:fixed}.play-section{position:relative}.play-head{max-width:none;position:relative}.play-head h2{max-width:10ch;font-size:clamp(2.8rem,8vw,5.6rem);line-height:.98}.play-head .eyebrow{color:#101114;background:var(--rose);letter-spacing:.12em;border-radius:999px;justify-self:start;padding:.35rem .8rem;animation:3s ease-in-out infinite wobble-s;rotate:-3deg}@keyframes wobble-s{0%,to{rotate:-3deg}50%{rotate:3deg}}.play-teasers{pointer-events:none;width:min(40%,28rem);height:100%;min-height:13rem;position:absolute;top:-.5rem;right:0}.play-teasers .play-chip{left:var(--x);top:var(--y);rotate:var(--r);min-height:0;animation:chip-bob 3.4s ease-in-out var(--d) infinite;border-color:var(--c);box-shadow:0 0 0 3px #ffffff0a, 6px 6px 0 var(--c);padding:.7rem 1.2rem;font-size:1rem;position:absolute}@keyframes chip-bob{0%,to{translate:0}50%{translate:0 -14px}}.play-hint{z-index:1;background:var(--sun);color:#101114;border-radius:1rem 1rem 1rem .2rem;align-items:center;gap:.5rem;width:fit-content;margin:1rem 0 .4rem;padding:.5rem .9rem;font:800 .95rem Space Grotesk,Inter,sans-serif;animation:2.6s ease-in-out infinite wobble-s;display:inline-flex;position:relative;rotate:-4deg}@media (width<=880px){.play-teasers{width:100%;height:12.5rem;min-height:0;margin-top:1.2rem;position:relative}.sticker-layer{height:100%;inset:0 0 auto}}@media (width<=560px){.hero-actions .primary-button,.hero-actions .secondary-button{width:100%;min-height:3.5rem}.tape-wrap{height:7rem}.tape-b{top:3.4rem}.sticker-play{width:5.6rem;bottom:-4.6rem;left:3%}.sticker-burst{top:0;right:0}}@media (prefers-reduced-motion:reduce){.tape-track,.tape-track i,.sticker,.sticker *,.spark,.play-teasers .play-chip,.play-hint,.play-head .eyebrow,.hero-actions .primary-button:after,.nav-links a[href=\#play]:after{animation:none!important}.hero-actions a,.project-card,.lab-card,.proof-grid article,.timeline-item,.metric-strip>*,.floating-chip{transition:none!important;rotate:none!important;scale:none!important}}main{overflow-x:clip}.tape-wrap{contain:paint;width:100%;overflow:hidden}.play-teasers .play-chip{animation:chip-bob 3.4s ease-in-out var(--d) infinite, chip-jiggle 2.6s ease-in-out var(--d) infinite;cursor:grab}@keyframes chip-jiggle{0%,55%,to{rotate:var(--r)}60%{rotate:calc(var(--r) - 7deg)}66%{rotate:calc(var(--r) + 7deg)}72%{rotate:calc(var(--r) - 6deg)}78%{rotate:calc(var(--r) + 5deg)}84%{rotate:calc(var(--r) - 3deg)}90%{rotate:var(--r)}}.play-hint .hint-hand{transform-origin:60% 90%;animation:1.8s ease-in-out infinite hand-drag;display:inline-block}@keyframes hand-drag{0%,to{translate:-6px;rotate:-12deg}50%{translate:8px -3px;rotate:14deg}}@media (prefers-reduced-motion:reduce){.play-hint .hint-hand{animation:none!important}}.vendor-strip{flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem;width:min(1160px,100% - 2rem);margin:0 auto 1.5rem;display:flex}.vendor-label{background:var(--sun);color:#101114;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin:0;padding:.4rem .9rem;font:800 .85rem Space Grotesk,Inter,sans-serif;rotate:-3deg}.vendor-list{flex-wrap:wrap;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.vendor-pill{border:2px solid var(--c);box-shadow:5px 5px 0 var(--c);transition:scale .42s var(--spring), rotate .42s var(--spring);background:#ffffff0d;border-radius:1.2rem;flex-direction:column;padding:.7rem 1.3rem;animation:3.6s ease-in-out infinite chip-bob;display:inline-flex}.vendor-pill strong{font:800 1.5rem/1.1 Space Grotesk,Inter,sans-serif}.vendor-pill span{color:var(--muted);font-size:.8rem}.vendor-twilio{--c:var(--rose)}.vendor-sinch{--c:var(--mint);animation-delay:.6s}.vendor-pill:hover{rotate:-3deg;scale:1.1}@media (prefers-reduced-motion:reduce){.vendor-pill{transition:none!important;animation:none!important}}.is-offscreen,.is-offscreen *{animation-play-state:paused!important}@media (hover:none),(pointer:coarse){.site-header,.resume-link,.play-stage,.nav-links.is-open{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.site-header{background:#040508f0}.cursor-glow{display:none!important}}html.lock-on,html.lock-on body{overflow:hidden}.lock{z-index:10000;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1.6rem, env(safe-area-inset-bottom));color:#fff;-webkit-user-select:none;user-select:none;transform-origin:50% 42%;touch-action:none;background:radial-gradient(at 50% 42%,#0d3166 0%,#06152d 52%,#010308 100%);flex-direction:column;justify-content:space-between;align-items:center;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;display:flex;position:fixed;inset:0}.lock-stars{opacity:.8;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff,#0000),radial-gradient(1px 1px at 28% 72%,#fff,#0000),radial-gradient(1.5px 1.5px at 44% 9%,#cfe4ff,#0000),radial-gradient(1px 1px at 63% 83%,#fff,#0000),radial-gradient(1.5px 1.5px at 78% 22%,#fff,#0000),radial-gradient(1px 1px at 91% 61%,#cfe4ff,#0000),radial-gradient(1px 1px at 6% 56%,#fff,#0000),radial-gradient(1px 1px at 86% 90%,#fff,#0000),radial-gradient(1.5px 1.5px at 54% 52%,#fff,#0000),radial-gradient(1px 1px at 35% 38%,#fff,#0000);animation:5s ease-in-out infinite alternate lock-twinkle;position:absolute;inset:0}@keyframes lock-twinkle{0%{opacity:.45}to{opacity:.9}}.lock-status{z-index:1;opacity:.9;justify-content:space-between;align-items:center;width:100%;font-size:clamp(.7rem,1.6vmin,.95rem);font-weight:600;display:flex;position:relative}.lock-pad{width:.7em;height:.95em;position:absolute;left:50%;translate:-50%}.lock-batt{border:1.5px solid #fff;border-radius:.2em;width:1.7em;height:.8em;padding:1px}.lock-batt i{background:#fff;border-radius:.08em;width:100%;height:100%;display:block}.lock-clock{z-index:1;text-align:center;text-shadow:0 2px 14px #00000080;margin-top:clamp(.5rem,3vmin,2rem);position:relative}.lock-time{letter-spacing:-.035em;font-variant-numeric:tabular-nums;text-shadow:0 2px 24px #78aaff40;font-family:-apple-system,SF Pro Display,Helvetica Neue,Inter,system-ui,sans-serif;font-size:clamp(4.4rem,18vmin,11.5rem);font-weight:200;line-height:1}.lock-date{opacity:.92;margin-top:.3rem;font-size:clamp(1rem,3.2vmin,1.8rem);font-weight:500}.lock-welcome{letter-spacing:.01em;text-align:center;text-wrap:balance;color:#cfe4ff;text-shadow:0 0 18px #64aaff8c;max-width:12.6em;margin:0;font-family:Fredoka,Nunito,Trebuchet MS,system-ui,sans-serif;font-size:clamp(1.15rem,3.8vmin,2rem);font-weight:600;line-height:1.2}.lock-globe{z-index:1;aspect-ratio:1;contain:layout paint;background:radial-gradient(circle at 36% 30%,#4a9bf5 0%,#1c5fc4 38%,#0b2f73 68%,#041636 100%);border-radius:50%;flex:none;width:clamp(12rem,52vmin,30rem);position:relative;overflow:hidden;box-shadow:0 0 0 1px #96c8ff40,0 0 clamp(2rem,9vmin,6rem) #4696ff8c}.globe-box{position:absolute;inset:0}.globe-earth{opacity:0;touch-action:none;cursor:grab;transform-origin:50%;will-change:transform;width:100%;height:100%;transition:opacity .6s,transform .6s cubic-bezier(.22,.8,.3,1);position:absolute;inset:0;-webkit-mask-image:repeating-linear-gradient(0deg,#000 0 2px,#000c 2px 3px);mask-image:repeating-linear-gradient(0deg,#000 0 2px,#000c 2px 3px)}.globe-earth:active{cursor:grabbing}.globe-earth.is-ready{opacity:1}.globe-place{color:#e6f1ff;white-space:nowrap;pointer-events:none;background:#040c1eb3;border:1px solid #8cbeff66;border-radius:999px;padding:.3em .8em;font-size:clamp(.8rem,2.4vmin,1.1rem);animation:.4s both place-in;position:absolute;bottom:9%;left:50%;transform:translate(-50%)}@keyframes place-in{0%{opacity:0;transform:translate(-50%,6px)}}.lock-dp{object-fit:cover;object-position:center 18%;border:2px solid #ffffffd9;border-radius:50%;flex:none;width:clamp(2.2rem,6.5vmin,3rem);height:clamp(2.2rem,6.5vmin,3rem);display:block;box-shadow:0 0 14px #64aaff80}.lock-welcome-row{justify-content:center;align-items:center;gap:.6rem;margin-top:clamp(.8rem,2.6vmin,1.6rem);display:flex}.lock-trackwrap{justify-items:center;width:min(92vw,max(20rem,60vmin));display:grid;position:relative}.lock-trackwrap .lock-track{width:100%}.globe-shade{pointer-events:none;background:radial-gradient(circle at 34% 28%,#ffffff61 0%,#0000 34%),radial-gradient(circle,#0000 52%,#1446aa47 84%,#286ee68c 100%);border-radius:50%;position:absolute;inset:0}.lock-bottom{z-index:1;justify-items:center;gap:.9rem;width:100%;display:grid;position:relative}.lock-track{--p:0;background:linear-gradient(#0000008c,#141e328c);border:1px solid #ffffff38;border-radius:.9rem;width:min(92vw,max(20rem,60vmin));height:clamp(3.4rem,9vmin,5rem);padding:4px;position:relative;box-shadow:inset 0 2px 8px #0009,0 1px #ffffff1f}.lock-label{pointer-events:none;letter-spacing:.01em;background:linear-gradient(100deg,#ffffff47 0% 38%,#fff 50%,#ffffff47 62% 100%) 0 0/250% 100%;-webkit-text-fill-color:transparent;color:#0000;opacity:calc(1 - var(--p) * 1.7);-webkit-background-clip:text;background-clip:text;place-items:center;padding-left:3.4rem;font-size:clamp(1.15rem,3.4vmin,1.8rem);font-weight:400;animation:2.4s linear infinite lock-shimmer;display:grid;position:absolute;inset:0}@keyframes lock-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.lock-knob{z-index:2;aspect-ratio:1.45;cursor:grab;touch-action:none;will-change:transform;outline-offset:3px;background:linear-gradient(#8ec1ff 0%,#4a92f2 48%,#2a6fd8 50%,#4b97f4 100%);border:1px solid #ffffff8c;border-radius:.65rem;place-items:center;height:100%;display:grid;position:relative;box-shadow:0 2px 8px #00000080,inset 0 1px #ffffffb3}.lock-knob svg{filter:drop-shadow(0 1px 1px #00000059);width:46%;height:46%}.is-dragging .lock-knob{cursor:grabbing}.lock-skip{color:#ffffff80;font:inherit;cursor:pointer;background:0 0;border:0;padding:.4rem .8rem;font-size:.85rem}.lock-skip:hover{color:#fff}.lock.is-leaving{pointer-events:none;will-change:transform, opacity;animation:.52s cubic-bezier(.4,0,.8,.6) forwards lock-zoom}@keyframes lock-zoom{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@media (prefers-reduced-motion:reduce){.lock-label,.lock-stars,.w-all,.w-finger{animation:none!important}.lock-label{-webkit-text-fill-color:#ffffffb3;color:#ffffffb3;background:0 0}.lock.is-leaving{animation:.25s forwards lock-fade}}@keyframes lock-fade{to{opacity:0}}.lock-banner{touch-action:none;top:calc(max(1rem, env(safe-area-inset-top)) + 2.6rem);z-index:6;text-align:left;color:#fff;width:min(92vw,24rem);font:inherit;cursor:pointer;opacity:0;will-change:transform;background:#242c42eb;border:0;border-radius:1.2rem;align-items:center;gap:.7rem;padding:.65rem .8rem;transition:transform .55s cubic-bezier(.2,.9,.3,1),opacity .35s;display:flex;position:absolute;left:50%;transform:translate(-50%,-160%);box-shadow:0 8px 30px #00000073,inset 0 0 0 1px #ffffff1f}.lock-banner.is-on{opacity:1;transform:translate(-50%)}.lb-icon{color:#0a1426;background:linear-gradient(135deg,#55f0c2,#ffd166);border-radius:.6rem;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:.9rem;font-weight:800;display:grid}.lb-text{flex:1;gap:.1rem;min-width:0;display:grid}.lb-text b{font-size:.95rem;font-weight:600}.lb-text i{opacity:.88;font-size:.9rem;font-style:normal}.lb-now{opacity:.6;align-self:flex-start;font-size:.75rem}.lock-corner{bottom:max(1.2rem, env(safe-area-inset-bottom));z-index:3;color:#e8f0ff;cursor:pointer;background:#141c30b3;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:clamp(2.8rem,8vmin,3.6rem);height:clamp(2.8rem,8vmin,3.6rem);padding:0;transition:background .25s,color .25s,transform .15s;display:grid;position:absolute}.lock-corner:active{transform:scale(.92)}.lock-corner svg{width:46%;height:46%}.lc-left{left:clamp(1.2rem,4vw,2.4rem)}.lc-right{right:clamp(1.2rem,4vw,2.4rem)}.lock-corner.is-on{color:#0a1426;background:#fff}.lock-beam{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(90% 70% at 8% 100%,#fff6d6bf 0%,#fff6d647 38%,#0000 70%);transition:opacity .45s;position:absolute;inset:0}.lock.is-lit .lock-beam{opacity:1}.lock-flash{z-index:20;pointer-events:none;background:#fff;animation:.5s ease-out forwards lock-flash;position:absolute;inset:0}@keyframes lock-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.lock-banner{transition:opacity .2s}}.lock-corner{background-image:linear-gradient(#ffffff38 0%,#ffffff0f 49%,#0000001f 50%,#ffffff0a 100%);overflow:hidden}.lock-corner.is-on{background-image:linear-gradient(#fff 0%,#e6ecfa 100%)}.lock-corner:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffffb3 50%,#0000 100%);width:45%;animation:7s ease-in-out infinite corner-sheen;position:absolute;top:-20%;bottom:-20%;left:0;transform:translate(-160%)skew(-18deg)}.lc-right:after{animation-delay:1.1s}.lock-corner:active:after{animation:.6s ease-out corner-sheen}@keyframes corner-sheen{0%,78%{transform:translate(-160%)skew(-18deg)}to{transform:translate(330%)skew(-18deg)}}@media (prefers-reduced-motion:reduce){.lock-corner:after{animation:none;display:none}}.lock-dp{animation:.7s cubic-bezier(.34,1.56,.64,1) .25s both dp-pop}.lock-welcome{background:linear-gradient(100deg,#cfe4ff 0% 40%,#fff 50%,#cfe4ff 60% 100%) 0 0/250% 100%;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 10px #64aaff80);-webkit-background-clip:text;background-clip:text;animation:.7s cubic-bezier(.2,.8,.3,1) .45s both wel-in}@keyframes dp-pop{0%{opacity:0;transform:scale(.2)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes wel-in{0%{opacity:0;background-position:100% 0;transform:translate(-14px)}to{opacity:1;background-position:0 0;transform:none}}@media (prefers-reduced-motion:reduce){.lock-dp,.lock-welcome{animation:none}}.lock-battwrap{align-items:center;gap:.35rem;display:inline-flex}.lock-battwrap b{letter-spacing:.01em;font-size:.78rem;font-weight:600}.lock-welcome-row{text-align:center;padding:0 1rem}.cup{opacity:0;flex:none;width:clamp(1.7rem,5vmin,2.3rem);height:auto;animation:.7s cubic-bezier(.2,.8,.3,1) .7s both wel-in;overflow:visible}.st{opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:3.2s ease-in-out infinite steam-up}.st2{animation-delay:.9s}.st3{animation-delay:1.8s}@keyframes steam-up{0%{opacity:0;transform:translateY(5px)scaleY(.8)}30%{opacity:.55}to{opacity:0;transform:translateY(-7px)scaleY(1.1)}}@media (prefers-reduced-motion:reduce){.cup{opacity:1;animation:none}.st{opacity:.4;animation:none}}.lock-welcome-row{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}.lock-welcome-row .lock-welcome{flex:0 auto}.lock-welcome{letter-spacing:0;color:#e8eefaeb;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none;background:0 0;-webkit-background-clip:border-box;background-clip:border-box;font-family:-apple-system,SF Pro Display,Helvetica Neue,Inter,system-ui,sans-serif;font-size:clamp(1rem,3.3vmin,1.7rem);font-weight:500;line-height:1.25}.lock-dp{object-position:50% 52%}.lock-welcome{text-wrap:balance;max-width:15.5em}.lock-sp{flex:1 1 0;min-height:0}.lock-zone{z-index:1;flex:1 1 0;justify-content:center;align-items:center;width:100%;min-height:3.2rem;display:flex;position:relative}.lock-zone .lock-welcome-row{margin-top:0}@media (aspect-ratio>=1){.lock-globe{width:clamp(12rem,38vmin,26rem)}}@media (height<=700px) and (aspect-ratio<=1){.lock-globe{width:clamp(10rem,42vmin,30rem)}}@media (aspect-ratio>=1){.lock-time{font-size:clamp(4rem,14vmin,8.5rem)}.lock-welcome{max-width:28em;font-size:clamp(1rem,2.5vmin,1.4rem)}.lock-dp{width:2.4rem;height:2.4rem}.lock-globe{width:clamp(11rem,32vmin,24rem)}}:root{--ink:#f8f4ec;--muted:#b7b8bd;--paper:#020203;--panel:#ffffff10;--line:#ffffff21;--mint:#55f0c2;--rose:#ff6b9a;--sun:#ffd166;--blue:#60a5fa;--shadow:0 24px 90px #000000ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 15% 10%,#55f0c21f,#0000 26rem),radial-gradient(circle at 86% 18%,#60a5fa21,#0000 30rem),radial-gradient(circle at 58% 92%,#ff6b9a14,#0000 24rem),linear-gradient(135deg,#000 0%,#030406 48%,#010203 100%);min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;overflow-x:hidden}body:before{content:"";z-index:-3;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:46px 46px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0 42%,#0000 78%);mask-image:radial-gradient(circle at 50% 30%,#000 0 42%,#0000 78%)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}#starfield{z-index:-2;opacity:.7;position:fixed;inset:0}.cursor-glow{pointer-events:none;mix-blend-mode:screen;z-index:-1;background:radial-gradient(circle,#55f0c233,#60a5fa14 34%,#0000 64%);border-radius:50%;width:28rem;height:28rem;transition:opacity .24s;position:fixed;transform:translate(-50%,-50%)}.site-header{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(1160px,100% - 2rem);box-shadow:var(--shadow);background:#020203c7;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem auto 0;padding:.7rem;display:flex;position:sticky;top:0}.brand,.nav-links,.resume-link{align-items:center;display:flex}.brand{gap:.65rem;font-weight:800}.brand-mark{color:#101114;background:linear-gradient(135deg, var(--mint), var(--sun));border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;display:grid}.nav-links{gap:.3rem}.nav-links a,.resume-link{min-height:2.25rem;color:var(--muted);border-radius:999px;padding:.58rem .9rem;font-size:.92rem;transition:color .22s,background .22s,transform .22s}.nav-links a:hover,.resume-link:hover{color:var(--ink);background:#ffffff1a;transform:translateY(-1px)}.resume-link{border:1px solid var(--line)}.hero{grid-template-columns:minmax(0,1.04fr) minmax(320px,.86fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1160px,100% - 2rem);min-height:calc(100vh - 7rem);margin:0 auto;padding:5rem 0 4rem;display:grid}.eyebrow{color:var(--mint);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:800}h1,h2,h3{letter-spacing:0;margin:0;font-family:Space Grotesk,Inter,sans-serif}h1{max-width:790px;font-size:clamp(2.8rem,5vw,5rem);line-height:.95}h2{font-size:clamp(2rem,4vw,4.1rem);line-height:.98}h3{font-size:1.4rem}.hero-text{max-width:670px;color:var(--muted);margin:1.6rem 0 0;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.8}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.primary-button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;min-height:3.2rem;padding:.95rem 1.2rem;font-weight:800;transition:transform .24s,box-shadow .24s,background .24s;display:inline-flex}.primary-button{color:#101114;background:linear-gradient(135deg, var(--mint), var(--sun));box-shadow:0 18px 50px #55f0c238}.secondary-button{border:1px solid var(--line);background:#ffffff14}.primary-button:hover,.secondary-button:hover{transform:translateY(-3px)}.hero-visual{--chip-radius:clamp(8rem, 25vw, 9.8rem);align-content:center;place-items:center;min-height:560px;display:grid;position:relative}.hero-visual:hover{--chip-radius:clamp(13rem, 38vw, 17.5rem)}.orbit-ring{border:1px solid #ffffff29;border-radius:50%;animation:16s linear infinite spin;position:absolute}.ring-one{border-top-color:var(--mint);width:min(88vw,500px);height:min(88vw,500px)}.ring-two{border-right-color:var(--rose);width:min(70vw,390px);height:min(70vw,390px);animation-duration:10s;animation-direction:reverse}.profile-card{z-index:3;border:1px solid var(--line);width:min(82vw,330px);box-shadow:var(--shadow);transform-style:preserve-3d;background:linear-gradient(145deg,#ffffff26,#ffffff09),#020203b3;border-radius:28px;padding:1rem;transition:transform .18s,border-color .18s;position:relative}.profile-card:hover{border-color:#55f0c2b3}.profile-image{aspect-ratio:4/5;color:#101114;text-align:center;background:linear-gradient(135deg,#55f0c2f2,#ffd166bf),radial-gradient(circle at 70% 20%,#ffffffb3,#0000 30%);border-radius:22px;place-items:center;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(2rem,8vw,3.4rem);font-weight:800;line-height:.88;display:grid;overflow:hidden}.profile-image img{object-fit:cover;object-position:center 28%;filter:saturate(1.04)contrast(1.02);width:100%;height:100%}.profile-meta{gap:.25rem;padding:1rem .25rem .25rem;display:grid}.profile-meta span{color:var(--muted);font-size:.95rem}.skill-halo{z-index:2;pointer-events:none;width:min(90vw,360px);height:min(90vw,360px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.skill-halo:before{content:"";border:1px dashed #55f0c22e;border-radius:50%;animation:30s linear infinite reverse spin;position:absolute;inset:1.4rem}.floating-chip{--radius:var(--chip-radius);min-height:2.15rem;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;white-space:nowrap;transform:translate(-50%, -50%) rotate(var(--angle)) translate(var(--radius), 0) rotate(calc(-1 * var(--angle)));pointer-events:auto;background:#02020380;border:1px solid #55f0c247;border-radius:999px;justify-content:center;align-items:center;padding:.52rem .72rem;font-size:.78rem;font-weight:800;line-height:1.1;transition:transform .8s cubic-bezier(.34,1.56,.64,1),border-color .22s,background .22s,box-shadow .22s,scale .22s;animation:2.5s ease-in-out infinite heartbeat;display:inline-flex;position:absolute;top:50%;left:50%;box-shadow:inset 0 1px #ffffff14}.floating-chip:hover{background:#55f0c233;border-color:#55f0c2cc;box-shadow:0 14px 40px #55f0c229;scale:1.1!important}.floating-chip:first-child{--angle:0deg}.floating-chip:nth-child(2){--angle:60deg}.floating-chip:nth-child(3){--angle:120deg}.floating-chip:nth-child(4){--angle:180deg}.floating-chip:nth-child(5){--angle:240deg}.floating-chip:nth-child(6){--angle:300deg}.metric-strip{border:1px solid var(--line);background:var(--line);width:min(1160px,100% - 2rem);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 auto 2rem;display:grid;overflow:hidden}.metric-strip div{text-align:center;background:radial-gradient(circle at 100% 0,#ffd16626,#0000 58%),#020203d1;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:9rem;padding:1.15rem;display:flex}.metric-strip strong{font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.metric-strip span{color:var(--muted);line-height:1.45}.marquee{border-block:1px solid var(--line);background:#ffffff09;overflow:hidden}.marquee-track{gap:2rem;width:max-content;padding:1rem 0;animation:28s linear infinite marquee;display:flex}.marquee span{color:var(--ink);white-space:nowrap;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(1.2rem,3vw,2rem);font-weight:800}.section{width:min(1160px,100% - 2rem);margin:0 auto;padding:clamp(4.5rem,8vw,7rem) 0}.split-section{grid-template-columns:.95fr 1.05fr;align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.intro-grid{flex-direction:column;gap:1.5rem;max-width:850px;display:flex}.intro-grid p:last-child,.skill-detail{color:var(--muted);margin:0;font-size:clamp(1.08rem,2vw,1.45rem);line-height:1.7}.section-heading{gap:.4rem;max-width:820px;margin-bottom:2rem;display:grid}.recruiter-note{background:linear-gradient(135deg,#55f0c224,#ffd16614),#020203b3;border:1px solid #55f0c257;border-radius:18px;gap:.35rem;max-width:850px;margin:-.5rem 0 1.25rem;padding:1rem 1.1rem;display:grid}.recruiter-note span{color:var(--sun);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:800}.recruiter-note p{color:var(--ink);margin:0;line-height:1.65}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--line);background:var(--panel);min-height:460px;box-shadow:var(--shadow);border-radius:24px;grid-template-rows:260px 1fr;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s;display:grid;overflow:hidden}.project-card:hover{box-shadow:0 28px 90px #55f0c21f, var(--shadow);background:#ffffff18;border-color:#ffffff61}.project-art{background-size:180% 180%;height:260px;animation:8s ease-in-out infinite alternate gradientWalk}.art-one{background-image:radial-gradient(circle at 22% 30%,#fff 0 5%,#0000 6%),linear-gradient(135deg,#55f0c2,#60a5fa 48%,#ffd166)}.art-two{background-image:repeating-linear-gradient(45deg,#ffffff2e 0 12px,#0000 12px 24px),linear-gradient(135deg,#ff6b9a,#ffd166 52%,#55f0c2)}.art-three{background-image:radial-gradient(circle at 70% 30%,#ffffffe6 0 6%,#0000 7%),radial-gradient(circle at 32% 68%,#10111473 0 13%,#0000 14%),linear-gradient(135deg,#60a5fa,#55f0c2 48%,#ff6b9a)}.art-four{background-image:linear-gradient(90deg,#10111457 1px,#0000 1px),linear-gradient(#10111457 1px,#0000 1px),linear-gradient(135deg,#55f0c2,#ff6b9a 48%,#60a5fa);background-size:36px 36px,36px 36px,180% 180%}.art-five{background-image:radial-gradient(circle,#ffffffdb 0 4%,#0000 5%),repeating-radial-gradient(circle,#ffffff2e 0 2px,#0000 2px 22px),linear-gradient(135deg,#ffd166,#55f0c2 52%,#101114)}.art-six{background-image:conic-gradient(from 140deg,#55f0c2,#60a5fa,#ff6b9a,#ffd166,#55f0c2)}.project-content{align-content:start;padding:1.35rem;display:grid}.project-content span{color:var(--sun);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.project-content p{color:var(--muted);line-height:1.7}.quick-tags{flex-wrap:wrap;align-self:end;gap:.42rem;margin-top:1rem;display:flex}.quick-tags span{min-height:1.85rem;color:var(--ink);letter-spacing:0;text-transform:none;background:#55f0c217;border:1px solid #55f0c247;border-radius:999px;align-items:center;padding:.36rem .62rem;font-size:.74rem;font-weight:800;display:inline-flex}.ai-lab{padding-top:1rem}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.lab-card{min-height:320px;box-shadow:var(--shadow);background:radial-gradient(circle at 90% 8%,#55f0c229,#0000 30%),radial-gradient(circle at 18% 100%,#60a5fa24,#0000 32%),#ffffff0e;border:1px solid #55f0c238;border-radius:24px;grid-template-rows:auto 1fr auto;gap:1.2rem;padding:1.35rem;transition:transform .22s,border-color .22s,background .22s;display:grid;position:relative;overflow:hidden}.lab-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff21,#0000);transition:transform .72s;position:absolute;inset:0;transform:translate(-120%)}.lab-card:hover{background:radial-gradient(circle at 90% 8%,#55f0c238,#0000 30%),radial-gradient(circle at 18% 100%,#60a5fa2e,#0000 32%),#ffffff13;border-color:#55f0c299}.lab-card:hover:before{transform:translate(120%)}.lab-index{color:#020203;background:linear-gradient(135deg, var(--mint), var(--blue));border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:3rem;height:3rem;font-family:Space Grotesk,Inter,sans-serif;font-weight:800;display:grid}.lab-card>div:not(.lab-index):not(.quick-tags)>span{color:var(--sun);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800}.lab-card h3{margin-top:.8rem}.lab-card p{color:var(--muted);line-height:1.7}.skill-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.skill{border:1px solid var(--line);min-height:5.4rem;color:var(--ink);cursor:pointer;background:#ffffff0d;border-radius:18px;font:800 1.1rem Inter,sans-serif;transition:transform .22s,background .22s,border-color .22s}.skill:hover,.skill.active{background:#55f0c221;border-color:#55f0c2a6;transform:translateY(-3px)}.skill-detail{border:1px solid var(--line);background:#ffffff10;border-radius:24px;align-self:stretch;min-height:12.5rem;padding:1.4rem}.timeline-list{gap:1rem;display:grid}.timeline-item{border:1px solid var(--line);background:#ffffff0d;border-radius:20px;grid-template-columns:110px 1fr;gap:1rem;padding:1.2rem;transition:transform .22s,border-color .22s;display:grid}.timeline-item:hover{border-color:#ffd166a6;transform:translate(8px)}.timeline-item span{color:var(--sun);font-family:Space Grotesk,Inter,sans-serif;font-size:1.4rem;font-weight:800}.timeline-item p{color:var(--muted);margin:.45rem 0 0}.proof-section{padding-top:1rem}.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.proof-grid article{border:1px solid var(--line);background:linear-gradient(145deg,#ffffff16,#ffffff08);border-radius:22px;min-height:14rem;padding:1.25rem;transition:transform .22s,border-color .22s,background .22s}.proof-grid article:hover{background:#ffffff1a;border-color:#55f0c294;transform:translateY(-5px)}.proof-grid span{color:var(--mint);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800}.proof-grid h3{margin-top:.9rem}.proof-grid p{color:var(--muted);line-height:1.6}.contact-section{border:1px solid var(--line);width:min(1160px,100% - 2rem);box-shadow:var(--shadow);background:linear-gradient(135deg,#55f0c224,#60a5fa1c,#ff6b9a17),#020203bd;border-radius:28px;grid-template-columns:1fr minmax(280px,420px);gap:2rem;margin:0 auto 1rem;padding:clamp(3rem,7vw,5rem);display:grid}.contact-card{align-content:center;gap:.7rem;display:grid}.contact-card a{border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;background:#02020375;border-radius:16px;padding:1rem;font-weight:800;transition:transform .22s,background .22s}.contact-card a:hover{background:#55f0c221;transform:translate(6px)}.reveal{opacity:0;transition:opacity .68s,transform .68s;transform:translateY(18px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbitBreathe{50%{translate:0 -7px}}@keyframes orbitSpin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes chipCounterSpin{to{rotate:360deg}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes gradientWalk{to{background-position:100% 70%}}@keyframes heartbeat{0%,to{scale:1}50%{scale:1.04}}@media (width<=1100px){.hero{grid-template-columns:1fr;gap:2.5rem;padding-top:3rem}.hero-copy{max-width:850px}h1{max-width:760px;font-size:clamp(2.65rem,5.8vw,4.2rem);line-height:.96}.hero-visual{min-height:660px;padding:0 0 1rem}.skill-halo{width:min(94vw,620px);height:min(94vw,620px)}.skill-halo .floating-chip{--radius:min(35vw, 17rem)}}@media (width<=880px){.site-header{border-radius:22px;align-items:stretch}.nav-links{display:none}.intro-grid,.split-section,.contact-section{grid-template-columns:1fr}.hero{padding-top:3rem}.project-grid{grid-template-columns:1fr}.metric-strip,.proof-grid,.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.hero-visual{min-height:auto}.skill-halo{z-index:4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:radial-gradient(circle at 14%,#55f0c224,#0000 30%),radial-gradient(circle at 86%,#ffd1661c,#0000 30%),#020203c2;border:1px solid #ffffff24;border-radius:24px;flex-wrap:wrap;justify-content:center;gap:.45rem;width:min(100%,440px);height:auto;margin-top:1rem;padding:.7rem;animation:none;display:flex;position:relative;inset:auto;transform:none;box-shadow:0 18px 58px #00000061}.skill-halo:before{display:none}.skill-halo .floating-chip{animation:none;position:static;transform:translate(0,0)}}@media (width<=560px){.site-header{width:calc(100% - 1rem);margin-top:.5rem}.brand span:last-child{display:none}.hero,.section,.contact-section{width:calc(100% - 1rem)}h1{font-size:clamp(3rem,17vw,4.6rem)}.hero-actions,.primary-button,.secondary-button{width:100%}.skill-halo .floating-chip{font-size:.74rem}.skill-halo .primary-chip{font-size:.8rem}.hero-visual{gap:.2rem}.profile-card{width:min(82vw,330px)}.orbit-ring{display:none}.skill-board,.metric-strip,.proof-grid,.lab-grid,.timeline-item{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
