/* Shared brand tokens and controls. Page styles own composition. */
:root{--paper:#f8f4ed;--ink:#302734;--muted:#65596c;--purple:#704585;--accent:#704585;--accent-dark:#482755;--deep:#2e173c;--plum:#482755;--lavender:#d6bce7;--soft-lavender:#eee6f1;--line:#d8ccd9;--border:#d8ccd9;--serif:Fraunces,Georgia,serif;--sans:Manrope,Arial,sans-serif}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-optical-sizing:auto}
.page-internal h1,.page-internal h2,.page-internal h3{font-family:var(--serif);font-weight:450;letter-spacing:-.035em}
.page-internal .eyebrow{font-family:var(--sans);font-size:11px;line-height:1.6;letter-spacing:.12em;font-weight:700}
.page-internal .page-shell h1,.page-internal .library-hero h1{font-size:clamp(45px,5.4vw,76px);line-height:1.14}
.page-internal .button{font-family:var(--sans);font-size:13px;border-radius:0;padding:14px 23px;min-height:48px;background:var(--purple);border-color:var(--purple);color:var(--paper);transition:background-color .2s ease}
.page-internal .button:hover{background:var(--plum);border-color:var(--plum);color:var(--paper)}
.page-internal .text-link{font-family:var(--sans);font-size:13px;min-height:44px;gap:12px;border-color:var(--border)}
.page-internal .text-link:hover,.about-link:hover{border-color:var(--purple)}
.library-search{background:var(--soft-lavender)}
main a:focus-visible,main button:focus-visible,main input:focus-visible,main select:focus-visible,.site-footer a:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.site-header .nav-contact .nav-wave,.site-header .nav-contact .nav-wave>span{margin-left:0}
.site-header .nav-contact{margin-left:0}
.site-header:not(.is-scrolled){--nav-accent:var(--purple);--nav-contact-bg:var(--soft-lavender)}
.page-home .site-header:not(.is-scrolled){--nav-accent:var(--lavender);--nav-contact-bg:rgba(198,167,219,.13)}
.site-header .nav-contact{background:var(--nav-contact-bg);color:var(--nav-accent);border:1px solid var(--nav-accent)}
.site-header .nav-contact:hover,.site-header .nav-contact:focus-visible{background:var(--lavender);color:var(--deep)}
.site-footer{font-family:var(--sans);color:var(--ink);background:var(--paper);border-top:1px solid var(--border);padding:38px 0 22px}
.site-footer .footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-bottom:0}
.site-footer .wordmark{font:450 24px/1.2 var(--serif);letter-spacing:-.035em}
.site-footer .wordmark em{color:var(--purple)}
.site-footer .footer-top p:not(.eyebrow){font-size:11px;line-height:1.8;color:var(--muted);margin-top:12px}
.site-footer .footer-links{display:flex;flex-direction:row;align-items:flex-start;gap:22px;font-size:11px}
.site-footer .footer-contact{font-size:11px}.site-footer .footer-contact>a{display:inline-block;font-size:11px;margin:0}
.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);border-top:1px solid var(--border);margin-top:32px;padding:18px 0 0}
.site-footer a{min-height:24px}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.discussion-hero,.discussion-detail-head{background:radial-gradient(ellipse at 80% 20%,var(--plum) 0,transparent 55%),var(--deep);color:var(--paper)}
.discussion-intro,.discussion-kicker,.discussion-feature>p:not(.discussion-kicker),.discussion-feature time{color:var(--soft-lavender)}
.discussion-hero h1 em{color:var(--lavender)}
.discussion-filters,.discussion-more,.discussion-player{background:var(--soft-lavender)}
.discussion-heading>p,.discussion-results,.discussion-row h3+p,.discussion-source-note,.discussion-context,.discussion-date small{color:var(--muted)}
.discussion-year,.discussion-tag,.discussion-transcript a{color:var(--purple)}
.discussion-row,.discussion-sidebar,.discussion-neighbors{border-color:var(--border)}
.discussion-pagination a[aria-current],.library-pagination a[aria-current]{background:var(--purple);border-color:var(--purple);color:var(--paper)}
.discussion-button{border-radius:0;min-height:48px;font:600 13px/1.6 var(--sans);border-color:var(--lavender);padding:14px 23px;color:var(--paper)}
.discussion-button:hover{color:var(--deep);background:var(--soft-lavender)}
.discussion-open:hover{background:var(--purple);color:var(--paper)}
.about-page figcaption,.author-in-context figcaption{font:400 11px/1.7 var(--sans);color:var(--muted);margin-top:12px}
@media(max-width:1100px){.site-footer .footer-top{flex-wrap:wrap}.site-footer .footer-contact{flex-basis:100%}}
@media(max-width:640px){.site-footer .footer-top{flex-direction:column;gap:24px}.site-footer .footer-links{flex-wrap:wrap;gap:12px 22px}.site-footer .footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
