/* Explanatory illustrations and diagrams; all labels remain accessible HTML. */
.coaching-icon {display: block; width: 112px; height: 112px; color: var(--green); flex-shrink: 0;}
.principle-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px 55px; padding-top: 12px;}
.principle-grid article {border-bottom: 1px solid var(--line); padding: 0 0 32px;}
.principle-grid h3, .theme-grid h3 {font-family: var(--serif); font-weight: 500; font-size: 23px; line-height: 1.7; margin: 25px 0 15px;}
.principle-grid p {font-size: 17px; color: var(--muted); line-height: 2;}
.coaching-overview .section-action {text-align: center; margin-top: 50px;}
.coaching-overview .section-heading>p {max-width: 415px;}
.coaching-cover {display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 65px; padding-block: 75px 60px;}
.coaching-cover h1 {font-size: 46px; line-height: 1.7; margin: 0 0 30px;}
.coaching-cover p {font-size: 18px; line-height: 2.1;}
.coaching-cover>img {width: 100%; height: auto; aspect-ratio: 1.12; object-fit: cover; border-radius: 42% 42% 2px 2px;}
.coaching-definition {display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; padding-block: 50px 100px;}
.coaching-definition h2 {font-size: 36px;}
.dialogue-flow {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px; list-style: none; padding: 15px 0 0; margin: 0;}
.dialogue-flow li {position: relative;}
.dialogue-flow li+li:before {content: "→"; color: #69806a; position: absolute; left: -36px; top: 32px; font-size: 28px;}
.dialogue-flow .coaching-icon {width: 100px; height: 100px;}
.dialogue-flow h3 {font-family: var(--serif); font-size: 23px; font-weight: 500; line-height: 1.7; margin: 25px 0 15px;}
.dialogue-flow p {font-size: 17px; line-height: 2;}
.values-map {display: grid; grid-template-columns: 1fr 240px 1fr; align-items: center; padding: 55px 45px 40px; background: #eeeee3; border-radius: 3px;}
.value-side {text-align: center;}
.value-icon {display: flex; justify-content: center;}
.value-side h3 {font-family: var(--serif); font-size: 25px; font-weight: 500; margin-top: 20px;}
.value-side ul {list-style: none; padding: 0; margin: 18px 0; font-size: 18px; line-height: 2.1;}
.value-side p {font-size: 16px; color: var(--muted);}
.value-center {display: flex; align-items: center; justify-content: center; gap: 15px;}
.value-center strong {display: flex; align-items: center; justify-content: center; text-align: center; width: 150px; height: 150px; border-radius: 50%; background: var(--green); color: var(--paper); font-family: var(--serif); font-size: 24px; font-weight: 500; line-height: 1.7; flex-shrink: 0;}
.map-connector {font-size: 25px;}
.value-choice {grid-column: 1/-1; text-align: center; margin-top: 28px; padding-top: 10px;}
.value-choice>span {font-size: 38px; line-height: 1.2; display: block; margin-bottom: 17px;}
.value-choice h3 {font-family: var(--serif); font-size: 28px; font-weight: 500; margin-bottom: 10px;}
.value-choice p {font-size: 17px;}
.story-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.story-grid>img {width: 100%; height: auto; aspect-ratio: 1.18; object-fit: cover;}
.story-grid h2 {margin-bottom: 30px;}
.story-grid p {font-size: 18px; line-height: 2.1; margin-top: 22px;}
.story-grid .text-link {margin-top: 28px;}
.theme-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px 40px;}
.theme-grid article {display: grid; grid-template-columns: 70px 1fr; gap: 8px 20px; align-content: start;}
.theme-grid .coaching-icon {width: 70px; height: 70px; grid-row: 1/3;}
.theme-grid h3 {font-size: 22px; margin: 0;}
.theme-grid p {font-size: 16px; color: var(--muted); grid-column: 1/-1; margin-top: 7px;}
.mindful-story {background: #eeeee3; padding-block: 90px;}
.portrait-cutout {position: relative; aspect-ratio: 1; overflow: hidden; border: 2px solid #69806a; border-radius: 50%; background: #e5e8dc; flex-shrink: 0;}
.coach-picture.portrait-cutout {width: 200px; height: 200px; justify-self: center;}
.profile-hero>.portrait-cutout {width: 220px; height: 220px; justify-self: center;}
.coach-picture.portrait-cutout img, .profile-hero>.portrait-cutout img {position: absolute; top: -4%; left: 50%; transform: translateX(-50%); width: 144%; max-width: none; height: auto; max-height: none; aspect-ratio: 2/3; object-fit: contain; border-radius: 0;}
@media(max-width:1100px) {
 .coaching-cover {gap: 40px;}
 .coaching-cover h1 {font-size: 40px;}
 .coaching-definition {gap: 60px;}
 .principle-grid {gap: 40px 30px;}
 .principle-grid h3 {font-size: 22px;}
 .dialogue-flow {gap: 28px;}
 .dialogue-flow h3 {font-size: 21px;}
 .dialogue-flow li+li:before {left: -28px;}
 .values-map {padding: 40px 25px; grid-template-columns: 1fr 190px 1fr;}
 .value-center {gap: 8px;}
 .value-center strong {width: 125px; height: 125px; font-size: 22px;}
 .value-side h3 {font-size: 23px;}
 .value-side ul {font-size: 17px;}
 .story-grid {gap: 45px;}
 .theme-grid {gap: 40px 25px;}
 .theme-grid article {grid-template-columns: 55px 1fr; gap: 10px;}
 .theme-grid .coaching-icon {width: 55px; height: 55px;}
 .theme-grid h3 {font-size: 20px;}
}
@media(max-width:760px) {
 .principle-grid {grid-template-columns: 1fr 1fr; gap: 34px 24px;}
 .coaching-icon {width: 88px; height: 88px;}
 .principle-grid h3 {font-size: 21px; margin: 18px 0 12px;}
 .principle-grid p {font-size: 16px; line-height: 1.9;}
 .coaching-cover {display: flex; flex-direction: column; align-items: stretch; gap: 36px; padding-block: 45px;}
 .coaching-cover h1 {font-size: 32px; line-height: 1.8; margin-bottom: 24px;}
 .coaching-cover p {font-size: 17px;}
 .coaching-cover>img {aspect-ratio: 1.3; max-width: 460px; align-self: center;}
 .coaching-definition {display: block; padding-block: 20px 60px;}
 .coaching-definition h2 {font-size: 29px; margin-bottom: 28px;}
 .dialogue-flow {grid-template-columns: 1fr; gap: 42px; padding-top: 0;}
 .dialogue-flow li {display: grid; grid-template-columns: 82px 1fr; gap: 10px 23px;}
 .dialogue-flow .coaching-icon {width: 82px; height: 82px; grid-row: 1/3;}
 .dialogue-flow h3 {font-size: 22px; margin: 0;}
 .dialogue-flow p {grid-column: 2; font-size: 16px;}
 .dialogue-flow li+li:before {content: "↓"; left: 30px; top: -39px; font-size: 24px;}
 .values-map {grid-template-columns: 1fr; gap: 24px; padding: 30px 20px;}
 .value-side {display: grid; grid-template-columns: 72px 1fr; gap: 7px 14px; text-align: left;}
 .value-icon {grid-row: 1/3; padding-top: 6px;}
 .value-icon .coaching-icon {width: 72px; height: 72px;}
 .value-side h3 {font-size: 22px; margin: 0;}
 .value-side ul {grid-column: 2; font-size: 16px; margin: 0;}
 .value-side p {grid-column: 1/-1; font-size: 15px; margin-top: 5px; text-align: center;}
 .value-center {gap: 30px;}
 .value-center strong {width: 116px; height: 116px; font-size: 21px;}
 .map-connector {transform: rotate(90deg);}
 .value-choice {margin: 0; border-top: 1px solid var(--line); padding-top: 20px;}
 .value-choice h3 {font-size: 23px;}
 .value-choice p {font-size: 16px;}
 .story-grid {display: flex; flex-direction: column; gap: 30px; align-items: stretch;}
 .story-grid>img {aspect-ratio: 3/2;}
 .story-grid p {font-size: 17px; margin-top: 18px;}
 .story-grid h2 {margin-bottom: 22px;}
 .theme-grid {grid-template-columns: 1fr; gap: 30px;}
 .theme-grid article {grid-template-columns: 70px 1fr; gap: 7px 20px; border-bottom: 1px solid var(--line); padding-bottom: 24px;}
 .theme-grid .coaching-icon {width: 70px; height: 70px;}
 .theme-grid h3 {font-size: 22px;}
 .theme-grid p {grid-column: 2; font-size: 16px; margin: 0;}
 .theme-grid p br {display: none;}
 .mindful-story {padding-block: 60px;}
 .mindful-story .story-grid {flex-direction: column-reverse;}
 .coach-picture.portrait-cutout {width: 160px; height: 160px; max-width: 160px;}
 .profile-hero>.portrait-cutout {width: 180px; height: 180px; align-self: flex-start;}
}
@media(max-width:380px) {
 .principle-grid {grid-template-columns: 1fr;}
 .principle-grid article {display: grid; grid-template-columns: 75px 1fr; gap: 10px 20px;}
 .principle-grid .coaching-icon {width: 75px; height: 75px; grid-row: 1/3;}
 .principle-grid h3 {font-size: 21px; margin: 0;}
 .principle-grid p {grid-column: 2;}
}
