#hb-contact{ background:var(--stone); color:var(--ink); font-family:'Inter',sans-serif; }
#hb-contact *{ box-sizing:border-box; }
#hb-contact a{ color:inherit; text-decoration:none; }
#hb-contact .hbc2-wrap{ max-width:var(--max); margin:0 auto; padding:0 64px; }
#hb-contact h1, #hb-contact h2{ font-family:'Fraunces',serif; font-weight:360; }
#hb-contact em{ font-style:italic; color:var(--gold-1); }
#hb-contact .hbc2-eyebrow{
  font-family:'Inter',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--oxide);
  display:block; margin-bottom:16px;
}

.hbc2-btn{
  display:inline-block; padding:14px 28px; font-size:13px; font-weight:500;
  letter-spacing:0.02em; border-radius:2px; border:none; cursor:pointer;
}
.hbc2-btn-primary{ background:var(--ink); color:var(--stone) !important; }
.hbc2-btn-primary:hover{ background:var(--ink-soft); }

#hb-contact .hbc2-hero{ position:relative; height:50vh; min-height:380px; overflow:hidden; display:flex; align-items:center; }
#hb-contact .hbc2-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(0.5); }
#hb-contact .hbc2-hero-inner{ position:relative; z-index:2; max-width:var(--max); margin:0 auto; padding:0 64px; color:var(--stone); }
#hb-contact .hbc2-hero h1{ font-size:clamp(36px,5vw,58px); color:var(--stone); margin-bottom:20px; }
#hb-contact .hbc2-hero p{ max-width:460px; font-size:15.5px; color:rgba(241,228,204,0.9); }

#hb-contact .hbc2-main{ padding:120px 0; }
#hb-contact .hbc2-grid{ display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start; }
#hb-contact .hbc2-info h2, #hb-contact .hbc2-form-col h2{ font-size:clamp(28px,3vw,38px); margin-bottom:36px; }

.hbc2-info-list{ display:flex; flex-direction:column; gap:26px; margin-bottom:40px; }
.hbc2-info-item{ display:flex; align-items:flex-start; gap:16px; }
.hbc2-info-item svg{ width:22px; height:22px; flex-shrink:0; margin-top:2px; color:var(--oxide); }
.hbc2-info-item strong{ display:block; font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600; margin-bottom:3px; }
.hbc2-info-item span{ font-size:14px; color:#6b6558; }

.hbc2-form{ display:flex; flex-direction:column; gap:20px; }
.hbc2-form label{ display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:500; color:var(--ink); }
.hbc2-form input, .hbc2-form textarea{
  font-family:'Inter',sans-serif; font-size:14px; padding:12px 14px;
  border:1px solid var(--line); border-radius:2px; background:var(--stone-deep);
  color:var(--ink); resize:vertical;
}
.hbc2-form input:focus, .hbc2-form textarea:focus{ outline:none; border-color:var(--oxide); }
.hbc2-form button{ align-self:flex-start; margin-top:8px; }

#hb-contact .hbc2-map{ background:var(--stone-deep); padding:80px 0 100px; }
.hbc2-map-frame{ aspect-ratio:21/6.5; border:1px solid var(--line); position:relative; overflow:hidden; margin-bottom:24px; background:rgba(255,255,255,0.12); }
.hbc2-map-frame svg{ width:100%; height:100%; }
.hbc2-map-pin{ position:absolute; top:12%; left:58%; font-family:'Fraunces',serif; font-size:13px; color:var(--ink); }
.hbc2-map-link{ display:inline-block; font-size:13px; font-weight:500; border-bottom:1px solid var(--oxide); padding-bottom:3px; }

@media (max-width:900px){
  #hb-contact .hbc2-wrap, #hb-contact .hbc2-hero-inner{ padding:0 22px; }
  #hb-contact .hbc2-grid{ grid-template-columns:1fr; gap:56px; }
  #hb-contact .hbc2-main{ padding:80px 0; }
  #hb-contact .hbc2-map{ padding:60px 0 70px; }
  .hbc2-map-frame{ aspect-ratio:4/5; }
}