/* Service detail main content only. Reuse the homepage's shared brand tokens. */
.public-design[data-public-page="service-detail"] { overflow: clip; }
.public-design[data-public-page="service-detail"] .service-eyebrow {
  display: block; font: 600 10px/1.6 var(--home-sans);
  letter-spacing: .19em; text-transform: uppercase; color: var(--home-gold);
}
.public-design[data-public-page="service-detail"] .service-hero {
  position: relative; isolation: isolate; display: flex; align-items: center;
  margin: 6px 24px 0; padding: 48px 0 !important;
  min-height: clamp(440px,62vh,620px); border-radius: 3px; overflow: hidden;
  background: #28362a;
}
.public-design[data-public-page="service-detail"] .service-hero-photo {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
}
.public-design[data-public-page="service-detail"] .service-hero-overlay {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg,rgb(16 24 19 / 84%),rgb(16 24 19 / 28%) 85%);
}
.public-design[data-public-page="service-detail"] .service-hero > .container { width: 100%; }
.public-design[data-public-page="service-detail"] .service-hero .breadcrumb { margin: 0 0 34px; font-size: 11px; }
.public-design[data-public-page="service-detail"] .service-hero-copy { max-width: 700px; }
.public-design[data-public-page="service-detail"] .service-hero .service-eyebrow { color: #d9c89d; margin-bottom: 14px; }
.public-design[data-public-page="service-detail"] .service-hero h1 {
  font-size: clamp(36px,4vw,56px) !important; line-height: 1.08 !important; margin: 0 0 22px;
}
.public-design[data-public-page="service-detail"] .service-hero-summary { max-width: 520px; color: #e7e8df; font-size: 14px; line-height: 1.7; margin: 0 0 28px; }
.public-design[data-public-page="service-detail"] .service-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.public-design[data-public-page="service-detail"] .service-hero-actions .btn { width: auto; margin: 0; }
.public-design[data-public-page="service-detail"] .service-hero-actions .btn-primary { background: #efe8d5 !important; border-color: #efe8d5 !important; color: #28362a !important; }
.public-design[data-public-page="service-detail"] .service-hero-actions .btn-outline { color: #fffdfa !important; border-color: rgb(255 253 245 / 45%) !important; background: rgb(16 24 19 / 16%) !important; }
.public-design[data-public-page="service-detail"] .service-hero-actions .btn:hover { background: #d9c89d !important; border-color: #d9c89d !important; color: #28362a !important; }
.public-design[data-public-page="service-detail"] .service-intro-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: center; }
.public-design[data-public-page="service-detail"] .service-image { aspect-ratio: 4 / 5; margin: 0; border-radius: 2px; overflow: hidden; background: #e8e7de; }
.public-design[data-public-page="service-detail"] .service-image img { display: block; width: 100%; height: 100%; object-fit: cover; box-shadow: none; border-radius: 0; }
.public-design[data-public-page="service-detail"] .service-description { min-width: 0; font-size: 14px; line-height: 1.75; padding: 0; border: 0; background: transparent; box-shadow: none; }
.public-design[data-public-page="service-detail"] .service-description h2 { font-size: clamp(26px,2.8vw,38px) !important; margin: 0 0 24px; }
.public-design[data-public-page="service-detail"] .service-description > div h2 { font-size: 24px !important; margin: 24px 0 14px; }
.public-design[data-public-page="service-detail"] .service-description :is(p,li) { color: var(--home-muted); font-size: 14px; line-height: 1.75; }
.public-design[data-public-page="service-detail"] .service-description :is(ul,ol) { padding-left: 20px; }
.public-design[data-public-page="service-detail"] .service-description img { height: auto; }
.public-design[data-public-page="service-detail"] .service-description :is(table,pre) { display: block; max-width: 100%; overflow-x: auto; }
.public-design[data-public-page="service-detail"] .service-content { padding-top: 0 !important; }
.public-design[data-public-page="service-detail"] .service-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,340px); gap: 64px; align-items: start; }
.public-design[data-public-page="service-detail"] .service-main { display: grid; gap: 48px; }
.public-design[data-public-page="service-detail"] .service-process { padding: 0; border: 0; background: transparent; border-radius: 0; }
.public-design[data-public-page="service-detail"] .service-features { padding: 0 !important; border: 0 !important; background: transparent !important; }
.public-design[data-public-page="service-detail"] :is(.service-features,.service-process) h2 { margin: 0 0 26px; }
.public-design[data-public-page="service-detail"] .features-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.public-design[data-public-page="service-detail"] .feature-item { display: flex; align-items: baseline; gap: 12px; padding: 18px 0; border-top: 1px solid var(--home-line); border-radius: 0; background: transparent; font-size: 13px; color: var(--home-ink); }
.public-design[data-public-page="service-detail"] .feature-item i { color: var(--home-gold); font-size: 12px; }
.public-design[data-public-page="service-detail"] .feature-item:hover { transform: none; background: transparent; }
.public-design[data-public-page="service-detail"] .process-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.public-design[data-public-page="service-detail"] .process-step { display: block; padding: 22px 0 0; border-top: 1px solid var(--home-line); text-align: left; }
.public-design[data-public-page="service-detail"] .step-number { display: block; width: auto; height: auto; margin: 0 0 20px; background: transparent; font: 400 30px/1 var(--home-serif); color: var(--home-gold) !important; }
.public-design[data-public-page="service-detail"] .process-step h3 { font-size: 17px; margin: 0 0 10px; }
.public-design[data-public-page="service-detail"] .process-step p { font-size: 13px; margin: 0; }
.public-design[data-public-page="service-detail"] .service-sidebar { display: grid; gap: 16px; position: sticky; top: calc(var(--public-nav-height,86px) + 24px); }
.public-design[data-public-page="service-detail"] .sidebar-card { padding: 24px !important; border: 1px solid var(--home-line) !important; }
.public-design[data-public-page="service-detail"] .price-card { background: var(--home-tint) !important; text-align: left; }
.public-design[data-public-page="service-detail"] .price-label { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.public-design[data-public-page="service-detail"] .price-value { font: 400 38px/1.3 var(--home-serif); margin: 8px 0; color: var(--home-ink); }
.public-design[data-public-page="service-detail"] .price-note { font-size: 11px; margin-bottom: 22px; }
.public-design[data-public-page="service-detail"] .btn-block { display: flex; width: 100%; margin-top: 10px; }
.public-design[data-public-page="service-detail"] .sidebar-card h3 { font-size: 16px; margin: 0 0 18px; }
.public-design[data-public-page="service-detail"] .benefits-list { list-style: none; padding: 0; margin: 0; }
.public-design[data-public-page="service-detail"] .benefits-list li { display: flex; gap: 12px; align-items: center; font-size: 12px; margin: 0; padding: 10px 0; color: var(--home-muted); border-bottom: 1px solid var(--home-line); }
.public-design[data-public-page="service-detail"] .benefits-list li:last-child { border: 0; }
.public-design[data-public-page="service-detail"] .benefits-list i { width: 16px; text-align: center; }
.public-design[data-public-page="service-detail"] .contact-card p { font-size: 13px; margin: 0 0 14px; }
.public-design[data-public-page="service-detail"] .contact-link { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; color: var(--home-ink) !important; font-size: 12px; text-underline-offset: 4px; }
.public-design[data-public-page="service-detail"] .related-services { border-top: 1px solid var(--home-line); background: var(--home-tint) !important; }
.public-design[data-public-page="service-detail"] .related-services .section-header { margin: 0 0 28px; }
.public-design[data-public-page="service-detail"] .related-services .section-header p { font-size: 14px; }
.public-design[data-public-page="service-detail"] .related-services .service-card { display: flex; flex-direction: column; text-align: left; padding: 0; }
.public-design[data-public-page="service-detail"] .related-service-image { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 2px; background: #e8e7de; }
.public-design[data-public-page="service-detail"] .related-service-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.public-design[data-public-page="service-detail"] .service-card:hover .related-service-image img { transform: scale(1.035); }
.public-design[data-public-page="service-detail"] .related-service-symbol { display: grid; place-items: center; font-size: 32px; color: var(--home-gold); }
.public-design[data-public-page="service-detail"] .related-service-body { display: flex; flex-direction: column; flex: 1; padding: 22px 0 0; }
.public-design[data-public-page="service-detail"] .related-service-body .service-price { margin-top: auto; }
.public-design[data-public-page="service-detail"] .related-service-body .btn { align-self: flex-start; }
.public-design[data-public-page="service-detail"] section { scroll-margin-top: calc(var(--public-nav-height,86px) + 24px); }
.public-design[data-public-page="service-detail"] .related-service-body h3 { font-size: 17px; margin: 0 0 10px; }
.public-design[data-public-page="service-detail"] .related-service-body p { font-size: 13px; margin: 0 0 14px; }
.public-design[data-public-page="service-detail"] .service-price { font-size: 12px; color: var(--home-ink); margin-bottom: 18px; }
.public-design[data-public-page="service-detail"] .service-final-cta { padding: var(--brand-section-space) 0 !important; }
.public-design[data-public-page="service-detail"] .service-final-cta-layout { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 64px; align-items: center; }
.public-design[data-public-page="service-detail"] .service-final-cta .service-eyebrow { color: #d9c89d; margin-bottom: 14px; }
.public-design[data-public-page="service-detail"] .service-final-cta h2 { font-size: clamp(28px,3.6vw,44px) !important; margin: 0 0 18px; }
.public-design[data-public-page="service-detail"] .service-final-cta p { font-size: 14px; margin: 0; }
.public-design[data-public-page="service-detail"] .service-final-actions { min-width: 230px; }
@media (max-width: 1200px) {
  .public-design[data-public-page="service-detail"] :is(.service-intro-grid,.service-layout) { gap: 36px; }
}
@media (max-width: 1000px) {
  .public-design[data-public-page="service-detail"] .service-layout { grid-template-columns: minmax(0,1fr); }
  .public-design[data-public-page="service-detail"] .service-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-design[data-public-page="service-detail"] .price-card { grid-row: span 2; }
  .public-design[data-public-page="service-detail"] .service-final-cta-layout { gap: 32px; }
}
@media (max-width: 600px) {
  .public-design[data-public-page="service-detail"] .service-hero { margin: 6px 12px 0; min-height: 520px; padding: 32px 0 !important; }
  .public-design[data-public-page="service-detail"] .service-hero > .container { padding: 0 26px !important; }
  .public-design[data-public-page="service-detail"] .service-hero h1 { font-size: clamp(30px,8vw,38px) !important; }
  .public-design[data-public-page="service-detail"] .service-hero .breadcrumb { margin-bottom: 24px; }
  .public-design[data-public-page="service-detail"] .service-hero-overlay { background: rgb(16 24 19 / 67%); }
  .public-design[data-public-page="service-detail"] .service-hero-actions { flex-direction: column; }
  .public-design[data-public-page="service-detail"] .service-hero-actions .btn { width: 100%; }
  .public-design[data-public-page="service-detail"] :is(.service-intro-grid,.service-sidebar,.service-final-cta-layout) { grid-template-columns: minmax(0,1fr); }
  .public-design[data-public-page="service-detail"] .service-image { aspect-ratio: 4 / 3; }
  .public-design[data-public-page="service-detail"] .features-grid { grid-template-columns: minmax(0,1fr); }
  .public-design[data-public-page="service-detail"] .process-steps { gap: 24px 18px; }
  .public-design[data-public-page="service-detail"] .price-card { grid-row: auto; }
  .public-design[data-public-page="service-detail"] .service-main { gap: 36px; }
}
@media (max-width: 360px) { .public-design[data-public-page="service-detail"] .process-steps { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .public-design[data-public-page="service-detail"] .related-service-image img { transition: none; } }
