/* ---------- user preferences ---------- */
@media(prefers-reduced-motion:reduce) {

    .rv,
    .rv-l,
    .rv-r {
        transform: none
    }

    .rv.in,
    .rv-l.in,
    .rv-r.in {
        transform: none;
        transition: opacity .2s ease
    }

    /* .cal-card sets its own resting transform at (0,2,0), which outranks the
       (0,1,0) resets above -- without this the booking card still slides in
       under reduced motion. */
    .cal-card.rv,
    .cal-card.rv.in {
        transform: none
    }

    .rv-type {
        -webkit-mask: none;
        mask: none;
        transform: none;
        opacity: 0;
    }

    .rv-type.in,
    .rv.in .rv-type {
        -webkit-mask: none;
        mask: none;
        transform: none;
        transition: opacity .2s ease;
    }

    .aurora {
        transform: none !important
    }

    .sealmark svg {
        animation: none
    }

    .proof {
        transform: none !important
    }

    .card:hover,
    .tile:hover {
        transform: none
    }

    .btn.press,
    .elementor-button.press {
        transform: none
    }

    .btn.btn-primary::after,
    .elementor-widget-button.btn-primary .elementor-button::after,
    .step .dot::after {
        display: none
    }

    .sec-head h2::after {
        transform: scaleX(1)
    }

    .glass::after,
    .glass-dark::after {
        display: none
    }

    /* the card still assembles, it just does it all at once */
    .proof-seal circle,
    .proof-list path {
        stroke-dashoffset: 0;
        animation: none;
    }

    .rv.in .proof-list li {
        opacity: 1;
        transform: none;
        transition: opacity .2s ease;
        transition-delay: 0s;
    }

    .tile::after {
        transition: opacity .2s ease
    }

    .faq details[open] .ans,
    .faq .e-n-accordion-item[open]>.e-con {
        animation: none
    }
}

/* The grain rides on mix-blend-mode over a translucent ramp; with
   transparency or contrast turned down it is exactly the kind of texture
   these settings exist to remove. */
@media(prefers-reduced-transparency:reduce),
(prefers-contrast:more) {

    .band::after,
    .aurora::after {
        display: none
    }

    .sec:not(.band)::after,
    .hero::after {
        opacity: calc(var(--dot-lens) * .5)
    }
}

@media(prefers-contrast:more) {

    .sealmark,
    .sec:not(.band)::before,
    .sec:not(.band)::after,
    .hero::before,
    .hero::after {
        display: none
    }
}

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

    .glass,
    .hdr-inner,
    .btn-glass,
    .elementor-widget-button.btn-glass .elementor-button,
    .dock {
        background: var(--surface);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        border-color: var(--hairline);
    }

    .glass-dark,
    .btn-glass-dark,
    .elementor-widget-button.btn-glass-dark .elementor-button {
        background: var(--deep-2);
        -webkit-backdrop-filter: none;
        backdrop-filter: none
    }

    .aurora {
        opacity: .35
    }
}

@media(prefers-contrast:more) {
    :root {
        --ink-2: #232C3B;
        --ink-3: #394354;
        --hairline: rgba(9, 18, 28, .28);
        --hairline-dark: rgba(241, 244, 248, .34)
    }

    .glass,
    .hdr-inner,
    .btn-glass,
    .elementor-widget-button.btn-glass .elementor-button,
    .dock {
        background: #fff;
        border-color: var(--ink-3)
    }

    .aurora {
        display: none
    }
}
