*,*::before,*::after {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--header) + 24px)
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:16px/1.65 var(--sans);
    -webkit-font-smoothing:antialiased
}
body.menu-is-open {
    overflow:hidden
}
::selection {
    background:#c7d9ff;
    color:var(--ink)
}
a {
    color:inherit;
    text-decoration:none
}
button,input,textarea,select {
    font:inherit
}
a,button,summary {
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent
}
button,summary {
    cursor:pointer
}
button {
    color:inherit
}
img {
    max-width:100%;
    height:auto;
    display:block
}
figure,h1,h2,h3,p {
    margin:0
}
h1,h2,h3 {
    font-weight:600;
    line-height:1.12;
    letter-spacing:-.045em;
    text-wrap:balance
}
h1 {
    font-size:clamp(2.4rem,5vw,4.6rem)
}
h2 {
    font-size:clamp(2rem,3.5vw,3.15rem)
}
h3 {
    font-size:1.45rem;
    letter-spacing:-.025em
}
h1>span {
    color:var(--accent)
}
p {
    color:var(--muted)
}
p+p {
    margin-top:1.2em
}
ul,ol {
    padding:0;
    margin:0;
    list-style:none
}
button {
    border:0
}
input,select,textarea {
    min-width:0
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:5px
}
[hidden] {
    display:none!important
}
.wrap {
    width:min(calc(100% - var(--gutter)*2),var(--wrap));
    margin-inline:auto
}
.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
}
.skip-link {
    position:fixed;
    top:12px;
    left:16px;
    z-index:100;
    transform:translateY(-150%);
    background:var(--ink);
    color:white;
    padding:12px 20px
}
.skip-link:focus {
    transform:translateY(0)
}
.actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:18px 28px;
    margin-top:28px
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    min-height:56px;
    padding:15px 23px;
    border-radius:5px;
    border:1px solid transparent;
    font-size:.95rem;
    line-height:1.45;
    font-weight:600;
    transition:background .18s,box-shadow .18s
}
.button.primary {
    background:var(--accent);
    color:white
}
.button.primary:hover {
    background:var(--accent-hover);
    box-shadow:0 5px 18px #2459d322
}
.button.secondary {
    border-color:#c3d1dd;
    background:white;
    color:var(--ink)
}
.button.secondary:hover {
    border-color:var(--accent);
    color:var(--accent)
}
.button.light {
    background:white;
    color:var(--accent)
}
.button.light:hover {
    background:#eaf0ff
}
.button>span[aria-hidden] {
    font-size:1.3rem;
    line-height:1
}
.text-link {
    display:inline-flex;
    align-items:center;
    gap:16px;
    min-height:44px;
    font-size:.92rem;
    font-weight:600;
    text-decoration:underline;
    text-underline-offset:6px;
    text-decoration-thickness:1px
}
.text-link:hover {
    color:var(--accent)
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*::before,*::after {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important
    }
}
