/* ZUG4_CORE_FALLBACKS_20260610: shared variables and basic layout helpers.
   These are duplicated from td-header.php so this CSS file can also work on pages
   where the standard Zug4 header is not included. */
:root {
    --zg-blue: #2458d3;
    --zg-blue-dark: #111b46;
    --zg-blue-soft: #edf4ff;
    --zg-pink: #ff3f78;
    --zg-pink-soft: #fff0f5;
    --zg-mint: #21c875;
    --zg-orange: #ff8a3d;
    --zg-text: #111b46;
    --zg-muted: #64708d;
    --zg-line: #dfe7f7;
    --zg-bg: #fbfdff;
    --zg-card: #ffffff;
    --zg-shadow: 0 24px 70px rgba(17, 27, 70, .09);
    --zg-radius: 28px;
    --zg-container: 1180px;
}
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.zg-container { width: min(var(--zg-container), calc(100% - 32px)); margin: 0 auto; }
@media (max-width: 640px) {
    .zg-container { width: min(100% - 24px, var(--zg-container)); }
}

/* ZUG4_HOME_CSS_MARKER_20260515_V20_CRITICAL_SPLIT */
body {
            background:
                radial-gradient(circle at 78% 9%, rgba(36, 88, 211, .065) 0, transparent 28%),
                radial-gradient(circle at 9% 33%, rgba(255, 63, 120, .045) 0, transparent 26%),
                linear-gradient(180deg, #ffffff 0%, #fbfdff 56%, #ffffff 100%);
        }



        .zg-section,
        .zgx-section {
            content-visibility: auto;
            contain-intrinsic-size: 1px 900px;
        }
        .zg-hero,
        #profiles {
            content-visibility: visible;
            contain-intrinsic-size: auto;
        }

        .zg-hero {
            position: relative;
            overflow: hidden;
            border-bottom: 1px solid rgba(223, 231, 247, .72);
            background:
                radial-gradient(circle at 86% 36%, rgba(255, 63, 120, .12) 0, transparent 24%),
                radial-gradient(circle at 68% 6%, rgba(36, 88, 211, .10) 0, transparent 25%),
                radial-gradient(circle at 12% 18%, rgba(255, 229, 232, .82) 0, transparent 21%),
                linear-gradient(180deg, #fff 0%, #fff9f7 100%);
        }
        .zg-hero::before,
        .zg-hero::after {
            content: '';
            position: absolute;
            z-index: 0;
            border-radius: 999px;
            pointer-events: none;
        }
        .zg-hero::before {
            width: 420px;
            height: 420px;
            right: -140px;
            top: 84px;
            background: rgba(255, 63, 120, .08);
        }
        .zg-hero::after {
            width: 240px;
            height: 240px;
            left: -80px;
            bottom: -110px;
            background: rgba(36, 88, 211, .06);
        }
        .zg-hero__inner {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
            gap: clamp(34px, 5vw, 76px);
            align-items: stretch;
            min-height: 650px;
            padding: 54px 0 50px;
        }
        .zg-hero__content {
            max-width: 650px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .zg-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 11px 18px;
            border: 1px solid rgba(48, 80, 201, .18);
            border-radius: 999px;
            color: var(--zg-blue);
            background: linear-gradient(135deg, #edf4ff 0%, #f7fbff 100%);
            font-size: 14px;
            font-weight: 900;
            box-shadow: 0 16px 38px rgba(48, 80, 201, .10);
        }
        .zg-eyebrow img,
        .zg-eyebrow svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }
        .zg-eyebrow__icon {
            color: var(--zg-pink);
            filter: drop-shadow(0 4px 10px rgba(255, 63, 120, .18));
        }
        .zg-hero h1 {
            margin: 26px 0 0;
            max-width: 670px;
            font-size: clamp(42px, 4.7vw, 68px);
            line-height: 1.03;
            letter-spacing: -.048em;
            color: var(--zg-blue-dark);
        }
        .zg-hero h1 span { color: var(--zg-pink); }
        .zg-hero__lead {
            margin: 24px 0 0;
            max-width: 590px;
            color: var(--zg-muted);
            font-size: clamp(17px, 1.55vw, 20px);
            line-height: 1.65;
        }
        .zg-hero__actions {
            display: flex;
            flex-wrap: nowrap;
            gap: 16px;
            margin-top: 34px;
        }
        .zg-hero__actions .zg-btn {
            min-width: 190px;
            min-height: 54px;
            border-radius: 999px;
        }
        .zg-hero__actions .zg-btn--outline {
            color: var(--zg-pink);
            border-color: rgba(255, 63, 120, .38);
            background: rgba(255,255,255,.86);
        }
        .zg-hero__actions .zg-btn--outline:hover {
            border-color: rgba(255, 63, 120, .70);
            box-shadow: 0 16px 36px rgba(255, 63, 120, .12);
        }
        .zg-hero__actions .zg-btn svg { width: 21px; height: 21px; flex: 0 0 auto; }
        .zg-hero__actions .zg-btn--primary svg { fill: #fff; stroke: #fff; }
        .zg-hero__facts {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
            max-width: 560px;
            margin-top: 26px;
        }
        .zg-hero__fact {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
            min-height: 82px;
            padding: 14px 16px;
            border-radius: 20px;
            background: rgba(255,255,255,.92);
            border: 1px solid rgba(223, 231, 247, .92);
            box-shadow: 0 16px 38px rgba(17, 27, 70, .06);
        }
        .zg-hero__fact-ico {
            flex: 0 0 auto;
            width: 48px;
            height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 16px;
            color: #fff;
            background: linear-gradient(135deg, #ff5a7a 0%, #ff7f60 100%);
            box-shadow: 0 14px 28px rgba(255, 94, 120, .22);
        }
        .zg-hero__fact:nth-child(2) .zg-hero__fact-ico {
            background: linear-gradient(135deg, #356cff 0%, #6a5cff 100%);
            box-shadow: 0 14px 28px rgba(53, 108, 255, .20);
        }
        .zg-hero__fact-ico svg,
        .zg-hero__fact-ico img {
            width: 28px;
            height: 28px;
            object-fit: contain;
        }
        .zg-hero__fact strong {
            display: block;
            color: var(--zg-blue-dark);
            font-size: 15px;
            line-height: 1.2;
            font-weight: 950;
        }
        .zg-hero__fact small {
            display: block;
            margin-top: 3px;
            color: #61708f;
            font-size: 12px;
            line-height: 1.35;
            font-weight: 700;
        }

        .zg-hero__visual {
            position: relative;
            width: min(100%, 680px);
            margin: 0 auto;
            min-height: 610px;
            display: flex;
            align-items: stretch;
            justify-content: center;
        }
        .zg-hero__image-shell {
            position: relative;
            width: 100%;
            min-height: 610px;
            height: 100%;
            display: flex;
            align-items: stretch;
            justify-content: center;
        }
        .zg-hero__image-shell::before {
            content: '';
            position: absolute;
            right: -42px;
            bottom: 20px;
            width: 390px;
            height: 390px;
            border-radius: 999px;
            background: rgba(255, 63, 120, .11);
        }
        .zg-hero__image-shell::after {
            content: '';
            position: absolute;
            left: -34px;
            top: 38px;
            width: 190px;
            height: 190px;
            border-radius: 999px;
            background: rgba(36, 88, 211, .10);
            filter: blur(2px);
        }
        .zg-hero__photo-frame {
            position: relative;
            z-index: 1;
            width: min(100%, 650px);
            min-height: 600px;
            height: 100%;
            display: flex;
            padding: 12px;
            border-radius: 34px;
            background: rgba(255,255,255,.86);
            border: 1px solid rgba(255,255,255,.92);
            box-shadow: 0 28px 70px rgba(17, 27, 70, .14);
        }
        .zg-hero__photo {
            width: 100%;
            height: 100%;
            min-height: 576px;
            object-fit: cover;
            object-position: center center;
            border-radius: 25px;
            filter: none;
        }
        .zg-hero__online-bubble {
            position: absolute;
            z-index: 3;
            right: -8px;
            bottom: 92px;
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 178px;
            padding: 13px 15px;
            border-radius: 22px;
            background: rgba(255,255,255,.96);
            border: 1px solid rgba(255,255,255,.95);
            box-shadow: 0 22px 54px rgba(17, 27, 70, .18);
            backdrop-filter: blur(12px);
        }
        .zg-hero__online-avatars {
            display: flex;
            align-items: center;
            flex: 0 0 auto;
        }
        .zg-hero__online-avatars img,
        .zg-hero__online-fallback {
            width: 30px;
            height: 30px;
            margin-left: -9px;
            border-radius: 999px;
            border: 2px solid #fff;
            object-fit: cover;
            background: linear-gradient(135deg, #ffb8c6, #b7d8ff);
            box-shadow: 0 8px 18px rgba(17, 27, 70, .12);
        }
        .zg-hero__online-avatars img:first-child,
        .zg-hero__online-fallback:first-child { margin-left: 0; }
        .zg-hero__online-text {
            color: var(--zg-blue-dark);
            font-size: 12px;
            line-height: 1.25;
            font-weight: 850;
            white-space: nowrap;
        }
        .zg-hero__online-text strong {
            display: block;
            font-size: 14px;
            line-height: 1.15;
            font-weight: 950;
        }
        .zg-hero__online-text span {
            color: #697798;
            font-weight: 750;
        }
        .zg-hero__heart {
            position: absolute;
            z-index: 2;
            display: block !important;
            color: rgba(255, 63, 120, .18);
            font-size: 54px;
            line-height: 1;
            pointer-events: none;
            transform: rotate(-12deg);
        }
        .zg-hero__heart--one { right: -38px; top: 154px; }
        .zg-hero__heart--two { right: 30px; top: 98px; font-size: 36px; color: rgba(255, 63, 120, .13); transform: rotate(18deg); }
        .zg-hero__blob,
        .zg-hero__mark,
        .zg-hero__since {
            display: none !important;
        }

        .zg-section { padding: 46px 0; }
        .zg-section--tight { padding-top: 36px; }
        .zg-section__head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 24px;
        }
        .zg-section h2 {
            margin: 0;
            font-size: clamp(25px, 3vw, 34px);
            line-height: 1.15;
            letter-spacing: -.025em;
            color: var(--zg-blue-dark);
        }
        .zg-section__intro {
            max-width: 820px;
            margin: -8px 0 24px;
            color: var(--zg-muted);
            font-size: 16px;
            line-height: 1.7;
        }
        .zg-section__links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
        .zg-profile-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }
        .zg-pill-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 44px;
            padding: 0 18px;
            border: 1px solid var(--zg-line);
            border-radius: 999px;
            background: #fff;
            font-weight: 850;
            color: var(--zg-blue);
            transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
        }
        .zg-pill-link:hover { border-color: #b8c8ff; box-shadow: 0 12px 30px rgba(36,88,211,.1); transform: translateY(-1px); }
        .zg-pill-link--pink { color: var(--zg-pink); }
        .zg-pill-link img { width: 19px; height: 19px; }

        .zg-profiles {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 20px;
        }
        .zg-card {
            position: relative;
            overflow: hidden;
            border-radius: 18px;
            background: var(--zg-card);
            border: 1px solid var(--zg-line);
            box-shadow: 0 14px 34px rgba(17, 27, 70, .07);
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }
        .zg-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 24px 52px rgba(17, 27, 70, .13);
            border-color: #c8d4ff;
        }
        .zg-card__photo-wrap { position: relative; aspect-ratio: 1 / 1.1; background: #f3f6fb; overflow: hidden; }
        .zg-card--vip .zg-card__photo-wrap { border: 2px solid #f6c534; box-shadow: 0 0 0 1px rgba(246,197,52,.28) inset, 0 10px 24px rgba(246,197,52,.22); }
        .zg-card__vip { position: absolute; left: 10px; top: 10px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0 11px; border-radius: 999px; background: #ffc928; color: #1b2457; font-size: 12px; font-weight: 900; letter-spacing: .02em; box-shadow: 0 8px 18px rgba(255,201,40,.34); }
        .zg-card__photo { width: 100%; height: 100%; object-fit: cover; }
        .zg-card__online {
            position: absolute;
            right: 12px;
            top: 12px;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: var(--zg-mint);
            box-shadow: 0 0 0 4px #fff;
        }
        .zg-card__photos {
            position: absolute;
            right: 10px;
            bottom: 10px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            min-height: 26px;
            padding: 0 9px;
            border-radius: 999px;
            color: #fff;
            background: rgba(17, 27, 70, .72);
            backdrop-filter: blur(8px);
            font-size: 12px;
            font-weight: 800;
        }
        .zg-card__photos img { width: 14px; height: 14px; filter: brightness(0) invert(1); }
        .zg-card__body { padding: 14px 14px 16px; min-height: 134px; }
        .zg-card__title {
            display: flex;
            align-items: center;
            gap: 6px;
            margin: 0;
            font-size: 16px;
            line-height: 1.2;
            color: var(--zg-blue-dark);
        }
        .zg-verified {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 17px;
            height: 17px;
            border-radius: 50%;
            background: var(--zg-blue);
            color: #fff;
            font-size: 11px;
            font-weight: 900;
            flex: 0 0 auto;
        }
        .zg-card__city {
            display: flex;
            align-items: center;
            gap: 5px;
            margin: 8px 0 0;
            color: var(--zg-muted);
            font-size: 13px;
            font-weight: 700;
        }
        .zg-card__city img { width: 14px; height: 14px; }
        .zg-card__facts { margin: 9px 0 0; display: grid; gap: 6px; }
        .zg-card__fact {
            display: grid;
            grid-template-columns: 16px minmax(0, 1fr);
            align-items: center;
            gap: 7px;
            color: #3f4f76;
            font-size: 12px;
            line-height: 1.25;
            font-weight: 750;
        }
        .zg-card__fact-ico {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 16px;
            color: #8ea0c8;
            flex: 0 0 auto;
        }
        .zg-card__fact-ico svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
        .zg-card__fact-text {
            min-width: 0;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        .zg-home-flow { display: grid; gap: 18px; }
        .zg-how-card { padding: 26px 30px; }
        .zg-how-card .zg-soft-card__head { margin-bottom: 20px; }
        .zg-home-row {
            display: grid;
            grid-template-columns: minmax(360px, .95fr) minmax(420px, 1.05fr);
            gap: 18px;
            align-items: stretch;
        }
        .zg-online-card, .zg-home-feature-card { min-width: 0; }
        .zg-soft-card {
            border: 1px solid var(--zg-line);
            border-radius: 24px;
            background: rgba(255,255,255,.92);
            box-shadow: 0 18px 46px rgba(17, 27, 70, .065);
            padding: 24px;
        }
        .zg-soft-card h2,
        .zg-soft-card h3 { margin: 0; color: var(--zg-blue-dark); }
        .zg-soft-card__head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 18px;
        }
        .zg-soft-card__link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 34px;
            padding: 0 14px;
            border-radius: 999px;
            border: 1px solid var(--zg-line);
            font-size: 13px;
            font-weight: 850;
            color: var(--zg-blue);
            background: #fff;
        }
        .zg-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
        .zg-step {
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr);
            gap: 14px;
            align-items: start;
            position: relative;
        }
        .zg-step:not(:last-child)::after {
            content: '';
            position: absolute;
            right: -8px;
            top: 24px;
            width: 34px;
            height: 1px;
            background: linear-gradient(90deg, rgba(36,88,211,.22), rgba(36,88,211,0));
        }
        .zg-step__num {
            width: 48px;
            height: 48px;
            border-radius: 18px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--zg-blue);
            background: #eef4ff;
            font-weight: 950;
            font-size: 21px;
        }
        .zg-step h3 { font-size: 16px; line-height: 1.2; }
        .zg-step p { margin: 5px 0 0; color: var(--zg-muted); line-height: 1.45; font-size: 14px; }
        .zg-online-grid {
            display: grid;
            grid-template-columns: repeat(6, 62px);
            gap: 14px;
            align-items: center;
            justify-content: center;
        }
        .zg-online-mini {
            position: relative;
            display: block;
            width: 54px;
            height: 54px;
            border-radius: 999px;
            border: 3px solid #fff;
            box-shadow: 0 10px 22px rgba(17, 27, 70, .12);
            background: #eef4ff;
        }
        .zg-online-mini img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            border-radius: inherit;
        }
        .zg-online-mini.is-vip { border-color: #ffc928; }
        .zg-online-mini.is-select { border-color: #9db7ff; }
        .zg-online-mini__dot {
            position: absolute;
            right: -1px;
            bottom: 0;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            border: 2px solid #fff;
            background: var(--zg-mint);
        }
        .zg-home-features {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
            height: 100%;
        }
        .zg-home-feature {
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            gap: 14px;
            align-items: center;
            min-height: 104px;
            min-width: 0;
        }
        .zg-home-feature > div:last-child { min-width: 0; }
        .zg-home-feature .zg-feature__icon { width: 52px; height: 52px; border-radius: 18px; }
        .zg-home-feature .zg-feature__icon img { width: 28px; height: 28px; }
        .zg-home-feature h3 { margin: 0; font-size: 15px; line-height: 1.18; overflow-wrap: anywhere; }
        .zg-home-feature p { margin: 5px 0 0; color: var(--zg-muted); font-size: 13px; line-height: 1.38; }
        .zg-pay-card {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #eef6ff 0%, #fff5f8 100%);
        }
        .zg-pay-card::after {
            content: '';
            position: absolute;
            right: -28px;
            bottom: -28px;
            width: 120px;
            height: 120px;
            border-radius: 50%;
            background: rgba(255,59,116,.08);
        }
        .zg-pay-card__icon {
            width: 58px;
            height: 58px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 20px;
            background: #fff;
            color: var(--zg-pink);
            box-shadow: 0 14px 32px rgba(17,27,70,.08);
            margin-bottom: 16px;
        }
        .zg-pay-card__icon svg { width: 32px; height: 32px; stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
        .zg-pay-card h3 { font-size: 22px; line-height: 1.18; position: relative; }
        .zg-pay-card p { margin: 10px 0 0; color: var(--zg-muted); line-height: 1.55; position: relative; }

        .zg-features {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0;
            border: 1px solid var(--zg-line);
            border-radius: var(--zg-radius);
            background: rgba(255,255,255,.9);
            box-shadow: 0 22px 58px rgba(17, 27, 70, .075);
            overflow: hidden;
        }
        .zg-feature {
            display: grid;
            grid-template-columns: 68px minmax(0, 1fr);
            gap: 18px;
            align-items: center;
            padding: 26px 24px;
            border-right: 1px solid var(--zg-line);
        }
        .zg-feature:last-child { border-right: 0; }
        .zg-feature__icon {
            width: 68px;
            height: 68px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            flex: 0 0 68px;
        }
        .zg-feature__icon img {
            width: 34px;
            height: 34px;
            object-fit: contain;
            object-position: center;
        }
        .zg-feature:nth-child(1) .zg-feature__icon { background: #eef2ff; }
        .zg-feature:nth-child(2) .zg-feature__icon { background: #f6ecff; }
        .zg-feature:nth-child(3) .zg-feature__icon { background: #fff2e7; }
        .zg-feature:nth-child(4) .zg-feature__icon { background: #fff0f6; }
        .zg-feature:nth-child(1) .zg-feature__icon img { filter: invert(31%) sepia(92%) saturate(1772%) hue-rotate(215deg) brightness(92%) contrast(94%); }
        .zg-feature:nth-child(2) .zg-feature__icon img { filter: invert(42%) sepia(81%) saturate(1180%) hue-rotate(238deg) brightness(96%) contrast(94%); }
        .zg-feature:nth-child(3) .zg-feature__icon img { filter: invert(61%) sepia(71%) saturate(2143%) hue-rotate(338deg) brightness(101%) contrast(98%); }
        .zg-feature:nth-child(4) .zg-feature__icon img { filter: invert(39%) sepia(87%) saturate(2692%) hue-rotate(321deg) brightness(101%) contrast(101%); }
        .zg-feature h3 { margin: 0 0 7px; font-size: 16px; color: var(--zg-blue-dark); }
        .zg-feature p { margin: 0; color: var(--zg-muted); font-size: 13px; line-height: 1.48; }

        .zg-info-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            margin-top: 18px;
        }
        .zg-info-card {
            min-height: 142px;
            padding: 22px;
            border-radius: 22px;
            border: 1px solid var(--zg-line);
            background: rgba(255, 255, 255, .82);
            box-shadow: 0 12px 30px rgba(17, 27, 70, .045);
        }
        .zg-info-card h3 {
            margin: 0 0 8px;
            color: var(--zg-blue-dark);
            font-size: 18px;
            line-height: 1.25;
            letter-spacing: -.015em;
        }
        .zg-info-card p {
            margin: 0;
            color: var(--zg-muted);
            font-size: 14px;
            line-height: 1.65;
        }
        .zg-city-note {
            margin-top: 18px;
            padding: 22px 24px;
            border-radius: 24px;
            border: 1px solid #dce8ff;
            background: linear-gradient(135deg, #f7fbff, #ffffff 55%, #fff8fb);
            color: var(--zg-muted);
            font-size: 15px;
            line-height: 1.7;
        }
        .zg-city-note strong { color: var(--zg-blue-dark); }
        .zg-city-mini-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 14px;
            margin-top: 16px;
        }
        .zg-city-mini {
            padding: 18px 18px 17px;
            border: 1px solid var(--zg-line);
            border-radius: 22px;
            background: rgba(255,255,255,.92);
            box-shadow: 0 12px 30px rgba(17,27,70,.045);
        }
        .zg-city-mini h3 {
            margin: 0 0 8px;
            color: var(--zg-blue-dark);
            font-size: 17px;
            line-height: 1.25;
        }
        .zg-city-mini p {
            margin: 0;
            color: var(--zg-muted);
            font-size: 14px;
            line-height: 1.6;
        }

        .zg-age-showcase {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: 128px minmax(0, 1fr);
            gap: 22px;
            align-items: center;
            margin: 0 0 18px;
            padding: 24px 26px;
            border-radius: 28px;
            border: 1px solid #ffd8e6;
            background: linear-gradient(135deg, #fff0f6 0%, #fff7fb 52%, #f2f7ff 100%);
            box-shadow: 0 18px 44px rgba(17, 27, 70, .08);
        }
        .zg-age-showcase::before,
        .zg-age-showcase::after {
            content: '';
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
        }
        .zg-age-showcase::before {
            right: -36px;
            top: -32px;
            width: 132px;
            height: 132px;
            background: rgba(255, 99, 147, .12);
        }
        .zg-age-showcase::after {
            right: 68px;
            bottom: -42px;
            width: 118px;
            height: 118px;
            background: rgba(80, 126, 255, .10);
        }
        .zg-age-showcase__icon {
            position: relative;
            z-index: 1;
            width: 128px;
            height: 128px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 30px;
            background: linear-gradient(135deg, #ff5f88 0%, #ff8aa5 52%, #ffc1d1 100%);
            box-shadow: 0 22px 40px rgba(255, 95, 136, .24);
        }
        .zg-age-showcase__icon svg {
            width: 82px;
            height: 82px;
            display: block;
        }
        .zg-age-showcase__body {
            position: relative;
            z-index: 1;
            min-width: 0;
        }
        .zg-age-showcase__eyebrow {
            display: inline-flex;
            align-items: center;
            min-height: 30px;
            padding: 0 12px;
            border-radius: 999px;
            background: rgba(255,255,255,.74);
            color: var(--zg-pink);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .02em;
            text-transform: uppercase;
        }
        .zg-age-showcase__title {
            margin: 12px 0 0;
            color: var(--zg-blue-dark);
            font-size: clamp(24px, 2.5vw, 31px);
            line-height: 1.1;
            letter-spacing: -.03em;
        }
        .zg-age-showcase__text {
            margin: 10px 0 0;
            max-width: 760px;
            color: var(--zg-muted);
            font-size: 15px;
            line-height: 1.65;
        }
        .zg-city-showcase {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) 280px;
            gap: 24px;
            align-items: center;
            margin: 0 0 18px;
            padding: 26px 28px;
            border-radius: 30px;
            border: 1px solid #d9e7ff;
            background: linear-gradient(135deg, #eef5ff 0%, #f7fbff 52%, #fff7fb 100%);
            box-shadow: 0 18px 44px rgba(17, 27, 70, .08);
        }
        .zg-city-showcase::before,
        .zg-city-showcase::after {
            content: '';
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
        }
        .zg-city-showcase::before {
            right: -42px;
            top: -34px;
            width: 144px;
            height: 144px;
            background: rgba(79, 124, 255, .12);
        }
        .zg-city-showcase::after {
            left: -30px;
            bottom: -36px;
            width: 118px;
            height: 118px;
            background: rgba(255, 95, 136, .10);
        }
        .zg-city-showcase__body {
            position: relative;
            z-index: 1;
            min-width: 0;
        }
        .zg-city-showcase__eyebrow {
            display: inline-flex;
            align-items: center;
            min-height: 30px;
            padding: 0 12px;
            border-radius: 999px;
            background: rgba(255,255,255,.74);
            color: var(--zg-blue);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .02em;
            text-transform: uppercase;
        }
        .zg-city-showcase__title {
            margin: 12px 0 0;
            color: var(--zg-blue-dark);
            font-size: clamp(24px, 2.5vw, 31px);
            line-height: 1.1;
            letter-spacing: -.03em;
        }
        .zg-city-showcase__text {
            margin: 10px 0 0;
            max-width: 720px;
            color: var(--zg-muted);
            font-size: 15px;
            line-height: 1.65;
        }
        .zg-city-showcase__visual {
            position: relative;
            z-index: 1;
            display: grid;
            gap: 12px;
            justify-items: stretch;
        }
        .zg-city-showcase__card {
            display: grid;
            grid-template-columns: 54px minmax(0, 1fr);
            gap: 12px;
            align-items: center;
            padding: 12px 14px;
            border-radius: 20px;
            background: rgba(255,255,255,.88);
            border: 1px solid rgba(255,255,255,.9);
            box-shadow: 0 12px 26px rgba(17, 27, 70, .08);
        }
        .zg-city-showcase__card-icon {
            width: 54px;
            height: 54px;
            border-radius: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,.92);
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.92), 0 8px 18px rgba(17,27,70,.05);
        }
        .zg-city-showcase__card-icon .zg-city-svg { width: 30px; height: 30px; }
        .zg-city-showcase__card:nth-child(1) { color: #2458d3; }
        .zg-city-showcase__card:nth-child(1) .zg-city-showcase__card-icon { background: linear-gradient(135deg, #eef5ff, #ffffff); }
        .zg-city-showcase__card:nth-child(2) { color: #6a49d8; }
        .zg-city-showcase__card:nth-child(2) .zg-city-showcase__card-icon { background: linear-gradient(135deg, #f3efff, #ffffff); }
        .zg-city-showcase__card:nth-child(3) { color: #cb3d78; }
        .zg-city-showcase__card:nth-child(3) .zg-city-showcase__card-icon { background: linear-gradient(135deg, #fff0f6, #ffffff); }
        .zg-city-showcase__card strong {
            display: block;
            color: var(--zg-blue-dark);
            font-size: 15px;
            line-height: 1.2;
        }
        .zg-city-showcase__card span {
            display: block;
            margin-top: 4px;
            color: var(--zg-muted);
            font-size: 13px;
            line-height: 1.35;
        }
        .zg-city-panel {
            position: relative;
            padding: 20px;
            border-radius: 30px;
            border: 1px solid #e3ecfb;
            background: linear-gradient(180deg, #fbfdff 0%, #ffffff 100%);
            box-shadow: 0 18px 44px rgba(17, 27, 70, .06);
        }
        .zg-chip-grid {
            display: grid;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            gap: 16px;
        }
        .zg-age-chip, .zg-city-chip {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            border-radius: 18px;
            background: #fff;
            border: 1px solid var(--zg-line);
            font-weight: 900;
            box-shadow: 0 10px 24px rgba(17, 27, 70, .04);
            transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
        }
        .zg-age-chip:hover, .zg-city-chip:hover { transform: translateY(-2px); border-color: #c8d4ff; box-shadow: 0 18px 36px rgba(17,27,70,.08); }
        .zg-age-chip img, .zg-city-chip img { width: 34px; height: 34px; object-fit: contain; }
        .zg-age-chip:nth-child(1) { background: linear-gradient(135deg, #f7f4ff, #fff); color: #6846d8; }
        .zg-age-chip:nth-child(2) { background: linear-gradient(135deg, #fff1f6, #fff); color: var(--zg-pink); }
        .zg-age-chip:nth-child(3) { background: linear-gradient(135deg, #fff7ef, #fff); color: #f07026; }
        .zg-age-chip:nth-child(4) { background: linear-gradient(135deg, #f1fff7, #fff); color: #23a965; }
        .zg-age-chip:nth-child(5), .zg-age-chip:nth-child(6) { background: linear-gradient(135deg, #eef7ff, #fff); color: var(--zg-blue); }

        .zg-city-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
        .zg-city-chip {
            position: relative;
            overflow: hidden;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 132px;
            padding: 16px 14px 14px;
            text-align: center;
            font-size: 15px;
            border-radius: 22px;
            box-shadow: 0 14px 34px rgba(17, 27, 70, .06);
        }
        .zg-city-chip::before {
            content: '';
            position: absolute;
            right: -18px;
            top: -18px;
            width: 72px;
            height: 72px;
            border-radius: 50%;
            background: rgba(255,255,255,.55);
            pointer-events: none;
        }
        .zg-city-chip__icon {
            position: relative;
            z-index: 1;
            width: 52px;
            height: 52px;
            border-radius: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,.78);
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.92), 0 8px 20px rgba(17, 27, 70, .06);
        }
        .zg-city-chip__name {
            position: relative;
            z-index: 1;
            display: block;
            color: currentColor;
            font-size: 16px;
            line-height: 1.18;
            font-weight: 900;
        }
        .zg-city-chip img { width: 42px; height: 42px; }
        .zg-city-svg { width: 32px; height: 32px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
        .zg-city-chip:nth-child(1) { color: #2458d3; background: linear-gradient(135deg, #eef5ff 0%, #ffffff 100%); border-color: #d7e5ff; }
        .zg-city-chip:nth-child(2) { color: #6a49d8; background: linear-gradient(135deg, #f3efff 0%, #ffffff 100%); border-color: #e2dafd; }
        .zg-city-chip:nth-child(3) { color: #cb3d78; background: linear-gradient(135deg, #fff0f6 0%, #ffffff 100%); border-color: #ffd9e7; }
        .zg-city-chip:nth-child(4) { color: #0f9a7b; background: linear-gradient(135deg, #edfff9 0%, #ffffff 100%); border-color: #d5f6ec; }
        .zg-city-chip:nth-child(5) { color: #f07026; background: linear-gradient(135deg, #fff6ec 0%, #ffffff 100%); border-color: #ffe3c9; }
        .zg-city-chip:nth-child(6) { color: #2d7cbf; background: linear-gradient(135deg, #eef9ff 0%, #ffffff 100%); border-color: #d7ebf8; }
        .zg-city-chip--beer-sheva { color: #c27a12; background: linear-gradient(135deg, #fff7df 0%, #ffffff 100%); border-color: #f7dfaa; }
        .zg-city-chip--petah-tikva { color: #1d9a87; background: linear-gradient(135deg, #eafffb 0%, #ffffff 100%); border-color: #cdf3eb; }
        .zg-city-chip:hover { box-shadow: 0 22px 40px rgba(17,27,70,.10); }

        .zg-content-box {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr);
            align-items: stretch;
            gap: clamp(22px, 4vw, 48px);
            padding: clamp(26px, 4vw, 44px);
            border-radius: 32px;
            background:
                radial-gradient(circle at 0 0, rgba(255,95,136,.10), transparent 30%),
                radial-gradient(circle at 96% 20%, rgba(79,124,255,.12), transparent 26%),
                linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
            border: 1px solid #e3ecfb;
            box-shadow: 0 26px 70px rgba(17, 27, 70, .08);
        }
        .zg-content-box::before {
            content: '';
            position: absolute;
            right: -42px;
            bottom: -46px;
            width: 170px;
            height: 170px;
            border-radius: 50%;
            background: rgba(255,95,136,.08);
            pointer-events: none;
        }
        .zg-content-box > div {
            position: relative;
            z-index: 1;
        }

        .zg-content-copy {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 100%;
            padding: 4px 0;
        }
        .zg-content-eyebrow {
            display: inline-flex;
            align-items: center;
            width: max-content;
            max-width: 100%;
            min-height: 34px;
            margin-bottom: 16px;
            padding: 0 14px;
            border-radius: 999px;
            background: linear-gradient(135deg, rgba(255,63,120,.12), rgba(36,88,211,.10));
            color: #2458d3;
            font-size: 13px;
            line-height: 1.2;
            font-weight: 900;
            letter-spacing: .01em;
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.78);
        }
        .zg-content-start {
            position: relative;
            overflow: hidden;
            margin-top: 26px;
            padding: 20px;
            border-radius: 26px;
            border: 1px solid rgba(202,215,242,.86);
            background:
                radial-gradient(circle at 100% 0, rgba(255,63,120,.16), transparent 32%),
                linear-gradient(135deg, rgba(238,245,255,.96), rgba(255,247,251,.92));
            box-shadow: 0 18px 42px rgba(17,27,70,.07);
        }
        .zg-content-start::after {
            content: '';
            position: absolute;
            right: -34px;
            bottom: -42px;
            width: 128px;
            height: 128px;
            border-radius: 50%;
            background: rgba(36,88,211,.10);
            pointer-events: none;
        }
        .zg-content-start__top {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 58px minmax(0, 1fr);
            gap: 15px;
            align-items: center;
        }
        .zg-content-start__icon {
            width: 58px;
            height: 58px;
            border-radius: 20px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            background: linear-gradient(135deg, #ff3f78, #3f78ff);
            box-shadow: 0 14px 28px rgba(36,88,211,.18);
        }
        .zg-content-start__icon svg {
            width: 36px;
            height: 36px;
            display: block;
            fill: none;
            stroke: currentColor;
            stroke-width: 2.4;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        .zg-content-start__copy strong {
            display: block;
            color: var(--zg-blue-dark);
            font-size: 18px;
            line-height: 1.18;
            letter-spacing: -.02em;
        }
        .zg-content-start__copy span {
            display: block;
            margin-top: 5px;
            color: #53617f;
            font-size: 14.5px;
            line-height: 1.5;
        }
        .zg-content-actions {
            position: relative;
            z-index: 1;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 17px;
        }
        .zg-content-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 0 16px;
            border-radius: 999px;
            font-size: 14px;
            font-weight: 900;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }
        .zg-content-action--primary {
            color: #fff;
            background: linear-gradient(135deg, #2458d3, #ff4b7d);
            box-shadow: 0 12px 24px rgba(36,88,211,.15);
        }
        .zg-content-action--ghost {
            color: #2458d3;
            background: rgba(255,255,255,.82);
            border: 1px solid rgba(184,200,255,.88);
        }
        .zg-content-action:hover {
            transform: translateY(-1px);
            box-shadow: 0 16px 30px rgba(17,27,70,.11);
        }
        .zg-content-mini {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin-top: 18px;
        }
        .zg-content-mini span {
            display: flex;
            align-items: center;
            min-height: 48px;
            padding: 10px 12px;
            border-radius: 18px;
            color: #314066;
            background: rgba(255,255,255,.78);
            border: 1px solid rgba(226,234,248,.92);
            font-size: 13px;
            line-height: 1.25;
            font-weight: 850;
            box-shadow: 0 10px 22px rgba(17,27,70,.045);
        }
        .zg-content-box h2 {
            margin: 0;
            color: var(--zg-blue-dark);
            font-size: clamp(30px, 3vw, 42px);
            line-height: 1.08;
            letter-spacing: -.04em;
        }
        .zg-content-box p {
            color: var(--zg-muted);
            font-size: 16px;
            line-height: 1.78;
            margin: 16px 0 0;
        }
        .zg-content-box p:first-of-type {
            margin-top: 18px;
            font-size: 17px;
            color: #53617f;
        }
        .zg-content-links {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            align-content: center;
            gap: 18px;
        }
        .zg-content-link {
            --zg-card-a: #ff4b7d;
            --zg-card-b: #ffa2ba;
            --zg-card-bg1: #fff2f7;
            --zg-card-bg2: #ffffff;
            position: relative;
            isolation: isolate;
            overflow: hidden;
            min-height: 168px;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 34px;
            grid-template-rows: auto 1fr;
            gap: 14px 16px;
            align-items: start;
            padding: 24px;
            border-radius: 28px;
            border: 1px solid rgba(220, 231, 249, .96);
            background:
                radial-gradient(circle at 88% 12%, rgba(255,255,255,.92) 0, transparent 30%),
                radial-gradient(circle at 14% 8%, rgba(255,255,255,.78) 0, transparent 28%),
                linear-gradient(145deg, var(--zg-card-bg1) 0%, var(--zg-card-bg2) 72%);
            box-shadow: 0 18px 40px rgba(17,27,70,.075);
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }
        .zg-content-link::before {
            content: '';
            position: absolute;
            z-index: -1;
            right: -34px;
            bottom: -46px;
            width: 128px;
            height: 128px;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--zg-card-a), var(--zg-card-b));
            opacity: .13;
            pointer-events: none;
            transition: transform .18s ease, opacity .18s ease;
        }
        .zg-content-link::after {
            content: '';
            position: absolute;
            left: 24px;
            right: 24px;
            bottom: 0;
            height: 3px;
            border-radius: 999px 999px 0 0;
            background: linear-gradient(90deg, var(--zg-card-a), var(--zg-card-b));
            opacity: .72;
            transform: scaleX(.38);
            transform-origin: left center;
            transition: transform .18s ease, opacity .18s ease;
        }
        .zg-content-link:hover {
            transform: translateY(-5px);
            border-color: rgba(166, 190, 241, .92);
            box-shadow: 0 28px 56px rgba(17,27,70,.13);
        }
        .zg-content-link:hover::before { transform: scale(1.12) translate(-4px, -4px); opacity: .18; }
        .zg-content-link:hover::after { transform: scaleX(1); opacity: .92; }
        .zg-content-link__icon {
            grid-column: 1 / -1;
            width: 74px;
            height: 74px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 24px;
            color: #fff;
            background: linear-gradient(135deg, var(--zg-card-a), var(--zg-card-b));
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.44), 0 15px 28px rgba(17,27,70,.12);
        }
        .zg-content-link__icon svg {
            width: 48px;
            height: 48px;
            display: block;
            overflow: visible;
            filter: drop-shadow(0 6px 10px rgba(17,27,70,.12));
        }
        .zg-content-link__icon img {
            width: 38px;
            height: 38px;
            object-fit: contain;
            object-position: center;
            display: block;
        }
        .zg-content-link:nth-child(1) {
            --zg-card-a: #ff3f78;
            --zg-card-b: #ff9db8;
            --zg-card-bg1: #fff2f7;
            --zg-card-bg2: #fffdfd;
        }
        .zg-content-link:nth-child(2) {
            --zg-card-a: #3f78ff;
            --zg-card-b: #62d5f7;
            --zg-card-bg1: #eef5ff;
            --zg-card-bg2: #ffffff;
        }
        .zg-content-link:nth-child(3) {
            --zg-card-a: #8d55ff;
            --zg-card-b: #ff82b2;
            --zg-card-bg1: #f7f0ff;
            --zg-card-bg2: #ffffff;
        }
        .zg-content-link:nth-child(4) {
            --zg-card-a: #23bfa0;
            --zg-card-b: #5f8cff;
            --zg-card-bg1: #effcff;
            --zg-card-bg2: #ffffff;
        }
        .zg-content-link:nth-child(1) .zg-content-link__icon { box-shadow: inset 0 0 0 1px rgba(255,255,255,.44), 0 16px 30px rgba(255,63,120,.18); }
        .zg-content-link:nth-child(2) .zg-content-link__icon { box-shadow: inset 0 0 0 1px rgba(255,255,255,.44), 0 16px 30px rgba(63,120,255,.18); }
        .zg-content-link:nth-child(3) .zg-content-link__icon { box-shadow: inset 0 0 0 1px rgba(255,255,255,.44), 0 16px 30px rgba(141,85,255,.18); }
        .zg-content-link:nth-child(4) .zg-content-link__icon { box-shadow: inset 0 0 0 1px rgba(255,255,255,.44), 0 16px 30px rgba(35,191,160,.18); }
        .zg-content-link__text { display: block; align-self: center; min-width: 0; }
        .zg-content-link__text strong {
            display: block;
            margin-bottom: 8px;
            color: var(--zg-blue-dark);
            font-size: 18px;
            line-height: 1.16;
            letter-spacing: -.025em;
        }
        .zg-content-link__text span {
            display: block;
            max-width: 230px;
            color: var(--zg-muted);
            font-size: 14.5px;
            line-height: 1.45;
        }
        .zg-content-link__arrow {
            width: 34px;
            height: 34px;
            padding: 9px;
            border-radius: 50%;
            opacity: .9;
            justify-self: end;
            align-self: center;
            background: rgba(255,255,255,.78);
            box-shadow: inset 0 0 0 1px rgba(202,215,242,.84), 0 8px 18px rgba(17,27,70,.07);
            filter: invert(31%) sepia(92%) saturate(1772%) hue-rotate(215deg) brightness(92%) contrast(94%);
            transition: transform .18s ease, background .18s ease;
        }
        .zg-content-link:hover .zg-content-link__arrow { transform: translateX(3px); background: #fff; }

        .zg-blog-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 18px;
        }
        .zg-blog-card {
            overflow: hidden;
            display: flex;
            min-height: 100%;
            flex-direction: column;
            border-radius: 24px;
            border: 1px solid #e3ecfb;
            background: #fff;
            box-shadow: 0 16px 38px rgba(17,27,70,.07);
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }
        .zg-blog-card:hover { transform: translateY(-4px); border-color: #cfdcff; box-shadow: 0 24px 54px rgba(17,27,70,.12); }
        .zg-blog-card__image {
            position: relative;
            display: block;
            aspect-ratio: 1.45 / 1;
            overflow: hidden;
            background: linear-gradient(135deg, #fff0f6, #eef5ff);
        }
        .zg-blog-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1.01);
            transition: transform .22s ease;
        }
        .zg-blog-card:hover .zg-blog-card__image img { transform: scale(1.05); }
        .zg-blog-card__body {
            display: flex;
            min-height: 184px;
            flex: 1 1 auto;
            flex-direction: column;
            padding: 20px;
        }
        .zg-blog-card strong { display: block; color: var(--zg-blue-dark); font-size: 17px; line-height: 1.25; }
        .zg-blog-card span.zg-blog-card__text { display: block; margin-top: 10px; color: var(--zg-muted); font-size: 14px; line-height: 1.5; }
        .zg-blog-card em { display: inline-flex; margin-top: auto; padding-top: 18px; font-style: normal; color: var(--zg-blue); font-weight: 900; font-size: 14px; }

        .zg-faq-box {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 320px;
            gap: 20px;
            padding: 24px;
            border: 1px solid #e3ecfb;
            border-radius: 30px;
            background:
                radial-gradient(circle at 100% 0, rgba(255,95,136,.10), transparent 30%),
                linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
            box-shadow: 0 22px 58px rgba(17,27,70,.07);
        }
        .zg-faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
        .zg-faq-item {
            border-radius: 18px;
            border: 1px solid #e4ecfb;
            background: rgba(255,255,255,.92);
            color: var(--zg-blue-dark);
            box-shadow: 0 10px 24px rgba(17,27,70,.045);
            overflow: hidden;
        }
        .zg-faq-item summary {
            list-style: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 14px;
            min-height: 58px;
            padding: 0 18px;
            cursor: pointer;
            font-weight: 900;
            font-size: 14px;
            line-height: 1.35;
        }
        .zg-faq-item summary::-webkit-details-marker { display: none; }
        .zg-faq-item summary span {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 26px;
            height: 26px;
            border-radius: 999px;
            background: var(--zg-blue-soft);
            color: var(--zg-blue);
            font-size: 18px;
            line-height: 1;
            font-weight: 950;
            transition: transform .18s ease, background .18s ease, color .18s ease;
        }
        .zg-faq-item[open] summary span {
            transform: rotate(45deg);
            background: var(--zg-pink-soft);
            color: var(--zg-pink);
        }
        .zg-faq-item p {
            margin: 0;
            padding: 0 18px 18px;
            color: var(--zg-muted);
            font-size: 14px;
            line-height: 1.58;
        }
        .zg-faq-item p a { color: var(--zg-blue); font-weight: 850; }
        .zg-faq-side {
            position: relative;
            overflow: hidden;
            min-height: 100%;
            border-radius: 24px;
            background: linear-gradient(135deg, #fff0f6, #eef5ff 72%, #ffffff);
            padding: 24px;
        }
        .zg-faq-side::before {
            content: '';
            display: block;
            width: 92px;
            height: 92px;
            margin-bottom: 18px;
            border-radius: 28px;
            background:
                radial-gradient(circle at 50% 36%, #fff 0 10px, transparent 11px),
                radial-gradient(circle at 50% 62%, #fff 0 20px, transparent 21px),
                linear-gradient(135deg, #ff5f88, #7aa0ff);
            box-shadow: 0 18px 34px rgba(255,95,136,.20);
        }
        .zg-faq-side strong { display: block; color: var(--zg-blue-dark); font-size: 22px; line-height: 1.18; letter-spacing: -.02em; }
        .zg-faq-side p { margin: 12px 0 0; color: var(--zg-muted); line-height: 1.58; font-size: 14px; }
        .zg-faq-side .zg-soft-card__link {
            margin-top: 8px;
            border-color: rgba(36,88,211,.18);
            background: #fff;
            box-shadow: 0 10px 24px rgba(17,27,70,.06);
        }

        .zg-cta {
            position: relative;
            overflow: hidden;
            margin: 0;
            min-height: 100%;
            padding: clamp(28px, 4vw, 46px);
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 24px;
            align-items: center;
            border-radius: 30px;
            background:
                radial-gradient(circle at 8% 30%, rgba(255,255,255,.30), transparent 30%),
                radial-gradient(circle at 100% 100%, rgba(255,255,255,.20), transparent 24%),
                linear-gradient(135deg, #ff5f88 0%, #ff7f72 55%, #ffbf6b 100%);
            border: 1px solid rgba(255,255,255,.72);
            box-shadow: 0 24px 58px rgba(255,95,136,.18);
        }
        .zg-cta::after {
            content: '';
            position: absolute;
            right: -54px;
            bottom: -58px;
            width: 160px;
            height: 160px;
            border-radius: 50%;
            background: rgba(255,255,255,.20);
        }
        .zg-cta h2 { position: relative; z-index: 1; margin: 0; color: #fff; font-size: clamp(30px, 3vw, 44px); line-height: 1.08; letter-spacing: -.04em; }
        .zg-cta p { position: relative; z-index: 1; margin: 10px 0 0; color: rgba(255,255,255,.84); font-size: 17px; line-height: 1.55; }
        .zg-cta__actions { position: relative; z-index: 1; display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
        .zg-cta .zg-btn--outline { background: rgba(255,255,255,.18); color: #fff; border-color: rgba(255,255,255,.45); }
        .zg-cta .zg-btn--primary { background: #fff; color: var(--zg-pink); box-shadow: 0 16px 32px rgba(17,27,70,.10); }
        .zg-bottom-row {
            display: grid;
            grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
            gap: 18px;
            align-items: stretch;
            margin: 36px 0 64px;
        }
        .zg-bottom-row .zg-pay-card {
            min-height: 100%;
            border-radius: 30px;
            border-color: #e3ecfb;
            background: linear-gradient(135deg, #eef5ff 0%, #fff7fb 100%);
            box-shadow: 0 18px 44px rgba(17,27,70,.07);
        }
        .zg-bottom-row .zg-pay-card h3 { font-size: 22px; }
        .zg-bottom-row .zg-pay-card p { font-size: 14px; }
        .zg-bottom-row .zg-pay-card__icon { width: 62px; height: 62px; border-radius: 20px; margin-bottom: 16px; }
        .zg-bottom-row .zg-pay-card__icon svg { width: 34px; height: 34px; }

        @media (max-width: 1100px) {
            .zg-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .zg-home-row { grid-template-columns: 1fr; }
            .zg-steps { grid-template-columns: 1fr; }
            .zg-step:not(:last-child)::after { display: none; }
            .zg-home-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .zg-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .zg-faq-box { grid-template-columns: 1fr; }
            .zg-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .zg-feature:nth-child(2) { border-right: 0; }
            .zg-feature:nth-child(1), .zg-feature:nth-child(2) { border-bottom: 1px solid var(--zg-line); }
            .zg-age-showcase { grid-template-columns: 110px minmax(0, 1fr); padding: 22px; }
            .zg-age-showcase__icon { width: 110px; height: 110px; border-radius: 26px; }
            .zg-age-showcase__icon svg { width: 72px; height: 72px; }
            .zg-city-showcase { grid-template-columns: minmax(0, 1fr) 240px; padding: 22px; }
            .zg-city-showcase__card { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; }
            .zg-city-showcase__card-icon { width: 48px; height: 48px; }
            .zg-city-showcase__card-icon .zg-city-svg { width: 27px; height: 27px; }
            .zg-city-panel { padding: 18px; }
            .zg-chip-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .zg-city-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .zg-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .zg-city-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .zg-content-box { grid-template-columns: 1fr; }
        }

        @media (max-width: 900px) {
            .zg-hero__inner { grid-template-columns: 1fr; min-height: auto; padding: 36px 0 34px; }
            .zg-hero__content { max-width: none; }
            .zg-hero__visual { width: 100%; min-height: 460px; justify-content: center; align-items: center; }
            .zg-hero__image-shell { min-height: 460px; height: auto; align-items: center; }
            .zg-hero__photo-frame { width: min(100%, 720px); min-height: auto; height: auto; }
            .zg-hero__photo { width: 100%; height: 430px; min-height: 0; border-radius: 24px; object-fit: cover; }
            .zg-hero__online-bubble { right: 18px; bottom: 42px; }
            .zg-hero__heart--one { right: 10px; top: 92px; }
            .zg-hero__heart--two { right: 76px; top: 54px; }
            .zg-hero h1 { margin-top: 22px; }
            .zg-section__head { align-items: flex-start; flex-direction: column; }
            .zg-section__links { justify-content: flex-start; }
            .zg-profile-links { justify-content: flex-start; }
        }

        @media (max-width: 640px) {
            .zg-btn { width: 100%; }
            .zg-hero h1 { font-size: clamp(38px, 12vw, 48px); }
            .zg-hero__lead { font-size: 16px; line-height: 1.58; }
            .zg-hero__actions { display: flex; flex-wrap: nowrap; gap: 10px; }
            .zg-hero__actions .zg-btn { width: auto; min-width: 0; flex: 1 1 0; min-height: 48px; padding: 0 12px; font-size: 13px; }
            .zg-hero__facts { grid-template-columns: 1fr; gap: 10px; }
            .zg-hero__fact { min-height: 70px; padding: 12px; border-radius: 18px; }
            .zg-hero__fact-ico { width: 40px; height: 40px; border-radius: 13px; }
            .zg-hero__visual { width: 100%; min-height: 320px; margin-top: 4px; }
            .zg-hero__image-shell { min-height: 320px; }
            .zg-hero__image-shell::before { right: -90px; bottom: 8px; width: 260px; height: 260px; }
            .zg-hero__image-shell::after { left: -70px; top: 18px; width: 150px; height: 150px; }
            .zg-hero__photo-frame { padding: 8px; border-radius: 26px; min-height: auto; height: auto; }
            .zg-hero__photo { height: 300px; min-height: 0; border-radius: 20px; }
            .zg-hero__online-bubble { right: 10px; bottom: 18px; min-width: 158px; padding: 11px 12px; border-radius: 18px; }
            .zg-hero__online-avatars img,
            .zg-hero__online-fallback { width: 26px; height: 26px; margin-left: -8px; }
            .zg-hero__heart { display: none !important; }
            .zg-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
            .zg-soft-card { padding: 18px; }
            .zg-online-grid { grid-template-columns: repeat(6, 46px); gap: 10px; }
            .zg-online-mini { width: 46px; height: 46px; }
            .zg-profile-links { flex-wrap: nowrap; gap: 8px; }
            .zg-profile-links .zg-pill-link { flex: 1 1 0; min-width: 0; padding: 0 10px; font-size: 12px; gap: 6px; }
            .zg-profile-links .zg-pill-link img { width: 16px; height: 16px; }
            .zg-home-features { grid-template-columns: 1fr; }
            .zg-blog-grid { grid-template-columns: 1fr; }
            .zg-faq-list { grid-template-columns: 1fr; }
            .zg-card__body { padding: 12px; }
            .zg-card__title { font-size: 14px; }
            .zg-card__facts { gap: 5px; }
            .zg-card__fact { font-size: 11px; }
            .zg-card__fact-text { white-space: nowrap; }
            .zg-features { grid-template-columns: 1fr; }
            .zg-feature { border-right: 0; border-bottom: 1px solid var(--zg-line); padding: 18px; }
            .zg-feature:last-child { border-bottom: 0; }
            .zg-age-showcase {
                grid-template-columns: 1fr;
                gap: 18px;
                padding: 20px 18px;
                text-align: center;
            }
            .zg-age-showcase__icon {
                width: 104px;
                height: 104px;
                margin: 0 auto;
                border-radius: 24px;
            }
            .zg-age-showcase__icon svg { width: 66px; height: 66px; }
            .zg-age-showcase__eyebrow { margin: 0 auto; }
            .zg-city-showcase {
                grid-template-columns: 1fr;
                gap: 18px;
                padding: 20px 18px;
                text-align: center;
            }
            .zg-city-showcase__eyebrow { margin: 0 auto; }
            .zg-city-showcase__visual { grid-template-columns: 1fr; }
            .zg-city-showcase__card { text-align: left; }
            .zg-city-panel { padding: 16px; border-radius: 24px; }
            .zg-chip-grid, .zg-city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
            .zg-age-chip { min-height: 74px; }
            .zg-city-chip { min-height: 110px; padding: 12px; gap: 8px; }
            .zg-city-chip__icon { width: 44px; height: 44px; border-radius: 14px; }
            .zg-city-chip__name { font-size: 14px; }
            .zg-info-grid { grid-template-columns: 1fr; }
            .zg-city-mini-grid { grid-template-columns: 1fr; }
            .zg-info-card { min-height: auto; }
            .zg-content-mini { grid-template-columns: 1fr; }
            .zg-content-start { padding: 18px; }
            .zg-content-start__top { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }
            .zg-content-start__icon { width: 52px; height: 52px; border-radius: 18px; }
            .zg-content-actions { flex-direction: column; }
            .zg-content-action { width: 100%; }
            .zg-content-links { grid-template-columns: 1fr; }
            .zg-content-link {
                min-height: auto;
                grid-template-columns: 64px minmax(0, 1fr) 34px;
                grid-template-rows: auto;
                align-items: center;
                padding: 18px;
                border-radius: 24px;
            }
            .zg-content-link::after { left: 18px; right: 18px; }
            .zg-content-link__icon { grid-column: auto; width: 64px; height: 64px; border-radius: 21px; }
            .zg-content-link__icon svg { width: 42px; height: 42px; }
            .zg-content-link__icon img { width: 36px; height: 36px; }
            .zg-content-link__text strong { font-size: 16px; }
            .zg-content-link__text span { max-width: none; font-size: 14px; }
            .zg-home-row { grid-template-columns: 1fr; }
            .zg-cta { grid-template-columns: 1fr; margin-bottom: 38px; }
            .zg-bottom-row { grid-template-columns: 1fr; margin-bottom: 38px; }
            .zg-bottom-row .zg-cta { margin-bottom: 0; }
            .zg-cta__actions { justify-content: stretch; }
        }

        /* === ZUG4 design patch: how it works, online, trust === */
        .zgx-section,
        .zgx-section * {
            box-sizing: border-box;
        }
        .zgx-section {
            width: 100%;
            max-width: 100%;
            padding: 52px 0 60px;
            overflow: hidden;
        }
        .zgx-container {
            width: min(var(--zg-container), calc(100% - 32px)) !important;
            max-width: var(--zg-container) !important;
            margin-inline: auto !important;
        }
        .zgx-stack {
            display: grid;
            gap: 28px;
            width: 100%;
            max-width: 100%;
        }

        .zgx-how {
            position: relative;
            overflow: hidden;
            width: 100%;
            padding: 30px 24px 28px;
            border-radius: 28px;
            color: #fff;
            background:
                radial-gradient(circle at 8% 10%, rgba(255,255,255,.075) 0, transparent 18%),
                radial-gradient(circle at 86% 10%, rgba(255,90,116,.12) 0, transparent 24%),
                radial-gradient(circle at 100% 100%, rgba(142,96,255,.16) 0, transparent 32%),
                linear-gradient(135deg, #12204d 0%, #15285e 54%, #2b1f57 100%);
            box-shadow: 0 28px 68px rgba(17,27,70,.20);
            isolation: isolate;
        }
        .zgx-how::before,
        .zgx-how::after {
            content: '';
            position: absolute;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,.075);
            pointer-events: none;
            z-index: 0;
        }
        .zgx-how::before { width: 260px; height: 260px; left: -140px; top: -140px; }
        .zgx-how::after { width: 285px; height: 285px; right: -125px; bottom: -130px; }
        .zgx-how__title {
            position: relative;
            z-index: 2;
            margin: 0 0 20px;
            color: #fff !important;
            text-align: center;
            font-size: clamp(34px, 3.2vw, 46px);
            line-height: 1.04;
            letter-spacing: -.04em;
            font-weight: 950;
        }
        .zgx-steps {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            width: 100%;
            max-width: 100%;
        }
        .zgx-steps::before {
            content: '';
            position: absolute;
            z-index: 0;
            left: 16%;
            right: 16%;
            top: 63px;
            height: 1px;
            background: linear-gradient(90deg, rgba(255,95,136,0) 0%, rgba(255,95,136,.56) 15%, rgba(255,95,136,.56) 85%, rgba(255,95,136,0) 100%);
            opacity: .95;
        }
        .zgx-step {
            position: relative;
            z-index: 1;
            min-width: 0;
            min-height: 198px;
            padding: 28px 22px 20px;
            border-radius: 24px;
            border: 1px solid rgba(255,255,255,.13);
            background: rgba(255,255,255,.065);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
            text-align: center;
        }
        .zgx-step__num {
            position: absolute;
            left: 14px;
            top: 14px;
            width: 28px;
            height: 28px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: linear-gradient(135deg, #ff5a74 0%, #ff6b63 100%);
            color: #fff;
            font-size: 13px;
            line-height: 1;
            font-weight: 950;
            box-shadow: 0 10px 22px rgba(255,91,112,.34);
        }
        .zgx-step__icon {
            width: 126px;
            height: 94px;
            margin: 4px auto 20px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 26px;
            background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
            box-shadow: 0 20px 40px rgba(0,0,0,.18);
            color: #6a86ff;
        }
        .zgx-step--profile .zgx-step__icon {
            color: #5f7eff;
            background: linear-gradient(180deg, #edf3ff 0%, #ffffff 100%);
            box-shadow: 0 20px 40px rgba(95,126,255,.22);
        }
        .zgx-step--search .zgx-step__icon {
            color: #4f7cff;
            background: linear-gradient(180deg, #ecf4ff 0%, #ffffff 100%);
            box-shadow: 0 20px 40px rgba(79,124,255,.20);
        }
        .zgx-step--chat .zgx-step__icon {
            color: #ff647a;
            background: linear-gradient(180deg, #fff0f4 0%, #ffffff 100%);
            box-shadow: 0 20px 40px rgba(255,100,122,.22);
        }
        .zgx-step__icon svg {
            width: 68px;
            height: 68px;
            display: block;
        }
        .zgx-step h3 {
            margin: 0;
            color: #fff !important;
            font-size: 18px;
            line-height: 1.2;
            letter-spacing: -.02em;
            font-weight: 950;
        }
        .zgx-step p {
            max-width: 270px;
            margin: 10px auto 0;
            color: rgba(255,255,255,.78);
            font-size: 14px;
            line-height: 1.45;
            font-weight: 500;
        }

        .zgx-online {
            width: 100%;
            max-width: 100%;
            overflow: hidden;
        }
        .zgx-head {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 14px;
        }
        .zgx-head h2 {
            margin: 0;
            color: var(--zg-blue-dark);
            font-size: clamp(28px, 2.8vw, 40px);
            line-height: 1.08;
            letter-spacing: -.035em;
            font-weight: 950;
        }
        .zgx-online-actions {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 10px;
            flex-wrap: wrap;
        }
        .zgx-online-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 0 16px;
            border-radius: 999px;
            border: 1px solid rgba(36,88,211,.16);
            background: #fff;
            box-shadow: 0 10px 22px rgba(17,27,70,.05);
            color: #2458d3;
            font-size: 14px;
            font-weight: 900;
            white-space: nowrap;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
        }
        .zgx-online-link:hover { color: var(--zg-pink); border-color: rgba(255,63,120,.24); box-shadow: 0 12px 24px rgba(17,27,70,.08); transform: translateY(-1px); }
        .zgx-online-carousel {
            position: relative;
        }
        .zgx-online-row {
            display: flex;
            align-items: flex-start;
            gap: 18px;
            width: 100%;
            max-width: 100%;
            overflow-x: auto;
            overflow-y: hidden;
            padding: 2px 0 10px;
            scrollbar-width: thin;
            scrollbar-color: rgba(36,88,211,.25) rgba(223,231,247,.35);
            -webkit-overflow-scrolling: touch;
            scroll-behavior: smooth;
        }
        .zgx-online-nav {
            display: none;
        }
        .zgx-online-arrow {
            width: 40px;
            height: 40px;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(135deg, #ffffff 0%, #edf4ff 100%);
            box-shadow: 0 12px 26px rgba(17,27,70,.12);
            color: #2458d3;
            cursor: pointer;
            align-items: center;
            justify-content: center;
            transition: transform .18s ease, box-shadow .18s ease, color .18s ease;
        }
        .zgx-online-arrow:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(17,27,70,.16); color: var(--zg-pink); }
        .zgx-online-arrow svg { width: 18px; height: 18px; display: block; fill: currentColor; }
        .zgx-online-row::-webkit-scrollbar { height: 8px; }
        .zgx-online-row::-webkit-scrollbar-track { background: rgba(223,231,247,.35); border-radius: 999px; }
        .zgx-online-row::-webkit-scrollbar-thumb { background: rgba(36,88,211,.25); border-radius: 999px; }
        .zgx-online-person {
            flex: 0 0 76px;
            width: 76px;
            min-width: 76px;
            display: grid;
            justify-items: center;
            gap: 8px;
            color: var(--zg-blue-dark);
            text-align: center;
            font-weight: 850;
        }
        .zgx-online-avatar {
            position: relative;
            display: block;
            width: 64px;
            height: 64px;
            border-radius: 999px;
            border: 3px solid #fff;
            background: linear-gradient(135deg, #ffe8ee, #edf4ff);
            box-shadow: 0 10px 22px rgba(17,27,70,.12);
        }
        .zgx-online-avatar img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: inherit;
        }
        .zgx-online-person.is-vip .zgx-online-avatar { border-color: #ffc928; }
        .zgx-online-person.is-select .zgx-online-avatar { border-color: #9db7ff; }
        .zgx-online-dot {
            position: absolute;
            right: 0;
            bottom: 2px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            border: 2px solid #fff;
            background: #22c875;
            box-shadow: 0 0 0 2px rgba(34,200,117,.14);
        }
        .zgx-online-name {
            display: block;
            width: 100%;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            color: var(--zg-blue-dark);
            font-size: 13px;
            line-height: 1.2;
            font-weight: 850;
        }

        .zgx-trust {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
            width: 100%;
            max-width: 100%;
        }
        .zgx-trust-card {
            position: relative;
            overflow: hidden;
            min-width: 0;
            min-height: 168px;
            padding: 20px 18px;
            border-radius: 22px;
            border: 1px solid rgba(255,255,255,.72);
            box-shadow: 0 16px 34px rgba(17,27,70,.05);
            display: flex;
            align-items: flex-start;
            gap: 16px;
        }
        .zgx-trust-card::after {
            content: '';
            position: absolute;
            right: -34px;
            bottom: -40px;
            width: 120px;
            height: 120px;
            border-radius: 50%;
            background: rgba(255,255,255,.30);
        }
        .zgx-trust-card--safety { background: linear-gradient(135deg, #fff2f6 0%, #fff8fa 100%); }
        .zgx-trust-card--privacy { background: linear-gradient(135deg, #edf3ff 0%, #f8fbff 100%); }
        .zgx-trust-card--real { background: linear-gradient(135deg, #eef9f0 0%, #f7fff8 100%); }
        .zgx-trust-card--serious { background: linear-gradient(135deg, #fff4ea 0%, #fffaf6 100%); }
        .zgx-trust-icon {
            position: relative;
            z-index: 1;
            width: 78px;
            height: 78px;
            flex: 0 0 78px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 24px;
            background: rgba(255,255,255,.92);
            box-shadow: 0 14px 28px rgba(17,27,70,.08);
        }
        .zgx-trust-icon svg {
            width: 44px;
            height: 44px;
            display: block;
        }
        .zgx-trust-copy {
            position: relative;
            z-index: 1;
            min-width: 0;
            padding-top: 5px;
        }
        .zgx-trust-card--safety .zgx-trust-icon, .zgx-trust-card--safety .zgx-trust-copy h3 { color: #ff6179; }
        .zgx-trust-card--privacy .zgx-trust-icon, .zgx-trust-card--privacy .zgx-trust-copy h3 { color: #5b82ff; }
        .zgx-trust-card--real .zgx-trust-icon, .zgx-trust-card--real .zgx-trust-copy h3 { color: #32bf67; }
        .zgx-trust-card--serious .zgx-trust-icon, .zgx-trust-card--serious .zgx-trust-copy h3 { color: #ff9946; }
        .zgx-trust-copy h3 {
            margin: 0;
            max-width: 100%;
            font-size: 17px;
            line-height: 1.18;
            letter-spacing: -.02em;
            font-weight: 950;
            overflow-wrap: anywhere;
        }
        .zgx-trust-card--privacy .zgx-trust-copy h3 { font-size: 16px; }
        .zgx-trust-copy p {
            margin: 8px 0 0;
            color: #5d6884;
            font-size: 14px;
            line-height: 1.45;
        }

        @media (max-width: 1100px) {
            .zgx-steps { grid-template-columns: 1fr; }
            .zgx-steps::before { display: none; }
            .zgx-step { min-height: auto; }
            .zgx-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 640px) {
            .zgx-section { padding: 34px 0 42px; }
            .zgx-stack { gap: 28px; }
            .zgx-how { border-radius: 22px; padding: 24px 16px 20px; }
            .zgx-how__title { margin-bottom: 18px; font-size: 32px; }
            .zgx-step { border-radius: 20px; padding: 24px 16px 18px; }
            .zgx-step__icon { width: 102px; height: 76px; }
            .zgx-step__icon svg { width: 58px; height: 58px; }
            .zgx-head { align-items: flex-start; flex-direction: column; }
            .zgx-online-actions { width: 100%; justify-content: space-between; }
            .zgx-online-link { min-height: 34px; padding: 0 12px; font-size: 13px; }
            .zgx-online-carousel { margin: 0 -4px; padding: 0 28px; }
            .zgx-online-row {
                gap: 14px;
                padding: 2px 2px 10px;
                overflow-x: auto;
                overflow-y: hidden;
                scroll-snap-type: x proximity;
                scrollbar-width: none;
            }
            .zgx-online-row::-webkit-scrollbar { display: none; }
            .zgx-online-person { flex: 0 0 74px; width: 74px; min-width: 74px; scroll-snap-align: start; }
            .zgx-online-avatar { width: 60px; height: 60px; }
            .zgx-online-name { font-size: 12px; }
            .zgx-online-nav {
                display: flex;
                justify-content: space-between;
                pointer-events: none;
                position: absolute;
                inset: 12px 0 auto 0;
                top: 14px;
            }
            .zgx-online-arrow {
                display: inline-flex;
                pointer-events: auto;
                width: 38px;
                height: 38px;
            }
            .zgx-online-arrow--prev { margin-left: -8px; }
            .zgx-online-arrow--next { margin-right: -8px; }
            .zgx-trust { grid-template-columns: 1fr; }
            .zgx-trust-card { min-height: 148px; padding: 18px; gap: 14px; }
            .zgx-trust-icon { width: 66px; height: 66px; flex-basis: 66px; }
        }
        @media (max-width: 420px) {
            .zgx-online-actions { gap: 8px; }
            .zgx-online-link { font-size: 12px; padding: 0 10px; }
            .zgx-online-carousel { padding: 0 24px; }
            .zgx-online-person { flex-basis: 70px; width: 70px; min-width: 70px; }
            .zgx-online-avatar { width: 56px; height: 56px; }
        }


        /* === Final FAQ and CTA redesign v15 === */
        #faq.zg-section {
            padding-top: 38px;
            padding-bottom: 22px;
        }
        .zg-faq-box {
            position: relative;
            overflow: visible;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr);
            gap: 38px;
            align-items: stretch;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }
        .zg-faq-main {
            min-width: 0;
        }
        .zg-faq-kicker,
        .zg-faq-box__intro {
            display: none !important;
        }
        .zg-faq-box h2 {
            margin: 0 0 17px;
            color: var(--zg-blue-dark);
            font-size: clamp(26px, 2.6vw, 34px);
            line-height: 1.12;
            letter-spacing: -.035em;
            font-weight: 950;
        }
        .zg-faq-list {
            display: grid;
            grid-template-columns: 1fr;
            gap: 7px;
            align-items: start;
        }
        .zg-faq-item {
            border-radius: 9px;
            border: 1px solid #dfe7f3;
            background: #fff;
            color: var(--zg-blue-dark);
            box-shadow: none;
            overflow: hidden;
        }
        .zg-faq-item summary {
            list-style: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 14px;
            min-height: 38px;
            padding: 0 14px 0 17px;
            cursor: pointer;
            color: #18244f;
            font-weight: 850;
            font-size: 14px;
            line-height: 1.35;
        }
        .zg-faq-item summary::-webkit-details-marker { display: none; }
        .zg-faq-item summary span {
            position: relative;
            flex: 0 0 18px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
            border-radius: 0;
            background: transparent;
            color: transparent;
            font-size: 0;
            line-height: 1;
        }
        .zg-faq-item summary span::before {
            content: '';
            width: 7px;
            height: 7px;
            margin-top: -4px;
            border-right: 2px solid #7b87a3;
            border-bottom: 2px solid #7b87a3;
            transform: rotate(45deg);
            transition: transform .18s ease, margin .18s ease, border-color .18s ease;
        }
        .zg-faq-item[open] summary span {
            transform: none;
            background: transparent;
            color: transparent;
        }
        .zg-faq-item[open] summary span::before {
            margin-top: 4px;
            border-color: var(--zg-pink);
            transform: rotate(225deg);
        }
        .zg-faq-item p {
            margin: 0;
            padding: 10px 17px 14px;
            border-top: 1px solid #edf2fb;
            background: #fbfdff;
            color: var(--zg-muted);
            font-size: 13px;
            line-height: 1.58;
        }
        .zg-faq-item p a {
            color: var(--zg-blue);
            font-weight: 850;
        }
        .zg-faq-side {
            position: relative;
            overflow: hidden;
            min-height: 184px;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 190px;
            gap: 12px;
            align-items: end;
            border-radius: 24px;
            border: 1px solid rgba(255,255,255,.85);
            background:
                radial-gradient(circle at 94% 86%, rgba(255,255,255,.70) 0, transparent 30%),
                radial-gradient(circle at 16% 8%, rgba(255,95,136,.10) 0, transparent 26%),
                linear-gradient(135deg, #fff1f6 0%, #fff5f1 62%, #fff8fb 100%);
            padding: 27px 26px 0 28px;
            box-shadow: 0 18px 44px rgba(17,27,70,.075);
        }
        .zg-faq-side::before {
            content: '';
            position: absolute;
            right: 54px;
            top: 66px;
            display: block !important;
            width: 54px;
            height: 38px;
            border-radius: 20px 20px 20px 8px;
            background: rgba(255,255,255,.68);
            box-shadow: 0 12px 28px rgba(17,27,70,.055);
        }
        .zg-faq-side::after {
            content: '•••';
            position: absolute;
            right: 70px;
            top: 75px;
            color: #ff9aac;
            font-size: 16px;
            letter-spacing: 2px;
            line-height: 1;
            font-weight: 950;
        }
        .zg-faq-side__copy {
            position: relative;
            z-index: 2;
            align-self: center;
            padding-bottom: 24px;
        }
        .zg-faq-side strong {
            display: block;
            color: var(--zg-blue-dark);
            font-size: 25px;
            line-height: 1.14;
            letter-spacing: -.035em;
            font-weight: 950;
        }
        .zg-faq-side p {
            max-width: 270px;
            margin: 12px 0 0;
            color: #596783;
            line-height: 1.55;
            font-size: 14px;
        }
        .zg-faq-side .zg-soft-card__link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 46px;
            padding: 0 26px;
            border-radius: 999px;
            border: 0;
            background: linear-gradient(135deg, var(--zg-pink), #ff6f64);
            color: #fff;
            font-size: 14px;
            font-weight: 900;
            box-shadow: 0 14px 30px rgba(255,63,120,.22);
        }
        .zg-faq-side__image {
            position: relative;
            z-index: 1;
            min-height: 182px;
            margin: 0 -10px 0 0;
            display: flex;
            align-items: flex-end;
            justify-content: center;
        }
        .zg-faq-side__image::before {
            display: none !important;
        }
        .zg-faq-side__image img {
            position: relative;
            z-index: 1;
            width: min(100%, 184px);
            max-height: 218px;
            object-fit: contain;
            object-position: bottom center;
            filter: drop-shadow(0 18px 30px rgba(17,27,70,.13));
        }

        .zg-bottom-row {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(250px, auto) minmax(305px, .72fr);
            gap: 28px;
            align-items: center;
            margin: 24px 0 28px;
            padding: 30px 30px 30px 42px;
            border-radius: 26px;
            border: 1px solid rgba(255,255,255,.70);
            background:
                radial-gradient(circle at 25% 47%, rgba(255,255,255,.20) 0 38px, transparent 39px),
                radial-gradient(circle at 95% 100%, rgba(255,255,255,.22) 0, transparent 24%),
                linear-gradient(135deg, #ff3f78 0%, #ff655f 48%, #ffad5d 100%);
            box-shadow: 0 22px 56px rgba(255,63,120,.20);
        }
        .zg-bottom-row::before {
            content: '❤  · · ·  ❤';
            position: absolute;
            left: 31%;
            top: 50%;
            transform: translateY(-50%) rotate(-8deg);
            color: rgba(255,255,255,.30);
            font-size: 34px;
            letter-spacing: 8px;
            pointer-events: none;
        }
        .zg-bottom-row::after {
            content: '';
            position: absolute;
            left: -64px;
            top: -74px;
            width: 190px;
            height: 190px;
            border-radius: 50%;
            background: rgba(255,255,255,.13);
            pointer-events: none;
        }
        .zg-cta {
            position: relative;
            z-index: 1;
            overflow: visible;
            display: grid;
            grid-column: 1 / 3;
            grid-template-columns: minmax(0, 1fr) 260px;
            gap: 30px;
            align-items: center;
            min-height: 100%;
            margin: 0;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }
        .zg-cta::after {
            display: none;
        }
        .zg-cta h2 {
            position: relative;
            z-index: 1;
            max-width: 355px;
            margin: 0;
            color: #fff;
            font-size: clamp(30px, 3.2vw, 42px);
            line-height: 1.08;
            letter-spacing: -.045em;
            font-weight: 950;
        }
        .zg-cta p {
            position: relative;
            z-index: 1;
            max-width: 410px;
            margin: 12px 0 0;
            color: rgba(255,255,255,.88);
            font-size: 15px;
            line-height: 1.55;
            font-weight: 650;
        }
        .zg-cta__actions {
            position: relative;
            z-index: 1;
            display: flex;
            width: 100%;
            flex-direction: column;
            gap: 12px;
            align-items: stretch;
            justify-content: center;
        }
        .zg-cta__actions .zg-btn {
            width: 100%;
            min-height: 52px;
            border-radius: 999px;
            padding: 0 24px;
            font-size: 14px;
        }
        .zg-cta .zg-btn--primary {
            background: #fff;
            color: var(--zg-pink);
            border-color: rgba(255,255,255,.75);
            box-shadow: 0 16px 32px rgba(17,27,70,.12);
        }
        .zg-cta .zg-btn--primary::after {
            content: '♥';
            font-size: 15px;
            line-height: 1;
        }
        .zg-cta .zg-btn--outline {
            background: rgba(255,255,255,.10);
            color: #fff;
            border-color: rgba(255,255,255,.56);
            box-shadow: none;
        }
        .zg-cta .zg-btn--outline::after {
            content: '⌕';
            font-size: 21px;
            line-height: 1;
            transform: translateY(-1px);
        }
        .zg-bottom-row .zg-pay-card {
            position: relative;
            z-index: 1;
            overflow: hidden;
            grid-column: 3;
            min-height: 128px;
            display: grid;
            grid-template-columns: 66px minmax(0, 1fr);
            gap: 16px;
            align-items: center;
            padding: 22px 24px;
            border-radius: 22px;
            border: 1px solid rgba(255,255,255,.75);
            background: rgba(255,255,255,.82);
            box-shadow: 0 16px 36px rgba(17,27,70,.10);
        }
        .zg-bottom-row .zg-pay-card::after {
            content: '';
            position: absolute;
            right: -34px;
            bottom: -44px;
            width: 118px;
            height: 118px;
            border-radius: 50%;
            background: rgba(255,122,89,.10);
            pointer-events: none;
        }
        .zg-bottom-row .zg-pay-card__icon {
            position: relative;
            z-index: 1;
            width: 66px;
            height: 66px;
            margin: 0;
            border-radius: 20px;
            background: #fff2ec;
            color: #ff7852;
            box-shadow: inset 0 0 0 1px rgba(255,120,82,.08), 0 12px 24px rgba(255,120,82,.12);
        }
        .zg-bottom-row .zg-pay-card__icon svg {
            width: 38px;
            height: 38px;
        }
        .zg-bottom-row .zg-pay-card h3 {
            position: relative;
            z-index: 1;
            margin: 0;
            color: var(--zg-blue-dark);
            font-size: 18px;
            line-height: 1.18;
            letter-spacing: -.02em;
            font-weight: 950;
        }
        .zg-bottom-row .zg-pay-card p {
            position: relative;
            z-index: 1;
            margin: 8px 0 0;
            color: #596783;
            font-size: 13px;
            line-height: 1.45;
        }

        @media (max-width: 1100px) {
            .zg-faq-box {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            .zg-faq-side {
                grid-template-columns: minmax(0, 1fr) 180px;
                min-height: 170px;
            }
            .zg-bottom-row {
                grid-template-columns: 1fr;
                gap: 22px;
                padding: 30px;
            }
            .zg-cta {
                grid-column: auto;
                grid-template-columns: minmax(0, 1fr) 260px;
            }
            .zg-bottom-row .zg-pay-card {
                grid-column: auto;
            }
        }
        @media (max-width: 760px) {
            .zg-cta {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            .zg-cta__actions {
                max-width: 280px;
            }
        }
        @media (max-width: 640px) {
            #faq.zg-section {
                padding-top: 30px;
                padding-bottom: 18px;
            }
            .zg-faq-box h2 {
                margin-bottom: 14px;
                font-size: 28px;
            }
            .zg-faq-item summary {
                min-height: 44px;
                padding-left: 14px;
                font-size: 13px;
            }
            .zg-faq-side {
                grid-template-columns: minmax(0, 1fr) 128px;
                gap: 8px;
                min-height: 160px;
                padding: 22px 18px 0;
                border-radius: 22px;
            }
            .zg-faq-side::before {
                right: 28px;
                top: 62px;
                width: 46px;
                height: 32px;
            }
            .zg-faq-side::after {
                right: 42px;
                top: 70px;
                font-size: 13px;
            }
            .zg-faq-side strong {
                font-size: 22px;
            }
            .zg-faq-side p {
                max-width: 220px;
                font-size: 13px;
            }
            .zg-faq-side__copy {
                padding-bottom: 18px;
            }
            .zg-faq-side__image {
                min-height: 150px;
                margin-right: -14px;
            }
            .zg-faq-side__image img {
                width: 136px;
                max-height: 176px;
            }
            .zg-bottom-row {
                margin: 22px 0 38px;
                padding: 26px 20px;
                border-radius: 24px;
            }
            .zg-bottom-row::before {
                left: 42%;
                top: 130px;
                font-size: 24px;
                opacity: .78;
            }
            .zg-cta h2 {
                font-size: 32px;
            }
            .zg-cta__actions {
                max-width: none;
            }
            .zg-cta__actions .zg-btn {
                width: 100%;
            }
            .zg-bottom-row .zg-pay-card {
                grid-template-columns: 58px minmax(0, 1fr);
                min-height: auto;
                padding: 18px;
                border-radius: 20px;
            }
            .zg-bottom-row .zg-pay-card__icon {
                width: 58px;
                height: 58px;
                border-radius: 18px;
            }
            .zg-bottom-row .zg-pay-card h3 {
                font-size: 17px;
            }
        }


        /* === Final FAQ and CTA compact match v16 === */
        #faq.zg-section {
            padding-top: 30px;
            padding-bottom: 16px;
        }
        .zg-faq-box {
            grid-template-columns: minmax(0, 1fr) minmax(360px, .68fr);
            gap: clamp(26px, 4.2vw, 48px);
            align-items: start;
            overflow: visible;
            padding: 0;
            border: 0;
            background: transparent;
            box-shadow: none;
        }
        .zg-faq-box h2 {
            margin: 0 0 14px;
            font-size: clamp(22px, 2.05vw, 29px);
            line-height: 1.08;
            letter-spacing: -.034em;
            font-weight: 950;
        }
        .zg-faq-list {
            display: grid;
            grid-template-columns: 1fr;
            gap: 6px;
        }
        .zg-faq-item {
            border-radius: 7px;
            border: 1px solid #dfe6f2;
            background: #fff;
            box-shadow: none;
        }
        .zg-faq-item summary {
            min-height: 30px;
            padding: 0 13px 0 16px;
            color: #14204b;
            font-size: 12.5px;
            line-height: 1.25;
            font-weight: 850;
        }
        .zg-faq-item summary span {
            flex-basis: 17px;
            width: 17px;
            height: 17px;
        }
        .zg-faq-item summary span::before {
            width: 6px;
            height: 6px;
            border-right-width: 1.7px;
            border-bottom-width: 1.7px;
        }
        .zg-faq-item p {
            padding: 8px 16px 12px;
            font-size: 12.5px;
            line-height: 1.5;
        }
        .zg-faq-side {
            min-height: 154px;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 162px;
            gap: 12px;
            align-items: end;
            padding: 20px 21px 0 25px;
            border-radius: 16px;
            border: 1px solid #ffd8e0;
            background:
                radial-gradient(circle at 90% 40%, rgba(255,255,255,.62) 0 33px, transparent 34px),
                linear-gradient(135deg, #fff1f5 0%, #fff4f1 100%);
            box-shadow: none;
        }
        .zg-faq-side::before {
            right: 40px;
            top: 45px;
            width: 50px;
            height: 34px;
            border-radius: 19px 19px 19px 7px;
            background: rgba(255,255,255,.72);
            box-shadow: 0 10px 22px rgba(17,27,70,.045);
        }
        .zg-faq-side::after {
            right: 54px;
            top: 53px;
            font-size: 13px;
            letter-spacing: 2px;
            color: #ff94a8;
        }
        .zg-faq-side__copy {
            align-self: center;
            padding-bottom: 19px;
        }
        .zg-faq-side strong {
            font-size: 20px;
            line-height: 1.14;
            letter-spacing: -.025em;
            font-weight: 950;
        }
        .zg-faq-side p {
            max-width: 230px;
            margin: 9px 0 0;
            color: #596783;
            font-size: 12.5px;
            line-height: 1.48;
        }
        .zg-faq-side .zg-soft-card__link {
            min-height: 35px;
            padding: 0 24px;
            border-radius: 999px;
            font-size: 12px;
            box-shadow: 0 10px 22px rgba(255,63,120,.18);
        }
        .zg-faq-side__image {
            min-height: 152px;
            margin: 0 -6px 0 0;
            align-items: flex-end;
        }
        .zg-faq-side__image img {
            width: min(100%, 158px);
            max-height: 172px;
            object-fit: contain;
            object-position: bottom center;
            filter: none;
        }

        .zg-bottom-row {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 230px minmax(278px, .56fr);
            gap: 24px;
            align-items: center;
            margin: 24px 0 34px;
            padding: 24px 28px 23px 38px;
            border-radius: 14px;
            border: 1px solid rgba(255,255,255,.62);
            background:
                radial-gradient(circle at 6% 0%, rgba(255,255,255,.18) 0 72px, transparent 73px),
                radial-gradient(circle at 95% 100%, rgba(255,255,255,.22) 0, transparent 23%),
                linear-gradient(135deg, #ff3f78 0%, #ff625f 52%, #ffab59 100%);
            box-shadow: none;
        }
        .zg-bottom-row::before {
            content: '❤   · · ·   ❤';
            left: 28.5%;
            top: 50%;
            transform: translateY(-50%) rotate(-7deg);
            color: rgba(255,255,255,.28);
            font-size: 26px;
            letter-spacing: 6px;
        }
        .zg-bottom-row::after {
            left: -54px;
            top: -66px;
            width: 150px;
            height: 150px;
            background: rgba(255,255,255,.12);
        }
        .zg-cta {
            grid-column: 1 / 3;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 226px;
            gap: 24px;
            align-items: center;
            padding: 0;
            border: 0;
            background: transparent;
            box-shadow: none;
        }
        .zg-cta h2 {
            max-width: 330px;
            font-size: clamp(26px, 2.55vw, 34px);
            line-height: 1.08;
            letter-spacing: -.04em;
            color: #fff;
        }
        .zg-cta p {
            max-width: 390px;
            margin-top: 8px;
            color: rgba(255,255,255,.92);
            font-size: 13px;
            line-height: 1.42;
            font-weight: 700;
        }
        .zg-cta__actions {
            display: flex;
            flex-direction: column;
            gap: 9px;
            align-items: stretch;
            justify-content: center;
        }
        .zg-cta__actions .zg-btn {
            width: 100%;
            min-height: 42px;
            padding: 0 20px;
            border-radius: 999px;
            font-size: 12px;
            font-weight: 900;
        }
        .zg-cta .zg-btn--primary {
            background: #fff;
            color: var(--zg-pink);
            box-shadow: none;
        }
        .zg-cta .zg-btn--outline {
            background: rgba(255,255,255,.09);
            color: #fff;
            border-color: rgba(255,255,255,.62);
            box-shadow: none;
        }
        .zg-cta .zg-btn--primary::after {
            content: '♥';
            font-size: 13px;
            line-height: 1;
        }
        .zg-cta .zg-btn--outline::after {
            content: '⌕';
            font-size: 18px;
            line-height: 1;
            transform: translateY(-1px);
        }
        .zg-bottom-row .zg-pay-card {
            grid-column: 3;
            min-height: 100px;
            display: grid;
            grid-template-columns: 54px minmax(0, 1fr);
            gap: 14px;
            align-items: center;
            padding: 17px 18px;
            border-radius: 14px;
            border: 1px solid rgba(255,255,255,.78);
            background: rgba(255,255,255,.82);
            box-shadow: none;
        }
        .zg-bottom-row .zg-pay-card__icon {
            width: 54px;
            height: 54px;
            border-radius: 16px;
            background: #fff3ee;
            color: #ff7359;
            box-shadow: none;
        }
        .zg-bottom-row .zg-pay-card__icon svg {
            width: 31px;
            height: 31px;
        }
        .zg-bottom-row .zg-pay-card h3 {
            margin: 0;
            color: var(--zg-blue-dark);
            font-size: 14.5px;
            line-height: 1.16;
            letter-spacing: -.015em;
            font-weight: 950;
        }
        .zg-bottom-row .zg-pay-card p {
            margin: 6px 0 0;
            color: #596783;
            font-size: 11.8px;
            line-height: 1.36;
        }

        @media (max-width: 1100px) {
            .zg-faq-box {
                grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
                gap: 30px;
            }
            .zg-bottom-row {
                grid-template-columns: minmax(0, 1fr) 220px minmax(250px, .62fr);
                gap: 22px;
                padding: 24px 26px 23px 36px;
            }
            .zg-cta {
                grid-column: 1 / 3;
                grid-template-columns: minmax(0, 1fr) 216px;
            }
            .zg-bottom-row .zg-pay-card {
                grid-column: 3;
            }
        }
        @media (max-width: 900px) {
            .zg-faq-box {
                grid-template-columns: 1fr;
                gap: 18px;
            }
            .zg-faq-side {
                max-width: 520px;
            }
            .zg-bottom-row {
                grid-template-columns: 1fr;
                gap: 18px;
                padding: 26px 22px;
                border-radius: 18px;
            }
            .zg-cta,
            .zg-bottom-row .zg-pay-card {
                grid-column: auto;
            }
            .zg-cta {
                grid-template-columns: minmax(0, 1fr) 220px;
            }
            .zg-bottom-row .zg-pay-card {
                max-width: 420px;
            }
        }
        @media (max-width: 640px) {
            #faq.zg-section {
                padding-top: 26px;
                padding-bottom: 14px;
            }
            .zg-faq-box h2 {
                font-size: 25px;
            }
            .zg-faq-item summary {
                min-height: 40px;
                font-size: 13px;
            }
            .zg-faq-side {
                grid-template-columns: minmax(0, 1fr) 122px;
                min-height: 152px;
                padding: 20px 16px 0 18px;
                border-radius: 18px;
            }
            .zg-faq-side p {
                max-width: 210px;
                font-size: 12px;
            }
            .zg-faq-side__image {
                min-height: 146px;
                margin-right: -10px;
            }
            .zg-faq-side__image img {
                width: 124px;
                max-height: 160px;
            }
            .zg-bottom-row {
                margin: 22px 0 34px;
                padding: 25px 20px;
            }
            .zg-bottom-row::before {
                left: 36%;
                top: 118px;
                font-size: 22px;
            }
            .zg-cta {
                grid-template-columns: 1fr;
                gap: 18px;
            }
            .zg-cta h2 {
                font-size: 31px;
            }
            .zg-cta__actions {
                width: 100%;
                max-width: none;
            }
            .zg-bottom-row .zg-pay-card {
                max-width: none;
                grid-template-columns: 52px minmax(0, 1fr);
                padding: 17px;
            }
        }



        /* === Fix: bottom payment card text must stay in the right column === */
        .zg-bottom-row .zg-pay-card__icon {
            grid-row: 1 / span 2;
            align-self: start;
        }
        .zg-bottom-row .zg-pay-card h3 {
            grid-column: 2;
            grid-row: 1;
            align-self: end;
        }
        .zg-bottom-row .zg-pay-card p {
            grid-column: 2;
            grid-row: 2;
            align-self: start;
        }


        /* === Fix v17: align FAQ support card with first question on desktop and use shield icon === */
        @media (min-width: 901px) {
            .zg-faq-box {
                align-items: stretch;
            }
            .zg-faq-side {
                margin-top: 43px;
                align-self: stretch;
                min-height: 0;
                height: auto;
            }
            .zg-faq-side__copy {
                align-self: center;
            }
            .zg-faq-side__image {
                min-height: 100%;
            }
        }
        .zg-bottom-row .zg-pay-card__icon svg {
            fill: none;
            stroke: currentColor;
        }
