.service-page { padding: 1.8125rem 0 1.5rem; background: #fdfaf7; color: #151618; }
.service-page .container { width: min(84.5rem, calc(100% - 5.5rem)); }
.service-page__heading { margin-bottom: 1.8125rem; }
.service-page__heading h1 { margin: 0; font-size: 2.4375rem; line-height: 1.12; letter-spacing: -0.09375rem; }
.service-page__heading p { margin: 0.5rem 0 0; color: #777b82; font-size: 0.875rem; line-height: 1.45; }
.service-intro { position: relative; min-height: 11.875rem; padding: 1.375rem 1rem; border: 0.0625rem solid #e1ddd7; border-radius: 0.875rem; background: #fff; box-shadow: 0 0.3125rem 1.0625rem rgba(0,0,0,.025); }
.service-intro > i { position: absolute; top: -0.0625rem; left: 1rem; width: 5.75rem; height: 0.25rem; border-radius: 0.125rem; background: #ff5c0a; }
.service-intro h2 { margin: 0; font-size: 1.6875rem; line-height: 1.2; letter-spacing: -0.03125rem; }
.service-intro p { max-width: 58.75rem; margin: 0.75rem 0 0; color: #777b82; font-size: 0.75rem; line-height: 1.45; }
.service-button { display: inline-flex; min-width: 12.5rem; min-height: 2.6875rem; align-items: center; justify-content: center; margin-top: 1.8125rem; padding: 0 1.375rem; border-radius: 0.5rem; background: #ff570d; color: #fff; font-size: 0.75rem; font-weight: 700; }
.service-button:hover { color: #fff; background: #e94d08; }
.service-features { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.75rem; margin-top: 1.5rem; }
.service-features article { display: flex; min-height: 7.25rem; gap: 0.75rem; padding: 0.875rem; border: 0.0625rem solid #e1ddd7; border-radius: 0.875rem; background: #fff; box-shadow: 0 0.3125rem 1rem rgba(0,0,0,.025); }
.service-features article > span { display: grid; flex: 0 0 2.625rem; width: 2.625rem; height: 2.625rem; place-items: center; border-radius: 0.625rem; background: #fff0e8; color: #ff5c0a; }
.service-features svg { width: 1.3125rem; height: 1.3125rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.service-features h2 { margin: 0.1875rem 0 0.625rem; font-size: 0.875rem; line-height: 1.2; }
.service-features p { margin: 0; color: #7b7f86; font-size: 0.6875rem; line-height: 1.4; }
.delivery-process { min-height: 15rem; margin-top: 4.25rem; padding: 1.25rem 1rem; border: 0.0625rem solid #e1ddd7; border-radius: 0.875rem; background: #fff; }
.delivery-process h2 { margin: 0 0 0.9375rem; font-size: 1.4375rem; }
.delivery-process ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.delivery-process li { display: flex; min-height: 4.25rem; align-items: center; gap: 0.75rem; padding: 0.625rem; border: 0.0625rem solid #e1ddd7; border-radius: 0.5625rem; }
.delivery-process b { display: grid; flex: 0 0 1.9375rem; width: 1.9375rem; height: 1.9375rem; place-items: center; border-radius: 50%; background: #fff0e8; color: #ff5c0a; font-size: 0.6875rem; font-weight: 500; }
.delivery-process span { font-size: 0.6875rem; }
.service-intro--payment { min-height: 8.125rem; }
.service-page--payment .service-features { margin-top: 1.5rem; }
.payment-note { display: flex; min-height: 11.875rem; flex-direction: column; align-items: flex-start; justify-content: flex-end; margin-top: 4.25rem; padding: 1.25rem 1rem 1.625rem; border: 0.0625rem solid #e1ddd7; border-radius: 0.875rem; background: #fff; }
.payment-note p { max-width: 48.75rem; margin: 0; color: #c8c9cc; font-size: 0.6875rem; line-height: 1.45; }
.payment-note .service-button { min-width: 11.875rem; margin-top: 1.9375rem; }

@media (min-width: 1200px) {
  .service-page--delivery .service-intro { min-height: 0; height: 11.875rem; }
}

/* Shared legal/document page. */
.legal-page { padding: 0.8125rem 0 1.5625rem; background: #fdfbf8; color: #151618; }
.legal-page .container { width: min(84.5rem, calc(100% - 5.5rem)); }
.legal-breadcrumbs { display: flex; gap: 0.25rem; margin-bottom: 1.25rem; color: #898d93; font-size: 0.625rem; }
.legal-heading { margin-bottom: 2.6875rem; }
.legal-heading h1 { margin: 0; font-size: 2.4375rem; line-height: 1.15; letter-spacing: -0.09375rem; }
.legal-heading p { margin: 0.625rem 0 0; color: #777b82; font-size: 0.8125rem; }
.legal-document { min-height: 47.5rem; padding: 1.3125rem 1.375rem 1.875rem; border: 0.0625rem solid #e2ded8; border-radius: 0.875rem; background: #fff; }
.legal-document__date { margin: 0 0 1.6875rem; color: #909399; font-size: 0.625rem; }
.legal-document__content { display: grid; gap: 3.375rem; }
.legal-document__content h2 { margin: 0 0 1.25rem; font-size: 1.125rem; line-height: 1.25; }
.legal-document__content p { margin: 0; color: #7c8086; font-size: 0.6875rem; line-height: 1.55; }
.legal-note { min-height: 6.875rem; margin-top: 1rem; padding: 1.125rem 1rem; border-radius: 0.875rem; background: #f8f4ef; }
.legal-note h2 { margin: 0 0 0.875rem; font-size: 1.125rem; }
.legal-note p { margin: 0; color: #7c8086; font-size: 0.6875rem; }

@media (max-width: 1199px) and (min-width: 768px) {
  .legal-page .container { width: min(45rem, calc(100% - 3rem)); }
  .legal-heading { margin-bottom: 2rem; }
  .legal-document { min-height: 50rem; }
}

@media (max-width: 767px) {
  .legal-page { padding: 0 0 1.375rem; }
  .legal-page .container { width: calc(100% - 2rem); }
  .legal-breadcrumbs { margin: 0 0 1.125rem; padding-top: 0; }
  .legal-heading { margin-bottom: 1.75rem; }
  .legal-heading h1 { font-size: 1.875rem; line-height: 1.35; letter-spacing: -0.05rem; }
  .legal-heading p { font-size: 0.75rem; line-height: 1.45; }
  .legal-document { min-height: 62.5rem; padding: 1.0625rem 0.875rem 1.625rem; border-radius: 0.8125rem; }
  .legal-document__date { margin-bottom: 1.8125rem; }
  .legal-document__content { gap: 4.0625rem; }
  .legal-document__content h2 { margin-bottom: 1.125rem; font-size: 1.125rem; }
  .legal-document__content p { font-size: 0.6875rem; line-height: 1.45; }
  .legal-note { min-height: 10.625rem; padding: 1.125rem 0.875rem; }
  .legal-note h2 { font-size: 1.125rem; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .service-page { padding-top: 1.9375rem; }
  .service-page .container { width: min(45rem, calc(100% - 3rem)); }
  .service-page__heading { margin-bottom: 2rem; }
  .service-intro { min-height: 11.125rem; }
  .service-intro--payment { min-height: 8.125rem; }
  .service-page--payment { padding-bottom: 1.0625rem; }
  .service-page--delivery { padding-bottom: 1.25rem; }
  main:has(> .service-page) + .site-footer { height: 28.125rem; }
  .service-features { gap: 0.75rem; }
  .delivery-process { margin-top: 4.25rem; }
  .payment-note { margin-top: 4.25rem; }
}

@media (max-width: 767px) {
  .service-page { padding: 2.0625rem 0 1.125rem; }
  .service-page--delivery { padding-bottom: 0.8125rem; }
  .service-page .container { width: calc(100% - 2rem); }
  .service-page__heading { margin-bottom: 1.0625rem; }
  .service-page__heading h1 { font-size: 1.875rem; letter-spacing: -0.075rem; }
  .service-page__heading p { margin-top: 0.6875rem; font-size: 0.75rem; line-height: 1.45; }
  .service-intro { min-height: 14.875rem; padding: 1.25rem 0.9375rem; }
  .service-intro > i { left: 1rem; width: 4rem; }
  .service-intro h2 { font-size: 1.4375rem; line-height: 1.3; }
  .service-intro p { margin-top: 0.75rem; font-size: 0.75rem; line-height: 1.45; }
  .service-button { min-width: 11.875rem; min-height: 2.75rem; margin-top: 1rem; }
  .service-features { grid-template-columns: 1fr; gap: 0.875rem; margin-top: 1.5rem; }
  .service-features article { min-height: 7.1875rem; padding: 0.875rem; }
  .service-features h2 { margin-top: 0.1875rem; font-size: 0.875rem; }
  .service-features p { font-size: 0.6875rem; line-height: 1.42; }
  .delivery-process { min-height: 22.0625rem; margin-top: 2.4375rem; padding: 1.0625rem 0.9375rem; }
  .delivery-process h2 { margin-bottom: 1rem; font-size: 1.375rem; line-height: 1.25; }
  .delivery-process ol { grid-template-columns: 1fr; gap: 0.75rem; }
  .delivery-process li { min-height: 3.875rem; }
  .service-intro--payment { min-height: 9.375rem; }
  .service-page--payment .service-features { margin-top: 1.5rem; }
  .payment-note { min-height: 16.4375rem; margin-top: 2.4375rem; padding: 1.25rem 0.9375rem 3rem; }
  .payment-note p { font-size: 0.6875rem; }
  .payment-note .service-button { min-width: 11.25rem; margin-top: 2.375rem; }
}
