.home-solutions{padding:64px 24px;background:#f4f5f6;color:#222;text-align:left;scroll-margin-top:80px;}
.home-solutions,.home-solutions *{box-sizing:border-box;}
.home-solutions-inner{width:100%;max-width:1200px;margin:0 auto;}
.home-solutions-intro{text-align:center;margin:0 0 36px;}
.home-solutions-intro h2{margin:0;font-size:32px;font-weight:400;line-height:1.5;}
.home-solutions-intro p{margin:16px 0 0;color:#666;font-size:16px;line-height:1.8;}
.home-solutions-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 16px;background:#fff;border-bottom:0;}
.home-solutions-tabs[hidden],.home-solution-panel[hidden]{display:none;}
.home-solutions-tab{position:relative;display:block;min-width:0;min-height:80px;margin:0;padding:24px 32px;border:0;border-radius:0;background:#fff;color:#222;font:inherit;text-align:left;cursor:pointer;appearance:none;transition:background-color .18s,color .18s;}
.home-solutions-tab:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:transparent;content:"";}
.home-solutions-tab-title{display:block;font-family:inherit;font-size:24px;font-style:normal;line-height:32px;font-weight:400;}
.home-solutions-tab:hover{background:#fff9f9;color:#c00;}
.home-solutions-tab[aria-selected=true]{background:#fff5f5;color:#c00;}
.home-solutions-tab[aria-selected=true]:after{background:#c00;}
.home-solutions-tab:focus-visible,.home-solution-link:focus-visible,.home-solution-panel:focus-visible{outline:2px solid #c00;outline-offset:-4px;}
.home-solution-panel{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:center;gap:40px;margin:0;padding:40px;background:#fff;border:0;border-radius:0;box-shadow:none;}
.home-solution-panel+.home-solution-panel{margin-top:24px;}
.home-solutions.is-enhanced .home-solution-panel{margin-top:0;}
.home-solution-visual{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;aspect-ratio:4/3;background:#f0f1f2;overflow:hidden;}
.home-solution-visual img{display:block;width:100%;height:auto;}
.home-solution-visual.home-solution-visual-image{aspect-ratio:3/2;background:transparent;}
.home-solution-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;color:#9a9da3;font-size:14px;line-height:1.6;}
.home-solution-placeholder-icon{position:relative;display:block;width:40px;height:30px;border:1px solid #c6c9cd;overflow:hidden;}
.home-solution-placeholder-icon:before{position:absolute;left:8px;bottom:-12px;width:25px;height:25px;border:1px solid #c6c9cd;transform:rotate(45deg);content:"";}
.home-solution-placeholder-icon:after{position:absolute;top:5px;right:6px;width:5px;height:5px;background:#c6c9cd;content:"";}
.home-solution-copy{min-width:0;}
.home-solution-copy .home-solution-category{width:fit-content;max-width:100%;margin:0 0 10px;padding:4px 10px;border:0;border-radius:0;background:#c00;color:#fff;font-size:14px;font-weight:400;line-height:20px;}
.home-solution-copy h3{margin:0 0 10px;color:#222;font-family:inherit;font-size:24px;font-weight:400;line-height:29px;overflow-wrap:break-word;}
.home-solution-copy .home-solution-description{margin:0;color:#666;font-size:14px;font-weight:400;line-height:20px;}
.home-solution-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:16px 0 0;padding:20px 0 18px;border-top:1px solid #e0e8f3;}
.home-solution-feature{min-width:0;}
.home-solution-feature h4{margin:0 0 10px;padding:0 0 0 10px;border-left:3px solid #c50000;color:#222;font-size:16px;line-height:24px;font-weight:700;}
.home-solution-feature p{margin:0;color:#666;font-size:14px;font-weight:400;line-height:20px;overflow-wrap:break-word;}
.home_main .home-solution-actions{justify-content:flex-start;margin:0;padding-top:18px;border-top:1px solid #e0e8f3;}
@media(max-width:1100px){
 .home-solution-panel{gap:28px;padding:32px;grid-template-columns:minmax(0,38fr) minmax(0,62fr);}
 .home-solutions-intro h2{font-size:28px;}
 .home-solution-copy h3{font-size:24px;}
}
@media(max-width:900px){
 .home-solution-copy h3{font-size:16px;line-height:22px;margin-bottom:8px;}
 .home-solution-copy .home-solution-description,.home-solution-copy .home-solution-category,.home-solution-feature p{font-size:12px;line-height:18px;}
 .home-solution-copy .home-solution-category{padding:3px 8px;}
 .home-solution-feature h4{font-size:14px;line-height:20px;}
 .home-solution-features{gap:12px;margin-top:12px;padding:16px 0;}
 .home_main .home-solution-actions{padding-top:14px;}
}
@media(max-width:768px){
 .home-solutions{padding:36px 16px;scroll-margin-top:60px;}
 .home-solutions-intro{margin-bottom:24px;}
 .home-solutions-intro h2{font-size:18px;line-height:normal;}
 .home-solutions-intro p{margin-top:12px;font-size:14px;line-height:20px;}
 .home-solutions-tabs{margin-bottom:12px;}
 .home-solution-copy .home-solution-category{font-size:11px;line-height:16px;}
 .home-solution-feature h4{font-size:12px;line-height:18px;font-weight:600;}
 .home-solutions-tab{min-height:64px;padding:12px 10px;}
 .home-solutions-tab-title{font-size:13px;line-height:20px;}
 .home-solutions-tab-title>span{display:block;white-space:nowrap;}
 .home-solution-panel{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 18px;}
 .home-solution-visual{aspect-ratio:16/9;}
}
@media(max-width:380px){
 .home-solutions-tab{padding-right:8px;padding-left:8px;}
 .home-solutions-tab-title{font-size:13px;}
 .home-solution-features{grid-template-columns:minmax(0,1fr);gap:18px;}
}
@media(max-width:320px){
 .home-solution-copy h3{font-size:15px;}
}
@media(prefers-reduced-motion:reduce){
 .home-solutions-tab{transition:none;}
}

/* Code-drawn landscapes share the first card's full-width composition. */
.home-solution-panel-code{background:radial-gradient(ellipse at 15% 45%,rgba(145,207,255,.65),transparent 52%),linear-gradient(112deg,#8ebaf2 0%,#d4e7ff 43%,#eef5ff 72%,#e5f0ff 100%);}
.home-solution-panel-code:before{position:absolute;inset:0;z-index:-1;pointer-events:none;content:"";background:radial-gradient(ellipse at 10% 150%,transparent 57%,rgba(255,255,255,.65) 57.2%,transparent 57.5%,transparent 62%,rgba(255,255,255,.35) 62.2%,transparent 62.5%,transparent 68%,rgba(255,255,255,.28) 68.2%,transparent 68.5%);}
.home-solution-panel-global{background:radial-gradient(ellipse at 20% 65%,rgba(115,137,255,.4),transparent 50%),linear-gradient(115deg,#354fe0 0%,#344edb 48%,#2944be 100%);}
.home-solution-panel-global:before{background:radial-gradient(ellipse at 6% 105%,transparent 28%,rgba(183,203,255,.12) 28.2%,transparent 28.5%,transparent 36%,rgba(183,203,255,.1) 36.2%,transparent 36.5%);}
.home-solution-panel-global .home-solution-copy h3,.home-solution-panel-global .home-solution-feature h4{color:#fff;}
.home-solution-panel-global .home-solution-description,.home-solution-panel-global .home-solution-feature p{color:#e5ecff;}
.home-solution-panel-global .home-solution-features,.home_main .home-solution-panel-global .home-solution-actions{border-top-color:rgba(218,230,255,.25);}
.home-solution-panel-global .home-solution-global-art{max-width:560px;}
.home-solution-art{position:relative;grid-column:1;grid-row:1;width:100%;max-width:460px;justify-self:center;min-width:0;}
.home-solution-panel-code .home-solution-copy{grid-row:1;}
.home-solution-global-art img{display:block;width:100%;height:auto;}
.home-solution-orbit{position:relative;width:100%;aspect-ratio:420/320;max-width:420px;margin:auto;}
.home-solution-orbit:before,.home-solution-orbit:after{position:absolute;content:"";border:1px solid rgba(255,255,255,.85);border-radius:50%;inset:12% 13%;transform:rotate(-20deg);box-shadow:0 0 30px rgba(255,255,255,.3);}
.home-solution-orbit:after{inset:26% 9%;transform:rotate(24deg);border-style:dashed;border-color:rgba(74,133,209,.35);box-shadow:none;}
.home-solution-orbit-ring{position:absolute;inset:15% 24%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85),rgba(255,255,255,0) 70%);}
.home-solution-brand{position:absolute;left:38%;top:35%;width:24%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid #fff;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff,#fff1f1);color:#c00;font-size:25px;font-weight:700;box-shadow:0 10px 30px rgba(72,115,177,.16),0 0 0 10px rgba(255,255,255,.25);}
.home-solution-model{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:86px;height:86px;border:1px solid rgba(255,255,255,.95);border-radius:16px;background:linear-gradient(145deg,#fff,rgba(255,255,255,.78));box-shadow:0 9px 25px rgba(41,100,176,.16);color:#345477;font-size:12px;line-height:16px;animation:home-solution-float 5s ease-in-out infinite;}
.home-solution-model img{display:block;width:44px;height:44px;object-fit:contain;}
.home-solution-model-1{left:40%;top:0;animation-delay:-1s;}
.home-solution-model-2{right:0;top:28%;animation-delay:-3s;}
.home-solution-model-3{right:14%;bottom:0;animation-delay:-2s;}
.home-solution-model-4{left:12%;bottom:0;animation-delay:-4s;}
.home-solution-model-5{left:0;top:27%;}
@keyframes home-solution-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media(max-width:1100px) and (min-width:769px){.home-solution-model{width:74px;height:74px;}.home-solution-model img{width:36px;height:36px;}}
@media(prefers-reduced-motion:reduce){.home-solution-model{animation:none;}}

/* Full-width artwork sits beneath the first solution's content. */
.home-solution-panel-background{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));isolation:isolate;min-height:420px;overflow:hidden;}
.home-solution-panel-background .home-solution-visual-image{position:absolute;inset:0;z-index:-1;height:100%;aspect-ratio:auto;}
.home-solution-panel-background .home-solution-visual-image img{width:100%;height:100%;object-fit:cover;object-position:center;}
.home-solution-panel-background .home-solution-copy{grid-column:2;}
@media(max-width:768px){
 .home-solution-panel-background{grid-template-columns:minmax(0,1fr);padding-top:155px;}
 .home-solution-panel-background .home-solution-copy{grid-column:1;position:relative;}
 .home-solution-panel-background .home-solution-visual-image{background:#e3f1fc;align-items:flex-start;}
 .home-solution-panel-background .home-solution-visual-image img{height:160px;object-position:left top;}
 .home-solution-panel-background .home-solution-visual-image:after{position:absolute;inset:120px 0 0;background:linear-gradient(to bottom,rgba(227,241,252,0),#e3f1fc 40px);content:"";}
 .home-solution-panel-code{padding-top:24px;gap:28px;}
 .home-solution-panel-code .home-solution-copy{grid-row:2;}
 .home-solution-art{max-width:330px;}
 .home-solution-model{width:68px;height:68px;gap:3px;border-radius:12px;font-size:11px;line-height:14px;}
 .home-solution-model img{width:34px;height:34px;}
 .home-solution-brand{font-size:20px;}
}

/* Let the tallest mobile panel size the shared grid without clipping copy. */
@media(max-width:768px){
 .home-solutions.is-enhanced .home-solutions-panels{display:grid;grid-template-columns:minmax(0,1fr);}
 .home-solutions.is-enhanced .home-solution-panel{grid-area:1 / 1;align-self:stretch;}
 .home-solutions.is-enhanced .home-solution-panel[hidden]{display:flex;visibility:hidden;pointer-events:none;}
 .home-solution-panel-background{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:16px 18px 24px;}
 .home-solution-panel-background .home-solution-copy{display:flex;flex-direction:column;flex:1;}
 .home-solution-panel-background:not(.home-solution-panel-code) .home-solution-copy{margin-top:176px;}
 .home-solution-panel-background .home-solution-visual-image img{height:176px;}
 .home-solution-panel-background .home-solution-visual-image:after{inset:136px 0 0;}
 .home-solution-panel-code .home-solution-art{display:flex;align-items:center;justify-content:center;flex:none;height:160px;width:100%;max-width:none;}
 .home-solution-panel-code .home-solution-orbit{width:210px;max-width:100%;height:160px;margin:0;}
 .home-solution-model{width:48px;height:48px;gap:2px;border-radius:10px;font-size:9px;line-height:11px;}
 .home-solution-model img{width:25px;height:25px;}
 .home-solution-brand{font-size:15px;box-shadow:0 6px 18px rgba(72,115,177,.16),0 0 0 6px rgba(255,255,255,.25);}
 .home-solution-global-art img{width:auto;max-width:100%;height:auto;max-height:160px;}
 .home_main .home-solution-panel-background .home-solution-actions{margin-top:auto;}
}
