@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dmsans-latin-v17.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrumentserif-latin-v5.woff2) format("woff2")}
/* Conversion pass (Oct 3, 2026): header phone, mobile Call/Text bar, trust line, quote-form details toggle */
.header-inner .nav { margin-left: auto; }
.header-phone {
  display: inline-flex; align-items: center; gap: .4rem; margin-left: .6rem;
  padding: .5rem .85rem; border-radius: 999px; border: 1px solid var(--line);
  color: var(--navy); font-weight: 700; font-size: .95rem; white-space: nowrap;
}
.header-phone:hover { background: var(--bg); }
.header-phone svg { width: 16px; height: 16px; flex: none; color: var(--teal-dark); }
@media (max-width: 900px) {
  .header-phone { margin-left: auto; margin-right: .5rem; }
}
@media (max-width: 420px) {
  .header-phone { padding: .4rem .6rem; font-size: .85rem; gap: .3rem; margin-right: .35rem; }
  .header-inner { gap: .5rem; }
}

/* Mobile-only sticky Call / Text bar */
.mobile-cta-bar { display: none; }
@media (max-width: 768px) {
  .mobile-cta-bar {
    display: grid; grid-template-columns: 1fr 1fr; gap: .5rem;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: .5rem .75rem calc(.5rem + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.96); backdrop-filter: blur(10px);
    border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(11,31,58,.08);
  }
  .mobile-cta-bar a {
    display: flex; align-items: center; justify-content: center; gap: .45rem;
    min-height: 44px; border-radius: 999px; font-weight: 700; font-size: .95rem;
  }
  .mobile-cta-bar svg { width: 18px; height: 18px; flex: none; }
  .mobile-cta-bar .mcb-call { background: var(--navy); color: #fff; }
  .mobile-cta-bar .mcb-text { background: var(--teal); color: #fff; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); } /* keeps the footer clear of the bar */
}

/* Trust line under the H1 */
.trust-line {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem .5rem;
  margin: 0 auto 1.1rem; max-width: 56rem; padding: 0; list-style: none;
}
.trust-line li {
  font-size: .85rem; font-weight: 600; color: #fff;
  border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06);
  border-radius: 999px; padding: .28rem .7rem;
}
.page-hero p.bought-line { margin: 0 auto 1rem; font-weight: 700; color: #fff; }

/* Quote form: optional details toggle */
.more-details { border: 1px solid var(--line); border-radius: 14px; padding: .85rem 1rem; background: var(--bg); }
.more-details > summary { cursor: pointer; font-weight: 700; color: var(--navy); }
.more-details[open] > summary { margin-bottom: 1rem; }
.more-details .more-inner { display: grid; gap: 1rem; }

/* ---- stage 2 (Oct 3 2026): text links + hero call ---- */
.header-sms{display:inline-flex;align-items:center;margin-left:.5rem;padding:.35rem .8rem;border:1px solid currentColor;border-radius:999px;font-weight:600;font-size:.9rem;text-decoration:none;color:inherit;white-space:nowrap}
@media (max-width:768px){.header-sms{display:none}}
.tel-sms{white-space:nowrap}
.contact-list span.tel-sms,.footer-contact span.tel-sms{display:inline;font-size:inherit;color:inherit;text-transform:none;letter-spacing:normal;margin:0;font-weight:inherit;opacity:1}
.sms-link{display:inline-block;margin-left:.4rem;padding:0 .55rem;border:1px solid currentColor;border-radius:999px;font-size:.78em;font-weight:600;line-height:1.6;text-decoration:none;vertical-align:middle}
.btn-hero-call{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.75)}
.btn-hero-call:hover{background:rgba(255,255,255,.12);color:#fff}
.page-hero .page-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
