/* ==========================================================================
   Section textures (mirrored from React) — applied via ::before overlay
   so the section retains its base background color underneath.
   ========================================================================== */
.rav-home-champions,
.rav-home-community,
.rav-home-audience,
.rav-home-cert-showcase {
    isolation: isolate;
}
.rav-home-champions::before,
.rav-home-community::before,
.rav-home-audience::before,
.rav-home-cert-showcase::before {
    content: "";
    position: absolute; inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.rav-home-champions::before     { background-image: url('../img/grunge-bg.png'); opacity: 0.30; }
.rav-home-community::before     { background: none; opacity: 0; }
.rav-home-audience::before      { background-image: url('../img/topo-bg.png');   opacity: 0.50; }
.rav-home-cert-showcase::before { background-image: url('../img/wave-lines.svg'); opacity: 0.55; background-size: cover; }

/* Make sure inner content sits above the texture overlay AND above bg-glow / top-rule */
.rav-home-champions     > .rav-section__inner,
.rav-home-community     > .rav-section__inner,
.rav-home-audience      > .rav-section__inner,
.rav-home-cert-showcase > .rav-section__inner { position: relative; z-index: 2; }

/* ==========================================================================
   Home Hero — 9×5 instructor grid
   ========================================================================== */
.rav-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--rav-color-ink);
    padding: 9rem 1.5rem 6rem;
}
@media (min-width: 640px) { .rav-home-hero { padding: 11rem 2.5rem 8rem; } }
.rav-home-hero__grid-wrap {
    position: absolute; inset: 0;
    -webkit-mask-image: radial-gradient(ellipse 65% 55% at 50% 42%, black 25%, rgba(0,0,0,0.85) 45%, transparent 78%);
    mask-image: radial-gradient(ellipse 65% 55% at 50% 42%, black 25%, rgba(0,0,0,0.85) 45%, transparent 78%);
    opacity: 0.6;
    z-index: 0;
}
.rav-home-hero__grid {
    display: grid; gap: 12px; padding: 24px;
    height: 100%; width: 100%;
}
@media (min-width: 640px) { .rav-home-hero__grid { gap: 16px; padding: 40px; } }
.rav-home-hero__cell {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: rgba(229,184,155,0.05);
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 1px rgba(229,184,155,0.30);
    filter: grayscale(30%) contrast(0.92);
}
.rav-home-hero__cell::after {
    content: "";
    position: absolute; inset: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(28,28,30,0.55) 0%, rgba(28,28,30,0.15) 55%, rgba(229,184,155,0.18) 100%);
    pointer-events: none;
}
.rav-home-hero__cell { position: relative; }
.rav-home-hero__cell--empty {
    background: radial-gradient(circle at 50% 35%, rgba(229,184,155,0.08), rgba(28,28,30,0.6) 70%);
}
.rav-home-hero__glow {
    position: absolute; left: 50%; top: 38%; transform: translate(-50%, -50%);
    width: 780px; height: 780px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(229,184,155,0.18) 0%, rgba(229,184,155,0.05) 35%, transparent 75%);
    pointer-events: none;
    z-index: 0;
}
.rav-home-hero__content {
    position: relative; z-index: 1;
    margin-inline: auto;
    max-width: 1100px;
    display: flex; flex-direction: column; align-items: center; gap: 28px;
    text-align: center;
}
.rav-home-hero__logo {
    display: block;
    height: 200px !important;
    width: 200px !important;
    max-width: none !important;
    max-height: 200px !important;
    object-fit: contain;
    margin-bottom: -16px;
}
@media (min-width: 768px) {
    .rav-home-hero__logo { height: 265px !important; width: 265px !important; max-height: 265px !important; }
}
.rav-home-hero__eyebrow {
    font-size: 15px; letter-spacing: 0.24em; text-transform: uppercase;
    color: var(--rav-color-bronze);
    font-weight: 500;
}
.rav-home-hero__title {
    margin: 0;
    font-size: clamp(2rem, 4.8vw, 4rem) !important;
    font-weight: 500; line-height: 1.1; letter-spacing: -0.02em;
    color: var(--rav-color-paper-soft);
}
.rav-home-hero__subtitle {
    margin: 0; max-width: 42rem;
    font-size: 23px; line-height: 1.7;
    color: rgba(245,242,237,0.75);
}
@media (min-width: 640px) { .rav-home-hero__subtitle { font-size: 25px; } }
.rav-home-hero__ctas { display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 640px) { .rav-home-hero__ctas { flex-direction: row; gap: 16px; } }
.rav-home-hero__badge {
    margin-top: 24px;
    display: inline-flex; align-items: center; gap: 8px;
    border: 1px solid rgba(229,184,155,0.30);
    background: rgba(255,255,255,0.04);
    border-radius: 16px;
    padding: 12px 20px;
    font-size: 15px; color: rgba(245,242,237,0.8);
    backdrop-filter: blur(8px);
}

