/* Contact-only proportions from the approved 1159px composition.
   No zoom or transforms on the page: layout remains responsive and reflows on mobile. */
@media (min-width:1100px) {
  body[data-page="/contacto"] { --cu:1px; }
  body[data-page="/contacto"] .signal-container { width:calc(100% - 96px); max-width:1280px; }
  .contact-signal .signal-hero { padding:calc(35 * var(--cu)) 0 calc(21 * var(--cu)); }
  .contact-signal .signal-intro { grid-template-columns:60% 40%; margin-bottom:calc(28 * var(--cu)); }
  .contact-signal .signal-kicker { font-size:calc(9 * var(--cu)); }
  .contact-signal .signal-intro .signal-kicker { margin-bottom:calc(11 * var(--cu)); gap:calc(18 * var(--cu)); }
  .contact-signal .signal-kicker>span { width:calc(36 * var(--cu)); height:calc(2 * var(--cu)); }
  .contact-signal h1 { font-size:calc(140 * var(--cu)); line-height:.78; }
  .contact-signal .signal-intro-copy { padding-left:calc(33 * var(--cu)); margin:calc(17 * var(--cu)) 0 0; }
  .contact-signal .signal-intro-copy h2 { font-size:calc(31 * var(--cu)); line-height:1.02; }
  .contact-signal .signal-intro-copy p { font-size:calc(19 * var(--cu)); margin-top:calc(10 * var(--cu)); line-height:1.2; }
  .contact-signal .signal-columns { grid-template-columns:48% 50%; gap:2%; }
  .contact-signal .signal-art { min-height:calc(470 * var(--cu)); margin:calc(-18 * var(--cu)) calc(-22 * var(--cu)) 0 calc(-49 * var(--cu)); mask-image:linear-gradient(180deg,transparent,#000 6%,#000 90%,transparent),linear-gradient(90deg,transparent,#000 8%,#000 89%,transparent); mask-composite:intersect; }
  .contact-signal .signal-art img { top:calc(-35 * var(--cu)); height:calc(100% + 35 * var(--cu)); object-fit:cover; object-position:center 50%; }
  .contact-signal .signal-direct { margin:0 10% 0 0; padding:calc(15 * var(--cu)) 0 calc(3 * var(--cu)); }
  .contact-signal .signal-direct .signal-kicker { font-size:calc(9 * var(--cu)); margin-bottom:calc(5 * var(--cu)); }
  .contact-signal .signal-email { font-size:calc(30 * var(--cu)); gap:calc(12 * var(--cu)); }
  .contact-signal .signal-email span { font-size:calc(29 * var(--cu)); }
  .contact-signal .signal-client { margin-top:calc(23 * var(--cu))!important; font-size:calc(12 * var(--cu)); }
  .contact-signal .signal-portal { font-size:calc(15 * var(--cu)); gap:calc(22 * var(--cu)); }
  .contact-signal .signal-portal span { font-size:calc(24 * var(--cu)); }
  .contact-signal .signal-card { padding:calc(16 * var(--cu)) calc(29 * var(--cu)) calc(22 * var(--cu)); border-radius:calc(6 * var(--cu)); }
  .contact-signal .signal-line { width:calc(30 * var(--cu)); height:calc(2 * var(--cu)); margin-bottom:calc(14 * var(--cu)); }
  .contact-signal .signal-form-heading { margin-bottom:calc(12 * var(--cu)); }
  .contact-signal .signal-form-heading h2 { font-size:calc(36 * var(--cu)); line-height:1.02; }
  .contact-signal .signal-form-heading p { font-size:calc(18 * var(--cu)); margin-top:calc(8 * var(--cu)); }
  .contact-signal .contact-form { gap:calc(13 * var(--cu)); }
  .contact-signal .signal-topics legend { font-size:calc(9 * var(--cu)); margin-bottom:calc(8 * var(--cu)); }
  .contact-signal .signal-topic-options { gap:calc(7 * var(--cu)); flex-wrap:nowrap; }
  .contact-signal .signal-topic-options button { font-size:calc(12 * var(--cu)); flex:1 1 auto; min-height:calc(36 * var(--cu)); padding:calc(8 * var(--cu)) calc(10 * var(--cu)); border-radius:calc(5 * var(--cu)); }
  .contact-signal .signal-topic-options button[aria-pressed=true]:before { width:calc(19 * var(--cu)); height:calc(19 * var(--cu)); margin-right:calc(5 * var(--cu)); font-size:calc(12 * var(--cu)); }
  .contact-signal .signal-reason-context { font-size:calc(11 * var(--cu))!important; margin-top:calc(7 * var(--cu))!important; }
  .contact-signal .form-grid { gap:calc(22 * var(--cu)); }
  .contact-signal .contact-form label { font-size:calc(12 * var(--cu)); }
  .contact-signal .contact-form input:not([type=checkbox]),.contact-signal .contact-form select,.contact-signal .contact-form textarea { padding:calc(9 * var(--cu)) calc(12 * var(--cu)); margin-top:calc(5 * var(--cu)); font-size:calc(13 * var(--cu)); border-radius:calc(4 * var(--cu)); }
  .contact-signal .contact-form input:not([type=checkbox]),.contact-signal .contact-form select { height:calc(38 * var(--cu)); min-height:0; }
  .contact-signal .contact-form textarea { height:calc(73 * var(--cu)); min-height:calc(73 * var(--cu)); }
  .contact-signal .ct-safety { font-size:calc(11 * var(--cu)); margin-top:calc(-12 * var(--cu)); }
  .contact-signal .contact-form .consent { font-size:calc(11 * var(--cu)); gap:calc(10 * var(--cu)); }
  .contact-signal .consent input { width:calc(18 * var(--cu)); height:calc(18 * var(--cu)); flex-basis:calc(18 * var(--cu)); }
  .contact-signal #contact-submit { min-height:calc(48 * var(--cu)); padding:calc(9 * var(--cu)) calc(22 * var(--cu)); font-size:calc(19 * var(--cu)); border-radius:calc(5 * var(--cu)); }
  .contact-signal .signal-submit-arrow { width:calc(31 * var(--cu)); height:calc(31 * var(--cu)); font-size:calc(25 * var(--cu)); }
  .contact-signal .signal-note { font-size:calc(11 * var(--cu)); margin-top:calc(10 * var(--cu)); }
  .contact-signal .form-status { font-size:calc(13 * var(--cu)); }
  .contact-signal .signal-next { padding:calc(30 * var(--cu)) 0 calc(17 * var(--cu)); }
  .contact-signal .signal-process { padding-bottom:calc(21 * var(--cu)); }
  .contact-signal .signal-process .signal-kicker { font-size:calc(9 * var(--cu)); margin-bottom:calc(12 * var(--cu)); }
  .contact-signal .signal-process h2 { font-size:calc(36 * var(--cu)); }
  .contact-signal .signal-process li { padding:0 calc(18 * var(--cu)) calc(3 * var(--cu)) calc(30 * var(--cu)); }
  .contact-signal .signal-process li>span { font-size:calc(23 * var(--cu)); margin-bottom:calc(10 * var(--cu)); }
  .contact-signal .signal-process h3 { font-size:calc(16 * var(--cu)); margin-bottom:calc(7 * var(--cu)); }
  .contact-signal .signal-process li p { font-size:calc(15 * var(--cu)); }
  .contact-signal .signal-help { padding-top:calc(12 * var(--cu)); }
  .contact-signal .signal-incident { gap:calc(23 * var(--cu)); padding-right:calc(20 * var(--cu)); }
  .contact-signal .signal-incident svg { width:calc(40 * var(--cu)); height:calc(40 * var(--cu)); flex-basis:calc(40 * var(--cu)); }
  .contact-signal .signal-incident h3 { font-size:calc(19 * var(--cu)); margin-bottom:calc(4 * var(--cu)); }
  .contact-signal .signal-incident p { font-size:calc(14 * var(--cu)); }
  .contact-signal .signal-faq { padding-left:calc(28 * var(--cu)); }
  .contact-signal .signal-faq summary { font-size:calc(13 * var(--cu)); padding:calc(6 * var(--cu)) 0; gap:calc(10 * var(--cu)); }
  .contact-signal .signal-faq summary span { font-size:calc(25 * var(--cu)); }
  .contact-signal .signal-faq details p { font-size:calc(13 * var(--cu)); padding:calc(4 * var(--cu)) calc(24 * var(--cu)) calc(14 * var(--cu)) 0; }
  body[data-page="/contacto"] .footer { padding:calc(21 * var(--cu)) 0 calc(14 * var(--cu)); }
  body[data-page="/contacto"] .footer .container { width:calc(100% - 96px); max-width:1280px; }
  body[data-page="/contacto"] .footer-grid { grid-template-columns:1.05fr 1.05fr .8fr 1fr; gap:calc(50 * var(--cu)); }
  body[data-page="/contacto"] .footer .brand { width:calc(166 * var(--cu)); }
  body[data-page="/contacto"] .footer h2 { font-size:calc(12 * var(--cu)); margin:0 0 calc(8 * var(--cu)); }
  body[data-page="/contacto"] .footer-grid>div>a:not(.brand) { font-size:calc(12 * var(--cu)); line-height:1.4; margin:0; padding:0; }
  body[data-page="/contacto"] .footer p { font-size:calc(12 * var(--cu)); margin-top:calc(10 * var(--cu)); line-height:1.4; }
  body[data-page="/contacto"] .footer-bottom { margin-top:calc(15 * var(--cu)); padding-top:calc(12 * var(--cu)); font-size:calc(10 * var(--cu)); }
  body[data-page="/contacto"] .footer-bottom>span:nth-child(2) { max-width:calc(580 * var(--cu)); }
}

/* Desktop uses ordinary UI sizes, independent of the monitor resolution.
   Keep normal browser zoom and the existing tablet/mobile reflow. */
@media (min-width:1100px) {
  .contact-signal .signal-hero { padding:30px 0 28px; }
  .contact-signal .signal-intro { grid-template-columns:56% 44%; margin-bottom:24px; align-items:center; }
  .contact-signal h1 { font-size:clamp(80px,7vw,100px); line-height:1; }
  .contact-signal .signal-intro-copy { margin:0; padding-left:28px; }
  .contact-signal .signal-intro-copy h2 { font-size:26px; line-height:1.1; }
  .contact-signal .signal-intro-copy p { font-size:16px; line-height:1.4; }
  .contact-signal .signal-columns { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; }
  .contact-signal .signal-art { min-height:350px; margin:-10px -16px 0 -24px; }
  .contact-signal .signal-art img { object-fit:cover; top:-18px; height:calc(100% + 18px); }
  .contact-signal .signal-direct { margin-right:8%; }
  .contact-signal .signal-email { font-size:26px; }
  .contact-signal .signal-client { margin-top:14px!important; }
  .contact-signal .signal-card { padding:22px 28px; }
  .contact-signal .signal-form-heading h2 { font-size:30px; line-height:1.08; }
  .contact-signal .signal-form-heading p { font-size:16px; }
  .contact-signal .signal-form-heading { margin-bottom:18px; }
  .contact-signal .contact-form { gap:12px; }
  .contact-signal .contact-form label { font-size:13px; }
  .contact-signal .contact-form input:not([type=checkbox]),.contact-signal .contact-form select { font-size:15px; height:42px; }
  .contact-signal .contact-form textarea { font-size:15px; height:78px; min-height:78px; }
  .contact-signal .signal-topic-options button { font-size:12px; padding:8px; min-height:36px; }
  .contact-signal .ct-safety,.contact-signal .contact-form .consent,.contact-signal .signal-note { font-size:12px; }
  .contact-signal #contact-submit { font-size:16px; min-height:46px; }
  .contact-signal .signal-submit-arrow { width:27px; height:27px; font-size:22px; }
  .contact-signal .signal-next { padding:26px 0 20px; }
  .contact-signal .signal-process h2 { font-size:28px; }
  .contact-signal .signal-process h3 { font-size:15px; }
  .contact-signal .signal-process li p { font-size:14px; }
  .contact-signal .signal-process li { padding-left:24px; padding-right:12px; }
  .contact-signal .signal-incident h3 { font-size:17px; }
  .contact-signal .signal-incident p { font-size:13px; }
}
@media (min-width:1100px) and (max-width:1240px) {
  .contact-signal .signal-columns { gap:24px; }
  .contact-signal .signal-card { padding:22px; }
  .contact-signal .signal-topic-options { flex-wrap:wrap; }
  .contact-signal .signal-topic-options button { flex:1 1 44%; }
}
