.rotor-services .rotor-scene{height:665px;position:relative;isolation:isolate;perspective:1100px;touch-action:pan-y;mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent)}
.rotor-services .rotor-scale{position:absolute;left:50%;top:50%;width:550px;height:650px;transform:translate(-50%,-50%) scale(var(--scale,1));transform-style:preserve-3d}
.rotor-services .rotor-wheel{position:absolute;inset:0;transform-style:preserve-3d;perspective:1000px}
.rotor-services .rotor-sheet{position:absolute;left:25px;top:180px;width:500px;height:290px;border-radius:12px;background:linear-gradient(118deg,rgba(247,240,234,.93),rgba(217,204,209,.88));border:1px solid #f8f1ed;box-shadow:0 3px 0 #ae99a2,0 5px 0 #78616c,7px 18px 28px #39283124;backdrop-filter:blur(14px);transform-origin:center;backface-visibility:hidden;padding:50px 38px;will-change:transform,opacity;overflow:hidden}
.rotor-services .rotor-sheet:after{content:'';position:absolute;inset:5px;border:1px solid #fff7f13d;border-radius:8px;pointer-events:none}
.rotor-services .rotor-sheet h3{font-size:38px;font-weight:450;letter-spacing:-.04em;line-height:1.04;margin:0 0 19px;max-width:420px}
.rotor-services .rotor-sheet ul{list-style:none;padding:0;margin:0;font-size:17px;line-height:1.7;color:#58444f}
.rotor-services .rotor-sheet .topline,.rotor-services .rotor-sheet h3,.rotor-services .rotor-sheet .details{opacity:var(--text-opacity,0);filter:blur(var(--text-blur,5px))}
.rotor-services.services-ready{height:330svh;min-height:2100px}
.rotor-services .rotor-scene{height:min(75svh,760px);min-height:420px;width:100%}
.rotor-services .rotor-sheet{color:#392831}
.rotor-services .rotor-sheet h3{opacity:var(--text-opacity,1);filter:blur(var(--text-blur,0px))}
.rotor-services .rotor-sheet ul{opacity:var(--text-opacity,1);filter:blur(var(--text-blur,0px))}
.rotor-services .service-navigation{gap:clamp(20px,3vw,54px)}
.rotor-services .focus-composition{grid-template-columns:40% 60%}
@media(max-width:760px){
.rotor-services.services-ready{height:350svh;min-height:2300px}
.rotor-services .service-navigation{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.rotor-services.services-ready .services-sticky{height:100svh;min-height:750px;padding-top:14px}
.rotor-services .service-copy{min-height:240px;padding:25px 0 5px}
.rotor-services .rotor-scene{height:48svh;min-height:300px;max-height:440px;margin:0 -12px;width:calc(100% + 24px)}
.rotor-services .rotor-sheet ul{font-size:23px;line-height:1.5}
.rotor-services .rotor-sheet h3{font-size:40px}
}
@media(prefers-reduced-motion:reduce){
.rotor-services.services-ready{height:auto;min-height:0}
.rotor-services.services-ready .services-sticky{position:relative;height:auto;min-height:0}
}

/* Approved service-specific satin diagrams. */
.rotor-services .rotor-sheet{padding:0;background:linear-gradient(125deg,#f0e9e4ed,#d7c8d0ed)}
.rotor-services .diagram{width:100%;height:100%;opacity:var(--text-opacity);filter:blur(var(--text-blur));overflow:visible}
.rotor-services .diagram text{fill:#58444f;stroke:none;text-anchor:start;font-family:Commissioner,sans-serif;font-size:14px}
.rotor-services .diagram .question{font-size:21px;letter-spacing:-.5px;fill:#392831}
.rotor-services .diagram .foot{font-size:12px;fill:#705a66}
.rotor-services .etched{stroke:#ac929f;stroke-width:1;fill:none;opacity:.45}
.rotor-services .inset{fill:#baa5b333;stroke:#ad94a255}
.rotor-services .permission rect,.rotor-services .enterprise rect{fill:#f4eeeb;stroke:#c0aab6;filter:drop-shadow(3px 5px 5px #71506429)}
.rotor-services .permission circle,.rotor-services .expiry,.rotor-services .obligation,.rotor-services .output{fill:#795f70}
.rotor-services .permission path,.rotor-services .enterprise path{stroke:#8e7282;stroke-width:2;fill:none}
.rotor-services .duration{stroke:#b59caa;stroke-width:3;stroke-linecap:round}
.rotor-services .system rect{fill:#eee5e9;stroke:#c5b2bc;filter:drop-shadow(4px 7px 6px #70556326)}
.rotor-services .system.rear rect{fill:#b6a1af70}
.rotor-services .system path,.rotor-services .inputs{stroke:#9a7f90;stroke-width:3;stroke-linecap:round;fill:none}
.rotor-services .human rect{fill:#f6efea;stroke:#aa8b9c;filter:drop-shadow(4px 6px 7px #70556330)}
.rotor-services .human circle,.rotor-services .human path{fill:none;stroke:#856878;stroke-width:1.5}
.rotor-services .signal{stroke:#795f70;stroke-width:2;stroke-dasharray:5 29;fill:none}
.rotor-services .boundary{fill:#bba6b415;stroke:#b59caa;stroke-dasharray:3 5}
.rotor-services .supplier rect{fill:#eee5e880;stroke:#bca5b1}
.rotor-services .supplier path{stroke:#b59caa;stroke-width:2;fill:none}
.rotor-services .contract-surface{fill:#f1e8e97d;stroke:#d1bec8;filter:drop-shadow(3px 6px 6px #70556320)}
.rotor-services .allocation rect{fill:#ae92a278;stroke:#f5edee}
.rotor-services .allocation circle{fill:#846575}
.rotor-services .allocation path{stroke:#aa8b9c;fill:none}
.rotor-services .is-focused .permission{animation:lr-lift 5s ease-in-out infinite}
.rotor-services .is-focused .permission.secondary{animation-delay:-2.5s}
.rotor-services .is-focused .expiry{animation:lr-retain 7s ease-in-out infinite}
.rotor-services .is-focused .system.front{animation:lr-lift 6s ease-in-out infinite}
.rotor-services .is-focused .signal{animation:lr-signal 3s linear infinite}
.rotor-services .is-focused .obligation{animation:lr-breathe 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.rotor-services .is-focused .obligation.two{animation-delay:-2s}
.rotor-services .is-focused .allocation{animation:lr-lift 6s ease-in-out infinite}
.rotor-services .is-focused .allocation.second{animation-delay:-2s}
.rotor-services .is-focused .allocation.third{animation-delay:-4s}
@keyframes lr-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes lr-retain{0%,100%{transform:translateX(-8px)}50%{transform:translateX(12px)}}
@keyframes lr-signal{to{stroke-dashoffset:-34}}
@keyframes lr-breathe{0%,100%{transform:scale(.8);opacity:.6}50%{transform:scale(1.15);opacity:1}}
@media(prefers-reduced-motion:reduce){.rotor-services *{animation:none!important}}

.rotor-services .diagram{display:block;stroke:none;fill:none}
.rotor-services .service-navigation{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a28c97 transparent}
.rotor-services .service-navigation button{flex:0 0 auto;white-space:nowrap}
