.public-site .contact-page { padding-top: 30px; padding-bottom: 52px; }
.public-site .contact-page__heading { margin-bottom: 25px; }
.public-site .contact-page__heading .page-header { margin: 0 0 8px; padding: 0; border: 0; color: var(--public-ink); font-family: "Segoe UI", Inter, Arial, sans-serif; font-size: clamp(30px, 4vw, 42px); font-weight: 680; }
.public-site .contact-page__heading > p { max-width: 720px; margin: 0 0 16px; color: var(--public-muted); font-size: 16px; line-height: 1.7; }
.public-site .contact-page__heading .breadcrumb { margin: 0; padding: 10px 14px; border: 1px solid var(--public-line); border-radius: 10px; background: var(--public-cream); }
.public-site .contact-page__grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); align-items: stretch; gap: 20px; }
.public-site .contact-page__grid--single { grid-template-columns: minmax(0, 760px); }
.public-site .contact-panel { min-width: 0; overflow: hidden; border: 1px solid var(--public-line); border-radius: 17px; background: var(--public-white); box-shadow: 0 12px 32px rgba(23, 50, 42, .09); }
.public-site .contact-details, .public-site .contact-map { padding: 22px; }
.public-site .contact-panel__heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid var(--public-line); }
.public-site .contact-panel__heading > span { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 11px; color: var(--public-white); background: var(--public-forest); }
.public-site .contact-panel__heading h2 { margin: 0; color: var(--public-ink); font-family: "Segoe UI", Inter, Arial, sans-serif; font-size: 20px; font-weight: 680; overflow-wrap: anywhere; }
.public-site .contact-details__list { display: grid; gap: 10px; }
.public-site .contact-detail-item { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: start; gap: 11px; padding: 13px; border: 1px solid var(--public-line); border-radius: 11px; background: var(--public-cream); }
.public-site .contact-detail-item > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--public-accent); background: var(--public-white); font-size: 16px; }
.public-site .contact-detail-item > div { min-width: 0; }
.public-site .contact-detail-item strong, .public-site .contact-detail-item span, .public-site .contact-detail-item a { display: block; }
.public-site .contact-detail-item strong { margin-bottom: 3px; color: var(--public-muted); font-size: 11px; font-weight: 650; }
.public-site .contact-detail-item span, .public-site .contact-detail-item a { color: var(--public-ink); font-size: 14px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.public-site .contact-detail-item a:hover, .public-site .contact-detail-item a:focus { color: var(--public-accent); }
.public-site .contact-map__heading { margin-bottom: 16px; }
.public-site .contact-map__heading p { margin: 4px 0 0; color: var(--public-muted); font-size: 13px; line-height: 1.5; }
.public-site .contact-map__frame { height: var(--contact-map-height); min-height: 240px; max-height: 700px; overflow: hidden; border: 1px solid var(--public-line); border-radius: 13px; background: var(--public-cream); }
.public-site .contact-map__frame iframe { width: 100%; height: 100%; border: 0; }
.public-site .contact-map__empty { min-height: 240px; display: grid; place-items: center; align-content: center; gap: 10px; padding: 25px; border: 1px dashed var(--public-line); border-radius: 13px; color: var(--public-muted); background: var(--public-cream); text-align: center; }
.public-site .contact-map__empty i { color: var(--public-accent); font-size: 28px; }
.public-site .contact-map__empty p { margin: 0; }
@media (max-width: 767px) { .public-site .contact-page { padding-top: 20px; } .public-site .contact-page__grid, .public-site .contact-page__grid--single { grid-template-columns: 1fr; gap: 15px; } .public-site .contact-details, .public-site .contact-map { padding: 17px; } }
