/* Lane B only: /patients, /clinics, /clinics/mobile, /rediscovery */

/* shared bits */
.section--forest p + p { margin-top: 16px; }
.section--forest .h2 + p, .section--forest .h3 + p { margin-top: 20px; }
.h3--lg { font-size: 24px; margin-top: 32px; }
.prose + .h3--lg, .people + .prose, .h3--lg + .prose { margin-top: 12px; }
.h3--lg + .prose, .h3--lg + .people { margin-top: 12px; }
.people + .prose { margin-top: 20px; }
.split__text > .h2 + .h3--lg { margin-top: 20px; }
.section--forest .h3--lg { margin-top: 32px; }
.photo img { background: var(--paper-2); }
.page-head__photo img { border: 0; }

/* /patients/ : intake band */
.intake-list { margin-top: 24px; border-top: 1px solid var(--mint); }
.intake-list li { font-size: 18px; border-top: 0; }
.intake-list li + li { border-top: 1px solid var(--mint); }
.intake-wait { margin-top: 24px; max-width: 58ch; }
.intake-act { display: grid; gap: 20px; justify-items: start; align-content: start; }
.intake-act .btn { width: 100%; }
.intake-act .text-link { color: var(--mint); text-decoration-color: var(--mint); }
.intake-act .text-link:hover { color: #fff; }

/* what to bring, packet, cost */
.bring-list { max-width: 65ch; margin-top: 20px; }
.bring-list li > div, .bring-list li > span { min-width: 0; }
.bring-panel { margin-top: 28px; }
.panel-title { font-family: var(--sans); font-weight: 600; font-size: 18px; line-height: 1.3; }
.plain-list { margin-top: 8px; list-style: disc; padding-left: 22px; }
.plain-list li { padding: 2px 0; }
.packet-body { margin-top: 20px; max-width: 65ch; }
.packet-body > * + * { margin-top: 12px; }
.cost-body { margin-top: 20px; }
.cost-body p + p { margin-top: 16px; }
.cost-h3 { margin-top: 32px; }
.cost-dental { max-width: 65ch; }
.cost-links .pdf-link { display: inline-flex; align-items: flex-start; }
.cost-links .pdf-link svg { flex: none; margin-top: 4px; }
.cost-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; margin-top: 4px; }
.cost-panel { margin-top: 24px; }
.cost-panel p { font-weight: 600; font-size: 20px; line-height: 1.35; }
.cost-meta { margin-top: 24px; max-width: 65ch; }

/* current patients */
.current-block { margin-top: 32px; max-width: 65ch; }
.current > .h2 + .current-block { margin-top: 24px; }
.current-block + .current-block { padding-top: 32px; border-top: 1px solid var(--rule); }
.current-block > .h3 { margin-bottom: 12px; font-size: 22px; }
.current-block > p + p, .current-block > p + ul, .current-block > ul + p { margin-top: 14px; }
.current-call { margin-top: 20px !important; }

/* /clinics/ */
.dental-text p + p { margin-top: 16px; }
.dental-sign .trail--lg { border-top: 1px solid var(--mint); }
.dental-sign .trail--lg li { font-size: 18px; }
.scale-inset { background: var(--paper); color: var(--ink); padding: 24px 20px; }
.scale-inset .table-scroll { max-width: 100%; }
.scale-cap { font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--ink); margin-bottom: 8px; }
.table-hint { font-size: 16px; color: var(--ink-2); margin-bottom: 8px; }
.narrow-photo { max-width: 280px; }
#behavioral-health .grid { align-items: center; }
#behavioral-health .narrow-photo { max-width: 240px; justify-self: end; }
.narrow-photo img { aspect-ratio: 3 / 4; object-fit: cover; }
.three-up__col p { margin-top: 12px; max-width: 52ch; }
.three-up__col > h2 + p { margin-top: 12px; }
.h3--link { font-size: 24px; }
.h3--link a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 2px; text-underline-offset: 6px; display: inline-block; padding: 8px 0; }
.h3--link a:hover { text-decoration-color: var(--forest); }
.three-up__col .text-link { margin-top: 4px; }
.three-up__col .text-link .ext { margin-left: 0; }

/* split photo sections: photo comes first on phones */
.split__photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.split__text .prose { margin-top: 20px; }
.split__text > .h2 + .prose { margin-top: 20px; }
.intro-line { font-size: 20px; line-height: 1.5; max-width: 60ch; margin-bottom: 28px; }
.quote-row blockquote.pull { max-width: 30em; }
.respite-rooms { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.respite-rooms__wide { grid-column: 1 / -1; }
.respite-rooms__tall img { aspect-ratio: 4 / 5; object-fit: cover; }
.respite-team img { aspect-ratio: 4 / 3; }
.place .place__line { line-height: 1.5; }
.section--forest .place { color: var(--paper); }

@media (max-width: 767.98px) {
  .scale-inset { margin: 0 calc(-1 * var(--gutter)); padding: 20px var(--gutter); }
}
@media (min-width: 768px) {
  .table-hint { display: none; }
  .h3--lg { font-size: 26px; }
  .intake-list li { font-size: 20px; }
  .intake-act .btn { width: auto; }
  .respite-rooms { max-width: 640px; }
}
@media (min-width: 1024px) {
  .split.grid > .split__photo, .split.grid > .split__text, .split.grid > .respite-rooms { align-self: start; }
  .split__photo--right { grid-column: 8 / span 5; grid-row: 1; }
  .split__text.c-1-7 { grid-row: 1; }
  .split__photo--left { grid-column: 1 / span 5; grid-row: 1; }
  .split__text.c-6-12 { grid-row: 1; }
  .respite-team { grid-row: 1; }
  .split:has(.respite-rooms) .split__text { grid-row: 1 / span 2; }
  .respite-rooms { grid-column: 8 / span 5; grid-row: 2; max-width: none; }
  .intake-act { padding-top: 12px; }
  .scale-inset { padding: 32px; }
  .three-up .h3--link { min-height: 2.6em; }
  .h3--lg { font-size: 28px; }
}

/* inline PDF link inside running text keeps the sentence in one flow */
p > .pdf-link { display: inline; min-height: 0; }
p > .pdf-link svg { display: inline-block; vertical-align: -2px; margin-right: 6px; }
.place > p, .section--forest .place > p { margin-top: 0; }
.place__when { margin-top: 8px !important; }
.place .place__actions { margin-top: 8px; }
.scale-inset, .split > *, .three-up > * { min-width: 0; }
@media (min-width: 768px) { .scale-inset { max-width: 100%; } }

.contact-row a { display: inline-block; padding: 10px 0; margin: -10px 0; }
.bring-list .pdf-link svg { display: none; } /* the fir glyph already marks the row */
.contact-row a, dd > a[href^="tel:"] { display: inline-block; padding: 10px 0; margin: -10px 0; }
