/* ============================================================================
   REVOLUCIÓN SOLAR · Editorial premium — "lectura de tu año"
   Lenguaje del dossier (crema/tinta/oro, Cormorant) sobre tokens del design
   system editorial "Noche del Solsticio". Todo scoped bajo .rsx.
   ============================================================================ */

@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('/static/fonts/cormorant-garamond-400-normal-latin.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('/static/fonts/cormorant-garamond-500-normal-latin.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('/static/fonts/cormorant-garamond-600-normal-latin.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('/static/fonts/cormorant-garamond-400-italic-latin.woff2') format('woff2'); }
@font-face { font-family:'Mulish'; font-style:normal; font-weight:400; font-display:swap; src:url('/static/fonts/mulish-400-normal-latin.woff2') format('woff2'); }
@font-face { font-family:'Mulish'; font-style:normal; font-weight:600; font-display:swap; src:url('/static/fonts/mulish-600-normal-latin.woff2') format('woff2'); }
@font-face { font-family:'Mulish'; font-style:normal; font-weight:700; font-display:swap; src:url('/static/fonts/mulish-700-normal-latin.woff2') format('woff2'); }

.rsx {
  --rs-crema: oklch(0.984 0.007 80);
  --rs-banda: oklch(0.965 0.013 72);
  --rs-ink: oklch(0.26 0.035 252);
  --rs-soft: oklch(0.34 0.028 250);
  --rs-muted: oklch(0.50 0.025 248);
  --rs-hairline: oklch(0.30 0.03 252 / 0.18);
  --rs-hairline-2: oklch(0.30 0.03 252 / 0.09);
  --rs-gold-text: oklch(0.55 0.105 74);
  --rs-gold: #C5A059;
  --rs-night: #1E2A3A;
  --rs-night-2: #16202E;
  --rs-serif: 'Cormorant Garamond', Georgia, serif;
  --rs-sans: 'Mulish', system-ui, sans-serif;

  font-family: var(--rs-sans);
  color: var(--rs-soft);
  background: var(--rs-crema);
  line-height: 1.72;
  font-size: 16px;
}
.rsx .rs-wrap { max-width: 680px; margin: 0 auto; padding: 0 24px; }
.rsx .rs-eyebrow { font-weight:700; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--rs-gold-text); }
.rsx .glifo { font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', var(--rs-serif); font-variant-emoji: text; }

/* ═══════════ FORMULARIO ═══════════ */
.rsx .rs-hero-form { padding: clamp(24px,4.5vw,44px) 0 clamp(14px,2.5vw,22px); }
.rsx .rs-hero-form h1 { font-family:var(--rs-serif); font-weight:500; color:var(--rs-ink); font-size:clamp(38px,7vw,58px); line-height:1.06; letter-spacing:-0.01em; max-width:14ch; }
.rsx .rs-lead { font-family:var(--rs-serif); font-style:italic; font-size:clamp(19px,2.6vw,23px); color:var(--rs-soft); margin-top:16px; max-width:34ch; line-height:1.5; }
.rsx .rs-sub { margin-top:12px; max-width:52ch; color:var(--rs-muted); font-size:15px; }
.rsx .rs-sub strong { color:var(--rs-ink); font-weight:600; }
.rsx .rs-hero-form .rs-eyebrow { margin-bottom:18px; }

.rsx .rs-error { border:1px solid oklch(0.55 0.12 25 / .4); background:oklch(0.97 0.02 25); color:oklch(0.42 0.12 25); padding:14px 18px; font-size:14.5px; margin-bottom:28px; }

.rsx form.rs-form { margin: clamp(14px,2.5vw,24px) 0 64px; }
.rsx .rs-bloque { border-top:1px solid var(--rs-hairline); padding:30px 0 38px; }
.rsx .rs-bloque:last-of-type { border-bottom:1px solid var(--rs-hairline); }
.rsx .rs-bloque-head { display:flex; align-items:baseline; gap:14px; margin-bottom:8px; }
.rsx .rs-bloque-num { font-family:var(--rs-serif); font-size:30px; color:var(--rs-gold-text); font-weight:500; line-height:1; }
.rsx .rs-bloque-tit { font-family:var(--rs-serif); font-size:24px; color:var(--rs-ink); font-weight:600; }
.rsx .rs-bloque-nota { font-size:13.5px; color:var(--rs-muted); margin-bottom:26px; max-width:48ch; }
.rsx .rs-campos { display:grid; gap:26px; }
.rsx .rs-fila-2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:560px){ .rsx .rs-fila-2 { grid-template-columns:1fr; gap:26px; } }
.rsx .rs-form label { display:block; font-weight:700; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--rs-ink); margin-bottom:6px; }
.rsx .rs-form label .rs-op { font-weight:400; letter-spacing:.05em; text-transform:none; color:var(--rs-muted); font-size:12px; }
.rsx .rs-form input[type=text],
.rsx .rs-form input[type=date],
.rsx .rs-form input[type=time],
.rsx .rs-form select {
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--rs-hairline);
  font-family:var(--rs-serif); font-size:19px; color:var(--rs-ink); padding:6px 2px 9px; border-radius:0;
  transition:border-color .25s;
}
.rsx .rs-form input::placeholder { color:oklch(0.62 0.02 250); font-style:italic; }
.rsx .rs-form input:focus, .rsx .rs-form select:focus { outline:none; border-bottom:1.5px solid var(--rs-gold); }
.rsx .rs-form input:disabled { opacity:.45; }
.rsx .rs-check { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--rs-muted); margin-top:-12px; }
.rsx .rs-check input { accent-color:var(--rs-gold); }
.rsx .rs-check label { all:unset; font-size:13.5px; color:var(--rs-muted); cursor:pointer; }
.rsx .rs-hint { font-size:12px; color:var(--rs-muted); margin-top:6px; }
.rsx .rs-hint.ok { color:var(--rs-gold-text); }

