/* Approved compact FAQ layout, scoped to this page. */
html[data-page="faq"],body.faq-page{background:#ededed;}
.faq-page .page-header{box-sizing:border-box;width:100%!important;max-width:900px!important;margin:0 auto!important;padding:40px 20px 24px!important;}
.faq-page .page-header h1.title{font:700 38px/1.2 vcsm,sans-serif!important;color:#222!important;text-align:center!important;text-transform:none!important;letter-spacing:normal!important;white-space:normal!important;overflow:visible!important;overflow-wrap:break-word;width:100%!important;margin:0 0 18px!important;padding:0!important;}
.faq-page .page-header p.description{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;font:400 16px/1.6 vcsm,sans-serif!important;color:#4d4d4d!important;text-align:center!important;}
.faq-page #project-modules{width:100%!important;max-width:none!important;padding:0!important;}
.faq-accordion{box-sizing:border-box;width:100%;max-width:900px;margin:0 auto;padding:0 20px 40px;}
.faq-group{margin:32px 0 0;padding:0;}
.faq-group h2{margin:0 0 18px;padding:0;color:#5c4a3e;font:600 24px/1.35 vcsm,sans-serif;text-transform:none;letter-spacing:normal;}
.faq-items{display:flex;flex-direction:column;gap:12px;}
.faq-item{box-sizing:border-box;margin:0;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:6px;background:rgba(255,255,255,.7);color:#333;}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;box-sizing:border-box;list-style:none;margin:0;padding:16px 20px;cursor:pointer;font:600 16px/1.45 vcsm,sans-serif;color:#292929;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::marker{content:"";}
.faq-item summary:hover{background:rgba(255,255,255,.16);border-radius:6px;}
.faq-item summary:focus-visible{outline:2px solid #5c4a3e;outline-offset:2px;border-radius:6px;}
.faq-chevron{display:block;width:12px;height:12px;flex:0 0 12px;fill:none;stroke:#5c4a3e;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s;}
.faq-item[open] .faq-chevron{transform:rotate(180deg);}
.faq-answer{margin:0;padding:0 20px 20px;font:400 15px/1.6 vcsm,sans-serif;color:#4d4d4d;}
.faq-answer p,.faq-answer div{margin:0 0 12px;padding:0;font:inherit;color:inherit;}
.faq-answer>:last-child{margin-bottom:0;}
.faq-answer a{color:#5c4a3e;text-decoration:underline;text-underline-offset:.18em;}
.faq-answer a:hover{color:#2c211a;}
.faq-answer a:focus-visible{outline:2px solid #5c4a3e;outline-offset:3px;}
@media(max-width:768px){
 .faq-page .page-header{padding:24px 20px 12px!important;}
 .faq-page .page-header h1.title{font-size:27px!important;line-height:1.25!important;}
 .faq-page .page-header p.description{font-size:15px!important;}
 .faq-group{margin-top:28px;}
 .faq-group h2{font-size:20px;margin-bottom:14px;}
 .faq-item summary{font-size:16px;padding:14px 16px;gap:16px;}
 .faq-answer{font-size:14px;padding:0 16px 16px;}
}
@media(prefers-reduced-motion:reduce){.faq-chevron{transition:none;}}
