*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-padding-top: 82px; }
body { margin: 0; background: var(--cw-bg-glow), var(--cw-bg); background-repeat: no-repeat; background-attachment: fixed; color: var(--cw-text); font: 400 var(--cw-text-base)/1.55 var(--cw-font); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6 { margin: 0; font-weight: 650; line-height: 1.25; letter-spacing: -.025em; color: var(--cw-text); }
h1 { font-size: var(--cw-text-title); } h2 { font-size: var(--cw-text-lg); } h3 { font-size: 1rem; }
p { margin: 0 0 1em; } p:last-child { margin-bottom: 0; }
a { color: var(--cw-accent); text-decoration: none; } a:hover { text-decoration: underline; }
button,input,select,textarea { font: inherit; } button,a,input,select,textarea,summary { -webkit-tap-highlight-color: transparent; }
button,summary { cursor: pointer; } button:disabled { cursor: not-allowed; opacity: .55; }
img,svg { max-width: 100%; } img { height: auto; }
strong { font-weight: 650; } small { font-size: var(--cw-text-xs); }
form { margin: 0; } fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
legend { float: none; width: auto; margin-bottom: 18px; font-size: 1rem; font-weight: 650; }
:focus-visible { outline: 2px solid var(--cw-accent); outline-offset: 2px; }
[hidden] { display: none !important; }
::selection { background: var(--cw-mint); color: var(--cw-text); }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
