/* V71 – compact mobile call banner and SEO-focused hero heading */
.v71-call-banner{
  padding:8px 18px;
  background:#09090b;
  box-shadow:none;
}
.v71-call-banner .v70-call-banner-inner{
  width:min(1120px,100%);
  min-height:58px;
  margin:0 auto;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,2.4vw,30px);
  border:1px solid rgba(255,255,255,.22);
  border-radius:17px;
  background:linear-gradient(110deg,#a90b1c 0%,#ed1b2f 52%,#b40d20 100%);
  box-shadow:0 12px 30px rgba(150,4,24,.24);
}
.v71-call-banner .v70-call-banner-label{
  flex:0 0 auto;
  padding:6px 10px;
  background:rgba(255,255,255,.1);
}
.v71-call-banner .v70-call-banner a{
  min-width:0;
  justify-self:auto;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:12px;
}
.v71-call-banner .v70-call-banner a strong{
  white-space:nowrap;
  font-size:clamp(1.24rem,2vw,1.8rem);
}
.v71-call-banner .v70-call-banner-note{
  flex:0 1 auto;
  white-space:nowrap;
}
.v58-hero-copy>h1{
  text-wrap:balance;
}
@media(max-width:700px){
  .v71-call-banner{
    padding:8px 10px;
  }
  .v71-call-banner .v70-call-banner-inner{
    width:100%;
    max-width:430px;
    min-height:0;
    padding:9px 10px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:2px 9px;
    border-radius:14px;
  }
  .v71-call-banner .v70-call-banner-label{
    grid-column:1;
    grid-row:1/3;
    width:38px;
    height:38px;
    padding:0;
    display:grid;
    place-items:center;
    align-self:center;
    border:0;
    border-radius:50%;
    font-size:0;
    background:rgba(255,255,255,.16);
  }
  .v71-call-banner .v70-call-banner-label::before{
    content:"☎";
    font-size:1rem;
    line-height:1;
  }
  .v71-call-banner .v70-call-banner a{
    grid-column:2;
    width:100%;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    text-align:left;
  }
  .v71-call-banner .v70-call-banner a small{
    flex:0 1 auto;
    font-size:.49rem;
    line-height:1.1;
  }
  .v71-call-banner .v70-call-banner a strong{
    flex:0 0 auto;
    font-size:1.08rem;
    line-height:1;
    letter-spacing:-.025em;
  }
  .v71-call-banner .v70-call-banner-note{
    grid-column:2;
    min-width:0;
    font-size:.52rem;
    line-height:1.2;
    white-space:normal;
  }
  .v58-hero-copy>h1{
    font-size:clamp(2.35rem,12vw,4rem);
    line-height:.94;
  }
}
@media(max-width:390px){
  .v71-call-banner .v70-call-banner-inner{
    grid-template-columns:34px minmax(0,1fr);
    gap:2px 8px;
    padding:8px 9px;
  }
  .v71-call-banner .v70-call-banner-label{
    display:grid;
    width:34px;
    height:34px;
  }
  .v71-call-banner .v70-call-banner a strong{
    font-size:1rem;
  }
  .v71-call-banner .v70-call-banner-note{
    display:none;
  }
}
@media(max-width:335px){
  .v71-call-banner .v70-call-banner a small{
    display:none;
  }
  .v71-call-banner .v70-call-banner a{
    justify-content:flex-start;
  }
}