/* ==========================================================================
   Home Sectors Grid
   ========================================================================== */
.rav-home-sectors__grid {
    list-style: none; margin: 0; padding: 0;
    display: grid; gap: 20px; grid-template-columns: 1fr 1fr;
}
@media (max-width: 360px) { .rav-home-sectors__grid { grid-template-columns: 1fr; } }
@media (min-width: 768px) { .rav-home-sectors__grid { grid-template-columns: repeat(4, 1fr); } }
.rav-sector-card {
    display: flex !important; flex-direction: column !important; height: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important; text-decoration: none !important; color: inherit !important;
    border-radius: 28px !important;
    background: #ffffff !important;
    padding: 0 0 6px 0 !important;
    box-shadow: 0 0 0 1px rgba(28,28,30,0.08);
    transition: transform 400ms, box-shadow 400ms;
}
.rav-sector-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 0 1px rgba(229,184,155,0.55), 0 30px 60px -30px rgba(28,28,30,0.25);
}
.rav-sector-card__strip {
    position: relative;
    display: block;
    height: 60px !important;
    background-size: cover; background-position: center;
    overflow: hidden;
}
.rav-sector-card__strip::after {
    content: "";
    position: absolute; inset-inline: 0; bottom: 0;
    height: 1px;
    background: rgba(229,184,155,0.40);
    pointer-events: none;
}
.rav-sector-card__strip-overlay {
    position: absolute; inset: 0;
    opacity: 0.6;
    mix-blend-mode: multiply;
}
.rav-sector-card__strip--gradient { height: 60px !important; }
@media (max-width: 767px) {
    .rav-sector-card__strip,
    .rav-sector-card__strip--gradient { height: 48px !important; }
}
.rav-sector-card__body {
    position: relative;
    margin: 0 6px !important;
    display: flex !important; flex-direction: column !important;
    flex: 1 1 auto !important;
    background: var(--rav-color-paper-soft) !important;
    border-radius: 0 0 22px 22px !important;
    padding: 24px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}
.rav-sector-card__title {
    margin: 0 !important;
    overflow-wrap: break-word !important;
    font-family: var(--rav-font) !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: var(--rav-color-ink) !important;
}
.rav-sector-card__lede {
    margin: 16px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.625 !important;
    color: var(--rav-color-ink-muted) !important;
    flex: 1 !important;
}
.rav-sector-card__cta {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(28,28,30,0.06);
    text-align: end;
    font-size: 15px;
    font-weight: 500;
    color: var(--rav-color-bronze-ink);
}

/* ==========================================================================
   Home Champions (instructor scroller)
   ========================================================================== */
