*,:before,:after{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-body);margin:0}h1,h2,h3,h4{margin:0 0 var(--space-4);color:var(--color-contrast);font-family:var(--font-heading);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h1{font-size:var(--font-size-hero)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin:0 0 var(--space-4)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-soft)}strong{color:var(--color-contrast);font-weight:var(--font-weight-strong)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-brand);color:var(--color-contrast)}.eyebrow{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-strong);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:2.25em;height:2px}.site-button{align-items:center;gap:var(--space-2);border:1.5px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-background);font-size:var(--font-size-base);font-weight:var(--font-weight-strong);padding:.85rem 1.75rem;line-height:1.2;display:inline-flex}.site-button:hover{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-background)}.site-button--outline{border-color:color-mix(in srgb, var(--color-contrast) 55%, transparent);color:var(--color-contrast);background:0 0}.site-button--outline:hover{border-color:var(--color-accent);color:var(--color-accent);background:0 0}.flow>*{max-width:var(--flow-width,var(--width-content));margin-inline:auto}.flow>*+*{margin-top:var(--space-block)}.flow>.section,.flow>.content{max-width:none}.flow>.section+*,.flow>*+.section,.flow>.content,.flow>.content+*{margin-top:0}.flow--page>:not(.section):not(.content){padding-inline:var(--space-gutter)}.flow--page>.columns,.flow--page>.grid,.flow>.flow-wide{max-width:var(--width-wide)}.flow--page:not(:has(>.section:last-child,>.content)){padding-bottom:var(--space-section)}
