/* Additional service pages reuse the Modern clarity 1.1 foundation. */
.practice-areas{padding:16px 18px;margin:18px 0;background:var(--surface-soft);border-left:3px solid var(--action)}
.practice-areas h3{font-family:var(--font-body);font-size:13px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}
.practice-areas ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;padding:0;margin:0;list-style:none;font-size:15px;line-height:1.45}
.practice-areas li:before{content:'•';margin-right:8px;color:var(--action)}
.team-map-link{padding-bottom:20px}
.service-subnav{display:flex;flex-wrap:wrap;gap:8px 28px;padding-bottom:24px}
.service-subnav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:24px}
.support-grid:has(article:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.support-grid article{border-top:2px solid var(--action);padding-top:20px}
.support-number{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-soft);color:var(--action);width:36px;height:36px;border-radius:8px;font-size:13px;font-weight:700;margin-bottom:16px}
.support-grid h3{font-size:24px;line-height:1.2;margin-bottom:12px}
.support-grid p{font-size:17px}
.service-context{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.service-context h2{font-size:34px}.service-context>p{margin:0}
.service-start{background:var(--surface-inverse);color:var(--text-on-inverse);padding:30px 36px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.service-start h2{color:var(--text-on-inverse);font-size:30px;margin-bottom:10px}.service-start p{color:var(--text-muted-inverse);margin-bottom:6px}.service-start .btn{background:var(--color-paper);color:var(--color-plum);flex-shrink:0}.service-start .btn:hover{background:var(--brand-warm)}
.resource-note{padding-top:0}.resource-note h2{font:700 13px/1.4 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.resource-note p{font-size:15px;color:var(--text-muted);max-width:80ch}.resource-note a .icon{width:15px;height:15px;vertical-align:-3px;margin-left:5px}
.coverage-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:start}
.coverage-figure{margin:0;position:sticky;top:100px}.service-area-map{width:100%;height:auto;display:block;border:1px solid var(--border);border-radius:12px;font-family:var(--font-body)}
.map-water{fill:var(--surface-soft)}.map-island{fill:var(--surface-raised);stroke:var(--input-border);stroke-width:1.5;stroke-linejoin:round}
.map-island-label{fill:var(--text-muted);font-size:23px;font-weight:600;letter-spacing:1px}.map-ocean-label{fill:var(--text-muted);font-size:17px;font-style:italic}
.map-marker text{fill:var(--text);font-size:19px;font-weight:650;paint-order:stroke;stroke:var(--surface-soft);stroke-width:5px;stroke-linejoin:round}
.map-leader{fill:none;stroke:var(--action);stroke-width:1.5}.map-dot{fill:var(--action)}.map-halo{fill:var(--brand-warm);opacity:.8}.map-compass{stroke:var(--text-muted);stroke-width:1.5;fill:none}.map-compass text{stroke:none;fill:var(--text-muted);font-size:17px}
.coverage-figure figcaption{font-size:13px;line-height:1.5;color:var(--text-muted);padding:12px 0;max-width:66ch}
.coverage-regions article{padding:22px 0;border-top:2px solid var(--action)}.coverage-regions article+article{border-top:1px solid var(--border)}.coverage-regions article:first-child{padding-top:20px}.coverage-regions h2{font-size:27px;margin-bottom:12px}.coverage-regions p{font-size:16px}.coverage-regions a:not(.btn){display:inline-flex;min-height:36px;align-items:center}
.map-attribution{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);padding-bottom:28px}.map-attribution a{min-height:28px;display:flex;align-items:center}.map-attribution span{display:flex;align-items:center}
.draft-notice{display:flex;gap:14px;align-items:start;background:var(--warning-bg);color:var(--warning);padding:22px;border-radius:10px;margin-bottom:28px}.draft-notice .icon{margin-top:4px}.draft-notice p{margin-top:8px}
.draft-details{max-width:850px}.draft-details dl>div{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:18px 0;border-top:1px solid var(--border)}.draft-details dt{font-weight:600}.draft-details dd{margin:0;color:var(--text-muted)}
@media(max-width:1000px){.coverage-layout{gap:28px;grid-template-columns:1.15fr 1fr}.coverage-regions h2{font-size:24px}.service-context{gap:32px}.support-grid{gap:22px}.support-grid h3{font-size:22px}.service-start{padding:28px;display:block}.service-start .btn{margin-top:20px}}
@media(max-width:860px){.coverage-layout{grid-template-columns:1fr}.coverage-figure{position:static;max-width:760px}.coverage-regions{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.coverage-regions article:last-child{grid-column:1/-1}.support-grid{grid-template-columns:1fr}.support-grid article{display:grid;grid-template-columns:38px 1fr;gap:0 18px}.support-number{grid-row:1/3}.support-grid p{grid-column:2}.support-grid:has(article:nth-child(4)){grid-template-columns:1fr 1fr}.practice-areas ul{grid-template-columns:1fr}.service-context h2{font-size:30px}}
@media(max-width:640px){.service-subnav{gap:4px 22px;padding-bottom:20px}.service-context{grid-template-columns:1fr;gap:16px}.support-grid:has(article:nth-child(4)){grid-template-columns:1fr}.support-grid{gap:20px;margin-top:20px}.support-grid h3{font-size:24px}.service-start{padding:24px}.service-start .btn{max-width:100%;text-align:left}.coverage-regions{grid-template-columns:1fr}.coverage-regions article:last-child{grid-column:auto}.coverage-figure figcaption{font-size:13px}.map-marker text{font-size:28px}.map-island-label{font-size:28px}.map-ocean-label,.map-compass text{font-size:24px}.draft-details dl>div{grid-template-columns:1fr;gap:8px}}

.advisor-profile{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:center;padding-block:32px;border-top:1px solid var(--border);scroll-margin-top:120px}.advisor-profile .eyebrow,.advisor-profile h2{margin:0}.advisor-profile h2{font-size:32px}@media(max-width:860px){.advisor-profile{grid-template-columns:200px minmax(0,1fr);gap:28px}}@media(max-width:640px){.advisor-profile{grid-template-columns:1fr;gap:12px;padding-block:28px}.advisor-profile h2{font-size:30px}}

.advisor-profile{align-items:start}.advisor-copy{max-width:76ch}.advisor-copy>p{margin:16px 0 0}

/* The advisor portrait uses the same rounded rectangular frame as the team. */
.advisor-portrait{width:100%;height:320px;overflow:hidden;border-radius:var(--radius-card)}.advisor-photo{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.advisor-copy>.eyebrow{margin:0 0 12px}@media(max-width:860px){.advisor-portrait{height:280px}}@media(max-width:640px){.advisor-portrait{height:300px;max-width:320px;border-radius:14px}.advisor-photo{object-position:50% 25%}.advisor-profile{gap:22px}}

/* Counselling uses the established service and portrait components. */
.page-hero.counselling-hero{display:block;padding-bottom:20px}
.counselling-hero h1{max-width:none;text-wrap:balance}
.counselling-hero .lead{margin:16px 0 0;max-width:64ch}
.counselling-intro{padding-top:0}
.counselling-intro>p{max-width:68ch;margin:0 0 24px}
.counselling-feature{margin-bottom:40px}.counselling-feature h2{max-width:24ch}.counselling-areas article{display:flex;flex-direction:column;align-items:flex-start}.counselling-areas .text-link{margin-top:auto;font-size:14px}.counselling-practitioner{display:grid;grid-template-columns:220px minmax(0,650px);gap:40px;align-items:center}.counselling-practitioner .portrait-frame{aspect-ratio:4/5;border-radius:12px;overflow:hidden}.counselling-practitioner .person-photo{width:100%;height:100%;object-fit:cover}.intake-rate{font-size:20px}
@media(max-width:700px){.counselling-practitioner{grid-template-columns:1fr;gap:24px}.counselling-practitioner .portrait-frame{width:180px}.counselling-feature{margin-bottom:28px}}
@media(max-width:640px){.counselling-intro .actions{gap:16px 24px}}

/* Therapy assistants share a row, then stack on narrow screens. */
.therapy-assistants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;scroll-margin-top:120px}
@media(max-width:640px){.therapy-assistants{grid-template-columns:1fr}}

/* Clinician supplied detail extends the shared disclosure and ruled row patterns. */
.clinical-focus>h2{max-width:32ch}
.clinical-details{max-width:var(--measure);margin-top:var(--space-6)}
.clinical-details summary{padding-right:var(--space-12)}
.clinical-details summary h3{font-size:var(--title-3);margin:0;text-wrap:pretty}
.clinical-details details>div{padding-right:0}
.clinical-items section{padding-block:var(--space-6);border-top:1px solid var(--border)}
.clinical-items h4{font:700 var(--text-lg)/1.3 var(--font-display);margin:0 0 var(--space-3)}
.clinical-items p{margin:0;max-width:var(--measure)}
.bio-personal-divider{border:0;border-top:1px solid var(--border);margin:0 0 var(--space-6)}
.bio:has(.clinical-items) details>div>p{max-width:var(--measure)}
