.home-faq { padding: var(--case-faq-space,96px) 0; background: #fff; color: #191e25; scroll-margin-top: 96px; }
.home-faq .solution-label { display: inline-flex; align-items: center; padding: 10px 22px; border: 1px solid #49bdf7; border-radius: 999px; color: #269fdc; font-size: 14px; font-weight: 600; line-height: 1.3; }
.home-faq__inner { width: calc(100% - 80px); max-width: 1266px; margin: auto; }
.home-faq__intro { text-align: center; margin-bottom: 40px; }
.home-faq__intro h2 { margin: 20px 0 16px; font-family: Paperlogy, sans-serif; font-size: calc(var(--enhev-title-unit, 10px) * var(--solution-title-scale, 4)); font-weight: 700; line-height: 1.3; letter-spacing: -1px; }
.home-faq__intro h2 em { color: #49bdf7; font-style: normal; }
.home-faq__intro p { font-size: 18px; font-weight: 400; line-height: 1.4; letter-spacing: -.6px; color: #333; }
.home-faq__list { display: grid; gap: 12px; }
.home-faq details { border: 1px solid #dce3e9; border-radius: 16px; background: #fff; overflow: hidden; }
.home-faq [hidden] { display: none !important; }
.home-faq summary { display: flex; align-items: center; gap: 18px; padding: 24px 20px; cursor: pointer; list-style: none; font-size: 20px; font-weight: 600; line-height: 1.4; letter-spacing: -.6px; }
.home-faq summary::-webkit-details-marker { display: none; }
.home-faq__q { color: #269fdc; font-size: 20px; flex: none; }
.home-faq summary::after { content: '+'; margin-left: auto; flex: none; font-size: 26px; line-height: 1; font-weight: 400; color: #637481; }
.home-faq details[open] summary::after { content: '−'; }
.home-faq details[open] { background: #fff; border-color: #49bdf7; }
.home-faq__answer { padding: 0 60px 24px; color: #4a5662; font-size: 16px; line-height: 1.5; letter-spacing: -.4px; word-break: keep-all; }
.home-faq__answer p { margin: 0; }
.home-faq__answer p + p { margin-top: 6px; }
.home-faq__more.charging-cases__more { width: 100%; max-width: none; }
.home-faq__more:has(> button[hidden]) { display: none; }
.home-faq :is(summary,a,button,input):focus-visible { outline: 2px solid #49bdf7; outline-offset: 3px; }
.home-faq__search { display: flex; gap: 10px; width: min(600px, 100%); margin: 0 auto 28px; }
.home-faq__search input { min-width: 0; flex: 1; border: 1px solid #dce3e9; border-radius: 999px; padding: 13px 22px; background: #fff; color: #232a33; font-family: inherit; font-size: 16px; line-height: 1.4; }
.home-faq__search button { flex: none; border: 0; border-radius: 999px; background: #49bdf7; color: #fff; padding: 13px 26px; font-family: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
.home-faq__status { margin: 0 0 14px; color: #63717d; font-size: 15px; }
.home-faq__status:empty { display: none; }
.home-faq__empty { padding: 40px 20px; text-align: center; color: #63717d; border: 1px solid #dce3e9; border-radius: 16px; }
.home-faq__intro.home-news-intro { display: flex; flex-direction: column; align-items: flex-start; margin: 0; text-align: left; }
.home-news-intro > p { margin: 0; }
.home-news-label { display: inline-flex; padding: 10px 22px; border: 1px solid #49bdf7; border-radius: 999px; color: #269fdc; font-size: 14px; font-weight: 600; line-height: 1.3; }
.enhev-main-width .org-latestNews h2.home-news-heading { margin: 20px 0 16px; word-break: keep-all; }
.home-news-heading em { color: #49bdf7; font-style: normal; }
.home-news-title-row { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 20px; }
.home-news-more { display: inline-flex; align-items: center; gap: 8px; flex: none; color: #252b32; font-size: 15px; font-weight: 600; text-decoration: none; }
.home-news-more::after { content: ""; width: 7px; height: 7px; border-top: 1.5px solid; border-right: 1.5px solid; transform: rotate(45deg); }
.home-news-more:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
 .home-news-title-row { position: relative; display: block; }
 .home-news-more { position: absolute; right: 0; bottom: 26px; font-size: 14px; }
}
@media (max-width: 800px) {
 .home-faq__inner { width: calc(100% - 40px); }
 .home-faq__intro { margin-bottom: 28px; }
 .home-faq__intro p { font-size: 16px; }
 .home-faq summary { font-size: 17px; padding: 20px 16px; gap: 12px; }
 .home-faq__answer { padding: 0 20px 20px 34px; font-size: 15px; }
}
