/* Horizontal ring: normal document scroll rotates the service pages in depth. */
.nova-brand svg.brand-orbit{width:36px;height:36px;flex:none;display:block}
.carousel-controls[hidden]{display:none}.carousel-scroll{position:relative}.carousel-stage{position:relative;outline-offset:-5px}.carousel-controls,.carousel-hint{display:none}
.carousel-on .carousel-scroll{height:var(--carousel-scroll-height,4600px)}
.carousel-on .carousel-stage{position:sticky;top:18px;height:calc(100svh - 36px);isolation:isolate;overflow:clip;display:flex;flex-direction:column;justify-content:space-between}
.carousel-on .carousel-space{position:relative;height:calc(100% - 110px);width:100%;perspective:1600px;perspective-origin:50% 56%;overflow:visible}
.carousel-on .solution-stack{position:absolute;inset:0;transform-style:preserve-3d}
.nova.carousel-on .solution{position:absolute;left:50%;top:50%;width:var(--carousel-card-width,740px);height:var(--carousel-card-height,500px);min-height:0;margin:0;padding:26px 32px 32px;border-radius:22px;transform-origin:50% 50%;transform:translate3d(calc(-50% + var(--wheel-x,0px)),calc(-50% + var(--wheel-y,0px)),var(--wheel-z,0px)) rotateY(var(--wheel-turn,0deg)) scale(var(--wheel-scale,1));box-shadow:0 22px 42px #26282a13,0 2px 4px #26282a12;border:1px solid #ffffff80;backface-visibility:hidden;will-change:transform;opacity:var(--wheel-opacity,1);z-index:var(--wheel-order,1);cursor:pointer;transition:box-shadow .3s}
.carousel-on .solution[data-active=true]{cursor:default;box-shadow:0 26px 45px #26282a1c,0 2px 5px #26282a12}
.carousel-on .solution[data-active=false] a{pointer-events:none}
.carousel-on .solution-top{font-size:8px;letter-spacing:.13em}
.carousel-on .solution-content{grid-template-columns:1.7fr 1fr;gap:20px;margin-top:30px;min-width:0;flex:1}
.carousel-on .solution h3{font-size:clamp(30px,2.65vw,38px);letter-spacing:-.055em;line-height:1.08;overflow-wrap:anywhere}
.carousel-on .solution p{font-size:12px;line-height:1.85;margin:23px 0 28px;max-width:480px}
.carousel-on .solution .text-link{font-size:11px;gap:22px}
.carousel-on .solution-art{height:210px;min-width:0}
.carousel-on .solution-art i{width:165px;height:165px;border-width:21px}
.carousel-on .solution-art i:nth-child(3){width:115px;height:115px}
.carousel-on .solution-art i:nth-child(4){width:45px;height:45px;border-width:15px}
.carousel-on .solution-art b{font-size:120px}.carousel-on .art-2 i{width:185px;height:185px;border-width:2px}.carousel-on .art-5 i{border-width:6px}
.carousel-on .carousel-orbit{position:absolute;width:var(--carousel-orbit-width,1200px);height:125px;left:50%;top:calc(50% + var(--carousel-card-height,500px)/2 - 52px);transform:translateX(-50%);border:1px solid #ab947040;border-radius:50%;pointer-events:none;z-index:-1}
.carousel-on .carousel-controls{position:relative;display:flex;justify-content:center;align-items:center;gap:70px;min-height:66px;z-index:10}
.carousel-controls button{border:1px solid #8c735260;background:var(--paper);color:var(--ink);transition:background .2s,opacity .2s}
.carousel-controls>button{height:48px;width:48px;border-radius:50%;font-size:24px;display:grid;place-items:center;line-height:1}
.carousel-controls>button:hover:not(:disabled){background:var(--lavender)}.carousel-controls>button:disabled{opacity:.3;cursor:default}
.carousel-status{text-align:center;min-width:120px}.carousel-count{font-size:10px;letter-spacing:.17em}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.carousel-dots button{width:24px;height:24px;border:0;background:transparent;padding:6px;border-radius:50%;display:grid;place-items:center}
.carousel-dots button:before{content:'';width:8px;height:8px;border-radius:50%;background:#d8cbb6;transition:background .2s,transform .2s}.carousel-dots button[aria-pressed=true]:before{background:var(--purple);transform:scale(1.12)}
.carousel-on .carousel-hint{display:block;font-size:9px;letter-spacing:.04em;opacity:.6;text-align:center;padding:4px 10px 12px;flex:none}
.carousel-on .solutions>.page-shell{width:100%}.carousel-on .solutions .section-heading{width:var(--shell);margin:0 auto 30px}.carousel-on .solutions .tools-note{width:var(--shell);max-width:1320px;margin:35px auto 0}
/* Small, deliberate brand signature instead of the full-width wordmark. */
.nova .nova-footer{padding:50px 0 26px}
.footer-lockup{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:10px 0 34px}
.nova .footer-wordmark{display:inline-flex;align-items:center;gap:17px;font-size:42px;line-height:1;font-weight:600;letter-spacing:-.07em;flex:none}
.nova .footer-wordmark>svg{width:44px;height:44px;flex:none}
.nova .footer-wordmark>span{display:block;font-size:inherit;vertical-align:baseline;margin:0;font-weight:600}
.footer-wordmark small{display:block;font-weight:400;font-size:8px;letter-spacing:.25em;margin-top:11px}
.footer-lockup>p{font-size:12px;opacity:.75}.footer-contact-link{font-size:12px;display:flex;align-items:center;gap:16px}.footer-contact-link span{font-size:23px}.nova .footer-bottom{margin-top:0;padding-top:22px;font-size:9px}
@media(max-width:1050px) and (min-width:761px){.carousel-on .solution-content{grid-template-columns:1.7fr .8fr;gap:10px}.carousel-on .solution h3{font-size:33px}.carousel-on .solution-art i{width:135px;height:135px}.carousel-on .art-2 i{width:155px;height:155px}.carousel-on .solution-top>span:last-child{display:none}}
@media(max-width:760px){.nova-brand svg.brand-orbit{width:30px;height:30px}.carousel-on .carousel-stage{top:12px;height:calc(100svh - 24px)}.carousel-on .carousel-space{height:calc(100% - 102px);perspective:900px}.nova.carousel-on .solution{padding:22px 21px 26px;border-radius:20px}.carousel-on .solution-content{display:flex;flex-direction:column-reverse;gap:16px;margin-top:10px;justify-content:center;align-items:stretch}.carousel-on .solution h3{font-size:29px;line-height:1.12;overflow-wrap:anywhere}.carousel-on .solution p{font-size:11px;line-height:1.8;margin:18px 0}.carousel-on .solution-art{height:120px;flex:none}.carousel-on .solution-art i{width:110px;height:110px;border-width:17px}.carousel-on .solution-art i:nth-child(3){width:80px;height:80px}.carousel-on .solution-art i:nth-child(4){width:36px;height:36px;border-width:12px}.carousel-on .solution-art b{font-size:80px}.carousel-on .art-2 i{width:120px;height:120px;border-width:2px}.carousel-on .art-5 i{border-width:5px}.carousel-on .solution .text-link{font-size:10px;padding:9px 0}.carousel-on .solution-top{font-size:7px}.carousel-on .solution-top>span:last-child{display:none}.carousel-on .carousel-controls{gap:30px;min-height:66px}.carousel-controls>button{width:42px;height:42px;font-size:21px}.carousel-on .carousel-hint{font-size:8px;padding-bottom:8px}.carousel-on .carousel-orbit{height:75px;top:calc(50% + var(--carousel-card-height,500px)/2 - 38px)}.carousel-on .solutions .section-heading{margin-bottom:25px}.footer-lockup{display:grid;grid-template-columns:1fr;gap:22px;padding-bottom:25px}.nova .footer-wordmark{font-size:32px;gap:13px}.nova .footer-wordmark>svg{width:34px;height:34px}.footer-wordmark small{font-size:7px;margin-top:8px}.footer-lockup>p{font-size:11px}.footer-contact-link{font-size:11px}.nova .nova-footer{padding:32px 0 25px}.nova .footer-bottom{font-size:8px}}
@media(max-width:360px){.nova-brand svg.brand-orbit{width:26px;height:26px}.carousel-on .solution h3{font-size:26px}.carousel-on .solution-art{height:96px}.carousel-on .solution p{font-size:10px;margin:14px 0}.carousel-on .solution-content{gap:12px}.carousel-on .solution-art i{width:90px;height:90px}.carousel-on .art-2 i{width:106px;height:106px}.carousel-on .solution-art i:nth-child(3){width:70px;height:70px}.carousel-on .solution-art i:nth-child(4){width:30px;height:30px;border-width:10px}.carousel-on .solution .text-link{padding:7px 0}}
@media(prefers-reduced-motion:reduce){.nova.carousel-on .solution{will-change:auto}.carousel-controls button{transition:none}.carousel-dots button:before{transition:none}}
@media print{.carousel-scroll,.carousel-stage,.carousel-space,.solution-stack{height:auto!important;position:static!important;overflow:visible!important}.carousel-controls,.carousel-orbit,.carousel-hint{display:none!important}.nova .solution{position:static!important;left:auto!important;top:auto!important;opacity:1!important;transform:none!important;width:100%!important;height:auto!important;margin-bottom:20px!important}.footer-lockup{display:block}}

.carousel-on .solution-content>div{min-width:0}

@media(max-width:360px){.carousel-on .carousel-controls{gap:16px}}
