/* Shared composition safeguards for every generated Studio website. */
html,body,body>main,.site-header,.domain-sale-bar,.site-hero,.site-section,.enquiry-section,body>footer{width:100%;min-width:0}
.hero-copy,.hero-visual,.site-card{min-width:0}
.hero-copy h1,.section-heading h2{text-wrap:balance;overflow-wrap:normal}
.headline-long .hero-copy h1{font-size:clamp(42px,4vw,68px);line-height:1.02;max-width:850px}
.section-shell{width:min(1560px,100%);max-width:none}
.trust-strip{width:min(1560px,calc(100% - 48px));max-width:none}

@media (min-width:1200px){
  .site-hero,.site-section{padding-left:max(48px,calc((100% - 1560px)/2));padding-right:max(48px,calc((100% - 1560px)/2))}
  .enquiry-shell{width:min(1440px,100%)}
}

@media (min-width:821px){
  .layout-1 .site-hero,.layout-2 .site-hero,.layout-4 .site-hero{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:center;gap:clamp(48px,5vw,92px)}
  .layout-1 .hero-copy,.layout-2 .hero-copy,.layout-4 .hero-copy{width:100%;max-width:780px}
  .layout-1 .hero-visual,.layout-2 .hero-visual,.layout-4 .hero-visual{width:100%;min-height:520px}
  .layout-3 .site-hero{width:100%;max-width:none;margin:0}
  .layout-3 .hero-copy{width:min(980px,100%)}
  .layout-3 .hero-visual{width:min(1320px,100%);margin-inline:auto}

  .layout-5 .site-hero{grid-template-columns:minmax(0,1fr) minmax(440px,1fr);align-items:center;gap:clamp(44px,5vw,92px)}
  .layout-5 .hero-copy{padding-bottom:0}
  .layout-5 .hero-copy h1{font-size:clamp(48px,4.6vw,78px);max-width:760px}
  .layout-5 .hero-visual{min-height:540px;border-radius:72px 72px 24px 24px}
  .layout-5 .trust-strip{width:min(1560px,calc(100% - 48px));max-width:none;margin:-34px auto 0;transform:none;grid-template-columns:repeat(4,1fr)}
}

@media (min-width:1051px){
  .layout-5 .site-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (min-width:821px) and (max-width:1050px){
  .layout-5 .site-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:36px}
  .layout-5 .hero-copy h1{font-size:clamp(44px,5.4vw,62px)}
  .layout-5 .hero-visual{min-height:480px}
  .layout-5 .site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  .trust-strip{width:calc(100% - 36px)}
  .hero-copy h1{font-size:clamp(40px,11vw,58px)}
  .headline-long .hero-copy h1{font-size:clamp(36px,10vw,52px)}
}

/* Layout 3 must remain a polished right-hand visual composition on desktop and tablet. */
@media (min-width:700px){
  .layout-3 .site-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);align-items:center;gap:clamp(32px,5vw,82px);width:100%;max-width:none;margin:0;text-align:left;padding-left:max(36px,calc((100% - 1560px)/2));padding-right:max(36px,calc((100% - 1560px)/2))}
  .layout-3 .hero-copy{width:100%;max-width:720px;margin:0}
  .layout-3 .hero-copy h1{max-width:720px}
  .layout-3 .hero-actions,.layout-3 .hero-proof{justify-content:flex-start}
  .layout-3 .hero-visual{width:100%;max-width:none;min-height:520px;margin:0}
}
