.contacto-page{--verde:#2e7d32;--verde-oscuro:#1b5e20;--amarillo:#fdd835;--gris:#424242;--gris-suave:#6b6b6b;--linea:#e3e6e1;--fondo:#f6f8f4;--blanco:#ffffff;--serif:'Fraunces',Georgia,serif;--sans:'Inter',system-ui,sans-serif;color:var(--gris);background:var(--fondo);font-size:18px;line-height:1.7;overflow-x:clip;}
.contacto-page .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.contacto-page .hero{background:var(--verde);color:#fff;padding:64px 0 72px;position:relative;overflow:hidden;text-align:center;}
.contacto-page .hero::after{content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;border:40px solid rgba(255,255,255,.06);border-radius:50%;}
.contacto-page .hero .mini{font-size:15px;text-transform:uppercase;letter-spacing:.18em;color:var(--amarillo);margin-bottom:14px;}
.contacto-page .hero h1{font-family:var(--serif);font-weight:600;font-size:58px;line-height:1.05;margin-bottom:14px;}
.contacto-page .hero p{font-size:20px;max-width:560px;margin:0 auto;color:#eaf4ea;}
.contacto-page section{padding:60px 0;}
.contacto-page .titulo{font-family:var(--serif);font-weight:600;font-size:34px;color:var(--verde-oscuro);margin-bottom:8px;}
.contacto-page .subtitulo{color:var(--gris-suave);font-size:18px;margin-bottom:36px;}
.contacto-page .mapa-sec{background:var(--blanco);}
.contacto-page .mapa-sec iframe{display:block;width:100%;height:380px;border:0;border-radius:16px;}
.contacto-page .nota-mapa{font-size:15px;color:var(--gris-suave);margin-top:14px;}
.contacto-page .form-sec{background:var(--fondo);}
.contacto-page .form-card{background:var(--blanco);border:1px solid var(--linea);border-radius:20px;padding:44px;max-width:760px;margin:0 auto;}
.contacto-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.contacto-page .campo{display:flex;flex-direction:column;min-width:0;}
.contacto-page .campo.full{grid-column:1 / -1;}
.contacto-page .campo label{font-weight:600;font-size:16px;color:var(--gris);margin-bottom:8px;}
.contacto-page .campo label .req{color:var(--verde);}
.contacto-page .campo input,.contacto-page .campo select,.contacto-page .campo textarea{font-family:var(--sans);font-size:17px;color:var(--gris);padding:13px 15px;border:1.5px solid var(--linea);border-radius:10px;background:#fff;max-width:100%;transition:border-color .15s ease,box-shadow .15s ease;}
.contacto-page .campo input:focus,.contacto-page .campo select:focus,.contacto-page .campo textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px rgba(46,125,50,.12);}
.contacto-page .campo textarea{resize:vertical;min-height:130px;}
.contacto-page .tel-grupo{display:flex;gap:10px;}
.contacto-page .tel-grupo .tel-prefijo{flex:0 0 95px;}
.contacto-page .tel-grupo input{flex:1;min-width:0;}
.contacto-page .enviar{margin-top:28px;width:100%;background:var(--amarillo);color:#3a3000;font-family:var(--sans);font-weight:600;font-size:19px;border:none;border-radius:12px;padding:17px;cursor:pointer;transition:transform .12s ease,filter .15s ease;}
.contacto-page .enviar:hover{filter:brightness(.96);}
.contacto-page .enviar:active{transform:scale(.99);}
.contacto-page .privacidad{font-size:14px;color:var(--gris-suave);text-align:center;margin-top:16px;}
.contacto-page .privacidad a{color:var(--verde-oscuro);}
.contacto-page .candado{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--gris-suave);margin-bottom:26px;background:#eef5ee;border-radius:8px;padding:8px 14px;}
.contacto-page .candado svg{width:16px;height:16px;stroke:var(--verde);}
.contacto-page .faq-sec{background:var(--blanco);}
.contacto-page .faq-lista{display:flex;flex-direction:column;gap:16px;max-width:820px;}
.contacto-page .faq-item{background:var(--fondo);border:1px solid var(--linea);border-radius:14px;padding:24px 28px;}
.contacto-page .faq-item h3{font-family:var(--serif);font-weight:600;font-size:21px;color:var(--verde-oscuro);margin-bottom:8px;}
.contacto-page .faq-item p{font-size:17px;color:var(--gris);}
.contacto-page .faq-item a{color:var(--verde);font-weight:600;text-decoration:none;border-bottom:2px solid var(--amarillo);overflow-wrap:break-word;}
.contacto-page .aviso-form{margin:0 auto 24px;max-width:760px;padding:16px 20px;border-radius:12px;background:#e8f3e8;border:1px solid #bcdfbc;color:var(--verde-oscuro);font-weight:500;}
@media(max-width:720px){
.contacto-page .wrap{padding:0 18px;}
.contacto-page .hero{padding:48px 0 56px;}
.contacto-page .hero h1{font-size:40px;}
.contacto-page .form-grid{grid-template-columns:1fr;}
.contacto-page .form-card{padding:28px 20px;}
.contacto-page .titulo{font-size:28px;}
}
