/* Service pages share the shop's type scale, controls and outer alignment. */
.service-page { background: #fafaf6; color: #21382e; padding-bottom: 5rem; }
.service-page__heading { padding-top: 3rem; padding-bottom: 2rem; }
.service-page__heading .eyebrow { margin: 0 0 .75rem; }
.service-page__heading h1 { margin: 0; font-size: var(--text-3xl); line-height: 1.15; overflow-wrap: anywhere; }
.service-page__layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 4rem; align-items: start; }
.service-page__sidebar { position: sticky; top: 7rem; }
.service-page__nav-group + .service-page__nav-group { margin-top: 1.5rem; }
.service-page__nav-group > p { margin: 0 0 .5rem; padding: 0 .75rem; font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #59685e; }
.service-page__nav-group ul { list-style: none; margin: 0; padding: 0; }
.service-page__nav-group a { display: flex; align-items: center; min-height: 44px; padding: .5rem .75rem; border-radius: var(--radius-control); font-size: var(--text-sm); font-weight: 600; line-height: 1.4; text-decoration: none; color: inherit; }
.service-page__nav-group a:hover { background: #e9eee5; }
.service-page__nav-group a[aria-current="page"] { color: #fff; background: #234b3c; }
.service-page__body { min-width: 0; padding: 2rem; background: #fff; border: 1px solid #e0e5dc; border-radius: var(--radius-card); font-size: var(--text-base); line-height: 1.75; overflow-wrap: anywhere; }
.service-page--legal .service-page__body > :is(p, ul, ol) { max-width: 75ch; }
.service-page__body h2 { max-width: none; margin: 2.5rem 0 1rem; font-size: var(--text-xl); line-height: 1.35; letter-spacing: -.02em; }
.service-page__body h3 { margin: 1.5rem 0 .75rem; font-size: var(--text-lg); line-height: 1.4; }
.service-page__body > h2:first-child { margin-top: 0; }
.service-page__body p { margin: 0 0 1rem; font-size: inherit; }
.service-page__body p:last-child { margin-bottom: 0; }
.service-page__body > h2:not(:first-child) { padding-top: 2rem; border-top: 1px solid #e6e9e1; }
.service-page__body a:not(.button) { color: #265d47; text-underline-offset: .2em; }
.service-page__body :is(.editorial-intro, .content-section) { max-width: none; padding: 0; margin: 0 0 2rem; }
.service-page__body .editorial-intro { font-size: var(--text-base); }
.service-page__body .editorial-split { display: block; }
.service-page__body .editorial-split h2 { margin-top: .5rem; }
.service-page__body .faq-section { display: block; border-top: 1px solid #e0e5dc; padding-top: 2rem; }
.service-page__body .content-section__heading { margin-bottom: 1rem; }
.service-page__body .content-section__heading h2 { margin-top: .5rem; }
.service-page__body .faq-list summary { list-style: none; font-size: var(--text-base); padding: 1rem 2rem 1rem 0; line-height: 1.5; }
.service-page__body .faq-list summary::-webkit-details-marker { display: none; }
.service-page__body .faq-list summary::marker { content: ''; }
.service-page__body .faq-list details { border-radius: 0; padding: 0; border-bottom: 1px solid #e0e5dc; }
.service-page__body .faq-list details p { padding: 0 1.5rem 1rem 0; font-size: var(--text-sm); }
.service-contact { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem; margin-top: 2rem; border-radius: var(--radius-card); background: #edf2e6; color: #213e30; }
.service-page__body .service-contact h2 { margin: 0 0 .5rem; font-size: var(--text-xl); }
.service-page__body .service-contact p { margin: 0; font-size: var(--text-sm); line-height: 1.65; }
.service-contact .button { flex-shrink: 0; background: #234b3c; color: #fff; border-color: #234b3c; }
.service-contact .button:hover { background: #163829; }
.service-page__body .withdrawal-download { margin-top: 1rem; font-size: var(--text-sm); }
.service-shipping { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.5rem 0 2rem; }
.service-shipping article { padding: 1.25rem; background: #f7f8f3; border: 1px solid #e0e5dc; border-radius: var(--radius-card); }
.service-shipping article:first-child { grid-column: 1 / -1; background: #edf2e6; }
.service-page__body .service-shipping h2 { margin: 0 0 .5rem; font-size: var(--text-lg); }
.service-shipping__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1rem; }
.service-shipping__price strong { font-size: var(--text-2xl); line-height: 1.3; }
.service-shipping__price span { font-size: var(--text-sm); font-weight: 600; }
.service-page__body .service-shipping p { font-size: var(--text-sm); line-height: 1.7; }
.service-payment-list { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1rem 0; }
.service-payment-list li { padding: .5rem .75rem; background: #f7f8f3; border: 1px solid #dde4d9; border-radius: var(--radius-control); font-size: var(--text-sm); font-weight: 600; line-height: 1.5; }
@media (max-width: 1000px) {
  .service-page__layout { grid-template-columns: 13rem minmax(0, 1fr); gap: 2rem; }
  .service-page__body { padding: 1.5rem; }
  .service-contact { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .service-page { padding-bottom: 3rem; }
  .service-page__heading { padding-top: 2rem; padding-bottom: 1.5rem; }
  .service-page__heading h1 { font-size: var(--text-2xl); }
  .service-page__layout { display: flex; flex-direction: column; gap: 1.5rem; }
  .service-page__body { width: 100%; padding: 1.25rem; order: 0; }
  .service-page__sidebar { position: static; width: 100%; order: 1; }
  .service-page__sidebar nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-top: .5rem; }
  .service-page__nav-group + .service-page__nav-group { margin-top: 0; }
  .service-page__body h2 { font-size: var(--text-lg); }
  .service-page__body > h2:not(:first-child) { margin-top: 2rem; padding-top: 1.5rem; }
  .service-contact { padding: 1.25rem; gap: 1rem; }
  .service-contact .button { width: 100%; }
  .service-shipping { grid-template-columns: 1fr; }
  .service-shipping article:first-child { grid-column: auto; }
}
