*, *::before, *::after  {
    box-sizing: border-box;
}

html  {
    scroll-behavior: smooth;
    scroll-padding-top: 96px;
}

body  {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: var(--font);
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}

button, input, select  {
    font: inherit;
}

button, a  {
    -webkit-tap-highlight-color: transparent;
}

button  {
    cursor: pointer;
}

a  {
    color: inherit;
    text-decoration: none;
}

button, a, summary  {
    touch-action: manipulation;
}

img, svg  {
    vertical-align: middle;
}

img  {
    max-width: 100%;
    height: auto;
}

figure, h1, h2, h3, p  {
    margin: 0;
}

ul  {
    margin: 0;
    padding: 0;
    list-style: none;
}

button  {
    color: inherit;
}

::selection  {
    background: #bedcff;
    color: #102c48;
}

:focus-visible  {
    outline: 3px solid var(--blue);
    outline-offset: 5px;
    border-radius: 5px;
}

[hidden]  {
    display: none !important;
}

.container  {
    width: min(var(--container), calc(100% - 64px));
    margin-inline: auto;
}

.section  {
    padding-block: var(--section-space);
}

.eyebrow  {
    font-size: 0.75rem;
    font-weight: 650;
    letter-spacing: .1em;
    line-height: 1.6;
    margin-bottom: 20px;
}

[dir="rtl"] .eyebrow  {
    letter-spacing: .01em;
    font-size: 0.875rem;
}

h1, h2, h3  {
    line-height: 1.12;
    letter-spacing: -.045em;
    font-weight: 700;
}

[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3  {
    letter-spacing: -.045em;
}

h2  {
    font-size: clamp(2.375rem, 4.1vw, 3.75rem);
}

.section-heading  {
    max-width: 710px;
    margin-bottom: 54px;
}

.section-heading > p:last-child:not(.eyebrow), .section-description  {
    color: var(--muted);
    font-size: 1.1875rem;
    line-height: 1.7;
    margin-top: 23px;
    max-width: 630px;
}

.section-heading.centered  {
    text-align: center;
    margin-inline: auto;
}

.section-heading.centered > p  {
    margin-inline: auto;
}

.icon  {
    display: inline-block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

[dir="rtl"] .directional  {
    transform: rotate(180deg);
}

.skip-link  {
    position: fixed;
    z-index: 200;
    top: -100px;
    inset-inline-start: 20px;
    padding: 12px 20px;
    background: #fff;
    color: var(--blue);
    box-shadow: 0 4px 20px #0002;
}

.skip-link:focus  {
    top: 15px;
}

.reveal-ready  {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .8s var(--ease), transform .8s var(--ease);
}

.reveal-ready.is-visible  {
    opacity: 1;
    transform: translateY(0);
}

@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-ready  {
        opacity: 1;
        transform: none;
    }
}
