/* LS Wonen — FAQ */
.lsw-faq-section { --white:#FFFFFF; --bone:#F8F6F2; --ink:#14151A; --body:#6E707A; --rule:#ECECEA; --accent:#C89F49; --accent-soft:#FCEFE8; font-family:'Manrope',system-ui,sans-serif; background:var(--white); color:var(--ink); }
.lsw-faq-section *, .lsw-faq-section *::before, .lsw-faq-section *::after { box-sizing:border-box; }
.lsw-faq { max-width:1280px; margin:0 auto; padding:96px 32px; }

.lsw-faq__head { text-align:center; max-width:680px; margin:0 auto 56px; }
.lsw-faq__eyebrow { display:inline-flex; align-items:center; gap:10px; padding:5px 14px 5px 5px; background:#fff; border:1px solid var(--rule); border-radius:999px; font-size:12.5px; font-weight:600; color:var(--ink); margin-bottom:18px; box-shadow:0 6px 18px -10px rgba(15,15,15,.12), 0 1px 2px rgba(15,15,15,.04); letter-spacing:-.005em; }
.lsw-faq__eyebrow-icon { width:28px; height:28px; border-radius:9px; background:linear-gradient(135deg, var(--accent-soft) 0%, #F6DDD0 100%); color:var(--accent); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.lsw-faq__eyebrow-icon svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.lsw-faq__h2 { font-size:clamp(28px, 3.2vw, 42px); line-height:1.1; letter-spacing:-.02em; font-weight:700; margin:0 0 14px; color:var(--ink); }
.lsw-faq__intro { font-size:15px; line-height:1.6; color:var(--body); margin:0; }

.lsw-faq__body { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:start; }

.lsw-faq__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.lsw-faq__item { background:#fff; border:1px solid var(--rule); border-radius:16px; overflow:hidden; transition:border-color .3s ease, box-shadow .35s ease; }
.lsw-faq__item.is-open { border-color:transparent; box-shadow:0 14px 30px -16px rgba(15,15,15,.16), 0 4px 10px -4px rgba(15,15,15,.06); }
.lsw-faq__q { width:100%; display:grid; grid-template-columns:36px 1fr 32px; gap:14px; align-items:center; padding:18px 22px; background:transparent; border:0; cursor:pointer; text-align:left; font-family:inherit; font-size:15.5px; font-weight:600; color:var(--ink); letter-spacing:-.005em; line-height:1.35; transition:color .3s ease; }
.lsw-faq__q:hover { color:var(--accent); }
.lsw-faq__item.is-open .lsw-faq__q { color:var(--ink); }
.lsw-faq__q-num { font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--accent); width:36px; height:36px; border-radius:10px; background:var(--accent-soft); display:inline-flex; align-items:center; justify-content:center; transition:background .3s ease, color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1); }
.lsw-faq__item.is-open .lsw-faq__q-num { background:var(--accent); color:#fff; transform:rotate(-6deg); }
.lsw-faq__q-toggle { width:32px; height:32px; border-radius:50%; background:var(--bone); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; transition:background .3s ease, color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1); }
.lsw-faq__q-toggle svg { width:14px; height:14px; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.lsw-faq__item.is-open .lsw-faq__q-toggle { background:var(--ink); color:#fff; }
.lsw-faq__item.is-open .lsw-faq__q-toggle svg { transform:rotate(45deg); }
.lsw-faq__a { overflow:hidden; max-height:0; transition:max-height .45s cubic-bezier(.2,.7,.2,1); }
.lsw-faq__a-inner { padding:0 22px 22px 72px; font-size:14.5px; line-height:1.7; color:var(--body); }

.lsw-faq__aside { background:var(--bone); border-radius:24px; overflow:hidden; position:sticky; top:24px; box-shadow:0 24px 50px -28px rgba(15,15,15,.18); }
.lsw-faq__aside-img { position:relative; aspect-ratio:4/3; overflow:hidden; }
.lsw-faq__aside-img img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.04); transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.lsw-faq__aside:hover .lsw-faq__aside-img img { transform:scale(1); }
.lsw-faq__aside-img::after { content:""; position:absolute; inset:auto 0 0 0; height:50%; background:linear-gradient(180deg, transparent 0%, rgba(15,15,15,.45) 100%); pointer-events:none; }
.lsw-faq__aside-kicker { position:absolute; top:18px; left:18px; padding:6px 12px 6px 8px; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-radius:999px; font-size:11px; font-weight:700; color:var(--ink); display:inline-flex; align-items:center; gap:6px; z-index:1; }
.lsw-faq__aside-kicker::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.lsw-faq__aside-body { padding:26px 28px 28px; background:#fff; }
.lsw-faq__aside-h { font-size:19px; font-weight:700; line-height:1.2; margin:0 0 18px; color:var(--ink); letter-spacing:-.015em; }
.lsw-faq__aside-usps { list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:8px; }
.lsw-faq__aside-usp { display:flex; align-items:flex-start; gap:10px; }
.lsw-faq__aside-usp-icon { width:24px; height:24px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.lsw-faq__aside-usp-icon svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.lsw-faq__aside-usp-txt strong { display:block; font-size:13px; font-weight:700; color:var(--ink); line-height:1.25; }
.lsw-faq__aside-usp-txt span { font-size:11.5px; color:var(--body); }
.lsw-faq__aside-cta { width:100%; display:inline-flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 14px 13px 22px; background:var(--ink); color:#fff; border-radius:999px; font-size:13.5px; font-weight:600; text-decoration:none; transition:background .3s ease, transform .35s cubic-bezier(.2,.7,.2,1); }
.lsw-faq__aside-cta:hover { background:var(--accent); transform:translateY(-2px); }
.lsw-faq__aside-cta-arrow { width:30px; height:30px; border-radius:50%; background:var(--accent); display:inline-flex; align-items:center; justify-content:center; transition:transform .35s cubic-bezier(.2,.7,.2,1), background .3s ease, color .3s ease; }
.lsw-faq__aside-cta:hover .lsw-faq__aside-cta-arrow { background:#fff; color:var(--accent); transform:rotate(-45deg); }
.lsw-faq__aside-cta-arrow svg { width:14px; height:14px; color:#fff; transition:color .3s ease; }
.lsw-faq__aside-cta:hover .lsw-faq__aside-cta-arrow svg { color:var(--accent); }

@media (max-width: 980px) {
    .lsw-faq { padding:72px 20px; }
    .lsw-faq__body { grid-template-columns:1fr; gap:32px; }
    .lsw-faq__aside { position:static; max-width:520px; margin:0 auto; width:100%; }
}
@media (max-width: 720px) {
    .lsw-faq { padding:56px 16px; }
    .lsw-faq__head { margin-bottom:40px; }
}
@media (max-width: 560px) {
    .lsw-faq__q { grid-template-columns:34px 1fr 28px; padding:14px 16px; gap:10px; font-size:14.5px; }
    .lsw-faq__q-num { width:34px; height:34px; font-size:10.5px; }
    .lsw-faq__q-toggle { width:28px; height:28px; }
    .lsw-faq__a-inner { padding:0 16px 18px 60px; font-size:14px; }
    .lsw-faq__aside-body { padding:22px; }
}
@media (prefers-reduced-motion: reduce) {
    .lsw-faq__a { transition:max-height .15s linear; }
    .lsw-faq__aside-img img { transform:scale(1) !important; }
}
