.hero-media img{object-position:92% 0}
.hero h1{max-width:none}

/* ---------- Camino en 7 pasos: scroll horizontal fijado (desktop) ---------- */
.path{background:var(--paper);color:var(--black)}
.path-pin{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:70px}
/* en una columna flex, margin:auto encoge el .wrap: se fuerza el ancho */
.path-pin>.wrap{width:100%}
.path-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.path-count{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.9rem);color:var(--gray-mid);white-space:nowrap}
.path-count b{font-weight:400;color:var(--accent)}
.path-bar{position:relative;height:2px;background:var(--line-light);margin-top:1.8rem}
.path-bar i{position:absolute;inset:0 auto 0 0;width:calc(var(--p,0)*100%);background:var(--accent)}
.track{display:flex;gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(2rem,5vh,3.4rem);padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-right:var(--gutter);will-change:transform;width:max-content}
.pstep{flex:none;width:clamp(260px,24vw,340px);min-height:clamp(300px,44vh,380px);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(1.4rem,2.4vw,2rem);border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-light);transition:background .6s var(--ease),color .6s,box-shadow .6s,transform .6s var(--ease)}
.pstep-top{display:flex;justify-content:space-between;align-items:flex-start}
.pstep .n{font-family:var(--serif);font-style:italic;font-size:clamp(2.6rem,4vw,3.6rem);line-height:.8;color:rgba(11,11,11,.12);transition:color .6s}
.pstep svg{width:48px;height:48px;color:var(--accent)}
.pstep h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.1;letter-spacing:-.01em}
.pstep p{margin-top:.7rem;font-size:.95rem;color:var(--gray-dark);transition:color .6s}
.pstep .tag{display:inline-block;margin-top:.9rem;font-size:.62rem;font-weight:700;letter-spacing:.18em;padding:.4rem .6rem;border-radius:8px;background:rgba(228,100,71,.12);color:var(--accent)}
.pstep.on{background:var(--black);color:#fff;box-shadow:none;transform:translateY(-8px)}
.pstep.on .n{color:var(--accent)}
.pstep.on p{color:rgba(247,247,247,.7)}
.pstep.last.on{background:var(--accent)}
.pstep.last.on svg,.pstep.last.on .n{color:#fff}
.pstep.last.on p{color:rgba(255,255,255,.85)}

/* ---------- Preguntas frecuentes ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.faq-l{position:sticky;top:120px}
.faq-l .btn{margin-top:2rem}
.faq{list-style:none;border-top:1px solid var(--line-light)}
.faq li{border-bottom:1px solid var(--line-light)}
.faq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;text-align:left;padding:clamp(1.2rem,2.4vw,1.7rem) 0;font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.2;transition:color .3s}
.faq button:hover{color:var(--accent)}
.faq .pm{flex:none;position:relative;width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-light);transition:background .4s,box-shadow .4s}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px -6px;background:currentColor;transition:transform .4s var(--ease)}
.faq .pm::after{transform:rotate(90deg)}
.faq [aria-expanded="true"] .pm{background:var(--accent);color:#fff;box-shadow:none}
.faq [aria-expanded="true"] .pm::after{transform:rotate(0)}
.faq .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.faq .ans>div{overflow:hidden}
.faq .ans p{padding:0 3rem 1.6rem 0;font-size:1rem}
.faq [aria-expanded="true"]+.ans{grid-template-rows:1fr}

@media (max-width:860px){
  /* En mobile el camino es una lista vertical con riel */
  .path-pin{position:static;height:auto;padding:clamp(4.5rem,12vw,6rem) 0;overflow:visible}
  .path-bar,.path-count{display:none}
  .track{flex-direction:column;width:auto;padding:0 var(--gutter);transform:none!important;gap:1rem}
  .pstep{width:auto;min-height:0;gap:1.2rem}
  .faq-grid{grid-template-columns:1fr}
  .faq-l{position:static}
}
