.floating-contact a:nth-child(2) { background: var(--red, #c4372c); }
.floating-contact a:nth-child(3) { background: #25D366; }
.nav-services { position: relative; }
.nav-services summary { list-style: none; cursor: pointer; color: #34435b; font-size: .93rem; font-weight: 700; }
.nav-services summary::-webkit-details-marker { display: none; }
.nav-services summary:hover { color: var(--red, #c4372c); }
.nav-services__panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 30;
  min-width: 240px;
  padding: 8px;
  border: 1px solid var(--line, #e4e8ef);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(9, 24, 50, .12);
}
.nav-services__panel a { display: block; padding: 8px 10px; border-radius: 8px; color: #24344c; font-size: .88rem; font-weight: 700; }
.nav-services__panel a:hover { background: #f4f7fb; color: var(--red, #c4372c); }
.brand img { aspect-ratio: 400 / 151; }
.mobile-rate-bar { display: none; }
.v12-hero-form { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; max-width: 640px; }
.v12-hero-form input[type="email"],
.v12-hero-form input[type="text"] { flex: 1 1 160px; height: 48px; padding: 0 16px; border: 1px solid var(--line, #d5dbe6); border-radius: 999px; background: #fff; }
.v12-hero-file { display: inline-flex; align-items: center; height: 48px; padding: 0 14px; border: 1px dashed var(--line, #d5dbe6); border-radius: 999px; background: #fff; color: #34435b; font-size: .82rem; font-weight: 700; }
.v12-hero-file input { max-width: 160px; font-size: .75rem; }
.page-quote { margin: 28px 0; padding: 22px; border: 1px solid var(--line, #e4e8ef); border-radius: 16px; background: #fff; }
.page-quote h2 { margin-top: 0; }
.page-quote .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-quote label { display: flex; flex-direction: column; gap: 6px; font-size: .82rem; font-weight: 700; }
.page-quote input, .page-quote textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line, #d5dbe6); border-radius: 10px; font: inherit; }
.page-quote .form-grid__full { grid-column: 1 / -1; }

@media (max-width: 860px) {
  .primary-nav.is-open { max-height: 85vh !important; overflow: auto; }
  .primary-nav .nav-services { display: block; }
  .nav-services__panel { position: static; min-width: 0; margin: 0 0 8px; padding: 0 0 0 8px; border: 0; border-radius: 0; box-shadow: none; }
  .primary-nav .nav-services summary { padding: 13px 5px; border-bottom: 1px solid var(--line, #e4e8ef); }
  .mobile-rate-bar {
    display: flex;
    position: fixed;
    z-index: 940;
    right: 0;
    bottom: 0;
    left: 0;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid var(--line, #e4e8ef);
    box-shadow: 0 -8px 24px rgba(9, 24, 50, .08);
  }
  .mobile-rate-bar .button { flex: 1; }
  .mobile-rate-bar .mobile-rate-bar__call { display: inline-flex; align-items: center; justify-content: center; min-width: 72px; padding: 0 12px; border-radius: 999px; background: var(--navy-900, #0b1832); color: #fff; font-weight: 800; }
  body:has(.mobile-rate-bar) { padding-bottom: 76px; }
  .floating-contact { top: 38%; right: auto; bottom: auto; left: 8px; flex-direction: column; }
  .page-quote .form-grid { grid-template-columns: 1fr; }
}
