body.contact-page { background: #f3f9fd; }
.contact-page .office-location { width: 100%; text-align: left; color: #fff; font-family: inherit; cursor: pointer; }
.contact-page .office-location:hover,
.contact-page .office-location[aria-pressed='true'] { background: #ffffff0d !important; }
.contact-page .office-location:hover .box-icon { background: #cf0e2d !important; }
.contact-page .map-location-card { bottom: auto; }
.contact-page #map-location-note { margin: 12px 0 0; font-size: 11px !important; }
body.contact-page > section.inner-hero.about-hero { display: flex !important; }
body.contact-page .contact-section .info-side h2 { font-size: 20px !important; line-height: 1.3 !important; }
body.contact-page .contact-section .map-location-card h2 { font-size: 18px !important; line-height: 1.3 !important; }
body.contact-page .contact-section .info-side p { font-size: 12px !important; line-height: 1.6 !important; }
body.contact-page .contact-section .form-side > p,
body.contact-page .contact-section .map-location-card p { font-size: 13px !important; line-height: 1.7 !important; }
.contact-page .contact-section { width: min(calc(100% - 64px), 1200px); padding: 48px 0 !important; background: transparent; }
.contact-page .contact-wrapper { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); gap: 24px; }
.contact-page .form-side { position: relative; overflow: hidden; border-radius: 14px; padding: 32px !important; }
.contact-page .form-side::after { content: ''; position: absolute; top: 0; right: 0; width: 86px; height: 86px; background: linear-gradient(45deg,#ffb8c1,#ff1739); clip-path: polygon(0 0,100% 0,100% 100%); pointer-events: none; }
.contact-eyebrow { display: block; color: #ed1232; border-left: 3px solid #ed1232; padding-left: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.contact-page .form-side h1 { font-size: clamp(24px,2.5vw,30px); color: #07356d; font-weight: 800; line-height: 1.25; margin: 0 0 6px; }
.contact-page .form-side > p { max-width: none; margin-bottom: 24px; font-size: 13px; }
.contact-page .form-row { gap: 16px; margin-bottom: 16px; }
.contact-input { display: flex; align-items: center; gap: 12px; border: 1px solid #dce6ee; border-radius: 7px; background: #fff; padding: 0 14px; min-width: 0; }
.contact-input > i { color: #698296; font-size: 16px; flex-shrink: 0; }
.contact-input :is(input,select,textarea) { width: 100%; min-width: 0; border: 0; background: transparent; outline: 0; padding: 14px 0; font-size: 13px; color: #31516b; font-family: inherit; }
.contact-input :is(input,textarea)::placeholder { color: #698296; opacity: 1; }
.contact-input:focus-within { border-color: #3282c4; box-shadow: 0 0 0 3px #3282c419; }
.contact-message { align-items: flex-start; }
.contact-message > i { padding-top: 15px; }
.contact-message textarea { resize: vertical; min-height: 120px; }
.contact-actions { display: flex; align-items: center; gap: 24px; margin-top: 22px; }
.contact-page .btn-send { display: inline-flex; gap: 12px; align-items: center; margin: 0 !important; background: #ff1739 !important; padding: 12px 24px !important; font-size: 13px !important; width: auto; }
.contact-page .btn-send:hover { background: #cc0c2b !important; transform: translateY(-2px); }
.contact-reset { border: 0; background: transparent; color: #698296; font-size: 13px; padding: 10px 0; display: inline-flex; align-items: center; gap: 8px; }
.contact-reset:hover { color: #07356d; }
.contact-page .info-side { position: relative; overflow: hidden; background: linear-gradient(140deg,#063b7c,#032756) !important; border-radius: 14px !important; padding: 28px !important; }
.contact-page .info-side::after { content: ''; position: absolute; bottom: 0; right: 0; width: 85px; height: 85px; background: linear-gradient(135deg,transparent 40%,#174c8d 40% 60%,#ff1739 60% 78%,#ff7187 78%); clip-path: polygon(100% 0,100% 100%,0 100%); pointer-events: none; }
.contact-page .info-side h2 { color: white; font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.contact-info-intro { color: #d6e6f7; font-size: 12px; line-height: 1.6; margin-bottom: 8px; }
.contact-page .box-content span { color: #fff; opacity: 1; font-size: 13px !important; font-weight: 600; }
.contact-page .box-content :is(a,p) { color: #e4edf8; font-size: 12px; line-height: 1.6; margin: 0; text-decoration: none; overflow-wrap: anywhere; }
.contact-page .box-content a:hover { text-decoration: underline; }
.contact-page .contact-box { cursor: default; align-items: flex-start; }
.contact-page .box-icon { background: #ff1739 !important; }
.contact-page .social-icons { margin-top: 18px; position: relative; z-index: 1; }
.contact-page .map-wrapper { position: relative; margin-top: 28px !important; background: #e4edf3; }
.contact-page #officeMap { display: block; height: 300px !important; }
.map-location-card { position: absolute; z-index: 1; left: 24px; top: 24px; bottom: 24px; width: 300px; padding: 24px; border-radius: 12px; background: #fff; box-shadow: 0 4px 18px #123b601a; }
.map-location-card h2 { color: #07356d; font-size: 18px; font-weight: 800; margin: 0 0 16px; display: flex; align-items: center; gap: 12px; }
.map-location-card h2 i { color: #ff1739; }
.map-location-card p { color: #698296; font-size: 13px; line-height: 1.7; margin: 0 0 22px; }
.map-location-card a { display: inline-flex; align-items: center; gap: 10px; background: #07356d; color: white; border-radius: 30px; padding: 11px 16px; font-size: 12px; text-decoration: none; }
.map-location-card a:hover { background: #0b4b95; }
.contact-page :is(button,a):focus-visible { outline: 3px solid #66a8e3; outline-offset: 4px; }
@media(max-width:992px) { .contact-page .contact-section { width: calc(100% - 40px); padding-top: 36px !important; } .contact-page .contact-wrapper { grid-template-columns: minmax(0,1fr); } }
@media(max-width:600px) { .contact-page .contact-section { width: calc(100% - 28px); padding-top: 28px !important; } .contact-page .form-side { padding: 24px 20px !important; } .contact-page .form-row { gap: 14px; } .contact-actions { gap: 18px; flex-wrap: wrap; } .map-location-card { position: relative; inset: auto; width: auto; margin: 14px; padding: 20px; } .contact-page #officeMap { height: 240px !important; } }
@media(prefers-reduced-motion:reduce) { .contact-page * { transition: none !important; } }
