/* ==========================================================================
   Landing de taller — Luna Nueva en Escorpio (Danzastral × Illakylla)
   Se carga después de styles.css. Agrega oliva y café oscuro a la paleta,
   con agua, fuego y luna como imágenes. Sin morados.
   ========================================================================== */

:root {
  --oliva: #66703f;
  --oliva-suave: #e6e7d5;
  --cafe: #3b2d24;
  --cafe-medio: #5a463a;
  --damasco-claro: #f2c6a8;
}

.lne { background: var(--papel) url("../img/ornamentos/papel.webp"); }

/* Header simple, sin menú: la página no saca a la persona del recorrido */
.lne-header .site-header__inner { min-height: 4rem; }
.lne-header .logo img { height: 3.1rem; }
.lne-header .btn { min-height: 2.6rem; padding: 0.5rem 1.1rem; font-size: var(--t-sm); }

/* 1. Portada ---------------------------------------------------------------- */
.lne-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: min(52rem, calc(100svh - 4rem));
  display: grid; align-items: end;
  color: #fbf3ea; background: var(--cafe);
  padding-block: clamp(5rem, 14vh, 9rem) clamp(2.5rem, 7vh, 4.5rem);
}
.lne-hero__bg { position: absolute; inset: 0; z-index: -2; }
.lne-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.lne-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(180deg, rgba(59, 45, 36, 0.35) 0%, rgba(59, 45, 36, 0.55) 45%, rgba(46, 34, 27, 0.92) 100%),
    radial-gradient(120% 70% at 50% 100%, rgba(231, 177, 147, 0.18), transparent 60%);
}
.lne-hero__inner { max-width: 44rem; }
.lne-hero .label { color: var(--damasco-claro); }
.lne-hero h1 { margin-bottom: 0.35em; }
.lne-hero .titulo-doble__pre { color: #efe6d8; font-size: clamp(1rem, 0.85rem + 0.8vw, 1.45rem); }
.lne-hero .titulo-doble__main { color: var(--damasco-claro); font-size: clamp(3.3rem, 2.2rem + 5.5vw, 6.2rem); line-height: 0.95; }
.lne-hero__sub { font-family: var(--f-display); font-size: clamp(1.4rem, 1.15rem + 1.1vw, 2rem); line-height: 1.3; margin: 0 0 0.8rem; color: #fbf3ea; max-width: 34ch; }
.lne-hero__text { color: #e9dccd; max-width: 52ch; margin-bottom: 1.5rem; }
.lne-datos { list-style: none; margin: 0 0 1.75rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lne-datos li {
  display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.45rem 0.85rem; border-radius: 999px; font-size: var(--t-sm);
  background: rgba(251, 243, 234, 0.1); border: 1px solid rgba(242, 198, 168, 0.4); color: #fbf3ea;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.lne-datos svg { width: 1rem; height: 1rem; flex: none; color: var(--damasco-claro); }
.lne-datos .lne-precio { background: var(--damasco-claro); color: var(--cafe); border-color: var(--damasco-claro); font-weight: 600; }
.lne-datos .lne-precio svg { color: var(--cafe); }
.lne-facilitan { margin: 1.1rem 0 0; font-size: var(--t-sm); color: #d9cbbb; }
.lne-facilitan strong { color: #fbf3ea; font-weight: 600; }

.btn--participar { background: var(--damasco); color: var(--cafe); font-weight: 600; min-height: 3.25rem; padding-inline: 2rem; letter-spacing: 0.02em; }
.btn--participar:hover { background: var(--damasco-claro); color: var(--cafe); }
.btn--participar svg { width: 1.15rem; height: 1.15rem; }

/* 2. Qué soltar ------------------------------------------------------------- */
.lne-soltar { display: grid; gap: 2.25rem; align-items: center; }
.lne-soltar__img { position: relative; }
.lne-soltar__img picture img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 1.25rem 999px 999px 1.25rem; border: 6px solid var(--crema); box-shadow: var(--sombra); }
.lne-soltar__img .deco--acuarela { width: 55%; left: -12%; bottom: -14%; z-index: -1; }
.lne-soltar h2 { font-style: italic; color: var(--damasco-osc); }
.lne-soltar__cierre { font-family: var(--f-display); font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.6rem); line-height: 1.35; color: var(--tinta); border-left: 2px solid var(--damasco); padding-left: 1rem; margin-top: 1.4rem; }

/* 3. Qué viviremos juntas --------------------------------------------------- */
.lne-viviremos { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.lne-paso { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: center; background: var(--crema); border: 1px solid var(--lino); border-radius: 1.25rem; padding: 0.6rem; }
.lne-paso picture img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 0.9rem; }
.lne-paso h3 { font-size: 1.5rem; margin: 0 0 0.2rem; display: flex; align-items: center; gap: 0.45rem; }
.lne-paso h3 img { width: 0.85rem; flex: none; }
.lne-paso p { margin: 0; font-size: var(--t-sm); color: var(--tinta-suave); }
.lne-medio { margin-top: 2.25rem; text-align: center; }
.lne-medio p { margin: 0.75rem auto 0; font-size: var(--t-sm); color: var(--tinta-suave); }

/* 4. La guía digital -------------------------------------------------------- */
.lne-guia { display: grid; gap: 2.5rem; align-items: center; }
.lne-guia__img { position: relative; max-width: 22rem; width: 100%; margin-inline: auto; }
.lne-guia__img picture img { width: 100%; border-radius: 1rem; box-shadow: 0 30px 60px -30px rgba(59, 45, 36, 0.6); transform: rotate(-2deg); }
.lne-guia__img .deco--acuarela { width: 80%; right: -22%; top: -10%; z-index: -1; }
.lne-guia__lead { font-family: var(--f-display); font-style: italic; font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem); line-height: 1.3; color: var(--damasco-osc); margin-bottom: 0.6rem; }
.lne-guia .checklist { margin: 1rem 0 1.5rem; }
.lne-guia__nota { display: inline-flex; gap: 0.6rem; align-items: center; background: var(--crema); border: 1px solid var(--oro); border-radius: 999px; padding: 0.55rem 1.1rem; font-size: var(--t-sm); }
.lne-guia__nota svg { width: 1.1rem; height: 1.1rem; color: var(--oro-osc); flex: none; }

/* Así se viven los encuentros ---------------------------------------------- */
.lne-encuentro { display: grid; gap: 1.75rem; align-items: center; }
.lne-encuentro figure { margin: 0; }
.lne-encuentro picture img { width: 100%; border-radius: 1rem; border: 6px solid var(--crema); box-shadow: var(--sombra); }
.lne-encuentro figcaption { font-size: var(--t-xs); color: var(--tinta-suave); margin-top: 0.6rem; text-align: center; }

/* 5. Cierre e inscripción --------------------------------------------------- */
.lne-cierre { text-align: center; }
.lne-cierre h2 { font-style: italic; color: var(--damasco-osc); }
.lne-cierre__intro { max-width: 38rem; margin: 0 auto 2.5rem; }
.lne-cierre__intro p { margin-inline: auto; color: var(--tinta-suave); }
.lne-cierre__intro .lne-cierre__firma { font-family: var(--f-display); font-size: 1.45rem; color: var(--tinta); }
.lne-ticket { max-width: 32rem; margin: 0 auto; padding: clamp(2rem, 6vw, 3rem) clamp(1.25rem, 5vw, 2.75rem); position: relative; z-index: 1; }
.lne-ticket .titulo-doble__main { font-size: clamp(2.8rem, 2rem + 3.5vw, 4rem); line-height: 1; }
.lne-ticket__precio { font-family: var(--f-display); font-weight: 600; font-size: clamp(2.6rem, 2.1rem + 2.5vw, 3.4rem); line-height: 1; margin: 0.4rem 0 0.25rem; color: var(--tinta); }
.lne-ticket__precio small { font-family: var(--f-body); font-size: var(--t-sm); font-weight: 500; color: var(--tinta-suave); }
.lne-ticket__valor { font-size: var(--t-sm); color: var(--tinta-suave); margin: 0 auto 1.25rem; }
.lne-ticket .giftcard__banda { background: var(--oliva); margin-bottom: 1rem; }
.lne-ticket__detalle { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 0.35rem; font-size: var(--t-sm); }
.lne-ticket__detalle li { display: inline-flex; justify-content: center; align-items: center; gap: 0.5rem; }
.lne-ticket__detalle svg { width: 1rem; height: 1rem; color: var(--oliva); }
.lne-ticket .btn { width: 100%; max-width: 20rem; }
.lne-ticket__nota { font-size: var(--t-xs); color: var(--tinta-suave); margin: 1rem auto 0; max-width: 24rem; }

.lne-footer { background: var(--cafe); color: #d9cbbb; text-align: center; padding: 2.5rem var(--gutter) calc(2.5rem + 4.75rem + env(safe-area-inset-bottom)); font-size: var(--t-sm); }
.lne-footer img { height: 3.2rem; width: auto; margin: 0 auto 0.75rem; }
.lne-footer p { margin: 0 auto 0.35rem; max-width: none; }
.lne-footer a { color: #fbf3ea; }

.lne .sticky-cta .btn { flex: 1; }
.lne .sticky-cta__precio { font-family: var(--f-display); font-size: 1.35rem; font-weight: 600; color: var(--tinta); white-space: nowrap; }

@media (prefers-reduced-motion: no-preference) {
  .lne-hero__inner > * { animation: aparecer 0.9s cubic-bezier(.2,.7,.2,1) both; }
  .lne-hero__inner > :nth-child(2) { animation-delay: 0.08s; }
  .lne-hero__inner > :nth-child(3) { animation-delay: 0.16s; }
  .lne-hero__inner > :nth-child(4) { animation-delay: 0.24s; }
  .lne-hero__inner > :nth-child(5) { animation-delay: 0.32s; }
  .lne-hero__inner > :nth-child(6) { animation-delay: 0.4s; }
}

@media (min-width: 40rem) {
  .lne-viviremos { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 62rem) {
  .lne-soltar { grid-template-columns: 0.95fr 1.05fr; gap: 4.5rem; }
  .lne-viviremos { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
  .lne-paso { grid-template-columns: 1fr; padding: 0.6rem 0.6rem 1.3rem; align-items: start; }
  .lne-paso picture img { aspect-ratio: 4 / 3; }
  .lne-paso > div { padding: 0.4rem 0.6rem 0; }
  .lne-guia { grid-template-columns: 0.85fr 1.15fr; gap: 5rem; }
  .lne-encuentro { grid-template-columns: 1.3fr 0.7fr; gap: 3rem; }
  .lne-footer { padding-bottom: 2.5rem; }
}

/* Ajustes: luna a la derecha del texto en escritorio; foto de la vela con esquinas simples en móvil */
.lne-soltar__img picture img { border-radius: 1.25rem; }
@media (min-width: 62rem) {
  .lne-hero__bg img { width: 145%; max-width: none; object-position: 0 32%; }
  .lne-soltar__img picture img { border-radius: 1.25rem 999px 999px 1.25rem; }
}

/* Facilitadoras en la portada --------------------------------------------- */
.lne-facilitan { margin-top: 1.5rem; }
.lne-facilitan .lne-facilitan__titulo { margin: 0 0 0.6rem; font-family: var(--f-caps); font-size: 0.75rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--damasco-claro); }
.lne-facilitan ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.9rem 1.5rem; }
.lne-facilitan li { display: flex; align-items: center; gap: 0.75rem; }
.lne-facilitan picture img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; border: 2px solid var(--damasco-claro); box-shadow: 0 8px 20px -10px rgba(0,0,0,.6); }
.lne-facilitan span { font-size: var(--t-sm); line-height: 1.3; color: #d9cbbb; }
.lne-facilitan strong { display: block; font-family: var(--f-display); font-size: 1.35rem; font-weight: 600; color: #fbf3ea; }

/* Encuentro: foto del taller + captura ------------------------------------- */
.lne-encuentro__principal { max-width: 22rem; width: 100%; margin-inline: auto; }
.lne-encuentro .lne-encuentro__principal picture img { border-radius: var(--arco); aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 62rem) { .lne-encuentro { grid-template-columns: 0.75fr 1.25fr; gap: 4rem; } }
@media (min-width: 62rem) {
  .lne-hero { padding-block: clamp(3rem, 8vh, 5.5rem) clamp(2.5rem, 6vh, 4rem); }
  .lne-hero__inner { max-width: 52rem; }
  .lne-hero [data-hero-cta] { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2.25rem; }
  .lne-hero .lne-facilitan { margin-top: 0; padding-left: 2.25rem; border-left: 1px solid rgba(242, 198, 168, 0.35); }
  .lne-hero .lne-facilitan .lne-facilitan__titulo { margin-bottom: 0.45rem; }
  .lne-facilitan picture img { width: 4rem; height: 4rem; }
}
@media (max-width: 61.99rem) {
  .lne-hero { padding-block: 2.25rem 2.5rem; min-height: 0; }
  .lne-hero__text { margin-bottom: 1.1rem; }
  .lne-datos { gap: 0.4rem; margin-bottom: 1.25rem; }
  .lne-datos li { padding: 0.35rem 0.7rem; font-size: var(--t-xs); }
  .lne-facilitan { margin-top: 1.1rem; }
  .lne-facilitan ul { flex-wrap: nowrap; gap: 1rem; }
  .lne-facilitan li { gap: 0.55rem; }
  .lne-facilitan picture img { width: 3.4rem; height: 3.4rem; }
  .lne-facilitan strong { font-size: 1.2rem; }
  .lne-facilitan span { font-size: var(--t-xs); }
}

/* Constelación de Escorpio en la portada ----------------------------------- */
.lne-constelacion { position: absolute; z-index: 0; pointer-events: none; top: 0.75rem; right: -1.5rem; width: 11rem; opacity: 0.45; }
.lne-hero > .container { position: relative; z-index: 1; }
.lne-constelacion__lineas line { stroke-dasharray: 120; stroke-dashoffset: 120; animation: trazar-linea 2.4s ease-out 0.4s forwards; }
.lne-constelacion__estrellas circle { animation: brillar 4s ease-in-out infinite alternate; }
.lne-constelacion__estrellas circle:nth-child(3n) { animation-delay: 1.3s; }
.lne-constelacion__estrellas circle:nth-child(3n+1) { animation-delay: 2.6s; }
@keyframes trazar-linea { to { stroke-dashoffset: 0; } }
@keyframes brillar { from { opacity: 1; } to { opacity: 0.55; } }
@media (prefers-reduced-motion: reduce) {
  .lne-constelacion__lineas line { animation: none; stroke-dashoffset: 0; }
  .lne-constelacion__estrellas circle { animation: none; }
}
@media (min-width: 62rem) {
  .lne-constelacion { top: 8%; right: max(2rem, calc(50% - 36rem)); width: clamp(17rem, 24vw, 23rem); opacity: 0.95; }
}