.rav-champions-scroller {
    display: flex; gap: 24px; padding: 24px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;          /* hide scrollbar - IE/Edge */
    scrollbar-width: none;             /* hide scrollbar - Firefox */
    -webkit-mask-image: linear-gradient(to right, transparent 0, black 5%, black 95%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, black 5%, black 95%, transparent 100%);
}
.rav-champions-scroller::-webkit-scrollbar { display: none; height: 0; }
.rav-champion-card {
    flex-shrink: 0; width: 300px; scroll-snap-align: start;
    border-radius: 32px;
    background: rgba(28,28,30,0.95);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
    padding: 28px;
    display: flex; flex-direction: column; gap: 16px;
    text-align: center;
}
@media (min-width: 640px) { .rav-champion-card { width: 340px; } }
.rav-champion-card__portrait {
    width: 144px; height: 144px;
    margin: 0 auto;
    border-radius: 50%;
    background-size: cover;
    box-shadow: 0 0 0 4px var(--rav-color-ink), 0 0 0 6px rgba(229,184,155,0.7);
}
@media (min-width: 640px) { .rav-champion-card__portrait { width: 176px; height: 176px; } }
.rav-champion-card__sector {
    font-size: 14px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--rav-color-bronze);
}
.rav-champion-card__name  { margin: 0; font-size: 25px; font-weight: 500; color: var(--rav-color-paper-soft); }
.rav-champion-card__title { margin: 0; font-size: 16px; color: rgba(245,242,237,0.7); }
.rav-champion-card__bio,
.rav-champion-card .rav-champion-card__bio {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    border: 1px solid rgba(255,255,255,0.05);
    background: rgba(255,255,255,0.02);
    border-radius: 16px;
    padding: 16px;
    font-size: 15px; line-height: 1.6;
    color: rgba(245,242,237,0.65);
    text-align: start !important;
}

/* Header row: title + prev/next controls (matches React layout) */
.rav-champions-head-row {
    display: flex; flex-direction: column; gap: 24px;
    margin-bottom: 32px;
}
.rav-champions-head-row > .rav-section__head { margin-bottom: 0; }
@media (min-width: 1024px) {
    .rav-champions-head-row {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 32px;
    }
}
.rav-scroll-controls {
    display: flex; gap: 8px; flex-shrink: 0;
}
/* Defeat Elementor's global button styling — high specificity + !important on every box prop */
.rav-scroll-controls .rav-scroll-controls__btn,
button.rav-scroll-controls__btn {
    -webkit-appearance: none !important;
       -moz-appearance: none !important;
            appearance: none !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    background: rgba(255,255,255,0.05) !important;
    color: rgba(245,242,237,0.85) !important;
    box-shadow: none !important;
    outline: none !important;
    text-shadow: none !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color 300ms, background 300ms, color 300ms, transform 300ms;
    font-family: inherit;
    line-height: 1;
}
.rav-scroll-controls .rav-scroll-controls__btn svg,
button.rav-scroll-controls__btn svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
}
.rav-scroll-controls .rav-scroll-controls__btn:hover,
button.rav-scroll-controls__btn:hover {
    border-color: rgba(229,184,155,0.55) !important;
    background: rgba(229,184,155,0.10) !important;
    color: var(--rav-color-bronze) !important;
}
.rav-scroll-controls .rav-scroll-controls__btn:focus,
.rav-scroll-controls .rav-scroll-controls__btn:focus-visible {
    outline: 2px solid rgba(229,184,155,0.5) !important;
    outline-offset: 2px;
}

/* ==========================================================================
   Home Partners (marquee)
   ========================================================================== */
@keyframes rav-partners-marquee      { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes rav-partners-marquee-once { from { transform: translateX(0); } to { transform: translateX(calc(-100% + 100vw)); } }
.rav-home-partners {
    background: var(--rav-color-cream);
    padding: 0.5rem 0 2rem;
}
.rav-home-partners__viewport + .rav-home-partners__head { margin-top: 2.5rem; }
.rav-home-partners__head {
    text-align: center;
    margin: 0 auto 1rem;
    max-width: 1180px;
    padding-inline: 1.5rem;
}
.rav-home-partners__viewport {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent 0, black 8%, black 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, black 8%, black 92%, transparent 100%);
}
.rav-home-partners__track {
    display: flex; width: max-content;
    animation: rav-partners-marquee 40s linear infinite; /* default fallback */
}
.rav-home-partners__track.is-ltr  { animation-direction: reverse; }
.rav-home-partners__track.is-pausable:hover { animation-play-state: paused; }
.rav-home-partners__row { display: flex; gap: 24px; padding-inline: 12px; }
.rav-home-partners__logo {
    flex-shrink: 0;
    width: 176px; height: 96px;
    border: 1px solid rgba(229,184,155,0.15);
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    display: flex; align-items: center; justify-content: center;
}
.rav-home-partners__logo.is-dark {
    border-color: rgba(229,184,155,0.30);
    background: var(--rav-color-ink);
}
.rav-home-partners__logo img { max-width: 100%; max-height: 56px; object-fit: contain; }

