.faq-page { max-width: 920px; margin: 0 auto; padding: clamp(2rem, 5vw, 4.5rem) 1rem; }
.faq-hero { max-width: 680px; margin-bottom: 2rem; }
.faq-hero span { color: #17775a; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.faq-hero h1 { margin: .65rem 0; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; }
.faq-hero p { color: #746f67; font-size: 1.05rem; line-height: 1.7; }
.faq-list { display: grid; gap: .75rem; }
.faq-item { border: 1px solid #e3ded3; border-radius: 16px; background: #fffdfa; box-shadow: 0 8px 22px rgba(39, 43, 39, .04); }
.faq-item summary { position: relative; padding: 1.15rem 3.25rem 1.15rem 1.25rem; font-weight: 800; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 1.25rem; top: 50%; color: #17775a; font-size: 1.4rem; transform: translateY(-50%); }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { margin: 0; padding: 0 1.25rem 1.25rem; color: #67635d; line-height: 1.7; }
.faq-contact { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding: 1.2rem 1.35rem; border-radius: 16px; background: #eaf5f0; }
.faq-contact a { color: #126d51; font-weight: 800; }
@media (max-width: 560px) { .faq-contact { align-items: flex-start; flex-direction: column; } }
