:root{
  --bam-primary:#c00032;
  --bam-primary-hover:#a9002c;
  --bam-accent:#e5484d;
  --bam-dark:#111318;
  --bam-footer:#000710;
  --bam-ink:#1c2028;
  --bam-muted:#5b6069;
  --bam-light:#fcfcfd;
  --bam-surface:#ffffff;
  --bam-gray:#f1f2f6;
  --bam-sand:#f4f0ea;
  --bam-mint:#eaf2f1;
  --bam-violet:#f2eef5;
  --bam-sand-ink:#242019;
  --bam-mint-ink:#162421;
  --bam-violet-ink:#211b27;
  --bam-line:#dedfe5;
  --bam-line-soft:#e3e4e8;
  --bam-line-dark:color-mix(in srgb,#ffffff 18%,transparent);
  --bam-input-line:#b9bcc5;
  --bam-heading:"Albert Sans",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic","Microsoft YaHei",sans-serif;
  --bam-body:"IBM Plex Sans",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic","Microsoft YaHei",sans-serif;
  --bam-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --bam-fs-0:.6875rem;
  --bam-fs-1:.75rem;
  --bam-fs-2:.875rem;
  --bam-fs-3:1rem;
  --bam-fs-4:1.25rem;
  --bam-fs-5:clamp(1.75rem,3vw,3rem);
  --bam-fs-6:clamp(2.75rem,5.2vw,4.25rem);
  --bam-lh-tight:1.15;
  --bam-lh-heading:1.2;
  --bam-lh-body:1.58;
  --bam-space-1:.5rem;
  --bam-space-2:1rem;
  --bam-space-3:1.5rem;
  --bam-space-4:2.5rem;
  --bam-space-5:4rem;
  --bam-space-6:6rem;
  --bam-space-7:8rem;
  --bam-radius-sm:.5rem;
  --bam-radius-md:.75rem;
  --bam-radius-lg:1rem;
  --bam-shadow:0 18px 48px rgba(17,19,24,.09);
  --bam-container-narrow:46rem;
  --bam-container:70rem;
  --bam-container-wide:70rem;
  --bam-gutter:clamp(1.25rem,4vw,2.5rem);
  --bam-hero-pad:clamp(4.5rem,8vw,7rem);
  --bam-hero-crumb-pad:2.5rem;
  --bam-section-pad:clamp(5rem,9vw,7rem);
  --bam-header-z:100;
  --bam-speed:200ms;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;text-size-adjust:100%}
body{margin:0;background:var(--bam-surface);color:var(--bam-ink);font-family:var(--bam-body);font-size:var(--bam-fs-3);line-height:var(--bam-lh-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--bam-heading);font-weight:500;line-height:var(--bam-lh-heading);overflow-wrap:anywhere}
h1{font-size:var(--bam-fs-6);letter-spacing:-.04em}
h2{font-size:var(--bam-fs-5);letter-spacing:-.035em}
h3{font-size:var(--bam-fs-4);letter-spacing:-.02em}
h4{font-size:var(--bam-fs-3)}
h5{font-size:var(--bam-fs-2)}
h6{font-size:var(--bam-fs-1)}
p{margin:0;font-size:var(--bam-fs-3);line-height:var(--bam-lh-body)}
ul,ol{margin:0;padding:0}
li{font-size:var(--bam-fs-3);line-height:var(--bam-lh-body)}
small{font-size:var(--bam-fs-1);line-height:1.45}
figcaption{font-size:var(--bam-fs-1);line-height:1.45}
blockquote{margin:0;font-size:var(--bam-fs-4);line-height:1.5}
code,pre{font-family:var(--bam-mono);font-size:var(--bam-fs-2);line-height:1.55}
pre{max-width:100%;overflow-x:auto}
th,td{font-size:var(--bam-fs-2);line-height:1.45}
dt{font-size:var(--bam-fs-2);font-weight:600;line-height:1.45}
dd{margin:0;font-size:var(--bam-fs-2);line-height:1.5}
label{font-size:var(--bam-fs-2);line-height:1.4}
.container-narrow,.container,.container-wide{width:calc(100% - var(--bam-gutter)*2);margin-inline:auto}
.container-narrow{max-width:var(--bam-container-narrow)}
.container{max-width:var(--bam-container)}
.container-wide{max-width:var(--bam-container-wide)}
.grid-2,.grid-3,.grid-4,.grid-auto{display:grid;align-items:start}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bam-space-3)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bam-space-3)}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bam-space-2)}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--bam-space-3)}
.grid-2>*,.grid-3>*,.grid-4>*,.grid-auto>*{min-width:0}
.stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--bam-space-2)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bam-space-1)}
.section{padding-block:var(--bam-section-pad)}
.section-white{background:#ffffff;color:#1c2028}
.section-gray{background:#f1f2f6;color:#1c2028}
.section-sand{background:#f4f0ea;color:#242019}
.section-mint{background:#eaf2f1;color:#162421}
.section-violet{background:#f2eef5;color:#211b27}
.section-dark{background:#111318;color:#fcfcfd}
.section-gray p{color:#575c65}
.section-sand p{color:#5e5951}
.section-mint p{color:#4f605c}
.section-violet p{color:#5b5561}
.section-dark p{color:#bac0ca}
.section-head{max-width:49rem;margin:0 auto var(--bam-space-5);text-align:center}
.section-head .c-kicker{margin-inline:auto}
.section-head p{max-width:42rem;margin:var(--bam-space-2) auto 0}
.section-head .c-actions{justify-content:center}
.text-muted{color:var(--bam-muted)}
.text-center{text-align:center}
.mono{font-family:var(--bam-mono);font-variant-numeric:tabular-nums}
.mt-1{margin-top:var(--bam-space-1)}
.mt-2{margin-top:var(--bam-space-2)}
.mt-3{margin-top:var(--bam-space-3)}
.mt-4{margin-top:var(--bam-space-4)}
.mb-0{margin-bottom:0}
.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}
[hidden]{display:none!important}
:focus-visible{outline:3px solid color-mix(in srgb,var(--bam-primary) 35%,transparent);outline-offset:3px}
::selection{background:color-mix(in srgb,var(--bam-primary) 18%,#ffffff);color:#111318}
.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .6s ease,transform .6s ease}
.reveal.reveal-left{transform:translateX(-1.25rem)}
.reveal.reveal-right{transform:translateX(1.25rem)}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal.reveal-left,.reveal.reveal-right{opacity:1;transform:none}
}
@media(max-width:64rem){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:44rem){
  :root{--bam-section-pad:4.5rem;--bam-hero-pad:4.25rem}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}
