.faq-section { padding:110px 0; background:#382820; color:#f5eee5; }
.faq-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:80px; align-items:start; }
.faq-heading h2 { font-size:clamp(2.4rem,4vw,4.5rem); margin:20px 0 24px; }
.faq-heading p { color:#d0bfb1; margin:0; }
.faq-list { border-top:1px solid #806049; }
.faq-item { border-bottom:1px solid #806049; }
.faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:25px 0; font-size:1.08rem; font-weight:600; line-height:1.5; list-style:none; cursor:pointer; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:#e1bf91; }
.faq-item summary:focus-visible { outline:2px solid #d0ad7e; outline-offset:5px; }
.faq-toggle { position:relative; width:30px; height:30px; flex:none; border:1px solid #c8a574; border-radius:50%; }
.faq-toggle::before,.faq-toggle::after { content:""; position:absolute; background:#c8a574; left:8px; right:8px; height:1px; top:14px; }
.faq-toggle::after { transform:rotate(90deg); }
.faq-item[open] .faq-toggle::after { display:none; }
.faq-item[open] summary { color:#e1bf91; }
.faq-answer { padding:0 54px 26px 0; color:#d0bfb1; line-height:1.8; }
.faq-answer p { margin:0; }
@media(max-width:900px) { .faq-layout { grid-template-columns:1fr; gap:36px; } .faq-heading p br { display:none; } }
@media(max-width:640px) { .faq-section { padding:75px 0; } .faq-item summary { font-size:1rem; gap:18px; padding:21px 0; } .faq-answer { padding:0 0 24px; font-size:.94rem; } }
