/* Compact order journey, isolated from all other homepage modules. */
.tl .tl-journey.tl-flow { padding:26px 0; border:0; background:#fff; scroll-margin-top:95px; }
.tl .tl-flow-panel { display:grid; grid-template-columns:minmax(250px,.9fr) minmax(0,1.8fr); align-items:center; gap:42px; padding:30px 34px; border:1px solid #f0e9e2; border-radius:23px; background:radial-gradient(ellipse at 3% 0,#fff3e6,transparent 55%),radial-gradient(ellipse at 100% 100%,#edf8f5,transparent 60%),#fffdf9; }
.tl .tl-flow-copy { min-width:0; }
.tl .tl-flow-copy .tl-kicker { margin-bottom:11px; font-size:8px; letter-spacing:1.35px; color:#a18b75; }
.tl .tl-flow-copy h2 { font-size:29px; line-height:1.22; letter-spacing:-1.2px; color:#35424d; }
.tl .tl-flow-copy h2>span { color:#789080; }
.tl .tl-flow-action { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; margin-top:20px; padding:8px 9px 8px 17px; min-height:43px; border:1px solid transparent; border-radius:11px; background:var(--primary-color,#ff6a00); color:#fff; font-size:11px; font-weight:700; line-height:1.5; box-shadow:0 6px 15px rgba(var(--primary-color-rgb,255,106,0),.12); transition:transform .2s,box-shadow .2s; }
.tl .tl-flow-action>span { display:grid; place-items:center; width:27px; height:27px; background:#ffffff25; border-radius:7px; }
.tl .tl-flow-action .tl-icon { width:16px; height:16px; }
.tl .tl-flow-action:hover { transform:translateY(-2px); color:#fff; box-shadow:0 9px 20px rgba(var(--primary-color-rgb,255,106,0),.2); }
.tl .tl-flow-visual { position:relative; min-width:0; }
.tl .tl-flow-steps { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:0; }
.tl .tl-flow-step { min-width:0; text-align:center; }
.tl .tl-flow-node { position:relative; display:grid; place-items:center; width:48px; height:48px; margin:0 auto 17px; background:#fff3e7; border:1px solid #f7dfc8; border-radius:16px; color:var(--primary-color,#ff6a00); isolation:isolate; transition:transform .2s; }
.tl .tl-flow-node::before { content:''; position:absolute; inset:-5px; border:1px solid currentColor; border-radius:21px; opacity:0; z-index:-1; }
.tl .tl-flow-node>.tl-icon { width:22px; height:22px; }
.tl .tl-flow-node>small { position:absolute; right:-9px; top:-6px; display:grid; place-items:center; min-width:23px; height:18px; padding:0 4px; color:#b29a7f; background:#fffdf9; border:1px solid #f2e6da; border-radius:6px; font-size:8px; font-weight:600; letter-spacing:.2px; }
.tl .tl-flow-step:nth-child(2) .tl-flow-node { background:#edf8f4; border-color:#cfe9de; color:#35a992; }
.tl .tl-flow-step:nth-child(2) .tl-flow-node>small { color:#78a48f; border-color:#dcece3; }
.tl .tl-flow-step:nth-child(3) .tl-flow-node { background:#eef3fc; border-color:#d9e3f4; color:#739bc7; }
.tl .tl-flow-step:nth-child(3) .tl-flow-node>small { color:#8ca4bf; border-color:#e2eaf4; }
.tl .tl-flow-step h3 { font-size:14px; font-weight:700; letter-spacing:-.4px; color:#52616b; line-height:1.5; }
.tl .tl-flow-step p { max-width:188px; margin:7px auto 0; font-size:10.5px; line-height:1.8; color:#8a968f; }
.tl .tl-flow-step:hover .tl-flow-node { transform:translateY(-3px); }
.tl .tl-flow-route { position:absolute; z-index:0; left:calc(100% / 6); top:14px; width:calc(100% * 2 / 3); height:20px; overflow:visible; pointer-events:none; }
.tl .tl-flow-route-vertical { display:none; }
.tl .tl-flow-route-base { stroke:#dce8df; stroke-width:1.3; stroke-dasharray:3 5; }
.tl .tl-flow-route-stream { stroke:var(--primary-color,#ff6a00); stroke-width:3; stroke-linecap:round; stroke-dasharray:4 596; stroke-dashoffset:0; }
.tl .tl-flow-visible .tl-flow-route-stream { animation:tl-flow-stream 5.4s linear infinite; }
.tl .tl-flow-visible .tl-flow-node::before { animation:tl-flow-ring 5.4s ease-out infinite; }
.tl .tl-flow-visible .tl-flow-step:nth-child(2) .tl-flow-node::before { animation-delay:1.8s; }
.tl .tl-flow-visible .tl-flow-step:nth-child(3) .tl-flow-node::before { animation-delay:3.6s; }
.tl .tl-flow-visible .tl-flow-node>.tl-icon { animation:tl-flow-icon 5.4s ease-in-out infinite; }
.tl .tl-flow-visible .tl-flow-step:nth-child(2) .tl-icon { animation-delay:1.8s; }
.tl .tl-flow-visible .tl-flow-step:nth-child(3) .tl-icon { animation-delay:3.6s; }
@keyframes tl-flow-stream { from { stroke-dashoffset:0; } to { stroke-dashoffset:-600; } }
@keyframes tl-flow-ring { 0% { opacity:0; transform:scale(.88); } 12% { opacity:.2; } 30%,100% { opacity:0; transform:scale(1.2); } }
@keyframes tl-flow-icon { 0%,28%,100% { transform:translateY(0); } 12% { transform:translateY(-3px); } }
@media(max-width:1100px) {
 .tl .tl-flow-panel { padding:28px; gap:28px; grid-template-columns:minmax(230px,.95fr) minmax(0,1.8fr); }
 .tl .tl-flow-copy h2 { font-size:26px; }
 .tl .tl-flow-steps { gap:15px; }
 .tl .tl-flow-step h3 { font-size:13px; }
 .tl .tl-flow-step p { font-size:10px; }
}
@media(max-width:850px) {
 .tl .tl-flow-panel { grid-template-columns:minmax(0,1fr); gap:28px; }
 .tl .tl-flow-copy { display:flex; align-items:center; justify-content:space-between; gap:24px; }
 .tl .tl-flow-action { margin-top:0; flex-shrink:0; }
 .tl .tl-flow-copy h2 { font-size:28px; }
 .tl .tl-flow-step p { font-size:11px; }
}
@media(max-width:650px) {
 .tl .tl-journey.tl-flow { padding:18px 0; }
 .tl .tl-flow-panel { padding:23px 21px; gap:25px; border-radius:20px; }
 .tl .tl-flow-copy { display:block; }
 .tl .tl-flow-copy .tl-kicker { font-size:7px; letter-spacing:1.1px; margin-bottom:10px; }
 .tl .tl-flow-copy h2 { font-size:25px; letter-spacing:-1px; }
 .tl .tl-flow-action { margin-top:16px; font-size:10px; min-height:40px; gap:20px; padding:7px 8px 7px 15px; }
 .tl .tl-flow-action>span { width:25px; height:25px; }
 .tl .tl-flow-steps { grid-template-columns:minmax(0,1fr); gap:14px; }
 .tl .tl-flow-step { position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:start; column-gap:15px; text-align:left; min-height:64px; }
 .tl .tl-flow-node { width:36px; height:36px; margin:0; border-radius:12px; }
 .tl .tl-flow-node::before { inset:-4px; border-radius:16px; }
 .tl .tl-flow-node>.tl-icon { width:18px; height:18px; }
 .tl .tl-flow-node>small { right:-6px; top:-5px; height:15px; min-width:18px; font-size:6px; border-radius:5px; }
 .tl .tl-flow-step h3 { font-size:13px; line-height:1.5; margin-top:0; }
 .tl .tl-flow-step p { max-width:100%; font-size:10.5px; line-height:1.65; margin:4px 0 0; }
 .tl .tl-flow-route-horizontal { display:none; }
 .tl .tl-flow-route-vertical { display:block; left:8px; top:18px; width:20px; height:calc(100% - 64px); }
}
@media(max-width:360px) {
 .tl .tl-flow-panel { padding:21px 18px; }
 .tl .tl-flow-copy h2 { font-size:23px; letter-spacing:-.9px; }
 .tl .tl-flow-copy .tl-kicker { font-size:6.5px; letter-spacing:.7px; }
 .tl .tl-flow-step { column-gap:13px; }
 .tl .tl-flow-step p { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .tl .tl-flow-panel *, .tl .tl-flow-panel *::before { animation:none!important; transition:none!important; }
}
