/* ImageGen glass scenes are decoration only; the price and copy stay still. */
[data-astana-pricing-motion] .astana-price-card {
    position: relative;
    isolation: isolate;
    overflow: clip;
}

[data-astana-pricing-motion] .astana-price-card > :not(.astana-price-art) {
    position: relative;
    z-index: 1;
}

.astana-price-art {
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    /* A second, very gentle fade prevents a moving asset acquiring a hard edge. */
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 7%, #000 61%, transparent 83%);
    mask-image: linear-gradient(to bottom, transparent, #000 7%, #000 61%, transparent 83%);
}

.astana-price-art::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff 4%, rgba(255,255,255,.98) 27%, rgba(255,255,255,.64) 46%, rgba(255,255,255,.12) 68%, transparent 87%);
    content: "";
}

.astana-price-art__wash {
    position: absolute;
    top: 68px;
    right: -10%;
    width: 74%;
    height: 250px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(237,187,134,.18), rgba(250,227,202,.1) 42%, transparent 73%);
    opacity: 0.85;
    transform: scale(.98);
    transition: transform 250ms cubic-bezier(.23,1,.32,1), opacity 250ms ease;
}

.astana-price-art__scene {
    position: absolute;
    top: 8px;
    right: 0;
    width: 100%;
    height: 336px;
    opacity: 0.82;
    -webkit-mask-image: linear-gradient(to bottom, #000 58%, transparent 99%);
    mask-image: linear-gradient(to bottom, #000 58%, transparent 99%);
    transform: translate3d(0,0,0);
    transition: transform 140ms cubic-bezier(.23,1,.32,1), opacity 250ms ease;
}

.astana-price-art__scene img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: right 15%;
    -webkit-mask-image: linear-gradient(90deg, #000 84%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 84%, transparent 100%);
    /* Motion belongs to this card's input-driven wrapper, never an idle loop. */
}

.astana-price-art__accent {
    position: absolute;
    top: 227px;
    right: 5%;
    width: 91px;
    height: 91px;
    opacity: 0.93;
    transform: translate3d(0,0,0);
    transition: transform 140ms cubic-bezier(.23,1,.32,1), opacity 250ms ease;
}

.astana-price-art__accent img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
}

.astana-price-art--corporate .astana-price-art__scene { top: 0; opacity: 0.785; }
.astana-price-art--corporate .astana-price-art__accent { top: 235px; right: 5%; width: 99px; height: 99px; }
.astana-price-art--commerce .astana-price-art__scene { top: 2px; opacity: 0.765; }
.astana-price-art--commerce .astana-price-art__accent { top: 227px; right: 5%; width: 100px; height: 100px; }

@media (hover: hover) and (pointer: fine) {
    [data-astana-pricing-motion]:not(.is-motion-paused):not(.is-motion-suspended) .astana-price-card:hover .astana-price-art__wash {
        opacity: 1;
        transform: scale(1.08);
    }
    [data-astana-pricing-motion] .astana-price-card:hover .astana-price-art__scene { opacity: 0.92; }
    [data-astana-pricing-motion] .astana-price-card:hover .astana-price-art__accent { opacity: 1; }
}

[data-astana-pricing-motion] .astana-commercial-heading { position: relative; }

.astana-price-motion-toggle {
    position: absolute;
    top: calc(100% + 3px);
    right: 0;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    margin: 0;
    padding: 8px 0 8px 12px;
    border: 0;
    background: transparent;
    color: var(--astana-muted, #5a5853);
    font: inherit;
    line-height: 1.4;
    cursor: pointer;
}

.astana-price-motion-toggle[hidden] { display: none; }
.astana-price-motion-toggle:hover { color: var(--astana-graphite, #48463f); }
.astana-price-motion-toggle:focus-visible { outline: 2px solid #ff6a00; outline-offset: 5px; }
.astana-price-motion-toggle__symbol { display: block; width: 10px; height: 12px; border-inline: 2px solid currentColor; }
.astana-price-motion-toggle[aria-pressed="true"] .astana-price-motion-toggle__symbol { border: 0; background: currentColor; clip-path: polygon(10% 0,100% 50%,10% 100%); }

@media (min-width: 1600px) {
    .astana-price-art__scene { height: 352px; width: 100%; }
    .astana-price-art__accent { right: 8%; }
}

@media (min-width: 901px) and (max-width: 1100px) {
    .astana-price-art__scene { opacity: 0.74; height: 310px; }
    .astana-price-art__accent { opacity: 0.78; right: 1%; }
    .astana-price-art::after { background: linear-gradient(90deg,#fff 8%,rgba(255,255,255,.88) 44%,rgba(255,255,255,.25) 78%,transparent); }
}

@media (max-width: 900px) {
    .astana-price-art__scene { top: -2px; right: 0; width: min(500px, 100%); height: 308px; }
    .astana-price-art__accent,
    .astana-price-art--corporate .astana-price-art__accent,
    .astana-price-art--commerce .astana-price-art__accent { top: 207px; right: 6%; width: 84px; height: 84px; }
    .astana-price-art__wash { right: 0; width: min(350px, 70%); }
    [data-astana-pricing-motion] .astana-commercial-heading { margin-bottom: 56px; }
    .astana-price-motion-toggle { padding-left: 0; }
    .astana-price-art { -webkit-mask-image: linear-gradient(to bottom,transparent,#000 9%,#000 51%,transparent 81%); mask-image: linear-gradient(to bottom,transparent,#000 9%,#000 51%,transparent 81%); }
}

@media (max-width: 480px) {
    .astana-price-art__scene { height: 300px; right: 0; width: 100%; }
    .astana-price-art__accent,
    .astana-price-art--corporate .astana-price-art__accent,
    .astana-price-art--commerce .astana-price-art__accent { top: 205px; right: 3%; width: 77px; height: 77px; }
}

[data-astana-pricing-motion].is-motion-paused .astana-price-art__wash,
[data-astana-pricing-motion].is-motion-suspended .astana-price-art__wash { transform: none; }

@media (prefers-reduced-motion: reduce) {
    [data-astana-pricing-motion]:not(.has-motion-override) .astana-price-art *,
    [data-astana-pricing-motion]:not(.has-motion-override) .astana-price-art::after {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}
