/* 01-hero (design sections/{desktop,mobile}/01-hero.jpg). Partner strip, presenter line and CTA are mobile-only. */
.cv25-hero {
    min-height: 100svh; box-sizing: border-box; padding: 150px var(--hub-gutter) 40px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
}
.cv25-hero-presenter, .cv25-hero-cta { display: none; }
.cv25-hero-logo { margin: 0; width: min(950px, 100%); padding-bottom: 22px; border-bottom: 2px solid var(--cv25-red); }
.cv25-hero-logo img { width: 100%; height: auto; }
.cv25-hero-tagline { margin: 30px 0 0; display: flex; flex-direction: column; line-height: 1.3; }
.cv25-hero-tagline strong { font-size: clamp(1.25rem, 2.5vw, 2.25rem); font-weight: 600; }
.cv25-hero-tagline span { font-size: clamp(1.5rem, 2.8vw, 2.5rem); font-weight: 500; }
.cv25-hero-stats { list-style: none; margin: 50px 0 0; padding: 0; display: flex; justify-content: center; gap: 90px; }
.cv25-hero-stats li {
    position: relative; width: 226px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
    font-size: clamp(1.25rem, 2.8vw, 2.5rem); font-weight: 600; white-space: nowrap;
}
/* Gradient ring that the label overflows (design: text runs past the circle). */
.cv25-hero-stats li::before {
    content: ''; position: absolute; inset: 0; border-radius: 50%; padding: 3px; z-index: -1;
    background: linear-gradient(135deg, #2A4FA8, #63C7EE);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}
.cv25-hero-stats li { isolation: isolate; }
.cv25-hero-scroll { margin-top: 60px; display: block; width: 56px; animation: cv25-bob 2s ease-in-out infinite; }
.cv25-hero-scroll img { width: 56px; height: auto; }
@keyframes cv25-bob { 50% { transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .cv25-hero-scroll { animation: none; } }

@media (max-width: 767px) {
    .cv25-hero { min-height: 0; padding-top: 110px; }
    .cv25-hero-partners { width: 265px; height: auto; } /* mobile only (.cv25-m): the header drops this strip */
    .cv25-hero-presenter { display: block; margin: 32px 0 24px; font-size: 1.0625rem; line-height: 1.45; }
    .cv25-hero-logo { border-bottom: 0; padding-bottom: 0; }
    .cv25-hero-tagline { margin-top: 50px; }
    .cv25-hero-tagline strong { font-size: 1.25rem; }
    .cv25-hero-tagline span { font-size: 1.625rem; }
    .cv25-hero-stats { margin-top: 40px; gap: 18px; }
    .cv25-hero-stats li { width: 140px; font-size: 1.25rem; }
    .cv25-hero-cta {
        display: inline-flex; align-items: center; gap: 10px; margin-top: 50px; padding: 10px 26px;
        border: 2px solid #fff; border-radius: 14px; color: #fff; text-decoration: none; font-size: 1.25rem; font-weight: 500;
    }
    .cv25-hero-cta .cv25-needle { width: 40px; height: 25px; }
    .cv25-hero-scroll { margin-top: 36px; width: 40px; }
    .cv25-hero-scroll img { width: 40px; }
}
