/* v27: reference screenshot sampled background palette; background-only changes. */
.v21-redesign{--template-gray:#f1f2f3;--template-blue:#d5e8f0;--template-pink:#fddce6;--template-footer:#242d32;background:var(--template-gray)}
html:has(.v21-redesign){background:#f1f2f3}
.v21-redesign .hero,.v21-redesign .news{background-color:var(--template-gray)}
.v21-redesign .hero:after{background:none}
.v21-redesign .hero-visual:after{background:none}
.v21-redesign .about,.v21-redesign .feature,.v21-redesign .mission-report,.v21-redesign .company{background:var(--template-gray)}
.v21-redesign .operation-data,.v21-redesign .service,.v21-redesign .works,.v21-redesign .mission-process,.v21-redesign .recruit-section,.v21-redesign .final-actions{background:var(--template-blue)}
.v21-redesign .about{background:radial-gradient(ellipse 65% 45% at 105% 95%,var(--template-pink) 0 65%,transparent 65.3%),radial-gradient(ellipse 75% 36% at -20% 100%,var(--template-blue) 0 65%,transparent 65.3%),var(--template-gray)}
.v21-redesign .service{background:radial-gradient(ellipse 62% 60% at 50% 66%,#eef6f9 0 67%,transparent 67.3%),var(--template-blue)}
.v21-redesign .company{background:radial-gradient(ellipse 42% 35% at 0 100%,var(--template-pink) 0 70%,transparent 70.4%),var(--template-gray)}
.v21-redesign .site-footer{background:var(--template-footer)}
/* Oversized existing CN mark replaces generic background lettering; decorative only. */
.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{content:"";display:block;position:absolute;pointer-events:none;left:-8%;top:0;width:116%;height:clamp(160px,27vw,380px);background:#ef8fb0;opacity:.24;-webkit-mask:url('../img/codename-mark-white.png') center/contain no-repeat;mask:url('../img/codename-mark-white.png') center/contain no-repeat;z-index:1}
.v21-redesign .company:before{top:auto;bottom:0;background:#0599d9;opacity:.16}
.v21-redesign .final-actions:before{top:-30px;background:#0599d9;opacity:.25}
.v21-redesign .about>.section-ghost,.v21-redesign .company-backdrop>span,.v21-redesign .final-actions-decor>span{visibility:hidden}
@media(max-width:767px){.v21-redesign .about:before{height:165px;top:0}.v21-redesign .company:before{height:210px}.v21-redesign .final-actions:before{height:190px;top:0}}

/* Keep existing hero copy legible on the reference gray surface. */
.v21-redesign .hero-copy,.v21-redesign .hero-copy h1 span:nth-child(2){color:#123f49}
.v21-redesign .hero-copy .eyebrow,.v21-redesign .hero-copy h1 span:nth-child(3){color:#0599d9}
.v21-redesign .hero-copy>p:not(.eyebrow){color:#59777e}

.v21-redesign .hero-visual:after{background:linear-gradient(90deg,#f1f2f3 0%,#f1f2f3 41%,transparent 42%)}
.v21-redesign .site-header{background:#f1f2f3;color:#123f49;border-color:#e3e6e8}
.v21-redesign .site-header .desktop-nav a,.v21-redesign .site-header>.brand{color:#123f49}
@media(max-width:767px){.v21-redesign .hero-visual:after{background:linear-gradient(180deg,#f1f2f3 0%,#f1f2f3 52%,transparent 64%)}}

.v21-redesign .site-header>.brand img{filter:brightness(.25) sepia(1) saturate(4) hue-rotate(170deg)}

/* v28: full CodeName wordmark, matching the reference's oversized outline lettering. */
.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{content:"CodeName";background:none;mask:none;-webkit-mask:none;left:-2%;width:104%;height:auto;font-family:Arial,sans-serif;font-size:22vw;font-weight:300;line-height:1;letter-spacing:-.075em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #ef9cba;opacity:.9;z-index:1}
.v21-redesign .company:before,.v21-redesign .final-actions:before{-webkit-text-stroke-color:#70bedc}
.v21-redesign .about:before{top:0;bottom:auto}
.v21-redesign .company:before{top:auto;bottom:0}
.v21-redesign .final-actions:before{top:0;bottom:auto}
@media(max-width:767px){.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{font-size:23vw;height:auto;-webkit-text-stroke-width:1px}}

/* v29: supplied CN symbol only, exact crop, no wordmark or generated replacement. */
.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{content:"";left:-8%;width:116%;height:clamp(240px,46vw,660px);background:#ef9cba;opacity:.25;color:transparent;-webkit-text-stroke:0;-webkit-mask:url('../img/cn-background-v29.png') center/contain no-repeat;mask:url('../img/cn-background-v29.png') center/contain no-repeat;z-index:1;pointer-events:none}
.v21-redesign .about:before{top:-100px;bottom:auto}
.v21-redesign .company:before{top:auto;bottom:-110px;background:#70bedc}
.v21-redesign .final-actions:before{top:-90px;bottom:auto;background:#70bedc}
@media(max-width:767px){.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{height:260px;width:130%;left:-15%}.v21-redesign .about:before{top:-50px}.v21-redesign .company:before{bottom:-70px}.v21-redesign .final-actions:before{top:-40px}}

/* v30: make supplied CN background mark clearly visible. */
.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{opacity:.52}
.v21-redesign .about:before{background:#e989ad}
.v21-redesign .company:before,.v21-redesign .final-actions:before{background:#47afd2}

/* v31: white CN on the exact sampled nonwhite reference surfaces. */
.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{background:#fff;opacity:1}
.v21-redesign .about,.v21-redesign .company{background-color:#f1f2f3}
.v21-redesign .final-actions{background:#d5e8f0}

/* v32: direct white PNGs; no CSS mask, including file:// use. */
.v21-redesign .about:before,.v21-redesign .company:before,.v21-redesign .final-actions:before{display:none}
.cn-background-v32{position:absolute;inset:0 0 auto;height:60vw;overflow:hidden;z-index:1;pointer-events:none}
.cn-background-track-v32{display:flex;width:max-content;animation:cnBackgroundSlide32 30s linear infinite;will-change:transform}
.cn-background-track-v32 img{display:block;flex:none;width:110vw;height:auto;max-width:none;padding:0 5vw;filter:none;opacity:1}
.company .cn-background-v32{top:auto;bottom:-8vw}
.final-actions .cn-background-v32{top:-8vw}
@keyframes cnBackgroundSlide32{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.cn-background-track-v32{animation:none}}

/* v33: stationary oversized CN backdrop, no horizontal track. */
.cn-background-v32{position:absolute;inset:auto;left:-15%;width:130%;height:auto;overflow:visible;z-index:1;pointer-events:none}
.cn-background-v32>img{display:block;width:100%;height:auto;max-width:none;opacity:1;filter:none;animation:none;transform:none}
.about .cn-background-v32{top:auto;bottom:-20vw;left:5%;width:135%}
.service .cn-background-v32{top:50%;left:-20%;width:140%;transform:translateY(-50%)}
.company .cn-background-v32{top:45%;bottom:auto;left:-35%;width:150%;transform:translateY(-50%)}
.final-actions .cn-background-v32{top:auto;bottom:-22vw;left:-10%;width:120%}
@media(max-width:767px){.about .cn-background-v32{bottom:-25vw;left:0;width:150%}.service .cn-background-v32{width:180%;left:-40%;top:50%}.company .cn-background-v32{width:180%;left:-65%;top:55%}.final-actions .cn-background-v32{bottom:-10vw;width:160%;left:-25%}}

/* v34: one fixed lowest background; service circles remain a separate foreground layer. */
.v21-redesign{background:#f1f2f3;isolation:isolate}
.cn-fixed-background-v34{position:fixed;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;background:#f1f2f3;pointer-events:none;overflow:hidden}
.cn-fixed-background-v34 img{display:block;width:min(86vw,1400px);max-height:76vh;height:auto;object-fit:contain;opacity:1;flex:none}
.v21-redesign main,.v21-redesign main>.about,.v21-redesign main>.feature,.v21-redesign main>.company,.v21-redesign main>.mission-report,.v21-redesign main>.recruit-section{background:transparent}
.v21-redesign main>.operation-data,.v21-redesign main>.service,.v21-redesign main>.works,.v21-redesign main>.mission-process,.v21-redesign main>.final-actions{background:rgba(213,232,240,.58)}
.v21-redesign .service-window:before,.v21-redesign .service-window:after{z-index:1}
@media(max-width:767px){.cn-fixed-background-v34 img{width:90vw;max-height:65svh}}

/* v35: restore reference pastel curves above the approved fixed CN background. */
.v21-redesign main>.about{background:radial-gradient(ellipse 65% 45% at 105% 95%,#fddce6 0 65%,transparent 65.3%),radial-gradient(ellipse 75% 36% at -20% 100%,#d5e8f0 0 65%,transparent 65.3%)}
.v21-redesign main>.service{background:radial-gradient(ellipse 66% 62% at 50% 67%,transparent 0 64%,rgba(213,232,240,.82) 64.3% 100%),radial-gradient(ellipse 38% 22% at 108% 5%,#fddce6 0 70%,transparent 70.3%)}
.v21-redesign main>.works{background:radial-gradient(ellipse 40% 30% at -8% 85%,#d5e8f0 0 70%,transparent 70.3%),radial-gradient(ellipse 44% 28% at 106% 90%,#fddce6 0 70%,transparent 70.3%),rgba(213,232,240,.35)}
.v21-redesign main>.feature{background:radial-gradient(ellipse 38% 35% at 108% 0%,#fddce6 0 70%,transparent 70.3%),radial-gradient(ellipse 45% 25% at -12% 15%,#d5e8f0 0 70%,transparent 70.3%)}
.v21-redesign main>.company{background:radial-gradient(ellipse 42% 35% at 0 100%,#fddce6 0 70%,transparent 70.4%),radial-gradient(ellipse 56% 48% at 105% 80%,#d5e8f0 0 70%,transparent 70.3%)}
.v21-redesign main>.recruit-section{background:radial-gradient(ellipse 60% 40% at 100% 100%,#d5e8f0 0 70%,transparent 70.3%),radial-gradient(ellipse 36% 25% at -8% 8%,#fddce6 0 70%,transparent 70.3%)}
.v21-redesign main>.final-actions{background:radial-gradient(ellipse 40% 55% at -10% 100%,#fddce6 0 65%,transparent 65.3%),radial-gradient(ellipse 42% 70% at 112% 0%,#d5e8f0 0 65%,transparent 65.3%),rgba(213,232,240,.35)}

/* v36: seven service images on a true circular orbit, separate from the fixed brand layer. */
.v21-redesign .service{height:1100px;min-height:1100px}
.v21-redesign .service-carousel{height:800px}
.v21-redesign .service-window{height:740px;overflow:visible;--orbit-radius:200px}
.v21-redesign .service-window:before{width:400px;height:400px;top:80px;border:18px solid rgba(255,255,255,.82);border-radius:50%;box-shadow:0 0 0 1px #aed7e6;transform:translateX(-50%)}
.v21-redesign .service-window:after{width:350px;height:350px;top:105px;border:1px solid #f1b9d0;border-radius:50%;transform:translateX(-50%)}
.v21-redesign .service-card[data-position] .service-picture{width:220px;height:220px;left:50%;top:280px;margin-left:-110px;margin-top:-110px;border-radius:0;visibility:visible;opacity:1;filter:none;transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.52);transition:transform 1.04s var(--ease);transform-origin:center}
.v21-redesign .service-card[data-position=center] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(1)}
.v21-redesign .service-card .service-copy{top:540px}
.v21-redesign .service .carousel-arrow{top:260px}
@media(max-width:767px){
.v21-redesign .service{height:1050px;min-height:1050px}
.v21-redesign .service-carousel{height:800px}
.v21-redesign .service-window{height:740px;--orbit-radius:135px}
.v21-redesign .service-window:before{width:270px;height:270px;top:75px;border-width:12px}
.v21-redesign .service-window:after{width:236px;height:236px;top:92px}
.v21-redesign .service-card[data-position] .service-picture{width:150px;height:150px;top:210px;margin-left:-75px;margin-top:-75px;transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.48)}
.v21-redesign .service-card[data-position=center] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(1)}
.v21-redesign .service-card .service-copy{top:420px}
.v21-redesign .service .carousel-arrow{top:190px}
}
@media(prefers-reduced-motion:reduce){.v21-redesign .service-card[data-position] .service-picture{transition:none}}

.v21-redesign .service{height:1180px;min-height:1180px}
.v21-redesign .service-carousel{height:860px}
.v21-redesign .service-window{height:800px}
.v21-redesign .service-window:before{top:120px}
.v21-redesign .service-window:after{top:145px}
.v21-redesign .service-card[data-position] .service-picture{top:320px}
.v21-redesign .service-card .service-copy{top:580px}
.v21-redesign .service .carousel-arrow{top:300px}
@media(max-width:767px){.v21-redesign .service{height:1080px;min-height:1080px}.v21-redesign .service-window:before{top:95px}.v21-redesign .service-window:after{top:112px}.v21-redesign .service-card[data-position] .service-picture{top:230px}.v21-redesign .service-card .service-copy{top:440px}.v21-redesign .service .carousel-arrow{top:210px}}

@media(max-width:767px){
.v21-redesign .service-window{--orbit-radius:clamp(100px,calc(50vw - 45px),135px)}
.v21-redesign .service-window:before{width:calc(2 * var(--orbit-radius));height:calc(2 * var(--orbit-radius));top:calc(230px - var(--orbit-radius))}
.v21-redesign .service-window:after{width:calc(2 * var(--orbit-radius) - 34px);height:calc(2 * var(--orbit-radius) - 34px);top:calc(247px - var(--orbit-radius))}
}

/* v37: three large visible service images; other orbit members enter on selection. */
.v21-redesign .service-card[data-position=far] .service-picture,.v21-redesign .service-card[data-position=wait] .service-picture{opacity:0;visibility:hidden;transition:transform 1.04s var(--ease),opacity .35s,visibility 0s .35s}
.v21-redesign .service-card[data-position=center] .service-picture,.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{opacity:1;visibility:visible;transition:transform 1.04s var(--ease),opacity .35s;transition-delay:0s}
.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.76)}
@media(max-width:767px){.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.66)}}
@media(max-width:350px){.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.60)}}

/* v38: larger three images and a restrained architectural circular ring. */
.v21-redesign .service-window{--orbit-radius:260px}
.v21-redesign .service-window:before{width:520px;height:520px;top:140px;border:32px solid rgba(255,255,255,.9);box-shadow:0 10px 36px #123f4908,0 0 0 1px #ffffffb3;background:none}
.v21-redesign .service-window:after{width:444px;height:444px;top:178px;border:1px solid #ffffffba;box-shadow:none;background:none}
.v21-redesign .service-card[data-position] .service-picture{width:330px;height:330px;top:400px;margin-left:-165px;margin-top:-165px}
.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.9)}
.v21-redesign .service-card .service-copy{top:720px}
.v21-redesign .service-window{height:960px}
.v21-redesign .service-carousel{height:1020px}
.v21-redesign .service{height:1370px;min-height:1370px}
.v21-redesign .service .carousel-arrow{top:700px}
.v21-redesign .service .carousel-arrow.prev{left:calc(50% - 90px)}
.v21-redesign .service .carousel-arrow.next{right:calc(50% - 90px)}
@media(min-width:768px) and (max-width:1100px){.v21-redesign .service-card[data-position] .service-picture{width:290px;height:290px;margin-left:-145px;margin-top:-145px}.v21-redesign .service-window{--orbit-radius:230px}.v21-redesign .service-window:before{width:460px;height:460px;top:170px}.v21-redesign .service-window:after{width:384px;height:384px;top:208px}}
@media(max-width:767px){
.v21-redesign .service-window{--orbit-radius:calc(50vw - 90px);height:760px}
.v21-redesign .service-window:before{width:calc(2 * var(--orbit-radius));height:calc(2 * var(--orbit-radius));top:calc(270px - var(--orbit-radius));border-width:14px}
.v21-redesign .service-window:after{width:calc(2 * var(--orbit-radius) - 36px);height:calc(2 * var(--orbit-radius) - 36px);top:calc(288px - var(--orbit-radius))}
.v21-redesign .service-card[data-position] .service-picture{width:210px;height:210px;top:270px;margin-left:-105px;margin-top:-105px}
.v21-redesign .service-card[data-position=center] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(1)}
.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.82)}
.v21-redesign .service-card .service-copy{top:470px}
.v21-redesign .service-carousel{height:800px}
.v21-redesign .service{height:1120px;min-height:1120px}
.v21-redesign .service .carousel-arrow{top:410px}
}

/* Compact phones: keep faces separated while retaining larger service artwork. */
@media(max-width:359px){
.v21-redesign .service-window{--orbit-radius:calc(50vw - 74px)}
.v21-redesign .service-card[data-position] .service-picture{width:180px;height:180px;margin-left:-90px;margin-top:-90px}
.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.8)}
}

/* v39: viewport-wide precision ring with three separated large artworks. */
.v21-redesign .service{--art-size:clamp(240px,27vw,400px);--ring-size:94vw;--orbit-radius:calc(50vw - var(--art-size) * .45 - 32px);--orbit-center:calc(var(--orbit-radius) + var(--art-size) / 2 + 24px);height:calc(var(--orbit-center) + var(--ring-size) / 2 + 390px);min-height:0}
.v21-redesign .service-carousel{height:calc(var(--orbit-center) + var(--ring-size) / 2 + 130px);width:100%;max-width:none}
.v21-redesign .service-window{--orbit-radius:inherit;height:100%;width:100%;overflow:visible}
.v21-redesign .service-window:before{box-sizing:border-box;width:var(--ring-size);height:var(--ring-size);top:calc(var(--orbit-center) - var(--ring-size) / 2);border:clamp(12px,1.5vw,24px) solid #fff;border-radius:50%;background:none;box-shadow:0 14px 44px #17394d09,inset 0 0 0 1px #17394d06}
.v21-redesign .service-window:after{box-sizing:border-box;width:calc(var(--ring-size) - 64px);height:calc(var(--ring-size) - 64px);top:calc(var(--orbit-center) - var(--ring-size) / 2 + 32px);border:1px solid #7398ac40;border-radius:50%;background:none;box-shadow:0 0 0 6px #ffffff45}
.v21-redesign .service-card[data-position] .service-picture{width:var(--art-size);height:var(--art-size);top:var(--orbit-center);margin-left:calc(var(--art-size) / -2);margin-top:calc(var(--art-size) / -2)}
.v21-redesign .service-card[data-position=center] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(1)}
.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.9)}
.v21-redesign .service-card .service-copy{top:calc(var(--orbit-center) - 85px);left:50%;right:auto;width:min(420px,42vw);transform:translateX(-50%)}
.v21-redesign .service .carousel-arrow{top:calc(var(--orbit-center) + 230px)}
@media(max-width:767px){
.v21-redesign .service{--art-size:46vw;--ring-size:94vw;--orbit-radius:32.5vw;--orbit-center:calc(55.5vw + 24px);height:calc(105vw + 670px)}
.v21-redesign .service-carousel{height:calc(105vw + 440px)}
.v21-redesign .service-window:before{border-width:12px}
.v21-redesign .service-window:after{width:calc(var(--ring-size) - 40px);height:calc(var(--ring-size) - 40px);top:calc(var(--orbit-center) - var(--ring-size) / 2 + 20px);box-shadow:0 0 0 4px #ffffff45}
.v21-redesign .service-card[data-position=prev] .service-picture,.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--orbit-angle))) scale(.82)}
.v21-redesign .service-card .service-copy{top:calc(105vw + 90px);width:calc(100vw - 48px)}
.v21-redesign .service .carousel-arrow{top:calc(105vw + 26px)}
}

/* Responsive side angles update immediately on viewport changes. */
@media(max-width:767px){
.v21-redesign .service-card[data-position=prev] .service-picture{transform:rotate(calc(var(--orbit-angle) - 20deg)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(20deg - var(--orbit-angle))) scale(.82)}
.v21-redesign .service-card[data-position=next] .service-picture{transform:rotate(calc(var(--orbit-angle) + 20deg)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-20deg - var(--orbit-angle))) scale(.82)}
}

/* v40: oversized lead image and a lower frosted continuation shelf. */
.v21-redesign .service{--orbit-center:calc(var(--orbit-radius) + var(--art-size) * 1.05 + 24px)}
.v21-redesign .service-card[data-position=center] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius) - var(--art-size) * .25)) rotate(calc(-1 * var(--orbit-angle))) scale(1.6)}
.service-continuation{position:absolute;z-index:55;left:50%;top:calc(var(--orbit-center) + var(--ring-size) / 2 - 135px);width:min(74vw,900px);min-height:150px;transform:translateX(-50%);border:1px solid #ffffffd9;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#ffffffb8,#f1f2f3f2 80%);backdrop-filter:blur(12px);box-shadow:0 -12px 32px #17394d08;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#153349}
.service-continuation>span{font-size:18px;font-weight:800;letter-spacing:.12em}
.service-continuation>div{display:flex;gap:9px}
.service-continuation i{display:block;width:32px;height:6px;border-radius:9px;background:#0079bf33}
.service-continuation i:nth-child(3n){background:#ec308044}
.service-continuation small{font-size:12px;letter-spacing:.06em}
@media(max-width:767px){
.v21-redesign .service{--orbit-center:calc(var(--orbit-radius) + var(--art-size) * .88 + 24px);height:calc(123vw + 790px)}
.v21-redesign .service-carousel{height:calc(123vw + 560px)}
.v21-redesign .service-card[data-position=center] .service-picture{transform:rotate(var(--orbit-angle)) translateY(calc(-1 * var(--orbit-radius) - var(--art-size) * .18)) rotate(calc(-1 * var(--orbit-angle))) scale(1.4)}
.v21-redesign .service-card .service-copy{top:calc(123vw + 115px)}
.v21-redesign .service .carousel-arrow{top:calc(123vw + 55px)}
.service-continuation{top:calc(var(--orbit-center) + var(--ring-size) / 2 - 75px);width:82vw;min-height:90px;border-radius:20px 20px 0 0;gap:7px}
.service-continuation>span{font-size:13px}
.service-continuation i{width:20px;height:4px}
.service-continuation small{font-size:10px}
}

/* v41: continuation markers follow the committed service selection. */
.service-continuation i,.service-continuation i:nth-child(3n){background:#0079bf26;transition:background-color .25s,box-shadow .25s}
.service-continuation i.is-active{background:#ec3080;box-shadow:0 0 0 2px #ec308016}
@media(prefers-reduced-motion:reduce){.service-continuation i{transition:none}}

/* v42: five new protocol collages, retaining the template card geometry. */
.v21-redesign .feature-picture .feature-photo-v42{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
