/* Treatment process and personal profile share the established blue/yellow palette. */
.care-section {
  padding: 61px 0 64px;
  background: linear-gradient(175deg, #f9fcff, #edf7ff);
}
.care-heading { margin-bottom: 32px; }
.care-heading h2 { line-height: 1.65; }
.care-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  list-style: none;
}
.care-step {
  position: relative;
  padding: 25px 24px 27px;
  background: #fff;
  border: 1px solid #e4eef7;
  border-radius: 20px;
  box-shadow: 0 6px 20px #244a7b08;
}
.care-step + .care-step::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 60px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #84b5df;
  border-right: 2px solid #84b5df;
  transform: rotate(45deg);
}
.care-step-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.care-step-number { color: #065fb8; font: 800 2rem/1.1 var(--font); letter-spacing: -.025em; }
.care-step-number span { display: block; margin-bottom: 3px; font-size: .75rem; font-weight: 700; letter-spacing: .13em; }
.care-step-top > .icon { width: 39px; height: 39px; padding: 7px; background: #edf6ff; border-radius: 10px; color: #0a68bc; }
.care-step h3 { min-height: 3.3em; font-size: 1.125rem; line-height: 1.65; font-weight: 800; color: #11365e; }
.care-step > p { color: #496882; margin-top: 14px; font-size: 1rem; line-height: 1.9; }
.care-reasons { padding: 34px 35px 36px; margin-top: 32px; border: 1px solid #dceaf5; border-radius: 22px; background: #ffffffbb; }
.reasons-heading { text-align: center; margin-bottom: 26px; }
.reasons-heading .heading-rule { width: 35px; height: 3px; margin-bottom: 12px; }
.reasons-heading h3 { font-size: 1.55rem; font-weight: 800; }
.reasons-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 38px; }
.reason-item { display: flex; align-items: flex-start; gap: 17px; }
.reason-icon { display: flex; flex: none; align-items: center; justify-content: center; width: 47px; height: 47px; background: #e8f4ff; color: #075ab1; border-radius: 50%; }
.reason-icon .icon { width: 26px; height: 26px; }
.reason-item h4 { font-size: 1.075rem; font-weight: 800; line-height: 1.7; color: #143b65; }
.reason-item p { margin-top: 7px; font-size: 1rem; line-height: 1.85; color: #506a84; }

.practitioner-section { padding: 57px 0 55px; background: linear-gradient(160deg, #eaf6ff, #f6fbff 48%, #edf7ff); }
.practitioner-heading { margin-bottom: 26px; }
.practitioner-profile {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: 46px;
  padding: 31px;
  border: 1px solid #e3eef7;
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 9px 30px #244b7f08;
  align-items: start;
}
.practitioner-portrait { margin: 0; width: 100%; aspect-ratio: 4 / 5; border-radius: 17px; overflow: hidden; background: #f4f4f1; }
.practitioner-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 72%; }
.practitioner-info { min-width: 0; padding-top: 5px; }
.practitioner-role { color: #2773b8; font-size: .875rem; line-height: 1.6; font-weight: 700; letter-spacing: .06em; }
.practitioner-name h3 { font-size: 2rem; font-weight: 800; letter-spacing: .13em; line-height: 1.5; margin-top: 5px; }
.practitioner-reading { font-size: .875rem; color: #5c7791; margin-top: 5px; letter-spacing: .06em; }
.practitioner-reading span { margin-left: 9px; letter-spacing: 0; }
.practitioner-history { list-style: none; margin: 23px 0 24px; border-top: 1px solid #e4eef6; }
.practitioner-history li { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-bottom: 1px solid #e4eef6; }
.practitioner-history li > .icon { color: #1a6ab4; width: 22px; height: 22px; margin-top: 4px; }
.practitioner-history li > p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 14px; font-size: 1rem; line-height: 1.8; }
.practitioner-history strong { color: #163c64; font-size: 1rem; font-weight: 700; }
.practitioner-history li > p > span { color: #55718b; }
.practitioner-history li:last-child > p { display: block; }
.practitioner-history li:last-child > p > span { display: block; margin-top: 3px; }
.practitioner-history .credential-prefix { display: inline-block; background: #eaf4ff; color: #246aaa; padding: 2px 8px; border-radius: 5px; font-size: .8125rem; }
.practitioner-contact { min-height: 51px; font-size: .9375rem; padding-inline: 24px; }

.practitioner-message { margin-top: 35px; padding: 37px 39px 39px; background: #fff; border: 1px solid #e2edf6; border-radius: 25px; box-shadow: 0 9px 30px #244b7f08; }
.message-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; align-items: center; padding-bottom: 32px; border-bottom: 1px solid #e4eef6; }
.message-intro-copy { min-width: 0; }
.message-intro-copy > .eyebrow { margin-bottom: 8px; }
.message-intro-copy h3 { font-size: 1.35rem; font-weight: 800; color: #194c7d; margin-bottom: 16px; }
.message-mission { color: #102f56; font-size: clamp(1.25rem, 1.85vw, 1.6rem); line-height: 1.95; letter-spacing: .035em; }
.message-mission strong { font-weight: 800; }
.message-mission strong > span { background: linear-gradient(transparent 67%, #fff0a7 67%, #fff0a7 96%, transparent 96%); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.message-photo { width: 100%; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: #eeeae3; border-radius: 17px; }
.message-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.message-body { max-width: 800px; margin: 32px auto 0; color: #304e6c; font-size: 1.0625rem; line-height: 2.05; letter-spacing: .025em; overflow-wrap: anywhere; }
.message-body > p { margin-top: 23px; }
.message-body strong { color: #103a69; font-weight: 700; background: linear-gradient(transparent 75%, #e9f4ff 75%); }
.message-wishes { padding: 1px 0 1px 21px; border-left: 3px solid #ffdf45; color: #234f7e; font-size: 1.125rem; font-weight: 700; line-height: 2.1; letter-spacing: .04em; }
.message-closing { margin-top: 30px; padding: 23px 25px 25px; background: #f1f8ff; border-radius: 13px; border-left: 3px solid #b2d5f2; }
.message-closing p:first-child { font-size: 1.15rem; line-height: 2; }
.message-closing strong { background: none; font-weight: 800; }
.message-closing p + p { margin-top: 12px; font-size: 1rem; line-height: 1.95; }

@media (max-width: 1080px) {
  .care-steps { gap: 15px; }
  .care-step { padding: 22px 18px 24px; }
  .care-step + .care-step::before { left: -12px; width: 7px; height: 7px; }
  .care-step h3 { font-size: 1.0625rem; }
  .care-reasons { padding: 29px 27px; }
  .reasons-grid { gap: 24px; }
  .reason-item { gap: 13px; }
  .reason-icon { width: 41px; height: 41px; }
  .reason-item h4 { font-size: 1rem; }
  .practitioner-profile { grid-template-columns: minmax(0, 285px) minmax(0, 1fr); gap: 32px; padding: 27px; }
  .practitioner-name h3 { font-size: 1.8rem; }
  .practitioner-history { margin-top: 19px; }
  .practitioner-history li { padding-block: 12px; gap: 11px; }
  .practitioner-message { padding: 31px; }
  .message-intro { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 25px; }
  .message-mission { font-size: 1.35rem; line-height: 1.95; }
  .mission-break { display: none; }
}
@media (max-width: 860px) {
  .care-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
  .care-step { padding: 25px; }
  .care-step + .care-step::before { display: none; }
  .care-step h3 { min-height: 0; font-size: 1.125rem; }
  .care-step > p { margin-top: 11px; }
  .reasons-grid { grid-template-columns: 1fr; gap: 0; }
  .reason-item { gap: 18px; padding: 20px 0; }
  .reason-item + .reason-item { border-top: 1px solid #e2edf6; }
  .reason-item:first-child { padding-top: 0; }
  .reason-item:last-child { padding-bottom: 0; }
  .reason-item h4 { font-size: 1.0625rem; }
  .reason-icon { width: 45px; height: 45px; }
  .practitioner-profile { grid-template-columns: minmax(0, 235px) minmax(0, 1fr); gap: 24px; padding: 24px; }
  .practitioner-info { padding-top: 0; }
  .practitioner-portrait { aspect-ratio: 3 / 4; }
  .practitioner-history li > p { display: block; }
  .practitioner-history li > p > span { display: block; }
  .practitioner-history li > p > span.credential-prefix { display: inline-block; margin-bottom: 4px; }
  .practitioner-history li > p > .credential-prefix + strong { display: block; }
  .practitioner-contact { padding-inline: 18px; font-size: .875rem; }
  .practitioner-contact .arrow { margin-left: 0; }
  .practitioner-message { padding: 27px; }
  .message-intro { grid-template-columns: 1fr 1fr; gap: 23px; }
  .message-mission { font-size: 1.2rem; }
  .message-body { font-size: 1rem; }
}
@media (max-width: 640px) {
  .care-section { padding: 41px 0 44px; }
  .care-heading { margin-bottom: 25px; }
  .care-heading h2 { font-size: 1.7rem; }
  .care-steps { grid-template-columns: 1fr; gap: 13px; }
  .care-step { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 19px; row-gap: 9px; padding: 23px 21px; border-radius: 17px; }
  .care-step-top { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 16px; margin: 0; }
  .care-step-number { font-size: 1.65rem; text-align: center; }
  .care-step-number span { font-size: .6875rem; }
  .care-step-top > .icon { width: 37px; height: 37px; padding: 7px; }
  .care-step h3 { grid-column: 2; grid-row: 1; font-size: 1.125rem; min-height: 0; line-height: 1.65; }
  .care-step h3 br { display: none; }
  .care-step > p { grid-column: 2; grid-row: 2; margin-top: 0; font-size: 1rem; line-height: 1.9; }
  .care-reasons { margin-top: 23px; padding: 27px 23px; border-radius: 18px; }
  .reasons-heading { margin-bottom: 23px; }
  .reasons-heading h3 { font-size: 1.4rem; }
  .reason-item { gap: 13px; padding-block: 21px; }
  .reason-icon { width: 36px; height: 36px; margin-top: 2px; }
  .reason-icon .icon { width: 21px; height: 21px; }
  .reason-item h4 { font-size: 1rem; line-height: 1.75; }
  .reason-item p { margin-top: 7px; font-size: 1rem; line-height: 1.9; }
  .practitioner-section { padding: 40px 0 43px; }
  .practitioner-heading h2 { font-size: 1.65rem; }
  .practitioner-profile { grid-template-columns: 1fr; gap: 26px; padding: 22px; border-radius: 21px; }
  .practitioner-portrait { max-width: 360px; margin-inline: auto; aspect-ratio: 4 / 5; border-radius: 14px; }
  .practitioner-name { text-align: center; }
  .practitioner-name h3 { font-size: 1.9rem; margin-top: 5px; }
  .practitioner-reading { margin-top: 4px; font-size: .875rem; }
  .practitioner-role { font-size: .875rem; }
  .practitioner-history { margin-block: 23px; }
  .practitioner-history li { padding-block: 15px; gap: 12px; }
  .practitioner-history li > .icon { width: 21px; height: 21px; }
  .practitioner-history li > p, .practitioner-history strong { font-size: 1rem; line-height: 1.85; }
  .practitioner-history li:first-child > p { display: flex; flex-wrap: wrap; gap: 2px 11px; }
  .practitioner-contact { width: 100%; min-height: 54px; font-size: .9375rem; padding-inline: 16px; }
  .practitioner-contact .arrow { margin-left: auto; }
  .practitioner-message { margin-top: 25px; padding: 27px 23px; border-radius: 21px; }
  .message-intro { grid-template-columns: 1fr; gap: 23px; padding-bottom: 25px; }
  .message-intro-copy h3 { font-size: 1.3rem; margin-bottom: 14px; }
  .message-mission { font-size: 1.3rem; line-height: 1.95; letter-spacing: .015em; }
  .message-photo { border-radius: 13px; }
  .message-body { margin-top: 26px; font-size: 1rem; line-height: 2.05; letter-spacing: .015em; }
  .message-body > p { margin-top: 23px; }
  .message-wishes { padding-left: 15px; font-size: 1rem; line-height: 2.1; letter-spacing: 0; }
  .message-closing { margin-top: 27px; padding: 19px 17px; border-radius: 10px; }
  .message-closing p:first-child { font-size: 1.0625rem; line-height: 1.95; }
  .message-closing p:first-child br { display: none; }
  .message-closing p + p { font-size: 1rem; line-height: 2; margin-top: 13px; }
}
@media (max-width: 370px) {
  .care-step { grid-template-columns: 37px minmax(0, 1fr); column-gap: 14px; padding: 21px 17px; }
  .care-reasons { padding-inline: 18px; }
  .reason-item { gap: 10px; }
  .reason-icon { width: 31px; height: 31px; }
  .reason-icon .icon { width: 19px; height: 19px; }
  .practitioner-profile { padding: 18px; }
  .practitioner-message { padding: 24px 19px; }
  .message-mission { font-size: 1.2rem; }
  .practitioner-contact { gap: 8px; font-size: .875rem; }
}
