/**
 * GEO / BLUF page content — Figma My3 Web UIUX DT node 267:15412
 * Self-contained: do NOT load live applecss (its global section:hover breaks mocks).
 */

*, *::before, *::after { box-sizing: border-box; }

:root {
    --geo-page-max: 1410px;
    --geo-shell-max: 1600px;
    --geo-pink: #774fda;
    --geo-pink-dark: #8635dd;
    --geo-purple: #774fda;
    --geo-ink: #1a1033;
    --geo-muted: #5c5470;
    --geo-line: #dbdbdb;
    --geo-bg: #f9f9f9;
    --geo-white: #fff;
    --geo-radius-badge: 4px;
    --geo-radius-icon: 8px;
    --geo-radius-card: 16px;
    --geo-radius-pill: 100px;
}

body.geo-page {
    margin: 0;
    overflow-x: hidden;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    background: var(--geo-bg); /* grey gutters outside the 1600px white well (same as WORLD PLAN) */
    color: #111;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}

/* Kill accidental section/tab hover from any external CSS */
body.geo-page .geo-shell section,
body.geo-page .geo-shell section:hover {
    background: transparent;
    cursor: default;
    padding: 0;
    white-space: normal;
    text-align: inherit;
    position: static;
}

.geo-mock-banner {
    background: var(--geo-ink);
    color: #fce4f0;
    text-align: center;
    padding: 0.45rem 1rem;
    font-size: 0.78rem;
}
.geo-mock-banner a { color: #fff; }

/* Same as WORLD PLAN `.wp-page` / live `#pagewrap` — white well, banner 100%, content 88%. */
.geo-shell {
    width: 100%;
    max-width: var(--geo-shell-max);
    margin: 0 auto;
    padding: 0 0 40px;
    background: var(--geo-white);
    min-width: 0;
}
/* Same as WORLD PLAN `.wp-inner` / live `.pagetablewidth`. */
.geo-content {
    width: 88%;
    max-width: var(--geo-shell-max);
    margin: 0 auto;
    min-width: 0;
}

.geo-hero {
    margin: 0 0 0;
    line-height: 0;
    overflow: hidden;
    width: 100%;
    max-width: none;
    max-height: 360px;
}
.geo-hero img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center 18%;
    display: block;
}
.geo-hero .displaymob { display: none; }
@media (max-width: 768px) {
    /* Live / WORLD PLAN mobile: white page, no grey gutters; banner bleeds; content 16px inset. */
    body.geo-page {
        background: #ffffff;
    }
    .geo-shell {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 0 32px;
    }
    .geo-content {
        width: 100%;
        padding: 0 16px;
    }
    .geo-hero {
        width: 100%;
        max-width: none;
        margin: 0;
    }
    .geo-hero,
    .geo-hero img {
        max-height: 200px;
        height: 200px;
        object-position: center 12%;
    }
    .geo-hero .displaypc { display: none; }
    .geo-hero .displaymob { display: block; }
}

/* iPhone | iPad | Watch tabs under hero — active only, no hover highlight */
.geo-product-nav {
    display: flex;
    margin: 0;
    width: 100%;
    max-width: none;
    font-size: 16px;
    background: #434448;
    color: #fff;
    font-weight: 700;
}
.geo-product-nav a {
    flex: 1 1 0;
    min-width: 0;
    padding: 15px 12px;
    text-decoration: none;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}
.geo-product-nav a.active { background: var(--geo-purple); }

.geo-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    margin: 1.25rem 0 0.75rem;
    font-size: 0.95rem;
    color: var(--geo-muted);
}
.geo-breadcrumb a { color: var(--geo-purple); text-decoration: none; }

