@import "https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@1,6..72,400;1,6..72,500&display=swap";html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.site-nav{z-index:50;width:100%;height:88px;transition:all var(--duration-base) var(--ease-standard);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.nav-inner{width:100%;max-width:1400px;height:100%;padding:0 var(--space-lg);pointer-events:auto;transition:all var(--duration-base) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.nav-logo{justify-self:flex-start;align-items:center;display:flex}.nav-logo a{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);font-size:1.125rem;font-weight:600}.nav-links{gap:var(--space-lg);justify-self:center;align-items:center;display:flex}.nav-links a{text-transform:uppercase;color:var(--color-text-secondary);font-size:18px;font-weight:800;text-decoration:none;transition-property:color;transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);position:relative}.nav-links a:hover,.nav-links a:focus{color:var(--color-text-primary)}.nav-links a:after{content:"";pointer-events:none;background-color:var(--color-text-primary);width:0%;height:2px;transition-property:width,left;transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);position:absolute;bottom:-4px;left:50%}.nav-links a:hover:after,.nav-links a:focus:after{width:100%;left:0%}.nav-cta{justify-self:flex-end;align-items:center;gap:var(--space-md);display:flex}.site-nav.is-scrolled{top:16px}.site-nav.is-scrolled .nav-inner{width:75%;height:64px;padding:0 var(--space-md) 0 var(--space-lg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:#0a0a0a99;box-shadow:0 10px 30px #00000080}.desktop-only{display:flex}.mobile-only{display:none}.hamburger{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;display:flex}.hamburger .bar{background-color:var(--color-text-primary);width:24px;height:2px;transition:transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast)}.hamburger .bar.open:first-child{transform:translateY(4px)rotate(45deg)}.hamburger .bar.open:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu-overlay{-webkit-backdrop-filter:blur(20px);z-index:40;opacity:0;pointer-events:none;width:100vw;height:100vh;transition:opacity var(--duration-base) var(--ease-standard);background:#0a0a0af2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.mobile-menu-overlay.open{opacity:1;pointer-events:auto}.mobile-nav-links{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.mobile-nav-links a:not(.btn-primary){font-size:var(--fs-heading-md);padding:var(--space-xs) var(--space-md);font-weight:500}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex}.site-nav.is-scrolled .nav-inner{width:90%}}.theme-switch{--toggle-size:10px;--container-width:5.625em;--container-height:2.5em;--container-radius:.38em;--container-light-bg:#5caad4;--container-night-bg:#1b1e36;--circle-container-diameter:3.375em;--sun-moon-diameter:2.125em;--sun-bg:#f5c518;--moon-bg:#d8d4c0;--spot-color:#9b9787;--circle-container-offset:calc((var(--circle-container-diameter) - var(--container-height)) / 2 * -1);--stars-color:#fff8e1;--clouds-color:#f4f4f4;--back-clouds-color:#bacfe0;--transition:.5s cubic-bezier(0, -.02, .4, 1.25);--circle-transition:.3s cubic-bezier(0, -.02, .35, 1.17);vertical-align:middle;display:inline-block}.theme-switch,.theme-switch *,.theme-switch :before,.theme-switch :after{box-sizing:border-box;font-size:var(--toggle-size);margin:0;padding:0}.theme-switch__container{width:var(--container-width);height:var(--container-height);background-color:var(--container-light-bg);border-radius:var(--container-radius);cursor:pointer;background-image:linear-gradient(to bottom, var(--container-light-bg) 0%, #4a92bd 100%);transition:all var(--transition);filter:url(#sketchy);position:relative;overflow:hidden;transform:rotate(-.7deg);box-shadow:0 0 0 2.5px #1a1a1a,3px 4px 0 2.5px #1a1a1a38}.theme-switch__container:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;background-image:repeating-linear-gradient(-50deg,#0000,#0000 7px,#ffffff0a 7px 8px);position:absolute;inset:0}.theme-switch__checkbox{display:none}.theme-switch__circle-container{width:var(--circle-container-diameter);height:var(--circle-container-diameter);left:var(--circle-container-offset);top:var(--circle-container-offset);border-radius:var(--container-radius);transition:var(--circle-transition);pointer-events:none;background-color:#ffffff1a;display:flex;position:absolute;box-shadow:inset 0 0 0 3.375em #ffffff1a,inset 0 0 0 3.375em #ffffff1a,0 0 0 .625em #ffffff1a,0 0 0 1.25em #ffffff1a}.theme-switch__circle-container:before{content:"";width:calc(var(--circle-container-diameter) + 1.5em);height:calc(var(--circle-container-diameter) + 1.5em);opacity:1;transition:opacity var(--transition);pointer-events:none;filter:url(#sketchy-sm);background:conic-gradient(#0000 0deg 8deg,#f5c51885 8deg 22deg,#0000 22deg 53deg,#f5c51885 53deg 67deg,#0000 67deg 98deg,#f5c51885 98deg 112deg,#0000 112deg 143deg,#f5c51885 143deg 157deg,#0000 157deg 188deg,#f5c51885 188deg 202deg,#0000 202deg 233deg,#f5c51885 233deg 247deg,#0000 247deg 278deg,#f5c51885 278deg 292deg,#0000 292deg 323deg,#f5c51885 323deg 337deg,#0000 337deg 360deg);border-radius:50%;animation:14s linear infinite rotateSunRays;position:absolute;top:-.75em;left:-.75em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:before{opacity:0}@keyframes rotateSunRays{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-switch__sun-moon-container{pointer-events:auto;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);border-radius:var(--container-radius);background-color:var(--sun-bg);filter:url(#sketchy-sm)drop-shadow(.062em .125em .125em #00000040)drop-shadow(0 .062em .125em #00000040);transition:var(--transition);margin:auto;position:relative;overflow:hidden;transform:scale(1);box-shadow:inset .062em .062em .062em 0 #feffef9c,inset 0 -.062em .062em 0 #a1872a,.1em .13em 0 .04em #1a1a1a}.theme-switch__sun-moon-container:hover{transform:scale(1.1)rotate(5deg)}.theme-switch__moon{background-color:var(--moon-bg);border-radius:inherit;width:100%;height:100%;transition:all var(--transition), transform .3s ease;position:relative;transform:translate(100%);box-shadow:inset .062em .062em .062em 0 #feffef9c,inset 0 -.062em .062em 0 #969696}.theme-switch__moon:hover{transform:rotate(15deg)}.theme-switch__spot{border-radius:var(--container-radius);background-color:var(--spot-color);filter:url(#sketchy-sm);width:.75em;height:.75em;transition:background-color .3s;position:absolute;top:.75em;left:.312em;box-shadow:inset 0 .0312em .062em #00000040}.theme-switch__spot:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot:nth-last-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}.theme-switch__moon:hover .theme-switch__spot{background-color:#7a7f8c}.theme-switch__clouds{background-color:var(--clouds-color);border-radius:var(--container-radius);width:1.25em;height:1.25em;box-shadow:.937em .312em var(--clouds-color), -.312em -.312em var(--back-clouds-color), 1.437em .375em var(--clouds-color), .5em -.125em var(--back-clouds-color), 2.187em 0 var(--clouds-color), 1.25em -.062em var(--back-clouds-color), 2.937em .312em var(--clouds-color), 2em -.312em var(--back-clouds-color), 3.625em -.062em var(--clouds-color), 2.625em 0em var(--back-clouds-color), 4.5em -.312em var(--clouds-color), 3.375em -.437em var(--back-clouds-color), 4.625em -1.75em 0 .437em var(--clouds-color), 4em -.625em var(--back-clouds-color), 4.125em -2.125em 0 .437em var(--back-clouds-color);filter:url(#sketchy-sm);transition:all .5s cubic-bezier(0,-.02,.4,1.25);position:absolute;bottom:-.625em;left:.312em}.theme-switch__stars-container{color:var(--stars-color);width:2.75em;height:auto;transition:var(--transition);position:absolute;top:-100%;left:.312em}.theme-switch__checkbox:checked+.theme-switch__container{background-color:var(--container-night-bg);background-image:linear-gradient(to bottom, var(--container-night-bg) 0%, #252a4a 100%)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__circle-container:hover{left:calc(var(--circle-container-offset) + .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__moon{transform:translate(0)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__clouds{bottom:-4.062em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-container{top:50%;transform:translateY(-50%)}.theme-switch__container:hover .theme-switch__clouds{transform:translate(15px)scale(1.02)}.theme-switch__sun-moon-container:after{content:"";opacity:0;background:radial-gradient(circle,#fff3 0%,#0000 70%);border-radius:50%;transition:opacity .3s;position:absolute;inset:-5px}.theme-switch__sun-moon-container:hover:after{opacity:1}.theme-switch__shooting-star{opacity:0;background:#fff;width:2px;height:2px;transition:opacity .3s;position:absolute;top:20%;left:-10%}.theme-switch__shooting-star-2{opacity:0;background:#fff;width:1px;height:1px;transition:opacity .3s;position:absolute;top:35%;left:-10%}.theme-switch__meteor{opacity:0;filter:blur(1px);background:gold;border-radius:50%;width:3px;height:3px;transition:opacity .3s;position:absolute;top:-10%;left:50%}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__shooting-star{opacity:1;animation:2s linear infinite shootingStar}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__shooting-star-2{opacity:1;animation:3s linear 1s infinite shootingStar}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__meteor{opacity:1;animation:4s linear 2s infinite meteor}@keyframes shootingStar{0%{opacity:1;transform:translate(0)translateY(0)rotate(45deg)}to{opacity:0;transform:translate(150px)translateY(150px)rotate(45deg)}}@keyframes meteor{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(150px)scale(.3)}}.theme-switch__stars-cluster{opacity:0;transition:opacity .3s;position:absolute;inset:0}.theme-switch__stars-cluster .star{background:#fff;border-radius:50%;width:2px;height:2px;position:absolute;box-shadow:0 0 4px 1px #fff}.theme-switch__stars-cluster .star:first-child{animation:1s ease-in-out infinite twinkle;top:20%;left:20%}.theme-switch__stars-cluster .star:nth-child(2){animation:1s ease-in-out .3s infinite twinkle;top:30%;left:55%}.theme-switch__stars-cluster .star:nth-child(3){animation:1s ease-in-out .6s infinite twinkle;top:40%;left:80%}.theme-switch__stars-cluster .star:nth-child(4){animation:1s ease-in-out .9s infinite twinkle;top:60%;left:30%}.theme-switch__stars-cluster .star:nth-child(5){animation:1s ease-in-out 1.2s infinite twinkle;top:70%;left:65%}.theme-switch__aurora{opacity:0;filter:blur(4px);background:linear-gradient(90deg,#0ff0 0%,#0ff3 25%,#8000ff33 50%,#0ff3 75%,#0ff0 100%);height:20px;transition:opacity .3s;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}.theme-switch__comets{opacity:0;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.theme-switch__comets .comet{filter:blur(1px);background:linear-gradient(90deg,#fff 0%,#0000 90%);border-radius:50%;width:2px;height:2px;position:absolute}.theme-switch__comets .comet:first-child{animation:4s linear infinite cometMove;top:30%;left:-10%}.theme-switch__comets .comet:nth-child(2){animation:6s linear 2s infinite cometMove;top:50%;left:-10%}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes cometMove{0%{opacity:0;transform:translate(0)translateY(0)rotate(-45deg)scale(1)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(200px)translateY(200px)rotate(-45deg)scale(.2)}}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-cluster{opacity:1}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__aurora{opacity:1;animation:8s linear infinite auroraWave}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__comets{opacity:1}@keyframes auroraWave{0%{transform:translateY(-100%)translate(-50%)}to{transform:translateY(-100%)translate(50%)}}.contact-btn-wrapper{cursor:pointer;background-color:#ffffff1a;border-radius:9999px;justify-content:flex-start;align-items:center;min-width:8.5rem;max-width:100%;min-height:2.92rem;padding-top:.5rem;padding-bottom:.5rem;text-decoration:none;transition:all .8s cubic-bezier(.51,.026,.368,1.016);display:flex;position:relative;box-shadow:inset 1px 2px 5px #00000080}.contact-btn-wrapper:hover{background-color:var(--color-accent-primary)}.contact-btn-inner-bg{pointer-events:none;justify-content:flex-start;align-items:center;padding:.125rem .25rem;display:flex;position:absolute;inset:0}.contact-btn-slider{width:0%;transition:all 1s cubic-bezier(.51,.026,.368,1.016)}.contact-btn-wrapper:hover .contact-btn-slider{width:100%}.contact-btn-icon-wrapper{aspect-ratio:1;background-color:var(--color-accent-primary);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;height:100%;transition:all 1s cubic-bezier(.51,.026,.368,1.016);display:flex;box-shadow:inset 1px -1px 3px #000}.contact-btn-wrapper:hover .contact-btn-icon-wrapper{background-color:var(--color-bg)}.contact-btn-icon{width:.8rem;height:.8rem;color:var(--color-bg);justify-content:center;align-items:center;transition:all 1s cubic-bezier(.51,.026,.368,1.016);display:flex}.contact-btn-wrapper:hover .contact-btn-icon{color:var(--color-accent-primary);transform:rotate(-45deg)}.contact-btn-text{color:var(--color-text-primary);z-index:1;font-family:var(--font-display);font-weight:500;font-size:var(--fs-body-md);white-space:nowrap;padding-left:3.4rem;padding-right:1.1rem;transition:all 1s cubic-bezier(.51,.026,.368,1.016)}.contact-btn-wrapper:hover .contact-btn-text{color:var(--color-bg);padding-left:1.1rem;padding-right:3.4rem}.hero-section{background-color:var(--color-bg);width:100%;height:180vh;position:relative;overflow:hidden}.parallax-layer{will-change:transform;width:100%;height:100%;position:absolute;inset:0}.parallax-layer svg{width:100%;height:60vh;display:block;position:absolute;bottom:0;left:0}.parallax-sky{z-index:1}.spotlight{mix-blend-mode:screen;will-change:transform;background:radial-gradient(circle,#ffffff14 0%,#0000 60%);width:600px;height:600px;position:absolute;top:0;left:0}.particle-field{opacity:.15;width:100%;height:100%;position:absolute;top:0;right:0}.particle{font-family:var(--font-mono,monospace);color:var(--color-text-secondary);white-space:nowrap;font-size:.8rem;animation:ease-in-out infinite alternate drift;position:absolute}@keyframes drift{0%{transform:translate(0)}to{transform:translate(15px,-15px)}}.parallax-text{z-index:5;justify-content:center;align-items:flex-start;padding-top:35vh;display:flex;top:0}.hero-text-content{text-align:left;padding:0 var(--space-lg);flex-direction:column;align-items:flex-start;max-width:1000px;display:flex}.parallax-foreground{z-index:6}.parallax-foreground svg{height:30vh}.hero-bottom-gradient{background:linear-gradient(to bottom, transparent 0%, var(--color-bg) 100%);z-index:10;pointer-events:none;width:100%;height:25vh;position:absolute;bottom:0;left:0}.hero-eyebrow{gap:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-sm);font-size:var(--fs-caption);letter-spacing:.05em;color:var(--color-text-secondary);flex-wrap:wrap;justify-content:flex-start;align-items:center;font-weight:600;display:flex}.hero-eyebrow .separator{color:var(--color-text-muted)}.hero-headline{font-family:var(--font-display);justify-content:flex-start;align-items:baseline;margin-bottom:0;font-size:clamp(4rem,12vw,10rem);font-weight:700;line-height:1;display:flex}.hero-name-first{letter-spacing:-.05em}.hero-name-last{font-family:var(--font-serif);letter-spacing:normal;color:#7c3aed;margin-left:-.05em;font-size:.9em;font-style:italic;font-weight:500}.hero-desc{font-size:var(--fs-body-lg);color:var(--color-text-secondary);max-width:600px;margin:0}.punchline-transition-section{background:var(--color-bg);z-index:20;width:100%;height:100vh;position:relative}.punchline-sticky-container{justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:absolute;top:0;left:0;overflow:hidden}.punchline-outgoing,.punchline-incoming{text-align:center;padding:0 var(--space-xl);will-change:transform, opacity, filter;flex-direction:column;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.punchline-outgoing{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);text-shadow:0 4px 20px #0006;font-size:clamp(2.5rem,5vw,5rem);font-weight:600;line-height:1.1}.punchline-incoming{opacity:0;transform:scale(.4)}.incoming-headline{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--space-md);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:1.1}.incoming-sub{font-size:var(--fs-body-lg);color:var(--color-text-secondary);max-width:600px;line-height:1.5}.scribble-circle{pointer-events:none;z-index:-1;fill:none;width:140%;height:140%;stroke:var(--color-accent-pastel-a);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.punchline-transition-section{height:auto;padding-block:var(--space-section)}.punchline-sticky-container{height:auto;position:relative;overflow:visible}.punchline-outgoing{margin-bottom:var(--space-xl);position:relative}.punchline-incoming{opacity:1;position:relative;transform:none}}.skills-globe-section{padding-block:var(--space-2xl);background-color:var(--color-bg);border-top:1px solid var(--color-border-subtle);overflow:hidden}.skills-globe-header{text-align:center;margin-bottom:var(--space-xl)}.skills-globe-headline{font-size:var(--fs-heading-lg);color:var(--color-text-primary);margin-top:var(--space-xs)}.skills-globe-canvas-wrapper{background:radial-gradient(circle,#ffffff08 0%,#0000 70%);justify-content:center;align-items:center;width:100%;max-width:800px;height:600px;margin:0 auto;display:flex;position:relative}.globe-label{font-family:var(--font-display);font-size:var(--fs-body-md);color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;will-change:transform, opacity;border-radius:var(--radius-sm);cursor:grab;padding:.5rem;font-weight:500;transition:color .15s,opacity .1s}.globe-label:active{cursor:grabbing}.globe-label.hovered{color:var(--color-text-primary);z-index:10;text-shadow:0 0 10px #fff3;opacity:1!important}@media (width<=768px){.skills-globe-canvas-wrapper{height:400px}.globe-label{font-size:var(--fs-body-sm)}}.stats-header{text-align:center;margin-bottom:var(--space-lg)}.stats-headline{font-size:var(--fs-heading-lg);color:var(--color-text-primary);margin-top:var(--space-xs)}.stats-value-prop{max-width:60ch;margin:0 auto var(--space-2xl) auto;text-align:center}.stats-value-prop p{font-size:var(--fs-heading-md);color:var(--color-text-secondary);line-height:1.6}.stats-grid{gap:var(--space-lg);padding-top:var(--space-xl);border-top:1px solid var(--color-border-subtle);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{gap:var(--space-xs);flex-direction:column;display:flex}.stat-number{font-family:var(--font-display);font-size:var(--fs-display-lg);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.stat-label{font-size:var(--fs-body-md);color:var(--color-text-secondary);font-weight:500}@media (width<=768px){.stats-grid{gap:var(--space-xl) var(--space-md);grid-template-columns:repeat(2,1fr)}}.github-section{padding:var(--space-section) 0;position:relative;overflow:hidden}.github-calendar-container{padding:var(--space-xl) var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(5px);background-color:#0000;justify-content:center;align-items:center;max-width:fit-content;margin:0 auto;display:flex;overflow-x:auto;box-shadow:0 4px 30px #0000001a}.github-calendar-container article{gap:var(--space-md);flex-direction:column;display:flex}.react-activity-calendar{color:var(--color-text-secondary);font-family:var(--font-sans)}.react-activity-calendar text{fill:var(--color-text-muted)!important;font-size:var(--fs-caption)!important}@media (width<=768px){.github-calendar-container{padding:var(--space-md);width:100%;display:block}}.projects-section{padding-block:var(--space-section)}.projects-label{margin-bottom:var(--space-xl)}.projects-scroll-container{scroll-snap-type:x mandatory;scrollbar-width:none;width:100vw;padding-bottom:var(--space-xl);overflow-x:auto}.projects-scroll-container::-webkit-scrollbar{display:none}.projects-rail{gap:var(--space-lg);padding:0 var(--space-lg);width:max-content;display:flex}.project-card{scroll-snap-align:start;gap:var(--space-md);width:clamp(340px,40vw,620px);transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base);cursor:pointer;flex-direction:column;display:flex}.project-card:hover{transform:translateY(-4px)}.project-image-wrapper{aspect-ratio:4/3;border-radius:var(--radius-lg);background:var(--color-bg-card);flex-direction:column;width:100%;display:flex;position:relative;overflow:hidden}.project-image{background:var(--color-bg-raised);transition:transform .7s var(--ease-standard);flex-grow:1;display:flex;position:relative;overflow:hidden;transform:scale(1.03)}.project-preview-img{object-fit:cover;object-position:top left;width:100%;height:100%;transition:transform .5s var(--ease-standard);display:block}.project-placeholder-pattern{background:linear-gradient(135deg,#7c3aed14 0%,#0006 100%);width:100%;height:100%;position:relative}.project-placeholder-pattern:after{content:"";background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:16px 16px;position:absolute;inset:0}.project-card.is-visible .project-image{transform:scale(1)}.project-card:hover .project-preview-img{transform:scale(1.05)}.project-details{opacity:0;transition:opacity .5s var(--ease-standard), transform .5s var(--ease-standard);gap:var(--space-xs);flex-direction:column;display:flex;transform:translateY(12px)}.project-card.is-visible .project-details{opacity:1;transition-delay:.15s;transform:translateY(0)}.browser-chrome{border:1px solid var(--color-border-subtle)}.browser-topbar{border-bottom:1px solid var(--color-border-subtle);height:36px;padding:0 var(--space-sm);z-index:2;background:#18181b;align-items:center;display:flex;position:relative}.browser-dots{gap:6px;display:flex}.browser-dots .dot{border-radius:50%;width:10px;height:10px}.dot.red{background-color:#ff5f56}.dot.yellow{background-color:#ffbd2e}.dot.green{background-color:#27c93f}.browser-url{font-size:.7rem;font-family:var(--font-mono,monospace);color:var(--color-text-muted);background:#09090b;border:1px solid #ffffff14;border-radius:4px;padding:2px 10px;position:absolute;left:50%;transform:translate(-50%)}.project-title{font-size:var(--fs-heading-md);color:var(--color-text-primary);font-weight:600;line-height:1.4}.project-tags-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.project-tag-pill{font-size:.72rem;font-family:var(--font-mono,monospace);background:var(--color-bg-raised);border:1px solid var(--color-border-default);color:var(--color-text-secondary);border-radius:9999px;padding:2px 8px}.project-link{margin-top:var(--space-xs);font-size:var(--fs-body-md);color:var(--color-accent);transition:color var(--duration-fast), transform var(--duration-fast);align-items:center;gap:4px;font-weight:500;display:inline-flex}.project-card:hover .project-link{color:var(--color-text-primary);transform:translate(4px)}@media (width<=640px){.project-card{width:85vw}}.process-header{margin-bottom:var(--space-xl)}.process-headline{margin-top:var(--space-xs);font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.process-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.process-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--color-bg-card);gap:var(--space-md);transition:border-color var(--duration-fast);flex-direction:column;display:flex}.process-card:hover{border-color:var(--color-border-default)}.process-tag{border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:#ffffff0a;align-items:center;gap:.5rem;width:fit-content;padding:.25rem .75rem;display:inline-flex}.process-num{font-size:var(--fs-caption);color:var(--color-text-muted);font-family:var(--font-mono,monospace)}.process-title{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.process-desc{font-size:var(--fs-body-md);line-height:1.6}@media (width<=1024px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.process-grid{grid-template-columns:1fr}}.cta-split-container{width:100vw;min-height:60vh;display:flex}.cta-split-half{padding:var(--space-section) var(--space-lg);color:var(--color-bg);flex:1;justify-content:center;align-items:center;display:flex}.cta-left{background-color:var(--color-accent-pastel-a);clip-path:inset(0 100% 0 0);transition:clip-path .75s var(--ease-snappy)}.cta-split-section.is-visible .cta-left{clip-path:inset(0)}.cta-right{background-color:var(--color-accent-pastel-b);clip-path:inset(0 0 0 100%);transition:clip-path .75s var(--ease-snappy)}.cta-split-section.is-visible .cta-right{clip-path:inset(0)}.cta-split-content{gap:var(--space-md);opacity:0;max-width:480px;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);flex-direction:column;transition-delay:.35s;display:flex;transform:translateY(16px)}.cta-split-content h2{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.cta-split-content p{font-size:var(--fs-body-lg);opacity:.8;margin-bottom:var(--space-md);font-weight:500}.cta-split-section.is-visible .cta-split-content{opacity:1;transform:translateY(0)}.btn-split{border-radius:var(--radius-full);transition:transform var(--duration-fast) var(--ease-standard);color:#fff;align-self:flex-start;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-weight:600;display:inline-flex}.btn-split:hover{transform:scale(1.03)}.btn-split-left{background-color:#9d81e3}.btn-split-right{color:var(--color-bg);background-color:#d1c956}@media (width<=768px){.cta-split-container{flex-direction:column}.cta-split-half{padding:var(--space-xl) var(--space-md);min-height:50vh}}.about-grid{gap:var(--space-2xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-photo-col{justify-content:flex-end;display:flex}.about-photo{aspect-ratio:1;background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);filter:grayscale();width:100%;max-width:500px}.about-text-col{gap:var(--space-lg);flex-direction:column;align-items:flex-start;max-width:500px;display:flex}.about-headline{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.about-desc{font-size:var(--fs-body-lg);color:var(--color-text-secondary);line-height:1.6}@media (width<=768px){.about-grid{gap:var(--space-xl);grid-template-columns:1fr}.about-photo-col{justify-content:flex-start}}.faq-header{text-align:center;margin-bottom:var(--space-xl)}.faq-headline{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight);margin-top:var(--space-xs)}.faq-list{flex-direction:column;max-width:800px;margin:0 auto;display:flex}.faq-item{border-bottom:1px solid var(--color-border-subtle)}.faq-item:first-child{border-top:1px solid var(--color-border-subtle)}.faq-question{width:100%;padding:var(--space-lg) 0;text-align:left;justify-content:space-between;align-items:center;display:flex}.faq-question h3{font-size:var(--fs-heading-md);color:var(--color-text-primary);transition:color var(--duration-fast);font-weight:500}.faq-question:hover h3{color:var(--color-accent-pastel-a)}.faq-chevron{color:var(--color-text-muted);transition:transform var(--duration-base) var(--ease-standard), color var(--duration-fast);flex-shrink:0}.faq-question:hover .faq-chevron{color:var(--color-text-primary)}.faq-item.is-open .faq-chevron{transform:rotate(180deg)}.faq-answer-wrapper{transition:grid-template-rows var(--duration-base) var(--ease-standard);grid-template-rows:0fr;display:grid}.faq-item.is-open .faq-answer-wrapper{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden}.faq-answer-inner p{padding-bottom:var(--space-lg);font-size:var(--fs-body-lg);color:var(--color-text-secondary);line-height:1.6}.final-cta-section{padding-block:calc(var(--space-section) * 1.5);text-align:center;position:relative;overflow:hidden}.final-cta-bg{z-index:0;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;width:100vw;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 60%);mask-image:radial-gradient(circle,#000 0%,#0000 60%)}.final-cta-content{z-index:10;align-items:center;gap:var(--space-lg);flex-direction:column;max-width:600px;margin:0 auto;display:flex;position:relative}.final-cta-headline{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.final-cta-desc{font-size:var(--fs-body-lg);color:var(--color-text-secondary);line-height:1.6}.site-footer{padding-top:var(--space-2xl);padding-bottom:var(--space-lg);overflow:hidden visible}.footer-content{flex-direction:column;display:flex}.footer-big-text-wrapper{margin-bottom:var(--space-xl);justify-content:center;display:flex}.footer-ghost-name{color:var(--color-text-primary);opacity:.04;letter-spacing:-.04em;text-align:center;white-space:nowrap;font-size:clamp(4rem,14vw,11rem);font-weight:800;line-height:1}.footer-info{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.footer-tagline{font-size:var(--fs-heading-md);font-weight:600}.footer-links{gap:var(--space-md);display:flex}.footer-social-wrapper{margin:30px}.footer-divider{background-color:var(--color-border-subtle);width:100%;height:1px;margin-bottom:var(--space-lg)}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (width<=768px){.footer-info,.footer-bottom{flex-direction:column;align-items:flex-start}}.preloader-container{z-index:9999;width:100vw;height:100vh;padding:var(--space-2xl);pointer-events:none;background-color:#1c1c1c;flex-direction:column;justify-content:space-between;display:flex;position:fixed;top:0;left:0}.preloader-skills{text-align:right;align-self:flex-end;gap:var(--space-xs);flex-direction:column;display:flex}.preloader-skill{font-family:var(--font-sans);font-size:var(--fs-heading-md);text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em;opacity:0;font-weight:700}.preloader-counter{font-family:var(--font-display);color:var(--color-text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;align-self:flex-start;font-size:clamp(6rem,15vw,12rem);font-weight:500;line-height:.8}@media (width<=768px){.preloader-container{padding:var(--space-xl)}.preloader-skill{font-size:var(--fs-body-lg)}}.music-sidebar-wrapper{z-index:999;align-items:center;transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.music-sidebar-wrapper:not(.expanded){transform:translate(-100%,-50%)}.music-toggle-btn{background:var(--color-bg-card);border:1px solid var(--color-border-default);cursor:pointer;width:42px;height:68px;color:var(--color-text-primary);-webkit-backdrop-filter:blur(16px);border-left:none;border-radius:0 16px 16px 0;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,transform .2s;display:flex;position:absolute;top:50%;right:-42px;transform:translateY(-50%);box-shadow:4px 0 20px #00000040}.music-toggle-btn:hover{background:var(--color-bg-raised);border-color:var(--color-border-hover);color:var(--color-accent)}.music-tab-content{flex-direction:column;align-items:center;gap:6px;display:flex}.music-note-icon{transition:transform .3s}.music-toggle-btn:hover .music-note-icon{transform:scale(1.15)}.sound-bars{align-items:flex-end;gap:2px;height:12px;display:flex}.sound-bars .bar{background-color:var(--color-accent);border-radius:1px;width:2px;animation:1s ease-in-out infinite alternate barEqualize}.sound-bars .bar-1{height:40%;animation-delay:0s}.sound-bars .bar-2{height:100%;animation-delay:.2s}.sound-bars .bar-3{height:60%;animation-delay:.4s}@keyframes barEqualize{0%{height:20%}50%{height:100%}to{height:40%}}.music-player-panel{padding:1.5rem 1rem 1.5rem 1.5rem}.uiverse-music-container{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;display:flex;position:relative}.uiverse-disc-top-wrapper{z-index:0;cursor:pointer;height:64px;margin-bottom:-8px;transition:height .3s cubic-bezier(.4,0,.2,1),opacity .25s;position:relative}.uiverse-music-container:hover .uiverse-disc-top-wrapper{opacity:0;pointer-events:none;height:0}.uiverse-vinyl-svg{border:4px solid #a1a1aa;border-radius:50%;display:block;box-shadow:0 4px 14px #00000059}.uiverse-vinyl-svg.is-spinning{animation:3.5s linear infinite spinDisc}@keyframes spinDisc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.uiverse-disc-center{z-index:10;background-color:#fff;border:4px solid #a1a1aa;border-radius:50%;width:32px;height:32px;position:absolute;top:48px;left:48px;box-shadow:0 2px 4px #0003}.uiverse-card{z-index:30;background:var(--color-bg-card);border:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(20px);width:168px;height:84px;color:var(--color-text-primary);border-radius:18px;flex-direction:column;transition:width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:flex;position:relative;overflow:visible;box-shadow:0 12px 32px #0000004d}.uiverse-music-container:hover .uiverse-card{width:296px;height:168px;box-shadow:0 20px 48px #00000073}.uiverse-card-header{opacity:0;flex-direction:row;align-items:center;width:100%;height:0;transition:height .3s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;overflow:hidden}.uiverse-music-container:hover .uiverse-card-header{opacity:1;height:80px;overflow:visible}.uiverse-mini-disc-wrapper{opacity:0;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative;top:0;left:0}.uiverse-music-container:hover .uiverse-mini-disc-wrapper{opacity:1;top:-24px;left:-14px}.uiverse-mini-disc-wrapper.is-spinning{animation:3.5s linear infinite spinDisc}.uiverse-mini-vinyl-svg{border:4px solid #a1a1aa;border-radius:50%;display:block;box-shadow:0 4px 14px #00000059}.uiverse-mini-disc-center{z-index:10;background-color:#fff;border:4px solid #a1a1aa;border-radius:50%;width:24px;height:24px;position:absolute;top:36px;left:36px;box-shadow:0 2px 4px #0003}.uiverse-track-text{white-space:nowrap;flex-direction:column;justify-content:center;width:100%;margin-left:-6rem;padding-left:.75rem;transition:margin-left .35s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.uiverse-music-container:hover .uiverse-track-text{margin-left:-.75rem}.uiverse-track-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.uiverse-track-artist{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.uiverse-progress-bar-container{background:var(--color-bg-raised);border:1px solid var(--color-border-default);border-radius:8px;flex-direction:row;align-items:center;min-height:20px;margin:.75rem .75rem 0;transition:margin .3s;display:flex}.uiverse-music-container:hover .uiverse-progress-bar-container{margin-top:0}.uiverse-time-label{color:var(--color-text-muted);font-size:.75rem;font-family:var(--font-mono,monospace);width:38px;padding:0 .5rem;display:none}.uiverse-music-container:hover .uiverse-time-label{display:inline-block}.uiverse-slider{background:var(--color-border-hover);appearance:none;cursor:pointer;border-radius:9999px;outline:none;flex-grow:1;width:96px;height:4px;margin:auto .5rem;transition:width .35s}.uiverse-music-container:hover .uiverse-slider{width:100%}.uiverse-slider::-webkit-slider-thumb{appearance:none;background-color:var(--color-text-primary);cursor:pointer;border:2px solid #a1a1aa;border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;box-shadow:0 2px 4px #0003}.uiverse-slider:hover::-webkit-slider-thumb{background-color:var(--color-accent);transform:scale(1.25)}.uiverse-controls-row{flex-direction:row;flex-grow:1;justify-content:center;align-items:center;gap:1.25rem;margin:0 .75rem;display:flex}.uiverse-ctrl-btn{width:48px;height:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s,transform .15s;display:flex}.uiverse-ctrl-btn:hover{color:var(--color-text-primary);transform:scale(1.12)}.uiverse-play-toggle{color:var(--color-text-primary)}.uiverse-play-toggle:hover{color:var(--color-accent)}.uiverse-mode-btn{width:0;transition:width .3s cubic-bezier(.16,1,.3,1),color .2s;overflow:hidden}.uiverse-music-container:hover .uiverse-mode-btn{width:48px}.uiverse-mode-btn.active{color:var(--color-accent)}.uiverse-list-btn{width:0;transition:width .3s cubic-bezier(.16,1,.3,1),color .2s;overflow:hidden}.uiverse-music-container:hover .uiverse-list-btn{width:48px}.uiverse-list-btn.active{color:var(--color-accent)}.uiverse-playlist-popover{background:var(--color-bg-card);border:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(20px);z-index:50;border-radius:14px;flex-direction:column;gap:4px;width:100%;max-height:150px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 16px 36px #0006}.uiverse-playlist-item{color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.82rem;transition:background .15s,color .15s;display:flex}.uiverse-playlist-item:hover{background:var(--color-bg-raised);color:var(--color-text-primary)}.uiverse-playlist-item.active{color:var(--color-accent);background:#7c3aed26;font-weight:600}.uiverse-item-index{font-family:var(--font-mono,monospace);opacity:.65;font-size:.72rem}.uiverse-item-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=768px),(hover:none){.music-sidebar-wrapper{top:auto;bottom:24px;transform:translateY(0)}.music-sidebar-wrapper:not(.expanded){transform:translate(-100%)}.music-toggle-btn{border-radius:0 14px 14px 0;width:38px;height:58px;top:auto;bottom:0;right:-38px;transform:none}.music-player-panel{padding:.75rem .5rem .75rem 1rem}.uiverse-disc-top-wrapper{display:none}.uiverse-card{width:270px!important;height:154px!important}.uiverse-card-header{opacity:1!important;height:70px!important;overflow:visible!important}.uiverse-mini-disc-wrapper{opacity:1!important;width:80px!important;height:80px!important;top:-18px!important;left:-8px!important}.uiverse-mini-disc-wrapper svg{width:80px!important;height:80px!important}.uiverse-mini-disc-center{width:20px!important;height:20px!important;top:30px!important;left:30px!important}.uiverse-track-text{margin-left:-.5rem!important;padding-left:.5rem!important}.uiverse-track-title{font-size:.95rem}.uiverse-track-artist{font-size:.72rem}.uiverse-progress-bar-container{margin:0 .5rem!important}.uiverse-time-label{width:32px;font-size:.68rem;display:inline-block!important}.uiverse-slider{width:100%!important}.uiverse-controls-row{gap:.75rem;margin:0 .5rem}.uiverse-mode-btn,.uiverse-list-btn{width:36px!important}.uiverse-ctrl-btn{width:36px}.uiverse-playlist-popover{top:auto;bottom:calc(100% + 8px)}}.social-menu-container{cursor:pointer;z-index:999;background:linear-gradient(138deg,#000 15%,#001f2e 65%);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .9s;display:flex;position:fixed;bottom:5.5rem;right:5.5rem;box-shadow:0 .5rem 1rem #0000001a}.social-menu-container:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:-60px}.social-menu-container.is-open:after,.social-menu-container:hover:after{pointer-events:auto}.social-menu-container.is-open,.social-menu-container:hover{background:#fff}.social-menu-container .main-icon{fill:#fff;justify-content:center;align-items:center;transition:all .2s;display:flex}.social-menu-container.is-open .main-icon,.social-menu-container:hover .main-icon{fill:#000;transition:all .9s}.social-item-wrapper{opacity:0;visibility:hidden;z-index:1;transition:opacity .6s,visibility .6s,transform .8s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.social-menu-container.is-open .social-item-wrapper,.social-menu-container:hover .social-item-wrapper{opacity:1;visibility:visible;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-65px) rotate(calc(var(--angle) * -1))}.social-item{fill:#001722;color:#001722;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;transition:background .3s,fill .3s;display:flex;box-shadow:0 2px 4px #0003}.social-menu-container:hover .social-item:hover,.social-menu-container.is-expanded .social-item:hover{background:var(--hover-bg);fill:var(--hover-fill,#fff);color:var(--hover-fill,#fff)}:root{--color-bg:#0a0a0a;--color-bg-raised:#121212;--color-bg-card:#161616;--color-text-primary:#f5f5f4;--color-text-secondary:#a3a3a0;--color-text-muted:#6b6b68;--color-border-subtle:#ffffff14;--color-border-default:#ffffff24;--color-accent-primary:#fff;--color-accent-pastel-a:#c9b6f7;--color-accent-pastel-b:#f5f0a8;--color-accent-signal:#22c55e}[data-theme=light]{--color-bg:#f8f9fa;--color-bg-raised:#fff;--color-bg-card:#f1f3f5;--color-text-primary:#121212;--color-text-secondary:#495057;--color-text-muted:#868e96;--color-border-subtle:#0000000f;--color-border-default:#0000001f;--color-accent-primary:#000;--color-accent-pastel-a:#c9b6f7;--color-accent-pastel-b:#f5f0a8;--color-accent-signal:#22c55e}:root{--font-sans:"General Sans", system-ui, -apple-system, sans-serif;--font-serif:"Newsreader", Georgia, serif;--font-display:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-scribble:"Caveat", cursive;--fs-display-xl:clamp(2.75rem, 6vw, 5.5rem);--fs-display-lg:clamp(2rem, 4vw, 3.25rem);--fs-heading-md:clamp(1.25rem, 2vw, 1.75rem);--fs-body-lg:1.25rem;--fs-body-md:1rem;--fs-caption:.8rem;--line-height-tight:1.05;--line-height-default:1.5;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-section:8rem;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:999px;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-snappy:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration-base:.45s;--duration-slow:.8s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:0;-webkit-font-smoothing:antialiased;font-weight:400;line-height:var(--line-height-default);overflow-x:hidden}h1,h2,h3,h4,h5,h6,.hero-headline{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600}p,nav,button,a{font-family:var(--font-display);letter-spacing:0;font-weight:400}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.container{max-width:1400px;padding:0 var(--space-lg);margin:0 auto}@media (width<=640px){.container{padding:0 var(--space-md)}}section{padding-block:var(--space-section);position:relative}.btn-primary{background:var(--color-accent-primary);color:var(--color-bg);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-standard);align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-weight:500;display:inline-flex}.btn-primary:hover{background:#eaeaea;transform:scale(1.03)}.btn-secondary{color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-standard);background:0 0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;display:inline-flex}.btn-secondary:hover{background:#ffffff0f}.btn-icon-shift .icon{transition:transform var(--duration-fast) var(--ease-standard)}.btn-primary:hover .btn-icon-shift .icon,.btn-secondary:hover .btn-icon-shift .icon{transform:translate(4px)}.text-caption{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.text-muted{color:var(--color-text-muted)}.section-glow{opacity:.18;transition:opacity .9s var(--ease-standard), transform .9s var(--ease-standard);pointer-events:none;z-index:0;background:radial-gradient(circle,#ffffff0f,#0000 65%);position:absolute;inset:-20% -10%;transform:scale(1)}.section-glow.is-active{opacity:.38;transform:scale(1.08)}[data-reveal]{opacity:0;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