/* Autocomplete dropdown (geocode) */
.rsx .rs-lugar-wrap { position:relative; }
.rsx .lugar-suggestions { position:absolute; z-index:30; left:0; right:0; top:100%; background:#fff; border:1px solid var(--rs-hairline); box-shadow:0 8px 24px rgba(30,42,58,.10); max-height:240px; overflow-y:auto; }
.rsx .lugar-suggestions div { padding:10px 14px; font-size:14px; cursor:pointer; color:var(--rs-soft); }
.rsx .lugar-suggestions div:hover { background:var(--rs-banda); color:var(--rs-ink); }

.rsx .rs-cta-zone { margin-top:44px; text-align:center; }
.rsx .rs-btn-gold { display:inline-block; background:linear-gradient(135deg,#C5A059,#B8A078); color:var(--rs-night);
  font-family:var(--rs-sans); font-weight:700; font-size:14px; letter-spacing:.14em; text-transform:uppercase;
  padding:17px 46px; border:none; border-radius:40px; cursor:pointer; box-shadow:0 2px 12px rgba(30,42,58,.08);
  transition:transform .25s, box-shadow .25s; text-decoration:none; }
.rsx .rs-btn-gold:hover { transform:translateY(-2px); box-shadow:0 4px 16px rgba(197,160,89,.3); }
.rsx .rs-cta-micro { margin-top:14px; font-size:12.5px; color:var(--rs-muted); letter-spacing:.04em; }
.rsx .rs-cta-micro .s { color:var(--rs-gold-text); }

.rsx .rs-quees { background:var(--rs-banda); padding:52px 0 60px; border-top:1px solid var(--rs-hairline-2); }
.rsx .rs-quees h2 { font-family:var(--rs-serif); font-weight:600; font-size:24px; color:var(--rs-ink); margin-bottom:12px; }
.rsx .rs-quees p { max-width:58ch; font-size:15px; color:var(--rs-soft); }
.rsx .rs-quees p + p { margin-top:12px; }
.rsx .rs-quees strong { color:var(--rs-ink); }
.rsx .rs-pull { font-family:var(--rs-serif); font-style:italic; font-size:20px; color:var(--rs-ink); border-top:1px solid var(--rs-hairline); border-bottom:1px solid var(--rs-hairline); padding:18px 4px; margin:26px 0; max-width:46ch; }

/* ═══════════ RESULTADO · HERO NOCHE ═══════════ */
.rsx .rs-hero-res { background:linear-gradient(180deg,var(--rs-night) 0%,var(--rs-night-2) 100%); color:oklch(0.93 0.01 80); padding:clamp(36px,6vw,60px) 24px clamp(32px,5.5vw,52px); text-align:center; }
.rsx .rs-hero-res .rs-eyebrow { color:var(--rs-gold); }
.rsx .rs-hero-res h1 { font-family:var(--rs-serif); font-weight:500; font-size:clamp(36px,6.6vw,58px); line-height:1.1; color:#fff; margin:18px auto 6px; max-width:18ch; }
.rsx .rs-hero-res h1 em { font-style:italic; color:var(--rs-gold); }
.rsx .rs-hero-datos { font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:oklch(0.75 0.02 80); margin-top:14px; }
.rsx .rs-hero-rango { font-size:13.5px; letter-spacing:.02em; margin-top:9px; color:oklch(0.68 0.02 80); }
.rsx .rs-hero-narrativa { font-family:var(--rs-serif); font-style:italic; font-size:clamp(18px,2.4vw,21px); line-height:1.6; color:oklch(0.88 0.015 80); max-width:52ch; margin:30px auto 0; }
.rsx .rs-chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:32px; }
.rsx .rs-chip { border:1px solid oklch(0.65 0.06 80 / .55); color:#fff; font-size:12px; letter-spacing:.12em; text-transform:uppercase; padding:8px 18px; border-radius:30px; }
.rsx .rs-chip b { color:var(--rs-gold); font-weight:700; }

/* ── Una mirada ── */
.rsx .rs-mirada { padding:28px 0 4px; }
.rsx .rs-mirada-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rs-hairline); border-bottom:1px solid var(--rs-hairline); }
@media(max-width:620px){ .rsx .rs-mirada-grid { grid-template-columns:1fr 1fr; } }
.rsx .rs-mirada-cell { padding:20px 8px; text-align:center; }
.rsx .rs-mirada-cell + .rs-mirada-cell { border-left:1px solid var(--rs-hairline-2); }
@media(max-width:620px){
  .rsx .rs-mirada-cell:nth-child(3) { border-left:none; }
  .rsx .rs-mirada-cell:nth-child(-n+2){ border-bottom:1px solid var(--rs-hairline-2); }
  .rsx .rs-mirada-cell:nth-child(3),.rsx .rs-mirada-cell:nth-child(4){ border-bottom:1px solid var(--rs-hairline-2); }
}
.rsx .rs-mirada-k { font-size:10.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--rs-muted); }
.rsx .rs-mirada-v { font-family:var(--rs-serif); font-size:20px; color:var(--rs-ink); margin-top:4px; }