.geo-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.25rem;
}
.geo-badges { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.geo-badge {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 0.25rem 0.55rem;
    border-radius: var(--geo-radius-badge);
}
.geo-badge-new { background: var(--geo-pink); color: #fff; }
.geo-badge-5g { background: var(--geo-ink); color: #fff; }
.geo-title-row h1 {
    margin: 0;
    font-size: clamp(1.35rem, 2.8vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--geo-ink);
    max-width: 50rem;
}
.geo-title-row h1.geo-h1-oneline {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(1.15rem, 1.7vw, 1.65rem);
}
.geo-btn-3shop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.75rem 1.5rem;
    background: var(--geo-pink);
    color: #fff !important;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    border-radius: 0;
    white-space: nowrap;
    text-decoration: none !important;
}
.geo-btn-3shop:hover { background: var(--geo-pink-dark); }
@media (max-width: 768px) {
    .geo-title-row {
        flex-direction: column;
        align-items: stretch;
    }
    .geo-title-row h1 { max-width: none; font-size: 1.35rem; }
    .geo-title-row h1.geo-h1-oneline {
        white-space: normal;
        font-size: 1.2rem;
    }
    .geo-btn-3shop {
        width: 100%;
        white-space: normal;
        text-align: center;
    }
    .geo-nav-tier-label,
    body.geo-page .wp-label { font-size: 16px; }
    .geo-product-nav a { padding: 12px 8px; font-size: 14px; }
}

.geo-nav-tier { margin: 1.25rem 0 1.5rem; }
/* Same as WORLD PLAN `.wp-label` */
.geo-nav-tier-label,
body.geo-page .wp-label {
    font-size: 18px;
    font-weight: bold;
    line-height: 120%;
    color: #000;
    margin: 0 0 8px;
}
.geo-model-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--geo-line);
}
.geo-model-links a {
    color: var(--geo-purple);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
}

/* WORLD PLAN plan radios — same component as `.wp-segment` */
body.geo-page .wp-segment,
.geo-offer-segment {
    display: flex;
    width: 100%;
    margin: 0 0 16px;
    border: 0;
    border-radius: 0;
    overflow: visible;
}
body.geo-page .wp-segment__btn,
.geo-offer-segment a {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 91px;
    padding: 16px;
    text-align: left;
    background: #fff;
    color: #000;
    border: 2px solid #774fda;
    border-right-width: 1px;
    text-decoration: none;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
}
body.geo-page .wp-segment__btn,
body.geo-page .wp-segment__btn span,
.geo-offer-segment a,
.geo-offer-segment a span {
    color: #000;
    text-decoration: none;
}
body.geo-page .wp-segment__btn:first-child,
.geo-offer-segment a:first-child {
    border-radius: 16px 0 0 16px;
}
body.geo-page .wp-segment__btn:last-child,
.geo-offer-segment a:last-child {
    border-radius: 0 16px 16px 0;
    border-right-width: 2px;
    border-left-width: 1px;
}
body.geo-page .wp-segment__btn.is-active,
body.geo-page .wp-segment__btn.is-active span,
.geo-offer-segment a.active,
.geo-offer-segment a.active span {
    background: #774fda;
    color: #fff;
}
body.geo-page .wp-segment__radio,
.geo-offer-segment__radio {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-top: 0;
    border: 2px solid #000;
    border-radius: 50%;
    box-sizing: border-box;
    position: relative;
}
body.geo-page .wp-segment__btn.is-active .wp-segment__radio,
.geo-offer-segment a.active .geo-offer-segment__radio {
    border-color: #fff;
}
body.geo-page .wp-segment__btn.is-active .wp-segment__radio::after,
.geo-offer-segment a.active .geo-offer-segment__radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background: #fff;
    transform: none;
}
body.geo-page .wp-segment__title,
.geo-offer-segment__text {
    display: block;
    flex: 1;
    min-width: 0;
    font-size: 18px;
    font-weight: bold;
    line-height: 130%;
}
body.geo-page .wp-segment__hint,
.geo-offer-segment a .hint {
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 130%;
    margin-top: 4px;
}
@media (max-width: 768px) {
    body.geo-page .wp-segment,
    .geo-offer-segment { flex-direction: column; }
    body.geo-page .wp-segment__btn,
    .geo-offer-segment a {
        min-height: 0;
        border-radius: 0;
        border-width: 2px;
        border-right: 2px solid #774fda;
        border-bottom: 0;
    }
    body.geo-page .wp-segment__btn:first-child,
    .geo-offer-segment a:first-child {
        border-radius: 16px 16px 0 0;
        border-bottom-width: 0;
    }
    body.geo-page .wp-segment__btn:last-child,
    .geo-offer-segment a:last-child {
        border-radius: 0 0 16px 16px;
        border-left-width: 2px;
        border-bottom-width: 2px;
        border-bottom: 2px #774fda solid;
    }
}

