* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0
}
img {
  max-width:100%;
  display:block
}
a {
  text-decoration:none;
  color:inherit
}
button,input,select,textarea {
  font:inherit
}
.wrap {
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:800
}
.phone-link {
  white-space:nowrap
}
.mobile-menu {
  display:none
}
.mobile-menu summary {
  list-style:none;
  cursor:pointer
}
.mobile-menu summary::-webkit-details-marker {
  display:none
}
.mobile-menu .menu-panel {
  position:absolute;
  right:16px;
  top:64px;
  min-width:220px;
  z-index:40;
  box-shadow:0 20px 50px rgba(0,0,0,.18)
}
.breadcrumbs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  font-size:13px;
  opacity:.72
}
.breadcrumbs span:after {
  content:"/";
  margin-left:8px;
  opacity:.5
}
.breadcrumbs span:last-child:after {
  display:none
}
.photo-credit {
  font-size:11px;
  line-height:1.35;
  opacity:.66
}
.route-chip {
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase
}
.footer-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px
}
.footer-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px
}
.legal {
  font-size:12px;
  line-height:1.55;
  opacity:.74
}
.callout-phone strong {
  display:block
}
.tag-row {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.tag {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:750
}
.cta-row {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  font-weight:850
}
.btn .arrow {
  margin-left:8px
}
.page-hero h1 {
  margin:0
}
.section-title {
  margin:0
}
.muted {
  opacity:.72
}
.desktop-only {
  display:block
}
.mobile-only {
  display:none
}
@media(max-width:820px) {
  .wrap {
    width:min(100% - 28px,720px)
  }
  .desktop-nav,.desktop-only {
    display:none!important
  }
  .mobile-only {
    display:block
  }
  .mobile-menu {
    display:block;
    position:relative
  }
  .footer-grid {
    grid-template-columns:1fr
  }
  .footer-links {
    grid-template-columns:1fr 1fr
  }
  .cta-row .btn {
    flex:1 1 220px
  }
  .page-hero h1 {
    font-size:clamp(38px,12vw,58px)!important
  }
}
