/* Location section, FAQ accordion, contact form */

.location {
  display:grid;
  grid-template-columns:1fr;
  gap:35px;
}

.map {
  height:520px;
  position:relative;
  overflow:hidden;
  border-radius:8px;
}

.map iframe {
  width:100%;
  height:100%;
  display:block;
}

.near {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:23px;
}

.near div {
  border-left:2px solid var(--blue);
  padding-left:11px;
  font-size:12px;
  color:var(--muted);
}

.near b {
  display:block;
  color:var(--ink);
  font-size:13px;
}

.faq {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:75px;
}

.faq h2,.contact h2 {
  font:700 40px/1.15 Poppins;
  margin:8px 0;
}

.faq p {
  color:var(--muted);
}

.qa {
  border-top:1px solid var(--line);
}

.qa:last-child {
  border-bottom:1px solid var(--line);
}

.qa button {
  width:100%;
  border:0;
  background:none;
  color:var(--ink);
  padding:18px 0;
  text-align:left;
  font-weight:700;
  display:flex;
  justify-content:space-between;
}

.qa div {
  max-height:0;
  overflow:hidden;
  color:var(--muted);
  font-size:13px;
  transition:.3s;
}

.qa.open div {
  max-height:100px;
  padding-bottom:16px;
}

.qa button span {
  color:var(--blue);
  font-size:20px;
}

.contact {
  background:var(--navy);
  color:#fff;
}

.contact-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:75px;
}

.contact p {
  color:#b7c4d7;
}

.contact b {
  display:block;
  margin-top:19px;
}

.contact small {
  color:#b7c4d7;
}

.form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.form input,.form select,.form textarea {
  border:1px solid #3b4960;
  background:#172238;
  color:#fff;
  border-radius:4px;
  padding:13px;
  outline-color:var(--blue);
}

.form textarea,.form .btn {
  grid-column:span 2;
}

.form textarea {
  min-height:94px;
  resize:vertical;
}

/* Added under the location text by interactive.js: exact address + Google Maps link */
.location-address {
  display: block;
  margin: 14px 0 5px;
  font: 600 15px Poppins;
  color: var(--ink);
}

.directions {
  display: inline-flex;
  margin-top: 23px;
  color: var(--blue);
  font-weight: 700;
  font-size: 13px;
}

@media (max-width: 580px) {
  .location .map {
    height: 300px;
  }
}