.spreadsheet-doodle{--doodle-line:#25121e;--doodle-sheet:#effaf3;--doodle-green:#45b374}.dark .spreadsheet-doodle{--doodle-line:#f4eef7;--doodle-sheet:#2a2432;--doodle-green:#2f8a58}
.story-opening{--story-accent:var(--brand)}.story-opening-lead{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.story-opening-title h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.4rem,3.6vw,4.25rem);line-height:1.05}.story-opening-client{margin:1.25rem 0 0;font-size:1.1rem;font-weight:500}.story-opening-problem{color:var(--muted-foreground);max-width:36ch;margin:1.5rem 0 0;font-size:1.15rem;line-height:1.6}.story-opening-artifact{min-width:0;padding-top:.25rem}.story-opening-artifact .doc-attachment-head{padding-top:0}.story-opening-artifact .doc-attachment-plate{background:var(--muted);box-shadow:0 20px 42px -30px color-mix(in oklab, var(--foreground) 38%, transparent);border-radius:12px;overflow:hidden}.story-opening-artifact .doc-attachment-caption{font-size:.95rem;line-height:1.55}.story-opening-artifact .doc-attachment-source{font-size:.8rem;line-height:1.5}.story-opening-decision{border-top:1px solid var(--border);grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(2rem,4vw,4rem);margin-top:3rem;padding-top:1.75rem;display:grid}.story-opening-decision h2{color:var(--story-accent);margin:0;font-size:1.1rem;font-weight:500;line-height:1.5}.story-opening-decision p{letter-spacing:-.02em;text-wrap:balance;max-width:42ch;margin:0;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.25}.story-opening-change{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:3rem;margin:2.5rem 0 0;padding-top:1.5rem;display:grid}.story-opening-change dt{margin-bottom:.65rem;font-weight:500}.story-opening-change dd{color:var(--muted-foreground);max-width:52ch;margin:0;font-size:1.05rem;line-height:1.65}@media (max-width:47.99em){.story-opening-lead,.story-opening-decision,.story-opening-change{grid-template-columns:minmax(0,1fr);gap:1.5rem}.story-opening-title h1{font-size:clamp(2.25rem,8vw,3rem)}.story-opening-problem{max-width:40ch;margin-top:1rem}.story-opening-decision{gap:.65rem;margin-top:2rem}.story-opening-change{gap:1.5rem;margin-top:1.75rem}}
