*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--fw-bold);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0 0 var(--sp-4)}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--ls-display)}
h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}h5{font-size:var(--fs-h5)}
p{margin:0 0 var(--sp-4)}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur) var(--ease-out)}
a:hover{color:var(--link-hover)}
img{max-width:100%;display:block}
:focus-visible{outline:var(--bw-strong) solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-xs)}
button,input,select,textarea{font:inherit;color:inherit}
.jb-eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent-small)}
.jb-script{font-family:var(--font-script);font-weight:400;letter-spacing:0;color:var(--strawberry)}/* script runs at 26px+, so full strawberry is AA at large-text */
.jb-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
@media(min-width:900px){
h1{font-size:var(--fs-h1-lg)}h2{font-size:var(--fs-h2-lg)}h3{font-size:var(--fs-h3-lg)}
.jb-container{padding:0 var(--gutter-lg)}
}
@keyframes jb-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
@keyframes jb-shimmer{0%{background-position:-200px 0}100%{background-position:400px 0}}
.jb-skeleton{background:linear-gradient(90deg,var(--cocoa-06) 0%,#F8F1EB 50%,var(--cocoa-06) 100%);background-size:400px 100%;animation:jb-shimmer 1.4s linear infinite;border-radius:var(--r-sm)}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
