.mcg-contact-page { background:linear-gradient(135deg,#f7f8f5 0%,#eef5ec 100%); }
.mcg-contact-section { min-height:calc(100svh - var(--mcg-header-height)); padding-block:clamp(52px,6vw,88px); display:flex; align-items:center; }
.mcg-contact-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); gap:clamp(42px,6vw,86px); align-items:start; padding:clamp(32px,4vw,58px); border:1px solid #dfe8df; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgba(18,60,41,.09); }
.mcg-contact-heading { max-width:660px; }
.mcg-contact-heading h1 { margin-bottom:18px; color:var(--mcg-green); font-size:clamp(38px,4.5vw,58px); font-weight:750; letter-spacing:-.04em; }
.mcg-contact-heading > p:last-child { max-width:600px; color:var(--mcg-muted); font-size:17px; }
.mcg-contact-channels { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; margin-block:34px 30px; }
.mcg-contact-channel { display:grid; grid-template-columns:44px 1fr; gap:13px; align-items:start; min-width:0; }
.mcg-contact-channel > svg { width:42px; height:42px; padding:9px; color:var(--mcg-blue); border:1px solid #d9e8ef; border-radius:50%; background:#f3f8fb; }
.mcg-contact-channel > div { min-width:0; }
.mcg-contact-channel strong { display:block; margin-bottom:2px; color:var(--mcg-ink); font-size:13px; }
.mcg-contact-channel a,.mcg-contact-channel span { display:block; color:var(--mcg-muted); font-size:14px; overflow-wrap:anywhere; }
.mcg-contact-channel a:hover { color:var(--mcg-blue); text-decoration:underline; }
.mcg-contact-channel--address { grid-column:1 / -1; }
.mcg-contact-map { position:relative; overflow:hidden; border:1px solid var(--mcg-line); border-radius:10px; background:var(--mcg-sage-100); }
.mcg-contact-map iframe { display:block; width:100%; height:320px; border:0; }
.mcg-contact-map > a { position:absolute; right:14px; bottom:14px; display:flex; align-items:center; gap:8px; padding:9px 13px; border-radius:5px; background:rgba(255,255,255,.94); box-shadow:0 4px 18px rgba(18,60,41,.15); color:var(--mcg-blue-dark); font-size:12px; font-weight:700; }
.mcg-contact-map > a:hover { background:#fff; color:var(--mcg-green); }
.mcg-contact-map > a svg { width:16px; height:16px; }
.mcg-contact-form-card { scroll-margin-top:calc(var(--mcg-header-height) + 24px); padding:clamp(28px,4vw,46px); border-radius:10px; background:var(--mcg-cream); box-shadow:inset 0 0 0 1px rgba(23,91,55,.08); }
.mcg-contact-form-card h2 { color:var(--mcg-green); font-size:clamp(29px,3vw,40px); }
.mcg-contact-form-intro { margin:12px 0 27px; color:var(--mcg-muted); }
.mcg-contact-form-card form { display:grid; gap:19px; }
.mcg-contact-form-card form > label:not(.mcg-contact-consent) { display:grid; gap:7px; color:var(--mcg-ink); font-size:14px; font-weight:600; }
.mcg-contact-form-card label span em { color:#bd3428; font-style:normal; }
.mcg-contact-form-card label span small { color:var(--mcg-muted); font-size:12px; font-weight:400; }
.mcg-contact-form-card input[type="text"],.mcg-contact-form-card input[type="email"],.mcg-contact-form-card textarea { width:100%; padding:12px 14px; border:1px solid #cfd9d3; border-radius:5px; background:#fff; color:var(--mcg-ink); transition:border-color .18s,box-shadow .18s; }
.mcg-contact-form-card input[type="text"],.mcg-contact-form-card input[type="email"] { min-height:48px; }
.mcg-contact-form-card textarea { min-height:145px; resize:vertical; }
.mcg-contact-form-card input:focus,.mcg-contact-form-card textarea:focus { outline:0; border-color:var(--mcg-blue); box-shadow:0 0 0 3px rgba(18,102,160,.13); }
.mcg-contact-consent { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:var(--mcg-muted); font-size:12px; line-height:1.55; }
.mcg-contact-consent input { width:18px; height:18px; margin-top:1px; accent-color:var(--mcg-green); }
.mcg-contact-consent a { color:var(--mcg-blue); text-decoration:underline; }
.mcg-contact-form-card button { width:100%; margin-top:3px; }
.mcg-contact-error { margin-bottom:20px; padding:12px 15px; border-left:4px solid #b3332d; background:#fff1ef; color:#7b211d; font-size:13px; }
.mcg-contact-success { min-height:520px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.mcg-contact-success > span { display:grid; place-items:center; width:70px; height:70px; margin-bottom:24px; border-radius:50%; background:#e2f0df; color:var(--mcg-green); }
.mcg-contact-success > span svg { width:32px; height:32px; }
.mcg-contact-success p { max-width:400px; margin:15px auto 28px; color:var(--mcg-muted); }
.mcg-contact-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media (max-width:980px) {
	.mcg-contact-grid { grid-template-columns:1fr; width:min(calc(100% - 48px),780px); }
	.mcg-contact-success { min-height:360px; }
}
@media (max-width:640px) {
	.mcg-contact-section { padding-block:28px 42px; }
	.mcg-contact-grid { width:min(calc(100% - 28px),780px); padding:24px 18px; gap:34px; border-radius:10px; }
	.mcg-contact-heading > p:last-child { font-size:15px; }
	.mcg-contact-channels { grid-template-columns:1fr; gap:17px; margin-block:28px 24px; }
	.mcg-contact-channel--address { grid-column:auto; }
	.mcg-contact-map iframe { height:270px; }
	.mcg-contact-form-card { padding:26px 18px; }
	.mcg-contact-form-card h2 { font-size:28px; }
}
