/* ══════════════════════════════════════════════════════════════════
   RETIRO TAO · «El Círculo»
   Lenguaje propio, distinto al resto de la web: noche y piedra caliza,
   Catchy Mager para las palabras grandes y el círculo del logo como hilo
   conductor. Prefijo rc-. Las animaciones las mueve assets/retiro.js con
   variables CSS ligadas al scroll.
   ══════════════════════════════════════════════════════════════════ */
.rc{
  --rc-noche:#0C0B09; --rc-noche-2:#14120F;
  --rc-piedra:#E7DECE; --rc-piedra-2:#D9CDB8;
  --rc-tinta:#1A1714; --rc-gris:#6F665C; --rc-gris-claro:#A79C8E;
  --rc-ambar:#D9963E;
  background:var(--rc-noche); color:var(--rc-piedra);
}
.rc-wrap{max-width:1180px;margin:0 auto;padding-inline:var(--pad)}
#contenido .rc-h2, .rc-h2{
  margin:0; font-family:var(--apple); font-weight:600; letter-spacing:-.035em; line-height:1.02;
  font-size:clamp(2.3rem,1.3rem + 4.2vw,5rem); color:inherit;
}
.rc-h2 span{color:var(--rc-gris-claro)}

/* ── 1 · El círculo se abre ─────────────────────────────────────── */
.rc-portada{--p:0;position:relative;height:260vh;background:var(--rc-noche)}
.rc-portada__escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.rc-portada__foto{
  --r:0px; position:absolute; inset:0;
  clip-path:circle(var(--r) at 50% 50%);
}
.rc-portada__foto img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(calc(1.18 - .18 * var(--p)));filter:brightness(.72) saturate(.9)}
.rc-portada__foto::after{content:'';position:absolute;inset:0;background:radial-gradient(70% 70% at 50% 50%,transparent 40%,rgba(12,11,9,.55))}
.rc-portada__centro{
  --w:min(78vw,62vh,560px); --s:1;
  position:absolute; left:50%; top:50%; width:var(--w); aspect-ratio:2180/2140;
  transform:translate(-50%,-50%) scale(var(--s));
}
.rc-anillo{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#E7DECE;opacity:var(--anillo,1)}
.rc-anillo__trazo{stroke-dasharray:1 1;stroke-dashoffset:1;animation:rc-traza 2.1s cubic-bezier(.65,0,.35,1) .35s forwards}
@keyframes rc-traza{to{stroke-dashoffset:0}}
.rc-portada__texto{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  opacity:var(--texto,1);
}
.rc-portada__ante,.rc-portada__titulo,.rc-portada__lema{opacity:0;animation:rc-aparece 1.2s cubic-bezier(.2,.7,.2,1) forwards}
.rc-portada__ante{margin:0 0 .6rem;font-family:var(--sans);font-weight:500;font-size:clamp(.62rem,.55rem + .3vw,.78rem);letter-spacing:.42em;text-transform:uppercase;color:var(--rc-ambar);animation-delay:1.7s}
#contenido .rc-portada__titulo, .rc-portada__titulo{
  margin:0; font-family:"Catchy Mager",var(--serif); font-weight:400; letter-spacing:.06em; line-height:1;
  font-size:clamp(2.2rem,1rem + 5.4vw,5rem); color:#F3ECE0; animation-delay:1.9s;
}
.rc-portada__lema{margin:.9rem 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1rem,.85rem + .7vw,1.45rem);color:#CFC4B4;animation-delay:2.2s}
@keyframes rc-aparece{from{opacity:0;filter:blur(12px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}
.rc-portada__lugar{
  position:absolute; left:0; right:0; bottom:clamp(3rem,10vh,6rem); margin:0; padding-inline:var(--pad); text-align:center;
  font-family:var(--apple); font-weight:600; letter-spacing:-.03em; line-height:1.08;
  font-size:clamp(1.8rem,1.1rem + 3vw,3.8rem); color:#F6F0E6;
  opacity:var(--lugar,0); transform:translateY(calc((1 - var(--lugar,0)) * 30px));
  text-shadow:0 4px 40px rgba(0,0,0,.5);
}
.rc-portada__bajar{
  position:absolute; left:50%; bottom:2rem; width:1px; height:46px; margin-left:-.5px;
  background:linear-gradient(180deg,transparent,rgba(231,222,206,.7));
  opacity:calc(var(--texto,1) * 1); animation:rc-baja 2.4s ease-in-out infinite 2.6s;
}
@keyframes rc-baja{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* ── 2 · Manifiesto ─────────────────────────────────────────────── */
.rc-manifiesto{background:var(--rc-noche);padding:clamp(6rem,14vw,12rem) var(--pad)}
.rc-manifiesto__texto{
  margin:0 auto; max-width:17ch; text-align:center;
  font-family:var(--apple); font-weight:600; letter-spacing:-.035em; line-height:1.06;
  font-size:clamp(2.2rem,1.2rem + 4.6vw,5.4rem); color:#F3ECE0;
}
.rc-manifiesto__texto .apr-p--clave{font-family:"Catchy Mager",var(--serif);font-weight:400;letter-spacing:.02em;color:var(--rc-ambar)}

/* ── 3 · Tres días ──────────────────────────────────────────────── */
.rc-dias{--p:0;position:relative;height:320vh;background:radial-gradient(60% 50% at 50% 55%,#1E1A16,var(--rc-noche) 75%)}
.rc-dias__escena{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem var(--pad) 3rem}
.rc-dias__intro{margin:0 0 clamp(1.5rem,4vh,3rem);text-align:center;font-family:var(--apple);font-weight:500;letter-spacing:-.015em;font-size:clamp(1rem,.9rem + .6vw,1.35rem);line-height:1.4;color:var(--rc-gris-claro)}
.rc-dias__centro{position:relative;width:min(84vw,58vh,520px);aspect-ratio:1;display:grid;place-items:center}
.rc-dias__aro{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.rc-dias__aro circle{fill:none;stroke-width:1.2}
.rc-dias__aro-base{stroke:rgba(231,222,206,.14)}
.rc-dias__aro-lleno{stroke:var(--rc-ambar);stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--p));stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(217,150,62,.6))}
.rc-dias__lista{list-style:none;margin:0;padding:0;position:relative;width:78%;height:60%}
.rc-dia{
  --v:0; position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.7rem;
  opacity:var(--v); filter:blur(calc((1 - var(--v)) * 10px)); transform:scale(calc(.94 + .06 * var(--v)));
}
.rc-dia small{font-family:var(--sans);font-weight:500;font-size:.7rem;letter-spacing:.36em;text-transform:uppercase;color:var(--rc-ambar)}
.rc-dia strong{font-family:"Catchy Mager",var(--serif);font-weight:400;font-size:clamp(2.6rem,1.6rem + 4vw,4.8rem);line-height:1;letter-spacing:.02em;color:#F3ECE0}
.rc-dia span{max-width:30ch;font-family:var(--sans);font-weight:300;font-size:clamp(.95rem,.9rem + .3vw,1.08rem);line-height:1.6;color:#BDB2A3}

/* ── 4 · Las prácticas ─────────────────────────────────────────── */
.rc-practicas{background:var(--rc-piedra);color:var(--rc-tinta);padding:clamp(5rem,10vw,8rem) 0}
.rc-practicas .rc-h2 span{color:#9C9283}
.rc-bento{margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:minmax(260px,auto);gap:clamp(.8rem,1.4vw,1.2rem)}
.rc-pieza{position:relative;overflow:hidden;border-radius:30px;background:var(--rc-tinta);color:#F3ECE0;min-height:280px}
.rc-pieza--alta{grid-row:span 2}
.rc-pieza--ancha{grid-column:span 2}
.rc-pieza img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
@media (hover:hover){ .rc-pieza:hover img{transform:scale(1.05)} }
.rc-pieza::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,11,9,0) 35%,rgba(12,11,9,.82) 100%)}
.rc-pieza__texto{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(1.4rem,2.6vw,2.2rem)}
.rc-pieza h3{margin:0;font-family:var(--apple);font-weight:600;letter-spacing:-.02em;font-size:clamp(1.35rem,1.1rem + .8vw,1.9rem)}
.rc-pieza p{margin:.5rem 0 0;max-width:34ch;font-family:var(--sans);font-weight:300;font-size:.98rem;line-height:1.55;color:#D6CCBE}

/* ── 5 · El lugar: galería horizontal fija ─────────────────────── */
.rc-lugar{--p:0;position:relative;height:300vh;background:var(--rc-piedra);color:var(--rc-tinta)}
.rc-lugar .rc-h2 span{color:#9C9283}
.rc-lugar__escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(1.6rem,4vh,3rem);padding-top:5rem}
.rc-lugar__cabecera{max-width:1180px;width:100%;margin:0 auto;padding-inline:var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;flex-wrap:wrap}
.rc-lugar__cabecera p{margin:0;max-width:36ch;font-family:var(--sans);font-weight:300;font-size:1.05rem;line-height:1.6;color:var(--rc-gris)}
.rc-lugar__pista{
  --hueco:clamp(1rem,2vw,1.6rem);
  display:flex; gap:var(--hueco); padding-inline:max(var(--pad), calc((100vw - 1180px) / 2 + var(--pad)));
  transform:translateX(calc(var(--p) * var(--recorrido,0px) * -1)); will-change:transform;
}
.rc-lugar__pista figure{margin:0;flex:0 0 auto;width:min(78vw,62vh * 1.6,900px)}
.rc-lugar__pista img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px;box-shadow:0 30px 60px -36px rgba(26,23,20,.6)}
.rc-lugar__pista figcaption{margin-top:.9rem;font-family:var(--apple);font-weight:500;font-size:1rem;letter-spacing:-.01em;color:var(--rc-gris)}

/* ── 6 · Pack de bienvenida: el sobre se abre ──────────────────── */
.rc-pack{--p:0;background:var(--rc-noche);padding:clamp(5rem,10vw,9rem) 0}
.rc-pack__wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(2.5rem,7vw,6rem)}
.rc-pack__texto p{margin:1.4rem 0 0;max-width:40ch;font-family:var(--sans);font-weight:300;font-size:1.08rem;line-height:1.65;color:#BDB2A3}
.rc-sobre{position:relative;width:clamp(220px,28vw,340px);aspect-ratio:1.45;perspective:900px;margin-top:20%}
.rc-sobre span{position:absolute;display:block}
.rc-sobre__fondo{inset:0;border-radius:10px;background:#2A241E}
.rc-sobre__carta{
  left:7%; right:7%; top:8%; height:88%; border-radius:6px;
  background:linear-gradient(160deg,#F3ECE0,#E2D6C3); box-shadow:0 10px 30px -10px rgba(0,0,0,.5);
  transform:translateY(calc(var(--carta,0) * -58%));
  display:grid; place-items:center;
}
.rc-sobre__carta i{
  width:34%; aspect-ratio:1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231A1714'%3E%3Cpath fill-rule='evenodd' d='M12 1.4a10.6 10.6 0 1 0 0 21.2a10.6 10.6 0 1 0 0-21.2Zm0 .75a8.75 9.85 0 1 1 0 19.7a8.75 9.85 0 1 1 0-19.7Z'/%3E%3Cpath d='M12 9.5C12.22 11.25 12.6 11.68 14.4 12C12.6 12.32 12.22 12.75 12 14.5C11.78 12.75 11.4 12.32 9.6 12C11.4 11.68 11.78 11.25 12 9.5Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.rc-sobre__frente{
  inset:0; border-radius:10px; z-index:2;
  background:linear-gradient(160deg,#3A3129,#241E19);
  clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);
  box-shadow:inset 0 0 0 1px rgba(217,150,62,.25);
}
.rc-sobre__solapa{
  left:0; right:0; top:0; height:56%; z-index:var(--z-solapa,3);
  background:linear-gradient(180deg,#463B31,#30281F);
  clip-path:polygon(0 0,100% 0,50% 100%);
  transform-origin:50% 0; transform:rotateX(calc(var(--solapa,0) * 178deg));
}

/* ── 7 · Un círculo pequeño ────────────────────────────────────── */
.rc-intimo{--p:0;background:var(--rc-piedra);color:var(--rc-tinta);padding:clamp(5rem,10vw,9rem) 0}
.rc-intimo .rc-h2 span{color:#9C9283}
.rc-intimo__wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(2.5rem,7vw,6rem)}
.rc-intimo__texto p{margin:1.4rem 0 0;max-width:40ch;font-family:var(--sans);font-weight:300;font-size:1.08rem;line-height:1.65;color:var(--rc-gris)}
.rc-puntos{position:relative;width:clamp(220px,26vw,320px);aspect-ratio:1}
.rc-puntos i{
  position:absolute; left:50%; top:50%; width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%;
  background:var(--rc-tinta); opacity:.12;
  transform:rotate(var(--ang)) translateY(calc(var(--radio) * -1));
  transition:opacity .5s var(--ease), background .5s var(--ease);
}
.rc-puntos i.on{opacity:1;background:var(--rc-ambar)}

/* ── 8 · Reserva ───────────────────────────────────────────────── */
.rc-cierre{background:radial-gradient(60% 70% at 50% 100%,#2A221B,var(--rc-noche) 70%);padding:clamp(6rem,12vw,10rem) 0;text-align:center}
.rc-cierre__ante{margin:0 0 1.4rem;font-family:var(--sans);font-weight:500;font-size:.7rem;letter-spacing:.36em;text-transform:uppercase;color:var(--rc-ambar)}
#contenido .rc-cierre__titulo, .rc-cierre__titulo{margin:0;font-family:var(--apple);font-weight:600;letter-spacing:-.04em;line-height:1;font-size:clamp(2.6rem,1.4rem + 5vw,6rem);color:#F3ECE0}
.rc-cierre__titulo em{font-style:normal;font-family:"Catchy Mager",var(--serif);font-weight:400;letter-spacing:.02em;color:var(--rc-ambar)}
.rc-cierre__incluye{margin:1.8rem auto 0;max-width:46ch;font-family:var(--sans);font-weight:300;font-size:1rem;line-height:1.7;color:#BDB2A3}
.rc-cierre__ctas{margin-top:2.4rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.8rem}

/* ── Móvil ─────────────────────────────────────────────────────── */
@media (max-width:860px){
  .rc-bento{grid-template-columns:1fr}
  .rc-pieza--alta{grid-row:auto;min-height:420px}
  .rc-pieza--ancha{grid-column:auto}
  .rc-pack__wrap,.rc-intimo__wrap{grid-template-columns:1fr;justify-items:center;text-align:center}
  .rc-pack__texto p,.rc-intimo__texto p{margin-inline:auto}
  .rc-intimo__wrap .rc-puntos{order:-1}
  .rc-lugar__pista figure{width:82vw}
}

/* ── Movimiento reducido: todo a la vista, sin escenas fijas ─────── */
@media (prefers-reduced-motion:reduce){
  .rc-portada,.rc-dias,.rc-lugar{height:auto}
  .rc-portada__escena,.rc-dias__escena,.rc-lugar__escena{position:relative;height:auto;min-height:100svh}
  .rc-portada__foto{clip-path:none}
  .rc-anillo__trazo{animation:none;stroke-dashoffset:0}
  .rc-portada__ante,.rc-portada__titulo,.rc-portada__lema{animation:none;opacity:1}
  .rc-dia{position:static;opacity:1;filter:none;transform:none;margin-bottom:2rem}
  .rc-dias__lista{height:auto}
  .rc-lugar__pista{transform:none;overflow-x:auto}
}
/* El título se mide con el anillo para que nunca toque el trazo */
#contenido .rc-portada__titulo, .rc-portada__titulo{font-size:calc(var(--w) * .088)}
.rc-portada__ante{font-size:calc(var(--w) * .017 + .3rem)}
.rc-portada__lema{font-size:calc(var(--w) * .03 + .35rem)}
/* La galería cabe entera en pantalla: título y fotos */
.rc-lugar__escena{padding-top:clamp(4.5rem,9vh,6rem);padding-bottom:2rem;gap:clamp(1.2rem,3vh,2.2rem)}
.rc-lugar__pista figure{width:min(74vw,50vh * 1.6,820px)}
@media (max-width:860px){ .rc-lugar__pista figure{width:min(84vw,46vh * 1.6)} }
.rc-lugar__pista img{height:auto}
#contenido .rc-cierre__titulo em{font-family:"Catchy Mager",var(--serif);font-style:normal;font-weight:400;letter-spacing:.02em;color:var(--rc-ambar)}
#contenido .rc-manifiesto__texto .apr-p--clave{font-family:"Catchy Mager",var(--serif);font-weight:400}
@media (max-width:700px){ .rc-br{display:none} }

/* Escala más contenida, en la línea del resto de la web */
#contenido .rc-h2,.rc-h2{font-size:clamp(1.9rem,1.2rem + 2.6vw,3.5rem)}
.rc-manifiesto__texto{font-size:clamp(1.8rem,1.2rem + 2.6vw,3.4rem);max-width:19ch}
#contenido .rc-cierre__titulo,.rc-cierre__titulo{font-size:clamp(2.3rem,1.4rem + 3.4vw,4.4rem)}
.rc-dia strong{font-size:clamp(2.2rem,1.5rem + 2.8vw,3.7rem)}
.rc-portada__lugar{font-size:clamp(1.6rem,1.1rem + 2vw,3rem)}
