:root{--color-primary: #006837;--color-primary-dark: #046B33;--color-accent: #88B06A;--color-sage: #5a7d67;--color-text: #333333;--color-text-secondary: #4D5B50;--color-dark-gray: #54595F;--color-off-white: #F9F9F9;--color-white: #FFFFFF;--color-black: #000000;--color-muted-text: #595959;--font-primary: "Lato", sans-serif;--font-heading: "Playfair Display SC", serif;--section-padding: 80px;--container-max: 1140px;--gap: 10px;--radius-pill: 30px;--radius-card: 6px;--radius-circle: 50%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:16px;font-weight:400;line-height:1.6;color:var(--color-text);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-primary-dark)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;line-height:1.3;color:var(--color-text)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-white);padding:12px 24px;border-radius:var(--radius-pill);font-weight:600;z-index:10000;transition:top .3s ease}.skip-link:focus{top:10px;outline:3px solid var(--color-accent);outline-offset:3px}.container{max-width:var(--container-max);margin:0 auto;padding:0 20px}.section{padding:var(--section-padding) 0}.section--gray{background-color:var(--color-off-white)}.section--green{background-color:var(--color-sage);color:var(--color-white)}.section--dark{background-color:var(--color-dark-gray);color:var(--color-white)}.sticky-header{position:sticky;top:0;z-index:1000}.top-bar{background-color:var(--color-primary);color:var(--color-white);padding:8px 0;font-size:14px}.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.top-bar a{color:var(--color-white);display:inline-flex;align-items:center;gap:6px}.top-bar a:hover{color:var(--color-accent)}.site-header{background-color:var(--color-white);box-shadow:0 2px 8px #00000014;transition:padding .3s ease}.site-header .container{display:flex;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px}.site-logo{display:flex;align-items:center;overflow:hidden}.site-logo img{width:160px;height:auto;transition:width .3s ease}.site-header.is-shrunk .site-logo img{width:80px}.main-nav{display:flex;align-items:center;gap:0}.main-nav ul{display:flex;gap:0}.main-nav a{display:block;padding:10px 16px;color:var(--color-text);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;position:relative;transition:color .3s ease}.main-nav a:after{content:"";display:block;position:absolute;bottom:8px;left:16px;right:16px;height:2px;background-color:var(--color-primary);visibility:hidden;transform:scaleX(0);transform-origin:bottom left;transition:all .25s ease-out}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{visibility:visible;transform:scaleX(1)}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--color-primary)}.main-nav .btn-nav:after{display:none}.main-nav .btn-nav{background-color:var(--color-primary);color:var(--color-white);border:1px solid var(--color-primary);border-radius:var(--radius-pill);padding:10px 20px;margin-left:8px;transition:all .3s ease}.main-nav .btn-nav:hover{background-color:var(--color-white);color:var(--color-primary);border-color:var(--color-primary)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;width:40px;height:40px;position:relative;flex-direction:column;justify-content:center;align-items:center;gap:0}.nav-toggle span{display:block;width:24px;height:2px;background-color:var(--color-text);position:absolute;transition:transform .3s ease,opacity .2s ease}.nav-toggle span:nth-child(1){top:11px}.nav-toggle span:nth-child(2){top:19px}.nav-toggle span:nth-child(3){top:27px}.nav-toggle.is-active span:nth-child(1){top:19px;transform:rotate(45deg)}.nav-toggle.is-active span:nth-child(2){opacity:0}.nav-toggle.is-active span:nth-child(3){top:19px;transform:rotate(-45deg)}@media(max-width:1080px){.nav-toggle{display:flex}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-white);box-shadow:0 4px 12px #0000001a;padding:20px;z-index:999}.main-nav.is-open{display:block}.main-nav ul{flex-direction:column}.main-nav a{padding:12px 16px;border-bottom:1px solid var(--color-off-white)}.main-nav a:after{display:none}.main-nav .btn-nav{margin-left:0;margin-top:10px;text-align:center;display:block}}.btn{display:inline-block;padding:16px 30px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;border:1px solid var(--color-text);border-radius:var(--radius-pill);background-color:var(--color-white);color:var(--color-text);cursor:pointer;transition:all .3s ease;text-align:center}.btn:hover,.btn:focus-visible{background-color:var(--color-sage);color:var(--color-white);border-color:var(--color-sage)}.btn--primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn--primary:hover,.btn--primary:focus-visible{background-color:var(--color-sage);border-color:var(--color-sage)}.btn--white{background-color:var(--color-white);color:var(--color-text);border-color:var(--color-white)}.btn--white:hover,.btn--white:focus-visible{background-color:var(--color-sage);color:var(--color-white);border-color:var(--color-sage)}.hero{position:relative;min-height:500px;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero:before{content:"";position:absolute;inset:0;background-color:#54595f8c;z-index:1}.hero .container{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:40px}.hero-content{flex:1;color:var(--color-white)}.hero-content h2{font-family:var(--font-heading);font-size:72px;font-weight:900;color:var(--color-white);line-height:1.1;margin-bottom:30px;text-transform:uppercase}.hero-content h2 span{display:block;font-size:40px;font-weight:600}.hero-image{flex:1;display:flex;justify-content:flex-end}.hero-image img{max-width:100%;border-radius:var(--radius-card);box-shadow:-3px 8px 11px 8px #00000080}@media(max-width:992px){.hero-content h2{font-size:50px}.hero-image{display:none}}@media(max-width:600px){.hero{min-height:350px}.hero-content h2{font-size:35px}}.page-hero{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background-color:transparent;z-index:1}.page-hero-content{position:relative;z-index:2}.page-hero h1{font-family:var(--font-heading);font-size:36px;color:var(--color-white);text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.6),0 2px 12px rgba(0,0,0,.4)}.breadcrumb{color:#ffffffe6;font-size:14px;margin-top:8px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.breadcrumb a{color:var(--color-white)}.breadcrumb a:hover{text-decoration:underline}.page-hero--contact{min-height:420px}.page-hero--contact .hero-bg img{object-position:center 55%}.page-hero--contact:before{background-color:#0000008c}.page-hero--team{min-height:420px}.page-hero--team .hero-bg img{object-position:center 30%}.page-hero--team:before{background-color:#0000008c}@media(max-width:600px){.page-hero{min-height:200px}.page-hero h1{font-size:32px}}.welcome{text-align:left;padding:60px 0}.welcome h1{font-family:var(--font-heading);font-size:36px;margin-bottom:10px;text-transform:uppercase}.welcome .subtitle{font-size:18px;color:var(--color-muted-text);margin-bottom:10px}.welcome .callout{font-style:italic}.welcome p{max-width:700px;color:var(--color-text-secondary)}.section-heading{text-align:left;margin-bottom:40px}.section-heading h2{font-family:var(--font-heading);font-size:36px;text-transform:uppercase;margin-bottom:10px}.section-heading .subtitle{font-size:18px;color:var(--color-muted-text)}.section-heading p{max-width:800px;margin:16px 0 0;color:var(--color-text-secondary)}.meet-dentist{display:flex;align-items:center;gap:60px}.meet-dentist-image{flex:0 0 300px}.meet-dentist-image img{border-radius:var(--radius-circle);width:300px;height:300px;object-fit:cover}.meet-dentist-content{flex:1}.meet-dentist-content h2{font-family:var(--font-heading);font-size:24px;text-transform:uppercase;margin-bottom:6px}.meet-dentist-content h3{font-size:20px;font-weight:400;color:var(--color-primary);margin-bottom:16px}.meet-dentist-content p{margin-bottom:20px;color:var(--color-text-secondary)}@media(max-width:768px){.meet-dentist{flex-direction:column;text-align:center}.meet-dentist-image{flex:0 0 auto}}.services-row{display:grid;gap:2.5rem;margin-bottom:3rem}.services-row:last-child{margin-bottom:0}.services-row--3{grid-template-columns:repeat(3,1fr)}.services-row--4{grid-template-columns:repeat(4,1fr)}.service-card{text-align:left;background:none;border:none;box-shadow:none}.service-card img{width:12rem;height:12rem;object-fit:cover;border-radius:var(--radius-circle);margin:0 auto 1.25rem;box-shadow:0 2px 8px #0000001f}.service-card-body{padding:0 .5rem}.service-card-body h3{font-size:1rem;text-transform:uppercase;letter-spacing:.06rem;margin-bottom:.75rem;color:var(--color-primary);text-align:center}.service-card-body p{font-size:1rem;line-height:1.6;color:var(--color-text-secondary)}.service-card--text-only .service-card-body{padding-top:.5rem}.service-card{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.service-card.is-visible{opacity:1;transform:translateY(0)}@media(max-width:992px){.services-row--4{grid-template-columns:repeat(2,1fr);gap:2rem}}@media(max-width:768px){.services-row--3{grid-template-columns:1fr;gap:2rem;max-width:400px;margin-left:auto;margin-right:auto}}@media(max-width:600px){.services-row--4{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}.service-card img{width:10rem;height:10rem}}.reviews-section{background-color:var(--color-sage);color:var(--color-white)}.review-slider{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 0}.review-slider::-webkit-scrollbar{display:none}.review-card{flex:0 0 350px;scroll-snap-align:start;background:var(--color-white);color:var(--color-text);border-radius:var(--radius-card);padding:24px;box-shadow:0 2px 8px #0000001f}.review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.review-header img{width:46px;height:46px;border-radius:var(--radius-circle)}.review-name{font-weight:700;font-size:14px}.review-name a{color:var(--color-primary)}.review-stars{color:#fb8e28;font-size:18px;letter-spacing:2px;margin-bottom:8px}.review-text{font-size:14px;line-height:1.6;color:var(--color-text-secondary)}.review-nav{display:flex;justify-content:center;gap:12px;margin-top:20px}.review-nav button{background:var(--color-white);border:1px solid #ccc;border-radius:var(--radius-circle);width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .2s ease}.review-nav button:hover{background:var(--color-off-white)}.review-links{display:flex;justify-content:center;gap:20px;margin-top:30px}.review-links a{color:var(--color-white);font-weight:600;text-decoration:underline;text-underline-offset:3px}.review-links a:hover{color:var(--color-accent)}.icon-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;text-align:center}.icon-box{display:flex;flex-direction:column;align-items:center;gap:12px}.icon-box>a{display:flex;flex-direction:column;align-items:center;gap:12px;color:inherit;text-decoration:none;width:100%}.icon-box-icon{width:70px;height:70px;border-radius:var(--radius-circle);border:2px solid var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--color-primary);transition:background .3s ease,color .3s ease}.icon-box:hover .icon-box-icon{background:var(--color-primary);color:var(--color-white)}.icon-box h3{font-size:18px;text-transform:uppercase;letter-spacing:.5px}.icon-box p,.icon-box a{font-size:14px;color:var(--color-text-secondary)}.parallax-section{position:relative;background-size:cover;background-position:center center;background-repeat:no-repeat;padding:120px 0}@media(min-width:1025px){.parallax-section{background-attachment:fixed}}.parallax-section:before{content:"";position:absolute;inset:0;background-color:#54595f99;z-index:1}.parallax-section>.container{position:relative;z-index:2}.contact-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contact-map-right{background-color:var(--color-white);padding:2rem;border-radius:var(--radius-card);box-shadow:0 2px 8px #00000014}.contact-map-right h2{font-family:var(--font-heading);font-size:30px;text-transform:uppercase;margin-bottom:12px}.contact-map-right>p{color:var(--color-text-secondary);margin-bottom:24px}.contact-methods{display:flex;flex-direction:column;gap:20px}.contact-method{display:flex;align-items:center;gap:16px;color:var(--color-text);font-size:14px;line-height:1.5}.contact-method:hover{color:var(--color-primary)}.contact-method:hover .icon-box-icon{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.contact-method strong{font-size:16px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.contact-map-grid{grid-template-columns:1fr}.contact-map-right{text-align:left;order:-1}}.map-container{width:100%;height:400px;border-radius:var(--radius-card);overflow:hidden;box-shadow:0 2px 8px #0000001f}.map-container iframe{width:100%;height:100%;border:0}.insurance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:center;text-align:center}.insurance-item img{max-height:80px;margin:0 auto 12px}.insurance-item p{color:var(--color-muted-text);font-size:14px}.downloads{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.team-row{display:grid;gap:2.5rem;margin-bottom:3rem}.team-row:last-child{margin-bottom:0}.team-row--3{grid-template-columns:repeat(3,1fr)}.team-row--4{grid-template-columns:repeat(4,1fr)}.team-member{text-align:center}.team-member--stagger{margin-top:20px}@media(max-width:767px){.team-row--3,.team-row--4{grid-template-columns:1fr;max-width:300px;margin-left:auto;margin-right:auto}.team-member--stagger{margin-top:0}}.team-member img{object-fit:cover;margin:0 auto 12px}.team-member h3{font-size:16px;margin-bottom:4px}.team-member p{font-size:14px;color:var(--color-muted-text)}.dr-bio{display:flex;gap:60px;align-items:flex-start}.dr-bio-image{flex:0 0 300px;opacity:0;transform:translate(-60px);transition:opacity .7s ease,transform .7s ease}.dr-bio-image.is-visible{opacity:1;transform:translate(0)}.dr-bio-image img,.team-member img{width:300px;border-radius:var(--radius-card)}.dr-bio-content{flex:1;opacity:0;transform:translate(60px);transition:opacity .7s ease .2s,transform .7s ease .2s}.dr-bio-content.is-visible{opacity:1;transform:translate(0)}.dr-bio-content h2{font-family:var(--font-heading);font-size:30px;text-transform:uppercase;margin-bottom:20px;color:var(--color-primary)}.dr-bio-content p{margin-bottom:16px;line-height:1.8;color:var(--color-text-secondary);text-indent:2em}@media(max-width:768px){.dr-bio{flex-direction:column;text-align:center}.dr-bio-image{flex:0 0 auto;margin:0 auto}.dr-bio-content p{text-indent:0}}.business-hours table{width:100%;border-collapse:collapse}.business-hours tr{border-bottom:1px dotted rgba(255,255,255,.4)}.business-hours td{padding:8px 0;font-size:14px}.business-hours td:first-child{font-weight:600}.business-hours td:last-child{text-align:right}.section-wave{line-height:0;background-color:transparent;margin-top:-72px;position:relative;z-index:3}.section-wave svg{display:block;width:100%;height:72px}.section-wave--bottom{margin-top:0;background-color:var(--color-off-white)}.section-wave--into-parallax{margin-top:0;margin-bottom:-72px;background-color:var(--color-white)}@media(max-width:600px){.section-wave{margin-top:-40px}.section-wave svg{height:40px}.section-wave--bottom{margin-top:0}.section-wave--into-parallax{margin-top:0;margin-bottom:-40px}}.footer-wave{line-height:0;background-color:var(--color-off-white)}.footer-wave svg{display:block;width:100%;height:90px}@media(max-width:600px){.footer-wave svg{height:50px}}.site-footer{background-color:var(--color-sage);color:var(--color-white);padding:60px 0 0;margin-top:-1px}.site-footer h2{font-family:var(--font-heading);font-size:20px;text-transform:uppercase;margin-bottom:20px;color:var(--color-white)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-bottom:40px}.footer-logo img{max-width:200px;margin:0 auto 20px}.footer-contact a{display:flex;align-items:center;gap:10px;color:var(--color-white);padding:6px 0;font-size:14px;line-height:1.4}.footer-contact a:hover{color:var(--color-accent)}.footer-bottom{background-color:var(--color-black);color:var(--color-white);padding:20px 0;font-size:13px}.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-menu{display:flex;gap:20px;flex-wrap:wrap}.footer-menu a{color:#fffc;font-size:13px}.footer-menu a:hover{color:var(--color-white)}.footer-copyright,.footer-copyright a{color:#ffffffb3}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;text-align:center}.footer-contact a{justify-content:center}.footer-logo img{margin:0 auto 20px}.footer-bottom .container{flex-direction:column;text-align:center}.footer-menu{justify-content:center}}.shape-divider{position:relative;overflow:hidden;line-height:0}.shape-divider svg{display:block;width:100%;height:72px}@media(max-width:600px){.shape-divider svg{height:36px}}.legal-content{max-width:800px;margin:0 auto;padding:40px 20px}.legal-content h1{font-size:28px;margin-bottom:20px}.legal-content h2{font-size:22px;margin:30px 0 12px}.legal-content p{margin-bottom:16px;line-height:1.8}.legal-content ul{list-style:disc;margin-left:24px;margin-bottom:16px}.legal-content li{margin-bottom:8px;line-height:1.6}.legal-content hr{border:none;border-top:1px solid #ddd;margin:30px 0}.legal-content strong{font-weight:700}.cookie-notice{position:fixed;bottom:0;left:0;right:0;background:var(--color-dark-gray);color:var(--color-white);padding:16px 20px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:14px;z-index:9999;transform:translateY(100%);transition:transform .3s ease}.cookie-notice.is-visible{transform:translateY(0)}.cookie-notice button{background:var(--color-primary);color:var(--color-white);border:none;padding:8px 24px;border-radius:var(--radius-pill);cursor:pointer;font-weight:600}.cookie-notice button:hover{background:var(--color-sage)}.cherry-widget{width:100%}.text-center{text-align:center}.mt-20{margin-top:20px}.mt-40{margin-top:40px}.mb-20{margin-bottom:20px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.divider{width:75%;margin:30px auto;border:none;border-top:1px solid #ddd}
