/* longform — page-family styles.
   Structural selectors recovered from the pre-overhaul pages after the
   cleanup pass removed them, translated onto the current tokens: palette
   and type mapped to variables, radii squared, soft shadows dropped.
   The build does not edit this file. */
.manifesto-hero{max-width:1080px;margin:0 auto;padding:56px 28px 36px;border-bottom:1px solid var(--hair)}
.manifesto-hero .overline{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink)}
.manifesto-hero .tagline{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.12;color:var(--t1);margin:16px 0 0;letter-spacing:-.015em;max-width:24ch}
.manifesto-hero .meta{font-size:14px;color:var(--t3);margin-top:18px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.version-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-ink);border:1px solid var(--edge);border-radius:var(--r);padding:3px 10px}
.manifesto-layout{display:grid;grid-template-columns:210px 1fr;gap:44px;max-width:1080px;margin:0 auto;padding:0 28px;position:relative;align-items:start}
.toc{display:none}
}
.toc{position:sticky;top:88px;align-self:start;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;padding:44px 0;font-size:13px}
.toc-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:14px}
.toc a{display:block;text-decoration:none;line-height:1.35;color:var(--t2)}
.toc a:hover{color:var(--coral-ink)}
.toc-part{font-weight:600;color:var(--t1);margin-top:15px;padding:2px 0}
.toc-part:first-of-type{margin-top:0}
.toc a:not(.toc-part){font-size:12.5px;color:var(--t3);padding:2px 0 2px 12px}
.manifesto-content{padding:44px 0 20px;max-width:680px;min-width:0}
.version-note{font-size:13px;color:var(--t3);font-style:italic;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--hair)}
.part-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3vw,2rem);line-height:1.18;color:var(--t1);margin:56px 0 8px;letter-spacing:-.01em}
.part-title:first-of-type{margin-top:0}
.section-id{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-ink);margin-top:40px}
.section-title{font-family:var(--serif);font-weight:600;font-size:1.4rem;line-height:1.25;color:var(--t1);margin:6px 0 14px}
.manifesto-content p{font-size:16.5px;line-height:1.68;color:var(--t2);margin:0 0 18px}
.principle{margin-top:26px;padding:20px 24px;border:1px solid var(--edge);border-left:3px solid var(--coral);border-radius:var(--r);background:var(--panel)}
.principle-number{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-ink)}
.principle-name{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--t1);margin:4px 0 8px}
.principle p{font-size:15.5px;line-height:1.62;margin-bottom:0}
.pull-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.4;color:var(--t1);margin:36px 0;padding-left:22px;border-left:3px solid var(--coral);max-width:34ch}
.part-heading{margin-top:56px;margin-bottom:6px}
.part-heading:first-of-type{margin-top:0}
.part-heading .part-title{margin:0}
.companion-box{background:rgba(16,23,28,.03);border:1px solid var(--hair);border-radius:var(--r);padding:18px 22px;margin:26px 0}
.companion-box p{font-size:14.5px;margin-bottom:0;color:var(--t2)}
.manifesto-content .label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-ink);display:block;margin-bottom:6px}
