/**
 * findi360 homepage — vertical rhythm, section types, subtle decoration.
 * Batch UI-3: content-driven sections. No scroll-snap. No full-viewport slides.
 * Requires design-system homepage tokens (--fd-home-*).
 */

.fi-home-scroll .fi-hero,
.fi-home-scroll .fi-program-status,
.fi-home-scroll .fi-grow-paths,
.fi-home-scroll .fi-home-dd,
.fi-home-scroll .fi-lia,
.fi-home-scroll .fi-fintech,
.fi-home-scroll .fi-home-community,
.fi-home-scroll .fi-home-corp,
.fi-home-scroll .fi-final-cta {
    scroll-margin-top: var(--fd-header-offset, 72px);
}

/* ── Section type: Hero — content-driven height (Batch 2: no svh/vh min fill) ── */
.fi-home-scroll .fi-hero,
.fi-hero.fi-section-screen--hero {
    position: relative;
    box-sizing: border-box;
    padding-block: var(--fd-home-pad-hero-y);
    min-height: 0;
    overflow: clip;
}

/* ── Section type: Standard (program, paths, fintech, community, corporate) ── */
.fi-home-scroll .fi-program-status,
.fi-home-scroll .fi-grow-paths,
.fi-home-scroll .fi-fintech,
.fi-home-scroll .fi-home-community,
.fi-home-scroll .fi-home-corp {
    position: relative;
    box-sizing: border-box;
    padding-block: var(--fd-home-pad-standard-y);
    min-height: 0;
    overflow: clip;
}

/* ── Section type: Feature (Data Dare block, Learning in Action) ── */
.fi-home-scroll .fi-home-dd,
.fi-home-scroll .fi-lia {
    position: relative;
    box-sizing: border-box;
    padding-block: var(--fd-home-pad-feature-y);
    min-height: 0;
    overflow: clip;
}

/* ── Section type: CTA (content-driven — not viewport-fill) ── */
.fi-home-scroll .fi-final-cta {
    position: relative;
    box-sizing: border-box;
    padding-block: var(--fd-home-pad-cta-y);
    min-height: 0;
    overflow: clip;
}

/* ── Section type: Compact (sticker / ribbon rails) ── */
.fi-home-scroll > .fi-sticker-rail-wrap,
.fi-home-scroll > [data-sticker-rail],
.fi-home-scroll > .fi-ribbon-rail {
    padding-block: var(--fd-home-pad-compact-y);
    min-height: 0;
}

/* Batch 1 — typed containers only; do not force width:100% (that bypasses marketing max-width). */
.fi-home-scroll .fi-hero > .fi-container.fi-container--wide {
    width: min(var(--fd-container-wide), calc(100% - var(--fd-container-gutter)));
    max-width: 100%;
    margin-inline: auto;
}

.fi-home-scroll .fi-program-status > .fi-container--marketing,
.fi-home-scroll .fi-grow-paths > .fi-container--marketing,
.fi-home-scroll .fi-home-dd > .fi-container--marketing,
.fi-home-scroll .fi-lia > .fi-container--marketing,
.fi-home-scroll .fi-fintech > .fi-container--marketing,
.fi-home-scroll .fi-home-community > .fi-container--marketing,
.fi-home-scroll .fi-home-corp > .fi-container--marketing,
.fi-home-scroll .fi-final-cta > .fi-container--marketing {
    width: min(var(--fd-container-marketing), calc(100% - var(--fd-container-gutter)));
    max-width: 100%;
    margin-inline: auto;
}

/* ── Vertical rhythm: section head → grid/card ── */
.fi-home-scroll .fi-program-status__head,
.fi-home-scroll .fi-grow-paths__head,
.fi-home-scroll .fi-lia__head,
.fi-home-scroll .fi-fintech__head {
    margin-bottom: var(--fd-home-gap-head-grid);
}

.fi-home-scroll .fi-home-dd__head {
    margin-bottom: var(--fd-home-gap-head-grid);
}

.fi-home-scroll .fi-hero__copy .fi-eyebrow,
.fi-home-scroll .fi-home-dd__head .fi-eyebrow {
    margin-bottom: var(--fd-home-gap-eyebrow-heading);
}

