:root{--ink:#183b31;--paper:#f5f2e9;--gold:#977b42;--line:#183b3126}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:#786035}a:focus-visible,button:focus-visible{outline:3px solid #9a7130;outline-offset:5px}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1,h2,h3,p,figure{margin:0 0 20px}h1{font-size:clamp(3rem,5.5vw,5.2rem);line-height:1.05;letter-spacing:-.04em}h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15;letter-spacing:-.025em}h3{font-size:1.6rem;line-height:1.2}header{padding:24px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{font-size:1.6rem;line-height:1.1;text-decoration:none}.brand span{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.14em;margin-top:9px}nav{display:flex;gap:25px;font-size:14px}nav a:last-child{font-weight:bold}main>section{padding:70px 6%}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.hero-copy{font-size:21px;line-height:1.5;max-width:560px}.hero p{max-width:600px}.hero .kicker{font-size:13px;letter-spacing:.08em;color:#6c644f;margin-bottom:25px}.hero figure{margin:0}.hero img{display:block;width:100%;height:440px;object-fit:cover;filter:grayscale(1);border-radius:2px}.hero figcaption{font-size:12px;margin-top:13px;color:#59665f}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:30px 0}.hero-actions>a:last-child{font-size:14px}.hero-role{font-size:13px;border-left:2px solid var(--gold);padding-left:15px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;background:var(--ink);color:white;text-decoration:none;border-radius:3px;font-size:14px;font-weight:bold;min-height:48px}.button:hover{background:#2f574a;color:white}.booking{background:#fffdf7;border-top:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:30px}.section-intro h2{max-width:660px}.section-intro p{margin-bottom:0}.section-intro>p{font-size:14px;flex-shrink:0}.clinic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.clinic{border:1px solid var(--line);padding:25px 22px;display:flex;flex-direction:column;transition:box-shadow .15s;background:var(--paper)}.clinic h3{margin-bottom:5px}.clinic-label{font-size:12px;min-height:20px;color:#58645c;margin-bottom:20px}.clinic .button{margin-bottom:22px}.clinic-details p{font-size:14px;min-height:92px;margin-bottom:15px}.phone{display:block;text-decoration:none;font-weight:bold;font-size:14px}.email{display:inline-block;font-size:13px;margin-top:9px}.booking-note{font-size:14px;padding:22px 25px;background:#eee9dc;border-left:3px solid var(--gold);margin-top:24px}.booking-note strong{display:block}.booking-note span{display:block;margin-top:8px;color:#526156}.map-section{margin-top:44px}.map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.map-heading h2{font-size:1.7rem}.map-heading p{font-size:13px}#clinic-map{height:330px;background:#e5e8df;z-index:0}.map-fallback{padding:25px}.map-info{display:flex;gap:20px;padding:15px 0;font-size:14px;min-height:65px}.care{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line)}.care ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.care li{border-bottom:1px solid var(--line);padding:15px 0;font-size:15px}.about{display:grid;grid-template-columns:230px 1fr;gap:60px;background:#e8ede7}.about img{width:230px;height:280px;object-fit:cover;filter:grayscale(1)}.about>div{max-width:760px}.information{display:grid;grid-template-columns:1fr 1.3fr;gap:25px 8%;background:#fffdf7}.information ol{padding-left:22px;margin:0}.information li{padding:0 0 20px 8px}.information>p{grid-column:2;font-size:14px;color:#526156}.referrals{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;background:var(--ink);color:var(--paper)}.referral-contact{border:1px solid #f5f2e93d;padding:30px}.referral-contact h3{font-size:1.4rem}.referral-contact>a{display:block;margin-bottom:10px;overflow-wrap:anywhere}.referral-contact p{font-size:14px}.referrals a:hover{color:#d9c496}footer{padding:35px 6%;font-size:13px}footer p{margin-bottom:10px}.copyright{margin-top:25px;font-size:12px}.skip-link{position:absolute;top:-100px;left:15px;z-index:1000;background:white;padding:15px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.clinic.map-active{box-shadow:0 0 0 2px var(--ink)}.clinic-marker{background:none;border:none}.clinic-marker span{display:flex;width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--ink);border:2px solid white;box-shadow:0 2px 7px #0004;font-size:0;align-items:center;justify-content:center}.clinic-marker span:after{content:'';width:8px;height:8px;border-radius:50%;background:white}.clinic-marker.active span{background:var(--gold)}.clinic-tooltip{font:13px Arial,sans-serif;color:var(--ink)}.leaflet-control-attribution{font-size:11px!important}
@media(min-width:1500px){header,main>section,footer{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}@media(max-width:1050px){nav{gap:16px}.hero{gap:5%}.hero img{height:370px}.clinic-grid{grid-template-columns:repeat(2,1fr)}.clinic-details p{min-height:70px}.care ul{grid-template-columns:1fr}.about{gap:35px}}
@media(max-width:700px){header{padding:20px 6%;display:block}.brand{font-size:1.5rem}nav{margin-top:22px;gap:18px;flex-wrap:wrap;font-size:13px}nav a{padding:4px 0}main>section{padding:44px 6%}.hero{grid-template-columns:1fr;gap:28px}.hero h1{font-size:3.25rem}.hero-copy{font-size:19px}.hero img{height:300px;object-position:center 35%}.hero-actions{gap:18px;margin:26px 0}.hero-role{margin:0}.hero figure{max-width:450px}.section-intro{display:block}.section-intro>p{margin-top:18px}.clinic-grid{grid-template-columns:1fr;gap:14px}.clinic{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:22px}.clinic h3{font-size:1.5rem}.clinic-label{grid-column:1;margin:0;min-height:0}.clinic .button{grid-column:2;grid-row:1/3;margin:0}.clinic-details{grid-column:1/-1;margin-top:16px}.clinic-details p{min-height:0;margin-bottom:8px}.phone,.email{font-size:14px}.booking-note{padding:20px}.map-heading{display:block}.map-info{display:block}.map-info strong,.map-info span{display:block}#clinic-map{height:290px}.care,.about,.information,.referrals{grid-template-columns:1fr;gap:26px}.care ul{grid-template-columns:1fr}.about img{width:150px;height:175px}.information>p{grid-column:1}.referral-contact{padding:24px}h2{font-size:2.25rem}}
@media(max-width:350px){.clinic{grid-template-columns:1fr}.clinic .button{grid-column:1;grid-row:3;margin-top:10px}.hero h1{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.clinic{transition:none}}

/* Readable clinical layout and prominent central enquiries. */
body{font-size:18px;line-height:1.65}
.contact-bar{padding:18px 6%;background:var(--ink);color:white;display:flex;gap:12px 28px;align-items:center;flex-wrap:wrap;font-size:18px;line-height:1.5}
.contact-bar strong{flex-basis:100%;font-weight:600}
.contact-bar a{overflow-wrap:anywhere}
.contact-bar .button{background:var(--paper);color:var(--ink);margin-left:auto}
.contact-bar a:hover{color:#e6d5b1}
.contact-bar .button:hover{background:#e6d5b1;color:var(--ink)}
header{padding-top:22px;padding-bottom:22px}
.brand span{font-size:13px;letter-spacing:.08em}
nav{font-size:17px;gap:22px}
nav a{min-height:44px;display:inline-flex;align-items:center}
main>section{padding-top:52px;padding-bottom:52px}
.hero{grid-template-columns:1.3fr 1fr;gap:7%;padding-top:44px;padding-bottom:44px}
.hero h1{font-size:clamp(2.8rem,4vw,4rem);margin-bottom:14px}
.hero-title{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.35;font-family:Georgia,'Times New Roman',serif;max-width:620px}
.qualifications{font-size:18px}
.hero img{height:350px}
.hero-actions>a:last-child{font-size:18px}
.button{font-size:18px;min-height:50px;padding:12px 20px}
.section-intro>p,.clinic-label,.clinic-details p,.phone,.email,.map-heading p,.map-info,.care li,.information>p,.referral-details p{font-size:18px}
.clinic-label{min-height:60px;margin-bottom:14px}
.clinic{padding:24px 20px}
.clinic-details p{min-height:115px}
.phone,.email{min-height:44px;line-height:1.5;padding:8px 0;margin:0}
.section-intro>p{flex-shrink:1}
.map-info{min-height:75px}
.care ul{grid-template-columns:1fr}
.about p{font-size:18px}
.referrals{grid-template-columns:1.3fr 1fr}
.referral-details{padding-left:30px;border-left:1px solid #f5f2e950}
footer{font-size:17px}.copyright{font-size:15px}
dialog{max-width:650px;width:calc(100% - 36px);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid var(--line);border-radius:5px;padding:32px;background:var(--paper);color:var(--ink);font:18px/1.6 Arial,Helvetica,sans-serif}
dialog h2{font-size:2rem}
dialog::backdrop{background:#10241ccc}
.dialog-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:25px;align-items:center}
.dialog-actions button{font:inherit;color:var(--ink);background:white;border:1px solid var(--ink);border-radius:3px;min-height:50px;padding:10px 20px;cursor:pointer}
dialog a{overflow-wrap:anywhere}
@media(min-width:1500px){.contact-bar{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}
@media(max-width:1200px){.clinic-grid{grid-template-columns:repeat(2,1fr)}.clinic-label{min-height:0}.clinic-details p{min-height:90px}}
@media(max-width:850px){header{display:block}nav{margin-top:16px;flex-wrap:wrap}.contact-bar .button{margin-left:0}.hero{gap:5%}.hero img{height:320px}}
@media(max-width:700px){.contact-bar{gap:8px;font-size:18px;padding:18px 6%}.contact-bar>*{flex-basis:100%}.contact-bar .button{flex-basis:auto;margin-top:8px}nav{font-size:17px;gap:8px 20px;margin-top:15px}.hero{grid-template-columns:1fr;gap:26px}.hero h1{font-size:2.8rem}.hero-title{font-size:1.65rem}.hero img{height:280px}.hero-actions>a:last-child{font-size:18px}main>section{padding-top:38px;padding-bottom:38px}.clinic-grid{grid-template-columns:1fr}.clinic{display:flex;align-items:stretch;gap:0}.clinic h3{font-size:1.7rem}.clinic-label{margin-bottom:16px;font-size:18px}.clinic .button{margin-bottom:12px}.clinic-details{margin-top:0}.clinic-details p{font-size:18px;min-height:0;margin-bottom:8px}.phone,.email{font-size:18px}.map-heading p{font-size:18px}.care,.about,.information,.referrals{grid-template-columns:1fr}.referral-details{border-left:0;border-top:1px solid #f5f2e950;padding:22px 0 0}dialog{padding:24px}.dialog-actions{display:grid}.dialog-actions .button{text-align:center}}

/* Professional archive: the original home opening stays intact. */
nav{flex-wrap:wrap;gap:8px 22px}header{align-items:flex-start}.brand{flex-shrink:0}
.page-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center;border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(2.8rem,5vw,4.8rem);max-width:950px}
.page-intro .large-copy{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.5;max-width:850px}
.page-intro.text-only{grid-template-columns:1fr;padding-top:80px;padding-bottom:65px}
.page-intro>div{max-width:900px}.page-intro img{width:100%;height:390px;object-fit:cover;filter:grayscale(1)}
.page-path{font-size:18px;color:#526156;border-bottom:1px solid var(--gold);display:inline-block;padding-bottom:8px;margin-bottom:30px}
.editorial-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:8%;border-bottom:1px solid var(--line)}
.editorial-grid h2{font-size:2.3rem;max-width:390px}.editorial-grid>div{min-width:0}
.tinted{background:#e8ede7}
.source-note,.record-type,.citation,.doi{font-size:17px;color:#46594e}.doi{overflow-wrap:anywhere}
.source-note a{overflow-wrap:anywhere}
.publication-list{padding-top:0;padding-bottom:20px}
.publication{display:grid;grid-template-columns:140px 1fr;gap:5%;padding:45px 0;border-bottom:1px solid var(--line)}
.publication>div:last-child{max-width:900px}.publication h2{font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.25}
.publication h2 a{text-decoration:none}.publication h2 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.publication-year{font:2.6rem/1.2 Georgia,serif;color:#786035;padding-top:8px}
.record-type{margin-bottom:12px}.text-link{display:inline-block;padding:10px 0;font-size:18px;font-weight:600}
.authority-links{background:#e8ede7}.authority-links>div:first-child{max-width:760px}
.authority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:35px}
.authority-link{display:flex;flex-direction:column;align-items:flex-start;position:relative;gap:20px;min-height:230px;padding:25px 0;text-decoration:none;border-top:1px solid var(--ink)}
.authority-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold);transform:scaleX(.15);transform-origin:left;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.authority-link:hover:after,.authority-link:focus-visible:after{transform:scaleX(1)}
.authority-link strong{font:1.8rem/1.25 Georgia,serif}.authority-link>span:last-child{margin-top:auto;font-size:28px}
.faq-section{max-width:1400px;margin:auto}.faq-section h2{margin-bottom:32px}
details{border-top:1px solid var(--line);padding:0}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-size:20px;font-weight:600;padding:22px 40px 22px 0;position:relative;list-style:none;min-height:64px}
summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:8px;top:19px;font:28px/1.2 Georgia,serif}
details[open] summary:after{content:"−"}details>div{max-width:900px;padding:0 30px 10px 0}
summary:focus-visible{outline:3px solid #9a7130;outline-offset:4px}details a{overflow-wrap:anywhere}
.closing-booking{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#e8ede7;border-top:1px solid var(--line)}
.closing-booking h2{font-size:2.2rem}.closing-booking p{margin:0}.closing-booking .button{flex-shrink:0}
.home-patient-link{border-top:1px solid var(--line)}
.will-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1)}
.will-reveal.in-view{opacity:1;transform:none}.authority-link:nth-child(2){transition-delay:.08s}.authority-link:nth-child(3){transition-delay:.16s}
@media(max-width:1050px){header{display:block}nav{margin-top:18px}.publication{grid-template-columns:100px 1fr}.authority-grid{gap:22px}.authority-link strong{font-size:1.55rem}}
@media(max-width:700px){.page-intro,.editorial-grid{grid-template-columns:1fr;gap:22px}.page-intro.text-only{padding-top:45px;padding-bottom:40px}.page-intro h1{font-size:2.8rem}.page-intro img{max-width:440px;height:300px}.page-path{margin-bottom:22px}.editorial-grid h2{font-size:2rem}.authority-grid{grid-template-columns:1fr;gap:0;margin-top:22px}.authority-link{min-height:170px;gap:14px}.authority-link strong{font-size:1.8rem}.authority-link>span:last-child{align-self:flex-end}.publication{grid-template-columns:1fr;gap:12px;padding:30px 0}.publication-year{font-size:2rem}.publication h2{font-size:1.8rem}.closing-booking{display:block}.closing-booking .button{margin-top:25px}summary{font-size:19px}details>div{padding-right:0}.source-note,.record-type,.citation,.doi{font-size:17px}}
@media(prefers-reduced-motion:reduce){.will-reveal,.will-reveal.in-view{opacity:1;transform:none;transition:none}.authority-link:after{transition:none}}
.research-graphic{margin:20px 0 0;max-width:900px;width:100%;border-top:1px solid var(--line);padding-top:24px}
.research-graphic svg{display:block;width:100%;height:auto}
.research-graphic circle{fill:var(--paper);stroke:var(--gold);stroke-width:1.2}
.research-graphic text{fill:var(--ink);text-anchor:middle;font:19px Arial,sans-serif}
.research-graphic .graphic-caption{font:17px Arial,sans-serif;fill:#526156}
.evidence-path{stroke:var(--gold);stroke-width:1.2;stroke-dasharray:1000;stroke-dashoffset:0;animation:trace-evidence 1.5s ease-out both}
@keyframes trace-evidence{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@media(max-width:700px){.research-graphic text{font-size:24px}.research-graphic .graphic-caption{font-size:22px}.research-graphic circle{r:64px}}
@media(prefers-reduced-motion:reduce){.evidence-path{animation:none;stroke-dashoffset:0}}


.clinic-address{font-style:normal;font-size:1.15rem;line-height:1.6;margin-bottom:20px}
