.contact-grid.contact-grid-balanced { grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr); gap: clamp(42px, 7vw, 100px); align-items: stretch; }
.contact-grid-balanced .cinfo-icon { color: #fff; }
.contact-visual-card { position: relative; min-height: 570px; overflow: hidden; border-radius: 18px; box-shadow: 0 20px 50px rgba(22, 62, 44, .18); isolation: isolate; }
.contact-visual-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.contact-visual-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 46, 32, .22) 0%, rgba(12, 46, 32, .95) 88%); }
.contact-visual-content { position: relative; z-index: 1; height: 100%; min-height: 570px; padding: 26px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; }
.contact-badge { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 8px 11px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; background: rgba(13, 50, 35, .42); backdrop-filter: blur(6px); font: 600 10px Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.contact-brand-logo { width: 56px; height: 56px; padding: 3px; object-fit: contain; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; background: #fff; }
.contact-visual-content h3 { margin: 16px 0 7px; font: 700 clamp(30px, 3vw, 42px)/1.1 'Playfair Display', serif; }.contact-visual-content p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.7; }
.contact-card-links { display: grid; gap: 8px; }.contact-card-links a { display: flex; align-items: center; gap: 10px; padding: 12px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 9px; color: #fff; background: rgba(255,255,255,.1); font-size: 11px; font-weight: 600; text-decoration: none; transition: background .2s, transform .2s; }.contact-card-links a:hover { background: rgba(255,255,255,.2); transform: translateX(3px); }
@media (max-width: 850px) { .contact-grid.contact-grid-balanced { grid-template-columns: 1fr; gap: 42px; }.contact-visual-card, .contact-visual-content { min-height: 420px; }.contact-visual-card { max-width: 620px; width: 100%; margin: 0 auto; }.contact-visual-content { padding: 24px; } }
@media (max-width: 520px) { .contact-visual-card, .contact-visual-content { min-height: 380px; }.contact-visual-content h3 { font-size: 31px; } }
