:root{
  --background:#ffffff;
  --foreground:#0a0a0a;
  --brand:#c8202c;
  --brand-deep:#151515;
  --brand-light:#e0303a;
  --surface:#f4f4f4;
  --surface-card:#ffffff;
  --ink:#0a0a0a;
  --ink-soft:#717784;
  --ghost:#dcdcdf;
  --hairline:#e6e6e6;
  --radius-card:1.5rem;
  --radius-card-lg:2rem;
  --radius-pill:62.5rem;
  --radius-xl:0.75rem;
  --page-inset:0.5rem;
}
@media (min-width:640px){ :root{ --page-inset:0.75rem; } }

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ font-size:16px; }
@media (max-width:1920px){ html{ font-size:0.833333vw; } }
@media (max-width:1440px){ html{ font-size:1.111111vw; } }
@media (max-width:1024px){ html{ font-size:1.5625vw; } }
@media (max-width:640px){ html{ font-size:4.444444vw; } }

html.lock{ overflow:hidden; }
html.lock body{ position:fixed; left:0; right:0; overflow:hidden; }

img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ cursor:pointer; font:inherit; color:inherit; background:none; border:none; }
ul{ list-style:none; }
input,textarea{ font:inherit; color:inherit; }

body{
  min-height:100vh;
  background:var(--background);
  color:var(--foreground);
  font-family:"Onest", system-ui, sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

:focus-visible{ outline:2px solid var(--brand-light); outline-offset:2px; }

main{ width:100%; overflow-x:clip; display:block; }
main{ padding:var(--page-inset); }

section{ position:relative; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
