:root{--bg:#f8f6f2;--white:#fffefa;--cream:#eee9df;--taupe:#bda995;--accent:#947c66;--ink:#302c27;--sub:#6a625b;--line:#e5ded6;--green:#657766}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.65}a{text-decoration:none;color:inherit}button{font:inherit}img{display:block;max-width:100%}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.topbar{background:#eae4db;font-size:11px;letter-spacing:.045em;color:#75695f}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.topbar a{font-weight:700}header{position:sticky;top:0;background:rgba(255,254,250,.95);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);z-index:10}.navwrap{height:87px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:9px;flex:none}.mark{font:800 49px/.8 Manrope,sans-serif;letter-spacing:-.11em;color:var(--accent)}.mark-dot{color:var(--green)}.brandname{font-size:11px;line-height:1.25;font-weight:800;letter-spacing:.16em}nav{display:flex;align-items:center;gap:25px}nav>a{font-size:12px;font-weight:700;transition:color .2s}nav>a:hover{color:var(--accent)}nav .nav-cta{padding:13px 19px;background:var(--ink);color:white;border-radius:4px}.menu-toggle{display:none;border:0;background:none;font-size:28px}.hero{background:#f8f6f2;padding:74px 0 22px}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:62px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--accent)}.mini-line{display:inline-block;width:20px;height:1px;background:var(--accent);vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:1.13}h1{font-size:clamp(46px,5.5vw,78px);font-weight:600;margin:30px 0}h1 em,h2 em{font-family:Georgia,serif;letter-spacing:-.06em;font-weight:400;font-style:italic;color:var(--accent)}.hero-copy>p{font-size:17px;color:var(--sub);max-width:490px;line-height:1.9}.buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:49px;padding:14px 21px;font-weight:700;font-size:12px;border:1px solid var(--ink);border-radius:3px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white}.btn-ghost{background:transparent}.hero-notes{margin-top:52px;display:flex;flex-wrap:wrap;gap:24px;font-size:11px;letter-spacing:.02em;color:var(--sub)}.hero-notes b{font-size:10px;color:var(--accent);margin-right:8px}.hero-photo{position:relative;border-radius:160px 10px 10px 10px;overflow:hidden;min-height:540px;background:#d9d0c5}.hero-photo img{width:100%;height:540px;object-fit:cover;object-position:center}.image-stamp{position:absolute;bottom:22px;left:22px;background:rgba(255,254,250,.94);padding:22px 28px;display:grid;gap:2px;box-shadow:0 18px 35px #51453e24}.image-stamp span{font-size:11px;color:var(--sub)}.image-stamp strong{font-family:Georgia,serif;font-style:italic;font-size:22px;font-weight:400}.tagline{margin-top:60px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--accent)}.tagline-line{height:1px;flex:1;background:var(--line)}section{scroll-margin-top:88px}.intro{padding:120px 0;background:var(--white)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}h2{font-size:clamp(35px,4.2vw,57px);font-weight:600;margin:20px 0}.intro-right>p{color:var(--sub);font-size:16px;line-height:1.9}.small-features{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:36px 0}.small-features>div{display:grid;gap:7px}.small-features span{font-size:22px;color:var(--accent)}.small-features b{font-size:13px}.small-features small{color:var(--sub)}.intro-right>p.muted{font-size:12px}.services-section{padding:112px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:43px}.section-heading>p{max-width:360px;color:var(--sub)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service{min-height:235px;position:relative;background:var(--white);border:1px solid var(--line);padding:29px 27px;transition:background .2s,transform .2s}.service:hover{background:#efe8de;transform:translateY(-4px)}.service-number{font-size:10px;color:var(--accent)}.service h3{font-size:20px;font-weight:600;margin:29px 0 10px;letter-spacing:-.035em}.service p{font-size:13px;color:var(--sub);max-width:250px}.circle-arrow{position:absolute;right:24px;top:22px;font-size:18px;color:var(--accent)}.text-link{display:inline-block;margin-top:28px;font-size:13px;font-weight:700;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:3px}.team-section{padding:105px 0;background:#eee8df}.team-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:90px;align-items:center}.team-photo{height:500px;overflow:hidden;border-radius:6px 150px 6px 6px;background:#d7cbbf}.team-photo img{width:100%;height:100%;object-fit:cover}.team-copy>p{color:var(--sub);line-height:1.9}.team-names{margin:34px 0}.team-names>div{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #d4c9bc}.team-names strong{font-size:13px}.team-names span{font-size:12px;color:var(--sub)}.btn-outline{border-color:#a38c76;color:var(--ink)}.appointment{text-align:center;padding:108px 0;background:#e6ddd2}.appointment-inner{max-width:680px}.appointment p{color:var(--sub)}.appointment .btn{margin-top:18px}.contact-section{background:var(--white);padding:108px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card,.hours-card{background:#f6f2ec;padding:43px;border:1px solid var(--line)}.contact-card h3,.hours-card h3{font-size:25px;font-weight:600;margin-bottom:30px}.contact-line{display:grid;gap:6px;margin:0 0 25px}.contact-line small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.contact-line strong,.contact-line a{font-weight:600;font-size:14px;overflow-wrap:anywhere}.hour{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.hour strong{white-space:nowrap}.footer-flex{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 0;font-size:12px;color:var(--sub)}@media(max-width:1060px){.navwrap{height:76px}.menu-toggle{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--white);padding:20px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px #302c2717;flex-direction:column;align-items:stretch;gap:16px}nav.open{display:flex}.hero-grid{gap:30px}.hero-photo,.hero-photo img{min-height:450px;height:450px}.intro-grid,.team-grid{gap:40px}}@media(max-width:750px){.wrap{width:min(100% - 32px,1200px)}.topbar{font-size:10px}.hero{padding:44px 0 25px}.hero-grid,.intro-grid,.team-grid,.contact-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(42px,10vw,64px)}.hero-copy>p{font-size:15px}.hero-notes{margin-top:30px}.hero-photo{min-height:350px;border-radius:100px 8px 8px 8px}.hero-photo img{height:370px}.tagline{margin-top:30px;font-size:8px}.intro,.services-section,.team-section,.contact-section{padding:70px 0}.section-heading{display:block}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service{padding:20px;min-height:210px}.service h3{font-size:17px;margin-top:26px}.service p{font-size:12px}.team-photo{height:370px;order:2}.contact-card,.hours-card{padding:26px}.footer-flex{flex-wrap:wrap}}@media(max-width:470px){.topbar .wrap>span{max-width:205px;line-height:1.3}.hero-photo img{height:310px}.hero-photo{min-height:310px}.image-stamp{padding:13px 16px}.image-stamp strong{font-size:18px}.services-grid{grid-template-columns:1fr}.service{min-height:170px}.service h3{margin-top:18px}.small-features{grid-template-columns:1fr}.hour{font-size:12px}.buttons .btn{width:100%}.tagline{letter-spacing:.07em}}
.hero{background-image:linear-gradient(rgba(46,57,47,.20),rgba(46,57,47,.20)),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg");background-size:cover;background-position:center}.hero-copy{background:rgba(248,246,242,.88);padding:24px;border-radius:8px}.family-panel{background:#f7f4e9;text-align:center;padding:55px 15px 0;overflow:hidden}.family-panel h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);font-weight:400;line-height:1.13;color:#171717;margin:0 0 20px}.family-panel a{display:inline-block;border:1px solid #222;border-radius:28px;padding:10px 24px;font-size:13px}.family-panel img{width:min(100%,1000px);max-height:425px;object-fit:contain;object-position:bottom;margin:12px auto 0}@media(max-width:700px){.family-panel h2 br{display:none}.hero-copy{padding:14px}}

.service-menu{position:relative;display:flex;align-items:center}.service-menu>a{font-size:12px;font-weight:700}.service-dropdown{display:none;position:absolute;top:100%;left:0;min-width:225px;padding:12px;background:#fffefa;box-shadow:0 9px 24px #0002;z-index:100}.service-menu:hover .service-dropdown,.service-menu:focus-within .service-dropdown{display:grid;gap:7px}.service-dropdown a{font-size:13px;padding:5px}.sub-hero{padding:100px 0;background:#eee9df}.sub-hero h1{font:400 clamp(40px,6vw,74px)/1.1 Georgia,serif;margin:20px 0}.sub-hero p{font-size:19px;max-width:700px}.sub-body{background:#fffefa;padding:80px 0}.sub-body>.wrap>p{font-size:19px;max-width:800px;line-height:1.85}.sub-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0}.sub-cards a{background:#f8f6f2;padding:27px;display:flex;justify-content:space-between;border:1px solid #e5ded6}.sub-cta{padding:55px 0 15px;margin-top:65px;border-top:1px solid #ddd}.sub-cta h2{font:400 34px Georgia,serif}.sub-footer{padding:38px 0;background:#302c27;color:white}.sub-footer .wrap{display:flex;gap:25px;flex-wrap:wrap;align-items:center}.contact-actions{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0}@media(max-width:800px){.sub-cards{grid-template-columns:1fr}.service-menu{display:block}.service-dropdown{position:static;box-shadow:none;background:transparent;display:grid;gap:3px;padding:8px}.service-menu>a{display:none}}

/* Hero layout correction */
.hero-slogan-card{display:flex;align-items:center;justify-content:center;min-height:430px;background:rgba(248,246,242,.93);border:1px solid rgba(148,124,102,.25);border-radius:18px;box-shadow:0 16px 42px #15241824;padding:32px!important}.hero-slogan-inner{text-align:center}.hero-slogan-inner strong{display:block;font:400 clamp(37px,4vw,62px)/1.1 Georgia,serif;letter-spacing:-.03em;margin:22px 0;color:#2b302a}.hero-slogan-inner em{color:#657766;font-style:normal}.hero-slogan-inner a{display:inline-block;padding:12px 24px;border:1px solid #526452;border-radius:32px;font-weight:600}.hero-slogan-card img{display:none!important}@media(max-width:700px){.hero-slogan-card{min-height:320px}}

.family-panel .family-collage{position:relative;max-width:940px;width:100%;height:375px;margin:12px auto 0;overflow:hidden}.family-panel .family-collage img{position:absolute;margin:0;max-height:none;object-fit:contain;object-position:bottom;width:auto;filter:none}.family-panel .collage-father{height:90%;bottom:0;left:0;z-index:1}.family-panel .collage-happy{height:95%;bottom:0;left:21%;z-index:3}.family-panel .collage-smile{height:95%;bottom:0;right:0;z-index:2}@media(max-width:700px){.family-panel .family-collage{height:230px}.family-panel .collage-father{height:85%;left:-5%}.family-panel .collage-happy{height:91%;left:12%}.family-panel .collage-smile{height:93%;right:-16%}}

/* Requested hero revision: original slogan card left, clinic photo fully visible right */
.hero .hero-grid{grid-template-columns:1fr 1fr;min-height:480px}.hero .hero-left-slogan{background:rgba(248,246,242,.94);display:flex;align-items:center;justify-content:center;min-height:390px;padding:36px;border-radius:16px;box-shadow:0 14px 38px #15241822;text-align:center}.hero-left-slogan h1{font:400 clamp(37px,4vw,62px)/1.1 Georgia,serif;letter-spacing:-.03em;margin:24px 0;color:#222}.hero-left-slogan h1 em{color:#657766;font-style:normal}.hero-left-slogan .hero-slogan-inner>a{display:inline-block;border:1px solid #526452;border-radius:32px;padding:12px 24px;font-weight:600}.hero .hero-grid:after{content:"";display:block;min-height:350px}@media(max-width:750px){.hero .hero-grid{display:block;min-height:unset}.hero .hero-grid:after{display:none}.hero .hero-left-slogan{min-height:325px}}

/* Reposition framed content on right, slogan heading on left */
.hero .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.hero .hero-plain-slogan{background:none!important;box-shadow:none!important;padding:20px 0!important;text-align:left!important;display:block!important;min-height:0!important}.hero-plain-slogan h1{font:400 clamp(43px,4.6vw,73px)/1.1 Georgia,serif;color:#1d211c;letter-spacing:-.04em}.hero-plain-slogan h1 em{font-style:normal;color:#243125}.hero-plain-slogan p{max-width:390px;font-size:16px}.hero .hero-slogan-card{display:flex;justify-content:center;align-items:center;background:rgba(248,246,242,.94);min-height:415px;padding:38px;border-radius:18px;box-shadow:0 15px 38px #15241825;text-align:center}.hero .hero-slogan-card strong{display:block;font:400 clamp(33px,3.1vw,51px)/1.1 Georgia,serif;margin:26px 0;color:#1f261f}.hero .hero-slogan-card strong em{font-style:normal;color:#657766}.hero .hero-slogan-card a{display:inline-block;border:1px solid #526452;border-radius:28px;padding:12px 22px}@media(max-width:750px){.hero .hero-grid{grid-template-columns:1fr;gap:24px}.hero .hero-slogan-card{min-height:300px}}

/* Hero final correction: single right card, uncluttered left, controlled photo scale */
.hero.hero-final{background-image:linear-gradient(rgba(30,45,35,.12),rgba(30,45,35,.12)),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important;background-size:cover!important;background-position:center center!important;padding:65px 0 20px!important}.hero-final .hero-grid{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;gap:44px!important;min-height:420px!important}.hero-final .hero-clear-space{min-height:1px}.hero-final .hero-unified-card{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;min-height:390px!important;max-width:530px!important;width:100%!important;padding:36px!important;background:rgba(248,246,242,.94)!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(20,30,20,.18)!important}.hero-final .hero-unified-card h1{font:400 clamp(36px,3.7vw,57px)/1.08 Georgia,serif!important;color:#1e211c!important;margin:22px 0 16px!important;letter-spacing:-.035em!important}.hero-final .hero-unified-card h1 em{font-style:normal!important;color:#657766!important}.hero-final .hero-unified-card p{font-size:15px!important;line-height:1.6!important;margin:0 auto 22px!important;max-width:345px!important;color:#4e504b!important}.hero-final .hero-unified-card a{display:inline-block!important;border:1px solid #526452!important;border-radius:28px!important;padding:12px 24px!important;font-weight:600!important}@media(max-width:750px){.hero-final .hero-grid{grid-template-columns:1fr!important;min-height:0!important}.hero-final .hero-clear-space{display:none!important}.hero-final .hero-unified-card{margin:auto!important;min-height:340px!important}.hero.hero-final{padding:45px 0 15px!important;background-position:center!important}}

/* Restore original clean split hero; clinic photo replaces sofa */
.hero.hero-restored{background:#f8f6f2!important;background-image:none!important;padding:74px 0 22px!important}.hero-restored .hero-grid{display:grid!important;grid-template-columns:1.03fr .97fr!important;gap:62px!important;align-items:center!important;min-height:0!important}.hero-restored .hero-copy{background:transparent!important;box-shadow:none!important;padding:0!important;min-height:0!important;border:0!important;border-radius:0!important;display:block!important;text-align:left!important}.hero-restored .hero-copy h1{font-family:Manrope,sans-serif!important;font-size:clamp(38px,4.4vw,65px)!important;line-height:1.1!important;font-weight:700!important;margin:22px 0!important}.hero-restored .hero-copy h1 em{font-style:normal;color:#657766}.hero-restored .hero-photo{display:block!important;position:relative!important;min-height:420px!important;background:none!important;border-radius:8px!important;box-shadow:none!important;padding:0!important;overflow:hidden!important;max-width:none!important}.hero-restored .hero-photo>img{display:block!important;width:100%!important;height:460px!important;object-fit:cover!important;object-position:center!important}.hero-restored .hero-photo .image-stamp{display:block!important}@media(max-width:800px){.hero-restored .hero-grid{grid-template-columns:1fr!important;gap:30px!important}.hero-restored .hero-photo>img{height:350px!important}.hero.hero-restored{padding:42px 0 20px!important}}

/* Requested refinements: seamless off-white family section and compact gap */
.hero.hero-restored{padding-bottom:0!important}.hero-restored .hero-grid{margin-bottom:0!important}.hero-restored .tagline{padding-top:12px!important;padding-bottom:12px!important;margin-bottom:0!important}.family-panel{background:#f8f6f2!important;padding-top:30px!important;margin-top:0!important}.hero-restored .hero-photo .image-stamp{display:none!important}@media(max-width:800px){.hero.hero-restored{padding-bottom:0!important}.family-panel{padding-top:24px!important}}

/* Compact transition after hero */
.hero.hero-restored{padding-top:46px!important;padding-bottom:0!important}.hero-restored .hero-photo{min-height:0!important;margin-bottom:0!important}.hero-restored .hero-photo>img{height:395px!important}.hero-restored .tagline{padding:0!important;height:0!important;min-height:0!important;overflow:hidden!important;border:0!important}.family-panel{padding-top:12px!important;margin-top:0!important}.family-panel h2{margin-top:0!important}.hero-restored .hero-grid{padding-bottom:0!important}@media(max-width:800px){.hero-restored .hero-photo>img{height:290px!important}.family-panel{padding-top:8px!important}}

.sub-hero,.sub-body{scroll-margin-top:110px}

/* Expanded educational service sections */
.service-details{padding:4px 0 60px;background:#fffefa}.service-details .wrap{max-width:930px}.service-details article{padding:26px 0;border-top:1px solid #e7e0d7}.service-details h2,.detail-hours h2{font:400 clamp(25px,2.8vw,36px) Georgia,serif;color:#302c27}.service-details p{font-size:16px;line-height:1.85;color:#5b564f}.detail-hours{margin-top:20px;padding:24px;background:#f8f6f2}.hero-restored .tagline{display:none!important}.hero.hero-restored{padding-bottom:0!important}.family-panel{padding-top:0!important}.hero-restored .hero-photo>img{height:360px!important}.hero-restored .hero-photo{min-height:0!important}

/* Definitive spacing correction overriding all legacy desktop/mobile height rules */
.hero.hero-restored{padding-bottom:0!important;margin-bottom:0!important;min-height:0!important}.hero-restored .hero-grid{min-height:0!important;margin-bottom:0!important}.hero-restored .hero-photo{min-height:0!important;height:350px!important;max-height:350px!important}.hero-restored .hero-photo>img{min-height:0!important;height:350px!important;max-height:350px!important}.hero-restored .tagline{display:none!important}.family-panel{padding-top:4px!important;margin-top:0!important}.family-panel h2{padding-top:0!important;margin-top:0!important}@media(max-width:800px){.hero-restored .hero-photo,.hero-restored .hero-photo>img{height:285px!important;min-height:0!important;max-height:285px!important}.family-panel{padding-top:4px!important}}

/* Gap override 20261018-route-fix-0337 */
.hero.hero-restored{padding-top:26px!important;padding-bottom:0!important}.hero-restored .hero-grid{margin-bottom:0!important;min-height:0!important}.hero-restored .hero-photo{height:330px!important;min-height:0!important;max-height:330px!important}.hero-restored .hero-photo>img{height:330px!important;min-height:0!important;max-height:330px!important}.hero-restored .tagline{display:none!important}.family-panel{padding:0 15px!important;margin:0!important}.family-panel h2{margin:0 0 12px!important}@media(max-width:800px){.hero-restored .hero-photo,.hero-restored .hero-photo>img{height:280px!important;min-height:0!important;max-height:280px!important}}

.family-original-content{background:#fffefa;padding:48px 0 72px}.family-original-content .wrap{max-width:900px}.family-original-content h2{font:400 clamp(28px,3vw,42px)/1.22 Georgia,serif;margin:0 0 26px}.family-original-content p,.family-original-content li{font-size:17px;line-height:1.85;color:#514c47}.family-original-content p{margin:0 0 22px}.family-original-content ul{padding-left:24px;margin:12px 0 25px}.family-original-content li{margin-bottom:10px}

/* Service editorial image: balanced off-white layout */
.detail-feature-photo{width:min(1100px,calc(100% - 48px));height:clamp(230px,34vw,400px);margin:24px auto 28px;overflow:hidden;border-radius:14px;background:#eeeae4;box-shadow:0 9px 22px rgba(35,36,32,.08)}.detail-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.detail-feature-photo:has(img[src*="075fcce869f54a4684dc7296581cec30"]){background:#f8f6f2}.detail-feature-photo:has(img[src*="075fcce869f54a4684dc7296581cec30"]) img{object-fit:contain;object-position:center bottom}@media(max-width:750px){.detail-feature-photo{width:calc(100% - 30px);height:240px;margin:12px auto 22px}}

/* Refined site layout */
.hero.hero-restored{padding-top:30px!important;padding-bottom:0!important}.hero-restored .hero-grid{margin-bottom:0!important;min-height:0!important}.hero-restored .tagline{display:none!important}.family-panel{margin:0!important;padding-top:0!important}.family-panel h2{margin-top:0!important}.detail-feature-photo{float:right;width:39%!important;height:290px!important;margin:12px 0 22px 34px!important;border-radius:14px!important}.detail-feature-photo img{object-fit:cover!important;object-position:50% 25%!important}.detail-feature-photo:has(img[src*="075fcce"]) img{object-fit:contain!important}.sub-body:after,.service-details:after{content:"";display:block;clear:both}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start}.contact-map{width:100%;height:440px;border:0;border-radius:14px}.contact-info h2{font:400 29px Georgia,serif;margin:18px 0}.contact-info p{line-height:1.8}.hours-note{font-size:13px;color:#777}@media(max-width:750px){.detail-feature-photo{float:none;width:100%!important;height:230px!important;margin:14px auto 25px!important}.contact-layout{grid-template-columns:1fr}.contact-map{height:300px}}

/* Complete clinic footer */
.footer-complete{background:#eae5dd;color:#3b3a35;padding:58px 0 20px;margin-top:0}.footer-complete-grid{display:grid;grid-template-columns:1.35fr 1fr 1.35fr 1fr;gap:35px}.footer-complete-grid>div{min-width:0}.footer-complete h3{font:600 14px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;margin:0 0 17px}.footer-complete p{font-size:14px;line-height:1.75;margin:10px 0 16px}.footer-complete a:not(.brand){display:block;color:inherit;text-decoration:none;font-size:14px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.footer-complete a:hover{text-decoration:underline}.footer-complete .brand{display:inline-flex;margin-bottom:15px}.footer-complete-bottom{border-top:1px solid #cbc4ba;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:#6b675f}@media(max-width:950px){.footer-complete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.footer-complete-grid{grid-template-columns:1fr;gap:23px}.footer-complete-bottom{display:block}.footer-complete-bottom span{display:block;margin:5px 0}}

/* Same clinic logo in header and footer, no imposed background */
header .brand,.footer-complete .footer-intro .brand{background:transparent!important;border:0!important;box-shadow:none!important}.clinic-logo-img{display:block;width:185px;max-width:100%;height:65px;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important}.footer-complete .clinic-logo-img{width:200px;height:80px}

/* Homepage gap and service imagery corrections */
.hero.hero-restored{min-height:0!important;height:auto!important;padding:24px 0 0!important;margin:0!important}.hero-restored .hero-grid{min-height:0!important;height:auto!important;margin:0 auto!important;padding-bottom:0!important}.hero-restored .hero-copy{min-height:0!important}.hero-restored .hero-photo{min-height:0!important;height:330px!important}.hero-restored .tagline{display:none!important}.hero-restored+.family-panel,.family-panel{margin-top:0!important;padding-top:0!important}.detail-feature-photo{float:right!important;width:min(35%,340px)!important;height:240px!important;margin:10px 0 20px 28px!important;background:#f8f6f2!important;box-shadow:none!important}.detail-feature-photo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}.footer-hours div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #cfc9bf;padding:5px 0;font-size:13px}.footer-hours b{white-space:nowrap}@media(max-width:750px){.detail-feature-photo{float:none!important;width:100%!important;max-width:340px!important;height:210px!important;margin:12px auto 22px!important}}

/* Fix actual root cause: legacy third grid child pseudo-element */
.hero.hero-restored .hero-grid::after{content:none!important;display:none!important;min-height:0!important}.hero.hero-restored .hero-grid{grid-template-rows:auto!important;grid-auto-rows:auto!important;height:auto!important;min-height:0!important}.hero.hero-restored{height:auto!important;min-height:0!important;padding-bottom:0!important}.hero.hero-restored .tagline{display:none!important}.hero.hero-restored+.family-panel{padding-top:12px!important;margin-top:0!important}

/* Intentional modest separation between homepage sections */
.hero.hero-restored + .family-panel { padding-top: 48px !important; margin-top: 0 !important; }
@media(max-width:750px){.hero.hero-restored + .family-panel { padding-top: 30px !important; }}

/* Harmonized clinic typography — editorial, soft, professional */
:root{--font-heading:Georgia,"Times New Roman",serif;--font-body:Manrope,Arial,sans-serif}body,button,input,textarea,select{font-family:var(--font-body)!important}body{font-size:16px;line-height:1.75;letter-spacing:0;color:#33362f}h1,h2,h3,.family-panel h2,.hero-restored .hero-copy h1,.sub-hero h1,.intro h2,.section-title,.footer-complete h3{font-family:var(--font-heading)!important;font-weight:400!important;letter-spacing:-.025em!important}.hero-restored .hero-copy h1{font-size:clamp(43px,4.6vw,68px)!important;line-height:1.12!important}.family-panel h2{font-size:clamp(31px,3.7vw,49px)!important;line-height:1.2!important;max-width:920px;margin-left:auto!important;margin-right:auto!important}.sub-hero h1{font-size:clamp(39px,5vw,62px)!important;line-height:1.15!important}.sub-body h2,.intro h2{font-size:clamp(27px,3vw,39px)!important;line-height:1.2!important}.sub-body h3{font-size:clamp(22px,2.3vw,29px)!important}.hero-copy>p,.sub-body p,.sub-body li,.intro p{font-family:var(--font-body)!important;font-size:16px!important;line-height:1.85!important;letter-spacing:0!important}.eyebrow,.navwrap nav,.btn,.footer-complete a,.footer-complete p{font-family:var(--font-body)!important}.eyebrow{font-size:11px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase}.btn{font-size:13px!important;font-weight:650!important;letter-spacing:.005em!important}.footer-complete h3{font-size:19px!important;text-transform:none!important;letter-spacing:0!important}.footer-complete p,.footer-complete a{font-size:13px!important;line-height:1.65!important}@media(max-width:750px){.hero-restored .hero-copy h1{font-size:clamp(37px,9vw,52px)!important}.family-panel h2{font-size:clamp(29px,7vw,40px)!important}.sub-body p,.sub-body li{font-size:15px!important}}

.service-final-cta{padding:16px 0 64px;background:#fff}.service-final-cta .sub-cta{border-top:1px solid #dedbd5;padding-top:40px;margin-top:0}.service-final-cta .wrap{max-width:1100px;margin:auto}

/* Visually blend opaque white logo canvas into surrounding background */
img[src*='acadcb_3d0dd845fde24197a789b1389b38d8cf']{mix-blend-mode:multiply!important;background:transparent!important;isolation:auto!important}

/* Header logo cleanup: match header surface to embedded white logo canvas */
header,header .navwrap,header .brand{background-color:#fff!important;background-image:none!important}header .brand img.clinic-logo-img{mix-blend-mode:normal!important;background:#fff!important;object-fit:contain!important;filter:none!important}header{border-bottom:1px solid #eeeae3!important}

/* FAQ accordions */
.faq-section{padding:72px 0 78px;background:#faf8f4}.faq-section .wrap{max-width:970px}.faq-intro{text-align:center;margin:0 auto 35px;max-width:740px}.faq-intro h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,43px);margin:12px 0}.faq-intro p{color:#6d6a65;line-height:1.7}.faq-accordion{display:grid;gap:12px}.faq-item{border:1px solid #e7e0d6;border-radius:13px;background:#fff;overflow:hidden}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 24px;font-weight:650;color:#33302b;font-size:17px}.faq-item summary::-webkit-details-marker{display:none}.faq-item[open] summary{color:#77624e}.faq-plus:after{content:"+";font-size:26px;font-weight:300;line-height:1}.faq-item[open] .faq-plus:after{content:"−"}.faq-answer{padding:0 24px 23px;color:#5e5a54;line-height:1.75}.faq-answer p{margin:0}.faq-answer a{color:#78624d;text-decoration:underline;text-underline-offset:3px}@media(max-width:650px){.faq-section{padding:44px 0}.faq-item summary{padding:18px;font-size:15px}.faq-answer{padding:0 18px 20px}}

.finance-section{padding:74px 0 82px;background:#faf8f4}.finance-section .wrap{max-width:1100px}.finance-heading{max-width:760px;margin-bottom:36px}.finance-heading h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,45px);line-height:1.2;margin:12px 0 17px;color:#302e2b}.finance-heading p{font-size:17px;line-height:1.85;color:#615d56}.finance-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.finance-cards article{background:white;border:1px solid #e8e0d7;border-radius:16px;padding:30px 26px}.finance-number{display:inline-block;color:#a48b70;font-size:13px;letter-spacing:.15em;font-weight:700;margin-bottom:20px}.finance-cards h3,.finance-note h3{font-family:Georgia,serif;font-size:23px;line-height:1.3;margin:0 0 14px}.finance-cards p,.finance-note p{color:#625e57;line-height:1.8;margin:0}.finance-note{margin-top:26px;border-radius:16px;background:#eee9e1;padding:34px}.finance-note a{display:inline-block;margin-top:20px;color:#715a43;font-weight:700;text-decoration:underline;text-underline-offset:4px}@media(max-width:750px){.finance-section{padding:48px 0}.finance-cards{grid-template-columns:1fr}.finance-note{padding:25px}}

.visit-section{padding:75px 0 85px;background:#faf8f4}.visit-section .wrap{max-width:1140px}.visit-heading{text-align:center;max-width:740px;margin:0 auto 36px}.visit-heading h2,.visit-location h2{font-family:Georgia,serif;font-size:clamp(31px,4vw,44px);line-height:1.2;margin:12px 0 16px}.visit-heading p,.visit-location p{color:#686159;line-height:1.8}.visit-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.visit-photo{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e8e0d8}.visit-photo img{display:block;width:100%;height:340px;object-fit:cover}.visit-photo figcaption{font-size:13px;color:#726c64;padding:12px 18px}.visit-location{padding:55px 0 65px;background:#f0ebe4}.visit-location .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:1100px}.visit-location a:not(.btn){color:#715d4b;text-decoration:underline}@media(max-width:720px){.visit-section{padding:46px 0}.visit-gallery{grid-template-columns:1fr}.visit-photo img{height:auto;max-height:380px;object-fit:contain}.visit-location .wrap{display:block}.visit-location .btn{margin-top:22px}}

/* Original official clinic visit photos; natural image proportions */
.visit-original-section{background:#faf8f4;padding:64px 0 85px}.visit-original-section .wrap{max-width:1130px}.visit-original-heading{text-align:center;margin:0 auto 38px}.visit-original-heading h2{font-family:Georgia,serif;font-size:clamp(29px,4vw,42px);margin:12px 0}.visit-original-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.visit-original-photo{margin:0;background:#fff;padding:10px;border-radius:12px;border:1px solid #e7e0d6}.visit-original-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:5px}@media(max-width:700px){.visit-original-section{padding:42px 0}.visit-original-gallery{grid-template-columns:1fr;gap:16px}}

.team-section{background:#faf8f4;padding:72px 0 90px}.team-section .wrap{max-width:1150px}.team-intro{text-align:center;max-width:700px;margin:0 auto 44px}.team-intro h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,44px);margin:12px 0}.team-intro p{color:#706a62}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.team-person{text-align:center;min-width:0}.team-portrait{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#eee9e1}.team-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s}.team-person:hover .team-portrait img{transform:scale(1.035)}.team-person h3{font-family:Georgia,serif;font-size:24px;font-weight:500;margin:18px 0 0;color:#34312e}@media(max-width:760px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.team-section{padding:48px 0}.team-person h3{font-size:20px}}@media(max-width:420px){.team-grid{grid-template-columns:1fr}.team-portrait{max-width:350px;margin:auto}}

.team-person .team-bio{font-size:14px;line-height:1.7;color:#6b645d;max-width:320px;margin:12px auto 0}.team-person h3{margin-bottom:0}

/* Team page: original content and editorial layout */
.team-hero-original{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#faf8f4}.team-hero-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block}.team-hero-copy{padding:55px clamp(24px,4vw,70px);display:flex;flex-direction:column;justify-content:center;text-align:center}.team-hero-copy h1{font-family:Georgia,serif;color:#405a4e;font-size:clamp(27px,2.35vw,39px);line-height:1.35;font-weight:500;margin:0 0 42px}.team-hero-copy p{font-size:16px;line-height:1.9;color:#484640;margin:0 0 27px}.team-profiles-section{background:#fff;padding:65px 0 85px}.team-profiles-section .wrap{max-width:1120px}.team-profiles-section h2{text-align:center;font-family:Georgia,serif;font-size:clamp(32px,4vw,45px);margin:0 0 45px}.team-profiles{display:grid;gap:35px}.team-profile{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.85fr);gap:55px;align-items:center;padding:25px 55px;background:#faf8f5;border-radius:15px}.team-profile-copy h3{font-size:25px;font-family:Georgia,serif;margin:0 0 5px}.team-profile-copy strong{font-size:15px;color:#756550}.team-profile-copy p{margin:24px 0 0;line-height:1.85;color:#55514c;font-size:15px}.team-profile-photo{display:flex;justify-content:center}.team-profile-photo img{width:100%;max-width:270px;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:9px}@media(max-width:850px){.team-hero-original{grid-template-columns:1fr}.team-hero-photo img{height:360px;min-height:0}.team-hero-copy{padding:42px 24px}.team-profile{gap:25px;padding:25px}}@media(max-width:600px){.team-profile{grid-template-columns:1fr}.team-profile-photo{grid-row:1}.team-profile-photo img{max-width:260px}.team-profiles-section{padding:45px 0}.team-hero-copy h1{margin-bottom:24px}}

/* Keep Martine’s original portrait uncropped and centered to avoid an awkward head/shoulder composition */
.team-profile-photo img.martine-portrait{width:100%;height:auto;max-width:270px;aspect-ratio:auto;object-fit:contain;object-position:center center;background:#faf8f5}

/* Homepage sections reordered: backgrounds follow each section */
#content-root > .intro{background:#fffefa!important;}
#content-root > .family-panel{background:#f7f4e9!important;}

/* Match family section backdrop to hero backdrop above */
#content-root > .family-panel { background: #f8f6f2 !important; }

/* Hero image sharpness: preserve full original without enlargement/cropping and request the existing full-resolution media URL */
.hero-restored .hero-photo{display:flex!important;align-items:center!important;justify-content:center!important;background:#f8f6f2!important;min-height:420px!important}
.hero-restored .hero-photo>img.hero-original-sharp{display:block!important;width:100%!important;height:auto!important;max-height:460px!important;object-fit:contain!important;object-position:center!important;image-rendering:auto!important;transform:none!important;filter:none!important}
@media(max-width:800px){.hero-restored .hero-photo{min-height:0!important}.hero-restored .hero-photo>img.hero-original-sharp{max-height:none!important;height:auto!important}}

/* RCSD - clinic reference page in warm neutral visual language */
.rcsd-main{background:#faf8f4;padding:70px 0 80px}.rcsd-main>.wrap{max-width:1090px}
.rcsd-lead{max-width:870px;margin:0 auto 70px;text-align:center}
.rcsd-lead h2,.rcsd-explainer h2,.rcsd-commitment h2,.rcsd-hours h2{font:400 clamp(30px,3.5vw,43px)/1.2 Georgia,serif;color:#3e3a35;margin:12px 0 24px}
.rcsd-lead p,.rcsd-explainer>p,.rcsd-commitment p{font-size:16px;line-height:1.85;color:#5f5b55;margin:0 0 17px}
.rcsd-explainer>h2{text-align:center}.rcsd-explainer>p{text-align:center;max-width:790px;margin:0 auto 32px}
.rcsd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rcsd-grid article{background:#fff;border:1px solid #e8e1d7;border-radius:14px;padding:30px 25px}
.rcsd-index{display:block;color:#9c856b;font-weight:700;font-size:13px;letter-spacing:.12em;margin-bottom:19px}
.rcsd-grid h3{font:400 23px/1.3 Georgia,serif;margin:0 0 17px}
.rcsd-grid p{color:#5f5b55;line-height:1.75;margin:0}
.rcsd-commitment{background:#efeae2;border-radius:18px;margin:54px 0 38px;padding:40px 50px}
.rcsd-commitment ul{padding-left:23px;margin:24px 0 0;color:#524d46;line-height:2}
.rcsd-hours{max-width:580px;margin:50px auto 0;text-align:center}
.rcsd-hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;text-align:left;border-top:1px solid #e2dbd1}
.rcsd-hours-grid span,.rcsd-hours-grid strong{padding:11px 15px;border-bottom:1px solid #e2dbd1;font-size:15px}
.rcsd-hours-grid strong{text-align:right;font-weight:600}
.rcsd-phone{margin-top:14px!important}.rcsd-phone a{color:inherit;text-decoration:underline}
@media(max-width:760px){.rcsd-main{padding:45px 0}.rcsd-lead{margin-bottom:45px}.rcsd-grid{grid-template-columns:1fr}.rcsd-commitment{padding:27px 23px;margin:38px 0 25px}}

/* Modal for appointment requests, backed by the Wix hosted form */
.appointment-overlay[hidden]{display:none!important}.appointment-overlay{position:fixed;inset:0;z-index:99999;background:rgba(30,28,25,.62);display:flex;align-items:center;justify-content:center;padding:18px}.appointment-dialog{position:relative;background:#faf8f4;width:min(92vw,750px);max-height:94dvh;overflow:auto;border-radius:18px;box-shadow:0 30px 90px #0005;padding:27px}.appointment-close{position:absolute;right:17px;top:13px;border:0;background:#ebe4da;width:40px;height:40px;border-radius:50%;font-size:27px;cursor:pointer;color:#413a33}.appointment-top{padding-right:45px}.appointment-top>span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#807263}.appointment-top h2{font:400 clamp(26px,4vw,38px) Georgia,serif;margin:9px 0 6px}.appointment-top p{font-size:14px;line-height:1.5;color:#625b54;margin:0 0 15px}.appointment-iframe{width:100%;height:590px;border:0;background:white;border-radius:8px}.appointment-external{margin:12px 0 0;font-size:12px;text-align:center;color:#625b54}.appointment-external a{color:#6e5842;text-decoration:underline}body.appointment-open{overflow:hidden}@media(max-width:650px){.appointment-overlay{padding:8px}.appointment-dialog{padding:16px;width:100%;max-height:97dvh}.appointment-iframe{height:64dvh;min-height:430px}}

/* Distinguish federal RCSD coverage assistance from clinic dental-file assistance */
.rcsd-main ~ .service-final-cta .sub-cta p a[href^="tel:+1888"],.rcsd-hero ~ .service-final-cta .sub-cta p a[href^="tel:+1888"]{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Whitening page professional information sections */
.whitening-intro{background:#fffefa;padding:50px 0 38px}.whitening-intro .wrap{max-width:960px}.whitening-intro h2,.whitening-details h2{font:400 clamp(27px,3.3vw,39px)/1.25 Georgia,serif;color:#38352f;margin:0 0 18px}.whitening-intro p,.whitening-details p,.whitening-details li{font-size:16px;color:#5a5650;line-height:1.85}.whitening-details{background:#faf8f4;padding:50px 0 75px}.whitening-details .wrap{max-width:960px}.whitening-option{padding:34px 38px;background:#fff;border:1px solid #e9e2d9;border-radius:15px;margin-bottom:25px}.whitening-option .eyebrow{display:block;margin-bottom:18px}.whitening-details h3{font:400 24px Georgia,serif;margin:20px 0 12px}.whitening-details ul,.whitening-details ol{padding-left:24px}.whitening-details li{padding-left:5px;margin-bottom:9px}.whitening-guides{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.whitening-guides article{padding:30px;background:#eee8df;border-radius:15px}.whitening-guides h2{font-size:27px}.whitening-details .detail-hours{margin-top:18px}@media(max-width:700px){.whitening-guides{grid-template-columns:1fr}.whitening-option,.whitening-guides article{padding:24px}.whitening-details{padding:35px 0 50px}}

/* Service imports */
.imported-service-details article{background:#fff;border:1px solid #e7e0d6;border-radius:14px;padding:28px 32px;margin-bottom:20px}.imported-service-details article h2{margin-top:0}.imported-service-details article p,.imported-service-details article li{line-height:1.8}.imported-service-details article ul,.imported-service-details article ol{padding-left:23px}.imported-service-details article li{margin-bottom:8px}.imported-service-details article a{color:#75604b;text-decoration:underline}@media(max-width:650px){.imported-service-details article{padding:22px}}

/* SEO breadcrumb on static service pages */
.seo-breadcrumb{background:#f8f6f2;padding:13px 0;border-bottom:1px solid #e9e2d9}.seo-breadcrumb .wrap{display:flex;align-items:center;gap:10px;font-size:12px;color:#7c746a}.seo-breadcrumb a{color:#736655;text-decoration:underline;text-underline-offset:3px}.seo-breadcrumb [aria-current="page"]{font-weight:600;color:#544f47}

/* Refined Services landing cards - scoped to this page only */
.sub-cards.service-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:42px 0 22px}.sub-cards.service-showcase a.svc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:279px;padding:26px 27px 23px;border:1px solid #e6e0d8;border-radius:17px;background:linear-gradient(150deg,#fffcf7 0%,#f7f4ed 100%);box-shadow:0 3px 12px rgba(64,54,40,.035);text-decoration:none;color:#343a33;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;overflow:hidden}.service-showcase .svc-card::before{content:"";position:absolute;top:-50px;right:-55px;width:150px;height:150px;background:radial-gradient(circle,rgba(158,174,151,.13),transparent 70%);pointer-events:none}.sub-cards.service-showcase a.svc-card:hover,.sub-cards.service-showcase a.svc-card:focus-visible{transform:translateY(-5px);border-color:#b8c3b1;background:#f8f8f1;box-shadow:0 14px 30px rgba(54,68,50,.10)}.service-showcase a.svc-card:focus-visible{outline:2px solid #657a65;outline-offset:3px}.service-showcase .svc-icon{display:grid;place-items:center;flex:none;width:55px;height:55px;border-radius:16px;background:#e9eee5;color:#6a806b;border:1px solid #dce5d9;margin-bottom:23px}.service-showcase .svc-icon svg{width:28px;height:28px}.service-showcase .svc-number{position:absolute;top:36px;right:26px;font-size:10px;letter-spacing:.12em;color:#a49a8d}.service-showcase .svc-title{display:block;font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.22;letter-spacing:-.025em;margin:0 0 9px;color:#373d36}.service-showcase .svc-desc{display:block;font-size:12.5px;line-height:1.65;color:#756e65;max-width:265px;margin-bottom:23px}.service-showcase .svc-bottom{display:flex;width:100%;justify-content:space-between;align-items:center;border-top:1px solid #e5e3db;padding-top:13px;margin-top:auto;font-size:11px;font-weight:650;color:#687b69}.service-showcase .svc-arrow{display:grid;place-items:center;border-radius:50%;background:#edf0e8;width:27px;height:27px;font-size:15px;transition:transform .2s ease,background .2s ease}.service-showcase .svc-card:hover .svc-arrow{transform:translate(2px,-2px);background:#dfe9dc}@media(max-width:950px){.sub-cards.service-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:590px){.sub-cards.service-showcase{grid-template-columns:1fr;gap:13px;margin:27px 0}.sub-cards.service-showcase a.svc-card{min-height:230px;padding:24px}.service-showcase .svc-title{font-size:22px}}@media(prefers-reduced-motion:reduce){.sub-cards.service-showcase a.svc-card,.service-showcase .svc-arrow{transition:none}}

/* Homepage Services cards - design matches Services page */
#content-root .services-section .home-service-showcase{margin:38px 0 24px;gap:18px}#content-root .services-section .home-service-showcase .svc-card{min-height:278px}#content-root .services-section .home-service-showcase .svc-desc{max-width:290px}@media(max-width:650px){#content-root .services-section .home-service-showcase{gap:13px}#content-root .services-section .home-service-showcase .svc-card{min-height:225px}}

/* Unified small visual icon alongside individual dental service page titles */
.sub-hero h1.service-title-icon{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.service-title-icon .service-heading-badge{width:64px;height:64px;display:inline-grid;place-items:center;flex:none;border:1px solid #dce5d9;background:#e9eee5;color:#6a806b;border-radius:18px;box-shadow:0 4px 15px rgba(67,75,59,.07)}.service-title-icon .service-heading-badge svg{width:33px;height:33px;display:block}.service-title-icon>span:last-child{flex:1;min-width:220px}@media(max-width:590px){.sub-hero h1.service-title-icon{gap:12px}.service-title-icon .service-heading-badge{width:48px;height:48px;border-radius:14px}.service-title-icon .service-heading-badge svg{width:26px;height:26px}.service-title-icon>span:last-child{min-width:0;flex:1 1 170px}}

/* Consistent warm premium visual cards for four detailed services pages */
.service-rich-cards>.wrap{max-width:1150px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.service-rich-cards>.wrap>article,.service-rich-cards .whitening-guides>article{position:relative;display:block;min-width:0;margin:0;padding:31px 32px;border:1px solid #e6e0d8;border-radius:17px;background:linear-gradient(150deg,#fffcf7 0%,#f7f4ed 100%);box-shadow:0 3px 12px rgba(64,54,40,.035);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.service-rich-cards>.wrap>article:hover,.service-rich-cards .whitening-guides>article:hover{transform:translateY(-3px);border-color:#b8c3b1;box-shadow:0 12px 26px rgba(54,68,50,.085)}.service-rich-cards article h2{font-family:Georgia,serif;color:#373d36;font-size:clamp(22px,2.1vw,27px);font-weight:400;line-height:1.25;margin:0 0 14px;letter-spacing:-.025em}.service-rich-cards article h2::before{content:"";display:block;width:39px;height:4px;border-radius:99px;background:#9bb09a;margin:0 0 22px}.service-rich-cards article p,.service-rich-cards article li{font-size:14px;line-height:1.78;color:#625d55}.service-rich-cards article ul,.service-rich-cards article ol{padding-left:21px}.service-rich-cards .whitening-guides{display:contents}.service-rich-cards>.wrap>.detail-hours{grid-column:1 / -1;margin-top:12px}.service-rich-cards .whitening-option .eyebrow{display:inline-block;margin:0 0 12px}.service-rich-cards article h3{font-size:17px;margin-top:21px;margin-bottom:12px;color:#494e43}.service-rich-cards article a{color:#667e67;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.service-rich-cards>.wrap{grid-template-columns:1fr;gap:14px}.service-rich-cards>.wrap>article,.service-rich-cards .whitening-guides>article{padding:25px 23px}.service-rich-cards article h2{font-size:24px}}@media(prefers-reduced-motion:reduce){.service-rich-cards>.wrap>article,.service-rich-cards .whitening-guides>article{transition:none}}

/* Service title icon alignment: place icon immediately after title (right side) */
.sub-hero h1.service-title-icon{justify-content:flex-start}.sub-hero h1.service-title-icon>span:last-child{order:1;flex:0 1 auto;min-width:0}.sub-hero h1.service-title-icon>.service-heading-badge{order:2;flex:none}@media(max-width:590px){.sub-hero h1.service-title-icon>span:last-child{flex:0 1 auto;min-width:0}}

/* Homepage hero: slightly wider, taller, with a subtle separation below (requested) */
@media(min-width:901px){#content-root>.hero.hero-restored{padding:40px 0 20px!important}#content-root>.hero.hero-restored>.wrap.hero-grid{width:min(1290px,calc(100% - 56px))!important;max-width:none!important;grid-template-columns:1.05fr 1fr!important;gap:48px!important;min-height:395px!important}#content-root>.hero.hero-restored .hero-photo{height:365px!important;max-height:365px!important;min-height:365px!important}#content-root>.hero.hero-restored .hero-photo>img.hero-original-sharp{height:100%!important;max-height:365px!important;object-fit:contain!important}#content-root>.hero.hero-restored+.family-panel{padding-top:25px!important}}@media(min-width:601px) and (max-width:900px){#content-root>.hero.hero-restored{padding:34px 0 17px!important}#content-root>.hero.hero-restored .hero-grid{width:calc(100% - 40px)!important;gap:28px!important}#content-root>.hero.hero-restored+.family-panel{padding-top:20px!important}}@media(max-width:600px){#content-root>.hero.hero-restored{padding:30px 0 15px!important}#content-root>.hero.hero-restored+.family-panel{padding-top:18px!important}}

/* Small header logo alignment adjustment on larger screens */
@media(min-width:901px){header .navwrap>.brand{transform:translateX(-35px)}}

/* Keep homepage hero headline as two intentional lines */
.hero-restored .hero-copy h1 .hero-second-line{display:inline-block;white-space:nowrap}@media(max-width:420px){.hero-restored .hero-copy h1{font-size:clamp(31px,8vw,40px)!important}}


/* Subtle photo edge only: no decorative mat or offset and no image replacement */
#content-root>.hero.hero-restored .hero-photo>img.hero-original-sharp{box-sizing:border-box!important;border:1px solid #d5c8b7!important;border-radius:4px!important}
/* Homepage buttons: elegant lift and shadow on hover, preserving exact colors */
#content-root .btn{transition:transform .22s ease,box-shadow .22s ease!important;will-change:transform}#content-root .btn:hover,#content-root .btn:focus-visible{transform:translateY(-3px)!important;box-shadow:0 9px 19px rgba(51,45,39,.14)!important}#content-root .btn:active{transform:translateY(-1px)!important;box-shadow:0 4px 9px rgba(51,45,39,.11)!important}@media(prefers-reduced-motion:reduce){#content-root .btn{transition:none!important}#content-root .btn:hover,#content-root .btn:focus-visible,#content-root .btn:active{transform:none!important}}

/* Clear, color-preserving button hover on homepage only */
@media(hover:hover) and (pointer:fine){#content-root>.hero .buttons>a.btn{transition:transform .24s ease,box-shadow .24s ease!important}#content-root>.hero .buttons>a.btn:hover{transform:translateY(-5px) scale(1.025)!important;box-shadow:0 13px 23px rgba(44,39,32,.20)!important}#content-root>.hero .buttons>a.btn span{display:inline-block;transition:transform .24s ease!important}#content-root>.hero .buttons>a.btn:hover span{transform:translate(3px,-3px)!important}}#content-root>.hero .buttons>a.btn:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(prefers-reduced-motion:reduce){#content-root>.hero .buttons>a.btn,#content-root>.hero .buttons>a.btn span{transition:none!important}#content-root>.hero .buttons>a.btn:hover,#content-root>.hero .buttons>a.btn:hover span{transform:none!important}}

/* Elegant glossy highlight sweep over homepage hero buttons; preserve their original colors */
#content-root>.hero .buttons>a.btn{position:relative!important;isolation:isolate;overflow:hidden!important}#content-root>.hero .buttons>a.btn::after{content:"";position:absolute;z-index:0;top:-65%;left:-85%;height:230%;width:40%;pointer-events:none;transform:translateX(0) rotate(24deg);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.07) 20%,rgba(255,255,255,.40) 50%,rgba(255,255,255,.07) 80%,transparent 100%);opacity:0;transition:transform .72s cubic-bezier(.2,.7,.25,1),opacity .15s ease}#content-root>.hero .buttons>a.btn:hover::after,#content-root>.hero .buttons>a.btn:focus-visible::after{opacity:1;transform:translateX(560%) rotate(24deg)}#content-root>.hero .buttons>a.btn>*{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){#content-root>.hero .buttons>a.btn::after{display:none}}

/* Permanent understated gloss on homepage buttons, hover sweep retained */
#content-root>.hero .buttons>a.btn{background-image:linear-gradient(165deg,rgba(255,255,255,.23) 0%,rgba(255,255,255,.10) 33%,rgba(255,255,255,0) 49%,rgba(0,0,0,.045) 100%)!important;background-blend-mode:normal!important}#content-root>.hero .buttons>a.btn.btn-primary{background-color:var(--ink)!important}#content-root>.hero .buttons>a.btn.btn-ghost{background-color:transparent!important}#content-root>.hero .buttons>a.btn::before{content:"";position:absolute;inset:1px 1px auto 1px;height:43%;border-radius:2px 2px 45% 45%;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0));pointer-events:none;z-index:0}

/* Frame fitted precisely to visible original reception photograph */
#content-root>.hero.hero-restored .hero-photo{border:none!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;display:flex!important;justify-content:center!important;align-items:center!important}#content-root>.hero.hero-restored .hero-photo>img.hero-original-sharp{display:block!important;width:auto!important;max-width:100%!important;height:100%!important;max-height:365px!important;object-fit:contain!important;box-sizing:border-box!important;border:1px solid #d5c8b7!important;border-radius:3px!important}


/* Team page introduction only: center text after removing large left hero photo */
.team-hero-original.team-hero-centered{display:block!important;background:#faf8f4!important}.team-hero-original.team-hero-centered .team-hero-copy{box-sizing:border-box!important;max-width:960px!important;margin:0 auto!important;padding:65px 28px 52px!important;text-align:center!important}.team-hero-original.team-hero-centered .team-hero-copy h1{margin-bottom:30px!important}.team-hero-original.team-hero-centered .team-hero-copy p{text-align:center!important}@media(max-width:600px){.team-hero-original.team-hero-centered .team-hero-copy{padding:42px 22px 28px!important}}

/* Team profiles heading only: align to left edge of content */
.team-profiles-section h2{text-align:left!important}

/* Intro heading: keep the italic phrase together on its own second line */
.intro .intro-heading-two-lines em{display:inline-block;white-space:nowrap}
@media(max-width:600px){.intro .intro-heading-two-lines em{white-space:normal}}

/* Facettes dentaires: responsive educational video */
.facettes-video-section{padding:48px 0 42px;background:#faf8f4}
.facettes-video-section .wrap{max-width:940px}
.facettes-video-section h2{text-align:center;margin:0 0 26px;color:var(--ink);font-size:clamp(1.45rem,2.4vw,2rem)}
.facettes-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:14px;border:1px solid #d5c8b7;background:#f0ede7;box-shadow:0 12px 35px rgba(40,48,38,.08)}
.facettes-video-frame iframe{display:block;width:100%;height:100%;border:0}
.facettes-video-fallback{text-align:center;margin:15px 0 0;font-size:.92rem}
.facettes-video-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.facettes-video-section{padding:32px 0}.facettes-video-frame{border-radius:9px}}

/* Self-hosted facettes video */
.facettes-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#f0ede7}


/* Homepage reception photo as full-width banner — header stays above, original content intact. */
#content-root>.hero.hero-restored{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#e8e2d8!important;padding:82px 0 30px!important;min-height:540px!important}
#content-root>.hero.hero-restored::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(250,247,241,.98) 0%,rgba(250,247,241,.95) 30%,rgba(250,247,241,.84) 47%,rgba(250,247,241,.30) 69%,rgba(250,247,241,.04) 100%)}
#content-root>.hero.hero-restored>.hero-grid{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;min-height:410px!important;max-width:1200px!important;grid-template-columns:none!important}
#content-root>.hero.hero-restored .hero-copy{width:min(100%,630px)!important;max-width:630px!important;flex:none!important;position:relative!important;z-index:3!important}
#content-root>.hero.hero-restored .hero-copy h1,#content-root>.hero.hero-restored .hero-copy p{color:#302c27!important;text-shadow:none!important}
#content-root>.hero.hero-restored .hero-copy h1 em{color:#947c66!important}
#content-root>.hero.hero-restored .hero-photo{position:absolute!important;inset:0!important;z-index:-1!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden!important;display:block!important;pointer-events:none!important;border:0!important;padding:0!important;margin:0!important;transform:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important}
#content-root>.hero.hero-restored .hero-photo>img.hero-original-sharp{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:66% center!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#content-root>.hero.hero-restored>.tagline{position:relative!important;z-index:2!important;color:#786759!important;padding-top:16px!important}
@media(max-width:900px){#content-root>.hero.hero-restored{padding:55px 0 25px!important;min-height:490px!important}#content-root>.hero.hero-restored::before{background:linear-gradient(90deg,rgba(250,247,241,.98) 0%,rgba(250,247,241,.95) 49%,rgba(250,247,241,.48) 100%)}#content-root>.hero.hero-restored>.hero-grid{min-height:355px!important}#content-root>.hero.hero-restored .hero-photo>img.hero-original-sharp{object-position:68% center!important}}
@media(max-width:600px){#content-root>.hero.hero-restored{padding:45px 0 25px!important;min-height:0!important}#content-root>.hero.hero-restored::before{background:linear-gradient(90deg,rgba(250,247,241,.98),rgba(250,247,241,.83))}#content-root>.hero.hero-restored>.hero-grid{min-height:0!important;display:flex!important}#content-root>.hero.hero-restored .hero-copy{max-width:100%!important}#content-root>.hero.hero-restored .hero-photo>img.hero-original-sharp{object-position:70% center!important}#content-root>.hero.hero-restored>.tagline{margin-top:24px!important}}


/* True edge-to-edge homepage banner, photo is the SECTION background rather than a grid image. */
#content-root > section.hero.hero-restored{
 background-image:linear-gradient(90deg,rgba(250,248,244,.98) 0%,rgba(250,248,244,.94) 25%,rgba(250,248,244,.78) 43%,rgba(250,248,244,.15) 72%,rgba(250,248,244,0) 100%),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important;
 background-repeat:no-repeat!important;
 background-size:cover!important;
 background-position:center 45%!important;
 background-color:#f5f1eb!important;
 width:100%!important;
 min-height:620px!important;
 padding:90px 0 35px!important;
}
#content-root > section.hero.hero-restored::before{display:none!important}
#content-root > section.hero.hero-restored .hero-photo{display:none!important}
#content-root > section.hero.hero-restored > .hero-grid{
 display:flex!important;justify-content:flex-start!important;align-items:center!important;
 min-height:450px!important;width:min(1200px,calc(100% - 48px))!important;margin:auto!important;
}
#content-root > section.hero.hero-restored .hero-copy{position:relative!important;z-index:3!important;width:min(100%,590px)!important}
#content-root > section.hero.hero-restored .hero-copy p{max-width:535px!important}
#content-root > section.hero.hero-restored > .tagline{z-index:3!important;position:relative!important}
@media(max-width:900px){
 #content-root > section.hero.hero-restored{min-height:570px!important;padding:68px 0 32px!important;background-position:60% center!important;background-image:linear-gradient(90deg,rgba(250,248,244,.97),rgba(250,248,244,.88) 55%,rgba(250,248,244,.38)),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important}
 #content-root > section.hero.hero-restored > .hero-grid{min-height:415px!important}
}
@media(max-width:600px){
 #content-root > section.hero.hero-restored{min-height:0!important;padding:56px 0 24px!important;background-position:66% center!important;background-image:linear-gradient(90deg,rgba(250,248,244,.96),rgba(250,248,244,.80)),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important}
 #content-root > section.hero.hero-restored > .hero-grid{min-height:0!important;width:calc(100% - 32px)!important}
}


/* Homepage banner: content and readability gradient to the RIGHT. */
#content-root > section.hero.hero-restored{
 background-image:linear-gradient(270deg,rgba(250,248,244,.99) 0%,rgba(250,248,244,.96) 25%,rgba(250,248,244,.83) 43%,rgba(250,248,244,.17) 72%,rgba(250,248,244,0) 100%),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important;
 background-position:center 45%!important;
}
#content-root > section.hero.hero-restored > .hero-grid{justify-content:flex-end!important}
#content-root > section.hero.hero-restored .hero-copy{margin-left:auto!important;margin-right:0!important;text-align:right!important}
#content-root > section.hero.hero-restored .hero-copy h1,
#content-root > section.hero.hero-restored .hero-copy p{text-align:right!important}
#content-root > section.hero.hero-restored .hero-copy .buttons{justify-content:flex-end!important}
#content-root > section.hero.hero-restored .hero-copy .hero-notes{justify-content:flex-end!important}
#content-root > section.hero.hero-restored .hero-copy .eyebrow{text-align:right!important}
@media(max-width:900px){
 #content-root > section.hero.hero-restored{background-image:linear-gradient(270deg,rgba(250,248,244,.98),rgba(250,248,244,.90) 55%,rgba(250,248,244,.33)),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important;background-position:42% center!important}
}
@media(max-width:600px){
 #content-root > section.hero.hero-restored{background-image:linear-gradient(270deg,rgba(250,248,244,.97),rgba(250,248,244,.82)),url("https://static.wixstatic.com/media/78b25a_7865b8a0d5d24396992435794f79b999~mv2.jpg")!important;background-position:35% center!important}
}


/* Widen reception image framing slightly without altering layout or right-aligned gradient. */
#content-root > section.hero.hero-restored{
 background-size:100% 100%, 100% auto!important;
 background-position:center center,center 50%!important;
 background-repeat:no-repeat!important;
}
@media(max-width:900px){
 #content-root > section.hero.hero-restored{
  background-size:100% 100%,auto 100%!important;
  background-position:center center,44% center!important;
 }
}
@media(max-width:600px){
 #content-root > section.hero.hero-restored{
  background-size:100% 100%,auto 100%!important;
  background-position:center center,36% center!important;
 }
}

/* Home banner: genuinely zoom OUT the photo by displaying it at 80% of banner width. */
#content-root > section.hero.hero-restored {
 background-size: 100% 100%, 80% auto !important;
 background-position: center center, left 48% !important;
 background-repeat: no-repeat !important;
 background-color: #f5f1eb !important;
}
@media (max-width: 900px) {
 #content-root > section.hero.hero-restored {
  background-size: 100% 100%, auto 86% !important;
  background-position: center center, 20% center !important;
 }
}
@media (max-width: 600px) {
 #content-root > section.hero.hero-restored {
  background-size: 100% 100%, auto 84% !important;
  background-position: center center, 26% center !important;
 }
}

/* Further zoom-out of reception image, keeping the gradient and layout fixed. */
#content-root > section.hero.hero-restored { background-size:100% 100%, 70% auto !important; background-position:center center, left 48% !important; }
@media(max-width:900px){#content-root > section.hero.hero-restored { background-size:100% 100%, auto 80% !important; background-position:center center, 20% center !important; }}
@media(max-width:600px){#content-root > section.hero.hero-restored { background-size:100% 100%, auto 76% !important; background-position:center center, 26% center !important; }}

/* Right-aligned homepage intro: both paragraphs share the heading’s right edge, with a deliberate second paragraph. */
#content-root > section.hero.hero-restored .hero-copy > p.hero-intro-question,
#content-root > section.hero.hero-restored .hero-copy > p.hero-intro-answer{margin-left:auto!important;margin-right:0!important;max-width:535px!important;text-align:right!important;}
#content-root > section.hero.hero-restored .hero-copy > p.hero-intro-question{margin-bottom:10px!important;}
#content-root > section.hero.hero-restored .hero-copy > p.hero-intro-answer{margin-top:0!important;}


/* Responsive mobile improvements, no PC overrides. */
.hours-mobile-list{display:none}
@media (max-width: 750px){
 html,body{max-width:100%;overflow-x:clip}
 body,main,#content-root{min-width:0}
 .wrap{width:calc(100% - 36px)!important;max-width:100%!important}
 img,video,iframe{max-width:100%}
 h1,h2,h3,p{overflow-wrap:break-word}
 
 /* Header & touch navigation */
 header{z-index:1000!important}
 header .navwrap{width:calc(100% - 32px)!important;gap:12px}
 header .brand{min-width:0!important}
 header .brand img.clinic-logo-img{max-width:min(195px,60vw)!important;height:auto!important;max-height:60px!important;object-fit:contain!important}
 header .menu-toggle{flex:none;min-width:44px;min-height:44px;touch-action:manipulation}
 header nav.open{max-height:calc(100dvh - 76px)!important;overflow-y:auto!important;overscroll-behavior:contain;padding:16px 20px 26px!important;gap:11px!important}
 header nav.open .service-menu{display:block;width:100%}
 header nav.open .service-dropdown{position:static!important;display:grid!important;min-width:0!important;width:100%!important;gap:3px!important;padding:7px 0 7px 14px!important;background:transparent!important;box-shadow:none!important}
 header nav.open .service-dropdown a{padding:7px 2px!important;line-height:1.45!important}
 header nav.open>a,header nav.open .service-menu>a{display:block;padding:7px 0}
 
 /* Home hero: make the real photo visible above text on a narrow display. */
 #content-root > section.hero.hero-restored{
  background:#f8f6f2!important;background-image:none!important;
  padding:0 0 22px!important;min-height:0!important;overflow:visible!important
 }
 #content-root > section.hero.hero-restored::before{display:none!important}
 #content-root > section.hero.hero-restored > .wrap.hero-grid{
  display:flex!important;flex-direction:column!important;
  justify-content:flex-start!important;align-items:stretch!important;
  width:100%!important;max-width:none!important;min-height:0!important;
  margin:0!important;padding:0!important;gap:0!important;grid-template-columns:none!important
 }
 #content-root > section.hero.hero-restored .hero-photo{
  display:block!important;order:-1!important;
  position:relative!important;inset:auto!important;z-index:1!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  padding:0!important;margin:0!important;overflow:hidden!important;
  background:#e7e0d5!important;border:none!important;border-radius:0!important;box-shadow:none!important;
 }
 #content-root > section.hero.hero-restored .hero-photo>img.hero-original-sharp{
  display:block!important;width:100%!important;height:auto!important;min-height:0!important;
  max-width:100%!important;max-height:360px!important;
  object-fit:contain!important;object-position:center center!important;
  border:none!important;border-radius:0!important;box-shadow:none!important;transform:none!important;
 }
 #content-root > section.hero.hero-restored .hero-copy{
  display:block!important;order:2!important;position:relative!important;z-index:3!important;
  width:calc(100% - 32px)!important;max-width:none!important;flex:none!important;
  margin:-6px 16px 0!important;padding:26px 19px 20px!important;
  border-radius:15px 15px 7px 7px!important;box-sizing:border-box!important;
  background:#f8f6f2!important;box-shadow:0 -5px 18px rgba(48,44,39,.06)!important;
  text-align:left!important;
 }
 #content-root > section.hero.hero-restored .hero-copy .eyebrow{text-align:left!important;line-height:1.5!important}
 #content-root > section.hero.hero-restored .hero-copy h1{
  text-align:left!important;font-size:clamp(32px,8.8vw,49px)!important;
  line-height:1.13!important;margin:14px 0 20px!important;
 }
 #content-root > section.hero.hero-restored .hero-copy h1 .hero-second-line{white-space:normal!important}
 #content-root > section.hero.hero-restored .hero-copy > p.hero-intro-question,
 #content-root > section.hero.hero-restored .hero-copy > p.hero-intro-answer{
  max-width:none!important;text-align:left!important;
  margin-left:0!important;margin-right:0!important;font-size:15px!important;line-height:1.67!important
 }
 #content-root > section.hero.hero-restored .hero-copy > p.hero-intro-question{font-weight:650!important;margin:0 0 9px!important}
 #content-root > section.hero.hero-restored .hero-copy > p.hero-intro-answer{margin:0 0 21px!important}
 #content-root > section.hero.hero-restored .hero-copy .buttons{
  display:grid!important;grid-template-columns:1fr!important;justify-content:stretch!important;
  gap:10px!important;width:100%!important;margin-top:18px!important
 }
 #content-root > section.hero.hero-restored .hero-copy .buttons .btn{
  width:100%!important;min-height:48px!important;justify-content:center!important;text-align:center!important
 }
 #content-root > section.hero.hero-restored .hero-copy .hero-notes{
  justify-content:flex-start!important;text-align:left!important;flex-wrap:wrap!important;
  gap:11px 18px!important;margin-top:22px!important;font-size:12px!important
 }
 #content-root > section.hero.hero-restored>.tagline{display:none!important}
 
 /* Section rhythm: spacious but not long empty gaps. */
 #content-root > .family-panel{padding:30px 16px 0!important}
 .family-panel h2{font-size:clamp(28px,7vw,37px)!important;line-height:1.22!important}
 .family-panel .family-collage{width:100%!important;max-width:100%!important;margin-top:22px!important}
 #content-root > .intro,#content-root > .services-section,
 #content-root > .team-section,#content-root > .contact-section{padding-top:48px!important;padding-bottom:52px!important}
 .intro-grid,.team-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
 .intro h2,.section-heading h2,.team-copy h2{font-size:clamp(30px,7.8vw,41px)!important;line-height:1.19!important}
 .intro-right>p,.team-copy>p{font-size:15px!important;line-height:1.75!important}
 .small-features{grid-template-columns:1fr!important;gap:12px!important}
 .section-heading{display:block!important;margin-bottom:25px!important}
 .section-heading>p{max-width:none!important;font-size:15px!important;line-height:1.7!important;margin-top:16px!important}
 .services-grid,.home-service-showcase{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
 .home-service-showcase .svc-card{min-width:0!important;min-height:0!important;padding:23px!important}
 .team-photo{order:0!important;width:100%!important;height:250px!important;border-radius:12px!important}
 .team-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
 .team-copy{order:1!important;min-width:0!important}
 .team-names>div{flex-wrap:wrap!important;gap:7px 12px!important}
 .appointment{padding:52px 0!important}
 .appointment h2{font-size:clamp(30px,8vw,42px)!important}
 .contact-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .contact-card,.hours-card{padding:25px 20px!important;min-width:0!important;border-radius:12px!important}
 .contact-card h3,.hours-card h3{font-size:23px!important;margin-bottom:22px!important}
 .contact-line a,.contact-line strong{overflow-wrap:anywhere}
 .hours-card .hour{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:start!important;
  gap:14px!important;padding:13px 0!important;font-size:14px!important;line-height:1.45!important
 }
 .hours-card .hour span{min-width:0!important}
 .hours-card .hour strong{text-align:right!important;white-space:nowrap!important;font-size:14px!important}
 
 /* Opening hours within service pages: full-width rows only on mobile. */
 .detail-hours{padding:21px 18px!important;border-radius:12px!important}
 .detail-hours .hours-desktop-line{display:none!important}
 .detail-hours .hours-mobile-list{display:block!important;margin-top:15px}
 .detail-hours .hours-mobile-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;
   gap:12px!important;align-items:start!important;border-bottom:1px solid #e6dfd5!important;
   padding:12px 0!important;font-size:14px!important;line-height:1.45!important
 }
 .detail-hours .hours-mobile-row:last-child{border-bottom:0!important}
 .detail-hours .hours-mobile-row span{min-width:0!important}
 .detail-hours .hours-mobile-row strong{text-align:right!important;white-space:nowrap!important}
 
 /* Interior / service and team pages. */
 .sub-hero{padding:43px 0 35px!important}
 .sub-hero h1{font-size:clamp(30px,8.5vw,43px)!important;line-height:1.16!important}
 .sub-hero p{font-size:16px!important;line-height:1.65!important}
 .sub-body,.service-details{padding-top:38px!important;padding-bottom:46px!important}
 .sub-body>.wrap>p,.service-details p{font-size:15px!important;line-height:1.72!important}
 .sub-cards,.service-rich-cards>.wrap{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .service-rich-cards>.wrap>article,.service-rich-cards .whitening-guides>article{padding:22px 19px!important;min-width:0!important}
 .service-title-icon>span:last-child{min-width:0!important}
 .service-title-icon .service-heading-badge{width:46px!important;height:46px!important}
 .sub-cta{padding:30px 0 6px!important;margin-top:28px!important}
 .sub-cta h2{font-size:clamp(27px,7vw,35px)!important}
 .team-profiles-section{padding:42px 0 54px!important}
 .team-profiles{gap:18px!important}
 .team-profile{display:flex!important;flex-direction:column-reverse!important;gap:18px!important;padding:22px 18px!important}
 .team-profile-copy,.team-profile-photo{min-width:0!important;width:100%!important}
 .team-profile-photo img{max-width:280px!important;max-height:360px!important}
 .team-hero-original.team-hero-centered .team-hero-copy{padding:42px 18px 30px!important}
 .visit-original-gallery{grid-template-columns:1fr!important;gap:16px!important}
 .visit-original-photo{padding:7px!important}
 .rcsd-grid{grid-template-columns:1fr!important}
 .appointment-dialog{width:min(100%,540px)!important;max-height:calc(100dvh - 20px)!important;
  padding:19px 15px!important;border-radius:12px!important}
 .appointment-iframe{height:min(65dvh,590px)!important}
 .footer-flex,.sub-footer .wrap{gap:16px!important}
}
@media(max-width:380px){
 #content-root > section.hero.hero-restored .hero-copy h1{font-size:31px!important}
 #content-root > section.hero.hero-restored .hero-copy{width:calc(100% - 24px)!important;margin-left:12px!important;margin-right:12px!important;padding:22px 16px!important}
 .hours-card .hour,.detail-hours .hours-mobile-row{font-size:13px!important;gap:9px!important}
 .hours-card .hour strong{font-size:13px!important}
}

