/* Edit this file to customize the blue palette and top navigation. */
:root{--primitive-color--primary:#1e61af;--primitive-color--secondary:#163451;--primitive-color--light:#ffffff;--primitive-color--tertiary:#edf4fc;--primitive-color--grey:#e6eef7;--primitive-color--green:#1e61af;--primitive-color--bright-green:#377cc8;--primitive-color--deep-green:#fcf310;--primitive-color--deep-light:#d5e4f5;--nav-height:88px}
html{scroll-behavior:smooth;scroll-padding-top:110px}body{overflow-x:clip}.site-header{position:sticky;top:0;z-index:1000;background:rgba(248,251,255,.97);border-bottom:1px solid #d6e4f4;backdrop-filter:blur(16px)}.site-nav-container{max-width:1440px;margin:auto;padding:0 48px;min-height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:32px}.site-brand{display:flex;align-items:center;gap:10px;color:var(--brand-blue,#1e61af);font-size:30px;font-weight:650;letter-spacing:-1.5px;text-decoration:none}.brand-dot{color:var(--brand-yellow,#fcf310)}.site-nav-links{display:flex;align-items:center;gap:30px}.site-nav-links a{color:var(--brand-ink,#163451);font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .2s}.site-nav-links a:hover{color:var(--brand-blue,#1e61af)}.site-nav-links .nav-appointment{background:var(--brand-blue,#1e61af);color:#fff;border-radius:40px;padding:15px 22px;display:flex;gap:18px;align-items:center}.site-nav-links .nav-appointment:hover{background:var(--brand-hover,#174e8d);color:#fff}.nav-toggle{display:none;align-items:center;gap:10px;border:1px solid #c9dcf1;background:#fff;color:var(--brand-blue,#1e61af);padding:10px 15px;border-radius:30px;font-size:14px}.nav-toggle span{font-size:21px}.service-card_icon path{fill:var(--brand-blue,#1e61af)}.service-card_image-wrap{background:#edf4fc}a:focus-visible,button:focus-visible{outline:3px solid var(--brand-yellow,#fcf310);outline-offset:5px}.section_footer .footer_logo{max-width:180px}
@media(max-width:1100px){.site-nav-container{padding:0 28px}.site-nav-links{gap:18px}.site-nav-links a{font-size:14px}}
@media(max-width:991px){:root{--nav-height:76px}.site-nav-container{padding:0 24px}.site-brand{font-size:27px}.nav-toggle{display:flex}.site-nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 24px 28px;background:#ffffff;border-bottom:1px solid #d6e4f4;box-shadow:0 20px 30px #16345112;align-items:stretch;gap:0}.site-nav-links.is-open{display:flex;flex-direction:column}.site-nav-links a{padding:13px 0;font-size:16px}.site-nav-links .nav-appointment{margin-top:14px;padding:14px 20px;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reference palette: royal blue, bright yellow and white. */
:root{--brand-blue:#1e61af;--brand-yellow:#fcf310;--brand-white:#fff}
.site-nav-links .nav-appointment{background:var(--brand-yellow);color:var(--brand-blue);font-weight:600}
.site-nav-links .nav-appointment:hover{background:#ebe30e;color:var(--brand-ink,#163451)}
.site-brand .brand-dot{color:var(--brand-yellow)}
.nav-toggle{border-color:var(--brand-blue)}
.service-scroll_thumb{background:var(--brand-yellow)!important}
.section_footer .text-highlighted,.section_offer .text-highlighted{color:var(--brand-yellow)}
::selection{background:var(--brand-yellow);color:var(--brand-blue)}

/* Final multi-page navigation and content. Dental branding icons removed. */
.site-brand{gap:0}.site-nav-links a[aria-current="page"]{color:var(--brand-blue);text-decoration:underline;text-underline-offset:8px}.site-nav-links .nav-appointment[aria-current="page"]{text-decoration:none}.footer-brand-text{font-size:42px;letter-spacing:-2px;font-weight:650;color:white}.service-card_icon-wrap,.home-info_logo-wrap{display:none!important}.final-cta{display:inline-flex;background:var(--brand-yellow);color:var(--brand-blue);padding:16px 24px;border-radius:40px;font-weight:600;text-decoration:none;align-items:center;gap:12px}.final-back{display:inline-block;margin-left:24px;color:var(--brand-blue)}.final-profile{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.final-profile-image{width:100%;max-height:650px;object-fit:cover;border-radius:24px}.final-article{max-width:1050px}.final-article-image{width:100%;height:480px;object-fit:cover;border-radius:24px;margin-bottom:48px}.final-article-copy{max-width:800px;margin:0 auto}.final-article-copy p{font-size:18px;line-height:1.7;margin:20px 0 32px}.final-article-copy h2{margin-top:36px}.home-service_card .service-card_content{padding-top:24px}
@media(max-width:767px){.final-profile{grid-template-columns:1fr;gap:32px}.final-article-image{height:260px}.final-back{display:block;margin:24px 0 0}.site-brand{font-size:27px}}



/* Visible manual controls for the homepage hero image slider. */
.hero-image_slider .hero-slider-control{position:absolute;z-index:6;display:flex!important;align-items:center;justify-content:center;width:52px;height:52px;min-height:0;top:50%;bottom:auto;margin:0;transform:translateY(-50%);border:1px solid #ffffffa6;border-radius:50%;background:#ffffffed;color:var(--brand-blue);box-shadow:0 4px 18px #16345126;cursor:pointer;transition:background .2s,color .2s}
.hero-image_slider .w-slider-arrow-left.hero-slider-control{left:20px;right:auto}
.hero-image_slider .w-slider-arrow-right.hero-slider-control{right:20px;left:auto}
.hero-image_slider .hero-slider-control:hover{background:var(--brand-yellow);color:var(--brand-blue)}
.hero-image_slider .hero-slider-control:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:4px}
.hero-image_slider .hero-slider-control svg{display:block;pointer-events:none}
@media(max-width:767px){.hero-image_slider .hero-slider-control{width:44px;height:44px}.hero-image_slider .w-slider-arrow-left.hero-slider-control{left:12px}.hero-image_slider .w-slider-arrow-right.hero-slider-control{right:12px}}

/* React owns the hero slides and arrows; Webflow does not initialize this carousel. */
.native-home-carousel{position:relative;isolation:isolate;min-height:0;aspect-ratio:1370 / 1648;height:auto;overflow:hidden}
.native-home-carousel .hero-image_slider-mask{position:relative;min-height:inherit;height:100%;overflow:hidden}
.native-home-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:opacity .45s ease;pointer-events:none}
.native-home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.native-home-slide .hero-image_slider-slide_inner,.native-home-slide img{width:100%;height:100%;object-fit:cover}
.native-carousel-arrow{position:absolute;z-index:20;top:50%;transform:translateY(-50%);display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;width:54px;height:54px;border:2px solid white;border-radius:50%;background:var(--brand-blue,#1e61af);color:white;box-shadow:0 5px 20px #16345140;cursor:pointer}
.native-carousel-arrow span{font-family:Arial,sans-serif;font-size:44px;line-height:1;margin-top:-4px}.native-carousel-arrow.previous{left:18px}.native-carousel-arrow.next{right:18px}.native-carousel-arrow:hover{background:var(--brand-yellow,#fcf310);color:var(--brand-blue,#1e61af)}.native-carousel-arrow:focus-visible{outline:3px solid var(--brand-yellow,#fcf310);outline-offset:5px}
.native-carousel-count{position:absolute;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);padding:7px 14px;border-radius:30px;background:#1e61afe6;color:white;font-size:14px}
.service-manual-controls{display:flex;gap:12px;justify-content:flex-end;margin:24px 0 16px}.service-manual-controls button{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--brand-blue,#1e61af);color:white;border:0;font-size:25px;cursor:pointer}.service-manual-controls button:hover{background:var(--brand-yellow,#fcf310);color:var(--brand-blue,#1e61af)}
@media(max-width:991px){.service-manual-controls{display:none}.native-home-carousel{min-height:0}}
@media(max-width:767px){.native-home-carousel{min-height:0}.native-carousel-arrow{width:46px;height:46px}.native-carousel-arrow.previous{left:12px}.native-carousel-arrow.next{right:12px}}
@media(prefers-reduced-motion:reduce){.native-home-slide{transition:none}}

/* Compact carousel controls and progressive inner-page motion. */
.native-carousel-arrow{top:50%!important;transform:translateY(-50%)!important;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;border:1px solid #ffffffbf!important;border-radius:50%!important;background:#ffffffed;color:var(--brand-ink,#163451);box-shadow:0 2px 8px #16345120;transition:background .2s,color .2s,box-shadow .2s}
.native-carousel-arrow.previous{left:16px}.native-carousel-arrow.next{right:16px}
.native-carousel-arrow:hover{background:var(--brand-blue,#1e61af);color:white;box-shadow:0 3px 12px #16345140}
.native-carousel-arrow svg{display:block;pointer-events:none}

/* Consistent footer text links, including links without a component class. */
.section_footer a:not(.social-single_icon),
.section_footer a:not(.social-single_icon):visited{color:#fff}
.section_footer a:not(.social-single_icon):hover,
.section_footer a:not(.social-single_icon):focus-visible{color:var(--brand-yellow)}

/* Pin footer navigation colours, including nested labels and visited links. */
.section_footer .footer-top_links a,
.section_footer .footer-top_links a:link,
.section_footer .footer-top_links a:visited,
.section_footer .footer-column_title{color:#ffffff!important}
.section_footer .footer-top_links a *,
.section_footer .footer-column_title *{color:inherit!important}
.section_footer .footer-top_links a:hover,
.section_footer .footer-top_links a:focus-visible{color:var(--brand-yellow,#fcf310)!important}

/* CMS image frames use the supplied original source proportions. */
.service-card_image-wrap,.service-card_image-wrap.home-service-image{aspect-ratio:814 / 548}

.home-about_info-card.is-image{position:relative;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:632 / 760;align-self:start}.home-about_info-card.is-image img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center}
.home-content_image-wrap{position:relative;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:1370 / 1788;align-self:start}.home-content_image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center}

/* Shop links share the original mobile menu when tablet space is limited. */
@media(min-width:992px) and (max-width:1199px){.nav-toggle{display:flex}.site-nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 24px 28px;background:#fff;border-bottom:1px solid #d6e4f4;box-shadow:0 20px 30px #16345112;align-items:stretch;gap:0}.site-nav-links.is-open{display:flex;flex-direction:column}.site-nav-links a{padding:13px 0;font-size:16px}.site-nav-links .nav-appointment{margin-top:14px;padding:14px 20px;justify-content:space-between}}

/* An unset CMS contact image leaves a single content column, without demo artwork. */
.contact-us_element.has-no-contact-image{grid-template-columns:minmax(0,1fr)}

/* Keep service detail images clear of the sticky navigation. */
#bizplus-main .section-padding.service-details{padding-top:32px}
#bizplus-main .service-details_image-wrap{top:calc(var(--nav-height, 96px) + 24px)}
@media(max-width:767px){#bizplus-main .section-padding.service-details{padding-top:24px}}

/* Measured homepage service scrolling replaces the fixed demo animation. */
@media(min-width:992px){
 .bizplus-service-scroll-trigger .service-collection_list-slider{transform:translate3d(var(--service-scroll-x,0px),0,0)!important;will-change:transform}
 .bizplus-service-scroll-trigger .home-service_list{transform:none!important}
}

/* Show About business images without the floating overlay badges. */
.section_about .home-about_info-card.is-image .home-about_info-tag{display:none}

/* Preserve readable CMS paragraphs and lists in the work-together section. */
.section_offer .bizplus-offer-copy{line-height:1.65;overflow-wrap:anywhere}
.section_offer .bizplus-offer-copy ul,.section_offer .bizplus-offer-copy ol{display:block;margin:1em 0;padding-left:1.5em;list-style-position:outside}
.section_offer .bizplus-offer-copy ul{list-style-type:disc}
.section_offer .bizplus-offer-copy ol{list-style-type:decimal}
.section_offer .bizplus-offer-copy li{display:list-item;padding-left:.25em;margin:.5em 0}
.section_offer .bizplus-offer-copy>:first-child{margin-top:0}
.section_offer .bizplus-offer-copy>:last-child{margin-bottom:0}

/* Keep pasted Why Us lists readable on homepage and interior pages. */
.section_content .bizplus-whyus-copy{line-height:1.65;overflow-wrap:anywhere}
.section_content .bizplus-whyus-copy ul,.section_content .bizplus-whyus-copy ol{display:block;margin:1em 0;padding-left:1.5em;list-style-position:outside}
.section_content .bizplus-whyus-copy ul{list-style-type:disc}
.section_content .bizplus-whyus-copy ol{list-style-type:decimal}
.section_content .bizplus-whyus-copy li{display:list-item;padding-left:.25em;margin:.5em 0}
.section_content .bizplus-whyus-copy>:first-child{margin-top:0}
.section_content .bizplus-whyus-copy>:last-child{margin-bottom:0}
