/* Contact page extras: quick contact cards, reply note, how-it-works steps */

/* Quick contact cards, overlapping the hero */
.hc-quick { position: relative; z-index: 5; margin-top: -3.75rem; padding: 0 0 1rem; background: transparent; }
.hc-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.hc-quick-grid li { margin: 0; }
.hc-quick-card {
	display: flex; flex-direction: column; gap: 0.35rem; height: 100%; padding: 1.5rem 1.4rem;
	border: 1px solid #E7E3DA; border-bottom: 3px solid #D4A04C; border-radius: 16px; background: #fff;
	color: #0B3A4A; text-decoration: none; box-shadow: 0 16px 40px rgba(3, 47, 64, 0.1);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.hc-quick-card:hover, .hc-quick-card:focus-visible { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(3, 47, 64, 0.16); color: #0B3A4A; }
.hc-quick-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 0.5rem; border-radius: 12px; background: rgba(31, 159, 176, 0.12); color: #0B5563; }
.hc-quick-icon svg { width: 22px; height: 22px; }
.hc-quick-label { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: #A8722A; }
.hc-quick-value { font-size: 1.02rem; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }

/* Reply note under the form */
.hc-form-note { margin: 1.1rem 0 0; font-size: 0.86rem; line-height: 1.6; color: #5A727C; }

/* Tidy the existing contact layout */
.contact-section { padding-top: 4rem; }
.contact-map-wrap { margin-top: 1.5rem; overflow: hidden; border-radius: 18px; border: 1px solid #E7E3DA; box-shadow: 0 12px 32px rgba(3, 47, 64, 0.08); }
.contact-map-wrap iframe { display: block; }

/* How it works */
.hc-steps-section { padding: 5.5rem 0 6.5rem; background: #FBF8F1; }
.hc-steps-head { max-width: 640px; margin: 0 auto 3rem; text-align: center; }
.hc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.hc-steps li { position: relative; margin: 0; padding: 2.2rem 1.9rem 2rem; border: 1px solid #E7E3DA; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(3, 47, 64, 0.06); }
.hc-step-num { display: inline-block; margin-bottom: 1rem; font-family: var(--font-secondary, Georgia, serif); font-size: 2.4rem; line-height: 1; color: #D4A04C; }
.hc-steps h3 { margin: 0 0 0.6rem; font-family: var(--font-secondary, Georgia, serif); font-size: 1.35rem; font-weight: 500; color: #0B3A4A; }
.hc-steps p { margin: 0; font-size: 0.98rem; line-height: 1.7; color: #5A727C; }

@media (max-width: 991px) {
	.hc-quick-grid { grid-template-columns: repeat(2, 1fr); }
	.hc-steps { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.hc-quick { margin-top: -2.5rem; }
	.hc-quick-grid { grid-template-columns: 1fr; gap: 0.8rem; }
	.hc-quick-card { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 0.9rem; padding: 1.1rem 1.2rem; }
	.hc-quick-icon { margin: 0; width: 42px; height: 42px; }
	.hc-quick-label, .hc-quick-value { flex: 1 1 calc(100% - 60px); }
	.hc-steps-section { padding: 3.5rem 0 4rem; }
}
@media (prefers-reduced-motion: reduce) {
	.hc-quick-card { transition: none; }
}
