/* ============================================================
   FloreData — Section 10 Let's Work Together + footer
   Spec: floredata/design/specs/landing-section10.md
   ============================================================ */

.fd-section--outro {
    background: var(--wp--preset--color--background);
    padding: 0;
}

/* --- CTA block over the Punchy glow ------------------------------------ */

.fd-outro__cta {
    position: relative;
    text-align: center;
    padding: 146px 24px 0;                      /* cases pill 10451 → heading 10748, calibrate */
    /* .ai embeds a raster radial (center #EBFEC3 → white) — CSS equivalent: */
    background: radial-gradient(
        ellipse 540px 430px at 50% 46%,
        var(--wp--preset--color--punchy) 0%,
        rgba(235, 254, 195, 0.55) 40%,
        rgba(235, 254, 195, 0) 72%
    );
}

.fd-outro__heading {
    font-family: var(--wp--preset--font-family--satoshi);
    font-weight: 300;                           /* Light — pixel rule */
    font-style: normal;
    font-size: clamp(3rem, 1.4rem + 5vw, 6.93rem);        /* 110.9px */
    line-height: 0.9;                           /* .ai leading 100 */
    color: #000000;
    margin: 0;
}

.fd-outro__heading em {
    font-weight: 700;
    font-style: italic;
}

.fd-outro__sub {
    font-weight: 700;
    font-style: italic;
    font-size: clamp(1.4rem, 0.9rem + 1vw, 1.875rem);     /* 30px */
    line-height: 1.33;                          /* .ai leading 40 */
    color: var(--wp--preset--color--text);
    margin: 60px 0 0;
}

/* dark "Your data partners" pill with overlapping team avatars (.ai 351×50) */
.fd-outro__partners {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    background: var(--wp--preset--color--surface-dark);
    border-radius: 999px;
    height: 50px;
    padding: 0 9px 0 21px;
    margin: 28px 0 0;
}

.fd-outro__partners-label {
    font-weight: 700;
    font-style: italic;
    font-size: 1.43rem;                         /* 22.9px */
    color: #F6F6F6;
    line-height: 1;
}

.fd-outro__partners-avatars {
    display: inline-flex;
}

.fd-outro__partners-avatars img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    border: 2px solid #F6F6F6;
    margin-left: -6px;                          /* .ai overlap */
}

.fd-outro__partners-avatars img:first-child { margin-left: 0; }

/* CTA pair (.ai 211×61 each, gap 23) */
.fd-outro__btns {
    display: flex;
    justify-content: center;
    gap: 23px;
    margin: 29px 0 0;
}

.fd-outro__btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    border-radius: 999px;
    padding: 18px 18px 18px 26px;               /* h ≈ 61 */
    font-weight: 700;
    font-size: 1.22rem;                         /* 19.5px */
    line-height: 1;
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.fd-outro__btn .fd-btn-arrow { width: 31px; height: 24px; flex: none; }

.fd-outro__btn--services {
    background: var(--wp--preset--color--bloom);
    color: var(--wp--preset--color--primary);
}

/* "Book a Call" = PRIMARY campfire-orange (CTA system — hero + footer book are campfire; lime blended into the lime outro bg). audit 2026-06-29 */
.fd-outro__btn--book {
    background: var(--wp--preset--color--campfire);
    color: #ffffff;
}

/* explicit hovers — GP a:hover trap (lesson #12) */
.fd-outro__btn--services:hover {
    transform: translateY(-2px);
    background: var(--wp--preset--color--mulberry);
    color: var(--wp--preset--color--text);
}

.fd-outro__btn--book:hover {
    transform: translateY(-2px);
    background: var(--wp--preset--color--surface-dark);
    color: #ffffff;
}

/* --- Footer band (.ai 1870×692 #A793F7, x37) ----------------------------- */

