.contact-section .container{ display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; align-items:start; }

.contact-info{ padding:38px; background:linear-gradient(155deg,var(--ink),var(--primary-dark)); color:#fff; }
.contact-info h2{ color:#fff; margin-bottom:24px; }
.info-item{ display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.info-item:last-child{ border-bottom:none; }
.info-item i{
  width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center; color:var(--secondary); flex-shrink:0; font-size:1rem;
}
.info-item h3{ color:#fff; font-size:.98rem; margin-bottom:4px; }
.info-item p{ color:rgba(255,255,255,.7); font-size:.92rem; }

.contact-form{ padding:38px; }
.contact-form h2{ margin-bottom:22px; }
.contact-form .field{ margin-bottom:18px; }

.maps{ padding-top:0; }
.map-box{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.map-box iframe{ display:block; width:100%; border:0; }

.faq-list{ max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:14px; }
.faq-list details{ background:var(--white); border:1px solid var(--sky-100); border-radius:var(--radius-sm); padding:20px 24px; }
.faq-list summary{ font-weight:700; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list summary::after{ content:'+'; font-size:1.3rem; color:var(--primary); transition:transform var(--dur); }
.faq-list details[open] summary::after{ transform:rotate(45deg); }
.faq-list p{ margin-top:14px; font-size:.95rem; }

@media (max-width:900px){
  .contact-section .container{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .contact-info,.contact-form{ padding:26px 22px; }
}
