/* Neutralize the generic page-builder section wrapper's own padding/background
   so this page's full-bleed sections aren't double-padded or tinted. */
.pgb-section:has(.contact-page) { padding: 0; background: none; }

.contact-page{
  --navy:#0A2647; --cobalt:#1B4F91; --teal:#0EA5A0; --cyan:#0FA8C7;
  --ink:#0A2647; --muted:#5C6B7A; --line:#E2E8F0; --bg:#FFFFFF; --bg-soft:#F5F8FA;
  --tint-a:#EAF6F6; --tint-b:#EAF3FB; --radius:14px; --shadow:0 10px 30px -12px rgba(10,38,71,.18);
}
.contact-page *{box-sizing:border-box;}
.contact-page{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;}
.contact-page h1,.contact-page h2,.contact-page h3,.contact-page h4{font-family:'Playfair Display',serif;color:var(--navy);margin:0 0 .5em;line-height:1.25;}
.contact-page a{color:inherit;text-decoration:none;}
.contact-page img{max-width:100%;display:block;}
.contact-page .wrap{max-width:1160px;margin:0 auto;padding:0 20px;}
.contact-page .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px;}
.contact-page .eyebrow::before{content:"";width:22px;height:2px;background:var(--cyan);display:inline-block;}
.contact-page .btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:.95rem;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer;}
.contact-page .btn-primary{background:var(--cyan);color:#fff;box-shadow:0 8px 20px -8px rgba(15,168,199,.6);}
.contact-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(15,168,199,.7);color:#fff;}
.contact-page .btn-outline{background:transparent;color:var(--navy);border-color:var(--navy);}
.contact-page .btn-outline:hover{background:var(--navy);color:#fff;}
.contact-page .btn-whatsapp{background:#1FAF52;color:#fff;box-shadow:0 8px 20px -8px rgba(31,175,82,.55);}
.contact-page .btn-whatsapp:hover{color:#fff;transform:translateY(-2px);}

.contact-page .breadcrumb-bar{background:#fff;border-bottom:1px solid var(--line);}
.contact-page .breadcrumb-bar ol{list-style:none;display:flex;gap:6px;margin:0;padding:10px 0;font-size:.82rem;color:var(--muted);flex-wrap:wrap;}
.contact-page .breadcrumb-bar li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--muted);}
.contact-page .breadcrumb-bar a{color:var(--cobalt);}

.contact-page .intro{background:linear-gradient(180deg,var(--bg-soft),#fff);padding:44px 0 30px;border-bottom:1px solid var(--line);}
.contact-page .intro h1{font-size:1.9rem;max-width:760px;font-weight:700;}
.contact-page .intro p.lead{max-width:680px;color:var(--muted);font-size:1.05rem;margin-bottom:22px;}
.contact-page .intro-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px;}
.contact-page .stat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:769px){.contact-page .stat-strip{grid-template-columns:repeat(4,1fr);}}
.contact-page .stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;}
.contact-page .stat b{display:block;font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--cobalt);}
.contact-page .stat span{font-size:.82rem;color:var(--muted);}

.contact-page .section{padding:56px 0;}
.contact-page .section-head{text-align:center;max-width:640px;margin:0 auto 36px;}
.contact-page .section-head .eyebrow{justify-content:center;}
.contact-page .section-head h2{font-size:1.9rem;}
.contact-page .section-head p{color:var(--muted);}
.contact-page .section.soft{background:var(--bg-soft);}

.contact-page .connect-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:481px){.contact-page .connect-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:769px){.contact-page .connect-grid{grid-template-columns:repeat(3,1fr);}}
.contact-page .connect-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;}
.contact-page .connect-card .icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--tint-a);color:var(--teal);}
.contact-page .connect-card.accent .icon{background:var(--tint-b);color:var(--cobalt);}
.contact-page .connect-card h3{font-size:1.15rem;margin-bottom:2px;}
.contact-page .connect-card .num{font-weight:700;color:var(--cobalt);font-size:1.02rem;}
.contact-page .connect-card p{color:var(--muted);font-size:.92rem;margin:0 0 6px;}
.contact-page .connect-card .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;}
.contact-page .connect-card .actions a{font-weight:700;font-size:.85rem;color:var(--cyan);}
.contact-page .connect-card .actions a::after{content:" →";}
.contact-page .badge-both{display:inline-block;background:var(--teal);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:4px;}

.contact-page .visit-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;}
@media(min-width:769px){.contact-page .visit-grid{grid-template-columns:1fr 1fr;}}
.contact-page .visit-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}
.contact-page .visit-card h3{font-size:1.15rem;}
.contact-page .hours-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.92rem;}
.contact-page .hours-row:last-child{border-bottom:none;}
.contact-page .map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}
.contact-page .map-embed iframe{width:100%;height:320px;border:0;display:block;}

.contact-page .doctor-grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:481px){.contact-page .doctor-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:769px){.contact-page .doctor-grid{grid-template-columns:repeat(3,1fr);}}
.contact-page .doctor-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.contact-page .doctor-card .photo{aspect-ratio:4/3;overflow:hidden;background:var(--tint-a);}
.contact-page .doctor-card .photo img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.contact-page .doctor-card .body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1;}
.contact-page .doctor-card h3{font-size:1.15rem;margin-bottom:0;}
.contact-page .doctor-card .title{color:var(--cyan);font-weight:700;font-size:.85rem;}
.contact-page .doctor-card .years{color:var(--muted);font-size:.85rem;margin-bottom:8px;}
.contact-page .doctor-card .link{margin-top:auto;font-weight:700;color:var(--cobalt);font-size:.88rem;}
.contact-page .doctor-card .link::after{content:" →";}

.contact-page .form-grid{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:769px){.contact-page .form-grid{grid-template-columns:1.4fr 1fr;}}
.contact-page .side-card{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px;align-self:start;}
.contact-page .side-card h3{color:#fff;font-size:1.1rem;}
.contact-page .side-card ul{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:12px;font-size:.92rem;}
.contact-page .side-card a{color:#BFEAF0;font-weight:700;}

.contact-page .faq-list{max-width:800px;margin:0 auto;}
.contact-page .faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:#fff;overflow:hidden;}
.contact-page .faq-q{width:100%;text-align:left;background:none;border:0;padding:18px 20px;font-family:inherit;font-weight:700;font-size:1rem;color:var(--navy);display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px;}
.contact-page .faq-q .plus{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--tint-b);color:var(--cobalt);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .2s ease;}
.contact-page .faq-item.open .faq-q .plus{transform:rotate(45deg);background:var(--cyan);color:#fff;}
.contact-page .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.contact-page .faq-a p{padding:0 20px 18px;color:var(--muted);font-size:.94rem;margin:0;}
.contact-page .faq-item.open .faq-a{max-height:400px;}
