/* One-page typography and spacing. Supplied artwork and the FV remain unchanged. */
body.portal-page-overview {
    --portal-polish-ink: #171813;
    --portal-polish-body: #424640;
    --portal-polish-muted: #686e66;
    --portal-polish-yellow: #ffdc20;
    --portal-polish-soft: #fff8d7;
    --portal-polish-title: clamp(28px, 3.55cqw, 50px);
    --portal-polish-body-size: clamp(16px, 1.65cqw, 19px);
    --portal-polish-small: clamp(12px, 1.15cqw, 14px);
    --portal-polish-section-space: clamp(44px, 5cqw, 72px);
}

body.portal-page-overview .portal-video-section { container-type: inline-size; }

/* Shared section-heading level; FV headlines and price figures are deliberate exceptions. */
body.portal-page-overview :is(
    .portal-video-copy h2,
    .portal-feature-copy h3,
    .portal-case-copy h2,
    .portal-home-pricing-heading h2,
    .portal-start-heading h2,
    .portal-faq-modern-heading h2
) {
    color: var(--portal-polish-ink);
    font-size: var(--portal-polish-title);
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1.35;
}

body.portal-page-overview .portal-case-copy h2 { text-wrap: balance; }
body.portal-page-overview .portal-case-copy .portal-keep-phrase { white-space: nowrap; }

