/* Shared homepage service accordion. Original robot sprite and animation retained. */
.website_solution_view .main_box.window_width { width:calc(100% - 40px); max-width:1200px; }
.home-services { display:flex; align-items:stretch; gap:18px; text-align:left; }
.home-services,.home-services * { box-sizing:border-box; }
.home-services .home-service-card { position:relative; flex:1 1 0; min-width:0; min-height:512px; padding:26px; overflow:hidden; border:0; border-radius:0; box-shadow:none; color:#152342; background:#fff; transition:flex-grow .3s ease,box-shadow .2s,transform .2s; }
.home-services .home-service-card[open] { flex-grow:3.75; }
.home-services .home-service-card:hover { box-shadow:0 18px 36px rgba(28,44,74,.1); transform:translateY(-6px); }
.home-service-summary { position:relative; display:block; height:458px; cursor:pointer; list-style:none; }
.home-service-summary::-webkit-details-marker { display:none; }
.home-service-summary:focus-visible { outline:2px solid #2781ee; outline-offset:10px; }
.home-service-card[open] .home-service-summary { height:214px; }
.home-services .ai-card-badge { display:none; width:max-content; padding:4px 10px; color:#fff; background:#c00; font-size:12px; line-height:18px; }
.home-service-card[open] .ai-card-badge { display:block; }
.home-services .ai-card-intro { position:relative; z-index:1; padding-top:0; }
.home-service-card[open] .ai-card-intro { width:70%; padding-top:40px; }
.home-services .ai-card-title { margin:0 0 14px; color:#222; font-family:inherit; font-size:24px; font-style:normal; font-weight:400; line-height:29px; }
.home-services [open] .ai-card-title { margin-bottom:8px; }
.home-service-subtitle,.home-services .ai-card-summary { display:none; }
.home-service-card[open] .home-service-subtitle { display:block; margin:0 0 10px; }
.home-service-card[open] .ai-card-summary { display:block; margin:0; }
.home-service-short { margin:0; }
.home-service-card[open] .home-service-short,.home-service-card[open] .home-service-foot { display:none; }
.home-service-foot { position:absolute; bottom:0; left:0; right:0; padding-top:22px; border-top:1px solid #e0e8f3; }
.home-services .ai-card-visual { position:absolute; width:224px; height:224px; right:-54px; bottom:30px; pointer-events:none; }
.home-services [open] .ai-card-visual { right:-4px; top:24px; bottom:auto; width:200px; height:188px; }
.ai-card-robot { position:absolute; width:218px; height:218px; left:0; bottom:0; background:url('/images/newpc/index/ai-card-robot-en-20261010.png') 0 0 / 200% 200% no-repeat; }
.home-services [open] .ai-card-robot { width:182px; height:182px; }
.home-services .ai-card-thought { position:absolute; width:52px; height:52px; right:-1px; top:9px; opacity:0; transform:translateY(8px) scale(.65); filter:drop-shadow(0 5px 9px rgba(25,112,255,.13)); }
.home-services .home-service-card:not([open]) .ai-card-visual { width:100%; max-width:168px; height:auto; aspect-ratio:1; left:50%; right:auto; bottom:68px; transform:translateX(-50%); }
.home-services .home-service-card:not([open]) .ai-card-robot { width:84%; height:84%; }
.home-services .home-service-card:not([open]) .ai-card-thought { width:24%; height:24%; right:0; top:0; }
.home-service-image { position:absolute; display:block; width:320px; max-width:none; height:220px; right:-148px; bottom:50px; object-fit:contain; transform:none; pointer-events:none; }
.home-service-card[open] .home-service-image { width:200px; height:160px; right:-12px; top:46px; bottom:auto; transform:none; }
/* Six supplied AI platform marks orbit the brand while remaining upright. */
.geo-card-orbit { position:absolute; width:100%; max-width:200px; aspect-ratio:1; left:50%; bottom:72px; transform:translateX(-50%); pointer-events:none; isolation:isolate; background:radial-gradient(circle,rgba(204,0,0,.08),rgba(204,0,0,.025) 58%,transparent 72%); }
.home-service-geo[open] .geo-card-orbit { width:206px; max-width:none; left:auto; right:-8px; top:20px; bottom:auto; transform:none; }
.home-service-geo[open] .ai-card-intro { width:calc(100% - 216px); }
.geo-card-orbit:before { content:''; position:absolute; inset:10%; border:1px solid rgba(204,0,0,.08); border-radius:50%; }
.geo-card-orbit:after { content:''; position:absolute; inset:24%; border:1px dashed rgba(204,0,0,.06); border-radius:50%; }
.geo-orbit-core { position:absolute; z-index:1; left:33%; top:33%; width:34%; height:34%; display:flex; align-items:center; justify-content:center; border:1px solid rgba(204,0,0,.06); border-radius:50%; background:#fff; color:#cc0000; font-size:18px; font-weight:700; box-shadow:0 0 24px rgba(204,0,0,.12); animation:geo-brand-breathe 6s ease-in-out infinite paused; }
.geo-orbit-track { position:absolute; inset:0; animation:geo-platform-orbit 48s linear infinite paused; }
.geo-orbit-position { position:absolute; width:20%; height:20%; margin:-10% 0 0 -10%; }
.geo-orbit-position-1 { left:50%; top:10%; }
.geo-orbit-position-2 { left:84.64%; top:30%; }
.geo-orbit-position-3 { left:84.64%; top:70%; }
.geo-orbit-position-4 { left:50%; top:90%; }
.geo-orbit-position-5 { left:15.36%; top:70%; }
.geo-orbit-position-6 { left:15.36%; top:30%; }
.geo-orbit-logo { display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:1px solid #f0eeee; border-radius:50%; background:#fff; box-shadow:0 3px 10px rgba(70,45,45,.08); animation:geo-platform-upright 48s linear infinite paused; }
.geo-orbit-logo img { display:block; width:70%; height:70%; object-fit:contain; }
.home-service-geo.is-playing .geo-orbit-track,.home-service-geo.is-playing .geo-orbit-logo,.home-service-geo.is-playing .geo-orbit-core { animation-play-state:running; }
@keyframes geo-platform-orbit { to { transform:rotate(360deg); } }
@keyframes geo-platform-upright { to { transform:rotate(-360deg); } }
@keyframes geo-brand-breathe { 0%,100% { box-shadow:0 0 18px rgba(204,0,0,.08); } 50% { box-shadow:0 0 30px rgba(204,0,0,.16); } }
.home-services .ai-card-features { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin:16px 0 0; padding:20px 0 18px; border-top:1px solid #e0e8f3; list-style:none; }
.home-services .ai-card-features li { display:flex; align-items:flex-start; gap:9px; min-width:0; margin:0; padding:0; }
.home-services .ai-card-features li > div { flex:1; min-width:0; }
.ai-card-check { position:relative; flex:0 0 19px; display:block; width:19px; height:19px; margin-top:2px; border-radius:50%; background:#c00; }
.ai-card-check:after { content:''; position:absolute; left:6px; top:3px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(35deg); }
.home-services .ai-card-features h4 { margin:0 0 3px; padding:0; font-size:14px; font-weight:600; color:#172137; line-height:20px; }
.home-services .ai-card-features p { margin:0; overflow-wrap:break-word; }
/* Match the solution cards' .home_card_summ typography in every state. */
.home-services .home-service-subtitle,
.home-services .ai-card-summary,
.home-services .home-service-short,
.home-services .home-service-foot,
.home-services .ai-card-features p { color:#666; font-size:14px; font-weight:400; line-height:20px; }
.home-services .home-service-subtitle { width:fit-content; max-width:100%; padding:7px 12px; border-left:3px solid #c50000; border-radius:0 3px 3px 0; background:#f5f6f8; color:#222222; font-size:16px; font-weight:700; line-height:24px; }
.home-services .ai-card-actions { display:flex; gap:12px; padding-top:18px; border-top:1px solid #e0e8f3; }
.home-services .ai-card-action { display:flex; justify-content:center; align-items:center; gap:12px; flex:1 1 0; min-width:0; min-height:44px; padding:8px; border:1px solid #bbcbe0; background:#fff; color:#23334d; font-family:inherit; font-size:14px; font-weight:600; line-height:24px; text-align:center; text-decoration:none; cursor:pointer; }
.home-services .ai-card-primary { border-color:#c00; color:#fff; background:#c00; }
.home-services .ai-card-secondary { border-color:#333; color:#333; }
.home-services .ai-card-action:hover { box-shadow:0 4px 14px rgba(20,60,120,.14); }
.home-services .ai-card-action:focus-visible { outline:2px solid #2781ee; outline-offset:3px; }
.ai-solution-card.is-playing .ai-card-robot { animation:ai-card-wave 8s steps(1,end) infinite; }
.ai-solution-card.is-playing .ai-card-thought { animation:ai-card-think 8s ease-in-out infinite; }
@keyframes ai-card-wave { 0%,6%,30%,95%,100% { background-position:0 0; } 10%,20% { background-position:100% 0; } 15%,25% { background-position:0 100%; } 38%,90% { background-position:100% 100%; } }
@keyframes ai-card-think { 0%,36%,95%,100% { opacity:0; transform:translateY(8px) scale(.65); } 44%,85% { opacity:1; transform:translateY(0) scale(1); } 89% { opacity:1; transform:translateY(-3px) scale(1); } }
@media (min-width:901px) and (max-width:1150px) {
 .home-services { gap:14px; }
 .home-services .home-service-card { padding:24px 20px; }
 .home-services .ai-card-title { font-size:24px; }
 .home-services [open] .ai-card-visual { width:160px; }
 .home-services [open] .ai-card-robot { width:155px; height:155px; }
 .home-services [open] .home-service-image { width:160px; }
 .home-service-card[open] .ai-card-intro { width:calc(100% - 150px); }
 .home-service-card[open] .home-service-summary { height:250px; }
 .home-service-geo[open] .geo-card-orbit { width:160px; right:0; top:42px; }
 .home-service-geo[open] .ai-card-intro { width:calc(100% - 170px); }
}
@media (max-width:900px) {
 .home-services { flex-direction:column; gap:16px; margin-top:24px; }
 .home-services .home-service-card,.home-services .home-service-card[open] { flex:none; min-height:0; padding:16px; }
 .home-services .home-service-card:hover { transform:none; }
 .home-service-summary { height:110px; }
 .home-service-card[open] .home-service-summary { height:auto; min-height:180px; }
 .home-services .ai-card-title { font-size:16px; line-height:22px; margin-bottom:8px; }
 .home-service-short { width:calc(100% - 105px); }
 .home-service-foot { display:none; }
 .home-service-card[open] .ai-card-intro { width:100%; padding-top:20px; }
 .home-services [open] .ai-card-title { padding-right:100px; }
 .home-services .ai-card-badge { padding:3px 8px; font-size:11px; line-height:16px; }
 .home-services .ai-card-summary,.home-services .home-service-short,.home-services .home-service-foot,.home-services .ai-card-features p { font-size:12px; line-height:18px; }
 .home-services .home-service-subtitle { padding:5px 8px; font-size:14px; line-height:20px; }
 .home-service-card[open] .home-service-subtitle { max-width:calc(100% - 95px); }
 .home-services .ai-card-visual,.home-services [open] .ai-card-visual { right:-10px; top:26px; bottom:auto; width:110px; height:100px; }
 .home-services .ai-card-robot,.home-services [open] .ai-card-robot { width:105px; height:105px; }
 .home-services .ai-card-thought { width:28px; height:28px; top:0; }
 .home-services .home-service-card:not([open]) .ai-card-visual { left:auto; right:0; top:14px; bottom:auto; width:100px; height:100px; transform:none; }
 .home-services .home-service-image,.home-services [open] .home-service-image { width:110px; height:90px; right:-12px; top:30px; bottom:auto; }
 .home-services .ai-card-features { gap:12px; margin-top:12px; padding:16px 0; }
 .home-services .ai-card-features h4 { font-size:12px; line-height:18px; }
 .home-services .ai-card-features li { gap:6px; }
 .home-services .ai-card-check { flex-basis:15px; width:15px; height:15px; }
 .home-services .ai-card-check:after { left:5px; top:2px; width:4px; height:8px; }
 .home-services .ai-card-actions { justify-content:center; gap:12px; padding-top:14px; }
 .home-services .ai-card-action { flex:0 1 90px; min-height:31px; padding:4px 8px; font-size:12px; font-weight:400; line-height:21px; }
 .home-service-geo .geo-card-orbit,.home-service-geo[open] .geo-card-orbit { left:auto; right:-4px; top:30px; bottom:auto; width:100px; max-width:none; transform:none; }
 .home-service-geo[open] .ai-card-intro { width:100%; }
 .geo-orbit-core { font-size:12px; }
}
@media (max-width:320px) {
 .home-services .ai-card-title { font-size:15px; }
 .home-services .ai-card-action { flex-basis:82px; }
}
@media (prefers-reduced-motion:reduce) {
 .home-services .home-service-card { transition:none; }
 .home-services .home-service-card:hover { transform:none; }
 .ai-solution-card.is-playing .ai-card-robot { animation:none; background-position:100% 100%; }
 .ai-solution-card.is-playing .ai-card-thought { animation:none; opacity:1; transform:none; }
 .geo-orbit-track,.geo-orbit-logo,.geo-orbit-core { animation:none; }
}
