/* Estilos exclusivos de Contacto. Reutiliza los componentes de la plantilla. */
.contacto-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;color:var(--blue,#4876ff)}
.contacto-hero .hero-copy h1{max-width:700px}
.contacto-intro .section-heading{max-width:760px;margin-inline:auto}
.contacto-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:48px}
.contacto-step{border-top:2px solid var(--navy,#10192e);padding-top:24px}
.contacto-step-number{display:block;font-size:13px;font-weight:800;color:var(--blue,#4876ff);margin-bottom:30px}
.contacto-step h3{font-size:clamp(18px,2vw,25px);line-height:1.2;margin-bottom:12px}
.contacto-step p{font-size:14px;line-height:1.65}
.contacto-promise .story-copy p+p{margin-top:12px}
.contacto-valoracion{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start;scroll-margin-top:40px}
.contacto-form-copy h2{max-width:520px}
.contacto-form-copy>p{max-width:510px;line-height:1.7}
.contacto-status{border-left:4px solid var(--blue,#4876ff);background:var(--pale,#f2f6fc);padding:22px;margin-top:28px;border-radius:0 12px 12px 0}
.contacto-status strong{display:block;font-size:15px;margin-bottom:8px}
.contacto-status p{font-size:13px;line-height:1.6;margin:0}
.contacto-form-panel{background:var(--pale,#f2f6fc);border-radius:24px;padding:clamp(24px,4vw,54px)}
.contacto-form-panel h3{font-size:clamp(22px,2.4vw,32px);margin-bottom:8px}
.contacto-form-lead,.contacto-form-note{font-size:13px;line-height:1.6}
.contacto-form-panel fieldset{border:0;padding:0;margin:24px 0 0;min-width:0}
.contacto-form-panel legend{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.contacto-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contacto-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;min-width:0}
.contacto-field label{font-size:13px;font-weight:700}
.contacto-field input:not([type=checkbox]),.contacto-field textarea{box-sizing:border-box;width:100%;border:1px solid #c9d3e2;border-radius:8px;background:white;padding:14px 15px;font:inherit;font-size:14px;color:var(--navy,#10192e)}
.contacto-field textarea{resize:vertical}
.contacto-consent label{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}
.contacto-consent input{margin-top:4px}
.contacto-form-panel fieldset:disabled{opacity:.68}
.contacto-form-panel button:disabled{cursor:not-allowed}
.contacto-form-note{margin-top:18px}
.contacto-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}
.contacto-questions details{border-bottom:1px solid #d5dbe5;padding:20px 0}
.contacto-questions summary{cursor:pointer;font-size:16px;font-weight:700;line-height:1.4}
.contacto-questions details p{font-size:14px;line-height:1.7;margin-top:12px}
.contacto-close .contacto-kicker,.contacto-promise .contacto-kicker{color:#91e7ff}
@media(max-width:850px){.contacto-valoracion,.contacto-faq{grid-template-columns:1fr;gap:34px}.contacto-step-grid{gap:16px}}
@media(max-width:600px){.contacto-step-grid,.contacto-field-grid{grid-template-columns:1fr}.contacto-step-number{margin-bottom:14px}.contacto-step{padding-top:18px}.contacto-form-panel{padding:24px 18px}.contacto-valoracion{scroll-margin-top:16px}}

