/* ==========================================================
   MOBILE DATA RECOVERY PAGE — FULL MODERN REVAMP
   ========================================================== */

.aeson-core-service-mobile .aeson-special-note {
    margin-top: 26px;
}

.aeson-core-service-mobile .aeson-mobile-visualizer {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 34px;
    align-items: start;
    margin: 52px 0 68px;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-copy h2,
.aeson-core-service-mobile .aeson-mobile-device-copy h2,
.aeson-core-service-mobile .aeson-mobile-encryption-copy h2 {
    margin-top: 8px;
    margin-bottom: 18px;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-copy p,
.aeson-core-service-mobile .aeson-mobile-device-copy p,
.aeson-core-service-mobile .aeson-mobile-encryption-copy p {
    color: #606a72;
    font-size: 16px;
    line-height: 1.74;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-panel {
    min-width: 0;
    background: #f8fbfd;
    border: 1px solid #d6e2e8;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 14px 38px rgba(25, 44, 58, 0.07);
}

.aeson-core-service-mobile .aeson-mobile-stage-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
    background: #edf4f7;
    color: #5a6f7a;
    transition: 0.25s ease;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip span.active {
    background: #2f86a6;
    color: #ffffff;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap {
    background: #ffffff;
    border: 1px solid #dce7ed;
    border-radius: 18px;
    padding: 26px;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 24px;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading strong {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    color: #293341;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading span {
    display: block;
    margin-top: 8px;
    color: #738692;
    line-height: 1.55;
}

.aeson-core-service-mobile .aeson-mobile-diagram-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    background: #edf5f8;
    color: #2b7d99;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main {
    display: grid;
    grid-template-columns: minmax(210px, 0.88fr) 44px minmax(175px, 0.78fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 24px;
}

.aeson-core-service-mobile .aeson-mobile-phone-shell {
    position: relative;
    background: linear-gradient(180deg, #18212b 0%, #0f161f 100%);
    border-radius: 32px;
    padding: 18px;
    min-height: 388px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 14px 30px rgba(13, 24, 33, 0.14);
}

.aeson-core-service-mobile .aeson-mobile-phone-shell::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 10px;
    width: 82px;
    height: 8px;
    margin-left: -41px;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
}

.aeson-core-service-mobile .aeson-mobile-phone-screen {
    position: relative;
    background: linear-gradient(180deg, #eef4f7 0%, #dce7ed 100%);
    border-radius: 20px;
    min-height: 116px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    overflow: hidden;
}

.aeson-core-service-mobile .aeson-mobile-phone-screen::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.35), transparent 42%);
    pointer-events: none;
}

.aeson-core-service-mobile .aeson-mobile-screen-state {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    background: #233342;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.aeson-core-service-mobile .aeson-mobile-phone-board {
    position: relative;
    min-height: 222px;
    background: linear-gradient(180deg, #183c4e 0%, #143140 100%);
    border-radius: 18px;
    overflow: hidden;
    padding: 22px;
}

.aeson-core-service-mobile .aeson-mobile-board-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.24;
    pointer-events: none;
}

.aeson-core-service-mobile .aeson-mobile-chip {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f4f8fa;
    color: #253543;
    box-shadow: 0 10px 22px rgba(14, 24, 31, 0.18);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    border: 1px solid rgba(255,255,255,0.5);
}

.aeson-core-service-mobile .aeson-mobile-chip.cpu { top: 30px; left: 24px; }
.aeson-core-service-mobile .aeson-mobile-chip.storage { top: 32px; right: 22px; }
.aeson-core-service-mobile .aeson-mobile-chip.security { bottom: 66px; left: 34px; }
.aeson-core-service-mobile .aeson-mobile-chip.power { bottom: 38px; right: 38px; }

.aeson-core-service-mobile .aeson-mobile-flow-arrow {
    position: relative;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #49a9c6 0%, #2f86a6 100%);
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow::after {
    content: '';
    position: absolute;
    right: -2px;
    top: 50%;
    width: 13px;
    height: 13px;
    margin-top: -7px;
    border-top: 3px solid #2f86a6;
    border-right: 3px solid #2f86a6;
    transform: rotate(45deg);
}

.aeson-core-service-mobile .aeson-mobile-output-panel {
    background: linear-gradient(180deg, #f8fbfd 0%, #edf5f8 100%);
    border: 1px solid #d8e5eb;
    border-radius: 18px;
    min-height: 230px;
    padding: 18px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
}

.aeson-core-service-mobile .aeson-mobile-output-icons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.aeson-core-service-mobile .aeson-mobile-output-icons span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    text-align: center;
    padding: 10px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #d6e2e8;
    color: #33414c;
    font-size: 12px;
    font-weight: 600;
}

.aeson-core-service-mobile .aeson-mobile-output-lock {
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: #253542;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: center;
}

.aeson-core-service-mobile .aeson-mobile-step-buttons {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}

.aeson-core-service-mobile .aeson-mobile-step-buttons button {
    appearance: none;
    border: 1px solid #d6e2e8;
    background: #f9fcfd;
    color: #526671;
    border-radius: 12px;
    padding: 10px 10px;
    text-align: left;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
    transition: 0.25s ease;
    cursor: pointer;
}

.aeson-core-service-mobile .aeson-mobile-step-buttons button:hover,
.aeson-core-service-mobile .aeson-mobile-step-buttons button.active {
    background: #2f86a6;
    border-color: #2f86a6;
    color: #ffffff;
}

.aeson-core-service-mobile .aeson-mobile-stage-note {
    font-size: 15px;
    line-height: 1.65;
    color: #586d79;
    margin-bottom: 16px;
}

.aeson-core-service-mobile .aeson-mobile-stage-caution {
    background: #f2f7fa;
    border-left: 4px solid #2f86a6;
    padding: 14px 16px;
    color: #4f6470;
    font-size: 13px;
    line-height: 1.6;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="failed"] .aeson-mobile-screen-state {
    background: #8c2437;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="diagnosis"] .aeson-mobile-chip.power,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="diagnosis"] .aeson-mobile-chip.cpu {
    background: #dff5fb;
    color: #1f6f8c;
    border-color: rgba(47,134,166,0.35);
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(47, 134, 166, 0.22);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="diagnosis"] .aeson-mobile-phone-screen::before {
    content: '';
    position: absolute;
    inset: 18px;
    border-radius: 16px;
    border: 2px dashed rgba(47,134,166,0.45);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="preserve"] .aeson-mobile-chip {
    background: #e3f7f5;
    color: #21696a;
    border-color: rgba(44, 151, 143, 0.35);
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(31, 110, 104, 0.18);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="authenticate"] .aeson-mobile-screen-state,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="authenticate"] .aeson-mobile-output-lock {
    background: #2f86a6;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="authenticate"] .aeson-mobile-phone-screen {
    background: linear-gradient(180deg, #e8f7fb 0%, #dff3f8 100%);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="extract"] .aeson-mobile-output-lock,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="extract"] .aeson-mobile-screen-state {
    background: #2c9366;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="extract"] .aeson-mobile-output-icons span {
    background: #eefaf4;
    border-color: #cfe9da;
}

/* Device sections */
.aeson-core-service-mobile .aeson-mobile-device-section,
.aeson-core-service-mobile .aeson-mobile-encryption-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.86fr);
    gap: 36px;
    align-items: start;
    margin: 56px 0 68px;
}

.aeson-core-service-mobile .aeson-mobile-device-media,
.aeson-core-service-mobile .aeson-mobile-encryption-media {
    align-self: start;
    margin: 0;
    background: #f9fbfc;
    border: 1px solid #d8e2e8;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(25, 44, 58, 0.08);
}

.aeson-core-service-mobile .aeson-mobile-device-media img,
.aeson-core-service-mobile .aeson-mobile-encryption-media img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.aeson-core-service-mobile .aeson-mobile-device-media figcaption,
.aeson-core-service-mobile .aeson-mobile-encryption-media figcaption {
    padding: 15px 18px 18px;
    color: #667a86;
    line-height: 1.55;
    font-size: 14px;
}

.aeson-core-service-mobile .aeson-mobile-device-copy p:last-child,
.aeson-core-service-mobile .aeson-mobile-encryption-copy p:last-child {
    margin-bottom: 0;
}

.aeson-core-service-mobile .aeson-mobile-failure-grid {
    margin-top: 12px;
    margin-bottom: 60px;
}

.aeson-core-service-mobile .aeson-mobile-failure-grid .aeson-core-card {
    min-height: 100%;
}

.aeson-core-service-mobile .aeson-mobile-data-types {
    margin: 28px 0 58px;
}

.aeson-core-service-mobile .aeson-mobile-forensic-panel {
    background: linear-gradient(180deg, #f7fafc 0%, #eef5f8 100%);
}

/* Organic lists */
.aeson-core-service-mobile .aeson-mobile-need-list,
.aeson-core-service-mobile .aeson-mobile-warning-list {
    margin: 26px 0 56px;
}

.aeson-core-service-mobile .aeson-core-organic-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 28px;
    padding: 6px 0;
    border-top: 1px solid #dce5e9;
    border-bottom: 1px solid #dce5e9;
}

.aeson-core-service-mobile .aeson-core-organic-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
    padding: 15px 4px 15px 2px;
    border-bottom: 1px solid #edf1f3;
    color: #4f5a63;
    font-size: 15px;
    line-height: 1.55;
}

