/* Chapter 05: original localized UI over a restrained illustrated backdrop. */
.pv-casual-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:42px; align-items:start; }
.pv-casual-visuals { min-width:0; }
.pv-casual-panel,.pv-casual-calendar { margin:0; text-align:center; }
.pv-casual-panel { padding:24px 12px 18px; background:url('../media/casual/casual-art.webp') center/cover no-repeat; }
.pv-casual-visuals button { display:block; position:relative; margin:auto; padding:0; border:0; background:transparent; max-width:100%; }
.pv-casual-panel button { width:250px; }
.pv-casual-panel img { width:250px; max-width:100%; height:auto; display:block; filter:drop-shadow(0 8px 12px #000c); }
.pv-casual-visuals figcaption { color:#d7bb8b; font-size:13px; line-height:1.6; padding:12px 8px 0; }
.pv-casual-panel .pv-zoom-mark { right:6px; bottom:6px; }
.pv-casual-calendar { margin-top:24px; }
.pv-casual-calendar button,.pv-casual-calendar img { width:100%; height:auto; display:block; }
.pv-casual-calendar .pv-zoom-mark { right:8px; bottom:8px; }
.pv-casual-benefits { list-style:none; margin:0 0 28px; padding:0 0 20px; border-bottom:1px solid #9b753b55; display:grid; gap:12px; }
.pv-casual-benefits li { color:#e3c38b; font:24px/1.3 Georgia,serif; }
.pv-casual-rule+.pv-casual-rule { margin-top:26px; }
.pv-casual-rule h4 { margin:0 0 12px; color:#e5d7bf; font:23px/1.35 Georgia,serif; }
.pv-casual-rule p { color:#c6baa5; font-size:16px; line-height:1.8; }
.pv-casual-rule p+p { margin-top:12px; }
@media(max-width:760px) {
 .pv-casual-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .pv-casual-panel { max-width:460px; margin:auto; }
 .pv-casual-calendar { max-width:620px; margin-inline:auto; }
 .pv-casual-benefits li { font-size:22px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .pv-casual-visuals img { transition:filter .25s; }
 .pv-casual-visuals button:hover img { filter:brightness(1.08) drop-shadow(0 5px 12px #0008); }
}
