:root{
  --pj-mid: #EEF1F5;
  --pj-surface:#FFFFFF;
  --pj-navy:#0B1220;
  --pj-muted:#475569;

  --pj-primary: #FF6B35;
  --pj-primarySoft: #FF8C5A;

  --pj-radius: 22px;
  --pj-border: 1px solid rgba(11,18,32,.10);
  --pj-shadow: 0 18px 50px rgba(2,6,23,.10);
  --pj-shadowLg: 0 24px 70px rgba(255,107,53,.15);

  --pj-container: min(1180px, calc(100% - 32px));
}

.processJourney{
  background:
    radial-gradient(55% 55% at 20% 0%, rgba(255,107,53,.12), rgba(255,107,53,0) 60%),
    radial-gradient(40% 40% at 90% 15%, rgba(11,18,32,.06), rgba(11,18,32,0) 55%),
    linear-gradient(180deg, var(--pj-mid), #FFFFFF);
  padding: clamp(48px, 6vw, 96px) 0;
  color: var(--pj-navy);
  position: relative;
  overflow: hidden;
}

.processJourney__wrap{ width: var(--pj-container); margin-inline:auto; }

.processJourney__head{ max-width: 860px; margin-bottom: clamp(18px, 3vw, 34px); }

.processJourney__kicker{
  margin:0 0 10px;
  display:inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  border: var(--pj-border);
  background: rgba(255,255,255,.65);
  color: rgba(11,18,32,.78);
  font-size: 13px;
}

.processJourney__title{
  margin:0 0 10px;
  font-size: clamp(24px, 3.2vw, 44px);
  line-height: 1.12;
  text-wrap: balance;
}

.processJourney__lead{
  margin:0;
  color: rgba(11,18,32,.70);
  font-size: clamp(14px, 1.15vw, 17px);
  line-height: 1.75;
  max-width: 72ch;
}

/* picker */
.processJourney__picker{
  margin-top: 16px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

.processJourney__chip{
  border: 2px solid rgba(255,107,53,.15);
  background: rgba(255,255,255,.90);
  color: rgba(11,18,32,.85);
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 13px;
  cursor: pointer;
  transition: all 220ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.processJourney__chip::before{
  content:"";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,107,53,.08) 0%, rgba(255,140,90,.04) 100%);
  opacity: 0;
  transition: opacity 220ms ease;
}
.processJourney__chip:hover{
  transform: translateY(-3px);
  border-color: rgba(255,107,53,.35);
  box-shadow: 0 12px 32px rgba(255,107,53,.12);
}
.processJourney__chip.is-active{
  background: linear-gradient(180deg, rgba(255,140,90,.25), rgba(255,107,53,.12));
  border-color: rgba(255,107,53,.55);
  color: var(--pj-primary);
  box-shadow: 0 14px 40px rgba(255,107,53,.16);
}

/* stage */
.processJourney__stage{
  margin-top: 18px;
  border-radius: var(--pj-radius);
  border: 2px solid rgba(255,107,53,.12);
  background: rgba(255,255,255,.88);
  box-shadow: var(--pj-shadowLg);
  padding: 24px;
  overflow: hidden;
  position: relative;
  transition: all 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.processJourney__stage::before{
  content:"";
  position:absolute;
  inset:-45%;
  background:
    radial-gradient(closest-side at 28% 30%, rgba(255,107,53,.14), rgba(255,107,53,0) 60%),
    radial-gradient(closest-side at 78% 60%, rgba(11,18,32,.08), rgba(11,18,32,0) 62%);
  opacity:.6;
  pointer-events:none;
  transition: opacity 380ms ease;
}

.processJourney__stage:hover::before{
  opacity: .8;
}

.processJourney__stageTop{
  position:relative;
  display:flex;
  gap: 14px;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}

.processJourney__badge{
  display:inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  border: 2px solid rgba(255,107,53,.25);
  background: linear-gradient(135deg, rgba(255,140,90,.12), rgba(255,107,53,.08));
  color: var(--pj-primary);
  font-weight: 900;
  font-size: 13px;
  margin-bottom: 12px;
  box-shadow: 0 8px 20px rgba(255,107,53,.10);
  transition: all 220ms ease;
}

.processJourney__stageH{
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
}

.processJourney__risk{
  min-width: 260px;
  max-width: 360px;
  border-radius: 18px;
  border: 2px solid rgba(255,107,53,.15);
  background: linear-gradient(135deg, rgba(255,140,90,.08), rgba(255,107,53,.04));
  padding: 16px;
  box-shadow: 0 12px 32px rgba(255,107,53,.08);
  transition: all 280ms ease;
}
.processJourney__risk:hover{
  border-color: rgba(255,107,53,.28);
  box-shadow: 0 16px 40px rgba(255,107,53,.12);
}
.processJourney__riskTitle{
  margin:0 0 8px;
  font-weight: 950;
  font-size: 13px;
  color: var(--pj-primary);
}
.processJourney__riskText{
  margin:0;
  color: rgba(11,18,32,.70);
  font-size: 13px;
  line-height: 1.6;
}

/* rail */
.processJourney__rail{
  position:relative;
  height: 10px;
  border-radius: 999px;
  margin: 18px 0 14px;
  background: rgba(11,18,32,.08);
  overflow:hidden;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.05);
}
.processJourney__railFill{
  position:absolute;
  inset:0 auto 0 0;
  width: 25%;
  background: linear-gradient(90deg, rgba(255,107,53,.40), var(--pj-primary));
  border-radius: 999px;
  transition: width 450ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 0 16px rgba(255,107,53,.25);
}

/* steps */
.processJourney__steps{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  position: relative;
}

.processJourney__stepBtn{
  width: 100%;
  text-align: start;
  border-radius: 18px;
  border: 2px solid rgba(255,107,53,.12);
  background: rgba(255,255,255,.88);
  padding: 14px;
  cursor: pointer;
  display:flex;
  gap: 10px;
  align-items:flex-start;
  transition: all 280ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}

.processJourney__stepBtn::before{
  content:"";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,107,53,.06) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 280ms ease;
}