/* ==========================================================================
   Home Social Proof (stats)
   ========================================================================== */
/* Social proof inherits the unified section padding — no overrides. */
.rav-stats {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
/* Mobile: odd third stat (alone in last row) spans full width and centers */
@media (max-width: 639px) {
    .rav-stats > li:nth-child(3):last-child { grid-column: 1 / -1; }
}
@media (min-width: 640px) { .rav-stats { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.rav-stats > li { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.rav-stats__value {
    font-size: clamp(2.25rem, 10vw, 4.5rem);
    font-weight: 500; line-height: 1;
    color: var(--rav-color-ink);
    font-variant-numeric: tabular-nums;
}
.rav-stats__rule { display: block; height: 1px; width: 40px; margin: 12px 0; background: var(--rav-color-bronze); }
.rav-stats__label { font-size: 18px; line-height: 1.4; color: var(--rav-color-ink-muted); }

/* ==========================================================================
   Home Benefits Triad
   ========================================================================== */
.rav-benefits-grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .rav-benefits-grid { grid-template-columns: repeat(3, 1fr); } }
.rav-benefit-card {
    display: flex; flex-direction: column; height: 100%;
    border-radius: 32px;
    background: rgba(28,28,30,0.03);
    box-shadow: 0 0 0 1px rgba(28,28,30,0.05);
    padding: 8px;
    transition: box-shadow 400ms;
}
.rav-benefit-card:hover { box-shadow: 0 0 0 1px rgba(229,184,155,0.4), 0 24px 48px -32px rgba(28,28,30,0.18); }
.rav-benefit-card__img {
    aspect-ratio: 4 / 3;
    border-radius: 28px 28px 0 0;
    background: var(--rav-color-cream);
    background-size: cover; background-position: center;
}
.rav-benefit-card__body { background: #fff; border-radius: 0 0 28px 28px; padding: 32px; flex: 1; display: flex; flex-direction: column; }
.rav-benefit-card__title { margin: 0; font-size: 30px; font-weight: 500; line-height: 1.2; color: var(--rav-color-ink); }
.rav-benefit-card__body-text { margin: 16px 0 0; font-size: 20px; line-height: 1.65; color: var(--rav-color-ink-muted); flex: 1; }
.rav-benefit-card__index { margin-top: 32px; font-size: 15px; color: var(--rav-color-ink-muted); }

/* ==========================================================================
   Home Cert Showcase
   ========================================================================== */
.rav-cert-tiers-grid { display: grid; gap: 24px; grid-template-columns: 1fr; margin-bottom: 4rem; }
@media (min-width: 768px) { .rav-cert-tiers-grid { grid-template-columns: repeat(3, 1fr); } }
.rav-cert-tier-card {
    background: #ffffff;
    border-radius: 32px;
    padding: 8px;
    box-shadow: 0 0 0 1px rgba(28,28,30,0.05);
    transition: box-shadow 400ms;
    height: 100%;
}
.rav-cert-tier-card:hover { box-shadow: 0 0 0 1px rgba(229,184,155,0.4); }
.rav-cert-tier-card__inner {
    background: var(--rav-color-paper-soft);
    border-radius: 24px;
    padding: 32px 32px 40px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 1px 2px rgba(28,28,30,0.04);
    display: flex; flex-direction: column; align-items: center; gap: 20px;
    text-align: center;
    height: 100%;
    transition: transform 400ms;
}
.rav-cert-tier-card:hover .rav-cert-tier-card__inner { transform: translateY(-4px); }
.rav-cert-tier-card__badge { font-size: 28px !important; padding: 10px 24px !important; border-width: 2px !important; }
.rav-cert-tier-card__name  { margin: 0; font-size: 25px; font-weight: 500; color: var(--rav-color-ink); }
.rav-cert-tier-card__rank  { font-size: 14px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--rav-color-ink-muted); }
.rav-cert-tier-card__desc  { margin: 0; font-size: 18px; line-height: 1.6; color: var(--rav-color-ink-muted); }

.rav-cert-showcase__cert { display: flex; justify-content: center; margin: 4rem 0 2rem; }
.rav-cert-mock {
    max-width: 26rem; width: 100%;
    border: 1px solid rgba(229,184,155,0.3);
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    display: flex; flex-direction: column; align-items: center; gap: 18px;
    text-align: center;
    box-shadow: 0 24px 60px -20px rgba(28,28,30,0.18);
}
.rav-cert-mock__rule { display: block; height: 4px; width: 80px; border-radius: 999px; background: linear-gradient(to left, var(--rav-color-bronze), rgba(229,184,155,0.4)); }
.rav-cert-mock__org { font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rav-color-ink-muted); }
.rav-cert-mock__title { margin: 0; font-size: 30px; font-weight: 500; color: var(--rav-color-ink); }
.rav-cert-mock__name { margin: 0; font-style: italic; font-size: 23px; color: rgba(28,28,30,0.3); }
.rav-cert-mock__sep { display: block; height: 1px; width: 160px; background: rgba(28,28,30,0.1); }
.rav-cert-mock__details { margin: 0; font-size: 16px; font-weight: 500; color: var(--rav-color-ink); }
.rav-cert-showcase__cta { display: flex; justify-content: center; }

/* ==========================================================================
   Home Audience Router
   ========================================================================== */
.rav-audience-router__grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .rav-audience-router__grid { grid-template-columns: 1fr 1fr; } }
.rav-audience-router__card {
    --rav-accent: #059669;
    overflow: hidden;
    border: 1px solid rgba(229,184,155,0.15);
    background: rgba(20,30,40,0.5);
    border-radius: 16px;
    display: flex; flex-direction: column;
}
.rav-audience-router__img { aspect-ratio: 16/9; background-size: cover; background-position: center; }
.rav-audience-router__body { padding: 36px; display: flex; flex-direction: column; gap: 20px; flex: 1; }
.rav-audience-router__tag { font-size: 15px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rav-color-bronze); font-weight: 500; }
.rav-audience-router__title { margin: 0; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; line-height: 1.2; color: var(--rav-color-paper-soft); }
.rav-audience-router__sub { margin: 0; font-size: 19px; line-height: 1.6; color: rgba(245,242,237,0.65); }
.rav-audience-router__benefits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 18px; line-height: 1.55; color: rgba(245,242,237,0.8); }
.rav-audience-router__cta {
    margin-top: auto;
    display: inline-flex; justify-content: center; align-items: center;
    background: var(--rav-accent);
    border: 1px solid var(--rav-accent);
    color: #fff;
    border-radius: 9999px;
    padding: 14px 24px;
    font-size: 18px; font-weight: 500;
    text-decoration: none;
}

