                                                                                                               
.guide-article:has(#journey) { --care-green: #315f54; --care-pale: #edf3ef; }
.guide-article:has(#journey) :is(h1,h2,h3) { letter-spacing: -.03em; }
.guide-article:has(#journey) .guide-hero-image { object-position: 50% 44%; }
.guide-article:has(#journey) .guide-editorial-break img { object-position: 50% 42%; }
.guide-article-body :is(#journey,#right-route,#channels,#follow-up,#records,#cover) > :is(ul,ol) {
  margin: 32px 0; padding: 0; list-style: none; color: var(--guide-ink);
}
.guide-article-body :is(#journey,#right-route,#channels,#follow-up,#records,#cover) > :is(ul,ol) > li {
  margin: 0; padding: 20px 0; min-width: 0; font-size: 16px; line-height: 1.6;
}
.guide-article-body :is(#journey,#right-route,#channels,#follow-up,#records,#cover) li > strong {
  display: block; font-size: 21px; font-weight: 600; line-height: 1.25; margin-bottom: 12px;
}
.guide-article-body :is(#journey,#right-route,#channels,#follow-up,#records,#cover) li > span { display: block; }
#journey > ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; counter-reset: journey; }
#journey > ol > li { border-top: 2px solid var(--care-green); counter-increment: journey; }
#journey > ol > li::before { content: "0" counter(journey); display: block; color: var(--care-green); font-weight: 600; font-size: 14px; margin-bottom: 14px; }
#right-route > ul > li { display: grid; grid-template-columns: 165px 1fr; gap: 24px; border-top: 1px solid var(--guide-line); }
#right-route > ul > li:last-child { border-bottom: 1px solid var(--guide-line); }
#right-route > ul > li > strong { margin: 0; }
#channels > ul { border: 1px solid var(--guide-line); border-radius: 16px; overflow: hidden; }
.guide-article-body #channels > ul > li { padding: 26px 28px; }
#channels > ul > li + li { border-top: 1px solid var(--guide-line); }
#channels .care-audience { color: var(--guide-muted); margin-bottom: 16px; }
#channels .care-thread { background: var(--care-pale); color: #234c42; border-radius: 10px; padding: 13px 16px; margin: 9px 0; font-weight: 500; }
#channels .care-thread + span:not(.care-thread) { margin-top: 15px; }
.guide-article-body #first-conversation .contact-card { background: #f7f5f0; padding: 24px; }
#first-conversation .contact-card-label { text-transform: none; font-size: 13px; letter-spacing: 0; margin-bottom: 22px; color: var(--guide-muted); }
.guide-article-body #first-conversation .contact-card > p { background: #fff; border-radius: 14px; padding: 20px 22px; max-width: 85%; color: var(--guide-ink); font-size: 17px; }
.guide-article-body #first-conversation .contact-card > p:last-child { margin-left: auto; background: var(--care-pale); }
.care-speaker { display: block; font-size: 13px; font-weight: 600; margin-bottom: 9px; }
#follow-up > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.guide-article-body #follow-up > ul > li { background: var(--care-pale); border-radius: 16px; padding: 26px; }
.guide-article-body #follow-up > ul > li:last-child { background: #f7eee8; }
#follow-up .care-example { font-weight: 500; margin-bottom: 16px; color: var(--guide-ink); }
#records > ol > li { border-top: 1px solid var(--guide-line); }
.guide-article-body #records .care-record-step { display: block; position: relative; padding: 12px 15px; margin: 0; background: var(--care-pale); border-radius: 10px; font-size: 15px; }
.guide-article-body #records .care-record-step + .care-record-step { margin-top: 32px; }
#records .care-record-step:not(:last-child)::after { content: "\2193"; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: 32px; height: 32px; line-height: 32px; text-align: center; font-size: 20px; color: var(--care-green); }
#records > ol > li:last-child .care-record-step { background: #f2f1ed; }
#cover > ol { counter-reset: pilot; }
.guide-article-body #cover > ol > li { padding: 0 0 26px 60px; position: relative; counter-increment: pilot; }
#cover > ol > li::before { content: counter(pilot); position: absolute; left: 0; top: 0; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: var(--care-green); color: #fff; font-weight: 600; }
#cover > ol > li:not(:last-child)::after { content: ""; position: absolute; left: 17px; top: 43px; bottom: 9px; width: 1px; background: #a8bfb5; }
@media (max-width: 600px) {
  #journey > ol, #follow-up > ul { grid-template-columns: 1fr; gap: 18px; }
  #journey > ol > li { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; }
  #journey > ol > li::before { grid-row: 1 / 3; margin: 4px 0 0; }
  #journey > ol > li > span { grid-column: 2; }
  #right-route > ul > li { grid-template-columns: 1fr; gap: 10px; }
  .guide-article-body #channels > ul > li { padding: 22px 20px; }
  .guide-article-body #first-conversation .contact-card { padding: 18px; }
  .guide-article-body #first-conversation .contact-card > p { max-width: 94%; padding: 17px; }
}
@media print {
  .guide-article-body :is(#journey,#right-route,#channels,#follow-up,#records,#cover) > :is(ul,ol) { break-inside: avoid; }
  #first-conversation .contact-card { break-inside: avoid; }
}
