.product-page .ek-page-heading { margin-inline:auto; text-align:center; padding-block:56px 32px; }
.product-page .ek-page-heading p { margin-inline:auto; }
.product-page .ek-page-heading .ek-eyebrow { display:inline-flex; align-items:center; gap:8px; }
.ek-journey { width:100%; max-width:var(--e-max,1180px); margin:12px auto 32px; padding:24px; border:1px solid var(--ek-line); border-radius:18px; background:linear-gradient(145deg,#f1f6ec,#fffefa 70%); overflow:hidden; }
.ent > .ek-journey { width:calc(100% - (var(--e-gut,32px) * 2)); }
.ek-journey-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:22px; }
.ek-journey-heading>span:last-child { font-size:12px; color:var(--ek-muted); }
.ek-journey-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; position:relative; }
.ek-journey-track::before { content:''; position:absolute; top:100px; left:15%; right:15%; height:2px; background:#afc4a6; }
.ek-journey-node { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:20px 14px; color:var(--ek-ink); background:#fffefbe8; border:1px solid #ccd8c7; border-radius:12px; cursor:pointer; font:inherit; min-width:0; transition:transform .2s,border-color .2s,box-shadow .2s; }
.ek-journey-node:hover { transform:translateY(-3px); border-color:#357350; }
.ek-journey-node[aria-pressed=true] { border:2px solid #17623f; padding:19px 13px; box-shadow:0 8px 24px #183d2510; }
.ek-journey-node img { width:160px; max-width:100%; height:118px; object-fit:contain; }
.ek-journey-number { align-self:flex-start; font:600 12px ui-monospace,monospace; color:#386546; }
.ek-journey-node strong { font-size:18px; line-height:1.3; }
.ek-journey-node>span:last-child { font-size:13px; line-height:1.5; color:#516653; }
.ek-journey-panels { margin-top:22px; border-top:1px solid #d2ddca; padding-top:22px; }
.ek-journey-panels>[data-journey-panel]:not([hidden]) { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ek-journey-panels h2 { font-size:22px; line-height:1.3; margin:0 0 8px; }
.ek-journey-panels p { max-width:62ch; font-size:15px; line-height:1.65; margin:0; }
.ek-journey-panels small { display:block; font-size:12px; line-height:1.6; color:#576650; margin-top:8px; }
.ek-journey-panels .ek-button { flex-shrink:0; }
.ek-journey.is-changing .ek-journey-node[aria-pressed=true] img { animation:ek-journey-rise .65s ease both; }
.ek-journey.is-changing .ek-journey-track::before { background:linear-gradient(90deg,#afc4a6 0%,#17623f 45%,#afc4a6 65%); background-size:200% 100%; animation:ek-journey-flow .8s ease-out; }
.ek-journey.is-changing [data-journey-panel]:not([hidden]) { animation:ek-journey-enter .35s ease both; }
.ek-library-explainer { margin:0 0 24px; border:1px solid #cddbc6; border-radius:12px; background:#f5f8f0; }
.ek-library-explainer>summary { padding:18px 22px; cursor:pointer; font-size:15px; font-weight:600; }
.ek-library-explainer .ek-journey { margin:0; border:0; border-radius:0 0 12px 12px; }
.architecture-disclosure { margin-top:24px; border:1px solid var(--e-line,var(--border,#d8e0d4)); border-radius:12px; background:#fff; overflow:hidden; }
.architecture-disclosure>summary { display:flex; align-items:center; gap:12px; padding:15px 18px; cursor:pointer; list-style:none; font-size:.82rem; font-weight:700; color:var(--e-ink,#15352a); }
.architecture-disclosure>summary::-webkit-details-marker { display:none; }
.architecture-disclosure>summary::after { content:'+'; margin-left:auto; color:var(--e-accent,#08795d); font-size:1.2rem; font-weight:400; }
.architecture-disclosure[open]>summary { border-bottom:1px solid var(--e-line,var(--border,#d8e0d4)); background:#fbfdfc; }
.architecture-disclosure[open]>summary::after { content:'−'; }
.architecture-disclosure>.disclosure-body { padding:20px 18px; }
.architecture-disclosure>.disclosure-body>:first-child { margin-top:0; }
.architecture-disclosure .ent-table-wrap { margin-top:0; }
.architecture-disclosure .ent-note { margin-top:20px!important; }
@keyframes ek-journey-rise { 0%{transform:translateY(5px);opacity:.6} 100%{transform:translateY(0);opacity:1} }
@keyframes ek-journey-flow { from{background-position:100% 0} to{background-position:0 0} }
@keyframes ek-journey-enter { from{opacity:.4;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }
@media(max-width:650px) { .ek-journey{padding:16px}.ent > .ek-journey{width:calc(100% - 40px)}.ek-journey-track{gap:8px}.ek-journey-node{padding:12px 6px}.ek-journey-node[aria-pressed=true]{padding:11px 5px}.ek-journey-node img{height:78px}.ek-journey-node strong{font-size:14px}.ek-journey-node>span:last-child{font-size:12px}.ek-journey-track::before{top:72px}.ek-journey-panels>[data-journey-panel]:not([hidden]){align-items:flex-start;flex-direction:column;gap:16px}.ek-journey-heading{margin-bottom:14px}.ek-journey-panels h2{font-size:20px} }
@media(prefers-reduced-motion:reduce) { .ek-journey *,.ek-journey .ek-journey-track::before{animation:none!important;transition:none!important}.ek-journey-node:hover{transform:none} }
