/* Standalone service page: shared brand tokens and editorial section rhythm. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--space-9); }
body { margin: 0; min-width: 320px; }
em { font-family: var(--font-italic); font-weight: 400; }
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--border-accent);
  outline-offset: var(--space-1);
}
.skip-link { position: fixed; top: -100px; left: var(--space-4); z-index: 100; padding: var(--space-4); background: var(--bg-canvas); }
.skip-link:focus { top: var(--space-4); }
.page-container { max-width: var(--content-xwide); margin: 0 auto; }
.page-section { padding: 160px var(--space-7) 140px; }
.page-section .lr-eyebrow { color: var(--fg-link); }
.services-intro { padding-top: calc(var(--space-10) + var(--space-8)); }
.services-intro h1 { font-size: clamp(var(--fs-h2), 6vw, var(--fs-display)); max-width: 18ch; margin: var(--space-6) 0; }
.services-intro h1 em, .service-heading h2 em { color: var(--fg-link); }
.page-lead { font-size: var(--fs-lead); line-height: var(--leading-relaxed); color: var(--fg-secondary); max-width: 56ch; }
.services-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.services-index a { display: grid; grid-template-columns: auto 1fr auto; gap: var(--space-4); align-items: baseline; padding: var(--space-5) 0; border-top: 1px solid var(--border-default); border-bottom: 0; color: var(--fg-primary); }
.services-index a span { color: var(--fg-link); }
.service-detail { border-top: 1px solid var(--border-subtle); }
.service-heading { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: var(--space-8); align-items: start; }
.service-heading .lr-eyebrow { line-height: var(--leading-relaxed); }
.service-heading h2 { font-size: clamp(var(--fs-h3), 4vw, var(--fs-h1)); max-width: 28ch; }
.service-heading .page-lead { margin-top: var(--space-5); }
.service-content { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-8); margin-top: var(--space-8); align-items: start; }
.service-content figure { margin: 0; }
.service-content img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--bg-soft); }
.service-content figcaption { font-size: var(--fs-caption); color: var(--fg-secondary); margin-top: var(--space-4); }
.service-inclusions h3 { font: 700 var(--fs-eyebrow)/var(--leading-relaxed) var(--font-ui); letter-spacing: var(--tracking-wider); text-transform: uppercase; padding-bottom: var(--space-5); }
.service-inclusions ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--border-default); }
.service-inclusions li { padding: var(--space-5) 0; border-bottom: 1px solid var(--border-subtle); line-height: var(--leading-relaxed); }
.creative-direction { background: var(--bg-soft); }
.services-primary-cta { display: inline-flex; align-items: center; gap: var(--space-5); margin-top: var(--space-7); font: 700 12px/var(--leading-normal) var(--font-ui); letter-spacing: 0.18em; text-transform: uppercase; background: var(--bg-accent); color: var(--fg-on-accent); border: none; border-radius: var(--radius-xs); padding: 20px 36px; min-height: 44px; transition: background var(--duration-fast) var(--ease-standard); }
.services-primary-cta:hover { background: var(--lr-terracota-700); opacity: 1; }
.services-primary-cta:active { transform: scale(0.97); }
.eidora-nav-link[aria-current="page"] { border-bottom: 1px solid var(--border-accent) !important; opacity: 1 !important; }
@media (max-width: 1024px) {
  .service-heading { grid-template-columns: 1fr; gap: var(--space-6); }
  .services-index { gap: var(--space-5); }
  .service-content { gap: var(--space-6); }
}
@media (max-width: 768px) {
  .page-section { padding: 88px var(--space-5); }
  .services-intro { padding-top: calc(var(--space-10) + var(--space-5)); }
  .services-intro h1 { font-size: var(--fs-h2); }
  .services-index, .service-content { grid-template-columns: 1fr; }
  .services-index { gap: 0; margin-top: var(--space-7); }
  .service-content { margin-top: var(--space-7); }
  .service-heading h2 { font-size: var(--fs-h3); }
}
@media (max-width: 480px) {
  .page-section { padding-left: var(--space-4); padding-right: var(--space-4); }
  .services-intro h1 { font-size: var(--fs-h2); }
  .services-primary-cta { width: 100%; justify-content: center; text-align: center; padding-left: var(--space-5); padding-right: var(--space-5); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .services-primary-cta:active { transform: none; }
}

/* Links from the overview to category and service pages. */
.service-inclusions .service-route-link { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); min-height:44px; border:0; color:var(--fg-primary); }
.service-inclusions .service-route-link span { color:var(--fg-link); }
.service-category-link { display:inline-flex; align-items:center; min-height:44px; margin-top:var(--space-5); }
