/* Roda do Ano: oito passagens e os ciclos que as acompanham. */
.rw-hero h1 em { display: block; margin-top: .65rem; font-size: .64em; line-height: 1.2; }
.rw-subtitle { margin: 1.4rem 0 0; color: var(--gold-soft); font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; }
.rw-jump-nav { margin: 0 auto 1.3rem; }
.rw-intro { margin-bottom: 2.5rem; }
.rw-section { border: 1px solid var(--line); border-radius: 22px; padding: clamp(1.1rem, 3vw, 2rem); background: linear-gradient(135deg, rgba(34,48,75,.22), rgba(184,154,90,.025)); }
.rw-section, .rw-panel, .rw-season-card, .rw-anchor, #outros-ciclos, #caderno { scroll-margin-top: 7.5rem; }
.rw-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(1rem,3vw,2.5rem); align-items: center; }
.rw-wheel-wrap { min-width: 0; text-align: center; }
.rw-wheel { display: block; width: 100%; max-width: 540px; height: auto; margin: auto; overflow: visible; }
.rw-ring { stroke: var(--gold); stroke-opacity: .25; fill: none; }
.rw-wheel a { color: var(--gold-soft); }
.rw-wheel a path { fill: rgba(184,154,90,.035); stroke: rgba(184,154,90,.35); stroke-width: 1.5; transition: fill .18s, stroke .18s; }
.rw-wheel a:hover path, .rw-wheel a:focus-visible path, .rw-wheel a.is-active path { fill: rgba(184,154,90,.17); stroke: var(--gold-soft); stroke-width: 2.5; }
.rw-wheel a:focus-visible { outline: none; }
.rw-wheel a:focus-visible path { stroke-width: 5; }
.rw-wheel text { fill: var(--gold-soft); font-family: 'Inter', sans-serif; font-size: 24px; font-weight: 500; text-anchor: middle; pointer-events: none; }
.rw-wheel .rw-wheel-number { font-size: 17px; font-weight: 400; opacity: .7; }
.rw-wheel .rw-wheel-center { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 400; }
.rw-wheel-wrap .nc-note { margin: .2rem 0 0; font-size: .7rem; }
.rw-panels { min-width: 0; }
.rw-panel { padding: 1rem 0; }
.rw-panel + .rw-panel { border-top: 1px solid var(--line); margin-top: 1rem; }
.rw-enhanced .rw-panel { border: 0; margin: 0; }
.rw-panel .overline { font-size: .65rem; letter-spacing: .12em; }
.rw-panel h3 { font-size: clamp(2.1rem,4vw,3rem); line-height: 1.1; }
.rw-panel h3 em { display: block; margin-top: .6rem; font-size: .62em; line-height: 1.25; color: var(--gold-soft); }
.rw-panel > p:not(.overline), .rw-panel dd { color: var(--text-soft); font-size: .9rem; }
.rw-panel dl { margin: 1rem 0 1.4rem; }
.rw-panel dt { margin-top: .8rem; color: var(--gold-soft); font-size: .72rem; }
.rw-panel dd { margin: .15rem 0 0; }
.rw-panel .button { font-size: .8rem; }
.rw-controls { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin-top: 1.6rem; }
.rw-controls button { min-width: 0; min-height: 46px; padding: .7rem .4rem; font-size: .83rem; cursor: pointer; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--text-soft); }
.rw-controls button:hover, .rw-controls button[aria-pressed='true'] { background: rgba(184,154,90,.1); border-color: var(--gold); color: var(--gold-soft); }
.rw-calendar { max-width: none; margin: 1.5rem 0 0; }
.rw-calendar table { min-width: 520px; }
.rw-calendar a { color: var(--gold-soft); text-decoration: underline; text-underline-offset: .2em; }
.rw-season-links { display: flex; flex-wrap: wrap; gap: .35rem .85rem; margin: 0 0 1.3rem; }
.rw-season-links a { font-size: .78rem; color: var(--gold-soft); text-decoration: underline; text-underline-offset: .2em; }
.rw-season-card h3 a { display: inline-block; }
.rw-page .nc-grid .nc-card h3 { font-size: 1.8rem; overflow-wrap: anywhere; }
.rw-practice-label { color: var(--gold-soft); font-size: .78rem; }
.rw-page .nc-hero-glyph svg { width: 100%; height: 100%; }
.rw-anchor { display: block; }
@media (max-width: 760px) {
  .rw-layout { grid-template-columns: minmax(0,1fr); gap: .6rem; }
  .rw-wheel { max-width: 420px; }
  .rw-panel { padding: 1.1rem .2rem .5rem; }
  .rw-panel .button { width: 100%; }
  .rw-subtitle { font-size: 1.35rem; }
  .rw-jump-nav { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .rw-section { padding: 1rem .8rem; }
  .rw-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rw-panel h3 { font-size: 2.4rem; }
  .rw-panel .overline { letter-spacing: .07em; }
  .rw-wheel { width: calc(100% + 1.1rem); max-width: none; margin-left: -.55rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rw-wheel a path { transition: none; }
}
