/* Shared search UI; home accordions keep their existing behaviour. */
.faq-search{display:flex;align-items:center;gap:8px;width:100%;max-width:580px;margin:24px auto 0;padding:4px 10px 4px 20px;background:var(--bg,#F8F7F0);border:1px solid var(--bo,#E8E6D8);border-radius:18px}
.faq-search:focus-within{outline:none;box-shadow:none}
.faq-search input{flex:1;min-width:0;min-height:48px;border:0;outline:none;background:transparent;color:var(--tx,#1C1C1A);font-family:var(--fb,Arial,sans-serif);font-size:1rem;letter-spacing:.02em}
.faq-search input::placeholder{color:var(--mu,#6B6B55);opacity:1}
.faq-search button{display:flex;justify-content:center;align-items:center;flex:0 0 44px;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--mu,#6B6B55);cursor:pointer}
.faq-search button:hover{background:rgba(64,64,47,.08);color:var(--d,#40402F)}
.faq-search button:focus-visible{outline:none;background:transparent;box-shadow:none;color:var(--tx,#1C1C1A)}
.faq-search button:focus-visible svg{stroke-width:2.8}
.faq-search button svg{width:24px;height:24px}
.faq-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.faq-all-link{margin:24px auto 0;text-align:center;font-size:.9rem}
.faq-all-link a,.faq-page a{text-decoration:underline;text-underline-offset:3px}
.faq-all-link a{display:inline-flex;align-items:center;min-height:44px}
.faq-page{padding:110px 0 64px;background:#fff}
.faq-page>.w{max-width:940px}
.faq-page h1{font-family:var(--ft,Sora,sans-serif);font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;text-align:center}
.faq-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:20px;font-size:.9rem;color:var(--mu,#6B6B55)}
.faq-search-help{max-width:580px;margin:12px auto 0;text-align:center;font-family:Helvetica,Arial,sans-serif;font-size:.875rem;line-height:1.6;color:var(--mu,#6B6B55)}
.faq-search-status{margin:24px auto 0;font-size:.95rem;line-height:1.6}
.faq-clear{margin:8px 0}
.faq-clear a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
.faq-results{margin-top:24px}
.faq-results h2{font-family:var(--ft,Sora,sans-serif);font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700;line-height:1.4;margin-bottom:20px}
.faq-items{display:grid;gap:12px}
.faq-item{border:1px solid var(--bo,#E8E6D8);border-radius:18px;background:var(--bg,#F8F7F0);scroll-margin-top:90px;overflow-wrap:anywhere}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:18px 22px;font-family:var(--fb,Arial,sans-serif);font-size:1rem;font-weight:700;line-height:1.5;list-style:none;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:none;box-shadow:none;text-decoration:underline;text-underline-offset:4px}
.faq-toggle{flex:0 0 24px;font-size:1.5rem;font-weight:400;text-align:center;line-height:1}
.faq-item[open] .faq-toggle{transform:rotate(45deg)}
.faq-answer{padding:0 22px 22px;font-size:.95rem;line-height:1.75;color:var(--mu,#6B6B55)}
.faq-answer p+p{margin-top:12px}
.faq-answer ul{padding-left:22px;margin:0}
.faq-answer li+li{margin-top:8px}
.faq-results+.faq-results{margin-top:40px}
.faq-match{border-color:#A5A475;box-shadow:inset 4px 0 0 var(--y,#F9EC00)}
.faq-item mark{background:#F9EC00;color:#1C1C1A;border-radius:2px;padding:0 1px;box-decoration-break:clone}
.faq-empty{margin-top:24px;padding:20px;border:1px solid var(--bo,#E8E6D8);border-radius:18px;line-height:1.7}
.faq-page [hidden]{display:none!important}
@media(max-width:600px){.faq-page{padding:94px 0 40px}.faq-search{padding-left:16px}.faq-item summary{padding:16px;gap:12px}.faq-answer{padding:0 16px 20px}}
@media(prefers-reduced-motion:reduce){.faq-page{scroll-behavior:auto}}
