.bs-contact{
  --cream:#FDFBF8;
  --beige:#F5F0EA;
  --rule:#EDE8E1;
  --gold:#C4A97D;
  --text:#2E2A26;
  --muted:#7A7268;
  --soft:#B5AA9E;
  --dark:#4A4540;
  --max:1100px;

  width:100%;
  overflow:hidden;
  background:var(--cream);
  color:var(--text);
}

.bs-contact,
.bs-contact *{
  box-sizing:border-box;
}

.bs-contact *{
  margin-top:0;
}

.bs-contact a{
  color:inherit;
}

.bs-wrap{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding-left:2rem;
  padding-right:2rem;
}

.bs-hero{
  padding:52px 0 44px;
}

.bs-eyebrow{
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
}

.bs-title{
  font-size:30px;
  font-weight:400;
  line-height:1.3;
  margin-bottom:14px;
}

.bs-sub{
  font-size:13px;
  color:var(--muted);
  line-height:1.75;
  max-width:420px;
}

.bs-divider{
  height:1px;
  background:var(--rule);
}

.bs-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--rule);
}

.bs-cell{
  background:var(--cream);
  padding:32px 36px;
}

.bs-label{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:12px;
}

.bs-value{
  font-size:13px;
  line-height:1.8;
}

.bs-hint{
  font-size:11px;
  color:var(--soft);
  margin-top:6px;
  line-height:1.6;
}

.bs-map{
  margin:24px 0;
  border-radius:4px;
  overflow:hidden;
  background:var(--rule);
}

.bs-map iframe{
  width:100%;
  height:320px;
  border:0;
  display:block;
}

.bs-transit{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1px;
  background:var(--rule);
}

.bs-transit-cell{
  background:var(--beige);
  padding:18px 20px;
}

.bs-note-wrap{
  padding:26px 0;
}

.bs-note{
  background:var(--beige);
  border-radius:4px;
  padding:18px 22px;
  border-left:2px solid var(--gold);
  font-size:12px;
  color:#5C5650;
  line-height:1.7;
}

.bs-invite{
  padding:44px 0 40px;
}

.bs-invite-text{
  font-size:17px;
  line-height:1.7;
  max-width:460px;
  margin-bottom:28px;
}

.bs-btn{
  display:inline-block;
  font-size:11px;
  font-weight:500;
  letter-spacing:.1em;
  color:#F5F0EA;
  background:var(--dark);
  padding:13px 28px;
  border-radius:5px;
  text-decoration:none;
  margin-right:20px;
}

.bs-link{
  font-size:11px;
  letter-spacing:.06em;
  color:#9C9289;
  border-bottom:1px solid #D4CEC7;
  text-decoration:none;
}

@media(max-width:700px){
  .bs-wrap{
    padding-left:24px;
    padding-right:24px;
  }

  .bs-grid{
    grid-template-columns:1fr;
  }

  .bs-transit{
    grid-template-columns:1fr;
  }

  .bs-btn{
    margin-right:0;
    margin-bottom:18px;
  }
}