/* ============================================================
   Stella Viajes — hoja de estilos compartida
   ============================================================ */

:root {
  --coral: #E75C46;
  --coral-dark: #C94A36;
  --teal: #156F6B;
  --teal-dark: #0E5450;
  --cream: #FBF6EF;
  --ink: #2B2622;
  --teal-mist: #EAF2EF;
  --paper-bg: #F8F3EA;
  --lessons-bg: #F1EADC;
  --instagram-bg: #E9E1D3;
  --method-mist: #E4F1ED;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif;
  background: var(--cream);
  color: var(--ink);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: var(--teal); text-decoration: none; }
a:hover { color: var(--coral); }
img { max-width: 100%; display: block; }
h1, h2, h3 {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-optical-sizing: auto;
  margin: 0;
  color: var(--teal-dark);
  text-wrap: pretty;
  letter-spacing: -0.01em;
}
section { position: relative; }

.wrap { max-width: 1220px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 60px); }
.wrap-narrow { max-width: 880px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 60px); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 16px 32px; border-radius: 999px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size:16px;
  text-decoration: none; white-space: nowrap; border: 1.5px solid transparent;
  transition: transform .15s ease; cursor: pointer;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--coral); color: #fff; box-shadow: 0 14px 30px -12px rgba(201,74,54,.55); }
