/* ------------------------------------------------------------------
 * Page-level sections.
 *
 * Each section composes layout + components and adds only the
 * minimal section-specific decoration on top. Component-level visual
 * rules (Card / Badge / Button / List / Table / Dialog / Toast / ...)
 * live in `assets/css/components.css` and target shadcn-style
 * `[data-slot="..."]` selectors with legacy class aliases.
 * ------------------------------------------------------------------ */

/* ============== Hero ============================================ */

.hero {
    padding: 88px 0 64px;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: var(--space-10);
    align-items: center;
}

.hero [data-slot="badge"],
.hero .kicker {
    margin-bottom: 22px;
}

.hero h1 {
    margin: 0 0 18px;
    max-width: 820px;
}

.hero p {
    margin: 0 0 28px;
    max-width: 660px;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xl);
}

.hero-actions {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.hero-note {
    margin-top: var(--space-4);
    color: var(--color-text-subtle);
    font-size: var(--font-size-md);
}

.visual {
    position: relative;
    min-height: 410px;
    display: grid;
    place-items: center;
}

.visual::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.2), transparent 61%);
    filter: blur(4px);
}

.logo-orbit {
    position: relative;
    width: min(420px, 92%);
    aspect-ratio: 1.28;
    display: grid;
    place-items: center;
}

.logo-orbit::before {
    content: "";
    position: absolute;
    inset: 11% -4%;
    border: 1px solid rgba(246, 210, 122, 0.32);
    border-radius: 50%;
    transform: rotate(-15deg);
    box-shadow: 0 0 70px rgba(56, 189, 248, 0.18);
}

.logo-orbit img {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 0 36px rgba(255, 255, 255, 0.22)) drop-shadow(0 24px 70px rgba(56, 189, 248, 0.22));
}

/* ============== Section grids ================================== */

.test-data-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
}

.scenarios-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    align-items: stretch;
}

.feature-sections-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    align-items: stretch;
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
}

/* ============== CTA card ====================================== */

.cta-box {
    padding: 38px;
    border-radius: var(--radius-2xl);
    background: linear-gradient(135deg, rgba(246, 210, 122, 0.15), rgba(103, 211, 255, 0.095) 48%, rgba(255, 255, 255, 0.045)),
    rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: var(--shadow-xl);
}

.cta-box h2 {
    margin: 0 0 10px;
    font-size: var(--font-size-h2-strong);
    line-height: 1;
    letter-spacing: var(--letter-spacing-medium);
}

.cta-box p {
    margin: 0 0 var(--space-5);
    color: var(--color-text-muted);
    font-size: var(--font-size-xl);
    max-width: 850px;
}

.download-row {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
    align-items: center;
}

/* ============== Section paddings =============================== */

.positioning {
    padding-top: 24px;
    padding-bottom: 24px;
}

.test-data .section-head [data-slot="badge"],
.test-data .section-head .kicker {
    margin-bottom: 16px;
}

.privacy-section {
    padding-top: 36px;
    padding-bottom: 36px;
}

.install-mac {
    padding-top: 48px;
}

.install-mac__grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-9);
    align-items: start;
}

.install-mac__intro h2 {
    margin: 0 0 14px;
}

.install-mac__intro p {
    margin: 0 0 12px;
    color: var(--color-text-muted);
    font-size: var(--font-size-xl);
    max-width: 540px;
}

.install-mac__actions {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
    margin-top: var(--space-5);
}

.macos-first {
    padding-top: 36px;
    padding-bottom: 36px;
}

.checklist-promo {
    padding-top: 0;
}

.checklist-promo .cta-box h2,
.checklist-promo [data-slot="card"] h2 {
    font-size: 44px;
}
