
.tabs { border: 1px solid #ddd; background: #fafafa; margin: 20px 0; }
.tab-buttons { display: flex; flex-wrap: wrap; border-bottom: 1px solid #ddd; background: #eee; }
.tab-buttons button { border: 0; border-right: 1px solid #ddd; background: transparent; padding: 12px 14px; cursor: pointer; }
.tab-buttons button.active { background: #fff; color: #6d572f; }
.tab-panel { display: none; padding: 20px; background: #fff; }
.tab-panel.active { display: block; }
.team-member { display: flex; gap: 22px; align-items: flex-start; }
.team-member img { width: 160px; height: auto; border: 1px solid #ddd; padding: 4px; background: #fff; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.map { max-width: 100%; }
.static-contact-form { max-width: 680px; }
.gfield { margin: 0 0 18px; }
.gfield label { display: block; font-weight: bold; margin-bottom: 6px; }
.gfield input, .gfield textarea { box-sizing: border-box; width: 100%; border: 1px solid #bbb; padding: 9px; font: inherit; }
.name-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gfield textarea { min-height: 145px; }
.required { color: #7a2e25; font-size: 12px; }
.description { color: #777; font-size: 12px; }
.hp-field { position: absolute; left: -9999px; }
.form-status { font-weight: bold; }
.faq-list button { width: 100%; text-align: left; padding: 14px; background: #eee; border: 1px solid #ddd; margin-top: 8px; cursor: pointer; font-weight: bold; }
.faq-list div { display: none; border: 1px solid #ddd; border-top: 0; padding: 12px 14px; }
.faq-list button.active + div { display: block; }
@media (max-width: 760px) {
  .team-member { display: block; }
  .two-col, .name-row { grid-template-columns: 1fr; }
}
