.contact-grid { display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start; }

.contact-form-wrap {
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius);padding:3rem;
}
.form-title { font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.4rem; }
.form-sub { font-size:0.9rem;color:var(--body);margin-bottom:2rem; }

.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem; }
.form-group { margin-bottom:1rem; }
.form-label { font-size:0.82rem;font-weight:600;color:var(--text);margin-bottom:0.4rem;display:block;letter-spacing:0.02em; }
.form-label span { color:var(--red); }
.form-input, .form-select, .form-textarea {
  width:100%;padding:0.75rem 1rem;
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  font-family:'Barlow',sans-serif;font-size:0.92rem;color:var(--text);
  background:var(--white);transition:border-color 0.2s,box-shadow 0.2s;
  outline:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,35,112,0.08); }
.form-textarea { resize:vertical;min-height:120px; }
.form-select { appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%239098c0' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.9rem center;background-size:16px;padding-right:2.5rem; }

.form-checkbox { display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:1.5rem; }
.form-checkbox input { width:18px;height:18px;border:1.5px solid var(--border);border-radius:4px;flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:var(--navy); }
.form-checkbox label { font-size:0.84rem;color:var(--body);line-height:1.6; }
.form-checkbox label a { color:var(--navy);font-weight:500; }

.form-submit { width:100%;background:var(--red);color:var(--white);border:none;border-radius:var(--radius-sm);padding:1rem;font-family:'Barlow',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.04em;cursor:pointer;transition:background 0.2s,transform 0.15s;box-shadow:var(--shadow-red); }
.form-submit:hover { background:var(--red-dark);transform:translateY(-2px); }

.contact-info-col { display:flex;flex-direction:column;gap:1.5rem; }

.contact-info-card { background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;display:flex;gap:1.2rem;align-items:flex-start;transition:border-color 0.2s; }
.contact-info-card:hover { border-color:var(--navy); }
.ci-icon { width:46px;height:46px;border-radius:10px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0; }
.ci-title { font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--navy);margin-bottom:0.3rem; }
.ci-value { font-size:0.92rem;color:var(--body);font-weight:500; }
.ci-value a { color:var(--body);text-decoration:none;transition:color 0.2s; }
.ci-value a:hover { color:var(--red); }
.ci-note { font-size:0.78rem;color:var(--mid-gray);margin-top:0.2rem; }

.booking-card { background:var(--navy);border-radius:var(--radius);padding:2rem; }
.booking-card h3 { font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:0.4rem; }
.booking-card p { font-size:0.88rem;color:rgba(255,255,255,0.55);margin-bottom:1.5rem; }
.booking-options { display:flex;flex-direction:column;gap:0.75rem; }
.booking-option { background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background 0.15s,border-color 0.15s;text-decoration:none; }
.booking-option:hover { background:rgba(255,255,255,0.1);border-color:rgba(200,35,42,0.4); }
.bo-left { display:flex;align-items:center;gap:0.75rem; }
.bo-icon { font-size:1.2rem; }
.bo-name { font-weight:600;font-size:0.9rem;color:var(--white); }
.bo-duration { font-size:0.75rem;color:rgba(255,255,255,0.45); }
.bo-arrow { color:var(--red-light);font-size:1.1rem; }

.faq-list { display:flex;flex-direction:column; }
.faq-item { border-bottom:1px solid var(--border);padding:1.2rem 0; }
.faq-q { font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;text-transform:uppercase;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.faq-q span { transition:transform 0.2s;font-size:1.2rem;color:var(--red); }
.faq-a { font-size:0.9rem;color:var(--body);line-height:1.72;max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease; }
.faq-item.open .faq-a { max-height:200px;padding-top:0.75rem; }
.faq-item.open .faq-q span { transform:rotate(45deg); }

@media(max-width:960px){
  .contact-grid{grid-template-columns:1fr;gap:3rem;}
  .form-row{grid-template-columns:1fr;}
}