.contact-main { background:var(--white); padding:80px 48px; display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:start; }
.contact-info { }
.contact-block { padding:24px 0; border-bottom:1px solid var(--border); }
.contact-block:first-child { border-top:1px solid var(--border); }
.contact-block h4 { font-family:var(--font-semi); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.contact-block .bottom_content h3 { font-family:var(--font-semi); font-size:22px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.contact-block p, .contact-block a, .contact-block li{ font-size:16px; color:var(--charcoal); text-decoration:none; line-height:1.6; display:block; }
.contact-block a:hover { color:var(--red); }
.office-name { font-family:var(--font-semi); font-size:12px; font-weight:600; color:var(--red); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:3px; margin-top:14px; display:block; }
.office-name:first-child { margin-top:0; }
.schedule-btn { display:inline-flex; align-items:center; gap:10px; background:var(--red); color:white; text-decoration:none; font-family:var(--font-semi); font-size:13px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; padding:14px 24px; border-radius:2px; margin-top:20px; transition:background 0.2s; }
.schedule-btn svg {
  width: 15px;
  height: 15px;
}
.schedule-btn:hover { background:var(--red-light); }
.schedule-btn:hover svg {
  fill:var(--red);
}
.contact-block p:last-child {
    margin-bottom: 0;
}
.form-wrap { background:#f8f7f3; padding:48px 44px; }
.form-title { font-family:var(--font-display); font-size:36px; font-weight:800; text-transform:uppercase; color:var(--charcoal); line-height:0.95; margin-bottom:28px; letter-spacing:-0.01em; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-family:var(--font-semi); font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--mid); margin-bottom:6px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:12px 16px; border:1px solid var(--border); background:var(--white); font-family:var(--font-body); font-size:15px; color:var(--charcoal); border-radius:2px; outline:none; transition:border-color 0.2s; font-weight:300; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--red); }
.form-group textarea { min-height:120px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-submit { width:100%; padding:16px; background:var(--red); color:white; border:none; font-family:var(--font-semi); font-size:14px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; border-radius:2px; margin-top:8px; transition:background 0.2s; }
.form-submit:hover { background:var(--red-light); }
.form-note { font-size:12px; color:var(--muted); margin-top:12px; line-height:1.5; font-weight:300; }
.map-section { background:var(--black); padding:0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column; }
.map-section iframe {
    display: block;
    width: 100%;
    height: 380px;
    border: 0;
    position: static !important;
}
.map-section .iframe_wrapper {
    padding: 0;
    height: auto;
}


@media (max-width:900px) {
  nav { padding:0 24px; } .nav-links { display:none; }
  .page-hero { padding:60px 24px 52px; }
  .contact-main { grid-template-columns:1fr; gap:48px; padding:60px 24px; }
  .form-wrap { padding:32px 24px; } .form-row { grid-template-columns:1fr; }
  .cta-section { padding:72px 24px; } .cta-btns { flex-direction:column; align-items:center; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:600px) { .footer-top { grid-template-columns:1fr; } }
.contact-main .form-wrap { background:#f8f7f3; padding:48px 44px; }
.contact-main .form-title { font-family:var(--font-display); font-size:32px; font-weight:800; text-transform:uppercase; color:var(--charcoal); line-height:0.95; margin-bottom:28px;padding-bottom: 0; }
.form-group { margin-bottom:18px; }
.contact-main form label { display:block; font-family:var(--font-semi); font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--mid); margin-bottom:6px; }
.contact-main form input[type=text],.contact-main form input[type=search],.contact-main form input[type=email],.contact-main form input[type=password],.contact-main form input[type=tel], .contact-main form input[type=number],.contact-main form input[type=file],.contact-main form select,.contact-main form textarea{
  width:100%; padding:12px 16px; border:1px solid var(--border); background:#f8f7f3; font-family:var(--font-body); font-size:15px; color:var(--charcoal); border-radius:2px; outline:none; transition:border-color 0.2s; font-weight:300; }
.contact-main form input:focus, .contact-main form select:focus, .contact-main form textarea:focus { border-color:var(--red); background:var(--white); }
.contact-main form textarea { min-height:100px; resize:vertical; }
.contact-main .hs-button { width:100%; padding:16px; background:var(--red); color:white; border:none; font-family:var(--font-semi); font-size:14px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; border-radius:2px; margin-top:8px; transition:background 0.2s; }
.contact-main .hs-button:hover { background:var(--red-light); }
.contact-main .form-title , .contact-main form{background:#f8f7f3;}

var(--charcoal);
  border-radius:2px;
  outline:none;
  transition:all 0.2s ease;
  font-weight:300;
  appearance:none;
}

.contact-main form input:focus,
.contact-main form select:focus,
.contact-main form textarea:focus{
  border-color:var(--red);
  background:#fff;
}

.contact-main form textarea{
  min-height:100px;
  resize:vertical;
}

.contact-main .hs-button{
  width:100%;
  padding:16px;
  background:var(--red);
  color:#fff;
  border:none;
  font-family:var(--font-semi);
  font-size:14px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:2px;
  margin-top:8px;
  transition:background 0.2s ease;
}

.contact-main .hs-button:hover{
  background:var(--red-light);
}

.contact-main .hs-error-msgs{
  list-style:none;
  padding:0;
  margin:6px 0 0;
}

.contact-main .hs-error-msgs label{
  color:#d92d20;
  font-size:11px;
  letter-spacing:0;
}

/* ---------- LARGE TABLET ---------- */

@media (max-width:1024px){

  .contact-main .form-layout{
    gap:48px;
  }

  .contact-main .form-wrap{
    padding:40px 32px;
  }

}

/* ---------- TABLET ---------- */

@media (max-width:900px){

  .contact-main{
    padding:72px 24px;
  }

  .contact-main .form-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .contact-main .section-headline *{
    font-size:48px;
  }

  .contact-main .form-wrap{
    padding:32px 24px;
  }

}

/* ---------- MOBILE ---------- */

@media (max-width:767px){

  .contact-main{
    padding:56px 20px;
  }

  .contact-main .form-layout{
    gap:32px;
  }

  .contact-main .section-headline *{
    font-size:36px;
    line-height:1;
  }

  .contact-main .section-body *{
    font-size:15px;
    line-height:1.7;
  }

  .contact-main .form-wrap{
    padding:28px 20px;
  }

  .contact-main .form-title{
    font-size:26px;
    margin-bottom:22px;
  }

  .contact-main form input[type=text],
  .contact-main form input[type=search],
  .contact-main form input[type=email],
  .contact-main form input[type=password],
  .contact-main form input[type=tel],
  .contact-main form input[type=number],
  .contact-main form input[type=file],
  .contact-main form select,
  .contact-main form textarea{
    padding:12px 14px;
    font-size:14px;
  }

  .contact-main .hs-button{
    padding:14px;
    font-size:13px;
  }

}

/* ---------- SMALL MOBILE ---------- */

@media (max-width:480px){

  .contact-main{
    padding:48px 16px;
  }

  .contact-main .section-headline *{
    font-size:30px;
  }

  .contact-main .form-wrap{
    padding:24px 18px;
  }

  .contact-main .form-title{
    font-size:22px;
  }

}