/* =============================================================
   NOSSA JORNADA — timeline migrada da HealBridge, padronizada na
   identidade do Sophos (accent VERDE #1DB954). Tokens escopados em
   .journey; os nomes --orange* foram mantidos por herança, mas os
   valores agora são VERDES.
   ============================================================= */
.journey {
  /* accent verde Sophos (nomes --orange* legados, valores verdes) */
  --orange:#1DB954; --orange-hi:#25d066; --orange-glow:rgba(29,185,84,.12);
  --cool-1:rgba(160,180,210,.06); --cool-2:rgba(160,180,210,.12);
  --surface-1:rgba(255,255,255,.02); --surface-2:rgba(255,255,255,.04);
  --radius-lg:16px; --radius-xl:20px;
  --shadow-md:0 8px 24px -8px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.04) inset;
  --shadow-lg:0 24px 60px -20px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.05) inset;
  --circ:cubic-bezier(.33,1,.68,1); --smooth:cubic-bezier(.4,0,.2,1);
  --mono:'JetBrains Mono','SF Mono','Fira Code',monospace;
  --display:'Space Grotesk','Inter',sans-serif;
  --gap-grid:clamp(1.5rem,3.5vw,2.75rem);
  --s0:#0a0c10;
  --t0:#edf0f5; --t1:#b4bac7; --t2:#7c8494; --t3:#4d5567;

  /* layout da seção (substitui .sec/.wrap da HealBridge) */
  padding:clamp(4rem,9vh,7rem) 0;
  background:
    radial-gradient(ellipse 50% 40% at 20% 20%,rgba(29,185,84,.025),transparent),
    radial-gradient(ellipse 40% 35% at 85% 80%,rgba(29,185,84,.015),transparent),
    #000;
}
.journey .wrap{ max-width:1200px; margin:0 auto; padding:0 clamp(1.2rem,4vw,2rem); }

@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

.journey-list{
  display:flex;flex-direction:column;
  gap:var(--gap-grid);
  margin-top:4rem;
  position:relative;
}
.journey-list::before{
  content:'';position:absolute;
  left:100px;top:1.5rem;bottom:1.5rem;
  width:1px;
  background:linear-gradient(180deg,
    transparent,
    var(--cool-2) 5%,
    var(--orange-glow) 50%,
    var(--cool-2) 95%,
    transparent);
}
@media(max-width:880px){
  .journey-list::before{
    left:12px;
    background:linear-gradient(180deg,transparent,var(--orange-glow) 8%,var(--orange-glow) 92%,transparent);
  }
  .journey-item{
    padding-left:2.6rem;
    position:relative;
  }
  .journey-item::after{
    content:'';position:absolute;
    left:5px;top:2.4rem;
    width:14px;height:14px;
    border-radius:50%;
    background:var(--orange);
    box-shadow:0 0 12px var(--orange),0 0 24px rgba(29,185,84,.3);
    border:2px solid var(--s0);
    z-index:2;
  }
}

.journey-item{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:3rem;
  background:var(--surface-1);
  border:1px solid var(--cool-1);
  border-radius:var(--radius-xl);
  padding:2.4rem 2.6rem;
  backdrop-filter:blur(40px) saturate(1.2);
  -webkit-backdrop-filter:blur(40px) saturate(1.2);
  box-shadow:var(--shadow-md);
  position:relative;overflow:hidden;
  transition:all .6s var(--circ);
}
@media(max-width:880px){
  .journey-item{grid-template-columns:1fr;gap:1.2rem;padding:1.8rem}
}
.journey-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--orange),transparent);
  box-shadow:0 2px 12px rgba(29,185,84,.2);
  transform:scaleX(0);transform-origin:left;
  transition:transform .9s var(--circ);
}
.journey-item:hover{
  transform:translateY(-4px);
  border-color:var(--cool-2);
  background:var(--surface-2);
  box-shadow:var(--shadow-lg);
}
.journey-item:hover::before{transform:scaleX(1)}

