@import url('./tokens/fonts.css');
@import url('./tokens/colors.css');
@import url('./tokens/typography.css');
@import url('./tokens/spacing.css');

.nv-card{transition:transform 0.25s cubic-bezier(.2,.8,.2,1), box-shadow 0.25s cubic-bezier(.2,.8,.2,1); box-shadow:0 1px 2px rgba(20,17,15,0.06); cursor:pointer;}
.nv-card:hover{transform:translateY(-6px); box-shadow:0 24px 48px -16px rgba(20,17,15,0.22);}
.nv-feature:hover{box-shadow:0 28px 56px -18px rgba(20,17,15,0.24);}
.nv-step{transition:box-shadow 0.2s ease, border-color 0.2s ease;}
.nv-step:hover{box-shadow:0 14px 30px -12px rgba(20,17,15,0.16); border-color:var(--brand-primary);}
.nv-header-desktop{display:flex;}
.nv-header-burger{display:none;}
@media (max-width: 1024px){
  .nv-header-desktop{display:none;}
  .nv-header-burger{display:flex;}
}
.nv-footer-grid{grid-template-columns:1.3fr 1fr 1fr;}
.nv-footer-legal{flex-direction:row;}
@media (max-width: 720px){
  .nv-footer-grid{grid-template-columns:1fr !important;}
  .nv-footer-legal{flex-direction:column !important; align-items:flex-start !important; gap:8px !important;}
}
.nv-stat-strip{grid-template-columns:repeat(3,1fr);}
.nv-feature{grid-template-columns:1.1fr 0.9fr;}
.nv-services-grid, .nv-testimonials-grid{grid-template-columns:repeat(3,1fr);}
@media (max-width: 780px){
  .nv-feature{grid-template-columns:1fr !important;}
  .nv-services-grid, .nv-testimonials-grid{grid-template-columns:1fr !important;}
}
@media (max-width: 640px){
  .nv-stat-strip{grid-template-columns:1fr !important;}
  .nv-stat-strip > div{border-left:none !important; border-top:1px solid var(--border-subtle);}
  .nv-stat-strip > div:first-child{border-top:none;}
  .nv-hero-title{font-size:2.4rem !important;}
}
.nv-sd-hero{grid-template-columns:1.05fr 0.95fr;}
.nv-sd-steps, .nv-sd-band3{grid-template-columns:repeat(3,1fr);}
.nv-sd-band2{grid-template-columns:1fr 1fr;}
@media (max-width: 780px){
  .nv-sd-hero, .nv-sd-steps, .nv-sd-band3, .nv-sd-band2{grid-template-columns:1fr !important;}
  .nv-about-values{grid-template-columns:1fr 1fr !important;}
}
@media (max-width: 560px){
  .nv-about-values{grid-template-columns:1fr !important;}
}
