/* Service pages reuse the home page's hero, cards, buttons and contact section. */
.service-page .service-opening { min-height: 100svh; }
.service-page .service-opening .hero-content { max-width: 1180px; width: 100%; padding-top: 150px; padding-bottom: 80px; }
.service-page .hero-title { font-size: clamp(2.1rem, 5.1vw, 4.8rem); }
.service-page .hero-subtitle { max-width: 700px; }
.service-page .breadcrumbs { font-size: .72rem; letter-spacing: .1em; color: #a5a5aa; margin: 0 0 32px; }
.service-page .service-note { color: #999; font-size: .75rem; margin-top: 28px; }
.service-page .service-showcase { background: #fff; color: #000; padding: var(--section-padding) 0; }
.service-showcase-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 60px; margin-bottom: 56px; }
.service-showcase-heading .quality-sub { max-width: 440px; }
.service-showcase figure { margin: 0; }
.service-showcase figure img { width: 100%; height: clamp(280px, 46vw, 620px); object-fit: cover; object-position: center 60%; border-radius: var(--radius-md); }
.service-showcase figcaption { color: #666; font-size: .72rem; margin-top: 16px; }
.service-page .service-applications .section-title { max-width: 940px; margin-left: auto; margin-right: auto; }
.service-page .service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-page .solution-card { min-width: 0; }
.service-page .solution-card p { margin-bottom: 0; }
.service-page .service-process { background: #fff; color: #111; padding: var(--section-padding) 0; }
.service-process .section-title { color: #111; }
.service-process .section-label { color: #666; align-items: flex-start; }
.service-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 64px; }
.service-steps li { border-top: 1px solid #d7d7d7; padding-top: 28px; }
.service-steps .step-number { color: #9b9b9b; font-size: 3rem; margin-bottom: 28px; }
.service-steps h3 { font: 500 1.3rem/1.35 var(--font-heading); margin-bottom: 16px; }
.service-steps p { color: #555; line-height: 1.8; font-weight: 300; }
.service-pricing { padding: var(--section-padding) 0; background: var(--bg-secondary); }
.service-pricing .section-label { align-items: flex-start; }
.service-pricing .seo-columns { align-items: center; gap: 80px; }
.service-pricing p { font-size: 1.05rem; font-weight: 300; color: #aaa; line-height: 1.8; }
.service-pricing p + p { margin-top: 28px; }
.service-pricing a { color: white; text-decoration: underline; text-underline-offset: 6px; }
.service-page .service-faq { padding: var(--section-padding) 0; }
.service-faq .section-subtitle { margin-bottom: 44px; }
.service-faq .faq-list { max-width: 100%; }
.service-contact .cta-card > p { color: #aaa; max-width: 650px; margin: 24px auto 32px; font-weight: 300; }
.service-contact .related-service { font-size: .85rem; }
.service-contact .related-service a { text-decoration: underline; text-underline-offset: 5px; }
.service-page .navbar-links a[aria-current="page"]::after { transform: scaleX(1); }
@media (max-width: 1024px) {
 .service-page .service-cards { grid-template-columns: 1fr; }
 .service-showcase-heading { grid-template-columns: 1fr; gap: 28px; }
 .service-showcase-heading .quality-sub { max-width: 620px; }
 .service-pricing .seo-columns { grid-template-columns: 1fr; gap: 24px; }
 .service-steps { gap: 28px; }
}
@media (max-width: 768px) {
 .service-page .service-opening .hero-content { padding: 126px 24px 64px; }
 .service-page .hero-title { font-size: clamp(1.85rem, 7.8vw, 3.2rem); overflow-wrap: normal; }
 .service-page .hero-buttons { padding: 0; }
 .service-page .hero-buttons .btn { white-space: normal; text-align: center; line-height: 1.5; }
 .service-page .service-showcase, .service-page .service-process, .service-page .service-pricing, .service-page .service-faq { padding: 72px 0; }
 .service-showcase-heading { margin-bottom: 32px; }
 .service-showcase-heading .quality-headline { font-size: clamp(2.2rem, 9vw, 3.3rem); }
 .service-page .service-steps { grid-template-columns: 1fr; margin-top: 36px; gap: 32px; }
 .service-steps .step-number { margin-bottom: 16px; }
 .service-page .service-contact .btn { max-width: 100%; white-space: normal; line-height: 1.5; }
 /* Keep the close control and menu links legible after the header turns white. */
 .service-page .mobile-toggle { z-index: 10000; position: relative; }
 .service-page .navbar .mobile-toggle.active span { background: #fff; }
 .service-page .navbar.scrolled .navbar-links.active a:not(.btn) { color: #ddd; }
 .service-page .navbar-links { background: #050505; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
