.contact-page-intro { padding: 42px 0 32px; border-bottom: 0; }
.contact-page-intro .lead { max-width: 780px; margin-bottom: 0; }
.contact-page { padding-top: 12px; padding-bottom: 64px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; gap: 32px; }
.contact-layout:not(:has(.contact-location-map)) { grid-template-columns: 1fr; max-width: 800px; }
.contact-form { padding: clamp(22px, 3vw, 36px); margin-top: 40px; border: 1px solid var(--line, #dce4e3); border-radius: 18px; background: #fff; box-shadow: 0 12px 40px #142f3a06; scroll-margin-top: 110px; }
.contact-layout .contact-form { margin-top: 0; }
.contact-form-heading { display: flex; align-items: start; gap: 16px; margin-bottom: 28px; }
.contact-form-icon { flex-shrink: 0; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; color: #a83c23; background: #fff0e9; font-size: 1.3rem; }
.contact-form-heading h2 { margin: 0 0 8px; font-size: clamp(1.35rem, 2.3vw, 1.8rem); letter-spacing: -.035em; line-height: 1.2; }
.contact-form-heading p { color: var(--muted, #61737b); margin: 0; font-size: .86rem; line-height: 1.6; }
.contact-form .form-label { color: var(--ink, #142f3a); font-size: .82rem; margin-bottom: 8px; }
.contact-form .form-label small { font-weight: 400; color: var(--muted, #61737b); }
.contact-form .form-control, .contact-form .form-select { background-color: #f8faf9; border-color: #d9e2df; min-height: 48px; border-radius: 8px; }
.contact-form .form-control:focus, .contact-form .form-select:focus { background-color: #fff; }
.contact-form textarea.form-control { min-height: 140px; resize: vertical; }
.contact-form-bottom { padding-top: 24px; }
.contact-form-privacy { display: flex; align-items: start; gap: 10px; margin-bottom: 22px; color: var(--muted, #61737b); font-size: .75rem; line-height: 1.7; }
.contact-form-privacy > i { color: #456d62; font-size: 1.05rem; }
.contact-form-privacy a { color: var(--ink, #142f3a); text-decoration: underline; text-underline-offset: 3px; }
.contact-form .btn { min-height: 48px; padding: 12px 22px; }
.contact-location-map { box-sizing: border-box; width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--line, #dce4e3); border-radius: 18px; color: var(--ink, #142f3a); background: #fff; box-shadow: 0 12px 40px #142f3a06; }
.contact-location-map__heading { display: flex; align-items: center; gap: 14px; padding: 26px; background: var(--ink, #142f3a); color: #fff; }
.contact-location-map__icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff30; border-radius: 12px; color: #ff9c83; font-size: 1.4rem; }
.contact-location-map__heading h2 { margin: 0 0 6px; font-size: 1.4rem; line-height: 1.2; letter-spacing: -.025em; }
.contact-location-map__heading > div > span { display: block; color: #c9d8d7; font-size: .82rem; }
.contact-location-map__canvas { height: 340px; background: #edf2ee; }
.contact-location-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.contact-location-map__details { padding: 26px; }
.contact-location-map address { margin: 0 0 12px; max-width: 340px; font-style: normal; font-size: .96rem; font-weight: 600; line-height: 1.8; overflow-wrap: anywhere; }
.contact-location-map__registered { margin: 0 0 18px; font-size: .78rem; line-height: 1.7; color: var(--muted, #61737b); }
.contact-location-map__external { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; padding: 12px 16px; background: var(--mist, #f1f5f4); border: 1px solid var(--line, #dce4e3); border-radius: 8px; color: inherit; font-weight: 650; font-size: .8rem; text-decoration: none; }
.contact-location-map__external:hover { background: #e8efea; color: var(--ink, #142f3a); }
.contact-location-map__privacy { margin: 16px 0 0; color: var(--muted, #61737b); font-size: .7rem; line-height: 1.65; }
.contact-location-map__external:focus-visible, .contact-form button:focus-visible { outline: 3px solid #bd492f; outline-offset: 4px; }
.contact-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; row-gap: 32px; margin-top: 52px; padding-top: 36px; border-top: 1px solid var(--line, #dce4e3); }
.contact-detail { margin: 0; }
.contact-detail-number { display: block; color: #7a8d87; font-size: .7rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 12px; }
.contact-detail h2 { font-size: 1.2rem; margin-bottom: 14px; }
.contact-detail p { font-size: .87rem; color: var(--muted, #61737b); line-height: 1.8; }
.contact-detail p:last-child { margin-bottom: 0; }
.contact-detail a { color: var(--ink, #142f3a); text-decoration: underline; text-underline-offset: 3px; }
.contact-reviewed { margin: 32px 0 0; font-size: .72rem; color: var(--muted, #61737b); }
@media (max-width: 991px) { .contact-layout { grid-template-columns: 1fr; gap: 24px; } .contact-location-map__canvas { height: 360px; } }
@media (max-width: 575px) { .contact-page-intro { padding-top: 30px; padding-bottom: 24px; } .contact-page-intro h1 { font-size: 2.5rem; } .contact-page-intro .lead { font-size: 1rem; } .contact-form-heading { gap: 12px; } .contact-form-icon { width: 40px; height: 40px; font-size: 1.1rem; } .contact-form { border-radius: 14px; padding: 22px 18px; } .contact-form .btn { width: 100%; } .contact-location-map { border-radius: 14px; } .contact-location-map__heading, .contact-location-map__details { padding: 22px; } .contact-location-map__canvas { height: 300px; } .contact-details { grid-template-columns: 1fr; margin-top: 36px; padding-top: 28px; gap: 28px; } }
