.contactpgsection { padding: 80px 0 90px; background: linear-gradient(135deg, #f0f6fc, #fff 65%, #fff8ef); }
.contactpgsection > .container > .row { --bs-gutter-x: 60px; --bs-gutter-y: 36px; align-items: start; }
.contact-details-column { padding-top: 12px; }
.contact-details-column h1 { margin: 0 0 20px; color: #123b63; font-size: clamp(30px, 3vw, 42px); line-height: 1.2; letter-spacing: -.025em; }
.contact-details-column h1 span { color: #bc5018; }
.contact-intro { max-width: 440px; color: #536b7d; line-height: 1.8; margin-bottom: 30px; }
.contact-details-list { display: grid; gap: 16px; }
.contact-detail-card { display: flex; align-items: flex-start; gap: 17px; padding: 22px; background: #fff; border: 1px solid #dce7f0; border-radius: 16px; box-shadow: 0 8px 24px #123b6305; }
.contact-detail-icon { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border-radius: 13px; background: #eaf3fc; color: #124c80; font-size: 19px; }
.contact-detail-card:nth-child(2) .contact-detail-icon { background: #fff0e5; color: #a64b1b; }
.contact-detail-card:nth-child(3) .contact-detail-icon { background: #fff8d9; color: #82650e; }
.contact-detail-card > div { min-width: 0; }
.contact-detail-card h2 { color: #123b63; font-size: 17px; font-weight: 700; margin: 0 0 9px; line-height: 1.4; }
.contact-detail-card a { display: block; width: fit-content; color: #124c80; font-size: 16px; font-weight: 600; line-height: 1.8; overflow-wrap: anywhere; }
.contact-detail-card a:hover { color: #a3440e; text-decoration: underline; }
.contact-detail-card p { margin: 4px 0 0; color: #617487; font-size: 13px; line-height: 1.6; }
.contact-detail-card address { margin: 0; color: #536b7d; font-size: 14px; line-height: 1.85; font-style: normal; }
.contact-detail-card address strong { color: #29495f; font-weight: 600; }
.contact-detail-card .contact-map-link { display: inline-flex; gap: 14px; align-items: center; margin-top: 13px; font-size: 14px; }
.contact-form-column { background: #fff; padding: 34px; border: 1px solid #d3e1ee; border-top: 4px solid #124c80; border-radius: 22px; box-shadow: 0 20px 55px #123b630d; }
.contact-form-heading { padding-bottom: 7pxc; margin-bottom: 6px; border-bottom: 1px solid #e1eaf2; }
.contact-form-heading .eyebrow { display: block; margin-bottom: 10px; }
.contact-form-heading h2 { color: #123b63; font-size: clamp(24px, 2.5vw, 31px); line-height: 1.25; margin: 0 0 10px; }
.contact-form-heading p { color: #617487; font-size: 14px; line-height: 1.7; margin: 0; }
.contactpgsection form .row { --bs-gutter-x: 18px; }
.contactpgsection form input { height: 54px; min-width: 0; margin-top: 18px; padding: 13px 15px; color: #29495f; background: #f8fbfe; border: 1px solid #ccddeb; border-radius: 9px; box-shadow: none; font-size: 15px; line-height: 1.5; }
.contactpgsection form input::placeholder { color: #718699; opacity: 1; }
.contactpgsection form input:focus { color: #123b63; background: #fff; border-color: #287bb3; box-shadow: 0 0 0 3px #287bb314; }
.contactpgsection :focus-visible { outline: 2px solid #287bb3; outline-offset: 3px; }
.contactpgsection form .row:has(input[type=file]) { margin: 22px 0 0; padding: 17px 5px; border: 1px dashed #9dbbd5; border-radius: 12px; background: #f3f8fd; align-items: center; }
.contactpgsection form .row:has(input[type=file]) > div { width: 100%; }
.contactpgsection .textheading { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: #123b63; font-weight: 600; }
.contactpgsection form input[type=file] { height: auto; margin: 0; padding: 7px; background: #fff; font-size: 13px; }
.contactpgsection input[type=file]::file-selector-button { padding: 10px 12px; margin-right: 12px; border: 0; border-radius: 6px; color: #124c80; background: #eaf3fc; font-weight: 600; cursor: pointer; }
.contactpgsection form > br { display: none; }
.contactpgsection form > .row:last-child { margin-top: 22px; }
.contactpgsection form > .row:last-child > div { width: 100%; }
.contactpgsection .submit__control { display: block; padding: 18px; margin: 0; background: #fff9f2; border: 1px solid #f0dfce; border-radius: 12px; }
.contactpgsection .captcha-heading { color: #123b63; font-size: 14px; line-height: 1.5; margin: 0 0 14px; }
.contactpgsection .submit__generated { display: inline-flex; align-items: center; gap: 8px; color: #29495f; vertical-align: middle; }
.contactpgsection .submit__generated span { width: 32px; height: 38px; line-height: 38px; background: #fff; border-color: #ead9c8; color: #123b63; font-size: 15px; }
.contactpgsection .submit__generated .submit__input { top: 0; height: 42px; width: 58px; margin: 0; padding: 8px; background: #fff; color: #123b63; border-color: #ccddeb; }
.contactpgsection .submit__generated.valid::after { content: '\2713'; font-family: inherit; margin-left: 0; }
.contactpgsection .submit__generated.unvalid::after { content: '\00d7'; font-family: inherit; margin-left: 0; }
.contactpgsection i.fa-refresh { margin: 0 0 0 8px; padding: 9px; color: #9b4315; vertical-align: middle; }
.contactpgsection span.submit__error, .contactpgsection span.submit__error--empty { position: static; display: block; margin: 10px 0 0; color: #ac3028; font-size: 12px; }
.contactpgsection .hide { display: none !important; }
.contactpgsection form input.submit, .contactpgsection form input.submit.overlay, .contactpgsection form input.submit:active { height: 54px; margin: 22px 0 0; padding: 14px 20px; border: 0; border-radius: 7px; color: #fff; background: #124c80; box-shadow: 0 6px 16px #124c801a; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer; }
.contactpgsection form input.submit:hover { background: #0d3961; }
.contactpgsection .submit__overlay { inset: 22px 9px 0; width: auto; height: 54px; margin: 0; border-radius: 7px; z-index: 1; background: #ffffff55; }
@media (max-width: 991px) {
    .contactpgsection { padding: 55px 0 65px; }
    .contactpgsection > .container > .row { margin-right: 0; margin-left: 0; }
    .contactpgsection > .container > .row > div { width: 100%; }
    .contact-details-column { padding: 0; }
    .contact-form-column { padding: 28px; }
    .contact-intro { max-width: 650px; }
}
@media (max-width: 575px) {
    .contactpgsection { padding: 40px 0 50px; }
    .contact-detail-card { padding: 18px; gap: 13px; }
    .contact-detail-icon { flex-basis: 40px; height: 40px; }
    .contact-form-column { padding: 24px 18px; }
    .contactpgsection form .row > div { width: 100%; }
    .contactpgsection form input { font-size: 16px; }
    .contactpgsection .submit__control { padding: 14px; }
    .contactpgsection .submit__overlay { width: auto !important; height: 54px !important; margin: 0; }
}
