/* Client review refinements — homepage only. */

.journey {
  position: relative;
  overflow: visible;
  border-color: rgba(202,221,255,.82);
  background: linear-gradient(110deg,rgba(255,255,255,.96),rgba(239,248,255,.9));
  box-shadow: 0 28px 70px rgba(37,99,235,.18), inset 0 1px 0 #fff;
}
.journey::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg,rgba(255,255,255,.75),transparent 32%,rgba(126,231,255,.16) 65%,transparent);
  pointer-events: none;
}
.journey-item { padding-left: 82px; border-color: rgba(202,221,255,.66); }
.journey-item::after { display:none; }
.journey-item .journey-icon {
  top: 50%;
  left: 20px;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg,#155eef,#59c3ff);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -10px 18px rgba(13,58,170,.18), 0 10px 22px rgba(37,99,235,.26), 0 0 0 6px rgba(51,111,252,.06);
  transform: translateY(-50%);
}
.journey-item .journey-icon::before {
  content: "";
  position: absolute;
  width: 34px;
  height: 14px;
  top: 2px;
  left: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,.36);
  filter: blur(3px);
}
.journey-item:nth-child(2) .journey-icon { background: linear-gradient(145deg,#6435e9,#aa8cff); box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -10px 18px rgba(67,46,255,.2), 0 10px 22px rgba(107,92,246,.27), 0 0 0 6px rgba(107,92,246,.06); }
.journey-item:nth-child(3) .journey-icon { background: linear-gradient(145deg,#0086c9,#22d3ee); box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -10px 18px rgba(8,145,178,.2), 0 10px 22px rgba(8,145,178,.24), 0 0 0 6px rgba(34,211,238,.07); }
.journey-item:nth-child(4) .journey-icon { background: linear-gradient(145deg,#dc6803,#fdb022); box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -10px 18px rgba(180,83,9,.2), 0 10px 22px rgba(247,144,9,.24), 0 0 0 6px rgba(247,144,9,.07); }
.journey-item:nth-child(5) .journey-icon { background: linear-gradient(145deg,#079455,#47cd89); box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -10px 18px rgba(4,120,87,.2), 0 10px 22px rgba(18,183,106,.24), 0 0 0 6px rgba(18,183,106,.07); }
.journey-icon svg { position: relative; z-index: 1; width: 26px; height: 26px; fill: currentColor; }
.journey-icon .icon-shine { fill: rgba(255,255,255,.62); }
.journey-item:first-child .journey-icon .icon-primary { fill:#b9dcff; }
.journey-item:first-child .journey-icon .icon-secondary { fill:#4facff; }

.tab-button { position: relative; overflow: hidden; padding-left: 18px; }
.tab-button::after {
  content: "";
  position: absolute;
  width: 90px;
  height: 90px;
  right: -54px;
  bottom: -58px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(51,111,252,.16),transparent 68%);
  opacity: 0;
  transition: opacity .25s ease;
}
.tab-button.is-active::after { opacity: 1; }
.tab-button b { display: flex; align-items: center; gap: 12px; }
.tab-icon {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg,#155eef,#53b1fd);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -8px 14px rgba(30,64,175,.18), 0 8px 18px rgba(37,99,235,.22);
}
.tab-button:nth-child(2) .tab-icon { background: linear-gradient(145deg,#6938ef,#b692f6); box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -8px 14px rgba(67,46,255,.18), 0 8px 18px rgba(107,92,246,.22); }
.tab-button:nth-child(3) .tab-icon { background: linear-gradient(145deg,#088ab2,#36bffa); box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -8px 14px rgba(8,145,178,.18), 0 8px 18px rgba(8,145,178,.22); }
.tab-icon::before { content:""; position:absolute; top:2px; left:7px; width:28px; height:11px; border-radius:50%; background:rgba(255,255,255,.38); filter:blur(2px); }
.tab-icon svg { position: relative; z-index: 1; width: 23px; height: 23px; fill: currentColor; }
.tab-icon .icon-shine { fill: rgba(255,255,255,.62); }
.output-top { grid-template-columns: minmax(0,1fr); }
.tab-button b { display:block; font-size:22px!important; line-height:1.3!important; letter-spacing:-.025em; }
.tab-button:nth-child(1) b { color:var(--brand-600); }
.tab-button:nth-child(2) b { color:var(--ai-500); }
.tab-button:nth-child(3) b { color:#0891b2; }
.tab-button.is-active:nth-child(1) b { color:var(--brand-700); }
.tab-button.is-active:nth-child(2) b { color:var(--ai-700); }
.tab-button.is-active:nth-child(3) b { color:#0e7490; }
.tab-button > span { display:block; margin-top:8px; }

.workflow-rail { align-items: stretch; }
.workflow-rail::before { display:none; }
.workflow-rail .step-card {
  min-height: 330px;
  overflow: hidden;
  border: 0;
  color: #fff;
  background: linear-gradient(155deg,#175cd3 0%,#2563eb 50%,#5ba6ff 130%);
  box-shadow: 0 20px 42px rgba(37,99,235,.27), inset 0 1px 0 rgba(255,255,255,.28);
}
.workflow-rail .step-card:nth-child(2) { background: linear-gradient(155deg,#5925dc,#7f56d9 56%,#b692f6 135%); box-shadow: 0 20px 42px rgba(107,92,246,.25), inset 0 1px 0 rgba(255,255,255,.28); }
.workflow-rail .step-card:nth-child(3) { background: linear-gradient(155deg,#0878a0,#0891b2 52%,#22d3ee 135%); box-shadow: 0 20px 42px rgba(8,145,178,.24), inset 0 1px 0 rgba(255,255,255,.28); }
.workflow-rail .step-card:nth-child(4) { background: linear-gradient(155deg,#c65f00,#f79009 55%,#fdb022 135%); box-shadow: 0 20px 42px rgba(247,144,9,.24), inset 0 1px 0 rgba(255,255,255,.28); }
.workflow-rail .step-card:nth-child(5) { background: linear-gradient(155deg,#067647,#12b76a 54%,#47cd89 135%); box-shadow: 0 20px 42px rgba(18,183,106,.24), inset 0 1px 0 rgba(255,255,255,.28); }
.step-card::before { content:""; position:absolute; width:170px; height:170px; right:-85px; top:-95px; border:1px solid rgba(255,255,255,.24); border-radius:50%; box-shadow:0 0 0 24px rgba(255,255,255,.045),0 0 0 50px rgba(255,255,255,.025); }
.step-card::after { content:""; position:absolute; right:-15%; bottom:-50%; width:140%; height:66%; background:linear-gradient(115deg,transparent,rgba(255,255,255,.13),transparent 62%); transform:rotate(-12deg); }
.step-icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 54px;
  height: 54px;
  margin-bottom: 32px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,.12));
  box-shadow: inset 0 1px 1px rgba(255,255,255,.58), inset 0 -10px 16px rgba(0,0,0,.07), 0 14px 26px rgba(0,0,0,.14);
  backdrop-filter: blur(6px);
}
.step-icon::before { content:""; position:absolute; top:3px; left:8px; width:38px; height:14px; border-radius:50%; background:rgba(255,255,255,.34); filter:blur(3px); }
.step-icon svg { position:relative; z-index:1; width:28px; height:28px; fill:currentColor; }
.step-icon .icon-shine { fill:rgba(255,255,255,.48); }
.step-icon .icon-primary { fill:#fff; }
.step-icon .icon-secondary { fill:#b9dcff; }
.step-card:nth-child(2) .step-icon .icon-secondary { fill:#ddd6fe; }
.step-card:nth-child(3) .step-icon .icon-secondary { fill:#a5f3fc; }
.step-card:nth-child(4) .step-icon .icon-secondary { fill:#fef0c7; }
.step-card:nth-child(5) .step-icon .icon-secondary { fill:#a6f4c5; }
.step-card h3,.step-card p,.step-card .step-tag { position:relative; z-index:1; color:#fff; }
.step-card p { color:rgba(255,255,255,.78); }
.step-card .step-tag { border:1px solid rgba(255,255,255,.34); background:rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.22); backdrop-filter:blur(6px); }
.workflow-rail .step-card:first-child .step-tag { color:var(--brand-700)!important; background:#fff!important; border-color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 22px rgba(14,44,108,.2); }

.method-section {
  background-color:#07142f;
  background-image:url("assets/method-team-photo.png");
  background-position:center;
  background-size:cover;
}
.method-section::before {
  z-index:0;
  background:linear-gradient(180deg,rgba(3,12,31,.84) 0%,rgba(4,14,35,.75) 38%,rgba(4,14,35,.88) 100%),linear-gradient(90deg,rgba(23,37,84,.38),transparent 38%,transparent 62%,rgba(23,37,84,.4));
  background-size:auto;
}
.method-section > .container { position:relative; z-index:1; }
.method-card { overflow: hidden; border-color: rgba(255,255,255,.18); background: linear-gradient(145deg,rgba(23,37,84,.82),rgba(7,16,37,.8)); box-shadow:0 20px 60px rgba(0,0,0,.32); backdrop-filter:blur(14px) saturate(1.08); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.method-card:hover { transform:translateY(-9px); border-color:rgba(110,150,255,.48); box-shadow:0 28px 65px rgba(0,0,0,.34),0 0 40px rgba(51,111,252,.12); }
.method-card::before { top:auto; right:-62px; bottom:-68px; left:auto; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.25),rgba(51,111,252,.35) 18%,rgba(51,111,252,.08) 55%,transparent 72%); }
.method-card:nth-child(2)::before { background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.24),rgba(148,122,252,.4) 18%,rgba(107,92,246,.08) 55%,transparent 72%); }
.method-card:nth-child(3)::before { background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.24),rgba(34,211,238,.36) 18%,rgba(34,211,238,.07) 55%,transparent 72%); }
.method-card:nth-child(4)::before { background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.24),rgba(52,211,153,.36) 18%,rgba(52,211,153,.07) 55%,transparent 72%); }
.method-card::after { content:""; position:absolute; width:130px; height:32px; right:-12px; top:34px; border-top:1px solid rgba(110,150,255,.48); border-radius:50%; transform:rotate(-16deg); opacity:.75; }
.method-card:nth-child(2)::after { border-color:rgba(148,122,252,.58); }
.method-card:nth-child(3)::after { border-color:rgba(34,211,238,.58); }
.method-card:nth-child(4)::after { border-color:rgba(52,211,153,.58); }
.method-code { position:relative; z-index:2; }
.method-card .method-code { box-shadow:0 9px 22px rgba(37,99,235,.2),inset 0 1px 0 rgba(255,255,255,.14); }
.method-card:nth-child(2) .method-code { box-shadow:0 9px 22px rgba(107,92,246,.22),inset 0 1px 0 rgba(255,255,255,.14); }
.method-card:nth-child(3) .method-code { box-shadow:0 9px 22px rgba(34,211,238,.2),inset 0 1px 0 rgba(255,255,255,.14); }
.method-card:nth-child(4) .method-code { box-shadow:0 9px 22px rgba(52,211,153,.2),inset 0 1px 0 rgba(255,255,255,.14); }
.method-card h3,.method-card p { position:relative; z-index:2; }
.method-links { gap:16px; }
.method-links a { min-height:52px; padding:11px 20px; border-color:rgba(159,192,255,.58); color:#fff; background:linear-gradient(135deg,rgba(51,111,252,.88),rgba(107,92,246,.78)); box-shadow:0 12px 30px rgba(51,111,252,.28),inset 0 1px 0 rgba(255,255,255,.26); transition:transform .2s ease,box-shadow .2s ease; }
.method-links a:nth-child(2) { border-color:rgba(34,211,238,.52); background:linear-gradient(135deg,rgba(8,145,178,.88),rgba(37,99,235,.78)); }
.method-links a:hover {
  border-color:rgba(159,192,255,.58);
  background:linear-gradient(135deg,rgba(51,111,252,.88),rgba(107,92,246,.78));
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(51,111,252,.38),inset 0 1px 0 rgba(255,255,255,.3);
}

.benefit-grid { gap:16px; }
.benefit {
  position: relative;
  display: flex;
  min-height: 142px;
  align-items: center;
  gap:18px;
  overflow:hidden;
  padding:22px;
  border-color:rgba(202,221,255,.9);
  background:linear-gradient(145deg,#fff,#f4f8ff);
  box-shadow:0 14px 32px rgba(37,99,235,.11),inset 0 1px 0 #fff;
}
.benefit::after { content:""; position:absolute; width:100px; height:100px; right:-52px; bottom:-56px; border-radius:50%; background:var(--brand-100); opacity:.74; }
.benefit:nth-child(2)::after { background:var(--ai-100); }
.benefit:nth-child(3)::after { background:var(--warning-50); }
.benefit:nth-child(4)::after { background:var(--success-50); }
.benefit .benefit-icon {
  position:relative;
  z-index:1;
  width:58px;
  height:58px;
  flex:0 0 58px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#155eef,#53b1fd);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.66),inset 0 -10px 18px rgba(30,64,175,.16),0 12px 24px rgba(37,99,235,.24);
}
.benefit:nth-child(2) .benefit-icon { color:#fff; background:linear-gradient(145deg,#6938ef,#b692f6); box-shadow:inset 0 1px 1px rgba(255,255,255,.66),inset 0 -10px 18px rgba(67,46,255,.16),0 12px 24px rgba(107,92,246,.24); }
.benefit:nth-child(3) .benefit-icon { color:#fff; background:linear-gradient(145deg,#dc6803,#fdb022); box-shadow:inset 0 1px 1px rgba(255,255,255,.66),inset 0 -10px 18px rgba(180,83,9,.16),0 12px 24px rgba(247,144,9,.24); }
.benefit:nth-child(4) .benefit-icon { color:#fff; background:linear-gradient(145deg,#079455,#47cd89); box-shadow:inset 0 1px 1px rgba(255,255,255,.66),inset 0 -10px 18px rgba(4,120,87,.16),0 12px 24px rgba(18,183,106,.24); }
.benefit-icon::before { content:""; position:absolute; top:3px; left:8px; width:42px; height:15px; border-radius:50%; background:rgba(255,255,255,.36); filter:blur(3px); }
.benefit-icon svg { position:relative; z-index:1; width:30px; height:30px; fill:currentColor; }
.benefit-icon .icon-shine { fill:rgba(255,255,255,.52); }
.benefit-icon .icon-primary { fill:#fff; }
.benefit-icon .icon-secondary { fill:#b9dcff; }
.benefit:nth-child(2) .benefit-icon .icon-secondary { fill:#ddd6fe; }
.benefit:nth-child(3) .benefit-icon .icon-secondary { fill:#fef0c7; }
.benefit:nth-child(4) .benefit-icon .icon-secondary { fill:#a6f4c5; }
.benefit strong { position:relative; z-index:1; margin:0; color:var(--neutral-900); font-size:18px!important; line-height:1.35!important; }

.audience-icon { border-color:rgba(255,255,255,.72); color:#fff; background:linear-gradient(145deg,#155eef,#53b1fd); box-shadow:inset 0 1px 1px rgba(255,255,255,.62),0 12px 28px rgba(0,0,0,.24),0 0 0 6px rgba(51,111,252,.18); }
.audience-card:nth-child(2) .audience-icon { background:linear-gradient(145deg,#6938ef,#c084fc); box-shadow:inset 0 1px 1px rgba(255,255,255,.62),0 12px 28px rgba(0,0,0,.24),0 0 0 6px rgba(107,92,246,.19); }
.audience-card:nth-child(3) .audience-icon { background:linear-gradient(145deg,#088ab2,#22d3ee); box-shadow:inset 0 1px 1px rgba(255,255,255,.62),0 12px 28px rgba(0,0,0,.24),0 0 0 6px rgba(34,211,238,.18); }
.audience-card:nth-child(4) .audience-icon { background:linear-gradient(145deg,#dc6803,#fdb022); box-shadow:inset 0 1px 1px rgba(255,255,255,.62),0 12px 28px rgba(0,0,0,.24),0 0 0 6px rgba(247,144,9,.2); }
.audience-icon .lucide { width:26px; height:26px; stroke:#fff; stroke-width:2.5; filter:drop-shadow(0 2px 3px rgba(0,0,0,.18)); }

.audience-content { padding-top:92px; }

.cta-panel {
  min-height:400px;
  background-image:linear-gradient(90deg,rgba(7,20,55,.99) 0%,rgba(7,20,55,.96) 34%,rgba(10,27,67,.76) 58%,rgba(10,24,61,.34) 100%),url("assets/cta-growth-visual.png");
  background-position:center;
  background-size:cover;
  box-shadow:0 28px 74px rgba(23,37,84,.24);
}
.cta-panel::before { opacity:.45; }
.cta-panel::after { opacity:.55; }
.cta-copy { text-shadow:0 2px 18px rgba(0,0,0,.32); }
.cta-actions { padding:10px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(7,20,55,.34); box-shadow:0 16px 36px rgba(0,0,0,.18); backdrop-filter:blur(8px); }

/* Motion and micro-interactions. */
.reveal { opacity:0; transform:translate3d(0,40px,0); transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1); will-change:opacity,transform; }
.reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
.journey-item,.journey-icon,.tab-button,.tab-button b,.product-visual,.step-card,.step-icon,.benefit,.benefit-icon,.audience-content,.text-link,.cta-panel { transition-timing-function:cubic-bezier(.2,.8,.2,1); }
.journey-item { transition:background .28s ease; }
.journey-item:hover { background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(228,238,255,.66)); }
.journey-item:hover .journey-icon { transform:translateY(-54%) rotate(-3deg) scale(1.07); box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -10px 18px rgba(13,58,170,.16),0 16px 30px rgba(37,99,235,.3),0 0 0 7px rgba(51,111,252,.08); }
.tab-button { transition:transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease; }
.tab-button:hover { transform:translateX(5px); background:rgba(255,255,255,.78); box-shadow:0 12px 28px rgba(37,99,235,.1); }
.tab-button:hover b { letter-spacing:-.01em; }
.product-visual { transition:box-shadow .35s ease,transform .35s ease; }
.product-visual:hover { transform:translateY(-4px); box-shadow:0 22px 48px rgba(37,99,235,.16); }
.workflow-rail .step-card:hover { transform:translateY(-11px) rotate(-.45deg); }
.workflow-rail .step-card:nth-child(even):hover { transform:translateY(-11px) rotate(.45deg); }
.workflow-rail .step-card:hover .step-icon { transform:translateY(-4px) scale(1.08) rotate(-3deg); box-shadow:inset 0 1px 1px rgba(255,255,255,.65),inset 0 -10px 16px rgba(0,0,0,.05),0 20px 32px rgba(0,0,0,.18); }
.benefit { transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.benefit:hover { transform:translateY(-7px); border-color:var(--brand-200); box-shadow:0 22px 44px rgba(37,99,235,.17),inset 0 1px 0 #fff; }
.benefit:hover .benefit-icon { transform:scale(1.08) rotate(-4deg); }
.audience-card:hover .audience-content { transform:translateY(-7px); }
.audience-card:hover .text-link { gap:12px; }
.cta-panel { transition:transform .35s ease,box-shadow .35s ease,background-position .7s ease; }
.cta-panel:hover { transform:translateY(-5px); box-shadow:0 36px 84px rgba(23,37,84,.31); background-position:51% center; }

@media (max-width:1050px) {
  .journey { overflow-x:auto; overflow-y:visible; }
}
@media (max-width:760px) {
  .journey-item { padding-left:78px; }
  .journey-item .journey-icon { left:18px; }
  .benefit { min-height:126px; }
  .method-links { flex-direction:column; }
}

@media (prefers-reduced-motion:no-preference) {
  .journey-item { opacity:0; animation:review-rise .58s both; }
  .journey-item:nth-child(2) { animation-delay:.08s; }
  .journey-item:nth-child(3) { animation-delay:.16s; }
  .journey-item:nth-child(4) { animation-delay:.24s; }
  .journey-item:nth-child(5) { animation-delay:.32s; }
  .workflow-rail .step-card:nth-child(2),.method-diagram .method-card:nth-child(2),.audience-grid .audience-card:nth-child(2) { transition-delay:.07s; }
  .workflow-rail .step-card:nth-child(3),.method-diagram .method-card:nth-child(3),.audience-grid .audience-card:nth-child(3) { transition-delay:.14s; }
  .workflow-rail .step-card:nth-child(4),.method-diagram .method-card:nth-child(4),.audience-grid .audience-card:nth-child(4) { transition-delay:.21s; }
  .workflow-rail .step-card:nth-child(5) { transition-delay:.28s; }
  .evidence-copy.is-visible .benefit { opacity:0; animation:review-rise .58s both; }
  .evidence-copy.is-visible .benefit:nth-child(2) { animation-delay:.08s; }
  .evidence-copy.is-visible .benefit:nth-child(3) { animation-delay:.16s; }
  .evidence-copy.is-visible .benefit:nth-child(4) { animation-delay:.24s; }
  .method-card::after { animation:method-orbit 5.4s ease-in-out infinite alternate; }
  .method-card:nth-child(2)::after { animation-delay:.6s; }
  .method-card:nth-child(3)::after { animation-delay:1.2s; }
  .method-card:nth-child(4)::after { animation-delay:1.8s; }
  .cta-panel::after { animation:cta-ambient 7s ease-in-out infinite alternate; }
  @keyframes review-rise { from { opacity:0; transform:translateY(24px) scale(.98); } to { opacity:1; transform:none; } }
  @keyframes method-orbit { from { transform:translateX(-6px) rotate(-16deg); opacity:.35; } to { transform:translateX(10px) rotate(-10deg); opacity:.9; } }
  @keyframes cta-ambient { from { transform:translate3d(-10px,0,0) scale(.96); } to { transform:translate3d(18px,10px,0) scale(1.08); } }
}

@media (prefers-reduced-motion:reduce) {
  .reveal,.reveal.is-visible { opacity:1; transform:none; transition:none; will-change:auto; }
}
