.character-scenes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.character-scenes-grid figure{margin:0;overflow:hidden;border-radius:24px}.character-scenes-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.character-scenes .fine{max-width:780px;margin-top:20px}.preview-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.preview-review-card{display:block;padding:24px;border:1px solid #d9d4e3;border-radius:20px;background:#fff;text-decoration:none;color:inherit}.preview-review-card:hover{border-color:#655393}.preview-review-card strong{display:block;font-size:1.2rem;margin-bottom:8px}.preview-review-card span{line-height:1.5}.preview-review-note{padding:20px 24px;border-radius:18px;background:#f0eaff;margin-bottom:24px}.preview-review-section{margin:42px 0}.preview-review-section h2{margin-bottom:20px}@media(max-width:760px){.character-scenes-grid,.preview-review-grid{grid-template-columns:1fr}.character-scenes-grid{gap:16px}.preview-review-card{padding:20px}}
@media(max-width:360px){.hero-character-scene .hero-copy h1{font-size:34px;line-height:1.03}}

/* Character photography stays in its native frame; navigation never crops a phone portrait. */
.character-scenes-grid { display:flex; align-items:center; gap:22px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding:6px 0 18px; scrollbar-width:thin; scrollbar-color:#b8b3aa transparent; }
.character-scenes-grid figure { flex:none; width:calc(370px * var(--scene-ratio, 1.5)); max-width:82vw; border-radius:8px; scroll-snap-align:start; }
.character-scenes-grid img { height:auto; aspect-ratio:auto; object-fit:contain; }
.character-scenes .sec-head h2 { letter-spacing:-.04em; }
.character-scenes-compact { padding:32px 0 0; }
.character-scenes-compact > .wrap { width:100%; padding:0; }
.character-scenes-compact .sec-head h2 { font-size:clamp(24px,2.5vw,32px); }
.character-scenes-compact .lede { font-size:16px; }
.character-scenes-compact .character-scenes-grid { display:block; columns:2; column-gap:12px; overflow:visible; padding:0; }
.character-scenes-compact .character-scenes-grid figure { width:100%; max-width:100%; break-inside:avoid; margin:0 0 12px; }
.character-scenes-compact .fine { font-size:11px; line-height:1.6; margin-top:12px; }
.ch-stage.ch-stage-clean { background:#f7f6f2; }
@media(max-width:760px) {
 .character-scenes-grid { gap:14px; }
 .character-scenes-grid figure { width:calc(340px * var(--scene-ratio,1.5)); }
 .character-scenes-compact .character-scenes-grid figure { width:100%; }
}
.scene-scroll-hint { margin:0 0 14px; color:var(--ink-2); font-size:12px; }
.character-scenes-grid:focus-visible { outline:2px solid var(--violet); outline-offset:5px; }

/* Long disclosure captions must fit narrow phone widths. */
.single-pcfk_character .pl-polaroid figcaption { flex-wrap: wrap; gap: 6px 14px; }
.single-pcfk_character .pl-polaroid figcaption small { white-space: normal; }
.single-pcfk_character .pl-confetti { display: none; }

/* Keep the photograph bright; only the lettering receives a small contrast shadow. */
.hero-clear-photo .hero-shade { background:none; }
.hero-word { filter:drop-shadow(0 1px 2px rgba(30,24,50,.32)); }
.hero-copy h1, .hero-copy .h1-title { text-shadow:0 1px 3px rgba(30,24,50,.4),0 2px 10px rgba(30,24,50,.18); }
.hero-sub, .hero-place { text-shadow:0 1px 3px rgba(30,24,50,.55); }
.hero-clear-photo .hero-copy h1 { text-shadow:0 1px 4px rgba(30,24,50,.5),0 2px 12px rgba(30,24,50,.24); }
/* Bright city photos need the same readable, rounded navigation as the scrolled header. */
body:has(.hero-clear-photo) .site-header { color:var(--ink); }
body:has(.hero-clear-photo) .site-header .hdr-inner { background:rgba(255,255,255,.92); border-radius:20px; }
body:has(.hero-clear-photo) .site-header .logo-hand { color:var(--cape); }
body:has(.hero-clear-photo) .site-header .menu-toggle { border-color:var(--line); background:var(--canvas); }
