/* FMMSC Public v5.7.1 — /kolaborasi/2027 visual normalization
 * Page-only layer: Public v5 typography, four-color palette, split rhythm.
 * Loaded after partnership-hub.css on the modular public shell.
 */

body.public-collaboration-2027-v5 {
    font-family: var(--fm-font-sans);
    background: var(--fm-white);
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 main,
body.public-collaboration-2027-v5 main :where(button, input, textarea, select) {
    font-family: var(--fm-font-sans);
}

body.public-collaboration-2027-v5 :where(
    .ph27-current-proof,
    .ph27-story,
    .ph27-snapshot,
    .ph27-experience,
    .ph27-digital,
    .ph27-impact,
    .ph27-member-voice,
    .ph27-support,
    .ph27-brand-fit,
    .ph27-jersey,
    .ph27-packages,
    .ph27-roadmap,
    .ph27-final
) {
    padding: clamp(78px, 7.5vw, 118px) 0;
}

/* Hero: same hierarchy as homepage Public v5. */
body.public-collaboration-2027-v5 .ph27-hero {
    padding: clamp(128px, 11vw, 176px) 0 clamp(84px, 8vw, 118px);
    background: var(--fm-navy-950);
    color: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
    gap: clamp(36px, 6vw, 88px);
}

body.public-collaboration-2027-v5 .ph-back-link {
    margin-bottom: 28px;
    color: rgba(255,255,255,.68);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.4;
}

body.public-collaboration-2027-v5 :where(.ph27-kicker, .section-label) {
    color: var(--fm-gold-500);
    font-size: .69rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .17em;
    text-transform: uppercase;
}

body.public-collaboration-2027-v5 .ph27-hero-copy h1 {
    max-width: 920px;
    margin: 16px 0 24px;
    font-size: clamp(3.25rem, 7.2vw, 7.25rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.055em;
}

body.public-collaboration-2027-v5 .ph27-hero-copy > p {
    max-width: 700px;
    color: rgba(255,255,255,.72);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
}

body.public-collaboration-2027-v5 .ph27-hero-copy > small {
    margin-top: 30px;
    color: rgba(255,255,255,.56);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

body.public-collaboration-2027-v5 .ph27-hero-visual {
    min-height: 500px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--fm-radius-lg);
    background: var(--fm-navy-950);
    box-shadow: none;
}

body.public-collaboration-2027-v5 .ph27-hero-visual > img {
    min-height: 500px;
}

body.public-collaboration-2027-v5 .ph27-hero-stamp {
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding: 15px 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: var(--fm-radius-md);
    background: rgba(7,24,45,.90);
    backdrop-filter: none;
}

body.public-collaboration-2027-v5 .ph27-hero-stamp :where(strong, span) {
    color: var(--fm-gold-500);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
}

/* Buttons were inheriting the parent shorthand in the legacy sheet. Lock them. */
body.public-collaboration-2027-v5 .ph27-hero .ph-button,
body.public-collaboration-2027-v5 .ph27-final .ph-button {
    min-height: 50px;
    padding: 0 20px;
    border-radius: 999px;
    font-family: var(--fm-font-sans);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .01em;
}

body.public-collaboration-2027-v5 .ph-button-primary {
    background: var(--fm-gold-500);
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 .ph-button-ghost {
    border-color: rgba(255,255,255,.22);
    background: transparent;
    color: var(--fm-white);
}

/* Shared section type scale. */
body.public-collaboration-2027-v5 .ph27-section-head {
    max-width: 980px;
    margin-bottom: clamp(34px, 4vw, 52px);
}

body.public-collaboration-2027-v5 .ph27-section-head h2,
body.public-collaboration-2027-v5 .ph27-experience h2,
body.public-collaboration-2027-v5 .ph27-roadmap h2,
body.public-collaboration-2027-v5 .ph27-final h2 {
    margin: 12px 0 0;
    font-size: clamp(2.25rem, 4vw, 4.7rem);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.045em;
}

body.public-collaboration-2027-v5 .ph27-section-head > p,
body.public-collaboration-2027-v5 .ph27-experience > .site-container > div:first-child > p,
body.public-collaboration-2027-v5 .ph27-roadmap p,
body.public-collaboration-2027-v5 .ph27-final p {
    margin-top: 16px;
    font-size: 1rem;
    line-height: 1.75;
}

body.public-collaboration-2027-v5 :where(
    .ph27-current-proof,
    .ph27-story,
    .ph27-experience,
    .ph27-digital,
    .ph27-impact,
    .ph27-member-voice,
    .ph27-brand-fit,
    .ph27-packages
) {
    background: var(--fm-white);
    color: var(--fm-navy-950);
    border-top: 1px solid var(--fm-line);
}

body.public-collaboration-2027-v5 :where(
    .ph27-snapshot,
    .ph27-support,
    .ph27-jersey,
    .ph27-final
) {
    background: var(--fm-navy-950);
    color: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-roadmap {
    background: var(--fm-gold-500);
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 .ph27-section-head:not(.is-dark) h2,
body.public-collaboration-2027-v5 .ph27-experience h2 {
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 .ph27-section-head:not(.is-dark) > p,
body.public-collaboration-2027-v5 .ph27-experience p,
body.public-collaboration-2027-v5 .ph27-story p,
body.public-collaboration-2027-v5 .ph27-digital p,
body.public-collaboration-2027-v5 .ph27-impact p,
body.public-collaboration-2027-v5 .ph27-member-voice p,
body.public-collaboration-2027-v5 .ph27-brand-fit li,
body.public-collaboration-2027-v5 .ph27-packages li {
    color: var(--fm-muted);
}

body.public-collaboration-2027-v5 .ph27-section-head.is-dark h2,
body.public-collaboration-2027-v5 .ph27-section-head.is-dark > p,
body.public-collaboration-2027-v5 .ph27-final h2 {
    color: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-section-head.is-dark > p,
body.public-collaboration-2027-v5 .ph27-final p {
    color: rgba(255,255,255,.68);
}

/* Current partners: clean proof wall, no extra typographic dialect. */
body.public-collaboration-2027-v5 .ph27-current-group > span,
body.public-collaboration-2027-v5 .ph27-current-logo-grid strong,
body.public-collaboration-2027-v5 .ph-inline-link {
    font-family: var(--fm-font-sans);
    font-weight: 900;
}

body.public-collaboration-2027-v5 .ph27-current-group > span {
    color: var(--fm-gold-500);
    font-size: .69rem;
    line-height: 1.2;
    letter-spacing: .17em;
}

body.public-collaboration-2027-v5 .ph27-current-logo-grid a {
    border-color: var(--fm-line);
    border-radius: var(--fm-radius-md);
    background: var(--fm-white);
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 .ph27-current-logo-grid.is-sponsor a {
    border-color: rgba(213,152,22,.34);
    background: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-current-logo-grid strong {
    font-size: .82rem;
    line-height: 1.35;
}

body.public-collaboration-2027-v5 .ph-inline-link {
    color: var(--fm-navy-950);
    font-size: .78rem;
}

/* Story / value blocks. */
body.public-collaboration-2027-v5 .ph27-family-grid article,
body.public-collaboration-2027-v5 .ph27-digital-grid article,
body.public-collaboration-2027-v5 .ph27-brand-grid article,
body.public-collaboration-2027-v5 .ph27-package-grid article:not(.is-featured),
body.public-collaboration-2027-v5 .ph27-member-voice blockquote,
body.public-collaboration-2027-v5 .ph27-audience-card,
body.public-collaboration-2027-v5 .ph27-jersey-opportunity {
    border: 1px solid var(--fm-line);
    border-radius: var(--fm-radius-md);
    background: var(--fm-white);
    color: var(--fm-navy-950);
    box-shadow: none;
}

body.public-collaboration-2027-v5 :where(
    .ph27-family-grid article > span,
    .ph27-digital-grid article > span,
    .ph27-brand-grid article > span,
    .ph27-package-grid article > span,
    .ph27-audience-copy > span,
    .ph27-jersey-opportunity > div:first-child > span,
    .ph27-contact-card > span
) {
    color: var(--fm-gold-500);
    font-size: .69rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.public-collaboration-2027-v5 .ph27-family-grid strong,
body.public-collaboration-2027-v5 .ph27-value-grid strong,
body.public-collaboration-2027-v5 .ph27-benefits strong,
body.public-collaboration-2027-v5 .ph27-package-grid article > strong,
body.public-collaboration-2027-v5 .ph27-audience-copy strong,
body.public-collaboration-2027-v5 .ph27-jersey-opportunity h3 {
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.025em;
}

body.public-collaboration-2027-v5 .ph27-family-grid strong {
    font-size: 1.35rem;
}

body.public-collaboration-2027-v5 .ph27-family-grid p,
body.public-collaboration-2027-v5 .ph27-value-grid p,
body.public-collaboration-2027-v5 .ph27-benefits p {
    font-size: .88rem;
    line-height: 1.65;
}

body.public-collaboration-2027-v5 .ph27-value-grid article {
    border: 1px solid rgba(255,255,255,.16);
    border-radius: var(--fm-radius-md);
    background: var(--fm-navy-950);
    color: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-value-grid span,
body.public-collaboration-2027-v5 .ph27-quote-grid footer,
body.public-collaboration-2027-v5 .ph27-support-grid article > span,
body.public-collaboration-2027-v5 .ph27-package-grid article.is-featured > span {
    color: var(--fm-gold-500);
}

body.public-collaboration-2027-v5 .ph27-value-grid p {
    color: rgba(255,255,255,.68);
}

/* Proof / audience. */
body.public-collaboration-2027-v5 .ph27-stat-grid article,
body.public-collaboration-2027-v5 .ph27-support-grid article {
    border: 1px solid rgba(255,255,255,.16);
    border-radius: var(--fm-radius-md);
    background: transparent;
}

body.public-collaboration-2027-v5 .ph27-stat-grid strong {
    color: var(--fm-gold-500);
    font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.05em;
}

body.public-collaboration-2027-v5 .ph27-stat-grid span,
body.public-collaboration-2027-v5 .ph27-support-grid li {
    color: rgba(255,255,255,.68);
    font-size: .78rem;
    line-height: 1.55;
}

body.public-collaboration-2027-v5 .ph27-data-source {
    color: rgba(255,255,255,.52);
    font-size: .72rem;
    line-height: 1.5;
}

body.public-collaboration-2027-v5 .ph27-data-source.is-light {
    color: var(--fm-muted);
}

body.public-collaboration-2027-v5 .ph27-audience-copy p,
body.public-collaboration-2027-v5 .ph27-audience-copy small,
body.public-collaboration-2027-v5 .ph27-safety-note span,
body.public-collaboration-2027-v5 .ph27-slot-list small {
    color: var(--fm-muted);
}

body.public-collaboration-2027-v5 .ph27-bar {
    background: rgba(7,24,45,.10);
}

body.public-collaboration-2027-v5 .ph27-bar i {
    background: var(--fm-gold-500);
}

/* Chips use gold tint only, not gray fills. */
body.public-collaboration-2027-v5 .ph27-chips span {
    border: 1px solid rgba(213,152,22,.28);
    background: rgba(213,152,22,.10);
    color: var(--fm-navy-950);
    font-size: .74rem;
    font-weight: 800;
}

body.public-collaboration-2027-v5 .ph27-benefit-cloud span {
    border: 1px solid rgba(255,255,255,.16);
    background: transparent;
    color: rgba(255,255,255,.76);
    font-size: .74rem;
    font-weight: 800;
}

body.public-collaboration-2027-v5 .ph27-safety-note {
    border-top-color: var(--fm-line);
}

body.public-collaboration-2027-v5 .ph27-photo-stack figure,
body.public-collaboration-2027-v5 .ph27-jersey-grid figure {
    border-radius: var(--fm-radius-md);
}

/* Digital / quotes / testimonials. */
body.public-collaboration-2027-v5 .ph27-digital-grid article > strong {
    color: var(--fm-navy-950);
    font-weight: 900;
    letter-spacing: -.05em;
}

body.public-collaboration-2027-v5 .ph27-digital-grid article > b {
    font-size: .78rem;
    font-weight: 900;
}

body.public-collaboration-2027-v5 .ph27-digital-grid article > div {
    border-top-color: var(--fm-line);
    color: var(--fm-muted);
    font-size: .78rem;
}

body.public-collaboration-2027-v5 .ph27-quote-grid blockquote {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--fm-radius-md);
    background: var(--fm-navy-950);
    color: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-quote-grid p {
    color: var(--fm-white);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.7;
}

body.public-collaboration-2027-v5 .ph27-member-voice {
    background: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-member-voice blockquote p {
    color: var(--fm-navy-950);
    font-size: .95rem;
    line-height: 1.7;
}

body.public-collaboration-2027-v5 .ph27-member-voice footer strong {
    font-weight: 900;
}

body.public-collaboration-2027-v5 .ph27-member-voice footer span {
    color: var(--fm-muted);
    font-size: .72rem;
}

body.public-collaboration-2027-v5 .ph27-stars {
    color: var(--fm-gold-500);
}

/* Support / package typography. */
body.public-collaboration-2027-v5 .ph27-benefits > div {
    border: 1px solid var(--fm-line);
    border-radius: var(--fm-radius-md);
    background: var(--fm-white);
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 .ph27-benefits span {
    color: var(--fm-gold-500);
    font-size: .69rem;
    font-weight: 900;
}

body.public-collaboration-2027-v5 .ph27-brand-grid li,
body.public-collaboration-2027-v5 .ph27-package-grid li {
    font-size: .78rem;
    line-height: 1.55;
}

body.public-collaboration-2027-v5 .ph27-package-grid article.is-featured {
    border: 1px solid var(--fm-navy-950);
    border-radius: var(--fm-radius-md);
    background: var(--fm-navy-950);
    color: var(--fm-white);
    transform: none;
}

body.public-collaboration-2027-v5 .ph27-package-grid article > strong {
    margin-top: 22px;
    font-size: 1.4rem;
}

body.public-collaboration-2027-v5 .ph27-package-grid article.is-featured li {
    color: rgba(255,255,255,.68);
}

/* Jersey section. */
body.public-collaboration-2027-v5 .ph27-jersey-grid figure {
    border: 1px solid rgba(255,255,255,.16);
    background: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-jersey-grid figcaption {
    border-top: 1px solid rgba(255,255,255,.16);
    background: var(--fm-navy-950);
    color: rgba(255,255,255,.76);
    font-size: .74rem;
    font-weight: 800;
}

body.public-collaboration-2027-v5 .ph27-jersey-opportunity p {
    color: var(--fm-muted);
    font-size: .88rem;
    line-height: 1.65;
}

body.public-collaboration-2027-v5 .ph27-slot-list > div {
    border-bottom-color: var(--fm-line);
}

body.public-collaboration-2027-v5 .ph27-slot-list :where(strong, b) {
    font-weight: 900;
}

/* Roadmap and closing. */
body.public-collaboration-2027-v5 .ph27-roadmap h2,
body.public-collaboration-2027-v5 .ph27-roadmap p,
body.public-collaboration-2027-v5 .ph27-roadmap .section-label {
    color: var(--fm-navy-950);
}

body.public-collaboration-2027-v5 .ph27-roadmap-steps > div {
    border-radius: var(--fm-radius-sm);
    background: rgba(7,24,45,.08);
}

body.public-collaboration-2027-v5 .ph27-roadmap-steps span {
    font-size: .69rem;
    font-weight: 900;
}

body.public-collaboration-2027-v5 .ph27-roadmap-steps strong {
    font-size: .88rem;
    font-weight: 900;
    line-height: 1.35;
}

body.public-collaboration-2027-v5 .ph27-contact-card {
    border: 1px solid rgba(213,152,22,.38);
    border-radius: var(--fm-radius-md);
    background: transparent;
    color: var(--fm-white);
}

body.public-collaboration-2027-v5 .ph27-contact-card > strong {
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -.025em;
}

body.public-collaboration-2027-v5 .ph27-contact-card > small {
    color: rgba(255,255,255,.58);
    font-size: .78rem;
}

body.public-collaboration-2027-v5 .ph27-contact-card a {
    color: var(--fm-white);
    font-size: .78rem;
    font-weight: 900;
}

body.public-collaboration-2027-v5 .ph27-contact-card > b {
    border-top-color: rgba(255,255,255,.14);
    color: var(--fm-gold-500);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .10em;
}

@media (max-width: 980px) {
    body.public-collaboration-2027-v5 .ph27-hero-grid {
        grid-template-columns: 1fr;
    }

    body.public-collaboration-2027-v5 .ph27-hero-copy {
        max-width: 860px;
    }
}

@media (max-width: 680px) {
    body.public-collaboration-2027-v5 :where(
        .ph27-current-proof,
        .ph27-story,
        .ph27-snapshot,
        .ph27-experience,
        .ph27-digital,
        .ph27-impact,
        .ph27-member-voice,
        .ph27-support,
        .ph27-brand-fit,
        .ph27-jersey,
        .ph27-packages,
        .ph27-roadmap,
        .ph27-final
    ) {
        padding: 70px 0;
    }

    body.public-collaboration-2027-v5 .ph27-hero {
        padding-top: 118px;
        padding-bottom: 72px;
    }

    body.public-collaboration-2027-v5 .ph27-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 5.3rem);
    }

    body.public-collaboration-2027-v5 .ph27-section-head h2,
    body.public-collaboration-2027-v5 .ph27-experience h2,
    body.public-collaboration-2027-v5 .ph27-roadmap h2,
    body.public-collaboration-2027-v5 .ph27-final h2 {
        font-size: clamp(2rem, 10vw, 3.4rem);
    }

    body.public-collaboration-2027-v5 .ph27-hero-visual,
    body.public-collaboration-2027-v5 .ph27-hero-visual > img {
        min-height: 360px;
    }

    body.public-collaboration-2027-v5 .ph27-hero-stamp {
        gap: 4px;
    }

    body.public-collaboration-2027-v5 .ph27-hero .ph-button {
        width: 100%;
    }
}

/* v5.7.1.1 — keep benefit chips readable on the dark support section.
   This selector intentionally outranks the later-loaded global site-standard rule. */
body.public-site.public-collaboration-2027-v5:not(.member-pwa-context) .ph27-benefit-cloud span {
    background: rgba(213, 152, 22, .12);
    border-color: rgba(213, 152, 22, .48);
    color: #ffffff;
}
