/* Páginas internas de CPG. Usa los tokens de estilos.css. */
.cabeza{padding:clamp(56px,10vh,120px) var(--borde) clamp(32px,6vh,64px);max-width:1100px;margin:0 auto;display:grid;gap:18px;justify-items:center;text-align:center}
.cabeza h1{font-size:clamp(38px,6vw,88px)}
.cabeza p{color:var(--suave);max-width:56ch;font-size:clamp(15px,1.3vw,18px)}
.portada-img{margin:0 var(--borde);max-width:1240px;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);position:relative;aspect-ratio:16/9}
@media (min-width:1300px){.portada-img{margin:0 auto}}
.portada-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.portada-img{aspect-ratio:4/5}}
.bloque{padding:clamp(48px,9vh,100px) var(--borde);max-width:1240px;margin:0 auto;display:grid;gap:clamp(28px,5vh,48px)}
.bloque>h2,.bloque-head h2{font-size:clamp(28px,3.4vw,48px)}
.bloque-head{display:grid;gap:12px;max-width:720px}
.bloque-head p{color:var(--suave)}
.texto-largo{max-width:68ch;display:grid;gap:18px;font-size:17px}
.texto-largo p{color:var(--texto)}
.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.datos div{background:var(--tarjeta);border-radius:var(--radio);box-shadow:var(--sombra);padding:22px;display:grid;gap:4px}
.datos b{font-size:clamp(26px,2.6vw,36px);font-weight:300;letter-spacing:-.03em;line-height:1.1}
.datos span{font-size:13px;color:var(--suave)}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.galeria figure{margin:0;position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--sombra);aspect-ratio:4/3;background:var(--plomo)}
.galeria figure.alta{aspect-ratio:4/5}
.galeria img{width:100%;height:100%;object-fit:cover}
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:p}
.pasos li{background:var(--tarjeta);border-radius:var(--radio);box-shadow:var(--sombra);padding:24px;display:grid;gap:8px;align-content:start}
.pasos li::before{counter-increment:p;content:counter(p,decimal-leading-zero);font-size:12px;font-weight:600;color:var(--azul);letter-spacing:.1em}
.pasos h3{font-size:18px;font-weight:600}
.pasos p{font-size:14px;color:var(--suave)}
.tabla{display:grid;border-top:1px solid var(--linea)}
.tabla>div{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:16px 32px;padding:18px 0;border-bottom:1px solid var(--linea)}
.tabla dt,.tabla>div>b{font-weight:600}
.tabla dd,.tabla>div>span{margin:0;color:var(--suave)}
@media (max-width:600px){.tabla>div{grid-template-columns:1fr;gap:4px}}
.preguntas{display:grid;border-top:1px solid var(--linea);max-width:860px}
.preguntas details{border-bottom:1px solid var(--linea)}
.preguntas summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:600;font-size:17px;display:flex;justify-content:space-between;gap:16px}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"+";font-weight:300;font-size:22px;line-height:1}
.preguntas details[open] summary::after{content:"−"}
.preguntas details p{padding:0 0 20px;color:var(--suave);max-width:70ch}
.equipo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.equipo div{background:var(--tarjeta);border-radius:var(--radio);box-shadow:var(--sombra);padding:22px;display:grid;gap:4px}
.equipo b{font-size:17px;font-weight:600}
.equipo span{font-size:13px;color:var(--suave)}
.formulario{display:grid;gap:14px;max-width:640px}
.formulario label{display:grid;gap:6px;font-size:13px;font-weight:600}
.formulario input,.formulario select,.formulario textarea{font:inherit;font-weight:400;font-size:16px;padding:12px 14px;border-radius:10px;border:1px solid rgba(56,56,54,.25);background:var(--tarjeta);color:var(--texto)}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{outline:2px solid var(--azul);outline-offset:1px}
.ficha-estado{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--azul)}
.ficha-estado i{width:8px;height:8px;border-radius:50%;background:var(--azul)}
.cierre.compacto{margin-top:clamp(24px,5vh,56px)}
