*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fcf8fb;color:#44364b;font-family:Arial,sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-underline-offset:5px}a:hover{color:#84577d}a:focus-visible{outline:3px solid #9c5887;outline-offset:6px}header{max-width:1200px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e7dce9}.brand{text-decoration:none;font-family:Georgia,serif;font-size:24px}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase;margin-top:4px}nav{display:flex;gap:26px;font-size:14px;flex-wrap:wrap}nav a{text-decoration:none}nav a[aria-current=page]{border-bottom:1px solid}main{max-width:1200px;margin:auto}.hero{padding:85px 6% 90px;display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;font-weight:bold;color:#7a5b80}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.13;margin:20px 0}h1{font-size:clamp(42px,5.5vw,70px);letter-spacing:-2px}h2{font-size:clamp(32px,4vw,45px);letter-spacing:-1px}h3{font-size:27px}p{max-width:680px}.intro{font-size:19px;color:#695b70}.button{display:inline-block;background:#765781;color:#fff;padding:12px 23px;text-decoration:none;border-radius:3px;font-size:14px;margin:16px 12px 0 0}.button:hover{background:#60436b;color:white}.text-link{font-size:14px;display:inline-block;margin-top:16px}.hero-art{background:#eee2f0;border-radius:180px 180px 5px 5px;min-height:400px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:40px}.hero-art:before{content:'';position:absolute;width:260px;height:340px;border:1px solid #c6abc9;border-radius:50%;transform:rotate(30deg);left:30px;top:28px}.hero-art:after{content:'';position:absolute;width:200px;height:300px;border:1px solid #c6abc9;border-radius:50%;transform:rotate(-30deg);left:120px;top:40px}.art-text{position:relative;z-index:1;font-family:Georgia,serif;font-size:29px;line-height:1.3;max-width:250px;background:#eee2f0e6;padding:16px 0}.section{padding:65px 6%;border-top:1px solid #e7dce9}.split{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.services{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:35px}.service{padding-top:20px;border-top:2px solid #c5a8cb}.number{font-size:12px;color:#86698b}.soft{background:#f5eaf0}.qualifications{font-size:14px;color:#695b70;border-left:2px solid #c7a9cd;padding-left:20px;margin-top:25px}.contact{background:#eee3f2;padding:48px;border-radius:4px}.contact p{margin-bottom:8px}footer{max-width:1200px;margin:auto;padding:35px 6%;font-size:12px;color:#76657b;display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;background:white;z-index:5}.page-intro{padding:65px 6% 45px;max-width:950px}.page-intro h1{font-size:58px}.note{font-size:14px;color:#76657b}ul{padding-left:22px}li{margin:10px 0}@media(max-width:760px){header{align-items:flex-start;flex-direction:column;padding:22px 7%}nav{gap:20px}.hero{grid-template-columns:1fr;padding:45px 7%;gap:35px}.hero-art{min-height:230px;border-radius:120px 120px 4px 4px}.hero-art:before{top:-80px;left:50px}.hero-art:after{top:-60px;left:160px}.art-text{font-size:25px;max-width:300px}.split,.services{grid-template-columns:1fr;gap:25px}.section{padding:45px 7%}.page-intro{padding:40px 7%}.page-intro h1{font-size:43px}.contact{padding:25px}footer{flex-direction:column}h1{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-portrait{margin:0;background:#eee2f0;border-radius:180px 180px 12px 12px;overflow:hidden;align-self:center}.hero-portrait img{width:100%;height:auto;display:block}.hero-portrait figcaption{font-size:12px;letter-spacing:.5px;text-align:center;padding:15px 20px;color:#695b70;background:#f5eaf0}@media(max-width:760px){.hero-portrait{max-width:420px;width:100%;justify-self:center}}

