@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#163f37;--green:#123f36;--lime:#dbf59a;--muted:#53675f;--line:#dce4df;--pale:#f1f5f1;--white:#fff;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #69872e;outline-offset:5px}html{scroll-behavior:smooth;scroll-padding-top:110px}p{line-height:1.75;color:var(--muted)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;margin:0;letter-spacing:-.04em}h1{font-size:clamp(3rem,5.9vw,6rem);line-height:1.06}h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.18}h3{font-size:1.35rem;letter-spacing:-.025em;line-height:1.35}em{font-family:Georgia,serif;font-weight:400}img{display:block;max-width:100%}.skip{position:absolute;top:-100px;background:white;padding:20px;z-index:100}.skip:focus{top:0}.topline{display:flex;justify-content:space-between;background:var(--green);color:white;padding:10px 5%;font-size:.8rem}.topline a{color:#dbe7db}header{display:flex;align-items:center;justify-content:space-between;padding:16px 5%;border-bottom:1px solid var(--line);background:white;gap:25px}.brand{width:185px;flex-shrink:0}.brand img{width:185px;height:76px;object-fit:contain}nav{display:flex;align-items:center;gap:28px;font-size:.9rem}nav>a:not(.button){padding:12px 0;white-space:nowrap}nav a[aria-current=page]{border-bottom:1px solid var(--green)}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:18px 24px;border-radius:5px;background:var(--green);color:white;border:1px solid var(--green);font-size:.93rem;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#255e4e;transform:translateY(-2px)}.button.small{padding:13px 18px}.menu-toggle{display:none}.eyebrow{display:block;font-size:.75rem;letter-spacing:.15em;font-weight:700;line-height:1.7;margin-bottom:22px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding:52px 5% 60px;align-items:center;max-width:1600px;margin:auto}.hero-copy{padding:14px 0}.hero-copy h1{margin-bottom:25px}.hero-copy>p{font-size:1.05rem;max-width:430px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.text-link{font-size:.94rem;font-weight:600;padding-bottom:5px;border-bottom:1px solid var(--ink)}.hero-image{height:600px;position:relative;background:#d1dcd0;border-radius:160px 8px 8px 8px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#153e36b8)}.image-label{position:absolute;bottom:32px;left:32px;z-index:1;color:white;font-size:.85rem;line-height:1.8}.image-label strong{display:block;font-size:1.2rem;font-weight:500}.intro-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 5%;background:var(--pale);border-block:1px solid var(--line)}.intro-strip>span{font-size:.75rem;letter-spacing:.13em;font-weight:700}.intro-strip p{font-size:1.4rem;line-height:1.4;margin:0;color:var(--ink)}.intro-strip a{font-size:.9rem;border-bottom:1px solid;padding-bottom:6px}.section{padding:90px 5%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:30px}.section-heading p{margin-bottom:2px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{position:relative;padding:29px 25px;min-height:285px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:30px;transition:background .2s}.service:hover{background:var(--pale)}.number{font-size:.8rem;color:#75867b}.service h3{max-width:220px}.service p{font-size:.9rem;line-height:1.6;margin-bottom:4px;padding-right:15px}.card-arrow{position:absolute;top:26px;right:26px;font-size:1.35rem}.help-card{background:var(--lime);justify-content:center;gap:18px}.help-card .eyebrow{margin:0;font-size:.7rem}.help-card:hover{background:var(--lime)}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--pale);max-width:none}.visit>div p{max-width:430px}.visit ol{list-style:none;padding:0;margin:0}.visit li{display:flex;gap:25px;border-top:1px solid #ccd8cf;padding:25px 0}.visit li>span{font-size:.8rem;padding-top:7px}.visit li p{font-size:.95rem;margin-bottom:0}.cta{background:var(--green);color:white;padding:65px 5%;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta .eyebrow{color:var(--lime)}.light{background:var(--lime);color:var(--green);border-color:var(--lime);white-space:nowrap}.light:hover{background:#ebffc0}.cta h2{font-size:clamp(2rem,3.5vw,3.5rem)}footer{padding:65px 5% 25px;background:#f6f8f5}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.4fr;gap:35px}.wordmark{font-size:3.5rem;font-weight:700;letter-spacing:-.08em}.wordmark span{color:#618058}.footer-grid h3{font-size:.9rem;font-weight:700;letter-spacing:0;margin-bottom:23px}.footer-grid p,.footer-grid a:not(.wordmark){font-size:.85rem;line-height:1.8}.footer-grid a:not(.wordmark){display:block;margin-bottom:8px}.footer-grid a:hover{text-decoration:underline}.email{overflow-wrap:anywhere}.footnote{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.page-intro{padding:70px 5%;background:var(--pale)}.page-intro h1{max-width:950px}.page-intro>p{max-width:640px;font-size:1.1rem;margin:25px 0}.page-intro .button{margin-top:12px}.compact{padding-top:50px;padding-bottom:60px}.back{display:block;font-size:.9rem;margin-bottom:40px}.accent{color:#7ca345}.detail-layout{display:grid;grid-template-columns:1fr 2.5fr;gap:10%;max-width:1300px}.detail-layout aside{display:flex;flex-direction:column;align-items:start;gap:20px;font-size:.9rem}.detail-layout aside .eyebrow{margin:0}.detail-layout article>section{margin-bottom:50px;scroll-margin-top:30px}.detail-layout article h2{font-size:2rem}.detail-layout article p{font-size:1.05rem}.question-box{padding:35px;background:var(--pale);border-left:3px solid #89a86b}.note,.source{font-size:.85rem!important;color:var(--muted)}.source a{text-decoration:underline}.next{display:flex;justify-content:space-between;padding:30px 5%;border-top:1px solid var(--line);gap:20px}.next a{font-size:1.2rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.address-card{background:var(--lime);padding:50px;border-radius:70px 5px 5px 5px}.about-grid p{margin:25px 0}.about-grid .button{margin-top:18px}details{border-top:1px solid var(--line);padding:25px 0;max-width:900px;margin:auto}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:1.15rem;font-weight:500}details p{max-width:780px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.contact-block{margin-bottom:40px}.contact-block .eyebrow{margin-bottom:12px}.contact-block h2{font-size:1.6rem}.contact-block p{margin:10px 0}.contact-block .email{display:block;font-size:1.12rem}.copy,.inline-copy{background:transparent;border:0;padding:0;text-decoration:underline;color:var(--ink);font-size:.85rem}.copy{margin-top:15px}#copy-status{display:block;font-size:.85rem;margin-top:8px}.enquiry{background:var(--pale);padding:40px;border-radius:8px}.enquiry h2{font-size:2rem}.enquiry p{font-size:.95rem}label{display:block;font-size:.9rem;font-weight:500;margin:22px 0 9px}label span{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #b6c8bc;background:white;border-radius:4px;padding:13px;color:var(--ink);min-height:48px}textarea{resize:vertical}.form-note{font-size:.8rem!important;line-height:1.6}#form-status{font-size:.85rem}.enquiry .button{width:100%;margin-top:12px}
@media(min-width:1600px){header,.topline,.intro-strip,.cta,footer,.page-intro{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){nav{gap:18px}.brand,.brand img{width:150px}.hero-image{height:550px}.service-grid{grid-template-columns:repeat(2,1fr)}.service{min-height:245px}.footer-grid{grid-template-columns:1fr 1fr}.contact-grid{gap:5%}.hero{gap:4%}.actions{gap:20px}.button{padding:16px 18px}nav .button{font-size:.8rem}.enquiry{padding:28px}}
@media(max-width:760px){.topline{font-size:.75rem;padding:10px 5%}.topline>a{display:none}header{flex-wrap:wrap;padding-block:8px;gap:0}.brand,.brand img{width:150px;height:65px}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:1px solid var(--line);padding:10px 12px;border-radius:4px;color:var(--ink)}nav{display:none;width:100%;padding:15px 0 20px;flex-direction:column;align-items:stretch;gap:5px}nav.open{display:flex}nav a{padding:12px!important}nav a[aria-current=page]{border:0;background:var(--pale)}.hero{grid-template-columns:1fr;padding-top:35px;gap:35px}.hero h1{font-size:clamp(3.6rem,13vw,5.5rem)}.hero-copy>p{max-width:100%}.hero-image{height:430px;border-radius:100px 5px 5px 5px}.hero-image img{object-position:center 38%}.eyebrow{font-size:.7rem}.intro-strip{flex-wrap:wrap;padding-block:28px;gap:18px}.intro-strip>span{width:100%}.intro-strip p{font-size:1.15rem}.intro-strip a{font-size:.8rem}.section{padding:55px 5%}.section-heading{display:block}.section-heading p{margin-top:22px}.service{padding:25px 18px;min-height:260px;gap:30px}.service h3{font-size:1.15rem}.service p{font-size:.85rem;padding:0}.card-arrow{right:18px}.visit{grid-template-columns:1fr;gap:35px}.cta{flex-direction:column;align-items:start;padding-block:45px}.footer-grid{gap:35px 20px}.footer-grid>div:last-child{grid-column:1/-1}.footnote{flex-direction:column;font-size:.75rem}.page-intro{padding:45px 5%}.page-intro h1{font-size:3.1rem}.detail-layout{grid-template-columns:1fr;gap:35px}.detail-layout aside{flex-direction:row;flex-wrap:wrap;gap:15px}.detail-layout aside .eyebrow{width:100%}.detail-layout article h2{font-size:1.7rem}.question-box{padding:25px}.next{flex-direction:column}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.enquiry{padding:25px}.address-card{padding:35px}.contact-block{margin-bottom:30px}.treatment-intro h1{font-size:3rem}.image-label{left:25px;bottom:25px}.compact{padding-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Richer green surfaces and photographic treatment navigation. */
:root{--green:#134d3b;--ink:#123d30;--lime:#d6f2a6;--pale:#eef5ed}
.hero{background:#e7f0e5;max-width:none;border-bottom:1px solid #c9dcc7}.hero-copy em{color:#397247}.hero-image{box-shadow:14px 14px 0 #b8d2ac}.intro-strip{background:#24563e;color:white;border:0}.intro-strip p{color:white}.intro-strip>span{color:#d6f2a6}.intro-strip>a{color:white}.section-heading .eyebrow{color:#3f7140}.service-grid{gap:24px;border:0;grid-template-columns:repeat(4,minmax(0,1fr))}.service{background:#f0f5ec;border:1px solid #d6e3cd;border-radius:12px;overflow:hidden;min-height:370px;padding:0 22px 24px;display:block;transition:box-shadow .2s,transform .2s}.service:hover{background:#e7f1df;box-shadow:0 12px 30px #153f3712;transform:translateY(-4px)}.service-photo{width:calc(100% + 44px);max-width:none;height:175px;object-fit:cover;margin:0 -22px 21px}.service .number{display:block;color:#426944;margin-bottom:12px;font-weight:600}.service h3{padding-right:10px}.service p{margin-top:12px}.card-arrow{top:189px;right:17px;border-radius:50%;height:34px;width:34px;display:flex;align-items:center;justify-content:center;background:#d0e7bf;color:#204e36}.help-card{background:#245c41;color:white;padding:28px 24px;display:flex;gap:18px;justify-content:center}.help-card:hover{background:#245c41}.help-card .text-link{color:#d6f2a6;border-color:#d6f2a6}.help-card .eyebrow{color:#d6f2a6}.help-symbol{font-size:4rem;line-height:1;font-weight:400;color:#b7d99c}.visit{background:#e2eddc}.visit li{border-color:#bacfb1}.visit li>span{color:#416e3d}.cta{background:#123e2f;border-top:6px solid #a9ce86}.page-intro{background:#e1edda;border-bottom:1px solid #c3d6b8}.page-intro em{color:#386b3a}.treatment-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center;padding-top:45px;padding-bottom:55px}.treatment-copy h1{font-size:clamp(3rem,4.5vw,5rem)}.treatment-copy>p{font-size:1.1rem;max-width:580px;margin:24px 0}.treatment-copy .eyebrow{color:#365d34}.treatment-photo{margin:0;position:relative;border-radius:80px 10px 10px 10px;overflow:hidden;box-shadow:12px 12px 0 #b6d2a0}.treatment-photo img{width:100%;height:450px;object-fit:cover}.treatment-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 25px 22px;color:white;background:linear-gradient(transparent,#153e36d9);font-size:.9rem}.detail-layout aside a:hover{text-decoration:underline;text-underline-offset:5px}.question-box{background:#e6f0dd;border-color:#5b8d46;border-radius:0 12px 12px 0}.next{background:#f0f5ec}.next a{color:#2b623f}.address-card{background:#245b40;color:white}.address-card p{color:#e1ecdc}.address-card .eyebrow{color:#d6f2a6}.address-card .text-link{border-color:#c2dea6}.enquiry{border:1px solid #c6d9bc;border-top:6px solid #568847;background:#ecf3e6;box-shadow:0 15px 50px #154d3710}footer{background:#dfebd7}.photo-note{font-size:.75rem;color:#53675f;padding-top:16px;line-height:1.6}.brand img{border-radius:4px}.contact-block h2{line-height:1.4}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo{height:220px}.card-arrow{top:234px}.service{min-height:400px}.treatment-photo img{height:400px}.treatment-intro{gap:5%}.treatment-copy h1{font-size:3.3rem}}
@media(max-width:760px){.hero{padding-right:7%;padding-bottom:45px}.hero-image{box-shadow:9px 9px 0 #b8d2ac}.service-grid{gap:16px}.service{padding:0 17px 22px;min-height:360px}.service-photo{height:165px;margin:0 -17px 18px;width:calc(100% + 34px)}.card-arrow{top:178px;right:12px;width:30px;height:30px}.service .number{margin-bottom:12px}.service h3{font-size:1.1rem}.service p{font-size:.9rem}.help-card{padding:25px 18px}.treatment-intro{grid-template-columns:1fr;gap:35px;padding-right:7%}.treatment-copy h1{font-size:3rem}.treatment-photo img{height:330px}.treatment-photo{box-shadow:9px 9px 0 #b6d2a0;border-radius:60px 8px 8px 8px}.treatment-copy .back{margin-bottom:30px}.photo-note{font-size:.75rem}}
@media(max-width:420px){.service-grid{grid-template-columns:1fr}.service{min-height:0;padding-bottom:26px}.service-photo{height:205px}.card-arrow{top:218px}.service h3{font-size:1.35rem;max-width:none}.service p{font-size:1rem}.help-card{min-height:270px}.hero-copy h1{font-size:3.5rem}}
.hours-list{margin:28px 0 0}.hours-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #c5d6bb;padding:18px 0;font-size:1rem}.hours-list dt{font-weight:600}.hours-list dd{margin:0;white-space:nowrap}.hours-note{font-size:.85rem!important}.opening-card hr{border:0;border-top:1px solid #c5d6bb;margin:30px 0}.visit-checklist{padding-left:20px;color:var(--muted);line-height:1.75}.visit-checklist li{padding:6px 0}.phone-link{display:block;font:500 clamp(1.8rem,3vw,2.8rem) Manrope,Arial,sans-serif;margin:20px 0 10px;letter-spacing:-.03em}.mobile-link{display:block;font-size:1.05rem;text-decoration:underline;text-underline-offset:5px;margin-bottom:22px}.contact-faq>h2{margin-bottom:30px}.contact-faq>details{max-width:none}.benefits-box{background:#e3eedb;padding:30px;border-radius:10px;margin:35px 0}.benefits-box .text-link{display:inline-block;border:0;text-decoration:underline;text-underline-offset:4px;line-height:1.7}.care-detail{margin-top:35px}.treatment-faq{margin:0 0 45px}.treatment-faq summary{line-height:1.6}.opening-card .button{white-space:normal}.contact-block p{max-width:500px}@media(max-width:480px){.hours-list>div{flex-direction:column;gap:7px}.benefits-box{padding:24px}.phone-link{font-size:2rem}.topline{font-size:.75rem}}
/* Object-focused photography crop positions. */
.hero-image>img{object-position:50% 35%}.service-photo[src*="general-dentistry"],.treatment-photo img[src*="general-dentistry"]{object-position:50% 55%}.service-photo[src*="gum-care"],.treatment-photo img[src*="gum-care"]{object-position:50% 50%}.service-photo[src*="childrens-dentistry"],.treatment-photo img[src*="childrens-dentistry"]{object-position:50% 83%}.service-photo[src*="orthodontics"],.treatment-photo img[src*="orthodontics"]{object-position:50% 57%}.service-photo[src*="root-canal"],.treatment-photo img[src*="root-canal"]{object-position:50% 50%}.service-photo[src*="oral-surgery"],.treatment-photo img[src*="oral-surgery"]{object-position:50% 50%}.service-photo[src*="teeth-whitening"],.treatment-photo img[src*="teeth-whitening"]{object-position:50% 79%}
/* Opening offer and consistent footer branding. */
.footer-brand{width:220px;max-width:100%}.footer-brand img{width:100%;height:auto;object-fit:contain}
.opening-special{margin:0 auto 56px;width:90%;max-width:1440px;padding:38px 44px;background:#e7efdc;border:1px solid #c5d4b4;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.opening-special .eyebrow{margin-bottom:12px}.opening-special h2{font-size:clamp(1.8rem,3vw,2.8rem)}.special-copy p{margin:14px 0 0;color:var(--ink)}
.special-booking{flex-shrink:0;text-align:center}.special-price{margin:0 0 12px;display:flex;gap:8px;align-items:baseline;justify-content:center;color:var(--green);line-height:1}.special-price>span:first-child{font-size:clamp(3.4rem,5vw,4.8rem);font-weight:600;letter-spacing:-.05em}.special-currency{font-size:.8rem;font-weight:600}.special-reminder{font-size:.75rem;margin:10px 0 0}
@media(max-width:650px){.opening-special{padding:28px 22px;flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:36px}.special-booking{text-align:left;width:100%}.special-price{justify-content:flex-start}.special-booking .button{width:100%}}
