/* Subpage only: the shared 90% / 1600px grid, header and footer stay unchanged. */
.subpage-main { color: #243746; }
.subpage-main p { line-height: 1.7; }
.subpage-main h1, .subpage-main h2, .subpage-main h3 { text-wrap: pretty; }
.subpage-main .sub-hero { padding: 28px 0 60px; background: #f2f7fa; }
.subpage-main .sub-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 36px; font-size: 13px; color: #506174; }
.subpage-main .sub-breadcrumb a { text-decoration: none; }
.subpage-main .sub-breadcrumb a:hover { color: #0067b8; text-decoration: underline; }
.subpage-main .sub-hero-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: clamp(32px,5vw,96px); align-items: center; }
.subpage-main .sub-hero-copy { min-width: 0; }
.subpage-main h1 { font-size: 46px; line-height: 56px; font-weight: 600; letter-spacing: -.01em; margin: 16px 0 24px; color: #000; overflow-wrap: break-word; hyphens: auto; }
.subpage-main .sub-lede { font-size: 18px; max-width: 65ch; }
.subpage-main .sub-qualification { font-size: 14px; color: #506174; margin-top: 22px; }
.subpage-main .sub-qualification strong { color: #243746; }
.subpage-main .sub-actions { display: flex; gap: 16px 28px; flex-wrap: wrap; align-items: center; margin-top: 28px; }
.subpage-main .text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.subpage-main .sub-summary { padding: clamp(28px,3vw,48px); background: #fff; border: 1px solid #d3e1ed; border-radius: 5px; }
.subpage-main .sub-summary h2 { margin: 0; font-size: 24px; line-height: 1.3; }
.subpage-main .sub-summary ul { list-style: none; padding: 0; margin: 26px 0; }
.subpage-main .sub-summary li { position: relative; padding-left: 32px; font-size: 18px; line-height: 1.5; }
.subpage-main .sub-summary li + li { margin-top: 18px; }
.subpage-main .sub-summary li::before { content: ''; position: absolute; width: 8px; height: 15px; border: solid #1bbfea; border-width: 0 2px 2px 0; transform: rotate(45deg); left: 4px; top: 3px; }
.subpage-main .sub-summary > p { border-top: 1px solid #d3e1ed; padding-top: 22px; font-size: 15px; color: #506174; }
.subpage-main .sub-section { padding: 56px 0; }
.subpage-main .sub-section h2 { margin: 0 0 32px; }
.subpage-main .sub-case-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.subpage-main .sub-case-grid article + article { border-left: 1px solid #d3e1ed; padding-left: 32px; }
.subpage-main .sub-number { display: block; color: #0067b8; font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.subpage-main .sub-case-grid p, .subpage-main .sub-step-grid p { margin-top: 12px; color: #506174; }
.subpage-main .sub-scope { margin-top: 32px; padding-top: 22px; border-top: 1px solid #d3e1ed; color: #506174; font-size: 13px; }
.subpage-main .sub-process { background: #f2f7fa; }
.subpage-main .sub-step-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.subpage-main .sub-step-grid li { position: relative; min-width: 0; }
.subpage-main .sub-step-number { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; color: #0067b8; border: 1px solid #c6dced; border-radius: 50%; background: #fff; font-size: 14px; font-weight: 600; margin-bottom: 20px; }
.subpage-main .sub-step-grid li:not(:last-child)::after { content: ''; position: absolute; top: 20px; left: 56px; right: -24px; height: 1px; background: #c6dced; }
.subpage-main .sub-checklist-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,2fr); gap: 48px; align-items: start; }
.subpage-main .sub-section-intro h2 { margin-bottom: 20px; }
.subpage-main .sub-section-intro p { color: #506174; }
.subpage-main .sub-accordion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.subpage-main .sub-accordions { min-width: 0; background: #f7fafc; border: 1px solid #d3e1ed; border-radius: 5px; padding: 4px 22px; }
.subpage-main .sub-accordions .customer-faq-item { margin: 0; border: 0; border-bottom: 1px solid #d3e1ed; background: none; border-radius: 0; padding: 0; }
.subpage-main .sub-accordions .customer-faq-item:last-child { border-bottom: 0; }
.subpage-main .sub-accordions summary { font-size: 15px; font-weight: 600; cursor: pointer; padding: 18px 28px 18px 0; line-height: 1.6; overflow-wrap: break-word; }
.subpage-main .sub-accordions .customer-faq-answer { padding: 0 0 18px; }
.subpage-main .sub-faq { padding-top: 0; }
.subpage-main .sub-faq .sub-container { padding-top: 40px; border-top: 1px solid #d3e1ed; }
.subpage-main .sub-contact { background: #f2f7fa; padding: 48px 0; scroll-margin-top: 80px; }
.subpage-main .sub-contact-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 48px; align-items: center; }
.subpage-main .sub-contact h2 { margin: 0 0 20px; }
.subpage-main .sub-contact-grid p { max-width: 76ch; color: #506174; }
.subpage-main .sub-contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; justify-self: center; min-width: 0; }
.subpage-main .sub-contact-actions .button { min-height: 46px; line-height: 1.4; }
.subpage-main .sub-availability { margin-top: 28px; padding-top: 22px; border-top: 1px solid #d3e1ed; font-size: 13px; color: #506174; }
.subpage-main .sub-company { font-size: 13px; color: #506174; margin-top: 10px; }
@media (max-width:1399px) {
  .subpage-main h1 { font-size: 24px; line-height: 28px; }
  .subpage-main .sub-checklist-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .subpage-main .sub-section-intro p { max-width: 82ch; }
}
@media (max-width:900px) {
  .subpage-main .sub-hero-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .subpage-main .sub-summary { padding: 28px; }
  .subpage-main .sub-summary ul { display: flex; flex-wrap: wrap; gap: 16px 32px; }
  .subpage-main .sub-summary li + li { margin-top: 0; }
  .subpage-main .sub-case-grid, .subpage-main .sub-step-grid { gap: 24px; }
  .subpage-main .sub-case-grid article + article { padding-left: 24px; }
  .subpage-main .sub-step-grid li:not(:last-child)::after { right: -8px; }
  .subpage-main .sub-contact-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .subpage-main .sub-contact-actions { justify-self: start; }
}
@media (max-width:767px) {
  .subpage-main h1 { font-size: 20px; line-height: 24px; }
  .subpage-main .sub-lede { font-size: 16px; }
  .subpage-main .sub-hero { padding: 24px 0 36px; }
  .subpage-main .sub-breadcrumb { margin-bottom: 28px; }
  .subpage-main .sub-section, .subpage-main .sub-contact { padding: 36px 0; }
  .subpage-main .sub-section h2 { margin-bottom: 24px; }
  .subpage-main .sub-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .subpage-main .sub-summary { padding: 24px; }
  .subpage-main .sub-summary h2 { font-size: 20px; }
  .subpage-main .sub-summary ul { display: block; margin: 22px 0; }
  .subpage-main .sub-summary li { font-size: 16px; }
  .subpage-main .sub-summary li + li { margin-top: 14px; }
  .subpage-main .sub-case-grid, .subpage-main .sub-step-grid, .subpage-main .sub-accordion-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .subpage-main .sub-case-grid article + article { padding: 20px 0 0; border-left: 0; border-top: 1px solid #d3e1ed; }
  .subpage-main .sub-number { margin-bottom: 8px; }
  .subpage-main .sub-step-grid li { padding-left: 56px; }
  .subpage-main .sub-step-number { position: absolute; top: 0; left: 0; }
  .subpage-main .sub-step-grid li:not(:last-child)::after { top: 50px; bottom: -10px; left: 20px; width: 1px; height: auto; right: auto; }
  .subpage-main .sub-accordions { padding: 2px 16px; }
  .subpage-main .sub-faq { padding-top: 0; }
  .subpage-main .sub-faq .sub-container { padding-top: 32px; }
}
