/* LS Wonen — Mart Visser Feature */
.lsw-mv-section { --white:#FFFFFF; --bone:#F8F6F2; --ink:#14151A; --body:#6E707A; --rule:#ECECEA; --accent:#C89F49; --accent-soft:#FCEFE8; --green:#3FB67A; font-family:'Manrope',system-ui,sans-serif; background:var(--bone); color:var(--ink); }
.lsw-mv-section *, .lsw-mv-section *::before, .lsw-mv-section *::after { box-sizing:border-box; }
.lsw-mv { max-width:1280px; margin:0 auto; padding:96px 32px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.lsw-mv__copy { position:relative; z-index:2; }
.lsw-mv__eyebrow { display:inline-flex; align-items:center; gap:10px; padding:5px 14px 5px 5px; background:var(--white); 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; opacity:0; transform:translateY(10px); }
.lsw-mv__eyebrow-icon { width:28px; height:28px; border-radius:9px; background:linear-gradient(135deg, var(--accent-soft) 0%, #F6DDD0 100%); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; padding:0 6px; }
.lsw-mv__eyebrow-icon img { height:16px; max-width:22px; width:auto; object-fit:contain; display:block; }
.lsw-mv__h2 { font-size:clamp(26px, 3vw, 40px); line-height:1.1; letter-spacing:-.02em; font-weight:700; margin:0 0 16px; color:var(--ink); }
.lsw-mv__h2 .lsw-w { display:inline-block; overflow:hidden; vertical-align:bottom; padding:0 .04em .1em 0; }
.lsw-mv__h2 .lsw-w > span { display:inline-block; }
.lsw-mv__p { font-size:15px; line-height:1.6; color:var(--body); max-width:480px; margin:0 0 24px; opacity:0; transform:translateY(10px); }
.lsw-mv__chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; }
.lsw-mv__chip { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; background:var(--white); border:1px solid var(--rule); border-radius:999px; font-size:12px; font-weight:600; color:var(--ink); opacity:0; transform:translateY(8px) scale(.96); transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease; }
.lsw-mv__chip::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.lsw-mv__chip:hover { background:var(--ink); color:#fff; border-color:var(--ink); transform:translateY(-2px); }
.lsw-mv__cta { display:inline-flex; align-items:center; gap:10px; padding:13px 22px; background:var(--ink); color:#fff; border-radius:999px; font-size:13.5px; font-weight:600; text-decoration:none; transition:transform .35s cubic-bezier(.2,.7,.2,1), background .3s ease; opacity:0; padding-right:8px; }
.lsw-mv__cta:hover { background:var(--accent); transform:translateY(-2px); }
.lsw-mv__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-mv__cta:hover .lsw-mv__cta-arrow { background:#fff; color:var(--accent); transform:rotate(-45deg); }
.lsw-mv__cta-arrow svg { width:14px; height:14px; color:#fff; transition:color .3s ease; }
.lsw-mv__cta:hover .lsw-mv__cta-arrow svg { color:var(--accent); }

.lsw-mv__visual { position:relative; aspect-ratio:1/1; max-height:520px; }
.lsw-mv__photo { position:absolute; inset:0; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(15,15,15,.25); background:var(--bone); }
.lsw-mv__photo img { width:100%; height:100%; object-fit:cover; display:block; will-change:transform; }
.lsw-mv__photo-mask { position:absolute; inset:0; background:var(--bone); transform-origin:right center; z-index:2; }

.lsw-card { position:absolute; background:var(--white); border-radius:14px; box-shadow:0 16px 36px -16px rgba(15,15,15,.18), 0 4px 10px -4px rgba(15,15,15,.06); padding:12px 14px; z-index:3; opacity:0; transform:translateY(16px); }

.lsw-c-pleat { top:24px; left:-24px; min-width:180px; }
.lsw-c-pleat-kicker { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:6px; display:block; }
.lsw-c-pleat-title { font-size:13px; font-weight:700; color:var(--ink); margin:0 0 8px; line-height:1.2; }
.lsw-c-pleat-row { display:flex; gap:5px; }
.lsw-c-pleat-row span { width:6px; height:24px; border-radius:3px; background:var(--accent); }
.lsw-c-pleat-row span:nth-child(even) { height:16px; background:var(--accent-soft); align-self:center; }

.lsw-c-swatch { bottom:48px; right:-28px; padding:14px 16px; }
.lsw-c-swatch-row { display:flex; gap:6px; margin-bottom:8px; }
.lsw-c-swatch-dot { width:22px; height:22px; border-radius:50%; border:2px solid var(--white); box-shadow:0 0 0 1px var(--rule); }
.lsw-c-swatch-dot.is-active { box-shadow:0 0 0 2px var(--accent); }
.lsw-c-swatch-dot--1 { background:#D9D3C2; }
.lsw-c-swatch-dot--2 { background:#6E7B71; }
.lsw-c-swatch-dot--3 { background:#C89F49; }
.lsw-c-swatch-dot--4 { background:#3A4B5C; }
.lsw-c-swatch-dot--5 { background:#14151A; }
.lsw-c-swatch-label { font-size:11px; font-weight:600; color:var(--body); }
.lsw-c-swatch-label strong { color:var(--ink); }

.lsw-c-brand { top:-16px; right:24px; padding:10px 14px; display:flex; align-items:center; gap:8px; }
.lsw-c-brand img { height:22px; width:auto; display:block; }
.lsw-c-brand-tag { font-size:9.5px; font-weight:700; letter-spacing:.12em; color:var(--accent); padding:3px 7px; background:var(--accent-soft); border-radius:999px; }

.lsw-mv__line { position:absolute; width:60px; height:1px; border-top:1.5px dashed var(--rule); z-index:2; }
.lsw-mv__line--1 { top:80px; left:24px; transform:rotate(15deg); }
.lsw-mv__line--2 { bottom:110px; right:0; transform:rotate(-20deg); width:48px; }

@media (max-width: 1024px) {
    .lsw-mv { padding:72px 20px; grid-template-columns:1fr; gap:48px; }
    .lsw-mv__visual { max-width:440px; margin:0 auto; }
    .lsw-c-pleat { left:8px; }
    .lsw-c-swatch { right:8px; }
}
@media (max-width: 480px) {
    .lsw-c-pleat, .lsw-c-swatch { display:none; }
}
@media (prefers-reduced-motion: reduce) {
    .lsw-mv__h2 .lsw-w > span { transform:none !important; }
    .lsw-mv__eyebrow, .lsw-mv__p, .lsw-mv__cta, .lsw-mv__chip, .lsw-card { opacity:1 !important; transform:none !important; }
    .lsw-mv__photo-mask { display:none; }
}
