/* Forest & paper: richer functional colors, quieter motion, editorial rhythm. */
:root {
  --sage: #466a49; --green: #426e47; --green-mid: #426e47;
  --green-dark: #355e3c; --green-deep: #243f2a; --clay: #80512d;
  --primary: #3d7043; --primary-dark: #355e3c; --on-surface-lighter: #59676a;
  --gray: #555e58; --gray-light: #727972;
}
html { scroll-padding-block-start: 6rem; }
main :is(h1, h2, h3) { text-wrap: balance; scroll-margin-block-start: 6rem; }
main h1.title { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.2; }
main p { text-wrap: pretty; }
main img, main video, main iframe { max-width: 100%; }
main video { display: block; }
.badge-m { color: #9b4239 !important; }
.stigma-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.stigma-item { min-width: 0; }
.tip-num { color: #397b3c !important; }
.f-copy { color: #e2eee2 !important; }
.f-legal, .f-legal * { opacity: 1 !important; color: #e2eee2 !important; }
main [style*='color:rgba(255,255,255,.'] { color: #ffffff !important; }
main [style*='color:var(--yellow)'] { color: #ffe38a !important; }
.whatsapp-cta { background: #146536 !important; color: white !important; }
.stat-card .sub, footer > .container { color: #505d55 !important; }
footer :is(p, a, span) { opacity: 1 !important; }
footer a { text-decoration: underline; text-underline-offset: .2em; }
.footer-legal, .f-legal, footer small { color: #e2eee2 !important; }
.login-float { animation: none !important; }
/* The diagram tells its story once in five seconds, then settles. */
.dv-one-shot .dv-anim { animation-duration: 5s !important; animation-iteration-count: 1 !important; }
/* Reduced motion and the completed one-shot share the synchronized final state. */
:is(html[data-a11y-motion], .dv-motion-complete) .dv-cursor,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-cursor-m,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-ripple,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-fly-tab,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-fly-phone,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-fly-tab-m,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-fly-phone-m { display: none !important; }
:is(html[data-a11y-motion], .dv-motion-complete) .dv-src,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-sync,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-land-tab,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-land-phone { animation: none !important; }
:is(html[data-a11y-motion], .dv-motion-complete) .dv-land-tab,
:is(html[data-a11y-motion], .dv-motion-complete) .dv-land-phone { opacity: 1 !important; }
.flip-card:focus-visible, :focus-visible { outline: 3px solid #355e3c !important; outline-offset: 4px; box-shadow: 0 0 0 6px #fffdf8; }
.flip-card { cursor: default; perspective: none; }
.flip-card-inner, .flip-card.flipped .flip-card-inner { transform: none; height: auto; }
.flip-card-front { height: auto; }
.flip-card-back { position: static; transform: none; margin-block-start: 1rem; }
.flip-card-back img { height: auto; max-height: 22rem; object-fit: contain; }
.flip-card:hover .flip-card-front { transform: none !important; }
.a11y-preview { margin-block-start: 1rem; }
.a11y-preview summary { cursor: pointer; padding: .6rem; font-weight: 700; color: var(--green-dark); text-decoration: underline; }
.t-hours { opacity: 1 !important; }
main [style*='opacity:.55'], main [style*='opacity: .55'] { opacity: 1 !important; }
/* Center the text box, not a fixed line-height: remains aligned at 100–200%. */
body > nav { height: auto; min-height: 3.5rem; padding-block: .35rem; gap: .35rem; }
body > nav .nav-logo { flex-shrink: 0; }
body > nav .nav-tabs { align-items: center; overflow: visible; min-width: 0; }
.nav-group-btn, .nav-tabs a, .nav-cta-fixed, .slp-btn, .lang-switch a {
  display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; height: auto; min-height: 2.75rem; line-height: 1.5;
  padding-block: .55rem;
}
.nav-tabs > li > a, .nav-group-btn { border-bottom-width: 3px; }
.nav-dropdown a { display: flex; justify-content: flex-start; white-space: normal; }
.lang-switch { height: auto; align-items: center; flex-shrink: 0; }
.lang-switch a { min-height: 2.25rem; padding-block: .35rem; }
/* Large text can need the compact disclosure layout even on a wide window. */
html[data-a11y-large-text] body > nav { flex-wrap: wrap; }
html[data-a11y-large-text] body > nav .nav-tabs { flex-wrap: wrap; }
@media (max-width: 860px) {
  .nav-group-btn { pointer-events: auto; font-size: 1rem; }
  .nav-dropdown { display: none !important; }
  .nav-group.open .nav-dropdown { display: flex !important; }
  .nav-group-btn .chev { display: block; }
  .nav-tabs { top: 100%; }
  body > nav .nav-tabs { align-items: stretch; overflow-y: auto; order: 31; }
  .nav-tabs a, .nav-group-btn { justify-content: flex-start; }
}
@media (max-width: 520px) {
  .hero2 { padding-inline: 1.2rem; }
  main [style*='min-width:240px'], main [style*='min-width: 240px'] { min-width: 0 !important; }
  main [style*='grid-template-columns'] { min-width: 0; }
  main [style*='minmax(300px'], main [style*='minmax(320px'], .myths-grid, .myth-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
