/* Final production overrides: stable hero clipping and responsive radii. */
.hero{
  overflow:hidden!important;
  border-radius:34px!important;
  transform:translateZ(0);
}
.hero-photo,.hero-photo>img,.hero-photo:after{
  border-radius:inherit!important;
}
@media(min-width:761px){
  .hero h1 a>span{font-size:.62em!important;white-space:nowrap}
  .hero h1 a>strong{line-height:1.65!important}
}
@media(max-width:760px){
  .hero{border-radius:24px!important}
  .hero-photo,.hero-photo>img,.hero-photo:after{border-radius:22px!important}
  .hero-title-break{display:none}
}
@media(max-width:390px){
  .hero{border-radius:20px!important}
  .hero-photo,.hero-photo>img,.hero-photo:after{border-radius:18px!important}
}

/* Readable header and footer typography with a stronger footer brand. */
.site-footer .footer-brand .footer-logo{display:inline-flex;width:auto}
.site-footer .footer-brand .footer-logo img{width:150px!important;height:105px!important;object-fit:contain}
.header .brand img{width:95px!important;height:72px!important;object-fit:contain;filter:drop-shadow(0 6px 14px #0007)}
.header .brand b{font-size:1.1rem!important;line-height:1.7!important}
.header .brand small{font-size:.72rem!important;line-height:1.8!important}
.site-footer .footer-site-title{margin:15px 0 4px!important;font-size:1.08rem!important;line-height:1.8!important}
.site-footer .footer-site-description{margin:0!important;color:#a9bdca!important;font-size:.88rem!important;font-weight:500!important;line-height:2!important}
.main-menu>li>a,.submenu-toggle{font-size:.82rem!important}
.nav-cta small{font-size:.72rem!important}
.nav-cta b{font-size:.86rem!important}
.site-footer h3{font-size:.9rem!important}
.footer-column a{font-size:.78rem!important}
.footer-contact small{font-size:.7rem!important}
.footer-contact b{font-size:.82rem!important}
.footer-contact address span{font-size:.75rem!important}
.site-footer .ap-footer-bottom,.site-footer .footer-credit,.footer-copyright{font-size:.72rem!important}

@media(max-width:760px){
  .header .brand img{width:88px!important;height:66px!important}
  .header .brand b{font-size:.98rem!important}
  .header .brand small{font-size:.68rem!important}
  .site-footer .footer-brand .footer-logo img{width:136px!important;height:94px!important}
  .site-footer .footer-site-title{font-size:1rem!important}
  .site-footer .footer-site-description{font-size:.82rem!important}
  .footer-column a{font-size:.76rem!important}
  .footer-contact small{font-size:.68rem!important}
  .footer-contact b{font-size:.8rem!important}
  .footer-contact address span{font-size:.72rem!important}
  .site-footer .footer-credit,.footer-copyright{font-size:.68rem!important}
}
@media(max-width:390px){
  .header .brand img{width:82px!important;height:62px!important}
  .header .brand b{font-size:.92rem!important}
  .header .brand small{font-size:.65rem!important}
}

/* Contact page: keep the rqo-contact shortcode fields comfortably separated. */
.contact-template-form .rqo-contact-form-wrap form{
  column-gap:14px!important;
  row-gap:0!important;
}
.contact-template-form .rqo-contact-form-wrap input[type="text"],
.contact-template-form .rqo-contact-form-wrap input[type="tel"],
.contact-template-form .rqo-contact-form-wrap textarea{
  margin-bottom:20px!important;
}
.contact-template-form .rqo-contact-form-wrap .EZD_FormItem_submit{
  margin-bottom:0!important;
}

/* Blog archive cards: readable category badges. */
.blog-card-category,
.blog-list-card .blog-card-category{
  top:12px!important;
  right:12px!important;
  bottom:auto!important;
  height:auto!important;
  display:inline-flex!important;
  padding:7px 12px!important;
  font-size:.82rem!important;
  line-height:1.7!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
@media(max-width:620px){
  .blog-card-category,.blog-list-card .blog-card-category{font-size:.78rem!important;padding:6px 10px!important}
}

/* Single blog featured images keep their native aspect ratio, especially on mobile. */
.single-blog-layout .single-entry-card .single-featured-media img,
.single-post .single-entry-card .single-featured-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}

/* Archive pages stay as a normal vertical list on mobile; pagination remains active. */
@media(max-width:760px){
  .blog-page-shell .blog-archive-home-style,
  .blog-page-shell .blog-strip-grid,
  .search-results-page .blog-archive-home-style,
  .search-results-page .blog-strip-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .blog-page-shell .blog-archive-home-style .blog-mini-card,
  .blog-page-shell .blog-strip-grid .blog-mini-card,
  .search-results-page .blog-archive-home-style .blog-mini-card,
  .search-results-page .blog-strip-grid .blog-mini-card{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    flex:none!important;
    scroll-snap-align:none!important;
  }
  .content-section .archive-grid,
  .service-taxonomy-content .service-taxonomy-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    overflow:visible!important;
  }
}
