/* REASCYL — portada. Usa los tokens --rc-* definidos en style.css */

#rc-home{ overflow:hidden; }
#rc-home .rc-wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
#rc-home h1,#rc-home h2,#rc-home h3{ font-family:var(--rc-display); }
#rc-home .rc-kicker,#rc-home .rc-eyebrow{
  font-family:var(--rc-mono); font-size:.78rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--rc-earth-deep); margin:0 0 14px;
}
#rc-home .rc-h2{ font-size:clamp(1.7rem,3.6vw,2.4rem); line-height:1.12; color:var(--rc-ink); margin:0 0 12px; }
#rc-home .rc-lead{ color:var(--rc-ink-soft); max-width:62ch; font-size:1.06rem; }
#rc-home .rc-lead--light{ color:rgba(255,255,255,.9); }

/* ---------- BOTONES ---------- */
.rc-cta-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; align-items:center; }
.rc-btn{ display:inline-block; font-weight:600; font-size:.95rem; padding:.72rem 1.3rem; border-radius:10px;
  text-decoration:none; transition:transform .2s var(--rc-ease),box-shadow .2s var(--rc-ease),background .2s; }
.rc-btn--primary{ background:var(--rc-green); color:#fff; }
.rc-btn--primary:hover{ background:var(--rc-green-deep); transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(33,80,58,.7); color:#fff; }
.rc-btn--ghost{ background:transparent; color:var(--rc-green-deep); border:1.5px solid var(--rc-green); }
.rc-btn--ghost:hover{ background:var(--rc-green-wash); }
.rc-btn--text{ color:var(--rc-green-deep); padding-left:.3rem; padding-right:.3rem; }
.rc-btn--text:hover{ text-decoration:underline; }
.rc-btn--earth{ background:var(--rc-earth); color:#22311f; }
.rc-btn--earth:hover{ background:var(--rc-earth-deep); color:#fff; transform:translateY(-2px); }

/* ---------- HERO ---------- */
.rc-hero{ padding:84px 0 64px; background:
  radial-gradient(120% 90% at 88% -10%, var(--rc-green-wash), transparent 55%), var(--rc-cream); }
.rc-hero-title{ font-size:clamp(2.2rem,5.6vw,3.6rem); line-height:1.06; letter-spacing:-.02em;
  color:var(--rc-ink); max-width:17ch; margin:0 0 18px; }
.rc-hero-title em{ font-style:italic; color:var(--rc-green); }
.rc-hero-sub{ font-size:1.2rem; line-height:1.5; color:var(--rc-ink-soft); max-width:54ch; }

/* ---------- RUEDA ---------- */
.rc-rueda{ padding:64px 0; border-top:1px solid var(--rc-line); background:var(--rc-white); }
.rc-rueda-grid{ display:grid; grid-template-columns:420px 1fr; gap:40px; align-items:center; margin-top:30px; }
.rc-rueda-wheel{ position:relative; width:380px; height:380px; margin:20px auto; border-radius:50%;
  border:2px dashed var(--rc-line); }
.rc-rueda-hub{ position:absolute; inset:0; margin:auto; width:150px; height:150px; border-radius:50%;
  background:var(--rc-green-deep); color:#fff; display:flex; align-items:center; justify-content:center;
  text-align:center; font-family:var(--rc-display); font-weight:600; line-height:1.15; font-size:1.15rem;
  letter-spacing:-.01em; box-shadow:0 10px 28px -16px rgba(20,40,30,.55); }
.rc-fase{ position:absolute; width:132px; height:132px; border-radius:50%; cursor:pointer;
  border:2px solid var(--rc-fase-color); background:#fff; color:var(--rc-ink);
  font-family:var(--rc-body); font-weight:600; font-size:.78rem; line-height:1.12; padding:8px;
  transition:transform .25s var(--rc-ease),box-shadow .25s var(--rc-ease);
  display:flex; align-items:center; justify-content:center; text-align:center; }
.rc-fase:hover{ transform:scale(1.06); }
.rc-fase.is-active{ background:var(--rc-fase-color); color:#fff; box-shadow:0 12px 30px -12px var(--rc-fase-color); transform:scale(1.08); }
.rc-fase[data-pos=top]{ top:-18px; left:50%; transform:translateX(-50%); }
.rc-fase[data-pos=top].is-active{ transform:translateX(-50%) scale(1.08); }
.rc-fase[data-pos=right]{ right:-18px; top:50%; transform:translateY(-50%); }
.rc-fase[data-pos=right].is-active{ transform:translateY(-50%) scale(1.08); }
.rc-fase[data-pos=bottom]{ bottom:-18px; left:50%; transform:translateX(-50%); }
.rc-fase[data-pos=bottom].is-active{ transform:translateX(-50%) scale(1.08); }
.rc-fase[data-pos=left]{ left:-18px; top:50%; transform:translateY(-50%); }
.rc-fase[data-pos=left].is-active{ transform:translateY(-50%) scale(1.08); }
.rc-rueda-detalle{ --rc-acc:var(--rc-green); background:var(--rc-cream); border:1px solid var(--rc-line);
  border-left:5px solid var(--rc-acc); border-radius:14px; padding:24px 28px; min-height:170px; }
.rc-rueda-q{ font-family:var(--rc-mono); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--rc-acc); }
.rc-rueda-t{ font-size:1.5rem; color:var(--rc-ink); margin:6px 0 14px; }
.rc-rueda-meta{ color:var(--rc-ink-soft); margin:.3rem 0; font-size:.98rem; }
.rc-rueda-meta strong{ color:var(--rc-ink); }

/* ---------- PRINCIPIOS ---------- */
.rc-principios{ padding:64px 0; border-top:1px solid var(--rc-line); background:var(--rc-cream); }
.rc-grid-6{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:28px; }
.rc-card{ background:var(--rc-white); border:1px solid var(--rc-line); border-radius:16px; padding:24px 22px;
  position:relative; transition:transform .3s var(--rc-ease),box-shadow .3s var(--rc-ease),border-color .3s; }
.rc-card:hover{ transform:translateY(-3px); box-shadow:0 22px 44px -34px rgba(33,80,58,.55); border-color:#cdd9c4; }
.rc-card-n{ font-family:var(--rc-mono); font-size:.8rem; color:var(--rc-earth-deep); }
.rc-card-t{ font-size:1.22rem; color:var(--rc-green-deep); margin:8px 0 8px; }
.rc-card-d{ color:var(--rc-ink-soft); font-size:.97rem; margin:0; }
.rc-actions{ margin-top:26px; }

/* ---------- TEASERS ---------- */
.rc-teasers{ padding:56px 0; border-top:1px solid var(--rc-line); background:var(--rc-white); }
.rc-teasers-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.rc-teaser{ background:var(--rc-cream); border:1px solid var(--rc-line); border-radius:16px; padding:26px 28px; }
.rc-teaser p{ color:var(--rc-ink-soft); }

/* ---------- CTA FINAL ---------- */
.rc-cta-final{ padding:70px 0; text-align:center; background:linear-gradient(135deg,var(--rc-green-deep),var(--rc-green)); color:#fff; }
/* El titular va en blanco. Llevaba !important porque el color de los h2 del
   tema padre (GeneratePress) ganaba por especificidad y lo dejaba oscuro
   sobre el fondo verde: casi ilegible. */
.rc-cta-final .rc-h2,
.rc-cta-final h2.rc-cta-titular{ color:#fff !important; max-width:20ch; margin:0 auto 12px; }
/* Los signos de interrogación, en el mismo dorado que el botón: enmarcan la
   pregunta y atan visualmente el titular con la llamada a la acción. */
.rc-cta-final .rc-int{ color:var(--rc-earth); }
.rc-cta-final .rc-lead{ margin:0 auto 24px; }
.rc-cta-final .rc-btn{ font-size:1.02rem; padding:.85rem 1.7rem; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:880px){
  .rc-rueda-grid{ grid-template-columns:1fr; }
  .rc-grid-6{ grid-template-columns:1fr 1fr; }
  .rc-teasers-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .rc-grid-6{ grid-template-columns:1fr; }
  .rc-hero{ padding:60px 0 48px; }
}
@media (prefers-reduced-motion:reduce){
  .rc-btn,.rc-fase,.rc-card{ transition:none; }
}
