
.cloud-scene {
    position: relative;
    isolation: isolate;
    background: #f2f8ff;
    overflow: clip;
    border-bottom: 1px solid #e8f0fa
}

.cloud-scene .cloud-hero {
    position: relative;
    z-index: 2;
    min-height: 555px;
    padding-top: 26px;
    padding-bottom: 52px;
    gap: 4%;
    align-items: center
}

.cloud-atmosphere {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden
}

.cloud-far {
    position: absolute;
    height: auto;
    max-width: none;
    will-change: transform
}

.cloud-far-right {
    width: 60%;
    right: -15%;
    top: -14%;
    opacity: .73;
    animation: cloud-travel-right 28s ease-in-out infinite alternate
}

.cloud-far-left {
    width: 38%;
    left: -17%;
    bottom: 7%;
    opacity: .42;
    animation: cloud-travel-left 24s ease-in-out infinite alternate
}

.cloud-hero .hero-copy {
    z-index: 5;
    align-self: center
}

.cloud-hero h1 {
    font-size: clamp(44px, 4.8vw, 76px);
    max-width: 650px
}

.cloud-hero h1 em {
    color: #1769ef
}

.cloud-hero .lead {
    color: #536884
}

.cloud-hero .button.secondary {
    background: #fff;
    border-color: #b8d2f6
}

.cloud-hero .hero-toolstrip {
    border-color: #d8e7fa;
    max-width: 450px
}

.cloud-hero .hero-art {
    position: relative;
    z-index: 2;
    isolation: isolate;
    padding: 40px 0 65px;
    max-width: 680px;
    width: 100%;
    justify-self: center
}

.cloud-hero .hero-art:before {
    display: none
}

.cloud-hero .hero-visual {
    position: relative;
    z-index: 2;
    mix-blend-mode: multiply;
    animation: cloud-art-float 7.5s ease-in-out infinite;
    transform-origin: 50% 60%
}

.cloud-hero .hero-visual>img {
    mix-blend-mode: normal;
    max-height: 420px;
    object-fit: contain;
    width: 100%
}

.cloud-island {
    position: absolute;
    z-index: 3;
    width: 132%;
    left: -16%;
    bottom: -29px;
    pointer-events: none;
    animation: cloud-island-float 9s ease-in-out infinite
}

.cloud-island>img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    filter: drop-shadow(0 11px 14px #6d92bc10)
}

.cloud-hero .hero-float {
    z-index: 4;
    background: #fff;
    border-color: #dce9fa;
    box-shadow: 0 10px 22px #4a75a915, 0 2px 3px #386a9a06;
    animation-duration: 8s
}

.cloud-hero .float-google {
    left: 0;
    top: 1%;
    transform: rotate(-6deg)
}

.cloud-hero .float-ads {
    right: 0;
    top: 9%;
    transform: rotate(8deg)
}

.cloud-hero .float-docs {
    bottom: 6%;
    right: 3%;
    transform: rotate(4deg)
}

.cloud-horizon {
    position: absolute;
    z-index: 1;
    bottom: -144px;
    left: -12%;
    width: 124%;
    height: 300px;
    pointer-events: none;
    opacity: .82;
    animation: cloud-horizon-drift 32s ease-in-out infinite alternate
}

.cloud-horizon>img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: fill
}

.cloud-motion-toggle {
    position: absolute;
    right: 5%;
    bottom: 13px;
    z-index: 6;
    display: flex;
    gap: 6px;
    align-items: center;
    background: #ffffffd9;
    border: 1px solid #dce8f7;
    border-radius: 20px;
    padding: 6px 10px;
    font-size: 10px;
    color: #6c82a0
}

.cloud-motion-toggle:hover {
    background: #fff;
    color: #1769ef
}

.cloud-scene.cloud-motion-paused .cloud-far,
.cloud-scene.cloud-motion-paused .cloud-island,
.cloud-scene.cloud-motion-paused .cloud-horizon,
.cloud-scene.cloud-motion-paused .hero-visual,
.cloud-scene.cloud-motion-paused .hero-float {
    animation-play-state: paused !important
}

.cloud-scene.is-outside .cloud-far,
.cloud-scene.is-outside .cloud-island,
.cloud-scene.is-outside .cloud-horizon,
.cloud-scene.is-outside .hero-visual,
.cloud-scene.is-outside .hero-float {
    animation-play-state: paused !important
}

