html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img,picture,video,svg{max-width:100%;display:block}
body{font-family:var(--font-family);font-weight:var(--font-weight-light);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text);background:var(--color-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
@media(min-width:768px){body{padding-bottom:0}}
h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-medium);color:var(--color-primary);text-transform:uppercase;letter-spacing:.3px;line-height:var(--line-height-heading)}
h2,h3{font-size:var(--font-size-h2);font-weight:var(--font-weight-medium);color:var(--color-primary);line-height:var(--line-height-heading)}
p{margin-bottom:1em}
a{color:var(--color-primary);text-decoration:none}
.container{max-width:var(--content-max-width);margin:0 auto;padding:0 32px}
section{padding:var(--section-padding-desktop) 0}
@media(max-width:767px){section{padding:var(--section-padding-mobile) 0}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}
.reveal.visible{opacity:1;transform:translateY(0)}
.img-placeholder{background:#EEE;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}
ul,ol{list-style:none}
