/* A single centered reading axis, including cards and explanatory copy. */
main { text-align: center; }
main p, main h1, main h2, main h3, main figure, main .rating { margin-inline: auto; }
.hero { min-height: 630px; }
.hero::before { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,.77); z-index: 0; }
.hero-content { position: relative; z-index: 1; padding-block: 44px; }
.hero h1 { max-width: none; }
.hero-title { max-width: 24ch; }
.hero-description { max-width: 48ch; }
.hero-caption { margin-top: 26px; }
.service-finder { grid-template-columns: minmax(0,650px); justify-content: center; gap: 18px; }
.service-finder .button { grid-column: auto; justify-self: center; }
.finder-description { margin-top: 0; }
.service-icon { align-self: center; }
.card-end { align-items: center; }
.card-end .text-link { justify-content: center; }
.process-explorer { display: block; max-width: 920px; margin-inline: auto; }
.process-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 32px; }
.process-nav a { flex-direction: column; justify-content: center; padding: 14px 10px; gap: 8px; }
.process-panel h3 { max-width: 28ch; }
.process-roles { max-width: 680px; margin-inline: auto; }
.process-roles p { border-left: 0; border-top: 1px solid #bfced7; padding: 18px 0 0; }
.process-roles p:last-child { border-top-color: var(--green); }
.process-note { max-width: 680px; }
.care-layout, .editorial-row, .faq-layout, .detail-intro, .form-layout { grid-template-columns: minmax(0,820px); justify-content: center; gap: 32px; }
.care-image { max-width: 820px; width: 100%; }
.care-image img { aspect-ratio: 2; }
.care-image figcaption { max-width: none; }
.faq-list summary, .responsibility-detail summary { padding-inline: 32px; }
.compact-terms { border-left: 0; border-top: 1px solid var(--line); padding: 28px 0 0; }
.review>a { justify-content: center; }
.form-panel { width: 100%; max-width: 640px; margin-inline: auto; }
.field, .form-errors, .form-status, input, textarea, select { text-align: left; }
.legal-details div { display: block; }
.legal-details dt { margin-bottom: 4px; }
.plain-list { list-style-position: inside; padding: 0; }
.catalog-tools { justify-content: center; flex-wrap: wrap; }
.catalog-tools .field { text-align: center; }
.prose ul, .prose ol { list-style-position: inside; padding-left: 0; }
@media(min-width:60em) and (max-height:850px) { .hero { min-height: 580px; } }
@media(max-width:60em) {
  .hero { min-height: 0; }
  .hero-image { top: 0; bottom: auto; height: 100%; object-position: 65% center; }
  .hero-content { padding-block: 40px; }
  .process-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:42em) { .hero-content { padding-block: 28px; } .process-nav { grid-template-columns: 1fr; } .process-nav a { flex-direction: row; } .care-image img { aspect-ratio: 1.2; } }
