/* Full service layouts from the preserved designer package. */
.page-hero .service-hero-actions { margin-top: 28px; }
.page-hero .service-hero-actions .button { min-height: 48px; gap: 14px; max-width: 100%; white-space: normal; }
.page-hero .service-hero-actions .button-light { color: #17121f; background: #fff; border-color: #fff; }
.page-hero .service-hero-actions .button-light:hover { color: #fff; background: #6328b5; border-color: #fff; }
.page-hero .service-hero-actions .button:focus-visible { outline: 3px solid #bfa0ff; outline-offset: 5px; }
.designer-page .designer-service-hero .page-lead,
.services-index .page-hero .page-lead { max-width: 690px; }
.designer-page .designer-service-intro .large-copy { color: var(--muted); }
.designer-page .designer-service-intro h2,
.designer-page .designer-service-intro h3 { line-height: 1.6; }
.services-index .service-list-card > p { margin-bottom: 0; }
.services-index .service-list-card .text-link { margin-bottom: 80px; font-size: 12px; letter-spacing: .12em; }
.services-index .service-list-card:hover p,
.services-index .service-list-card:hover span { color: #fff; }
.service-directory { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }
.service-directory h3 { margin-bottom: 18px; font: 500 18px/1.3 "Manrope", sans-serif; }
.service-directory ul { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; padding: 0; list-style: none; }
.service-directory a { font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
.service-directory a:hover { color: var(--brand); }
.designer-service-scope .deliverables-odd .deliverable:last-child { grid-column: 1 / -1; border-right: 0; }
.designer-page .deliverable { grid-template-columns: 1fr; padding: 28px; }
.designer-service-details { padding-block: clamp(36px, 5vw, 64px) 0; }
.service-details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-details > summary { position: relative; display: grid; gap: 8px; padding: 28px 44px 28px 0; cursor: pointer; list-style: none; }
.service-details > summary::-webkit-details-marker { display: none; }
.service-details > summary > span:first-child { font: 500 clamp(24px, 3vw, 36px)/1.2 "Manrope", sans-serif; letter-spacing: -.035em; }
.service-details > summary::after { position: absolute; top: 28px; right: 8px; content: "+"; color: var(--brand); font-size: 30px; line-height: 1; }
.service-details[open] > summary::after { content: "−"; }
.service-details-hint { color: var(--muted); font-size: 14px; }
.service-details-body { max-width: 900px; padding: 24px 0 48px; }
.service-details-body .breadcrumbs { margin: 0 0 32px; color: var(--muted); font-size: 12px; }
.service-details-body .breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.service-details-body .breadcrumbs li:not(:last-child)::after { margin-left: 8px; content: "/"; }
.service-details-body .breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.service-detail-block + .service-detail-block { margin-top: 42px; padding-top: 32px; border-top: 1px solid var(--line); }
.designer-page .service-details-body h2 { margin: 30px 0 18px; font: 500 clamp(26px, 2.5vw, 34px)/1.2 "Manrope", sans-serif; letter-spacing: -.035em; }
.designer-page .service-details-body h3 { margin: 24px 0 14px; font: 500 23px/1.25 "Manrope", sans-serif; }
.designer-page .service-details-body .service-detail-block > h2:first-child { margin-top: 0; }
.designer-page .service-details-body p,
.designer-page .service-details-body li { font-size: 17px; }
.designer-page .service-details-body .entry-content li { margin-bottom: 0; }
.designer-page .service-details-body .service-step-list { gap: 14px; }
.designer-page .service-details-faq .faq-item { padding: 18px 0; }
.designer-page .service-details-faq .faq-item summary { font-size: 18px; font-weight: 500; }
.service-related-links ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.service-related-links a { text-decoration: underline; text-underline-offset: 4px; }
.designer-service-cta .button-row { position: relative; z-index: 1; }
@media (max-width: 700px) {
  .service-directory ul { display: grid; gap: 16px; }
  .service-details > summary { padding-block: 24px; }
  .service-details > summary::after { top: 24px; }
  .service-details-body { padding-bottom: 32px; }
}
