*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--gray-800);background:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--gray-900)}
h1{font-size:var(--fs-4xl)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}h5{font-size:var(--fs-lg)}h6{font-size:var(--fs-base)}
a{text-decoration:none;color:var(--primary);transition:color var(--transition-fast)}
a:hover{color:var(--primary-dark)}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}
input,textarea,select{font-family:inherit;font-size:inherit;outline:none}
ul,ol{list-style:none}
table{border-collapse:collapse;width:100%}
::selection{background:var(--primary-lightest);color:var(--primary-darker)}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--gray-100)}
::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