.processJourney__stepBtn:hover{
  transform: translateY(-4px);
  border-color: rgba(255,107,53,.28);
  box-shadow: 0 16px 48px rgba(255,107,53,.14);
}

.processJourney__stepBtn:hover::before{
  opacity: 1;
}

.processJourney__step.is-active .processJourney__stepBtn{
  border-color: var(--pj-primary);
  background: linear-gradient(135deg, rgba(255,140,90,.15), rgba(255,107,53,.08));
  box-shadow: 0 20px 56px rgba(255,107,53,.18);
}

.processJourney__no{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,140,90,.15), rgba(255,107,53,.08));
  border: 2px solid rgba(255,107,53,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 950;
  color: var(--pj-primary);
  font-size: 13px;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(255,107,53,.10);
  transition: all 220ms ease;
}

.processJourney__step.is-active .processJourney__no{
  background: linear-gradient(135deg, var(--pj-primarySoft), var(--pj-primary));
  color: white;
  box-shadow: 0 12px 32px rgba(255,107,53,.20);
  transform: scale(1.1);
}

.processJourney__meta strong{
  display:block;
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--pj-navy);
  transition: color 220ms ease;
}
.processJourney__meta span{
  display:block;
  color: rgba(11,18,32,.70);
  font-size: 13px;
  line-height: 1.6;
  transition: color 220ms ease;
}

.processJourney__step.is-active .processJourney__meta strong{
  color: var(--pj-primary);
}

