.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.site-footer h2>a { display:inline-flex; align-items:center; min-height:44px; }
.wordmark-sub { display:grid; grid-template-columns:max-content; }
.wordmark-sub>.wordmark-name { display:flex; justify-content:space-between; width:0; min-width:100%; margin:0; font-size:14px; line-height:1.2; font-weight:700; letter-spacing:0; color:inherit; }
.wordmark-sub>.wordmark-tagline { font-size:10px; line-height:1.4; font-weight:600; letter-spacing:.35px; color:#414748; }
.wordmark-light .wordmark-sub>.wordmark-tagline { color:#e4e5e0; }
@media(max-width:760px) { .wordmark-sub>.wordmark-name { font-size:12px; } .wordmark-sub>.wordmark-tagline { font-size:9px; letter-spacing:.15px; } }
.breadcrumbs { padding-block:23px; font-size:11px; color:var(--muted); }
.breadcrumbs ol { display:flex; gap:12px; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.breadcrumbs li + li::before { content:'/'; margin-right:12px; color:#888; }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:36px; text-decoration:underline; text-underline-offset:4px; }
.service-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; align-items:center; padding-block:18px 64px; }
.service-hero-copy .eyebrow { color:#796420; font-size:9px; }
.service-hero h1, .commercial-heading { font:600 clamp(44px,4.7vw,68px)/1.04 Barlow,sans-serif; text-transform:uppercase; letter-spacing:-.01em; margin:20px 0 22px; }
.service-lead { font-size:15px; color:var(--muted); line-height:1.9; max-width:570px; }
.service-hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:29px; }
.service-hero-photo { position:relative; background:var(--paper); }
.service-hero-photo>img { width:100%; aspect-ratio:1.08; object-fit:cover; }
.service-hero-photo figcaption { padding:12px 16px; font-size:10px; color:var(--muted); line-height:1.65; }
.service-brief { padding:40px; background:var(--paper); border-top:4px solid var(--yellow); }
.brief-icon { display:grid; place-items:center; width:68px; height:68px; background:var(--yellow); margin-bottom:28px; }
.brief-icon .icon { width:40px; height:40px; }
.service-brief h2 { font:600 38px/1.1 Barlow,sans-serif; margin:12px 0 25px; }
.service-brief ol { list-style:decimal-leading-zero; padding-left:25px; margin:0; }
.service-brief li { padding:12px 0 12px 10px; border-top:1px solid var(--line); font-size:13px; }
.service-content { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:90px; padding-block:45px 70px; border-top:1px solid var(--line); align-items:start; }
.service-prose { font-size:15px; line-height:1.95; }
.service-prose>h2, .service-prose section>h2 { font:600 34px/1.18 Barlow,sans-serif; margin:40px 0 18px; }
.service-prose>h2:first-child { margin-top:0; }
.service-prose h3 { font-size:18px; line-height:1.4; margin:26px 0 12px; }
.service-prose p { margin:0 0 19px; color:#515958; }
.service-prose ul, .service-prose ol { padding-left:23px; margin:17px 0 25px; }
.service-prose li { margin:9px 0; padding-left:4px; }
.service-prose a:not(.text-link) { text-decoration:underline; text-underline-offset:4px; }
.service-prose strong { color:var(--ink); font-weight:700; }
.service-sidebar { background:#f5f4ef; padding:24px; }
.service-sidebar>.eyebrow { font-size:9px; margin-bottom:16px; }
.service-sidebar nav a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); font-size:12px; min-height:47px; line-height:1.5; }
.service-sidebar a .icon { width:15px; height:15px; }
.service-sidebar nav a[aria-current] { font-weight:700; border-left:3px solid #c19500; padding-left:12px; }
.sidebar-projects { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:20px; min-height:44px; font-size:12px; font-weight:700; }
.quote-checklist { background:var(--paper); padding:28px 30px; margin-top:40px; }
.service-prose .quote-checklist h2 { margin-top:0; font-size:29px; }
.service-prose .quote-checklist p { font-size:13px; margin-bottom:15px; }
.quote-checklist ul { list-style:none; padding:0; }
.quote-checklist li { display:flex; gap:12px; align-items:flex-start; font-size:14px; padding:0; }
.quote-checklist .icon { width:17px; height:17px; margin-top:5px; color:#776114; }
.materials-section { margin-block:44px; padding-top:28px; border-top:3px solid var(--yellow); }
.materials-section>.eyebrow { font-size:9px; }
.service-prose .materials-section>h2 { margin-top:12px; }
.materials-table { width:100%; border-collapse:collapse; margin-top:25px; font-size:13px; line-height:1.75; }
.materials-table thead { background:var(--ink); color:white; }
.materials-table th,.materials-table td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
.materials-table tbody th { width:32%; font-weight:600; background:var(--paper); }
.service-faq details { border-bottom:1px solid var(--line); padding:17px 0; }
.service-faq summary { min-height:44px; cursor:pointer; font-weight:600; font-size:15px; padding:8px 0; }
.service-faq details p { font-size:14px; margin:10px 0 8px; }
.related-services { padding-bottom:70px; }
.related-services h2 { font:600 33px/1.2 Barlow,sans-serif; margin-bottom:23px; }
.related-services>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.related-services a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:90px; padding:22px; border:1px solid var(--line); font-size:15px; font-weight:600; }
.related-services a:hover { background:var(--paper); border-color:#959b94; }
.service-cta { background:var(--yellow); padding:55px 0; }
.service-cta>.container { display:flex; justify-content:space-between; gap:50px; align-items:center; }
.service-cta h2 { font:600 44px/1.1 Barlow,sans-serif; margin:13px 0; }
.service-cta p:not(.eyebrow) { max-width:630px; font-size:14px; }
.service-cta-actions { flex-shrink:0; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.services-directory { margin-top:32px; }
.services-directory summary { cursor:pointer; min-height:48px; padding:12px 0; font-size:13px; font-weight:600; border-block:1px solid var(--line); }
.services-directory>nav { display:grid; grid-template-columns:repeat(3,1fr); gap:0 28px; padding-top:12px; }
.services-directory nav a { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:52px; border-bottom:1px solid var(--line); font-size:12px; }
.portfolio-intro { max-width:760px; padding-block:10px 45px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 26px; padding-bottom:70px; }
.portfolio-grid .project-photo { aspect-ratio:1.16; }
.portfolio-grid figcaption { padding-top:20px; }
.portfolio-grid h2 { font:600 27px/1.2 Barlow,sans-serif; margin:8px 0 10px; }
.portfolio-grid figcaption p { font-size:13px; color:var(--muted); }
.portfolio-grid .text-link { margin-top:12px; }
.portfolio-note { border-top:1px solid var(--line); padding:27px 0 50px; max-width:800px; color:var(--muted); font-size:14px; }
.contact-channels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin:5px auto 55px; }
.contact-channels>section { border-top:3px solid var(--yellow); padding-top:24px; }
.contact-channels h2 { font:600 28px/1.2 Barlow,sans-serif; margin-bottom:15px; }
.contact-channels p { font-size:13px; color:var(--muted); margin-block:12px; }
.contact-channels a { display:flex; align-items:center; min-height:44px; overflow-wrap:anywhere; font-size:13px; gap:15px; }
.contact-channels .contact-phone { font:600 27px/1.3 Barlow,sans-serif; }
@media(max-width:1000px) {
  .service-hero { gap:35px; }
  .service-content { gap:35px; grid-template-columns:minmax(0,1fr) 230px; }
  .service-cta>.container { gap:30px; }
  .service-cta h2 { font-size:38px; }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .breadcrumbs { padding-block:13px; font-size:10px; }
  .breadcrumbs a { min-height:44px; }
  .service-hero { grid-template-columns:1fr; padding-block:12px 38px; gap:30px; }
  .service-hero h1,.commercial-heading { font-size:44px; line-height:1.08; margin:16px 0 20px; }
  .service-hero-copy .eyebrow { font-size:8px; letter-spacing:1.3px; }
  .service-lead { font-size:14px; }
  .service-hero-actions { gap:14px; margin-top:24px; }
  .service-hero-actions .button { padding-inline:17px; gap:15px; }
  .service-hero-photo>img { aspect-ratio:1.35; }
  .service-brief { padding:27px; }
  .service-brief h2 { font-size:32px; }
  .service-content { grid-template-columns:1fr; padding-top:30px; padding-bottom:45px; gap:38px; }
  .service-prose { font-size:14px; line-height:1.95; }
  .service-prose>h2,.service-prose section>h2 { font-size:30px; }
  .quote-checklist { padding:24px 20px; }
  .materials-table { font-size:12px; }
  .materials-table th,.materials-table td { padding:12px 10px; overflow-wrap:anywhere; }
  .materials-table tbody th { width:34%; }
  .service-sidebar { padding:22px; }
  .service-sidebar nav { display:grid; grid-template-columns:1fr; }
  .related-services { padding-bottom:45px; }
  .related-services>div { grid-template-columns:1fr; gap:12px; }
  .related-services a { min-height:70px; padding:18px; font-size:14px; }
  .service-cta { padding:40px 0; }
  .service-cta>.container { display:block; }
  .service-cta h2 { font-size:37px; }
  .service-cta-actions { margin-top:25px; }
  .services-directory>nav { grid-template-columns:1fr; }
  .portfolio-intro { padding-bottom:33px; }
  .portfolio-grid { grid-template-columns:1fr; gap:32px; padding-bottom:35px; }
  .contact-channels { grid-template-columns:1fr; gap:28px; margin-bottom:36px; }
  .contact-channels>section { padding-top:19px; }
}

/* Legibility floor (review 2026-09) */
html .service-hero-copy .eyebrow,html .service-sidebar>.eyebrow,html .materials-section>.eyebrow,html .service-hero-photo figcaption{font-size:11px}
html .wordmark-sub>.wordmark-tagline{font-size:8px;letter-spacing:1px}
@media(max-width:760px){html .wordmark-sub>.wordmark-tagline{font-size:7.5px;letter-spacing:.6px}}

/* Service content pass 2026-09 */
.service-proof{margin-top:18px;font-size:13px;color:var(--muted)}
.service-proof strong{color:var(--ink);font-weight:700}
.service-includes{list-style:none;padding:0;margin:14px 0 8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.service-includes li{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:15px}
.service-steps{list-style:none;padding:0;margin:14px 0 8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.service-steps li{display:flex;gap:14px}
.service-steps span{font:700 26px/1 Barlow,'Arial Narrow',sans-serif;color:#b78b00}
.service-steps h3{font-size:16px;margin:0 0 4px}
.service-steps p{margin:0;font-size:14px;color:var(--muted);line-height:1.6}
.service-faq{border-top:1px solid var(--line);margin:14px 0 36px}
.service-faq details{border-bottom:1px solid var(--line)}
.service-faq summary{cursor:pointer;padding:16px 0;font-weight:700;font-size:15px}
.service-faq details p{margin:0 0 16px;font-size:15px;line-height:1.7;color:var(--muted)}
.service-gallery{margin-top:64px;margin-bottom:64px}
.service-gallery-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:22px}
.service-gallery-head h2{font:600 clamp(30px,3vw,40px)/1.1 Barlow,'Arial Narrow',sans-serif}
.service-gallery-head p{font-size:14px;color:var(--muted);max-width:420px}
.service-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.service-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#dddfd7}
.service-gallery-grid figcaption{margin-top:8px;font-size:13px;font-weight:600}
@media(max-width:760px){.service-includes,.service-steps{grid-template-columns:1fr}.service-gallery-grid{grid-template-columns:1fr}}

/* Type scale 2026-09 */
html .service-hero h1,html .commercial-heading{font:700 clamp(48px,6vw,88px)/.96 Barlow,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.015em}
html .service-lead{font-size:clamp(16px,1.3vw,19px);line-height:1.7}
html .service-hero-copy .eyebrow,html .service-sidebar>.eyebrow{font-size:12px;letter-spacing:.14em}
html .service-prose{font-size:17px;line-height:1.8}
html .service-prose>h2,html .service-prose section>h2{font:700 clamp(30px,3vw,44px)/1.05 Barlow,'Arial Narrow',sans-serif;text-transform:uppercase}
html .service-prose .quote-checklist h2{font-size:clamp(26px,2.4vw,34px)}
html .service-prose .quote-checklist p,html .quote-checklist li{font-size:16px}
html .service-includes li,html .service-faq summary{font-size:17px}
html .service-steps h3{font-size:19px}html .service-steps p,html .service-faq details p{font-size:16px}
html .service-steps span{font-size:34px}
html .service-sidebar nav a{font-size:14px}
html .service-gallery-head h2,html .related-services h2{font:700 clamp(32px,3.6vw,52px)/1 Barlow,'Arial Narrow',sans-serif;text-transform:uppercase}
html .service-gallery-grid figcaption{font-size:15px}
html .related-services a{font-size:17px}
html .service-cta h2{font:700 clamp(40px,5vw,72px)/.98 Barlow,'Arial Narrow',sans-serif;text-transform:uppercase}
html .service-cta p:not(.eyebrow){font-size:17px}
html .service-proof{font-size:15px}
html .portfolio-grid h2{font-size:clamp(24px,2vw,30px)}html .portfolio-grid figcaption p{font-size:15px}
html .breadcrumbs{font-size:13px}
@media(max-width:760px){
 html .service-hero h1,html .commercial-heading{font-size:clamp(40px,11.5vw,60px);line-height:.98}
 html .service-prose{font-size:16px}
 html .service-prose>h2,html .service-prose section>h2{font-size:clamp(28px,8vw,36px)}
 html .service-cta h2{font-size:clamp(36px,10vw,48px)}
 html .service-gallery-head h2,html .related-services h2{font-size:clamp(30px,8.5vw,40px)}
 html .service-includes li,html .service-faq summary,html .related-services a{font-size:16px}
}
