@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500&display=swap');

:root {
    --dark: #101418;
    --light: #fff;
    --primary: #1585fd;
    --link: #246fc7;
    --line: #b5b5b5;
    --muted: #505861;
}
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #fff;
    color: #101418;
    font: 16px/1.5 'DM Sans', Arial, sans-serif;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    line-height: 1.25;
}

h1 {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 500;
}

h2 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 500;
}

h3 {
    font-size: 1.3rem;
    font-weight: 500;
}

p {
    margin-bottom: 1rem;
}

a {
    color: #246fc7;
    text-underline-offset: 3px;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

:focus-visible {
    outline: 3px solid #1585fd;
    outline-offset: 3px;
}

.shell {
    width: min(100% - 100px, 1200px);
    margin: 0 auto;
}

.section {
    padding-top: 65px;
    padding-bottom: 65px;
}

.italic {
    font-style: italic;
}

.small-title,
.eyebrow {
    color: #414b56;
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: .7rem;
}

.section-title {
    display: inline-block;
    border-bottom: 2px solid #101418;
    padding-bottom: .35rem;
}

.lead {
    color: #3f464d;
    font-size: 1.13rem;
    line-height: 1.65;
}

.box {
    border: 1px solid #b5b5b5;
    box-shadow: 0 16px 30px #5261631c;
    border-radius: 3px;
    background: #fff;
}

.ts-2 {
    transition: .2s all ease-in-out;
}

.skip-link {
    position: absolute;
    top: -60px;
    left: 16px;
    z-index: 100;
    padding: 9px 14px;
    background: #fff;
}

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

@media (max-width: 650px) {
    .shell {
        width: min(100% - 32px, 1200px);
    }

    .section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}