/* ==========================================================================
   Home Community Strip
   ========================================================================== */
.rav-community-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rav-community-grid { grid-template-columns: repeat(3, 1fr); } }
.rav-community-card {
    border: 1px solid rgba(28,28,30,0.08);
    background: rgba(255,255,255,0.7);
    border-radius: 16px;
    padding: 28px;
    display: flex; flex-direction: column; gap: 16px;
    backdrop-filter: blur(8px);
    height: 100%;
}
.rav-community-card__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px;
    background: rgba(229,184,155,0.20);
    border-radius: 12px;
    color: var(--rav-color-bronze-ink);
    font-size: 23px;
}
.rav-community-card__title { margin: 0; font-size: 20px; font-weight: 500; line-height: 1.35; color: var(--rav-color-ink); }
.rav-community-card__body  { margin: 0; font-size: 16px; line-height: 1.65; color: var(--rav-color-ink-muted); }

/* ==========================================================================
   Home Free Content (scroller)
   ========================================================================== */
.rav-free-scroller {
    display: flex; gap: 24px; padding: 8px 0 24px;
    overflow-x: auto; scrollbar-width: none;
}
.rav-free-scroller::-webkit-scrollbar { display: none; }
.rav-free-card {
    flex-shrink: 0; width: 350px;
    border-radius: 28px;
    background: #fff;
    padding: 6px;
    box-shadow: 0 0 0 1px rgba(28,28,30,0.06);
    display: flex; flex-direction: column;
}
.rav-free-card__img { aspect-ratio: 16/9; border-radius: 22px 22px 0 0; background: var(--rav-color-cream); background-size: cover; background-position: center; }
.rav-free-card__body { padding: 28px; background: var(--rav-color-paper-soft); border-radius: 0 0 22px 22px; flex: 1; display: flex; flex-direction: column; gap: 16px; }
.rav-free-card__cat { font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rav-color-bronze-ink); }
.rav-free-card__title { margin: 0; font-size: 28px; font-weight: 500; line-height: 1.2; color: var(--rav-color-ink); }
.rav-free-card__meta { margin: auto 0 0; font-size: 15px; color: var(--rav-color-ink-muted); }
.rav-free-card__cta { margin-top: 12px; padding-top: 16px; border-top: 1px solid rgba(28,28,30,0.05); font-size: 16px; font-weight: 500; color: var(--rav-color-bronze-ink); text-decoration: none; }

