/* =========================================================
   RAQ.lk Services overview (prototype)
   Builds on ../homepage/styles.css and ../medical-devices/service.css.
   Editorial overview layout; no new colours (verified tokens only).
   ========================================================= */

/* Hero */
.svc-hero { background: var(--green-800); color: var(--on-dark); padding: 40px 0 56px; }
@media (min-width: 1000px) { .svc-hero { padding: 56px 0 88px; } }
.svc-hero__grid { display: grid; gap: 40px; }
@media (min-width: 1000px) { .svc-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 80px; align-items: end; } }
.svc-hero__title { color: #fff; font-weight: 600; font-size: clamp(2.125rem, 1.4rem + 3vw, 3.5rem); line-height: 1.08; letter-spacing: -0.03em; margin-bottom: 24px; max-width: 18ch; }
.svc-hero__lead { font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem); line-height: 1.6; color: #fff; max-width: 58ch; margin-bottom: 14px; }
.svc-hero__text { font-size: 17px; color: var(--on-dark-muted); max-width: 58ch; }
.svc-jump { counter-reset: sj; border-top: 1px solid var(--on-dark-line-strong); }
@media (min-width: 1000px) { .svc-jump { border-top: 0; border-left: 1px solid var(--on-dark-line-strong); padding-left: 32px; } }
.svc-jump__label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--on-dark-muted); margin: 14px 0 4px; }
.svc-jump a { display: grid; grid-template-columns: 36px 1fr; padding: 11px 0; border-bottom: 1px solid var(--on-dark-line); color: #fff; text-decoration: none; font-size: 15.5px; font-weight: 500; }
.svc-jump a::before { counter-increment: sj; content: counter(sj, decimal-leading-zero); color: var(--gold-400); font-size: 13.5px; font-weight: 600; padding-top: 1px; }
.svc-jump a:hover { color: var(--gold-400); }

/* Service areas: one editorial row per area */
.area { display: grid; gap: 24px; padding: 40px 0; border-top: 1px solid var(--ink-900); }
.area:last-child { border-bottom: 1px solid var(--line); }
@media (min-width: 1000px) { .area { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 80px; padding: 48px 0; } }
.area__no { font-family: var(--font-head); font-size: 15px; font-weight: 600; color: var(--green-700); margin-bottom: 10px; }
.area__title { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 18px; }
.area__link { font-weight: 600; font-size: 15.5px; }
.area__text { font-size: 17px; max-width: 60ch; margin-bottom: 18px; }
.area__includes-label { font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-family: var(--font-body); margin-bottom: 8px; }
.area__includes { display: grid; gap: 0 32px; }
@media (min-width: 700px) { .area__includes { grid-template-columns: 1fr 1fr; } }
.area__includes li { position: relative; padding: 8px 0 8px 22px; font-size: 15.5px; line-height: 1.5; border-bottom: 1px solid var(--line-soft); }
.area__includes li::before { content: ""; position: absolute; left: 0; top: 18px; width: 10px; height: 1.5px; background: var(--green-700); }

/* Choose a service: two-column guide table */
.guide { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 16px; }
.guide th, .guide td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); vertical-align: top; line-height: 1.5; }
.guide thead th { font-size: 13.5px; font-weight: 600; color: var(--ink-700); border-bottom: 1px solid var(--ink-900); }
.guide tbody th { font-weight: 500; color: var(--ink-900); width: 58%; }
.guide td a { font-weight: 600; }
.guide tr:last-child th, .guide tr:last-child td { border-bottom: 0; }
@media (max-width: 699px) {
  .guide, .guide tbody, .guide tr, .guide th, .guide td { display: block; width: 100%; }
  .guide thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .guide tr { padding: 6px 0; border-bottom: 1px solid var(--line); }
  .guide tbody th { width: 100%; border-bottom: 0; padding-bottom: 2px; }
  .guide tbody th::before { content: "If you "; }
  .guide td { border-bottom: 0; padding-top: 2px; }
}

/* Supporting activities */
.support { display: grid; gap: 32px; }
@media (min-width: 1000px) { .support { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 80px; align-items: start; } }
.support__list { display: grid; gap: 0 40px; border-top: 1px solid var(--ink-900); }
@media (min-width: 760px) { .support__list { grid-template-columns: 1fr 1fr; } }
.support__list li { padding: 16px 0; border-bottom: 1px solid var(--line); }
.support__list strong { display: block; font-weight: 600; font-size: 16.5px; margin-bottom: 2px; color: var(--ink-900); }
.support__list span { font-size: 15.5px; color: var(--ink-700); }

/* Clients and independence */
.clients-row { display: grid; gap: 32px; }
@media (min-width: 1000px) { .clients-row { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 80px; align-items: start; } }
.clients-row .prose p { font-size: 17px; }
.client-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 20px; }
.client-tags li { font-size: 14.5px; font-weight: 500; padding: 5px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); }
.independence { border-top: 3px solid var(--gold-400); padding-top: 20px; }
.independence h3 { font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-family: var(--font-body); margin-bottom: 10px; }
.independence p { font-size: 16.5px; color: var(--ink-900); }
.independence p + p { margin-top: 10px; }

/* UX F3 (21 Oct 2026): taller touch target for the service links (WCAG 2.2, 2.5.8). */
.area__link { display: inline-block; padding: 10px 0; min-height: 24px; }
