/* Dolly and Light — extra components on top of the Small Quiet base.css.
   Layout only: colors/fonts/images come from the theme variables. */
.art[data-slot=lexicon]{background-image:var(--img-lexicon)}
.art[data-slot=slate]{background-image:var(--img-slate)}
.art[data-slot=films]{background-image:var(--img-films)}
.art[data-slot=shop]{background-image:var(--img-shop)}
.hero .art.wide{aspect-ratio:16/9;width:100%}
.btn.ghost:hover{border-color:var(--ink)}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem}
.rule{border:0;border-top:var(--border-w) solid var(--line);margin:2.5rem 0}
.prose{max-width:40rem}
.prose h2{margin-top:1.6em}

/* lexicon */
.lex-nav{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 1.5rem;font-size:.95rem}
.lex-group{padding:1.5rem 0}
.lex{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.term{background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.term h3{font-size:1.35rem;margin-bottom:.25em}
.term p{margin:0 0 .6em;font-size:.97rem}
.term .feel{color:var(--ink-soft);font-style:italic;font-family:var(--font-display);font-size:1.1rem}
.say-it{display:block;font-size:.85rem;background:var(--surface-2);border-left:3px solid var(--accent-3);padding:.5em .7em;border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.say-it b{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;color:var(--ink-soft);display:block}

/* slate (prompt builder) */
.slate{display:grid;gap:1.4rem}
@media (min-width:900px){.slate{grid-template-columns:1fr 1fr;align-items:start}}
.slate fieldset{border:var(--border-w) solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin:0 0 1rem;background:var(--surface)}
.slate legend{font-family:var(--font-display);font-size:1.25rem;padding:0 .4rem}
.slate select{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:.55em .7em;margin-bottom:.7rem}
.slate label{font-size:.88rem;margin-bottom:.2em}
.slate .row{display:grid;gap:0 .9rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.out{position:sticky;top:1rem}
.out pre{white-space:pre-wrap;word-wrap:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.55;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;min-height:14rem;margin:0 0 .8rem;box-shadow:var(--shadow)}
.out .count{font-size:.8rem;color:var(--ink-soft)}
.shotlist{counter-reset:shot}
.shot-block{border-top:var(--border-w) dashed var(--line);padding-top:.8rem;margin-top:.4rem}

/* films */
.series{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}
.series .card-body .eyebrow{margin:0 0 .3rem}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:var(--border-w) solid var(--line);border-radius:999px;padding:.15em .7em;color:var(--ink-soft);margin-top:.6rem}
@media (min-width:760px){.hero .art[data-slot=hero]{width:100%;max-width:30rem}}
.ritual-head[style*="left"] p{margin-inline:0;max-width:40rem}