/* ==========================================================================
   Home Lead Form
   ========================================================================== */
.rav-lead-form__bullets {
    list-style: none; margin: 8px 0 0; padding: 0;
    display: flex; flex-direction: column; gap: 12px;
    font-size: 16px; color: rgba(245,242,237,0.75);
}
.rav-lead-form__bullets li { display: inline-flex; align-items: center; gap: 12px; }
.rav-lead-form__check {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px;
    border-radius: 999px;
    background: rgba(229,184,155,0.15);
    color: var(--rav-color-bronze);
    font-size: 14px; font-weight: 600;
    flex-shrink: 0;
}
.rav-lead-form__grid { display: grid; gap: 56px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 1024px) { .rav-lead-form__grid { grid-template-columns: 1.1fr 1.2fr; gap: 80px; } }
.rav-lead-form__intro { display: flex; flex-direction: column; gap: 20px; }
.rav-lead-form {
    border-radius: 36px;
    background: rgba(28,28,30,0.95);
    padding: 32px;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.08);
    display: flex; flex-direction: column; gap: 16px;
}
@media (min-width: 640px) { .rav-lead-form { padding: 40px; } }
.rav-lead-form__row { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rav-lead-form__row { grid-template-columns: 1fr 1fr; } }
.rav-lead-form__full { display: flex; flex-direction: column; }
.rav-lead-form__consent {
    /* row + center so the checkbox sits inline with its text on one line —
       !important overrides the generic ".rav-lead-form label{flex-direction:column}". */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px;
    font-size: 14px; line-height: 1.4; cursor: pointer;
}
.rav-lead-form__consent input[type="checkbox"] {
    /* Force a real 16x16 box — the generic form-input rule stretches inputs to
       48px tall, which made the checkbox bleed below the text line. */
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer; accent-color: var(--rav-color-bronze);
}
.rav-lead-form__consent > span { flex: 1 1 auto; min-width: 0; }
.rav-lead-form__consent a { color: var(--rav-color-bronze); text-decoration: underline; }
.rav-lead-form label {
    display: flex; flex-direction: column; gap: 6px;
    font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(245,242,237,0.55);
}
.rav-lead-form input,
.rav-lead-form select,
.rav-lead-form textarea {
    height: 48px !important;
    border-radius: 9999px !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    background: rgba(255,255,255,0.05) !important;
    padding: 0 20px !important;
    font-size: 18px !important;
    color: var(--rav-color-paper-soft) !important;
    transition: border-color 200ms !important;
    box-sizing: border-box;
    width: 100%;
    direction: rtl !important;
    text-align: right !important;
}
.rav-lead-form input::placeholder { text-align: right; }
.rav-lead-form select {
    appearance: none !important; -webkit-appearance: none !important;
    background-color: #1c1c1e !important;
    accent-color: var(--rav-color-bronze);
}
.rav-lead-form select option { background: #1c1c1e; color: var(--rav-color-bronze); }
.rav-lead-form select option:hover,
.rav-lead-form select option:focus,
.rav-lead-form select option:active,
.rav-lead-form select option:checked {
    background: var(--rav-color-bronze) linear-gradient(0deg, var(--rav-color-bronze), var(--rav-color-bronze)) !important;
    color: #1c1c1e !important;
    box-shadow: 0 0 10px 100px var(--rav-color-bronze) inset !important;
}
.rav-lead-form textarea {
    height: auto !important;
    padding: 12px 20px !important;
    resize: none !important;
    border-radius: 24px !important;
}
.rav-lead-form input:focus,
.rav-lead-form textarea:focus,
.rav-lead-form select:focus {
    border-color: rgba(229,184,155,0.6) !important;
    outline: none !important;
}
.rav-lead-form button { margin-top: 16px; align-self: flex-start; }
.rav-lead-form__submit { display: inline-flex; align-items: center; gap: 12px; }
.rav-lead-form__submit-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    border-radius: 9999px;
    background: rgba(255,255,255,0.15);
    transition: background 200ms, transform 200ms;
}
.rav-lead-form__submit:hover .rav-lead-form__submit-icon {
    background: rgba(255,255,255,0.25);
    transform: translateX(-4px);
}

