/* Book Nook story section — product description. All rules scoped under .lw-bn
   so nothing here touches the rest of the theme. White to match the live site,
   Inter (site font), the product's warm-LED amber + brand green as accents. */
.lw-bn{
	--bn-ink:#1B1713; --bn-ink2:#4E463E; --bn-muted:#8C847A;
	--bn-surface:#F7F4EF; --bn-line:#E9E3DA; --bn-bg:#FFFFFF;
	--bn-green:#7AB38B; --bn-amber:#CF8A33; --bn-amber2:#EBAE59;
	--bn-dark:#211812;
	--bn-shadow:26px 32px 60px -34px rgba(60,38,12,.45);
	font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	color:var(--bn-ink2); line-height:1.7;
}
.lw-bn *{box-sizing:border-box}
.lw-bn img{display:block;max-width:100%;height:auto}
.lw-bn h2,.lw-bn h3{color:var(--bn-ink);margin:0;line-height:1.08;font-weight:800;letter-spacing:-.02em}
.lw-bn p{margin:0}
.lw-bn strong,.lw-bn b{color:var(--bn-ink);font-weight:800}
.lw-bn__eyebrow{display:block;font-weight:800;font-size:.76rem;letter-spacing:.17em;
	text-transform:uppercase;color:var(--bn-green);margin-bottom:16px}
.lw-bn__wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,44px)}
.lw-bn section{overflow-x:clip}

/* ---- intro: layered two-image + headline ---- */
.lw-bn__intro{padding-block:clamp(40px,6vw,86px)}
.lw-bn__intro-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,72px);align-items:center}
.lw-bn__collage{position:relative;aspect-ratio:4/3}
.lw-bn__collage img{position:absolute;border-radius:16px;box-shadow:var(--bn-shadow);background:var(--bn-surface)}
.lw-bn__collage .bn-back{width:84%;top:0;right:0;transform:rotate(2.5deg);z-index:1;aspect-ratio:4/3;object-fit:cover}
.lw-bn__collage .bn-front{width:52%;left:0;bottom:0;transform:rotate(-4deg);z-index:2;aspect-ratio:1/1;
	object-fit:cover;border:5px solid var(--bn-bg)}
.lw-bn__intro h2{font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.05}
.lw-bn__intro .bn-body{margin-top:20px;font-size:1.15rem;color:var(--bn-ink2);max-width:42ch}
.lw-bn__intro .bn-body p+p{margin-top:1em}

/* ---- three cards (image / GIF) ---- */
.lw-bn__cards{padding-block:clamp(40px,6vw,82px);background:var(--bn-surface)}
.lw-bn__cards-head{max-width:640px;margin:0 auto clamp(28px,4vw,48px);text-align:center}
.lw-bn__cards-head h2{font-size:clamp(1.8rem,4vw,2.9rem)}
.lw-bn__cards-head p{margin-top:16px;font-size:1.06rem;color:var(--bn-ink2)}
.lw-bn__cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
.lw-bn__card{display:flex;flex-direction:column}
.lw-bn__card .bn-ph{border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:var(--bn-dark);
	box-shadow:0 18px 38px -26px rgba(60,38,12,.45)}
.lw-bn__card .bn-ph img{width:100%;height:100%;object-fit:cover}
.lw-bn__card h3{font-size:1.22rem;margin-top:18px}
.lw-bn__card p{margin-top:9px;font-size:.97rem;color:var(--bn-ink2)}

/* ---- see it come alive (video) ---- */
.lw-bn__alive{padding-block:clamp(44px,6vw,92px)}
.lw-bn__alive-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(28px,4vw,60px);align-items:center}
.lw-bn__alive h2{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.07}
.lw-bn__alive .bn-body{margin-top:16px;font-size:1.1rem;color:var(--bn-ink2)}
.lw-bn__vid{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--bn-shadow);
	background:#000;aspect-ratio:4/3;margin:0}
.lw-bn__vid--sq{aspect-ratio:1/1}
.lw-bn__vid>img,.lw-bn__vid>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.lw-bn__vid .bn-dim{position:absolute;inset:0;animation:lwBnLights 7s ease-in-out infinite;background:
	radial-gradient(120% 90% at 50% 42%,rgba(6,10,26,.12),rgba(4,7,20,.92) 85%),
	linear-gradient(180deg,rgba(10,14,30,.6),rgba(6,8,20,.78))}
.lw-bn__vid .bn-glow{position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none;opacity:0;
	animation:lwBnGlow 7s ease-in-out infinite;
	background:radial-gradient(42% 46% at 50% 44%,rgba(255,196,110,.8),rgba(255,170,70,0) 70%)}
@keyframes lwBnLights{0%{opacity:1}26%{opacity:0}74%{opacity:0}100%{opacity:1}}
@keyframes lwBnGlow{0%{opacity:0}30%{opacity:.95}70%{opacity:.82}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
	.lw-bn__vid .bn-dim{animation:none;opacity:0}
	.lw-bn__vid .bn-glow{animation:none;opacity:.5}
}

/* ---- lights on/off switch (in "see it come alive") ---- */
.lw-bn__switch{max-width:500px}
.lw-bn__switch-stage{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--bn-shadow);aspect-ratio:1/1;background:var(--bn-surface)}
.lw-bn__switch-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}
.lw-bn__switch-stage .bn-sw-off{opacity:0}
.lw-bn__switch.is-off .bn-sw-on{opacity:0}
.lw-bn__switch.is-off .bn-sw-off{opacity:1}
.lw-bn__switch-cap{text-align:center;margin:16px 0 10px;font-size:.9rem;color:var(--bn-muted);font-weight:600}
.lw-bn__switch-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--bn-surface);border:1px solid var(--bn-line);border-radius:999px;padding:5px}
.lw-bn__seg-thumb{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:#4d8767;box-shadow:0 8px 18px -8px rgba(40,90,60,.8);transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1)}
.lw-bn__switch.is-off .lw-bn__seg-thumb{transform:translateX(0)}
.lw-bn__seg{position:relative;z-index:1;appearance:none;border:0;background:transparent;cursor:pointer;font-family:inherit;font-weight:700;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--bn-ink2);padding:13px 10px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;transition:color .3s;line-height:1.2}
.lw-bn__switch:not(.is-off) .lw-bn__seg[data-v="on"]{color:#fff}
.lw-bn__switch.is-off .lw-bn__seg[data-v="off"]{color:#fff}
@media (prefers-reduced-motion:reduce){.lw-bn__switch-stage img,.lw-bn__seg-thumb{transition-duration:.01ms}}

/* ---- responsive ---- */
@media (max-width:880px){
	.lw-bn__intro-grid{grid-template-columns:1fr;gap:14px}
	.lw-bn__collage{max-width:460px;width:100%;margin:0 auto}
	.lw-bn__intro .bn-body{max-width:60ch}
	.lw-bn__cards-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
	.lw-bn__alive-grid{grid-template-columns:1fr;gap:22px}
}
