.contact-page {
    color:#172d3f;
    background:#f5f3ef;
}
.contact-intro {
    padding:74px 0 88px;
}
.contact-layout {
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    align-items:start;
    gap:clamp(42px,7vw,96px);
}
.contact-copy {
    padding:28px 0 0;
}
.contact-copy h1 {
    max-width:560px;
    margin:21px 0 19px;
    color:#142a3d;
    font:600 clamp(48px,5vw,66px)/1.07 var(--display);
    letter-spacing:-3.6px;
}
.contact-copy h1 em {
    color:#287a83;
    font-style:normal;
}
.contact-copy>p {
    max-width:520px;
    color:#586972;
    font-size:17px;
    line-height:1.8;
}
.contact-details {
    max-width:480px;
    margin-top:45px;
    border-top:1px solid #d7dddf;
}
.contact-details>div {
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:16px 0;
    border-bottom:1px solid #d7dddf;
}
.contact-details>div>span {
    color:#75848b;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.2px;
}
.contact-details a {
    width:max-content;
    color:#172d3f;
    font-size:16px;
    font-weight:600;
}
.contact-details a:hover {
    color:#176e82;
}
.contact-details>p {
    max-width:420px;
    margin:17px 0 0;
    color:#66767e;
    font-size:13px;
    line-height:1.7;
}
.contact-form-panel {
    padding:clamp(26px,4vw,45px);
    background:#fff;
    border:1px solid #e0e4e5;
    box-shadow:0 20px 54px rgba(25,43,56,.09);
}
.contact-form-heading>span {
    color:#287a83;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.25px;
}
.contact-form-heading h2 {
    margin:11px 0 7px;
    color:#142a3d;
    font:600 33px/1.15 var(--display);
    letter-spacing:-1.3px;
}
.contact-form-heading p {
    margin:0;
    color:#61717a;
    font-size:14px;
    line-height:1.65;
}
.contact-status {
    margin-top:22px;
    padding:14px 16px;
    border:1px solid #d8e1e2;
    font-size:14px;
    line-height:1.6;
}
.contact-status.is-success {
    background:#edf5f2;
    border-color:#c8ded7;
    color:#215848;
}
.contact-status.is-error {
    background:#fbf1ee;
    border-color:#e7cfc7;
    color:#773e30;
}
.contact-status ul {
    margin:8px 0 0;
    padding-left:20px;
}
.contact-field-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 16px;
    margin-top:25px;
}
.contact-field-grid>label {
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:7px;
}
.contact-field-grid>label[hidden] {
    display:none;
}
.contact-field-grid>label>span {
    color:#344956;
    font-size:13px;
    font-weight:600;
}
.contact-field-grid label b {
    color:#287a83;
}
.contact-field-grid input,
.contact-field-grid select,
.contact-field-grid textarea {
    width:100%;
    min-height:47px;
    padding:11px 12px;
    color:#182e3f;
    background:#fff;
    border:1px solid #cbd4d8;
    border-radius:2px;
    font:400 14px/1.5 var(--sans);
}
.contact-field-grid textarea {
    min-height:132px;
    resize:vertical;
}
.contact-field-grid input:focus,
.contact-field-grid select:focus,
.contact-field-grid textarea:focus {
    border-color:#287a83;
    outline:3px solid rgba(40,122,131,.15);
}
.contact-field-full {
    grid-column:1/-1;
}
.contact-consent {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:19px;
    color:#53656f;
    font-size:12px;
    line-height:1.6;
}
.contact-consent input {
    width:16px;
    height:16px;
    flex:0 0 auto;
    margin:2px 0 0;
    accent-color:#287a83;
}
.contact-submit {
    display:flex;
    min-width:180px;
    justify-content:space-between;
    margin-top:22px;
    padding:14px 17px;
    background:#102a3d;
    border-color:#102a3d;
}
.contact-submit span {
    color:#9ed8d4;
}
.contact-privacy-note {
    margin:12px 0 0;
    color:#78858a;
    font-size:11px;
    line-height:1.6;
}
@media(max-width:850px) {
    .contact-layout {
        grid-template-columns:1fr;
        gap:35px;
    }
    .contact-copy {
        padding-top:0;
    }
    .contact-details {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0 25px;
        margin-top:25px;
    }
    .contact-details>p {
        grid-column:1/-1;
    }
}
@media(max-width:600px) {
    .contact-intro {
        padding:48px 0 62px;
    }
    .contact-copy h1 {
        font-size:45px;
        letter-spacing:-2.8px;
    }
    .contact-copy>p {
        font-size:15px;
    }
    .contact-details {
        grid-template-columns:1fr;
    }
    .contact-form-panel {
        padding:23px 19px;
    }
    .contact-form-heading h2 {
        font-size:29px;
    }
    .contact-field-grid {
        grid-template-columns:1fr;
        gap:15px;
    }
    .contact-field-full {
        grid-column:auto;
    }
}
