.vss-story,
.vss-story * {
    box-sizing: border-box;
}

.vss-story {
    --vss-header: 74px;
    --vss-next: #f5eee7;
    position: relative;
    width: 100%;
    height: calc(100svh - var(--vss-header));
    min-height: 520px;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: var(--vss-next);
    isolation: isolate;
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
}

.vss-stage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--vss-next);
    color: #fffaf3;
    contain: layout paint style;
    touch-action: pan-y;
    z-index: 1;
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
}

.vss-stage.vss-stage-active {
    position: fixed;
    top: calc(var(--vss-fixed-top, var(--vss-header)) - 2px);
    left: var(--vss-fixed-left, 0px);
    width: var(--vss-fixed-width, 100vw);
    height: calc(var(--vss-fixed-height, calc(100vh - var(--vss-header))) + 4px);
    max-width: none;
    max-height: none;
    z-index: 999999;
    touch-action: none;
}

.vss-background,
.vss-dark-overlay,
.vss-start-mist,
.vss-content,
.vss-end-clouds,
.vss-final-cover {
    position: absolute;
    inset: 0;
}

.vss-background {
    z-index: 1;
    background-repeat: no-repeat;
    background-size: cover;
    transform-origin: 50% 50%;
    will-change: transform;
}

.vss-dark-overlay {
    z-index: 2;
    background: #111914;
    opacity: .05;
    pointer-events: none;
    will-change: opacity;
}

.vss-start-mist {
    z-index: 3;
    overflow: hidden;
    pointer-events: none;
}

.vss-content {
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(32px, 7vw, 120px);
    text-align: center;
    pointer-events: none;
}

.vss-end-clouds {
    z-index: 5;
    overflow: hidden;
    pointer-events: none;
}

.vss-final-cover {
    z-index: 6;
    background: var(--vss-next);
    opacity: 0;
    pointer-events: none;
    will-change: opacity;
}

.vss-mist-img {
    position: absolute;
    display: block;
    max-width: none !important;
    height: auto !important;
    opacity: 0;
    pointer-events: none;
    user-select: none;
    transform-origin: 50% 50%;
    mix-blend-mode: normal;
    contain: paint;
    backface-visibility: hidden;
    animation-name: vss-cloud-float;
    animation-duration: var(--vss-float-duration, 21s);
    animation-timing-function: ease-in-out;
    animation-delay: var(--vss-float-delay, 0s);
    animation-iteration-count: infinite;
    will-change: opacity, transform, translate;
}

.vss-low-fog-bank {
    position: absolute;
    z-index: 0;
    left: -8%;
    bottom: -8%;
    width: 116%;
    height: 70%;
    opacity: 0;
    background:
        radial-gradient(ellipse 28% 38% at 8% 28%, rgba(249,248,243,.98) 0 28%, rgba(245,246,241,.82) 48%, transparent 76%),
        radial-gradient(ellipse 34% 42% at 34% 22%, rgba(247,247,242,.96) 0 30%, rgba(243,245,240,.78) 52%, transparent 78%),
        radial-gradient(ellipse 36% 44% at 65% 26%, rgba(249,248,243,.98) 0 30%, rgba(243,245,240,.80) 52%, transparent 80%),
        radial-gradient(ellipse 44% 52% at 88% 30%, rgba(248,248,243,.88) 0 22%, rgba(243,245,240,.60) 48%, rgba(243,245,240,.22) 70%, transparent 90%),
        linear-gradient(to top, rgba(247,247,242,.99) 0 34%, rgba(245,246,241,.94) 52%, rgba(243,245,240,.68) 72%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.04) 9%, rgba(0,0,0,.22) 24%, rgba(0,0,0,.58) 45%, rgba(0,0,0,.88) 68%, #000 86%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.04) 9%, rgba(0,0,0,.22) 24%, rgba(0,0,0,.58) 45%, rgba(0,0,0,.88) 68%, #000 86%);
    transform-origin: 50% 100%;
    contain: paint;
    backface-visibility: hidden;
    will-change: auto;
}

.vss-mist-img {
    z-index: 1;
}

