/* Homepage media and capability cards follow the CPS navy/purple system. */
.cps-home-expertise .wrap{gap:48px}
.cps-home-expertise-media{min-height:550px}
.cps-home-expertise h2{white-space:pre-line;font-weight:650}
.cps-home-proof{display:grid;grid-template-columns:1fr 1.35fr;gap:22px;padding:18px 0;border-top:1px solid #dfd3e6;border-bottom:1px solid #e1e8f0;margin:24px 0}
.cps-home-proof>div+div{border-left:1px solid #e1e8f0;padding-left:22px}
.cps-home-proof strong{display:block;font-size:29px;font-weight:650;line-height:1.2;letter-spacing:-.6px;color:#6e2b8c}
.cps-home-proof strong small{font-size:12px;letter-spacing:0;font-weight:500}
.cps-home-proof>div>span{display:block;font-size:10px;line-height:1.5;color:#586b7e;margin-top:7px}
.cps-home-expertise-media:after{pointer-events:none;z-index:0}
.cps-home-skill-links{gap:12px;margin:22px 0}
.cps-home-skill-links a{display:grid;grid-template-columns:38px 1fr 14px;gap:12px;padding:18px 14px;border:1px solid #e1e8f0;border-radius:7px;background:#f7f9fc;transition:background .2s,border-color .2s,transform .2s}
.cps-home-skill-links a:hover{background:#f4edf8;border-color:#bd9ccd;transform:translateY(-2px)}
.cps-home-skill-links img{position:static;width:36px;height:36px;object-fit:contain}
.cps-home-skill-links strong{display:block;font-size:13px;line-height:1.35;color:#08263f}
.cps-home-skill-links small{display:block;margin-top:5px;font-weight:400;font-size:10px;line-height:1.45;color:#5b6f83}
.cps-home-skill-links .cps-skill-arrow{color:#6e2b8c;align-self:start;font-size:16px}
.cps-home-expertise-process{display:flex;gap:10px;align-items:center;padding:0 0 22px;font-size:11px;color:#5b6f83;flex-wrap:wrap}
.cps-home-expertise-process svg{width:12px;height:12px;color:#a071b3}
.cps-showcase-cover{transition:opacity .35s}
.cps-showcase-video{position:absolute;inset:0 0 auto;width:100%;height:calc(100% - 88px);border:0;object-fit:cover;z-index:1;background:#00172d;min-height:200px;opacity:0;transition:opacity .35s}
.is-showcase-playing .cps-showcase-video,.is-showcase-manual .cps-showcase-video{opacity:1}
.is-showcase-playing .cps-showcase-cover{opacity:0}
.cps-showcase-controls{position:absolute;left:22px;right:22px;bottom:45px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c9dce9}
.cps-showcase-controls>span{font-size:8px;letter-spacing:.14em}
.cps-showcase-play{display:inline-flex;gap:8px;align-items:center;background:none;border:0;color:white;padding:5px 0;cursor:pointer;font:inherit;font-size:12px;font-weight:600;line-height:1.3}
.cps-showcase-play svg{width:18px;height:18px;color:#d1a5e1}
.cps-showcase-browse{position:absolute;right:22px;bottom:16px;z-index:2;background:none;border:0;border-bottom:1px solid #b99bcc;padding:2px 0;color:#e8d4f1;font:inherit;font-size:11px;font-weight:600;line-height:1.4;cursor:pointer}
.cps-showcase-browse:hover{color:white;border-color:white}
.cps-showcase-browse:focus-visible,.cps-showcase-play:focus-visible,.cps-floating-film:focus-visible,.cps-films-dialog button:focus-visible{outline:3px solid #c48ae0;outline-offset:5px}
.cps-showcase-floating{background:radial-gradient(ellipse at 50% 52%,#253c58,#071e35 48%,#00172d 100%);isolation:isolate}
.cps-showcase-floating:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff18 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.cps-showcase-floating:after{display:none}
.cps-floating-heading{position:absolute;top:26px;left:28px;right:28px;color:white}
.cps-floating-heading>span{display:block;font-size:8px;letter-spacing:.17em;color:#d2a5e3;margin-bottom:8px}
.cps-floating-heading>strong{font-size:23px;font-weight:600;letter-spacing:-.5px}
.cps-floating-orbit{position:absolute;inset:90px 28px 95px}
.cps-floating-slot{position:absolute;transform:translate(-50%,-50%);width:100px;left:50%;top:48%;transition:left .85s cubic-bezier(.22,.61,.36,1),top .85s cubic-bezier(.22,.61,.36,1),width .85s cubic-bezier(.22,.61,.36,1),opacity .65s,scale .85s}
.cps-floating-slot[hidden]{display:none}
.cps-floating-slot.is-entering{opacity:0;scale:.75}
.cps-floating-slot.slot-0{width:174px;z-index:2}
.cps-floating-slot.slot-1{left:22%;top:15%;width:108px}
.cps-floating-slot.slot-2{left:78%;top:15%;width:95px}
.cps-floating-slot.slot-3{left:89%;top:57%;width:108px}
.cps-floating-slot.slot-4{left:74%;top:87%;width:88px}
.cps-floating-slot.slot-5{left:22%;top:87%;width:108px}
.cps-floating-slot.slot-6{left:8%;top:52%;width:83px}
.cps-floating-film{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border:2px solid #ffffff35;border-radius:50%;overflow:hidden;background:#12304c;box-shadow:0 10px 24px #0006;cursor:pointer;transition:scale .2s,border-color .2s}
.cps-floating-film:before{content:'';position:absolute;inset:22%;background:#c69bdc;opacity:.25;mask:url('/assets/brand/approved/cps-group.svg') center/contain no-repeat;pointer-events:none}
.cps-floating-film[data-thumbnail-ready=true]:before{display:none}
.cps-floating-film>img{position:static!important;display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.8);border-radius:50%;opacity:0}
.cps-floating-film>span{position:absolute;inset:0;display:grid;place-items:center;color:white;background:linear-gradient(0deg,#071e355e,transparent)}
.cps-floating-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .35s}
.cps-floating-film.is-preview-playing .cps-floating-preview{opacity:1}
.cps-floating-film.is-preview-playing>img{opacity:0!important}
.cps-floating-film.is-preview-playing:before{display:none}
.cps-floating-film.is-preview-playing>span{opacity:0;transition:opacity .2s}
.cps-floating-film.is-preview-playing:hover>span,.cps-floating-film.is-preview-playing:focus-visible>span{opacity:1}
.cps-floating-preview-toggle{background:none;border:0;border-bottom:1px solid #8eacc1;padding:2px 0;color:#d8e8f2;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
.cps-floating-preview-toggle[hidden]{display:none}
.cps-floating-preview-toggle:focus-visible{outline:3px solid #c48ae0;outline-offset:5px}
.previews-paused .cps-floating-film{animation-play-state:paused}
.cps-floating-film svg{width:28px;height:28px;filter:drop-shadow(0 2px 5px #0008)}
.slot-0 .cps-floating-film svg{width:44px;height:44px}
.slot-0 .cps-floating-film{border-color:#b78bd0;box-shadow:0 0 0 4px #b78bd015,0 12px 30px #0007}
.rotation-paused .cps-floating-film{animation-play-state:paused}
.cps-floating-film:hover{scale:1.08;border-color:#c28adc;animation-play-state:paused!important}
.cps-floating-label{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);max-width:180px;width:max-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce8f2;font-size:9px;text-align:center}
.cps-floating-foot{position:absolute;left:28px;right:28px;bottom:18px;display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:center}
.cps-floating-preview-toggle{grid-column:2;grid-row:1;justify-self:end}
.cps-floating-rotation-toggle{grid-column:1;grid-row:2;justify-self:start;background:none;border:0;border-bottom:1px solid #8eacc1;padding:2px 0;color:#d8e8f2;font:inherit;font-size:10px;cursor:pointer}
.cps-floating-rotation-toggle[hidden]{display:none}
.cps-floating-rotation-toggle:focus-visible{outline:3px solid #c48ae0;outline-offset:5px}
.cps-floating-foot>span{font-size:10px;color:#a5bfd2}
.cps-floating-foot .cps-showcase-browse{position:static;font-size:11px;grid-column:2;grid-row:2;justify-self:end}
.cps-showcase-floating[data-count='1'] .slot-0{width:220px;top:48%}
.cps-showcase-floating[data-count='2'] .slot-0{left:30%;top:42%;width:220px}
.cps-showcase-floating[data-count='2'] .slot-1{left:75%;top:64%;width:174px}
.cps-showcase-floating[data-count='2'] .cps-floating-orbit:before{content:'';position:absolute;inset:4% 2%;border:1px solid #bd8cd31a;border-radius:50%;transform:rotate(-20deg);pointer-events:none}
.cps-showcase-floating[data-count='3'] .slot-1{left:15%;top:65%}
.cps-showcase-floating[data-count='3'] .slot-2{left:85%;top:65%}
.has-motion .cps-floating-film{animation:cps-film-float 4s ease-in-out infinite alternate}
.cps-floating-orbit:hover .cps-floating-film,.cps-floating-orbit:focus-within .cps-floating-film{animation-play-state:paused}
.has-motion .slot-1 .cps-floating-film,.has-motion .slot-4 .cps-floating-film{animation-delay:-2s}
.has-motion .slot-2 .cps-floating-film,.has-motion .slot-5 .cps-floating-film{animation-delay:-1s}
@keyframes cps-film-float{from{transform:translateY(-5px)}to{transform:translateY(5px)}}
body.cps-film-open{overflow:hidden}
.cps-films-dialog{width:min(1080px,calc(100% - 44px));max-width:none;max-height:90vh;margin:auto;padding:30px;border:1px solid #ffffff28;border-radius:12px;color:#0b2944;background:#f7f9fc;box-shadow:0 30px 100px #0008;overflow:auto}
.cps-films-dialog::backdrop{background:#001326d9;backdrop-filter:blur(7px)}
.cps-films-top{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}
.cps-films-top .eyebrow{font-size:9px;color:#6e2b8c;letter-spacing:.13em}
.cps-films-top h2{font-size:32px;margin:9px 0 12px;letter-spacing:-.6px;color:#00172d}
.cps-films-top p{font-size:14px;color:#526b7e;line-height:1.6}
.cps-films-close{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#fff;border:1px solid #d8e0e9;border-radius:50%;cursor:pointer;color:#09263f;font-size:26px}
.cps-films-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 18px}
.cps-films-filters button{padding:9px 15px;border:1px solid #dce4ec;border-radius:24px;background:#fff;color:#3a526a;cursor:pointer;font-size:12px}
.cps-films-filters button[aria-pressed=true]{background:#6e2b8c;border-color:#6e2b8c;color:white}
.cps-films-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cps-film-card{display:flex;flex-direction:column;text-align:left;border:1px solid #dce4ec;border-radius:8px;background:#fff;padding:0 0 20px;overflow:hidden;cursor:pointer;color:#08263f}
.cps-film-card:hover{border-color:#9f68ba}
.cps-film-thumbnail{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#00172d}
.cps-film-thumbnail img{width:100%;height:100%;object-fit:cover}
.cps-film-thumbnail svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;padding:10px;border-radius:50%;background:#6e2b8c;color:white}
.cps-film-card>small,.cps-film-card>strong,.cps-film-card>span:not(.cps-film-thumbnail){margin:12px 18px 0}
.cps-film-card>small{color:#6e2b8c;font-size:9px}
.cps-film-card>strong{font-size:16px;line-height:1.3}
.cps-film-card>span:not(.cps-film-thumbnail){color:#5b6f83;font-size:12px;line-height:1.6}
.cps-film-frame{aspect-ratio:16/9;background:#00172d;border-radius:7px;overflow:hidden;min-height:200px}
.cps-film-frame iframe{width:100%;height:100%;border:0}
.cps-film-caption{padding:20px 0 8px}
.cps-film-caption h3{font-size:23px;margin:0 0 10px}
.cps-film-caption p{font-size:13px;color:#526b7e;line-height:1.75;white-space:pre-line}
.cps-film-caption a{color:#6e2b8c;font-size:12px;font-weight:600}
.cps-film-caption small{display:block;margin-top:12px;color:#526b7e;font-size:11px}
@media(max-width:1100px){.cps-home-expertise .wrap{gap:30px}.cps-home-skill-links a{grid-template-columns:28px 1fr 10px;gap:9px;padding:13px 10px}.cps-home-skill-links img{width:27px;height:27px}.cps-home-skill-links strong{font-size:12px}.cps-floating-orbit{inset-inline:22px}.cps-floating-slot.slot-0{width:140px}.cps-floating-slot:not(.slot-0){width:76px}.cps-films-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cps-home-expertise-media{min-height:410px;height:410px}.cps-home-skill-links a{padding:15px 12px}.cps-home-expertise .wrap{gap:30px}.cps-home-expertise-process{gap:8px}.cps-floating-orbit{inset:90px 20px 95px}.cps-floating-slot.slot-0{width:140px}.cps-floating-slot:not(.slot-0){width:70px}.cps-floating-label{max-width:110px;font-size:8px}.cps-showcase-floating[data-count='1'] .slot-0{width:190px}.cps-showcase-floating[data-count='2'] .slot-0{width:140px}.cps-showcase-floating[data-count='2'] .slot-1{width:100px}.cps-floating-heading{left:24px;top:24px}.cps-floating-foot{left:24px;right:24px}.cps-films-dialog{width:calc(100% - 24px);padding:20px}.cps-films-grid{grid-template-columns:1fr}.cps-films-top h2{font-size:26px}.cps-films-top{gap:12px}.cps-showcase-controls>span{display:none}}
@media(prefers-reduced-motion:reduce){.has-motion .cps-floating-film{animation:none}.cps-floating-slot,.cps-floating-film,.cps-home-skill-links a,.cps-showcase-cover{transition:none}}
