/* Page composition only; existing tokens, modes, motion and editorial insets. */
.coaching-section {padding-block:var(--section-space)}
.coaching-editorial {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(45px,6vw,90px);max-width:1260px}
.coaching-editorial>*,.appointment>* {min-width:0}
.coaching-editorial h2 {font-size:clamp(36px,4vw,57px);line-height:1.13;max-width:17ch;margin-top:24px}
.coaching-prose {font-size:19px;line-height:1.85;display:flow-root}
.coaching-prose>p {margin:0 0 1.35em}
.coaching-prose h3 {font:600 27px/1.3 var(--serif);margin:32px 0 18px}
.coaching-invitation {font:600 26px/1.4 var(--serif);margin-top:26px}
.coaching-intro .intro-footnote {font-size:14px;line-height:1.7;margin-top:20px;max-width:34em}
/* Two quiet editorial placements; headings and actions remain real HTML. */
.coaching-image {margin:0;min-width:0}
.coaching-image img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--photo-surface)}
.coaching-image figcaption {margin-top:10px;font-size:12px;line-height:1.5;letter-spacing:.02em;text-align:right;color:var(--muted)}
.coaching-intro .coaching-image figcaption {color:var(--intro-muted)}
.coaching-intro .intro-grid>.coaching-image {grid-column:1;grid-row:2;align-self:center}
.coaching-intro .intro-grid>.coaching-proposition {grid-column:2;grid-row:2;align-self:center;min-width:0}
:root[data-presentation=restorative] .coaching-intro .intro-grid>h1 {grid-column:1/-1;grid-row:1}
:root[data-presentation=restorative] .coaching-intro .intro-grid>.coaching-proposition {grid-column:2;grid-row:2}
.coaching-process .coaching-process-heading {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--grid-gap);align-items:center;max-width:none}
.coaching-process-heading>div {min-width:0}
.coaching-process-heading h2 {margin-bottom:0}
.coaching-reading .editorial-callout {float:right;width:42%;max-width:285px;margin:8px 0 22px 28px}
.coaching-reading .editorial-callout-image {float:none;width:100%;max-width:260px;height:auto;max-height:none;object-fit:contain;margin:0 0 14px}
.coaching-work {background:var(--surface)}
.coaching-section-heading {max-width:900px;margin-bottom:55px}
.coaching-section-heading h2 {font-size:clamp(40px,4.8vw,68px);line-height:1.1;margin:26px 0}
.coaching-section-heading>p:last-child {font-size:19px;line-height:1.75;max-width:40em}
.coaching-steps {list-style:none;max-width:1050px;padding:0;margin:0 auto}
.coaching-steps li {display:grid;grid-template-columns:50px 1fr;gap:28px;border-top:1px solid var(--line);padding:28px 0}
.coaching-steps li>span {padding-top:8px;font-size:13px;color:var(--accent)}
.coaching-steps h3 {font:600 30px/1.25 var(--serif);margin:0 0 12px}
.coaching-steps p {font-size:18px;line-height:1.8;max-width:42em;margin:0}
.coaching-fees {background:linear-gradient(145deg,var(--fees-start),var(--fees-end));color:var(--cinema-ink);--ink:var(--cinema-ink);--muted:var(--cinema-muted);--accent:var(--cinema-accent);--line:var(--cinema-line)}
.appointment {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:clamp(40px,6vw,90px);padding:40px 0;border-top:1px solid var(--line)}
.appointment h3 {font:600 clamp(30px,3.2vw,44px)/1.15 var(--serif);margin:20px 0;max-width:22ch}
.appointment p:not(.eyebrow) {line-height:1.75}
.appointment-details {font-size:14px;color:var(--muted)}
.appointment-fee {padding-top:15px}
.appointment-fee .international-fee {font:600 40px/1.3 var(--serif);margin:0 0 18px;color:var(--accent)}
.international-fee>span {display:block;font:400 14px/1.5 var(--sans);color:var(--muted);margin-bottom:8px}
.resident-fee {font-size:17px;max-width:22em}
.resident-fee strong {white-space:nowrap}
.regional-note {border-top:1px solid var(--line);padding-top:30px;max-width:850px;margin-left:auto;font-size:17px;line-height:1.8}
.regional-note .text-link {margin-top:18px}
.coaching-location {background:var(--surface)}
.coaching-know .coaching-prose {font-size:17px}
.coaching-know .coaching-prose h3 {font-size:25px}
.coaching-page #scope,.coaching-page #fees,.coaching-page #enquire {scroll-margin-top:110px}
.coaching-page #enquire:focus {outline:none}
.coaching-page .enquiry-section {background:var(--paper)}
.coaching-enquiry h3 {font:600 30px/1.3 var(--serif);margin-top:0}
.enquiry-gate {font-size:15px;line-height:1.7;border-left:2px solid var(--accent);padding:12px 0 12px 18px;margin:24px 0 32px}
.enquiry-fields {display:grid;grid-template-columns:1fr 1fr;gap:24px 22px}
.enquiry-field {min-width:0}.enquiry-field-wide {grid-column:1/-1}
.enquiry-field label {display:block;font-size:16px;line-height:1.5;font-weight:600;margin-bottom:9px}
.field-required {font-size:12px;font-weight:400;color:var(--muted)}
.enquiry-field input,.enquiry-field select,.enquiry-field textarea {display:block;box-sizing:border-box;width:100%;min-height:48px;border:1px solid var(--line);border-radius:0;padding:13px 12px;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans)}
.enquiry-field textarea {resize:vertical;min-height:100px}
.enquiry-field :is(input,textarea)::placeholder {color:var(--muted);opacity:1}
.enquiry-field .field-help {font-size:14px;line-height:1.6;margin:0 0 10px;color:var(--muted)}
.enquiry-field .field-error {font-size:14px;line-height:1.5;display:block;margin-top:7px;min-height:0;color:var(--ink);font-weight:600}
.enquiry-field [aria-invalid=true] {border:2px solid var(--accent)}
.enquiry-actions {display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;align-items:center}
.enquiry-unavailable {background:transparent!important;color:var(--muted)!important;border:1px solid var(--line)!important;cursor:not-allowed}
.coaching-enquiry .form-status,.contact-safety-note {font-size:15px;line-height:1.7}
.enquiry-verification {margin-top:24px;max-width:100%}
.enquiry-verification p {font-size:14px;line-height:1.6}
.enquiry-verification button {min-height:44px}
.coaching-enquiry .form-status:focus {outline:2px solid var(--accent);outline-offset:6px}
.coaching-enquiry [data-enquiry-privacy] {font-size:14px;line-height:1.7;margin-top:24px}
.coaching-enquiry [hidden] {display:none!important}
.coaching-closing {max-width:900px;text-align:center;margin-top:80px;padding-top:40px;border-top:1px solid var(--line)}
.coaching-closing>p {font:600 clamp(27px,3vw,38px)/1.35 var(--serif)}
:root[data-presentation=restorative] .coaching-editorial h2 {font-size:clamp(34px,3.3vw,46px)}
:root[data-presentation=restorative] .coaching-section-heading h2 {font-size:clamp(38px,4vw,56px)}
:root[data-presentation=restorative] .coaching-fees {margin-inline:var(--page-gutter);background:var(--paper);color:var(--ink);--ink:inherit;--muted:inherit;--accent:inherit;--line:inherit;border:1px solid var(--line)}
:root[data-presentation=restorative] .coaching-fees>.container {padding-inline:clamp(24px,5vw,70px)}
:root[data-presentation=restorative] .coaching-work,:root[data-presentation=restorative] .coaching-location {background:var(--bg)}
:root[data-presentation=restorative] .coaching-page .enquiry-section {background:var(--surface)}
@media(max-width:1000px){.coaching-editorial{grid-template-columns:1fr 1.5fr;gap:36px}.enquiry-fields{grid-template-columns:1fr}.enquiry-field-wide{grid-column:auto}.coaching-reading .editorial-callout{width:44%;margin-left:20px}}
@media(max-width:760px){.coaching-editorial{display:block;max-width:680px}.coaching-editorial>header{margin-bottom:36px}.coaching-prose{font-size:18px}.appointment{grid-template-columns:1fr;gap:8px}.appointment-fee{padding:0}.appointment h3{font-size:32px}.coaching-steps li{gap:16px;grid-template-columns:28px 1fr}.coaching-section-heading h2 br{display:none}.coaching-section-heading{margin-bottom:36px}.coaching-steps p{font-size:17px}.coaching-enquiry{margin-top:45px}.coaching-page #enquire{scroll-margin-top:100px}}
@media(max-width:480px){.coaching-reading .editorial-callout{float:none;width:auto;max-width:none;margin:30px 0}.coaching-reading .editorial-callout-image{width:100%;max-width:260px;height:auto}.coaching-prose{font-size:17px}.coaching-steps h3{font-size:27px}.coaching-editorial h2{font-size:36px}.enquiry-actions{align-items:stretch;flex-direction:column}.coaching-closing{margin-top:55px}.coaching-fees .eyebrow{line-height:1.7}}
@media(max-width:1000px){
 .coaching-intro .intro-grid,:root[data-presentation=restorative] .coaching-intro .intro-grid {display:flex;flex-direction:column;gap:32px}
 .coaching-intro .intro-grid>h1 {margin-bottom:0}
 .coaching-intro .intro-grid>.coaching-proposition,:root[data-presentation=restorative] .coaching-intro .intro-grid>.coaching-proposition {max-width:none;margin:0;align-self:stretch}
 .coaching-intro .intro-grid>.coaching-image {width:100%}
 .coaching-process .coaching-process-heading {grid-template-columns:1fr;gap:30px}
}
@media print{.coaching-image{display:none}.coaching-process .coaching-process-heading{display:block}}
@media print{.coaching-editorial{display:block}.appointment{break-inside:avoid}.enquiry-actions{display:none}}
