/* Motion variants ported from the approved TPI timeline prototype. */
.tpi-process-timeline { --tpt-paper:var(--page,#eee8dc); --tpt-surface:var(--paper,#f7f2e8); --tpt-ink:var(--ink,#24231f); --tpt-muted:var(--muted,#68655d); --tpt-line:var(--line,#aca495); --tpt-accent:var(--note,#ea7d00); --tpt-soft:var(--paper-deep,#e8ded0); --tpt-popup-width:310px; position:relative; color:var(--tpt-ink); background:var(--tpt-paper); font-family:inherit; container-type:inline-size; }
.tpi-process-timeline *, .tpi-timeline-popover, .tpi-timeline-popover * { box-sizing:border-box; }
.tpi-process-timeline [hidden], .tpi-timeline-popover[hidden] { display:none!important; }
.tpi-process-timeline button:focus-visible, .tpi-timeline-popover button:focus-visible, .tpi-timeline-popover video:focus-visible { outline:2px solid var(--tpt-accent); outline-offset:4px; }
.tpi-process-timeline .tl-scene { background:var(--tpt-paper); padding:44px 5% 28px; border-block:1px solid var(--tpt-line); }
.tpi-process-timeline .tl-heading-title { margin:0; max-width:590px; font-size:36px; line-height:1.17; font-weight:600; letter-spacing:-1.25px; }
.tpi-process-timeline .tl-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:44px; }
.tpi-process-timeline .tl-track { position:relative; isolation:isolate; --p:0; --idx:0; --cursor:0px; --cursor-y:0px; --cell:180px; --cell-h:170px; }
.tpi-process-timeline .tl-rail { position:absolute; left:6px; right:6px; height:1px; top:0; background:var(--tpt-line); }
.tpi-process-timeline .tl-rail-fill { position:absolute; inset:0; background:var(--tpt-accent); transform-origin:left; transform:scaleX(var(--p)); height:2px; }
.tpi-process-timeline .tl-runner { position:absolute; left:6px; top:0; width:18px; height:18px; border:1px solid var(--tpt-accent); border-radius:50%; transform:translate(calc(var(--cursor) - 9px), -8px); pointer-events:none; z-index:3; }
.tpi-process-timeline .tl-runner::after { content:''; position:absolute; inset:5px; background:var(--tpt-accent); border-radius:50%; }
.tpi-process-timeline .tl-halo { position:absolute; inset:-7px; border:1px solid var(--tpt-accent); border-radius:50%; opacity:.25; }
.tpi-process-timeline .tl-steps { display:grid; grid-template-columns:repeat(var(--step-count,6),minmax(0,1fr)); margin:0; padding:0; list-style:none; position:relative; }
.tpi-process-timeline .tl-step { position:relative; min-width:0; padding:30px 15px 28px 0; perspective:800px; }
.tpi-process-timeline .tl-node { position:absolute; left:0; top:-5px; width:12px; height:12px; border:1px solid var(--tpt-ink); border-radius:50%; background:var(--tpt-paper); z-index:2; transition:background .24s, border-color .24s; }
.tpi-process-timeline .tl-step.is-done .tl-node { background:var(--tpt-accent); border-color:var(--tpt-accent); }
.tpi-process-timeline .tl-step.is-active .tl-node { background:var(--tpt-accent); border-color:var(--tpt-accent); }
.tpi-process-timeline .tl-body { min-height:112px; transform:translateY(0); transform-origin:50% 0; }
.tpi-process-timeline .tl-number { display:block; font-size:14px; font-weight:500; color:var(--tpt-accent); margin-bottom:18px; font-variant-numeric:tabular-nums; }
.tpi-process-timeline .tl-title { font-size:21px; line-height:1.2; font-weight:600; letter-spacing:-.65px; margin:0; text-wrap:balance; max-width:185px; }
.tpi-process-timeline .tl-step.is-active .tl-title { color:var(--tpt-accent); }
.tpi-process-timeline .tl-focus { display:none; position:absolute; left:-14px; top:19px; width:var(--cell); height:var(--cell-h); background:var(--tpt-surface); border-bottom:2px solid var(--tpt-accent); transform:translateX(var(--focus-x,0px)); transition:transform .7s cubic-bezier(.2,.75,.2,1); z-index:-1; }
.tpi-process-timeline .tl-drafting { display:none; position:absolute; top:-23px; left:6px; right:6px; height:11px; opacity:.45; background:repeating-linear-gradient(90deg,var(--tpt-line) 0 1px,transparent 1px 18px); clip-path:inset(0 calc((1 - var(--p))*100%) 0 0); }
.tpi-process-timeline .tl-needle { display:none; position:absolute; left:6px; top:-35px; height:75px; width:1px; background:var(--tpt-accent); transform:translateX(var(--cursor)); z-index:3; }
.tpi-process-timeline .tl-needle::after { content:''; position:absolute; left:-10px; top:10px; width:21px; height:1px; background:var(--tpt-accent); }
.tpi-process-timeline[data-mode=ink] .tl-step.is-active .tl-body { animation:tpt-rise .75s cubic-bezier(.2,.7,.2,1); }
.tpi-process-timeline[data-mode=focus] .tl-focus { display:block; }
.tpi-process-timeline[data-mode=focus] .tl-rail-fill { opacity:.4; }
.tpi-process-timeline[data-mode=focus] .tl-step.is-active .tl-number { transform:translateX(5px); }
.tpi-process-timeline[data-mode=focus] .tl-number { transition:transform .5s; }
.tpi-process-timeline[data-mode=draft] .tl-drafting, .tpi-process-timeline[data-mode=draft] .tl-needle { display:block; }
.tpi-process-timeline[data-mode=draft] .tl-node { border-radius:0; width:9px; height:9px; top:-4px; left:2px; transform:rotate(45deg); }
.tpi-process-timeline[data-mode=draft] .tl-runner { display:none; }
.tpi-process-timeline[data-mode=draft] .tl-step::after { content:''; position:absolute; left:6px; top:8px; height:12px; width:1px; background:var(--tpt-line); transform:scaleY(0); transform-origin:top; transition:transform .5s; }
.tpi-process-timeline[data-mode=draft] .tl-step.is-done::after, .tpi-process-timeline[data-mode=draft] .tl-step.is-active::after { transform:scaleY(1); }
.tpi-process-timeline[data-mode=draft] .tl-step.is-active .tl-body { animation:tpt-unmask .8s cubic-bezier(.2,.65,.25,1); }
.tpi-process-timeline[data-mode=fold] .tl-body { background:var(--tpt-surface); margin-left:-10px; padding:15px 12px 18px; border-bottom:1px solid var(--tpt-line); min-height:154px; transition:background .5s; }
.tpi-process-timeline[data-mode=fold] .tl-step.is-active .tl-body { animation:tpt-fold .8s cubic-bezier(.2,.7,.25,1); background:var(--tpt-soft); border-bottom-color:var(--tpt-accent); }
.tpi-process-timeline[data-mode=scroll] .tl-step.is-active .tl-body { transform:translateY(-6px); }
.tpi-process-timeline[data-mode=scroll] .tl-body { transition:transform .3s; }
.tpi-process-timeline[data-paused=true] .tl-body { animation:none!important; }
@keyframes tpt-rise { 0%{transform:translateY(9px)} 100%{transform:translateY(0)} }
@keyframes tpt-unmask { 0%{clip-path:inset(0 100% 0 0);transform:translateX(-5px)} 100%{clip-path:inset(0 0 0 0);transform:translateX(0)} }
@keyframes tpt-fold { 0%{transform:rotateX(-24deg) translateY(-5px)} 100%{transform:rotateX(0) translateY(0)} }
@container (max-width:1000px) {
 .tpi-process-timeline .tl-heading-title { font-size:30px; max-width:470px; }
 .tpi-process-timeline .tl-scene { padding:44px 4% 30px; }
 .tpi-process-timeline .tl-title { font-size:17px; letter-spacing:-.4px; }
 .tpi-process-timeline .tl-heading { margin-bottom:47px; }
 .tpi-process-timeline .tl-step { padding-right:10px; }
 .tpi-process-timeline .tl-body { min-height:118px; }
 .tpi-process-timeline[data-mode=fold] .tl-body { min-height:157px; margin-left:-6px; padding-inline:8px; }
}
@container (max-width:920px) {
 .tpi-process-timeline .tl-scene { padding:33px 7% 27px; }
 .tpi-process-timeline .tl-heading-title { font-size:27px; letter-spacing:-.9px; }
 .tpi-process-timeline .tl-heading { margin-bottom:34px; }
 .tpi-process-timeline .tl-steps { grid-template-columns:1fr; }
 .tpi-process-timeline .tl-step { padding:0 0 22px 33px; min-height:99px; }
 .tpi-process-timeline .tl-step:last-child { padding-bottom:10px; }
 .tpi-process-timeline .tl-body { min-height:70px; }
 .tpi-process-timeline .tl-number { font-size:12px; margin-bottom:7px; }
 .tpi-process-timeline .tl-title { max-width:none; font-size:19px; line-height:1.25; }
 .tpi-process-timeline .tl-title br { display:none; }
 .tpi-process-timeline .tl-node { top:4px; }
 .tpi-process-timeline .tl-rail { top:10px; width:1px; height:calc(100% - 103px); bottom:auto; right:auto; }
 .tpi-process-timeline .tl-rail-fill { width:2px; height:100%; transform:scaleY(var(--p)); transform-origin:top; }
 .tpi-process-timeline .tl-runner { top:10px; transform:translate(-8px,calc(var(--cursor-y) - 9px)); }
 .tpi-process-timeline .tl-focus { left:21px; top:-10px; height:var(--cell-h); width:calc(100% - 14px); transform:translateY(var(--focus-y,0px)); }
 .tpi-process-timeline .tl-drafting { left:-10px; top:10px; width:10px; height:calc(100% - 103px); background:repeating-linear-gradient(0deg,var(--tpt-line) 0 1px,transparent 1px 16px); clip-path:inset(0 0 calc((1 - var(--p))*100%) 0); }
 .tpi-process-timeline .tl-needle { left:-16px; top:10px; width:45px; height:1px; transform:translateY(var(--cursor-y)); }
 .tpi-process-timeline .tl-needle::after { left:6px; top:-7px; width:1px; height:15px; }
 .tpi-process-timeline[data-mode=draft] .tl-node { top:6px; }
 .tpi-process-timeline[data-mode=draft] .tl-step::after { top:10px; left:15px; width:12px; height:1px; }
 .tpi-process-timeline[data-mode=fold] .tl-body { min-height:86px; padding:11px 13px; margin:0; }
 .tpi-process-timeline[data-mode=fold] .tl-step { padding-bottom:18px; min-height:107px; }
 .tpi-process-timeline[data-mode=fold] .tl-number { margin-bottom:5px; }
 .tpi-process-timeline[data-mode=scroll] .tl-step.is-active .tl-body { transform:translateX(6px); }
}
.tpi-process-timeline .tl-hit { position:absolute; inset:-18px 10px 4px -6px; z-index:7; min-height:44px; border:0; background:transparent; }
.tpi-process-timeline .tl-hit[aria-expanded=true] { outline:1px solid var(--tpt-accent); outline-offset:3px; }
.tpi-process-timeline .tl-step:has(.tl-hit:hover) .tl-title { color:var(--tpt-accent); }
.tpi-process-timeline .tl-segment { display:none; position:absolute; left:17px; width:calc(100% - 31px); top:-1px; height:3px; background:var(--tpt-line); }
.tpi-process-timeline .tl-segment b { display:block; height:100%; width:100%; transform:scaleX(var(--local,0)); transform-origin:left; background:var(--tpt-accent); }
.tpi-process-timeline .tl-step:last-child .tl-segment { display:none!important; }
.tpi-process-timeline[data-mode=wave] .tl-body { transform:translateY(var(--wave-y,0px)); }
.tpi-process-timeline[data-mode=arc] .tl-runner { top:var(--hop,0px); width:16px; height:16px; background:var(--tpt-accent); border:0; box-shadow:0 5px 0 #ea7d001c; }
.tpi-process-timeline[data-mode=arc] .tl-runner .tl-halo { display:none; }
.tpi-process-timeline[data-mode=arc] .tl-step.is-active .tl-node { transform:scale(1.35); }
.tpi-process-timeline[data-mode=pulse] .tl-node::before, .tpi-process-timeline[data-mode=pulse] .tl-node::after { content:''; position:absolute; inset:-8px; border:1px solid var(--tpt-accent); border-radius:50%; opacity:0; }
.tpi-process-timeline[data-mode=pulse] .tl-step.is-active .tl-node::before { animation:tpt-pulse 1.35s ease-out; }
.tpi-process-timeline[data-mode=pulse] .tl-step.is-active .tl-node::after { animation:tpt-pulse 1.35s .25s ease-out; }
.tpi-process-timeline[data-mode=pulse] .tl-runner { display:none; }
.tpi-process-timeline[data-mode=segments] .tl-rail, .tpi-process-timeline[data-mode=segments] .tl-runner { display:none; }
.tpi-process-timeline[data-mode=segments] .tl-segment { display:block; }
.tpi-process-timeline[data-mode=segments] .tl-node { border-radius:2px; }
.tpi-process-timeline[data-mode=orbit] .tl-runner { width:12px; height:12px; transform:translate(calc(var(--cursor) - 5px), -5px); }
.tpi-process-timeline[data-mode=orbit] .tl-halo { inset:-12px; opacity:.6; transform:rotate(var(--angle,0deg)); border-color:var(--tpt-line); }
.tpi-process-timeline[data-mode=orbit] .tl-halo::after { content:''; width:6px; height:6px; background:var(--tpt-accent); position:absolute; top:-3px; left:calc(50% - 3px); border-radius:50%; }
.tpi-process-timeline[data-mode=underline] .tl-title { position:relative; }
.tpi-process-timeline[data-mode=underline] .tl-title::after { content:''; position:absolute; left:0; bottom:-13px; width:calc(100% - 6px); height:2px; background:var(--tpt-accent); transform:scaleX(var(--underline,0)); transform-origin:left; }
.tpi-process-timeline[data-mode=underline] .tl-runner { display:none; }
.tpi-process-timeline[data-mode=underline] .tl-rail-fill { opacity:.3; }
.tpi-process-timeline[data-mode=spring] .tl-step.is-active .tl-number { animation:tpt-spring .8s ease-out; }
.tpi-process-timeline[data-mode=spring] .tl-runner { border-radius:4px; }
.tpi-process-timeline[data-mode=spring] .tl-halo { border-radius:6px; }
.tpi-process-timeline[data-inspecting=true] .tl-body, .tpi-process-timeline[data-inspecting=true] .tl-number, .tpi-process-timeline[data-paused=true] .tl-number,
.tpi-process-timeline[data-paused=true] .tl-node::before, .tpi-process-timeline[data-paused=true] .tl-node::after,
.tpi-process-timeline[data-inspecting=true] .tl-node::before, .tpi-process-timeline[data-inspecting=true] .tl-node::after { animation:none!important; }
@keyframes tpt-pulse { 0%{opacity:.7;transform:scale(.4)} 100%{opacity:0;transform:scale(1.8)} }
@keyframes tpt-spring { 0%{transform:translateY(0) scale(1)} 35%{transform:translateY(-8px) scale(1.2)} 65%{transform:translateY(3px) scale(.96)} 100%{transform:translateY(0) scale(1)} }
@container (max-width:920px) {
 .tpi-process-timeline .tl-hit { inset:-6px -2px 10px -6px; }
 .tpi-process-timeline .tl-segment { top:25px; left:5px; width:3px; height:calc(100% - 29px); }
 .tpi-process-timeline .tl-segment b { transform:scaleY(var(--local,0)); transform-origin:top; }
 .tpi-process-timeline[data-mode=wave] .tl-body { transform:translateX(calc(var(--wave-y,0px) * -1)); }
 .tpi-process-timeline[data-mode=arc] .tl-runner { top:10px; left:calc(6px - var(--hop,0px)); }
 .tpi-process-timeline[data-mode=orbit] .tl-runner { transform:translate(-5px,calc(var(--cursor-y) - 5px)); }
 .tpi-process-timeline[data-mode=underline] .tl-title::after { bottom:-9px; max-width:190px; }
}

 .tpi-process-timeline[data-layout=vertical] .tl-scene { padding:33px 7% 27px; }
 .tpi-process-timeline[data-layout=vertical] .tl-heading-title { font-size:27px; letter-spacing:-.9px; }
 .tpi-process-timeline[data-layout=vertical] .tl-heading { margin-bottom:34px; }
 .tpi-process-timeline[data-layout=vertical] .tl-steps { grid-template-columns:1fr; }
 .tpi-process-timeline[data-layout=vertical] .tl-step { padding:0 0 22px 33px; min-height:99px; }
 .tpi-process-timeline[data-layout=vertical] .tl-step:last-child { padding-bottom:10px; }
 .tpi-process-timeline[data-layout=vertical] .tl-body { min-height:70px; }
 .tpi-process-timeline[data-layout=vertical] .tl-number { font-size:12px; margin-bottom:7px; }
 .tpi-process-timeline[data-layout=vertical] .tl-title { max-width:none; font-size:19px; line-height:1.25; }
 .tpi-process-timeline[data-layout=vertical] .tl-title br { display:none; }
 .tpi-process-timeline[data-layout=vertical] .tl-node { top:4px; }
 .tpi-process-timeline[data-layout=vertical] .tl-rail { top:10px; width:1px; height:calc(100% - 103px); bottom:auto; right:auto; }
 .tpi-process-timeline[data-layout=vertical] .tl-rail-fill { width:2px; height:100%; transform:scaleY(var(--p)); transform-origin:top; }
 .tpi-process-timeline[data-layout=vertical] .tl-runner { top:10px; transform:translate(-8px,calc(var(--cursor-y) - 9px)); }
 .tpi-process-timeline[data-layout=vertical] .tl-focus { left:21px; top:-10px; height:var(--cell-h); width:calc(100% - 14px); transform:translateY(var(--focus-y,0px)); }
 .tpi-process-timeline[data-layout=vertical] .tl-drafting { left:-10px; top:10px; width:10px; height:calc(100% - 103px); background:repeating-linear-gradient(0deg,var(--tpt-line) 0 1px,transparent 1px 16px); clip-path:inset(0 0 calc((1 - var(--p))*100%) 0); }
 .tpi-process-timeline[data-layout=vertical] .tl-needle { left:-16px; top:10px; width:45px; height:1px; transform:translateY(var(--cursor-y)); }
 .tpi-process-timeline[data-layout=vertical] .tl-needle::after { left:6px; top:-7px; width:1px; height:15px; }
 .tpi-process-timeline[data-layout=vertical][data-mode=draft] .tl-node { top:6px; }
 .tpi-process-timeline[data-layout=vertical][data-mode=draft] .tl-step::after { top:10px; left:15px; width:12px; height:1px; }
 .tpi-process-timeline[data-layout=vertical][data-mode=fold] .tl-body { min-height:86px; padding:11px 13px; margin:0; }
 .tpi-process-timeline[data-layout=vertical][data-mode=fold] .tl-step { padding-bottom:18px; min-height:107px; }
 .tpi-process-timeline[data-layout=vertical][data-mode=fold] .tl-number { margin-bottom:5px; }
 .tpi-process-timeline[data-layout=vertical][data-mode=scroll] .tl-step.is-active .tl-body { transform:translateX(6px); }

 .tpi-process-timeline[data-layout=vertical] .tl-hit { inset:-6px -2px 10px -6px; }
 .tpi-process-timeline[data-layout=vertical] .tl-segment { top:25px; left:5px; width:3px; height:calc(100% - 29px); }
 .tpi-process-timeline[data-layout=vertical] .tl-segment b { transform:scaleY(var(--local,0)); transform-origin:top; }
 .tpi-process-timeline[data-layout=vertical][data-mode=wave] .tl-body { transform:translateX(calc(var(--wave-y,0px) * -1)); }
 .tpi-process-timeline[data-layout=vertical][data-mode=arc] .tl-runner { top:10px; left:calc(6px - var(--hop,0px)); }
 .tpi-process-timeline[data-layout=vertical][data-mode=orbit] .tl-runner { transform:translate(-5px,calc(var(--cursor-y) - 5px)); }
 .tpi-process-timeline[data-layout=vertical][data-mode=underline] .tl-title::after { bottom:-9px; max-width:190px; }

.tpi-process-timeline .tl-scene { padding:44px 30px 32px; }
.tpi-process-timeline .tl-heading-title, .tpi-process-timeline .tl-title { color:var(--tpt-ink); font-family:inherit; }
.tpi-process-timeline .tl-title { overflow-wrap:normal; }
.tpi-process-timeline .tl-step { margin:0; list-style:none; }
.tpi-process-timeline .tl-steps { gap:0; }
.tpi-process-timeline .tl-heading { align-items:flex-end; }
.tpi-process-timeline .tl-heading-title { max-width:630px; }
.tpi-process-timeline .tl-rail, .tpi-process-timeline .tl-drafting { width:var(--rail-length); right:auto; }
.tpi-process-timeline[data-layout=vertical] .tl-rail { width:1px; height:var(--rail-length); }
.tpi-process-timeline[data-layout=vertical] .tl-drafting { width:10px; height:var(--rail-length); }
.tpi-process-timeline .tl-motion-toggle { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; font:500 17px/1 Arial,sans-serif; padding:0; border:1px solid var(--tpt-line); background:transparent; color:var(--tpt-ink); border-radius:50%; cursor:pointer; }
.tpi-process-timeline .tl-hit { min-height:44px; cursor:pointer; width:auto; height:auto; box-shadow:none; }
.tpi-process-timeline .tl-hit:hover { background:transparent; }
/* The body-level popup stays clear of Elementor container clipping. */
.tpi-timeline-popover { position:fixed; z-index:999990; width:min(var(--tpt-popup-width,310px),var(--tpt-media-width,var(--tpt-popup-width,310px))); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; color:var(--tpt-ink); background:var(--tpt-surface); border:1px solid var(--tpt-line); box-shadow:0 18px 55px #0002; opacity:0; transform:translateY(9px) scale(.98); transform-origin:50% 100%; pointer-events:none; transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1); }
.tpi-timeline-popover[data-open=true] { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.tpi-timeline-popover[data-glide=true] { transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1),left .54s cubic-bezier(.25,.46,.45,.94),top .54s cubic-bezier(.25,.46,.45,.94); }
.tpi-timeline-popover[data-open=false] { pointer-events:none; transition-duration:.22s; }
.tpi-timeline-popover .tl-pop-panels { position:relative; transition:height .42s cubic-bezier(.22,1,.36,1); overflow:hidden; }
.tpi-timeline-popover .tl-pop-panel { position:absolute; top:0; left:0; width:100%; min-width:0; background:var(--tpt-surface); opacity:0; visibility:hidden; transform:translateY(5px); pointer-events:none; transition:opacity .36s ease,transform .44s ease,visibility 0s .44s; }
.tpi-timeline-popover .tl-pop-panel.is-current { opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; pointer-events:auto; z-index:1; }
.tpi-timeline-popover img, .tpi-timeline-popover video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; margin:0; border-radius:0; background:#171816; }
.tpi-timeline-popover video { aspect-ratio:var(--tpt-video-ratio,auto 16/9); object-fit:contain; }
.tpi-timeline-popover .tl-pop-copy { padding:18px 20px 20px; }
.tpi-timeline-popover .tl-pop-title { margin:0 0 9px; color:var(--tpt-ink); font-family:inherit; font-size:18px; line-height:1.25; font-weight:600; letter-spacing:-.4px; }
.tpi-timeline-popover .tl-pop-text { margin:0; color:var(--tpt-muted); font-family:inherit; font-size:13px; line-height:1.6; }
.tpi-timeline-popover .tl-pop-close { position:absolute; z-index:3; top:7px; right:7px; display:grid; place-items:center; width:36px; height:36px; min-width:36px; min-height:36px; border:1px solid var(--tpt-line); border-radius:0; color:var(--tpt-ink); background:var(--tpt-surface); padding:0; font:400 27px/1 Arial,sans-serif; cursor:pointer; box-shadow:none; }
.tpi-timeline-popover .tl-pop-close span { line-height:1; }
@container (max-width:560px) { .tpi-process-timeline .tl-scene { padding:32px 22px 24px; } }
@media (pointer:coarse) { .tpi-timeline-popover .tl-pop-close, .tpi-process-timeline .tl-motion-toggle { width:44px; height:44px; } }
@media (prefers-reduced-motion:reduce) { .tpi-process-timeline *, .tpi-process-timeline *::before, .tpi-process-timeline *::after, .tpi-timeline-popover, .tpi-timeline-popover * { animation:none!important; transition:none!important; } }
/* Override theme-wide heading sizes; explicit Elementor typography wins above these defaults. */
body.family-field .tpi-process-timeline .tl-heading-title { font-size:36px!important; hyphens:none; }
body.family-field .tpi-process-timeline .tl-title { font-size:21px!important; hyphens:none; overflow-wrap:anywhere; }
body.family-field .tpi-timeline-popover .tl-pop-title { font-size:18px!important; hyphens:none; }
body.family-field .tpi-timeline-popover .tl-pop-text { font-size:15px!important; hyphens:none; }
@container (max-width:1000px) { body.family-field .tpi-process-timeline .tl-heading-title { font-size:30px!important; } body.family-field .tpi-process-timeline .tl-title { font-size:19px!important; } }
@container (max-width:560px) { body.family-field .tpi-process-timeline .tl-heading-title { font-size:27px!important; } }
/* A mobile column flex wrapper can retain an oversized intrinsic height when
   the timeline uses inline-size containment. Keep this single-widget shell in
   normal block flow so its height follows the rendered timeline, not that
   intrinsic flex measurement. Desktop layout and Elementor content stay intact. */
@media (max-width:767px) {
 body.family-field:is(.page-id-4,.page-id-99) .field-process > .shell:has(> .elementor-widget-tpi-process-timeline) { display:block!important; }
}
