/* Contacto (rediseño 4-nov-2026): formulario corto + lateral breve.
   Tokens del sistema de precisión; los campos usan .field/.label/.form-input. */

.ns-contact__grid{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.ns-contact__grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,5vw,72px);align-items:start}}

.ns-contact__form .pr-h3{margin:0 0 20px}
.ns-contact__form form{display:grid;gap:18px}
.ns-contact__form .field{margin:0}
.ns-contact__row{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.ns-contact__row{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ns-contact__submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:4px}
.ns-contact__fine{margin:0;font-size:13.5px;color:var(--pr-text-3)}
.ns-contact__fine a{color:inherit;text-decoration:underline}
.ns-contact__ok{padding:14px 16px;border:1px solid var(--pr-line-strong);border-radius:12px;color:var(--pr-text-2);font-size:15px;line-height:1.55}
.ns-contact__ok strong{color:var(--pr-text)}

.ns-contact__aside{display:grid;gap:20px;align-content:start}
.ns-contact__steps{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:step}
.ns-contact__steps li{position:relative;padding-left:40px;font-size:15.5px;line-height:1.55;color:var(--pr-text-2);counter-increment:step}
.ns-contact__steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--pr-cyan)}
.ns-contact__steps strong{color:var(--pr-text);font-weight:600}
.ns-contact__offer{display:grid;gap:10px}
.ns-contact__price{margin:0;font-family:var(--font-heading);font-size:1.25rem;font-weight:650;color:var(--pr-text)}
.ns-contact__text{margin:0;font-size:15px;line-height:1.55;color:var(--pr-text-2)}
.ns-contact__text a{color:var(--pr-text);text-decoration:underline}

/* Campos: relleno y alto propios (fuera del .panel del dossier no heredan padding). */
.ns-contact .form-input{box-sizing:border-box;min-height:48px;padding:12px 14px;border-radius:10px;font-size:16px;line-height:1.4}
.ns-contact select.form-input{padding-right:36px}
.ns-contact textarea.form-input{min-height:120px;resize:vertical}
.ns-contact .form-status:not(:has(*)){display:none}
.ns-contact .form-status{margin:0}
