/* Service editorial surface: existing FilAudit tokens, no shared overrides. */
.service-page { --service-width: 1200px; --service-gutter: 40px; --service-space: 104px; }
.service-container { width: calc(100% - 2 * var(--service-gutter)); max-width: var(--service-width); margin-inline: auto; }
.service-hero { padding-block: calc(var(--nav-height) + 48px) 80px; }
.service-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 48px; color: var(--fil-ink-muted); }
.service-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
.service-label { font: 400 var(--meta)/1.6 var(--fil-font-mono); text-transform: uppercase; letter-spacing: .055em; color: var(--fil-ink-muted); }
.service-hero h1 { max-width: 1000px; margin-block: 20px 40px; font-size: 56px; line-height: 1.08; }
.service-hero__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.service-lead { max-width: 640px; font-size: 18px; line-height: 1.6; color: var(--fil-ink-muted); }
.service-format { margin-top: 24px; }
.service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; }
.service-text-link { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
.service-start { border-left: 2px solid var(--fil-cyan-ink); padding-left: 24px; }
.service-start h2 { font-size: 24px; line-height: 1.3; margin-bottom: 16px; }
.service-start p { line-height: 1.8; color: var(--fil-ink-muted); }
.service-start p + p { margin-top: 16px; }
.service-section { padding-block: var(--service-space); border-top: 1px solid var(--fil-rule); }
.service-section__heading { max-width: 760px; margin-bottom: 48px; }
.service-section h2 { margin-block: 16px 24px; }
.service-section p, .service-section li, .service-section dd { line-height: 1.65; }
.service-section p { color: var(--fil-ink-muted); }
.service-section h3 { margin: 0 0 12px; font-size: 22px; font-weight: 400; line-height: 1.3; letter-spacing: -.02em; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.service-situation { border-top: 1px solid var(--fil-rule-strong); padding-top: 24px; }
.service-number { display: block; font-family: var(--fil-font-mono); color: var(--fil-cyan-ink); margin-bottom: 24px; }
.service-band { background: var(--fil-paper-warm); }
.service-band .service-section { border: 0; }
.service-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; }
.service-split > div > p + a { margin-top: 24px; }
.service-definitions { margin: 0; }
.service-definitions > div { padding-block: 20px; border-bottom: 1px solid var(--fil-rule-strong); }
.service-definitions > div:first-child { padding-top: 0; }
.service-definitions dt { font-size: 18px; margin-bottom: 8px; }
.service-definitions dd { margin: 0; color: var(--fil-ink-muted); }
.service-options { gap: 0; border: 1px solid var(--fil-rule); }
.service-options article { padding: 32px; }
.service-options article + article { border-left: 1px solid var(--fil-rule); }
.service-options .service-label { min-height: 3.2em; }
.service-options h3 { margin-block: 24px 16px; font-size: 30px; }
.service-option-check { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--fil-rule); }
.service-option-check strong { display: block; color: var(--fil-ink); font-weight: 500; margin-bottom: 8px; }
.service-related { margin-top: 24px; max-width: 760px; }
.service-related a { text-underline-offset: 4px; }
.service-deliverables { margin: 0; padding-left: 24px; }
.service-deliverables li { padding: 0 0 24px 12px; }
.service-deliverables li:last-child { padding-bottom: 0; }
.service-deliverables li::marker { color: var(--fil-cyan-ink); font-family: var(--fil-font-mono); }
.service-example { color: var(--fil-ink-inverse); background: var(--fil-petrol); }
.service-example .service-section { border: 0; }
.service-example p, .service-example .service-label { color: var(--fil-ink-inverse); }
.service-example .service-label { color: var(--fil-cyan); }
.service-flow { list-style: none; counter-reset: service-step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; }
.service-flow li { counter-increment: service-step; border-top: 1px solid var(--fil-cyan); padding-top: 24px; }
.service-flow li::before { content: '0' counter(service-step); display: block; font-family: var(--fil-font-mono); color: var(--fil-cyan); margin-bottom: 24px; }
.service-checks { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--fil-rule); }
.service-checks ul { padding-left: 20px; margin: 0; }
.service-checks li + li { margin-top: 12px; }
.service-checks strong { font-weight: 500; }
.service-example__note { max-width: 800px; margin-top: 32px; }
.service-preparation { margin: 0 0 24px; padding-left: 20px; }
.service-preparation li + li { margin-top: 12px; }
.service-page > .faq-grid { max-width: calc(var(--service-width) + 2 * var(--service-gutter)); margin-inline: auto; padding-inline: var(--service-gutter); }
.service-page .faq-item summary { min-height: 44px; }
.service-page .faq-item summary:focus-visible { outline: var(--fil-focus-width) solid var(--fil-focus); outline-offset: var(--fil-focus-offset); }
@media (max-width: 1000px) {
  .service-page { --service-gutter: 16px; --service-space: 64px; }
  .service-hero { padding-bottom: 64px; }
  .service-hero h1 { font-size: 48px; }
  .service-hero__body, .service-split { gap: 40px; }
  .service-grid { gap: 24px; }
  .service-options { gap: 0; }
  .service-options article { padding: 24px 16px; }
  .service-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}
@media (max-width: 560px) {
  .service-hero { padding-top: calc(var(--nav-height) + 32px); }
  .service-breadcrumb { margin-bottom: 24px; }
  .service-hero h1 { font-size: 36px; margin-bottom: 32px; }
  .service-lead { font-size: 16px; }
  .service-hero__body, .service-split, .service-grid, .service-flow, .service-checks { grid-template-columns: minmax(0, 1fr); }
  .service-section__heading { margin-bottom: 32px; }
  .service-options article + article { border-left: 0; border-top: 1px solid var(--fil-rule); }
  .service-options .service-label { min-height: 0; }
  .service-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .service-checks { gap: 16px; }
}
@media print {
  .service-page { --service-space: 24px; --service-gutter: 0px; }
  .service-hero { padding-block: 24px; }
  .service-hero h1 { font-size: 32px; }
  .service-section h2 { font-size: 24px; }
  .service-start, .service-options article, .service-flow li { break-inside: avoid; }
  .service-example, .service-band { background: transparent; color: var(--fil-ink); }
  .service-example p, .service-example .service-label { color: var(--fil-ink); }
}
