*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-body);min-height:100dvh;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tracking-display);line-height:var(--lh-tight);margin:0 0 var(--s-3);font-weight:800}
h1{font-size:var(--fs-4xl)}
h2{font-size:var(--fs-3xl)}
h3{font-size:var(--fs-xl)}
h4{font-size:var(--fs-lg);font-weight:700}
p{margin:0 0 var(--s-3)}
ul,ol{margin:0 0 var(--s-3);padding-left:1.2em}
hr{border:0;border-top:var(--border);margin:var(--s-5) 0}
small,.small{font-size:var(--fs-sm)}
.muted{color:var(--fg-muted)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);min-width:0}
.container.narrow{max-width:var(--container-narrow)}
.stack>*+*{margin-top:var(--s-4)}
.stack-lg>*+*{margin-top:var(--s-6)}
.row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}
.between{justify-content:space-between}
.grid{display:grid;gap:var(--s-4)}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.section{padding:var(--s-7) 0}
@media(min-width:768px){.section{padding:var(--s-8) 0}}
.eyebrow{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);margin-bottom:var(--s-3)}
.brandbar{display:inline-flex;gap:6px;align-items:center;margin-bottom:var(--s-3)}
.brandbar i{display:block;height:6px;border-radius:3px}
.brandbar i:first-child{width:48px;background:var(--accent)}
.brandbar i:last-child{width:24px;background:var(--cta)}
.lead{font-size:var(--fs-lg);color:var(--fg-2);max-width:60ch}
.text-center{text-align:center}
.pre{white-space:pre-wrap}