.btn-primary:hover { background: var(--coral-dark); color: #fff; }
.btn-ghost { border-color: rgba(43,38,34,.25); color: var(--teal-dark); background: transparent; }
.btn-ghost:hover { color: var(--coral); border-color: var(--coral); }
.btn-on-teal { background: #fff; color: var(--teal-dark); }
.btn-on-teal:hover { background: var(--coral); color: #fff; }
.btn-teal { background: var(--teal-dark); color: #fff; box-shadow: 0 14px 30px -14px rgba(14,84,80,.5); }
.btn-teal:hover { background: var(--teal); color: #fff; }
.btn-block { width: 100%; justify-content: center; }

.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; font-size:13.5px; color: var(--coral-dark);
}
.eyebrow::before { content:''; width:16px; height:1.5px; background: var(--coral-dark); display:inline-block; }
.eyebrow-light { color: #f4cabb; }
.eyebrow-light::before { background: #f4cabb; }

.card {
  background: #fff; border-radius: 22px; padding: clamp(26px,3vw,34px);
  box-shadow: 0 24px 60px -34px rgba(24,42,40,.28);
}
.icon-badge {
  width: 50px; height: 50px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; flex: none;
}
.icon-badge svg { width: 23px; height: 23px; }
.icon-badge-img { width: 64px; height: 64px; flex: none; }
.icon-badge-img img { width:100%; height:100%; object-fit:contain; display:block; }

.feature-grid { position: relative; }
.feature-grid-trail {
  position:absolute; left:16.6%; right:16.6%; top:63px; height:0;
  border-top: 1.5px dashed rgba(21,111,107,.28);
  pointer-events:none;
}
.feature-grid-trail span {
  position:absolute; top:-3.5px; width:7px; height:7px; border-radius:50%; background: var(--coral);
  transform: translateX(-50%);
}
.feature-grid .card { position:relative; z-index:1; }
.feature-grid .card.stagger-up { transform: translateY(-16px); }
.feature-grid .card.stagger-down { transform: translateY(16px); }
@media (max-width:860px) {
  .feature-grid-trail { display:none; }
  .feature-grid .card.stagger-up, .feature-grid .card.stagger-down { transform:none; }
}

/* ---------- Diseñamos tu Camino contigo (banda de enfoque) ---------- */
.approach-strip {
  position: relative;
  padding: clamp(64px,9vw,120px) 0;
  background: var(--teal-mist);
}
.approach-strip::before {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23156F6B' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23156F6B' stroke-width='1.4' fill='none'/%3E%3Cpath d='M-20,240 C60,200 140,280 220,240 C300,200 380,280 460,240' stroke='%23156F6B' stroke-width='1.5' fill='none'/%3E%3Cpath d='M-20,330 C70,370 150,290 230,330 C310,370 390,290 470,330' stroke='%23156F6B' stroke-width='1.3' fill='none'/%3E%3C/svg%3E");
  background-size: 420px 420px;
}
.approach-strip > .wrap { position:relative; z-index:1; }
.approach-grid { display:grid; align-items:center; column-gap: clamp(60px,6vw,90px); row-gap: clamp(48px,6vw,72px); }
.approach-title-col { max-width: 420px; }
.approach-title-col h2 { font-size: clamp(26px,2.8vw,32px); line-height:1.18; max-width:400px; }
.approach-accent {
  display:block; width:52px; height:3px; border-radius:2px; background: var(--coral);
  margin-top: 22px;
}
.approach-benefits { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(35px,4vw,55px); }
.approach-icon { width: clamp(64px,6vw,78px); height: clamp(64px,6vw,78px); object-fit:contain; display:block; }
.approach-item h3 {
  font-weight:600; font-size: clamp(20px,1.4vw,24px); color: var(--teal-dark);
  line-height:1.2; margin: 16px 0 0;
}
.approach-item p {
  margin: 9px 0 0; max-width:260px;
  font-size: clamp(16px,1vw,18px); line-height:1.55; color: rgba(14,84,80,.78);
}
@media (prefers-reduced-motion: no-preference) {
  .approach-grid { animation: hero-fade-up .7s ease-out both; }
}
@media (max-width:860px) {
  .approach-benefits { grid-template-columns: 1fr; }
  .approach-item { display:flex; gap:16px; align-items:flex-start; }
  .approach-item-text { flex:1; min-width:0; }
  .approach-item h3 { margin-top:4px; }
  .approach-item p { max-width:none; }
}

/* ---------- Quiénes somos (teaser de Inicio) ---------- */
.who-teaser-strip { position:relative; padding: clamp(56px,8vw,100px) 0; }
.who-teaser-strip::before {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.03;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23156F6B' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23156F6B' stroke-width='1.4' fill='none'/%3E%3Cpath d='M-20,240 C60,200 140,280 220,240 C300,200 380,280 460,240' stroke='%23156F6B' stroke-width='1.5' fill='none'/%3E%3Cpath d='M-20,330 C70,370 150,290 230,330 C310,370 390,290 470,330' stroke='%23156F6B' stroke-width='1.3' fill='none'/%3E%3C/svg%3E");
  background-size: 420px 420px;
}
.who-teaser-strip > .wrap { position:relative; z-index:1; }

.who-teaser-photo-frame {
  position: relative;
  max-width: 460px;
  background: var(--cream);
  padding: 16px 16px 20px;
  border-radius: 4px;
  box-shadow: 0 26px 55px -22px rgba(24,42,40,.35), 0 6px 16px rgba(24,42,40,.12);
  transform: rotate(-1.6deg);
}
.who-teaser-photo {
  display:block; width:100%; height:auto;
  aspect-ratio: 3 / 4; object-fit: cover;
  border-radius: 2px;
}
.who-teaser-tape {
  position:absolute; top:-13px; width:62px; height:24px;
  background: rgba(216,198,160,.55);
  box-shadow: 0 2px 5px rgba(24,20,10,.12);
  pointer-events:none;
}
.who-teaser-tape-left { left: 30px; transform: rotate(-7deg); }
.who-teaser-tape-right { right: 30px; transform: rotate(6deg); }
.who-teaser-shell {
  position:absolute; right:-20px; bottom:-22px; width:84px; height:auto;
  pointer-events:none;
  filter: drop-shadow(0 8px 12px rgba(24,20,10,.16));
}
.who-teaser-content { position:relative; }
.who-teaser-text { position:relative; z-index:1; }
.who-teaser-route {
  display:block; pointer-events:none;
  margin: 48px 0 0 auto;
  width: clamp(320px,40vw,480px); height:auto;
}
.who-teaser-eyebrow {
  display:inline-flex; align-items:center;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; font-size:13.5px; color: var(--teal-dark);
}
.who-teaser-accent {
  display:block; width:46px; height:3px; border-radius:2px; background:var(--coral);
  margin: 14px 0 22px;
}
.who-teaser-content h2 { font-size: clamp(28px,3.3vw,38px); line-height:1.16; max-width:520px; }
.who-teaser-content p { margin:20px 0 0; color: rgba(14,84,80,.78); font-size:17.5px; line-height:1.6; max-width:520px; }
.who-teaser-btn { border: 1.5px solid var(--coral); color: var(--teal-dark); background: transparent; }
.who-teaser-btn svg { width:16px; height:16px; transition: transform .2s ease; }
.who-teaser-btn:hover { background: var(--coral); color:#fff; }
.who-teaser-btn:hover svg { transform: translateX(3px); }
@media (prefers-reduced-motion: no-preference) {
  .who-teaser-grid { animation: hero-fade-up .7s ease-out both; }
}
@media (max-width:860px) {
  .who-teaser-photo-frame { max-width:none; transform: rotate(-0.8deg); }
  .who-teaser-shell { width:64px; right:6px; bottom:-16px; }
  .who-teaser-route { display:none; }
}

/* ---------- Lo que el Camino nos enseñó (post-its) ---------- */
.lessons-strip { position:relative; padding: clamp(64px,8vw,96px) 0; background: var(--lessons-bg); }
.lessons-torn { position:absolute; top:0; left:0; width:100%; height:24px; display:block; filter: drop-shadow(0 3px 4px rgba(0,0,0,.10)); pointer-events:none; z-index:2; }
.lessons-strip::before {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23156F6B' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23156F6B' stroke-width='1.4' fill='none'/%3E%3Cpath d='M-20,240 C60,200 140,280 220,240 C300,200 380,280 460,240' stroke='%23156F6B' stroke-width='1.5' fill='none'/%3E%3Cpath d='M-20,330 C70,370 150,290 230,330 C310,370 390,290 470,330' stroke='%23156F6B' stroke-width='1.3' fill='none'/%3E%3C/svg%3E");
  background-size: 420px 420px;
}
.lessons-strip > .wrap { position:relative; z-index:1; }
.lessons-layout { display:block; }
.lessons-title-col { max-width:620px; margin:0 auto clamp(44px,5.5vw,64px); text-align:center; }
.lessons-accent { display:block; width:50px; height:3px; border-radius:2px; background:var(--coral); margin:0 auto 20px; }
.lessons-title-col h2 { font-size: clamp(34px,3.6vw,48px); line-height:1.14; }
.lessons-title-col p { margin:16px auto 0; max-width:440px; font-size:17.5px; line-height:1.55; color: rgba(14,84,80,.78); }
.lessons-postits { position:relative; display:flex; justify-content:center; gap: clamp(16px,2vw,26px); align-items:flex-start; }
.lessons-route { position:absolute; left:0; right:0; top:40px; width:100%; height:auto; pointer-events:none; z-index:0; }
.lessons-route-start, .lessons-route-end { position:absolute; top:34px; width:22px; height:22px; pointer-events:none; z-index:2; }
.lessons-route-start { left:-30px; }
.lessons-route-end { right:-30px; }
.lessons-vline-star, .lessons-vline-arrow { display:none; }
.lesson-postit { position:relative; z-index:1; flex:1 1 0; max-width:290px; min-width:245px; }
.lesson-postit-img { display:block; width:100%; height:auto; object-fit:contain; }
.lesson-postit-text { position:absolute; left:15%; right:15%; top:37%; bottom:9%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.lesson-postit-text h3 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size: clamp(15px,0.95vw,18px); line-height:1.25; color: var(--teal-dark); margin:0 0 8px; }
.lesson-postit-text p { margin:0; font-size: clamp(15px,0.9vw,17px); line-height:1.45; color: rgba(14,84,80,.78); }
@media (prefers-reduced-motion: no-preference) {
  .lessons-postits { animation: hero-fade-up .7s ease-out both; }
}
@media (max-width:1099px) and (min-width:861px) {
  .lessons-route, .lessons-route-start, .lessons-route-end { display:none; }
  .lessons-postits {
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 32px clamp(20px,3vw,40px); justify-items:center;
  }
  .lesson-postit { flex:none; width:100%; max-width:320px; min-width:0; }
}
@media (max-width:860px) {
  .lessons-title-col p { max-width:420px; }
  .lessons-route, .lessons-route-start, .lessons-route-end { display:none; }
  .lessons-postits {
    flex-direction:column; align-items:center; gap:32px;
    padding-left:26px;
  }
  .lessons-postits::before {
    content:""; position:absolute; left:2px; top:14px; bottom:14px; width:0;
    border-left: 2px dashed var(--teal); z-index:0;
  }
  .lesson-postit { width:86%; max-width:400px; }
  .lessons-vline-star, .lessons-vline-arrow {
    display:block; position:absolute; left:2px; transform:translateX(-50%);
    z-index:1; pointer-events:none;
  }
  .lessons-vline-star { top:-6px; width:18px; height:18px; color: var(--coral); }
  .lessons-vline-arrow { bottom:-8px; width:20px; height:20px; color:#F2AA1F; }
}

/* ---------- Desde Instagram (Sobre Nosotras) ---------- */
.instagram-strip { position:relative; background: var(--instagram-bg); padding: clamp(28px,4vw,44px) 0; }
.instagram-torn { position:absolute; top:0; left:0; width:100%; height:24px; display:block; filter: drop-shadow(0 3px 4px rgba(0,0,0,.08)); pointer-events:none; z-index:2; }
.instagram-layout { display:grid; grid-template-columns: minmax(280px,0.8fr) minmax(340px,1.2fr); gap: clamp(40px,6vw,72px); align-items:center; }
.instagram-content { max-width:440px; }
.instagram-content h2 { font-size: clamp(28px,3vw,36px); line-height:1.18; margin:16px 0 0; }
.instagram-content p { margin:18px 0 0; font-size:17px; line-height:1.7; color:#4a453d; max-width:420px; }
.instagram-handle { display:block; margin-top:18px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:15px; color: var(--teal-dark); opacity:.8; text-decoration:none; }
.instagram-handle:hover { color: var(--coral); }
.instagram-follow-btn { margin-top:26px; }
.instagram-follow-btn img { display:block; width:20px; height:20px; object-fit:contain; pointer-events:none; }
.instagram-collage { position:relative; width:100%; max-width:640px; aspect-ratio: 1 / 0.78; margin:0 auto; }
.instagram-route { position:absolute; left:6%; top:4.5%; width:88%; height:auto; object-fit:contain; pointer-events:none; z-index:0; }
.instagram-star { position:absolute; top:24%; right:1%; width:32px; height:32px; object-fit:contain; pointer-events:none; z-index:4; }
.instagram-polaroid {
  position:absolute; width:36%; display:block;
  background:#fffdf9; padding: 9px 9px 20px; border-radius:3px;
  box-shadow: 0 20px 38px -18px rgba(30,26,20,.35), 0 4px 10px -4px rgba(30,26,20,.16);
}
.instagram-polaroid > img:first-child { display:block; width:100%; height:auto; aspect-ratio: 760/965; object-fit:cover; border-radius:1px; }
.instagram-polaroid-1 { left:1%; top:32%; transform:rotate(-4deg); z-index:1; }
.instagram-polaroid-2 { left:32%; top:18%; transform:rotate(1deg); z-index:3; }
.instagram-polaroid-3 { left:61%; top:34%; transform:rotate(4deg); z-index:2; }
.instagram-polaroid img.instagram-tape { position:absolute; top:-14px; width:64px; height:auto; aspect-ratio:auto; pointer-events:none; z-index:4; object-fit:contain; }
.instagram-polaroid-1 .instagram-tape { left:8%; transform:rotate(-8deg); }
.instagram-polaroid-3 .instagram-tape { right:8%; transform:rotate(9deg); }
@media (max-width:1099px) and (min-width:861px) {
  .instagram-layout { grid-template-columns: minmax(260px,0.85fr) minmax(300px,1.15fr); gap: clamp(32px,5vw,52px); }
  .instagram-content { max-width:360px; }
  .instagram-polaroid { width:35%; }
  .instagram-polaroid-1 { left:0%; top:32%; }
  .instagram-polaroid-2 { left:31%; top:19%; }
  .instagram-polaroid-3 { left:60%; top:34%; }
}
@media (max-width:860px) {
  .instagram-strip { padding: clamp(24px,4vw,32px) 0; }
  .instagram-layout { grid-template-columns:1fr; gap:32px; }
  .instagram-content { order:1; max-width:none; text-align:left; }
  .instagram-content p { max-width:none; }
  .instagram-collage { order:2; max-width:320px; aspect-ratio: 1 / 0.86; }
  .instagram-route { left:8%; top:5%; width:84%; }
  .instagram-polaroid { width:34%; }
  .instagram-polaroid-1 { left:0%; top:30%; transform:rotate(-2deg); }
  .instagram-polaroid-2 { left:32%; top:17%; transform:rotate(1deg); }
  .instagram-polaroid-3 { left:63%; top:32%; transform:rotate(2deg); }
  .instagram-star { top:20%; right:0%; width:26px; height:26px; }
  .instagram-polaroid img.instagram-tape { width:52px; }
}

/* ---------- ¿Es para ti? (nota de papel + checklist) ---------- */
.fit-strip { position:relative; padding: clamp(64px,9vw,110px) 0; background: var(--paper-bg); overflow:hidden; }
.fit-strip::before {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.03;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23156F6B' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23156F6B' stroke-width='1.4' fill='none'/%3E%3Cpath d='M-20,240 C60,200 140,280 220,240 C300,200 380,280 460,240' stroke='%23156F6B' stroke-width='1.5' fill='none'/%3E%3Cpath d='M-20,330 C70,370 150,290 230,330 C310,370 390,290 470,330' stroke='%23156F6B' stroke-width='1.3' fill='none'/%3E%3C/svg%3E");
  background-size: 420px 420px;
}
.fit-strip > .wrap { position:relative; z-index:1; }
.fit-footprint {
  position:absolute; right:-10px; bottom:-6%; width: clamp(120px,11vw,170px); height:auto;
  opacity:.45; pointer-events:none; z-index:0;
}
.fit-layout { display:grid; grid-template-columns: minmax(260px,0.9fr) minmax(0,1.75fr); gap: clamp(40px,5vw,72px); align-items:center; }
.fit-paper { position:relative; max-width:290px; margin:0 auto; transform: rotate(-4deg); }
.fit-paper-bg { display:block; width:100%; height:auto; }
.fit-paper-content { position:absolute; left:14%; right:12%; top:15%; }
.fit-eyebrow { font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:16px; color: var(--teal-dark); margin-bottom:12px; }
.fit-paper-content h2 { font-size: clamp(28px,3.7vw,40px); line-height:1.32; margin:0; }
.fit-accent { display:block; width:46px; height:3px; border-radius:2px; background:var(--coral); margin-top:18px; }
.fit-shell { position:absolute; right:2%; bottom:-3%; width:23%; height:auto; pointer-events:none; }
.fit-list { display:flex; flex-direction:column; justify-content:center; gap: clamp(22px,2.6vw,32px); }
.fit-item { display:flex; gap:16px; align-items:flex-start; }
.fit-check {
  flex:none; width:28px; height:28px; border-radius:50%; background:var(--teal-dark);
  color:#fff; display:flex; align-items:center; justify-content:center; padding:5px; margin-top:1px;
}
.fit-check svg { display:block; width:16px; height:16px; stroke-width: 3.4; }
.fit-item p { margin:0; font-size:17.5px; line-height:1.6; color: var(--ink); }
@media (prefers-reduced-motion: no-preference) {
  .fit-layout { animation: hero-fade-up .7s ease-out both; }
}
@media (max-width:860px) {
  .fit-layout { grid-template-columns: 1fr; gap:40px; }
  .fit-paper { max-width:250px; }
  .fit-footprint { width:110px; opacity:.35; bottom:-4%; right:-14px; }
}

/* ---------- Asesoría (banda verde con collage de viaje) ---------- */
.advisory-strip {
  position:relative;
  background: linear-gradient(135deg, #0B5851 0%, var(--teal-dark) 55%, #0A5450 100%);
  padding: clamp(95px,10vw,120px) 0 clamp(85px,9vw,110px);
  overflow:hidden;
}
.advisory-torn {
  position:absolute; top:0; left:0; width:100%; height:24px; display:block;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.14));
  pointer-events:none; z-index:2;
}
.advisory-strip::before {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23FBF6EF' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23FBF6EF' stroke-width='1.4' fill='none'/%3E%3Cpath d='M-20,240 C60,200 140,280 220,240 C300,200 380,280 460,240' stroke='%23FBF6EF' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23FBF6EF' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23FBF6EF' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: -80px -60px, calc(100% + 80px) calc(100% + 60px);
  background-size: 420px 420px, 380px 380px;
}
.advisory-strip > .wrap { position:relative; z-index:1; }
.advisory-layout {
  display:grid; grid-template-columns: minmax(320px,0.95fr) minmax(340px,1.05fr);
  gap: clamp(48px,6vw,80px); align-items:center;
}
.advisory-content { max-width:560px; }
.advisory-content h2 {
  color: var(--cream); font-size: clamp(34px,3.6vw,53px); line-height:1.1;
}
.advisory-content p {
  margin: 26px 0 0; color: rgba(251,246,239,.82);
  font-size: clamp(17px,1.1vw,19px); line-height:1.6; max-width:520px;
}
.advisory-content .btn { margin-top: 30px; }
.advisory-btn svg { width:16px; height:16px; transition: transform .2s ease; }
.advisory-btn:hover svg { transform: translateX(3px); }
.advisory-btn:focus-visible { outline: 2px solid var(--cream); outline-offset:3px; }
.advisory-visual { position:relative; display:flex; justify-content:flex-end; }
.advisory-collage {
  display:block; width: clamp(420px,46vw,640px); max-width:100%; height:auto;
  object-fit:contain; pointer-events:none;
}
.advisory-floral {
  position:absolute; right:-4%; top:6%; width: clamp(150px,13vw,190px); height:auto;
  object-fit:contain; pointer-events:none;
}
@media (prefers-reduced-motion: no-preference) {
  .advisory-layout { animation: hero-fade-up .7s ease-out both; }
}
@media (max-width:860px) {
  .advisory-strip { padding: clamp(75px,11vw,95px) 0 clamp(65px,9vw,85px); }
  .advisory-layout { grid-template-columns: 1fr; gap:40px; }
  .advisory-content { max-width:100%; }
  .advisory-content h2 { font-size: clamp(39px,9vw,47px); line-height:1.1; }
  .advisory-visual { justify-content:center; }
  .advisory-collage { width: min(112%,480px); margin:0 auto; }
  .advisory-floral { display:none; }
}

/* ---------- Cierre final (foto Obradoiro + overlay verde) ---------- */
.closing-strip {
  position:relative; overflow:hidden;
  min-height: clamp(580px,60vh,700px);
  display:flex; align-items:center; justify-content:center;
}
.closing-torn {
  position:absolute; top:0; left:0; width:100%; height:24px; display:block;
  z-index:2; pointer-events:none;
}
.closing-bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position: center 38%; pointer-events:none; z-index:0;
}
.closing-overlay {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 72% 62% at 50% 54%, rgba(3,49,47,.38) 0%, rgba(3,49,47,.16) 55%, rgba(3,49,47,0) 100%),
    linear-gradient(rgba(4,66,62,.48), rgba(4,66,62,.48));
}
.closing-strip > .wrap.closing-content {
  position:relative; z-index:2;
  text-align:center; max-width:900px; margin:0 auto;
  padding: clamp(60px,9vw,96px) clamp(20px,4vw,60px);
}
.closing-star {
  display:block; margin:0 auto 22px; width:36px; height:36px;
  object-fit:contain; pointer-events:none;
}
.closing-content h2 {
  color: var(--cream); font-weight:500; font-size: clamp(34px,4.4vw,58px);
  line-height:1.1; text-shadow: 0 2px 20px rgba(0,0,0,.28);
}
.closing-content h2 em { font-style:italic; }
.closing-content p {
  margin: 26px auto 0; max-width:620px; color: var(--cream); opacity:.92;
  font-size: clamp(17px,1.1vw,19px); line-height:1.58;
  text-shadow: 0 1px 12px rgba(0,0,0,.22);
}
.closing-content .btn { margin-top:31px; }
.closing-btn svg { width:16px; height:16px; transition: transform .2s ease; }
.closing-btn:hover svg { transform: translateX(3px); }
.closing-route {
  display:block; margin: 32px auto 0; width:230px; height:auto;
  object-fit:contain; pointer-events:none;
}
@media (prefers-reduced-motion: no-preference) {
  .closing-content { animation: hero-fade-up .7s ease-out both; }
}
@media (max-width:680px) {
  .closing-strip { min-height: clamp(620px,88vh,760px); }
  .closing-bg { object-position: center 26%; }
  .closing-overlay {
    background:
      radial-gradient(ellipse 82% 68% at 50% 50%, rgba(3,49,47,.42) 0%, rgba(3,49,47,.18) 55%, rgba(3,49,47,0) 100%),
      linear-gradient(rgba(4,66,62,.56), rgba(4,66,62,.56));
  }
  .closing-content h2 { font-size: clamp(36px,9vw,45px); line-height:1.14; }
  .closing-star { width:30px; height:30px; margin-bottom:20px; }
  .closing-content p { font-size: clamp(16px,4vw,18px); }
  .closing-route { width:180px; margin-top:28px; }
}

/* ---------- Grids ---------- */
.teal-grid { grid-template-columns: minmax(260px,1.15fr) minmax(200px,0.85fr); }
.who-grid { grid-template-columns: minmax(260px,0.85fr) minmax(300px,1.15fr); }
.who-teaser-grid { grid-template-columns: minmax(260px,0.9fr) minmax(300px,1.1fr); }
.feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.approach-grid { grid-template-columns: minmax(240px,0.86fr) minmax(0,2fr); }
.stat-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.level-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.two-col { grid-template-columns: minmax(260px,1fr) minmax(260px,1fr); }
.testi-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.method-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.lessons-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

@media (max-width: 860px) {
  .teal-grid, .who-grid, .who-teaser-grid, .level-grid, .two-col, .lessons-grid, .approach-grid { grid-template-columns: 1fr; }
  .feature-grid, .testi-grid { grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }
  .stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .method-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .who-sticky { position: static; top: auto; }
  .who-teaser-grid > div:first-child { order: -1; }
}
@media (max-width: 480px) {
  .method-grid { grid-template-columns: 1fr; }
}
/* ---------- Header / Footer ---------- */
header.site-header {
  position: sticky; top: 0; z-index: 20;
  background: rgba(251,246,239,.92); backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(21,111,107,.10);
}
header.site-header .wrap {
  position: relative;
  display:flex; align-items:center; justify-content:space-between; gap: 24px;
  padding-top: 6px; padding-bottom: 6px;
}
header.site-header .logo-link { display:flex; align-items:center; flex:none; }
header.site-header img.logo { height: 100px; width: auto; }
header.site-header nav {
  display:flex; align-items:center; gap: clamp(12px, 1.3vw, 22px);
  font-size:15.5px; font-weight: 600; color: var(--teal-dark); flex-wrap: wrap;
}
.nav-links { display:flex; align-items:center; gap: clamp(12px, 1.3vw, 22px); flex-wrap: wrap; }
.nav-links a { color: inherit; }
.nav-links a.active { color: var(--coral-dark); }
header.site-header .btn { padding: 11px 24px; font-size:15px; box-shadow: none; }

.nav-toggle { display:none; }
.nav-toggle-label {
  display:none; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:11px; flex:none;
  color: var(--teal-dark); cursor:pointer;
}
.nav-toggle-label:hover { color: var(--coral); }
.nav-toggle-label svg { width:22px; height:22px; }

@media (max-width: 700px) {
  header.site-header img.logo { height: 84px; }
  .nav-toggle-label { display:inline-flex; }
  .nav-links {
    display:none;
    position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:flex-start; gap:16px;
    background: var(--cream);
    padding: 20px clamp(20px,4vw,60px) 26px;
    border-bottom:1px solid rgba(21,111,107,.14);
    box-shadow: 0 22px 38px -24px rgba(24,42,40,.3);
  }
  .nav-links a { font-size:16.5px; }
  .nav-toggle:checked ~ .nav-links { display:flex; }
}

footer.site-footer {
  background:#efe6d6; padding: 48px 0 34px; border-top: 1px solid rgba(21,111,107,.14);
}
footer.site-footer .wrap {
  display:grid; grid-template-columns: auto minmax(0,max-content) 1fr;
  align-items:start; column-gap: clamp(24px,3.5vw,48px); row-gap: 20px;
}
footer.site-footer .social-icons { margin-top:2px; }
footer.site-footer img.logo { height: 68px; width:auto; }
footer.site-footer nav {
  display:flex; flex-wrap:wrap; gap: 20px; font-size:14.5px; font-weight:600; color:var(--teal-dark);
  justify-self:start;
}
footer.site-footer nav a { color: inherit; }
footer.site-footer .social-icons { justify-self:end; grid-column:3; }
footer.site-footer .footer-contact-text { grid-column: 3; font-size:14.5px; color:#544e44; text-align:right; margin-top:10px; }
@media (max-width:760px) {
  footer.site-footer .wrap { grid-template-columns: 1fr; justify-items:center; text-align:center; }
  footer.site-footer nav { justify-self:center; justify-content:center; }
  footer.site-footer .social-icons { justify-self:center; grid-column:1; }
  footer.site-footer .footer-contact-text { grid-column:1; text-align:center; margin-top:0; }
}

.social-icons { display:flex; align-items:center; gap:10px; }
.social-icons a {
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(21,111,107,.1); color: var(--teal-dark);
  transition: background .15s ease, color .15s ease;
}
.social-icons a:hover { background: var(--coral); color:#fff; }
.social-icons svg { width:16.5px; height:16.5px; }
.social-icons.on-dark a { background: rgba(255,255,255,.16); color:#fff; }
.social-icons.on-dark a:hover { background: var(--coral); }

.camino-gallery { display:grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.camino-gallery figure { margin:0; }
.camino-gallery img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; border-radius:16px; }
.camino-gallery figcaption { font-size:13.5px; color:#6b6459; margin-top:10px; line-height:1.5; }
@media (max-width:900px) { .camino-gallery { grid-template-columns: 1fr 1fr; } }
@media (max-width:480px) { .camino-gallery { grid-template-columns: 1fr; } }

/* ---------- Page hero (secondary pages, no photo) ---------- */
.page-hero { padding: clamp(56px,8vw,88px) 0 clamp(40px,5vw,60px); }
.page-hero h1 { font-size: clamp(36px,5vw,58px); line-height: 1.03; max-width: 760px; }
.page-hero p.lead { font-size:18.5px; max-width: 560px; margin: 20px 0 0; color: #4a453f; }

/* ---------- Photo hero (full-bleed, home/cierre style) ---------- */
.photo-hero { position:relative; min-height: clamp(420px,58vh,640px); display:flex; align-items:center; overflow:hidden; }
.photo-hero.tall { min-height: clamp(600px,78vh,780px); align-items:flex-end; }
.photo-hero img.bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.photo-hero .overlay { position:absolute; inset:0; }
.photo-hero .content { position:relative; }

.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.hero-grid { display:grid; grid-template-columns: 1.15fr 0.85fr; align-items:end; gap: clamp(24px,4vw,56px); }

.hero-cta-row { display:flex; align-items:center; gap:18px; flex-wrap:nowrap; margin-top:36px; }

.hero-route-line {
  display:block; pointer-events:none; user-select:none;
  width: clamp(160px, 46%, 300px); height:auto;
  margin-top: 24px;
}

.hero-polaroid {
  position:relative; max-width:360px; margin-left:auto; margin-bottom:56px;
  background: var(--cream);
  padding: 14px 14px 0;
  border-radius: 3px;
  box-shadow: 0 22px 40px -10px rgba(0,0,0,.45), 0 4px 12px rgba(0,0,0,.14);
  transform: rotate(2deg);
}
.hero-polaroid-photo-wrap {
  display:block; position:relative; width:100%;
  aspect-ratio: 1 / 1.02; overflow:hidden; background:#e6ddcd;
}
.hero-polaroid-photo { width:100%; height:100%; object-fit:cover; display:block; }
.hero-polaroid-caption {
  margin:0; padding: 15px 10px 20px;
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:15px; line-height:1.4; color: var(--ink); text-align:center;
}
.hero-polaroid-caption svg { display:inline-block; vertical-align:-1px; width:11px; height:11px; margin:0 3px; color: var(--coral); }

@media (prefers-reduced-motion: no-preference) {
  .hero-grid > div:first-child { animation: hero-fade-up .7s ease-out both; }
  .hero-polaroid { animation: hero-fade-up .7s ease-out .12s both, hero-polaroid-rotate .7s ease-out .12s both; }
}
@keyframes hero-fade-up { from { opacity:0; transform: translateY(14px); } to { opacity:1; transform: translateY(0); } }
@keyframes hero-polaroid-rotate { from { opacity:0; transform: translateY(14px) rotate(2deg); } to { opacity:1; transform: translateY(0) rotate(2deg); } }

@media (max-width: 880px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-cta-row { flex-wrap:wrap; }
  .hero-route-line { margin: 22px auto 0; }
  .hero-polaroid { margin: 28px auto 0; max-width:220px; transform: rotate(-2deg); }
  .hero-polaroid-caption { font-size:13.5px; padding: 13px 8px 18px; }
  @media (prefers-reduced-motion: no-preference) {
    .hero-polaroid { animation: hero-fade-up .7s ease-out .12s both; }
  }
}

/* ---------- Método, en 4 fases (paper strip with route line) ---------- */
.method-strip {
  position:relative;
  padding: clamp(48px,7vw,84px) 0 clamp(56px,7vw,90px);
  background: #F7F1E8;
}
.method-strip-edge {
  position:absolute; left:0; right:0; top:-19px; height:22px;
  background: #F7F1E8;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 22' preserveAspectRatio='none'%3E%3Cpath d='M0,13 C40,10 80,15 120,12 C160,9 200,14 240,10.5 L258,4 L278,12.5 C320,15 360,10.5 400,9 C440,7.5 480,12.5 520,14 C560,15.5 600,11.5 640,9 L656,16.5 L676,10 C720,7.5 760,12.5 800,10.5 C840,9 880,13 920,11 C950,9.5 980,12 1000,10.5 L1000,22 L0,22 Z' fill='white'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 22' preserveAspectRatio='none'%3E%3Cpath d='M0,13 C40,10 80,15 120,12 C160,9 200,14 240,10.5 L258,4 L278,12.5 C320,15 360,10.5 400,9 C440,7.5 480,12.5 520,14 C560,15.5 600,11.5 640,9 L656,16.5 L676,10 C720,7.5 760,12.5 800,10.5 C840,9 880,13 920,11 C950,9.5 980,12 1000,10.5 L1000,22 L0,22 Z' fill='white'/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  filter: drop-shadow(0 2px 3px rgba(20,30,28,.10));
  pointer-events:none;
}
.method-strip::before {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cpath d='M-20,70 C60,30 140,110 220,70 C300,30 380,110 460,70' stroke='%23156F6B' stroke-width='1.6' fill='none'/%3E%3Cpath d='M-20,150 C70,190 150,110 230,150 C310,190 390,110 470,150' stroke='%23156F6B' stroke-width='1.4' fill='none'/%3E%3Cpath d='M-20,240 C60,200 140,280 220,240 C300,200 380,280 460,240' stroke='%23156F6B' stroke-width='1.5' fill='none'/%3E%3Cpath d='M-20,330 C70,370 150,290 230,330 C310,370 390,290 470,330' stroke='%23156F6B' stroke-width='1.3' fill='none'/%3E%3C/svg%3E");
  background-size: 420px 420px;
}
.method-strip::after {
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.05; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.14  0 0 0 0 0.11  0 0 0 0 0.07  0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}
.method-strip > .wrap { position:relative; z-index:1; }

.method-strip-title {
  text-align:center; font-size:13px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color: var(--teal-dark); margin-bottom: clamp(30px,5vw,50px);
}

.method-track { position:relative; min-height: 220px; }
.method-route-line {
  position:absolute; left:0; top:44px; width:100%; height:auto;
  transform: translateY(-50%);
  pointer-events:none; z-index:0;
}
.method-vline-accent { display:none; }

.method-step {
  position:absolute; top:0; transform: translateX(-50%);
  width: clamp(130px, 20%, 210px);
  text-align:center; z-index:1;
}
.method-icon { width:88px; height:88px; display:block; margin:0 auto; }
.method-step h3 {
  font-family:'Fraunces', serif; font-weight:600; font-size:19px;
  color: var(--coral-dark); margin: 16px 0 0; line-height:1.2;
}
.method-step p {
  font-family:'Plus Jakarta Sans', sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; color:#8a8377;
  margin: 7px 0 0; line-height:1.45;
}

.method-strip-link { text-align:center; margin-top: clamp(30px,4.5vw,46px); }
.method-strip-link a {
  font-size:14.5px; font-weight:700; color: var(--coral); text-decoration:none;
  border-bottom: 1.5px solid transparent; padding-bottom:2px;
  transition: border-color .2s ease, color .2s ease;
}
.method-strip-link a:hover { color: var(--coral-dark); border-color: var(--coral-dark); }

@media (prefers-reduced-motion: no-preference) {
  .method-track { animation: hero-fade-up .7s ease-out both; }
}

@media (max-width: 880px) {
  .method-strip-title { margin-bottom: 46px; }
  .method-route-line { display:none; }
  .method-track { min-height:0; padding-left:64px; }
  .method-track::before {
    content:""; position:absolute; left:32px; top:32px; bottom:32px; width:0;
    border-left: 2px dashed var(--teal); z-index:0;
  }
  .method-vline-accent {
    display:block; position:absolute; left:32px; transform:translateX(-50%);
    z-index:1; pointer-events:none;
  }
  .method-vline-shell { top:-22px; width:26px; height:26px; color:#BF9648; }
  .method-vline-star { top:50%; width:16px; height:16px; margin-top:-8px; color:#BF9648; }
  .method-vline-arrow { bottom:-24px; width:22px; height:22px; color:#F2AA1F; }
  .method-step {
    position:static; transform:none; width:auto; max-width:none;
    display:flex; align-items:flex-start; gap:18px; text-align:left;
    margin-bottom: 32px;
  }
  .method-step:last-child { margin-bottom:0; }
  .method-icon { width:64px; height:64px; flex:none; position:relative; z-index:1; }
  .method-step h3 { margin-top:6px; font-size:17px; }
}

/* ---------- Stage table ---------- */
table.stage-table { width:100%; border-collapse: collapse; margin-top: 8px; }
table.stage-table th, table.stage-table td { text-align:left; padding: 16px 18px; font-size:16.5px; }
table.stage-table thead th { background: var(--teal-dark); color:#fff; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.04em; }
table.stage-table tbody tr:nth-child(even) { background: #f3ece0; }
table.stage-table tbody tr:nth-child(odd) { background: #fff; }
table.stage-table td.exigencia { color:#6b6459; }

/* ---------- Steps ---------- */
.steps-row { display:grid; grid-template-columns: repeat(4, 1fr); gap: var(--steps-gap); position:relative; z-index:1; }
.step { position:relative; min-width:0; text-align:center; }
.step-icon {
  width: 96px; height: 128px; margin: 0 auto 18px;
  background-image: url('../images/iconos-proceso-asesorias.png');
  background-repeat: no-repeat; background-size: 400% 100%;
}
.step:nth-child(1) .step-icon { background-position: 0% 0; }
.step:nth-child(2) .step-icon { background-position: 33.333% 0; }
.step:nth-child(3) .step-icon { background-position: 66.666% 0; }
.step:nth-child(4) .step-icon { background-position: 100% 0; }
.step-num {
  display:inline-block; font-family:'Fraunces',serif; font-size:15px; font-weight:700;
  color: var(--coral-dark); letter-spacing:.04em; margin-bottom: 6px;
}
.step p { margin: 0 auto; font-size:15.5px; color:#4a453f; max-width:220px; }
@media (max-width:700px) {
  .steps-row { grid-template-columns: 1fr; gap: 32px; }
}

/* ---------- Testimonials ---------- */
.testi-card { background:#fff; border-radius:22px; padding: clamp(26px,3vw,32px); box-shadow: 0 24px 60px -34px rgba(24,42,40,.28); display:flex; flex-direction:column; gap:16px; }
.testi-card .stars { color: var(--coral); font-size:16px; letter-spacing:2px; }
.testi-card p.quote { font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:19.5px; color:#3a3530; margin:0; line-height:1.45; }
.testi-card .who { display:flex; align-items:center; gap:12px; margin-top:auto; }
.testi-card .avatar { width:42px; height:42px; border-radius:999px; background: var(--teal); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; flex:none; }
.testi-card .who-text { font-size:14.5px; color:#6b6459; }
.testi-card .who-text strong { color: var(--ink); display:block; font-size:15.5px; }

.placeholder-note {
  border: 1.5px dashed rgba(21,111,107,.35); border-radius: 18px; padding: 22px 26px;
  color:#5a544c; font-size:15.5px; background: rgba(21,111,107,.04);
}

/* ---------- Sobre Nosotras: intro con collage polaroid ---------- */
.about-intro { padding: clamp(56px,8vw,92px) 0 clamp(60px,8vw,96px); }
.about-intro-grid { display:grid; grid-template-columns: minmax(300px,0.85fr) minmax(340px,1.05fr); gap: clamp(40px,6vw,84px); align-items:center; }
.about-intro-text h1 { font-size: clamp(32px,3.6vw,46px); line-height:1.16; margin:16px 0 0; max-width:480px; }
.about-intro-text p { margin:18px 0 0; font-size:17.5px; line-height:1.7; color:#3a3530; max-width:460px; }
.about-intro-photos { position:relative; width:100%; max-width:530px; aspect-ratio: 1 / 0.78; margin-left:auto; }
.about-polaroid {
  position:absolute; width:41%;
  background:#fffdf9; padding: 9px 9px 20px; border-radius:3px;
  box-shadow: 0 20px 38px -18px rgba(30,26,20,.38), 0 4px 10px -4px rgba(30,26,20,.18);
}
.about-polaroid > img:first-child { display:block; width:100%; height:auto; aspect-ratio: 4/5; object-fit:cover; border-radius:1px; }
.about-polaroid-1 { left:0%; top:18%; transform:rotate(-4deg); z-index:1; }
.about-polaroid-2 { left:30%; top:0%; transform:rotate(1deg); z-index:3; }
.about-polaroid-3 { left:59%; top:20%; transform:rotate(4deg); z-index:2; }
.about-polaroid-tape { position:absolute; top:-14px; width:64px; height:auto; pointer-events:none; z-index:4; }
.about-polaroid-1 .about-polaroid-tape { left:8%; transform:rotate(-8deg); }
.about-polaroid-3 .about-polaroid-tape { right:8%; transform:rotate(9deg); }
.about-intro-star { position:absolute; top:-5%; right:1%; width:30px; height:30px; z-index:4; pointer-events:none; }
@media (max-width: 860px) {
  .about-intro-grid { grid-template-columns: 1fr; gap:40px; }
  .about-intro-text { order:1; }
  .about-intro-text h1, .about-intro-text p { max-width:none; }
  .about-intro-photos { order:2; max-width:320px; margin:0 auto; aspect-ratio: 1 / 1.02; }
  .about-polaroid { width:37%; }
  .about-polaroid-1 { left:0%; top:14%; transform:rotate(-3deg); }
  .about-polaroid-2 { left:32%; top:0%; }
  .about-polaroid-3 { left:63%; top:16%; transform:rotate(3deg); }
  .about-intro-star { width:24px; height:24px; }
}

/* ---------- Founders: historia conectada (bloque 2 de Sobre Nosotras) ---------- */
.founders-story {
  position: relative;
  background: var(--teal-mist);
  padding: clamp(64px,8vw,96px) 0 clamp(70px,9vw,110px);
}
.founders-story-torn {
  position: absolute; top:0; left:0; width:100%; height:24px; display:block;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.10));
  pointer-events: none; z-index: 2;
}
.founders-story-head { margin-bottom: clamp(40px,5vw,60px); position:relative; z-index:1; }

.founder-rows { position:relative; display:flex; flex-direction:column; gap: clamp(64px,8vw,96px); z-index:1; }
.founder-row {
  position: relative;
  display:grid;
  grid-template-columns: minmax(220px,0.85fr) minmax(300px,1.15fr);
  gap: clamp(24px,3.2vw,40px);
  align-items:center;
}
.founder-row.is-reverse { grid-template-columns: minmax(300px,1.15fr) minmax(220px,0.85fr); }
.founder-row.is-reverse .founder-photo-wrap { order:2; }
.founder-row.is-reverse .founder-text { order:1; }

.founder-photo-wrap { position:relative; z-index:1; max-width:340px; }
.founder-row.is-reverse .founder-photo-wrap { margin-left:auto; }
.founder-photo { width:100%; aspect-ratio: 3/4; border-radius:20px; overflow:hidden; background: rgba(21,111,107,.08); box-shadow: 0 26px 60px -32px rgba(24,42,40,.30); }
.founder-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.founder-icon { position:absolute; width: clamp(46px,4.2vw,60px); height:auto; z-index:2; pointer-events:none; }
.founder-row:not(.is-reverse) .founder-icon { right:-16px; bottom:-16px; }
.founder-row.is-reverse .founder-icon { left:-16px; bottom:-16px; }

.founder-text h3 { margin:0; font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:22px; letter-spacing:-.01em; color: var(--ink); }
.founder-text .founder-role { font-size:13.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color: var(--coral-dark); }
.founder-text p.founder-bio { margin:0; font-size:15.5px; line-height:1.75; color:#4a453d; }
.founder-text p.founder-bio + p.founder-bio { margin-top:12px; }
.founder-quotes { margin-top:6px; padding-top:16px; border-top:1px dashed rgba(21,111,107,.3); display:flex; flex-direction:column; gap:12px; }
.founder-quote-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--coral-dark); margin-bottom:4px; }
.founder-quote-text { margin:0; font-size:14.5px; font-style:italic; color:#8a8378; }

/* Ruta punteada coral: conecta el collage de polaroids del bloque 1 con Less, Raquel y Fran.
   Cada tramo repite (tile) el asset camino-punteado-coral.png a lo largo de una franja rotada,
   para que el trazo llegue exactamente de un punto a otro sin costuras — visible solo en escritorio
   ancho (≥1260px), donde el .wrap alcanza su max-width y las posiciones son estables. */
.founder-route-precise { display:none; }
/* Trazo simple de respaldo (mobile y anchos intermedios): un guion vertical corto, confinado
   únicamente al espacio en blanco ENTRE una fundadora y la siguiente — nunca se superpone a
   fotos ni texto porque no ocupa más alto que el propio gap entre filas. Oculto en escritorio
   ancho, donde lo reemplaza el recorrido preciso tejido con el PNG real. */
.founder-row + .founder-row { position:relative; }
.founder-row + .founder-row::before {
  content:"";
  position:absolute; left:50%; width:2px;
  top: calc(-1 * clamp(64px,8vw,96px)); height: clamp(64px,8vw,96px);
  background-image: repeating-linear-gradient(to bottom, var(--coral) 0 6px, transparent 6px 17px);
  opacity:.65; z-index:0; pointer-events:none;
}
@media (min-width: 1260px) {
  .founder-row + .founder-row::before { display:none; }
  .founder-route-precise {
    display:block; position:absolute; left:0; top:0; z-index:0; pointer-events:none; opacity:.85;
    height:64px; transform-origin: 0 0;
    background-image: url('../images/camino-punteado-coral.png');
    background-repeat: repeat-x; background-size: auto 64px; background-position: left center;
  }
  /* Tramo 0: sale del collage de polaroids (bloque 1) y entra a la foto de Less */
  .founder-route-seg-0  { left:690.8px; top:-385.3px; width:825.4px; transform: rotate(146.81deg); }
  /* Tramo 1: cruza por detrás de la foto de Less */
  .founder-route-seg-1  { left:0px;     top:66.5px;   width:538.7px; transform: rotate(53.56deg); }
  /* Tramo 1b: baja desde el icono de Less hasta el borde inferior de su fila (nunca toca su texto) */
  .founder-route-seg-1b { left:320px;   top:499.8px;  width:86.5px;  transform: rotate(90deg); height:36px; background-size: auto 36px; }
  /* Tramo 2: cruza el hueco en blanco entre la fila de Less y la de Raquel */
  .founder-route-seg-2  { left:320px;   top:586.3px;  width:455px;   transform: rotate(12.18deg); }
  /* Tramo 2b: sube por la columna de la foto de Raquel (zona vacía sobre la foto) */
  .founder-route-seg-2b { left:764.8px; top:682.3px;  width:346.4px; transform: rotate(11.07deg); }
  /* Tramo 3: cruza por detrás de la foto de Raquel */
  .founder-route-seg-3  { left:1104.8px;top:748.8px;  width:538.7px; transform: rotate(126.44deg); }
  /* Tramo 3b: baja desde el icono de Raquel hasta el borde inferior de su fila */
  .founder-route-seg-3b { left:784.8px; top:1182.2px; width:86.5px;  transform: rotate(90deg); height:36px; background-size: auto 36px; }
  /* Tramo 4: cruza el hueco en blanco entre la fila de Raquel y la de Fran */
  .founder-route-seg-4  { left:784.8px; top:1268.7px; width:790.7px; transform: rotate(173.03deg); }
  /* Tramo 4b: baja desde el hueco hasta la foto de Fran */
  .founder-route-seg-4b { left:0px;     top:1364.7px; width:80.1px;  transform: rotate(90deg); height:36px; background-size: auto 36px; }
  /* Tramo 5: cruza por detrás de la foto de Fran y termina en su icono */
  .founder-route-seg-5  { left:0px;     top:1444.8px; width:538.7px; transform: rotate(53.56deg); }
}
@media (max-width: 860px) {
  .founder-row, .founder-row.is-reverse {
    grid-template-columns: 1fr; gap:22px;
  }
  .founder-row.is-reverse .founder-photo-wrap,
  .founder-row.is-reverse .founder-text,
  .founder-row .founder-photo-wrap,
  .founder-row .founder-text { order: initial; }
  .founder-photo-wrap, .founder-row.is-reverse .founder-photo-wrap { max-width:260px; margin:0 auto; }
}

/* ---------- Forms ---------- */
form.stella-form { display:flex; flex-direction:column; gap:22px; }
.form-section-title { font-family:'Fraunces',serif; font-weight:600; font-size:22px; color:var(--teal-dark); margin: 8px 0 -6px; }
.form-row { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:18px; }
@media (max-width:700px) { .form-row { grid-template-columns: 1fr; } }
.field { display:flex; flex-direction:column; gap:8px; }
.field label { font-size:14.5px; font-weight:700; color: var(--teal-dark); }
.field .hint { font-size:14px; color:#8a8377; font-weight:400; }
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="number"],
.field select,
.field textarea {
  font-family: inherit; font-size:16px; padding: 13px 16px; border-radius:12px;
  border: 1.5px solid rgba(43,38,34,.18); background:#fff; color: var(--ink);
}
.field textarea { resize: vertical; min-height: 100px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--teal); outline-offset: 1px; }
.radio-group, .check-group { display:flex; flex-wrap:wrap; gap: 10px 20px; }
.radio-group label, .check-group label { display:flex; align-items:center; gap:8px; font-size:15.5px; font-weight:500; color:var(--ink); }
.radio-group input, .check-group input { accent-color: var(--teal); width:16px; height:16px; }
.form-note { font-size:14px; color:#8a8377; }

/* ---------- Simple CTA band ---------- */
.cta-band {
  background: linear-gradient(120deg, rgba(9,63,60,.94), rgba(14,84,80,.90)), var(--band-bg, none);
  background-size: cover; background-position: center;
  border-radius: 32px; padding: clamp(40px,5vw,68px); position:relative; overflow:hidden;
  color:#fff;
}
.cta-band h2 { color:#fff; }
.cta-band p { color:#cfe4e1; }

/* ---------- Nuestro estilo (Sobre Nosotras, banda final) ---------- */
.style-strip { position:relative; background: linear-gradient(135deg, #0B5851 0%, var(--teal-dark) 55%, #0A5450 100%); padding: clamp(48px,6vw,72px) 0; overflow:hidden; }
.style-content { position:relative; z-index:1; text-align:center; max-width:640px; margin:0 auto; }
.style-star { display:block; margin:0 auto 22px; width:40px; height:40px; }
.style-content h2 { color: var(--cream); font-size: clamp(28px,3.2vw,38px); line-height:1.15; }
.style-content p { margin:32px auto 0; max-width:560px; color: rgba(251,246,239,.9); font-size:17.5px; line-height:1.7; }
.style-btn { margin-top:28px; display:inline-flex; align-items:center; gap:8px; }
.style-btn svg { width:16px; height:16px; transition: transform .2s ease; }
.style-btn:hover svg { transform: translateX(3px); }

/* ---------- Método Stella (rediseño editorial, exclusivo de esta página) ---------- */
.method-hero-grid {
  display:grid; grid-template-columns: minmax(300px,0.95fr) minmax(320px,1.05fr);
  gap: clamp(40px,5vw,72px); align-items:center;
}
.method-hero-visual { position:relative; display:flex; justify-content:center; align-items:center; }
.method-hero-route { position:relative; z-index:1; width:100%; max-width:700px; height:auto; object-fit:contain; display:block; }
.method-hero-star {
  position:absolute; z-index:1; right:1%; top:-4%;
  width: clamp(24px,3.2vw,44px); height: clamp(24px,3.2vw,44px);
  object-fit:contain; pointer-events:none;
}
.method-hero-church {
  position:absolute; z-index:0; right:0%; top:34%;
  width: clamp(190px,20vw,300px); height:auto;
  object-fit:contain; pointer-events:none; user-select:none;
}
.method-hero-trees {
  position:absolute; z-index:0; left:10.5%; top:-14%;
  width: clamp(120px,13vw,190px); height:auto;
  object-fit:contain; pointer-events:none; user-select:none;
}
.method-hero-line-ext { position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.method-hero-leaf {
  position:absolute; z-index:0; height:auto;
  width: clamp(28px,3.4vw,46px);
  object-fit:contain; pointer-events:none; user-select:none;
}
.method-hero-leaf--1 { left:1%; top:32%; transform: rotate(-15deg); }
.method-hero-leaf--2 { left:22%; top:79%; transform: rotate(12deg) scaleX(-1); }
.method-hero-leaf--3 { left:70%; top:-7%; transform: rotate(8deg); }
@media (max-width:860px) {
  .method-hero-grid { grid-template-columns:1fr; gap:36px; }
  .method-hero-visual { justify-content:center; }
  .method-hero-route { max-width:420px; margin:0 auto; }
  .method-hero-church { width: clamp(150px,26vw,240px); }
  .method-hero-trees { width: clamp(110px,20vw,176px); }
  .method-hero-leaf { width: clamp(22px,5vw,32px); }
}
@media (max-width:480px) {
  .method-hero-church { width: clamp(130px,34vw,170px); right:-2%; top:36%; }
  .method-hero-trees { width: clamp(90px,26vw,130px); }
  .method-hero-leaf { width: clamp(18px,4.4vw,26px); }
}

.method-process { position:relative; background: var(--method-mist); padding: clamp(56px,7vw,84px) 0 clamp(64px,8vw,96px); overflow:hidden; }
.method-transition {
  position:absolute; top:0; left:0; width:100%; height: clamp(46px,6vw,72px);
  display:block; pointer-events:none; z-index:1;
}
.method-process > .wrap { position:relative; z-index:1; }
.method-process-head { max-width:640px; margin-bottom: clamp(48px,6vw,76px); }
.method-process-head h2 { font-size: clamp(28px,3.2vw,36px); line-height:1.18; }

.method-path { position:relative; }
.method-spine {
  position:absolute; left:50%; top:6px; bottom:6px; width:3px; transform:translateX(-50%);
  background-image: repeating-linear-gradient(to bottom, var(--coral) 0 6px, transparent 6px 15px);
  opacity:.5; pointer-events:none; z-index:0;
}
.method-phase {
  position:relative; z-index:1;
  display:grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,5vw,64px); align-items:center;
}
.method-phase:not(:last-child) { margin-bottom: clamp(52px,6.5vw,84px); }
.method-phase-text { max-width:460px; }
.method-phase-title { font-size: clamp(26px,2.6vw,32px); line-height:1.15; margin-top:4px; }
.method-phase-copy { margin: 14px 0 0; color:#4a453f; font-size:16.5px; line-height:1.7; }
.method-phase-icon-col { display:flex; flex-direction:column; align-items:center; gap:12px; }
.method-phase-number {
  font-family:'Fraunces',serif; font-weight:600; color: var(--coral);
  font-size: clamp(38px,4.4vw,58px); line-height:1; opacity:.92;
}
.method-phase-icon { width: clamp(96px,9vw,120px); height:auto; object-fit:contain; display:block; }
.method-phase--right .method-phase-text { order:1; }
.method-phase--right .method-phase-icon-col { order:2; }
.method-phase--left .method-phase-text { order:2; }
.method-phase--left .method-phase-icon-col { order:1; }
.method-dot {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:13px; height:13px; border-radius:50%; background: var(--coral);
  box-shadow: 0 0 0 4px var(--method-mist); z-index:2; pointer-events:none;
}
.method-tick {
  position:absolute; top:50%; width: calc(clamp(40px,5vw,64px) / 2 + 2px); height:2px;
  transform: translateY(-50%);
  background-image: repeating-linear-gradient(to right, var(--coral) 0 5px, transparent 5px 10px);
  opacity:.55; z-index:1; pointer-events:none;
}
.method-phase--right .method-tick { left:50%; }
.method-phase--left .method-tick { right:50%; }
.method-leaf {
  position:absolute; z-index:0; height:auto; object-fit:contain;
  pointer-events:none; user-select:none;
}
.method-leaf--1 { top:-40px; left:-6px; width:62px; transform: rotate(-12deg); }
.method-leaf--2 { top:-18px; right:-20px; width:40px; transform: rotate(8deg); }
.method-leaf--3 { bottom:-40px; left:-6px; width:56px; transform: rotate(18deg); }
.method-leaf--4 { top:-16px; right:-22px; width:38px; transform: scaleX(-1) rotate(-8deg); }
@media (max-width:1100px) {
  .method-phase { gap: clamp(28px,4vw,40px); }
  .method-phase-icon { width: clamp(84px,8vw,100px); }
}
@media (max-width:860px) {
  .method-path { max-width:340px; margin:0 auto; }
  .method-spine { left:50%; }
  .method-phase, .method-phase--right, .method-phase--left {
    grid-template-columns: 1fr; justify-items:center; text-align:center; gap:16px;
  }
  .method-phase--right .method-phase-text, .method-phase--left .method-phase-text { order:2; max-width:100%; }
  .method-phase--right .method-phase-icon-col, .method-phase--left .method-phase-icon-col { order:1; }
  .method-phase-icon { width: clamp(72px,16vw,88px); }
  .method-tick { display:none; }
  .method-dot { top:-2px; transform: translate(-50%,-50%); }
  .method-leaf--2, .method-leaf--4 { display:none; }
  .method-leaf--1 { top:-8px; left:auto; right:8px; width:38px; }
  .method-leaf--3 { bottom:-32px; left:8px; width:30px; }
}

.method-results { position:relative; padding: clamp(64px,8vw,100px) 0; overflow:hidden; }
.method-results-torn {
  position:absolute; top:0; left:0; width:100%; height:24px; display:block;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.08)); pointer-events:none; z-index:1;
}
.method-results-grid {
  display:grid; grid-template-columns: minmax(260px,0.85fr) minmax(320px,1.15fr);
  gap: clamp(48px,6vw,80px); align-items:start;
}
.method-results-head h2 { font-size: clamp(26px,3vw,34px); line-height:1.18; margin-top:18px; max-width:420px; }
.method-results-list { list-style:none; margin:0; padding:0; }
.method-results-list li { display:flex; gap:14px; align-items:flex-start; padding:18px 0; border-bottom:1px solid rgba(43,38,34,.10); }
.method-results-list li:first-child { padding-top:0; }
.method-results-list li:last-child { border-bottom:none; padding-bottom:0; }
.method-results-list svg { flex:none; width:20px; height:20px; color:var(--teal); margin-top:2px; }
.method-results-list span { font-size:16.5px; color:#3a3530; line-height:1.5; }
@media (max-width:860px) {
  .method-results-grid { grid-template-columns:1fr; gap:32px; }
}

.method-cta { position:relative; overflow:hidden; background: linear-gradient(135deg, #0B5851 0%, var(--teal-dark) 55%, #0A5450 100%); padding: clamp(64px,8vw,96px) 0; min-height: 430px; }
.method-cta-layout { position:relative; z-index:1; }
.method-cta-content { max-width:560px; }
.method-cta-content h2 { color: var(--cream); font-size: clamp(28px,3.2vw,38px); line-height:1.15; }
.method-cta-content p { margin:22px 0 0; color: rgba(251,246,239,.88); font-size:17.5px; line-height:1.65; max-width:500px; }
.method-cta-btn { margin-top:28px; display:inline-flex; align-items:center; gap:8px; }
.method-cta-btn svg { width:16px; height:16px; transition: transform .2s ease; }
.method-cta-btn:hover svg { transform: translateX(3px); }
.method-cta-illustration {
  position:absolute; right:0; bottom:0; z-index:0;
  width:92%; max-width:none; height:auto;
  object-fit:contain; object-position:right bottom;
  pointer-events:none; user-select:none;
}
@media (min-width:1441px) {
  .method-cta-illustration { width:96%; }
}
@media (max-width:1100px) {
  .method-cta { min-height:420px; }
  .method-cta-illustration { width:82%; }
}
@media (max-width:860px) {
  .method-cta { min-height:0; }
  .method-cta-illustration {
    position:static; display:block; width:125%; max-width:none; height:auto;
    margin: 40px 0 0 -12.5%;
    object-fit:contain; object-position:center bottom;
  }
}

/* ---------- FAQ ---------- */
.faq-item { border-bottom: 1px solid rgba(43,38,34,.12); padding: 22px 0; }
.faq-item summary { cursor:pointer; font-weight:700; font-size:17.5px; color:var(--teal-dark); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-size:22px; color:var(--coral); flex:none; }
.faq-item[open] summary::after { content:'–'; }
.faq-item p { margin: 12px 0 0; color:#4a453f; font-size:16px; }

/* ---------- Hero editorial de Asesorías (exclusivo de esta página) ---------- */
.advisory-hero { background: var(--cream); padding: clamp(56px,8vw,88px) 0 clamp(40px,5vw,60px); overflow:hidden; }
.advisory-hero-grid {
  display:grid; grid-template-columns: minmax(320px,480px) minmax(320px,1fr);
  gap: clamp(14px,2vw,28px); align-items:center;
}
.advisory-hero-text { max-width:480px; }
.advisory-hero-text h1 { font-size: clamp(36px,4.4vw,56px); line-height:1.06; max-width:480px; }
.advisory-hero-text .lead { margin:18px 0 0; font-size:18.5px; line-height:1.6; color:#4a453f; max-width:480px; }
.advisory-hero-cta { margin-top: 28px; }
.advisory-hero-art { display:flex; justify-content:center; align-items:center; }
.advisory-hero-art img {
  width:100%; max-width:700px; height:auto;
  object-fit:contain; display:block;
}
@media (max-width:860px) {
  .advisory-hero { padding: clamp(44px,8vw,64px) 0 clamp(28px,6vw,40px); }
  .advisory-hero-grid { grid-template-columns:1fr; gap:28px; }
  .advisory-hero-text, .advisory-hero-text h1, .advisory-hero-text .lead { max-width:none; }
  .advisory-hero-art { width:auto; margin:0; justify-content:center; }
  .advisory-hero-art img { max-width:420px; margin:0 auto; }
}

/* ---------- Intro "Dos formas de empezar" ---------- */
.advisory-intro { background: var(--cream); padding: clamp(28px,4vw,40px) 0 clamp(44px,5vw,56px); text-align:center; }
.advisory-intro .wrap { max-width: 800px; }
.advisory-intro h2 { font-size: clamp(30px,3.6vw,40px); line-height:1.1; }
.advisory-intro p { margin: 18px 0 0; font-size:17px; color:#4a453f; }

/* ---------- Niveles (franjas, exclusivo de Asesorías) ---------- */
.advisory-level { background: var(--cream); padding: clamp(56px,7vw,84px) 0; }
.advisory-level--alt { background: var(--teal-mist); }
.advisory-level-grid {
  display:grid;
  grid-template-columns: minmax(110px,0.62fr) minmax(220px,1.7fr) minmax(240px,1.8fr);
  gap: clamp(28px,3.5vw,48px); align-items:start;
}
.advisory-level-num { display:flex; flex-direction:column; gap:10px; padding-right: clamp(20px,2.5vw,32px); border-right: 1px solid rgba(43,38,34,.14); }
.advisory-level-number { font-family:'Fraunces',serif; font-weight:700; font-size: clamp(60px,6.5vw,88px); line-height:1; color: var(--coral); }
.advisory-level-label { font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:14px; color: var(--teal-dark); }
.advisory-level-pill { display:inline-block; background: var(--coral); color:#fff; font-size:13px; font-weight:700; letter-spacing:.03em; padding:6px 16px; border-radius:999px; margin-bottom:16px; }
.advisory-level-kicker { font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:12.5px; color: var(--teal-dark); margin-bottom:10px; }
.advisory-level-body h3 { font-size: clamp(24px,2.6vw,30px); margin-bottom:10px; }
.advisory-level-highlight { margin:0 0 10px; font-size:14.5px; font-weight:700; }
.advisory-level-desc { margin:0; color:#5a544c; font-size:16px; max-width:380px; }
.advisory-level-benefits ul { list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:14px; }
.advisory-level-benefits ul li { display:flex; gap:12px; align-items:flex-start; font-size:16px; color:#3a3530; }
.advisory-level-benefits ul li.sub { padding-left: 30px; color:#5a544c; }
.advisory-level-benefits ul li svg { flex:none; width:18px; height:18px; color: var(--teal); margin-top:2px; }
@media (max-width:900px) {
  .advisory-level-grid { grid-template-columns: 1fr; gap:22px; }
  .advisory-level-num { flex-direction:row; align-items:baseline; gap:14px; border-right:none; border-bottom: 1px solid rgba(43,38,34,.14); padding-right:0; padding-bottom:16px; }
  .advisory-level-number { font-size:48px; }
}

/* ---------- ¿No sabes cuál elegir? ---------- */
.advisory-undecided { background: var(--cream); padding: clamp(50px,6.5vw,72px) 0; text-align:center; }
.advisory-undecided h2 { font-size: clamp(26px,3vw,34px); }
.advisory-undecided p { margin: 14px 0 26px; color:#4a453f; font-size:16.5px; }

/* ---------- Así te acompañamos ---------- */
.advisory-process { background: var(--teal-mist); padding: clamp(56px,7vw,84px) 0; }
.advisory-process h2 { font-size: clamp(26px,3.2vw,34px); text-align:center; }
.advisory-process-sub { text-align:center; margin: 12px 0 clamp(36px,4.5vw,48px); color:#4a453f; font-size:16.5px; }
.advisory-process-track {
  position:relative;
  --steps-gap: clamp(28px,3.4vw,36px);
  --col-w: calc((100% - 3 * var(--steps-gap)) / 4);
}
.advisory-process-dots {
  position:absolute; top:9px;
  width: calc(var(--col-w) + var(--steps-gap) - 96px);
  height:66px; overflow:hidden; z-index:0;
  display:flex; align-items:center; justify-content:flex-start;
  pointer-events:none;
}
.advisory-process-dots img { width:100%; height:auto; display:block; }
/* Cada tramo va del borde del ícono anterior al borde del siguiente, cortando justo en cada ícono */
.advisory-process-dots--1 { left: calc((var(--col-w) / 2) + 48px); }
.advisory-process-dots--2 { left: calc(var(--col-w) + var(--steps-gap) + (var(--col-w) / 2) + 48px); }
.advisory-process-dots--3 { left: calc((var(--col-w) + var(--steps-gap)) * 2 + (var(--col-w) / 2) + 48px); }
@media (max-width:700px) { .advisory-process-dots { display:none; } }

/* ---------- Beneficios de Stella ---------- */
.advisory-benefits { background: var(--cream); padding: clamp(60px,7vw,88px) 0; }
.advisory-benefits h2 { font-size: clamp(28px,3.2vw,36px); max-width:640px; margin-bottom: clamp(36px,4.5vw,48px); }
.advisory-benefits-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(32px,4vw,48px); }
.advisory-benefit-col { padding-left: clamp(20px,2.5vw,28px); border-left: 1px solid rgba(43,38,34,.14); }
.advisory-benefit-col:first-child { padding-left:0; border-left:none; }
.advisory-benefit-line { display:block; width:34px; height:3px; background: var(--coral); border-radius:2px; margin-bottom:16px; }
.advisory-benefit-col h4 { font-size:19px; margin-bottom:8px; }
.advisory-benefit-col p { margin:0; color:#5a544c; font-size:15.5px; }
@media (max-width:860px) {
  .advisory-benefits-grid { grid-template-columns: 1fr; gap:28px; }
  .advisory-benefit-col { padding-left:0; border-left:none; border-top: 1px solid rgba(43,38,34,.14); padding-top:24px; }
  .advisory-benefit-col:first-child { border-top:none; padding-top:0; }
}

/* ---------- CTA final de Asesorías ---------- */
.advisory-cta-final { background: var(--teal-mist); padding: clamp(80px,9vw,104px) 0; text-align:center; }
.advisory-cta-final .wrap { max-width: 760px; }
.advisory-cta-shell { width: 52px; height:auto; margin: 0 auto 20px; object-fit:contain; }
.advisory-cta-final h2 { font-size: clamp(28px,3.4vw,38px); line-height:1.15; }
.advisory-cta-final p { margin: 18px 0 30px; color:#4a453f; font-size:17px; }
@media (max-width:700px) { .advisory-cta-shell { width:42px; } }
@media (max-width:480px) { .advisory-cta-shell { width:36px; } }

/* ---------- Recursos (exclusivo de esta página) ---------- */

/* Subrayado coral discreto en el enlace activo del menú, solo en esta página */
#page-recursos .nav-links a.active { position:relative; }
#page-recursos .nav-links a.active::after {
  content:''; position:absolute; left:0; right:0; bottom:-7px; height:2px;
  background: var(--coral); border-radius:2px;
}

/* Hero */
.resources-hero { background: var(--cream); padding: clamp(56px,8vw,88px) 0 clamp(48px,7vw,80px); overflow:hidden; }
.resources-hero-grid {
  display:grid; grid-template-columns: minmax(320px,480px) minmax(280px,1fr);
  gap: clamp(32px,5vw,64px); align-items:center;
}
.resources-hero-text { max-width:480px; }
.resources-hero-text h1 { font-size: clamp(36px,4.2vw,52px); line-height:1.08; max-width:460px; }
.resources-hero-text .lead { margin:18px 0 0; font-size:18.5px; line-height:1.6; color:#4a453f; max-width:460px; }
.resources-hero-meta { margin:14px 0 0; font-size:15px; font-weight:600; color: var(--teal-dark); }
.resources-hero-cta { margin-top:26px; }

.resources-hero-visual { position:relative; display:flex; justify-content:center; align-items:center; min-height:420px; }
.resources-hero-line {
  position:absolute; left:-6%; bottom:14%; width:58%; max-width:280px; height:auto;
  object-fit:contain; pointer-events:none; user-select:none; z-index:0;
}
.resources-stack { position:relative; width:100%; max-width:430px; display:flex; justify-content:center; }
.resources-stack-portada {
  position:relative; z-index:2; width:100%; max-width:430px; height:auto;
  object-fit:contain; border-radius:10px; transform: rotate(-4deg);
  box-shadow: 0 18px 45px rgba(10,65,70,.16);
  background:#fff;
}
.resources-stack-peek {
  position:absolute; z-index:1; top:6%; right:-6%; width:62%; height:auto;
  object-fit:contain; border-radius:8px; transform: rotate(5deg);
  box-shadow: 0 14px 34px rgba(10,65,70,.14);
  background:#fff;
}
@media (max-width:1024px) {
  .resources-stack, .resources-stack-portada { max-width:340px; }
}
@media (max-width:860px) {
  .resources-hero-grid { grid-template-columns:1fr; gap:40px; }
  .resources-hero-text, .resources-hero-text h1, .resources-hero-text .lead { max-width:none; }
  .resources-hero-visual { order:2; min-height:0; margin-top:8px; }
  .resources-hero-text { order:1; }
  .resources-hero-line { display:none; }
}
@media (max-width:700px) {
  .resources-stack, .resources-stack-portada { max-width: min(78vw, 330px); }
  .resources-stack-peek { right:-4%; }
}

/* Un primer paso */
.resources-steps { background: var(--teal-mist); padding: clamp(64px,9vw,104px) 0; text-align:center; }
.resources-steps-title { font-size: clamp(26px,3vw,36px); line-height:1.2; max-width:700px; margin:0 auto; }
.resources-steps-grid {
  display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(28px,4vw,48px);
  margin-top: clamp(40px,5vw,56px); text-align:center;
}
.resources-steps-col { padding: 0 clamp(16px,2vw,28px); border-left:1px solid rgba(14,84,80,.14); }
.resources-steps-col:first-child { border-left:none; }
.resources-steps-icon { width: clamp(72px,6vw,82px); height: clamp(72px,6vw,82px); object-fit:contain; display:block; margin:0 auto 20px; }
.resources-steps-col h3 { font-size: clamp(19px,1.4vw,22px); color: var(--teal-dark); margin:0 0 10px; }
.resources-steps-col p { margin:0; font-size:15.5px; line-height:1.55; color:#3f554f; max-width:260px; margin-left:auto; margin-right:auto; }
@media (max-width:860px) {
  .resources-steps-grid { grid-template-columns:1fr; gap:36px; }
  .resources-steps-col { border-left:none; border-top:1px solid rgba(14,84,80,.14); padding:28px 0 0; }
  .resources-steps-col:first-child { border-top:none; padding-top:0; }
}

/* Descarga */
.resources-download { background: var(--cream); padding: clamp(64px,8vw,100px) 0 clamp(48px,6vw,72px); }
.resources-download-grid {
  display:grid; grid-template-columns: minmax(280px,380px) minmax(460px,1fr);
  gap: clamp(40px,6vw,80px); align-items:start;
}
@media (max-width:860px) {
  .resources-download-grid { grid-template-columns:1fr; }
}
.resources-download-text h2 { font-size: clamp(26px,3vw,34px); line-height:1.16; max-width:360px; }
.resources-download-text .lead { margin:18px 0 0; font-size:17px; line-height:1.6; color:#4a453f; max-width:360px; }
.resources-privacy-line {
  display:flex; align-items:flex-start; gap:12px; margin-top:26px; max-width:360px;
}
.resources-privacy-line img { flex:none; width:30px; height:30px; object-fit:contain; margin-top:1px; }
.resources-privacy-line span { font-size:14.5px; line-height:1.55; color:#5a5349; }

.resources-download-panel {
  background: var(--teal-mist); border-radius:24px; padding: clamp(24px,3vw,32px);
  display:flex; align-items:flex-start; gap: clamp(18px,2.4vw,26px);
  box-shadow: 0 24px 60px -36px rgba(14,84,80,.35);
  overflow:hidden; max-width:100%;
}
.resources-download-thumb {
  flex:none; width: clamp(150px,13vw,190px); height:auto; object-fit:contain;
  border-radius:8px; box-shadow: 0 10px 26px rgba(10,65,70,.18);
}
.resources-form-embed { flex:1; min-width:0; max-width:100%; overflow:hidden; }

/* Mejor esfuerzo de estilo sobre el formulario embebido de Kit (nombres de clase estándar formkit-*).
   Kit controla el texto y la lógica del formulario; aquí solo se ajusta apariencia.
   El prefijo #page-recursos sube la especificidad para ganarle a los estilos propios que Kit
   inyecta (a veces con selectores de mayor especificidad que una clase simple). También se
   fuerza el ancho de todo lo que haya dentro del formulario para evitar que se desborde del panel. */
#page-recursos .resources-form-embed * {
  max-width:100% !important; box-sizing:border-box !important;
  min-height:0 !important; height:auto !important; padding-top:0 !important;
}
#page-recursos .resources-form-embed *:first-child { margin-top:0 !important; }
#page-recursos .resources-form-embed .formkit-form,
#page-recursos .resources-form-embed .formkit-container,
#page-recursos .resources-form-embed .formkit-header,
#page-recursos .resources-form-embed .formkit-content {
  background:transparent !important; background-image:none !important; box-shadow:none !important;
  border:none !important; padding:0 !important; margin:0 !important; width:100% !important; max-width:100% !important;
  min-height:0 !important;
}
#page-recursos .resources-form-embed .formkit-background,
#page-recursos .resources-form-embed .formkit-form > img,
#page-recursos .resources-form-embed [class*="image"] { display:none !important; }
#page-recursos .resources-form-embed .formkit-header h2,
#page-recursos .resources-form-embed .formkit-header h1 { font-family:'Fraunces',serif !important; font-size: clamp(20px,2vw,24px) !important; font-weight:700 !important; color: var(--teal-dark) !important; text-transform:none !important; margin:0 0 12px !important; line-height:1.2 !important; }
#page-recursos .resources-form-embed .formkit-content p { font-size:14.5px !important; color:#4a453f !important; margin:0 0 18px !important; }
#page-recursos .resources-form-embed .formkit-fields { width:100% !important; list-style:none !important; padding-left:0 !important; }
#page-recursos .resources-form-embed .formkit-field { width:100% !important; margin:0 0 10px !important; }
#page-recursos .resources-form-embed .formkit-input {
  background:#fff !important; border:1.5px solid rgba(14,84,80,.2) !important; border-radius:12px !important;
  padding:13px 16px !important; font-size:15.5px !important; color:#2b2622 !important; box-shadow:none !important;
  width:100% !important; display:block !important;
}
#page-recursos .resources-form-embed .formkit-input:focus { border-color: var(--coral) !important; outline:2px solid rgba(231,92,70,.25) !important; outline-offset:2px; }
#page-recursos .resources-form-embed .formkit-submit {
  background: var(--coral) !important; color:#fff !important; border:none !important; border-radius:999px !important;
  font-weight:700 !important; padding:13px 24px !important; box-shadow:none !important; width:100% !important;
  white-space:normal !important; line-height:1.3 !important; display:block !important; height:auto !important;
}
#page-recursos .resources-form-embed .formkit-submit:hover { background: var(--coral-dark) !important; }
#page-recursos .resources-form-embed .formkit-submit:focus-visible { outline:2px solid var(--coral-dark) !important; outline-offset:2px; }
#page-recursos .resources-form-embed .formkit-alert { font-size:13.5px !important; border-radius:10px !important; }
#page-recursos .resources-form-embed .formkit-disclaimer { font-size:12.5px !important; color:#8a8377 !important; }
@media (max-width:700px) {
  .resources-download-panel { flex-direction:column; align-items:stretch; }
  .resources-download-thumb { width:100px; margin:0 auto; }
}

.resources-info-strip {
  margin-top: clamp(40px,5vw,56px); padding-top: clamp(28px,3.5vw,36px);
  border-top:1px solid rgba(43,38,34,.12);
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
}
.resources-info-strip-text { display:flex; align-items:flex-start; gap:14px; max-width:640px; }
.resources-info-strip-text img { flex:none; width:32px; height:32px; object-fit:contain; margin-top:2px; }
.resources-info-strip-text span { font-size:15px; line-height:1.55; color:#4a453f; }
.resources-info-strip-link {
  flex:none; display:inline-flex; align-items:center; gap:8px; font-weight:700; color: var(--coral-dark);
  border-bottom:1px solid transparent;
}
.resources-info-strip-link:hover { color: var(--coral); border-bottom-color: var(--coral); }
.resources-info-strip-link svg { width:16px; height:16px; transition: transform .2s ease; }
.resources-info-strip-link:hover svg { transform: translateX(3px); }

/* Cierre */
.resources-closing { position:relative; overflow:hidden; background: var(--teal-mist); padding: clamp(64px,9vw,96px) 0; text-align:center; }
.resources-closing-icon { width:40px; height:40px; object-fit:contain; margin:0 auto 18px; }
.resources-closing h2 { font-size: clamp(26px,3vw,36px); line-height:1.2; max-width:640px; margin:0 auto; }
.resources-closing p { margin:14px 0 0; font-size:17px; color:#3f554f; }
.resources-closing-line {
  position:absolute; bottom:-6%; width:220px; max-width:26vw; height:auto; opacity:.9;
  object-fit:contain; pointer-events:none; user-select:none; z-index:0;
}
.resources-closing-line--left { left:-4%; transform: scaleX(-1) rotate(8deg); }
.resources-closing-line--right { right:-4%; transform: rotate(-8deg); }
@media (max-width:700px) {
  .resources-closing-line { display:none; }
}

/* ---------- El Camino de Santiago (exclusivo de esta página) ---------- */

/* Subrayado coral discreto en el enlace activo del menú, solo en esta página */
#page-camino-santiago .nav-links a.active { position:relative; }
#page-camino-santiago .nav-links a.active::after {
  content:''; position:absolute; left:0; right:0; bottom:-7px; height:2px;
  background: var(--coral); border-radius:2px;
}

/* 1. Hero */
.santiago-hero { background: var(--cream); padding: clamp(48px,7vw,80px) 0 clamp(26px,4vw,38px); overflow:hidden; }
.santiago-hero-grid {
  display:grid; grid-template-columns: minmax(300px,1fr) minmax(320px,640px);
  gap: clamp(32px,5vw,56px); align-items:center;
}
.santiago-hero-text h1 { font-size: clamp(34px,4.4vw,52px); line-height:1.08; max-width:520px; }
.santiago-hero-text p { margin:18px 0 0; font-size:18px; line-height:1.65; color:#4a453f; max-width:480px; }
.santiago-hero-photo-wrap { justify-self:end; width:100%; max-width:660px; }
.santiago-hero-photo { width:100%; aspect-ratio: 660/455; object-fit:cover; object-position:50% 40%; border-radius:24px; display:block; }
.santiago-hero-divider { width:100%; max-width:1100px; height:auto; display:block; margin: clamp(22px,3vw,34px) auto 0; opacity:.9; }
@media (max-width:860px) {
  .santiago-hero-grid { grid-template-columns:1fr; }
  .santiago-hero-text { order:1; }
  .santiago-hero-photo-wrap { order:2; justify-self:stretch; max-width:none; }
  .santiago-hero-text h1, .santiago-hero-text p { max-width:none; }
}

/* 2. ¿Cómo nace? */
.santiago-story { background: var(--instagram-bg); padding: clamp(56px,8vw,92px) 0; }
.santiago-story-grid {
  display:grid; grid-template-columns: minmax(260px,1fr) minmax(240px,320px) minmax(220px,290px);
  gap: clamp(32px,4.5vw,52px); align-items:start;
}
.santiago-story-text p { margin:14px 0 0; font-size:16.5px; line-height:1.7; color:#3a3530; }
.santiago-story-text p:first-of-type { margin-top:18px; }
.santiago-story-photo { width:100%; aspect-ratio: 320/400; object-fit:cover; border-radius:18px; display:block; }
.santiago-timeline { position:relative; }
.santiago-timeline-shell { display:block; width:42px; height:auto; object-fit:contain; margin: 0 0 14px 2px; }
.santiago-timeline-points { position:relative; display:flex; flex-direction:column; gap: clamp(26px,3vw,34px); padding-left:28px; }
.santiago-timeline-points::before {
  content:''; position:absolute; left:5px; top:6px; bottom:6px; width:2px; background: var(--teal);
}
.santiago-timeline-point { position:relative; }
.santiago-timeline-point::before {
  content:''; position:absolute; left:-28px; top:3px; width:12px; height:12px; border-radius:50%;
  background: var(--cream); border:2.5px solid var(--coral); box-sizing:border-box;
}
.santiago-timeline-point h3 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:16px; color:var(--teal-dark); margin:0 0 6px; }
.santiago-timeline-point p { margin:0; font-size:14.5px; line-height:1.55; color:#4a554f; }
@media (max-width:860px) {
  .santiago-story-grid { grid-template-columns:1fr; gap:32px; }
  .santiago-story-photo { max-width:320px; }
}

/* 3. El Camino hoy */
.santiago-today { background: var(--teal-mist); padding: clamp(56px,8vw,92px) 0; }
.santiago-today-grid {
  display:grid; grid-template-columns: minmax(280px,1fr) minmax(280px,1fr);
  gap: clamp(32px,5vw,56px); align-items:center;
}
.santiago-today-text p { margin:16px 0 0; font-size:16.5px; line-height:1.7; color:#2f453f; }
.santiago-today-illustration { width:100%; max-width:560px; height:auto; object-fit:contain; justify-self:end; }
.santiago-stats-grid {
  display:grid;
  margin-top: clamp(44px,6vw,64px);
  border-top:1px solid rgba(18,95,87,.16); border-bottom:1px solid rgba(18,95,87,.16);
}
.santiago-stats-grid > div { padding: 24px 20px; border-right:1px solid rgba(18,95,87,.16); }
.santiago-stats-grid > div:last-child { border-right:none; }
.santiago-stat-num { font-family:'Fraunces',serif; font-weight:600; font-size: clamp(24px,2.4vw,32px); color: var(--teal-dark); }
.santiago-stat-label { font-size:13.5px; color:#4a5a54; margin-top:4px; line-height:1.4; }
@media (max-width:860px) {
  .santiago-today-grid { grid-template-columns:1fr; }
  .santiago-today-illustration { justify-self:center; order:2; max-width:420px; }
  .santiago-today-text { order:1; }
}
@media (max-width:860px) {
  .santiago-stats-grid > div:nth-child(2n) { border-right:none; }
  .santiago-stats-grid > div:nth-child(n+3) { border-top:1px solid rgba(18,95,87,.16); }
}

/* 4. Caminos hacia Santiago */
.santiago-routes { background: var(--cream); padding: clamp(56px,8vw,92px) 0; }
.santiago-routes .wrap { max-width: 1340px; }
.santiago-routes-intro { font-size:16.5px; color:#3a3530; margin:14px 0 0; }
.santiago-routes-grid {
  margin-top: clamp(40px,5vw,56px);
  display:grid; grid-template-columns: minmax(200px,1fr) minmax(220px,380px) minmax(200px,1fr);
  grid-template-areas: "r1 map r2" "r3 map r4";
  column-gap: clamp(28px,5vw,56px); row-gap: clamp(32px,4vw,44px);
  align-items:center;
}
.santiago-route-1 { grid-area:r1; } .santiago-route-2 { grid-area:r2; }
.santiago-route-3 { grid-area:r3; padding-top: clamp(24px,3vw,32px); border-top:1px solid rgba(18,95,87,.14); }
.santiago-route-4 { grid-area:r4; padding-top: clamp(24px,3vw,32px); border-top:1px solid rgba(18,95,87,.14); }
.santiago-routes-map-wrap { grid-area:map; display:flex; align-items:center; justify-content:center; }
.santiago-routes-map { width: clamp(260px,28vw,380px); height:auto; object-fit:contain; }
.santiago-route { display:flex; align-items:center; gap: clamp(14px,2vw,22px); }
.santiago-route-num { flex:none; font-family:'Fraunces',serif; font-weight:600; font-size:22px; color: var(--coral-dark); }
.santiago-route-icon { flex:none; width: clamp(64px,6vw,84px); height: clamp(64px,6vw,84px); object-fit:contain; }
.santiago-route-text { min-width:0; }
.santiago-route h3 { margin:0; font-size:19px; color:var(--teal-dark); display:flex; align-items:center; gap:8px; }
.santiago-route h3 svg { width:14px; height:14px; flex:none; transition: transform .2s ease; }
.santiago-route:hover h3 svg { transform: translateX(3px); }
.santiago-route p { margin:4px 0 0; font-size:15px; line-height:1.55; color:#4a554f; }
@media (max-width:860px) {
  .santiago-routes-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "r1" "r2" "map" "r3" "r4";
  }
  .santiago-route-3, .santiago-route-4 { border-top:none; padding-top:0; }
  .santiago-route-2 { padding-top: clamp(24px,3vw,32px); border-top:1px solid rgba(18,95,87,.14); }
}

/* 5. Duración */
.santiago-duration { background: linear-gradient(135deg, #0B5851 0%, var(--teal-dark) 55%, #07564F 100%); padding: clamp(56px,7vw,92px) 0; }
.santiago-duration-grid {
  display:grid; grid-template-columns: minmax(360px,1fr) minmax(260px,500px);
  gap: clamp(24px,4vw,48px); align-items:center;
}
.santiago-duration h2 { color: var(--cream); font-size: clamp(26px,3.4vw,40px); }
.santiago-duration-text p { margin:16px 0 0; color:#cfe4e1; font-size:17.5px; line-height:1.65; max-width:460px; }
.santiago-duration-quote { margin-top:18px; font-style:italic; color:#fff; font-size:18px; font-family:'Fraunces',serif; max-width:440px; }
.santiago-duration-img { width:100%; max-width:500px; height:auto; object-fit:contain; justify-self:end; }
@media (max-width:1180px) {
  .santiago-duration-grid { grid-template-columns:1fr; }
  .santiago-duration-img { order:2; justify-self:center; max-width:480px; margin-top:12px; }
  .santiago-duration-text { order:1; }
}

/* 6. Cierre y CTA */
.santiago-close { background: var(--cream); padding: clamp(56px,8vw,92px) 0; }
.santiago-close-grid {
  display:grid; grid-template-columns: minmax(300px,1.25fr) minmax(260px,1fr);
  gap: clamp(28px,4vw,48px); align-items:center;
}
.santiago-close-photo {
  width:100%; aspect-ratio: 16/9.2; object-fit:cover; border-radius:0; display:block;
  margin-top: calc(-1 * clamp(56px,8vw,92px));
  margin-bottom: calc(-1 * clamp(56px,8vw,92px));
}
.santiago-close-text p { margin:16px 0 0; font-size:17px; line-height:1.65; color:#3a3530; max-width:440px; }
.santiago-close-cta { margin-top:26px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.santiago-close-shell { width:30px; height:auto; object-fit:contain; }
.santiago-close-line { width:120px; height:auto; object-fit:contain; opacity:.9; }
@media (max-width:860px) {
  .santiago-close-grid { grid-template-columns:1fr; }
  .santiago-close-photo { order:1; margin-top:0; margin-bottom:0; border-radius:20px; }
  .santiago-close-text { order:2; }
}
