.sp-container{width:100%;max-width:calc(var(--container) + var(--page-pad)*2);margin-inline:auto;padding-inline:var(--page-pad)}
.sp-section{padding-block:var(--section-y)}
.sp-section--hero{padding-block:var(--space-80) var(--space-96)}
.sp-section--alt{background:var(--surface-section-alt)}
.sp-section--highlight{background:var(--surface-highlight)}
.sp-stack{display:flex;flex-direction:column;gap:var(--space-lg)}
.sp-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.sp-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter)}
.sp-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter)}
.sp-cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}
.sp-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-64);align-items:start}
.sp-divider{height:1px;background:var(--color-border);border:0;margin:0}
@media (max-width:1024px){
  :root{--gutter:var(--gutter-tablet);--section-y:var(--space-80)}
  .sp-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .sp-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-split{grid-template-columns:minmax(0,1fr);gap:var(--space-40)}
}
@media (max-width:680px){
  :root{--gutter:var(--gutter-mobile);--page-pad:var(--page-pad-mobile);--section-y:var(--section-y-mobile)}
  .sp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sp-cols-2,.sp-cols-3,.sp-cols-4{grid-template-columns:minmax(0,1fr)}
  .sp-section--hero{padding-block:var(--space-40) var(--space-64)}
}
