/* Politus: a scroll-led, conceptual assembly of the ecosystem. */
.clean-wordmark{display:block;position:relative;overflow:hidden;aspect-ratio:1976/467}
.clean-wordmark img{position:absolute;width:104.3522%;height:auto;max-width:none;left:-2.32794%;top:-30.40685%}
.header{height:88px;background:#fff}
.mobile-nav{top:87px}
.assembly-story{position:relative;background:#fff;border-bottom:1px solid #e4ecef}
.motion-ready .assembly-story{height:250svh;min-height:1700px}
.assembly-sticky{position:relative;display:grid;grid-template-columns:1fr 1.08fr;grid-template-rows:1fr auto;column-gap:54px;min-height:740px;padding-block:48px 28px}
.motion-ready .assembly-sticky{position:sticky;top:88px;height:calc(100svh - 88px);min-height:0;max-height:1100px}
.assembly-copy{align-self:center;min-width:0;padding-block:12px}
.assembly-eyebrow{font-size:9px;letter-spacing:1.6px;gap:9px}
.assembly-copy h1{font-size:clamp(48px,4.5vw,76px);font-weight:800;line-height:1.06;letter-spacing:-3.8px;margin:25px 0 23px}
.assembly-copy h1 em{font-style:normal;color:var(--green)}
.assembly-description{font-size:13px;line-height:1.9;color:var(--muted);max-width:440px}
.assembly-actions{display:flex;align-items:center;gap:27px;margin-top:27px}
.assembly-actions .button{font-size:11px;min-height:53px;gap:20px}
.assembly-actions .text-link{font-size:11px}
.assembly-narrative{display:grid;border-top:1px solid var(--line);margin-top:39px;padding-top:21px;max-width:440px}
.assembly-caption{grid-area:1 / 1;visibility:hidden;opacity:0;transition:opacity .25s ease}
.assembly-caption.is-current{visibility:visible;opacity:1}
.assembly-caption-index{display:block;font:9px/1.5 Manrope,sans-serif;letter-spacing:1.6px;font-weight:800;color:var(--green);margin-bottom:9px}
.assembly-caption h2{font-size:17px;line-height:1.5;letter-spacing:-.4px;margin-bottom:6px}
.assembly-caption p{font-size:11px;color:var(--muted);line-height:1.8;max-width:400px}
.assembly-visual{position:relative;align-self:stretch;min-width:0;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 50% 55%,#f1f8f7 0,rgba(246,250,250,.7) 46%,transparent 70%)}
.visual-topline,.visual-bottomline{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:7px;letter-spacing:1.25px;font-weight:600;color:#5c7481;position:relative;z-index:2;padding-inline:12px}
.visual-topline{padding-top:18px}
.visual-topline>span:first-child{display:flex;align-items:center;gap:7px}
.visual-topline i{width:5px;height:5px;border-radius:50%;background:var(--green)}
.engine-viewport{position:relative;width:100%;min-height:360px;max-height:650px;flex:1;overflow:clip}
.engine-scene{width:650px;height:620px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(var(--scene-scale,.85));transform-origin:center;perspective:1200px;--assemble:1;--p-data:1;--p-people:1;--p-management:1;--p-core:1}
.engine-camera{position:absolute;left:50%;top:54%;width:360px;height:280px;margin-left:-180px;margin-top:-140px;transform:rotateX(52deg) rotateZ(-32deg);transform-style:preserve-3d}
.engine-chassis{position:absolute;inset:-7px;background:#082b40;border:1px solid #164a60;border-radius:24px;transform:translateZ(calc(-25px - 65px * (1 - var(--assemble))));box-shadow:0 9px 0 #0a2233,0 12px 0 #153c50,0 14px 0 #25566a;overflow:hidden}
.chassis-grid{position:absolute;inset:0;background-image:linear-gradient(#64a5a317 1px,transparent 1px),linear-gradient(90deg,#64a5a317 1px,transparent 1px);background-size:19px 19px}
.chassis-name{position:absolute;bottom:18px;left:24px;letter-spacing:3px;font-size:11px;font-weight:800;color:#fff}
.chassis-code{position:absolute;top:17px;right:22px;font-size:5px;color:#a1c4ca;letter-spacing:1px}
.chassis-light{position:absolute;bottom:22px;right:24px;width:42px;height:3px;background:var(--gold);border-radius:5px}
.engine-piece{position:absolute;inset:0;background:#ffffffed;border:1.5px solid #a9c5cc;border-radius:19px;transform-style:preserve-3d;box-shadow:0 4px 0 #c6d8de,0 5px 0 #93afb9,0 14px 22px #12384b12;will-change:transform}
.layer-data{transform:translate3d(calc(-46px * (1 - var(--p-data))),calc(-30px * (1 - var(--p-data))),calc(60px + 124px * (1 - var(--p-data))));border-color:#8fb9b2;background:#fafffdf5}
.layer-people{transform:translate3d(calc(52px * (1 - var(--p-people))),calc(8px * (1 - var(--p-people))),calc(32px + 42px * (1 - var(--p-people))));background:#f8fbffed}
.layer-management{transform:translate3d(calc(-29px * (1 - var(--p-management))),calc(29px * (1 - var(--p-management))),calc(5px - 48px * (1 - var(--p-management))));background:#f1f8faf5}
.layer-label{position:absolute;top:15px;left:20px;z-index:1;font-size:7px;font-weight:800;letter-spacing:1.6px;color:#416776}
.layer-edge{position:absolute;bottom:0;left:23px;width:72px;height:2px;background:#0ca67b;border-radius:2px}
.layer-people .layer-edge{background:#a69ac9}.layer-management .layer-edge{background:#47a3bd}
.engine-piece .layer-diagram{position:absolute;inset:0;width:100%;height:100%;stroke:#adc4cf;stroke-width:1.2;fill:none}
.layer-diagram .diagram-accent{stroke:#0c9e76;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.layer-diagram .diagram-grid{stroke:#d3e4e5;stroke-width:.65;stroke-dasharray:2 5}
.layer-diagram .data-area{fill:#12a4780c;stroke:none}
.data-points{fill:#fff;stroke:#0c9e76;stroke-width:2}
.data-registers{fill:#9abcb6;stroke:none}
.people-nodes{fill:#f8fbff;stroke:#6d899f;stroke-width:1.5}
.people-icons{fill:#244c66;stroke:none}
.management-nodes{fill:#fbfeff;stroke:#739cae;stroke-width:1.5}
.node-details{stroke:#7da3b4;stroke-width:3;stroke-linecap:round}
.engine-core{inset:auto;top:81px;left:121px;width:118px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:13px;background:#fff;border:6px solid #092d42;box-shadow:0 5px 0 #134356,0 7px 0 #082b40,0 17px 24px #08283e25;transform:translate3d(calc(14px * (1 - var(--p-core))),calc(-12px * (1 - var(--p-core))),calc(88px + 180px * (1 - var(--p-core))))}
.core-mark{width:42px;max-width:none}
.core-caption{font-size:8px;letter-spacing:2px;color:var(--navy);font-weight:800}
.core-pins{position:absolute;inset:-13px;transform:translateZ(-3px);background:repeating-linear-gradient(90deg,transparent 0 9px,#7095a4 9px 13px,transparent 13px 20px) top/100% 7px no-repeat,repeating-linear-gradient(90deg,transparent 0 9px,#7095a4 9px 13px,transparent 13px 20px) bottom/100% 7px no-repeat,repeating-linear-gradient(0deg,transparent 0 9px,#7095a4 9px 13px,transparent 13px 20px) left/7px 100% no-repeat,repeating-linear-gradient(0deg,transparent 0 9px,#7095a4 9px 13px,transparent 13px 20px) right/7px 100% no-repeat}
.core-dot{position:absolute;right:5px;top:5px;width:4px;height:4px;border-radius:50%;background:var(--gold)}
.assembly-guides{position:absolute;inset:0;transform-style:preserve-3d;opacity:calc(.45 * (1 - var(--assemble)))}
.assembly-guides i{position:absolute;width:1px;height:242px;background:repeating-linear-gradient(transparent 0 6px,#6c929f 6px 10px);transform-origin:top;transform:rotateX(90deg) translateY(-210px)}
.assembly-guides i:nth-child(1){left:15px;top:15px}.assembly-guides i:nth-child(2){right:15px;top:15px}.assembly-guides i:nth-child(3){left:15px;bottom:15px}.assembly-guides i:nth-child(4){right:15px;bottom:15px}
.engine-orbit{position:absolute;left:50%;top:63%;border:1px solid #cedfe3;border-radius:50%;transform:translate(-50%,-50%) rotate(-16deg);pointer-events:none}
.orbit-one{width:560px;height:220px;border-style:dashed;opacity:.7}.orbit-two{width:480px;height:174px;opacity:.35}
.engine-shadow{position:absolute;width:370px;height:100px;left:140px;top:370px;background:#123f5312;filter:blur(22px);border-radius:50%;transform:rotate(-14deg) scale(calc(.8 + var(--assemble) * .25))}
.floating-label{position:absolute;display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid #dbe8eb;background:#fff;font-size:8px;letter-spacing:1.3px;font-weight:800;color:#5f7b88;box-shadow:0 4px 20px #08283e04;opacity:calc(1 - var(--assemble) * .6)}
.floating-label i{height:5px;width:5px;border-radius:50%;background:#0b9f76}.label-data{left:22px;top:168px}.label-people{right:3px;top:302px}.label-management{left:37px;bottom:123px}.label-people i{background:#8e7eaf}.label-management i{background:#4597b6}
.engine-result{position:absolute;bottom:41px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.2px;font-weight:800;color:var(--green);opacity:var(--p-core);transform:translateY(calc(10px * (1 - var(--p-core))))}
.result-status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:7px;vertical-align:middle}
.visual-bottomline{padding-bottom:20px;letter-spacing:.8px;font-size:6px}
.scroll-cue{display:flex;align-items:center;gap:7px}
.scroll-cue i{display:block;width:10px;height:16px;border:1px solid #8ea7b1;border-radius:6px;position:relative}
.scroll-cue i:after{content:'';width:2px;height:4px;border-radius:2px;background:var(--green);position:absolute;top:3px;left:3px}
.assembly-state{color:var(--green);text-align:right}
.assembly-navigation{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:22px}
.assembly-step{position:relative;display:flex;align-items:center;gap:11px;background:none;text-align:left;padding:17px 0 4px;border-top:1px solid #d9e4e8;isolation:isolate}
.assembly-step>span{font-size:8px;color:#7d97a2;font-weight:600;letter-spacing:1px}.assembly-step strong{font-size:11px;letter-spacing:.2px;color:#526c79;font-weight:600}
.assembly-step i{position:absolute;left:0;top:-1px;height:2px;background:var(--green);width:100%;transform:scaleX(var(--step-progress,0));transform-origin:left}
.assembly-step.is-current strong{color:var(--navy);font-weight:800}.assembly-step.is-current>span{color:var(--green)}
.assembly-step:hover strong{color:var(--green)}
.product-card{transition:border-color .2s,transform .3s,box-shadow .3s}
.product-card:hover{box-shadow:0 14px 35px #08283e08}
.motion-ready .reveal-piece{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s,border-color .2s,box-shadow .3s;transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-piece.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){.assembly-sticky{column-gap:85px}.assembly-copy h1{font-size:80px}.assembly-description{font-size:15px}.assembly-caption p{font-size:12px}.assembly-caption h2{font-size:19px}.visual-topline{font-size:8px}}
@media(max-width:1150px){.assembly-sticky{column-gap:20px;padding-block:36px 24px}.assembly-copy h1{font-size:clamp(43px,4.6vw,60px);letter-spacing:-2.8px}.assembly-description{font-size:12px}.assembly-actions{gap:18px}.assembly-actions .button{font-size:10px;padding-inline:17px}.assembly-actions .text-link{font-size:10px}.assembly-narrative{margin-top:29px}.visual-topline,.visual-bottomline{font-size:6px;letter-spacing:.6px;padding-inline:0}.engine-viewport{min-height:330px}}
@media(max-width:900px){.header{height:80px}.mobile-nav{top:79px}.motion-ready .assembly-sticky{top:80px;height:calc(100svh - 80px)}.assembly-sticky{grid-template-columns:1fr 1fr;gap:16px}.assembly-copy h1{font-size:43px;letter-spacing:-2.4px}.assembly-eyebrow{font-size:7px;letter-spacing:1px}.assembly-actions{align-items:flex-start;flex-direction:column;gap:14px}.assembly-narrative{margin-top:24px}.assembly-caption h2{font-size:15px}.assembly-caption p{font-size:10px}.assembly-description .desktop-break{display:none}.visual-topline>span:last-child{display:none}.visual-bottomline .assembly-state{display:none}.assembly-navigation{gap:18px}}
@media(max-width:700px){.assembly-sticky{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(240px,1fr) auto;padding-block:24px 16px;row-gap:0;min-height:0}.motion-ready .assembly-story{height:230svh;min-height:1500px}.motion-ready .assembly-sticky{max-height:none}.assembly-copy{padding:0;align-self:start}.assembly-copy h1{font-size:clamp(32px,9.1vw,52px);letter-spacing:-1.9px;line-height:1.03;margin:18px 0 14px}.assembly-eyebrow{font-size:6px;letter-spacing:1px}.assembly-description{font-size:11px;line-height:1.7;max-width:400px}.assembly-actions{flex-direction:row;align-items:center;gap:22px;margin-top:18px}.assembly-actions .button{font-size:9px;min-height:42px;padding:12px 15px;gap:15px}.assembly-actions .button svg{width:15px;height:15px}.assembly-actions .text-link{font-size:9px}.assembly-narrative{margin-top:18px;padding-top:12px;max-width:none}.assembly-caption{display:flex;align-items:center;gap:10px}.assembly-caption-index{font-size:6px;letter-spacing:.8px;flex-shrink:0;margin:0}.assembly-caption h2{font-size:10px;line-height:1.5;letter-spacing:-.1px;margin:0}.assembly-caption p{display:none}.assembly-visual{align-self:stretch;min-height:270px;margin-top:5px}.engine-viewport{min-height:245px;max-height:450px}.visual-topline{position:absolute;top:6px;left:0;right:0;padding:0;font-size:5px;letter-spacing:.7px}.visual-topline>span:last-child{display:block}.visual-bottomline{padding:0 0 2px;font-size:5px;letter-spacing:.5px;min-height:16px}.visual-bottomline .assembly-state{display:block}.scroll-cue i{width:8px;height:12px}.scroll-cue i:after{left:2px;top:2px;height:3px}.assembly-navigation{grid-column:auto;gap:12px;margin-top:14px}.assembly-step{gap:6px;padding-top:12px}.assembly-step>span{font-size:6px}.assembly-step strong{font-size:8px}.engine-result{bottom:31px}.label-data{left:34px;top:164px}.label-people{right:30px}.label-management{left:46px;bottom:112px}}
@media(max-height:800px) and (min-width:701px){.assembly-sticky{padding-block:25px 18px}.assembly-copy h1{font-size:clamp(40px,4vw,64px);margin-block:18px}.assembly-description{font-size:12px}.assembly-actions{margin-top:22px}.assembly-narrative{margin-top:25px;padding-top:16px}.assembly-caption p{font-size:10px}.assembly-caption h2{font-size:15px}.assembly-navigation{margin-top:10px}.engine-viewport{min-height:310px}}
@media(max-width:380px){.assembly-copy h1{font-size:31px;letter-spacing:-1.5px}.assembly-actions{gap:17px}.assembly-actions .button{font-size:8px;padding-inline:12px}.assembly-actions .text-link{font-size:8px}.assembly-description{font-size:10px}.assembly-caption h2{font-size:9px}.assembly-caption-index{font-size:5px}.assembly-navigation{gap:10px}.assembly-step{gap:5px}.assembly-step strong{font-size:7px}.assembly-step>span{font-size:5px}}
/* Short viewports keep normal document flow; the scene still responds to scrolling. */
@media(max-height:739px) and (max-width:700px),(max-height:649px) and (min-width:701px){.motion-ready .assembly-story{height:auto;min-height:0}.motion-ready .assembly-sticky{position:relative;top:auto;height:auto;min-height:0}.assembly-visual{min-height:310px}.assembly-sticky{padding-block:28px}.assembly-navigation{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.assembly-story{height:auto!important;min-height:0!important}.assembly-sticky{position:relative!important;top:auto!important;height:auto!important}.engine-piece{will-change:auto}.assembly-caption{transition:none}.scroll-cue{visibility:hidden}.reveal-piece{opacity:1!important;transform:none!important}}
