@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --hv-primary:#2F6FA8;
  --hv-primary-dark:#1F4E73;
  --hv-primary-light:#A9C9E5;
  --hv-primary-tint:#EAF2F9;
  --hv-beige:#EDF1F5;
  --hv-cream:#FBFCFD;
  --hv-ink:#1C2A36;
  --hv-ink-soft:#48586A;
  --hv-gold:#E0A458;
  --hv-coral:#E8734F;
  --hv-footer:#152436;
  --hv-footer-text:#C6D3DE;
  --hv-radius-sm:10px;
  --hv-radius-lg:14px;
  --hv-shadow:0 10px 30px -12px rgba(28,42,54,0.18);
  --hv-shadow-hover:0 18px 40px -14px rgba(28,42,54,0.26);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  color:var(--hv-ink);
  background:var(--hv-cream);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.font-heading{font-family:'Poppins',sans-serif}

.hv-container{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}

.hv-card{
  background:#fff;
  border-radius:var(--hv-radius-lg);
  box-shadow:var(--hv-shadow);
  transition:transform .35s ease, box-shadow .35s ease;
}
.hv-card:hover{transform:translateY(-6px);box-shadow:var(--hv-shadow-hover)}

.hv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  font-weight:600;
  padding:14px 30px;
  transition:background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.hv-btn-primary{background:var(--hv-primary);color:#fff}
.hv-btn-primary:hover{background:var(--hv-primary-dark);transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(63,140,90,.55)}
.hv-btn-outline{border:1.5px solid var(--hv-primary);color:var(--hv-primary);background:transparent}
.hv-btn-outline:hover{background:var(--hv-primary);color:#fff;transform:translateY(-2px)}
.hv-btn-light{background:#fff;color:var(--hv-primary-dark)}
.hv-btn-light:hover{background:var(--hv-primary-tint);transform:translateY(-2px)}

.hv-input{
  width:100%;
  border-radius:var(--hv-radius-sm);
  border:1.5px solid #E2E8E4;
  padding:14px 18px;
  background:#fff;
  font-family:'Inter',sans-serif;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.hv-input:focus{outline:none;border-color:var(--hv-primary);box-shadow:0 0 0 4px var(--hv-primary-tint)}

.hv-fade-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.hv-fade-up.hv-visible{opacity:1;transform:translateY(0)}

.hv-nav-link{position:relative;font-weight:500;color:var(--hv-ink)}
.hv-nav-link::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;
  background:var(--hv-primary);transition:width .3s ease;
}
.hv-nav-link:hover::after,.hv-nav-link.active::after{width:100%}
.hv-nav-link.active{color:var(--hv-primary-dark)}

.hv-accordion-btn[aria-expanded="true"] .hv-accordion-icon{transform:rotate(45deg)}
.hv-accordion-icon{transition:transform .3s ease}
.hv-accordion-panel{max-height:0;overflow:hidden;transition:max-height .4s ease}

.hv-burger span{display:block;height:2px;background:var(--hv-ink);border-radius:2px;transition:transform .3s ease, opacity .3s ease}
.hv-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hv-burger.open span:nth-child(2){opacity:0}
.hv-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

#hv-mobile-menu{max-height:0;overflow:hidden;transition:max-height .4s ease}
#hv-mobile-menu.open{max-height:600px}

.hv-modal-overlay{background:rgba(30,42,34,.55);backdrop-filter:blur(3px)}

.hv-section-beige{background:var(--hv-beige)}
.hv-section-tint{background:var(--hv-primary-tint)}

.hv-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--hv-primary-tint);color:var(--hv-primary-dark);
  border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;
  letter-spacing:.02em;
}

.hv-toast{
  position:fixed;bottom:24px;right:24px;z-index:70;
  background:var(--hv-primary-dark);color:#fff;padding:16px 22px;border-radius:var(--hv-radius-sm);
  box-shadow:var(--hv-shadow-hover);transform:translateY(30px);opacity:0;transition:transform .4s ease, opacity .4s ease;
  pointer-events:none;
}
.hv-toast.show{transform:translateY(0);opacity:1}

.hv-cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:#fff;border-top:1px solid #E2E8E4;
  box-shadow:0 -10px 30px -12px rgba(30,42,34,.18);
  transform:translateY(110%);transition:transform .5s ease;
}
.hv-cookie-banner.show{transform:translateY(0)}

::selection{background:var(--hv-primary-light);color:var(--hv-ink)}

.hv-swiper-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hv-swiper-track::-webkit-scrollbar{display:none}
.hv-swiper-track > *{scroll-snap-align:start;flex-shrink:0}

@media (max-width:767px){
  .hv-container{padding-left:20px;padding-right:20px}
}
