.dx-contact,.dx-contact *{box-sizing:border-box}.dx-contact{position:relative;isolation:isolate;overflow:hidden;padding:55px 5% 70px;color:#0b326e;background:radial-gradient(ellipse at 95% 20%,#4bbcff50,transparent 35%),radial-gradient(ellipse at 10% 90%,#7cd4ff66,transparent 45%),linear-gradient(120deg,#e6f7ff,#f9fdff 50%,#d7f2ff);text-align:left}.dx-contact::before{content:'';position:absolute;z-index:-1;width:500px;height:500px;right:-160px;top:0;border:55px solid #009cff20;border-radius:50%;box-shadow:0 0 0 40px #64d8ff18;pointer-events:none}.dx-contact::after{content:'';position:absolute;left:-5%;bottom:-90px;width:110%;height:120px;background:#fff;border-radius:50%;pointer-events:none}.dx-contact-layout{position:relative;z-index:2;max-width:1680px;margin:auto;display:grid;grid-template-columns:340px minmax(0,1fr);gap:32px 35px}.dx-contact-heading{grid-column:2;text-align:center;max-width:780px}.dx-contact-heading>span{display:inline-block;position:relative;padding:9px 20px;background:#ffffffb3;border-radius:30px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.25em}.dx-contact-heading h2{margin:16px 0 12px;font-size:48px;font-weight:850;line-height:1;color:#0a326e;letter-spacing:-.04em}.dx-contact-heading h2 strong{display:block;color:#78ad25}.dx-contact-heading p{margin:0;font-size:14px;line-height:1.5}.dx-contact-intro{grid-column:1;grid-row:1/4;padding-top:50px}.dx-contact-status{display:inline-flex;align-items:center;gap:8px;border:1px solid white;border-radius:30px;padding:10px 13px;background:#ffffffba;box-shadow:0 5px 16px #00b9e52b;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.dx-contact-status i{width:9px;height:9px;background:#00d23c;border-radius:50%;box-shadow:0 0 8px #00d23c66}.dx-contact-intro h3{margin:22px 0;font-size:39px;line-height:1.12;font-weight:850;letter-spacing:-.04em;text-transform:uppercase;color:#0b326e}.dx-contact-intro h3 span{color:#0087ee}.dx-contact-intro h3 strong{display:block;color:#23bd2b;font-size:35px}.dx-contact-intro h3::after{content:'';display:block;margin-top:17px;width:110px;height:3px;background:linear-gradient(90deg,#00be48,#00baff55)}.dx-contact-intro>p:last-of-type{font-size:17px;line-height:1.5}.dx-contact-intro>img{width:220px;height:200px;object-fit:contain;display:block;margin:20px auto 0;filter:drop-shadow(0 15px 15px #0079bc25)}.dx-contact-cards{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dx-contact-card{--contact-accent:#008fff;position:relative;display:flex;flex-direction:column;gap:20px;min-width:0;padding:25px 22px 20px;border:1px solid #fff;border-radius:30px;background:linear-gradient(145deg,#ffffffc9,#eaf8ffbb);box-shadow:0 12px 23px #008ce529,inset 0 2px 3px #fff;backdrop-filter:blur(12px);transition:transform .25s ease,box-shadow .25s ease}.dx-contact-card--phone{--contact-accent:#00bb35}.dx-contact-card:hover{transform:translateY(-5px);box-shadow:0 18px 28px #008ce538}.dx-contact-card-head{display:flex;align-items:center;gap:14px;min-height:66px}.dx-contact-icon{display:grid;place-items:center;flex:none;width:62px;height:62px;color:white;border:6px solid #bfefff;border-radius:50%;background:linear-gradient(135deg,#0065df,#00c9ef);box-shadow:0 3px 12px #008fdb40}.dx-contact-icon svg{width:34px;height:34px}.dx-contact-card--phone .dx-contact-icon{border-color:#b4f4c7;background:linear-gradient(135deg,#54dd3a,#00b82c);box-shadow:0 3px 14px #00c44940}.dx-contact-card h3{font-size:17px;line-height:1.25;font-weight:800;color:#0b326e;margin:0}.dx-contact-card small{font-size:12px;display:block;margin-top:6px}.dx-contact-number{font-size:30px;font-weight:850;letter-spacing:-.02em;white-space:nowrap;color:#006de9!important;text-decoration:none!important;line-height:1.4}.dx-contact-value{font-size:14px;line-height:1.6;margin:auto 0;min-height:45px;display:flex;align-items:center;color:#175297!important;text-decoration:none!important}.dx-contact-email{overflow-wrap:anywhere;font-size:13px;font-weight:700}.dx-contact-button{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;min-height:52px;padding:10px 17px;border-radius:30px;background:linear-gradient(110deg,#0069ed,#00b9ee);box-shadow:0 7px 15px #009de52e;color:white!important;text-decoration:none!important;font-size:13px;font-weight:700;transition:filter .2s ease}.dx-contact-button svg{width:21px;height:21px;flex:none}.dx-contact-button>svg:last-child{width:16px}.dx-contact-card--phone .dx-contact-button{background:linear-gradient(110deg,#00c73d,#009c30)}.dx-contact-button:hover{filter:brightness(1.08)}.dx-contact-map{grid-column:2;display:grid;grid-template-columns:260px minmax(0,1fr);min-height:235px;overflow:hidden;border:3px solid white;border-radius:26px;background:white;box-shadow:0 10px 25px #00a0ef26}.dx-contact-map aside{padding:24px;background:linear-gradient(115deg,#0057d2,#00c8ec);color:#fff}.dx-contact-map aside .dx-contact-icon{width:44px;height:44px;border-width:2px;float:left;margin-right:12px}.dx-contact-map aside .dx-contact-icon svg{width:27px;height:27px}.dx-contact-map h3{font-size:17px;line-height:1.3;margin:12px 0 20px;color:#fff}.dx-contact-map p{clear:both;font-size:14px;line-height:1.55}.dx-contact-map a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-radius:25px;background:white;color:#0051ae!important;text-decoration:none!important;font-size:11px;font-weight:750}.dx-contact-map a svg{width:18px;height:18px}.dx-contact-map iframe{display:block;border:0;width:100%;height:100%;min-height:235px}.dx-contact-decoration{position:absolute;right:-45px;top:60px;width:260px;height:300px;object-fit:contain;opacity:.18;z-index:0;pointer-events:none}.dx-contact a:focus-visible{outline:3px solid #005bc9;outline-offset:4px}@media(min-width:1800px){.dx-contact{padding-right:12%}.dx-contact-decoration{opacity:.8;width:330px;height:380px;right:-40px;top:80px}}@media(max-width:1350px){.dx-contact-layout{grid-template-columns:260px minmax(0,1fr);gap:25px}.dx-contact-intro h3{font-size:31px}.dx-contact-intro h3 strong{font-size:28px}.dx-contact-card{padding:20px 15px;gap:17px}.dx-contact-card-head{gap:10px}.dx-contact-icon{width:49px;height:49px;border-width:4px}.dx-contact-icon svg{width:28px;height:28px}.dx-contact-number{font-size:25px}.dx-contact-card h3{font-size:15px}}@media(max-width:1050px){.dx-contact-layout{grid-template-columns:1fr}.dx-contact-heading,.dx-contact-cards,.dx-contact-map{grid-column:1}.dx-contact-heading{max-width:none}.dx-contact-intro{grid-column:1;grid-row:auto;padding:0;text-align:center}.dx-contact-intro h3{margin:16px auto}.dx-contact-intro h3 br{display:none}.dx-contact-intro h3::after{margin:16px auto}.dx-contact-intro>p:last-of-type{max-width:600px;margin:0 auto}.dx-contact-intro>img{display:none}.dx-contact-heading{order:-1}.dx-contact-cards{gap:15px}.dx-contact-map{grid-template-columns:250px 1fr}}@media(max-width:650px){.dx-contact{padding:35px 18px 50px}.dx-contact-layout{gap:25px}.dx-contact-heading h2{font-size:36px}.dx-contact-heading p{font-size:13px}.dx-contact-intro h3{font-size:29px}.dx-contact-intro h3 strong{font-size:27px}.dx-contact-intro>p:last-of-type{font-size:15px}.dx-contact-cards{grid-template-columns:1fr}.dx-contact-card{padding:22px;gap:15px;border-radius:24px}.dx-contact-card-head{min-height:54px}.dx-contact-card h3{font-size:18px}.dx-contact-icon{width:56px;height:56px}.dx-contact-number{font-size:31px}.dx-contact-value{min-height:0;font-size:15px}.dx-contact-email{font-size:14px}.dx-contact-map{grid-template-columns:1fr;border-radius:23px}.dx-contact-map aside{padding:22px}.dx-contact-map a{max-width:280px;font-size:12px}.dx-contact-map iframe{height:260px}.dx-contact-decoration{display:none}}@media(prefers-reduced-motion:reduce){.dx-contact-card,.dx-contact-button{transition:none}.dx-contact-card:hover{transform:none}}
/* Mobile contact layout: compact hierarchy and comfortable touch targets. */
@media (max-width: 650px) {
 .dx-contact { padding: 32px 16px 42px; background: radial-gradient(ellipse at 100% 0,#8cddff45,transparent 45%),linear-gradient(155deg,#edf9ff,#f8fcff 52%,#e2f5ff); }
 .dx-contact-layout { gap: 22px; }
 .dx-contact-heading>span { font-size: 10px; padding: 8px 17px; letter-spacing: .22em; }
 .dx-contact-heading h2 { margin: 14px 0 12px; font-size: clamp(32px,9vw,40px); line-height: 1.05; }
 .dx-contact-heading p { max-width: 330px; margin: auto; font-size: 13px; line-height: 1.55; color: #527199; }
 .dx-contact-intro { padding: 18px 18px 20px; border: 1px solid #ffffffdc; border-radius: 24px; background: linear-gradient(135deg,#ffffffb8,#e6f6ff99); box-shadow: inset 0 1px 2px #fff,0 7px 20px #008bd40b; }
 .dx-contact-status { margin: 0; padding: 8px 11px; font-size: 9px; letter-spacing: .04em; }
 .dx-contact-intro h3 { margin: 14px 0 12px; font-size: 25px; line-height: 1.15; }
 .dx-contact-intro h3 span { display: block; }
 .dx-contact-intro h3 strong { margin-top: 5px; font-size: 24px; }
 .dx-contact-intro h3::after { width: 70px; margin: 13px auto; }
 .dx-contact-intro>p:last-of-type { font-size: 13px; line-height: 1.55; color: #527199; }
 .dx-contact-cards { gap: 16px; }
 .dx-contact-card { position: relative; gap: 15px; padding: 20px; border: 1px solid white; border-radius: 25px; background: linear-gradient(130deg,#ffffffef,#f1faffdc); box-shadow: 0 8px 24px #008bdb12,inset 0 1px 2px white; }
 .dx-contact-card::before { content: ''; position: absolute; width: 37px; height: 3px; top: 0; left: 27px; border-radius: 0 0 4px 4px; background: var(--contact-accent); }
 .dx-contact-card-head { min-height: 52px; gap: 14px; }
 .dx-contact-card h3 { font-size: 17px; }
 .dx-contact-icon { width: 52px; height: 52px; border-width: 4px; box-shadow: 0 4px 12px #008fdb25; }
 .dx-contact-icon svg { width: 28px; height: 28px; }
 .dx-contact-number { display: block; width: 100%; font-size: clamp(28px,8vw,35px); line-height: 1.2; padding: 4px 0; }
 .dx-contact-value { font-size: 14px; line-height: 1.6; padding: 2px 0 4px; }
 .dx-contact-email { font-size: clamp(12px,3.5vw,15px); overflow-wrap: anywhere; }
 .dx-contact-button { min-height: 50px; font-size: 14px; padding: 12px 17px; border-radius: 17px; box-shadow: 0 5px 13px #009de522; }
 .dx-contact-button:active { transform: scale(.98); }
 .dx-contact-map { border-radius: 25px; box-shadow: 0 8px 25px #008bdb16; }
 .dx-contact-map aside { padding: 20px; background: linear-gradient(120deg,#005dd5,#009be4 75%,#00bce9); }
 .dx-contact-map h3 { margin: 12px 0 20px; font-size: 18px; }
 .dx-contact-map p { font-size: 14px; }
 .dx-contact-map a { width: 100%; max-width: none; min-height: 48px; border-radius: 16px; font-size: 12px; }
 .dx-contact-map iframe { height: 240px; min-height: 240px; }
}
@media (max-width: 360px) {
 .dx-contact { padding-left: 12px; padding-right: 12px; }
 .dx-contact-card { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) { .dx-contact-button:active { transform: none; } }
/* Reference composition with dedicated clinic and tooth background. */
.dx-contact {
 background: #e8f7ff linear-gradient(135deg,#e9f8ff,#f7fcff) center center / cover no-repeat;
 padding-top: 35px;
 padding-bottom: 65px;
}
.dx-contact::before { display: none; }
.dx-contact-layout { max-width: 1740px; grid-template-columns: 350px minmax(0,1fr); gap: 30px 40px; }
.dx-contact-heading { max-width: none; justify-self: stretch; }
.dx-contact-heading>span::before,.dx-contact-heading>span::after { content: ''; position: absolute; top: 50%; width: 45px; height: 1px; background: linear-gradient(90deg,transparent,#00a7ee); }
.dx-contact-heading>span::before { right: calc(100% + 15px); }
.dx-contact-heading>span::after { left: calc(100% + 15px); transform: rotate(180deg); }
.dx-contact-heading h2 { font-size: 52px; }
.dx-contact-intro { padding-top: 45px; }
.dx-contact-intro h3 { font-size: 43px; }
.dx-contact-intro h3 strong { font-size: 37px; }
.dx-contact-intro>p:last-of-type { max-width: 340px; }
.dx-contact-cards { gap: 20px; }
.dx-contact-card { min-height: 250px; padding: 24px; border-radius: 32px; background: linear-gradient(145deg,rgba(255,255,255,.84),rgba(235,249,255,.75)); }
.dx-contact-card-head { gap: 14px; }
.dx-contact-card h3 { font-size: 18px; }
.dx-contact-number { font-size: 32px; }
.dx-contact-icon { width: 70px; height: 70px; }
.dx-contact-card h3::after { content: ''; display: block; width: 26px; height: 3px; margin-top: 12px; background: var(--contact-accent); }
.dx-contact-button { min-height: 55px; }
.dx-contact-map { min-height: 245px; grid-template-columns: 285px minmax(0,1fr); }
.dx-contact-map aside { border-radius: 0 45px 45px 0; }
.dx-contact-map iframe { min-height: 245px; }
@media (min-width: 1500px) {
 .dx-contact { padding-left: 6%; padding-right: 20%; min-height: 760px; }
 .dx-contact-map { width: calc(100% + 160px); }
}
@media (min-width: 1051px) and (max-width: 1499px) {
 .dx-contact { padding-left: 4%; padding-right: 8%; }
 .dx-contact-layout { grid-template-columns: 270px minmax(0,1fr); gap: 25px; }
 .dx-contact-intro h3 { font-size: 32px; }
 .dx-contact-intro h3 strong { font-size: 28px; }
 .dx-contact-card { padding: 20px 15px; }
 .dx-contact-icon { width: 50px; height: 50px; }
 .dx-contact-card h3 { font-size: 15px; }
 .dx-contact-number { font-size: 25px; }
}
@media (max-width: 1050px) {
 .dx-contact { background-image: linear-gradient(#edf9ffbb,#edf9ffe8),linear-gradient(135deg,#e9f8ff,#f7fcff); }
 .dx-contact-layout { grid-template-columns: 1fr; }
 .dx-contact-intro { padding-top: 0; }
 .dx-contact-heading h2 { font-size: 42px; }
 .dx-contact-intro h3 { font-size: 30px; }
 .dx-contact-intro h3 strong { font-size: 28px; }
 .dx-contact-intro>p:last-of-type { max-width: 600px; }
 .dx-contact-card { min-height: 240px; padding: 20px 16px; }
 .dx-contact-icon { width: 50px; height: 50px; }
 .dx-contact-card h3 { font-size: 16px; }
 .dx-contact-number { font-size: 25px; }
}
@media (max-width: 650px) {
 .dx-contact { padding: 32px 16px 48px; background-position: center top; }
 .dx-contact-heading h2 { font-size: 36px; }
 .dx-contact-intro { padding: 18px; }
 .dx-contact-intro h3 { font-size: 25px; }
 .dx-contact-intro h3 strong { font-size: 24px; }
 .dx-contact-card { min-height: 0; padding: 22px; border-radius: 25px; }
 .dx-contact-card h3 { font-size: 17px; }
 .dx-contact-icon { width: 54px; height: 54px; }
 .dx-contact-number { font-size: 31px; }
 .dx-contact-map { grid-template-columns: 1fr; }
 .dx-contact-map aside { border-radius: 0; }
 .dx-contact-map iframe { height: 250px; }
}
/* Connect contact directly to the footer, without a white separator. */
.dx-contact { margin-bottom: 0 !important; }
.dx-contact::after { display: none; }
body.dx-header-on .btContentWrap:has(.dx-contact),
body.dx-header-on .btContentHolder:has(.dx-contact),
body.dx-header-on .btContent:has(.dx-contact) {
 padding-bottom: 0 !important;
 margin-bottom: 0 !important;
}
body.dx-header-on .bt_bb_section:has(.dx-contact),
body.dx-header-on .bt_bb_column_content:has(.dx-contact) {
 padding-bottom: 0 !important;
 margin-bottom: 0 !important;
}
/* Clear the final builder spacing below the contact block. */
body.dx-header-on :is(.bt_bb_port,.bt_bb_cell,.bt_bb_row_wrapper,.bt_bb_row,.bt_bb_column,.bt_bb_column_content,.bt_bb_wrapper):has(.dx-contact) {
 padding-bottom: 0 !important;
 margin-bottom: 0 !important;
 border-bottom: 0 !important;
}
body.dx-header-on .btContentWrap:has(.dx-contact) { border-bottom: 0 !important; }
body.dx-header-on .btContentWrap:has(.dx-contact) + :is(.btSiteFooter,footer) { margin-top: 0 !important; border-top: 0 !important; }
/* CSS mesh gradient replaces the large photographic contact backdrop. */
.dx-contact {
 background: radial-gradient(ellipse at 0 35%,rgba(0,151,255,.09),transparent 50%),radial-gradient(ellipse at 100% 80%,rgba(0,197,139,.065),transparent 48%),linear-gradient(180deg,#f8fcff,#edf7fc);
}
.dx-contact::before,.dx-contact-decoration { display: none; }
.dx-contact-card { background: rgba(255,255,255,.9); border-color: #e2edf5; box-shadow: 0 10px 28px rgba(17,80,132,.06); }
.dx-contact-card:hover { box-shadow: 0 17px 34px rgba(0,111,181,.12); }
.dx-contact-map { box-shadow: 0 12px 34px rgba(17,80,132,.075); }
@media (min-width: 1500px) {
 .dx-contact { padding-right: 6%; min-height: 0; }
 .dx-contact-layout { grid-template-columns: 330px minmax(0,1fr); }
 .dx-contact-map { width: 100%; }
}
@media (max-width: 1050px) { .dx-contact-layout { grid-template-columns: 1fr; } }
@media (max-width: 650px) {
 .dx-contact { background: radial-gradient(ellipse at 0 20%,#e5f5ff,transparent 65%),linear-gradient(#f8fcff,#edf7fc); }
 .dx-contact-intro { background: #ffffffb3; }
}
/* Contact without the introductory side column. */
.dx-contact .dx-contact-layout { grid-template-columns: minmax(0,1fr); max-width: 1320px; }
.dx-contact .dx-contact-heading,
.dx-contact .dx-contact-cards,
.dx-contact .dx-contact-map { grid-column: 1; width: 100%; }
