:root {
    --wr-ink: #14262b;
    --wr-muted: #486168;
    --wr-paper: #fafbf9;
    --wr-panel: #e7f0ed;
    --wr-line: #c6d8d5;
    --wr-accent: #006772;
    --wr-max: 70rem;
    --wr-radius: .25rem;
    --wr-font: system-ui, sans-serif;
    --wr-display: system-ui, sans-serif;
}

.wr-header { background: #fff; }
.wr-nav-row { min-height: 4.65rem; }
.wr-brand img { width: min(11rem, 45vw); }
.wr-nav { margin-inline-start: auto; }
.wr-nav a { font-weight: 650; }

.ka-intro {
    display: grid;
    grid-template-columns: minmax(0, 2.4fr) minmax(13rem, 1fr);
    align-items: end;
    gap: clamp(2rem, 6vw, 6rem);
    padding-block: clamp(3rem, 7vw, 5rem);
}

.ka-label, .ka-index {
    color: var(--wr-accent);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ka-intro h1 {
    max-width: 15ch;
    margin: 0 0 .3em;
    font-size: clamp(2.55rem, 6.1vw, 4.8rem);
    font-weight: 650;
    letter-spacing: -.055em;
    line-height: 1.04;
}

.ka-lead {
    max-width: 52ch;
    margin: 0 0 1.7rem;
    color: var(--wr-muted);
    font-size: clamp(1rem, 2vw, 1.2rem);
}

.ka-location {
    padding: 1.5rem 1.6rem;
    border-top: .25rem solid var(--wr-accent);
    background: var(--wr-panel);
}
.ka-location .ka-label { margin: 0 0 .8rem; }
.ka-location a { display: inline-block; margin-top: .8rem; }

.ka-approach {
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
    border-block: 1px solid var(--wr-line);
    background: var(--wr-panel);
}

.ka-approach h2, .ka-message h2 {
    margin: 0 0 .85rem;
    font-size: clamp(1.8rem, 4.2vw, 3.1rem);
    font-weight: 650;
    letter-spacing: -.055em;
}

.ka-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.3rem 2rem;
    margin: 1.7rem 0 0;
    padding: 0;
    list-style: none;
}
.ka-steps li { padding-top: 1rem; border-top: 1px solid var(--wr-line); }
.ka-steps h3 { margin: .55rem 0; font-size: 1.17rem; }
.ka-steps .wr-prose { color: var(--wr-muted); }

.ka-message {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: start;
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
}
.ka-message p { color: var(--wr-muted); }

.wr-interior-head { background: var(--wr-panel); }
.wr-form-panel { border-top: .25rem solid var(--wr-accent); }

@media (max-width: 760px) {
    .ka-intro, .ka-steps, .ka-message { grid-template-columns: minmax(0, 1fr); }
    .ka-intro h1 { max-width: 17ch; }
    .wr-nav { margin-inline-start: 0; }
}
