@font-face{font-family:ContactMontserrat;src:url('assets/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:ContactMontserrat;src:url('assets/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:ContactCormorant;src:url('assets/fonts/CormorantGaramond-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
.contact-hero{position:relative;overflow:hidden}
.contact-hero .canva-art,.contact-footer .canva-art{overflow:hidden}
.contact-section{--contact-ink:#18305c;--contact-muted:#18305c;--contact-surface:#f1f4fa;--contact-line:#dce3ef;padding:clamp(32px,5.6vw,80px) clamp(16px,5.6vw,80px) 0;background:#fff;color:var(--contact-ink);font-family:ContactMontserrat,Arial,sans-serif}
.contact-panel{max-width:1200px;margin:0 auto;padding:16px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;border-radius:12px;background:linear-gradient(120deg,#f3f5f7 0%,#f1f4fa 100%)}
.contact-intro{padding:24px}
.contact-eyebrow{margin:0 0 16px;font-size:11px;font-weight:500;letter-spacing:2.8px;text-transform:uppercase;display:flex;align-items:center;gap:16px}
.contact-eyebrow::after{content:"";height:1px;width:32px;background:#9ba9c2}
.contact-section h2{margin:0 0 16px;font-family:ContactCormorant,Georgia,serif;font-size:clamp(32px,2.8vw,36px);font-weight:600;letter-spacing:-.6px;line-height:1.1;color:var(--contact-ink)}
.contact-lead{max-width:360px;margin:0;color:var(--contact-muted);font-size:16px;line-height:1.5}
.contact-details{margin:32px 0 0;display:grid;gap:32px}
.contact-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start}
.contact-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e3e9f3;border:5px solid #e3e9f3;box-shadow:inset 0 0 0 4px #f8fafb}
.contact-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.contact-detail dt{margin:0 0 8px;font:600 22px/1.2 ContactCormorant,Georgia,serif}
.contact-detail dd{margin:0;color:var(--contact-muted);font-size:14px;line-height:1.5}
.contact-detail a{display:inline-block;margin-top:8px;color:var(--contact-ink);text-decoration:none;font-weight:500;overflow-wrap:anywhere}
.contact-detail a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-detail a:focus-visible,.contact-section button:focus-visible,.contact-status a:focus-visible{outline:3px solid #b98421;outline-offset:5px;border-radius:3px}
.contact-form-card{padding:24px;border:1px solid var(--contact-line);border-radius:12px;background:rgba(255,255,255,.96)}
.contact-form-card h2{margin-bottom:8px}
.contact-form-description{margin:0 0 24px;color:var(--contact-muted);font-size:16px;line-height:1.5;max-width:460px}
.contact-form{display:grid;gap:16px}
.contact-field{display:grid;gap:8px}
.contact-field label{font-size:14px;line-height:1.4;font-weight:500;color:var(--contact-ink)}
.contact-field input,.contact-field select,.contact-field textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid transparent;border-radius:8px;background:var(--contact-surface);color:var(--contact-ink);font:400 16px/1.5 ContactMontserrat,Arial,sans-serif;padding:8px 16px;transition:background-color .18s,border-color .18s,box-shadow .18s}
.contact-field input{height:48px}
.contact-field select{height:48px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2318305c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}
.contact-field textarea{min-height:112px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#647494;opacity:1;font-size:14px}
.contact-field input:hover,.contact-field textarea:hover,.contact-field select:hover{background-color:#e8edf7}
.contact-field input:focus,.contact-field textarea:focus,.contact-field select:focus{outline:0;border-color:#647494;background-color:#fafcfd;box-shadow:0 0 0 3px rgba(24,48,92,.12)}
.contact-field [aria-invalid=true]{border-color:#a34242;background-color:#fff8f7}
.contact-error{color:#8e3030;font-size:12px;line-height:1.4;margin:0}
.contact-error[hidden],.contact-status[hidden]{display:none}
.contact-submit{display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-height:48px;margin-top:0;padding:8px 24px;border:1px solid var(--contact-ink);border-radius:999px;background:var(--contact-ink);color:#fff;font:500 16px/1.5 ContactMontserrat,Arial,sans-serif;cursor:pointer;transition:background-color .18s,box-shadow .18s}
.contact-submit:hover{background:#254579;box-shadow:0 4px 12px rgba(24,48,92,.15)}
.contact-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.contact-submit:hover svg{transform:translateX(3px)}
.contact-note{margin:0;color:var(--contact-muted);font-size:12px;line-height:1.5;text-align:center}
.contact-status{padding:16px;margin:0;border-left:3px solid #647494;border-radius:4px;background:#f1f4fa;color:var(--contact-ink);font-size:14px;line-height:1.5}
.contact-status p{margin:0 0 8px}
.contact-status a{color:inherit;text-underline-offset:3px}
.contact-status a[hidden]{display:none}
.contact-status[data-state=error]{border-color:#a34242;background:#fff8f7}
.contact-status[data-state=success]{border-color:#3d7456;background:#eff7f2}
.contact-submit:disabled{opacity:.7;cursor:wait}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-footer{background:#fff}
.contact-section:focus{outline:none}
@media(max-width:900px){.contact-panel{gap:16px}.contact-intro{padding:16px 8px}.contact-section h2{font-size:32px}.contact-form-card{padding:24px 16px}.contact-lead,.contact-form-description{font-size:14px}.contact-field input::placeholder,.contact-field textarea::placeholder{font-size:13px}}
@media(max-width:720px){.contact-section{padding:32px 16px 0}.contact-panel{grid-template-columns:1fr;gap:32px;padding:16px}.contact-intro{padding:16px 8px 0}.contact-section h2{font-size:32px}.contact-lead{max-width:none}.contact-details{gap:24px}.contact-form-card{padding:24px 16px}.contact-footer{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field select,.contact-field textarea,.contact-submit,.contact-submit svg{transition:none}.contact-submit:hover svg{transform:none}}
/* Contacto: portada completa con salida blanca suave y sin reglas. */
.page-contact .site-header{border-bottom:0}
.page-contact .site-shell>.exact-page{margin-top:0}
.page-contact .contact-hero{
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}
.page-contact .contact-hero::after{content:none;display:none}
.page-contact .contact-hero-copy>p::after{content:none;display:none}
.page-contact .contact-section{
  padding-top:40px;
  border-top:0;
  box-shadow:none;
  background:#fff;
}
@media(max-width:1100px){
  .page-contact .contact-hero{padding:64px clamp(20px,4vw,48px) 96px;min-height:520px}
  .page-contact .contact-hero::after{
    content:"";
    display:block;
    position:absolute;
    inset:auto 0 0;
    height:96px;
    background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.28) 40%,rgba(255,255,255,.60) 60%,rgba(255,255,255,.88) 80%,#fff 100%);
    pointer-events:none;
    z-index:0;
  }
  .page-contact .contact-hero-copy>h1,.page-contact .contact-hero-copy>p{position:relative;z-index:1}
  .page-contact .contact-section{padding-top:24px}
}

.contact-hero-copy{position:relative;z-index:1}
@media(min-width:1101px){.contact-hero-copy{position:absolute;inset:0;pointer-events:none}}
