.contact-page{min-height:100vh;display:flex;flex-direction:column}.contact-layout{width:min(1240px,100%);margin:0 auto;padding:74px clamp(22px,6vw,84px) 88px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);align-items:start;flex:1}.contact-intro{padding-top:23px}.contact-intro h1{font:600 clamp(58px,7vw,88px)/.88 var(--display);letter-spacing:-.09em;color:var(--pine);margin:23px 0}.contact-intro h1 em{font:italic 400 1em var(--display-serif);letter-spacing:-.05em;color:var(--orange)}.contact-intro>p:not(.eyebrow){max-width:400px;color:var(--muted);font-size:14px;line-height:1.85}.contact-coordinate{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:42px;padding-left:14px;border-left:2px solid var(--orange)}.contact-coordinate span,.contact-coordinate small{font:9px var(--mono);letter-spacing:.11em;color:var(--muted)}.contact-coordinate strong{font:600 14px var(--display);letter-spacing:.02em;color:var(--pine)}.contact-email{display:inline-flex;gap:10px;margin-top:23px;font:11px var(--mono);color:var(--pine);border-bottom:1px solid rgba(16,43,41,.2);padding-bottom:7px}.contact-email span{color:var(--orange)}.contact-form{padding:clamp(24px,4vw,42px);background:var(--paper);border:1px solid rgba(16,43,41,.1);box-shadow:0 20px 60px rgba(16,43,41,.09)}.contact-form__heading{margin-bottom:24px}.contact-form__heading h2{margin:7px 0;font:600 33px var(--display);letter-spacing:-.06em;color:var(--pine)}.contact-form__heading>p:last-child{margin:0;color:var(--muted);font-size:12px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.form-field{position:relative;display:flex;flex-direction:column;gap:8px;color:var(--pine);font-size:11px;font-weight:600}.form-field--full{grid-column:1/-1}.form-field input:not([type=file]),.form-field textarea{width:100%;border:1px solid rgba(16,43,41,.18);border-radius:0;background:#fffdf8;padding:12px 13px;font:12px var(--body);color:var(--pine);outline:none;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus{border-color:#4b8785;box-shadow:0 0 0 3px rgba(75,135,133,.13)}.form-field textarea{resize:vertical;min-height:132px;line-height:1.6;padding-bottom:25px}.field-counter{position:absolute;right:10px;bottom:10px;font:9px var(--mono);font-weight:400;color:var(--muted)}.form-label{font-size:11px;font-weight:600;color:var(--pine)}.form-label small{font-weight:400;color:var(--muted)}.upload-box{min-height:120px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed rgba(16,43,41,.32);background:rgba(220,233,233,.4);color:var(--pine);text-align:center;cursor:pointer;transition:background .2s,border-color .2s}.upload-box:hover{background:rgba(220,233,233,.75);border-color:#4b8785}.upload-mark{font:24px var(--display);color:var(--orange);line-height:1}.upload-box strong{font-size:12px}.upload-box small{font:9px var(--mono);color:var(--muted)}.upload-box input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-list{min-height:16px;margin:7px 0 0;color:var(--muted);font:9px var(--mono);overflow-wrap:anywhere}.form-submit{margin-top:20px;border:0;cursor:pointer}.form-submit:disabled{opacity:.7;cursor:wait}.form-status{min-height:20px;margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--pine)}.form-status--notice{color:#76541d}.form-status--success{color:#236047}.form-status--error{color:#a33b2b}.form-footnote{margin:5px 0 0;color:var(--muted);font-size:10px}.contact-footer{width:100%}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:32px;padding-top:47px;padding-bottom:56px}.contact-intro{padding-top:0}.contact-intro h1{font-size:64px;margin:18px 0}.contact-intro>p:not(.eyebrow){font-size:13px}.contact-coordinate{margin-top:24px}.contact-form{padding:24px 20px}.contact-footer{grid-template-columns:1fr auto}}
@media(max-width:480px){.contact-fields{grid-template-columns:1fr;gap:14px}.form-field--full{grid-column:auto}.contact-layout{padding-left:18px;padding-right:18px}.contact-form__heading h2{font-size:29px}.contact-footer .footer-top{font-size:8px}}
/* Contacto en teléfono: tipografía legible y campos cómodos para el teclado móvil. */
@media(max-width:760px){
  .contact-page{padding-bottom:env(safe-area-inset-bottom);overflow-wrap:break-word}
  .contact-page .site-header{height:auto;min-height:76px;padding:12px 18px;gap:12px;flex-wrap:wrap}
  .contact-page .header-link{display:flex;align-items:center;min-height:44px;font-size:10px;line-height:1.5}
  .contact-page .topline{height:auto;min-height:30px;line-height:1.6;padding:8px 15px;flex-wrap:wrap}
  .contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.75}
  .contact-layout{padding-top:35px}.contact-form{min-width:0;border-radius:9px;padding:25px 18px}
  .contact-fields{grid-template-columns:1fr;gap:20px}.form-field--full{grid-column:1/-1}
  .form-field,.form-label{font-size:14px;line-height:1.5}
  .form-field input:not([type=file]),.form-field textarea{font-size:16px;min-height:50px;border-radius:5px;padding:13px}
  .form-field textarea{min-height:160px}.field-counter{font-size:11px}
  .contact-form__heading>p:last-child{font-size:14px}.upload-box{min-height:150px;padding:16px;border-radius:6px}.upload-box strong{font-size:15px}.upload-box small{font-size:11px;line-height:1.6}.upload-box:focus-within{outline:3px solid #4b8785;outline-offset:3px}
  .form-submit{width:100%;min-height:52px;justify-content:space-between;font-size:12px}.form-status{font-size:14px}.form-footnote{font-size:12px;line-height:1.6}.file-list{font-size:11px;line-height:1.6}
  .contact-email{max-width:100%;font-size:12px;min-height:44px;align-items:center;overflow-wrap:anywhere}
}
