/* G2 — Split Visual Hero */
.gvw-vp-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border-soft);
    border-radius: clamp(20px, 1.8vw, 30px);
    background:
        linear-gradient(135deg, var(--surface-3), transparent 68%),
        var(--surface-1);
    box-shadow: 0 22px 54px rgba(0, 0, 0, .12);
}

.gvw-vp-hero--split {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
    min-height: clamp(460px, 38vw, 590px);
}

.gvw-vp-hero__copy {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: clamp(34px, 4vw, 66px);
}

.gvw-vp-hero__title {
    margin-top: 14px;
    max-width: 680px;
    color: var(--text-strong);
    font-size: clamp(42px, 4.2vw, 68px);
    font-weight: 850;
    line-height: .98;
    letter-spacing: -.035em;
}
.gvw-vp-hero__title span,
.gvw-vp-hero__title strong { display: block; }
.gvw-vp-hero__title strong { margin-top: 5px; color: var(--gold); font-weight: inherit; }
.gvw-vp-hero__description { margin-top: 20px; max-width: 620px; color: var(--text-body); font-size: clamp(15px, 1vw, 17px); line-height: 1.68; }

.gvw-vp-hero__benefits { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.gvw-vp-hero__benefits li { display: flex; align-items: center; gap: 10px; color: var(--text-strong); font-size: 14px; font-weight: 600; }
.gvw-vp-hero__benefit-icon { display: grid; place-items: center; width: 22px; height: 22px; color: var(--gold); }
.gvw-vp-hero__benefit-icon svg { width: 18px; height: 18px; fill: currentColor; }
.gvw-vp-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.gvw-vp-hero__visual { position: relative; min-width: 0; overflow: hidden; background: var(--surface-2); }
.gvw-vp-hero__visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, var(--surface-1) 0%, transparent 22%);
}
.gvw-vp-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gvw-vp-hero__visual--left img { object-position: left center; }
.gvw-vp-hero__visual--center img { object-position: center; }
.gvw-vp-hero__visual--right img { object-position: right center; }
.gvw-vp-hero__visual-fallback {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    min-height: 420px;
    background:
        radial-gradient(circle at 70% 32%, var(--gold-a20), transparent 24%),
        linear-gradient(145deg, var(--surface-4), var(--surface-1));
    color: var(--gold);
}
.gvw-vp-hero__visual-fallback span { font-size: clamp(86px, 9vw, 150px); font-weight: 900; letter-spacing: -.08em; opacity: .7; }
.gvw-vp-hero__visual-fallback small { color: var(--text-dim); font-size: 15px; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 980px) {
    .gvw-vp-hero--split { grid-template-columns: 1fr; }
    .gvw-vp-hero__copy { padding: 34px; }
    .gvw-vp-hero__visual { min-height: 360px; }
    .gvw-vp-hero__visual::before { background: linear-gradient(180deg, var(--surface-1) 0%, transparent 24%); }
}
@media (max-width: 620px) {
    .gvw-vp-hero { border-radius: 18px; }
    .gvw-vp-hero__copy { padding: 26px 22px 30px; }
    .gvw-vp-hero__title { font-size: clamp(38px, 11vw, 52px); }
    .gvw-vp-hero__visual { min-height: 280px; }
    .gvw-vp-hero__actions .gvw-vp-btn { flex: 1 1 100%; }
}