.fi-home-scroll .fi-hero__title,
.fi-home-scroll .fi-hero__support {
    margin-bottom: var(--fd-home-gap-heading-support);
}

.fi-home-scroll .fi-hero__body {
    margin-bottom: var(--fd-home-gap-heading-body);
}

.fi-home-scroll .fi-hero__actions {
    margin-top: var(--fd-home-gap-body-cta);
}

.fi-home-scroll .fi-home-dd__title {
    margin-bottom: var(--fd-home-gap-heading-support);
}

.fi-home-scroll .fi-home-dd__body {
    margin-bottom: var(--fd-home-gap-body-cta);
}

.fi-home-scroll .fi-home-community__title,
.fi-home-scroll .fi-home-corp__title,
.fi-home-scroll .fi-final-cta__title {
    margin-bottom: var(--fd-home-gap-heading-support);
}

.fi-home-scroll .fi-home-community__support,
.fi-home-scroll .fi-home-corp__support {
    margin-bottom: var(--fd-home-gap-heading-body);
}

.fi-home-scroll .fi-home-community__signals {
    margin-top: 0;
    margin-bottom: var(--fd-home-gap-heading-body);
}

.fi-home-scroll .fi-home-corp__themes {
    margin-top: 0;
    margin-bottom: var(--fd-home-gap-heading-body);
}

.fi-home-scroll .fi-home-community__cta,
.fi-home-scroll .fi-home-corp__cta {
    margin-top: var(--fd-home-gap-body-cta);
}

.fi-home-scroll .fi-program-status__title,
.fi-home-scroll .fi-grow-paths__title,
.fi-home-scroll .fi-lia__title,
.fi-home-scroll .fi-fintech__title {
    margin-bottom: var(--fd-home-gap-heading-support);
}

.fi-home-scroll .fi-program-status__intro,
.fi-home-scroll .fi-grow-paths__support,
.fi-home-scroll .fi-lia__support,
.fi-home-scroll .fi-fintech__support,
.fi-home-scroll .fi-final-cta__support {
    margin-top: 0;
    margin-bottom: var(--fd-home-gap-body-cta);
}

.fi-home-scroll .fi-final-cta__btn {
    margin-top: 0;
}

.fi-home-scroll .fi-home-dd__actions {
    margin-top: var(--fd-home-gap-body-cta);
}

/* ── Content-driven card/tile heights (no vh-based section fill) ── */
.fi-program-status__grid {
    align-items: stretch;
}

.fi-program-status__module {
    min-height: 0;
    height: auto;
}

.fi-grow-paths__grid {
    align-items: stretch;
}

.fi-grow-paths__tile {
    min-height: var(--fd-touch-min, 44px);
    align-items: flex-start;
    height: auto;
}

.fi-home-dd__layout {
    align-items: start;
}

.fi-lia__grid--editorial {
    min-height: 0;
}

.fi-lia__block {
    justify-content: flex-start;
}

.fi-fintech__ecosystem {
    align-items: stretch;
}

.fi-fintech__item {
    min-height: var(--fd-touch-min, 44px);
    justify-content: flex-start;
}

.fi-home-community__layout {
    min-height: 0;
    align-items: start;
}

.fi-home-corp__layout {
    min-height: 0;
    align-items: start;
}

/* ── Subtle section divider (optional legacy class; not full-width stripe) ── */
.fi-section-screen::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(88%, 720px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32, 32, 32, 0.06), transparent);
    pointer-events: none;
}

.fi-section-screen--hero::after,
.fi-final-cta::after {
    display: none;
}

/* ── Decorative language (low-contrast; does not reserve viewport) ── */
.fi-deco-dots {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--fd-gold, #d99a16);
    opacity: var(--fd-deco-dot-opacity);
    pointer-events: none;
}

.fi-deco-dots--tl { top: 12%; left: 4%; }
.fi-deco-dots--tr { top: 18%; right: 6%; }
.fi-deco-dots--bl { bottom: 14%; left: 8%; }

.fi-deco-line {
    position: absolute;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(217, 154, 22, var(--fd-deco-line-opacity)), transparent);
    height: 1px;
}