/* ═══════════ CAPÍTULOS (lectura_cards) ═══════════ */
.rsx .rs-cap { padding:clamp(42px,7vw,68px) 0; }
.rsx .rs-cap:nth-of-type(even) { background:var(--rs-banda); }
.rsx .rs-cap-num { font-family:var(--rs-serif); font-size:15px; color:var(--rs-gold-text); letter-spacing:.28em; text-transform:uppercase; margin-bottom:10px; }
.rsx .rs-cap h2 { font-family:var(--rs-serif); font-weight:600; font-size:clamp(26px,4.4vw,35px); color:var(--rs-ink); line-height:1.15; }
.rsx .rs-cap-short { font-family:var(--rs-serif); font-size:clamp(19px,2.6vw,22px); font-style:italic; color:var(--rs-ink); line-height:1.5; margin:20px 0 14px; max-width:44ch; }
.rsx .rs-cap-body { max-width:60ch; font-size:15.5px; }
.rsx .rs-cap-body p + p { margin-top:14px; }
.rsx .rs-mantra { border-top:1px solid var(--rs-hairline); border-bottom:1px solid var(--rs-hairline); margin-top:28px; padding:16px 4px; display:flex; gap:12px; align-items:baseline; max-width:46ch; }
.rsx .rs-mantra .s { color:var(--rs-gold-text); }
.rsx .rs-mantra .lbl { font-size:10px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--rs-muted); white-space:nowrap; }
.rsx .rs-mantra .txt { font-family:var(--rs-serif); font-style:italic; font-size:18.5px; color:var(--rs-ink); }

/* ═══════════ SECCIONES (cabecera común) ═══════════ */
.rsx .rs-s-head { margin-bottom:34px; }
.rsx .rs-s-head h2 { font-family:var(--rs-serif); font-weight:600; font-size:clamp(28px,4.6vw,38px); color:var(--rs-ink); margin-top:10px; }
.rsx .rs-s-head p { color:var(--rs-muted); font-size:14.5px; margin-top:8px; max-width:52ch; }

