/* framework.css — Client-First style utilities + base type. Ship as-is. */

*,*::before,*::after{box-sizing:border-box}

body{
  font-family:"neue-haas-grotesk-text","Helvetica Neue",Helvetica,Arial,sans-serif;
  color:#16181d;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}

/* ---------- Containers & section shell ---------- */
.padding-global{padding-left:5%;padding-right:5%}
.container-large{width:100%;max-width:80rem;margin:0 auto}
.container-medium{width:100%;max-width:64rem;margin:0 auto}
.container-small{width:100%;max-width:48rem;margin:0 auto}

.padding-section-small{padding-top:3rem;padding-bottom:3rem}
.padding-section-medium{padding-top:5rem;padding-bottom:5rem}
.padding-section-large{padding-top:7rem;padding-bottom:7rem}

@media (max-width:767px){
  .padding-section-small{padding-top:2rem;padding-bottom:2rem}
  .padding-section-medium{padding-top:3.25rem;padding-bottom:3.25rem}
  .padding-section-large{padding-top:4.5rem;padding-bottom:4.5rem}
}

/* ---------- Spacing scale ---------- */
.padding-tiny{padding:.125rem}.padding-xxsmall{padding:.25rem}.padding-xsmall{padding:.5rem}
.padding-small{padding:1rem}.padding-medium{padding:2rem}.padding-large{padding:3rem}
.padding-xlarge{padding:4rem}.padding-xxlarge{padding:5rem}.padding-huge{padding:6rem}
.padding-top{padding-bottom:0!important;padding-left:0!important;padding-right:0!important}
.padding-bottom{padding-top:0!important;padding-left:0!important;padding-right:0!important}
.padding-vertical{padding-left:0!important;padding-right:0!important}
.padding-horizontal{padding-top:0!important;padding-bottom:0!important}
.margin-tiny{margin:.125rem}.margin-xxsmall{margin:.25rem}.margin-xsmall{margin:.5rem}
.margin-small{margin:1rem}.margin-medium{margin:2rem}.margin-large{margin:3rem}
.margin-xlarge{margin:4rem}.margin-xxlarge{margin:5rem}
.margin-top{margin-bottom:0!important;margin-left:0!important;margin-right:0!important}
.margin-bottom{margin-top:0!important;margin-left:0!important;margin-right:0!important}
.margin-vertical{margin-left:0!important;margin-right:0!important}
.spacer-xsmall{height:.5rem}.spacer-small{height:1rem}.spacer-medium{height:2rem}
.spacer-large{height:3rem}.spacer-xlarge{height:4rem}.spacer-xxlarge{height:5rem}

/* ---------- Type utilities ---------- */
.text-size-tiny{font-size:.75rem}.text-size-small{font-size:.9rem}
.text-size-regular{font-size:1rem}.text-size-medium{font-size:1.15rem}
.text-size-large{font-size:1.5rem}
.text-weight-light{font-weight:300}.text-weight-normal{font-weight:400}
.text-weight-medium{font-weight:500}.text-weight-semibold{font-weight:600}
.text-weight-bold{font-weight:700}
.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}
.text-style-allcaps{text-transform:uppercase;letter-spacing:2.5px}
.text-style-italic{font-style:italic}

/* ---------- A11y ---------- */
a:focus-visible,button:focus-visible{outline:3px solid #B92F2F;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
