.demo-notice{display:flex;justify-content:center;gap:.5rem 1.5rem;flex-wrap:wrap;padding:.65rem 1rem;background:#eae3d7;color:#172c26;font-size:.78rem;text-align:center;border-bottom:1px solid #cec6b6}.demo-notice a{text-decoration:underline}.skip-link{position:fixed;top:-100px;left:1rem;z-index:999;background:#fff;color:#10302c;padding:1rem}.skip-link:focus{top:1rem}
.demo-button{font:inherit;font-weight:600;border:1px solid currentColor;color:inherit;background:transparent;padding:.75rem 1rem;cursor:pointer;min-height:44px}.demo-button:hover{background:#eae3d7;color:#172c26}.demo-button:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #bd6f38;outline-offset:4px}
.cookie-banner{position:fixed;z-index:850;left:1rem;right:1rem;bottom:1rem;max-width:900px;margin:auto;display:flex;gap:1.5rem;align-items:center;background:#fcfaf5;color:#172c26;border:1px solid #bdb5a5;box-shadow:0 8px 40px #0002;padding:1.4rem}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-family:var(--ff-body);font-size:1rem;font-weight:700;margin:0 0 .4rem}.cookie-banner p{font-size:.85rem;line-height:1.5}.cookie-actions{display:flex;gap:.65rem;flex:none}.privacy-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:1.5rem 1rem 0;font-size:.85rem}.privacy-links button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer;min-height:44px}.privacy-links a{align-self:center;text-decoration:underline}.privacy-copy{max-width:850px}.privacy-copy h2{font-size:1.6rem;margin:2rem 0 .8rem}.privacy-copy p{margin-bottom:1rem}.privacy-copy a{text-decoration:underline}.privacy-copy code{overflow-wrap:anywhere}.map-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1rem;min-height:350px;height:100%;padding:2rem;background:#eae3d7;color:#172c26}.map-placeholder p{font-size:1.05rem}.map-placeholder small{max-width:28em}.map-placeholder a{text-decoration:underline}.demo-fields{border:0;min-width:0;display:grid;gap:1.2rem;padding:0;margin:0}.demo-form-note{border-left:3px solid currentColor;padding:1rem;background:#eae3d7;color:#172c26}.form__success .demo-button{margin-top:1.5rem}.mmenu[inert]{visibility:hidden}.docrow__field{white-space:normal}.bookaside{min-width:0}main:focus{outline:none}
@media(max-width:700px){.cookie-banner{display:block;max-height:70dvh;overflow:auto}.cookie-actions{margin-top:1rem}.cookie-actions button{flex:1}.demo-notice{font-size:.7rem}.variant-switch{bottom:82px}.privacy-links{gap:.5rem 1rem}.docrow{grid-template-columns:35px 1fr}.docrow__spec,.docrow__field{grid-column:2;justify-self:start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Client content uses each variant's existing type and colour system. */
body{--client-accent:#1e4d4a;--client-tint:#eee9df;--client-line:#cfcfc3}
body[data-variant="B"]{--client-accent:#96743b;--client-tint:#eee6d7;--client-line:#d0c5b2}
[hidden]{display:none!important}
.clinic-bar{padding:1rem var(--gutter,5vw);display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--client-tint);border-bottom:1px solid var(--client-line)}
.clinic-bar__label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:.5rem}
.clinic-choices{display:flex;flex-wrap:wrap;gap:.4rem}.clinic-choices button{font:inherit;font-size:.85rem;min-height:44px;padding:.55rem .9rem;background:transparent;border:1px solid var(--client-line);color:inherit;cursor:pointer}.clinic-choices button[aria-pressed="true"]{background:var(--client-accent);border-color:var(--client-accent);color:#fff}.clinic-summary{font-size:.85rem;text-align:right}
.client-section{padding:clamp(3.5rem,7vw,7rem) var(--gutter,5vw);max-width:1600px;margin:auto}.client-section--tint{background:var(--client-tint);max-width:none}.client-section>h2{margin-bottom:2rem}.client-section>p:not(.kicker){max-width:850px;margin-bottom:1rem}.client-section .client-lead{font-size:clamp(1.1rem,2vw,1.5rem);max-width:950px}
.clinic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2rem;align-items:start}.clinic-card{border-top:2px solid var(--client-accent);padding:2rem 0 0;min-width:0}.clinic-card h3{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1.2rem}.clinic-address{margin-bottom:1rem}.clinic-phones{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-bottom:.7rem}.clinic-phones a{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:600}.clinic-email{display:inline-block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.clinic-card h4{font-family:var(--ff-body);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:2rem 0 1rem}.clinic-hours{max-width:470px;font-variant-numeric:tabular-nums}.clinic-hours>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--client-line);padding:.45rem 0}.clinic-hours dt,.clinic-hours dd{font-size:.95rem}.clinic-card .map-placeholder{margin-top:2rem;min-height:280px}.clinic-card iframe{margin-top:2rem;width:100%;height:320px;border:0}
.client-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;margin-top:2rem}.clinic-team>h2{font-size:2.2rem;padding:1.5rem 0;border-top:2px solid var(--client-accent)}.team-group-title{font-family:var(--ff-body);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;margin:1.5rem 0 .6rem}.person-row{display:flex;gap:1rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--client-line);min-width:0}.person-initials{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;background:var(--client-tint);font-family:var(--ff-display);font-size:1.1rem;color:var(--client-accent)}.person-row h4{font-family:var(--ff-display);font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:500;line-height:1.3}.person-row p{font-size:.85rem;margin-top:.3rem;line-height:1.5}
.clinic-services{margin-bottom:3rem}.service-line{display:grid;grid-template-columns:3rem 1fr;gap:1rem;border-top:1px solid var(--client-line);padding:1.6rem 0}.service-line>span{color:var(--client-accent);font-size:.8rem}.service-line h3{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:.6rem}.service-line p{max-width:720px}.service-bullets{padding-left:1.3rem;margin-top:1rem}.service-bullets li{margin:.6rem 0}.clinic-services>h2{margin-bottom:1rem;font-size:2.5rem}.client-band{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2.5rem;background:var(--client-tint);margin:2rem 0}.client-band h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:1rem}.client-band p{max-width:760px;margin:.7rem 0}.client-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0}.client-actions a{text-align:center;align-self:center}.client-content>p{margin-bottom:1.2rem;max-width:850px}.client-note{font-size:.9rem}.hero-clinic{margin:1.5rem 0}.hero-clinic h2{font-family:var(--ff-body);font-size:.85rem;margin-bottom:.6rem}.hero-clinic p{font-size:.8rem}.bookaside .clinic-grid{display:block}.bookaside .clinic-card{margin-bottom:2rem}.bookaside .clinic-card h3{font-size:1.5rem}.bookaside .clinic-phones a{font-size:1.2rem}.bookaside .clinic-hours{margin-top:0}.bookaside .clinic-hours>div{display:flex}.bookaside .clinic-hours dt,.bookaside .clinic-hours dd{font-size:.85rem}.bookaside .clinic-card h4{margin-top:1.2rem}.bookaside .clinic-email{font-size:.9rem}
.price-warning{border-left:3px solid var(--client-accent);padding:1.5rem 2rem;background:var(--client-tint);margin-bottom:2rem}.price-warning strong{font-size:1.1rem}.price-warning p{font-size:.95rem;margin-top:.8rem;max-width:1000px}.price-filters{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin:2rem 0 1rem}.price-filters label{display:block;font-size:.85rem;margin-bottom:.5rem}.price-filters input,.price-filters select{width:100%;min-width:0;font:inherit;padding:.9rem;border:1px solid var(--client-line);border-radius:0;background:transparent;color:inherit}.price-table-wrap{width:100%;margin-top:1rem}.price-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.95rem}.price-table caption{text-align:left;font-size:.85rem;margin-bottom:1rem}.price-table th,.price-table td{padding:1rem;border-bottom:1px solid var(--client-line);text-align:left;overflow-wrap:anywhere;vertical-align:top}.price-table thead{background:var(--client-tint)}.price-table thead th:first-child{width:50%}.price-table thead th:nth-child(2){width:20%}.price-table tbody th{font-weight:500}.price-amount{font-variant-numeric:tabular-nums}.price-note{font-size:.8rem}#price-count,#price-empty{font-size:.9rem;margin-top:1rem}
@media(min-width:901px){.client-team:has(>[hidden]){grid-template-columns:1fr}.client-team:has(>[hidden]) .people-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}}
@media(max-width:900px){.clinic-bar{display:block}.clinic-summary{text-align:left;margin-top:.8rem}.client-team,.clinic-grid{grid-template-columns:1fr}.client-band{display:block;padding:1.5rem}.clinic-team>h2{font-size:2rem}.clinic-grid{gap:2.5rem}.price-filters{grid-template-columns:1fr}.price-table th,.price-table td{padding:.8rem .4rem}.price-table thead th:first-child{width:45%}.price-table thead th:nth-child(2){width:24%}.price-table{font-size:.85rem}.price-note{font-size:.75rem}.price-warning{padding:1rem}.person-initials{width:36px;height:36px}.callbar__call{font-size:.75rem}.hero-clinic h2{font-size:.9rem}}