/* BLUF — Figma node 337:25465 */
.geo-bluf {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 0 2rem;
    padding: 20px 0;
    width: 100%;
}
.geo-bluf-lead {
    margin: 0;
    font-size: clamp(0.8rem, 1.25vw, 20px);
    font-weight: 400;
    line-height: normal;
    color: var(--geo-ink);
    word-break: break-word;
}
.geo-bluf-lead strong {
    font-weight: 700;
    color: #774FE1;
}
.geo-bluf-lead-divider {
    margin: 0 0 1.25rem;
    border: 0;
    border-top: 1px solid #dbdbdb;
    width: 100%;
}
.geo-bluf .geo-bluf-lead {
    margin: 0;
}
.geo-bluf-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 19px;
    width: 100%;
}
.geo-bluf-stat {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--geo-white);
    border: 1px solid #bbb;
    border-radius: var(--geo-radius-card);
    min-width: 0;
}
.geo-bluf-stat-icon {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    border-radius: var(--geo-radius-icon);
    overflow: hidden;
    background: var(--geo-white);
    display: flex;
    align-items: center;
    justify-content: center;
}
.geo-bluf-stat-icon img {
    width: 90px;
    height: 90px;
    display: block;
    object-fit: cover;
}
.geo-bluf-stat-icon--handset img {
    width: 90px;
    height: 90px;
    max-width: none;
    margin: -10px 0 0 -15px;
}
.geo-bluf-stat-icon--contract img {
    width: 97px;
    height: 97px;
    max-width: none;
    margin: -3px 0 0 -4px;
}
.geo-bluf-stat-icon--travel img {
    width: 106px;
    height: 104px;
    max-width: none;
    margin: -9px 0 0 -13px;
}
.geo-bluf-stat-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.geo-bluf-stat-value {
    margin: 0;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.21;
    letter-spacing: -0.4462px;
    color: #774FE1;
}
.geo-bluf-stat-label {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.01;
    letter-spacing: -0.0351px;
    color: var(--geo-ink);
}
.geo-bluf-stat-desc {
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    color: var(--geo-muted);
}
.geo-bluf-note {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.13;
    letter-spacing: -0.0351px;
    color: var(--geo-muted);
}

@media (max-width: 1100px) {
    .geo-bluf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .geo-bluf-stats { grid-template-columns: 1fr; gap: 16px; }
    .geo-bluf { padding: 16px 0; }
    .geo-bluf-lead { font-size: 1rem; }
    .geo-bluf-stat { padding: 16px; }
    .geo-bluf-stat-value { font-size: 17px; }
    .geo-bluf-note { font-size: 14px; }
}

.geo-section-heading {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    font-weight: 700;
    color: var(--geo-pink-dark);
    margin: 2.5rem 0 1rem;
}
#pricing .geo-section-heading {
    margin: 2.5rem 0 16px;
    font-size: 28px;
    font-weight: bold;
    color: #774fda;
    line-height: 130%;
}