.aeson-core-service-mobile .aeson-core-organic-item:nth-last-child(-n+2) {
    border-bottom-color: transparent;
}

.aeson-core-service-mobile .aeson-core-organic-dot {
    flex: 0 0 11px;
    width: 11px;
    height: 2px;
    margin-top: 11px;
    border-radius: 0;
    background: #249bc2;
    color: transparent;
    font-size: 0;
    line-height: 0;
}

.aeson-core-service-mobile .aeson-core-organic-warning-list .aeson-core-organic-dot {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2f7288;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

/* Final CTA */
.aeson-core-service-mobile .aeson-mobile-final-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 26px;
    align-items: center;
    margin: 64px 0 16px;
    padding: 30px 34px;
    border-radius: 20px;
    background: #f5fafc;
    border: 1px solid #d9e5eb;
}

.aeson-core-service-mobile .aeson-mobile-final-cta h2 {
    margin: 6px 0 10px;
}

.aeson-core-service-mobile .aeson-mobile-final-cta p {
    margin-bottom: 0;
}

.aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn {
    margin: 0;
}

.aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
}

@media only screen and (max-width: 1199px) {
    .aeson-core-service-mobile .aeson-mobile-step-buttons {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .aeson-core-service-mobile .aeson-mobile-device-media img,
    .aeson-core-service-mobile .aeson-mobile-encryption-media img {
        height: 420px;
    }
}

@media only screen and (max-width: 991px) {
    .aeson-core-service-mobile .aeson-mobile-visualizer,
    .aeson-core-service-mobile .aeson-mobile-device-section,
    .aeson-core-service-mobile .aeson-mobile-encryption-feature,
    .aeson-core-service-mobile .aeson-mobile-final-cta {
        grid-template-columns: 1fr;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: 1fr;
    }

    .aeson-core-service-mobile .aeson-mobile-flow-arrow {
        width: 3px;
        height: 42px;
        margin: 0 auto;
        background: linear-gradient(180deg, #49a9c6 0%, #2f86a6 100%);
    }

    .aeson-core-service-mobile .aeson-mobile-flow-arrow::after {
        left: 50%;
        right: auto;
        bottom: -1px;
        top: auto;
        margin-top: 0;
        margin-left: -7px;
        border-top: 0;
        border-right: 3px solid #2f86a6;
        border-bottom: 3px solid #2f86a6;
        transform: rotate(45deg);
    }

    .aeson-core-service-mobile .aeson-core-organic-list,
    .aeson-core-service-mobile .aeson-mobile-step-buttons {
        grid-template-columns: 1fr 1fr;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-visualizer {
        margin: 44px 0 54px;
        gap: 22px;
    }

    .aeson-core-service-mobile .aeson-mobile-visualizer-panel,
    .aeson-core-service-mobile .aeson-mobile-diagram-wrap,
    .aeson-core-service-mobile .aeson-mobile-final-cta {
        padding: 18px;
        border-radius: 16px;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-heading {
        flex-direction: column;
        margin-bottom: 20px;
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip {
        gap: 7px;
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip span {
        padding: 7px 10px;
        font-size: 10px;
    }

    .aeson-core-service-mobile .aeson-mobile-step-buttons,
    .aeson-core-service-mobile .aeson-core-organic-list {
        grid-template-columns: 1fr;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        min-height: 338px;
        padding: 16px;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        min-height: 110px;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-board {
        min-height: 186px;
    }

    .aeson-core-service-mobile .aeson-mobile-chip {
        font-size: 9px;
        padding: 9px 10px;
    }

    .aeson-core-service-mobile .aeson-mobile-chip.cpu { top: 24px; left: 18px; }
    .aeson-core-service-mobile .aeson-mobile-chip.storage { top: 24px; right: 18px; }
    .aeson-core-service-mobile .aeson-mobile-chip.security { bottom: 60px; left: 26px; }
    .aeson-core-service-mobile .aeson-mobile-chip.power { bottom: 32px; right: 28px; }

    .aeson-core-service-mobile .aeson-mobile-output-icons {
        grid-template-columns: 1fr 1fr;
    }

    .aeson-core-service-mobile .aeson-mobile-device-section,
    .aeson-core-service-mobile .aeson-mobile-encryption-feature {
        margin: 44px 0 54px;
        gap: 22px;
    }

    .aeson-core-service-mobile .aeson-mobile-device-media img,
    .aeson-core-service-mobile .aeson-mobile-encryption-media img {
        height: 330px;
    }

    .aeson-core-service-mobile .aeson-core-organic-item {
        border-bottom: 1px solid #edf1f3;
        padding: 13px 2px;
        font-size: 14px;
    }

    .aeson-core-service-mobile .aeson-core-organic-item:last-child {
        border-bottom-color: transparent;
    }

    .aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn a {
        min-width: 0;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aeson-core-service-mobile .aeson-mobile-chip,
    .aeson-core-service-mobile .aeson-mobile-stage-strip span,
    .aeson-core-service-mobile .aeson-mobile-step-buttons button {
        transition: none !important;
    }
}

/* ==========================================================
   MOBILE SERVICE V52 — FULL-WIDTH RECOVERY PATH VISUALIZER
   The visualizer is a feature section, not a side-by-side card.
   Intro sits above; infographic uses the full article width.
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-visualizer {
    display: block !important;
    margin: 54px 0 70px !important;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-intro {
    max-width: 900px;
    margin: 0 0 28px;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-intro h2 {
    max-width: 820px;
    margin-bottom: 18px;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-intro p {
    max-width: 850px;
    margin-bottom: 0;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-panel {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 26px !important;
    border: 1px solid #d6e2e8;
    border-radius: 20px;
    background: #f7fafc;
    box-shadow: 0 16px 40px rgba(25, 44, 58, 0.07);
}

.aeson-core-service-mobile .aeson-mobile-stage-strip {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 18px;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip span {
    width: 100%;
    min-height: 38px;
    padding: 8px 7px;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap {
    width: 100%;
    min-width: 0;
    padding: 26px 28px 24px !important;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading {
    align-items: center;
    margin-bottom: 26px;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading > div:first-child {
    min-width: 0;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading strong {
    font-size: 24px;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main {
    grid-template-columns: minmax(260px, .98fr) 62px minmax(220px, .72fr) !important;
    gap: 20px !important;
    align-items: center;
    width: 100%;
    min-width: 0;
    margin: 0 0 26px;
}

.aeson-core-service-mobile .aeson-mobile-phone-shell {
    width: 100%;
    max-width: 360px;
    min-height: 390px;
    margin: 0 auto;
}

.aeson-core-service-mobile .aeson-mobile-phone-screen {
    min-height: 118px;
}

.aeson-core-service-mobile .aeson-mobile-phone-board {
    min-height: 220px;
}

.aeson-core-service-mobile .aeson-mobile-output-panel {
    width: 100%;
    min-width: 0;
    min-height: 250px;
    padding: 20px 16px;
}

.aeson-core-service-mobile .aeson-mobile-output-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.aeson-core-service-mobile .aeson-mobile-output-icons span {
    min-width: 0;
    min-height: 68px;
    padding: 10px 8px;
    font-size: 13px;
    line-height: 1.35;
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow {
    width: 100%;
    min-width: 0;
}

.aeson-core-service-mobile .aeson-mobile-step-buttons {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px;
    margin: 0 0 22px;
}

.aeson-core-service-mobile .aeson-mobile-step-buttons button {
    min-width: 0;
    min-height: 66px;
    padding: 10px 9px;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
}

.aeson-core-service-mobile .aeson-mobile-stage-note {
    max-width: 880px;
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.65;
}

.aeson-core-service-mobile .aeson-mobile-stage-caution {
    max-width: 940px;
    margin: 0;
}

/* Make later recovery states feel intentional rather than leaving
   the initial "NO POWER" message visible through the entire cycle. */
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="diagnosis"] .aeson-mobile-screen-state,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="preserve"] .aeson-mobile-screen-state,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="authenticate"] .aeson-mobile-screen-state,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="extract"] .aeson-mobile-screen-state {
    min-width: 0;
    max-width: 90%;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
}

@media only screen and (max-width: 1199px) {
    .aeson-core-service-mobile .aeson-mobile-visualizer-panel {
        padding: 22px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-wrap {
        padding: 23px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: minmax(235px, .95fr) 48px minmax(190px, .7fr) !important;
        gap: 16px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        min-height: 360px;
    }

    .aeson-core-service-mobile .aeson-mobile-step-buttons button {
        font-size: 11px;
        padding: 9px 6px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-visualizer {
        margin: 42px 0 52px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-visualizer-intro {
        margin-bottom: 22px;
    }

    .aeson-core-service-mobile .aeson-mobile-visualizer-panel {
        padding: 16px !important;
        border-radius: 16px;
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip span:last-child {
        grid-column: 1 / -1;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-wrap {
        padding: 18px !important;
        border-radius: 14px;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-heading {
        align-items: flex-start;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-flow-arrow {
        width: 3px;
        height: 40px;
        margin: 0 auto;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        max-width: 330px;
        min-height: 340px;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        min-height: 0;
    }

    .aeson-core-service-mobile .aeson-mobile-step-buttons {
        grid-template-columns: 1fr !important;
    }

    .aeson-core-service-mobile .aeson-mobile-step-buttons button {
        min-height: 0;
        font-size: 13px;
        text-align: left;
        padding: 12px 14px;
    }
}



/* ==========================================================
   V53 visualizer refinement:
   - top stage pills are real buttons and clickable
   - phone silhouette restored to a normal tall handset shape
   - internal layout rebalanced so the diagram reads naturally
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-stage-strip button {
    appearance: none;
    border: 1px solid transparent;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border-radius: 999px;
    background: #edf4f7;
    color: #5a6f7a;
    font-size: 11px;
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.25;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button:hover,
.aeson-core-service-mobile .aeson-mobile-stage-strip button:focus-visible,
.aeson-core-service-mobile .aeson-mobile-stage-strip button.active {
    background: #2f86a6;
    color: #ffffff;
    border-color: #2f86a6;
    box-shadow: 0 10px 20px rgba(47, 134, 166, 0.18);
    outline: none;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button:active {
    transform: translateY(1px);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main {
    grid-template-columns: minmax(260px, 320px) 60px minmax(240px, 300px) !important;
    justify-content: center;
    gap: 28px !important;
}

.aeson-core-service-mobile .aeson-mobile-phone-shell {
    width: min(100%, 282px);
    max-width: 282px;
    aspect-ratio: 9 / 18.5;
    min-height: 0;
    height: auto;
    margin: 0 auto;
    padding: 18px;
    display: flex;
    flex-direction: column;
}

.aeson-core-service-mobile .aeson-mobile-phone-screen {
    flex: 0 0 156px;
    min-height: 156px;
    margin-bottom: 16px;
}

.aeson-core-service-mobile .aeson-mobile-phone-board {
    flex: 1 1 auto;
    min-height: 0;
    padding: 22px;
}

.aeson-core-service-mobile .aeson-mobile-chip.cpu { top: 36px; left: 22px; }
.aeson-core-service-mobile .aeson-mobile-chip.storage { top: 36px; right: 20px; }
.aeson-core-service-mobile .aeson-mobile-chip.security { bottom: 72px; left: 30px; }
.aeson-core-service-mobile .aeson-mobile-chip.power { bottom: 36px; right: 34px; }

.aeson-core-service-mobile .aeson-mobile-output-panel {
    max-width: 300px;
    width: 100%;
    min-height: 334px;
    justify-content: center;
}

.aeson-core-service-mobile .aeson-mobile-output-icons span {
    min-height: 76px;
    font-size: 14px;
}

.aeson-core-service-mobile .aeson-mobile-output-lock {
    padding: 11px 18px;
    font-size: 11px;
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow {
    width: 60px;
    align-self: center;
}

.aeson-core-service-mobile .aeson-mobile-step-buttons button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media only screen and (max-width: 1199px) {
    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: minmax(240px, 300px) 44px minmax(220px, 270px) !important;
        gap: 20px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        width: min(100%, 260px);
        max-width: 260px;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        flex-basis: 142px;
        min-height: 142px;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        min-height: 304px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-stage-strip button {
        min-height: 44px;
        padding: 10px 12px;
        font-size: 11px;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: 1fr !important;
        justify-items: center;
        gap: 18px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        width: min(100%, 264px);
        max-width: 264px;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        flex-basis: 144px;
        min-height: 144px;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        max-width: 320px;
        min-height: 0;
    }
}

/* ==========================================================
   V54 MOBILE VISUALIZER — TOP NAV ONLY / TALLER PHONE
   Bottom stage controls removed from HTML. The top stage pills
   are the single interactive control row. Use the reclaimed
   vertical space to give the handset a more realistic tall form.
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-diagram-main {
    grid-template-columns: minmax(250px, 300px) 60px minmax(240px, 300px) !important;
    gap: 30px !important;
    justify-content: center;
    align-items: center;
    margin-bottom: 28px;
}

.aeson-core-service-mobile .aeson-mobile-phone-shell {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    aspect-ratio: 9 / 19.5 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 17px !important;
    border-radius: 34px !important;
    display: flex !important;
    flex-direction: column !important;
}

.aeson-core-service-mobile .aeson-mobile-phone-screen {
    flex: 0 0 178px !important;
    min-height: 178px !important;
    border-radius: 22px !important;
    margin-bottom: 15px !important;
}

.aeson-core-service-mobile .aeson-mobile-phone-board {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    border-radius: 20px !important;
}

.aeson-core-service-mobile .aeson-mobile-output-panel {
    max-width: 300px;
    min-height: 348px;
}

.aeson-core-service-mobile .aeson-mobile-stage-note {
    margin-top: 4px;
}

/* Bottom controls were intentionally removed. This also protects
   against any stale cached markup from showing them as active UI. */
.aeson-core-service-mobile .aeson-mobile-step-buttons {
    display: none !important;
}

@media only screen and (max-width: 1199px) {
    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: minmax(235px, 280px) 48px minmax(220px, 270px) !important;
        gap: 22px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        width: min(100%, 252px) !important;
        max-width: 252px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        flex-basis: 166px !important;
        min-height: 166px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        min-height: 326px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: 1fr !important;
        justify-items: center;
        gap: 18px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        width: min(100%, 258px) !important;
        max-width: 258px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        flex-basis: 170px !important;
        min-height: 170px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        max-width: 320px;
        min-height: 0;
    }
}

/* ==========================================================
   V55 MOBILE VISUALIZER — PREMIUM TECHNICAL POLISH
   Less "UI mockup", more engineering / recovery schematic.
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-visualizer {
    margin-top: 58px !important;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-intro {
    max-width: 980px;
    margin-bottom: 30px;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-intro .aeson-special-eyebrow {
    letter-spacing: 0.16em;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-panel {
    position: relative;
    padding: 24px 26px 26px !important;
    border: 1px solid #cfdce2;
    border-top: 3px solid #2f91ae;
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(249,252,253,.98), rgba(244,248,250,.98));
    box-shadow: 0 18px 42px rgba(22, 41, 53, 0.08);
    overflow: hidden;
}

.aeson-core-service-mobile .aeson-mobile-visualizer-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .36;
    background-image:
        linear-gradient(rgba(45, 112, 136, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45, 112, 136, .045) 1px, transparent 1px);
    background-size: 32px 32px;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip {
    position: relative;
    z-index: 2;
    counter-reset: mobile-stage;
    gap: 0 !important;
    margin-bottom: 20px !important;
    border: 1px solid #d2dee4;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button {
    counter-increment: mobile-stage;
    position: relative;
    min-height: 52px;
    padding: 9px 12px 9px 42px;
    border: 0;
    border-right: 1px solid #dce5e9;
    border-radius: 0;
    background: rgba(255,255,255,.88);
    color: #526671;
    box-shadow: none;
    text-align: left;
    letter-spacing: .06em;
    font-size: 11px;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button:last-child {
    border-right: 0;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button::before {
    content: '0' counter(mobile-stage);
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    color: #8ba0ab;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: transparent;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button:hover,
.aeson-core-service-mobile .aeson-mobile-stage-strip button:focus-visible {
    background: #f1f7f9;
    color: #244a5a;
    box-shadow: none;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button.active {
    background: #24343e;
    color: #ffffff;
    box-shadow: none;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button.active::before {
    color: #66c1de;
}

.aeson-core-service-mobile .aeson-mobile-stage-strip button.active::after {
    background: #35a4c7;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap {
    position: relative;
    z-index: 2;
    padding: 26px 30px 24px !important;
    border: 1px solid #d5e0e5;
    border-radius: 9px;
    background:
        linear-gradient(rgba(255,255,255,.96), rgba(255,255,255,.96)),
        repeating-linear-gradient(0deg, rgba(40, 111, 136, .035) 0 1px, transparent 1px 24px),
        repeating-linear-gradient(90deg, rgba(40, 111, 136, .035) 0 1px, transparent 1px 24px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading {
    padding-bottom: 18px;
    margin-bottom: 24px;
    border-bottom: 1px solid #e0e7ea;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading strong {
    font-size: 25px;
    letter-spacing: -.015em;
}

.aeson-core-service-mobile .aeson-mobile-diagram-heading span {
    margin-top: 6px;
    font-size: 14px;
}

.aeson-core-service-mobile .aeson-mobile-diagram-status {
    min-height: 30px;
    padding: 7px 11px;
    border-radius: 4px;
    border: 1px solid #cbdde4;
    background: #f2f7f9;
    color: #287a96;
    font-size: 10px;
    letter-spacing: .09em;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap[data-mobile-stage="failed"] .aeson-mobile-diagram-status {
    border-color: #e2c8cc;
    background: #fbf3f4;
    color: #9c4856;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap[data-mobile-stage="extract"] .aeson-mobile-diagram-status {
    border-color: #c5e2d2;
    background: #f0faf4;
    color: #287a57;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main {
    grid-template-columns: 250px 74px 290px !important;
    gap: 32px !important;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

.aeson-core-service-mobile .aeson-mobile-phone-shell {
    position: relative;
    width: 244px !important;
    max-width: 244px !important;
    aspect-ratio: 9 / 20.1 !important;
    padding: 13px !important;
    border-radius: 38px !important;
    background: linear-gradient(155deg, #18222c 0%, #0a1117 100%);
    box-shadow:
        0 24px 45px rgba(18, 32, 42, .17),
        inset 0 0 0 1px rgba(255,255,255,.08),
        inset 0 0 0 3px rgba(0,0,0,.16);
}

.aeson-core-service-mobile .aeson-mobile-phone-shell::before {
    top: 8px;
    width: 66px;
    height: 6px;
    margin-left: -33px;
    background: #303d47;
}

.aeson-core-service-mobile .aeson-mobile-phone-shell::after {
    content: '';
    position: absolute;
    right: -3px;
    top: 126px;
    width: 3px;
    height: 62px;
    border-radius: 0 3px 3px 0;
    background: #303c46;
}

.aeson-core-service-mobile .aeson-mobile-phone-screen {
    flex: 0 0 188px !important;
    min-height: 188px !important;
    margin: 14px 0 12px !important;
    border-radius: 27px 27px 17px 17px !important;
    border: 1px solid rgba(179, 204, 215, .55);
    background:
        radial-gradient(circle at 50% 20%, rgba(255,255,255,.75), transparent 38%),
        linear-gradient(180deg, #edf5f8 0%, #dce8ed 100%);
}

.aeson-core-service-mobile .aeson-mobile-screen-state {
    min-width: 0;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 4px;
    background: #253542;
    font-size: 10px;
    letter-spacing: .14em;
    box-shadow: 0 8px 18px rgba(28, 48, 60, .12);
}

.aeson-core-service-mobile .aeson-mobile-phone-board {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    border-radius: 14px 14px 25px 25px !important;
    border: 1px solid rgba(86, 157, 180, .25);
    background:
        radial-gradient(circle at 50% 8%, rgba(46,145,174,.16), transparent 30%),
        linear-gradient(180deg, #123b4a 0%, #0e2c38 100%);
    box-shadow: inset 0 0 28px rgba(0,0,0,.12);
}

.aeson-core-service-mobile .aeson-mobile-board-grid {
    opacity: .18;
    background-size: 18px 18px;
}

.aeson-core-service-mobile .aeson-mobile-phone-board::before,
.aeson-core-service-mobile .aeson-mobile-phone-board::after {
    content: '';
    position: absolute;
    z-index: 1;
    background: rgba(64, 171, 201, .28);
}

.aeson-core-service-mobile .aeson-mobile-phone-board::before {
    left: 35px;
    right: 35px;
    top: 50%;
    height: 1px;
}

.aeson-core-service-mobile .aeson-mobile-phone-board::after {
    top: 34px;
    bottom: 34px;
    left: 50%;
    width: 1px;
}

.aeson-core-service-mobile .aeson-mobile-chip {
    min-width: 52px;
    padding: 8px 9px;
    border-radius: 4px;
    border: 1px solid rgba(123, 190, 209, .45);
    background: rgba(18, 48, 59, .94);
    color: #eef8fb;
    box-shadow: 0 8px 16px rgba(4, 15, 21, .18);
    font-size: 9px;
    letter-spacing: .07em;
}

.aeson-core-service-mobile .aeson-mobile-chip.cpu { top: 34px; left: 20px; }
.aeson-core-service-mobile .aeson-mobile-chip.storage { top: 34px; right: 18px; }
.aeson-core-service-mobile .aeson-mobile-chip.security { bottom: 70px; left: 26px; }
.aeson-core-service-mobile .aeson-mobile-chip.power { bottom: 34px; right: 28px; }

.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="diagnosis"] .aeson-mobile-chip.power,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="diagnosis"] .aeson-mobile-chip.cpu,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="preserve"] .aeson-mobile-chip,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="authenticate"] .aeson-mobile-chip,
.aeson-core-service-mobile .aeson-mobile-diagram-main[data-mobile-stage="extract"] .aeson-mobile-chip {
    background: #eef8fb;
    color: #17485a;
    border-color: #82c2d6;
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow {
    position: relative;
    width: 74px;
    height: 1px;
    background: #359dbd;
    overflow: visible;
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow::before {
    content: '';
    position: absolute;
    top: -3px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #39a7c7;
    box-shadow: 0 0 0 5px rgba(57,167,199,.11);
    animation: aeson-mobile-data-pulse 2.6s ease-in-out infinite;
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow::after {
    width: 10px;
    height: 10px;
    margin-top: -6px;
    border-width: 2px;
}

@keyframes aeson-mobile-data-pulse {
    0% { left: 0; opacity: .18; }
    18% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: calc(100% - 7px); opacity: .18; }
}

.aeson-core-service-mobile .aeson-mobile-output-panel {
    position: relative;
    max-width: 290px;
    min-height: 318px;
    padding: 46px 20px 18px;
    gap: 0;
    border: 1px solid #d2dee4;
    border-radius: 7px;
    border-left: 3px solid #3399b8;
    background: rgba(251,253,254,.96);
    box-shadow: 0 14px 28px rgba(27, 46, 58, .07);
}

.aeson-core-service-mobile .aeson-mobile-output-panel::before {
    content: 'RECOVERED DATA';
    position: absolute;
    top: 18px;
    left: 19px;
    color: #718691;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
}

.aeson-core-service-mobile .aeson-mobile-output-icons {
    display: block;
}

.aeson-core-service-mobile .aeson-mobile-output-icons span {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 46px;
    padding: 0 8px 0 30px;
    border: 0;
    border-bottom: 1px solid #e4ebee;
    border-radius: 0;
    background: transparent;
    color: #33444e;
    font-size: 14px;
    font-weight: 600;
}

.aeson-core-service-mobile .aeson-mobile-output-icons span::before {
    content: '';
    position: absolute;
    left: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid #96aab3;
    background: transparent;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap[data-mobile-stage="extract"] .aeson-mobile-output-icons span::before {
    border-color: #2d986c;
    background: #2d986c;
    box-shadow: 0 0 0 4px rgba(45,152,108,.10);
}

.aeson-core-service-mobile .aeson-mobile-output-lock {
    align-self: flex-start;
    margin-top: 18px;
    padding: 7px 10px;
    border-radius: 4px;
    background: #253542;
    font-size: 9px;
    letter-spacing: .10em;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap[data-mobile-stage="extract"] .aeson-mobile-output-lock {
    background: #2d986c;
}

.aeson-core-service-mobile .aeson-mobile-stage-note {
    position: relative;
    max-width: none;
    margin: 0;
    padding: 18px 0 0 22px;
    border-top: 1px solid #e0e7ea;
    color: #526873;
    font-size: 16px;
    line-height: 1.65;
}

.aeson-core-service-mobile .aeson-mobile-stage-note::before {
    content: '';
    position: absolute;
    left: 0;
    top: 27px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #349dbc;
}

.aeson-core-service-mobile .aeson-mobile-stage-caution {
    max-width: none;
    margin-top: 15px;
    padding: 13px 0 0;
    border: 0;
    border-top: 1px dashed #cfdbe1;
    background: transparent;
    color: #60737e;
    font-size: 14px;
}

.aeson-core-service-mobile .aeson-mobile-stage-caution strong {
    color: #2c3a43;
}

@media (prefers-reduced-motion: reduce) {
    .aeson-core-service-mobile .aeson-mobile-flow-arrow::before {
        animation: none;
        left: calc(100% - 7px);
        opacity: .85;
    }
}

@media only screen and (max-width: 1199px) {
    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: 232px 54px 260px !important;
        gap: 24px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        width: 228px !important;
        max-width: 228px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        flex-basis: 174px !important;
        min-height: 174px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        max-width: 260px;
        min-height: 302px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-visualizer-panel {
        padding: 15px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        border-radius: 7px;
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip button {
        min-height: 46px;
        border-right: 0;
        border-bottom: 1px solid #dce5e9;
    }

    .aeson-core-service-mobile .aeson-mobile-stage-strip button:last-child {
        border-bottom: 0;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-wrap {
        padding: 18px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-main {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-shell {
        width: 220px !important;
        max-width: 220px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-phone-screen {
        flex-basis: 166px !important;
        min-height: 166px !important;
    }

    .aeson-core-service-mobile .aeson-mobile-flow-arrow {
        width: 1px;
        height: 48px;
        margin: 0 auto;
        background: #359dbd;
    }

    .aeson-core-service-mobile .aeson-mobile-flow-arrow::before {
        top: 0;
        left: -3px;
        animation: aeson-mobile-data-pulse-vertical 2.6s ease-in-out infinite;
    }

    .aeson-core-service-mobile .aeson-mobile-flow-arrow::after {
        left: 50%;
        right: auto;
        top: auto;
        bottom: -1px;
        margin-left: -5px;
        margin-top: 0;
        border-top: 0;
        border-right: 2px solid #2f86a6;
        border-bottom: 2px solid #2f86a6;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        width: 100%;
        max-width: 340px;
        min-height: 0;
    }
}

@keyframes aeson-mobile-data-pulse-vertical {
    0% { top: 0; opacity: .18; }
    18% { opacity: 1; }
    82% { opacity: 1; }
    100% { top: calc(100% - 7px); opacity: .18; }
}

/* ==========================================================
   V56 — IPHONE CPU / NAND SWITCHABLE HARDWARE INFOGRAPHIC
   ========================================================== */

.aeson-core-service-mobile .aeson-iphone-hardware-visualizer {
    position: relative;
    align-self: start;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #cfdde4;
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 38%, rgba(44, 137, 168, 0.10), transparent 34%),
        linear-gradient(180deg, #f8fbfc 0%, #eef4f7 100%);
    box-shadow: 0 16px 36px rgba(25, 44, 58, 0.08);
}

.aeson-core-service-mobile .aeson-iphone-hardware-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 54px;
    padding: 14px 18px;
    border-bottom: 1px solid #d7e3e8;
    color: #5a6f7b;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.aeson-core-service-mobile .aeson-iphone-hardware-status {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8f4f8;
    color: #247d9b;
    white-space: nowrap;
    transition: background 0.25s ease, color 0.25s ease;
}

.aeson-core-service-mobile .aeson-iphone-board-map {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 300px;
    padding: 28px 24px;
    overflow: hidden;
    background:
        linear-gradient(rgba(52, 102, 124, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(52, 102, 124, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,0.72), rgba(242,247,249,0.94));
    background-size: 24px 24px, 24px 24px, auto;
}

.aeson-core-service-mobile .aeson-iphone-board-map::before,
.aeson-core-service-mobile .aeson-iphone-board-map::after {
    content: '';
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(47, 134, 166, 0.10);
    border-radius: 50%;
}

.aeson-core-service-mobile .aeson-iphone-board-map::before {
    width: 220px;
    height: 220px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.aeson-core-service-mobile .aeson-iphone-board-map::after {
    width: 150px;
    height: 150px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.aeson-core-service-mobile .aeson-iphone-trace {
    position: absolute;
    display: block;
    height: 1px;
    background: rgba(47, 134, 166, 0.22);
    transform-origin: left center;
    pointer-events: none;
}

.aeson-core-service-mobile .aeson-iphone-trace::after {
    content: '';
    position: absolute;
    right: -3px;
    top: -2px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(47, 134, 166, 0.55);
}

.aeson-core-service-mobile .aeson-iphone-trace.trace-one {
    width: 34%;
    left: 5%;
    top: 23%;
    transform: rotate(8deg);
}

.aeson-core-service-mobile .aeson-iphone-trace.trace-two {
    width: 28%;
    right: 4%;
    top: 73%;
    transform: rotate(-14deg);
}

.aeson-core-service-mobile .aeson-iphone-trace.trace-three {
    width: 25%;
    left: 38%;
    bottom: 15%;
    transform: rotate(2deg);
}

.aeson-core-service-mobile .aeson-iphone-component {
    appearance: none;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    justify-items: center;
    gap: 9px;
    width: 100%;
    min-height: 218px;
    padding: 15px 13px 16px;
    border: 1px solid #ccdbe2;
    border-radius: 16px;
    background: rgba(255,255,255,0.82);
    color: #354550;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(33, 56, 70, 0.05);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.aeson-core-service-mobile .aeson-iphone-component:hover,
.aeson-core-service-mobile .aeson-iphone-component:focus-visible {
    transform: translateY(-2px);
    border-color: #83b7c8;
    outline: none;
}

.aeson-core-service-mobile .aeson-iphone-component.active {
    border-color: #2f8ead;
    background: #ffffff;
    box-shadow:
        0 16px 30px rgba(38, 111, 137, 0.11),
        inset 0 0 0 1px rgba(47, 142, 173, 0.12);
}

.aeson-core-service-mobile .aeson-iphone-component.active::after {
    content: '';
    position: absolute;
    inset: -1px;
    border: 1px solid rgba(47, 142, 173, 0.34);
    border-radius: inherit;
    pointer-events: none;
    animation: aeson-iphone-selected-pulse 2.4s ease-in-out infinite;
}

.aeson-core-service-mobile .aeson-iphone-component-index {
    justify-self: start;
    color: #7d909a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.aeson-core-service-mobile .aeson-iphone-chip-surface {
    position: relative;
    align-self: center;
    display: block;
    width: min(100%, 148px);
    background: #18242c;
    border: 1px solid #43535c;
    box-shadow:
        inset 0 0 0 4px #111b22,
        0 12px 22px rgba(17, 29, 37, 0.16);
    overflow: hidden;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.aeson-core-service-mobile .cpu-surface {
    aspect-ratio: 1 / 1;
    border-radius: 6px;
}

.aeson-core-service-mobile .nand-surface {
    aspect-ratio: 1.36 / 1;
    border-radius: 6px;
    background: linear-gradient(135deg, #36424a 0%, #182229 58%, #2e3b43 100%);
}

.aeson-core-service-mobile .aeson-iphone-component.active .aeson-iphone-chip-surface {
    border-color: #6cb0c6;
    box-shadow:
        inset 0 0 0 4px #111b22,
        0 0 0 5px rgba(47, 142, 173, 0.08),
        0 14px 28px rgba(27, 94, 118, 0.18);
}

.aeson-core-service-mobile .aeson-iphone-chip-surface i {
    position: absolute;
    display: block;
    border-radius: 2px;
    background: #aab6bc;
    opacity: 0.65;
}

.aeson-core-service-mobile .cpu-surface i:nth-child(1) { width: 18px; height: 11px; left: 12px; top: 12px; }
.aeson-core-service-mobile .cpu-surface i:nth-child(2) { width: 14px; height: 20px; right: 14px; top: 14px; }
.aeson-core-service-mobile .cpu-surface i:nth-child(3) { width: 22px; height: 12px; left: 16px; bottom: 15px; }
.aeson-core-service-mobile .cpu-surface i:nth-child(4) { width: 15px; height: 15px; right: 18px; bottom: 16px; }

.aeson-core-service-mobile .nand-surface i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d7dde0;
    box-shadow: 18px 0 #d7dde0, 36px 0 #d7dde0, 54px 0 #d7dde0, 72px 0 #d7dde0;
}
.aeson-core-service-mobile .nand-surface i:nth-child(1) { left: 18px; top: 20px; }
.aeson-core-service-mobile .nand-surface i:nth-child(2) { left: 28px; top: 38px; }
.aeson-core-service-mobile .nand-surface i:nth-child(3) { left: 18px; top: 56px; }
.aeson-core-service-mobile .nand-surface i:nth-child(4) { left: 28px; top: 74px; }
.aeson-core-service-mobile .nand-surface i:nth-child(5) { left: 18px; bottom: 22px; }
.aeson-core-service-mobile .nand-surface i:nth-child(6) { right: 30px; bottom: 22px; }

.aeson-core-service-mobile .aeson-iphone-component-name {
    color: #263640;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.aeson-core-service-mobile .aeson-iphone-component-sub {
    color: #738691;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    text-align: center;
}

.aeson-core-service-mobile .aeson-iphone-pair-link {
    position: relative;
    z-index: 2;
    height: 3px;
    border-radius: 999px;
    background: #9dc4d2;
}

.aeson-core-service-mobile .aeson-iphone-pair-link::before,
.aeson-core-service-mobile .aeson-iphone-pair-link::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border: 2px solid #6da9be;
    border-radius: 50%;
    background: #f4f9fb;
}

.aeson-core-service-mobile .aeson-iphone-pair-link::before { left: -5px; }
.aeson-core-service-mobile .aeson-iphone-pair-link::after { right: -5px; }

.aeson-core-service-mobile .aeson-iphone-pair-link span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 11px;
    height: 11px;
    margin: -6px 0 0 -6px;
    border-radius: 50%;
    background: #2f8ead;
    box-shadow: 0 0 0 6px rgba(47, 142, 173, 0.10);
    animation: aeson-iphone-link-pulse 2.2s ease-in-out infinite;
}

.aeson-core-service-mobile .aeson-iphone-component-detail {
    min-height: 188px;
    padding: 22px 24px 24px;
    border-top: 1px solid #d6e2e8;
    background: #ffffff;
}

.aeson-core-service-mobile .aeson-iphone-detail-kicker {
    display: block;
    margin-bottom: 8px;
    color: #2f8ead;
    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.aeson-core-service-mobile .aeson-iphone-component-detail h3 {
    margin: 0 0 10px;
    color: #293842;
    font-size: 23px;
    line-height: 1.2;
    font-weight: 600;
}

.aeson-core-service-mobile .aeson-iphone-component-detail p {
    margin: 0;
    color: #5f727d;
    font-size: 15px;
    line-height: 1.66;
}

.aeson-core-service-mobile .aeson-iphone-hardware-footer {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 20px 14px;
    border-top: 1px solid #e0e8ec;
    background: #f7fafb;
    color: #697b85;
    font-size: 11px;
    line-height: 1.4;
}

.aeson-core-service-mobile .aeson-iphone-footer-dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2f8ead;
    box-shadow: 0 0 0 4px rgba(47, 142, 173, 0.10);
}

.aeson-core-service-mobile .aeson-iphone-hardware-visualizer[data-iphone-hardware="nand"] .aeson-iphone-hardware-status {
    background: #eef1f6;
    color: #52677a;
}

@keyframes aeson-iphone-selected-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(47, 142, 173, 0.10); opacity: 0.8; }
    50% { box-shadow: 0 0 0 7px rgba(47, 142, 173, 0); opacity: 1; }
}

@keyframes aeson-iphone-link-pulse {
    0%, 100% { transform: scale(0.92); box-shadow: 0 0 0 5px rgba(47, 142, 173, 0.10); }
    50% { transform: scale(1.08); box-shadow: 0 0 0 9px rgba(47, 142, 173, 0.02); }
}

@media only screen and (max-width: 1199px) {
    .aeson-core-service-mobile .aeson-iphone-board-map {
        grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
        gap: 9px;
        padding: 22px 18px;
    }

    .aeson-core-service-mobile .aeson-iphone-component {
        min-height: 205px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-iphone-hardware-topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .aeson-core-service-mobile .aeson-iphone-board-map {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 18px 24px;
    }

    .aeson-core-service-mobile .aeson-iphone-component {
        width: min(100%, 310px);
        min-height: 205px;
        justify-self: center;
    }

    .aeson-core-service-mobile .aeson-iphone-pair-link {
        width: 3px;
        height: 42px;
        justify-self: center;
    }

    .aeson-core-service-mobile .aeson-iphone-pair-link::before,
    .aeson-core-service-mobile .aeson-iphone-pair-link::after {
        left: 50%;
        margin-left: -5px;
    }

    .aeson-core-service-mobile .aeson-iphone-pair-link::before { top: 0; margin-top: -5px; }
    .aeson-core-service-mobile .aeson-iphone-pair-link::after { top: auto; bottom: -5px; margin-top: 0; }

    .aeson-core-service-mobile .aeson-iphone-component-detail {
        min-height: 0;
        padding: 20px;
    }

    .aeson-core-service-mobile .aeson-iphone-component-detail h3 {
        font-size: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aeson-core-service-mobile .aeson-iphone-component.active::after,
    .aeson-core-service-mobile .aeson-iphone-pair-link span {
        animation: none !important;
    }
}

/* ==========================================================
   V57 — CPU / NAND SWITCHER MOVED TO LOGIC-BOARD SECTION
   Keeps the original iPhone device image in the iPhone section.
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-hardware-visualizer {
    margin: 0;
    align-self: start;
}

.aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-board-map {
    min-height: 270px;
    padding: 22px 18px;
    grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr);
    gap: 9px;
}

.aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-component {
    min-height: 194px;
    padding: 14px 11px 15px;
}

.aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-chip-surface {
    width: min(100%, 132px);
}

.aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-component-detail {
    min-height: 170px;
    padding: 20px 21px 22px;
}

.aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-component-detail h3 {
    font-size: 21px;
}

@media only screen and (max-width: 991px) {
    .aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-board-map {
        grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
        gap: 12px;
        padding: 24px 20px;
    }

    .aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-component {
        min-height: 205px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-encryption-feature .aeson-iphone-board-map {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 18px 24px;
    }
}

/* ==========================================================
   MOBILE SERVICE V58 — FINAL CTA ALIGNMENT
   Anchor the action to the lower-right of the CTA content so
   the button no longer floats randomly in the middle.
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-final-cta {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.42fr);
    align-items: stretch;
    gap: 42px;
    padding: 36px 40px 38px;
}

.aeson-core-service-mobile .aeson-mobile-final-cta > div:first-child {
    max-width: 760px;
}

.aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn {
    align-self: end;
    justify-self: end;
    width: 100%;
    max-width: 330px;
    margin: 0 0 2px;
}

.aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn a {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 15px 24px;
    box-sizing: border-box;
}

@media only screen and (max-width: 991px) {
    .aeson-core-service-mobile .aeson-mobile-final-cta {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn {
        justify-self: start;
        align-self: auto;
        max-width: 330px;
    }
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-final-cta {
        padding: 24px 22px;
        gap: 20px;
    }

    .aeson-core-service-mobile .aeson-mobile-final-cta .informationPageRecoveryBtn {
        max-width: none;
        width: 100%;
    }
}


/* ==========================================================
   V59 — MOBILE RECOVERY VISUALIZER TEXTURE PASS
   Add the same premium schematic / board-map feeling from the
   CPU/NAND visualizer into the first full-width infographic.
   No HTML change required.
   ========================================================== */

.aeson-core-service-mobile .aeson-mobile-diagram-wrap {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 26%, rgba(47, 142, 173, 0.07), transparent 18%),
        radial-gradient(circle at 81% 34%, rgba(47, 142, 173, 0.06), transparent 18%),
        linear-gradient(rgba(52, 102, 124, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(52, 102, 124, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,0.94), rgba(243,248,250,0.98));
    background-size: auto, auto, 24px 24px, 24px 24px, auto;
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap::before,
.aeson-core-service-mobile .aeson-mobile-diagram-wrap::after {
    content: '';
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    border: 1px solid rgba(47, 134, 166, 0.08);
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap::before {
    width: 520px;
    height: 520px;
    left: 50%;
    top: 49%;
    transform: translate(-50%, -50%);
}

.aeson-core-service-mobile .aeson-mobile-diagram-wrap::after {
    width: 360px;
    height: 360px;
    left: 50%;
    top: 49%;
    transform: translate(-50%, -50%);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main {
    position: relative;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main::before,
.aeson-core-service-mobile .aeson-mobile-diagram-main::after {
    content: '';
    position: absolute;
    pointer-events: none;
    background: rgba(47, 134, 166, 0.15);
}

.aeson-core-service-mobile .aeson-mobile-diagram-main::before {
    left: 18%;
    right: 18%;
    top: 50%;
    height: 1px;
}

.aeson-core-service-mobile .aeson-mobile-diagram-main::after {
    top: 14%;
    bottom: 14%;
    left: 50%;
    width: 1px;
    transform: translateX(-50%);
}

.aeson-core-service-mobile .aeson-mobile-phone-shell,
.aeson-core-service-mobile .aeson-mobile-output-panel,
.aeson-core-service-mobile .aeson-mobile-flow-arrow {
    position: relative;
    z-index: 2;
}

.aeson-core-service-mobile .aeson-mobile-output-panel {
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 14%, rgba(53, 157, 189, 0.10), transparent 28%),
        linear-gradient(rgba(52, 102, 124, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(52, 102, 124, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(251,253,254,0.97), rgba(244,249,250,0.98));
    background-size: auto, 22px 22px, 22px 22px, auto;
}

.aeson-core-service-mobile .aeson-mobile-output-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(140deg, transparent 0 57%, rgba(53,157,189,0.08) 57% 58%, transparent 58% 100%),
        linear-gradient(24deg, transparent 0 40%, rgba(53,157,189,0.06) 40% 41%, transparent 41% 100%);
    opacity: 0.7;
}

.aeson-core-service-mobile .aeson-mobile-output-icons,
.aeson-core-service-mobile .aeson-mobile-output-lock {
    position: relative;
    z-index: 1;
}

.aeson-core-service-mobile .aeson-mobile-output-icons span {
    background: rgba(232, 242, 238, 0.70);
    backdrop-filter: blur(1px);
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow {
    background: linear-gradient(90deg, rgba(53,157,189,0.18), #359dbd 30%, #359dbd 70%, rgba(53,157,189,0.18));
}

.aeson-core-service-mobile .aeson-mobile-flow-arrow::after {
    box-shadow: 8px -8px 18px rgba(47, 134, 166, 0.08);
}

@media only screen and (max-width: 767px) {
    .aeson-core-service-mobile .aeson-mobile-diagram-wrap::before {
        width: 380px;
        height: 380px;
        top: 44%;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-wrap::after {
        width: 250px;
        height: 250px;
        top: 44%;
    }

    .aeson-core-service-mobile .aeson-mobile-diagram-main::before,
    .aeson-core-service-mobile .aeson-mobile-diagram-main::after {
        display: none;
    }

    .aeson-core-service-mobile .aeson-mobile-output-panel {
        background-size: auto, 18px 18px, 18px 18px, auto;
    }
}\n\n/* ==========================================================\n   OFFSCREEN INFOGRAPHIC PERFORMANCE\n   Pause CSS keyframes when either mobile infographic is not visible.\n   ========================================================== */\n.aeson-mobile-visualizer.is-infographic-paused,\n.aeson-mobile-visualizer.is-infographic-paused *,\n.aeson-mobile-visualizer.is-infographic-paused::before,\n.aeson-mobile-visualizer.is-infographic-paused::after,\n.aeson-mobile-visualizer.is-infographic-paused *::before,\n.aeson-mobile-visualizer.is-infographic-paused *::after,\n.aeson-iphone-hardware-visualizer.is-infographic-paused,\n.aeson-iphone-hardware-visualizer.is-infographic-paused *,\n.aeson-iphone-hardware-visualizer.is-infographic-paused::before,\n.aeson-iphone-hardware-visualizer.is-infographic-paused::after,\n.aeson-iphone-hardware-visualizer.is-infographic-paused *::before,\n.aeson-iphone-hardware-visualizer.is-infographic-paused *::after {\n    animation-play-state: paused !important;\n}\n