.rc-contact-wrap { font-family: var(--rc-font-body); color: var(--rc-text-main); max-width: 880px; margin: 0 auto; padding: 0 20px; }
.rc-contact-hero { background: var(--rc-primary); color: #fff; padding: 48px 24px; border-radius: var(--rc-radius); margin-bottom: 24px; }
.rc-contact-hero h1 { font-family: var(--rc-font-heading); font-size: 32px; font-weight: 800; margin: 0 0 10px; }
.rc-contact-hero p { font-size: 15px; color: #cbd5e1; margin: 0; max-width: 560px; line-height: 1.6; }

.rc-contact-banner {
	padding: 14px 18px;
	border-radius: var(--rc-radius, 10px);
	font-size: 14px;
	margin-bottom: 24px;
}

.rc-banner-success {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}

.rc-banner-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.rc-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 32px; align-items: start; }
.rc-contact-info { display: flex; flex-direction: column; gap: 20px; }
.rc-info-card { border: 1px solid var(--rc-border); border-radius: var(--rc-radius); padding: 18px 20px; background: var(--rc-surface); }
.rc-info-card h3 { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--rc-text-muted); margin: 0 0 6px; }
.rc-info-card p, .rc-info-card a { font-size: 15px; font-weight: 600; color: var(--rc-primary); margin: 0; text-decoration: none; }
.rc-info-card a:hover { color: var(--rc-secondary); }
.rc-form { border: 1px solid var(--rc-border); border-radius: var(--rc-radius); padding: 28px; background: var(--rc-surface); }
.rc-form h2 { font-family: var(--rc-font-heading); font-size: 20px; font-weight: 700; color: var(--rc-primary); margin: 0 0 18px; }
.rc-form-group { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
.rc-form-group label { font-size: 13px; font-weight: 600; color: #334155; }
.rc-form-group input, .rc-form-group textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--rc-border); border-radius: var(--rc-radius); font-size: 14px; font-family: var(--rc-font-body); box-sizing: border-box; }
.rc-form-group textarea { min-height: 110px; resize: vertical; }
.rc-btn-send { background: var(--rc-secondary); color: #fff; border: none; padding: 12px 26px; border-radius: var(--rc-radius); font-weight: 700; font-size: 15px; cursor: pointer; }
.rc-btn-send:hover { opacity: .92; }

/* Honeypot: fully hidden from sighted users and keyboard tab order, but
   still a real, reachable form field for a bot that fills every input
   blindly without rendering the page's CSS. */
.rc-hp-field {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 700px) {
  .rc-contact-grid { grid-template-columns: 1fr; }
}
