:root{
  --site-content:1200px;
  --site-gutter:clamp(24px,5vw,72px);
}

/* One shared horizontal grid across the complete site. */
header,footer{
  padding-left:max(var(--site-gutter),calc((100vw - var(--site-content))/2));
  padding-right:max(var(--site-gutter),calc((100vw - var(--site-content))/2));
}
.section{
  width:min(var(--site-content),calc(100% - (var(--site-gutter) * 2)));
  max-width:none;
  margin-inline:auto;
  padding-left:0;
  padding-right:0;
}
.section.resources,.section.amenities,.open-source{
  width:100%;
  max-width:none;
  padding-left:max(var(--site-gutter),calc((100vw - var(--site-content))/2));
  padding-right:max(var(--site-gutter),calc((100vw - var(--site-content))/2));
}
.sv-wrap,.ct-wrap,.re-wrap,.ps-wrap,.pb-wrap,.dm-wrap,.im-wrap,.ba-wrap,
.project-booking-inner,.re-hero-copy,.ps-hero-copy,.pb-hero-copy,.dm-hero-copy,.im-hero-content{
  width:min(var(--site-content),calc(100% - (var(--site-gutter) * 2)));
  max-width:var(--site-content);
  margin-inline:auto;
}
.lut-intro,.lut-apps>.app-strip,.lut-section-head,.lut-grid,.lut-how,.lut-tips>.tips-list,
.lut-related>*:not(.lut-kicker),.lut-faq>*{
  max-width:var(--site-content);
}

@media(max-width:760px){
  :root{--site-gutter:14px}
  header,footer{padding-left:24px;padding-right:24px}
  .section.resources,.section.amenities,.open-source{padding-left:24px;padding-right:24px}
  .section,.sv-wrap,.ct-wrap,.re-wrap,.ps-wrap,.pb-wrap,.dm-wrap,.im-wrap,.ba-wrap,
  .project-booking-inner,.re-hero-copy,.ps-hero-copy,.pb-hero-copy,.dm-hero-copy,.im-hero-content{
    width:calc(100% - 28px);
  }
}
