/* Forms and legal reading layouts share the paper/ink theme. */
.contact-form-stage { padding-bottom:64px; }
.form-layout { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:64px; border-top:1px solid var(--kt-line-soft); padding-top:40px; }
.form-intro p { margin-top:20px; color:var(--kt-mist-200); font-size:1rem; }
.form-content,.form-section-fields,.field { min-width:0; }
.form-section { border:0; padding:0; margin:28px 0; }
.form-section-title { font-weight:550; margin-bottom:20px; padding:0; }
.form-section-number { display:none; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.form-row.one { grid-template-columns:1fr; }
.field { display:flex; flex-direction:column; gap:9px; }
.field-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; }
.field label { font-size:.94rem; font-weight:550; }
.field-status,.field-help,.form-help { color:var(--kt-mist-200); font-size:.82rem; }
.field input,.field textarea,.field select { display:block; width:100%; min-width:0; min-height:48px; border:1px solid var(--kt-field-border); border-radius:0; padding:10px 12px; background:var(--kt-ink-1000); color:var(--kt-paper-50); }
.field textarea { resize:vertical; }
.field input:hover,.field textarea:hover,.field select:hover { border-color:var(--kt-field-border-hover); }
.form-contact-choice { border:0; padding:0; margin:0; min-width:0; }
.form-contact-choice legend { font-weight:550; padding:0; }
.form-contact-choice .form-help { margin:8px 0 16px; }
.consent { display:flex; align-items:flex-start; gap:12px; font-size:.91rem; cursor:pointer; }
.consent input { flex:none; width:22px; height:22px; margin:4px 0 0; accent-color:var(--kt-jade-300); }
.optional-context { border-block:1px solid var(--kt-line-soft); padding:16px 0; }
.optional-context summary { min-height:32px; font-size:.92rem; }
.optional-context[open] summary { margin-bottom:20px; }
.form-submit { margin-top:24px; }
.form-submit .button { width:100%; }
.error-summary { border-left:3px solid var(--kt-vermilion-400); padding:16px; margin-bottom:24px; background:var(--kt-ink-950); color:var(--kt-paper-50); }
[aria-invalid='true'] { border-color:var(--kt-vermilion-400) !important; }
.field-error { color:var(--kt-vermilion-400); font-size:.84rem; }
.form-success h2 { margin-bottom:24px; }
.success-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.meeting-dialog { width:min(760px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:32px; border:1px solid var(--kt-line-strong); border-radius:0; background:var(--kt-ink-1100); color:var(--kt-paper-50); }
.meeting-dialog::backdrop { background:rgb(0 0 0 / 70%); }
.meeting-dialog__close { display:block; margin-left:auto; padding:10px 15px; border:1px solid var(--kt-field-border); border-radius:0; background:transparent; }
.diagnostic-schedule h3 { font:550 2rem/1.1 var(--sans); margin-block:20px; }
.diagnostic-schedule p { margin-bottom:20px; }
.meeting-confirmation { margin-top:24px; }
.calendar-mount iframe { width:100%; min-height:550px; border:0; }
.legal-hero { padding-block:40px; }
.legal-switcher ul { display:flex; flex-wrap:wrap; list-style:none; gap:12px 24px; margin:0 0 32px; padding:0; }
.legal-switcher a { padding-block:10px; display:inline-block; }
.legal-updated { margin-top:24px; color:var(--kt-mist-200); }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; padding-bottom:64px; }
.legal-index-list { margin:0; padding-left:20px; font-size:.85rem; }
.legal-index-list li { padding-block:5px; }
.legal-index-mobile { display:none; }
.legal-document { min-width:0; max-width:72ch; overflow-wrap:anywhere; }
.legal-document h2 { font-size:2rem; margin:40px 0 20px; }
.legal-document h2:first-child { margin-top:0; }
.legal-document h3 { margin:24px 0 14px; }
.legal-document p,.legal-document ul,.legal-document ol { margin-bottom:18px; }
.legal-document table { width:100%; border-collapse:collapse; font-size:.85rem; }
.legal-document th,.legal-document td { padding:12px; border:1px solid var(--kt-line-medium); text-align:left; overflow-wrap:anywhere; }
.legal-table-scroll { overflow:auto; max-width:100%; }
@media (max-width:1024px) { .form-layout { gap:40px; } .legal-layout { gap:32px; grid-template-columns:200px minmax(0,1fr); } }
@media (max-width:760px) { .form-layout { grid-template-columns:1fr; gap:28px; } .form-intro h2 { max-width:none; } .form-intro p { margin-top:14px; } .legal-layout { display:block; } .legal-index--desktop { display:none; } .legal-index-mobile { display:block; margin-bottom:28px; } .legal-index-mobile summary { padding:12px 0; } .legal-document h2 { font-size:1.8rem; } }
@media (max-width:480px) { .form-row { grid-template-columns:1fr; gap:18px; } .meeting-dialog { padding:20px; } }

.legal-document table { min-width:620px; }
.legal-table-scroll::before { content:'Tabla: desplázate horizontalmente para consultar todas las columnas.'; display:block; font-size:.82rem; margin-bottom:12px; }
.contact-alternatives{margin-top:34px;padding-top:24px;border-top:1px solid var(--kt-line-medium)}
.contact-alternatives a{display:block;min-height:44px;padding-block:10px;overflow-wrap:anywhere;font-size:.94rem}
.form-intro h2{font-size:2.75rem}
.form-row.context-fields{margin-bottom:30px}
.optional-context .field{margin-block:20px}
body[data-layout='contact'] .offer-hero{padding-bottom:40px}
body[data-layout='contact'] .form-layout{padding-top:35px}

@media(max-width:760px){body[data-layout='contact'] .offer-hero{padding-block:24px 28px;gap:18px}body[data-layout='contact'] .offer-hero h1{font-size:2.75rem}.form-intro h2{font-size:2rem}.form-intro p{margin-top:12px!important}.form-intro>p:last-of-type{display:none}.form-layout{gap:22px}body[data-layout='contact'] .form-layout{padding-top:24px}.contact-alternatives{margin-top:26px}.form-row.context-fields{margin-bottom:22px}.form-section{margin:22px 0}}