body.portal-page-overview :is(
    .portal-video-copy h2,
    .portal-feature-copy h3,
    .portal-home-pricing-heading h2,
    .portal-start-heading h2,
    .portal-faq-modern-heading h2
) mark {
    padding-inline: .02em;
    color: inherit;
    background: linear-gradient(transparent 77%, var(--portal-polish-yellow) 77%, var(--portal-polish-yellow) 96%, transparent 96%);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.portal-page-overview :is(
    .portal-feature-description,
    .portal-case-description,
    .portal-home-pricing-lead,
    .portal-start-description,
    .portal-faq-modern-lead,
    .portal-faq-modern-list details p,
    .portal-faq-modern-actions p
) {
    color: var(--portal-polish-body);
    font-size: var(--portal-polish-body-size);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.8;
}

body.portal-page-overview :is(
    .portal-feature-description,
    .portal-case-description,
    .portal-home-pricing-lead,
    .portal-start-description,
    .portal-faq-modern-lead
) { margin-top: 18px; }

body.portal-page-overview :is(
    .portal-home-plan-heading h3,
    .portal-start-choice h3
) {
    color: var(--portal-polish-ink);
    font-size: clamp(22px, 2.55cqw, 34px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.4;
}

body.portal-page-overview :is(
    .portal-home-plan-heading p,
    .portal-start-choice-copy > p,
    .portal-start-choice ul
) {
    color: var(--portal-polish-body);
    font-size: clamp(14px, 1.45cqw, 17px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.75;
}

body.portal-page-overview .portal-feature-tip {
    color: var(--portal-polish-body);
    background: var(--portal-polish-soft);
    font-size: clamp(15px, 1.5cqw, 17px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.7;
}

body.portal-page-overview :is(.portal-home-pricing-kicker, .portal-faq-modern-kicker) {
    margin-bottom: 12px;
    color: var(--portal-polish-muted);
    font-size: clamp(13px, 1.35cqw, 16px);
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.5;
}

body.portal-page-overview :is(.portal-case-badge, .portal-start-badge) {
    margin-bottom: 18px;
    color: var(--portal-polish-ink);
    background: var(--portal-polish-yellow);
    font-size: clamp(14px, 1.5cqw, 18px);
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1.5;
}

body.portal-page-overview .portal-feature-number {
    margin-bottom: 18px;
    color: var(--portal-polish-ink);
    font-weight: 800;
}
body.portal-page-overview .portal-feature-number span { font-size: clamp(18px, 1.9cqw, 24px); }
body.portal-page-overview .portal-feature-number strong {
    color: var(--portal-polish-yellow);
    font-size: clamp(48px, 5.3cqw, 72px);
    font-weight: 800;
}

body.portal-page-overview .portal-case-metrics li { background: var(--portal-polish-soft); }
body.portal-page-overview .portal-case-metrics li > div > span {
    color: var(--portal-polish-body);
    font-size: clamp(12px, 1.1cqw, 14px);
    font-weight: 600;
}
body.portal-page-overview .portal-case-metrics strong { color: var(--portal-polish-ink); }
body.portal-page-overview .portal-case-takeaway {
    color: var(--portal-polish-ink);
    font-size: clamp(17px, 1.8cqw, 22px);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.75;
}
body.portal-page-overview .portal-case-takeaway span {
    background: linear-gradient(transparent 77%, var(--portal-polish-yellow) 77%, var(--portal-polish-yellow) 96%, transparent 96%);
}

body.portal-page-overview :is(.portal-case-disclaimer, .portal-home-pricing-notes) {
    color: var(--portal-polish-muted);
    font-size: var(--portal-polish-small);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.75;
}

body.portal-page-overview .portal-faq-modern-list summary {
    color: var(--portal-polish-ink);
    font-size: var(--portal-polish-body-size);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.7;
}
body.portal-page-overview .portal-faq-modern-list summary > span { color: var(--portal-polish-ink); font-weight: 800; }

/* Keep existing button placement and shapes; unify the text and accent palette. */
body.portal-page-overview :is(.portal-home-plan-cta, .portal-faq-modern-cta, .portal-start-signup-link) {
    color: var(--portal-polish-ink);
    font-size: clamp(16px, 1.65cqw, 21px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.5;
}
body.portal-page-overview :is(.is-standard .portal-home-plan-cta, .portal-faq-modern-cta, .portal-start-signup-link) {
    border-color: var(--portal-polish-yellow);
    background: var(--portal-polish-yellow);
}
body.portal-page-overview .portal-home-plan-signup {
    color: var(--portal-polish-body);
    font-size: clamp(14px, 1.35cqw, 17px);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.65;
}
body.portal-page-overview .portal-start-consult-link { color: var(--portal-polish-ink); font-weight: 800; }
body.portal-page-overview .portal-start-form-heading h2 { color: var(--portal-polish-ink); font-weight: 800; }
body.portal-page-overview .portal-start-submit { color: var(--portal-polish-ink); background: var(--portal-polish-yellow); font-weight: 800; }

/* A consistent reading rhythm without dividers between the supplied illustrations. */
body.portal-page-overview .portal-features { padding-top: clamp(20px, 2.4cqw, 36px); }
body.portal-page-overview .portal-feature-row + .portal-feature-row { margin-top: clamp(24px, 3.4cqw, 48px); }
body.portal-page-overview .portal-feature-copy { padding-block: clamp(28px, 3cqw, 44px); }
body.portal-page-overview .portal-case-showcase { padding-top: clamp(28px, 3.4cqw, 48px); }
body.portal-page-overview .portal-case-story { padding-bottom: clamp(28px, 3cqw, 44px); }
body.portal-page-overview :is(.portal-home-pricing-inner, .portal-start-layout, .portal-faq-modern-inner) {
    padding-block: var(--portal-polish-section-space);
}
body.portal-page-overview .portal-start-layout { padding-inline: clamp(22px, 4.6875cqw, 72px); }

@media (min-width: 701px) {
    body.portal-page-overview .portal-start-choice.is-consult {
        grid-template-columns: 5.3cqw minmax(0, 1fr) minmax(176px, 17cqw);
    }
}

@media (max-width: 760px) {
    body.portal-page-overview {
        --portal-polish-title: clamp(26px, 7.15cqw, 38px);
        --portal-polish-body-size: 16px;
        --portal-polish-small: 12px;
        --portal-polish-section-space: 44px;
    }
    body.portal-page-overview .portal-feature-number strong { font-size: 52px; }
    body.portal-page-overview .portal-feature-copy { padding-block: 28px 22px; }
    body.portal-page-overview :is(.portal-home-plan-heading h3, .portal-start-choice h3) { font-size: clamp(22px, 5.8cqw, 30px); }
    body.portal-page-overview .portal-start-signup-link { font-size: clamp(14px, 4cqw, 16px); letter-spacing: -.025em; }
    body.portal-page-overview .portal-case-takeaway { font-size: 17px; }
}
