:root {
  --journey-paper: oklch(0.985 0.004 280);
  --journey-ink: oklch(0.24 0.025 285);
  --journey-muted: oklch(0.48 0.025 285);
  --journey-accent: oklch(0.49 0.21 285);
  --journey-line: oklch(0.87 0.018 285);
  --journey-surface: oklch(1 0 0);
  --journey-night: oklch(0.19 0.025 285);
  --journey-on-night: oklch(0.96 0.008 285);
  --journey-mint: oklch(0.83 0.10 165);
}
.journey-details { color:var(--journey-ink); background:linear-gradient(180deg,transparent 0,var(--journey-paper) 36vh); font-family:Archivo,sans-serif; }
.journey-details * { box-sizing:border-box; letter-spacing:0; }
.journey-details section { max-width:1240px; margin:0 auto; padding:96px 7vw; border-top:1px solid var(--journey-line); }
.journey-details .journey-intro { padding-top:48vh; border:0; }
.journey-details h2 { font-family:Archivo,sans-serif; font-size:52px; font-weight:800; line-height:1.08; max-width:900px; margin:18px 0 0; text-wrap:balance; }
.journey-details .journey-intro h2 { font-size:72px; max-width:930px; }
.journey-details h2 span { color:var(--journey-accent); }
.journey-details p { font-size:17px; line-height:1.75; max-width:680px; color:var(--journey-muted); margin:24px 0 0; text-wrap:pretty; }
.journey-details .journey-eyebrow { color:var(--journey-accent); font:500 11px 'IBM Plex Mono',monospace; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.journey-eyebrow::before { content:''; width:24px; height:2px; background:currentColor; }
.journey-details .journey-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.journey-details .journey-cta { display:inline-flex; align-items:center; justify-content:center; padding:14px 20px; min-height:48px; border:1px solid var(--journey-line); border-radius:4px; color:var(--journey-ink); font:500 12px 'IBM Plex Mono',monospace; transition:background .2s,transform .2s; }
.journey-details .journey-cta:hover { opacity:1; background:var(--journey-line); transform:translateY(-2px); }
.journey-details .journey-cta-primary { background:var(--journey-accent); color:var(--journey-on-night); border-color:var(--journey-accent); }
.journey-details .journey-cta-primary:hover { background:var(--journey-ink); }
.journey-details a:focus-visible { outline:3px solid var(--journey-accent); outline-offset:4px; }
.journey-details .journey-quotes { margin-top:72px; columns:3 260px; column-gap:32px; padding-top:24px; border-top:1px solid var(--journey-line); }
.journey-details figure { margin:0 0 32px; break-inside:avoid; padding:24px 0 8px; border-top:1px solid var(--journey-line); }
.journey-details figure:first-child { border:0; }
.journey-details blockquote { margin:0; font:500 19px/1.55 Archivo,sans-serif; color:var(--journey-ink); }
.journey-details figcaption { margin-top:20px; color:var(--journey-accent); font:500 11px 'IBM Plex Mono',monospace; text-transform:uppercase; }
.journey-details .journey-integrations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:40px; border-top:1px solid var(--journey-line); border-bottom:1px solid var(--journey-line); }
.journey-details .journey-integration { display:flex; justify-content:space-between; align-items:center; padding:24px 16px; border-right:1px solid var(--journey-line); gap:16px; }
.journey-integration:last-child { border-right:0; }
.journey-integration > span:first-child { display:flex; flex-direction:column; gap:12px; }
.journey-integration > span:first-child > span:first-child { font:500 11px 'IBM Plex Mono',monospace; color:var(--journey-accent); }
.journey-integration > span:first-child > span:last-child { font-size:18px; font-weight:700; }
.journey-details .journey-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; margin-top:40px; }
.journey-details .journey-feature { display:flex; flex-direction:column; gap:14px; padding:28px 0; border-top:1px solid var(--journey-line); }
.journey-feature > div:first-child { font:500 12px 'IBM Plex Mono',monospace; color:var(--journey-accent); }
.journey-details h3 { margin:0; font:700 24px/1.2 Archivo,sans-serif; }
.journey-details .journey-feature p { margin:0; font-size:16px; }
.journey-details .journey-feature > div:not(:first-child) { font:500 12px/1.6 'IBM Plex Mono',monospace; color:var(--journey-accent); }
.journey-details ul { list-style:none; padding:0; margin:0; }
.journey-details li { padding:14px 0; border-bottom:1px solid var(--journey-line); font:500 14px 'IBM Plex Mono',monospace; }
.journey-details .journey-pair { display:grid; grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr); align-items:stretch; margin-top:40px; }
.journey-details .journey-module { padding:32px; background:var(--journey-surface); border:1px solid var(--journey-line); border-radius:8px; display:flex; flex-direction:column; gap:20px; }
.journey-module > div:first-child { font:500 12px 'IBM Plex Mono',monospace; color:var(--journey-accent); text-transform:uppercase; }
.journey-module p { margin:0; font-size:19px; }
.journey-module > div:last-child { display:flex; flex-wrap:wrap; gap:0 20px; }
.journey-module span { padding:12px 0; border-top:1px solid var(--journey-line); font:500 12px 'IBM Plex Mono',monospace; }
.journey-details .journey-connector { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:12px; text-align:center; color:var(--journey-accent); font:500 10px/1.5 'IBM Plex Mono',monospace; }
.journey-connector span:first-child { font-size:30px; }
.journey-details .journey-module-dark { background:var(--journey-night); color:var(--journey-on-night); border-color:var(--journey-night); }
.journey-module-dark > div:first-child,.journey-module-dark p { color:var(--journey-on-night); }
.journey-module-dark span { color:var(--journey-mint); border-color:var(--journey-muted); }
.journey-details .journey-ownership { background:var(--journey-night); color:var(--journey-on-night); max-width:none; }
.journey-ownership > div { max-width:1066px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.journey-ownership h2 { font-size:48px; }
.journey-ownership h2 span,.journey-ownership .journey-eyebrow { color:var(--journey-mint); }
.journey-ownership p { color:var(--journey-on-night); margin:0 0 20px; }
.journey-ownership .journey-cta { color:var(--journey-on-night); border-color:var(--journey-muted); }
.journey-details .journey-closing .journey-feature { padding:32px; border:1px solid var(--journey-line); border-radius:8px; justify-content:space-between; background:var(--journey-surface); }
.journey-details .journey-closing .journey-feature:last-child { background:var(--journey-night); color:var(--journey-on-night); border-color:var(--journey-night); }
.journey-closing .journey-feature:last-child p { color:var(--journey-on-night); }
.journey-details footer { background:var(--journey-night); color:var(--journey-on-night); }
.journey-details footer > div { max-width:1240px; margin:auto; padding:72px 7vw 32px; display:flex; flex-direction:column; gap:48px; }
.journey-details footer > div > div:first-child { display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; align-items:center; }
.journey-details footer > div > div:first-child > div { font:800 42px/1.1 Archivo,sans-serif; max-width:640px; }
.journey-details footer span { color:var(--journey-mint); }
.journey-details footer > div > div:nth-child(2) { display:flex; flex-wrap:wrap; gap:18px 28px; padding-top:24px; border-top:1px solid var(--journey-muted); font:500 12px 'IBM Plex Mono',monospace; }
.journey-details footer > div > div:last-child { font:400 11px 'IBM Plex Mono',monospace; color:var(--journey-line); }
@media(min-width:1500px) { .journey-details section { padding-left:80px; padding-right:80px; } }
@media(max-width:760px) {
  .journey-details section { padding:64px 24px; }
  .journey-details .journey-intro { padding-top:45vh; }
  .journey-details h2,.journey-details .journey-intro h2,.journey-ownership h2 { font-size:36px; }
  .journey-details .journey-grid,.journey-ownership > div { grid-template-columns:1fr; gap:24px; }
  .journey-details .journey-pair { grid-template-columns:1fr; }
  .journey-details .journey-connector { padding:24px; }
  .journey-details .journey-integrations { grid-template-columns:1fr; }
  .journey-details .journey-integration { border-right:0; border-bottom:1px solid var(--journey-line); }
  .journey-details footer > div { padding:64px 24px 32px; }
  .journey-details footer > div > div:first-child > div { font-size:36px; }
  .journey-details .journey-cta { max-width:100%; font-size:11px; padding:14px 16px; }
}
@media(prefers-reduced-motion:reduce) { .journey-details a { transition:none; } }