.route-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px}.route-links a{padding:8px 0;font-size:16px;text-decoration:none;border-bottom:1px solid #c7a9cd}.fee-box{background:#f5eaf0;border-left:3px solid #b38bbf;padding:22px 26px;margin:28px 0}.fee-box h3{font-size:23px;margin-top:0}.fee-box p{font-size:16px}.steps{list-style:none;counter-reset:stage;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0}.steps li{counter-increment:stage;border-top:2px solid #c7a9cd;padding-top:18px}.steps li:before{content:'0' counter(stage);font-size:12px;letter-spacing:2px;color:#765781}.steps h3{font-size:24px}.steps p{font-size:16px}@media(max-width:760px){.steps{grid-template-columns:1fr;gap:10px}nav{gap:18px;font-size:13px}.hero{padding-top:35px}.hero h1{font-size:42px}}

/* A personal introduction on service and enquiry pages. */
.page-intro-visual{max-width:none;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:55px;align-items:center}
.page-portrait{margin:0;padding:18px 18px 0;background:#f2e6ef;border-radius:140px 140px 12px 12px;max-width:320px;justify-self:end;box-shadow:14px 14px 0 #ece3f2}
.page-portrait img{display:block;width:100%;height:auto;border-radius:125px 125px 5px 5px}
.page-portrait figcaption{text-align:center;padding:15px 4px;font-family:Georgia,serif;font-size:18px;line-height:1.4}
.page-portrait figcaption span{font:11px Arial,sans-serif;color:#695b70}
@media(max-width:760px){.page-intro-visual{grid-template-columns:minmax(0,1fr) 145px;gap:22px;padding-bottom:40px}.page-intro-visual h1{font-size:35px;letter-spacing:-1px}.page-intro-visual .intro{font-size:17px}.page-portrait{padding:8px 8px 0;box-shadow:7px 7px 0 #ece3f2}.page-portrait figcaption{font-size:14px;padding:10px 0}.page-portrait figcaption span{font-size:10px}}
@media(max-width:480px){.page-intro-visual{grid-template-columns:1fr;gap:22px}.page-portrait{grid-row:1;justify-self:start;max-width:165px}.page-portrait figcaption{display:none}.page-portrait{padding-bottom:8px}.page-intro-visual h1{font-size:37px}}

.assessment-portrait{padding-bottom:18px}.assessment-portrait img{aspect-ratio:3/4;object-fit:cover;object-position:center 28%}@media(max-width:760px){.assessment-portrait{padding-bottom:8px}}

.direct-contact{background:#f5eaf0}.email-status{display:inline-block;border:1px solid #c7a9cd;border-radius:4px;padding:12px 20px;color:#695b70;font-size:16px}

.hero-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center top}

.contact-portrait img{aspect-ratio:1/1.12;object-fit:cover;object-position:50% 19%;width:100%;height:auto;transform:scale(1.65);transform-origin:52% 24%}.contact-portrait{overflow:hidden}.contact-portrait figcaption{position:relative;background:#f2e6ef;z-index:1}

.contact-portrait .portrait-crop{overflow:hidden;border-radius:125px 125px 5px 5px;aspect-ratio:1/1.12}.contact-portrait .portrait-crop img{border-radius:0}.contact-portrait figcaption{background:transparent}

.contact-portrait .portrait-crop img{transform:scale(1.4);transform-origin:52% 0%;object-position:center top}

.contact-portrait .portrait-crop img{transform:translateY(-9%) scale(1.4)}

.qualifications h3{font-size:25px;line-height:1.25;color:#44364b}.credential-list,.membership-list{list-style:none;padding:0}.credential-list li{margin:20px 0}.credential-list strong{font-weight:600;color:#44364b}.qualifications h4{font-size:14px;margin:27px 0 10px;color:#44364b}.membership-list li{margin:6px 0}

.service-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.service-overview h2{font-size:27px;letter-spacing:0}.service-overview p{font-size:16px}.service-overview a{font-size:14px}
#children .assessment-portrait{margin-top:30px;max-width:260px;justify-self:start}
@media(max-width:760px){.service-overview{grid-template-columns:1fr}.hero{grid-template-columns:minmax(0,1fr) 145px;gap:18px 22px;align-items:center}.hero-copy{display:contents}.hero-copy .eyebrow{grid-column:1/-1;grid-row:1}.hero-copy h1{grid-column:1;grid-row:2;font-size:34px;margin:8px 0}.hero-portrait{grid-column:2;grid-row:2;max-width:145px;border-radius:85px 85px 5px 5px}.hero-portrait figcaption{display:none}.hero-copy .intro{grid-column:1/-1;grid-row:3;font-size:17px;margin:6px 0}.hero-copy .route-links{grid-column:1/-1;grid-row:4;margin-top:0;gap:4px}#children .assessment-portrait{max-width:210px;margin:20px 0 10px}}
@media(max-width:420px){.hero{grid-template-columns:minmax(0,1fr) 110px;gap:16px}.hero-copy h1{font-size:28px}.hero-portrait{max-width:110px}}

/* Shared finishing pass: readable headings, usable targets, consistent small-screen openings. */
nav a{padding:7px 0}.button{max-width:100%;text-align:center}.route-links a{min-height:44px;display:flex;align-items:center}.page-intro-copy .text-link{padding:7px 0}.page-intro-visual h1{font-size:clamp(36px,4.5vw,56px)}.hero h1{font-size:clamp(40px,5vw,64px)}.page-intro-copy,.hero-copy,.split>div{min-width:0}.page-portrait figcaption span{display:block;margin-top:4px}.contact a{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1000px){header{align-items:flex-start;flex-direction:column;gap:12px}.hero{gap:35px}.page-intro-visual{gap:30px}.split{gap:35px}.service-overview{gap:20px}}
@media(max-width:760px){.hero h1{font-size:34px}.page-intro-visual{grid-template-columns:minmax(0,1fr) 145px;gap:18px 22px}.page-intro-copy{display:contents}.page-intro-copy .eyebrow{grid-column:1/-1;grid-row:1}.page-intro-copy h1{grid-column:1;grid-row:2;font-size:33px;margin:8px 0}.page-intro-visual>.page-portrait{grid-column:2;grid-row:2;justify-self:end;max-width:145px;width:100%}.page-intro-visual>.page-portrait figcaption{display:none}.page-intro-visual>.page-portrait{padding-bottom:8px}.page-intro-copy .intro{grid-column:1/-1;grid-row:3;margin:6px 0}.page-intro-copy .text-link{grid-column:1/-1;margin-top:0}.page-intro-copy .text-link:first-of-type{grid-row:4}.page-intro-copy .text-link:last-of-type{grid-row:5}.hero,.page-intro-visual{padding-top:30px;padding-bottom:35px}.services{margin-top:12px}}
@media(max-width:420px){.hero,.page-intro-visual{grid-template-columns:minmax(0,1fr) 110px;gap:14px}.hero h1,.page-intro-copy h1{font-size:28px}.page-intro-visual>.page-portrait,.hero-portrait{max-width:110px}.brand{font-size:23px}.brand small{font-size:9px;letter-spacing:2px}nav{gap:17px}.qualifications h3{font-size:23px}.section{padding-top:35px;padding-bottom:35px}}

.page-portrait.service-illustration{padding:8px;overflow:hidden}.service-illustration img{aspect-ratio:1/1.12;object-fit:cover;border-radius:130px 130px 6px 6px}.therapy-illustration img{object-position:center 85%}.assessment-illustration img{object-position:center 60%}

.illustrated-portrait .portrait-crop{overflow:hidden;border-radius:125px 125px 5px 5px}.illustrated-portrait img{display:block;width:100%;height:auto}

/* Match service illustration frames, with a closer portrait crop. */
.page-portrait.illustrated-portrait{padding:8px;overflow:hidden}.illustrated-portrait .portrait-crop{aspect-ratio:1/1.12;overflow:hidden;border-radius:130px 130px 6px 6px}.illustrated-portrait .portrait-crop img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.3);transform-origin:50% 17%;border-radius:0}

/* Identical outer and inner frame geometry across all three service pages. */
.page-intro-visual > .page-portrait.service-illustration,
.page-intro-visual > .page-portrait.illustrated-portrait{width:100%;max-width:320px;padding:8px;box-sizing:border-box;border-radius:140px 140px 12px 12px;background:#f2e6ef;box-shadow:14px 14px 0 #ece3f2;overflow:hidden}
.service-illustration > img,
.illustrated-portrait > .portrait-crop{display:block;width:100%;aspect-ratio:1 / 1.12;height:auto;border-radius:130px 130px 6px 6px;overflow:hidden}
.illustrated-portrait > .portrait-crop{position:relative}
.illustrated-portrait > .portrait-crop > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.3);transform-origin:50% 17%;border-radius:0}
.page-intro-visual > .illustrated-portrait figcaption{display:none}
@media(max-width:760px){.page-intro-visual > .page-portrait.service-illustration,.page-intro-visual > .page-portrait.illustrated-portrait{max-width:145px;box-shadow:7px 7px 0 #ece3f2}}
@media(max-width:420px){.page-intro-visual > .page-portrait.service-illustration,.page-intro-visual > .page-portrait.illustrated-portrait{max-width:110px}}

/* More compact page openings. */
header{padding-top:20px;padding-bottom:18px}
.hero{padding-top:48px}
.page-intro{padding-top:38px}
@media(max-width:760px){header{padding-top:16px;padding-bottom:12px;gap:12px}.hero,.page-intro-visual{padding-top:20px;row-gap:12px}.hero-copy .eyebrow,.page-intro-copy .eyebrow{margin:0}}

/* Version 2: clearer hierarchy and a single service selector. */
nav{font-size:15px;gap:24px}nav a{min-height:44px;display:flex;align-items:center;padding:8px 0}
.eyebrow{font-size:12px;letter-spacing:1.6px}.brand small{letter-spacing:1.8px}
.section h2{font-size:32px;line-height:1.2;letter-spacing:-.5px}.section h3{font-size:24px;line-height:1.25}
.section{padding-top:48px;padding-bottom:48px}.section p:first-child{margin-top:0}
.service-selector{gap:0;width:100%;margin-top:24px;border-top:1px solid #dfd2e2}
.service-selector a{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:15px 2px;border-bottom:1px solid #dfd2e2;text-decoration:none;transition:background .15s ease}
.service-selector a:hover{background:#f4ebf3}.service-selector strong{font-family:Georgia,serif;font-size:21px;font-weight:normal;line-height:1.25;display:block}.service-selector small{display:block;font-size:14px;color:#695b70;line-height:1.45;margin-top:5px}.service-selector a>span:last-child{font-size:22px;color:#765781}
.page-intro-visual>.page-portrait.service-illustration,.page-intro-visual>.page-portrait.illustrated-portrait{box-shadow:5px 5px 0 #ece3f2}
.service-illustration>.artwork-crop{aspect-ratio:1 / 1.12;width:100%;overflow:hidden;border-radius:130px 130px 6px 6px;position:relative}
.service-illustration>.artwork-crop>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.therapy-illustration .artwork-crop img{object-position:center 85%;transform:scale(1.18);transform-origin:50% 80%}
.assessment-illustration .artwork-crop img{object-position:center 65%;transform:scale(1.1);transform-origin:50% 65%}
#children .assessment-portrait{box-shadow:5px 5px 0 #ece3f2}
@media(max-width:760px){nav{font-size:14px;gap:24px}.section{padding-top:35px;padding-bottom:35px}.section h2{font-size:28px}.hero-copy .service-selector{margin-top:8px}.service-selector a{padding:13px 2px}.service-selector strong{font-size:20px}.page-intro-visual>.page-portrait.service-illustration,.page-intro-visual>.page-portrait.illustrated-portrait{box-shadow:5px 5px 0 #ece3f2}#children>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px 24px;align-items:center}#children>div:first-child>.eyebrow{grid-column:1/-1}#children>div:first-child>h2{margin:0;grid-row:2;grid-column:1}#children .assessment-portrait{grid-row:2;grid-column:2;margin:0;width:100%;max-width:150px;justify-self:end}}
@media(max-width:420px){nav{gap:20px;font-size:13px}.eyebrow{font-size:11px;letter-spacing:1.5px}.section h2{font-size:26px}#children>div:first-child{grid-template-columns:minmax(0,1fr) 110px;gap:12px 16px}.service-selector small{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-selector a{transition:none}}

/* Keep the complete service illustrations visible inside the shared frames. */
.service-illustration>.artwork-crop>img{object-fit:contain;object-position:center;transform:none;background:#fcf8fb}

/* Slightly tighter chairs composition without changing the assessment artwork. */
.therapy-illustration>.artwork-crop>img{transform:scale(1.08);transform-origin:50% 72%}

.portrait-link{display:block}.portrait-link:focus-visible{outline:3px solid #765781;outline-offset:-4px}

/* Frame the homepage portrait in the same blush surround as the service pages. */
.hero-portrait{padding:8px;background:#f2e6ef;box-shadow:5px 5px 0 #ece3f2}
.hero-portrait .portrait-link{border-radius:172px 172px 6px 6px;overflow:hidden}
.hero-portrait figcaption{background:transparent;padding:15px 12px 7px}
@media(max-width:760px){.hero-portrait .portrait-link{border-radius:77px 77px 3px 3px}}

/* Fill the assessment frame horizontally with a modest centred crop. */
.assessment-illustration>.artwork-crop>img{object-fit:cover;object-position:center;transform:none}
