.solutions-hero>.hero-media{object-position:62% center}
.solutions-page .capability-nav a{padding-block:10px;font-size:13px}
.solutions-page .capabilities-layout{gap:55px}
.solution-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 32px}
.solution-photo{position:relative;display:block;width:100%;padding:0;border:0;background:var(--navy);overflow:hidden;cursor:zoom-in}
.solution-gallery.is-featured .solution-photo:first-child{grid-column:1/-1}
.solution-photo img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;transition:transform .4s,opacity .4s}
.solution-photo:hover img{transform:scale(1.025);opacity:.85}
.solution-photo>span{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:rgba(9,15,26,.85);color:#fff;font-size:12px}
.solution-photo:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.solution-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 30px}
.solution-group h3{font-size:18px;line-height:1.4;font-weight:400;color:var(--ink);margin:0 0 17px;padding-left:13px;border-left:2px solid var(--red)}
.solution-group .capability-scope{grid-template-columns:1fr;gap:12px}
.solution-group .capability-scope li{font-size:14px;color:#647184}
.solution-portfolio-note{font-size:13px;line-height:1.8;color:#657284;padding:22px 24px;border-left:2px solid var(--red);background:#f4f6f9;margin:36px 0 0}
.solution-lightbox{max-width:min(1200px,94vw);max-height:94dvh;padding:0;border:0;background:var(--navy);color:#fff;box-shadow:0 18px 80px #0006}
.solution-lightbox::backdrop{background:rgba(9,15,26,.92)}
.solution-lightbox img{display:block;width:auto;max-width:100%;height:auto;max-height:78dvh;object-fit:contain}
.solution-lightbox p{font-size:14px;line-height:1.4;margin:0;padding:18px 22px}
.lightbox-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--navy);border:1px solid #ffffff40;color:#fff;font-size:20px;cursor:pointer}
.lightbox-close:hover{background:var(--red)}
body:has(.solution-lightbox[open]){overflow:hidden}
@media(max-width:820px){.solutions-page .capabilities-layout{display:block}.solutions-page .capability-nav a{font-size:12px;padding-block:10px}.solution-gallery{gap:10px}.solution-groups{gap:24px}}
@media(max-width:560px){.solution-groups{grid-template-columns:1fr}.solution-gallery{margin-block:24px}.solution-family .capability-heading h2{font-size:23px}.solution-group h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.solution-photo img{transition:none}}
.solutions-page .solution-gallery{display:none}
.solution-carousel{padding-block:24px 76px;max-width:none;margin:0 0 0 26px;width:calc(100% - 26px)}
.solution-carousel__header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.solution-carousel__eyebrow{margin:0 0 7px;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.solution-carousel__header h2{margin:0;color:var(--ink);font-size:30px;font-weight:400;letter-spacing:-.025em}
.solution-carousel__controls{position:absolute;z-index:4;inset:0;display:flex;align-items:center;justify-content:space-between;padding-inline:14px;pointer-events:none}
.solution-carousel__arrow{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid rgba(255,255,255,.55);background:rgba(8,15,26,.62);color:#fff;cursor:pointer;pointer-events:auto;transition:color .2s,background .2s,border-color .2s}
.solution-carousel__arrow:hover{border-color:var(--red);background:var(--red);color:#fff}
.solution-carousel__arrow:focus-visible,.solution-carousel__stage:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.solution-carousel__stage{position:relative;overflow:hidden;background:#0b1421;aspect-ratio:16/9;touch-action:pan-y;outline:none}
.solution-carousel__slides,.solution-carousel__slide{position:absolute;inset:0}
.solution-carousel__slide{opacity:0;visibility:hidden;transform:translateX(22px);transition:opacity .65s ease,transform .65s ease,visibility .65s;pointer-events:none}
.solution-carousel__slide.is-before{transform:translateX(-22px)}
.solution-carousel__slide.is-active{z-index:1;opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}
.solution-carousel__slide .solution-photo{height:100%;cursor:zoom-in}
.solution-carousel__slide .solution-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;user-select:none;-webkit-user-drag:none}
.solution-carousel__slide .solution-photo>span{right:18px;bottom:18px;width:40px;height:40px;font-size:14px}
.solution-carousel__status{display:flex;align-items:center;gap:16px;margin-top:16px}
.solution-carousel__progress{position:relative;display:block;flex:1;height:2px;background:#e1e5ea;overflow:hidden}
.solution-carousel__progress>span{display:block;width:0;height:100%;background:var(--red);transition:width .45s ease}
.solution-carousel__count{min-width:52px;color:#657184;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}
@media(max-width:820px){.solution-carousel{padding-block:22px 58px}.solution-carousel__stage{aspect-ratio:4/3}}
@media(max-width:560px){.solution-carousel{padding-block:20px 46px}.solution-carousel__header{margin-bottom:15px}.solution-carousel__header h2{font-size:25px}.solution-carousel__controls{padding-inline:10px}.solution-carousel__arrow{width:32px;height:32px;flex-basis:32px}.solution-carousel__stage{aspect-ratio:1/1.03}.solution-carousel__slide .solution-photo>span{right:12px;bottom:12px;width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.solution-carousel__slide,.solution-carousel__progress>span{transition-duration:.01ms}}
.solution-carousel__caption{position:absolute;z-index:2;inset:auto 0 0;padding:58px 28px 24px;background:linear-gradient(0deg,rgba(8,15,26,.82),transparent);color:#fff;font-size:17px;font-weight:500;letter-spacing:.01em;pointer-events:none}
@media(max-width:560px){.solution-carousel__caption{padding:46px 16px 16px;font-size:14px}}

