/*
Theme Name: Acupuncture Braintree — Theme v2
Theme URI: https://www.acupuncturebraintree.co.uk/
Author: Brentwood Web Design
Author URI: https://www.brentwoodwebdesign.co.uk/
Description: Theme v2 — an editorial, Gutenberg-first design for Acupuncture Braintree, inspired by modern specialist healthcare websites.
Version: 2.0.15
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: acupuncture-braintree
*/

:root{--ab-ink:#19332c;--ab-sage:#6f8f7e;--ab-pale:#edf2ec;--ab-cream:#f8f4eb;--ab-gold:#d89a5b;--ab-line:#d8e0d9;--ab-white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcfbf7;color:var(--ab-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit}.site-shell{width:100%;max-width:none;margin:0}.site-header{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(22px,5vw,76px);background:#f8f4eb;position:relative;z-index:20}.custom-logo-link img{max-height:58px;width:auto}.ab-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.ab-mark{width:42px;height:42px;border:1px solid;border-radius:50%;display:grid;place-items:center;font:20px Georgia}.ab-brand strong,.ab-brand small{display:block}.ab-brand strong{font:20px Georgia;font-weight:500}.ab-brand small{text-transform:uppercase;letter-spacing:.24em;font-size:8px;margin-top:5px}.primary-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.primary-menu a{text-decoration:none;font-size:14px;font-weight:700}.primary-menu>li:last-child>a{border:1px solid;padding:11px 17px;border-radius:99px}.menu-toggle{display:none;background:transparent;border:1px solid;border-radius:99px;padding:9px 14px}.site-main{min-height:55vh}.entry-header,.ab-page-hero{padding:90px clamp(24px,7vw,110px);background:linear-gradient(120deg,var(--ab-cream),#dfeae3)}.entry-title,.ab-display{font:500 clamp(3rem,7vw,6.8rem)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:0;max-width:980px}.entry-content>*:not(.alignfull):not(.alignwide){max-width:820px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:1260px;margin-left:auto;margin-right:auto}.entry-content>.alignfull{max-width:none}.entry-content>p,.entry-content>ul,.entry-content>ol{font-size:1.06rem}.entry-content{overflow:hidden}.ab-section{padding:100px clamp(24px,7vw,110px)}.ab-section h2{font:500 clamp(2.4rem,5vw,4.7rem)/1.08 Georgia;letter-spacing:-.045em}.ab-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:#587466}.ab-button .wp-block-button__link,.wp-block-button.ab-button .wp-block-button__link{border-radius:99px;padding:15px 23px;background:var(--ab-ink);color:white;font-weight:700}.ab-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ab-ink);border-color:var(--ab-ink)}.ab-hero{min-height:690px;padding:100px clamp(24px,7vw,110px);background:linear-gradient(110deg,#f5f0e4 0 60%,#dce8df 60%);display:flex;align-items:center}.ab-hero .wp-block-columns{width:100%}.ab-hero h1{font:500 clamp(3.4rem,7.2vw,6.8rem)/1.03 Georgia;letter-spacing:-.055em;margin:.15em 0 .25em}.ab-hero p{font-size:1.18rem;color:#456057}.ab-art{min-height:430px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#f4dfc2 0 43%,#eef4ef 44% 60%,transparent 61%);display:grid;place-items:center}.ab-hours{background:white!important;padding:25px!important;max-width:260px;box-shadow:0 20px 50px #31524420}.ab-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ab-card{background:white;padding:34px;min-height:260px;box-shadow:0 15px 40px #264a3a0c}.ab-card h3{font:500 1.55rem Georgia}.ab-card p{color:#5b6e66}.ab-pale{background:var(--ab-pale)}.ab-cream{background:var(--ab-cream)}.ab-dark{background:var(--ab-ink);color:white}.ab-dark p{color:#d6e1db}.ab-two-col{gap:8vw}.ab-stat{border-top:1px solid currentColor;padding-top:20px}.ab-stat strong{display:block;font:1.8rem Georgia;color:var(--ab-gold)}.ab-prices{list-style:none;padding:0}.ab-prices li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ab-line);padding:16px 0}.ab-prices strong{white-space:nowrap}.ab-quote{background:white;padding:34px}.ab-quote p{font:1.12rem Georgia}.ab-contact-card{background:white;padding:40px}.ab-notice{border-left:4px solid var(--ab-gold);background:#fff7ed;padding:18px 22px;font-size:.9rem}.wp-block-query .wp-block-post{background:white;padding:28px}.site-footer{background:#112a24;color:white;padding:58px clamp(24px,7vw,110px)}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px}.site-footer a{color:white}.site-footer p{color:#b7c6bf}.footer-menu{list-style:none;padding:0;margin:0}.footer-meta{border-top:1px solid #ffffff22;margin-top:35px;padding-top:20px;font-size:.8rem;color:#96aaa1}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}
/* Override the core first-child reset inside page content so the first block
   keeps the same vertical rhythm as other flow children. The stronger theme
   selector and important flag also win when global styles are printed later. */
body.acupuncture-braintree-theme .entry-content :where(.is-layout-flow)>:first-child{
  margin-block-start:var(--wp--style--block-gap,1.5rem)!important;
}

/* Modern service dropdown. */
.primary-menu>li{position:relative}
.primary-menu>li>a{display:flex;align-items:center;min-height:44px}
.primary-menu>li:last-child>a{border:1px solid;padding:11px 17px;border-radius:99px}
.primary-menu .menu-item-has-children>a::after{content:"";width:7px;height:7px;margin-left:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.primary-menu .sub-menu{position:absolute;top:calc(100% + 12px);left:50%;z-index:30;min-width:260px;margin:0;padding:10px;list-style:none;background:#fff;border:1px solid rgba(25,51,44,.1);border-radius:16px;box-shadow:0 22px 55px rgba(25,51,44,.16);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.primary-menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.primary-menu .sub-menu li+li{border-top:1px solid rgba(25,51,44,.07)}
.primary-menu .sub-menu a{display:block;padding:11px 13px;border-radius:9px;font-weight:600;white-space:nowrap;transition:background .15s ease,color .15s ease}
.primary-menu .sub-menu a:hover,.primary-menu .sub-menu a:focus{background:var(--ab-pale);color:var(--ab-ink);outline:none}
.primary-menu .menu-item-has-children:hover>.sub-menu,.primary-menu .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.primary-menu .menu-item-has-children:hover>a::after,.primary-menu .menu-item-has-children:focus-within>a::after{transform:translateY(2px) rotate(225deg)}
.submenu-toggle{display:none}

/* Homepage imagery */
.ab-hero-media{position:relative;min-height:500px}
.ab-hero-photo{height:500px;margin:0;overflow:hidden;border-radius:260px 260px 28px 28px;box-shadow:0 28px 70px rgba(25,51,44,.14)}
.ab-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.ab-hero-media .ab-hours{position:absolute;right:-18px;bottom:28px;z-index:2}
.ab-about-photo{margin:0 0 32px;overflow:hidden;border-radius:180px 180px 16px 16px;background:var(--ab-pale)}
.ab-about-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.ab-membership{display:flex;align-items:center;gap:18px;margin-top:28px;padding-top:22px;border-top:1px solid var(--ab-line)}
.ab-membership img{width:72px;height:auto}.ab-membership p{margin:0;font-size:.82rem;color:#586d64}
.ab-treatment-image-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.ab-treatment-image-grid figure{margin:0;overflow:hidden;border-radius:14px;background:#fff}
.ab-treatment-image-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .35s ease}
.ab-treatment-image-grid figure:hover img{transform:scale(1.025)}
.ab-treatment-image-grid figcaption{padding:12px 15px;margin:0;background:#fff;color:#4f675d;font-size:.78rem}
.ab-clinic-photo{margin:0 0 28px;overflow:hidden;border-radius:14px}
.ab-clinic-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}

/* Internal service patterns */
.ab-service-intro{background:#fffdf9}.ab-service-hero{gap:clamp(40px,6vw,90px)}.ab-service-hero h2{margin:.18em 0 .3em}.ab-service-lead{font-size:1.12rem;color:#456057;max-width:700px}.ab-service-photo{margin:0;overflow:hidden;border-radius:220px 220px 20px 20px;box-shadow:0 28px 65px rgba(25,51,44,.13)}.ab-service-photo img{display:block;width:100%;aspect-ratio:4/4.7;object-fit:cover}.ab-service-panel{height:100%;padding:clamp(28px,4vw,46px);background:#fff;border-radius:16px;box-shadow:0 18px 46px rgba(25,51,44,.08)}.ab-service-panel h3{font:500 1.7rem Georgia;margin-top:0}.ab-service-panel li+li{margin-top:9px}.ab-faq-grid{align-items:stretch;margin-top:44px}.ab-faq-grid>.wp-block-column{display:flex}.ab-faq-card{width:100%;padding:28px;background:var(--ab-cream);border-radius:14px}.ab-faq-card h3{font:500 1.35rem Georgia;margin-top:0}.ab-service-cta h2{margin-top:0}.ab-service-cta .wp-block-button__link{background:#fff!important;color:var(--ab-ink)!important}.ab-service-links a{text-decoration:none}.ab-service-links a:hover{text-decoration:underline}
.ab-testimonial-intro{max-width:760px;margin-left:auto;margin-right:auto}.ab-quote-grid{margin-top:34px}.ab-quote-grid .ab-quote{height:100%;margin:0}.ab-featured-quote{margin-top:24px;border-left:4px solid var(--ab-gold)}.ab-contact-details{margin-top:28px;padding-top:8px;border-top:1px solid var(--ab-line)}.ab-contact-details h3{margin-bottom:4px;font-size:1.15rem}.ab-contact-details p{margin-top:0}

/* Balanced practitioner/about section */
.ab-about-section{background:#fffdf9}
.ab-about-layout{gap:clamp(48px,7vw,110px);align-items:center}
.ab-about-section .ab-about-photo{margin:0;overflow:hidden;border-radius:240px 240px 22px 22px;box-shadow:0 28px 65px rgba(25,51,44,.12)}
.ab-about-section .ab-about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% center}
.ab-about-copy{max-width:720px}
.ab-about-section .ab-about-copy h2{max-width:680px;margin:.18em 0 .42em;font-size:clamp(2.8rem,4.3vw,4.8rem)}
.ab-about-intro{font-size:1.12rem;color:#405b51}
.ab-about-copy>p:not(.ab-eyebrow){max-width:680px}
.ab-about-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:34px;border-top:1px solid var(--ab-line);border-bottom:1px solid var(--ab-line)}
.ab-about-stats>div{padding:22px 18px 22px 0}
.ab-about-stats>div+div{padding-left:18px;border-left:1px solid var(--ab-line)}
.ab-about-stats strong,.ab-about-stats span{display:block}
.ab-about-stats strong{font:500 1.25rem Georgia;color:var(--ab-ink);margin-bottom:5px}
.ab-about-stats span{font-size:.72rem;line-height:1.45;color:#65786f}
.ab-about-stats h3,.ab-about-stats p{display:block;margin:0}
.ab-about-stats h3{font:500 1.25rem Georgia;color:var(--ab-ink);margin-bottom:5px}
.ab-about-stats p{font-size:.72rem;line-height:1.45;color:#65786f}
.ab-about-section .ab-membership{display:grid!important;grid-template-columns:74px 1fr;align-items:center;gap:20px;margin-top:26px;padding:18px 22px;border:0;border-radius:12px;background:var(--ab-cream)}
.ab-about-section .ab-membership img{width:64px}.ab-about-section .ab-membership p{font-size:.78rem;line-height:1.5}.ab-about-section .ab-membership strong{font-size:.84rem;color:var(--ab-ink)}

/* Native contact form */
.ab-form-response:empty{display:none}.ab-native-form.is-submitting{opacity:.72}.ab-form-submit:disabled{cursor:wait;opacity:.75;transform:none}
.ab-native-form-wrap{margin-top:24px}.ab-native-form p{margin:0 0 18px}.ab-native-form label{display:block;font-size:.78rem;font-weight:700;color:var(--ab-ink)}.ab-native-form input[type="text"],.ab-native-form input[type="email"],.ab-native-form input[type="tel"],.ab-native-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--ab-line);border-radius:8px;background:#fff;color:var(--ab-ink);font:inherit;transition:border-color .18s,box-shadow .18s}.ab-native-form textarea{resize:vertical}.ab-native-form input:focus,.ab-native-form textarea:focus{outline:0;border-color:var(--ab-sage);box-shadow:0 0 0 3px rgba(111,143,126,.18)}.ab-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ab-form-consent label{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}.ab-form-consent input{margin-top:4px}.ab-form-submit{appearance:none;border:1px solid var(--ab-ink);border-radius:99px;padding:14px 22px;background:var(--ab-ink);color:#fff;font:700 .9rem Arial,sans-serif;cursor:pointer;transition:transform .18s,background .18s}.ab-form-submit:hover{background:#284a40;transform:translateY(-1px)}.ab-form-help{font-size:.75rem;color:#667970}.ab-form-notice{margin-bottom:20px;padding:14px 16px;border-radius:8px;font-size:.86rem}.ab-form-notice.is-success{background:#e8f3eb;color:#234c35}.ab-form-notice.is-error{background:#fff0ed;color:#762a20}.ab-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Viewport entry motion: progressive enhancement only. */
.ab-motion-ready .ab-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s cubic-bezier(.22,1,.36,1) var(--ab-reveal-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--ab-reveal-delay,0ms);will-change:opacity,transform}.ab-motion-ready .ab-reveal.is-visible{opacity:1;transform:none}.ab-motion-ready .ab-reveal.wp-block-image{transform:translateY(22px) scale(.985)}.ab-motion-ready .ab-reveal.wp-block-image.is-visible{transform:none}@media(prefers-reduced-motion:reduce){.ab-reveal{opacity:1!important;transform:none!important;transition:none!important}}

@media(max-width:900px){.menu-toggle{display:block}.primary-navigation{display:none;position:absolute;top:84px;left:20px;right:20px;background:white;padding:18px;box-shadow:0 20px 45px #17332d22;border-radius:16px}.primary-navigation.is-open{display:block}.primary-menu{display:block}.primary-menu>li{padding:2px 0}.primary-menu>li>a{padding:10px 44px 10px 10px}.primary-menu>li:last-child>a{margin-top:8px;display:inline-flex;padding:11px 17px}.primary-menu .menu-item-has-children>a::after{display:none}.submenu-toggle{display:grid;place-items:center;position:absolute;right:2px;top:4px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ab-ink);font-size:0;cursor:pointer}.submenu-toggle::before{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}.submenu-toggle[aria-expanded="true"]::before{transform:translateY(2px) rotate(225deg)}.primary-menu .sub-menu{position:static;display:none;min-width:0;margin:0 0 5px 12px;padding:5px 0 5px 12px;border:0;border-left:1px solid var(--ab-line);border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}.primary-menu .sub-menu.is-open{display:block}.primary-menu .sub-menu li+li{border:0}.primary-menu .sub-menu a{padding:9px 12px;white-space:normal}.primary-menu .menu-item-has-children:hover>.sub-menu,.primary-menu .menu-item-has-children:focus-within>.sub-menu{transform:none}.ab-hero{background:linear-gradient(160deg,#f5f0e4 0 76%,#dce8df 76%)}.ab-cards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ab-section,.ab-page-hero{padding:72px 22px}.ab-hero{padding:80px 22px}.ab-cards,.footer-grid{grid-template-columns:1fr}.ab-art{min-height:300px}.wp-block-columns{gap:32px}.site-footer{padding:48px 22px}}
@media(max-width:900px){.ab-hero-media,.ab-hero-photo{min-height:0;height:420px}.ab-hero-media .ab-hours{right:12px}.ab-treatment-image-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.ab-about-layout{gap:48px}.ab-about-section .ab-about-photo img{aspect-ratio:4/4.6}.ab-about-stats{grid-template-columns:1fr}.ab-about-stats>div{padding:15px 0}.ab-about-stats>div+div{padding-left:0;border-left:0;border-top:1px solid var(--ab-line)}}
@media(max-width:600px){.ab-hero-media,.ab-hero-photo{height:340px}.ab-hero-media .ab-hours{right:8px;bottom:12px;max-width:220px}.ab-treatment-image-grid{grid-template-columns:1fr}}
@media(max-width:600px){.ab-form-row{grid-template-columns:1fr;gap:0}.ab-contact-card{padding:28px 22px}}
@media(max-width:781px){.ab-service-photo{max-width:520px}.ab-service-cta .wp-block-buttons{justify-content:flex-start!important}.ab-faq-grid>.wp-block-column{display:block}}

/* ==============================================================
   ACUPUNCTURE BRAINTREE — THEME V2
   ============================================================ */
.ab-v2{--v2-green:#0b7148;--v2-deep:#0a3328;--v2-ink:#102d25;--v2-mint:#dcebdd;--v2-pale:#edf3eb;--v2-cream:#f4f0e6;--v2-lime:#d9ea88;--v2-white:#fff;background:var(--v2-cream);color:var(--v2-ink);font-family:Arial,Helvetica,sans-serif}.ab-v2 .site-shell{overflow:clip}.v2-container{width:min(100% - 48px,1350px);margin-inline:auto}.v2-header{position:relative;z-index:100;background:var(--v2-cream);border-bottom:1px solid rgba(16,45,37,.12)}.v2-utility{background:var(--v2-deep);color:#fff;font-size:12px}.v2-utility-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between}.v2-utility p{margin:0;letter-spacing:.04em}.v2-utility nav{display:flex;align-items:center;gap:26px}.v2-utility a{color:#fff;text-decoration:none}.v2-nav-row{height:98px;display:grid;grid-template-columns:310px 1fr auto;align-items:center;gap:28px}.v2-logo{display:block;width:285px;line-height:0}.v2-logo img{display:block;width:100%;height:auto}.v2-nav-row .primary-navigation{justify-self:center}.v2-nav-row .primary-menu{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}.v2-nav-row .primary-menu>li>a{display:flex;align-items:center;min-height:60px;color:var(--v2-ink);font-size:15px;font-weight:600;text-decoration:none}.v2-nav-row .primary-menu>.menu-item-has-children>a::after{content:'+';margin-left:8px;font-size:18px;font-weight:400}.v2-book{display:inline-flex;align-items:center;gap:34px;padding:14px 16px 14px 22px;border-radius:99px;background:var(--v2-green);color:#fff;text-decoration:none;font-size:14px;font-weight:700}.v2-book span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--v2-green)}.v2-mobile-contact,.v2-header .submenu-toggle{display:none}.v2-header .primary-menu .sub-menu{position:absolute;top:136px;left:0;right:0;z-index:90;display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:0;width:100%;min-width:0;padding:42px max(24px,calc((100vw - 1350px)/2));border:0;border-radius:0;background:var(--v2-deep);box-shadow:0 28px 70px rgba(5,33,25,.22);list-style:none;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .24s ease,transform .24s ease,visibility .24s}.v2-header .menu-item-has-children:hover>.sub-menu,.v2-header .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.v2-header .sub-menu>li{border-bottom:1px solid rgba(255,255,255,.16)}.v2-header .sub-menu>li:not(.v2-mega-intro):nth-child(2),.v2-header .sub-menu>li:not(.v2-mega-intro):nth-child(5){border-left:1px solid rgba(255,255,255,.16)}.v2-header .sub-menu a{display:flex;justify-content:space-between;align-items:center;min-height:66px;padding:12px 24px;color:#fff;text-decoration:none;font-size:15px;font-weight:600;transition:background .2s,color .2s}.v2-header .sub-menu>li:not(.v2-mega-intro) a:hover{background:var(--v2-lime);color:var(--v2-deep)}.v2-mega-intro{grid-row:span 2;padding:0 50px 0 0!important;border-bottom:0!important}.v2-mega-intro span,.v2-mega-intro strong{display:block}.v2-mega-intro>span{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#a9c5b7}.v2-mega-intro strong{max-width:340px;margin:16px 0 30px;color:#fff;font:500 36px/1.12 Georgia,serif}.v2-mega-intro>a{display:inline-flex!important;justify-content:flex-start!important;min-height:0!important;padding:0!important;color:var(--v2-lime)!important}.menu-toggle{display:none}
.v2-home .entry-content{overflow:visible}.v2-home .entry-content>*{margin-block:0}.v2-home .entry-content>.alignfull{max-width:none}.v2-hero{position:relative;min-height:720px;display:flex;align-items:center;background-color:var(--v2-deep);background-size:cover;background-position:center}.v2-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(5,30,23,.38));pointer-events:none}.v2-hero-inner{position:relative;z-index:2;width:min(100% - 48px,1350px);margin:auto;color:#fff}.v2-kicker{margin:0 0 20px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}.v2-green{color:var(--v2-green)}.v2-hero h1{max-width:800px;margin:0;color:#fff;font:500 clamp(4.8rem,8.7vw,8.2rem)/.88 Georgia,serif;letter-spacing:-.065em}.v2-hero-copy{max-width:590px;margin:34px 0!important;color:#fff;font-size:18px;line-height:1.55}.v2-pill .wp-block-button__link{display:inline-flex;align-items:center;gap:26px;padding:15px 22px;border:0;border-radius:99px;font-size:14px;font-weight:700;text-decoration:none}.v2-pill-light .wp-block-button__link{background:#fff;color:var(--v2-deep)}.v2-pill-outline .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.v2-pill-green .wp-block-button__link{background:var(--v2-green);color:#fff}.v2-hero-trust{position:absolute;z-index:3;right:max(24px,calc((100vw - 1350px)/2));bottom:38px;display:flex!important;gap:42px;color:#fff}.v2-hero-trust p{margin:0;padding-left:16px;border-left:1px solid rgba(255,255,255,.5)}.v2-hero-trust strong,.v2-hero-trust span{display:block}.v2-hero-trust strong{font-size:13px}.v2-hero-trust span{font-size:11px;color:#d9e7df}.v2-separator{display:block;width:100%;height:85px;margin-top:-84px;position:relative;z-index:4;pointer-events:none}.v2-separator path{fill:var(--v2-cream)}.v2-separator-pale path{fill:var(--v2-pale)}.v2-separator-dark path{fill:var(--v2-deep)}.v2-pad{padding:130px max(24px,calc((100vw - 1350px)/2))}.v2-intro{background:var(--v2-cream);padding-top:95px}.v2-intro h2,.v2-clinic h2,.v2-reviews h2,.v2-ready h2{margin:.1em 0 .35em;font:500 clamp(3.4rem,6vw,6.2rem)/.98 Georgia,serif;letter-spacing:-.055em}.v2-intro>.wp-block-columns{gap:9vw}.v2-intro>.wp-block-columns p{font-size:17px}.v2-slider-shell{position:relative;margin-top:70px}.v2-service-track{display:flex!important;gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 25px}.v2-service-track::-webkit-scrollbar{display:none}.v2-service-card{position:relative;flex:0 0 min(385px,82vw);overflow:hidden;border-radius:18px;background:#fff;scroll-snap-align:start;box-shadow:0 12px 34px rgba(16,45,37,.08);transition:transform .3s ease,box-shadow .3s}.v2-service-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(16,45,37,.14)}.v2-service-card figure{margin:0;overflow:hidden}.v2-service-card img{display:block;width:100%;aspect-ratio:1.15/1;object-fit:cover;transition:transform .45s ease}.v2-service-card:hover img{transform:scale(1.035)}.v2-card-body{min-height:275px;padding:25px 28px 28px}.v2-card-number{margin:0;color:var(--v2-green);font-size:11px;font-weight:700}.v2-card-body h3{margin:15px 0 10px;font:500 30px/1.08 Georgia,serif}.v2-card-body>p:not(.v2-card-number):not(.v2-card-link){color:#526860;font-size:14px}.v2-card-link{margin-top:24px}.v2-card-link a{display:flex;justify-content:space-between;color:var(--v2-ink);font-size:13px;font-weight:700;text-decoration:none}.v2-card-link a::after{content:'';position:absolute;inset:0}.v2-slider-arrow{position:absolute;top:-55px;right:0;z-index:3;width:42px;height:42px;border:1px solid rgba(16,45,37,.25);border-radius:50%;background:transparent;color:var(--v2-ink);cursor:pointer}.v2-slider-arrow.is-prev{right:52px}.v2-clinic{background:var(--v2-pale);padding-top:115px}.v2-clinic-layout{gap:8vw}.v2-clinic h2{font-size:clamp(3.8rem,6vw,6.5rem)}.v2-clinic-facts{margin:38px 0}.v2-clinic-facts p{display:grid;grid-template-columns:160px 1fr;gap:15px;padding:15px 0;margin:0;border-top:1px solid rgba(16,45,37,.18)}.v2-clinic-facts strong{font-size:13px}.v2-clinic-facts span{font-size:13px;color:#5d7169}.v2-clinic-card{overflow:hidden;border-radius:22px;background:var(--v2-deep);color:#fff;box-shadow:0 26px 70px rgba(16,45,37,.16)}.v2-clinic-card figure{margin:0}.v2-clinic-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.v2-clinic-card>div{padding:28px 32px 32px}.v2-clinic-card h3{margin:4px 0 8px;font:500 32px Georgia,serif}.v2-clinic-card p{color:#d5e3dc}.v2-clinic-card a{color:var(--v2-lime);font-weight:700;text-decoration:none}.v2-reviews{background:var(--v2-green);color:#fff}.v2-reviews h2{color:#fff}.v2-google-summary{display:flex;justify-content:flex-end;align-items:center;gap:12px}.v2-google-summary span:last-child{display:flex;flex-direction:column}.v2-google-summary b{font-size:13px}.v2-google-summary i,.v2-stars{color:#ffd75e;font-style:normal;letter-spacing:.08em}.v2-google-g,.v2-stars span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#4285f4!important;font:bold 20px Arial;letter-spacing:0}.v2-review-grid{margin-top:55px;gap:20px}.v2-review-card{height:100%;padding:34px;border-radius:16px;background:#fff;color:var(--v2-ink)}.v2-stars{display:flex;align-items:center;gap:2px}.v2-stars span{margin-left:auto;width:28px;height:28px;font-size:15px}.v2-review-card h3{margin:28px 0 14px;font:500 27px Georgia,serif}.v2-review-card>p{color:#526860;font-size:14px}.v2-review-name{font-weight:700;color:var(--v2-ink)!important}.v2-review-note{margin:25px 0 0;font-size:11px;color:#dce9e3}.v2-ready{position:relative;min-height:760px;display:grid;place-items:center;overflow:hidden;background:var(--v2-deep);color:#fff;text-align:center}.v2-ready-copy{position:relative;z-index:3;max-width:820px}.v2-ready h2{color:#fff;font-size:clamp(4.5rem,8vw,8rem)}.v2-ready-copy>p:not(.v2-kicker){max-width:600px;margin:0 auto 32px;color:#d6e4de;font-size:17px}.v2-float{position:absolute;z-index:1;margin:0;overflow:hidden;border-radius:16px;box-shadow:0 25px 60px rgba(0,0,0,.3)}.v2-float img{display:block;width:100%;height:100%;object-fit:cover}.v2-float-one{width:190px;height:240px;left:5%;top:13%;transform:rotate(-7deg)}.v2-float-two{width:220px;height:175px;right:5%;top:12%;transform:rotate(6deg)}.v2-float-three{width:170px;height:210px;right:11%;bottom:5%;transform:rotate(-5deg)}.v2-footer{background:#061f18;color:#fff}.v2-footer-top{display:grid;grid-template-columns:1.65fr .8fr 1fr 1fr;gap:70px;padding-block:85px 65px}.v2-footer-brand img{display:block;width:min(100%,380px);height:auto}.v2-footer-brand p{max-width:390px;color:#adc2b8}.v2-footer-label{margin:0 0 22px!important;text-transform:uppercase;letter-spacing:.14em;font-size:10px!important;color:#87a699!important}.v2-footer p,.v2-footer a{font-size:13px}.v2-footer p{color:#adc2b8}.v2-footer a{color:#fff}.v2-footer .footer-menu{list-style:none;margin:0;padding:0}.v2-footer .footer-menu li+li{margin-top:10px}.v2-footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-block:24px;border-top:1px solid rgba(255,255,255,.14)}.v2-footer-bottom p{margin:0;font-size:11px}
@media(max-width:1100px){.v2-nav-row{grid-template-columns:260px 1fr auto}.v2-logo{width:245px}.v2-nav-row .primary-menu{gap:20px}.v2-header .primary-menu .sub-menu{grid-template-columns:1.2fr repeat(2,1fr)}.v2-hero-trust{display:none!important}.v2-footer-top{grid-template-columns:1.5fr 1fr 1fr;gap:45px}.v2-footer-top>div:last-child{grid-column:2/4}}
@media(max-width:900px){body.v2-menu-open{overflow:hidden}.v2-container{width:min(100% - 36px,1350px)}.v2-utility{display:none}.v2-nav-row{height:82px;display:flex;justify-content:space-between}.v2-logo{width:230px}.v2-book{display:none}.menu-toggle{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:var(--v2-green);color:#fff}.menu-toggle span{display:block;width:19px;height:1px;background:#fff}.menu-toggle b{position:absolute;clip:rect(1px,1px,1px,1px)}.v2-nav-row .primary-navigation{display:block;position:fixed;inset:82px 0 0;z-index:99;padding:24px;background:var(--v2-deep);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.22s}.v2-nav-row .primary-navigation.is-open{opacity:1;visibility:visible;transform:none}.v2-nav-row .primary-menu{display:block}.v2-nav-row .primary-menu>li{position:relative;border-bottom:1px solid rgba(255,255,255,.15)}.v2-nav-row .primary-menu>li>a{min-height:64px;color:#fff;font:500 25px Georgia,serif}.v2-nav-row .primary-menu>.menu-item-has-children>a::after{display:none}.v2-header .submenu-toggle{display:grid;place-items:center;position:absolute;right:0;top:8px;width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:0}.v2-header .submenu-toggle::before{content:'+';font-size:24px}.v2-header .submenu-toggle[aria-expanded=true]::before{content:'−'}.v2-header .primary-menu .sub-menu{position:static;display:none;grid-template-columns:1fr;margin:0 0 18px;padding:0;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:none;opacity:1;visibility:visible;transform:none}.v2-header .primary-menu .sub-menu.is-open{display:block}.v2-header .sub-menu>li{border:0!important}.v2-header .sub-menu a{min-height:52px;padding:8px 16px}.v2-mega-intro{padding:20px!important}.v2-mega-intro strong{font-size:27px}.v2-mobile-contact{display:block}.v2-hero{min-height:690px;background-position:65% center}.v2-hero-inner{width:min(100% - 36px,1350px)}.v2-hero h1{font-size:clamp(4rem,15vw,6rem)}.v2-hero-copy{max-width:520px}.v2-pad{padding:100px 24px}.v2-clinic-layout{gap:55px}.v2-review-grid{display:grid!important;grid-template-columns:1fr 1fr}.v2-review-grid>.wp-block-column:last-child{grid-column:1/3}.v2-float-one{left:-55px}.v2-float-two{right:-70px}.v2-float-three{display:none}.v2-footer-top{grid-template-columns:1fr 1fr}.v2-footer-top>div:last-child{grid-column:auto}.v2-footer-brand{grid-column:1/3}}
@media(max-width:600px){.v2-logo{width:205px}.v2-hero{min-height:720px}.v2-hero h1{font-size:3.85rem}.v2-hero-copy{font-size:16px}.v2-hero .wp-block-buttons{display:block}.v2-hero .wp-block-button{margin:0 0 10px}.v2-pad{padding:82px 20px}.v2-intro h2,.v2-clinic h2,.v2-reviews h2{font-size:3.2rem}.v2-slider-shell{margin-top:48px}.v2-service-card{flex-basis:86vw}.v2-slider-arrow{display:none}.v2-clinic-facts p{grid-template-columns:1fr;gap:3px}.v2-review-grid{display:block!important}.v2-review-grid>.wp-block-column{margin-bottom:15px}.v2-review-grid>.wp-block-column:last-child{grid-column:auto}.v2-google-summary{justify-content:flex-start}.v2-ready{min-height:720px}.v2-ready h2{font-size:4rem}.v2-float{opacity:.38}.v2-float-one{width:140px;height:180px;top:6%}.v2-float-two{width:150px;height:120px;top:auto;bottom:7%}.v2-footer-top{grid-template-columns:1fr;padding-block:65px 45px}.v2-footer-brand{grid-column:auto}.v2-footer-top>div:last-child{grid-column:auto}.v2-footer-bottom{display:block}.v2-footer-bottom p+ p{margin-top:8px}}

/* v2 Gutenberg-safe hero and card wrappers */
.v2-home .entry-content>*{max-width:none!important;margin:0!important}.v2-hero{background:var(--v2-deep);overflow:hidden}.v2-hero::before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,49,37,.93) 0%,rgba(8,49,37,.69) 48%,rgba(8,49,37,.09) 100%);pointer-events:none}.v2-hero::after{z-index:1}.v2-hero-bg{position:absolute;inset:0;margin:0}.v2-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}.v2-clinic-card-copy{padding:28px 32px 32px}.v2-nav-row .primary-menu>li:last-child>a{border:0;padding:0;border-radius:0}

/* True viewport sections inside Gutenberg's constrained page canvas. */
.v2-home .entry-content>.v2-hero,.v2-home .entry-content>.v2-separator{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}.v2-home .entry-content>.v2-separator{display:block}

/* Break out even when the pattern is inserted into a normal constrained page. */
.ab-v2 .entry-content .v2-hero,.ab-v2 .entry-content .v2-separator{position:relative;left:50%;width:100vw!important;max-width:100vw!important;margin-left:-50vw!important;margin-right:-50vw!important}.ab-v2 .entry-content .v2-separator{display:block}.ab-v2 .entry-content .v2-hero{left:50%}

/* Hero media must fill the viewport-width group, not inherit content width. */
.ab-v2 .v2-hero>.v2-hero-bg{position:absolute!important;inset:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important}.ab-v2 .v2-hero>.v2-hero-bg img{display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover!important;object-position:center!important}.ab-v2 .v2-hero::before{z-index:2}.ab-v2 .v2-hero-inner{z-index:3}.ab-v2 .v2-hero-trust{z-index:4}

/* Reliable wave separator belongs to the hero, avoiding Gutenberg HTML width rules. */
.ab-v2 .v2-hero::after{content:''!important;position:absolute!important;z-index:5!important;left:0!important;right:0!important;bottom:-1px!important;top:auto!important;width:100%!important;height:86px!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 86' preserveAspectRatio='none'%3E%3Cpath fill='%23f4f0e6' d='M0 20C250 95 530 73 730 41C980 1 1190 11 1440 63V86H0Z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center bottom!important;background-size:100% 100%!important;pointer-events:none!important}.ab-v2 .v2-hero+.v2-separator-cream{display:none!important}
.ab-v2 .v2-hero-trust{bottom:96px}

/* v1-style compact dropdown, replacing the v2 mega menu. */
@media(min-width:901px){.v2-header .primary-menu>li{position:relative}.v2-header .primary-menu .sub-menu{position:absolute;top:calc(100% + 10px);left:50%;right:auto;display:block;width:auto;min-width:285px;padding:10px;border:1px solid rgba(16,45,37,.1);border-radius:16px;background:#fff;box-shadow:0 22px 55px rgba(16,45,37,.18);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.v2-header .primary-menu .sub-menu::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}.v2-header .menu-item-has-children:hover>.sub-menu,.v2-header .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.v2-header .sub-menu>li{border:0}.v2-header .sub-menu>li+li{border-top:1px solid rgba(16,45,37,.08)}.v2-header .sub-menu a{display:flex;justify-content:space-between;min-height:0;padding:11px 13px;border-radius:9px;color:var(--v2-ink);font-size:14px;white-space:nowrap}.v2-header .sub-menu a:hover,.v2-header .sub-menu a:focus{background:var(--v2-pale);color:var(--v2-ink)}.v2-nav-row .primary-menu>.menu-item-has-children>a::after{content:'';width:7px;height:7px;margin-left:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}.v2-nav-row .primary-menu>.menu-item-has-children:hover>a::after,.v2-nav-row .primary-menu>.menu-item-has-children:focus-within>a::after{transform:translateY(2px) rotate(225deg)}}

/* Track begins on the 1350px grid and then runs to the viewport's right edge. */
.v2-slider-shell{width:calc(100vw - max(24px,calc((100vw - 1350px)/2)))!important;max-width:none!important;margin-right:calc(-1 * max(24px,calc((100vw - 1350px)/2)))!important}.v2-service-track{padding-right:max(24px,calc((100vw - 1350px)/2))}
@media(max-width:900px){.v2-slider-shell{width:calc(100vw - 24px)!important;margin-right:-24px!important}.v2-service-track{padding-right:24px}}
@media(max-width:600px){.v2-slider-shell{width:calc(100vw - 20px)!important;margin-right:-20px!important}.v2-service-track{padding-right:20px}}

/* Keep controls on the content grid while only the card track overflows. */
.v2-slider-arrow{right:max(24px,calc((100vw - 1350px)/2))}.v2-slider-arrow.is-prev{right:calc(max(24px,calc((100vw - 1350px)/2)) + 52px)}

/* Remove inherited flow spacing above each card image. */
body.ab-v2 .v2-service-card>:first-child,body.ab-v2 .v2-service-card>.wp-block-image:first-child{margin-block-start:0!important;margin-top:0!important}.v2-service-card>.wp-block-image{padding-top:0!important}.v2-service-card>.wp-block-image img{vertical-align:top}
@media(max-width:900px){.v2-slider-arrow{right:24px}.v2-slider-arrow.is-prev{right:76px}}

/* Approved hero overlay and equal trust-item baseline. */
.ab-v2 .v2-hero::before{background:linear-gradient(90deg,rgba(8,49,37,.53) 0%,rgba(8,49,37,.49) 48%,rgba(8,49,37,.09) 100%)!important}.ab-v2 .v2-hero-trust{align-items:flex-start!important}.ab-v2 .v2-hero-trust>p,.ab-v2 .v2-hero-trust>p:first-child{margin:0!important;margin-block:0!important;align-self:flex-start!important}.ab-v2 .v2-hero-trust>p>strong:first-child,.ab-v2 .v2-hero-trust>p>span:first-child{margin-block-start:0!important}

/* Service slider controls align with the left edge of the content grid. */
.v2-slider-arrow,.v2-slider-arrow.is-prev{right:auto}.v2-slider-arrow.is-prev{left:0}.v2-slider-arrow.is-next{left:52px}
@media(max-width:900px){.v2-slider-arrow,.v2-slider-arrow.is-prev{right:auto}.v2-slider-arrow.is-prev{left:0}.v2-slider-arrow.is-next{left:52px}}

/* v2.0.8: header call action, reorder-safe separators and compact cards. */
.v2-book{gap:10px!important;padding:8px 18px 8px 9px!important;background:var(--ab-gold)!important;color:#fff!important;font:300 clamp(1rem,1vw,1.2rem)/1 Georgia,serif!important;font-weight:300!important}
.v2-book-icon{display:grid!important;place-items:center;width:34px!important;height:34px!important;flex:0 0 34px;border-radius:50%;background:var(--v2-deep)!important;color:#fff!important}
.v2-book-icon svg{display:block;width:17px;height:17px;fill:currentColor}
.v2-book-label{position:relative;top:-1px;display:inline!important;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;color:inherit!important;white-space:nowrap}

/* Each SVG bridges its adjacent sections. The reviews wave continues the cream
   services background and masks the top of the image-backed reviews section. */
.ab-v2 .entry-content>.v2-separator{height:85px!important;margin-block-start:-84px!important;margin-block-end:0!important}
.ab-v2 .entry-content>.v2-separator+.wp-block-group{margin-block-start:0!important}
.ab-v2 .entry-content>.v2-separator:has(+.v2-intro) path{fill:var(--v2-cream)!important}
.ab-v2 .entry-content>.v2-separator:has(+.v2-reviews){margin-block-start:0!important;margin-block-end:-85px!important;transform:scaleY(-1)}
.ab-v2 .entry-content>.v2-separator:has(+.v2-reviews) path{fill:var(--v2-cream)!important}
.ab-v2 .entry-content>.v2-separator:has(+.v2-clinic) path{fill:var(--v2-pale)!important}
.ab-v2 .entry-content>.v2-separator:has(+.v2-ready) path{fill:var(--v2-deep)!important}

/* Remove Gutenberg's injected flow gaps within cards, while retaining the
   deliberate spacing specified by the card design. */
.ab-v2 .v2-service-track{align-items:flex-start!important}
.ab-v2 .v2-service-track>.v2-service-card{margin-block-start:0!important;margin-top:0!important}
.ab-v2 .v2-service-card,.ab-v2 .v2-service-card [class*="is-layout-"]{--wp--style--block-gap:0!important}
.ab-v2 .v2-service-card>*{margin-block:0!important}
.ab-v2 .v2-card-body>*{margin-block:0!important}
.ab-v2 .v2-card-body h3{margin:15px 0 10px!important}
.ab-v2 .v2-card-link{margin-top:24px!important}

/* Desktop branding and one-pixel separator seam correction. */
@media(min-width:1101px){.ab-v2 .v2-logo{width:310px}}
.ab-v2 .entry-content>.v2-separator:has(+.v2-reviews){margin-block-start:-1px!important;margin-block-end:-84px!important}

/* Keep the original arrow text and give both controls exactly the same vertical
   geometry. This overrides Gutenberg's flow gap on the second HTML child. */
body.ab-v2 .v2-slider-shell>.v2-slider-arrow,
body.ab-v2 .v2-slider-shell>.v2-slider-arrow.is-prev,
body.ab-v2 .v2-slider-shell>.v2-slider-arrow.is-next{top:-55px!important;inset-block-start:-55px!important;bottom:auto!important;margin:0!important;margin-block:0!important;transform:none!important;display:flex;align-items:center;justify-content:center;padding:0!important;font:400 16px/1 Arial,sans-serif}
body.ab-v2 .v2-slider-shell>.v2-slider-arrow.is-prev{left:0!important;right:auto!important}
body.ab-v2 .v2-slider-shell>.v2-slider-arrow.is-next{left:52px!important;right:auto!important}
body.ab-v2 .v2-slider-arrow::before{content:none!important}

/* A scrolling element cannot reliably expose vertical overflow. Add internal
   shadow clearance instead, then offset it so card one keeps its grid line. */
.ab-v2 .v2-service-track{width:calc(100% + 20px);max-width:none;margin-left:-20px!important;padding:24px max(24px,calc((100vw - 1350px)/2)) 44px 20px!important}
@media(max-width:900px){.ab-v2 .v2-service-track{padding-right:24px!important}}
@media(max-width:600px){.ab-v2 .v2-service-track{width:calc(100% + 16px);margin-left:-16px!important;padding:20px 20px 40px 16px!important}}

/* v2.0.15: compact desktop header and updated brand colours. */
@media(min-width:901px){
  .ab-v2 .v2-nav-row{height:78px}
  .ab-v2 .v2-nav-row .primary-navigation{justify-self:end}
}
.ab-v2 .v2-nav-row .primary-menu>li>a{color:#075c3e}
.ab-v2 .v2-book{background:#0a3328!important}
.ab-v2 .v2-book-icon{background:#075c3e!important}
.ab-v2 .v2-service-card:hover{box-shadow:0 12px 28px rgba(16,45,37,.14)}
