.mgrid>*,.fgrid>*,.sgrid>*,.photos>*{min-width:0}
@media(max-width:420px){.cinfo a[href^="mailto:"]{font-size:clamp(11px,3.5vw,14px)!important;overflow-wrap:normal!important}footer a[href^="mailto:"]{font-size:clamp(11px,3.5vw,14px)}}

/* Recent clients: bigger, easier to read logos */
.clients .logos{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important}
.clients .logos img{width:100%!important;height:180px!important;object-fit:contain!important;padding:22px 26px!important;background:#fff;filter:none!important;opacity:1}
@media(max-width:980px){.clients .logos{grid-template-columns:repeat(3,1fr)!important}.clients .logos img{height:160px!important}}
@media(max-width:620px){.clients .logos{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.clients .logos img{height:120px!important;padding:14px 16px!important}}

/* Certificates under the reviews: bigger */
.strip-photos{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important}
.strip-photos img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:contain!important;padding:12px!important;background:#fff}
@media(max-width:980px){.strip-photos{grid-template-columns:repeat(2,1fr)!important;gap:16px!important}}
@media(max-width:420px){.strip-photos{grid-template-columns:1fr!important}}

/* Subtle motion on images. Text never moves. */
@media(prefers-reduced-motion:no-preference){
  .hero .wrap>*{animation:agcUp .9s cubic-bezier(.2,.7,.2,1) both}
  .hero .wrap>*:nth-child(2){animation-delay:.12s}
  .hero .wrap>*:nth-child(3){animation-delay:.24s}
  .hero .wrap>*:nth-child(4){animation-delay:.36s}
  .hero .wrap>*:nth-child(n+5){animation-delay:.48s}
  @keyframes agcUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .ph{overflow:hidden}
  .fcard .ph img,.mini .ph img,.card .ph img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
  .fcard:hover .ph img,.mini:hover .ph img,.card:hover .ph img{transform:scale(1.06)}
  .fcard,.mini,.card{transition:transform .35s ease,box-shadow .35s ease}
  .fcard:hover,.mini:hover,.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.12)}
  .photos img:hover,.gal4 img:hover,.logos img:hover,.strip-photos img:hover{transform:scale(1.03);box-shadow:0 12px 26px rgba(0,0,0,.16);transition:transform .35s ease,box-shadow .35s ease;position:relative;z-index:2}
  @supports(animation-timeline:view()){
    .photos img,.gal4 img,.logos img,.strip-photos img,.fcard .ph img,.mini .ph img,.card .ph img,.emerg .imgs img,.about .photo img{animation:agcZoom linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
    @keyframes agcZoom{from{scale:1.08;filter:saturate(.7)}to{scale:1;filter:none}}
  }
}
/* HOMEVID: show full burned-in caption */
.ht-media .vid{aspect-ratio:16/9!important;object-fit:contain!important;transform:none!important;will-change:auto!important;background:#000}

/* MBAR3: call | estimate | chat on one line */
.mbar{grid-template-columns:1fr 1.3fr 1.1fr!important}
.mbar a,.mbar button{width:100%;min-width:0;box-sizing:border-box;padding:16px 4px;margin:0;border:0;border-top:1px solid #e3e3e3;border-radius:0;text-align:center;font:800 11.5px/1.1 Montserrat,Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer}
.mbar a:first-child{background:#fff;color:#141414}
.mbar a+a{background:#CD0C0C;color:#fff}
.mbar .mb-chat{background:#141414;color:#fff}
@media(max-width:340px){.mbar .mx{display:none}}

.lb-x,.lb-p,.lb-n{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;border-radius:50%;width:52px;height:52px;font-size:34px;line-height:1;padding:0 0 4px;display:flex;align-items:center;justify-content:center;font-family:inherit}
.lb-x:hover,.lb-p:hover,.lb-n:hover{background:#CD0C0C}
.lb-x{top:16px;right:16px;font-size:30px;padding:0 0 2px}
.lb-p{left:16px;top:50%;transform:translateY(-50%)}
.lb-n{right:16px;top:50%;transform:translateY(-50%)}
.lb-c{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#fff;font:600 14px Montserrat,sans-serif;letter-spacing:.06em;pointer-events:none}
@media(max-width:640px){.lb-x,.lb-p,.lb-n{width:44px;height:44px;font-size:28px}.lb-p{left:8px}.lb-n{right:8px}.lb-x{top:10px;right:10px}}
