:root {
    --brand-ink: #062e42;
    --brand-ink-deep: #042437;
    --brand-sage: #a5b8b1;
    --brand-leaf: #718b82;
    --brand-paper: #f3f4ef;
    --brand-white: #ffffff;
    --brand-line: #d4ded9;
    --brand-radius: 0.35rem;
    --brand-shadow: 0 1rem 3rem rgb(4 36 55 / 8%);
}

body {
    min-width: 320px;
    margin: 0;
    background: var(--brand-paper);
    color: var(--brand-ink);
    font-family: "Raleway", "Helvetica Neue", Arial, sans-serif;
    line-height: 1.65;
}

h1,
h2,
h3,
.site-brand,
.eyebrow {
    letter-spacing: 0.08em;
}

h1,
h2,
h3 {
    font-weight: 500;
    line-height: 1.15;
}

.site-nav {
    background: var(--brand-ink);
    box-shadow: 0 0.25rem 1rem rgb(4 36 55 / 12%);
}

.site-nav__inner {
    min-height: 5.25rem;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--brand-sage);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
}

.site-brand:hover,
.site-brand:focus {
    color: var(--brand-white);
}

.site-brand__mark {
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 auto;
}

.site-brand__name {
    letter-spacing: 0.12em;
}

.site-brand__name small {
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 0.18em;
}

.nav-link {
    color: var(--brand-sage);
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active {
    color: var(--brand-white);
}

.social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.social-link__icon {
    width: 1.2rem;
    height: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.site-content {
    min-height: calc(100vh - 9.75rem);
    padding-block: clamp(1.5rem, 4vw, 3.5rem);
}

.hero-panel {
    max-width: 48rem;
    margin: 0 auto;
    padding: clamp(2.5rem, 8vw, 6rem) clamp(1.5rem, 6vw, 5rem);
    background: var(--brand-ink);
    color: var(--brand-white);
    box-shadow: var(--brand-shadow);
}

.hero-panel h1 {
    margin: 0 0 1.5rem;
    color: var(--brand-sage);
    font-size: clamp(2.8rem, 8vw, 5.5rem);
    text-transform: uppercase;
}

.hero-panel h1 span {
    color: var(--brand-white);
    font-weight: 300;
}

.hero-panel__lede {
    max-width: 30rem;
    margin-bottom: 2rem;
    color: #dce6e1;
    font-size: 1.1rem;
}

.eyebrow {
    margin-bottom: 1rem;
    color: var(--brand-leaf);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.hero-panel .eyebrow {
    color: var(--brand-sage);
}

.btn-brand {
    border: 1px solid var(--brand-sage);
    border-radius: var(--brand-radius);
    background: var(--brand-sage);
    color: var(--brand-ink);
    font-weight: 700;
    letter-spacing: 0.05em;
}

.btn-brand:hover,
.btn-brand:focus {
    border-color: var(--brand-white);
    background: var(--brand-white);
    color: var(--brand-ink);
}

.content-panel {
    max-width: 50rem;
    margin: 0 auto;
}

.content-panel--form {
    padding: clamp(1.5rem, 5vw, 3.5rem);
    background: var(--brand-white);
    box-shadow: var(--brand-shadow);
}

.content-panel h1 {
    margin-bottom: 0.75rem;
    font-size: clamp(2rem, 5vw, 3.4rem);
    text-transform: uppercase;
}

.content-panel .lead {
    margin-bottom: 2.5rem;
    color: #496168;
}

.consent-copy {
    margin-bottom: 2.5rem;
    padding: 1.25rem 1.5rem;
    border-left: 0.25rem solid var(--brand-sage);
    background: #f2f6f3;
}

.consent-copy ol {
    margin-bottom: 0;
    padding-left: 1.2rem;
}

.intake-form label {
    color: var(--brand-ink);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.intake-form .form-control,
.intake-form .form-select {
    border-color: var(--brand-line);
    border-radius: var(--brand-radius);
    color: var(--brand-ink);
}

.intake-form .form-control:focus,
.intake-form .form-select:focus,
.intake-form .form-check-input:focus {
    border-color: var(--brand-leaf);
    box-shadow: 0 0 0 0.2rem rgb(113 139 130 / 24%);
}

.intake-form .form-check {
    margin: 1.5rem 0;
}

.intake-form .form-check-label {
    font-weight: 500;
}

.intake-form .btn-primary {
    border-color: var(--brand-ink);
    background: var(--brand-ink);
    font-weight: 700;
    letter-spacing: 0.05em;
}

.intake-form .btn-primary:hover,
.intake-form .btn-primary:focus {
    border-color: var(--brand-ink-deep);
    background: var(--brand-ink-deep);
}

.site-alert {
    max-width: 50rem;
    margin: 0 auto 2rem;
    border: 1px solid var(--brand-sage);
    border-radius: var(--brand-radius);
    background: #e6efe9;
    color: var(--brand-ink);
}

.site-footer {
    padding: 1.5rem 0;
    background: var(--brand-ink-deep);
    color: var(--brand-sage);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    .site-nav__inner {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .navbar-collapse {
        padding-top: 1rem;
    }
}

@media (max-width: 575.98px) {
    .site-brand__name {
        font-size: 0.72rem;
    }

    .content-panel--form {
        padding: 1.25rem;
    }
}
