/* Focused solution landing pages */
.solution-page { position:relative; z-index:1; }
.solution-nav .nav-links { gap:1.15rem; }
.solution-nav .nav-links a { font-size:.88rem; }
.solution-hero {
  padding:4.2rem 0 4.8rem;
  background:
    radial-gradient(900px 520px at 10% 5%, rgba(99,102,241,.22), transparent 58%),
    radial-gradient(760px 500px at 92% 15%, rgba(20,184,166,.15), transparent 60%),
    linear-gradient(180deg,#eef0ff 0%,#f6f7fc 82%);
}
.solution-hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr); gap:4rem; align-items:center; }
.solution-breadcrumb { display:flex; align-items:center; gap:.45rem; margin-bottom:1.4rem; color:var(--ink-muted); font-size:.85rem; font-weight:600; }
.solution-breadcrumb a:hover { color:var(--indigo-deep); }
.solution-kicker { display:inline-flex; align-items:center; gap:.55rem; padding:.42rem .8rem; margin-bottom:1.2rem; color:#4338ca; background:rgba(255,255,255,.75); border:1px solid rgba(99,102,241,.18); border-radius:999px; font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.solution-kicker::before { content:""; width:8px; height:8px; background:var(--teal); border-radius:50%; box-shadow:0 0 0 5px rgba(20,184,166,.13); }
.solution-hero h1 { max-width:760px; font-family:var(--display); font-size:clamp(2.8rem,5.6vw,5.15rem); line-height:.98; letter-spacing:-.052em; }
.solution-hero h1 em { display:block; color:var(--indigo-deep); font-style:normal; }
.solution-lead { max-width:690px; margin:1.45rem 0 1.7rem; color:var(--ink-soft); font-size:clamp(1.06rem,1.5vw,1.24rem); line-height:1.65; }
.solution-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.solution-proof { display:flex; flex-wrap:wrap; gap:.65rem 1.1rem; margin-top:1.6rem; color:var(--ink-soft); font-size:.88rem; font-weight:600; }
.solution-proof span::before { content:"✓"; margin-right:.38rem; color:#0f9f8f; font-weight:800; }

.solution-video-card { position:relative; padding:.7rem; background:#fff; border:1px solid rgba(99,102,241,.15); border-radius:28px; box-shadow:0 32px 80px -32px rgba(15,23,42,.36); transform:rotate(1deg); }
.solution-video-card::before { content:""; position:absolute; inset:15% -18px -18px 15%; z-index:-1; background:linear-gradient(145deg,rgba(94,234,212,.6),rgba(99,102,241,.44)); border-radius:28px; filter:blur(1px); }
.solution-video-card video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#0b1026; border-radius:20px; }
.solution-video-label { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem .65rem .3rem; }
.solution-video-label strong { font-size:.98rem; }
.solution-video-label span { color:var(--ink-muted); font-size:.78rem; }

.intent-strip { background:#0b1026; color:#fff; }
.intent-strip-inner { display:grid; grid-template-columns:repeat(3,1fr); }
.intent-item { padding:1.45rem 1.7rem; border-right:1px solid rgba(255,255,255,.1); }
.intent-item:last-child { border:0; }
.intent-item small { display:block; margin-bottom:.3rem; color:var(--teal-soft); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.intent-item strong { font-size:1.03rem; }

.solution-section { padding:6rem 0; }
.solution-section.alt { background:#fff; }
.solution-section.dark { color:#fff; background:#0b1026; }
.solution-heading { max-width:760px; margin-bottom:2.5rem; }
.solution-heading.center { margin-inline:auto; text-align:center; }
.solution-heading .eyebrow { display:block; margin-bottom:.7rem; color:var(--indigo-deep); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dark .solution-heading .eyebrow { color:var(--teal-soft); }
.solution-heading h2 { font-family:var(--display); font-size:clamp(2.1rem,4vw,3.55rem); line-height:1.05; letter-spacing:-.035em; }
.solution-heading p { margin-top:1rem; color:var(--ink-soft); font-size:1.08rem; }
.dark .solution-heading p { color:#b7c0d5; }

.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.benefit-card { min-height:260px; padding:1.7rem; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow-soft); }
.benefit-card.featured { color:#fff; background:linear-gradient(145deg,#171d3f,#262a6f); border:0; }
.benefit-icon { display:grid; width:44px; height:44px; place-items:center; margin-bottom:1.2rem; color:#4338ca; background:#eef0ff; border-radius:13px; font-size:1.15rem; font-weight:800; }
.featured .benefit-icon { color:#fff; background:rgba(255,255,255,.12); }
.benefit-card h3 { margin-bottom:.65rem; font-size:1.25rem; line-height:1.2; }
.benefit-card p { color:var(--ink-soft); }
.featured p { color:#cbd2e6; }

.journey { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; counter-reset:journey; }
.journey article { position:relative; padding:1.45rem; background:#f7f8fd; border:1px solid var(--line); border-radius:18px; counter-increment:journey; }
.journey article::before { content:"0" counter(journey); display:block; margin-bottom:1.5rem; color:var(--indigo); font-family:var(--display); font-size:1.2rem; font-weight:700; }
.journey article:not(:last-child)::after { content:"→"; position:absolute; z-index:2; top:50%; right:-.72rem; display:grid; width:24px; height:24px; place-items:center; color:var(--indigo); background:#fff; border:1px solid rgba(99,102,241,.2); border-radius:50%; font-size:.8rem; }
.journey h3 { margin-bottom:.5rem; font-size:1.06rem; }
.journey p { color:var(--ink-soft); font-size:.92rem; }

.video-story-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr); gap:3rem; align-items:start; }
.video-story-grid .solution-video-card { transform:none; }
.transcript-card { padding:1.7rem; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow-soft); }
.transcript-card h2 { margin-bottom:.45rem; font-size:1.35rem; }
.transcript-card > p { color:var(--ink-muted); font-size:.9rem; }
.transcript-card details { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.transcript-card summary { font-weight:700; cursor:pointer; }
.transcript-card details p { margin-top:.8rem; color:var(--ink-soft); line-height:1.7; }

.use-case-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.use-case { display:grid; grid-template-columns:46px 1fr; gap:1rem; padding:1.4rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:18px; }
.use-case span { display:grid; width:42px; height:42px; place-items:center; color:var(--teal-soft); background:rgba(94,234,212,.1); border-radius:12px; font-weight:800; }
.use-case h3 { margin-bottom:.3rem; font-size:1.05rem; }
.use-case p { color:#b7c0d5; font-size:.92rem; }

.comparison { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow-soft); }
.comparison-row { display:grid; grid-template-columns:1.15fr 1fr 1fr; }
.comparison-row > * { padding:1.05rem 1.2rem; border-bottom:1px solid var(--line); }
.comparison-row:last-child > * { border-bottom:0; }
.comparison-row.header { color:#fff; background:#151a38; font-weight:700; }
.comparison-row > *:not(:last-child) { border-right:1px solid var(--line); }
.comparison-row strong { font-size:.92rem; }
.comparison-row span { color:var(--ink-soft); font-size:.9rem; }

.solution-faq { max-width:860px; margin-inline:auto; }
.solution-faq details { padding:1.3rem 0; border-bottom:1px solid var(--line); }
.solution-faq summary { display:flex; justify-content:space-between; gap:1rem; font-size:1.08rem; font-weight:700; cursor:pointer; list-style:none; }
.solution-faq summary::after { content:"+"; color:var(--indigo); font-size:1.35rem; }
.solution-faq details[open] summary::after { content:"−"; }
.solution-faq p { max-width:760px; margin-top:.7rem; color:var(--ink-soft); }

.solution-cta { padding:3.5rem; text-align:center; color:#fff; background:linear-gradient(135deg,#161b3f,#3e328d 60%,#176e75); border-radius:30px; box-shadow:0 30px 70px -35px rgba(15,23,42,.7); }
.solution-cta h2 { max-width:760px; margin:0 auto .85rem; font-family:var(--display); font-size:clamp(2rem,4vw,3.4rem); line-height:1.04; }
.solution-cta p { max-width:680px; margin:0 auto 1.5rem; color:#d8def0; font-size:1.05rem; }
.solution-cta .solution-actions { justify-content:center; }
.solution-cta .btn-secondary { background:transparent; color:#fff; border-color:rgba(255,255,255,.28); box-shadow:none; }

.related-solutions { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.related-solutions a { display:block; padding:1.4rem; background:#fff; border:1px solid var(--line); border-radius:18px; transition:transform .2s var(--ease),border-color .2s,box-shadow .2s; }
.related-solutions a:hover { transform:translateY(-3px); border-color:rgba(99,102,241,.3); box-shadow:var(--shadow-soft); }
.related-solutions small { display:block; margin-bottom:.45rem; color:var(--indigo); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.related-solutions strong { display:block; font-size:1.1rem; }
.related-solutions span { display:block; margin-top:.3rem; color:var(--ink-soft); font-size:.9rem; }

@media (max-width:980px) {
  .solution-hero-grid,.video-story-grid { grid-template-columns:1fr; gap:2.5rem; }
  .solution-hero-copy { max-width:760px; }
  .solution-video-card { max-width:760px; transform:none; }
  .benefit-grid,.related-solutions { grid-template-columns:repeat(2,1fr); }
  .journey { grid-template-columns:repeat(2,1fr); }
  .journey article:nth-child(2)::after { display:none; }
}
@media (max-width:760px) {
  .solution-hero { padding:2.6rem 0 3.5rem; }
  .solution-hero h1 { font-size:clamp(2.55rem,13vw,4rem); }
  .solution-hero-grid { grid-template-columns:minmax(0,1fr); }
  .solution-nav .nav-links { align-items:stretch; }
  .intent-strip-inner,.benefit-grid,.journey,.use-case-grid,.related-solutions { grid-template-columns:1fr; }
  .intent-item { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .intent-item:last-child { border-bottom:0; }
  .journey article::after { display:none!important; }
  .comparison-row { grid-template-columns:1fr; }
  .comparison-row.header { display:none; }
  .comparison-row > * { border-right:0!important; }
  .comparison-row strong { padding-bottom:.25rem; background:#f7f8fd; }
  .solution-cta { padding:2.4rem 1.2rem; }
  .solution-section { padding:4.25rem 0; }
}
