/* Formulario de contacto · portada (#contacto) */
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;max-width:560px;margin:34px auto 6px;text-align:left}
.contact-form .cf-full{grid-column:1/-1}
.contact .contact-form label{margin:0 0 8px}
.contact .contact-form label span{font-weight:500;letter-spacing:.5px;text-transform:none;opacity:.8}
.contact .contact-form select,
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form textarea{display:block;width:100%;background:#fafaf7;color:#191919;font:15px/1.4 Raleway,sans-serif;padding:13px 16px;border:1px solid transparent;border-radius:0;appearance:none;-webkit-appearance:none}
.contact .contact-form select{background:#fafaf7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237d133a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px;cursor:pointer}
.contact-form textarea{resize:vertical;min-height:88px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #A7D4E4;outline-offset:2px}
.contact-form [aria-invalid=true]{border-color:#F5ECC2;box-shadow:inset 0 0 0 1px #F5ECC2}
.cf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact .contact-form .cf-check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;letter-spacing:0;font-weight:500;margin:2px 0 0;cursor:pointer}
.cf-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:#A7D4E4;cursor:pointer}
.cf-check a{text-decoration:underline;text-underline-offset:3px}
.cf-send{justify-self:center;margin-top:8px;background:#F5ECC2;color:#7d133a;border:0;font:800 11px Raleway,sans-serif;letter-spacing:1.8px;padding:17px 38px;cursor:pointer;transition:background .25s,transform .25s,box-shadow .25s;box-shadow:5px 5px 0 #A7D4E4}
.cf-send:hover{background:#A7D4E4;transform:translate(-2px,-2px);box-shadow:7px 7px 0 #F5ECC2}
.cf-send:disabled{opacity:.6;cursor:wait;transform:none}
.contact .contact-form .cf-status{margin:4px 0 0;min-height:1.4em;text-align:center;font-size:14px;max-width:none}
.cf-status.is-error{color:#F5ECC2;font-weight:700}
.contact-form.is-sent>*:not(.cf-status){display:none}
.contact-form.is-sent .cf-status{font:28px/1.25 'DM Serif Display',serif;padding:26px 0 10px}
.contact-form.is-sent .cf-status small{display:block;font:15px/1.6 Raleway,sans-serif;margin-top:10px;opacity:.9}
@media (max-width:640px){.contact-form{grid-template-columns:1fr}.cf-send{justify-self:stretch}}
