body { background: var(--off-white); }

.faq-topbar { position: sticky; top: 0; z-index: 30; padding: 10px 0; color: var(--charcoal); background: rgba(250,249,245,.95); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.faq-nav { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.faq-brand { display: block; width: 225px; height: 58px; overflow: hidden; background: url("../images/FoLF_Header_Logo_FullColour.png") left center / contain no-repeat; color: transparent; font-size: 0; text-decoration: none; }
.faq-nav nav { display: flex; gap: 22px; font-size: .94rem; }
.faq-nav nav a { color: inherit; font-weight: 700; text-decoration: none; }
.faq-nav nav a:hover { color: var(--river-blue); }

.faq-hero { padding: clamp(70px, 9vw, 116px) 0 clamp(52px, 7vw, 82px); background: var(--soft-blue); border-bottom: 1px solid rgba(46,125,215,.16); }
.faq-hero h1 { margin: 0 0 23px; font-family: "Space Grotesk", sans-serif; font-size: clamp(2.8rem,6vw,5.4rem); line-height: .98; letter-spacing: -.055em; }
.faq-intro { max-width: 700px; margin: 0; color: var(--muted); font-size: clamp(1.15rem,2vw,1.45rem); line-height: 1.5; }
.faq-updated { margin: 22px 0 0; color: var(--muted); font-size: .9rem; }

.faq-section { padding: clamp(58px,8vw,92px) 0; }
.faq-alt { background: white; border-block: 1px solid var(--line); }
.faq-section-label { margin: 0 0 24px; color: var(--river-blue); font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.faq-section details { border-top: 1px solid var(--line); }
.faq-section details:last-child { border-bottom: 1px solid var(--line); }
.faq-section summary { position: relative; cursor: pointer; list-style: none; padding: 24px 54px 24px 0; font-family: "Space Grotesk",sans-serif; font-size: clamp(1.08rem,2vw,1.35rem); font-weight: 600; line-height: 1.25; letter-spacing: -.025em; }
.faq-section summary::-webkit-details-marker { display: none; }
.faq-section summary::after { content: "+"; position: absolute; right: 4px; top: 50%; width: 30px; height: 30px; transform: translateY(-50%); border-radius: 50%; color: var(--river-blue); background: var(--soft-blue); font-family: "Nunito Sans",sans-serif; font-size: 1.35rem; font-weight: 400; line-height: 28px; text-align: center; }
.faq-section details[open] summary::after { content: "−"; }
.faq-answer { max-width: 740px; padding: 0 44px 30px 0; color: #555851; }
.faq-answer p { margin: 0 0 16px; }
.faq-answer ul { margin: 8px 0 20px; padding-left: 24px; }
.faq-answer li { margin: 7px 0; }

.faq-plan { margin: 28px 0 8px; }
.faq-plan-placeholder { width: 100%; aspect-ratio: 630 / 897; background: white url("../images/site-plan.png") center / contain no-repeat; text-indent: -9999px; }
.faq-cta { display: inline-block; margin-top: 5px; padding: 9px 15px; border: 0; border-radius: 999px; color: var(--charcoal); background: var(--warm-accent); font-weight: 700; text-decoration: none; }

@media (max-width: 650px) {
  .faq-topbar { padding: 7px 0; }
  .faq-brand { width: 175px; height: 50px; }
  .faq-nav nav { gap: 14px; font-size: .88rem; }
  .faq-answer { padding-right: 0; }
  .faq-section summary { padding-right: 46px; }
}