/* ═══════════ MES A MES ═══════════ */
.rsx .rs-meses { padding:clamp(46px,8vw,76px) 0; background:var(--rs-banda); }
.rsx .sr-mes-filtros { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.rsx .sr-mes-filtro { border:1px solid var(--rs-hairline); background:transparent; color:var(--rs-soft); font-family:var(--rs-sans); font-weight:700; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; padding:9px 20px; border-radius:30px; cursor:pointer; transition:all .2s; }
.rsx .sr-mes-filtro.active { background:var(--rs-night); color:#fff; border-color:var(--rs-night); }
.rsx .sr-mes-sin-actividad { font-size:13px; color:var(--rs-muted); padding:10px 0; }
.rsx .sr-ver-todos { background:none; border:none; color:var(--rs-gold-text); font-weight:700; cursor:pointer; font-size:13px; }

.rsx .sr-mes { border-top:1px solid var(--rs-hairline-2); }
.rsx .sr-meses-lista .sr-mes:last-child { border-bottom:1px solid var(--rs-hairline-2); }
.rsx .sr-mes-header { display:grid; grid-template-columns:118px 1fr auto; gap:18px; align-items:baseline; padding:20px 0; cursor:pointer; }
@media(max-width:560px){ .rsx .sr-mes-header { grid-template-columns:1fr auto; } .rsx .sr-mes-cuando { grid-column:1 / -1; margin-bottom:-8px; } }
.rsx .sr-mes-cuando { font-family:var(--rs-serif); font-size:20px; color:var(--rs-ink); line-height:1.2; }
.rsx .sr-mes-cuando small { display:block; font-family:var(--rs-sans); font-size:10.5px; font-weight:700; letter-spacing:.2em; color:var(--rs-muted); text-transform:uppercase; margin-top:2px; }
.rsx .sr-mes-tema { font-weight:700; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--rs-ink); }
.rsx .sr-mes-planeta { color:var(--rs-gold-text); font-size:15px; margin-left:5px; font-family:var(--rs-serif); }
.rsx .sr-mes-arrow { color:var(--rs-muted); font-size:12px; transition:transform .25s; }
.rsx .sr-mes.open .sr-mes-arrow { transform:rotate(180deg); }
.rsx .sr-mes-intenso .sr-mes-cuando { color:var(--rs-gold-text); }
.rsx .sr-mes-intenso .sr-mes-tema::before { content:"✦ "; color:var(--rs-gold-text); }
.rsx .sr-badge-intenso { font-size:9.5px; font-weight:700; letter-spacing:.2em; color:var(--rs-gold-text); border:1px solid oklch(0.55 0.105 74 / .35); padding:3px 9px; border-radius:20px; text-transform:uppercase; }
.rsx .sr-mes-body { padding:2px 0 26px; max-width:60ch; }
@media(min-width:561px){ .rsx .sr-mes-body { padding-left:136px; max-width:none; } .rsx .sr-mes-body > * { max-width:56ch; } }
.rsx .sr-mes-pills { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.rsx .sr-pill-planeta { font-size:12px; letter-spacing:.08em; border:1px solid var(--rs-hairline); padding:4px 12px; border-radius:20px; color:var(--rs-soft); }
.rsx .sr-mes-desc { font-size:14.5px; }
.rsx .sr-mes-descanso { font-style:italic; color:var(--rs-muted); font-size:13.5px; margin-bottom:10px; }
.rsx .sr-mes-feeling { font-family:var(--rs-serif); font-style:italic; font-size:16px; color:var(--rs-gold-text); margin-top:10px; }
.rsx .sr-mes-tip { margin-top:14px; border-top:1px solid var(--rs-hairline-2); padding-top:12px; font-size:13.5px; color:var(--rs-soft); }
.rsx .sr-mes-tip::before { content:"✦ Consejo · "; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:10.5px; color:var(--rs-gold-text); }
.rsx .sr-mes-expanded { margin-top:10px; font-size:14.5px; }
.rsx .sr-mes-expanded p + p { margin-top:10px; }

/* Leer más */
.rsx .sr-leer-mas { background:none; border:none; color:var(--rs-gold-text); font-family:var(--rs-sans); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; padding:8px 0 0; }

/* ═══════════ ÁREAS ═══════════ */
.rsx .rs-areas { padding:clamp(46px,8vw,76px) 0; }
.rsx .sr-area-tabs { display:flex; gap:10px; flex-wrap:wrap; margin:24px 0 30px; }
.rsx .sr-area-tab { border:1px solid var(--rs-hairline); background:transparent; color:var(--rs-soft); font-family:var(--rs-sans); font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; padding:10px 22px; border-radius:30px; cursor:pointer; transition:all .2s; }
.rsx .sr-area-tab.active { background:var(--rs-night); color:#fff; border-color:var(--rs-night); }
.rsx .sr-area-panel { display:none; }
.rsx .sr-area-panel.active { display:block; }
.rsx .sr-area-intro { font-family:var(--rs-serif); font-style:italic; font-size:20px; color:var(--rs-ink); max-width:46ch; line-height:1.5; }
.rsx .sr-planeta-clave { border:1px solid var(--rs-hairline); padding:22px 24px; margin:26px 0; max-width:58ch; background:transparent !important; }
.rsx .sr-pk-label { font-size:10.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--rs-gold-text); }
.rsx .sr-pk-title { font-family:var(--rs-serif); font-size:23px; color:var(--rs-ink); margin:6px 0 8px; }
.rsx .sr-pk-short { font-size:14.5px; }
.rsx .sr-pk-expanded { margin-top:10px; font-size:14.5px; }
.rsx .sr-area-h3 { font-family:var(--rs-serif); font-weight:600; font-size:22px; color:var(--rs-ink); margin:34px 0 6px; }
.rsx .sr-zona { border-top:1px solid var(--rs-hairline-2); padding:16px 0; border-left:none !important; }
.rsx .sr-zona-header { display:flex; gap:10px; align-items:baseline; }
.rsx .sr-zona-icon { color:var(--rs-gold-text); font-size:13px; }
.rsx .sr-zona-vacia .sr-zona-icon { color:var(--rs-muted); }
.rsx .sr-zona-label { font-weight:700; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--rs-ink); }
.rsx .sr-zona-vacia .sr-zona-label { color:var(--rs-muted); font-weight:600; }
.rsx .sr-zona-planets { color:var(--rs-gold-text); font-family:var(--rs-serif); }
.rsx .sr-zona-planeta-name { font-family:var(--rs-serif); font-size:17px; color:var(--rs-ink); margin-top:8px; }
.rsx .sr-zona-text { font-size:14.5px; margin-top:4px; max-width:56ch; }
.rsx .sr-zona-expanded { margin-top:8px; font-size:14.5px; max-width:56ch; }
.rsx .sr-alerta { border:1px solid oklch(0.55 0.105 74 / .3); padding:14px 18px; margin:12px 0; font-size:14px; max-width:58ch; }
.rsx .sr-mes-clave { border-top:1px solid var(--rs-hairline-2); padding:14px 0; }
.rsx .sr-mc-header { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.rsx .sr-mc-emoji { display:none; }
.rsx .sr-mc-nombre { font-family:var(--rs-serif); font-size:18px; color:var(--rs-ink); }
.rsx .sr-mc-tema { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rs-muted); }
.rsx .sr-mc-pills { margin-top:6px; }
.rsx .sr-mc-desc { font-size:14px; margin-top:6px; max-width:56ch; }
.rsx .sr-mc-expanded { margin-top:8px; font-size:14px; max-width:56ch; }

/* ═══════════ RITUAL PLACEHOLDER + TÉCNICOS + CIERRES ═══════════ */
.rsx .sr-ritual-placeholder { border:1px solid var(--rs-hairline); text-align:center; padding:34px 24px; margin:clamp(40px,7vw,64px) 0 0; }
.rsx .sr-ritual-badge { font-size:10.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--rs-gold-text); }
.rsx .sr-ritual-title { font-family:var(--rs-serif); font-weight:600; font-size:24px; color:var(--rs-ink); margin-top:10px; }
.rsx .sr-ritual-sub { font-size:14px; color:var(--rs-muted); margin-top:4px; }

