:root {
  --dv-blue: #0968d7;
  --dv-blue-dark: #064caa;
  --dv-orange: #f35b24;
  --dv-dark: #173763;
  --dv-light: #eaf3ff;
  --dv-pale: #f7faff;
}

body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--dv-dark); background: #fff; line-height: 1.7; }
.navbar { background: rgba(255,255,255,.96); box-shadow: 0 2px 18px rgba(9,104,215,.08); }
.brand-logo { display: block; width: min(255px, 62vw); height: auto; }
.hero { background: radial-gradient(circle at 85% 20%, rgba(243,91,36,.16), transparent 30%), linear-gradient(135deg, #f7faff 0%, #e7f1ff 52%, #fff8f4 100%); padding: 100px 0 80px; }
.hero-badge { background: #fff; color: var(--dv-blue); border: 1px solid #c9ddf8; border-radius: 50px; padding: .5rem 1rem; font-weight: 600; display: inline-block; }
.hero h1 { font-weight: 800; letter-spacing: -.03em; font-size: clamp(2.4rem, 5vw, 4.4rem); }
.hero h1 span { color: var(--dv-orange); }
.hero-card { background: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.9); border-radius: 28px; padding: 30px; box-shadow: 0 20px 60px rgba(9,104,215,.14); backdrop-filter: blur(8px); }
.savings { font-size: 3.3rem; line-height: 1; font-weight: 800; color: var(--dv-orange); }
.section { padding: 80px 0; }
.section-soft { background: var(--dv-pale); }
.section-intro { max-width: 780px; }
.section-intro-wide { max-width: 800px; }
.section-title { font-weight: 800; color: var(--dv-dark); }
.feature-card { height: 100%; padding: 30px; border: 1px solid #d5e4fa; border-radius: 22px; background: #fff; box-shadow: 0 8px 30px rgba(23,55,99,.05); transition: transform .2s ease, box-shadow .2s ease; }
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 14px 40px rgba(9,104,215,.12); }
.icon { width: 54px; height: 54px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: var(--dv-light); color: var(--dv-blue); font-size: 1.5rem; margin-bottom: 18px; }
.journey-step { position: relative; padding-left: 68px; min-height: 60px; }
.journey-step .number { position: absolute; left: 0; top: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--dv-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.cta { background: linear-gradient(135deg, var(--dv-blue), #2585e8 52%, var(--dv-orange)); color: #fff; border-radius: 30px; padding: 55px; box-shadow: 0 20px 60px rgba(9,104,215,.24); }
.action-card { height: 100%; background: #fff; color: var(--dv-dark); border-radius: 20px; padding: 26px; box-shadow: 0 10px 35px rgba(0,0,0,.08); }
.btn-dv { background: var(--dv-orange); border-color: var(--dv-orange); color: #fff; font-weight: 700; padding: .75rem 1.2rem; border-radius: 12px; }
.btn-dv:hover { background: #d94716; border-color: #d94716; color: #fff; }
.btn-outline-dv { border: 2px solid var(--dv-blue); color: var(--dv-blue); font-weight: 700; border-radius: 12px; padding: .7rem 1.15rem; }
.btn-outline-dv:hover { background: var(--dv-blue); color: #fff; }
footer { background: #123b7a; color: #d9e9ff; }
footer a { color: #fff3ed; text-decoration: none; }
.text-info { color: var(--dv-orange) !important; }

@media (max-width: 767px) {
  .hero { padding: 70px 0 55px; }
  .section { padding: 60px 0; }
  .cta { padding: 32px 22px; }
  .brand-logo { width: min(220px, 58vw); }
}
