/* Targeted Home/Services/Contact refinements. Pricing remains the design baseline. */
.pricing-card[id] {scroll-margin-top:125px;}
.home-page #services, .home-page #about, .home-page #contact, .services-page .service-details {padding-block:64px;}
.home-page #services h2, .home-page #contact h2, .home-page .about-content h2, .services-page .service-details-heading h2 {font-size:clamp(1.8rem,3.3vw,2.6rem);line-height:1.25;}
.home-page #services .section-intro, .home-page .contact-intro {font-size:18px;line-height:1.65;margin:16px auto 30px;}
.home-page .services-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.home-page .service-card {display:flex;flex-direction:column;gap:12px;border:1px solid #ddd;border-top:4px solid var(--accent);border-radius:16px;background:#fff;padding:26px;min-width:0;box-shadow:var(--shadow);text-align:left;transition:border-color .15s;}
.home-page .service-card:hover, .home-page .contact-card:hover {transform:none;border-color:var(--accent-contrast);}
.home-page .service-card h3 {font-size:20px;line-height:1.4;margin:0;}
.home-page .service-card p {font-size:15px;line-height:1.65;margin:0;}
.service-starting-price {margin-top:auto;color:var(--accent-contrast);font-weight:600;font-size:15px;}
.service-pricing-action {display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #eee;font-size:14px;font-weight:600;color:#111;}
.service-preview-note {font-size:13px;color:#555;line-height:1.6;margin:22px 0 16px;}
.home-page #services > .container > .btn {min-height:48px;}
.home-page .contact-grid {gap:24px;margin-bottom:20px;}
.home-page .contact-card {border:1px solid #ddd;border-top:4px solid var(--accent);border-radius:16px;padding:24px;min-width:0;transition:border-color .15s;}
.home-page .contact-action-card {padding:0;}
.contact-card-main {display:block;padding:24px;min-height:130px;}
.home-page .contact-card-main h3 {margin-bottom:12px;}
.contact-card-main span {display:block;color:var(--accent-contrast);font-size:16px;font-weight:600;overflow-wrap:anywhere;}
.contact-copy {display:inline-block;min-height:44px;padding:8px 16px;margin:0 12px 12px;border:1px solid #999;border-radius:7px;background:#fff;color:#111;font:600 14px 'Inter',sans-serif;cursor:pointer;}
.contact-copy[hidden] {display:none;}
.contact-copy:disabled {opacity:.65;cursor:wait;}
.contact-handler-note, .contact-copy-status {font-size:14px;line-height:1.6;text-align:center;color:#555;margin:12px auto;max-width:700px;}
.contact-copy-status {min-height:24px;color:var(--accent-contrast);}
.home-page .service-card.fade-up, .home-page .contact-card.fade-up {animation:none;}
.home-page :is(.service-card,.contact-card-main,.contact-copy,.contact-buttons a):focus-visible, .services-page a:focus-visible {outline:3px solid var(--accent-contrast);outline-offset:4px;}
.home-page .contact-buttons .btn {min-height:48px;padding:12px 22px;font-size:15px;}
.home-page .contact-buttons .btn-light:hover {color:#111!important;}
.services-page .services-page-hero {min-height:400px;padding:130px 0 55px;}
.services-page .services-page-hero h1 {font-size:clamp(2.3rem,4.5vw,3.5rem);}
.services-page .services-page-hero p:not(.services-page-eyebrow) {font-size:18px;line-height:1.65;}
.services-page .service-detail-card {border-radius:16px;border-top:4px solid var(--accent);box-shadow:var(--shadow);}
.services-page .service-detail-content h2 {font-size:clamp(1.8rem,3vw,2.4rem);}
@media(max-width:900px) {.home-page .services-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px) {
 .home-page #services,.home-page #about,.home-page #contact,.services-page .service-details {padding-block:44px;}
 .home-page .services-grid {grid-template-columns:1fr;gap:16px;}
 .home-page .service-card {padding:22px;}
 .home-page .contact-grid {grid-template-columns:1fr;gap:16px;}
 .home-page .contact-buttons {gap:12px;}
 .home-page .contact-buttons .btn {width:100%;text-align:center;}
 .services-page .services-page-hero {min-height:0;padding:110px 0 40px;}
}
