/* LS Wonen — Over Ons */
.lsw-about { --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); padding:96px 24px; }
.lsw-about *, .lsw-about *::before, .lsw-about *::after { box-sizing:border-box; }

.lsw-about__inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:minmax(280px, 1fr) minmax(0, 1.15fr); gap:64px; align-items:center; }
.lsw-about--image-right .lsw-about__inner { grid-template-columns:minmax(0, 1.15fr) minmax(280px, 1fr); }
.lsw-about--image-right .lsw-about__media { order:2; }
.lsw-about--image-right .lsw-about__copy  { order:1; }
.lsw-about.is-text-only .lsw-about__inner { grid-template-columns:minmax(0, 1fr); max-width:780px; }

.lsw-about__media { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.lsw-about__img { margin:0; overflow:hidden; border-radius:18px; background:var(--bone); aspect-ratio:9/16; box-shadow:0 24px 60px -36px rgba(15,15,15,.22); }
.lsw-about__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.lsw-about__img:hover img { transform:scale(1.03); }
.lsw-about__img--1 { transform:translateY(-18px); }
.lsw-about__img--2 { transform:translateY(18px); }

.lsw-about__copy { max-width:560px; }
.lsw-about__eyebrow { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); padding:6px 12px; border:1px solid var(--accent); border-radius:999px; margin-bottom:20px; }
.lsw-about__h2 { font-family:'Cormorant Garamond','Manrope',serif; font-size:clamp(34px, 4.4vw, 52px); line-height:1.05; letter-spacing:-.01em; font-weight:500; margin:0 0 24px; color:var(--ink); }
.lsw-about__body { display:flex; flex-direction:column; gap:14px; margin-bottom:32px; }
.lsw-about__body p { margin:0; font-size:16px; line-height:1.65; color:var(--body); }

.lsw-about__cta { display:inline-flex; align-items:center; gap:12px; padding:14px 22px 14px 16px; background:var(--ink); color:var(--white); text-decoration:none; border-radius:999px; font-weight:600; font-size:14.5px; letter-spacing:.02em; transition:transform .35s cubic-bezier(.2,.7,.2,1), background .25s ease; }
.lsw-about__cta:hover { background:var(--accent); transform:translateY(-2px); }
.lsw-about__cta-icon { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.12); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.lsw-about__cta-icon svg { width:16px; height:16px; }
.lsw-about__cta-arrow svg { width:16px; height:16px; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.lsw-about__cta:hover .lsw-about__cta-arrow svg { transform:translateX(4px); }

@media (max-width: 960px) {
    .lsw-about { padding:72px 20px; }
    .lsw-about__inner,
    .lsw-about--image-right .lsw-about__inner { grid-template-columns:1fr; gap:40px; }
    .lsw-about--image-right .lsw-about__media { order:1; }
    .lsw-about--image-right .lsw-about__copy  { order:2; }
    .lsw-about__copy { max-width:none; }
}
@media (max-width: 520px) {
    .lsw-about { padding:56px 16px; }
    .lsw-about__media { gap:12px; }
    .lsw-about__img--1 { transform:translateY(-8px); }
    .lsw-about__img--2 { transform:translateY(8px); }
    .lsw-about__h2 { font-size:32px; }
}
@media (prefers-reduced-motion: reduce) {
    .lsw-about__img img,
    .lsw-about__cta,
    .lsw-about__cta-arrow svg { transition:none; }
}
