.hero {
    display: grid;
    gap: 28px;
    align-items: center;
    
}
.hero h1,
.narrow-page h1 {
    margin: 0;
    max-width: 680px;
    font-family: var(--font-display);
    font-size: clamp(42px, 10vw, 78px);
    line-height: .92;
    letter-spacing: -.04em;
}
.hero-text {
    max-width: 530px;
    color: var(--color-text-secondary);
    font-size: 17px;
    line-height: 1.6;
}
.hero-actions { display: grid; gap: 12px; max-width: 380px; margin-top: 24px; }
.hero-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-pills span {
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    color: var(--color-text-secondary);
    background: var(--color-image-overlay-soft);
    font-size: 13px;
}
.hero-visual {
    position: relative;
    min-height: 360px;
    display: grid;
    place-items: center;
    
    border-radius: var(--radius-xl);
    
}
.hero-orbit {
    position: absolute;
    width: 290px;
    height: 290px;
    
    border-radius: 999px;
    
}
.hero-logo-watermark { width: 230px; opacity: .52; filter: var(--filter-logo-watermark); }
.hero-card {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 16px;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    color: var(--color-image-text);
    background: var(--color-image-overlay);
    backdrop-filter: blur(16px);
}
.hero-card p { margin-bottom: 0; color: var(--color-image-text-secondary); }
.status-dot { display: inline-block; width: 9px; height: 9px; border-radius: 999px; background: var(--color-success); margin-right: 8px; }
.section-grid { display: grid; gap: 16px; }
.premium-card h2 { margin-top: 0; font-family: var(--font-display); font-size: 26px; }
.premium-card p { color: var(--color-text-secondary); line-height: 1.6; }
.split-section { display: grid; gap: 16px; }
.crown-card { min-height: 260px; }
.duel-preview { display: grid; align-content: center; }
.duel-mini { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin: 18px 0; }
.duel-mini div {
    display: grid;
    place-items: center;
    min-height: 130px;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    color: var(--color-accent-text-strong);
    font-family: var(--font-display);
    font-size: 48px;
    background: var(--color-surface-glass-medium);
}
.duel-mini span { color: var(--color-accent-text); font-family: var(--font-display); }
.narrow-page { max-width: 820px; margin-inline: auto; }
.text-page-card { margin-top: 18px; }

/* =========================================================
   Главный экран — изображение девушки
   ========================================================= */

.hero-copy {
    position: relative;
    z-index: 3;
    min-width: 0;
}

.hero-visual {
    isolation: isolate;
    min-height: 520px;
}

.hero-orbit {
    z-index: 0;
}

.hero-woman {
    position: absolute;
    right: -2%;
    bottom: 0;
    z-index: 1;

    width: min(96%, 540px);
    height: 100%;

    object-fit: contain;
    object-position: right bottom;

    pointer-events: none;
    user-select: none;

    filter: var(--filter-hero-image);
}

.hero-card {
    z-index: 3;
}
/* Этап F: когда Community Idol скрыт, Duel занимает всю ширину блока. */
.split-section.is-single {
    grid-template-columns: 1fr;
}
