/* A SPA - sitewide layout unification + compact rows (V10.7 overlay, loaded last on every page) */
:root{--wrap-w:1216px;--wrap-pad:30px;--row-gap:16px}

/* one gap for every same-row card grid, equal-height cards in a row */
.service-grid,.features,.mini-gallery,.style-grid{gap:var(--row-gap)}
.service-card,.feature{height:100%}
.btns,.hero-actions{gap:12px}

/* inner pages: tighter, uniform section rhythm */
.section{padding:56px 0}
.section.tight{padding:44px 0}
.heading-row{margin-bottom:26px}
.intro{margin-bottom:28px}
.page-hero .wrap{padding-top:48px;padding-bottom:48px}
.footer{padding-top:44px}
.footer-grid{gap:24px}

/* homepage: 3 remaining service cards fill the row evenly */
.service-grid.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}

@media (min-width:801px){
  /* one header height and one nav rhythm across both design systems */
  .header-inner{min-height:72px}
  .site-head{height:72px}
  .nav,.main-nav{gap:24px}
}

@media (min-width:1024px){
  /* homepage aligned to the same 1216px container as the inner pages */
  .site-head{max-width:var(--wrap-w);margin:0 auto;padding:0 var(--wrap-pad);width:100%;box-sizing:border-box}
  .hero-inner{max-width:var(--wrap-w);margin:0 auto;padding-left:var(--wrap-pad);padding-right:var(--wrap-pad);width:100%;box-sizing:border-box}
  .services{max-width:var(--wrap-w);margin:0 auto;padding:36px var(--wrap-pad) 40px;box-sizing:border-box}
  .feature-bar{max-width:1156px;margin-left:auto;margin-right:auto}
  .site-footer{max-width:var(--wrap-w);margin:0 auto;padding-left:var(--wrap-pad);padding-right:var(--wrap-pad);width:100%;box-sizing:border-box}
}

@media (max-width:800px){
  .section{padding:44px 0}
  .section.tight{padding:36px 0}
  .service-grid.cards-3{grid-template-columns:1fr}
}
