*, *::before, *::after { box-sizing: border-box }
html { scroll-behavior: smooth }
*,*::before,*::after{margin:0;padding:0}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:var(--wlsa-font-body);color:var(--text-dark);background:var(--white);overflow-x:hidden;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--wlsa-font-heading);letter-spacing:-0.02em;line-height:1.2}
h1{font-size:clamp(32px, 5vw, 68px)}
h2{font-size:clamp(24px, 3.5vw, 44px)}
h3{font-size:clamp(18px, 2.5vw, 28px)}
p{font-size:clamp(15px, 1.5vw, 17px)}
.s-num,.tick-n,.impact-mini-n,.d-amt-label{font-family:var(--wlsa-font-numbers);font-weight:700;letter-spacing:-0.02em}
.container{max-width:1200px;margin:0 auto;padding:0 28px}

@media(max-width:600px){
  .container{padding:0 18px}
}

@media(max-width:768px){
  body{font-size:16px;line-height:1.65}
  p{font-size:16px}
  h1{font-size:clamp(32px, 10vw, 42px)}
  h2{font-size:clamp(24px, 8vw, 34px)}
  h3{font-size:clamp(20px, 6vw, 26px)}
  .container{width:100%;max-width:100%;padding-left:18px;padding-right:18px}
  section{max-width:100vw}
  main,article,aside,div{min-width:0}
  a,button{touch-action:manipulation}
}
