.tp-scroll-process{margin-top:60px;background:var(--paper);border-block:1px dashed #aeb7c1;color:var(--ink);position:relative}
.tp-scroll-process.is-scroll-enabled{height:420vh}
.tp-scroll-stage{padding:28px 36px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.is-scroll-enabled .tp-scroll-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:570px}
.tp-scroll-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-shrink:0}.tp-scroll-heading p{font-size:12px;font-weight:800;letter-spacing:.09em}.tp-scroll-heading a{font-size:11px;border-bottom:1px solid #aab4bd;padding-bottom:4px}
.tp-scroll-grid{display:grid;grid-template-columns:53% 47%;align-items:center;flex:1;min-height:0}
.tp-scroll-wheel{position:relative;width:min(58vw,79vh,800px);aspect-ratio:1;justify-self:center;margin-left:-12%;border:1px solid #b9c7d6;border-radius:50%}
.tp-scroll-rotor{width:100%;height:100%;color:var(--blue);transform:rotate(var(--process-angle,0deg));will-change:transform;filter:drop-shadow(0 7px 0 #173f6c)}
.tp-scroll-hub{position:absolute;inset:29%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:50%;background:var(--paper);color:var(--blue)}.tp-scroll-hub strong{font:900 clamp(66px,8vw,120px)/1 Arial,sans-serif;letter-spacing:-.05em}.tp-scroll-hub small{font-size:11px;font-weight:800;letter-spacing:.12em}
.tp-scroll-pointer{position:absolute;right:-15px;top:50%;transform:translateY(-50%);font-size:27px;color:var(--blue)}
.tp-scroll-copy{padding:20px 16px 20px 34px;min-width:0}.tp-scroll-copy h2{font-size:clamp(25px,3.2vw,46px);line-height:1.3;margin:0 0 30px;letter-spacing:-.05em}.tp-scroll-copy h2 span{color:var(--blue)}
.tp-scroll-panels{display:grid}.tp-scroll-panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,transform .4s,visibility .3s;pointer-events:none}.tp-scroll-panel.is-active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.tp-scroll-phase{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--blue);margin-bottom:18px}.tp-scroll-panel h3{font-size:clamp(25px,3vw,43px);line-height:1.4;letter-spacing:-.04em;margin-bottom:22px}.tp-scroll-description{font-size:14px;line-height:1.95;white-space:pre-line}.tp-scroll-deliverables{font-size:11px;font-weight:700;color:var(--blue);border-top:1px solid #cad3dd;margin-top:24px;padding-top:16px}
.tp-scroll-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #cbd3dc;padding-top:16px;flex-shrink:0}.tp-scroll-footer>p{font-size:10px;font-weight:800;letter-spacing:.08em}.tp-scroll-footer>p span{margin-left:12px}.tp-scroll-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;justify-content:flex-start}.tp-scroll-controls button{display:flex;gap:8px;align-items:center;border:1px solid #222;border-radius:999px;padding:11px 14px;font-size:11px;background:var(--paper);transition:background .2s,transform .2s}.tp-scroll-controls button[aria-pressed=true]{background:var(--yellow);box-shadow:2px 3px 0 #222;transform:translateY(-2px)}
@media(max-width:760px){.tp-scroll-stage{padding:22px 20px}.is-scroll-enabled .tp-scroll-stage{min-height:0;gap:10px}.tp-scroll-heading p{font-size:10px}.tp-scroll-heading a{font-size:10px}.tp-scroll-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.tp-scroll-wheel{width:min(78vw,40svh);margin:0;align-self:center}.tp-scroll-pointer{right:-12px;font-size:22px}.tp-scroll-hub strong{font-size:clamp(40px,8vh,70px)}.tp-scroll-hub{gap:4px}.tp-scroll-hub small{font-size:8px}.tp-scroll-copy{padding:12px 0 4px}.tp-scroll-copy h2{font-size:23px;margin-bottom:16px}.tp-scroll-copy h2 br{display:none}.tp-scroll-panel h3{font-size:23px;line-height:1.3;margin-bottom:12px}.tp-scroll-phase{font-size:10px;margin-bottom:10px}.tp-scroll-description{font-size:12px;line-height:1.7}.tp-scroll-deliverables{font-size:10px;margin-top:12px;padding-top:10px}.tp-scroll-footer>p{display:none}.tp-scroll-controls{width:100%;gap:5px}.tp-scroll-controls button{flex:1;flex-direction:column;gap:4px;padding:8px 2px;font-size:9px}.tp-scroll-footer{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.tp-scroll-panel{transition:none}.tp-scroll-rotor{will-change:auto}}
