:root{--ink:#403636;--rose:#b48f8e;--blush:#f0e1df;--paper:#fbf9f7;--line:#e6d9d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{color:#6b6060}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,5.7vw,78px);letter-spacing:-2px;margin:20px 0 25px}h2{font-size:clamp(32px,3.5vw,49px);margin:15px 0 24px}h3{font-size:27px}.wrap{max-width:1240px;margin:auto;padding:0 48px}.top{background:var(--blush);font-size:11px;text-transform:uppercase;letter-spacing:1.8px;padding:9px;text-align:center}header{background:#fffdfb;border-bottom:1px solid var(--line);position:relative;z-index:5}.head{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px}.logo{width:210px}.head nav{display:flex;gap:27px;font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--ink);color:white;padding:15px 24px;font-size:13px;border:1px solid var(--ink);cursor:pointer}.btn.light{background:transparent;color:var(--ink);border-color:#baa5a0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:#876866}.hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:640px}.hero-copy{padding:75px 6vw 70px max(48px,calc((100vw - 1144px)/2));align-self:center}.hero-copy p{max-width:440px}.hero-image{position:relative;background:#ead7d1;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover;min-height:560px}.image-label{position:absolute;bottom:26px;left:26px;right:26px;background:#fffdf5e8;padding:17px 23px;font-size:12px;display:flex;justify-content:space-between}.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:12px}.section{padding:85px 0}.intro{max-width:680px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tcard{padding:30px;border:1px solid var(--line);background:#fffdfa;transition:transform .2s,background .2s}.tcard:hover{transform:translateY(-5px);background:var(--blush)}.tcard p{font-size:14px}.arrow{display:block;font-size:12px;margin-top:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.portrait{width:100%;height:560px;object-fit:cover;object-position:top}.pink{background:var(--blush)}.dark{background:var(--ink);color:#fff}.dark p,.dark .eyebrow{color:#e9d6d0}.dark .btn{background:var(--blush);border-color:var(--blush);color:var(--ink)}.academy{height:470px;width:100%;object-fit:cover}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.step{border-top:1px solid var(--line);padding-top:25px}.number{font-family:Georgia;font-size:35px;color:var(--rose)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:500}details p{font-size:15px;max-width:780px}.pagehead{padding:65px 0 55px;background:var(--blush)}.pagehead p{max-width:650px}.breadcrumb{font-size:12px;margin-bottom:20px}.content{max-width:800px}.note{font-size:12px;border-left:2px solid var(--rose);padding-left:18px}.contactbox{padding:35px;border:1px solid var(--line)}.contactbox a{border-bottom:1px solid var(--rose)}footer{padding:55px 0 25px;background:#efe7e2}.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;font-size:13px}.foot nav{display:grid;gap:10px}.bottom{border-top:1px solid #d9cbc5;padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;font-size:11px}.menu{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;background:white;padding:15px;z-index:99}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8c6868;outline-offset:5px}.filter{width:100%;padding:16px;border:1px solid var(--line);background:white;font:inherit;margin:0 0 25px}.mobilecall{display:none}@media(max-width:850px){.wrap{padding:0 24px}.head{min-height:90px}.logo{width:175px}.head nav{display:none;position:absolute;top:90px;left:0;right:0;padding:25px;background:white;flex-direction:column}.head nav.open{display:flex}.head>.btn{display:none}.menu{display:block;border:1px solid var(--line);background:none;padding:10px;font:inherit}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 24px}.hero-image img{min-height:360px;height:400px}.trust{flex-wrap:wrap;font-size:11px}.section{padding:55px 0}.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:30px}.portrait{height:480px}.section-top{display:block}.steps{grid-template-columns:1fr;gap:10px}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}.mobilecall{display:block;position:fixed;bottom:12px;right:12px;background:var(--ink);color:white;padding:12px 20px;z-index:10;font-size:13px}.bottom{padding-bottom:45px}}@media(max-width:500px){.grid{grid-template-columns:1fr}.foot{grid-template-columns:1fr}.hero h1{font-size:48px}.top{font-size:9px;letter-spacing:1px}.academy{height:330px}}
.treatment-explainer{padding-bottom:15px}.content li,.course-list li{margin:10px 0;color:#6b6060}.course-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:65px;align-items:start}.course-summary{position:sticky;top:24px;background:#fffdfa}.course-price{font-family:'Playfair Display',Georgia,serif;font-size:35px;color:var(--ink);display:block;margin:14px 0}.course-summary .btn{width:100%;padding:14px}.course-list{padding-left:22px}.course-card{display:flex;flex-direction:column}.course-card .course-price{margin-top:auto}.course-card[hidden],.tcard[hidden]{display:none}@media(max-width:850px){.course-layout{grid-template-columns:1fr;gap:30px}.course-summary{position:static;grid-row:1}}
.payment-caption{font-size:12px;text-align:center}.payment-panel>p:not(.course-price){font-size:13px}.booking-name{font-size:29px;line-height:1.2}.payment-panel .note{margin-top:24px}.course-summary a.btn{border-bottom:1px solid var(--ink)}
.enquiry-form{max-width:950px;margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form label{display:block;font-size:14px}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{display:block;width:100%;padding:14px;margin:7px 0 20px;background:#fffdfa;border:1px solid #bca5a0;font:inherit;color:var(--ink)}.enquiry-form fieldset{border:1px solid #bca5a0;padding:22px;margin:12px 0 25px}.enquiry-form legend{padding:0 8px}.course-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.enquiry-form .course-choice{display:flex;align-items:flex-start;gap:12px}.course-choice input{margin-top:6px;width:18px;height:18px;accent-color:var(--rose)}.enquiry-form button:disabled{opacity:.6;cursor:not-allowed}.enquiry-form>.btn{margin:8px 10px 0 0}#enquiry-form{scroll-margin-top:20px}@media(max-width:650px){.form-grid,.course-choices{grid-template-columns:1fr}.enquiry-form fieldset{padding:15px}}
.cookie-banner[hidden]{display:none}.cookie-banner{position:fixed;bottom:18px;left:18px;right:18px;z-index:1000;max-width:1200px;margin:auto;padding:24px 28px;background:#fffdfb;color:var(--ink);border:1px solid #bca5a0;box-shadow:0 8px 40px #40363630;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.cookie-banner h2{font-size:26px;margin:8px 0}.cookie-banner p{font-size:13px;margin:8px 0;max-width:700px}.cookie-banner a,.cookie-dialog a{text-decoration:underline}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-actions .btn{font-family:inherit;font-size:12px;padding:12px 17px}.cookie-dialog{max-width:590px;width:calc(100% - 32px);max-height:85vh;overflow:auto;border:1px solid var(--rose);padding:30px;background:var(--paper);color:var(--ink)}.cookie-dialog::backdrop{background:#30292980}.cookie-dialog h2{font-size:32px;margin-top:0}.cookie-dialog p{font-size:14px}.cookie-category{border-top:1px solid var(--line);padding:17px 0 0;margin-top:18px}.cookie-settings{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0;text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:850px){.cookie-banner{grid-template-columns:1fr;gap:10px;bottom:10px;left:10px;right:10px;padding:18px}.cookie-actions{gap:8px}.cookie-actions .btn{flex:1;white-space:nowrap}}
a[href^="mailto:"]{overflow-wrap:anywhere}.enquiry-form .btn{max-width:100%}
