.hero{position:relative;min-height:100dvh;display:grid;place-items:center;padding:clamp(2rem,6vh,3rem) clamp(1rem,3vw,1.5rem);background:var(--bg);isolation:isolate;overflow:hidden}.hero__bg{position:absolute;inset:0;pointer-events:none;z-index:0}.glow{position:absolute;filter:blur(9rem);opacity:.34;z-index:0}.glow--right{right:-14vw;top:-16vh;width:max(46vw,32rem);height:max(90vh,34rem);background:linear-gradient(180deg,var(--accent-2),var(--accent));transform:rotate(8deg)}.flow{position:absolute;right:-8vw;top:-24vh;width:max(72vw,54rem);height:max(72vw,54rem);border-radius:50%;background:conic-gradient(from 0deg,color-mix(in oklab,var(--accent) 88%,transparent),color-mix(in oklab,var(--accent-2) 82%,transparent),color-mix(in oklab,var(--accent) 88%,transparent));filter:blur(4rem) saturate(130%);opacity:.58;animation:flowSpin 28s linear infinite;mix-blend-mode:screen;z-index:1}@keyframes flowSpin{to{transform:rotate(360deg)}}.orb{position:absolute;width:clamp(15rem,21vw,22rem);height:clamp(15rem,21vw,22rem);border-radius:50%;filter:blur(2.5rem);opacity:.35;animation:float 18s ease-in-out infinite;z-index:1}.orb--mint{left:-7vw;top:9vh;background:radial-gradient(circle at 35% 35%,color-mix(in oklab,var(--accent) 65%,transparent) 0%,transparent 60%)}.orb--blue{right:7vw;bottom:8vh;background:radial-gradient(circle at 65% 55%,color-mix(in oklab,var(--accent-2) 70%,transparent) 0%,transparent 60%);animation-delay:-6s}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(.6rem,-.8rem,0)}}.grid{position:absolute;inset:0;background:radial-gradient(1200px 800px at 85% -10%,color-mix(in oklab,var(--accent-2) 14%,transparent) 0%,transparent 60%),radial-gradient(900px 600px at 10% -10%,color-mix(in oklab,var(--accent) 12%,transparent) 0%,transparent 60%),repeating-linear-gradient(to right,color-mix(in oklab,var(--border) 60%,transparent) 0 1px,transparent 1px 40px),repeating-linear-gradient(to bottom,color-mix(in oklab,var(--border) 60%,transparent) 0 1px,transparent 1px 40px);opacity:.18;z-index:2}.hero__card{position:relative;z-index:3;width:min(64rem,92%);background:var(--panel);border:.0625rem solid var(--border);padding:clamp(1.75rem,4vw,2.4rem);box-shadow:var(--shadow)}.hero__dash{display:inline-block;width:2.4rem;height:.35rem;border-radius:.35rem;background:var(--accent-2);filter:drop-shadow(0 0 1.25rem color-mix(in oklab,var(--accent-2) 40%,transparent));opacity:0;transform-origin:left;transform:scaleX(.4);animation:heroDashIn .48s cubic-bezier(.2,.7,.25,1) .25s forwards}.hero__typed{margin:.9rem 0 .35rem;font-size:clamp(1.6rem,5vw,2.75rem);line-height:1.15;letter-spacing:.02em}.hero__code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.hero__caret{display:inline-block;width:.6ch;margin-left:.1rem;color:var(--accent-2);animation:caretBlink 1.1s step-end infinite}@keyframes caretBlink{50%{opacity:0}}.hero__subtitle{margin:clamp(.6rem,1.2vw,.9rem) 0 clamp(1rem,2.2vw,1.4rem);font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.6;color:var(--text);opacity:.95;opacity:0;transform:translate(-12px);animation:heroSlideL .55s cubic-bezier(.2,.7,.25,1) .5s forwards}.hero__cta{display:flex;gap:.9rem;margin-top:.6rem}.hero .btn{position:relative;font-weight:600;overflow:hidden;z-index:0;transition:color .25s ease;border-radius:0;opacity:0;transform:translate(12px)}.hero .btn:nth-child(1){animation:heroSlideR .55s cubic-bezier(.2,.7,.25,1) .68s forwards}.hero .btn:nth-child(2){animation:heroSlideR .55s cubic-bezier(.2,.7,.25,1) .82s forwards}.hero .btn:before{content:"";position:absolute;inset:0;transform:translate(-105%);transition:transform .35s cubic-bezier(.22,.8,.33,1);z-index:-1}.hero .btn:hover:before{transform:translate(0)}.hero .btn.primary:before{background:linear-gradient(90deg,var(--accent-2),var(--accent))}.hero .btn.primary:hover{color:#0c1320}.hero .btn.ghost{background:var(--panel-2);border-color:var(--border)}.hero .btn.ghost:before{background:linear-gradient(90deg,var(--accent-2),var(--accent))}.hero .btn.ghost:hover{color:#0c1320;border-color:transparent}.hero__cue{--cue-color: color-mix(in oklab, var(--text) 82%, white 18%);--cue-delay: 1s;--cue-drop: 1.4s;--cue-bounce: 1.2s;--cue-bob: 1.1rem;position:absolute;left:50%;bottom:clamp(5rem,12vh,6.75rem);width:.95rem;height:.95rem;border-bottom:.26rem solid var(--cue-color);border-right:.26rem solid var(--cue-color);filter:drop-shadow(0 0 6px color-mix(in oklab,var(--cue-color) 55%,transparent));will-change:transform,opacity;z-index:2;opacity:0;transform:translate(-50%) translateY(-3.2rem) rotate(45deg);animation:cueDrop var(--cue-drop) cubic-bezier(.2,.7,.25,1) var(--cue-delay) both,cueBob var(--cue-bounce) cubic-bezier(.42,0,.2,1) calc(var(--cue-delay) + var(--cue-drop)) infinite alternate}@keyframes cueDrop{0%{transform:translate(-50%) translateY(-3.2rem) rotate(45deg);opacity:0}to{transform:translate(-50%) translateY(var(--cue-bob)) rotate(45deg);opacity:1}}@keyframes cueBob{0%{transform:translate(-50%) translateY(var(--cue-bob)) rotate(45deg)}to{transform:translate(-50%) translateY(0) rotate(45deg)}}.social-rail{--rail-top: 77%;position:absolute;left:clamp(1.6rem,4vw,3rem);top:100%;bottom:0;display:flex;flex-direction:column;align-items:center;gap:1rem;padding-left:clamp(.4rem,1vw,.8rem);z-index:4;opacity:0;transition:top .65s cubic-bezier(.2,.7,.25,1) .95s,opacity .35s ease .95s}.social-rail.is-in{top:var(--rail-top);opacity:1}.social-rail__icons{display:flex;flex-direction:column;gap:.35rem}.social-rail__btn{width:2.5rem;height:2.5rem;display:grid;place-items:center;color:var(--text);font-size:1.5rem;transition:color .15s ease,transform .15s ease;opacity:0;transform:translateY(6px)}.social-rail__btn:hover{color:var(--accent-2);transform:translateY(-1px)}.social-rail.is-in .social-rail__btn:nth-child(1){animation:railIconIn .45s cubic-bezier(.2,.7,.25,1) 1.1s forwards}.social-rail.is-in .social-rail__btn:nth-child(2){animation:railIconIn .45s cubic-bezier(.2,.7,.25,1) 1.25s forwards}@keyframes railIconIn{to{opacity:1;transform:none}}.social-rail__bar{flex:1;width:.75rem;background:var(--social-rail-bg, #ffffff);opacity:.98;transform-origin:bottom;transform:scaleY(0);transition:transform .7s cubic-bezier(.2,.7,.25,1) 1.05s}.social-rail.is-in .social-rail__bar{transform:scaleY(1)}@keyframes heroDashIn{to{opacity:1;transform:scaleX(1)}}@keyframes heroSlideL{to{opacity:1;transform:none}}@keyframes heroSlideR{to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.hero__dash,.hero__subtitle,.hero .btn,.hero__cue,.social-rail,.social-rail__btn,.social-rail__bar{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}.hero{--enter-delay: 1s}.hero__dash{opacity:0;transform:translateY(-.4rem);animation:heroDashIn .48s cubic-bezier(.2,.7,.25,1) var(--enter-delay) both}@keyframes heroDashIn{to{opacity:1;transform:none}}.hero__subtitle{opacity:0;transform:translate(-10px);animation:heroSubIn .6s cubic-bezier(.2,.7,.25,1) calc(var(--enter-delay) + .15s) both}@keyframes heroSubIn{to{opacity:1;transform:none}}.hero__cta .btn{opacity:0;transform:translate(12px)}.hero__cta .btn:nth-child(1){animation:heroCtaIn .55s cubic-bezier(.2,.7,.25,1) calc(var(--enter-delay) + .3s) both}.hero__cta .btn:nth-child(2){animation:heroCtaIn .55s cubic-bezier(.2,.7,.25,1) calc(var(--enter-delay) + .42s) both}@keyframes heroCtaIn{to{opacity:1;transform:none}}.social-rail{transition-delay:var(--enter-delay)}.social-rail__bar{transition-delay:calc(var(--enter-delay) + .15s)}.social-rail.is-in .social-rail__btn:nth-child(1){animation-delay:calc(var(--enter-delay) + .8s)}.social-rail.is-in .social-rail__btn:nth-child(2){animation-delay:calc(var(--enter-delay) + .95s)}.hero__cue{--cue-delay: var(--enter-delay)}:root[data-theme=light] .hero .btn.primary:hover,:root[data-theme=light] .hero .btn.ghost:hover{color:#fff!important}:root[data-theme=light] .hero__card{background:color-mix(in oklab,var(--panel) 92%,white 8%);border-color:#0f131a14;box-shadow:0 18px 45px #0f131a1f,0 4px 12px #0f131a0f;-webkit-backdrop-filter:saturate(150%) blur(4px);backdrop-filter:saturate(150%) blur(4px)}@media (max-width: 1024px){.hero{padding:4rem 2.2rem}.hero__card{width:min(48rem,96vw);margin:0 auto;padding:2.5rem;box-sizing:border-box}.hero__typed{font-size:3.3rem}.hero__subtitle{font-size:1.4rem;margin-bottom:1.55rem;line-height:1.65}.hero__cta{gap:1.5rem}.hero__cta .btn{padding:1.5rem 1.9rem;font-size:1.3rem}.hero__cue{bottom:5.4rem}}@media (max-width: 900px){.hero{padding:3.1rem 1.6rem}.hero__card{width:min(44rem,96vw);margin:0 auto;padding:2rem;box-sizing:border-box}.hero__typed,.hero__code{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.hero__typed{font-size:2.4rem}.hero__subtitle{font-size:1.15rem;margin-bottom:1.3rem}.hero__cta{gap:1rem}.hero__cta .btn{padding:1.5rem 1.6rem}.hero__cue{bottom:5.2rem}.social-rail{left:1.6rem}}@media (max-width: 600px){.hero{padding:2.7rem 1.1rem}.hero__card{width:min(100%,96vw);margin:0 auto;padding:1.75rem;box-sizing:border-box}.hero__typed,.hero__code{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.hero__typed{font-size:1.8rem}.hero__dash{width:1.5rem;height:.24rem}.hero__subtitle{font-size:1rem;line-height:1.6}.hero__cta{flex-direction:column;gap:.65rem;width:100%}.hero__cta .btn{width:100%;padding:1.5rem 1.25rem;font-size:1.1rem;display:flex;align-items:center;justify-content:center;text-align:center}.hero__cue{bottom:4.1rem}.social-rail{left:1.3rem}.social-rail__btn{width:2.2rem;height:2.2rem;font-size:1.3rem}.glow--right,.flow,.orb{opacity:.25}}@media (max-width: 400px){.hero{padding:2.2rem .95rem}.hero__card{width:min(100%,96vw);margin:0 auto;padding:1.6rem;box-sizing:border-box}.hero__typed,.hero__code{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.hero__typed{font-size:1.6rem}.hero__dash{width:1.35rem;height:.23rem}.hero__subtitle{font-size:.9rem}.hero__cta{gap:.55rem}.hero__cta .btn{padding:1rem 1.1rem;font-size:1rem}.hero__cue{bottom:3.7rem}.social-rail{left:1.1rem}.social-rail__btn{width:2rem;height:2rem;font-size:1.2rem}}.about{position:relative;padding-block:clamp(4.5rem,10vw,8rem);overflow:hidden;isolation:isolate}.about__rail{position:absolute;top:0;bottom:0;left:0;width:clamp(260px,42vw,560px);background:linear-gradient(180deg,var(--accent-hot, #d19cff),var(--accent-2, #84a9ff),var(--accent, #8ef0c0));background-size:100% 220%;animation:aboutRailSlide 16s linear infinite;animation-play-state:paused;pointer-events:none;z-index:0;box-shadow:inset -1px 0 var(--border, rgba(255, 255, 255, .08));transform-origin:left;transform:scaleX(0);transition:transform 1.15s cubic-bezier(.2,.7,.25,1)}.about:has([data-reveal].is-visible) .about__rail{transform:scaleX(1);animation-play-state:running}@keyframes aboutRailSlide{0%{background-position:50% 0%}50%{background-position:50% 100%}to{background-position:50% 0%}}:root[data-theme=light] .about__rail{opacity:.8;filter:saturate(108%)}@media (prefers-reduced-motion: reduce){.about__rail{animation:none;transition:none;transform:none}}.about__container{position:relative;z-index:1;width:min(1200px,92%);margin-inline:auto}.about__title{font-weight:800;margin-top:0;font-size:clamp(2.8rem,7vw,4.6rem);letter-spacing:.02em;text-align:right}.about__grid{display:grid;grid-template-columns:1.05fr 1.15fr;gap:clamp(1.4rem,4vw,2.4rem);align-items:start}.about__figure{display:grid;place-items:center;position:relative}.about__frame{display:block;width:80%;margin-top:1rem;border:clamp(6px,.9vw,10px) solid #fff;box-sizing:border-box;overflow:hidden}.about__frame img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.25,1);transform-origin:center}.about__frame:hover img{transform:scale(1.06)}.about__card{background:var(--panel);border:1px solid var(--border);padding:clamp(1.6rem,4.2vw,2.4rem) clamp(1.6rem,4vw,2.2rem) clamp(1rem,3vw,1.4rem);color:color-mix(in oklab,var(--text) 88%,white 12%);box-shadow:var(--shadow)}.about__card p{font-size:clamp(.98rem,.86rem + .45vw,1.12rem);line-height:1.75;letter-spacing:.003em}.about__card p+p{margin-top:.75rem}.about__lead{font:inherit;margin:0 0 .75rem}@media (prefers-reduced-motion: no-preference){.about [data-reveal]{opacity:0;transform:none;transition:opacity .9s ease;transition-delay:.25s}.about [data-reveal].is-visible{opacity:1}.about__figure[data-reveal]{transform:none}}@media (max-width: 1024px){.about{padding-block:5.8rem}.about__rail{width:clamp(200px,32vw,330px)}.about__title{font-size:3.4rem;margin-bottom:.5rem}.about__grid{grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center}.about__figure{width:100%;display:flex;justify-content:center}.about__frame{width:88%}.about__card{padding:2.6rem 2.4rem 1.9rem}.about__card p{font-size:1.28rem;line-height:1.8}}@media (max-width: 900px){.about{padding-block:5.2rem}.about__rail{width:clamp(150px,32vw,260px)}.about__title{font-size:clamp(2.4rem,6vw,3.4rem)}.about__grid{grid-template-columns:1fr;gap:1.8rem}.about__figure{width:100%;display:block}.about__frame{width:100%;margin-left:-5rem}.about__card{max-width:100%;padding:2rem 1.8rem 1.4rem}.about__card p{font-size:1.05rem}}@media (max-width: 600px){.about{padding-block:4.4rem}.about__rail{width:53vw}.about__title{font-size:clamp(2.1rem,7vw,3rem);text-align:left;color:#0f1420}.about__figure{width:100%;display:block}.about__frame{width:100%}.about__card{max-width:100%;padding:1.75rem 1.6rem 1.25rem}.about__card p{font-size:1rem;line-height:1.7}}@media (max-width: 400px){.about{padding-block:4rem}.about__rail{width:60vw}.about__title{font-size:1.9rem;color:#0f1420}.about__figure{width:100%;display:block}.about__frame{width:100%}.about__card{padding:1.6rem 1.4rem 1.1rem}.about__card p{font-size:.97rem}}.work{position:relative;padding-block:clamp(4.2rem,9vw,7.5rem);isolation:isolate;overflow:hidden}.work__bg{position:absolute;inset:0;pointer-events:none;z-index:0}.work__bg:before{content:"";position:absolute;right:0;top:0;bottom:0;width:clamp(260px,40vw,560px);background:linear-gradient(180deg,var(--accent-hot, #d19cff),var(--accent-2, #84a9ff),var(--accent, #8ef0c0));background-size:220% 100%;animation:workRailX 16s linear infinite;animation-play-state:paused;opacity:.9;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--border) 80%,transparent);filter:saturate(110%);transform-origin:right center;transform:scaleX(0);transition:transform 1.15s cubic-bezier(.2,.7,.25,1)}@keyframes workRailX{0%{background-position:100% 50%}50%{background-position:0% 50%}to{background-position:100% 50%}}.work:has(.work__title.is-visible) .work__bg:before{transform:scaleX(1);animation-play-state:running}.work__container{position:relative;z-index:1;width:min(1200px,92%);margin-inline:auto}.work__title{margin:0 0 clamp(1.2rem,3vw,2rem);font-weight:800;font-size:clamp(2.8rem,7vw,4.6rem);letter-spacing:.02em;text-align:left}.work__note{margin:0 0 .35rem;color:color-mix(in oklab,var(--text) 92%,white 8%);font-size:clamp(.98rem,.86rem + .45vw,1.12rem)}.work__disclaimer{margin:0 0 clamp(1.2rem,3vw,1.8rem);font-size:.95rem;color:var(--muted)}.work__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2.8vw,1.8rem)}.work__item{grid-column:span 6}@media (max-width: 900px){.work__item{grid-column:1 / -1}}.work__card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.work__media{position:relative;aspect-ratio:16 / 9;background:#0c0c0c;overflow:hidden}.work__media img{width:100%;height:100%;object-fit:cover;display:block}.work__info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1rem,3vw,1.4rem);background:transparent;transform:translateY(100%);opacity:1;transition:transform .55s cubic-bezier(.22,.8,.33,1)}.work__card:hover .work__info,.work__card:focus-within .work__info{transform:translateY(0)}.work__info:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in oklab,var(--panel) 86%,black 14%) 0%,color-mix(in oklab,var(--panel) 86%,transparent) 55%,transparent 100%);opacity:.92;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);z-index:0}.work__info>*{position:relative;z-index:1}.work__name{margin:0 0 .35rem;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);font-weight:700}.work__desc{margin:0 0 .6rem}.work__madeat{margin:0 0 .6rem;font-size:.9rem;color:var(--muted)}.work__tech{display:flex;flex-wrap:wrap;gap:.4rem .5rem;padding:0;margin:0 0 .8rem;list-style:none}.work__tech li{padding:.25rem .5rem;border:1px solid var(--border);font-size:.85rem;background:color-mix(in oklab,var(--panel) 92%,black 8%)}.work__actions{display:flex;gap:.6rem;border-radius:0}.work__actions .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.78rem 1.1rem;font-weight:700;font-size:.98rem;line-height:1;border:1px solid transparent;border-radius:0;box-shadow:0 .5rem 1.25rem #0000002e;position:relative;overflow:hidden;z-index:0;transition:color .25s ease,border-color .25s ease,background .25s ease}.work__actions .btn.primary{background:var(--brand);color:#0c1320}.work__actions .btn:before{content:"";position:absolute;inset:0;transform:translate(-105%);transition:transform .35s cubic-bezier(.22,.8,.33,1);z-index:-1}.work__actions .btn.primary:before{background:linear-gradient(90deg,var(--accent-2),var(--accent))}.work__actions .btn:hover:before{transform:translate(0)}.work__actions .btn.primary:hover{border-color:transparent}.work__info--mobile{display:none;padding:clamp(1rem,3vw,1.4rem);border-top:1px solid var(--border)}@media (max-width: 1024px){.work__info{display:none}.work__info--mobile{display:block}}@media (prefers-reduced-motion: no-preference){[data-reveal]{opacity:0;transform:translateY(16px);transition:transform .65s cubic-bezier(.2,.7,.25,1),opacity .65s ease}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal][data-delay="100"]{transition-delay:.1s}[data-reveal][data-delay="150"]{transition-delay:.15s}}:root[data-theme=light] .work__bg:before{opacity:.85;filter:saturate(110%)}:root[data-theme=light] .work__info:before{background:linear-gradient(to top,color-mix(in oklab,var(--panel) 80%,white 20%) 0%,color-mix(in oklab,var(--panel) 78%,transparent) 55%,transparent 100%);opacity:.9}@media (prefers-reduced-motion: reduce){.work__bg:before{transform:none}}:root[data-theme=light] .work__actions .btn:hover{color:#fff}:root[data-theme=light] .work__info:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in oklab,var(--panel) 65%,black 35%),color-mix(in oklab,var(--panel) 75%,black 25%) 35%,color-mix(in oklab,var(--panel) 92%,white 8%) 75%,color-mix(in oklab,var(--panel) 96%,white 4%));opacity:.96;-webkit-backdrop-filter:saturate(135%) blur(5px);backdrop-filter:saturate(135%) blur(5px)}@media (max-width: 1024px){.work{padding-block:5.8rem}.work__container{width:min(960px,94%)}.work__title{font-size:3.4rem;margin-bottom:.5rem}.work__note{font-size:1.35rem;margin-bottom:.6rem;max-width:46rem}.work__disclaimer{font-size:1.2rem;margin-bottom:2.4rem;max-width:46rem}.work__grid{gap:2.2rem}.work__item{grid-column:1 / -1}.work__card{border-radius:.6rem}.work__info,.work__info--mobile{padding:2.4rem 2rem 1.9rem}.work__name{font-size:1.55rem}.work__desc{font-size:1.28rem;line-height:1.8}.work__tech li{font-size:1rem;padding:.32rem .55rem}.work__actions .btn{padding:1.05rem 1.35rem;font-size:1.1rem}.work__bg:before{width:clamp(200px,32vw,330px)}.work__note,.work__disclaimer{max-width:39rem!important;white-space:normal;overflow-wrap:break-word}}@media (max-width: 900px){.work{padding-block:5rem}.work__container{width:94%}.work__title{font-size:3rem;margin-bottom:.4rem}.work__note{font-size:1.15rem;max-width:46rem}.work__disclaimer{font-size:1.05rem;margin-bottom:2.2rem;max-width:46rem}.work__grid{gap:2rem}.work__item{grid-column:1 / -1}.work__info--mobile{padding:2rem 1.8rem 1.6rem}.work__name{font-size:1.45rem}.work__desc{font-size:1.15rem;line-height:1.75}.work__tech li{font-size:.95rem}.work__actions .btn{padding:1rem 1.3rem;font-size:1.05rem}.work__note,.work__disclaimer{max-width:33rem!important}.work__bg:before{width:clamp(150px,32vw,260px)}}@media (max-width: 600px){.work{padding-block:4.2rem}.work__container{width:92%}.work__title{font-size:2.6rem;margin-bottom:.35rem;white-space:normal;overflow-wrap:break-word;word-break:break-word;display:block;max-width:11ch}.work__note{font-size:1.05rem}.work__disclaimer{font-size:.95rem;margin-bottom:2rem}.work__grid{gap:1.8rem}.work__media{aspect-ratio:16/10}.work__info--mobile{padding:1.6rem 1rem 1.35rem}.work__name{font-size:1.35rem}.work__desc{font-size:1rem;line-height:1.65}.work__tech li{font-size:.88rem;padding:.25rem .45rem}.work__actions .btn{padding:.9rem 1.2rem;font-size:1rem}.work__bg:before{width:clamp(150px,32vw,260px)}.work__note,.work__disclaimer{max-width:15rem!important}}@media (max-width: 400px){.work{padding-block:3.8rem}.work__bg:before{width:clamp(110px,28vw,200px)}.work__container{width:92%}.work__title{font-size:1.9rem}.work__note{font-size:.98rem}.work__disclaimer{font-size:.9rem;margin-bottom:1.8rem}.work__grid{gap:1.6rem}.work__info--mobile{padding:1.4rem .8rem 1.2rem}.work__name{font-size:1.25rem}.work__desc{font-size:.96rem;line-height:1.6}.work__tech li{font-size:.82rem}.work__actions .btn{padding:.85rem 1.1rem;font-size:.95rem}.work__note,.work__disclaimer{max-width:14rem!important}}@media (max-width: 400px) and (min-height: 780px){.work__note,.work__disclaimer{max-width:17rem!important}}.contact{position:relative;--pad: clamp(4.8rem, 10vw, 8.5rem);--pad-bottom: clamp(2.2rem, 5vw, 3rem);padding-top:var(--pad);padding-bottom:var(--pad-bottom);min-height:100dvh;display:grid;grid-template-rows:1fr auto;isolation:isolate;overflow:hidden}.contact__bg{position:absolute;inset:0;z-index:0;pointer-events:none}.contact__glow{position:absolute;width:min(42rem,60vw);height:min(42rem,60vw);filter:blur(6rem);opacity:.45;border-radius:50%}.contact__glow--left{left:-10%;top:10%;background:radial-gradient(circle at 30% 30%,var(--accent-2),transparent 60%)}.contact__glow--right{right:-12%;bottom:-10%;background:radial-gradient(circle at 60% 40%,var(--accent),transparent 60%)}.contact__flow{position:absolute;inset:-20% -10% -10%;background:conic-gradient(from 180deg at 50% 50%,color-mix(in oklab,var(--accent-2) 55%,transparent),color-mix(in oklab,var(--accent) 55%,transparent),color-mix(in oklab,var(--accent-hot, #d19cff) 55%,transparent),color-mix(in oklab,var(--accent-2) 55%,transparent));filter:blur(7rem) saturate(115%);opacity:.28;animation:contactFlow 24s linear infinite}@keyframes contactFlow{to{transform:rotate(360deg)}}.contact__grid{position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in oklab,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--text) 6%,transparent) 1px,transparent 1px);background-size:3.5rem 3.5rem;opacity:.12}.contact__container{position:relative;z-index:1;width:min(1200px,92%);margin-inline:auto;grid-row:1}.contact__title{margin:0 0 clamp(1.6rem,4.5vw,2.6rem);font-weight:800;font-size:clamp(2.8rem,7vw,4.6rem);letter-spacing:.02em;text-align:left}.contact__content{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.2rem,3.4vw,2rem);align-items:start}@media (max-width: 900px){.contact__content{grid-template-columns:1fr}}.contact__lead{margin:0 0 .45rem;font-size:clamp(1.28rem,1.04rem + .9vw,1.7rem);font-weight:700}.contact__copy{margin:0 0 1rem;color:color-mix(in oklab,var(--text) 92%,white 8%);font-size:clamp(.98rem,.86rem + .45vw,1.12rem)}.contact__copy a{color:var(--brand-2);text-decoration:none}.contact__copy a:hover{color:var(--brand)}.contact__lead{margin-bottom:.55rem}.contact__copy{margin-bottom:1.1rem}.contact__social{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}.contact__social-btn{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:.65rem .9rem;border:1px solid var(--border);background:var(--panel-2);color:var(--text);text-decoration:none;overflow:hidden;z-index:0;transition:color .25s ease,border-color .25s ease,transform .18s ease}.contact__social-btn:before{content:"";position:absolute;inset:0;transform:translate(-105%);transition:transform .35s cubic-bezier(.22,.8,.33,1);background:linear-gradient(90deg,var(--accent-2),var(--accent));z-index:-1}.contact__social-btn:hover:before{transform:translate(0)}.contact__social-btn:hover{color:#0c1320;border-color:transparent}.contact__social-btn svg{font-size:1.1rem}.contact__social-btn:focus-visible{outline:.12rem solid var(--accent-2);outline-offset:.14rem}.contact__note{font-size:.95rem;color:var(--muted)}.contact__form{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);padding:clamp(1.2rem,3.6vw,1.8rem);display:grid;grid-template-columns:1fr;gap:clamp(.8rem,2.2vw,1rem);max-width:clamp(360px,34vw,480px);justify-self:end;width:100%;margin-top:calc(-1*(clamp(1.6rem,4.5vw,2.6rem) + .2rem))}@media (max-width: 900px){.contact__form{max-width:100%;justify-self:stretch}}.field{display:grid;gap:.35rem}.field--full{grid-column:1 / -1}.contact__form label{font-size:.95rem;color:color-mix(in oklab,var(--text) 90%,white 10%)}.contact__form input,.contact__form textarea{width:100%;border:1px solid var(--border);background:color-mix(in oklab,var(--panel) 92%,black 8%);color:var(--text);padding:.8rem 1rem;font:inherit}.contact__form textarea{resize:vertical}.contact__form input:focus,.contact__form textarea:focus{outline:.13rem solid var(--accent-2);outline-offset:.05rem}.form__actions{grid-column:1 / -1;display:flex;gap:.8rem;align-items:center;margin-top:.35rem}.form__actions .btn svg{width:1.15rem;height:1.15rem;flex-shrink:0}.contact .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.78rem 1.1rem;font-weight:700;font-size:.98rem;line-height:1;border:1px solid transparent;border-radius:0;box-shadow:0 .5rem 1.25rem #0000002e;position:relative;overflow:hidden;z-index:0;transition:color .25s ease,border-color .25s ease,background .25s ease}.contact .btn.primary{background:var(--brand);color:#0c1320}.contact .btn:before{content:"";position:absolute;inset:0;transform:translate(-105%);transition:transform .35s cubic-bezier(.22,.8,.33,1);z-index:-1}.contact .btn.primary:before{background:linear-gradient(90deg,var(--accent-2),var(--accent))}.contact .btn:hover:before{transform:translate(0)}.contact .btn.primary:hover{border-color:transparent}.contact__cue{--cue-color: color-mix(in oklab, var(--text) 92%, var(--bg) 8%);--cue-delay: .6s;--cue-rise: 1.4s;--cue-bounce: 1.2s;--cue-bob: 1rem;position:absolute;left:50%;bottom:clamp(1rem,3vw,1.6rem);width:.95rem;height:.95rem;border-bottom:.26rem solid var(--cue-color);border-right:.26rem solid var(--cue-color);transform:translate(-50%) translateY(2.6rem) rotate(225deg);opacity:0;will-change:transform,opacity;z-index:2;filter:drop-shadow(0 0 6px color-mix(in oklab,var(--cue-color) 55%,transparent));animation:none}.contact__cue.is-visible{animation:cueRise var(--cue-rise) cubic-bezier(.2,.7,.25,1) var(--cue-delay) both,cueBobContact var(--cue-bounce) cubic-bezier(.42,0,.2,1) calc(var(--cue-delay) + var(--cue-rise)) infinite alternate}@keyframes cueRise{0%{transform:translate(-50%) translateY(2.6rem) rotate(225deg);opacity:0}to{transform:translate(-50%) translateY(calc(-1 * var(--cue-bob))) rotate(225deg);opacity:1}}@keyframes cueBobContact{0%{transform:translate(-50%) translateY(calc(-1 * var(--cue-bob))) rotate(225deg)}to{transform:translate(-50%) translateY(0) rotate(225deg)}}.contact__footer{grid-row:3;position:relative;z-index:1;text-align:center;color:var(--muted);margin-top:clamp(2.5rem,6vw,3.5rem);padding-bottom:clamp(1.2rem,3vw,1.6rem);margin-bottom:0}@media (prefers-reduced-motion: no-preference){[data-reveal]{opacity:0;transform:translateY(16px);transition:transform .7s cubic-bezier(.2,.7,.25,1),opacity .7s ease}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal=slide-left]{transform:translate(-28px)}[data-reveal=slide-right]{transform:translate(28px)}.contact__footer[data-reveal]{opacity:0;transform:translate(-24px);transition:transform .7s cubic-bezier(.2,.7,.25,1),opacity .7s ease}.contact__footer.is-visible{opacity:1;transform:none}[data-reveal=fade-up]{transform:translateY(22px)}}:root[data-theme=light] .contact__flow{opacity:.34;filter:blur(6rem) saturate(115%)}:root[data-theme=light] .contact__grid{opacity:.1}.toast{position:fixed;left:clamp(1rem,3vw,1.8rem);bottom:clamp(4rem,8vh,5rem);display:flex;align-items:center;gap:.6rem;max-width:min(92%,380px);padding:.9rem 1.1rem;background:color-mix(in oklab,var(--panel) 94%,black 6%);color:var(--text);border:1px solid var(--border);box-shadow:0 .65rem 1.4rem #00000040;border-radius:.4rem;font-size:.95rem;line-height:1.4;z-index:9999;opacity:0;pointer-events:none;transform:translateY(1rem);transition:opacity .35s ease,transform .35s ease}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.toast button{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.2rem;color:var(--muted)}.toast button:hover{color:var(--text)}@keyframes toastIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}:root[data-theme=light] .contact__social-btn:hover{color:#fff!important}:root[data-theme=light] .contact .btn.primary:hover{color:#fff!important}@media (max-width: 1024px){.contact{padding-top:4.6rem;padding-bottom:2.4rem;min-height:70dvh}.contact__container{width:min(960px,94%)}.contact__title{font-size:3.4rem;margin-bottom:2rem}.contact__content{gap:2.4rem}.contact__lead{font-size:1.55rem}.contact__copy{font-size:1.28rem;line-height:1.7}.contact__social-btn{padding:.7rem 1rem;font-size:1.1rem}.contact__form{padding:2.2rem 2rem 1.9rem;max-width:460px}.contact__form label{font-size:1.05rem}.contact__form input,.contact__form textarea{padding:1rem 1.2rem;font-size:1.1rem}.contact .btn{padding:1.15rem 1.35rem;font-size:1.15rem}}@media (max-width: 900px){.contact{padding-top:4.4rem;padding-bottom:2.8rem;min-height:100dvh}.contact__container{width:94%}.contact__title{font-size:3rem;margin-bottom:1.8rem}.contact__content{grid-template-columns:1fr;gap:2.2rem}.contact__left{margin-bottom:1rem}.contact__form{max-width:100%;padding:2rem 1.8rem 1.6rem}.contact__lead{font-size:1.45rem}.contact__copy{font-size:1.15rem}.contact__social-btn{padding:.65rem .9rem;font-size:1rem}.contact__form input,.contact__form textarea{padding:.9rem 1.1rem;font-size:1.05rem}.contact .btn{padding:1rem 1.3rem;font-size:1.05rem}}@media (max-width: 600px){.contact{padding-top:4rem;padding-bottom:2rem;min-height:120dvh}.contact__container{width:92%}.contact__title{font-size:2.6rem;margin-bottom:1.5rem}.contact__content{gap:2rem}.contact__lead{font-size:1.25rem}.contact__copy{font-size:1rem;line-height:1.6}.contact__social{gap:.5rem}.contact__social-btn{padding:.55rem .8rem;font-size:.98rem}.contact__left{margin-bottom:1rem}.contact__form{padding:1.6rem 1.4rem 1.3rem;max-width:100%}.contact__form label{font-size:.95rem}.contact__form input,.contact__form textarea{padding:.8rem 1rem;font-size:1rem}.contact .btn{width:100%;text-align:center;padding:.95rem 1.2rem;font-size:1rem}.contact__glow{width:min(32rem,54vw);height:min(32rem,54vw);filter:blur(5rem)}}@media (max-width: 400px){.contact{padding-top:3.3rem;padding-bottom:2rem;min-height:125dvh}.contact__container{width:92%}.contact__title{font-size:1.9rem;margin-bottom:1.2rem}.contact__lead{font-size:1.1rem}.contact__copy{font-size:.96rem}.contact__social-btn{padding:.5rem .75rem;font-size:.92rem}.contact__form{padding:1.35rem 1.2rem 1.1rem}.contact__form input,.contact__form textarea{padding:.75rem .9rem;font-size:.96rem}.contact .btn{padding:.9rem 1.1rem;font-size:.95rem}.contact__glow{width:min(26rem,48vw);height:min(26rem,48vw);filter:blur(4rem)}}@media (max-width: 400px) and (max-height: 740px){.contact{min-height:145dvh}}.tl{position:relative;padding-block:clamp(5rem,11vw,9rem);min-height:80vh;overflow:hidden;isolation:isolate;color:var(--text)}.tl:before,.tl:after{content:"";position:absolute;pointer-events:none;z-index:0;filter:blur(70px);opacity:.14;animation:tlBg 22s linear infinite}.tl:before{inset:auto auto -8% -8%;width:44vw;height:44vw;max-width:640px;max-height:640px;background:radial-gradient(60% 60% at 30% 30%,var(--accent) 0%,transparent 60%),radial-gradient(60% 60% at 70% 70%,var(--accent-2) 0%,transparent 60%)}.tl:after{inset:-12% -10% auto auto;width:36vw;height:36vw;max-width:520px;max-height:520px;background:radial-gradient(55% 55% at 65% 35%,var(--accent-hot) 0%,transparent 60%),radial-gradient(55% 55% at 30% 70%,var(--accent-2) 0%,transparent 60%)}@keyframes tlBg{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(2%,-1%,0) rotate(6deg)}to{transform:translateZ(0) rotate(0)}}.tl__container{position:relative;z-index:1;width:min(1200px,92%);margin-inline:auto}.tl__title{margin:0 0 clamp(1.2rem,3vw,2rem);font-weight:800;font-size:clamp(2.8rem,7vw,4.6rem);letter-spacing:.02em;text-align:left}.tl__subtitle{font-size:clamp(.98rem,.86rem + .45vw,1.12rem);color:color-mix(in oklab,var(--text) 92%,white 8%);margin-bottom:clamp(2.5rem,6vw,3.5rem);text-align:left}.tl__wrap{position:relative}.tl__rail{position:absolute;left:9px;width:3px;background:transparent;border-radius:999px;transform:translate(-50%);pointer-events:none;z-index:0;opacity:0}.tl__progress{position:absolute;left:9px;width:3px;height:0;background:linear-gradient(180deg,var(--accent-hot),var(--accent));border-radius:999px;transform:translate(-50%);pointer-events:none;z-index:1;opacity:1;transition:height .55s cubic-bezier(.19,1,.22,1),opacity .35s ease-out}.tl__list{position:relative;display:grid;gap:1.8rem;margin:0;padding:0;list-style:none}.tl__item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:1.4rem;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.25,1)}.tl__item.is-visible{opacity:1;transform:none}.tl__railSlot{position:relative;width:18px}.tl__dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);width:14px;height:14px;border-radius:50%;background:linear-gradient(180deg,var(--accent-hot),var(--accent-2));box-shadow:0 0 0 4px color-mix(in oklab,var(--panel) 85%,transparent);z-index:2;pointer-events:none;opacity:0;transition:opacity .35s ease-out,transform .35s ease-out;animation:tlDot 2.4s ease-in-out infinite alternate}.tl__item.is-visible .tl__dot{opacity:1;transform:translate(-50%,-50%) scale(1)}.tl__card{position:relative;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.75rem;padding:clamp(1rem,3.2vw,1.35rem);display:grid;gap:.6rem;opacity:0;transform:translateY(14px);transition:opacity .55s ease-out,transform .55s cubic-bezier(.2,.7,.25,1)}.tl__item.is-visible .tl__card{opacity:1;transform:none;transition-delay:.12s}@keyframes tlDot{0%{box-shadow:0 0 0 4px color-mix(in oklab,var(--panel) 85%,transparent)}to{box-shadow:0 0 0 7px color-mix(in oklab,var(--accent) 22%,transparent)}}.tl__card{position:relative;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);padding:clamp(1rem,3.2vw,1.35rem);display:grid;gap:.6rem}.tl__head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.tl__headLeft{display:flex;align-items:center;gap:.6rem;min-width:0}.tl__icon{display:grid;place-items:center;width:1.6em;height:1.6em;margin-top:.05em}.tl__icon svg{width:1.6em;height:1.6em;stroke:color-mix(in oklab,var(--text) 75%,white 25%);fill:none;stroke-width:1.6}.tl__role{margin:0;font-weight:700;font-size:clamp(1.06rem,.96rem + .5vw,1.3rem);background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl__pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in oklab,var(--panel) 80%,var(--panel-2) 20%);font-size:.95rem;color:color-mix(in oklab,var(--text) 90%,white 10%);white-space:nowrap}.tl__lead{margin:.1rem 0 0;line-height:1.65;color:color-mix(in oklab,var(--text) 92%,white 8%)}.tl__more{display:grid;gap:.6rem;overflow:hidden;max-height:0;opacity:0;transition:max-height .9s ease,opacity .6s ease}.tl__card:hover .tl__more,.tl__card:focus-within .tl__more{max-height:1000px;opacity:1}.tl__desc{margin:0;line-height:1.65}.tl__bullets{margin:0;padding-left:1.15rem;display:grid;gap:.35rem}.tl__tags{display:inline-flex;gap:.4rem;flex-wrap:wrap;margin:.2rem 0 0;padding:0;list-style:none}.tl__tags li{border:1px solid var(--border);background:color-mix(in oklab,var(--panel) 85%,black 15%);padding:.22rem .55rem;font-size:.9rem}.tl__link{color:var(--accent);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s ease}.tl__link:hover,.tl__link:focus-visible{background-size:100% 2px}@media (prefers-reduced-motion: no-preference){.tl[data-reveal]{opacity:0;transition:opacity .9s ease;transition-delay:.2s}.tl.is-visible{opacity:1}}:root[data-theme=light] .tl__tags li{background:color-mix(in oklab,var(--panel) 88%,white 10%)}@media (max-width: 1024px){.tl{padding-block:5.8rem;min-height:auto}.tl__container{width:min(960px,94%)}.tl__title{font-size:3.4rem;margin-bottom:.5rem}.tl__subtitle{font-size:1.4rem;margin-bottom:2.6rem}.tl__list{gap:2.1rem}.tl__item{grid-template-columns:18px 1fr}.tl__card{padding:2.6rem 2.4rem 1.9rem;max-width:100%}.tl__role{font-size:1.28rem;white-space:normal}.tl__pill{font-size:1.05rem}.tl__lead,.tl__desc,.tl__bullets li{font-size:1.28rem;line-height:1.8}.tl__tags li{font-size:1rem}}@media (max-width: 900px){.tl{padding-block:4rem;min-height:auto}.tl__container{width:min(780px,94%)}.tl__title{font-size:2.8rem;margin-bottom:1.2rem}.tl__subtitle{font-size:1.18rem;margin-bottom:2.4rem}.tl__list{gap:1.8rem}.tl__item{grid-template-columns:16px 1fr;column-gap:1rem}.tl__card{padding:1.6rem;max-width:100%}.tl__role{font-size:1.25rem;white-space:normal}.tl__pill{font-size:1rem}.tl__lead{font-size:1.05rem}.tl__desc,.tl__bullets li{font-size:1rem}.tl__tags li{font-size:.9rem}}@media (max-width: 600px){.tl{padding-block:3.8rem;min-height:auto}.tl__container{width:92%}.tl__title{font-size:clamp(2.1rem,7vw,3rem);margin-bottom:1rem}.tl__subtitle{font-size:1.05rem;margin-bottom:2rem}.tl__list{gap:1.6rem}.tl__item{grid-template-columns:14px 1fr;column-gap:.9rem}.tl__dot{width:12px;height:12px}.tl__card{padding:1.4rem;max-width:100%;box-sizing:border-box}.tl__head{flex-direction:column;align-items:flex-start;gap:.45rem}.tl__headLeft{align-items:flex-start;gap:.5rem}.tl__icon{flex-shrink:0}.tl__role{font-size:1.18rem;white-space:normal;line-height:1.35}.tl__pill{align-self:flex-start;display:inline-flex;align-items:center;justify-content:flex-start;padding:.35rem .9rem;border-radius:999px;font-size:.95rem;line-height:1.25;white-space:normal;max-width:100%;margin-top:.1rem}.tl__lead{font-size:1rem}.tl__desc,.tl__bullets li{font-size:.95rem}.tl__tags li{font-size:.86rem}}@media (max-width: 400px){.tl{padding-block:3.6rem;min-height:auto}.tl__container{width:92%}.tl__title{font-size:1.9rem;margin-bottom:.5rem}.tl__subtitle{font-size:.98rem;margin-bottom:1.8rem}.tl__list{gap:1.5rem}.tl__item{grid-template-columns:14px 1fr;column-gap:.8rem}.tl__card{padding:1.3rem;max-width:100%;box-sizing:border-box}.tl__head{flex-direction:column;align-items:flex-start;gap:.4rem}.tl__headLeft{align-items:flex-start;gap:.45rem}.tl__role{font-size:1.08rem;white-space:normal;line-height:1.35}.tl__pill{align-self:flex-start;display:inline-flex;align-items:center;justify-content:flex-start;padding:.32rem .85rem;border-radius:999px;font-size:.9rem;line-height:1.25;white-space:normal;max-width:100%;margin-top:.08rem}.tl__lead{font-size:.95rem}.tl__desc,.tl__bullets li{font-size:.9rem}.tl__tags li{font-size:.84rem}}.resume{position:relative;min-height:100dvh;background:var(--bg);padding:clamp(5rem,7vw,6rem) clamp(1rem,3vw,1.5rem) clamp(1.5rem,4vw,2rem);display:grid;align-items:start;isolation:isolate;margin-top:2rem;overflow-x:clip}.resume__container{width:min(900px,92%);margin-inline:auto}.resume__controls{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center}.resume__spacer{inline-size:100%}.resume__btn{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border:1px solid var(--border);background:color-mix(in oklab,var(--panel) 92%,black 8%);color:var(--text);text-decoration:none;cursor:pointer;font-weight:700;letter-spacing:.01em;line-height:1;transition:background .18s ease,color .18s ease,border-color .18s ease;border-radius:0}.resume__btn:hover{background:color-mix(in oklab,var(--panel) 86%,black 14%)}.resume__btn svg{font-size:1.1rem;flex-shrink:0}.resume__btn.primary{display:inline-flex;align-items:center;gap:.6rem;padding:.78rem 1.1rem;font-weight:700;font-size:.98rem;line-height:1;border:1px solid transparent;border-radius:0;box-shadow:0 .5rem 1.25rem #0000002e;position:relative;overflow:hidden;z-index:0;background:var(--brand);color:#0c1320;transition:color .25s ease,border-color .25s ease,background .25s ease}.resume__btn.primary:before{content:"";position:absolute;inset:0;transform:translate(-105%);background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:transform .35s cubic-bezier(.22,.8,.33,1);z-index:-1}.resume__btn.primary:hover:before{transform:translate(0)}.resume__btn.primary:hover{border-color:transparent}.resume__btn.primary svg{width:1.15rem;height:1.15rem;flex-shrink:0}.resume__btn.ghost{background:transparent;border-color:var(--border)}.resume__viewer{margin-top:clamp(1rem,3.5vw,1.6rem);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.resume__frame{width:100%;height:100vh;border:none}.resume__fallback{margin:.6rem 0;text-align:center;color:var(--muted);font-size:.95rem}.resume__fallback a{color:var(--text);text-decoration:none}.resume__btn.ghost:hover{background:color-mix(in oklab,var(--panel) 85%,white 15%);color:var(--text)}:root[data-theme=light] .resume__btn:hover{background:color-mix(in oklab,var(--panel-2, var(--panel)) 88%,black 12%)}:root[data-theme=light] .resume__viewer{border-color:var(--border)}:root[data-theme=light] .resume__frame{background:#fff}.resume__miniFooter{margin-top:3rem;padding:3rem 0 1.25rem;display:flex;flex-direction:column;gap:1.2rem;background:color-mix(in oklab,var(--bg) 92%,var(--panel) 8%);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-inline:clamp(1rem,3vw,1.5rem);box-sizing:border-box}.resume__miniFooter>:not(.resume__miniFooter-divider){width:min(900px,92%);margin-inline:auto}.resume__miniFooter-divider{height:1px;width:100%;background:var(--border)}.resume__miniFooter-title{text-align:center;font-size:clamp(1.25rem,2.2vw,1.8rem);font-weight:700;letter-spacing:.2px;color:var(--text);margin-bottom:.5rem}.resume__miniFooter-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.resume__btnFlat{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1rem;border:1px solid var(--border);background:var(--panel-2);color:var(--text);text-decoration:none;overflow:hidden;z-index:0;transition:color .25s ease,border-color .25s ease,transform .18s ease;border-radius:0}.resume__btnFlat:before{content:"";position:absolute;inset:0;transform:translate(-105%);transition:transform .35s cubic-bezier(.22,.8,.33,1);background:linear-gradient(90deg,var(--accent-2),var(--accent));z-index:-1}.resume__btnFlat:hover:before{transform:translate(0)}.resume__btnFlat:hover{color:#0c1320;border-color:transparent}.resume__btnFlat svg{font-size:1.05rem}.resume__btnFlat:focus-visible{outline:.12rem solid var(--accent-2);outline-offset:.14rem}.resume__miniFooter-bottom{margin-top:auto;padding-top:.8rem;margin-bottom:-1rem;text-align:center;color:var(--muted);font-size:.9rem}:root[data-theme=light] .resume__miniFooter-divider{background:color-mix(in srgb,var(--border) 60%,#000 20%)}:root[data-theme=light] .resume__miniFooter-bottom{color:color-mix(in srgb,var(--muted) 70%,#000 20%)}@media (max-width: 900px){.resume__container{width:min(820px,94%)}.resume__controls{grid-template-columns:1fr 1fr 1fr;gap:.5rem}.resume__spacer{display:none}.resume__btn{justify-content:center;padding:.6rem .9rem}.resume__viewer{margin-top:clamp(.8rem,2.8vw,1.2rem)}.resume__frame{height:clamp(62vh,78dvh,84dvh)}}@media (max-width: 600px){.resume{padding:clamp(4rem,8vw,5rem) 1rem clamp(1rem,4vw,1.5rem)}.resume__controls{grid-template-columns:1fr;gap:.55rem}.resume__btn{width:100%;padding:.75rem 1rem;font-size:.98rem}.resume__btn svg{font-size:1.05rem}.resume__viewer{margin-top:.8rem}.resume__frame{height:75vh}.resume__miniFooter{padding:2rem 0 1rem;gap:1rem}.resume__btnFlat{padding:.65rem .9rem;font-size:.95rem}}@media (max-width: 400px){.resume__btn{padding:.7rem .9rem;font-size:.95rem;gap:.45rem}.resume__btn svg{font-size:1rem}.resume__frame{height:70vh}}.navbar-hover-zone{position:fixed;top:0;left:0;right:0;height:0;pointer-events:none;z-index:90}.navbar-hover-zone.is-active{height:1.25rem;pointer-events:auto}.navbar{--nav-height: clamp(4rem, 6vw, 4.75rem);position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:100;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:color-mix(in oklab,var(--bg) 88%,transparent);border-bottom:.0625rem solid var(--border);transition:transform .24s ease,background .2s ease;font-family:Space Grotesk,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.navbar--hidden{transform:translateY(calc(-1 * var(--nav-height) - .0625rem))}.navbar__inner{width:100%;height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 clamp(1rem,3vw,1.5rem);gap:clamp(.5rem,2vw,1rem)}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text)}.brand__logo{width:2.5rem;height:2.5rem;border-radius:.6rem}.brand__name{font-weight:700;letter-spacing:.02em;font-size:clamp(1.1rem,1.8vw,1.3rem)}.navlinks{display:flex;justify-content:flex-end;justify-self:end;gap:clamp(1rem,3vw,1.6rem)}.navlink{display:inline-block;position:relative;background:transparent;border:0;padding:.85rem .25rem;color:var(--text);cursor:pointer;font:inherit;font-weight:600;text-decoration:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%);background-repeat:no-repeat;background-position:left calc(100% - .3rem);background-size:0% .15rem;transition:background-size .2s ease}.navlink:hover,.navlink:focus-visible{background-size:100% .15rem}.nav__right{display:flex;justify-content:flex-end;align-items:center;gap:.6rem}.lang-btn,.theme-toggle{height:2.5rem;min-width:3.25rem;padding:0 .95rem;border-radius:.4rem;border:.0625rem solid var(--border);background:var(--panel-2);color:var(--text);font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s ease}:root:not([data-theme=light]) .lang-btn:hover,:root:not([data-theme=light]) .theme-toggle:hover{background:var(--panel)}.theme-toggle:before{--theme-icon: url("data:image/svg+xml,%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Transformed%20by:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20stroke='%23000000'%3e%3cg%20id='SVGRepo_bgCarrier'%20stroke-width='0'/%3e%3cg%20id='SVGRepo_tracerCarrier'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cg%20id='SVGRepo_iconCarrier'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%2011.5373%2021.3065%2011.4608%2021.0672%2011.8568C19.9289%2013.7406%2017.8615%2015%2015.5%2015C11.9101%2015%209%2012.0899%209%208.5C9%206.13845%2010.2594%204.07105%2012.1432%202.93276C12.5392%202.69347%2012.4627%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20fill='%23fff'/%3e%3c/g%3e%3c/svg%3e");content:"";width:1.125rem;height:1.125rem;display:inline-block;margin-right:.5rem;background:currentColor;-webkit-mask:var(--theme-icon) no-repeat center / contain;mask:var(--theme-icon) no-repeat center / contain;vertical-align:middle;position:relative;top:-.08rem}.theme-toggle .label{font-size:.95rem}.lang-btn:focus-visible,.theme-toggle:focus-visible,.navlink:focus-visible{outline:.125rem solid var(--accent-2);outline-offset:.15rem}.nav-toggle{display:inline-flex;justify-self:end;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:6px;cursor:pointer;background:none;border:none;display:none;opacity:0;animation:navFadeSlide .32s cubic-bezier(.2,.7,.25,1) .45s both}.nav-toggle__bar{width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.nav-toggle:focus-visible{outline:.125rem solid var(--accent-2);outline-offset:.15rem}.nav-toggle.is-active .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-active .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle.is-active .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-drawer{position:fixed;top:0;right:0;height:100vh;width:100%;background:color-mix(in oklab,var(--bg) 96%,black 4%);transform:translate(100%);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.2,.7,.25,1),opacity .24s ease;z-index:90;display:flex;flex-direction:column}.nav-drawer.is-open{transform:translate(0);opacity:1;pointer-events:auto}.nav-drawer__inner{display:flex;flex-direction:column;height:100%;padding:calc(var(--nav-height)) 0 2.8rem}.nav-drawer__header{display:none}.nav-drawer__content{flex:1;width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:2.6rem;padding:3.2rem var(--drawer-pad-x) 0;padding-top:5rem;padding-left:clamp(1.8rem,4vw,2.4rem)}:root{--drawer-pad-x: clamp(1rem, 3vw, 1.7rem)}.nav-drawer__nav{display:flex;flex-direction:column;align-items:flex-start;gap:1.45rem;width:100%}.nav-drawer .navlink.nav-drawer__link{font-size:1.12rem;font-weight:600;letter-spacing:.02em;padding:0}.nav-drawer__nav .navlink.nav-drawer__link{width:100%;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.nav-drawer__nav .navlink.nav-drawer__link:first-child{border-top:none}:root[data-theme=light] .nav-drawer__nav .navlink.nav-drawer__link{border-bottom:1px solid rgba(0,0,0,.18)}.nav-drawer__footer{display:flex;flex-direction:column;gap:.9rem;width:100%}.nav-drawer__lang,.nav-drawer__theme{width:min(170px,100%);height:3.05rem;border-radius:.75rem;border:.0625rem solid var(--border);background:color-mix(in oklab,var(--panel-2) 94%,black 6%);display:inline-flex;align-items:center;justify-content:center;padding:0 1.4rem;font-weight:700;letter-spacing:.05em;font-size:.92rem}.nav-drawer__footer{gap:.55rem;margin-top:-.6rem}.nav-drawer__lang,.nav-drawer__theme{height:2.7rem;padding:0 1.1rem;font-size:.88rem}.nav-drawer__theme:before{content:"☾";font-size:1.4rem;line-height:1;display:inline-block;margin-right:.55rem;transform:translateY(1px)}.nav-drawer__theme[data-active-theme=light]:before{content:"☀"}.nav-drawer__backdrop{position:fixed;inset:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:80}.nav-drawer__backdrop.is-active{opacity:1;pointer-events:auto}@keyframes navFadeSlide{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.navbar .brand{opacity:0;animation:navFadeSlide .48s cubic-bezier(.2,.7,.25,1) .05s both}.navbar .navlinks .navlink{opacity:0;animation:navFadeSlide .48s cubic-bezier(.2,.7,.25,1) both}.navbar .navlinks .navlink:nth-child(1){animation-delay:.18s}.navbar .navlinks .navlink:nth-child(2){animation-delay:.3s}.navbar .navlinks .navlink:nth-child(3){animation-delay:.42s}.navbar .navlinks .navlink:nth-child(4){animation-delay:.54s}.navbar .navlinks .navlink:nth-child(5){animation-delay:.66s}.navbar .nav__right .lang-btn{opacity:0;animation:navFadeSlide .48s cubic-bezier(.2,.7,.25,1) .66s both}.navbar .nav__right .theme-toggle{opacity:0;animation:navFadeSlide .48s cubic-bezier(.2,.7,.25,1) .78s both}@media (prefers-reduced-motion: reduce){.navbar .brand,.navbar .navlinks .navlink,.navbar .nav__right .lang-btn,.navbar .nav__right .theme-toggle,.navbar .nav-toggle{animation:none!important;opacity:1!important;transform:none!important}}html[data-theme=light] .theme-toggle:before{--theme-icon: url("data:image/svg+xml,%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Transformed%20by:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='SVGRepo_bgCarrier'%20stroke-width='0'/%3e%3cg%20id='SVGRepo_tracerCarrier'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cg%20id='SVGRepo_iconCarrier'%3e%3cpath%20d='M17%2012C17%2014.7614%2014.7614%2017%2012%2017C9.23858%2017%207%2014.7614%207%2012C7%209.23858%209.23858%207%2012%207C14.7614%207%2017%209.23858%2017%2012Z'%20fill='%23000'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12%201.25C12.4142%201.25%2012.75%201.58579%2012.75%202V4C12.75%204.41421%2012.4142%204.75%2012%204.75C11.5858%204.75%2011.25%204.41421%2011.25%204V2C11.25%201.58579%2011.5858%201.25%2012%201.25ZM3.66865%203.71609C3.94815%203.41039%204.42255%203.38915%204.72825%203.66865L6.95026%205.70024C7.25596%205.97974%207.2772%206.45413%206.9977%206.75983C6.7182%207.06553%206.2438%207.08677%205.9381%206.80727L3.71609%204.77569C3.41039%204.49619%203.38915%204.02179%203.66865%203.71609ZM20.3314%203.71609C20.6109%204.02179%2020.5896%204.49619%2020.2839%204.77569L18.0619%206.80727C17.7562%207.08677%2017.2818%207.06553%2017.0023%206.75983C16.7228%206.45413%2016.744%205.97974%2017.0497%205.70024L19.2718%203.66865C19.5775%203.38915%2020.0518%203.41039%2020.3314%203.71609ZM1.25%2012C1.25%2011.5858%201.58579%2011.25%202%2011.25H4C4.41421%2011.25%204.75%2011.5858%204.75%2012C4.75%2012.4142%204.41421%2012.75%204%2012.75H2C1.58579%2012.75%201.25%2012.4142%201.25%2012ZM19.25%2012C19.25%2011.5858%2019.5858%2011.25%2020%2011.25H22C22.4142%2011.25%2022.75%2011.5858%2022.75%2012C22.75%2012.4142%2022.4142%2012.75%2022%2012.75H20C19.5858%2012.75%2019.25%2012.4142%2019.25%2012ZM17.0255%2017.0252C17.3184%2016.7323%2017.7933%2016.7323%2018.0862%2017.0252L20.3082%2019.2475C20.6011%2019.5404%2020.601%2020.0153%2020.3081%2020.3082C20.0152%2020.6011%2019.5403%2020.601%2019.2475%2020.3081L17.0255%2018.0858C16.7326%2017.7929%2016.7326%2017.3181%2017.0255%2017.0252ZM6.97467%2017.0253C7.26756%2017.3182%207.26756%2017.7931%206.97467%2018.086L4.75244%2020.3082C4.45955%2020.6011%203.98468%2020.6011%203.69178%2020.3082C3.39889%2020.0153%203.39889%2019.5404%203.69178%2019.2476L5.91401%2017.0253C6.2069%2016.7324%206.68177%2016.7324%206.97467%2017.0253ZM12%2019.25C12.4142%2019.25%2012.75%2019.5858%2012.75%2020V22C12.75%2022.4142%2012.4142%2022.75%2012%2022.75C11.5858%2022.75%2011.25%2022.4142%2011.25%2022V20C11.25%2019.5858%2011.5858%2019.25%2012%2019.25Z'%20fill='%23000'/%3e%3c/g%3e%3c/svg%3e") !important}:root[data-theme=light] .lang-btn,:root[data-theme=light] .theme-toggle{transition:background .18s ease,color .18s ease!important}:root[data-theme=light] .lang-btn:hover,:root[data-theme=light] .theme-toggle:hover{background:color-mix(in oklab,var(--panel-2, var(--panel)) 92%,black 8%)!important}:root[data-theme=light] .lang-btn:active,:root[data-theme=light] .theme-toggle:active{background:color-mix(in oklab,var(--panel-2, var(--panel)) 86%,black 14%)!important}@media (max-width: 1024px){.navbar__inner{grid-template-columns:auto 1fr}.navlinks,.nav__right{display:none}.nav-toggle{display:inline-flex}}@media (max-width: 900px){.navbar__inner{padding:0 1rem}.brand__name{font-size:1.05rem}}@media (max-width: 600px){.navbar{--nav-height: 4rem}.brand__logo{width:2.25rem;height:2.25rem}.brand__name{font-size:1rem}.nav-drawer__inner{padding:calc(var(--nav-height) + .4rem) 1.1rem 1.4rem}.nav-drawer .navlink.nav-drawer__link{padding:.6rem 0}}@media (max-width: 400px){.navbar{--nav-height: 3.75rem}.navbar__inner{padding:0 .75rem}.brand__name{font-size:.95rem}.nav-toggle{padding:.3rem .05rem}}:root{--bg: #0f1420;--panel: #131a2a;--text: #e9eef7;--muted: #a9b4c8;--brand: #8ef0c0;--brand-2: #a9c1ff;--border: rgba(255, 255, 255, .08);--shadow: 0 10px 30px rgba(0, 0, 0, .35);--accent: var(--brand);--accent-2: var(--brand-2);--accent-hot: #d19cff;--panel-2: #0c1628;--social-rail-bg: #ffffff}:root[data-theme=light]{--bg: #f6f8fc;--panel: #ffffff;--text: #10131a;--muted: #5b6577;--brand: #0aa97a;--brand-2: #3b6cff;--border: rgba(20, 24, 32, .08);--shadow: 0 10px 30px rgba(0, 0, 0, .08);--accent: var(--brand);--accent-2: var(--brand-2);--accent-hot: #b98dff;--panel-2: #f2f5fb;--social-rail-bg: linear-gradient(180deg, #0f172a, #334155)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}main{margin:0 auto}section{padding:96px 0;border-bottom:1px solid var(--border)}a{color:inherit}.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);text-decoration:none;cursor:pointer;box-shadow:var(--shadow)}.btn.primary{background:var(--brand);color:#0c1320;border-color:transparent}.btn.ghost{background:transparent;border-color:var(--border)}
