/* EMOLiA P1 accessibility fixes.
   Shared across all universes without changing the brand palettes or page layouts. */

/* The paired white and violet (navy for Families) ring is visible on light and dark surfaces. */
html[data-universe] :is(a,button,input,select,textarea,iframe,summary,[tabindex]):focus-visible,
html:not([data-universe]) :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #fff;
  outline-offset:3px;
  box-shadow:0 0 0 6px #6d3cc7;
}
html[data-universe="families"] :is(a,button,input,select,textarea,summary):focus-visible {
  box-shadow:0 0 0 6px #101a3a;
}

/* Maintain at least a 44 × 44px touch target on critical functional controls. */
html[data-universe] :is(.menu-toggle,.mobile-menu-toggle,.hero-video-play,
  .hero-story-label,.peek-video-close,.sharon-modal-close) {
  min-width:44px;
  min-height:44px;
}
html[data-universe="leaders"] .sharon-modal .sharon-modal-close,
html[data-universe="leaders"] .peek-video-modal .peek-video-close {
  min-width:44px;
  min-height:44px;
}
html[data-universe="leaders"] :is(.sharon-modal,.peek-video-modal)::backdrop {
  background:rgba(18,9,24,.5);
}

/* Global journey labels: remove 7–10px functional text, including mobile. */
html[data-universe="home"] .branch__eyebrow,
html[data-universe="home"] .home-nav .language button,
html[data-universe="home"] .home-hero__meta,
html[data-universe="home"] .impact-header__eyebrow,
html[data-universe="home"] .emolia-ecosystem__card small {
  font-size:12px;line-height:1.35;
}
html[data-universe="home"] .detail__lead {font-size:clamp(15px,1.45vw,18px)}
html[data-universe="home"] :is(.detail__offer,.detail__enter,.detail__meta span) {
  font-size:14px;line-height:1.45;
}
@media(max-width:540px) {
  html[data-universe="home"] .intro p {font-size:15px;line-height:1.55}
  html[data-universe="home"] .branch__eyebrow {letter-spacing:.05em}
}

/* Leaders microcopy and navigation: no more tiny essential labels. */
html[data-universe="leaders"] :is(.desktop-nav a,.nav-cta,.story-statement a,.program a),
html[data-universe="leaders"] .hero-story-label {font-size:13px;line-height:1.4}
html[data-universe="leaders"] :is(.hero-availability,.hero-foot,.section-topline,
  .hero-caption,.hero-program > span,.footer-brand small,.community-copy small,
  .community-benefits > div span,.wall-grid figcaption) {font-size:12px;line-height:1.45}
html[data-universe="leaders"] .hero-availability {letter-spacing:.075em}

/* Speaking Club: essential consent and video/help text should be easily legible. */
html[data-universe="leaders"] .speaking-club-page :is(.consent,.privacy-note,.register-eyebrow,
  .quick-register-head .live-pill,.goal-result small,.section-kicker,.video-label) {
  font-size:14px;line-height:1.5;
}
html[data-universe="leaders"] .speaking-club-page .consent a {
  text-decoration:underline;text-underline-offset:2px;
}
html[data-universe="leaders"] .speaking-club-page :is(.topbar nav,.global-bar) {
  font-size:13px;
}

/* Sharon episode content is injected after stylesheet load, hence the scoped selectors. */
html[data-universe="leaders"] .sharon-v2 :is(.sharon-consent,.sharon-field label,
  .sharon-shift-card li,.sharon-learn-list li,.sharon-form-panel > p,
  .sharon-status,.sharon-preview-lock span),
html[data-universe="leaders"] .peek-gate :is(.peek-newsletter-consent,.peek-unlock-status,
  .peek-transform-card li,.peek-access-card p) {
  font-size:14px !important;line-height:1.5;
}
html[data-universe="leaders"] .sharon-v2 .sharon-consent a,
html[data-universe="leaders"] .peek-gate .peek-newsletter-consent a {
  text-decoration:underline;
}

/* Accessible minimum contrast for yellow Families call-to-action backgrounds. */
html[data-universe="families"] .family-card-cta {color:#101a3a}

/* Preserve the reduced-motion preference on dynamically injected marquees. */
@media(prefers-reduced-motion:reduce) {
  html[data-universe] *, html[data-universe] *::before,
  html[data-universe] *::after {scroll-behavior:auto !important}
  html[data-universe="leaders"] .sharon-unlock-track,
  html[data-universe="leaders"] .leaders-promo-track {
    animation:none !important;transform:none !important;
  }
}

/* Both legal pages gain a visible-on-focus skip link. */
html:not([data-universe]) .skip {
  position:absolute;left:20px;top:-90px;z-index:1000;padding:12px 18px;
  border-radius:8px;background:#101a3a;color:#fff;
}
html:not([data-universe]) .skip:focus {top:12px}