/* Pricing table — same shell as WORLD PLAN `.wp-table` (100% of inner, no extra card) */
.geo-table-wrap {
    position: relative;
    width: 100%;
    margin: 0 0 12px;
    overflow: hidden;
}
.geo-pricing-table {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 13px;
}
.geo-pricing-table th {
    background: #774fda;
    color: #fff;
    padding: 10px 4px;
    font-weight: bold;
    font-size: 12px;
    text-align: center;
    vertical-align: middle;
    line-height: 120%;
    border: 2px solid #fff;
    height: auto;
}
.geo-pricing-table th *,
.geo-pricing-table th sup {
    color: #fff;
}
.geo-pricing-table th sup {
    font-size: 10px;
    font-weight: 700;
    vertical-align: super;
}
.geo-pricing-table td {
    padding: 10px 4px;
    text-align: center;
    vertical-align: middle;
    border: 2px solid #dbdbdb;
    height: auto;
    background: #fff;
    line-height: 130%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    font-size: 13px;
}
.geo-pricing-table tbody tr:nth-child(even) td:not(.geo-pricing-table__model) {
    background: #f8f8f8;
}
.geo-pricing-table__model {
    text-align: left;
    font-weight: bold;
    padding-left: 8px;
    background: #f8f0ff !important;
}
.geo-pricing-table__monthly {
    font-size: 16px;
    font-weight: bold;
    color: #774fda;
    line-height: 130%;
}
.geo-pricing-table th:last-child,
.geo-pricing-table td:last-child {
    width: 11%;
}
.geo-pricing-table__total {
    font-size: 16px;
    font-weight: 400;
    color: #000;
}
.geo-pricing-table__bundle {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.0324px;
    line-height: normal;
}
.geo-applecare-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    margin: 0 auto;
    max-width: 100%;
}
.geo-applecare-cell__main {
    font-size: 14px;
    line-height: normal;
    color: #000;
}
.geo-applecare-cell__title {
    margin: 0 0 0;
    font-weight: 700;
    font-size: 14px;
}
.geo-applecare-cell__body {
    margin: 0;
    font-size: 14px;
}
.geo-applecare-cell__price {
    font-weight: 700;
}
.geo-applecare-cell__offer {
    font-weight: 400;
}
.geo-applecare-cell__monthly {
    margin: 0;
    font-size: 14px;
    color: #000;
}
.geo-applecare-cell__monthly strong {
    font-weight: 700;
}
.geo-applecare-cell__details {
    font-size: 13px;
    font-weight: 700;
    color: #774fda;
    text-decoration: none;
}
.geo-applecare-cell__details:hover { text-decoration: underline; }
.geo-btn-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    padding: 8px 4px;
    background: #774fda;
    color: #fff !important;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    border-radius: 16px;
    box-sizing: border-box;
    white-space: nowrap;
    text-decoration: none !important;
}
.geo-btn-buy:hover { background: #8635dd; }

.geo-mobile-cards { display: none; }
@media (max-width: 900px) {
    .geo-table-wrap { display: none; }
    .geo-mobile-cards { display: flex; flex-direction: column; gap: 16px; }
}

/* Pricing mobile cards — Figma node 337:25595 */
.geo-handset-card {
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: var(--geo-radius-card);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.geo-handset-card__title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    color: var(--geo-ink);
}
.geo-handset-card__rule {
    margin: 0;
    border: 0;
    border-top: 1px solid #dbdbdb;
    width: 100%;
}
.geo-handset-card__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
}
.geo-handset-card__label {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.57;
    letter-spacing: -0.1195px;
    color: #111;
    flex: 1;
    min-width: 0;
}
.geo-handset-card__value {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.1195px;
    color: #111;
    flex-shrink: 0;
    text-align: right;
}
.geo-handset-card__price {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.375;
    color: #774FE1;
    flex-shrink: 0;
    white-space: nowrap;
}
.geo-handset-card__row--applecare {
    gap: 5px;
    align-items: center;
}
.geo-handset-card__row--applecare .geo-handset-card__label {
    flex: 0 0 120px;
    width: 120px;
}
.geo-handset-card__row--applecare .geo-handset-card__value {
    flex: 1;
    text-align: right;
}
.geo-handset-card__addon {
    margin: 0;
    font-size: 12px;
    line-height: normal;
    color: var(--geo-muted);
}
.geo-handset-card__details {
    font-weight: 700;
    color: #774FE1;
    text-decoration: none;
}
.geo-handset-card__details:hover { text-decoration: underline; }
.geo-handset-card__bundle {
    margin: 0;
    font-size: 12.48px;
    line-height: normal;
    color: var(--geo-muted);
}
.geo-handset-card__buy {
    display: block;
    width: 100%;
    padding: 7.2px 13.6px;
    background: #774FE1;
    color: #fff;
    font-size: 12.48px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: -0.0351px;
    text-align: center;
    text-decoration: none;
    border-radius: var(--geo-radius-pill);
    box-sizing: border-box;
}
.geo-handset-card__buy:hover { background: var(--geo-pink-dark); }

@media (max-width: 768px) {
    .geo-section-heading { font-size: 1.15rem; margin-top: 2rem; }
}

/* Benefits — Figma node 337:25543 */
.geo-benefits {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 2.5rem 0 2rem;
    width: 100%;
}
.geo-benefits-heading {
    margin: 0;
    padding: 10px;
    font-size: 22px;
    font-weight: 700;
    line-height: normal;
    color: #774FE1;
    border-radius: var(--geo-radius-card);
}
.geo-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
}
.geo-benefit-card {
    background: #f8f0ff;
    border: none;
    border-radius: var(--geo-radius-card);
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
    min-height: 336.5px;
    width: 100%;
}
.geo-benefit-icon {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    border-radius: var(--geo-radius-icon);
    overflow: hidden;
    background: #f8f0ff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.geo-benefit-icon img {
    width: 90px;
    height: 90px;
    display: block;
    object-fit: cover;
}
.geo-benefit-icon--offset img {
    width: 97px;
    height: 97px;
    max-width: none;
    margin: -3px 0 0 -4px;
    object-fit: cover;
}
.geo-benefit-stat {
    margin: 0;
    width: 100%;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -0.3125px;
    color: #774FE1;
}
.geo-benefit-title {
    margin: 0;
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.43;
    letter-spacing: -0.2099px;
    color: var(--geo-ink);
}
.geo-benefit-desc {
    margin: 0;
    flex: 1 0 auto;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    color: var(--geo-muted);
}

