.solution-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.solution-choice{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e3e5ec;border-radius:16px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.solution-choice:hover{border-color:#c91e355c;box-shadow:0 12px 32px #18202c0b;transform:translateY(-4px)}
.solution-choice-visual{display:flex;position:relative;align-items:center;justify-content:center;height:174px;padding:30px 20px 18px;background:radial-gradient(ellipse at 100% 0,#e72e3b09,transparent 65%),#f3f5f9;border-bottom:1px solid #e9ebf1;overflow:hidden;text-decoration:none}
.solution-choice-number{position:absolute;left:14px;top:12px;font-size:9px;font-weight:800;letter-spacing:1px;color:#8a8e9b}
.solution-choice-screen{width:100%;height:100%;border:1px solid #dfe3eb;border-radius:5px;background:#fff;padding:4px;box-shadow:0 6px 15px #222a3c0b;transition:transform .25s}
.solution-choice-screen picture,.solution-choice-screen img{display:block;width:100%;height:100%;object-fit:contain}
.solution-choice:hover .solution-choice-screen{transform:translateY(-2px)}
.solution-choice-placeholder{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#fff;border:1px solid #e2e4eb;box-shadow:0 10px 22px #222a3c09;color:#b91b32}
.solution-choice-placeholder svg{width:32px;height:32px}
.solution-choice-copy{display:flex;flex-direction:column;flex:1;padding:20px;min-width:0}
.solution-choice-heading{display:flex;gap:10px;align-items:center;min-height:44px;margin-bottom:12px}
.solution-choice-heading .solution-icon{flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#faf0f2;color:#b91b32}
.solution-choice-heading .solution-icon svg{width:18px;height:18px}
.solution-choice-heading h3{font-size:17px;line-height:1.3;letter-spacing:-.4px;margin:0;color:#252731;overflow-wrap:anywhere}
.solution-choice-heading h3 a{color:inherit;text-decoration:none}
.solution-choice-copy>p{font-size:12px;line-height:1.75;color:#737785;margin:0 0 18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.solution-choice-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding-top:12px;margin-top:auto;border-top:1px solid #eceef3;color:#a51b30;font-size:11px;font-weight:750;text-decoration:none}
.solution-choice-link svg{width:16px;height:16px}
.solution-choice a:focus-visible{outline:2px solid #be1e2d;outline-offset:-3px}
.solution-section-features .solution-feature-card{position:relative;background:linear-gradient(145deg,#fff,#fafbfd);border-color:#e3e6ed;border-radius:15px;padding:26px;box-shadow:0 3px 12px #18202c03}
.solution-section-features .solution-feature-card>div{margin-bottom:19px}
.solution-section-features .solution-feature-card h3{font-size:20px;line-height:1.35;margin-bottom:10px}
.solution-section-features .solution-feature-card>p{font-size:12px;line-height:1.8}
.solution-section-features .solution-feature-card .solution-icon{border-radius:12px;background:#faf0f2;color:#be1e2d}
.solution-section-steps .solution-steps{gap:18px;counter-reset:steps}
.solution-section-steps .solution-steps article{position:relative;border:1px solid #e4e6ed;background:#fff;border-radius:14px;padding:25px;min-width:0}
.solution-section-steps .step-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#fbf0f2;color:#b81d33;border-radius:11px;font-size:13px;font-weight:800;margin:0 0 17px;position:static}
.solution-section-steps .solution-steps h3{font-size:20px;line-height:1.4;margin-bottom:10px;color:#292c36}
.solution-section-steps .solution-steps p{font-size:12px;line-height:1.8;color:#747987;margin:0}
.solution-section-modules .solution-module{border-radius:12px;background:#ffffff05;border-color:#ffffff20;padding:19px}
.solution-section-modules .solution-module>svg{color:#f07889}
.solution-section-resources .solution-resource{border-radius:13px;background:#fff;box-shadow:0 3px 12px #18202c03;padding:22px}
@media(max-width:1279px){.solution-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1023px){.solution-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:767px){.solution-choice-copy{padding:18px}.solution-choice-heading h3{font-size:16px}.solution-choice-visual{height:155px;padding:27px 16px 16px}.solution-section-steps .solution-steps article{padding:22px}.solution-section-features .solution-feature-card{padding:22px}}
@media(max-width:575px){.solution-choice-grid{grid-template-columns:1fr;gap:16px}.solution-choice-visual{height:175px}.solution-choice-copy>p{font-size:12px}.solution-choice-heading h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.solution-choice,.solution-choice-screen{transition:none}.solution-choice:hover,.solution-choice:hover .solution-choice-screen{transform:none}}
/* Larger, uncropped solution illustrations. */
.solution-choice-visual{height:218px;padding:0;background:#f4f6f9}
.solution-choice-screen{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden}
.solution-choice-screen picture,.solution-choice-screen img{width:100%;height:100%;object-fit:contain}
.solution-choice-number{z-index:1;left:10px;top:10px;background:#ffffffdc;padding:4px 6px;border-radius:5px}
.solution-choice:hover .solution-choice-screen{transform:none}
/* A moving light field and product-specific hero instead of a red placeholder. */
.solution-page .solution-hero:after{background:radial-gradient(ellipse,#b6274452,transparent 65%);transform:translate3d(0,0,0);animation:solution-hero-aura 12s ease-in-out infinite alternate;animation-play-state:paused}
.solution-page .solution-hero-grid:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#e73e5d0c 50%,transparent 65%);transform:translateX(-25%);animation:solution-hero-sweep 10s ease-in-out infinite alternate;animation-play-state:paused;pointer-events:none}
.solution-hero.motion-visible:after,.solution-hero.motion-visible .solution-hero-grid:after{animation-play-state:running}
.solution-concept{position:relative;isolation:isolate;min-width:0;padding:14px 0}
.solution-concept-orbit{position:absolute;inset:7% -4% 8%;border:1px solid #e9597128;border-radius:50%;transform:rotate(-16deg);z-index:-1;box-shadow:0 0 0 26px #ffffff02}
.solution-concept-art{height:360px;overflow:hidden;border-radius:20px;background:#fff;border:1px solid #ffffff24;box-shadow:0 28px 60px #0004;transform:rotate(-2deg);animation:solution-art-float 7s ease-in-out infinite alternate;animation-play-state:paused}
.solution-hero.motion-visible .solution-concept-art{animation-play-state:running}
.solution-concept-art picture,.solution-concept-art img{display:block;width:100%;height:100%;object-fit:contain}
.solution-concept-caption{position:relative;display:flex;align-items:center;gap:9px;border:1px solid #ffffff1f;background:#1c1c26;padding:15px 17px;border-radius:10px;margin:-12px 18px 0;box-shadow:0 8px 25px #0003;z-index:1;color:#fff}
.solution-concept-caption>span{width:6px;height:6px;border-radius:50%;background:#f26075;box-shadow:0 0 12px #f26075}
.solution-concept-caption strong{font-size:13px;line-height:1.4;min-width:0}
.solution-concept-caption small{font-size:7px;letter-spacing:1px;color:#a9a6b9;margin-left:auto}
.solution-concept-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:18px}
.solution-concept-links a{display:flex;align-items:center;gap:9px;padding:9px 11px;min-height:38px;border:1px solid #ffffff20;border-radius:6px;background:#ffffff05;color:#dad7e1;font-size:10px;text-decoration:none}
.solution-concept-links a:hover{background:#ffffff0e;border-color:#d94b655e}
.solution-concept-links svg{width:12px;height:12px}
.solution-concept-typography{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:35px;border-left:2px solid #d52f49;background:linear-gradient(110deg,#d52f4914,transparent);border-radius:0 20px 20px 0}
.solution-concept-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff20;border-radius:14px;color:#f38598;margin-bottom:22px}
.solution-concept-typography small{font-size:9px;letter-spacing:2px;color:#bbb1c1;margin-bottom:12px}
.solution-concept-typography strong{font-size:clamp(30px,3.5vw,54px);letter-spacing:-1.5px;line-height:1.15;color:#fff;overflow-wrap:anywhere}
.solution-concept-line{width:80px;height:3px;margin-top:25px;background:linear-gradient(90deg,#ed4762,transparent)}
@keyframes solution-hero-aura{to{transform:translate3d(-45px,28px,0) scale(1.12)}}
@keyframes solution-hero-sweep{to{transform:translateX(25%)}}
@keyframes solution-art-float{to{transform:translateY(-9px) rotate(0)}}
@media(max-width:1023px){.solution-concept-art{height:300px}.solution-concept-caption{margin-left:5px;margin-right:5px}.solution-concept-caption small{display:none}.solution-choice-visual{height:220px}}
@media(max-width:767px){.solution-concept{padding:10px 0}.solution-concept-art{height:290px;transform:none}.solution-concept-typography{min-height:220px;padding:25px}.solution-concept-caption{padding:12px}.solution-concept-links a{min-height:44px}.solution-choice-visual{height:215px}}
@media(max-width:374px){.solution-concept-art{height:245px}.solution-choice-visual{height:200px}}
@media(prefers-reduced-motion:reduce){.solution-page .solution-hero:after,.solution-page .solution-hero-grid:after,.solution-concept-art{animation:none;transform:none}}
body[data-motion="0"] .solution-hero:after,body[data-motion="0"] .solution-hero-grid:after,body[data-motion="0"] .solution-concept-art{animation:none;transform:none}

/* Sector directory shares the solution collection card system. */
.sector-listing-intro{background:radial-gradient(ellipse at 100% 0,#a3223b30,transparent 55%),#15161d;color:#fff;padding:30px 0 34px}
.sector-listing-intro .breadcrumb-line{color:#b7b4c3;margin-bottom:16px}
.sector-listing-intro .eyebrow{color:#fa8797;font-size:9px;margin-bottom:12px}
.sector-listing-intro h1{font-size:clamp(30px,3.5vw,46px);line-height:1.2;letter-spacing:-1.4px;margin:0 0 14px;color:#fff}
.sector-listing-intro p{font-size:13px;line-height:1.8;max-width:720px;margin:0;color:#bcb9c8}
.sector-catalogue-section{background:#f6f7fa;padding:36px 0 60px}
.sector-catalogue-section .filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:0;padding:16px;border:1px solid #e2e5ec;border-radius:12px;background:#fff;min-width:0}
.sector-catalogue-section .search-field{position:relative;flex:1;min-width:0}
.sector-catalogue-section .search-field>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none;color:#8c8e9b}
.sector-catalogue-section .filter-bar input,.sector-catalogue-section .filter-bar select{margin:0;height:46px;font-size:16px;min-width:0}
.sector-catalogue-section .search-field input{padding-left:42px;width:100%}
.sector-catalogue-section .filter-select{margin:0;min-width:180px}
.sector-catalogue-section .filter-bar .button{height:46px;min-height:46px;white-space:nowrap;font-size:12px;padding:12px 20px}
.sector-catalogue-section .results-count{font-size:11px;color:#8b8e99;margin:16px 0}
.sector-choice-grid>.empty-state{grid-column:1/-1}
@media(max-width:767px){.sector-listing-intro{padding:24px 0 28px}.sector-listing-intro h1{font-size:30px}.sector-catalogue-section{padding:24px 0 36px}.sector-catalogue-section .filter-bar{flex-wrap:wrap;padding:12px;gap:10px}.sector-catalogue-section .search-field{flex:1 0 100%}.sector-catalogue-section .filter-select{flex:1;min-width:0}.sector-catalogue-section .filter-bar .button{padding:12px 16px}}
