/* Stitch-inspired boutique dental visual system; native WordPress templates. */
:root{--ink:#102937;--ink-2:#536976;--line:#e2e8f0;--brand:#0a3b52;--brand-d:#072635;--brand-l:#edf7f8;--accent:#00b99f;--accent-d:#087c70;--accent-l:#e4faf6;--bg:#fafbfd;--bg-2:#f4f7f9;--r:17px;--r-lg:24px;--shadow:0 10px 38px rgba(7,38,53,.055);--shadow-lg:0 22px 55px rgba(7,38,53,.14);--wrap:1260px;--font-head:'Plus Jakarta Sans',Inter,system-ui,sans-serif}
body{background:var(--bg);font-size:15px;line-height:1.65}
h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.035em}
.wrap{padding-inline:clamp(18px,3.2vw,48px)}
.topbar{background:#072635;padding:.38rem 0;color:#d8e8ea;font-size:.72rem;letter-spacing:.02em}
.topbar .wrap{justify-content:space-between}.topbar a{color:#7fe7d6;font-weight:700}
.site-header{background:rgba(255,255,255,.97);box-shadow:0 8px 25px rgba(7,38,53,.04)}
.nav-row{min-height:80px}.site-branding{min-width:0;flex:none}.site-branding img{max-width:185px;height:auto;max-height:54px;object-fit:contain}
.site-title{display:block;font-family:var(--font-head);font-weight:800!important;letter-spacing:-.04em}.site-title small{display:block;font:600 10px Inter,sans-serif;letter-spacing:.05em;color:#537587}
.main-nav ul{gap:clamp(.7rem,1.65vw,1.6rem)}.main-nav a{font-size:.86rem;font-weight:600}.main-nav ul ul{max-height:70vh;overflow-y:auto}
.btn{min-height:47px;padding:.78rem 1.4rem;font-size:.91rem;font-weight:700}.btn-primary{background:#11ccb0;color:#073039;box-shadow:none}.btn-primary:hover{background:#6be8d6;color:#073039}.nav-cta{white-space:nowrap}
.burger{width:46px;height:46px;border-radius:13px;background:#eff9f8;border-color:#c7e9e4}.drawer{max-height:calc(100dvh - 116px);overscroll-behavior:contain}.drawer a{min-height:43px}.drawer ul ul a{padding:.62rem 1rem;font-size:.87rem}
.hero{background:radial-gradient(circle at 70% 45%,rgba(22,155,154,.17),transparent 34%),linear-gradient(125deg,#072635,#0b3949 82%);padding:clamp(3rem,6vw,6rem) 0 3rem}.hero::after{opacity:.45}.hero .eyebrow{border-color:rgba(59,215,196,.26);background:rgba(17,204,176,.1);color:#93eee2;letter-spacing:.03em;text-transform:none;font-size:.75rem}.hero h1{font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.11;font-weight:800;letter-spacing:-.065em}.hero h1 em{color:#78eedc}.hero .lede{color:#d3e4e7;max-width:37rem}.hero-points li{color:#e2f4f1}.hero-media img{border-radius:22px}.hero-badge{border:1px solid #e0efed}.hero-inner{align-items:center}
.booking-box,.book-card,.booking-card{border-radius:20px;box-shadow:var(--shadow-lg)}
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust strong{color:var(--brand);font-family:var(--font-head);font-weight:800}
.section{padding:clamp(3.5rem,6vw,6rem) 0}.section-alt{background:#f6f9fa}.section-head{max-width:760px}.section-head h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.2}.kicker{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#087c70}
.card,.why,.post-card,.aside-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:var(--shadow)}.card{padding:1.7rem;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-4px);box-shadow:0 19px 42px rgba(7,38,53,.09);border-color:#90dcd1}.card .ico,.why .ico{background:#e9faf6;border-radius:13px;padding:.68rem;width:fit-content}.card h3{font-size:1.1rem}.card .more{font-weight:700}.why{padding:1.7rem}.page-hero{background:linear-gradient(120deg,#072635,#0a3b52);color:#fff}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em}.page-hero .lede{color:#d4e9eb}.entry-content{line-height:1.85}.entry-content h2{margin-top:2rem}.entry-content a{text-underline-offset:3px}
.site-footer{background:#072635}.actionbar{box-shadow:0 -5px 22px rgba(7,38,53,.1)}
@media (min-width:1100px){.main-nav{display:block}.nav-cta{display:inline-flex}.burger{display:none}.drawer{display:none!important}}
@media (min-width:900px) and (max-width:1099px){.main-nav,.nav-cta{display:none}.burger{display:inline-flex}.drawer.open{display:block!important}}
@media (max-width:600px){.topbar .wrap{justify-content:space-between;gap:.5rem}.topbar .wrap span:nth-child(2){display:none}.nav-row{min-height:68px}.site-branding img{max-width:145px;max-height:46px}.site-title{font-size:1rem!important}.site-title small{font-size:8px}.hero{padding:3.2rem 0 2rem}.hero h1{font-size:clamp(2.2rem,9.3vw,3.5rem)}.hero-actions .btn{width:100%}.section{padding:3.6rem 0}.card{padding:1.4rem}.drawer{max-height:calc(100dvh - 104px)}}