/* Lead form: thanks + error states (shared) */
.rav-lead-form.is-submitted { padding: 32px; min-height: 200px; }
.rav-lead-form__thanks {
    display: flex; flex-direction: column; align-items: flex-start; gap: 16px;
    padding: 16px 0;
}
.rav-lead-form__thanks-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px;
    border-radius: 9999px;
    background: rgba(229,184,155,0.15);
    color: var(--rav-color-bronze);
}
.rav-lead-form__thanks-title {
    margin: 0;
    font-family: var(--rav-font-display, inherit);
    font-size: 30px; font-weight: 500;
    color: var(--rav-color-paper-soft);
}
.rav-lead-form__thanks-body {
    margin: 0;
    font-size: 18px; line-height: 1.6;
    color: rgba(245,242,237,0.7);
}
.rav-lead-form__error {
    background: rgba(239,68,68,0.12);
    color: #fecaca;
    border: 1px solid rgba(239,68,68,0.4);
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 16px;
    margin-bottom: 12px;
}
.rav-lead-form button.is-loading { opacity: 0.7; cursor: wait; }

/* Champions title — render two phrases on separate lines (matches Next.js) */
.rav-home-champions .rav-champions-title__line { display: inline-block; white-space: nowrap; }
/* Champions lede — let it run full width (override default max-w on .rav-section__lede) */
.rav-home-champions .rav-champions-lede { max-width: none !important; white-space: nowrap; }
@media (max-width: 1023px) { .rav-home-champions .rav-champions-lede { white-space: normal; } }

/* Hero foot note (small line below CTAs) */
.rav-home-hero__foot {
    margin-top: 2.5rem;
    max-width: 28rem;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: rgba(245, 242, 237, 0.7);
}

/* Hero typewriter — single line layout (matches Next.js) */
.rav-home-hero__title.rav-typewriter--single {
    display: block !important;
    text-align: center;
    direction: ltr;
}
.rav-home-hero__title.rav-typewriter--single .rav-typewriter__inline {
    display: inline;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .rav-home-hero__title.rav-typewriter--single .rav-typewriter__inline {
        white-space: normal;
    }
    /* On mobile force the two clauses ("Ai for X" / "by Y") onto separate lines */
    .rav-home-hero__title.rav-typewriter--single .rav-typewriter__clause {
        display: block;
        white-space: nowrap;
    }
}
/* Suppress legacy 2-line layout if any old saved data still renders the old structure */
.rav-home-hero__title .rav-typewriter__line {
    display: inline;
}
.rav-home-hero__title .rav-typewriter__line + .rav-typewriter__line::before {
    content: " ";
}

/* Hide the legacy badge entirely (replaced by foot-note) */
.rav-home-hero__badge { display: none !important; }

/* Champions: ensure scroll buttons capture clicks even with SVG inside */
.rav-scroll-controls__btn { cursor: pointer; pointer-events: auto; position: relative; z-index: 5; }
.rav-scroll-controls__btn svg { pointer-events: none; }
.rav-scroll-controls__btn * { pointer-events: none; }

/* Certification showcase — sample certificate image (replaces old HTML mock) */
.rav-cert-showcase__cert {
    margin-top: 4rem;
    display: flex;
    justify-content: center;
}
.rav-cert-image {
    position: relative;
    width: 100%;
    max-width: 254px;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(229,184,155,0.30);
    background: #ffffff;
    box-shadow: 0 24px 60px -20px rgba(28,28,30,0.18);
}
.rav-cert-image img {
    display: block;
    width: 100%;
    height: auto;
}
