/* Shared Flux Forward public polish primitives. Opt-in wrappers only. */
:where(main.homepage-v2-main, .ff-events-page, .ff-individuals-page, .ff-organizations-page, .ff-about-page, .ff-contact-page, .ff-nl-contact-page, .ff-scan-page, .ff-nl-scan-page) {
  --ff-public-bg: #F7F6F3;
  --ff-public-surface: #FFFDF8;
  --ff-public-surface-soft: #FBFAF7;
  --ff-public-red-soft: #FFF3F2;
  --ff-public-red-line: #FFD5D3;
  --ff-public-ink: #17130F;
  --ff-public-text: #211B15;
  --ff-public-muted: #6B6B69;
  --ff-public-muted-strong: #5F5A54;
  --ff-public-border: #E4E2DC;
  --ff-public-border-strong: #D8D0C3;
  --ff-public-red: #E8201A;
  --ff-public-red-hover: #C91B16;
  --ff-public-focus-ring: rgba(232, 32, 26, 0.28);
  --ff-public-shadow-card: 0 1px 2px rgba(23, 19, 15, 0.04);
  --ff-public-shadow-panel: 0 18px 48px rgba(35, 24, 14, 0.07);
  --ff-public-shadow-red: 0 2px 10px rgba(232, 32, 26, 0.25);
  --ff-public-radius-card: 16px;
  --ff-public-radius-surface: 18px;
  --ff-public-radius-panel: 24px;
  --ff-public-radius-hero: 28px;
  --ff-public-radius-pill: 999px;
}

:where(main.homepage-v2-main, .ff-events-page, .ff-individuals-page, .ff-organizations-page, .ff-about-page, .ff-contact-page, .ff-nl-contact-page, .ff-scan-page, .ff-nl-scan-page)
  :where(a, button, input, select, textarea):focus-visible {
  outline: 4px solid var(--ff-public-focus-ring);
  outline-offset: 3px;
}

:where(main.homepage-v2-main, .ff-events-page, .ff-individuals-page, .ff-organizations-page, .ff-about-page, .ff-contact-page, .ff-nl-contact-page, .ff-scan-page, .ff-nl-scan-page)
  :where(.btn, .ff-btn-red, .ff-btn-light, .ff-event-tab, .tag, .org-tab) {
  border-radius: var(--ff-public-radius-pill);
}

:where(main.homepage-v2-main, .ff-events-page, .ff-individuals-page, .ff-organizations-page, .ff-about-page, .ff-contact-page, .ff-nl-contact-page, .ff-scan-page, .ff-nl-scan-page)
  :where(.btn-red, .ff-btn-red) {
  background: var(--ff-public-red);
  border-color: var(--ff-public-red);
  box-shadow: var(--ff-public-shadow-red);
}

:where(main.homepage-v2-main, .ff-events-page, .ff-individuals-page, .ff-organizations-page, .ff-about-page, .ff-contact-page, .ff-nl-contact-page, .ff-scan-page, .ff-nl-scan-page)
  :where(.btn-red, .ff-btn-red):hover {
  background: var(--ff-public-red-hover);
  border-color: var(--ff-public-red-hover);
}

:where(main.homepage-v2-main, .ff-individuals-page, .ff-organizations-page, .ff-about-page, .ff-contact-page, .ff-nl-contact-page, .ff-scan-page, .ff-nl-scan-page)
  :where(.btn-outline, .btn.outline, .btn.white-outline) {
  background: rgba(255, 253, 248, 0.88);
  border-color: var(--ff-public-border-strong);
  color: var(--ff-public-text);
}

:where(.ff-events-page, .ff-organizations-page)
  :where(.ff-event-tab.active, .org-tab.on) {
  background: var(--ff-public-ink);
  border-color: var(--ff-public-ink);
  color: var(--ff-public-surface);
}

main.homepage-v2-main :where(.section, .section.soft) {
  background: #FFFDF9 !important;
  border-color: var(--ff-public-border) !important;
  border-radius: var(--ff-public-radius-hero) !important;
  box-shadow: var(--ff-public-shadow-card) !important;
}

:where(.ff-events-page)
  :where(.ff-current-events, .ff-hero.ff-context-hero, .ff-journey, .ff-media, .ff-after, .ff-cta),
:where(.ff-organizations-page)
  :where(.org-hero, .section, .partner-strip, .cta-band) {
  border: 1px solid var(--ff-public-border) !important;
  border-radius: var(--ff-public-radius-panel) !important;
  box-shadow: var(--ff-public-shadow-panel) !important;
}

:where(.ff-individuals-page)
  :where(.hero, .section, .final-cta) {
  border: 1px solid var(--ff-public-border) !important;
  box-shadow: var(--ff-public-shadow-panel) !important;
}

:where(.ff-individuals-page)
  :where(.section, .final-cta) {
  border-radius: var(--ff-public-radius-panel) !important;
}

main.homepage-v2-main
  :where(.activation-overlay-card, .problem-panel, .step-card, .quote-list div, .activation-layer-list div, .activation-routes .route-card, .activation-routes .route-card.primary, .activation-routes .route-card:not(.primary), .deep-link) {
  background: #FFFDF9 !important;
  border-color: var(--ff-public-border) !important;
  border-radius: 22px !important;
  box-shadow: var(--ff-public-shadow-card) !important;
}

:where(.ff-individuals-page)
  :where(.piece),
:where(.ff-organizations-page)
  :where(.outcome-card, .info-card, .org-card, .dimension-card, .feature-panel, .org-lead-list div) {
  background: rgba(255, 253, 248, 0.92) !important;
  border-color: var(--ff-public-border) !important;
  border-radius: var(--ff-public-radius-surface) !important;
  box-shadow: var(--ff-public-shadow-card) !important;
}

:where(.ff-organizations-page)
  :where(.map-card, .flow-card, .process-step) {
  background: rgba(255, 253, 248, 0.92) !important;
  border-color: var(--ff-public-border) !important;
  box-shadow: var(--ff-public-shadow-card) !important;
}

main.homepage-v2-main :where(.section.dark, .final-cta) {
  background: var(--ff-public-ink) !important;
  border-color: var(--ff-public-ink) !important;
  border-radius: var(--ff-public-radius-hero) !important;
  box-shadow: 0 8px 28px rgba(23, 19, 15, 0.07) !important;
}

:where(.ff-individuals-page, .ff-organizations-page)
  :where(.final-cta, .cta-band) {
  background: var(--ff-public-ink) !important;
  border-color: var(--ff-public-ink) !important;
  color: var(--ff-public-surface) !important;
}