/* CTA bottom */
.processJourney__cta{
  margin-top: 18px;
  border-radius: 18px;
  border: 2px solid rgba(255,107,53,.15);
  background: linear-gradient(135deg, rgba(255,140,90,.08), rgba(255,107,53,.04));
  padding: 18px;
  display:flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  align-items:center;
  box-shadow: 0 12px 32px rgba(255,107,53,.10);
  transition: all 320ms ease;
}
.processJourney__cta:hover{
  border-color: rgba(255,107,53,.28);
  box-shadow: 0 16px 48px rgba(255,107,53,.14);
}
.processJourney__ctaText strong{
  display:block;
  color: var(--pj-primary);
  margin-bottom: 4px;
  font-weight: 950;
}
.processJourney__ctaText span{
  display:block;
  color: rgba(11,18,32,.70);
  font-size: 13px;
  line-height: 1.6;
}

.processJourney__ctaActions{ display:flex; gap: 10px; flex-wrap:wrap; }

.pjBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 14px;
  text-decoration:none;
  font-weight: 950;
  font-size: 13px;
  transition: all 220ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.pjBtn:active{ transform: scale(.92); }

.pjBtn--primary{
  color: #ffffff;
  background: linear-gradient(180deg, var(--pj-primarySoft), var(--pj-primary));
  box-shadow: 0 14px 40px rgba(255,107,53,.20);
  border: none;
}
.pjBtn--primary:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 56px rgba(255,107,53,.28);
}

.pjBtn--ghost{
  color: var(--pj-primary);
  background: rgba(255,107,53,.08);
  border: 2px solid rgba(255,107,53,.20);
  transition: all 220ms ease;
}
.pjBtn--ghost:hover{
  border-color: var(--pj-primary);
  background: rgba(255,107,53,.12);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(255,107,53,.12);
}

/* responsive */
@media (max-width: 980px){
  .processJourney__steps{ grid-template-columns: 1fr; }
  .processJourney__risk{ max-width: 100%; }
}

/* reveal */
[data-pj-reveal]{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 580ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 580ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: opacity, transform;
}
.is-pj-revealed[data-pj-reveal]{
  opacity: 1;
  transform: translateY(0);
}

[data-pj-stagger]{
  transition-delay: calc(var(--pj-stagger, 0) * 1ms);
}

/* Scroll-based step activation animation */
.processJourney__step.is-active .processJourney__stepBtn {
  animation: pjStepActivate 380ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes pjStepActivate {
  from {
    transform: scale(0.98) rotateX(-6deg);
    opacity: 0.9;
  }
  to {
    transform: scale(1) rotateX(0);
    opacity: 1;
  }
}

/* Enhanced progress fill glow on scroll activation */
.processJourney__railFill {
  box-shadow: 0 0 16px rgba(255,107,53,.25), inset 0 -2px 8px rgba(255,255,255,.20);
}

.processJourney__railFill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 0%, rgba(255,255,255,.40) 0%, transparent 70%);
  border-radius: 999px;
  opacity: 0;
  animation: pjRailGlow 600ms ease-out forwards;
}

@keyframes pjRailGlow {
  0% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(255,107,53,.40);
  }
  100% {
    opacity: 0;
    box-shadow: 0 0 24px 8px rgba(255,107,53,0);
  }
}

/* Enhanced step number pulse on activation via scroll */
.processJourney__step.is-active .processJourney__no::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: radial-gradient(circle, rgba(255,255,255,.40) 0%, transparent 70%);
  animation: pjBadgePulse 600ms ease-out forwards;
}

@keyframes pjBadgePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255,107,53,.60);
    transform: scale(1);
  }
  100% {
    box-shadow: 0 0 0 12px rgba(255,107,53,0);
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  [data-pj-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
  .processJourney__railFill{ transition:none !important; }
  .processJourney__stepBtn, .pjBtn, .processJourney__chip{ transition:none !important; }
  .processJourney__step.is-active .processJourney__stepBtn { animation: none !important; }
  .processJourney__railFill::after { animation: none !important; }
  .processJourney__step.is-active .processJourney__no::after { animation: none !important; }
}
