/* Huoltopaketit (design: .vm-srv-tier) */
.vm-srv-section { max-width: var(--vm-container, 1280px); margin: 0 auto; padding: clamp(48px, 6vw, 88px) 24px; }
.vm-srv-head { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
.vm-srv-head .vm-fp-eyebrow { display: block; margin-bottom: 8px; }
.vm-srv-head h2 {
  font-family: "parabolica", "Big Shoulders Display", "Saira Condensed", Impact, sans-serif;
  font-weight: 900; font-style: italic; text-transform: uppercase;
  letter-spacing: var(--vm-tracking-tight, -0.01em);
  color: var(--vm-brand-deep, #0d2b3c);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  margin: 0 0 12px;
}
.vm-srv-head p { max-width: 60ch; margin: 0 auto; color: var(--vm-fg-muted, #555); font-size: var(--vm-fs-15, 0.9375rem); line-height: 1.6; }
.vm-srv-usp {
  display: flex; align-items: flex-start; gap: 10px; justify-content: center;
  max-width: 720px; margin: 0 auto 28px;
  background: color-mix(in srgb, var(--vm-brand, #2D5C87) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--vm-brand, #2D5C87) 25%, #fff);
  padding: 12px 18px;
  font-weight: 600; font-size: var(--vm-fs-14, 0.875rem);
}
.vm-srv-usp svg { color: var(--vm-brand, #2D5C87); flex-shrink: 0; margin-top: 1px; }
.vm-srv-tiers { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 920px; margin: 0 auto; }
.vm-srv-tier {
  position: relative;
  background: var(--vm-bg, #fff);
  border: 1px solid var(--vm-border-subtle, #dedede);
  padding: 32px;
  display: flex; flex-direction: column; gap: 18px;
  transition: box-shadow 200ms ease-out;
}
.vm-srv-tier:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.1); }
.vm-srv-tier.popular { border: 2px solid var(--vm-brand, #2D5C87); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.vm-srv-tier-badge {
  position: absolute; top: -12px; left: 24px;
  background: var(--vm-brand, #2D5C87); color: #fff;
  font-weight: 700; font-size: var(--vm-fs-12, 0.75rem);
  letter-spacing: var(--vm-tracking-eyebrow, 0.12em); text-transform: uppercase;
  padding: 5px 12px;
}
.vm-srv-tier-name {
  font-family: "parabolica", "Big Shoulders Display", "Saira Condensed", Impact, sans-serif;
  font-weight: 900; font-style: italic;
  font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1;
  text-transform: uppercase; letter-spacing: var(--vm-tracking-tight, -0.01em);
  color: var(--vm-brand-deep, #0d2b3c);
  margin: 0 0 4px;
}
.vm-srv-tier-tag { font-size: var(--vm-fs-14, 0.875rem); color: var(--vm-fg-muted, #555); margin: 0; }
.vm-srv-tier-prices {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  padding: 16px 0;
  border-top: 1px solid var(--vm-border-subtle, #dedede);
  border-bottom: 1px solid var(--vm-border-subtle, #dedede);
}
.vm-srv-price { display: flex; flex-direction: column; gap: 2px; }
.vm-srv-price .amt { font-weight: 700; font-size: 1.9rem; color: var(--vm-fg, #000); line-height: 1; font-variant-numeric: tabular-nums; }
.vm-srv-price .type { font-size: var(--vm-fs-12, 0.75rem); color: var(--vm-fg-muted, #555); line-height: 1.4; }
.vm-srv-tier-blurb { font-size: var(--vm-fs-14, 0.875rem); line-height: 1.6; margin: 0; }
.vm-srv-tier-subhead {
  font-weight: 700; font-size: var(--vm-fs-12, 0.75rem);
  letter-spacing: var(--vm-tracking-eyebrow, 0.12em); text-transform: uppercase;
  color: var(--vm-brand, #2D5C87); margin-top: 8px;
}
.vm-srv-tier-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.vm-srv-tier-list li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: flex-start; font-size: var(--vm-fs-14, 0.875rem); line-height: 1.5; }
.vm-srv-tier-list li svg { color: var(--vm-stock-in, #1c7a3a); margin-top: 4px; }
.vm-srv-tier-cta { justify-content: center; margin-top: auto; display: inline-flex; align-items: center; gap: 8px; background: var(--vm-brand, #2D5C87); color: #fff; border: 0; padding: 13px 22px; font-weight: 700; font-size: var(--vm-fs-14, 0.875rem); text-decoration: none; }
.vm-srv-tier-cta:hover { background: var(--vm-brand-deep, #0d2b3c); color: #fff; }
@media (max-width: 880px) {
  .vm-srv-tiers { grid-template-columns: 1fr; gap: 16px; }
  .vm-srv-tier { padding: 24px; }
}
