.contact-hero { min-height: 590px; padding: 120px 0 95px; }
.contact-hero-grid { align-items: center; display: grid; gap: 90px; grid-template-columns: 1.25fr .75fr; min-height: 370px; }
.contact-hero h1 { max-width: 790px; }
.contact-hero-intro { color: rgba(255,255,255,.8); font-size: 18px; line-height: 1.65; max-width: 560px; }
.contact-mark { align-items: center; border: 1px solid var(--bright); border-radius: 50%; display: flex; flex-direction: column; height: 280px; justify-content: center; justify-self: end; width: 280px; }
.contact-mark strong { color: var(--bright); font-size: 90px; font-weight: 400; letter-spacing: -.08em; line-height: .8; }
.contact-mark span { font-size: 10px; letter-spacing: .14em; line-height: 1.4; margin-top: 20px; text-align: center; text-transform: uppercase; }
.contact-main { padding-bottom: 120px; padding-top: 120px; }
.contact-main-grid { display: grid; gap: 90px; grid-template-columns: .75fr 1.25fr; }
.contact-context h2 { max-width: 430px; }
.contact-context > p:not(.eyebrow) { color: rgba(30,30,30,.72); font-size: 15px; max-width: 420px; }
.contact-context ul { border-top: 1px solid var(--border-light); list-style: none; margin: 38px 0 0; max-width: 460px; padding: 0; }
.contact-context li { border-bottom: 1px solid var(--border-light); font-size: 13px; padding: 15px 0 15px 22px; position: relative; }
.contact-context li:before { color: #26865b; content: "↗"; left: 0; position: absolute; }
.direct-contact { border-top: 1px solid var(--border-light); display: grid; gap: 5px; margin-top: 42px; max-width: 460px; padding-top: 20px; }
.direct-contact span { color: rgba(30,30,30,.62); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.direct-contact a { color: #176b48; font-size: 15px; font-weight: 600; }
.contact-form-wrap { border-top: 1px solid var(--border-light); padding-top: 20px; }
.form-grid { display: grid; gap: 25px 22px; grid-template-columns: 1fr 1fr; }
label { color: var(--charcoal); display: flex; flex-direction: column; font-size: 12px; font-weight: 700; gap: 8px; }
label > span { color: #176b48; margin-left: 3px; }
label > small { color: rgba(30,30,30,.55); font-size: 11px; font-weight: 400; }
input, select, textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(30,30,30,.35); border-radius: 0; color: var(--charcoal); font: inherit; font-size: 15px; min-height: 46px; outline: 0; padding: 9px 0; width: 100%; }
textarea { min-height: 125px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-bottom: 2px solid #176b48; }
.form-wide { grid-column: 1 / -1; }
.field-error { color: #8b2c25; min-height: 15px; }
.form-note { color: rgba(30,30,30,.62); font-size: 12px; line-height: 1.5; margin: 30px 0 24px; max-width: 530px; }
.contact-form-wrap .button { cursor: pointer; }
.form-status { color: #176b48; font-size: 13px; margin: 18px 0 0; min-height: 20px; }
.contact-reassurance { padding: 105px 0; }
.reassurance-inner { text-align: center; }
.reassurance-inner h2 { color: var(--white); margin-left: auto; margin-right: auto; max-width: 600px; }
.reassurance-inner h2 em { border-bottom: 1px solid var(--bright); color: var(--white); }
.reassurance-inner > p:not(.eyebrow) { color: rgba(255,255,255,.8); margin: 0 auto; }
.nav-current { color: var(--bright); opacity: 1 !important; }
@media (max-width: 850px) { .contact-hero { padding-top: 85px; } .contact-hero-grid, .contact-main-grid { display: block; min-height: 0; } .contact-mark { height: 230px; margin: 60px auto 0; width: 230px; } .contact-mark strong { font-size: 75px; } .contact-main { padding-bottom: 88px; padding-top: 88px; } .contact-form-wrap { margin-top: 70px; } .contact-reassurance { padding: 88px 0; } }
@media (max-width: 520px) { .contact-hero h1 { font-size: 47px; } .form-grid { grid-template-columns: 1fr; } .form-wide { grid-column: auto; } input, select, textarea { min-height: 50px; } }