.fi-deco-line--hero {
    top: 22%;
    left: 0;
    right: 0;
    opacity: 0.5;
}

@media (max-width: 1023px) {
    .fi-grow-paths__tile {
        min-height: var(--fd-touch-min, 44px);
    }
}

/* ═══════════════════════════════════════════════════════════════
 * Batch 10 — Cross-section composition (integration only)
 * Soft seams, gold restraint, artwork breathing — no per-section redesign.
 * ═══════════════════════════════════════════════════════════════ */

/* Continuous page field so sections share one editorial canvas */
.fi-home-scroll {
    background-color: var(--fd-bg-primary, #f7f3ea);
    background-image: var(--fd-gradient-page-wash);
    background-repeat: no-repeat;
    background-size: 100% min(72vh, 720px);
    background-position: 50% 0;
}

/* Soft bottom seam: dissolves hard “slide” edges between S01–S08 */
.fi-home-scroll > [data-home-section]:not(.fi-final-cta):not(.fi-site-footer)::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: clamp(1rem, 2vw, 1.75rem);
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(247, 243, 234, 0.35) 55%,
        rgba(247, 243, 234, 0.55) 100%
    );
}

/* Hero: override legacy fi-section-screen--hero::after { display:none } — lighter seam */
.fi-home-scroll > .fi-hero.fi-section-screen--hero::after {
    display: block;
    height: clamp(0.75rem, 1.5vw, 1.25rem);
    opacity: 0.7;
    width: auto;
    left: 0;
    right: 0;
    transform: none;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(247, 243, 234, 0.28) 55%,
        rgba(247, 243, 234, 0.45) 100%
    );
}

/* S07→S08: consecutive portrait art — compress shared vertical air */
.fi-home-scroll > .fi-home-community {
    padding-top: calc(var(--fd-home-pad-standard-y) * 0.88);
    padding-bottom: calc(var(--fd-home-pad-standard-y) * 0.72);
}

.fi-home-scroll > .fi-home-corp {
    padding-top: calc(var(--fd-home-pad-standard-y) * 0.72);
}

/* S08→S09: tone-b ends ivory; CTA champagne — soft entry wash */
.fi-home-scroll > .fi-final-cta::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: clamp(1.25rem, 2.5vw, 2.25rem);
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
        180deg,
        var(--fd-bg-primary, #f7f3ea) 0%,
        transparent 100%
    );
}

/* S08→S09 / S09→footer: remove hard gold hairlines that read as slide cuts */
.fi-home-scroll .fi-final-cta {
    border-top-color: transparent;
}

body:has(.fi-home-scroll) .fi-site-footer.fi-site-footer--rich {
    border-top-color: transparent;
    box-shadow: none;
}

/* Soft editorial hairline only — centered, not full-bleed stripe */
body:has(.fi-home-scroll) .fi-site-footer.fi-site-footer--rich::before {
    content: '';
    display: block;
    height: 1px;
    max-width: min(72%, 560px);
    margin: 0 auto;
    background: linear-gradient(90deg, transparent, rgba(32, 32, 32, 0.07), transparent);
}

/* Gold restraint across decorated bands (S04 / S06 / S09) */
.fi-home-scroll .fi-home-dd__waves {
    opacity: 0.82;
}

.fi-home-scroll .fi-fintech__waves {
    opacity: 0.68;
}

.fi-home-scroll .fi-final-cta__lines {
    opacity: 0.7;
}

.fi-home-scroll .fi-final-cta__glow {
    opacity: 0.85;
}

/* Feature sections: slightly less bottom pad so S04→S05 / S05→S06 don’t read as equal slabs */
.fi-home-scroll > .fi-home-dd {
    padding-bottom: calc(var(--fd-home-pad-feature-y) * 0.88);
}

.fi-home-scroll > .fi-lia {
    padding-top: calc(var(--fd-home-pad-feature-y) * 0.88);
    padding-bottom: calc(var(--fd-home-pad-feature-y) * 0.82);
}

/* S05→S06: editorial proof into capability breadth — tighten seam */
.fi-home-scroll > .fi-fintech {
    padding-top: calc(var(--fd-home-pad-standard-y) * 0.88);
}

/* Prefer-reduced-motion: seams are static gradients — no animation added */
