/* Cartwright service pages and scoped homepage project links. */
.service-page { background:#f2f3f1; }
.service-page main { max-width:1440px; }
.service-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:48px; padding:64px clamp(24px,6vw,80px); }
.service-hero h1 { margin:16px 0 22px; color:#3e3b39; font:600 clamp(2.6rem,4.4vw,4.5rem)/1.02 'Barlow Condensed','Arial Narrow',sans-serif; letter-spacing:-.02em; }
.service-hero p { max-width:62ch; }
.service-breadcrumb { font-size:.86rem; color:#62676e; }
.service-breadcrumb a { text-underline-offset:4px; }
.service-hero figure { margin:0; }
.service-hero img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.service-hero figcaption { margin-top:10px; color:#62676e; font-size:.8rem; }
.service-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:24px; }
.service-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 18px; background:#dfa10e; color:#15171b; font-weight:700; text-decoration:none; border:1px solid #dfa10e; border-radius:3px; }
.service-button.secondary { background:transparent; border-color:#3e3b39; }
.service-button:hover { background:#3e3b39; border-color:#3e3b39; color:#fff; }
.service-section { padding:52px clamp(24px,6vw,80px); border-top:1px solid #d7d9d6; }
.service-section h2, .seo-proof h2 { color:#3e3b39; font:600 clamp(2rem,3vw,3rem)/1.1 'Barlow Condensed','Arial Narrow',sans-serif; margin:0 0 22px; }
.service-section h3 { color:#3e3b39; font-size:1.16rem; margin:0 0 10px; }
.service-section p { max-width:70ch; }
.service-columns { display:grid; grid-template-columns:1fr 1fr; gap:30px 48px; }
.service-process { margin:0; padding-left:24px; display:grid; grid-template-columns:1fr 1fr; gap:28px 48px; }
.service-process li { padding-left:6px; }
.service-process li::marker { color:#9a6b00; font-weight:800; }
.service-evidence { background:#e7e8e5; }
.service-projects { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.service-project { color:inherit; text-decoration:none; }
.service-project img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.service-project h3 { margin:16px 0 7px; }
.service-project p { margin:7px 0; }
.service-project .project-link { display:inline-block; color:#6c4a00; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.service-faq details { border-top:1px solid #d7d9d6; padding:18px 0; }
.service-faq summary { cursor:pointer; color:#3e3b39; font-weight:700; }
.service-faq details p { margin-bottom:0; }
.service-page .contact-section { scroll-margin-top:100px; }
.service-page .form-container label { display:block; margin:0 0 6px; color:#3e3b39; font-size:.88rem; font-weight:700; }
.service-page .form-container input, .service-page .form-container textarea, .service-page .form-container select { font:inherit; width:100%; min-width:0; }
.service-page .form-container .form-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.service-page .form-container .planning-details { margin:4px 0 18px; }
.service-page .form-container .planning-details summary { cursor:pointer; padding:12px 0; font-weight:600; }
.service-page .form-note { font-size:.84rem; line-height:1.6; }
.service-page .contact-methods { min-width:0; }
.service-page .contact-method .cm-value { overflow-wrap:anywhere; }
.service-page a:focus-visible, .service-page button:focus-visible, .service-page summary:focus-visible, .seo-proof a:focus-visible { outline:3px solid #dfa10e; outline-offset:4px; }
.seo-proof { background:#f2f3f1; padding:44px 24px; color:#15171b; }
.seo-proof-inner { max-width:1172px; margin:auto; }
.seo-proof .service-projects { grid-template-columns:1fr 1fr; }
.seo-proof .service-project { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:20px; }
.seo-proof .service-project img { width:150px; height:120px; }
.seo-proof h3 { font:700 1.05rem/1.3 'Inter',sans-serif; margin:0 0 8px; }
.seo-proof p { margin:0 0 8px; font-size:.9rem; }
.seo-contact-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:22px; }
.seo-contact-links a { color:inherit; text-decoration:underline; text-underline-offset:5px; font-weight:600; }
.premium-hero .premium-hero-kicker { text-transform:none; letter-spacing:.04em; }
.premium-hero .seo-contact-links { color:#fff; font-size:.9rem; }
.premium-hero h1 { font-size:clamp(3.6rem,6vw,6.5rem); line-height:.96; }
.city-service-links { padding:26px 34px; background:#e7e8e5; border-top:1px solid #d7d9d6; }
.city-service-links p { margin:0 0 12px; }
.city-service-links nav { display:flex; gap:14px 28px; flex-wrap:wrap; }
.city-service-links a { color:#3e3b39; font-weight:700; text-underline-offset:4px; }
@media(max-width:900px) {
  .service-hero { grid-template-columns:1fr; gap:28px; padding-top:38px; }
  .service-hero figure { max-width:720px; }
  .service-columns, .service-process { grid-template-columns:1fr; }
  .seo-proof .service-project { grid-template-columns:1fr; }
  .seo-proof .service-project img { width:100%; height:auto; }
}
@media(max-width:560px) {
  .service-projects, .seo-proof .service-projects { grid-template-columns:1fr; }
  .service-section { padding-top:36px; padding-bottom:36px; }
  .service-page .form-container .form-pair { grid-template-columns:1fr; gap:0; }
  .service-hero h1 { font-size:2.9rem; }
  .premium-hero h1 { font-size:clamp(3rem,12vw,4.2rem); }
  .city-service-links { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .service-page { scroll-behavior:auto; } .service-page * { scroll-behavior:auto; transition:none; } }
