.home-keyword-faq {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.35fr);
    align-items: center;
    gap: clamp(28px, 5vw, 70px);
    margin-block: 32px 52px;
    padding: 34px;
    border: 1px solid #e0ebe4;
    border-radius: 28px;
    background: linear-gradient(125deg, #fff 30%, #f3f8f5);
    box-shadow: inset 0 1px 0 #fff, 0 16px 45px -30px #204c3540;
}
.home-faq-symbol { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 18px; border: 1px solid #cfe6d8; border-radius: 18px; background: linear-gradient(140deg, #f0faf4, #dcefe3); color: #087447; box-shadow: inset 0 1px 0 #fff, 0 6px 15px #204c3509; }
.home-faq-symbol svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.home-keyword-faq .section-kicker { margin-bottom: 9px; }
.home-keyword-faq .home-faq-intro h2 { margin: 0 0 13px; color: #1e4135; font-size: clamp(1.2rem, 1.7vw, 1.55rem); line-height: 1.85; }
.home-keyword-faq .home-faq-intro p { font-size: .77rem; color: #64776d; line-height: 2.1; }
.home-keyword-faq .section-link { align-items: center; gap: 12px; padding-bottom: 4px; border-bottom: 1px solid #bedbc9; font-size: .76rem; }
.home-keyword-faq > div:last-child { display: grid; gap: 12px; border: 0; }
.home-keyword-faq details { padding: 0; border: 1px solid #e0e9e3; border-radius: 16px; background: #ffffffd9; box-shadow: 0 4px 14px #29443205; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.home-keyword-faq details:last-child { border: 1px solid #e0e9e3; }
.home-keyword-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 74px; padding: 18px 21px; list-style: none; color: #294a3c; font-size: .83rem; line-height: 2; cursor: pointer; }
.home-keyword-faq summary::-webkit-details-marker { display: none; }
.home-keyword-faq summary::after { content: "+"; display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #daeade; border-radius: 9px; background: #f0f7f2; color: #23724c; font: 22px/1 Arial, sans-serif; }
.home-keyword-faq details[open] { border-color: #a6cdb6; box-shadow: 0 7px 22px #2944320a; }
.home-keyword-faq details[open] summary { color: #09653b; }
.home-keyword-faq details[open] summary::after { content: "−"; background: #087447; border-color: #087447; color: #fff; }
.home-keyword-faq details p { margin: 0 21px 20px; padding-top: 15px; border-top: 1px solid #e7eee9; color: #5e7267; font-size: .77rem; line-height: 2.2; }
.home-keyword-faq summary:hover { background: #f6faf7; }
.home-keyword-faq summary:focus-visible { outline: 2px solid #08783e; outline-offset: -4px; border-radius: 14px; }
@media (max-width: 850px) { .home-keyword-faq { grid-template-columns: 1fr; gap: 26px; padding: 28px; } .home-faq-intro { max-width: 620px; } }
@media (max-width: 480px) { .home-keyword-faq { margin-block: 24px 36px; padding: 23px 18px; border-radius: 22px; } .home-keyword-faq summary { gap: 12px; padding: 16px; font-size: .78rem; } .home-keyword-faq details p { margin-inline: 16px; } }
@media (prefers-reduced-motion: reduce) { .home-keyword-faq details { transition: none; } }
