/* Compact mobile layouts. All page wording and keywords remain in place. */
@media(max-width:540px){
  :root{--pad:16px}
  .header{min-height:66px;gap:8px}
  .brand,.brand img{width:124px;flex-basis:124px}
  .header-address{font-size:12px}
  .breadcrumb{padding-top:12px;font-size:11px;gap:8px}
  .hero,.service-hero,.company-hero{padding-top:22px;padding-bottom:28px;gap:22px}
  .hero-copy{padding:0}
  .hero .eyebrow,.gallery-heading .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.1em;margin-bottom:12px}
  .hero h1,.service-hero h1,.company-hero h1,.gallery-heading h1{font-size:clamp(29px,8vw,34px);line-height:1.12;margin-bottom:14px;letter-spacing:-.035em}
  .hero .hero-lead,.service-hero .hero-lead,.company-hero .hero-lead{font-size:17px;line-height:1.45;margin-bottom:12px}
  .hero-copy>.muted{font-size:15px;line-height:1.5;margin-bottom:0}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0 14px}
  .hero-actions .button{width:100%;min-height:46px;font-size:13px;padding:11px 16px}
  .hero-actions .textlink{justify-self:start;font-size:13px}
  .hero-links,.company-hero .hero-links{font-size:12px;line-height:1.45;gap:6px 14px;margin-top:12px}
  .hero .hero-photo img,.service-hero .hero-photo img,.company-hero .hero-photo img{height:clamp(200px,60vw,280px)}
  .hero-photo figcaption{font-size:11px;line-height:1.4;padding-top:8px;gap:12px}
  .section{padding-top:42px;padding-bottom:42px}
  h2,.project-feature h2,.service-faq h2,.showroom-grid h2,.faq h2{font-size:clamp(27px,7vw,30px);line-height:1.15}
  .sectionhead{margin-bottom:26px;gap:16px}
  .sectionhead .eyebrow{margin-bottom:10px}
  .sectionhead>p{font-size:15px;line-height:1.5}
  .eyebrow{font-size:10px;line-height:1.45;letter-spacing:.1em;margin-bottom:12px}
  .service h3,.company-service h3{font-size:24px;line-height:1.2}
  .gallery-heading{padding-top:22px;padding-bottom:24px;gap:8px}
  .gallery-heading h1{margin-bottom:0}
  .gallery-heading .lead{font-size:15px;line-height:1.5}
  .gallery-heading .textlink{font-size:13px;margin-top:12px}
  .gallery-photo{margin-bottom:16px}
  .contact-page .breadcrumb{display:flex;padding-top:12px}
  .contact-page .contact-main{grid-template-areas:'kicker' 'intro' 'form' 'context' 'office';padding-top:18px;row-gap:12px}
  .contact-page .contact-intro>.eyebrow{display:block;grid-area:kicker;font-size:10px;line-height:1.4;letter-spacing:.1em;margin:0}
  .contact-page .contact-intro h1{font-size:clamp(29px,8vw,34px);line-height:1.12;margin:0;max-width:none}
  .contact-page .contact-form{padding:10px 10px 4px}
  .contact-page .contact-form>.eyebrow{display:block;font-size:10px;line-height:1.4;letter-spacing:.1em;margin:0 0 2px}
  .contact-page .contact-intro .lead{margin-top:6px}
}
@media(max-width:360px){.brand,.brand img{width:100px;flex-basis:100px}.header-address{font-size:11px}.header{gap:6px}}