@media (max-width: 1100px) {
    .geo-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Benefits mobile — Figma node 337:25578 (2×2 grid, 343px frame) */
@media (max-width: 640px) {
    .geo-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 17px;
        row-gap: 16px;
    }
    .geo-benefits-heading {
        font-size: 18px;
        padding: 10px 0;
        line-height: normal;
        border-radius: var(--geo-radius-card);
    }
    .geo-benefit-card {
        padding: 8px;
        gap: 10px;
        min-height: 323px;
        justify-content: flex-start;
        align-items: center;
        border: 1px solid #f8f0ff;
    }
    .geo-benefit-stat {
        font-size: 19px;
        line-height: 1.21;
        letter-spacing: -0.4462px;
    }
    .geo-benefit-title {
        font-size: 16px;
        line-height: 1.01;
        letter-spacing: -0.0351px;
    }
    .geo-benefit-desc {
        font-size: 12px;
        line-height: normal;
    }
}

/* FAQ — each Q&A in its own rounded container */
.geo-faq-list {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.geo-faq-item {
    border: 1px solid var(--geo-line);
    background: var(--geo-white);
    border-radius: var(--geo-radius-card);
    overflow: hidden;
}
.geo-faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    text-align: left;
    background: none;
    border: none;
    padding: 1rem 1.125rem;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    font-family: inherit;
    color: var(--geo-ink);
}
.geo-faq-q::after {
    content: "+";
    flex-shrink: 0;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    color: var(--geo-muted);
}
.geo-faq-item.open .geo-faq-q::after { content: "−"; }
.geo-faq-a {
    display: none;
    padding: 0 1.125rem 1rem;
    font-size: 0.9rem;
    color: var(--geo-muted);
    line-height: 1.55;
    border-top: 1px solid var(--geo-line);
}
.geo-faq-a a { color: var(--geo-purple); }
.geo-faq-item.open .geo-faq-a { display: block; padding-top: 1rem; }

/* 3toTalk CTA — Figma node 344:234 */
.geo-wa-cta {
    display: flex;
    justify-content: center;
    margin: 2rem 0 1.5rem;
    width: 100%;
}
.geo-wa-cta__link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    max-width: 100%;
    text-decoration: none;
    color: #000;
    font-weight: 700;
    font-size: 22px;
    line-height: normal;
}
.geo-wa-cta__link:hover .geo-wa-cta__text,
.geo-wa-cta__link:hover .geo-wa-cta__visit {
    text-decoration: underline;
}
.geo-wa-cta__visit {
    flex-shrink: 0;
    white-space: nowrap;
}
.geo-wa-cta__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 52.5px;
    height: 52.5px;
    padding: 5px;
}
.geo-wa-cta__icon img {
    width: 42.5px;
    height: 42.5px;
    display: block;
    object-fit: cover;
}
.geo-wa-cta__text {
    min-width: 0;
    line-height: normal;
}

@media (max-width: 640px) {
    .geo-wa-cta__link {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 3px;
        column-gap: 3px;
        font-size: clamp(14px, 4.2vw, 22px);
        text-align: center;
    }
    .geo-wa-cta__icon {
        width: 48px;
        height: 48px;
        padding: 4px;
    }
    .geo-wa-cta__icon img {
        width: 40px;
        height: 40px;
    }
}

.geo-rewards {
    background: var(--geo-white);
    border: 1px solid var(--geo-line);
    border-radius: var(--geo-radius-card);
    padding: 1.25rem;
    text-align: center;
    margin: 1.5rem 0;
}
.geo-rewards strong { display: block; margin-bottom: 0.75rem; font-size: 1.125rem; }
.geo-rewards img { max-width: 360px; width: 100%; height: auto; }

