*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--canvas);color:var(--black);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:800;letter-spacing:-0.03em;line-height:1.1}
a{color:inherit;text-decoration:none}
img,picture{display:block;max-width:100%;height:auto}
button,input,textarea,select{font-family:var(--font)}
.page{padding:0;padding-top:var(--nav-h);display:flex;flex-direction:column;gap:0;min-height:100vh;}
.page > :first-child{padding-top:0 !important;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}





/* LAYOUT CONTROLS */
.page > * { max-width: 1500px; margin-left: auto; margin-right: auto; width: 100%; }
.page > .full-width { max-width: none !important; }


/* WIDTH UTILITIES */
.w-full {
  max-width: none !important;
  width: 100% !important;
}
.w-1500 {
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  padding-left: clamp(20px, 4vw, 50px);
  padding-right: clamp(20px, 4vw, 50px);
}
@media (max-width: 600px) {
  .w-1500 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
.w-1200 {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* COLOR UTILITIES */
.red { color: var(--red) !important; }
.muted, .grey { color: var(--grey) !important; }