.journey-meta{
  display:flex;flex-direction:column;gap:.6rem;
  position:relative;
}
.journey-meta-head{
  display:flex;align-items:center;gap:.65rem;
  margin-bottom:.4rem;
}
.journey-num{
  font-family:var(--mono);
  font-size:.62rem;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--orange);
  padding:.25rem .55rem;
  background:rgba(29,185,84,.06);
  border:1px solid rgba(29,185,84,.18);
  border-radius:6px;
  line-height:1;
}
.journey-icon{
  font-size:1rem;
  color:var(--orange);
  opacity:.7;
  transition:all .4s var(--smooth);
}
.journey-item:hover .journey-icon{
  opacity:1;
  transform:scale(1.1);
}
@media(max-width:880px){
  .journey-meta-head{margin-bottom:.2rem}
}
.journey-meta::after{
  content:'';position:absolute;
  right:-3rem;top:.6rem;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 16px var(--orange),0 0 32px rgba(29,185,84,.3);
  z-index:2;
}
@media(max-width:880px){.journey-meta::after{display:none}}

.journey-year{
  font-family:var(--display);
  font-size:2.8rem;font-weight:700;
  color:var(--orange);
  line-height:1;letter-spacing:-.03em;
}
.journey-tag{
  font-family:var(--mono);
  font-size:.55rem;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--t3);
}

.journey-body{position:relative;z-index:1}

.journey-img{
  aspect-ratio:16/9;
  border-radius:var(--radius-lg);
  overflow:hidden;
  margin-bottom:1.5rem;
  background:linear-gradient(135deg,var(--surface-2),var(--surface-1));
  border:1px dashed var(--cool-2);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  transition:all .4s var(--smooth);
}
.journey-img::after{
  content:'';
  position:absolute;top:0;right:0;
  width:48px;height:2px;
  background:linear-gradient(90deg,transparent,var(--orange));
  border-top-right-radius:var(--radius-lg);
  opacity:.5;
}
.journey-item:hover .journey-img{
  border-color:rgba(29,185,84,.3);
  background:linear-gradient(135deg,var(--surface-2),rgba(29,185,84,.04));
}
.journey-img img{
  width:100%;height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  background:linear-gradient(135deg,var(--surface-2),var(--surface-1));
}

.journey-body h3{
  font-family:var(--display);
  font-size:clamp(1.3rem,2.2vw,1.7rem);
  font-weight:600;letter-spacing:-.02em;
  color:var(--t0);margin-bottom:1rem;line-height:1.25;
}
.journey-body p{
  color:var(--t2);font-size:.92rem;line-height:1.85;
  margin-bottom:.8rem;
}
.journey-body p:last-child{margin-bottom:0}
.journey-body strong{color:var(--orange);font-weight:600}
.journey-body em{color:var(--t1);font-style:italic}

/* Marco "Hoje" — destaque amplificado */
.journey-item.today .journey-year{
  background:linear-gradient(135deg,var(--orange),var(--orange-hi));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  font-size:3.2rem;
}
.journey-item.today{
  border-color:rgba(29,185,84,.3);
  box-shadow:var(--shadow-md), 0 0 28px rgba(29,185,84,.08);
}
.journey-item.today .journey-num{
  background:var(--orange);
  color:#000;
  border-color:var(--orange);
  box-shadow:0 4px 12px rgba(29,185,84,.3);
}
.journey-item.today .journey-icon{
  opacity:1;
  font-size:1.15rem;
}
.journey-item.today .journey-meta::after{
  animation:pulseDot 2s ease-in-out infinite;
  width:18px;height:18px;
  box-shadow:0 0 24px var(--orange),0 0 48px rgba(29,185,84,.4);
}
@media(max-width:880px){
  .journey-item.today::after{
    width:18px;height:18px;
    box-shadow:0 0 16px var(--orange),0 0 32px rgba(29,185,84,.4);
  }
}
