.mws-hero {
    position: relative;
    min-height: clamp(650px, calc(90svh - var(--mws-header)), 920px);
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(232, 228, 223, .8);
}
.mws-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}
.mws-hero__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(250, 250, 248, .15), rgba(250, 250, 248, .54) 32%, rgba(250, 250, 248, .56) 65%, rgba(250, 250, 248, .08)), linear-gradient(180deg, rgba(250, 250, 248, .18), rgba(250, 250, 248, .04) 70%, rgba(10, 10, 10, .18));
}
.mws-hero__rays {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
    opacity: .72;
    mix-blend-mode: screen;
}
.mws-hero__rays::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0 56%, rgba(250, 250, 248, .18) 82%, rgba(250, 250, 248, .36));
}
.mws-hero__rays canvas {
    display: block;
    width: 100%;
    height: 100%;
}
.mws-hero__inner {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 86px 0 36px;
}
.mws-hero h1 {
    max-width: 1040px;
    font-size: clamp(3.45rem, 5.3vw, 6rem);
    line-height: 1.02;
    margin: 16px 0 26px;
    text-wrap: balance;
    text-shadow: 0 2px 24px rgba(250, 250, 248, .7);
}
.mws-hero h1 em {
    font-weight: 400;
}
.mws-fold-text__visual {
    display: inline;
}
.mws-fold-word, .mws-fold-segment, .mws-fold-piece {
    display: inline-block;
}
.mws-fold-word {
    white-space: nowrap;
}
.mws-fold-segment {
    perspective: 700px;
    transform-style: preserve-3d;
    vertical-align: baseline;
}
.mws-fold-piece {
    position: relative;
    line-height: inherit;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    transform-origin: 50% 0%;
}
.mws-fold-text--ready:not(.mws-fold-text--visible) .mws-fold-piece {
    opacity: 0;
    transform: rotateX(-92deg);
}
.mws-fold-text--visible .mws-fold-piece {
    animation: mws-fold-unfold var(--mws-fold-duration, 680ms) cubic-bezier(.215, .61, .355, 1) var(--mws-fold-delay, 0ms) both;
    will-change: transform, opacity;
}
.mws-fold-piece::after {
    content: "";
    position: absolute;
    inset: -.08em -.02em;
    pointer-events: none;
    border-radius: .08em;
    background: linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .2) 42%, rgba(255, 255, 255, .24) 100%);
    opacity: 0;
    mix-blend-mode: multiply;
}
.mws-fold-text--visible .mws-fold-piece::after {
    animation: mws-fold-crease var(--mws-fold-duration, 680ms) ease-out var(--mws-fold-delay, 0ms) both;
}
@keyframes mws-fold-unfold {
    from {
        opacity: 0;
        transform: rotateX(-92deg);
    }
    to {
        opacity: 1;
        transform: rotateX(0);
    }
}
@keyframes mws-fold-crease {
    0% {
        opacity: .55;
    }
    70%, 100% {
        opacity: 0;
    }
}
.mws-rotating-text {
    white-space: nowrap;
}
.mws-rotating-text--sized, .mws-rotating-text--ready {
    display: inline-grid;
    position: relative;
    line-height: inherit;
    vertical-align: baseline;
}
.mws-rotating-text--sized > .mws-fold-word, .mws-rotating-text__sizer, .mws-rotating-text__clip {
    grid-area: 1 / 1;
}
.mws-rotating-text__sizer {
    display: inline-grid;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
}
.mws-rotating-text__sizer > span {
    grid-area: 1 / 1;
}
.mws-rotating-text__clip {
    display: inline-block;
    overflow: hidden;
    padding: 0 .04em .08em;
    margin: 0 -.04em -.08em;
}
.mws-rotating-text__word {
    display: inline-flex;
}
.mws-rotating-text__character {
    display: inline-block;
}
.mws-rotating-text__word.is-exiting .mws-rotating-text__character {
    animation: mws-rotate-text-out 320ms cubic-bezier(.55, .085, .68, .53) var(--mws-rotate-delay, 0ms) both;
}
.mws-rotating-text__word.is-entering .mws-rotating-text__character {
    animation: mws-rotate-text-in 460ms cubic-bezier(.175, .885, .32, 1.18) var(--mws-rotate-delay, 0ms) both;
}
@keyframes mws-rotate-text-out {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-120%);
    }
}
@keyframes mws-rotate-text-in {
    from {
        opacity: 0;
        transform: translateY(100%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.mws-hero__copy {
    max-width: 820px;
    margin: 0 auto 25px;
    font-size: 1.25rem;
    line-height: 1.65;
}
.mws-hero .mws-button--primary {
    background: var(--mws-gold-button-bg);
    border-color: var(--mws-gold-button-border);
    color: var(--mws-text);
    box-shadow: var(--mws-gold-button-shadow);
}
.mws-hero .mws-button--primary:hover, .mws-hero .mws-button--primary:focus-visible {
    background: linear-gradient(110deg, #f8ecc9 0%, #f1d991 52%, #dfbd63 100%);
    border-color: rgba(168, 118, 12, .5);
    color: var(--mws-text);
    box-shadow: 0 12px 26px rgba(119, 82, 8, .2), inset 0 1px 0 rgba(255, 255, 255, .5);
}
.mws-hero__proof {
    margin: auto 0 0;
    padding-top: 45px;
    font-size: .9rem;
    color: rgba(255, 255, 255, .88);
    text-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}
.mws-hero__proof span {
    padding: 0 8px;
}
@media (max-width: 767px) {
    .mws-hero__rays {
        opacity: .58;
    }
    .mws-hero .mws-button--outline {
        background: var(--mws-dark);
        border-color: var(--mws-dark);
        color: #fff;
    }
    .mws-hero .mws-button--outline:hover, .mws-hero .mws-button--outline:active, .mws-hero .mws-button--outline:focus-visible {
        background: transparent;
        border-color: var(--mws-dark);
        color: var(--mws-dark);
    }
}
@media (prefers-reduced-motion: reduce) {
    .mws-hero__rays {
        opacity: .58;
    }
    .mws-fold-text .mws-fold-piece {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        will-change: auto;
    }
    .mws-fold-piece::after {
        display: none;
    }
    .mws-rotating-text__character {
        animation: none !important;
    }
}
