    /* gallery chrome only — components themselves live in krds-components.css */
    .gallery { max-width: 960px; margin: 0 auto; padding: 48px clamp(20px, 5vw, 48px); }
    .gallery h1 { font-size: clamp(32px, 5vw, 48px); margin: 0 0 8px; }
    .gallery > p.lead { color: var(--muted); font-size: 18px; margin: 0 0 40px; }
    .story { margin: 40px 0; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
    .story > h2 { font-size: 22px; margin: 0 0 4px; }
    .story > .src { font-size: 13px; color: var(--muted); margin: 0 0 20px; }
    .row { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
    .row.col { flex-direction: column; }
    .stack { display: grid; gap: 16px; max-width: 420px; }
    .mt-8 { margin-top: 8px; }
    .mt-16 { margin-top: 16px; }
    .max-w-320 { max-width: 320px; }
    .max-w-640 { max-width: 640px; }
