/* Home presentation. Shared mobile navigation lives in app.css. */
.site-header.site-header--home {
    position: absolute;
}

@media (min-width: 901px) {
    .site-header.site-header--home {
        padding-top: 8px;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .site-header--home::before {
        display: none;
    }

    .site-header--home .nav-shell {
        min-height: 76px;
        padding: 8px 0;
    }

    .site-header.site-header--home :is(.nav-link, .account-link) {
        color: #daecff;
    }

    .site-header.site-header--home .nav-link:hover,
    .site-header.site-header--home .nav-link.active {
        color: #a6e7ff;
        background: #13507933;
    }

    .site-header.site-header--home .nav-link::after {
        height: 2px;
        background: #359bff;
        box-shadow: 0 0 12px #359bff;
    }

    .site-header.site-header--home .nav-link--cta {
        color: #09364f;
        background: #d4f4ff;
        border: 1px solid #b1e9ff;
        border-radius: 99px;
    }

    .site-header.site-header--home .account-link--register {
        color: #fff;
        background: linear-gradient(115deg, #099de9, #24c6ed);
        border-color: #51cfff;
        padding-inline: 20px;
    }

    .site-header--home .account-nav {
        border: 0;
    }

    .site-header.site-header--home .nav-dropdown {
        background: #092036;
        border-color: #31516c;
    }

    .site-header.site-header--home .nav-dropdown__link {
        color: #e0efff;
        border-color: #24435e;
    }

    .site-header.site-header--home .nav-dropdown__link:hover {
        background: #14314b;
        color: white;
    }

    .site-header.site-header--home .nav-dropdown__eyebrow,
    .site-header.site-header--home .nav-dropdown__link b {
        color: #84caff;
    }

    .site-header.site-header--home :is(a, button):focus-visible {
        outline: 3px solid #81ccff;
        outline-offset: 4px;
    }
}

@media (min-width: 901px) and (max-width: 1150px) {
    .site-header--home .nav-link {
        padding-inline: 7px;
        font-size: .7rem;
    }

    .site-header--home .account-link {
        padding-inline: 8px;
    }

    .site-header--home .account-link svg {
        display: none;
    }

    .site-header--home .account-nav {
        margin-left: 4px;
        padding-left: 0;
    }
}

.home-cinematic {
    --line: #dce6f2;
    --white-line: #729ac533;
    --muted: #516786;
    position: relative;
    overflow: clip;
    color: #10284b;
    background: #f2f7ff;
}

.home-cinematic .shell {
    max-width: 1240px;
}

.cinema-opening {
    position: relative;
    min-height: 760px;
    padding: 155px 0 110px;
    color: white;
    background: #03111f url('/images/home-portal.jpg') center center/cover no-repeat;
    border-radius: 0 0 50% 7% / 0 0 7% 3%;
}

.cinema-opening::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#020f1deb 0%,#031321b8 33%,transparent 62%);
    border-radius: inherit;
}

.cinema-opening__inner {
    align-items: center;
}

.cinema-opening__copy {
    min-width: 0;
}

.home-cinematic .eyebrow {
    color: #8ed0ff;
    font-size: .66rem;
    letter-spacing: .18em;
    line-height: 1.7;
}

.home-cinematic .eyebrow>span {
    display: none;
}

.home-cinematic .eyebrow--dark {
    color: #294b78;
}

.cinema-opening h1 {
    margin: 0 0 25px;
    font-family: var(--font-body);
    letter-spacing: -.055em;
}

.cinema-opening h1 span {
    display: block;
    font-weight: 700;
}

.cinema-opening .home-ideas-hero__lead--savings {
    display: block;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    font-weight: 500;
    animation: none;
}

.cinema-opening .home-ideas-hero__body {
    margin: 0 0 28px;
}

.cinema-opening .home-ideas-hero__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 30px 0 0;
}

.home-cinematic .button {
    min-height: 50px;
    border-radius: 99px;
    padding-inline: 27px;
    color: white;
    background: linear-gradient(120deg,#329fff,#0867f8);
    border: 1px solid #5eb3ff;
    box-shadow: 0 6px 25px #1980ff26;
    font-size: .78rem;
}

.home-cinematic .button::before {
    display: none;
}

.home-cinematic .button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px #168bff55;
}

