                                                                                                             
.guide-article:has(#school-day) { --school-green: #2b5b72; --school-pale: #eef3f6; }
.guide-article:has(#school-day) :is(h1,h2,h3) { letter-spacing: -.03em; }
.guide-article:has(#school-day) .guide-hero-image { object-position: 50% 5%; }
.guide-article:has(#school-day) .guide-editorial-break img { object-position: 50% 10%; }
.guide-article-body :is(#school-day,#routes,#audiences,#actions,#records,#rollout) > :is(ul,ol) {
  margin: 32px 0; padding: 0; list-style: none; color: var(--guide-ink);
}
.guide-article-body :is(#school-day,#routes,#audiences,#actions,#records,#rollout) > :is(ul,ol) > li {
  margin: 0; padding: 20px 0; min-width: 0; font-size: 16px; line-height: 1.6;
}
.guide-article-body :is(#school-day,#routes,#audiences,#actions,#records,#rollout) li > strong {
  display: block; font-size: 21px; font-weight: 600; line-height: 1.25; margin-bottom: 12px;
}
.guide-article-body :is(#school-day,#routes,#audiences,#actions,#records,#rollout) li > span { display: block; }
#school-day > ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; counter-reset: journey; }
#school-day > ol > li { border-top: 2px solid var(--school-green); counter-increment: journey; }
#school-day > ol > li::before { content: "0" counter(journey); display: block; color: var(--school-green); font-weight: 600; font-size: 14px; margin-bottom: 14px; }
#routes > ul > li { display: grid; grid-template-columns: 165px 1fr; gap: 24px; border-top: 1px solid var(--guide-line); }
#routes > ul > li:last-child { border-bottom: 1px solid var(--guide-line); }
#routes > ul > li > strong { margin: 0; }
#audiences > ul { border: 1px solid var(--guide-line); border-radius: 16px; overflow: hidden; }
.guide-article-body #audiences > ul > li { padding: 26px 28px; }
#audiences > ul > li + li { border-top: 1px solid var(--guide-line); }
#audiences .school-audience { color: var(--guide-muted); margin-bottom: 16px; }
#audiences .school-thread { background: var(--school-pale); color: #234c60; border-radius: 10px; padding: 13px 16px; margin: 9px 0; font-weight: 500; }
#audiences .school-thread + span:not(.school-thread) { margin-top: 15px; }
.guide-article-body #parent-conversation .contact-card { background: #f7f5f0; padding: 24px; }
#parent-conversation .contact-card-label { text-transform: none; font-size: 13px; letter-spacing: 0; margin-bottom: 22px; color: var(--guide-muted); }
.guide-article-body #parent-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 #parent-conversation .contact-card > p:last-child { margin-left: auto; background: var(--school-pale); }
.school-speaker { display: block; font-size: 13px; font-weight: 600; margin-bottom: 9px; }
#actions > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.guide-article-body #actions > ul > li { background: var(--school-pale); border-radius: 16px; padding: 26px; }
.guide-article-body #actions > ul > li:last-child { background: #f7eee8; }
#actions .school-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 .school-record-step { display: block; position: relative; padding: 12px 15px; margin: 0; background: var(--school-pale); border-radius: 10px; font-size: 15px; }
.guide-article-body #records .school-record-step + .school-record-step { margin-top: 32px; }
#records .school-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(--school-green); }
#records > ol > li:last-child .school-record-step { background: #f2f1ed; }
#rollout > ol { counter-reset: pilot; }
.guide-article-body #rollout > ol > li { padding: 0 0 26px 60px; position: relative; counter-increment: pilot; }
#rollout > 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(--school-green); color: #fff; font-weight: 600; }
#rollout > ol > li:not(:last-child)::after { content: ""; position: absolute; left: 17px; top: 43px; bottom: 9px; width: 1px; background: #aec3cf; }
@media (max-width: 600px) {
  #school-day > ol, #actions > ul { grid-template-columns: 1fr; gap: 18px; }
  #school-day > ol > li { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; }
  #school-day > ol > li::before { grid-row: 1 / 3; margin: 4px 0 0; }
  #school-day > ol > li > span { grid-column: 2; }
  #routes > ul > li { grid-template-columns: 1fr; gap: 10px; }
  .guide-article-body #audiences > ul > li { padding: 22px 20px; }
  .guide-article-body #parent-conversation .contact-card { padding: 18px; }
  .guide-article-body #parent-conversation .contact-card > p { max-width: 94%; padding: 17px; }
}
@media print {
  .guide-article-body :is(#school-day,#routes,#audiences,#actions,#records,#rollout) > :is(ul,ol) { break-inside: avoid; }
  #parent-conversation .contact-card { break-inside: avoid; }
}

#actions > ul > li:last-child { grid-column: 1 / -1; }

.guide-article:has(#school-day) .contact-card-label { font-size: 13px; letter-spacing: .02em; }
