.contact-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.contact-actions .contact-link{margin-left:0;padding:11px 15px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;font:700 10px Montserrat,sans-serif;cursor:pointer}.request-button{background:var(--green);color:white;border:1px solid var(--green)}.request-button:hover{background:var(--green-dark);color:#fff}.advisor-button{border:1px solid #d5e3d7;background:#fff;color:var(--green)}.advisor-button:hover{background:#edf5ec}.request-dialog{width:min(650px,calc(100% - 28px));max-height:min(92vh,850px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px #132e2052;color:var(--ink)}.request-dialog::backdrop{background:#10271dcc;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 27px 17px;border-bottom:1px solid var(--line)}.dialog-header h2{font:800 22px Montserrat,sans-serif;letter-spacing:-.04em;margin:0 0 5px}.dialog-header p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.5;max-width:470px}.dialog-eyebrow{color:var(--green);margin:0 0 8px;font-size:9px}.dialog-eyebrow span{background:#65a675}.dialog-close{border:0;background:#f0f5f0;border-radius:50%;width:32px;height:32px;color:#496455;font-size:22px;line-height:1;cursor:pointer}.request-form{padding:18px 27px 24px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}.request-field label{display:block;font-size:10px;font-weight:700;margin:0 0 6px;color:#34493d}.request-field input,.request-field select{width:100%;height:39px;border:1px solid #dce5dd;border-radius:7px;background:#fff;padding:0 10px;font:500 12px Montserrat,sans-serif;color:#203b2d;outline:none}.request-field input:focus,.request-field select:focus{border-color:#5f9c76;box-shadow:0 0 0 3px #176b4314}.consent-row{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:10px;line-height:1.5;color:#516459;cursor:pointer}.consent-row input{flex:none;margin:1px 0 0;accent-color:var(--green)}.consent-row a{color:var(--green);font-weight:700}.form-privacy-note{margin:14px 0 0;padding:10px;background:#f2f7f0;border-radius:7px;color:#6e7f72;font-size:9px;line-height:1.5}.request-submit{margin-top:14px}.request-form :invalid:not(:placeholder-shown){border-color:#c96b5f}@media(max-width:720px){.contact-actions{width:100%;margin:3px 0 0 46px;gap:8px}.contact-actions .contact-link{flex:1;justify-content:center;padding:10px 8px;font-size:9px}.dialog-header{padding:20px 18px 15px}.request-form{padding:16px 18px 20px}.request-grid{grid-template-columns:1fr;gap:11px}.request-dialog{max-height:94vh;overflow-y:auto}}@media(min-width:721px){.request-form{max-height:calc(92vh - 120px);overflow-y:auto}}
.rate-field input[readonly]{color:#587460;cursor:not-allowed}.rate-note{font-size:9px;color:#8b978e;margin:5px 0 0}

/* Solicitud de producto: readable type on desktop and mobile. */
.contact-actions .contact-link{font-size:13px}
.dialog-header h2{font-size:26px}
.dialog-header p:last-child{font-size:14px}
.dialog-eyebrow{font-size:11px}
.request-field label{font-size:14px}
.request-field input,.request-field select{height:44px;font-size:15px;padding-inline:12px}
.consent-row{font-size:14px;gap:11px}
.consent-row input{width:17px;height:17px}
.form-privacy-note{font-size:12px}
.request-submit{font-size:15px}
.request-submit:disabled,.request-submit:disabled:hover{background:#aebbb1;color:#f3f5f3;opacity:1;cursor:not-allowed;filter:none;transform:none}
.amortization{display:block;flex:1;min-height:0;margin:0;overflow:auto;overscroll-behavior:contain;border:1px solid #dfe8df;border-radius:8px;background:#fff}
.amortization table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;font-size:12px}
.amortization th,.amortization td{padding:9px 10px;border-bottom:1px solid #edf1ed;text-align:right;white-space:nowrap}
.amortization th{position:sticky;top:0;z-index:1;background:#edf4eb;color:#486151;font-size:11px}
.amortization th:nth-child(-n+2),.amortization td:nth-child(-n+2){text-align:center}
.amortization tbody tr:first-child{background:#f7f9f6;color:#68796d;font-weight:700}
.amortization tbody tr:last-child td{border-bottom:0}
.amortization-dialog{width:min(920px,calc(100% - 28px));max-height:90vh;padding:24px;border:0;border-radius:16px;box-shadow:0 24px 80px #132e2052;color:var(--ink)}
.amortization-dialog::backdrop{background:#10271dcc;backdrop-filter:blur(3px)}
.amortization-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.amortization-dialog-header h2{margin:0 0 5px;font:800 24px Montserrat,sans-serif}
.amortization-dialog-header p{margin:0;color:#52665a;font-size:14px}
.approximation-note{padding:12px 14px;margin:18px 0;background:#fff7e5;border:1px solid #f0dfb5;border-radius:8px;color:#66532c;font-size:13px;line-height:1.5}
.amortization-dialog .amortization table{min-width:900px;font-size:12px}
.amortization-dialog .amortization th,.amortization-dialog .amortization td{padding:10px 12px}
.amortization-values-note{flex:none;margin:0 0 8px;color:#718078;font-size:11px}
.amortization-metrics{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.amortization-metrics div{display:flex;flex-direction:column;gap:4px;padding:9px 11px;background:#f3f7f2;border:1px solid #e2eadf;border-radius:8px;min-width:0}
.amortization-metrics span{font-size:11px;color:#718078}
.amortization-metrics strong{font-size:14px;color:#17362b;overflow-wrap:anywhere}
.payment-day-field{margin-top:14px}
#term-limit-help{font-size:12px;line-height:1.4}
.amortization-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.amortization-actions button{border:1px solid #d5e3d7;border-radius:7px;padding:10px 16px;background:#fff;color:var(--green);font:700 14px Montserrat,sans-serif;cursor:pointer}
.amortization-actions .print-amortization{background:var(--green);border-color:var(--green);color:#fff}
.request-field{position:relative}
.email-domain-options{position:absolute;z-index:5;top:100%;left:0;right:0;max-height:190px;overflow:auto;background:#fff;border:1px solid #dce5dd;border-radius:7px;box-shadow:0 8px 20px #132e2020}
.email-domain-options[hidden]{display:none}
.email-domain-options button{display:block;width:100%;padding:9px 12px;border:0;background:#fff;text-align:left;color:#203b2d;font:500 14px Montserrat,sans-serif;cursor:pointer}
.email-domain-options button:hover,.email-domain-options button:focus{background:#edf5ec;outline:0}
.amortization-dialog{height:min(90vh,850px);overflow:hidden}
.amortization-dialog[open]{display:flex;flex-direction:column}
.amortization-dialog-header,.approximation-note,.amortization-actions{flex:none}
.amortization-dialog .amortization{flex:1;min-height:0}
.print-report-header,.print-summary{display:none}
@media(min-width:721px){
  .intro .eyebrow{font-size:12px}
  .intro h1{font-size:clamp(40px,4vw,48px)}
  .intro-text{font-size:clamp(14px,1.25vw,16px);line-height:1.65}
  .trust-note{font-size:13px;gap:11px}
  .trust-note strong{font-size:14px}
  .section-heading h2{font-size:22px}
  .section-heading p{font-size:14px}
  #simulator-form>label,.two-fields label{font-size:14px}
  .select-wrap select{height:46px;font-size:15px}
  .money-field{height:48px}
  .money-field input{font-size:18px}
  .hint,.range-labels,.field-help,.disclaimer{font-size:12px}
  .range-row input{height:6px}
  .rate-field{height:46px}
  .rate-field input{font-size:15px}
  .rate-field span,.rate-note{font-size:11px}
  #calculate-button{height:49px;font-size:15px}
  .result-kicker{font-size:11px}
  .result-label{font-size:14px}
  .payment{font-size:clamp(32px,3vw,38px)}
  .payment-caption{font-size:11px}
  .summary dt{font-size:13px}
  .summary dd{font-size:13px}
  .result-footer p{font-size:12px}
  .next-step h2{font-size:15px}
  .next-step p{font-size:13px;line-height:1.5}
  .contact-actions .contact-link{font-size:14px}
  footer{font-size:11px}
}
@media(max-width:720px){
  .contact-actions .contact-link{font-size:12px}
  .dialog-header h2{font-size:24px}
  .dialog-header p:last-child{font-size:14px}
  .request-form{padding:16px 18px 20px}
  .request-field label{font-size:14px}
  .request-field input,.request-field select{height:46px;font-size:16px}
  .consent-row{font-size:14px;line-height:1.55}
  .form-privacy-note{font-size:13px}
  .request-submit{width:100%;font-size:15px}
  .amortization-dialog{padding:18px;width:calc(100% - 20px);height:94vh;max-height:94vh}
  .amortization-dialog-header h2{font-size:21px}
  .amortization-dialog-header p{font-size:12px;line-height:1.5}
  .approximation-note{font-size:12px}
  .amortization-actions button{flex:1}
  .amortization-metrics{gap:6px}
  .amortization-metrics div{padding:7px}
  .amortization-metrics span{font-size:10px}
  .amortization-metrics strong{font-size:12px}
}
@media print{
  @page{margin:16mm}
  body *{visibility:hidden!important}
  .amortization-dialog[open],.amortization-dialog[open] *{visibility:visible!important}
  .amortization-dialog[open]{display:block;position:absolute;inset:0;margin:0;width:100%;height:auto;max-width:none;max-height:none;overflow:visible;padding:0;border:0;border-radius:0;box-shadow:none}
  .amortization-dialog-header .dialog-close,.amortization-actions{display:none!important}
  .print-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid #176b43}
  .print-report-brand{display:flex;flex-direction:column;gap:3px;color:#176b43}
  .print-report-brand strong{font:800 17pt Montserrat,sans-serif;letter-spacing:.06em}
  .print-report-brand span,.print-report-header p{font-size:9pt;color:#64756a;margin:0}
  .print-report-header h1{font:800 19pt Montserrat,sans-serif;color:#17362b;margin:0 0 4px}
  .print-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}
  .print-summary div{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid #dce5dd;border-radius:6px;break-inside:avoid}
  .print-summary span{font-size:8pt;color:#64756a}
  .print-summary strong{font-size:10pt;color:#17362b}
  .amortization-values-note{font-size:8pt;color:#64756a;margin:0 0 7px}
  .amortization-metrics{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
  .amortization-metrics div{padding:7px 9px;background:#f3f7f2!important;border-color:#dce5dd}
  .amortization-metrics span{font-size:8pt}
  .amortization-metrics strong{font-size:9pt}
  .amortization-dialog .amortization{display:block;flex:none;height:auto;min-height:0;overflow:visible;margin:0;border:0}
  .amortization-dialog .amortization table{min-width:0;font-size:9pt}
  .amortization-dialog .amortization th,.amortization-dialog .amortization td{padding:6px 8px}
  .amortization-dialog .amortization thead{display:table-header-group}
  .amortization-dialog .amortization tr{break-inside:avoid}
  .approximation-note{margin:13px 0;padding:9px 12px;border-color:#d7c48b;background:#fffaf0;color:#55491f;font-size:9pt}
}
