/* Contacto V4: tipografía, espacio y una conversación clara. */
.contact-layout{display:grid;grid-template-columns:1fr 1.08fr;align-items:stretch}
.contact-intro{background:var(--navy);color:white;padding:66px 10% 52px;display:flex;flex-direction:column;min-width:0}
.contact-intro h1{font-size:clamp(43px,4.5vw,73px);letter-spacing:-.055em;line-height:1.06;margin:42px 0 30px}
.contact-lead{color:#c9d4df;max-width:355px;font-size:22px;line-height:1.45}
.contact-coordinate{border-top:1px solid #ffffff40;padding-top:27px;margin-top:auto}
.contact-caption{font:11px/1.6 Mono,monospace;letter-spacing:.08em;display:block}
.contact-coordinate>a{font:clamp(22px,2.2vw,33px)/1.5 Onest,sans-serif;letter-spacing:-.03em;display:flex;justify-content:space-between;gap:15px;margin:10px 0}
.contact-coordinate>a span{color:var(--pink)}
.contact-coordinate p{font-size:15px;color:#c9d4df;margin:0}
.contact-compose{padding:56px 10% 60px;min-width:0}
.contact-section-label{display:flex;justify-content:space-between;align-items:center;gap:15px;font:10px Mono;letter-spacing:.06em}
.contact-section-label>span:last-child{color:var(--pink);font:32px Onest}
.contact-compose h2{font-size:clamp(33px,3.2vw,48px);margin:20px 0}
.compose-intro{font-size:18px;color:#526373;max-width:440px;margin-bottom:29px}
.interest-group{padding:0;margin:0 0 27px;border:0;min-width:0}
.interest-group legend{font:14px Onest;margin-bottom:12px}
.interest-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.interest-options label{position:relative;min-width:0}
.interest-options input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0}
.interest-options label>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:71px;padding:11px 6px;border:1px solid #10294030;border-radius:3px;font:13px Onest;cursor:pointer;gap:6px}
.interest-options small{font:12px Source;color:#526373}
.interest-options input:checked+span{background:var(--navy);color:white;border-color:var(--navy);box-shadow:inset 0 -3px var(--pink)}
.interest-options input:checked+span small{color:#d4dde5}
.interest-options input:focus-visible+span{outline:3px solid var(--blue);outline-offset:4px}
.interest-help{grid-column:1/-1}
.interest-options .interest-help>span{min-height:42px;font:13px Source;flex-direction:row}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}
.contact-fields label{font:14px Onest}
.contact-fields label>span{color:var(--pink)}
.contact-fields small{font:12px Source;color:#526373}
.contact-fields input,.contact-fields textarea{border:0;border-bottom:1px solid #10294050;border-radius:0;background:white;color:var(--navy);padding:12px 0;font:16px/1.5 Source;margin-top:3px}
.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:#62717e;opacity:1}
.contact-fields textarea{min-height:104px}
.contact-need{grid-column:1/-1}
.contact-privacy{font-size:14px;line-height:1.5;color:#526373;margin:18px 0}
.contact-submit{width:100%;justify-content:space-between;background:var(--navy)}
.contact-submit:hover{background:var(--blue)}
.contact-submit:disabled{opacity:.55;cursor:wait}
.program-context{padding:12px 15px;border-left:3px solid var(--pink);background:var(--gray);font-size:15px}
.program-context input{background:white;color:var(--navy);border:1px solid #10294040;font-size:16px}
.program-context small{color:#526373}
.message-preview{margin-top:34px;padding-top:24px;border-top:2px solid var(--pink);scroll-margin-top:115px}
.message-preview h3{font-size:30px;margin:14px 0}
.preview-state{font-size:15px;color:#526373}
.preview-subject{font:15px/1.5 Onest;overflow-wrap:anywhere;margin-bottom:15px}
.message-preview pre{font:16px/1.6 Source;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--gray);padding:20px;margin:0 0 22px}
.preview-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.copy-message{border:0;border-bottom:1px solid #10294060;background:none;color:var(--navy);font:14px Onest;padding:13px 0}
.copy-status{font-size:14px;line-height:1.5;margin:14px 0 0;color:#526373}
.contact-after{padding:66px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.contact-after .contact-caption{margin-bottom:18px}
.contact-after h2{font-size:34px}
.contact-after p{font-size:20px;line-height:1.5;color:#526373;margin:0;max-width:530px}
@media(min-width:1600px){.contact-intro,.contact-compose{padding-left:12%;padding-right:12%}}
@media(max-width:1000px){.contact-intro,.contact-compose{padding-left:7%;padding-right:7%}.contact-intro h1{font-size:44px}.interest-options{grid-template-columns:1fr 1fr}.contact-fields{grid-template-columns:1fr}.contact-intro{padding-top:55px}.contact-compose{padding-top:42px}.contact-coordinate>a{font-size:24px}}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr}.contact-intro{padding:37px 6%}.contact-intro h1{font-size:clamp(39px,9vw,55px);margin:26px 0 21px}.contact-lead{font-size:20px;margin-bottom:28px}.contact-coordinate{margin-top:0;padding-top:19px}.contact-coordinate>a{font-size:25px}.contact-compose{padding:38px 6% 46px}.contact-compose h2{font-size:37px}.contact-fields{gap:23px}.contact-after{grid-template-columns:1fr;gap:24px;padding:43px 0}.contact-after h2{font-size:30px}.contact-after p{font-size:18px}.interest-options label>span{min-height:69px}.contact-intro .eyebrow{font-size:10px}}
