:root{
    --cx-blue:#285789;
    --cx-navy:#102b4d;
    --cx-dark:#0b213a;
    --cx-soft:#f4f6f8;
    --cx-border:#dde3e8;
    --cx-muted:#71808d;
}

/* CONTACT */
.contact-hero,
.careers-hero{
    padding:95px 0 80px;
    background:linear-gradient(180deg,#f8fafc,#fff);
    border-bottom:1px solid var(--cx-border);
}

.contact-hero-grid,
.careers-hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:90px;
    align-items:end;
}

.contact-hero h1,
.careers-hero h1,
.contact-information h2,
.contact-form-heading h2,
.careers-intro h2,
.career-development-heading h2,
.contact-final h2,
.careers-cta h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    color:var(--cx-navy);
    letter-spacing:-.03em;
    line-height:1.08;
}

.contact-hero h1,
.careers-hero h1{
    font-size:clamp(45px,6vw,70px);
    margin:14px 0 0;
}

.contact-hero-copy p,
.careers-hero-copy p{
    color:var(--cx-muted);
    font-size:17px;
    line-height:1.8;
    margin:0;
}

.contact-main{
    padding:85px 0;
}

.contact-main-grid{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:80px;
    align-items:start;
}

.contact-information{
    position:sticky;
    top:120px;
}

.contact-information h2{
    font-size:34px;
    margin:15px 0 18px;
}

.contact-information>p{
    color:var(--cx-muted);
    line-height:1.75;
    font-size:14px;
}

.contact-information-list{
    display:grid;
    gap:20px;
    margin-top:38px;
}

.contact-information-list>div{
    display:grid;
    gap:5px;
    border-top:1px solid var(--cx-border);
    padding-top:16px;
}

.contact-information-list span{
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
    color:var(--cx-blue);
}

.contact-information-list strong{
    color:var(--cx-navy);
    font-size:14px;
}

.contact-information-list small{
    color:var(--cx-muted);
}

.contact-form-panel{
    border:1px solid var(--cx-border);
    padding:34px;
    background:#fff;
}

.contact-form-heading{
    margin-bottom:28px;
}

.contact-form-heading h2{
    font-size:32px;
    margin:10px 0 0;
}

.contact-alert{
    padding:14px 16px;
    margin-bottom:22px;
    font-size:13px;
}

.contact-alert.success{
    background:#edf7f1;
    color:#2c6844;
    border:1px solid #d4e8dc;
}

.corporate-contact-form{
    display:grid;
    gap:20px;
}

.contact-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.corporate-contact-form label{
    display:grid;
    gap:8px;
}

.corporate-contact-form label>span{
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    color:#53616f;
}

.corporate-contact-form input,
.corporate-contact-form textarea{
    border:0;
    border-bottom:1px solid #cfd7de;
    border-radius:0;
    padding:11px 2px;
    background:#fff;
    color:#22374a;
}

.corporate-contact-form input:focus,
.corporate-contact-form textarea:focus{
    outline:none;
    border-bottom-color:var(--cx-blue);
    box-shadow:none;
}

.contact-field-error{
    color:#9e3b3b;
}

.contact-form-footer{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:25px;
    margin-top:8px;
}

.contact-form-footer p{
    max-width:450px;
    color:#8a949e;
    font-size:10px;
    line-height:1.5;
    margin:0;
}

.contact-submit{
    background:var(--cx-blue);
    color:#fff;
    border-radius:0;
    padding:14px 20px;
    font-size:12px;
    white-space:nowrap;
}

.contact-final,
.careers-cta{
    padding:70px 0;
    background:var(--cx-navy);
    color:#fff;
}

.contact-final-grid,
.careers-cta-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:center;
}

.contact-final .eyebrow,
.careers-cta .eyebrow{
    color:#bcd4e8;
}

.contact-final h2,
.careers-cta h2{
    color:#fff;
    font-size:clamp(32px,4vw,46px);
    margin:12px 0 0;
}

.contact-final a{
    justify-self:end;
    color:#c4dced;
    text-decoration:none;
    font-weight:800;
    font-size:12px;
}

/* CAREERS */
.careers-intro{
    padding:90px 0;
}

.careers-intro-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:100px;
}

.careers-intro h2{
    font-size:clamp(34px,4vw,48px);
    margin:14px 0 0;
}

.careers-rich-content{
    color:#344555;
    font-size:16px;
    line-height:1.95;
}

.career-development{
    padding:80px 0;
    background:var(--cx-soft);
}

.career-development-heading h2{
    font-size:clamp(32px,4vw,46px);
    margin:12px 0 35px;
}

.career-development-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--cx-border);
    border-left:1px solid var(--cx-border);
}

.career-development-grid article{
    padding:25px;
    min-height:245px;
    background:#fff;
    border-right:1px solid var(--cx-border);
    border-bottom:1px solid var(--cx-border);
}

.career-development-grid article>span{
    color:var(--cx-blue);
    font-size:10px;
    font-weight:800;
}

.career-development-grid h3{
    font-family:Georgia,serif;
    font-weight:400;
    color:var(--cx-navy);
    font-size:22px;
    margin:31px 0 12px;
}

.career-development-grid p{
    color:var(--cx-muted);
    font-size:13px;
    line-height:1.65;
}

.careers-cta p{
    color:#d6e3ed;
    line-height:1.75;
}

.careers-light-button{
    display:inline-block;
    background:#fff;
    color:var(--cx-navy);
    padding:14px 18px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    margin-top:8px;
}

@media(max-width:950px){
    .contact-hero-grid,
    .careers-hero-grid,
    .contact-main-grid,
    .careers-intro-grid,
    .contact-final-grid,
    .careers-cta-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .contact-information{
        position:static;
    }

    .career-development-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .contact-final a{
        justify-self:start;
    }
}

@media(max-width:620px){
    .contact-hero,
    .careers-hero{
        padding:65px 0 55px;
    }

    .contact-main,
    .careers-intro{
        padding:60px 0;
    }

    .contact-form-panel{
        padding:24px;
    }

    .contact-form-grid{
        grid-template-columns:1fr;
    }

    .contact-form-footer{
        display:grid;
    }

    .career-development-grid{
        grid-template-columns:1fr;
    }
}