.vss-start-cloud-left,
.vss-end-cloud-left {
    left: -18vw;
    bottom: -23vh;
    width: min(76vw, 1500px);
    --vss-float-duration: 19s;
    --vss-float-delay: -4s;
    --vss-float-x1: .8vw;
    --vss-float-y1: -.55vh;
    --vss-float-x2: -.45vw;
    --vss-float-y2: .3vh;
    -webkit-mask-image: radial-gradient(ellipse 68% 72% at 42% 55%, #000 36%, rgba(0,0,0,.82) 52%, rgba(0,0,0,.36) 67%, rgba(0,0,0,.07) 78%, transparent 89%);
    mask-image: radial-gradient(ellipse 68% 72% at 42% 55%, #000 36%, rgba(0,0,0,.82) 52%, rgba(0,0,0,.36) 67%, rgba(0,0,0,.07) 78%, transparent 89%);
}

.vss-start-cloud-left-inner,
.vss-end-cloud-left-inner {
    z-index: 2;
    left: 2vw;
    bottom: -12vh;
    width: min(54vw, 1060px);
    --vss-float-duration: 23s;
    --vss-float-delay: -11s;
    --vss-float-x1: -.55vw;
    --vss-float-y1: -.7vh;
    --vss-float-x2: .65vw;
    --vss-float-y2: .25vh;
    -webkit-mask-image: radial-gradient(ellipse 66% 70% at 45% 54%, #000 34%, rgba(0,0,0,.80) 50%, rgba(0,0,0,.32) 65%, rgba(0,0,0,.06) 76%, transparent 87%);
    mask-image: radial-gradient(ellipse 66% 70% at 45% 54%, #000 34%, rgba(0,0,0,.80) 50%, rgba(0,0,0,.32) 65%, rgba(0,0,0,.06) 76%, transparent 87%);
}

.vss-start-cloud-left-low,
.vss-end-cloud-left-low {
    z-index: 3;
    left: -10vw;
    bottom: -34vh;
    width: min(52vw, 1020px);
    --vss-float-duration: 17s;
    --vss-float-delay: -7s;
    --vss-float-x1: .65vw;
    --vss-float-y1: -.45vh;
    --vss-float-x2: -.35vw;
    --vss-float-y2: .45vh;
    -webkit-mask-image: radial-gradient(ellipse 66% 64% at 48% 42%, #000 30%, rgba(0,0,0,.78) 45%, rgba(0,0,0,.30) 60%, rgba(0,0,0,.05) 72%, transparent 84%);
    mask-image: radial-gradient(ellipse 66% 64% at 48% 42%, #000 30%, rgba(0,0,0,.78) 45%, rgba(0,0,0,.30) 60%, rgba(0,0,0,.05) 72%, transparent 84%);
}

.vss-start-cloud-center,
.vss-end-cloud-center {
    left: 14vw;
    bottom: -28vh;
    width: min(72vw, 1420px);
    --vss-float-duration: 21s;
    --vss-float-delay: -15s;
    --vss-float-x1: .4vw;
    --vss-float-y1: -.6vh;
    --vss-float-x2: -.5vw;
    --vss-float-y2: .3vh;
    -webkit-mask-image: radial-gradient(ellipse 68% 66% at 50% 48%, #000 32%, rgba(0,0,0,.80) 47%, rgba(0,0,0,.32) 62%, rgba(0,0,0,.05) 73%, transparent 84%);
    mask-image: radial-gradient(ellipse 68% 66% at 50% 48%, #000 32%, rgba(0,0,0,.80) 47%, rgba(0,0,0,.32) 62%, rgba(0,0,0,.05) 73%, transparent 84%);
}

.vss-start-cloud-right,
.vss-end-cloud-right {
    right: -18vw;
    bottom: -23vh;
    width: min(76vw, 1500px);
    --vss-float-duration: 20s;
    --vss-float-delay: -9s;
    --vss-float-x1: -.75vw;
    --vss-float-y1: -.5vh;
    --vss-float-x2: .5vw;
    --vss-float-y2: .35vh;
    -webkit-mask-image: radial-gradient(ellipse 66% 70% at 54% 54%, #000 34%, rgba(0,0,0,.80) 50%, rgba(0,0,0,.32) 64%, rgba(0,0,0,.05) 75%, transparent 86%);
    mask-image: radial-gradient(ellipse 66% 70% at 54% 54%, #000 34%, rgba(0,0,0,.80) 50%, rgba(0,0,0,.32) 64%, rgba(0,0,0,.05) 75%, transparent 86%);
}

.vss-start-cloud-right-inner,
.vss-end-cloud-right-inner {
    z-index: 2;
    right: 2vw;
    bottom: -12vh;
    width: min(54vw, 1060px);
    --vss-float-duration: 24s;
    --vss-float-delay: -18s;
    --vss-float-x1: .6vw;
    --vss-float-y1: -.65vh;
    --vss-float-x2: -.55vw;
    --vss-float-y2: .2vh;
    -webkit-mask-image: radial-gradient(ellipse 64% 68% at 53% 53%, #000 32%, rgba(0,0,0,.78) 48%, rgba(0,0,0,.30) 62%, rgba(0,0,0,.05) 73%, transparent 85%);
    mask-image: radial-gradient(ellipse 64% 68% at 53% 53%, #000 32%, rgba(0,0,0,.78) 48%, rgba(0,0,0,.30) 62%, rgba(0,0,0,.05) 73%, transparent 85%);
}

@keyframes vss-cloud-float {
    0%, 100% {
        translate: 0 0;
        scale: 1;
    }
    36% {
        translate: var(--vss-float-x1, .5vw) var(--vss-float-y1, -.5vh);
        scale: 1.008;
    }
    72% {
        translate: var(--vss-float-x2, -.4vw) var(--vss-float-y2, .3vh);
        scale: .996;
    }
}

.vss-kicker {
    margin: 0 0 24px;
    color: #e4c9ad;
    font: 500 clamp(10px, .72vw, 12px)/1.4 Inter, Arial, Helvetica, sans-serif;
    letter-spacing: .26em;
    text-transform: uppercase;
    will-change: opacity, transform;
}

.vss-title {
    width: min(980px, 92vw);
    margin: 0 auto;
    color: #fffaf2;
    font-family: "Cormorant Garamond", "Adobe Garamond Pro", Garamond, Georgia, serif;
    font-size: clamp(46px, 5.7vw, 88px);
    font-weight: 400;
    line-height: .96;
    letter-spacing: -.03em;
}

.vss-story .vss-title,
.vss-story .vss-title-line {
    color: #fffaf2 !important;
}

.vss-title-mask {
    display: block;
    overflow: hidden;
    padding: .06em .12em .11em;
    margin: -.06em -.12em -.11em;
}

.vss-title-line {
    display: block;
    will-change: opacity, transform;
}

.vss-description {
    width: min(760px, 86vw);
    margin: 30px auto 0;
    color: rgba(255, 250, 243, .92);
    font: 400 clamp(15px, 1.05vw, 18px)/1.62 Inter, Arial, Helvetica, sans-serif;
    letter-spacing: .01em;
    will-change: opacity, transform;
}

.vss-final-text {
    width: min(700px, 84vw);
    margin: 20px auto 0;
    color: #f1ddc7;
    font: italic 400 clamp(17px, 1.25vw, 21px)/1.45 "Cormorant Garamond", Garamond, Georgia, serif;
    letter-spacing: .015em;
    will-change: opacity, transform;
}

.vss-debug {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 7;
    display: grid;
    gap: 2px;
    width: min(260px, calc(100vw - 24px));
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 6px;
    background: rgba(10, 14, 12, .82);
    box-shadow: 0 12px 32px rgba(0,0,0,.24);
    color: #eef9f1;
    font: 11px/1.38 Consolas, Monaco, monospace;
    text-align: left;
    pointer-events: none;
    backdrop-filter: blur(8px);
}

.vss-debug strong {
    color: #d7c4a4;
}

.vss-noscript {
    position: absolute;
    z-index: 8;
    left: 50%;
    bottom: 32px;
    width: min(90%, 760px);
    margin: 0;
    transform: translateX(-50%);
    color: #fff;
    text-align: center;
}

.vss-story:not(.vss-js) .vss-background {
    transform: scale(1.03);
}

.vss-story:not(.vss-js) .vss-dark-overlay {
    opacity: .45;
}

.vss-story:not(.vss-js) .vss-start-mist,
.vss-story:not(.vss-js) .vss-end-clouds,
.vss-story:not(.vss-js) .vss-final-cover {
    display: none;
}

.vss-story.vss-reduced {
    height: auto;
    min-height: 70vh;
}

.vss-story.vss-reduced .vss-stage {
    position: relative;
    min-height: 70vh;
}

body.vss-local-input-lock {
    overscroll-behavior-y: none;
}

body.vss-local-input-lock .et-l--header,
body.vss-local-input-lock #main-header,
body.vss-local-input-lock header[role="banner"] {
    z-index: 2147483000 !important;
}

/* Divi headers frequently add a one-pixel border or shadow above the first section. */
html body.vss-story-page .et-l--header,
html body.vss-story-page .et-l--header > .et_builder_inner_content,
html body.vss-story-page .et-l--header .et_pb_section,
html body.vss-story-page .et-l--header .et_pb_row,
html body.vss-story-page #main-header,
html body.vss-story-page header[role="banner"] {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-block: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html body.vss-story-page .et-l--header::before,
html body.vss-story-page .et-l--header::after,
html body.vss-story-page .et-l--header > .et_builder_inner_content::before,
html body.vss-story-page .et-l--header > .et_builder_inner_content::after,
html body.vss-story-page .et-l--header .et_pb_section::before,
html body.vss-story-page .et-l--header .et_pb_section::after {
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

html body.vss-story-page .et-l--header .et_pb_bottom_inside_divider,
html body.vss-story-page .et-l--header .et_pb_top_inside_divider {
    display: none !important;
}

@supports selector(body:has(.vss-story)) {
    html body:has(.vss-story) .et-l--header,
    html body:has(.vss-story) .et-l--header > .et_builder_inner_content,
    html body:has(.vss-story) .et-l--header .et_pb_section,
    html body:has(.vss-story) .et-l--header .et_pb_row,
    html body:has(.vss-story) #main-header,
    html body:has(.vss-story) header[role="banner"],
    html body:has(.vss-story) .et_pb_section:has(.vss-story),
    html body:has(.vss-story) .et_pb_row:has(.vss-story),
    html body:has(.vss-story) .et_pb_column:has(.vss-story),
    html body:has(.vss-story) .et_pb_module:has(.vss-story) {
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-block: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    html body:has(.vss-story) .et-l--header::before,
    html body:has(.vss-story) .et-l--header::after,
    html body:has(.vss-story) .et-l--header > .et_builder_inner_content::before,
    html body:has(.vss-story) .et-l--header > .et_builder_inner_content::after,
    html body:has(.vss-story) .et-l--header .et_pb_section::before,
    html body:has(.vss-story) .et-l--header .et_pb_section::after {
        border: 0 !important;
        background: none !important;
        box-shadow: none !important;
    }

    html body:has(.vss-story) .et-l--header .et_pb_bottom_inside_divider,
    html body:has(.vss-story) .et-l--header .et_pb_top_inside_divider {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .vss-story {
        min-height: 480px;
    }

    .vss-content {
        justify-content: center;
        padding: 48px 22px;
    }

    .vss-kicker {
        margin-bottom: 18px;
        font-size: 10px;
        letter-spacing: .2em;
    }

    .vss-title {
        width: min(92vw, 560px);
        font-size: clamp(36px, 10.6vw, 52px);
        line-height: 1;
    }

    .vss-description {
        width: min(88vw, 520px);
        margin-top: 24px;
        font-size: 14px;
        line-height: 1.55;
    }

    .vss-final-text {
        width: min(86vw, 500px);
        margin-top: 17px;
        font-size: 16px;
        line-height: 1.4;
    }

    .vss-start-cloud-left,
    .vss-end-cloud-left {
        left: -42vw;
        bottom: -12vh;
        width: 128vw;
    }

    .vss-start-cloud-center,
    .vss-end-cloud-center {
        left: -13vw;
        bottom: -17vh;
        width: 126vw;
    }

    .vss-start-cloud-left-inner,
    .vss-end-cloud-left-inner {
        left: -12vw;
        bottom: -5vh;
        width: 106vw;
    }

    .vss-start-cloud-left-low,
    .vss-end-cloud-left-low {
        left: -34vw;
        bottom: -22vh;
        width: 112vw;
    }

    .vss-start-cloud-right-inner,
    .vss-end-cloud-right-inner {
        right: -12vw;
        bottom: -5vh;
        width: 106vw;
    }

    .vss-start-cloud-right,
    .vss-end-cloud-right {
        right: -42vw;
        bottom: -12vh;
        width: 128vw;
    }

    .vss-low-fog-bank {
        left: -16%;
        width: 132%;
        height: 74%;
        bottom: -6%;
    }

    .vss-debug {
        right: 8px;
        bottom: 8px;
        width: 210px;
        padding: 7px 9px;
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vss-stage,
    .vss-stage * {
        scroll-behavior: auto !important;
    }

    .vss-mist-img {
        animation: none !important;
    }

    .vss-story[data-force-motion="1"] .vss-mist-img,
    body.vss-local-input-lock .vss-stage .vss-mist-img {
        animation-name: vss-cloud-float !important;
        animation-duration: var(--vss-float-duration, 21s) !important;
        animation-timing-function: ease-in-out !important;
        animation-delay: var(--vss-float-delay, 0s) !important;
        animation-iteration-count: infinite !important;
    }
}
