/* Continuing pages use the approved shared type scale, not the former theme. */
.service-page .site-header [aria-current="true"] { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 2px; }
.service-page main > section { padding-block: var(--section-space); border-top: 1px solid var(--line); }
.service-page .page-breadcrumb { padding-top: 24px; }
.service-page .page-breadcrumb .breadcrumb { margin-bottom: 32px; }
.service-page .service-intro { padding-block: 24px var(--section-space); }
.service-page .service-intro > .wrap { max-width: 1050px; }
.service-page .service-intro h1 { font-size: var(--heading); line-height: 1.65; letter-spacing: -.04em; text-wrap: balance; }
.service-page h2 { font-size: var(--heading); line-height: 1.65; letter-spacing: -.04em; margin-bottom: 28px; }
.service-page h3 { font-size: var(--subheading); line-height: 1.6; letter-spacing: -.025em; margin-bottom: 16px; }
.service-page h1, .service-page h2, .service-page h3, .service-page b, .service-page strong { font-weight: 700; }
.service-page .service-intro h1 + p { margin-top: 24px; }
.service-page .service-intro p + p, .service-page .wrap > p + p, .service-page .quote p + p { margin-top: 1.1em; }
.service-page .to { font-size: var(--label); margin-bottom: 16px; }
.service-page .service-intro .button { margin-top: 32px; }
.service-page .col, .service-page .doc { max-width: 1050px; }
.service-page .sub, .service-page .lede, .service-page .note, .service-page .meta, .service-page .hint, .service-page .src { font-size: var(--body); font-weight: 400; }
.service-page .note, .service-page .meta, .service-page .hint, .service-page .src { margin-top: 24px; }
.service-page .red, .service-page .gray { color: inherit; }
.service-page .key, .service-page .key b { font-size: var(--body); font-weight: 700; margin-top: 32px; }
.service-page .quote { margin-block: 28px; }
.service-page .price { display: inline-block; margin-top: 28px; font-size: var(--subheading); font-weight: 700; line-height: 1.7; }
.service-page .price em { font-size: inherit; font-style: normal; }
.service-page .btnrow { margin-top: 32px; }
.service-page .wrap > .button { margin-top: 28px; }
.service-page .button { text-decoration: none; }
.service-page .button:hover { text-decoration: none; }
.service-page .band { color: var(--ink); background: var(--orange); border-top: 0; }
.service-page .band .button { margin-top: 32px; }
.service-page .band .context-label::before { background: var(--ink); }
.service-page .band .flow > div { border-color: var(--ink); }
.service-page .wrap p a:not(.button), .service-page .tbl a, .service-page .faq a, .service-page .doc a { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.service-page .flow, .service-page .pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; margin-block: 36px; }
.service-page .flow > div, .service-page .pair > div { min-width: 0; border-top: 1px solid var(--line); padding-top: 24px; }
.service-page .lb { font-size: var(--label); font-weight: 700; margin-bottom: 16px; }
.service-page .flow p + p, .service-page .pair p + p { margin-top: 16px; }
.service-page .flow .button, .service-page .item .button { margin-top: 24px; }
.service-page .items { margin-top: 36px; }
.service-page .item { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.4fr); gap: 40px; border-top: 1px solid var(--line); padding-block: 32px; }
.service-page .item:last-child { border-bottom: 1px solid var(--line); }
.service-page .lab { font-size: var(--subheading); font-weight: 700; line-height: 1.6; }
.service-page .lab span { display: block; margin-top: 12px; font-size: var(--label); }
.service-page .sub-h { margin-block: 40px 24px; }
.service-page .scroller { margin-block: 32px; min-width: 0; }
.service-page .tbl { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; font-size: var(--body); }
.service-page .tbl th, .service-page .tbl td { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 24px; vertical-align: top; overflow-wrap: anywhere; }
.service-page .tbl th { width: 30%; font-weight: 700; padding-left: 0; }
.service-page .tbl td { padding-right: 0; }
.service-page .tbl th .note { display: block; margin-top: 8px; font-weight: 400; }
.service-page .tbl .hd2 th { width: auto; }
.service-page .fig { margin-block: 36px; }
.service-page .fig img { width: 100%; height: auto; }
.service-page figcaption { margin-top: 16px; font-size: var(--label); }
.service-page .faq { max-width: 1050px; }
.service-page details { border-top: 1px solid var(--line); }
.service-page details:last-child { border-bottom: 1px solid var(--line); }
.service-page summary { cursor: pointer; padding-block: 24px; font-size: var(--subheading); font-weight: 700; line-height: 1.6; }
.service-page summary:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.service-page details .a { padding-bottom: 32px; }
.service-page .doc h2 { font-size: var(--subheading); margin-block: 44px 24px; }
.service-page .doc ul { padding-left: 1.3em; }
.service-page .doc li + li { margin-top: 16px; }
.service-page .upd { font-size: var(--label); margin-bottom: 24px; }
.service-page .nf .big { font-size: var(--chapter); font-weight: 700; margin-bottom: 24px; }
.service-page .nf h1 { font-size: var(--heading); line-height: 1.65; margin-bottom: 24px; }
.service-page .related-navigation { padding-block: 40px; }
.service-page .related-navigation nav { display: flex; flex-wrap: wrap; gap: 20px 32px; font-size: var(--action); font-weight: 700; }
.service-page .related-navigation a { display: inline-flex; align-items: center; min-height: 48px; padding-block: 10px; border-bottom: 1px solid; }
@media (max-width: 760px) {
  .service-page .page-breadcrumb { padding-top: 20px; }
  .service-page .page-breadcrumb .breadcrumb { margin-bottom: 24px; }
  .service-page .service-intro { padding-top: 16px; }
  .service-page h2 { margin-bottom: 24px; }
  .service-page .flow, .service-page .pair, .service-page .item { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .service-page .item { padding-block: 28px; }
  .service-page .scroller { margin-block: 28px; }
  .service-page .tbl, .service-page .tbl tbody, .service-page .tbl tr, .service-page .tbl th, .service-page .tbl td { display: block; width: 100%; }
  .service-page .tbl tr { border-top: 1px solid var(--line); padding-block: 24px; }
  .service-page .tbl tr:last-child { border-bottom: 1px solid var(--line); }
  .service-page .tbl th, .service-page .tbl td { border: 0; padding: 0; }
  .service-page .tbl td { margin-top: 12px; }
  .service-page .tbl .hd2 { display: none; }
  .service-page .band .button, .service-page .service-intro .button { width: 100%; }
  .service-page .related-navigation nav { display: grid; gap: 16px; }
  .service-page .related-navigation a { justify-self: start; }
}
