*{box-sizing:border-box}html{scroll-padding-top:6rem}body{background:var(--background-primary);color:var(--text-primary);font-family:var(--font-inter), sans-serif;font-size:var(--type-body);margin:0;line-height:1.6}::selection{background:var(--accent);color:var(--text-on-accent)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-space-grotesk), sans-serif;font-weight:500;line-height:1.08}h1{font-size:var(--type-display-md);letter-spacing:-.05em}p{color:var(--text-secondary)}a{color:inherit;text-underline-offset:.25em}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{stroke-width:1.6px;flex:none;width:1.125rem;height:1.125rem}img,video{max-width:100%}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}:target{scroll-margin-top:6rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;top:-100px;left:var(--page-gutter);padding:var(--space-3);background:var(--text-primary);color:var(--background-primary);position:fixed}.skip-link:focus{top:var(--space-4)}.shell{width:min(100% - 2 * var(--page-gutter), 760px);margin:clamp(3rem,10vh,7rem) auto}.shell>*+*{margin-top:var(--space-6)}.compact{max-width:420px}.shell nav{gap:var(--space-6);flex-wrap:wrap;display:flex}.shell form{gap:var(--space-3);margin-block:var(--space-8);display:grid}.shell input{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);background:var(--surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.shell button{border-radius:var(--radius-sm);min-height:48px;padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--text-on-accent);border:1px solid #0000}.shell button:disabled{opacity:.5}.error{color:var(--error)}.eyebrow{font:500 var(--type-eyebrow)/1.5 var(--font-inter), sans-serif;letter-spacing:.14em;text-transform:uppercase}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.page-transition,.progress>span,.button-progress,.skeleton{animation:none!important;transform:none!important}.card:hover .responsive-image img,.button:hover,.formula-link:hover svg{transform:none!important}}@media (forced-colors:active){.button,.form-control,.choice-mark,.switch-track{border:1px solid buttontext}.choice input:checked+.choice-mark,.choice input:checked+.switch-track{outline:2px solid highlight}}