.rsx .sr-datos-tecnicos { margin:34px 0 0; border-top:1px solid var(--rs-hairline); border-bottom:1px solid var(--rs-hairline); }
.rsx .sr-datos-header { font-family:var(--rs-serif); font-size:19px; color:var(--rs-ink); padding:18px 0; cursor:pointer; list-style:none; }
.rsx .sr-datos-header::-webkit-details-marker { display:none; }
.rsx .sr-datos-header::before { content:"◦ "; color:var(--rs-gold-text); }
.rsx .sr-datos-body { padding:6px 0 30px; }

.rsx .rs-recalc { text-align:center; padding:34px 0 8px; }
.rsx .rs-recalc a { color:var(--rs-muted); font-size:13.5px; text-decoration:none; letter-spacing:.06em; }
.rsx .rs-recalc a:hover { color:var(--rs-gold-text); }

.rsx .rs-cierre { background:linear-gradient(180deg,var(--rs-night-2),var(--rs-night)); color:#fff; text-align:center; padding:clamp(50px,8vw,80px) 24px; margin-top:clamp(40px,7vw,64px); }
.rsx .rs-cierre .rs-eyebrow { color:var(--rs-gold); }
.rsx .rs-cierre h2 { font-family:var(--rs-serif); font-weight:500; font-size:clamp(27px,4.6vw,38px); margin:14px 0 10px; }
.rsx .rs-cierre p { color:oklch(0.8 0.015 80); font-size:15px; max-width:46ch; margin:0 auto 28px; }
.rsx .rs-cierre .rs-micro { font-size:12px; color:oklch(0.7 0.02 80); margin-top:14px; }

@media (prefers-reduced-motion: reduce) {
  .rsx * { transition:none !important; }
}

/* ═══════════ WOW LAYER ═══════════ */

/* Hero nocturno del formulario */
.rsx .rs-hero-night { background:linear-gradient(180deg,var(--rs-night) 0%,var(--rs-night-2) 100%); position:relative; overflow:hidden; padding:clamp(36px,6vw,64px) 0 clamp(40px,6.5vw,68px); }
.rsx .rs-hero-night .rs-eyebrow { color:var(--rs-gold); }
.rsx .rs-hero-night h1 { color:#fff; }
.rsx .rs-hero-night h1 em { font-style:italic; color:var(--rs-gold); }
.rsx .rs-hero-night .rs-lead { color:oklch(0.88 0.015 80); }
.rsx .rs-hero-night .rs-sub { color:oklch(0.72 0.02 80); }
.rsx .rs-hero-night .rs-sub strong { color:#fff; }
.rsx .rs-heroF-grid { display:grid; grid-template-columns:1fr; gap:28px; align-items:center; position:relative; z-index:2; }
@media(min-width:820px){ .rsx .rs-heroF-grid { grid-template-columns:1.25fr 0.75fr; gap:40px; } }

/* Órbita del retorno solar */
.rsx .rs-orbit { display:flex; justify-content:center; }
.rsx .rs-orbit svg { width:min(300px,72vw); height:auto; overflow:visible; }
@media(max-width:819px){ .rsx .rs-orbit svg { width:min(210px,58vw); } }

/* Cielo de estrellas */
.rsx .rs-stars { position:absolute; inset:0; pointer-events:none; z-index:1; }
.rsx .rs-stars span { position:absolute; color:var(--rs-gold); font-size:11px; opacity:.35; animation:rs-twinkle 3.6s ease-in-out infinite; }
.rsx .rs-stars span:nth-child(2n){ font-size:8px; animation-duration:4.4s; }
.rsx .rs-stars span:nth-child(3n){ font-size:14px; animation-duration:5.2s; }
@keyframes rs-twinkle { 0%,100%{opacity:.14} 50%{opacity:.65} }

/* Glow dorado tras el hero del resultado */
.rsx .rs-hero-res { position:relative; overflow:hidden; }
.rsx .rs-hero-res::before { content:""; position:absolute; top:-120px; left:50%; transform:translateX(-50%); width:560px; height:340px; background:radial-gradient(ellipse at center, oklch(0.72 0.11 80 / 0.16) 0%, transparent 65%); pointer-events:none; }
.rsx .rs-hero-res > * { position:relative; z-index:2; }
.rsx .rs-hero-res .rs-stars { z-index:1; }

/* Numeral fantasma en capítulos */
.rsx .rs-cap { position:relative; overflow:hidden; }
.rsx .rs-cap-ghost { position:absolute; top:-6px; right:-8px; font-family:var(--rs-serif); font-weight:500; font-size:clamp(120px,20vw,210px); line-height:1; color:oklch(0.55 0.105 74 / 0.08); pointer-events:none; user-select:none; }
.rsx .rs-cap .rs-wrap { position:relative; z-index:2; }

/* Revelado al hacer scroll */
.rsx .rv { opacity:0; transform:translateY(16px); transition:opacity .7s cubic-bezier(.2,.65,.2,1), transform .7s cubic-bezier(.2,.65,.2,1); }
.rsx .rv.in { opacity:1; transform:none; }
.rsx .rs-mirada-cell.rv:nth-child(2){ transition-delay:.08s; }
.rsx .rs-mirada-cell.rv:nth-child(3){ transition-delay:.16s; }

/* CTA con brillo */
.rsx .rs-btn-gold { position:relative; }
.rsx .rs-btn-gold:hover { box-shadow:0 6px 22px rgba(197,160,89,.42); }

@media (prefers-reduced-motion: reduce) {
  .rsx .rs-stars span { animation:none; }
  .rsx .rs-orbit svg * { animation:none !important; }
  .rsx .rv { opacity:1; transform:none; transition:none; }
}

/* Halo pulsante de la estrella natal */
.rsx .rs-natal-halo { animation: rs-halo 3.2s ease-in-out infinite; }
@keyframes rs-halo { 0%,100%{opacity:.3} 50%{opacity:.85} }
@media (prefers-reduced-motion: reduce) { .rsx .rs-natal-halo { animation:none; opacity:.5; } }

/* Aviso hora estimada + nota didáctica por capítulo */
.rsx .rs-aviso-hora { max-width:56ch; margin:18px auto 0; font-size:13px; line-height:1.6; color:oklch(0.8 0.03 80); border:1px solid oklch(0.65 0.06 80 / .35); padding:12px 18px; text-align:left; }
.rsx .rs-didactica { max-width:56ch; font-size:13.5px; line-height:1.65; color:var(--rs-muted); border-bottom:1px solid var(--rs-hairline-2); padding:10px 0 14px; margin-top:14px; }
.rsx .rs-didactica .s { color:var(--rs-gold-text); margin-right:4px; }

/* ═══════════ ÍNDICE NAVEGABLE ═══════════ */
.rsx .rs-indice { margin:34px auto 6px; border:1px solid var(--rs-hairline); padding:22px 22px 18px; }
.rsx .rs-indice-k { font-size:10.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--rs-gold-text); margin-bottom:14px; }
.rsx .rs-indice-caps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:2px 18px; }
@media(max-width:560px){ .rsx .rs-indice-caps { grid-template-columns:1fr; } }
.rsx .rs-indice-caps a { display:flex; align-items:baseline; gap:8px; padding:7px 2px; text-decoration:none; border-bottom:1px solid var(--rs-hairline-2); font-family:var(--rs-serif); font-size:16.5px; color:var(--rs-ink); }
.rsx .rs-indice-caps a .n { font-family:var(--rs-serif); color:var(--rs-gold-text); font-size:13px; }
.rsx .rs-indice-caps a em { font-style:italic; color:var(--rs-muted); font-size:12.5px; margin-left:auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:45%; }
.rsx .rs-indice-caps a:active { background:var(--rs-banda); }
.rsx .rs-indice-secciones { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.rsx .rs-indice-secciones a { border:1px solid var(--rs-hairline); border-radius:30px; padding:8px 18px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rs-soft); text-decoration:none; }
.rsx .rs-indice-secciones a:active { background:var(--rs-night); color:#fff; }
.rsx section[id], .rsx details[id] { scroll-margin-top: 84px; }

/* ═══════════ LÁMINAS (banco manifestalys) ═══════════ */
.rsx .rs-lamina { line-height:0; }
.rsx .rs-lamina img { width:100%; height:clamp(180px,32vw,320px); object-fit:cover; display:block; }
.rsx .rs-lamina--top { margin-bottom:clamp(30px,5vw,46px); }
.rsx .rs-caps .rs-lamina img { height:clamp(200px,36vw,360px); }

/* ═══════════ DESPLEGABLES EVIDENTES ═══════════ */
.rsx .sr-mes-header { position:relative; }
.rsx .sr-mes-arrow { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid oklch(0.55 0.105 74 / .5); border-radius:50%; color:var(--rs-gold-text); font-size:12px; transition:transform .25s, background .2s; background:oklch(0.55 0.105 74 / .06); }
.rsx .sr-mes.open .sr-mes-arrow { transform:rotate(180deg); background:var(--rs-night); color:#fff; border-color:var(--rs-night); }
.rsx .sr-mes-header:hover .sr-mes-arrow { background:oklch(0.55 0.105 74 / .16); }
.rsx .sr-mes-abrir { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--rs-gold-text); margin-right:8px; }
.rsx .sr-mes.open .sr-mes-abrir { display:none; }
.rsx .sr-leer-mas::before { content:"+ "; }
.rsx .sr-leer-mas.open::before { content:"− "; }

/* Fecha/hora en formato español (campos propios) */
.rsx .rs-fecha-grid { display:grid; grid-template-columns:74px 1fr 96px; gap:12px; }
.rsx .rs-hora-grid { display:flex; align-items:baseline; gap:8px; }
.rsx .rs-hora-grid select { width:auto; min-width:64px; }
.rsx .rs-hsep { font-family:var(--rs-serif); font-size:19px; color:var(--rs-muted); }
.rsx .rs-form input[type=number] {
  background:transparent; border:none; border-bottom:1px solid var(--rs-hairline);
  font-family:var(--rs-serif); font-size:19px; color:var(--rs-ink); padding:6px 2px 9px; border-radius:0;
  width:100%; transition:border-color .25s; -moz-appearance:textfield; appearance:textfield;
}
.rsx .rs-form input[type=number]::-webkit-outer-spin-button,
.rsx .rs-form input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.rsx .rs-form input[type=number]:focus { outline:none; border-bottom:1.5px solid var(--rs-gold); }
.rsx .rs-form select:disabled { opacity:.4; }
@media(max-width:420px){ .rsx .rs-fecha-grid { grid-template-columns:64px 1fr 84px; gap:8px; } }

/* ── Descarga PDF ── */
.rsx .rs-descarga { text-align:center; margin:3.5rem auto 1rem; }
.rsx .rs-descarga-nota { margin-top:.9rem; font-size:.85rem; color:var(--rs-muted); }

/* ── PDF: pill en el índice + botón flotante ── */
.rsx .rs-indice-pdf { color: var(--rs-gold-text) !important; border-color: var(--rs-gold) !important; font-weight: 700; }
.rsx .rs-pdf-flotante { position: fixed; right: 18px; bottom: 18px; z-index: 60;
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, #C5A059, #B8A078); color: var(--rs-night);
  font-family: var(--rs-sans); font-weight: 800; font-size: .8rem; letter-spacing: .06em;
  padding: 12px 18px; border-radius: 999px; text-decoration: none;
  box-shadow: 0 6px 22px rgba(30,42,58,.28);
  opacity: 0; transform: translateY(12px); pointer-events: none;
  transition: opacity .25s ease, transform .25s ease; }
.rsx .rs-pdf-flotante.vis { opacity: 1; transform: none; pointer-events: auto; }
.rsx .rs-pdf-flotante:hover { transform: translateY(-2px); }
@media (max-width: 560px) { .rsx .rs-pdf-flotante { right: 12px; bottom: 12px; padding: 10px 15px; } }

/* ── Lectura continua: expandidos siempre visibles ── */
.rsx .sr-mes-expanded, .rsx .sr-pk-expanded, .rsx .sr-zona-expanded, .rsx .sr-mc-expanded { margin-top: 8px; }

/* ── Ritmo editorial de lectura (capítulos) ── */
.rsx .rs-cap-pull { margin:30px auto 26px; max-width:52ch; font-family:var(--rs-serif); font-style:italic; font-size:clamp(21px,3vw,25px); line-height:1.4; color:var(--rs-ink); }
.rsx .rs-cap-pull::before { content:'✦'; display:block; color:var(--rs-gold); font-style:normal; font-size:.85rem; margin-bottom:10px; }
.rsx .rs-sombra { margin:26px 0 6px; background:var(--rs-banda); border-radius:16px; padding:20px 22px; max-width:60ch; }
.rsx .rs-sombra-lbl { display:block; font-weight:700; font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; color:var(--rs-gold-text); margin-bottom:8px; }
.rsx .rs-sombra p { margin:0; font-size:15px; line-height:1.75; color:var(--rs-soft); }
.rsx .rs-cap-body { max-width:64ch; font-size:16.5px; line-height:1.85; }
.rsx .rs-cap-body p + p { margin-top:16px; }
.rsx .rs-didactica { display:inline-block; background:var(--rs-banda); border-radius:12px; padding:12px 16px; border-bottom:none; margin-top:16px; max-width:56ch; }
.rsx .sr-area-intro { font-size:clamp(20px,2.8vw,23px); line-height:1.55; }
