:root{--bg: #fafaf7;--paper: #ffffff;--ink: #1a1a1a;--ink-2: #4a4a4a;--ink-3: #6e6e6e;--line: #e8e6df;--accent: #c2410c;--accent-soft: #fef3eb;--calm: #2f7d5b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Iowan Old Style,Charter,Georgia,"Source Serif Pro",serif;font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.sans{font-family:ui-sans-serif,-apple-system,SF Pro Text,system-ui,sans-serif}header.masthead{border-bottom:1px solid var(--line);background:var(--paper)}.masthead-inner{max-width:720px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px}.masthead a{color:var(--ink);text-decoration:none}.masthead .brand{font-weight:600;letter-spacing:-.01em}.masthead .brand .dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:2px}.masthead nav a{margin-left:22px;color:var(--ink-2)}.intro{max-width:680px;margin:0 auto;padding:80px 28px 28px}.meta{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;display:flex;gap:12px;align-items:center}.meta .tag{color:var(--accent);font-weight:600}.meta .dot-sep{width:3px;height:3px;background:var(--ink-3);border-radius:50%;display:inline-block}h1{font-size:52px;line-height:1.04;letter-spacing:-.02em;margin:0 0 20px;font-weight:700}.dek{font-size:23px;line-height:1.4;color:var(--ink-2);font-style:italic;margin:0 0 18px}.intro p{font-size:19px;line-height:1.65;color:var(--ink-2);margin:0 0 18px}.scroll-cue{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-top:36px;font-weight:600;display:flex;align-items:center;gap:10px}.scroll-cue .line{width:28px;height:1px;background:var(--accent)}.scrolly{position:relative;display:grid;grid-template-columns:1fr}.stage{grid-area:1 / 1;position:sticky;top:0;height:100vh;z-index:1;display:flex;align-items:center;justify-content:center}.frame{position:relative;width:100%;max-width:1040px;margin:0 28px;aspect-ratio:16 / 9}.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.985);transition:opacity .7s ease,transform .9s cubic-bezier(.22,.61,.36,1)}.frame img.show{opacity:1;transform:scale(1)}.caption{position:absolute;left:50%;bottom:-8px;transform:translate(-50%);width:min(620px,88vw);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 44px -32px #3c281447;padding:18px 22px;font-size:18px;line-height:1.5;color:var(--ink);transition:opacity .35s ease}.caption .stamp{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;display:block}.steps{grid-area:1 / 1;position:relative;z-index:2;pointer-events:none}.step{min-height:92vh}.step:first-child{min-height:70vh}.step:last-child{min-height:80vh}.outro{max-width:680px;margin:0 auto;padding:10vh 28px 64px}.outro p{font-size:20px;line-height:1.6;margin:0 0 22px;color:var(--ink-2)}.outro .pull{border-left:3px solid var(--accent);padding:6px 0 6px 22px;margin:32px 0;font-style:italic;font-size:24px;line-height:1.4;color:var(--ink)}.end-mark{display:block;width:32px;height:1px;background:var(--accent);margin:48px auto 32px}.signoff{font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;color:var(--ink-3);text-align:center}.signoff strong{color:var(--ink);font-weight:600}.source-note{max-width:680px;margin:26px auto 0;padding:0 28px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--ink-3);text-align:center;line-height:1.6}.site-foot{border-top:1px solid var(--line);padding:32px 28px;background:var(--bg);text-align:center;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--ink-3);letter-spacing:.04em;margin-top:40px}.site-foot a{color:var(--ink-3);text-decoration:none;margin:0 10px}@media(max-width:760px){h1{font-size:36px}.dek{font-size:20px}.frame{margin:0 14px}.caption{font-size:16px;padding:14px 16px;bottom:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.frame img{transition:none}}
