@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#111210;--paper:#eeeae4;--red:#ba2926;--muted:#babbb5;--line:#ffffff2b;--gutter:clamp(24px,6vw,96px);--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{font:400 16px/1.7 var(--body);color:var(--paper);background:var(--ink);margin:0}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}p{font-size:16px;line-height:1.75}h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance}h1{font-size:clamp(44px,6vw,88px);line-height:1.04;letter-spacing:-.055em}h2{font-size:clamp(32px,3.6vw,52px);line-height:1.12;letter-spacing:-.045em}h3{font-size:24px;line-height:1.25;letter-spacing:-.025em}.eyebrow,.number{font-size:12px;line-height:1.5;letter-spacing:.12em}.eyebrow{margin-bottom:24px}.eyebrow:before{width:22px;background:#e44b45}.number{color:#ed7973}.light .number{color:#a62823}.light .eyebrow,.experiences .eyebrow,.detail-gallery .eyebrow,.visit .eyebrow{color:#50524d}.fine-print,figcaption,.notice,.visit-note{font-size:13px!important;line-height:1.55!important}.fine-print{margin-top:22px;color:#b9bbb4}.button,.textlink,.back,.nav-cta{font-size:14px;line-height:1.4;letter-spacing:.015em;text-transform:none}.button{background:var(--red);min-height:50px;padding:16px 24px;display:inline-flex;gap:30px;align-items:center;justify-content:space-between;border:0}.button:hover{background:#98231f}.textlink{min-height:44px;align-items:center;margin-top:16px;padding-bottom:8px}.textlink:hover{color:#ee7972}.light .textlink:hover,.experiences .textlink:hover{color:#9e2823}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #e75e57;outline-offset:5px}
.skip-link{position:fixed;left:16px;top:10px;transform:translateY(-160%);z-index:100;padding:12px 18px;background:var(--paper);color:var(--ink)}.skip-link:focus{transform:none}
.site-header{height:88px;padding:16px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:30;background:var(--ink);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand img,.site-header .brand img{width:52px;height:36px;object-fit:contain}.brand span{font-size:13px;letter-spacing:.08em;font-weight:600;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2vw,30px);position:static;padding:0;background:none;font-size:14px;letter-spacing:0;text-transform:none}.site-header nav a{text-decoration:none;white-space:nowrap}.site-header nav a[aria-current]{color:#ef8a82}.site-header nav a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:6px}.site-header .nav-cta{display:inline-flex;padding:12px 17px;gap:20px;border:1px solid #999b92;min-height:44px}.site-header .menu{display:none}
.hero{min-height:620px;max-height:850px}.hero p{font-size:18px;line-height:1.7}.hero-copy p{max-width:430px}.hero h1{max-width:780px}.hero-bottom{font-size:12px;letter-spacing:.04em}.hero-copy{padding:30px var(--gutter)}.hero-copy .button{margin-top:22px}.hero-bottom{left:var(--gutter);right:var(--gutter)}
.intro,.membership,.visit,.section{padding:clamp(58px,6.5vw,96px) var(--gutter)}.intro{grid-template-columns:.9fr 1.3fr;gap:8%}.intro p:empty{display:none}.intro h2{font-size:clamp(34px,4vw,56px)}.intro p,.membership p,.coaching p{font-size:16px}.experiences,.detail-gallery{padding:72px var(--gutter)}.cards{gap:28px}.card h3{font-size:24px}.card p{font-size:16px;min-height:0;line-height:1.65}.card .number{font-size:12px;padding:7px 10px}.card .photo{aspect-ratio:4/3}.card .photo img{object-position:center}.card .textlink{margin-top:12px}.section-head{margin-bottom:34px}.coaching{max-width:none;padding:72px var(--gutter);gap:7%;grid-template-columns:1.08fr 1fr}.coaching .copy{padding:20px 0}.coaching h2{font-family:var(--display);font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1.1;letter-spacing:-.04em}.coaching .photo img{aspect-ratio:4/3;object-position:30% center}.coaching p{margin:24px 0}.membership{gap:7%;grid-template-columns:1fr 1.1fr}.membership p{max-width:470px}.term{padding:28px 0}.term h3{font-size:26px;white-space:nowrap}.term span{font-size:14px;line-height:1.5;max-width:180px}.term b{color:#ef7970}.training-pair{padding:40px var(--gutter) 64px;gap:24px;max-width:none}.training-pair img{aspect-ratio:3/2}
.recovery-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;padding:72px var(--gutter) 36px;align-items:center}.recovery-feature figure{margin:0}.recovery-feature img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:45% center}.recovery-feature figcaption{color:#b9bbb4;margin-top:14px}.recovery-feature p{max-width:430px;color:var(--muted)}.detail-gallery .gallery-grid{gap:24px}.detail-gallery figcaption{letter-spacing:.04em;margin-top:15px}.community-paths{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#30312c}.community-paths article{background:var(--ink)}.community-paths img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.community-paths article>div{padding:40px var(--gutter) 52px}.community-paths h2{font-size:38px}.community-paths p{color:var(--muted);max-width:440px}.community-paths .textlink{margin-top:6px}#our-roots{padding-top:64px;padding-bottom:64px}#our-roots h2{font-size:40px}#our-roots p{margin-top:0}.visit{grid-template-columns:1fr 1.1fr;gap:7%}.visit h2{font-size:clamp(42px,5vw,70px);letter-spacing:-.05em}.address{gap:28px}.address h4{font-size:13px;letter-spacing:.04em;margin-bottom:14px}.address p{font-size:15px;overflow-wrap:anywhere}.address a{border:0;text-decoration:underline;text-underline-offset:4px}
body:not([data-page="home"]) .hero{padding:60px var(--gutter);height:auto;min-height:580px;max-height:none}body:not([data-page="home"]) .hero>div{max-width:830px}body:not([data-page="home"]) .hero h1{max-width:850px}body:not([data-page="home"]) .hero p{max-width:550px}.split{gap:7%}.split p{max-width:540px}.grid{gap:36px;margin-top:36px}.grid article{padding-top:22px}.grid p{font-size:16px}.grid h3{margin:18px 0 14px}.section p{color:var(--muted)}.section.light p{color:#585b54}.section .button{margin-top:14px}.section.contact{padding-top:64px;padding-bottom:64px;border-top:1px solid var(--line)}.section.contact h2{margin:8px 0 20px}.section.contact .notice{margin-top:18px;max-width:600px}
body[data-page="pt"] .hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding-top:48px;padding-bottom:48px;align-items:center;background:#191a17;isolation:auto}body[data-page="pt"] .hero>img{position:static;order:2;width:100%;height:580px;object-fit:cover;object-position:44% center;z-index:auto}body[data-page="pt"] .hero>div{position:static;order:1}body[data-page="pt"] .hero:after{display:none}body[data-page="pt"] .hero h1{font-size:clamp(42px,4.8vw,68px);letter-spacing:-.05em}body[data-page="pt"] .hero p{font-size:17px}body[data-page="pt"] .hero .eyebrow{max-width:350px}.method-heading{display:grid;grid-template-columns:1fr 1.6fr;gap:6%;align-items:start;margin-bottom:40px}.method-heading .eyebrow{padding-top:10px}.method-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center}.method figure{margin:0}.method figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:45% center}.method figcaption{color:var(--muted);margin-top:12px}.method ol{list-style:none;padding:0;margin:0}.method li{border-top:1px solid var(--line);padding:26px 0}.method li:last-child{padding-bottom:0}.method h3{font-size:28px;margin:13px 0}.method p{margin:0;max-width:430px}.pt-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:6%;align-items:center;padding-top:54px;padding-bottom:54px}.pt-faq>img{width:100%;aspect-ratio:1/1;object-fit:cover}.pt-faq h2{font-size:36px;margin-bottom:20px}details{padding:17px 0;border-top:1px solid #62645a55}summary{font:500 17px/1.5 var(--body);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:32px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:23px;font-weight:400;color:#666}details[open] summary:after{content:"−"}details p{margin:12px 30px 0 0;font-size:15px!important;line-height:1.65;max-width:580px}
#personalised-app{grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center}#personalised-app h2{font-size:clamp(40px,4.8vw,66px)}#personalised-app p{max-width:430px}.app-visual{margin:0}.app-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.app-visual figcaption{font-size:13px;color:var(--muted);margin-top:14px}.pt-contact{background:#20211e}
.site-footer{padding:60px var(--gutter) 25px;background:#0d0e0c;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr 1.05fr;gap:30px}.site-footer h2{font:500 14px/1.5 var(--body);letter-spacing:.02em;margin:0 0 20px}.site-footer p,.site-footer a:not(.brand){font-size:14px;line-height:1.75;color:#c3c4bc}.site-footer p{margin:16px 0}.footer-grid>div>a:not(.brand){display:block;margin:5px 0;overflow-wrap:anywhere}.site-footer .brand span{font-size:12px}.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-enquire{padding-top:18px}.footer-base{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:space-between;padding-top:24px;margin-top:40px;border-top:1px solid var(--line);color:#a7a99e;font-size:12px}
.rotation-controls{gap:5px;bottom:10px;right:10px}.rotation-controls button{min-width:36px;min-height:36px;font-size:12px;border-color:#ffffff9c}.rotation-controls .rotation-toggle{padding:0 9px}.rotation-controls button[aria-pressed="true"]{background:#a82421}
@media(min-width:1800px){.site-header,.section,.intro,.membership,.visit,.experiences,.detail-gallery,.coaching,.recovery-feature,.site-footer{padding-left:max(var(--gutter),calc((100vw - 1536px)/2));padding-right:max(var(--gutter),calc((100vw - 1536px)/2))}}
@media(max-width:1100px){.site-header{height:80px}.site-header .brand span{font-size:12px}.site-header nav{gap:18px;font-size:13px}.site-header .nav-cta{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.cards{gap:20px}.card h3{font-size:21px}.term{gap:18px}.term h3{font-size:23px}.term span{font-size:14px}body[data-page="pt"] .hero>img{height:500px}.method-layout{gap:5%}.community-paths article>div{padding:34px 7% 44px}}
@media(max-width:900px){.site-header{height:76px;position:sticky;top:0}.site-header .menu{display:flex;align-items:center;gap:20px;border:1px solid #74786e;color:var(--paper);background:none;min-height:44px;padding:10px 14px;font-size:14px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#111210;border-bottom:1px solid #7e8175;padding:20px var(--gutter) 28px;flex-direction:column;align-items:stretch;gap:2px;font-size:16px}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0}.site-header nav .nav-cta{display:flex;margin-top:12px;padding:14px}.hero{min-height:600px;height:calc(88svh - 76px)}.hero h1{font-size:clamp(48px,7vw,72px)}.hero-bottom{gap:14px;flex-wrap:wrap}.intro{gap:6%;grid-template-columns:.7fr 1.3fr}.membership{grid-template-columns:1fr;gap:30px}.membership p{max-width:600px}.term span{max-width:none}.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;grid-column:1/-1;align-items:start}.cards .card:last-child .photo{grid-row:1/4}.cards .card:last-child h3{margin-top:0}.cards .card:last-child .textlink{justify-self:start}.coaching{grid-template-columns:1fr 1fr}.coaching h2{font-size:38px}.coaching .photo img{aspect-ratio:4/5}.recovery-feature{gap:6%}.recovery-feature img{aspect-ratio:4/5}.visit{grid-template-columns:1fr;gap:38px}.address{grid-template-columns:1fr 1fr}.detail-gallery .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-gallery img{aspect-ratio:4/3}.community-paths h2{font-size:32px}body[data-page="pt"] .hero{grid-template-columns:.95fr 1fr;gap:5%}body[data-page="pt"] .hero h1{font-size:44px}body[data-page="pt"] .hero>img{height:450px}.method-heading{grid-template-columns:1fr;gap:10px}.method-heading h2{max-width:650px}.method-heading .eyebrow{margin-bottom:0}.method-layout{grid-template-columns:1fr 1fr}.method h3{font-size:25px}.method li{padding:20px 0}.pt-faq{grid-template-columns:.65fr 1.35fr}.pt-faq>img{aspect-ratio:3/4}.grid{gap:24px}.grid h3{font-size:22px}#personalised-app{gap:5%;grid-template-columns:1fr 1fr}#personalised-app h2{font-size:44px}}
@media(max-width:600px){:root{--gutter:24px}h1{font-size:46px;letter-spacing:-.05em}h2{font-size:34px}h3{font-size:23px}.site-header .brand img{width:43px;height:32px}.brand span{font-size:12px}.hero{min-height:640px;height:calc(92svh - 76px);max-height:820px}.hero h1{font-size:clamp(46px,12vw,64px)}.hero>img{object-position:58% center}.hero:after{background:linear-gradient(0deg,#000d,transparent 95%),linear-gradient(90deg,#0007,transparent)}.hero-copy{align-self:end;padding:0 var(--gutter) 115px}.hero-copy p{max-width:300px;font-size:16px}.hero-copy .eyebrow{max-width:270px}.hero-bottom{font-size:12px;bottom:26px;line-height:1.5}.hero-bottom>a{display:none}.intro,.membership,.visit,.section,.experiences,.detail-gallery,.coaching{padding:54px var(--gutter)}.intro,.coaching,.recovery-feature{grid-template-columns:1fr;gap:26px}.intro .eyebrow{margin-bottom:0}.intro h2{font-size:36px}.section-head{gap:16px;margin-bottom:26px}.section-head .textlink{margin:0}.cards{grid-template-columns:1fr;gap:38px}.cards .card:last-child{display:block;grid-column:auto}.cards .card:last-child h3{margin-top:20px}.card .photo{aspect-ratio:3/2}.card h3{font-size:24px;margin:20px 0 10px}.card p{max-width:none;margin:0}.card .textlink{margin-top:15px}.coaching .photo img{aspect-ratio:4/3}.coaching .copy{padding:0}.coaching h2{font-size:38px}.coaching p{margin:20px 0}.membership{gap:26px}.term{display:grid;grid-template-columns:1fr auto;padding:21px 0;gap:7px 20px}.term h3{font-size:25px}.term span{grid-column:1;grid-row:2;font-size:15px}.term b{grid-column:2;grid-row:1/3}.recovery-feature{padding:54px var(--gutter) 20px}.recovery-feature img{aspect-ratio:4/3}.recovery-feature h2{font-size:38px}.training-pair{padding:25px var(--gutter) 44px;grid-template-columns:1fr 1fr;gap:12px}.training-pair img{aspect-ratio:3/4;object-fit:cover}.detail-gallery .gallery-grid{grid-template-columns:1fr;gap:28px;margin-top:26px}.detail-gallery img{aspect-ratio:3/2}.community-paths{grid-template-columns:1fr}.community-paths article>div{padding:30px var(--gutter) 42px}.community-paths h2{font-size:36px}.community-paths img{aspect-ratio:3/2}#our-roots{padding:48px var(--gutter)}#our-roots h2{font-size:36px}.visit h2{font-size:48px}.address{grid-template-columns:1fr 1fr;gap:22px}.address p{font-size:14px}.address h4{font-size:13px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.site-footer{padding:44px var(--gutter) 24px}.footer-base{flex-direction:column;margin-top:28px;gap:8px}.site-footer .brand span{font-size:13px}.button{font-size:14px;max-width:100%;gap:20px}.textlink{font-size:14px}
body:not([data-page="home"]) .hero{padding:46px var(--gutter);min-height:570px}.hero>div .eyebrow{font-size:12px}body[data-page="pt"] .hero{display:flex;flex-direction:column;padding:0;gap:0;min-height:0}body[data-page="pt"] .hero>div{padding:40px var(--gutter);order:1}body[data-page="pt"] .hero>img{order:2;max-height:370px;height:auto;aspect-ratio:4/3;object-position:center}body[data-page="pt"] .hero h1{font-size:46px}body[data-page="pt"] .hero p{font-size:16px}.split{grid-template-columns:1fr;gap:28px}.split img{order:initial}.method-heading{margin-bottom:28px}.method-layout{grid-template-columns:1fr;gap:30px}.method figure img{aspect-ratio:4/3}.method li{padding:23px 0}.method h3{font-size:27px}.pt-faq{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:26px}.pt-faq>img{aspect-ratio:16/9}.pt-faq h2{font-size:33px}.pt-faq details{padding:16px 0}.pt-faq summary{font-size:16px}.pt-faq p{margin-right:0}#personalised-app{grid-template-columns:1fr;gap:28px}#personalised-app h2{font-size:46px}.app-visual img{aspect-ratio:3/2}.grid{grid-template-columns:1fr;gap:22px}.grid article{padding-top:20px}.grid h3{margin:12px 0;font-size:26px}.section.contact{padding:44px var(--gutter)}body[data-page="careers"] .hero>img{object-position:52% center}body[data-page="corporate"] .hero h1{font-size:49px}.rotation-controls button{min-width:44px;min-height:44px}}
.card .photo{height:auto}.coaching .photo{height:auto}.detail-gallery img{height:auto}.training-pair img{height:auto}.recovery-feature img{height:auto}
body:not([data-page="home"]) .section img{height:auto}.method figure img,.pt-faq>img{height:auto}
.site-header{flex-direction:row}.coaching{min-height:0}.coaching .photo img{height:auto}
@media(max-width:600px){.address{grid-template-columns:1fr;gap:8px}.footer-grid>div:nth-child(3){grid-column:1/-1}.site-footer p{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Verified Google rating, supplied by the owner on 29 September 2026. */
.reviews-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.reviews-feature>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:32% center}.reviews-score{display:flex;align-items:center;gap:24px;margin:28px 0 4px}.reviews-score strong{font-size:64px;line-height:1;font-weight:400;letter-spacing:-.04em}.reviews-score strong>span{font-size:24px;color:#61615a;letter-spacing:0}.reviews-stars{position:relative;display:inline-block;color:#ccc8bf;font-size:27px;letter-spacing:3px;white-space:nowrap;line-height:1.2}.reviews-stars-fill{position:absolute;left:0;top:0;width:98%;overflow:hidden;color:#ad7300}.reviews-feature .reviews-count{margin:12px 0 22px;font-size:16px}.reviews-feature .reviews-date{font-size:12px;color:#65655e;margin-top:16px}@media(max-width:700px){.reviews-feature{grid-template-columns:1fr;gap:30px}.reviews-feature>img{aspect-ratio:3/2}.reviews-score{gap:18px}.reviews-score strong{font-size:56px}.reviews-stars{font-size:23px}}