.home-cinematic .section {
    padding-block: 85px;
}

.home-cinematic .section::before {
    display: none;
}

.home-cinematic .display-title {
    font-family: var(--font-body);
    font-size: clamp(2rem,3.2vw,3.4rem);
    font-weight: 500;
    line-height: 1.13;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.home-cinematic :is(.intro-section__body p,.large-copy,.belief-list p,.vision-panel__copy>p:not(.eyebrow),.services-heading__aside p,.section-heading>p,.process-step p,.service-card>p) {
    color: #516786;
    line-height: 1.8;
}

.home-cinematic .intro-section {
    padding-bottom: 35px;
    background: radial-gradient(ellipse at top right,#dfedff,transparent 60%),#f4f8ff;
}

.home-cinematic .text-link {
    color: #0872eb;
}

.home-cinematic .home-image-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 38px;
}

.home-cinematic .home-image-strip img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 12px 35px #1c4d7820;
}

.home-cinematic .savings-section {
    padding-top: 40px;
    padding-bottom: 95px;
    border-radius: 0 0 45% 15% / 0 0 5% 3%;
    background: #f4f8ff;
    z-index: 2;
}

.home-cinematic .belief-grid {
    grid-template-columns: 1fr;
    gap: 25px;
}

.home-cinematic .belief-grid>div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 55px;
    align-items: start;
}

.home-cinematic .belief-grid>div .eyebrow {
    grid-column: 1/-1;
}

.home-cinematic .belief-list {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin: 0;
    padding: 0;
}

.home-cinematic .belief-list li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 28px;
    border: 1px solid #fff;
    border-radius: 18px;
    background: linear-gradient(145deg,#fff,#eef5ff);
    box-shadow: 0 10px 35px #294d8110;
}

.home-cinematic .belief-list strong {
    color: #153465;
    font-size: 1.02rem;
}

.home-cinematic .belief-list p {
    margin-bottom: 0;
    font-size: .88rem;
}

.home-cinematic .belief-list__icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    color: #218aff;
    border-radius: 50%;
    background: #e1efff;
}

.home-cinematic .services-section {
    margin-top: -40px;
    padding-top: 120px;
    background: radial-gradient(ellipse at 70% 20%,#14334f,transparent 60%),#03121e;
    color: #f3f8ff;
}

.home-cinematic .services-heading__aside img {
    display: none;
}

.home-cinematic .services-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    border: 0;
    gap: 22px;
}

