.flow-admin-entry{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:18px auto 4px;border-radius:50%;border:1px solid var(--border,rgba(100,120,150,.3));color:var(--muted,#687991);background:transparent;opacity:.72;transition:opacity .2s,background .2s}.flow-admin-entry svg{width:18px;height:18px}.flow-admin-entry:hover,.flow-admin-entry:focus-visible{opacity:1;background:var(--primary-soft);color:var(--primary)}
[hidden]{display:none!important}.flow-added-section{padding:72px 0}.flow-added-section .container{display:grid;gap:22px}.flow-added-image{max-width:100%;height:auto;border-radius:18px}.flow-added-video{width:100%;max-height:650px;border-radius:18px}.flow-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:18px}.flow-custom-nav{display:contents}.flow-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}@media(max-width:680px){.flow-columns{grid-template-columns:1fr!important}.flow-added-section{padding:44px 0}}

/* Only the lower service illustration needs its full natural frame.
   Banner overlays, Home collage, gallery and framed photos keep the original styling. */
.service-intro__inner > img{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain;object-position:center;max-width:100%}

/* A nested container used to subtract the mobile gutter twice on Home. */
#process .container .container{width:100%;max-width:100%;margin-inline:0}
#process .container .section{padding-bottom:0}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.contact-grid>*,.contact-cards,.ccard>div,.form .field{min-width:0;max-width:100%}
.ccard a,.ccard p,.hours li{overflow-wrap:anywhere}
@media(max-width:900px){
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  #process .contact-cards,#process .ccard,#process .form,#process .map{width:100%;box-sizing:border-box}
}
@media(max-width:560px){
  .ccard{gap:12px;padding:18px}
  .hours li{flex-wrap:wrap;gap:4px 12px}
}
