/* Shared responsive safeguards for every public page. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
main,header,footer,section,article,div{min-width:0}
img,svg,video,iframe,object{max-width:100%}
h1,h2,h3,p,a,strong{overflow-wrap:break-word;hyphens:auto}
.primary{max-width:100%;white-space:normal;text-align:center}

@media (max-width:900px){
  .inner-hero h1{font-size:clamp(2.55rem,11vw,4.2rem);line-height:.98;overflow-wrap:anywhere}
  .legal h1,.terms-hero h1{font-size:clamp(2.5rem,11vw,4rem);overflow-wrap:anywhere}
  .price-grid article,.prose-grid article,.feature,.cards article,.reference-card{min-width:0}
  .price-grid,.prose-grid,.split-visual,.wide-copy>.section-head,.references-head{grid-template-columns:1fr}
  .reference-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:560px){
  header{padding-left:20px;padding-right:20px}
  .logo img{width:min(145px,55vw)}
  .inner-hero,.content,.wide-copy,.steps-band,.cta-band,.references,.hero-copy,.intro,.services,.approach,.numbers,.contact{padding-left:24px;padding-right:24px}
  .inner-hero h1{font-size:clamp(2.35rem,10.5vw,2.8rem)}
  .hero h1{font-size:clamp(2.7rem,12vw,3.4rem);overflow-wrap:anywhere}
  .steps-band h2,.content h2,.wide-copy h2,.cta-band h2,.references h2,.visual-copy h2,.intro h2,.services h2,.approach h2,.contact h2{font-size:clamp(2.15rem,9.5vw,2.9rem);overflow-wrap:anywhere}
  .tag{letter-spacing:.14em;line-height:1.55}
  .terms-hero,.terms-content,.terms-document{padding-left:24px;padding-right:24px}
  .terms-meta{margin-left:24px;margin-right:24px}
  .terms-hero h1{font-size:clamp(2.25rem,10vw,2.7rem)}
  .terms-document object{height:420px}
  .reference-grid{grid-template-columns:1fr}
  .price-grid article{padding:26px 22px}
  .split-visual .visual-copy{padding:36px 24px}
  footer{padding-left:24px;padding-right:24px}
}