.home-cinematic .service-card {
    display: flex;
    flex-direction: column;
    padding: 28px;
    background: linear-gradient(135deg,#193c5555,#0c213577);
    border: 1px solid #6aa9d12e;
    border-radius: 18px;
}

.home-cinematic .service-card::before {
    display: none;
}

.home-cinematic .service-card:hover {
    transform: translateY(-5px);
    border-color: #63b8ff88;
    background: #16354c;
}

.home-cinematic .service-card__topline {
    display: none;
}

.home-cinematic .service-card .icon-orbit {
    margin-bottom: 23px;
    width: 56px;
    height: 56px;
    background: #247dd222;
    border: 1px solid #56b1ee55;
    box-shadow: none;
}

.home-cinematic .icon-orbit::before,.home-cinematic .icon-orbit::after {
    display: none;
}

.home-cinematic .marketing-icon {
    color: #57b5ff;
}

.home-cinematic .service-card h3 {
    font-size: 1.35rem;
    line-height: 1.2;
}

.home-cinematic .services-heading__aside p,.home-cinematic .service-card>p,.home-cinematic .service-card__details,.home-cinematic .service-card:hover .service-card__details {
    color: #b9cce1;
}

.home-cinematic .service-card__details,.home-cinematic .service-card:hover .service-card__details {
    max-height: none;
    opacity: 1;
    padding-bottom: 24px;
    font-size: .85rem;
}

.home-cinematic .service-card>a {
    margin-top: auto;
    color: #8bd2ff;
}

.home-cinematic .vision-section {
    background: radial-gradient(ellipse at left,#d4eaff,transparent 65%),#f3f8ff;
    border-radius: 50% 5% 45% 4% / 5% 2% 5% 2%;
    z-index: 2;
}

.home-cinematic .home-vision-image {
    border: 7px solid #ffffffb3;
    border-radius: 22px;
    box-shadow: 0 25px 55px #215a8530;
    transform: perspective(1200px) rotateY(5deg);
}

.home-cinematic .home-vision-image img {
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
}

.home-cinematic .process-section {
    background: radial-gradient(ellipse at 20% 70%,#163d60,transparent 60%),#03121e;
    color: #f3f8ff;
    margin-top: -35px;
    padding-top: 115px;
}

.home-cinematic .process-section .section-heading>p,.home-cinematic .process-step p {
    color: #b9cce1;
}

.approach-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 60px;
    align-items: center;
}

.home-cinematic .process-rail {
    grid-template-columns: 1fr 1fr;
    border: 0;
    gap: 25px;
}

.home-cinematic .process-step {
    padding: 22px 0;
    border-top: 1px solid #a4d5ff30;
    min-height: 0;
}

.home-cinematic .process-step::after {
    display: none;
}

.home-cinematic .process-step h3 {
    margin-top: 15px;
    font-size: 1.2rem;
    line-height: 1.3;
}

.home-cinematic .process-step p {
    font-size: .88rem;
    margin-bottom: 0;
}

.glass-stack {
    position: relative;
    height: 400px;
    perspective: 850px;
}

.glass-stack i {
    position: absolute;
    width: 230px;
    height: 230px;
    left: 50%;
    top: 25px;
    border: 1px solid #a7e5ff;
    border-radius: 8px;
    transform: translateX(-50%) rotateX(58deg) rotateZ(45deg);
    background: linear-gradient(135deg,#4aa9ed15,#8ddbff85,#0768c255);
    box-shadow: 0 5px 0 #3898da88,0 18px 35px #008aff25,inset 0 0 35px #c5efff45;
}

.glass-stack i:nth-child(2) {
    top: 95px;
    opacity: .8;
}

.glass-stack i:nth-child(3) {
    top: 165px;
    opacity: .65;
}

.glass-stack i:nth-child(4) {
    top: 235px;
    opacity: .5;
}

.home-cinematic .thrive-section {
    background: linear-gradient(120deg,#f5f9ff,#e0efff);
    border-radius: 50% 5% 0 0 / 6% 3% 0 0;
}

.home-cinematic .capability-pills>span {
    background: #ffffff9c;
    color: #23476d;
    border: 1px solid #d1e3f7;
}

.home-cinematic .home-impact {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 65px max(32px,calc((100vw - 1240px)/2));
    gap: 20px;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border: 0;
    background: linear-gradient(#041627ca,#041627dd),url('/images/home-portal.jpg') center 65%/cover;
}

.home-cinematic .statistic {
    border-color: #95c6ed55;
    text-align: center;
    padding: 20px;
}

.home-cinematic .statistic strong {
    color: #57b9ff;
    font-weight: 400;
}

.home-cinematic .statistic span {
    color: #d8e8f8;
}

.home-cinematic .cta-section {
    color: #10284b;
    background: radial-gradient(ellipse at top,#dcecff,transparent 70%),#f4f8ff;
}

.home-cinematic .cta-section__rings {
    display: none;
}

.home-cinematic .cta-section .eyebrow {
    color: #32629a;
}

.home-cinematic .cta-section h2 {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: clamp(2.2rem,4vw,4rem);
    line-height: 1.15;
}

.home-cinematic .cta-section p:not(.eyebrow) {
    color: #516786;
}

.home-cinematic :is(a,button):focus-visible {
    outline: 3px solid #218cff;
    outline-offset: 5px;
}

.js-enabled .home-cinematic [data-reveal] {
    opacity: 1;
    transform: none;
}

@media(max-width:900px) {
    .cinema-opening {
        padding: 125px 0 60px;
        background-position: 65% bottom;
        background-size: auto 680px;
        background-repeat: no-repeat;
    }

    .cinema-opening::before {
        background: linear-gradient(#03111f 0%,#03111fee 30%,#03111f22 64%,transparent);
    }

    .home-cinematic .section {
        padding-block: 65px;
    }

    .home-cinematic .savings-section {
        padding-top: 15px;
    }

    .home-cinematic .services-section,.home-cinematic .process-section {
        padding-top: 95px;
    }

    .home-cinematic .belief-grid>div {
        grid-template-columns: 1fr;
    }

    .home-cinematic .belief-list {
        grid-template-columns: 1fr;
    }

    .home-cinematic .belief-list li {
        flex-direction: row;
    }

    .home-cinematic .belief-list__icon {
        flex-shrink: 0;
    }

    .home-cinematic .services-grid {
        grid-template-columns: 1fr 1fr;
    }

    .approach-layout {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .glass-stack {
        height: 365px;
    }

    .home-cinematic .home-impact {
        padding: 40px 20px;
        gap: 0;
    }

    .home-cinematic .statistic {
        padding: 18px 12px;
    }

    .home-cinematic .statistic strong {
        font-size: 1.9rem;
    }
}

@media(max-width:600px) {
    .home-cinematic .shell {
        width: calc(100% - 40px);
    }

    .cinema-opening {
        padding-top: 112px;
        background-position: 64% bottom;
        background-size: auto 530px;
        border-radius: 0 0 50% 8% / 0 0 3% 1%;
    }

    .home-cinematic .display-title {
        font-size: 2.2rem;
    }

    .home-cinematic .section {
        padding-block: 50px;
    }

    .home-cinematic .savings-section {
        padding-top: 10px;
        padding-bottom: 70px;
    }

    .home-cinematic .services-section,.home-cinematic .process-section {
        padding-top: 85px;
    }

    .home-cinematic .home-image-strip {
        gap: 12px;
    }

    .home-cinematic .home-image-strip img {
        height: 140px;
        border-radius: 12px;
    }

    .home-cinematic .belief-list li {
        padding: 23px;
        flex-direction: column;
    }

    .home-cinematic .services-grid {
        grid-template-columns: 1fr;
    }

    .home-cinematic .service-card {
        padding: 26px;
    }

    .home-cinematic .vision-panel {
        grid-template-columns: minmax(0,1fr);
    }

    .home-cinematic .home-vision-image {
        min-height: 260px;
        transform: none;
    }

    .home-cinematic .home-vision-image img {
        min-height: 260px;
    }

    .home-cinematic .process-rail {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .home-cinematic .process-step {
        padding: 25px 0;
    }

    .glass-stack {
        height: 345px;
    }

    .glass-stack i {
        width: 190px;
        height: 190px;
    }

    .home-cinematic .home-impact {
        width: 100%;
        grid-template-columns: 1fr;
        padding: 30px 20px;
    }

    .home-cinematic .statistic {
        border: 0;
        border-bottom: 1px solid #729ac533;
    }

    .home-cinematic .statistic:last-child {
        border: 0;
    }

    .home-cinematic .cta-section {
        padding: 60px 0;
    }
}

@media(prefers-reduced-motion:reduce) {
    .home-cinematic *,.home-cinematic *::before,.home-cinematic *::after {
        animation: none!important;
        transition: none!important;
    }
}

.home-cinematic .cinema-opening::before {
    background: radial-gradient(ellipse at 10% 75%,#1762a833,transparent 65%);
    pointer-events: none;
}

.cinema-opening__inner {
    grid-template-columns: minmax(0,.95fr) minmax(0,1.15fr);
    gap: 0;
}

.cinema-opening__copy {
    position: relative;
    z-index: 2;
}

.cinema-opening h1 span {
    color: #0874da;
    background: linear-gradient(105deg,#075cae,#2089df,#065aaa);
    background-size: 200% auto;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: hero-ink-light 12s ease-in-out infinite alternate;
}

.cinema-opening .home-ideas-hero__legend {
    line-height: 1.7;
}

.cinema-opening .home-ideas-hero__legend i {
    background: #1687dd;
    box-shadow: 0 0 9px #1b99e54d;
}

.hero-slideshow {
    position: relative;
    align-self: stretch;
    min-height: 580px;
    margin: 20px 0 20px -28px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid #74bdf65c;
    border-radius: 0 28px 28px 0;
    background: #092238;
    box-shadow: 0 25px 70px #000b1a70;
}

.hero-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.6s ease;
}

.hero-slide.is-active {
    opacity: 1;
    z-index: 1;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 65% center;
    transform: scale(1.035);
}

.hero-slide:first-child img {
    object-position: 75% center;
}

.hero-slideshow.is-ready .hero-slide.is-active img {
    animation: hero-image-drift 11s ease-out both;
}

.hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg,#031626e8,transparent 40%,#06172510);
    pointer-events: none;
}

.hero-slide figcaption {
    position: absolute;
    z-index: 2;
    left: 55px;
    right: 25px;
    bottom: 82px;
    color: #c0e5ff;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-slide figcaption::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    margin: 0 12px 4px 0;
    background: #79c5ff;
}

.slideshow-controls {
    position: absolute;
    z-index: 5;
    left: 50px;
    right: 26px;
    bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.slideshow-controls[hidden] {
    display: none;
}

.slideshow-dots {
    display: flex;
    gap: 3px;
}

.slideshow-dots button {
    display: grid;
    place-items: center;
    width: 40px;
    height: 44px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.slideshow-dots button::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 10px;
    background: #95b9d6;
    transition: width .4s ease,background .4s ease;
}

.slideshow-dots button[aria-pressed="true"]::after {
    width: 30px;
    background: #6bc9ff;
    box-shadow: 0 0 14px #3fb8ff66;
}

.slideshow-pause {
    min-width: 70px;
    min-height: 44px;
    padding: 8px 14px;
    color: #d6edff;
    border: 1px solid #8fb6d580;
    border-radius: 99px;
    background: #0b263dbd;
    font-size: .72rem;
    cursor: pointer;
}

.hero-light-trails {
    position: absolute;
    z-index: 3;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.hero-light-trails i {
    position: absolute;
    width: 180px;
    height: 1px;
    top: 20%;
    right: -190px;
    background: linear-gradient(90deg,transparent,#a8e7ff99,transparent);
    transform: rotate(-32deg);
    animation: hero-light-pass 15s 2s ease-in-out infinite;
}

.hero-light-trails i:nth-child(2) {
    top: 45%;
    width: 110px;
    animation-delay: 7s;
}

.hero-light-trails i:nth-child(3) {
    top: 65%;
    width: 75px;
    animation-delay: 11s;
}

.hero-slideshow.is-paused * {
    animation-play-state: paused!important;
}

.cinema-opening__copy>* {
    animation: hero-copy-arrive 1s cubic-bezier(.16,1,.3,1) both;
}

.cinema-opening__copy>:nth-child(2) {
    animation-delay: .1s;
}

.cinema-opening__copy>:nth-child(3) {
    animation-delay: .2s;
}

.cinema-opening__copy>:nth-child(4) {
    animation-delay: .3s;
}

.cinema-opening__copy>:nth-child(5) {
    animation-delay: .4s;
}

.cinema-opening__copy>:nth-child(6) {
    animation-delay: .5s;
}

.js-enabled .home-cinematic [data-reveal] {
    transition: opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1);
}

.js-enabled .home-cinematic [data-reveal-bound]:not(.is-visible):not(:focus-within) {
    opacity: 0;
    transform: translate3d(-42px,8px,0);
}

.js-enabled .home-cinematic [data-reveal="right"][data-reveal-bound]:not(.is-visible):not(:focus-within) {
    transform: translate3d(42px,8px,0);
}

.js-enabled .home-cinematic [data-reveal].is-visible,.js-enabled .home-cinematic [data-reveal]:focus-within {
    opacity: 1;
    transform: none;
}

.home-cinematic .glass-stack i {
    animation: glass-layer-breathe 9s ease-in-out infinite alternate;
}

.home-cinematic .glass-stack i:nth-child(2) {
    animation-delay: -2s;
}

.home-cinematic .glass-stack i:nth-child(3) {
    animation-delay: -4s;
}

.home-cinematic .glass-stack i:nth-child(4) {
    animation-delay: -6s;
}

@keyframes hero-image-drift {
    from {
        transform: scale(1.035) translateX(0);
    }

    to {
        transform: scale(1.095) translateX(-1%);
    }
}

@keyframes hero-ink-light {
    from {
        background-position: 0% center;
    }

    to {
        background-position: 100% center;
    }
}

@keyframes hero-light-pass {
    0%,65% {
        opacity: 0;
        transform: translate(0,0) rotate(-32deg);
    }

    72% {
        opacity: .65;
    }

    95%,100% {
        opacity: 0;
        transform: translate(-650px,360px) rotate(-32deg);
    }
}

@keyframes hero-copy-arrive {
    from {
        opacity: 0;
        transform: translateX(-24px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes glass-layer-breathe {
    from {
        filter: brightness(1);
    }

    to {
        filter: brightness(1.2);
    }
}

@media(max-width:1100px) and (min-width:901px) {
    .cinema-opening__copy {
        padding: 28px;
    }
}

@media(max-width:900px) {
    .cinema-opening__inner {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .hero-slideshow {
        min-height: 460px;
        margin: -20px 12px 0;
        border-radius: 0 0 24px 24px;
    }

    .hero-slide figcaption {
        left: 28px;
    }

    .slideshow-controls {
        left: 25px;
    }

    .cinema-opening .home-ideas-hero__body {
        max-width: 650px;
    }
}

@media(max-width:600px) {
    .home-cinematic .cinema-opening {
        padding-top: 105px;
    }

    .cinema-opening__copy {
        border-radius: 20px;
    }

    .hero-slideshow {
        min-height: 350px;
        margin-inline: 8px;
    }

    .hero-slide figcaption {
        font-size: .61rem;
        letter-spacing: .12em;
    }

    .slideshow-controls {
        left: 18px;
        right: 18px;
    }

    .slideshow-dots button {
        width: 34px;
    }

    .js-enabled .home-cinematic [data-reveal-bound]:not(.is-visible):not(:focus-within) {
        transform: translate3d(-22px,0,0);
    }

    .js-enabled .home-cinematic [data-reveal="right"][data-reveal-bound]:not(.is-visible):not(:focus-within) {
        transform: translate3d(22px,0,0);
    }
}

@media(prefers-reduced-motion:reduce) {
    .js-enabled .home-cinematic [data-reveal-bound]:not(.is-visible):not(:focus-within) {
        opacity: 1;
        transform: none;
    }

    .home-cinematic .hero-slide img {
        transform: none;
    }

    .hero-light-trails {
        display: none;
    }
}

.home-cinematic .cinema-opening {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 760px;
    padding: 155px 0 100px;
    background: #031222;
    border-radius: 0 0 50% 12% / 0 0 5% 3%;
}

.home-cinematic .cinema-opening::before {
    display: none;
}

.cinema-opening .hero-slideshow {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #031222;
}

.cinema-opening .hero-slide img {
    object-position: 70% center;
}

.cinema-opening .hero-slide:first-child img {
    object-position: center 56%;
}

.cinema-opening .hero-slide::after {
    background: linear-gradient(90deg,#020e20f7 0%,#031329e8 27%,#04162eac 43%,#05183115 65%,transparent 85%),linear-gradient(180deg,#021022a6,transparent 24%,transparent 70%,#031b36b3);
}

.cinema-opening__inner {
    position: relative;
    z-index: 2;
    display: block;
    pointer-events: none;
}

.cinema-opening__copy {
    width: 48%;
    max-width: 600px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    pointer-events: auto;
}

.cinema-opening .eyebrow {
    color: #8bcfff;
    font-size: .64rem;
    letter-spacing: .19em;
}

.cinema-opening h1 {
    color: #f1f6ff;
    font-size: clamp(3.15rem,4.7vw,4.8rem);
    line-height: 1.05;
    font-weight: 600;
    text-shadow: 0 2px 28px #00102555;
}

.cinema-opening h1 span {
    background-image: linear-gradient(100deg,#7bdbff,#329bff,#75ceff);
}

.cinema-opening .home-ideas-hero__lead--savings {
    color: #e0eeff;
    font-size: 1.05rem;
}

.cinema-opening .home-ideas-hero__body {
    max-width: 510px;
    color: #b9cfe7;
    font-size: .94rem;
    line-height: 1.8;
}

.cinema-opening .button {
    background: linear-gradient(110deg,#079eea,#30d2f5);
    border-color: #69dcff;
    color: #032343;
    box-shadow: 0 0 25px #00bfff40;
}

.cinema-opening .home-ideas-hero__legend {
    margin-top: 34px;
    color: #9ac8e9;
    font-size: .58rem;
    letter-spacing: .08em;
}

.cinema-opening .hero-slide figcaption {
    left: auto;
    right: 7%;
    bottom: 120px;
    width: 205px;
    padding: 26px;
    color: #d8f1ff;
    border: 1px solid #7bcdff80;
    border-radius: 17px;
    background: linear-gradient(130deg,#16476b8c,#1736594d);
    backdrop-filter: blur(12px);
    box-shadow: 0 0 32px #219fff24,inset 0 1px #ffffff30;
    font-size: .85rem;
    letter-spacing: .07em;
    line-height: 1.6;
}

.cinema-opening .hero-slide figcaption::before {
    display: block;
    margin: 0 0 16px;
    width: 35px;
}

.cinema-opening .slideshow-controls {
    left: auto;
    right: 7%;
    bottom: 55px;
    width: 250px;
}

.cinema-opening .hero-light-trails {
    opacity: .65;
}

@media(max-width:900px) {
    .home-cinematic .cinema-opening {
        padding: 125px 0 380px;
        min-height: 0;
    }

    .cinema-opening__copy {
        width: 100%;
        max-width: 620px;
        padding: 0;
    }

    .cinema-opening .hero-slide img {
        object-position: 65% bottom;
    }

    .cinema-opening .hero-slide:first-child img {
        object-position: 72% bottom;
    }

    .cinema-opening .hero-slide::after {
        background: linear-gradient(180deg,#031225f5 0%,#031225ee 35%,#031225b3 52%,#03122510 75%,#03122580);
    }

    .cinema-opening h1 {
        max-width: 580px;
        font-size: clamp(3rem,7vw,4.4rem);
    }

    .cinema-opening .hero-slide figcaption {
        bottom: 115px;
        right: 6%;
        width: 190px;
        padding: 20px;
    }

    .cinema-opening .slideshow-controls {
        right: 6%;
        bottom: 45px;
    }
}

@media(max-width:600px) {
    .home-cinematic .cinema-opening {
        padding: 115px 0 320px;
    }

    .cinema-opening__copy {
        padding: 0;
        background: none;
        border: 0;
    }

    .cinema-opening h1 {
        font-size: clamp(2.8rem,10.8vw,3.8rem);
    }

    .cinema-opening .eyebrow {
        font-size: .57rem;
        letter-spacing: .13em;
    }

    .cinema-opening .home-ideas-hero__body {
        font-size: .9rem;
    }

    .cinema-opening .hero-slide img {
        object-fit: cover;
        height: 55%;
        top: auto;
        position: absolute;
        bottom: 0;
    }

    .cinema-opening .hero-slide::after {
        background: linear-gradient(180deg,#031222 0%,#031222 39%,#031222ef 48%,#03122210 75%,#03122299);
    }

    .cinema-opening .hero-slide figcaption {
        width: 165px;
        bottom: 105px;
        padding: 17px;
        font-size: .69rem;
    }

    .cinema-opening .slideshow-controls {
        bottom: 40px;
        width: 230px;
    }

    .cinema-opening .home-ideas-hero__legend {
        gap: 12px;
        font-size: .53rem;
    }
}
