/* Contact */
.contact-section { padding: 72px 0; background: var(--bg-rose); }
.contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; align-items: stretch; }
.contact-grid--stacked { grid-template-columns: 1fr; }
.map-wrap--top .map-frame { min-height: 380px; }
.contact-card { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 20px; padding: 24px; box-shadow: 0 12px 24px rgba(0,0,0,0.08); }
.contact-list { margin: 16px 0 8px; display: flex; flex-direction: column; gap: 10px; }
.contact-row { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px dashed rgba(0,0,0,0.12); border-radius: 12px; background: #fff; }
.contact-badge { font-size: 12px; font-weight: 700; color: var(--brand); background: rgba(227,0,109,0.08); padding: 6px 10px; border-radius: 999px; }
.contact-action { color: var(--ink); text-decoration: none; font-weight: 600; }
.cta-inline { margin-top: 14px; }
.map-wrap { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 20px; box-shadow: 0 12px 24px rgba(0,0,0,0.08); overflow: hidden; }
.map-frame { position: relative; width: 100%; height: 100%; min-height: 360px; }
.map-frame iframe { position: relative; width: 100%; height: 100%; display: block; border: 0; }

@media (max-width: 960px) { 
  .contact-grid { grid-template-columns: 1fr; } 
  .map-frame { min-height: 300px; } 
}

@media (max-width: 768px) {
  .contact-section { padding: 48px 0; }
  .contact-grid { gap: 16px; }
  .contact-card { padding: 20px; border-radius: 16px; }
  .map-wrap { border-radius: 16px; }
  .map-frame { min-height: 280px; }
  .contact-row { padding: 10px; gap: 8px; }
  .contact-badge { font-size: 11px; padding: 5px 8px; }
}

@media (max-width: 480px) {
  .contact-section { padding: 32px 0; }
  .contact-grid { gap: 12px; }
  .contact-card { padding: 16px; border-radius: 12px; }
  .map-wrap { border-radius: 12px; }
  .map-frame { min-height: 240px; }
  .contact-row { padding: 8px; gap: 6px; flex-wrap: wrap; }
  .contact-badge { font-size: 10px; padding: 4px 6px; }
  .contact-action { font-size: 14px; }
  .section-title { font-size: 24px; }
  .section-subtitle { font-size: 14px; }
}