.fd-footer {
    margin: 250px 24px 24px;                    /* CTAs 11242 → band 11492, calibrate */
    background: #A793F7;                        /* vector-exact (≠ primary-soft token) */
    border-radius: 40px;
    padding: 108px 49px 0;                      /* links y11612 − band 11492 ≈ 120 incl text offset */
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.fd-footer__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.fd-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 13px;                                  /* .ai links spacing ~38 incl line */
}

.fd-footer__nav a {
    font-weight: 700;
    font-size: 1.56rem;                         /* 25px */
    line-height: 1;
    color: #F9F8F7;
    text-decoration: none;
}

.fd-footer__nav a:hover { color: var(--wp--preset--color--punchy); }

.fd-footer__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

.fd-footer__book {
    background: var(--wp--preset--color--punchy);
    color: var(--wp--preset--color--growth);
    border-radius: 999px;
    padding: 24px 60px;                         /* .ai 313×84 */
    font-weight: 700;
    font-size: 1.83rem;                         /* 29.3px */
    line-height: 1;
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    margin-bottom: 14px;
}

.fd-footer__book:hover {
    transform: translateY(-2px);
    background: var(--wp--preset--color--surface-dark);
    color: var(--wp--preset--color--punchy);
}

.fd-footer__line {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    font-size: 1.56rem;                         /* 25px */
    line-height: 1;
    color: #F9F8F7;
    text-decoration: none;
}

.fd-footer__line:hover { color: var(--wp--preset--color--punchy); }

/* Focus rings — the UA default is low-contrast on the purple footer (a11y) */
.fd-footer__nav a:focus-visible,
.fd-footer__line:focus-visible,
.fd-footer__book:focus-visible {
    outline: 2px solid var(--wp--preset--color--surface-dark);
    outline-offset: 3px;
    border-radius: 6px;
}

.fd-footer__line svg { width: 24px; height: 24px; flex: none; }

.fd-footer__socials {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.fd-footer__socials a {
    display: inline-flex;
    color: #F9F8F7;                              /* off-white IG + LinkedIn glyphs (currentColor) */
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.fd-footer__socials a:hover { opacity: 0.82; transform: translateY(-1px); }

.fd-footer__socials a:focus-visible {
    outline: 2px solid var(--wp--preset--color--surface-dark);
    outline-offset: 3px;
    border-radius: 6px;
}

.fd-footer__socials svg { width: 30px; height: 30px; display: block; }

/* giant wordmark (.ai x81–1862 within band x37 → inset 44, w ~1781/1870) */
img.fd-footer__wordmark {
    background-color: transparent;              /* dev-requirements lazy-img CLS bg shows through alpha */
}

.fd-footer__wordmark {
    width: 95.2%;
    align-self: center;
    margin: 56px 0 44px;
    height: auto;
    display: block;
}

/* --- Responsive ------------------------------------------------------------ */

@media (max-width: 1100px) {
    .fd-footer { padding: 64px 40px 0; margin-top: 140px; }

    .fd-footer__book { padding: 18px 40px; font-size: 1.4rem; }
}

@media (max-width: 640px) {
    .fd-outro__cta { padding: 96px 16px 0; }

    .fd-outro__btns { flex-wrap: wrap; gap: 14px; }

    .fd-outro__partners {
        height: auto;
        flex-wrap: wrap;
        justify-content: center;
        padding: 10px 16px;
        gap: 10px;
    }

    .fd-footer {
        margin: 96px 16px 16px;
        border-radius: 28px;
        padding: 48px 24px 0;
    }

    .fd-footer__top { flex-direction: column; gap: 36px; }

    .fd-footer__contact { align-items: flex-start; }

    .fd-footer__line { font-size: 1.2rem; }

    .fd-footer__wordmark { margin: 40px 0 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .fd-outro__btn, .fd-footer__book, .fd-footer__socials a { transition: none; }
    .fd-outro__btn:hover, .fd-footer__book:hover, .fd-footer__socials a:hover { transform: none; }
}