@keyframes cloud-travel-right {
    from {
        transform: translateX(-3%) translateY(0)
    }

    to {
        transform: translateX(9%) translateY(9px)
    }
}

@keyframes cloud-travel-left {
    from {
        transform: translateX(0) scale(.97)
    }

    to {
        transform: translateX(12%) scale(1.03)
    }
}

@keyframes cloud-art-float {

    0%,
    100% {
        transform: translateY(0) rotate(-.6deg)
    }

    50% {
        transform: translateY(-12px) rotate(.6deg)
    }
}

@keyframes cloud-island-float {

    0%,
    100% {
        transform: translateY(0) scale(1)
    }

    50% {
        transform: translateY(7px) scale(1.025)
    }
}

@keyframes cloud-horizon-drift {
    from {
        transform: translateX(-2%)
    }

    to {
        transform: translateX(2%)
    }
}

@media(min-width:1700px) {
    .cloud-scene .cloud-hero {
        min-height: 610px
    }

    .cloud-hero .hero-visual>img {
        max-height: 460px
    }
}

@media(max-width:1050px) {
    .cloud-scene .cloud-hero {
        min-height: 500px;
        gap: 2%
    }

    .cloud-hero h1 {
        font-size: clamp(41px, 5vw, 56px)
    }

    .cloud-hero .hero-art {
        padding-top: 35px;
        padding-bottom: 70px
    }

    .cloud-island {
        bottom: -3px;
        width: 140%;
        left: -20%
    }

    .cloud-hero .float-docs {
        bottom: 10%
    }

    .cloud-hero .hero-toolstrip {
        gap: 12px
    }

    .cloud-horizon {
        bottom: -155px
    }
}

@media(max-width:700px) {
    .cloud-scene .cloud-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 28px;
        padding-bottom: 40px;
        gap: 0
    }

    .cloud-hero h1 {
        font-size: clamp(39px, 10vw, 58px);
        max-width: none;
        margin-bottom: 16px
    }

    .cloud-hero .lead {
        font-size: 16px
    }

    .cloud-hero .hero-toolstrip {
        max-width: none;
        background: #ffffff75;
        border: 1px solid #dce9fa;
        border-radius: 13px;
        padding: 11px 10px;
        margin-top: 18px;
        gap: 15px
    }

    .cloud-hero .hero-art {
        max-width: 430px;
        padding-top: 35px;
        padding-bottom: 52px;
        margin-top: 14px
    }

    .cloud-hero .hero-visual>img {
        max-height: 280px
    }

    .cloud-island {
        width: 122%;
        left: -11%;
        bottom: -22px
    }

    .cloud-hero .float-google {
        top: 2%;
        left: 1%
    }

    .cloud-hero .float-ads {
        right: 1%;
        top: 14%
    }

    .cloud-hero .float-docs {
        bottom: 7%;
        right: 1%
    }

    .cloud-far-right {
        width: 115%;
        top: 32%;
        right: -44%;
        opacity: .55
    }

    .cloud-far-left {
        width: 70%;
        left: -39%;
        bottom: 5%;
        opacity: .4
    }

    .cloud-horizon {
        height: 175px;
        bottom: -80px;
        width: 150%;
        left: -25%
    }

    .cloud-motion-toggle {
        font-size: 9px;
        bottom: 9px;
        right: 5%;
        padding: 5px 9px;
        gap: 5px
    }

    .cloud-motion-toggle svg {
        width: 13px;
        height: 13px
    }

    .cloud-hero .slider-controls {
        margin-top: 20px
    }
}

@media(prefers-reduced-motion:reduce) {

    .cloud-far,
    .cloud-island,
    .cloud-horizon,
    .cloud-hero .hero-visual,
    .cloud-hero .hero-float {
        animation: none !important;
        will-change: auto
    }

    .cloud-motion-toggle {
        display: none
    }
}


.cloud-hero .hero-visual {
    background: #fff;
    border-radius: 46% 44% 38% 42%;
    overflow: hidden;
    mix-blend-mode: normal
}

.cloud-hero .hero-visual>img {
    mix-blend-mode: normal
}