.pm-contact-page{background:#fffdfa;color:#282423}.pm-contact-page h1,.pm-contact-page h2,.pm-contact-page h3{font-family:'Poppins',sans-serif}.pm-contact-page h1{font-size:clamp(2.6rem,4vw,4rem);line-height:1.06;letter-spacing:-.055em;margin:0 0 24px;text-wrap:balance}.pm-contact-page h2{font-size:clamp(2rem,3.1vw,3.15rem);line-height:1.1;letter-spacing:-.05em;margin:0 0 22px;text-wrap:balance}.pm-contact-page h1 em,.pm-contact-page h2 em{font-style:normal;color:#ea2e72}.pm-contact-page p{font:400 1.05rem/1.7 'Nunito Sans',sans-serif;color:#625a56;margin:0}.pm-contact-page .section-label{line-height:1.5}.pm-contact-page .button{font-family:'Poppins',sans-serif;white-space:normal;line-height:1.5}
.pm-contact-hero{min-height:510px;padding:78px max(38px,calc((100% - 1160px)/2));display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(247,242,238,.98),rgba(247,242,238,.94) 35%,rgba(247,242,238,.22) 67%,transparent 80%),url('contact-hero.webp');background-size:cover;background-position:center}.pm-contact-hero>div{max-width:650px;width:58%}.pm-contact-hero .button{margin-top:27px}
.pm-contact-area{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;padding:86px max(38px,calc((100% - 1160px)/2));background:#f4dce6;align-items:stretch;scroll-margin-top:125px}.pm-contact-details{padding:39px 35px;background:#282423;color:#fff}.pm-contact-details h2 em,.pm-contact-details .section-label{color:#ff82b5}.pm-contact-details>p{color:#d9cfca;font-size:1rem;margin-bottom:30px}.pm-contact-method{display:flex;align-items:flex-start;gap:17px;padding:21px 0;border-top:1px solid #514945}.pm-contact-method svg{width:25px;height:25px;flex:none;stroke:#ff82b5;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.pm-contact-method h3{margin:0 0 9px;font-size:.85rem;line-height:1.4;color:#d9cfca;font-weight:500}.pm-contact-method a{color:#fff;text-decoration:none;font:600 1.05rem/1.55 'Poppins',sans-serif;overflow-wrap:anywhere}.pm-contact-method a:hover{text-decoration:underline}.pm-contact-method a.pm-contact-number{font-size:clamp(1.1rem,1.7vw,1.45rem);letter-spacing:-.025em;white-space:nowrap}.pm-contact-method p,.pm-contact-method address{font:400 .98rem/1.65 'Nunito Sans',sans-serif;color:#eee4df;font-style:normal}.pm-contact-method a.pm-contact-map{display:inline-block;margin-top:12px;color:#ff82b5;font-size:.85rem}.pm-contact-callback{margin-top:17px;padding:25px;background:#342e2c}.pm-contact-callback h3{font-size:1.05rem;line-height:1.35;margin:0 0 10px;letter-spacing:-.025em}.pm-contact-callback p{font-size:.94rem;color:#d9cfca}.pm-contact-page .pm-contact-callback .pm-callback-open{margin-top:20px;background:#ea2e72;color:white;border:0;font-size:.85rem;display:inline-flex;padding:14px 18px}.pm-contact-page .pm-contact-callback .pm-callback-open:hover{background:#fff;color:#282423}
.pm-contact-form-panel{padding:39px;background:white;min-width:0}.pm-contact-form-panel h2{font-size:clamp(2rem,3vw,3rem)}.pm-contact-form-panel .pm-contact-form-intro{font-size:1rem;margin-bottom:30px}.pm-contact-page .contact-form{max-width:none;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 18px}.pm-contact-page .contact-form label{display:flex;flex-direction:column;gap:9px;font:600 .82rem/1.5 'Poppins',sans-serif;color:#282423;min-width:0}.pm-contact-page .contact-form :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:49px;padding:14px 12px;border:0;border-bottom:1px solid #c6bab5;border-radius:0;background:#f4efeb;font:400 1rem/1.5 'Nunito Sans',sans-serif;color:#282423}.pm-contact-page .contact-form textarea{min-height:160px;resize:vertical}.pm-contact-page .contact-form :is(input,select,textarea):focus{outline:2px solid #ea2e72;outline-offset:2px}.pm-contact-page .contact-form input::placeholder,.pm-contact-page .contact-form textarea::placeholder{color:#726962;opacity:1}.pm-contact-page .contact-form .wide{grid-column:1 / -1}.pm-contact-page .contact-form p.form-note{font-size:.8rem;line-height:1.6;color:#625a56}.pm-contact-page .contact-form button{justify-self:start;width:auto;background:#ea2e72;color:white;border:0;font-size:.9rem;padding:16px 24px}.pm-contact-page .contact-form button:hover{background:#282423;color:white}
.pm-contact-reassurance{padding:78px max(38px,calc((100% - 1160px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;background:#fffdfa}.pm-contact-reassurance h2{margin-bottom:0}.pm-contact-reassurance a{display:inline-block;margin-top:22px;font:600 .92rem/1.5 'Poppins',sans-serif;color:#b51f55;text-decoration:none}.pm-contact-reassurance a:hover{text-decoration:underline}
@media(max-width:1000px){.pm-contact-area{grid-template-columns:.9fr 1.1fr}.pm-contact-details{padding:30px 25px}.pm-contact-form-panel{padding:30px}.pm-contact-page .contact-form{grid-template-columns:1fr}.pm-contact-hero>div{width:65%}}
@media(max-width:780px){.pm-contact-hero{min-height:0;padding:64px 23px;background-image:linear-gradient(90deg,rgba(247,242,238,.97),rgba(247,242,238,.84)),url('contact-hero.webp');background-position:66% center}.pm-contact-hero>div{width:100%}.pm-contact-page h1{font-size:clamp(2.4rem,9vw,3.6rem)}.pm-contact-area{padding:50px 23px;grid-template-columns:1fr;gap:22px}.pm-contact-details,.pm-contact-form-panel{padding:29px 24px}.pm-contact-page .contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-contact-method a.pm-contact-number{font-size:1.3rem}.pm-contact-reassurance{padding:64px 23px;display:block}.pm-contact-reassurance>div+div{margin-top:25px}}
@media(max-width:520px){.pm-contact-page .contact-form{grid-template-columns:1fr}.pm-contact-area{padding:37px 16px}.pm-contact-details,.pm-contact-form-panel{padding:27px 21px}.pm-contact-callback{padding:22px}.pm-contact-page .contact-form button{width:100%;justify-content:center}}
/* Primero conversación y formulario; después, datos de contacto. */
.pm-contact-area{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:26px;align-items:start}
.pm-contact-call-panel{background:#282423;color:#fff;padding:35px 29px}
.pm-contact-call-panel .pm-contact-callback{padding:0;margin:0;background:transparent}
.pm-contact-call-panel .section-label{color:#ff82b5}
.pm-contact-call-panel h2{font-size:clamp(1.9rem,2.5vw,2.6rem)}
.pm-contact-call-panel h2 em{color:#ff82b5}
.pm-contact-call-panel .pm-contact-callback p{font-size:1rem;line-height:1.7}
.pm-contact-details.pm-contact-details-section{padding:78px max(38px,calc((100% - 1160px)/2));background:#282423}
.pm-contact-details-heading{max-width:780px;margin:0 auto 36px;text-align:center}
.pm-contact-details-heading>p{color:#d9cfca;font-size:1rem}
.pm-contact-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pm-contact-data-grid .pm-contact-method{display:block;border:0;padding:25px 21px;background:#342e2c;min-width:0}
.pm-contact-data-grid .pm-contact-method>svg{display:block;margin:0 0 20px;width:29px;height:29px}
.pm-contact-data-grid .pm-contact-method h3{font-size:.84rem;line-height:1.5}
.pm-contact-data-grid .pm-contact-method a{font-size:.92rem}
.pm-contact-data-grid .pm-contact-method a.pm-contact-number{font-size:1rem;white-space:normal;overflow-wrap:normal}
.pm-contact-data-grid .pm-contact-method :is(p,address){font-size:.93rem}
@media(max-width:1000px){.pm-contact-area{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}.pm-contact-call-panel{padding:30px 25px}.pm-contact-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.pm-contact-area{grid-template-columns:1fr;gap:22px}.pm-contact-call-panel{padding:29px 24px}.pm-contact-details.pm-contact-details-section{padding:64px 23px}.pm-contact-details-heading{text-align:left}.pm-contact-call-panel h2{max-width:550px;font-size:clamp(2rem,7vw,2.7rem)}}
@media(max-width:520px){.pm-contact-data-grid{grid-template-columns:1fr}.pm-contact-call-panel{padding:27px 21px}.pm-contact-data-grid .pm-contact-method{display:flex;gap:18px}.pm-contact-data-grid .pm-contact-method>svg{margin:0;flex:none}}
/* Composición compacta: formulario y llamada como una sola pieza. */
.pm-contact-area{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:0;align-items:stretch;padding:64px max(28px,calc((100% - 1040px)/2))}
.pm-contact-form-panel{padding:31px 32px}
.pm-contact-form-panel h2{font-size:clamp(1.8rem,2.3vw,2.15rem);line-height:1.12;max-width:460px;margin-bottom:16px}
.pm-contact-form-panel .section-label{margin-bottom:13px}
.pm-contact-form-panel .pm-contact-form-intro{font-size:.95rem;line-height:1.6;margin-bottom:23px}
.pm-contact-page .contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}
.pm-contact-page .contact-form label{gap:7px;font-size:.78rem}
.pm-contact-page .contact-form :is(input,select,textarea){min-height:44px;padding:10px 12px;font-size:.94rem}
.pm-contact-page .contact-form textarea{min-height:110px}
.pm-contact-page .contact-form p.form-note{font-size:.75rem;line-height:1.55}
.pm-contact-page .contact-form button{font-size:.85rem;padding:13px 21px}
.pm-contact-call-panel{display:flex;align-items:center;padding:32px 29px}
.pm-contact-call-panel .pm-contact-callback{width:100%}
.pm-contact-call-panel h2{font-size:clamp(1.8rem,2.15vw,2.15rem);line-height:1.12;margin-bottom:19px}
.pm-contact-call-panel .pm-contact-callback p{font-size:.98rem;line-height:1.65}
.pm-contact-page .pm-contact-call-panel .pm-callback-open{max-width:100%;margin-top:24px}
@media(max-width:900px){.pm-contact-area{grid-template-columns:1fr;padding:48px max(23px,calc((100% - 720px)/2))}.pm-contact-form-panel{padding:29px}.pm-contact-call-panel{padding:28px 29px}.pm-contact-call-panel h2{font-size:1.85rem;max-width:none}.pm-contact-call-panel .section-label{margin-bottom:13px}.pm-contact-page .contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.pm-contact-area{padding:32px 16px}.pm-contact-form-panel,.pm-contact-call-panel{padding:25px 22px}.pm-contact-page .contact-form{grid-template-columns:1fr}.pm-contact-form-panel h2{font-size:1.85rem}.pm-contact-call-panel h2{font-size:1.75rem}}
