/* Shared brand treatment: the supplied logo, blue water tones and leaf green. */
:root{--ink:#123e54;--teal:#006b91;--dark-teal:#004e73;--coral:#dd783d;--cream:#f4f9f8;--pale:#e7f4ef;--line:#d4e5e9;--brand-blue:#005b89;--brand-green:#398627;--brand-aqua:#008c9b;--brand-orange:#dd783d}
.brand{flex-shrink:0;gap:10px;line-height:1.15}
.brand-logo{display:block;width:88px;height:88px;object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0}
.brand strong{font-family:"DM Sans",Arial,sans-serif;font-size:21px;font-weight:700;color:var(--brand-blue);white-space:nowrap}
.brand strong .brand-hands{display:inline;color:var(--brand-green)}
.brand small{color:var(--brand-blue);font-size:8px;letter-spacing:1.7px;line-height:1.5}
.site-header{height:108px;border-bottom:1px solid var(--line);box-shadow:0 2px 14px #005b8908}
.nav-wrap{gap:20px}.main-nav{gap:22px}.main-nav a{padding:41px 0 38px}
.main-nav a:hover,.main-nav .active{color:var(--brand-blue);border-color:var(--brand-green)}
.hero,.services-section,.reviews-section{background:var(--cream)}
.hero h1 em{color:var(--brand-blue)}
.eyebrow{color:var(--brand-blue)}.eyebrow span{background:var(--brand-green)}
.button{background:linear-gradient(110deg,var(--brand-blue),#007b89);border-radius:6px}
.button:hover{background:var(--dark-teal)}
.appointment{background:linear-gradient(115deg,#005579,#007b89)}
.appointment .eyebrow{color:#e0f1ef}.appointment .eyebrow span{background:#9bce61}
.appointment form{border-radius:12px;box-shadow:0 14px 40px #00334e25}
.service-card{border-radius:12px;border-color:var(--line)}
.service-card:hover{border-color:#75af7c}
.accent-card{background:linear-gradient(140deg,#005b89,#087e80)}
.accent-card h3,.accent-card p,.accent-card a{color:white}
.care-controls button{border-color:#006b9138}.care-controls button:hover{background:#deefeb}
.care-controls button:focus-visible,.calendar-icon-button:focus-visible{outline-color:var(--brand-orange)}
footer{background:#073e57}.footer-wrap{grid-template-columns:1fr auto;gap:24px}
.footer-wrap .brand strong,.footer-wrap .brand small{color:#fff}.footer-wrap .brand strong .brand-hands{color:#a9d975}
.footer-wrap .brand-logo{width:92px;height:92px}
.admin-top,.blog-admin-top,.reviews-top,.patients-top,.patient-top{gap:20px;flex-wrap:wrap}
.admin-card,.blog-admin-card,.billing-card{border-radius:12px}
.appointment-table th{background:var(--pale);color:var(--brand-blue)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-aqua);outline-offset:2px}
.home-contact{scroll-margin-top:130px}
@media(max-width:1100px){.main-nav,.header-button{display:none}.menu-button{display:block;margin-left:auto;border:0;background:none;font-size:25px;color:var(--teal)}.main-nav.open{display:flex;position:absolute;top:107px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:12px 24px;border-bottom:1px solid var(--line)}.main-nav.open a{padding:13px 0;border:0}.main-nav.open a.active{color:var(--brand-green)}}
@media(max-width:520px){.site-header{height:90px}.brand-logo{width:68px;height:68px}.brand strong{font-size:18px}.brand small{font-size:7px;letter-spacing:1.1px}.brand{gap:8px}.nav-wrap{gap:10px}.main-nav.open{top:89px}.footer-wrap{grid-template-columns:1fr}.footer-wrap .brand-logo{width:76px;height:76px}.home-contact{scroll-margin-top:110px}}
@media print{.brand-logo{width:64px;height:64px}.brand-theme{background:white}}
