/* Contact clarity / content-led refinements. This file affects contact.html only.
   The original request form, submit behavior, and shared site assets are retained. */
html body.contact-clarity #main.ct-page{--cc-line:#d7e6ec}
html body.contact-clarity #main.ct-page .ct-hero{padding:1.25rem 0 2.5rem}
html body.contact-clarity #main.ct-page .ct-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:3.25rem;align-items:center}
html body.contact-clarity #main.ct-page .ct-hero-copy h1{font-size:clamp(2.85rem,4.7vw,4.45rem);line-height:1.07;max-width:38rem;letter-spacing:-.045em}
html body.contact-clarity #main.ct-page .ct-eyebrow{font-size:1rem;letter-spacing:.025em;line-height:1.55;margin-bottom:1.15rem}
html body.contact-clarity #main.ct-page .ct-tagline{font-size:1.5rem;font-weight:650;line-height:1.4;margin-bottom:1rem}
html body.contact-clarity #main.ct-page .ct-lead{max-width:35rem;line-height:1.7;margin-bottom:1.5rem}
html body.contact-clarity #main.ct-page .ct-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}
html body.contact-clarity #main.ct-page :is(.ct-hero-actions,.ct-last-actions) .btn{font-size:1.125rem;min-height:3.5rem;padding:.85rem 1.15rem;max-width:100%;white-space:normal}
html body.contact-clarity #main.ct-page .ct-reassurance{margin:1.15rem 0 1.3rem;max-width:33rem;font-size:1rem;line-height:1.6}
html body.contact-clarity #main.ct-page .ct-doctor-link{padding-top:1rem}
html body.contact-clarity #main.ct-page .ct-office-card{border-radius:1.5rem;box-shadow:0 15px 38px #194b5708}
html body.contact-clarity #main.ct-page .ct-card-cap{padding:1.7rem 1.9rem;min-height:11rem;align-items:center}
html body.contact-clarity #main.ct-page .ct-cap-copy{width:66%;max-width:none}
html body.contact-clarity #main.ct-page .ct-card-cap h2{font-size:1.8rem;line-height:1.2;margin-top:.65rem}
html body.contact-clarity #main.ct-page .ct-dental-art{width:36%;height:11rem;right:.15rem;top:0}
html body.contact-clarity #main.ct-page .ct-tooth{width:10.5rem;max-width:125%;left:-.2rem;top:.25rem}
html body.contact-clarity #main.ct-page .ct-orbit{width:10rem;height:10rem;max-width:120%}
html body.contact-clarity #main.ct-page .ct-card-body{padding:.9rem 1.9rem 0}
html body.contact-clarity #main.ct-page .ct-detail{padding-block:1rem;gap:.9rem}
html body.contact-clarity #main.ct-page .ct-detail address{font-size:1.125rem;line-height:1.65}
html body.contact-clarity #main.ct-page .ct-hours p{font-size:1.0625rem;line-height:1.6}
html body.contact-clarity #main.ct-page .ct-directions-link{min-height:3.8rem;padding-block:.9rem}
/* A light page guide replaces the repeated three-card navigation. */
html body.contact-clarity .cc-onpage-wrap{padding-bottom:2.2rem}
html body.contact-clarity .cc-onpage{display:flex;align-items:center;justify-content:space-between;gap:.7rem 1.4rem;flex-wrap:wrap;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);padding:.9rem 0}
html body.contact-clarity .cc-onpage-label{font-size:1rem;color:#536d77;font-weight:500}
html body.contact-clarity .cc-onpage a{display:inline-flex;align-items:center;justify-content:space-between;gap:.65rem;font-size:1.0625rem;line-height:1.45;font-weight:650;min-height:2.75rem;padding:.5rem .2rem;text-decoration:none;color:#184654;transition:color .2s,transform .2s}
html body.contact-clarity .cc-onpage a:hover{color:#b71364;text-decoration:underline;text-underline-offset:.3em}
html body.contact-clarity .cc-onpage .icon{width:1.05rem;height:1.05rem;color:#a92267;flex-shrink:0}
/* The form stays near the top. Supporting text explains the real follow-up. */
html body.contact-clarity #main .request-section{padding-block:3.5rem 4rem;scroll-margin-top:7.5rem;background:linear-gradient(130deg,#f2f9fc,#fff 62%,#fffaf0)}
html body.contact-clarity #main .request-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:3rem}
html body.contact-clarity #main .request-intro{padding-top:.6rem}
html body.contact-clarity #main .request-kicker{font-size:1rem;letter-spacing:.035em;margin-bottom:1.1rem;line-height:1.55}
html body.contact-clarity #main #request-title{font-size:clamp(2.2rem,3.1vw,3rem);margin-bottom:1.15rem;line-height:1.14}
html body.contact-clarity #main .request-intro>p{max-width:36rem;line-height:1.7}
html body.contact-clarity #main .request-steps{gap:1.15rem;margin-block:1.8rem}
html body.contact-clarity #main .request-steps li{font-size:1.0625rem;line-height:1.6;gap:.8rem}
html body.contact-clarity #main .request-callout{border-radius:1rem;padding:1.2rem 1.35rem}
html body.contact-clarity #main .gdc-save-card{box-shadow:none;border-radius:1rem;padding:1.2rem;margin-top:1rem}
html body.contact-clarity #main .gdc-save-content h3{font-size:1.25rem;line-height:1.4}
html body.contact-clarity #main .gdc-save-content p{font-size:1rem;line-height:1.6}
html body.contact-clarity #main .request-panel{border-radius:1.4rem}
/* Directions, urgent guidance, and a short FAQ: each has one job. */
html body.contact-clarity #main .ct-section{padding-block:4rem}
html body.contact-clarity #main .ct-location-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3.8rem;align-items:center}
html body.contact-clarity #main :is(.ct-location h2,.ct-questions-copy h2){font-size:clamp(2.15rem,3.2vw,3rem);line-height:1.14;margin-bottom:1.35rem}
html body.contact-clarity #main .ct-location-copy>p:not(.ct-eyebrow){font-size:1.1875rem;line-height:1.75;max-width:35rem}
html body.contact-clarity #main .ct-location-copy>p>strong{display:inline-block;font-size:1.3rem;line-height:1.6;margin-bottom:.65rem}
html body.contact-clarity #main .ct-map-panel{border-radius:1.4rem;min-height:26rem}
html body.contact-clarity #main .ct-map-placeholder h3{font-size:1.85rem}
html body.contact-clarity #main .ct-map-privacy{font-size:1rem;line-height:1.6}
html body.contact-clarity #main .ct-urgent{padding:1.7rem 1.8rem;border-radius:1.2rem;grid-template-columns:auto minmax(0,1fr) auto;gap:1.1rem}
html body.contact-clarity #main .ct-urgent h2{font-size:1.5rem;line-height:1.35}
html body.contact-clarity #main .ct-urgent p{line-height:1.65}
html body.contact-clarity #main .ct-questions-grid{gap:3.8rem;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)}
html body.contact-clarity #main .ct-faq-list summary{font-size:1.1875rem;line-height:1.5;padding-block:1.2rem}
html body.contact-clarity #main .ct-faq-list .faq-answer{font-size:1.125rem;line-height:1.75;padding-right:.7rem}
html body.contact-clarity #main .ct-last{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);padding:2.3rem 2.6rem;gap:1.5rem 2rem;border-radius:1.4rem}
html body.contact-clarity #main .ct-last h2{font-size:clamp(2rem,3vw,2.65rem);line-height:1.16;margin-block:.9rem}
html body.contact-clarity #main .ct-last-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-start;align-items:center}
html body.contact-clarity #main .ct-last .gdc-banner-save{grid-column:1/-1;margin:0;padding-top:1rem;border-top:1px solid #bfd7e1;justify-content:flex-start}
html body.contact-clarity #main .ct-last-section{padding-bottom:3.6rem}
@media(max-width:1100px){
 html body.contact-clarity #main.ct-page .ct-hero-grid{gap:2rem}
 html body.contact-clarity #main .request-layout{gap:2rem}
 html body.contact-clarity #main .ct-location-grid,html body.contact-clarity #main .ct-questions-grid{gap:2.5rem}
}
@media(max-width:950px){
 html body.contact-clarity #main.ct-page .ct-hero-grid{grid-template-columns:1fr;gap:2rem}
 html body.contact-clarity #main.ct-page .ct-office-card{max-width:45rem;width:100%}
 html body.contact-clarity #main .request-layout{grid-template-columns:1fr;gap:1.8rem}
 html body.contact-clarity #main .request-intro{max-width:none}
 html body.contact-clarity #main .request-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
 html body.contact-clarity #main .gdc-save-card{max-width:38rem}
 html body.contact-clarity #main .ct-questions-grid{grid-template-columns:1fr;gap:2rem}
 html body.contact-clarity #main .ct-last{grid-template-columns:1fr;padding:2rem}
 html body.contact-clarity #main .ct-last-actions{justify-content:flex-start}
}
@media(max-width:760px){
 html body.contact-clarity #main .ct-location-grid{grid-template-columns:1fr;gap:2rem}
 html body.contact-clarity #main .ct-urgent{grid-template-columns:3rem minmax(0,1fr);padding:1.5rem}
 html body.contact-clarity #main .ct-urgent>.btn{grid-column:2;justify-self:start}
 html body.contact-clarity #main .ct-urgent .gdc-banner-save{grid-column:1/-1}
 html body.contact-clarity .cc-onpage-label{flex-basis:100%}
}
@media(max-width:600px){
 html body.contact-clarity #main.ct-page .ct-hero{padding-block:.9rem 1.8rem}
 html body.contact-clarity #main.ct-page .ct-hero-copy h1{font-size:clamp(2.8rem,10vw,3.55rem);line-height:1.08}
 html body.contact-clarity #main.ct-page .ct-eyebrow{font-size:1rem}
 html body.contact-clarity #main.ct-page .ct-tagline{font-size:1.3rem}
 html body.contact-clarity #main.ct-page .ct-lead{font-size:1.125rem}
 html body.contact-clarity #main.ct-page .ct-hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem}
 html body.contact-clarity #main.ct-page .ct-hero-actions .btn{width:100%}
 html body.contact-clarity #main.ct-page .ct-reassurance{margin-bottom:1.2rem}
 html body.contact-clarity #main.ct-page .ct-card-cap{min-height:10rem;padding:1.35rem}
 html body.contact-clarity #main.ct-page .ct-card-cap h2{font-size:1.55rem}
 html body.contact-clarity #main.ct-page .ct-dental-art{width:35%;height:10rem;opacity:.8}
 html body.contact-clarity #main.ct-page .ct-tooth{top:1.3rem;width:9rem}
 html body.contact-clarity #main.ct-page .ct-card-body{padding:.7rem 1.35rem 0}
 html body.contact-clarity #main.ct-page .ct-detail{gap:.8rem}
 html body.contact-clarity .cc-onpage-wrap{padding-bottom:1.8rem}
 html body.contact-clarity .cc-onpage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem .75rem;padding:.8rem 0}
 html body.contact-clarity .cc-onpage-label{grid-column:1/-1;font-size:1rem;margin-bottom:.3rem}
 html body.contact-clarity .cc-onpage a{font-size:1rem;align-items:flex-start;gap:.25rem;min-width:0;padding:.4rem 0}
 html body.contact-clarity .cc-onpage .icon{display:none}
 html body.contact-clarity #main .request-section{padding-block:2.6rem 3rem}
 html body.contact-clarity #main .request-steps{grid-template-columns:1fr;gap:1rem;margin-block:1.4rem}
 html body.contact-clarity #main .request-intro>p{margin-bottom:1rem}
 html body.contact-clarity #main #request-title{font-size:2.2rem}
 html body.contact-clarity #main .ct-section{padding-block:3rem}
 html body.contact-clarity #main .ct-map-panel{min-height:24rem}
 html body.contact-clarity #main .ct-map-placeholder{padding:1.6rem 1.3rem}
 html body.contact-clarity #main .ct-map-placeholder h3{font-size:1.65rem}
 html body.contact-clarity #main .ct-urgent{padding:1.3rem;gap:.8rem}
 html body.contact-clarity #main .ct-urgent .btn{max-width:100%;min-width:0;padding-inline:1rem}
 html body.contact-clarity #main .ct-last{padding:1.65rem;gap:1.25rem}
 html body.contact-clarity #main .ct-last-actions{display:grid;grid-template-columns:1fr}
 html body.contact-clarity #main .ct-last-actions .btn{width:100%}
 html body.contact-clarity .mobile-action-bar{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr) minmax(0,.75fr);gap:.5rem;padding:.65rem .75rem max(.65rem,env(safe-area-inset-bottom))}
 html body.contact-clarity .mobile-action-bar a{display:flex;flex-wrap:nowrap;gap:.3rem;padding:.65rem .35rem!important;font-size:1rem!important;min-height:3rem;line-height:1.4;min-width:0}
 html body.contact-clarity .mobile-action-bar .icon{width:1rem;height:1rem;flex-shrink:0}
}
@media(max-width:380px){
 html body.contact-clarity #main.ct-page .ct-cap-copy{width:72%}
 html body.contact-clarity #main.ct-page .ct-dental-art{width:28%;opacity:.65}
 html body.contact-clarity #main .ct-urgent{grid-template-columns:1fr}
 html body.contact-clarity #main .ct-urgent>.btn{grid-column:1}
}
@media(prefers-reduced-motion:reduce){html body.contact-clarity .cc-onpage a{transition:none}}
html.motion-paused body.contact-clarity .cc-onpage a{transition:none}
@media print{.contact-clarity .cc-onpage-wrap{display:none!important}}
/* Intrinsic sizing safeguards: long labels can reflow at 200% browser text. */
html body.contact-clarity #main :is(.ct-hero-actions,.ct-last-actions){min-width:0}
html body.contact-clarity #main :is(.ct-hero-actions,.ct-last-actions) :is(a,span){min-width:0;overflow-wrap:anywhere}
html body.contact-clarity #main .ct-dental-art{contain:paint;overflow:clip;height:100%}
html body.contact-clarity #main :is(.ct-cap-copy,.cc-onpage a,.cc-onpage a>span,.ct-directions-link,.ct-directions-link>span){min-width:0;overflow-wrap:anywhere}
html body.contact-clarity #main .request-consent>span{min-width:0;overflow-wrap:anywhere}
html body.contact-clarity #main .request-steps>li>span{min-width:0;overflow-wrap:anywhere}
html body.contact-clarity #main .ct-urgent>.btn{min-width:0;max-width:100%;overflow-wrap:anywhere}
html body.contact-clarity #main .ct-urgent>.btn>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:950px){
 html body.contact-clarity #main .request-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
 html body.contact-clarity #main .ct-urgent{grid-template-columns:3rem minmax(0,1fr)}
 html body.contact-clarity #main .ct-urgent>.btn{grid-column:2}
}
@media(max-width:600px){
 html body.contact-clarity #main.ct-page .ct-hero-actions,html body.contact-clarity #main .ct-last-actions{grid-template-columns:minmax(0,1fr)}
 html body.contact-clarity #main .request-steps{grid-template-columns:minmax(0,1fr)}
 html body.contact-clarity #main .ct-urgent{grid-template-columns:minmax(0,1fr)}
 html body.contact-clarity #main .ct-urgent>.btn{grid-column:1}
}
/* Avoid adding a second large offset to the shared sticky-header scroll padding. */
html body.contact-clarity #main .request-section{scroll-margin-top:.75rem}
