@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Fragment+Mono&display=swap";:root{--white:#060606;--bg-2:#0c0c0c;--bg-3:#141414;--panel:#1a1a1a;--ink:#efefea;--soft:#c0bfb8;--grey:#8a8a84;--accent:#dcd0c0;--line:#efefea1f;--c-blue:#2547f4;--c-red:#ff4b33;--c-lime:#b8e92d;--c-orange:#ff8a00;--c-violet:#7a3bff;--c-pink:#ff5ca8;--c-cyan:#00c2d1;--c-yellow:#ffd23f;--sans:"Bricolage Grotesque", system-ui, sans-serif;--mono:"Fragment Mono", "Courier New", monospace;--fs-giga:clamp(3.2rem, 14.5vw, 13rem);--fs-h2:clamp(1.8rem, 4.5vw, 3.6rem);--fs-h3:clamp(1.15rem, 1.8vw, 1.5rem);--fs-body:clamp(.98rem, 1.05vw, 1.12rem);--fs-meta:.72rem;--pad:clamp(1.1rem, 3.5vw, 3rem);--gap:clamp(.7rem, 1.2vw, 1.2rem);--section:clamp(4.5rem, 11vw, 10rem);--ease:cubic-bezier(.22, 1, .36, 1);--ease-out-elastic:linear(0,.5737 7.6%,.8382 11.87%,.9463 14.19%,1.0292 16.54%,1.0886 18.97%,1.1258 21.53%,1.137 22.97%,1.1424 24.48%,1.1423 26.1%,1.1366 27.86%,1.1165 31.01%,1.0507 38.62%,1.0219 42.57%,.9995 46.99%,.9872 51.63%,.9842 58.77%,1.0011 81.26%,1);--ease-out-elastic-hard:linear(0,.2178 2.1%,1.1144 8.49%,1.2959 10.7%,1.3463 11.81%,1.3705 12.94%,1.3726,1.3643 14.48%,1.3151 16.2%,1.0317 21.81%,.941 24.01%,.8912 25.91%,.8694 27.84%,.8698 29.21%,.8824 30.71%,1.0122 38.33%,1.0357,1.046 42.71%,1.0416 45.7%,.9961 53.26%,.9839 57.54%,.9853 60.71%,1.0012 68.14%,1.0056 72.24%,.9981 86.66%,1);--shadow:0px 9px 21px #0000000d, 0px 38px 38px #0000000b, 0px 85px 51px #00000006;--z-nav:100;--z-modal:300}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit}::selection{background:var(--c-yellow);color:#060606}:focus{outline:none}:focus-visible{outline:2px solid var(--c-blue);outline-offset:3px;border-radius:2px}section[id]{scroll-margin-top:76px}h1,h2,h3{letter-spacing:-.03em;line-height:1}.wrap{padding-left:var(--pad);padding-right:var(--pad)}.meta{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}.skip-link{z-index:var(--z-modal);background:var(--ink);color:var(--white);font-family:var(--mono);padding:.8rem 1.2rem;font-size:.8rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:var(--pad);top:var(--pad)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size:44px}.swiper-button-prev,.swiper-button-next{width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;color:var(--swiper-navigation-color,var(--swiper-theme-color));justify-content:center;align-items:center;display:flex;position:absolute}:is(.swiper-button-prev,.swiper-button-next).swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}:is(.swiper-button-prev,.swiper-button-next).swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled :is(.swiper-button-prev,.swiper-button-next){display:none!important}:is(.swiper-button-prev,.swiper-button-next) ::slotted(svg),:is(.swiper-button-prev,.swiper-button-next) svg{object-fit:contain;transform-origin:50%;fill:currentColor;pointer-events:none;width:100%;height:100%}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset,50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev ::slotted(.swiper-navigation-icon),.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset,4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset,50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset,4px);left:auto}:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) ::slotted(.swiper-navigation-icon),:is(.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon{transform:rotate(180deg)}:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) ::slotted(.swiper-navigation-icon),:is(.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset,4px);bottom:auto}:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) ::slotted(.swiper-navigation-icon),:is(.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev) .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) ::slotted(.swiper-navigation-icon),:is(.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next) .swiper-navigation-icon{transform:rotate(90deg)}.nav{z-index:var(--z-nav);padding:.65rem var(--pad);background:color-mix(in srgb, var(--white) 45%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);transition:background .5s var(--ease), backdrop-filter .5s var(--ease), border-color .5s var(--ease), padding .5s var(--ease), box-shadow .5s var(--ease);animation:navDrop 1s var(--ease-out-elastic-hard) .1s both;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{background:color-mix(in srgb, var(--white) 62%, transparent);border-bottom-color:#ffffff14;padding-top:.5rem;padding-bottom:.5rem;box-shadow:0 10px 40px #00000059}@keyframes navDrop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.nav-name{letter-spacing:-.02em;place-items:center;font-size:1.02rem;font-weight:700;display:grid}.nav-logo{filter:invert()brightness(1.6);width:auto;height:58px;transition:transform .5s var(--ease-out-elastic);display:block}.nav-name:hover .nav-logo{transform:scale(1.08)}@media (width<=680px){.nav-logo{height:46px}}.nav-right{z-index:3;align-items:center;gap:clamp(.7rem,2vw,1.4rem);display:flex;position:relative}.nav-name,.nav-socials{z-index:3;position:relative}.nav-lang{border:1px solid var(--line);transition:all .25s var(--ease);border-radius:99px;padding:4px 11px;font-family:inherit;font-size:.85rem;font-weight:600}.nav-lang:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}.nav-socials{align-items:center;gap:1.1rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-socials a{color:var(--grey);transition:color .25s var(--ease), transform .25s var(--ease);place-items:center;display:grid}.nav-socials a:hover{color:var(--ink);transform:translateY(-2px)}@media (width<=900px){.nav-socials{display:none}}.nav-toggle{cursor:pointer;background:0 0;border:none;gap:5px;padding:6px 4px;display:grid}.nav-toggle span{background:var(--ink);width:24px;height:2px;transition:transform .35s var(--ease), opacity .25s var(--ease);border-radius:2px;display:block}.nav-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-menu{z-index:3;background:color-mix(in srgb, var(--white) 82%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.3);border:1px solid var(--line);opacity:0;visibility:hidden;transform-origin:100% 0;min-width:230px;transition:opacity .3s var(--ease), transform .35s var(--ease), visibility .3s;border-radius:16px;flex-direction:column;gap:.15rem;margin-top:.55rem;padding:.6rem;display:flex;position:absolute;top:100%;right:0;transform:translateY(-10px)scale(.98);box-shadow:0 24px 60px #00000073}.nav-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.nav-menu-link{letter-spacing:.03em;text-transform:uppercase;text-align:left;color:var(--grey);white-space:nowrap;transition:color .25s var(--ease), background .25s var(--ease), padding-left .25s var(--ease);border-radius:10px;padding:.75rem .9rem;font-family:inherit;font-size:.95rem;font-weight:600}.nav-menu-link:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 7%, transparent);padding-left:1.2rem}.nav-menu-link[aria-current=true]{color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.nav-overlay{z-index:2;opacity:0;visibility:hidden;background:0 0;border:none;position:fixed;inset:0}.nav-overlay.is-open{visibility:visible}@media (width>=768px){.nav-toggle,.nav-overlay{display:none}.nav-menu{-webkit-backdrop-filter:none;min-width:0;box-shadow:none;opacity:1;visibility:visible;background:0 0;border:none;border-radius:0;flex-direction:row;align-items:center;gap:clamp(.5rem,1.4vw,1.4rem);margin:0;padding:0;position:static;transform:none}.nav-menu-link{letter-spacing:.04em;background:0 0;border-radius:0;padding:.35rem .2rem;font-size:.82rem;position:relative}.nav-menu-link:hover{color:var(--ink);background:0 0;padding-left:.2rem}.nav-menu-link[aria-current=true]{background:0 0}.nav-menu-link:after{content:"";background:var(--accent,var(--ink));transform-origin:0;height:2px;transition:transform .35s var(--ease);position:absolute;bottom:-2px;left:.2rem;right:.2rem;transform:scaleX(0)}.nav-menu-link:hover:after,.nav-menu-link[aria-current=true]:after{transform:scaleX(1)}}.hero{text-align:center;min-height:100svh;padding:calc(4rem + var(--pad)) var(--pad) calc(2rem + var(--pad));background-color:var(--white);color:var(--ink);grid-template-rows:1fr auto;grid-template-areas:"mid""bot";place-items:center;display:grid;position:relative;overflow:hidden}.hero-mid,.hero-bot{z-index:1;position:relative}.hero-aurora{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.aurora{filter:blur(90px);opacity:.42;mix-blend-mode:screen;will-change:transform;border-radius:50%;position:absolute}.aurora.a1{background:var(--c-blue);width:46vw;height:46vw;animation:aur1 22s var(--ease) infinite;top:-8%;left:-6%}.aurora.a2{background:var(--c-pink);width:40vw;height:40vw;animation:aur2 26s var(--ease) infinite;top:10%;right:-8%}.aurora.a3{background:var(--c-violet);width:38vw;height:38vw;animation:aur3 30s var(--ease) infinite;bottom:-12%;left:18%}.aurora.a4{background:var(--c-lime);opacity:.3;width:28vw;height:28vw;animation:aur1 28s var(--ease) infinite reverse;bottom:4%;right:14%}@keyframes aur1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(14%,10%)scale(1.18)}}@keyframes aur2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-12%,14%)scale(.85)}}@keyframes aur3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(10%,-12%)scale(1.2)}}@media (prefers-reduced-motion:reduce){.aurora{animation:none!important}}.hero-ripples{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-ripple{border:2px solid var(--accent);opacity:.7;pointer-events:none;width:16px;height:16px;animation:rippleOut .95s var(--ease) forwards;border-radius:50%;margin:-8px 0 0 -8px;position:absolute;transform:scale(0)}@keyframes rippleOut{to{opacity:0;transform:scale(11)}}@media (prefers-reduced-motion:reduce){.hero-ripple{display:none}}.hero-mid{flex-direction:column;grid-area:mid;justify-content:center;align-items:center;gap:min(3.8rem,6vh);width:100%;max-width:100%;display:flex}.hero-bot{flex-direction:column;grid-area:bot;align-items:center;gap:.6rem;width:100%;max-width:100%;display:flex}.hero-title{letter-spacing:-.04em;overflow-wrap:break-word;max-width:min(13em,100%);font-size:clamp(2.4rem,9vw,8rem);font-weight:800;line-height:1}.hero-sub{letter-spacing:-.03em;color:var(--grey);overflow-wrap:break-word;max-width:min(16em,100%);font-size:clamp(1.4rem,4.2vw,3.4rem);font-weight:700;line-height:1.12}.hero-sub .hl{color:var(--hl,var(--c-blue))}.word{transform-origin:bottom;display:inline-block}.hero:not([data-mounted=true]) .word{translate:0 .25ch;scale:1 0}.hero[data-mounted=true] .word{transition:.8s scale var(--ease-out-elastic), .8s translate var(--ease-out-elastic);transition-delay:calc(var(--delay) * .1s);translate:0;scale:1}.hero-images{pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.5rem,1.4vw,1.1rem);width:100%;max-width:100%;display:flex}.hero-image{aspect-ratio:1;width:clamp(5.2rem,13vw,9.5rem);box-shadow:var(--shadow);pointer-events:auto;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;rotate:calc(var(--rot) - var(--vel,0deg));translate:var(--dx,0px) calc(var(--ty) + var(--dy,0px));border-radius:1rem}@media (width<=480px){.hero-image{border-radius:.7rem;width:clamp(2.8rem,15vw,4.6rem)}}.hero:not([data-mounted=true]) .hero-image{scale:0}.hero[data-mounted=true] .hero-image{transition:.9s scale var(--ease-out-elastic-hard) calc(.35s + var(--delay) * 90ms), .9s translate var(--ease-out-elastic-hard), .9s rotate var(--ease-out-elastic-hard);scale:1}.hero[data-settled=true] .hero-image{transition:.5s scale var(--ease-out-elastic), .9s translate var(--ease-out-elastic-hard), .9s rotate var(--ease-out-elastic-hard)}@media (any-hover:hover){.hero[data-settled=true] .hero-image:hover{scale:1.08}}.hero-image.dragging{cursor:grabbing;z-index:2;transition:none;position:relative}.hero-meta-line{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.09em;text-transform:uppercase;color:var(--grey)}.hero-location{align-items:center;gap:7px;display:inline-flex}.hero-tick{color:#061206;width:18px;height:18px;animation:tickPulse 2.4s var(--ease) infinite;background:#25d366;border-radius:50%;place-items:center;display:inline-grid;box-shadow:0 0 0 4px #25d3662e}@keyframes tickPulse{0%,to{box-shadow:0 0 0 4px #25d3662e}50%{box-shadow:0 0 0 7px #25d3660d}}.hero-meta-line.avail{color:#fff;align-items:center;gap:8px;display:inline-flex}.hero-meta-line.avail:before{content:"";background:var(--c-lime);border-radius:50%;width:8px;height:8px}.text-block{text-align:center;padding:var(--section) var(--pad) clamp(1.5rem, 4vw, 3rem)}.text-block h2{font-size:var(--fs-h2);letter-spacing:-.03em;color:var(--ink);font-weight:800}.text-block p{letter-spacing:normal;text-transform:none;color:var(--grey);margin-top:.3rem;font-family:inherit;font-size:.95rem;line-height:1.5}.grid{grid-template-columns:repeat(2,1fr);gap:min(10vw,5rem);width:100%;max-width:1200px;margin:0 auto;padding:0 2rem 3rem;display:grid}@media (width>=900px){.grid{grid-template-columns:repeat(3,1fr);gap:min(10vw,8rem);padding:2rem 4rem 3rem}.grid.grid-featured{grid-template-columns:repeat(2,1fr);gap:min(8vw,6rem);max-width:1100px}.grid.grid-archive{grid-template-columns:repeat(4,1fr);gap:min(4vw,3rem);max-width:1400px;padding:2rem 2rem 3rem}}.project{place-items:center;width:100%;display:grid}.project-stack{place-items:center;width:100%;display:grid;position:relative}.project__image{width:100%;transition:1s scale var(--ease-out-elastic);border-radius:1rem;grid-area:1/1;position:relative}.project__image:not(:first-child){rotate:calc(var(--rotation) * .5deg);translate:calc(var(--posX) * 0.25%) calc(var(--posY) * 0.25%)}.project__image .media{aspect-ratio:1;border-radius:inherit;width:100%;transition:.8s scale var(--ease-out-elastic)}.project__image .media--img{object-fit:cover;display:block}.project__image .shadow{border-radius:inherit;box-shadow:var(--shadow);transition:.8s opacity var(--ease-out-elastic);background-color:#0000000d;position:absolute;inset:0}.project:not([data-inview=true]) .project__image .media{scale:.7}.project:not([data-inview=true]) .project__image .shadow{opacity:0}@media (any-hover:hover){.project:hover .project__image:first-child>*{scale:1.01}.project:hover .project__image:nth-child(2)>*{scale:1.02}.project:hover .project__image:nth-child(3)>*{scale:1.03}}.project:active .project__image:first-child>*{scale:.97}.project:active .project__image:nth-child(2)>*{scale:.98}.project:active .project__image:nth-child(3)>*{scale:.99}.project__caption{text-align:center;margin-top:1.2rem}.project__caption b{letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.15rem,2.4vw,1.6rem);font-weight:800;display:block}.project__caption span{letter-spacing:normal;text-transform:none;color:var(--grey);margin-top:.3rem;font-family:inherit;font-size:.88rem;font-weight:400;line-height:1.5;display:block}.pf-cat{margin-top:clamp(2.5rem,5vw,4.5rem)}.pf-cat:first-of-type{margin-top:clamp(.5rem,2vw,1.5rem)}.pf-cat__head{max-width:1200px;padding:0 var(--pad) .8rem;border-bottom:1px solid var(--line);align-items:baseline;gap:clamp(.7rem,1.5vw,1.2rem);margin:0 auto;display:flex}.pf-cat__num{font-family:var(--mono);letter-spacing:.12em;color:var(--accent);font-size:.78rem}.pf-cat__title{letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.3rem,3vw,2.3rem);font-weight:800}.pf-stage{max-width:1400px;margin:0 auto;padding:clamp(1rem,2.5vw,2rem) 0 clamp(1.5rem,3vw,2.5rem);position:relative;overflow:hidden}.pf-swiper{z-index:1;padding:1rem 0 2.5rem;position:relative;overflow:visible}.pf-slide{width:clamp(220px,27vw,340px);height:auto}.pf-card{aspect-ratio:3/4;background:var(--panel);border:1px solid var(--line);border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 30px 60px #00000073}.pf-card__img{object-fit:cover;width:100%;height:100%;display:block}.pf-swiper .swiper-button-next,.pf-swiper .swiper-button-prev{color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:44px;height:44px;transition:background .3s var(--ease);border-radius:50%}.pf-swiper .swiper-button-next:hover,.pf-swiper .swiper-button-prev:hover{background:color-mix(in srgb, var(--ink) 16%, transparent)}.pf-swiper .swiper-button-next:after,.pf-swiper .swiper-button-prev:after{font-size:1.1rem;font-weight:700}@media (width<=600px){.pf-slide{width:78vw}.pf-swiper .swiper-button-next,.pf-swiper .swiper-button-prev{display:none}}.expertise-section{background:color-mix(in srgb, var(--white) 55%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.2);padding-bottom:clamp(3rem,7vw,6rem)}.xlist{max-width:1200px;padding:0 var(--pad);border-top:1px solid var(--line);margin:0 auto}.xrow{cursor:default;border-bottom:1px solid var(--line);grid-template-columns:auto 1fr minmax(0,34ch) auto;align-items:center;gap:clamp(1rem,3vw,3rem);padding:clamp(1.4rem,3vw,2.4rem) clamp(1rem,2.5vw,2rem);display:grid;position:relative;overflow:hidden}.xrow-fill{z-index:0;background:var(--c);transform-origin:0;transition:transform .85s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.xrow>:not(.xrow-fill){z-index:1;transition:color .55s var(--ease), transform .65s var(--ease);position:relative}.xrow-num{font-family:var(--mono);color:var(--c);transition:color .4s var(--ease);font-size:.9rem}.xrow-title{letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.6rem,4vw,3rem);font-weight:800;line-height:1}.xrow-desc{color:var(--grey);font-size:.96rem;line-height:1.5}.xrow-arrow{color:var(--ink);opacity:0;font-size:1.6rem;transform:translate(-10px)}@media (any-hover:hover){.xrow:hover .xrow-fill{transform:scaleX(1)}.xrow:hover .xrow-num,.xrow:hover .xrow-title,.xrow:hover .xrow-desc,.xrow:hover .xrow-arrow{color:#0a0a0a}.xrow:hover .xrow-title{transform:translate(10px)}.xrow:hover .xrow-arrow{opacity:1;transform:translate(0)}}@media (width<=720px){.xrow{grid-template-columns:auto 1fr;gap:.4rem 1rem}.xrow-desc{grid-column:2}.xrow-arrow{display:none}}.swiper-container-wrapper{width:100%;padding:4rem 0 6rem;overflow:hidden}.archive-swiper{width:100%;padding-top:50px;padding-bottom:50px}.archive-slide{width:300px;height:300px}.archive-slide .project{width:100%;height:100%;margin:0}.swiper-button-next,.swiper-button-prev{color:#fff!important}.swiper-pagination-bullet{background:#ffffff80!important}.swiper-pagination-bullet-active{background:#fff!important}#skills{color:#fff;background-color:#0f0f0f;padding:6rem 0}#skills .text-block{max-width:1100px;margin:0 auto;padding-top:0;padding-bottom:3rem}.skills-kicker{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.skills-kicker-dot{background-color:var(--c-orange);border-radius:50%;width:5px;height:5px}.skills-kicker span{text-transform:uppercase;letter-spacing:.05em;color:var(--grey);font-size:.85rem}.stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 var(--pad);grid-template-columns:repeat(5,1fr);display:grid}.stat-cell{border-right:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:clamp(1.8rem,3.5vw,3rem) clamp(1rem,2vw,1.8rem);display:flex}.stat-cell:last-child{border-right:none}.stat-num{color:var(--brand-color);letter-spacing:-.05em;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:900;line-height:1}.stat-tool-name{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--grey);font-size:.7rem}.stat-bar{background:var(--line);border-radius:1px;width:100%;height:2px;margin-top:.4rem;overflow:hidden}.stat-fill{transform-origin:0;border-radius:1px;width:100%;height:100%;animation:none;transform:scaleX(0)}.stat-strip[data-inview=true] .stat-fill{animation:1s cubic-bezier(.16,1,.3,1) forwards statFill}@keyframes statFill{to{transform:scaleX(1)}}@media (width<=600px){.stat-strip{grid-template-columns:repeat(2,1fr);margin:0}.stat-cell{border-bottom:1px solid var(--line)}.stat-cell:nth-child(2n){border-right:none}.stat-cell:last-child{border-right:none;grid-column:span 2}}.skills-marquee{border-top:1px solid var(--line);margin:0 var(--pad);padding:clamp(1rem,2vw,1.6rem) 0;overflow:hidden}.marquee-track{width:max-content;animation:24s linear infinite skillsTick;display:flex}.skills-marquee:hover .marquee-track{animation-play-state:paused}@keyframes skillsTick{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{color:var(--grey);white-space:nowrap;transition:color .25s var(--ease);align-items:center;gap:.5rem;padding:0 1.6rem;font-size:.88rem;font-weight:500;display:flex}.marquee-item:hover{color:var(--ink)}.marquee-dot-color{border-radius:50%;flex-shrink:0;width:6px;height:6px}@media (any-hover:hover){.stat-cell{transition:background .4s var(--ease);cursor:default}.stat-cell:hover{background:color-mix(in srgb, var(--brand-color) 6%, transparent)}.stat-cell:hover .stat-num{text-shadow:0 0 28px color-mix(in srgb, var(--brand-color) 55%, transparent);transform:scale(1.06)}.stat-cell:hover .stat-fill{filter:brightness(1.3)}}.stat-num{transition:transform .4s var(--ease), text-shadow .4s var(--ease)}.stat-fill{transition:filter .4s var(--ease)}#skills .text-block h2{color:#fff;text-transform:uppercase;letter-spacing:-.02em;margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:900}.skills{border-top:1px solid #ffffff1a;max-width:1100px;margin:0 auto}.skill-row{transition:background-color .4s var(--ease), transform .4s var(--ease);border-bottom:1px solid #ffffff1a;border-radius:1.5rem;grid-template-columns:auto auto 1fr;align-items:center;gap:clamp(1.2rem,3vw,2.5rem);padding:clamp(2.5rem,4vw,3.5rem) 2rem;display:grid}.skill-row:hover{background-color:#fff;border-bottom-color:#0000;transform:scale(1.02);box-shadow:0 20px 40px #0000004d}.skill-row .n{font-family:var(--mono);color:#ffffff4d;font-size:1.15rem;font-weight:700;transition:color .4s}.skill-row:hover .n{color:#0000004d}.skill-badge{aspect-ratio:1;letter-spacing:-.02em;width:clamp(3rem,5vw,3.8rem);transition:transform .5s var(--ease-out-elastic);background-color:#0000;border-radius:12px;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.skill-row:hover .skill-badge{transform:rotate(-6deg)scale(1.12)}.skill-text{flex-direction:column;gap:.5rem;display:flex}.skill-text h3{letter-spacing:-.02em;color:#fff;text-transform:uppercase;margin:0;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:900;line-height:1;transition:color .4s}.skill-text p{color:#fff9;max-width:60ch;margin:0;font-size:1rem;transition:color .4s}.skill-row:hover .skill-text h3{color:#050505}.skill-row:hover .skill-text p{color:#0009}#contact{color:#fff;padding:var(--section) 0 1.5rem;background-color:#111;position:relative;overflow:hidden}#contact:before{content:"";pointer-events:none;background:radial-gradient(#ffffff0a 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-200px;right:-200px}.contact-divider{height:1px;margin:0 var(--pad) clamp(2rem, 6vw, 4rem);background:linear-gradient(to right, transparent, var(--accent), transparent)}.contact-head{padding:0 var(--pad);max-width:1200px;margin:0 auto clamp(2rem,5vw,3.5rem)}.contact-label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem;font-size:.62rem;font-weight:600;display:block}.contact-headline{color:#fff;letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(2.6rem,6vw,5.5rem);font-weight:900;line-height:1}.contact-grid{max-width:1200px;padding:0 var(--pad);z-index:1;grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(1.5rem,4vw,4rem);margin:0 auto;display:grid;position:relative}@media (width<=860px){.contact-grid{grid-template-columns:1fr}}.contact-card{background:var(--panel);transition:border-color .4s var(--ease);border:1px solid #ffffff0d;flex-direction:column;display:flex;overflow:hidden}.contact-card:hover{border-color:#ffffff26}.contact-photo{aspect-ratio:4/3;width:100%;position:relative;overflow:hidden}.contact-photo img{object-fit:cover;object-position:center 30%;filter:grayscale(60%)contrast(1.05)brightness(.85);width:100%;height:100%;transition:transform 1s var(--ease), filter .8s ease}.contact-card:hover .contact-photo img{filter:grayscale(15%)brightness(.95);transform:scale(1.06)}.contact-photo-glow{background:linear-gradient(to top, var(--panel) 0%, transparent 100%);pointer-events:none;height:45%;position:absolute;bottom:0;left:0;right:0}.contact-card-body{padding:clamp(1.6rem,3vw,2.4rem)}.contact-role-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;font-size:.6rem;font-weight:600;display:block}.contact-name{color:#fff;letter-spacing:.02em;margin-bottom:.4rem;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;line-height:1.1}.contact-sub{color:#aaa;margin-bottom:1.6rem;font-size:.85rem}.contact-socials{border-top:1px solid #ffffff1a;flex-direction:column;gap:.2rem;padding-top:1.4rem;display:flex}.contact-socials a{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#aaa;align-items:center;gap:.7rem;padding:.5rem 0;font-size:.66rem;transition:color .3s;display:flex}.contact-socials a:hover{color:#fff}.contact-social-icon{color:var(--accent)}.form-panel{background:var(--panel);border:1px solid #ffffff0d;padding:clamp(1.8rem,3.5vw,3rem)}.form-header{border-bottom:1px solid #ffffff1a;margin-bottom:2rem;padding-bottom:1.4rem}.form-tag{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:#ffffff73;margin-bottom:.5rem;font-size:.62rem;font-weight:700;display:block}.form-tagline{color:#fffc;font-size:1rem;font-weight:500}.form-fields{flex-direction:column;display:flex}.float-field{padding-top:1.4rem;position:relative}.float-input{color:#fff;resize:none;background:0 0;border:none;border-bottom:1.5px solid #ffffff26;outline:none;width:100%;padding:.7rem 0 .5rem;font-size:1.05rem;font-weight:500;transition:border-color .4s}.float-textarea{min-height:96px}.float-label{color:#ffffff73;pointer-events:none;transition:all .3s var(--ease);transform-origin:0;position:absolute;top:2.1rem;left:0}.float-input:focus~.float-label,.float-input:not(:placeholder-shown)~.float-label{letter-spacing:.12em;text-transform:uppercase;color:#fff;font-size:.62rem;font-weight:700;top:0}.float-line{background:var(--accent);width:0;height:2px;transition:width .5s var(--ease);position:absolute;bottom:0;left:0}.float-input:focus~.float-line{width:100%}.send-btn{color:#111;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:#fff;border:none;justify-content:space-between;align-items:center;width:100%;margin-top:1.8rem;padding:1.1rem 1.6rem;font-size:.8rem;font-weight:700;transition:background .3s,color .3s;display:flex}.send-btn:hover{background:var(--accent)}.send-btn:disabled{opacity:.5;cursor:wait}.send-arrow{font-size:1.2rem}.form-error{color:#ff6b5e;margin-top:1rem;font-size:.82rem;line-height:1.5}.form-error a{color:#fff;text-decoration:underline}.contact-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:360px;display:flex}.contact-success .mark{aspect-ratio:1;color:#111;background:#fff;border-radius:50%;place-items:center;width:64px;margin-bottom:.6rem;font-size:1.6rem;font-weight:800;display:grid}.contact-success h3{color:#fff;letter-spacing:-.02em;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800}.contact-success p{color:#fff9;max-width:36ch}.container{width:100%;max-width:1440px;padding:0 var(--pad);margin:0 auto}.footer{padding:2.2rem var(--pad);background:#111;border-top:1px solid #ffffff12;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.footer-copy{color:#777;letter-spacing:.04em;text-align:center;font-size:.72rem;font-style:italic}.footer-tagline{font-family:var(--mono);letter-spacing:.22em;color:#555;text-transform:uppercase;text-align:center;font-size:.6rem}.wa{z-index:var(--z-modal);flex-direction:column;align-items:flex-start;display:flex;position:fixed;bottom:clamp(1rem,3vw,1.6rem);left:clamp(1rem,3vw,1.6rem)}.wa-fab{aspect-ratio:1;color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:50%;place-items:center;width:60px;display:grid;box-shadow:0 4px 18px #25d36673}.scroll-top{z-index:90;aspect-ratio:1;background:var(--ink);width:48px;color:var(--white);cursor:pointer;border:none;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:clamp(1rem,2.5vw,1.6rem);right:clamp(1rem,2.5vw,1.6rem);box-shadow:0 6px 20px #00000059}.wa-window{color:#111;background:#fff;border:1px solid #0000000d;border-radius:16px;flex-direction:column;width:340px;max-width:calc(100vw - 2rem);margin-bottom:1rem;display:flex;overflow:hidden;box-shadow:0 10px 44px #00000080}.wa-header{color:#fff;background:#111;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;display:flex}.wa-header-info{align-items:center;gap:.7rem;display:flex}.wa-avatar{background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.wa-avatar img{object-fit:contain;width:80%;height:80%}.wa-header h4{letter-spacing:.02em;font-size:14px;font-weight:700}.wa-header p{color:#aaa;font-size:11px}.wa-close{color:#aaa;cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1;transition:color .3s}.wa-close:hover{color:#fff}.wa-body{background:#f7f7f7;flex-direction:column;gap:.7rem;max-height:360px;padding:1.1rem;display:flex;overflow-y:auto}.wa-msg{border-radius:12px;max-width:85%;padding:10px 14px;font-size:13px;line-height:1.5;animation:.35s forwards waIn}.wa-bot{color:#111;background:#fff;border:1px solid #0000000d;border-bottom-left-radius:4px;align-self:flex-start}.wa-user{color:#fff;background:#25d366;border-bottom-right-radius:4px;align-self:flex-end}.wa-typing{gap:4px;display:flex}.wa-typing span{background:#bbb;border-radius:50%;width:6px;height:6px;animation:1.2s infinite waBlink}.wa-typing span:nth-child(2){animation-delay:.2s}.wa-typing span:nth-child(3){animation-delay:.4s}.wa-options{flex-direction:column;gap:8px;margin-top:4px;display:flex}.wa-option{color:#111;text-align:left;cursor:pointer;background:#fff;border:1px solid #25d366;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.wa-option:hover{color:#fff;background:#25d366}.wa-option--wa,.wa-option--mail{align-items:center;gap:8px;display:flex}.wa-option--wa{border-color:#25d366}.wa-option--wa:hover{color:#fff;background:#25d366}.wa-option--mail{color:#111;border-color:#2547f4}.wa-option--mail:hover{color:#fff;background:#2547f4}.wa-option--mail svg,.wa-option--wa svg{flex-shrink:0}.wa-input{background:#fff;border-top:1px solid #0000000d;align-items:center;padding:10px 14px;display:flex}.wa-input input{color:#111;background:0 0;border:none;outline:none;flex:1;font-size:13px}.wa-input input::placeholder{color:#aaa}.wa-send{color:#25d366;cursor:pointer;background:0 0;border:none;place-items:center;padding:4px;display:grid}@keyframes waIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes waBlink{0%,to{opacity:.3}50%{opacity:1}}
