
.hv31-footer{
  position:relative;overflow:hidden;margin-top:52px;color:#f4f8fb;
  background:
    linear-gradient(90deg,rgba(5,46,71,.18) 0%,rgba(4,48,75,.76) 30%,rgba(4,48,75,.92) 50%,rgba(4,45,70,.86) 76%,rgba(4,40,63,.72) 100%),
    url("/assets/home-footer-v31/footer-bg-v31.webp") center/cover no-repeat;
  border-top:1px solid rgba(255,255,255,.10)
}
.hv31-footer-inner{width:min(var(--site-max,1480px),calc(100% - var(--site-gutter,clamp(20px,3.4vw,64px)) - var(--site-gutter,clamp(20px,3.4vw,64px))));margin-inline:auto;padding:28px 0 13px;position:relative;z-index:1}
.hv31-footer-grid{display:grid;grid-template-columns:1.48fr .70fr 1.05fr .62fr;gap:38px;align-items:start}
.hv31-brand-row{display:flex;gap:14px;align-items:flex-start}
.hv31-logo{width:58px;height:58px;object-fit:contain;flex:0 0 auto;background:#70d2ec}
.hv31-brand-name{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.08;font-weight:700}
.hv31-slogan{color:rgba(255,255,255,.86);font-size:14px;line-height:1.35}
.hv31-brand-copy{max-width:420px;margin:13px 0 0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.56}
.hv31-col{min-height:150px;padding-left:34px;border-left:1px solid rgba(255,255,255,.20)}
.hv31-heading{margin:0 0 12px;font-size:14px;font-weight:700;color:#fff}
.hv31-links{display:flex;flex-direction:column;gap:8px}
.hv31-links a,.hv31-contact a{color:rgba(255,255,255,.84);text-decoration:none;font-size:13.5px;line-height:1.35}
.hv31-links a:hover,.hv31-contact a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.hv31-contact{display:flex;flex-direction:column;gap:10px}
.hv31-contact-row{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;color:rgba(255,255,255,.84);font-size:13.5px;line-height:1.38}
.hv31-contact-row svg{width:16px;height:16px;margin-top:1px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hv31-socials{display:flex;gap:10px;margin:3px 0 17px}
.hv31-social{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;text-decoration:none;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10)}
.hv31-social:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.hv31-social svg{width:17px;height:17px;fill:currentColor}
.hv31-myhv{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 17px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#fff;text-decoration:none;font-size:13px;font-weight:700}
.hv31-myhv:hover{background:rgba(255,255,255,.10)}
.hv31-footer-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding-top:10px;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.68);font-size:11.8px;line-height:1.4}
.hv31-values{color:rgba(255,255,255,.78);text-align:right}

/* restore homepage grand piano */
body.hv31-home .hv31-home-hero{
  position:relative!important;overflow:hidden!important;min-height:500px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.995) 0%,rgba(255,255,255,.96) 30%,rgba(255,255,255,.66) 48%,rgba(255,255,255,.05) 70%),
    url("/assets/home-footer-v31/home-hero-piano-v31.webp") center right / cover no-repeat!important
}
body.hv31-home .hv31-home-hero>*{position:relative;z-index:1}
body.hv31-home .hv25-home-piano-section{display:block!important;visibility:visible!important;opacity:1!important}

@media (min-width:980px) and (max-height:920px){
  body.hv31-home .hv31-home-hero{min-height:440px!important}
  .hv31-footer{margin-top:40px}.hv31-footer-inner{padding-top:23px}.hv31-footer-grid{gap:30px}.hv31-col{min-height:138px}
}
@media(max-width:980px){
  .hv31-footer-grid{grid-template-columns:1.25fr 1fr;row-gap:26px}
  .hv31-col:nth-child(3){border-left:0;padding-left:0}
}
@media(max-width:700px){
  body.hv31-home .hv31-home-hero{
    min-height:470px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.12) 100%),
      url("/assets/home-footer-v31/home-hero-piano-v31.webp") 66% center / cover no-repeat!important
  }
  .hv31-footer{margin-top:42px}
  .hv31-footer-inner{width:min(var(--site-max,1480px),calc(100% - var(--site-gutter,20px) - var(--site-gutter,20px)));padding-top:26px}
  .hv31-footer-grid{grid-template-columns:1fr;gap:23px}
  .hv31-col{border-left:0;padding-left:0;min-height:unset}
  .hv31-brand-name{font-size:21px}
  .hv31-footer-bottom{flex-direction:column;align-items:flex-start}
  .hv31-values{text-align:left}
}
