.hero{--hero-offset:60px;--hero-speed:900ms;position:relative;width:100%;min-height:160px;overflow:hidden;background:#0f172a}.hero-stage{position:absolute;inset:0;perspective:1400px}.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:1}.hero-slide.is-entering,.hero-slide.is-leaving{will-change:transform,opacity,clip-path,filter}.hero-slide.is-active{opacity:1;pointer-events:auto;z-index:2}.hero-slide.is-entering{z-index:3}.hero-slide.is-leaving{opacity:1;z-index:2}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;inset:0;background:#000}.hero-inner{position:relative;z-index:4;height:100%;max-width:var(--maxw,1180px);margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}.hero-align-center{align-items:center;text-align:center}.hero-align-right{align-items:flex-end;text-align:right}.hero:has(>.hero-arrow) .hero-inner{padding-left:max(1.5rem, calc(74px - max(0px, (100vw - var(--maxw, 1180px)) / 2)));padding-right:max(1.5rem, calc(74px - max(0px, (100vw - var(--maxw, 1180px)) / 2)))}.hero-scheme-light{color:#fff}.hero-scheme-dark{color:#1f2329}.hero-scheme-light .hero-title,.hero-scheme-light .hero-text{text-shadow:0 1px 12px rgb(0 0 0 / .35)}.hero-title{margin:0 0 .6em;font-weight:700;line-height:1.15;font-size:calc(clamp(1.7rem, 4.2vw, 3.2rem) * var(--hero-scale, 1));letter-spacing:-.02em}.hero-text{margin:0;max-width:44em;font-size:calc(clamp(1rem, 1.6vw, 1.25rem) * var(--hero-scale, 1));line-height:1.6;opacity:.92}.hero-size-s{--hero-scale:.8}.hero-size-m{--hero-scale:1}.hero-size-l{--hero-scale:1.25}.hero-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.6rem;padding:.8rem 1.7rem;border-radius:999px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.hero-btn:hover{text-decoration:none;transform:translateY(-2px)}.hero .hero-btn-solid{background:var(--accent,#2563eb);color:#fff;box-shadow:0 6px 20px rgb(37 99 235 / .35)}.hero .hero-btn-solid:hover{box-shadow:0 10px 26px rgb(37 99 235 / .45)}.hero .hero-btn-outline{border:2px solid currentColor;color:inherit;background:#fff0}.hero .hero-btn-outline:hover{background:rgb(255 255 255 / .12)}.hero-scheme-dark .hero-btn-outline:hover{background:rgb(0 0 0 / .06)}.hero-html{max-width:100%}.hero-html form{margin:0}.hero-widget-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem;min-width:min(420px, 90vw)}.hero-widget-list a{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-radius:var(--radius,8px);background:rgb(255 255 255 / .14);backdrop-filter:blur(6px);color:inherit;text-decoration:none;transition:background .15s ease}.hero-widget-list a:hover{background:rgb(255 255 255 / .26)}.hero-scheme-dark .hero-widget-list a{background:rgb(0 0 0 / .07)}.hero-scheme-dark .hero-widget-list a:hover{background:rgb(0 0 0 / .13)}.hero-widget-list time{opacity:.7;font-size:.85em;white-space:nowrap}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border:0;border-radius:50%;background:rgb(15 23 42 / .45);color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,opacity .15s ease;opacity:.75}.hero-arrow:hover{background:rgb(15 23 42 / .75);opacity:1}.hero-arrow-prev{left:14px}.hero-arrow-next{right:14px}.hero-dots{position:absolute;left:0;right:0;bottom:14px;z-index:5;display:flex;justify-content:center;gap:9px}.hero-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgb(255 255 255 / .45);cursor:pointer;transition:transform .15s ease,background .15s ease}.hero-dots button.is-active{background:#fff;transform:scale(1.35)}@media (max-width:640px){.hero-arrow{width:38px;height:38px}.hero-inner{padding:1.5rem 1.1rem}.hero:has(>.hero-arrow) .hero-inner{padding-left:max(1.1rem, calc(64px - max(0px, (100vw - var(--maxw, 1180px)) / 2)));padding-right:max(1.1rem, calc(64px - max(0px, (100vw - var(--maxw, 1180px)) / 2)))}}@media (prefers-reduced-motion:reduce){.hero-slide.is-entering,.hero-slide.is-leaving,.hero-fx-kenburns .hero-slide .hero-bg,.hero-fx-kenburns-blur .hero-slide .hero-bg{animation:none!important}}.hero-fx-fade .hero-slide.is-entering{animation:heroIn-fade var(--hero-speed) ease both}.hero-fx-fade .hero-slide.is-leaving{animation:heroOut-fade var(--hero-speed) ease both}@keyframes heroIn-fade{from{opacity:0}to{opacity:1}}@keyframes heroOut-fade{from{opacity:1}to{opacity:0}}.hero-fx-slide .hero-slide.is-entering{animation:heroIn-slide var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-slide .hero-slide.is-leaving{animation:heroOut-slide var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-slide .is-back .hero-slide.is-entering{animation-name:heroIn-slide-back}.hero-fx-slide .is-back .hero-slide.is-leaving{animation-name:heroOut-slide-back}@keyframes heroIn-slide{from{transform:translateX(100%);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes heroOut-slide{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes heroIn-slide-back{from{transform:translateX(-100%);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes heroOut-slide-back{from{transform:translateX(0)}to{transform:translateX(100%)}}.hero-fx-slide-up .hero-slide.is-entering{animation:heroIn-slide-up var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-slide-up .hero-slide.is-leaving{animation:heroOut-slide-up var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-slide-up .is-back .hero-slide.is-entering{animation-name:heroIn-slide-up-back}.hero-fx-slide-up .is-back .hero-slide.is-leaving{animation-name:heroOut-slide-up-back}@keyframes heroIn-slide-up{from{transform:translateY(100%);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes heroOut-slide-up{from{transform:translateY(0)}to{transform:translateY(-30%)}}@keyframes heroIn-slide-up-back{from{transform:translateY(-100%);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes heroOut-slide-up-back{from{transform:translateY(0)}to{transform:translateY(30%)}}.hero-fx-cover .hero-slide.is-entering{animation:heroIn-cover var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-cover .hero-slide.is-leaving{animation:heroOut-cover var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-cover .is-back .hero-slide.is-entering{animation-name:heroIn-cover-back}@keyframes heroIn-cover{from{transform:translateX(100%);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes heroIn-cover-back{from{transform:translateX(-100%);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes heroOut-cover{from{transform:scale(1);filter:brightness(1);opacity:1}to{transform:scale(.94);filter:brightness(.6);opacity:1}}.hero-fx-zoom-in .hero-slide.is-entering{animation:heroIn-zoom-in var(--hero-speed) ease both}.hero-fx-zoom-in .hero-slide.is-leaving{animation:heroOut-fade var(--hero-speed) ease both}@keyframes heroIn-zoom-in{from{transform:scale(1.15);opacity:0}to{transform:scale(1);opacity:1}}.hero-fx-zoom-out .hero-slide.is-entering{animation:heroIn-zoom-out var(--hero-speed) ease both}.hero-fx-zoom-out .hero-slide.is-leaving{animation:heroOut-zoom-out var(--hero-speed) ease both}@keyframes heroIn-zoom-out{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes heroOut-zoom-out{from{transform:scale(1);opacity:1}to{transform:scale(1.12);opacity:0}}.hero-fx-kenburns .hero-slide,.hero-fx-kenburns-blur .hero-slide{perspective:1400px}.hero-fx-kenburns .hero-slide .hero-bg,.hero-fx-kenburns-blur .hero-slide .hero-bg{will-change:transform;backface-visibility:hidden;transform:scale3d(1.02,1.02,1)}.hero-fx-kenburns .hero-slide.is-entering{animation:heroIn-fade calc(var(--hero-speed) * 1.4) ease both}.hero-fx-kenburns .hero-slide.is-leaving{animation:heroOut-fade calc(var(--hero-speed) * 1.4) ease both}.hero-fx-kenburns .hero-slide.is-active .hero-bg,.hero-fx-kenburns .hero-slide.is-leaving .hero-bg{animation:heroKenburns 16s linear both}@keyframes heroKenburns{from{transform:scale3d(1.02,1.02,1) translate3d(0,0,0)}to{transform:scale3d(1.14,1.14,1) translate3d(-1.5%,1%,0)}}.hero-fx-kenburns-blur .hero-slide.is-entering{animation:heroIn-blur calc(var(--hero-speed) * 1.4) ease both}.hero-fx-kenburns-blur .hero-slide.is-leaving{animation:heroOut-blur calc(var(--hero-speed) * 1.4) ease both}.hero-fx-kenburns-blur .hero-slide.is-active .hero-bg,.hero-fx-kenburns-blur .hero-slide.is-leaving .hero-bg{animation:heroKenburns 16s linear both}.hero-fx-blur .hero-slide.is-entering{animation:heroIn-blur var(--hero-speed) ease both}.hero-fx-blur .hero-slide.is-leaving{animation:heroOut-blur var(--hero-speed) ease both}@keyframes heroIn-blur{from{filter:blur(14px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes heroOut-blur{from{filter:blur(0);opacity:1}to{filter:blur(14px);opacity:0}}.hero-fx-wipe .hero-slide.is-entering{animation:heroIn-wipe var(--hero-speed) cubic-bezier(.65,0,.35,1) both}.hero-fx-wipe .hero-slide.is-leaving{animation:heroHold var(--hero-speed) linear both}@keyframes heroIn-wipe{from{clip-path:inset(0 100% 0 0);opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}.hero-fx-circle .hero-slide.is-entering{animation:heroIn-circle calc(var(--hero-speed) * 1.2) cubic-bezier(.65,0,.35,1) both}.hero-fx-circle .hero-slide.is-leaving{animation:heroHold calc(var(--hero-speed) * 1.2) linear both}@keyframes heroIn-circle{from{clip-path:circle(0% at 50% 50%);opacity:1}to{clip-path:circle(75% at 50% 50%);opacity:1}}.hero-fx-flip .hero-slide{backface-visibility:hidden}.hero-fx-flip .hero-slide.is-entering{animation:heroIn-flip var(--hero-speed) ease-out both}.hero-fx-flip .hero-slide.is-leaving{animation:heroOut-flip var(--hero-speed) ease-in both}@keyframes heroIn-flip{from{transform:rotateY(70deg);opacity:0}40%{opacity:1}to{transform:rotateY(0);opacity:1}}@keyframes heroOut-flip{from{transform:rotateY(0);opacity:1}60%{opacity:1}to{transform:rotateY(-70deg);opacity:0}}.hero-fx-fall .hero-slide.is-entering{animation:heroIn-fall var(--hero-speed) ease both}.hero-fx-fall .hero-slide.is-leaving{animation:heroOut-fall var(--hero-speed) cubic-bezier(.5,0,.8,.4) both;z-index:4}@keyframes heroIn-fall{from{transform:scale(.97);opacity:1}to{transform:scale(1);opacity:1}}@keyframes heroOut-fall{from{transform:rotate(0) translateY(0);opacity:1}to{transform:rotate(7deg) translateY(130%);opacity:.6}}@keyframes heroHold{from{opacity:1}to{opacity:1}}.hero-loader{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:#0f172a;transition:opacity 0.45s ease;pointer-events:none}.hero-loader.is-done{opacity:0}.hero-loader span{width:42px;height:42px;border:3px solid rgb(255 255 255 / .22);border-top-color:rgb(255 255 255 / .85);border-radius:50%;animation:heroLoaderSpin 0.8s linear infinite}@keyframes heroLoaderSpin{to{transform:rotate(360deg)}}