/* Live IFL bank cards — classes from applecss/style.css, scoped so we do not load live applecss. */
.geo-banks {
    margin: 2rem 0 1.5rem;
    overflow: hidden;
}
.geo-banks .frametitle {
    width: 100%;
    display: inline-block;
    padding: 15px 0;
}
.geo-banks .hstitle {
    margin: 0;
    font-size: 30px;
    line-height: 100%;
    font-weight: bold;
    width: auto;
    display: inline-block;
    vertical-align: top;
    color: #000;
}
.geo-banks .mainpageapplecol3 {
    width: 32.15%;
    height: auto;
    display: inline-block;
    border: 1px solid #aaa;
    float: left;
    margin-bottom: 20px;
    margin-left: 0.5%;
    margin-right: 0.5%;
    line-height: 0;
    background: #fff;
    box-sizing: border-box;
}
.geo-banks a {
    color: inherit;
    text-decoration: none;
}
.geo-banks .mainpageapplecol3photonew {
    width: 100%;
    height: auto;
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}
.geo-banks .mainpageapplecol3photonew img {
    display: block;
    width: 100%;
    height: auto;
}
.geo-banks .boxTitlenew {
    width: 100%;
    background-color: #774fe1;
}
.geo-banks .boxTitletxt {
    margin: 0;
    line-height: 140%;
    padding: 5px;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    text-align: left;
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .geo-banks .mainpageapplecol3 {
        width: 32%;
        margin-bottom: 25px;
        margin-left: 0.56%;
        margin-right: 0.56%;
    }
}
@media screen and (max-width: 768px) {
    .geo-banks .frametitle { padding: 20px 0; }
    .geo-banks .hstitle {
        font-size: 22px;
        line-height: 120%;
        width: 100%;
    }
    .geo-banks .mainpageapplecol3 {
        width: 48.1%;
        margin-bottom: 25px;
        margin-left: 0.8%;
        margin-right: 0.8%;
    }
}
@media screen and (max-width: 480px) {
    .geo-banks .mainpageapplecol3 {
        width: 98%;
        height: auto;
        margin-bottom: 10px;
        margin-left: 1%;
        margin-right: 1%;
    }
}

.geo-tnc {
    margin-top: 1.5rem;
    padding-top: 1rem;
    font-size: 0.78rem;
    color: var(--geo-muted);
    line-height: 1.55;
}
.geo-tnc a { color: var(--geo-purple); }

/* Legacy class aliases for mock-geo-simstd-en.html migration */
.bluf, .geo-bluf {}
.bluf-lead, .geo-bluf-lead {}
.bluf-stats, .geo-bluf-stats {}
.bluf-stat, .geo-bluf-stat {}
.section-heading, .geo-section-heading {}
.benefits-grid, .geo-benefits-grid {}
.benefit-card, .geo-benefit-card {}
.faq-list, .geo-faq-list {}
.faq-item, .geo-faq-item {}
.faq-q, .geo-faq-q {}
.faq-a, .geo-faq-a {}
.page-wrap, .geo-shell {}
.page-wrap .geo-content, .geo-shell .geo-content {
    width: 88%;
    max-width: var(--geo-shell-max);
    margin: 0 auto;
}

@media (max-width: 768px) {
    .page-wrap .geo-content,
    .geo-shell .geo-content {
        width: 100%;
        padding: 0 16px;
    }
}

@media (max-width: 480px) {
    .geo-breadcrumb { font-size: 0.82rem; }
    .geo-model-links { flex-direction: column; gap: 0.5rem; }
    .geo-faq-q { font-size: 0.88rem; padding: 0.85rem 1rem; }
    .geo-tnc { font-size: 0.72rem; }
}

/* Footer full-bleed on small screens */
body.geo-page .hkfooterpagewrap {
    width: 100%;
    max-width: none;
}

/* Mobile plan UI only — matches WORLD PLAN ≤768. Do not change desktop. */
@media screen and (max-width: 768px) {
    body.geo-page .wp-label,
    .geo-nav-tier-label {
        font-size: 16px;
    }
    body.geo-page .wp-segment__title,
    .geo-offer-segment__text {
        font-size: 18px;
    }
    body.geo-page .wp-segment__hint,
    .geo-offer-segment a .hint {
        font-size: 16px;
    }
    #pricing .geo-section-heading {
        font-size: 18px;
        margin: 28px 0 16px;
        line-height: 130%;
    }
    body.geo-page--table-only .geo-pricing-intro {
        font-size: 16px;
        line-height: 150%;
        color: #000;
        margin: 0 0 20px;
    }
}
