/* =========================================================
   V97 — UX JOURNEY LAYER
   Additive only: no pricing / backend / 3D geometry changes.
   ========================================================= */

.jv96-shell{
  grid-column:1/-1;
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(8,67,72,.12);
  border-radius:22px;
  background:rgba(247,251,250,.92);
  padding:18px 20px;
  color:#084348;
  box-shadow:0 12px 32px rgba(7,72,76,.055);
}
.jv96-eyebrow{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.14em;color:#5b7c7d;text-transform:uppercase}
.jv96-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative;margin:0 0 15px}
.jv96-step{position:relative;display:flex;align-items:center;gap:8px;min-width:0;color:#6e8586;font-size:12px;font-weight:600;line-height:1.3;transition:color .2s ease}
.jv96-step::after{content:"";height:1px;background:#cfdfde;position:absolute;inset-inline-start:31px;inset-inline-end:-9px;top:13px;z-index:0}
.jv96-step:last-child::after{display:none}
.jv96-dot{width:26px;height:26px;border-radius:999px;border:1px solid #a9c8c6;background:#fff;display:grid;place-items:center;flex:0 0 26px;position:relative;z-index:1;font-size:11px;font-weight:700;color:#557778;transition:all .2s ease}
.jv96-step.is-done,.jv96-step.is-current{color:#086b70}
.jv96-step.is-done .jv96-dot{background:#e1f1ef;border-color:#74aaa7;color:#086b70}
.jv96-step.is-current .jv96-dot{background:#086b70;border-color:#086b70;color:#fff;box-shadow:0 0 0 5px rgba(8,107,112,.09)}
.jv96-step.is-done::after{background:#82b6b3}
.jv96-current{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-top:1px solid rgba(8,67,72,.08);padding-top:14px}
.jv96-current-copy{min-width:0}
.jv96-stage{display:block;font-size:12px;font-weight:700;color:#557778;margin-bottom:4px}
.jv96-prompt{margin:0;font-size:17px;font-weight:700;line-height:1.45;color:#084348}
.jv96-trust{margin:4px 0 0;font-size:12px;line-height:1.65;color:#5c7778}
.jv96-progress-number{flex:0 0 auto;border:1px solid #b8d1cf;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;color:#086b70;background:#fff;white-space:nowrap}

.jv96-resume{margin-top:12px;padding:12px 14px;border-radius:14px;background:#e9f4f2;border:1px solid #c3dcda;display:flex;align-items:center;justify-content:space-between;gap:12px}
.jv96-resume p{margin:0!important;font-size:13px!important;line-height:1.6!important;color:#315f62!important}
.jv96-resume-actions{display:flex;gap:7px;flex:0 0 auto}
.jv96-resume button{border:1px solid #a8ccca;border-radius:10px;background:#fff;color:#084348;font:inherit;font-size:12px;font-weight:700;padding:8px 10px;cursor:pointer}
.jv96-resume button:first-child{background:#086b70;color:#fff;border-color:#086b70}

.jv96-next-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:18px;padding:15px 18px;background:#084348;color:#fff;box-sizing:border-box}
.jv96-next-copy strong{display:block;font-size:15px;line-height:1.45}.jv96-next-copy span{display:block;margin-top:3px;font-size:12px;line-height:1.55;opacity:.78}
.jv96-cta{border:0;border-radius:12px;background:#fff;color:#086b70;font:inherit;font-size:13px;font-weight:700;min-height:42px;padding:10px 15px;cursor:pointer;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease}
.jv96-cta:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(0,0,0,.12)}
.jv96-cta:focus-visible{outline:3px solid #8ed5d0;outline-offset:2px}

.jv96-price-feedback{min-height:20px;margin:5px 0 2px;font-size:12px;line-height:1.55;color:#2c7374;opacity:0;transform:translateY(-3px);transition:opacity .18s ease,transform .18s ease}
.jv96-price-feedback.is-visible{opacity:1;transform:none}

.jv96-3d-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border:1px solid rgba(8,107,112,.16);border-radius:14px;background:#f2f8f7;color:#315f62;font-size:12px;line-height:1.75}
.jv96-3d-note i{font-style:normal;width:20px;height:20px;border-radius:999px;background:#d9ece9;color:#086b70;display:grid;place-items:center;flex:0 0 20px;font-size:12px;font-weight:800;margin-top:1px}
.jv96-3d-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px 18px;border-radius:18px;background:#edf6f4;border:1px solid #c8dfdc;color:#084348}
.jv96-3d-cta strong{display:block;font-size:15px;line-height:1.5}.jv96-3d-cta span{display:block;margin-top:3px;font-size:12px;line-height:1.6;color:#5a7677}
.jv96-3d-cta .jv96-cta{background:#086b70;color:#fff}

.jv96-approval{margin:14px 0 2px;padding:14px;border:1px solid #bcd9d5;border-radius:15px;background:#f0f8f6;color:#084348}
.jv96-approval[hidden]{display:none!important}
.jv96-approval-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.jv96-approval-head strong{font-size:14px;line-height:1.4}.jv96-quote-no{font-size:11px;font-weight:700;border-radius:999px;background:#fff;border:1px solid #c9dddb;padding:5px 8px;white-space:nowrap}
.jv96-approval-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.jv96-approval-step{position:relative;padding-top:22px;font-size:10px;line-height:1.45;color:#718889;text-align:center}
.jv96-approval-step::before{content:"";position:absolute;top:6px;left:50%;width:9px;height:9px;border-radius:999px;background:#c5d8d6;transform:translateX(-50%);z-index:2}
.jv96-approval-step::after{content:"";position:absolute;top:10px;left:-54%;width:108%;height:1px;background:#cfdedc;z-index:1}
.jv96-approval-step:first-child::after{display:none}
.jv96-approval-step.is-done,.jv96-approval-step.is-current{color:#086b70;font-weight:700}
.jv96-approval-step.is-done::before{content:"✓";width:17px;height:17px;top:2px;background:#086b70;color:#fff;display:grid;place-items:center;font-size:9px}
.jv96-approval-step.is-current::before{background:#fff;border:3px solid #16868a;box-sizing:border-box}
.jv96-approval-step.is-done + .jv96-approval-step::after{background:#76aba8}

.jv96-reveal{opacity:0;transform:translateY(9px);transition:opacity .35s ease,transform .35s ease}.jv96-reveal.is-in{opacity:1;transform:none}

@media(min-width:981px){
  .hero-shell > .jv96-shell,.hero-shell > .jv96-next-card{grid-column:2/4!important}
}

@media(max-width:980px){
  .jv96-shell,.jv96-next-card{width:calc(100% - 32px)!important;margin-inline:16px!important}
  .jv96-shell{padding:16px;border-radius:18px}
  .jv96-track{gap:0;margin-bottom:13px}
  .jv96-step{justify-content:center}
  .jv96-step span{display:none}
  .jv96-step::after{inset-inline-start:50%;inset-inline-end:-50%;top:12px}
  .jv96-dot{width:24px;height:24px;flex-basis:24px}
  .jv96-current{gap:10px}.jv96-prompt{font-size:16px}.jv96-progress-number{padding:5px 8px}
  .jv96-next-card,.jv96-3d-cta{flex-direction:column;align-items:stretch;text-align:start}
  .jv96-next-card .jv96-cta,.jv96-3d-cta .jv96-cta{width:100%;white-space:normal}
  .jv96-resume{flex-direction:column;align-items:stretch}.jv96-resume-actions{width:100%}.jv96-resume-actions button{flex:1}
}

@media(max-width:520px){
  .jv96-shell,.jv96-next-card{width:calc(100% - 24px)!important;margin-inline:12px!important}
  .jv96-current{display:block}.jv96-progress-number{display:inline-block;margin-top:10px}
  .jv96-approval-steps{gap:3px}.jv96-approval-step{font-size:9px}
}

@media(prefers-reduced-motion:reduce){.jv96-reveal,.jv96-price-feedback,.jv96-cta,.jv96-dot{transition:none!important}}


/* V97: compact the four-stage journey slightly on phones. */
@media(max-width:560px){
  .jv96-shell{padding:14px!important}
  .jv96-track{margin-bottom:11px!important}
  .jv96-current{padding-top:12px!important}
}
