/* Visibility is the default: content remains readable if enhancement JS fails. */
.js .reveal, .r-js .r-reveal { opacity: 1; transform: none; }

/* Keep copy tied to its actual surface, including nested forms on dark panels. */
.proof .review-form label, .proof .review-form .form-note { color: #eef3f5; }
.proof .review-form :is(input, select, textarea) { background: #fff; color: #17283a; border-color: #93a8b5; }
.proof .review-details summary { color: #f3f6f7; }
.proof-heading > p { color: #dce7ed; }
.proof { background: radial-gradient(circle at 90% 12%, #213c52 0, #101e2b 40%, #0a111c 100%); }
.proof .testimonial-grid article:nth-child(3n + 2) { background: rgba(113, 150, 174, .12); }
.proof .testimonial-feature { background: rgba(120, 164, 186, .19); }
.podcast-feature { background: linear-gradient(135deg, #162c40 0%, #17222c 56%, #304253 100%); }
.contact-aside { background: linear-gradient(155deg, #101927, #243f54); }
.activity-card { box-shadow: 0 14px 40px rgba(22, 46, 64, .08); }
.activity-card:nth-child(3n + 2) { border-top-color: #506f79; }
.activity-card:nth-child(3n) { border-top-color: #8b745b; }
.evaluation-panel > p, .evaluation-panel .fine { color: #f3f6f7; }
.contact-aside-copy > p { color: #e6edf1; }
.r-hero-lede, .r-hero-panel p, .r-section-navy .r-heading p,
.r-section-navy .r-copy > p, .r-card-dark > p,
.r-section-navy .r-checks li { color: #e4eaf0; }
.r-card-dark .r-consent, .r-card-dark .r-field small { color: #e4eaf0; }
.r-section-navy .r-heading-tag { color: #d9e4ec; }
.r-hero { background: radial-gradient(circle at 86% 25%, #27445a 0%, #172a3b 44%, #111b28 100%); }
.r-section-navy { background: linear-gradient(140deg, #111b28, #1c3448); }
.r-card-dark { background: rgba(255, 255, 255, .09); }

/* A dark focus ring vanishes on dark cards; use a pale one there. */
.proof :focus-visible, .evaluation-panel :focus-visible,
.r-card-dark :focus-visible { outline: 3px solid #dce9f0; outline-offset: 3px; }

@media (max-width: 600px) {
  .stack-form :is(input, select, textarea), .r-form :is(input, select, textarea) { font-size: 16px; }
  .testimonial-grid p { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .js .reveal, .r-js .r-reveal { transition: none; }
}
