/* Hedone Agency — la portada (2026-09-30, rediseño con la marca azul/rosa/celeste).
   Fondo blanco y celeste, azul en los acentos, rosa en los botones, titulares en Nunito Black. Móvil primero: se maqueta a
   390 px y se comprueba a 1440. Un solo botón por pantalla y siempre el mismo: «Postular».
   Los huecos de foto (.foto-hueco) se sustituyen por <picture> cuando haya fotos. */

.landing section[id], .landing header[id] { scroll-margin-top:84px; }
.landing .section { padding-top:72px; padding-bottom:24px; }
.landing .section.alt { background:#fff; border-top:0; border-bottom:0; max-width:none; padding-left:0; padding-right:0; }
.landing .section.alt > * { max-width:1280px; margin-left:auto; margin-right:auto; padding-left:28px; padding-right:28px; }
.landing .section-title p.lead { margin:14px auto 0; text-align:center; color:var(--text-2); }
.cta-repite { text-align:center; margin:38px 0 8px; }
@media (max-width:520px){ .landing .section{ padding-top:48px; } .landing .section.alt > * { padding-left:20px; padding-right:20px; } .cta-repite .btn { width:100%; justify-content:center; } }

/* Huecos de foto: mientras no haya fotos, un degradado de marca con la etiqueta del hueco */
.foto-hueco { position:relative; overflow:hidden; border-radius:22px; background:
  radial-gradient(120% 90% at 20% 10%, rgba(255,79,160,0.35) 0%, rgba(255,79,160,0) 55%),
  radial-gradient(110% 90% at 90% 90%, rgba(18,168,240,0.55) 0%, rgba(18,168,240,0) 55%),
  linear-gradient(160deg, #E8F6FE 0%, #BFE6FB 100%);
  border:1px solid var(--border); display:flex; align-items:flex-end; justify-content:flex-start; }
.foto-hueco::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(135deg, rgba(255,255,255,0.25) 0 2px, transparent 2px 14px); }
.foto-hueco span { position:relative; margin:14px; font-size:11px; font-weight:900; letter-spacing:0.16em; text-transform:uppercase; color:#fff; background:rgba(17,20,24,0.55); padding:6px 10px; border-radius:100px; }
.foto-hueco img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.foto-hueco picture { position:absolute; inset:0; }

/* Botón principal: píldora rosa, grande */
.btn-postular { background:var(--rosa); color:#fff; padding:18px 30px; font-size:14px; box-shadow:0 10px 30px rgba(255,79,160,0.35); }
.btn-postular:hover { background:var(--rosa-oscuro); transform:translateY(-2px); box-shadow:0 14px 36px rgba(255,79,160,0.45); }
.btn-postular .arrow { font-size:16px; }

/* ── 2. Hero ── */
.hero-h { position:relative; overflow:hidden; background:linear-gradient(180deg, #FFFFFF 0%, var(--celeste) 55%, #BFE6FB 100%); }
.hero-h::before { content:''; position:absolute; inset:-20% -10% auto -10%; height:120%; pointer-events:none; background:
  radial-gradient(50% 45% at 85% 25%, rgba(18,168,240,0.22) 0%, rgba(18,168,240,0) 60%),
  radial-gradient(45% 40% at 10% 80%, rgba(255,79,160,0.14) 0%, rgba(255,79,160,0) 60%); }
.hero-h .hero-in { position:relative; max-width:1280px; margin:0 auto; padding:64px 28px 72px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
.hero-h .kicker { margin-bottom:22px; }
.hero-h h1 { font-size:clamp(38px,5.4vw,74px); line-height:1.02; letter-spacing:-0.035em; margin-bottom:18px; max-width:15ch; }
.hero-h h1 em { color:var(--azul); }
.hero-h .sub { font-size:clamp(17px,1.5vw,21px); color:var(--text-2); max-width:52ch; line-height:1.6; margin-bottom:28px; }
.hero-h .sub strong { color:var(--text); font-weight:700; }
.hero-ctas { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.ticks { display:flex; gap:20px; flex-wrap:wrap; margin-top:26px; font-size:14.5px; color:var(--text-2); }
.ticks span::before { content:'✓'; color:var(--azul); font-weight:900; margin-right:8px; }
/* Las dos fotos inclinadas del hero, con el marco en degradado azul→rosa (como la referencia) */
.marco { position:relative; padding:6px; border-radius:26px; background:linear-gradient(135deg, var(--azul) 0%, var(--rosa) 100%); box-shadow:0 24px 60px rgba(18,168,240,0.22); }
.marco .foto-hueco { position:absolute; inset:6px; border-radius:20px; border:0; height:auto; aspect-ratio:auto; max-height:none; }
.hero-fotos { position:relative; height:560px; justify-self:end; width:100%; max-width:520px; }
.hero-fotos .marco { position:absolute; width:62%; aspect-ratio:3/4; }
.hero-fotos .marco-1 { right:0; top:0; transform:rotate(7deg); }
.hero-fotos .marco-2 { left:0; bottom:0; transform:rotate(-7deg); }
.marco-3 { transform:rotate(4deg); width:min(100%, 440px); margin:20px auto; aspect-ratio:4/5; }
@media (max-width:900px){ .hero-h .hero-in { grid-template-columns:1fr; gap:28px; padding:36px 20px 28px; } .hero-fotos { justify-self:center; max-width:420px; height:520px; } .hero-h h1 { max-width:none; } }
@media (max-width:520px){ .hero-h .hero-in { padding-top:22px; } .hero-fotos { height:440px; max-width:340px; } .hero-ctas .btn { width:100%; justify-content:center; } .ticks { gap:10px 16px; font-size:13.5px; } .marco-3 { max-width:320px; } }

/* ── 3. Qué hacemos: tres servicios con foto ── */
.servicios { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
@media (max-width:960px){ .servicios{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; } }
.servicio { background:#FFF2F8; border:1px solid rgba(255,79,160,0.15); box-shadow:0 10px 30px rgba(18,168,240,0.08); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, border-color .25s ease; }
.servicio:hover { transform:translateY(-4px); border-color:rgba(18,168,240,0.5); }
.servicio .foto-hueco { border-radius:0; border:0; aspect-ratio:16/10; }
.servicio-body { padding:24px 24px 28px; }
.servicio .n { display:inline-block; font-size:11px; font-weight:900; letter-spacing:0.18em; text-transform:uppercase; color:var(--rosa); margin-bottom:10px; }
.servicio h3 { font-size:22px; margin-bottom:10px; }
.servicio p { font-size:15.5px; color:var(--text-2); line-height:1.6; }

/* ── 4. Cómo trabajamos: cuatro pasos ── */
.pasos { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; counter-reset:paso; }
@media (max-width:1000px){ .pasos{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .pasos{ grid-template-columns:1fr; } }
.paso { background:var(--celeste); border:1px solid rgba(18,168,240,0.18); border-radius:20px; padding:28px 24px; position:relative; display:flex; flex-direction:column; }
.paso:nth-child(even) { background:#FFF2F8; border-color:rgba(255,79,160,0.18); }
.paso .n { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--azul); color:#fff; font-weight:900; font-size:18px; margin-bottom:16px; }
.paso h3 { font-size:20px; margin-bottom:8px; }
.paso p { font-size:15.5px; color:var(--text-2); line-height:1.6; }
.paso .tiempo { display:block; margin-top:auto; padding-top:16px; font-size:12px; font-weight:900; letter-spacing:0.12em; text-transform:uppercase; color:var(--azul-oscuro); }

/* ── 4b. La franja a todo lo ancho (como «Eleva tu vida» en la referencia): foto panorámica con el
   titular y el logo en blanco sobre el cielo ── */
.franja { position:relative; overflow:hidden; min-height:clamp(420px, 56vw, 760px); display:flex; align-items:flex-start; justify-content:center; text-align:center; color:#fff; background:var(--celeste); }
.franja-foto { position:absolute; inset:0; }
.franja-foto picture { display:block; position:absolute; inset:0; }
.franja-foto img { width:100%; height:100%; object-fit:cover; object-position:center 70%; display:block; }
.franja::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(17,20,24,0.28) 0%, rgba(17,20,24,0.10) 40%, rgba(17,20,24,0) 70%); pointer-events:none; }
.franja-texto { position:relative; padding:64px 28px 0; max-width:900px; }
.franja .kicker { color:#fff; justify-content:center; margin-bottom:16px; text-shadow:0 1px 6px rgba(0,0,0,0.35); } .franja .kicker::before { background:#fff; }
.franja h2 { color:#fff; font-size:clamp(40px,6.5vw,92px); line-height:1; letter-spacing:-0.03em; text-shadow:0 4px 24px rgba(0,0,0,0.35); }
.franja h2 em { color:#fff; }
.franja p { margin-top:14px; font-size:clamp(17px,1.6vw,22px); font-weight:700; text-shadow:0 2px 12px rgba(0,0,0,0.4); }
.franja-logo { width:clamp(170px, 18vw, 260px); height:auto; margin:22px auto 0; filter:drop-shadow(0 2px 10px rgba(0,0,0,0.35)); }
@media (max-width:520px){ .franja { min-height:520px; } .franja-texto { padding-top:40px; } .franja-foto img { object-position:center 85%; } }

/* ── 5. Sobre nosotros ── */
.nosotros { display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:center; margin-top:40px; }
@media (max-width:900px){ .nosotros{ grid-template-columns:1fr; gap:28px; } }
.nosotros .foto-hueco { aspect-ratio:4/5; max-height:560px; }
.nosotros h2 { font-size:clamp(30px,4vw,50px); margin-bottom:18px; }
.nosotros p { font-size:17px; color:var(--text-2); line-height:1.7; margin-bottom:14px; }
.nosotros p strong { color:var(--text); }
.nosotros .puntos { list-style:none; margin:22px 0 28px; display:grid; gap:12px; }
.nosotros .puntos li { display:flex; gap:12px; align-items:flex-start; font-size:16px; }
.nosotros .puntos li::before { content:'✓'; flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--celeste); color:var(--azul-oscuro); display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:13px; margin-top:1px; }

/* ── 6. Opiniones (oculta hasta que haya opiniones reales) ── */
.testimonios { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
@media (max-width:900px){ .testimonios{ grid-template-columns:1fr; } }
.testimonio { background:#fff; border:1px solid var(--border); border-radius:20px; padding:26px; position:relative; }
.testimonio::before { content:'“'; position:absolute; top:10px; right:20px; font-size:64px; line-height:1; color:var(--azul); opacity:0.4; font-weight:900; }
.testimonio blockquote { font-size:18px; line-height:1.45; font-weight:600; margin-bottom:14px; }
.testimonio .quien-dice { font-size:14px; color:var(--text-2); }
.testimonio .captura { margin-top:14px; border-radius:10px; overflow:hidden; filter:blur(3px); }

/* ── 7. Preguntas ── */
.landing .faq { max-width:820px; }
.landing .faq-item { border-bottom:0; }
.landing .faq-item summary { padding:16px 40px 16px 0; font-size:18px; }
.landing .faq-item[open] p { border:2px solid var(--azul); border-radius:16px; padding:18px 22px; margin:0 0 18px; max-width:none; }

/* ── 8. Llamada final ── */
.cierre { max-width:1180px; margin:40px auto 0; padding:0 28px; }
.cierre-in { position:relative; overflow:hidden; border-radius:26px; padding:64px 40px; text-align:center; color:#fff; background:linear-gradient(135deg, var(--azul) 0%, var(--azul-oscuro) 100%); }
.cierre-in::before { content:''; position:absolute; inset:0; background:radial-gradient(60% 80% at 80% 0%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 70%); pointer-events:none; }
.cierre-in > * { position:relative; }
.cierre-in .kicker { justify-content:center; margin-bottom:18px; color:#fff; } .cierre-in .kicker::before { background:#fff; }
.cierre-in h2 { font-size:clamp(32px,4.6vw,60px); margin-bottom:16px; color:#fff; }
.cierre-in h2 em { color:var(--celeste); }
.cierre-in p { font-size:clamp(16px,1.5vw,19px); color:rgba(255,255,255,0.88); max-width:56ch; margin:0 auto 28px; }
@media (max-width:520px){ .cierre{ padding:0 20px; margin-top:40px; } .cierre-in{ padding:44px 22px; } .cierre-in .btn{ width:100%; justify-content:center; } }

/* ── 9. Blog: tres artículos de la escuela, sobre una banda celeste muy clara ── */
.landing #blog { background:var(--celeste-2); max-width:none; padding-left:0; padding-right:0; padding-bottom:64px; margin-top:60px; }
.landing #blog > * { max-width:1280px; margin-left:auto; margin-right:auto; padding-left:28px; padding-right:28px; }
@media (max-width:520px){ .landing #blog > * { padding-left:20px; padding-right:20px; } }
.blog-tres { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
@media (max-width:960px){ .blog-tres{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; } }
.articulo { background:#fff; border:0; box-shadow:0 10px 30px rgba(18,168,240,0.10); border-radius:20px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, border-color .25s ease; }
.articulo:hover { transform:translateY(-4px); border-color:rgba(18,168,240,0.5); }
.articulo .portada { aspect-ratio:16/9; display:flex; align-items:flex-end; padding:20px; position:relative; overflow:hidden; background:linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 100%); }
.articulo .portada picture { position:absolute; inset:0; } .articulo .portada img { width:100%; height:100%; object-fit:cover; display:block; }
.articulo .portada span { position:relative; }
.articulo .portada span { font-size:11px; font-weight:900; letter-spacing:0.16em; text-transform:uppercase; color:var(--azul-oscuro); background:#fff; padding:6px 10px; border-radius:100px; }
.articulo-body { padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.articulo h3 { font-size:20px; line-height:1.25; margin-bottom:10px; }
.articulo p { font-size:15px; color:var(--text-2); line-height:1.6; flex:1; }
.articulo .leer { margin-top:16px; font-weight:900; font-size:14px; color:var(--azul-oscuro); }
.blog-mas { text-align:center; margin-top:26px; font-size:15px; }
.blog-mas a { color:var(--azul-oscuro); font-weight:900; }
