/* Identity from the motion, not a replacement of the existing layout.
   Fjalla One / Roboto; PDF magenta, lilac, pink highlights. */
:root,[data-theme="light"]{
  --paper:#fff;--surface:#f8f5fa;--card:#fff;--ink:#18151b;--muted:#655d6b;
  --magenta:#d835d8;--violet:#8e7cc3;--secondary-ink:#65508f;--highlight:#f7c2f7;
  --blue:#ac20ac;--blue-fixed:#ac20ac;--blue-hover:#881888;--lime:#f7c2f7;
  --line:#d4cbd8;--focus:#65508f;--error:#a12039;
  --font-display:'Fjalla One','Arial Narrow',sans-serif;--font-body:'Roboto','Arial',sans-serif;
  --text-xl:clamp(2rem,1.55rem + 1.5vw,2.75rem);
  --text-hero:clamp(5rem,2rem + 7.8vw,9rem);
  --radius-sm:2px;--radius-md:3px;
}
[data-theme="dark"]{
  --paper:#201923;--surface:#2b2230;--card:#322738;--ink:#f9f4fa;--muted:#c6b9cd;
  --magenta:#ed8fed;--violet:#bcaadd;--secondary-ink:#d0bce9;--highlight:#f7c2f7;
  --blue:#ed8fed;--blue-fixed:#ac20ac;--blue-hover:#881888;--lime:#f7c2f7;--line:#65546e;--focus:#f7c2f7;--error:#ff9daf;
}
body{font-synthesis:none}
h1,h2,h3{font-weight:400;letter-spacing:0;color:var(--magenta);line-height:1.18}
h3{font-size:1.5rem}
a,button,input,summary,textarea{scroll-margin-block:120px 150px}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.eyebrow{letter-spacing:.065em}
.brand>span,.hero-subtitle,.idea-strip span,.chapter-tab .tab-title,.document-name{font-weight:400}
.brand>span{font-size:1.5rem;color:var(--blue)}
.brand-dot{display:none}
.hero{min-height:690px}
h1{color:var(--magenta);line-height:1.02;letter-spacing:-.015em;font-weight:400}
h1>span{color:inherit}
.hero-subtitle{font-size:1.8rem;color:var(--violet);margin-top:1rem}
.hero-description{max-width:45ch;color:var(--ink);line-height:1.65}
.hero-description strong{display:inline-block;margin-top:.35rem}
.hero-eyebrow{color:var(--muted);margin-bottom:1.25rem}
.hero-art{background:#eee9e2;border-radius:0}
.art-label{transform:rotate(-2deg);box-shadow:none;border-left:4px solid var(--magenta)}
.button{border-radius:3px;box-shadow:none}
.button:hover{box-shadow:none;transform:none}
.button-ink{background:var(--ink);color:var(--paper)}
.text-button{color:var(--blue)}
.idea-strip{background:var(--highlight);color:#18151b;border-block:1px solid #e8afe8}
.idea-strip span{font-size:clamp(1.35rem,1rem + 1.1vw,2rem)}
.idea-strip b{color:#65508f}
.underlined{text-decoration-color:var(--violet);text-decoration-thickness:1px;text-underline-offset:7px}
.vision-main h2{line-height:1.25}
.section-side .eyebrow{color:var(--blue)}
.chapter-tab .tab-title{font-size:1.5rem}
.chapter-tab .tab-number,.topic-row .topic-number{font-family:var(--font-display);font-size:1rem;opacity:1}
.chapter-tab .tab-count{opacity:1}
.chapter-panel h3,.journey-steps h3{font-size:1.5rem}
.topic-row{border-bottom-style:dotted}
.topic-row{font-weight:400}
.journey-steps article>span{font-size:0;width:12px;height:12px;flex:0 0 12px;padding:0;margin-top:8px;border:2px solid var(--violet);border-radius:50%}
.journey-steps article{gap:1.25rem}
.candidate h3{line-height:1.18}
.candidate-list{margin-top:1.5rem}
.candidate-introduction{margin-top:3rem}
.candidate-introduction p{font-size:var(--text-sm);color:var(--muted);margin-top:.75rem}
.participate{background:#702b78}
.participate h2{color:white}
.participate p:not(.eyebrow){color:#f5e8f7}
.participate h2>span{color:#f7c2f7}
.button-lime{background:#f7c2f7;color:#18151b}
.button-lime:hover{background:#ffe0ff;color:#18151b}
.document-card{background:white;color:#ac20ac;transform:rotate(2deg);box-shadow:10px 10px 0 #57215e;border:1px solid #decade}
.document-top{border-color:#decade}
.document-name{color:#d835d8;line-height:1.12}
.document-subtitle{color:#65508f}
.document-rings>span{border-color:#d835d8}
.document-rings>span:last-child{border-color:#8e7cc3}
.document-footer{color:#655d6b;border-color:#decade}
.reader-content h2,.dialog-body h2,.guide-content h2{line-height:1.22}
.reader-content .original-text,.page-text{color:var(--ink)}
.dialog::backdrop{background:#2115269c;backdrop-filter:none}
.source-link{display:inline-block;font-family:var(--font-body);font-size:.8125rem;line-height:1.6;color:var(--blue);text-decoration:underline;text-underline-offset:4px;padding-block:.65rem}
.source-link:hover{text-decoration-thickness:2px}
.convergences{border-top:1px solid var(--line);padding-block:3rem 5rem}
.convergence-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}
.convergence-heading .eyebrow{color:var(--blue);margin-top:.4rem}
.convergence-heading h2{font-size:clamp(1.9rem,1.4rem + 1vw,2.5rem);width:66%}

.circulation-note{display:flex;align-items:center;justify-content:space-between;border-top:1px dotted var(--line);padding-top:1.5rem;gap:2rem}
.circulation-note p{font-size:var(--text-sm);color:var(--muted)}
.circulation-note strong{color:var(--ink)}
.quick-reading{padding-bottom:3rem;border-bottom:1px solid var(--line);margin-bottom:4rem;scroll-margin-top:120px}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-bottom:1.5rem}
.quick-card{border-top:2px solid var(--violet);padding-top:1.25rem;min-width:0}
.quick-card .quick-number{font-family:var(--font-display);font-size:2rem;color:var(--violet)}
.quick-card h3{font-size:2rem;margin:.5rem 0 1rem}
.quick-card>p{font-size:var(--text-sm);color:var(--muted);min-height:6em}
.quick-card ul{padding-left:1.2rem;font-size:var(--text-sm);margin-top:1.25rem}
.quick-card li{padding-left:.2rem;margin-bottom:.8rem}
.quick-card li::marker{color:var(--blue)}
.quick-card li a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.quick-card>.source-link{margin-top:.5rem}
.journey-network{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding-bottom:2rem}
.journey-network::before{content:'';position:absolute;left:12.5%;right:12.5%;bottom:2rem;border-top:1px solid var(--violet)}
.journey-network>div{position:relative;text-align:center;padding-bottom:2rem}
.journey-network>div::after{content:'';width:11px;height:11px;border:2px solid var(--violet);background:var(--paper);border-radius:50%;position:absolute;bottom:-5px;left:calc(50% - 5px)}
.journey-network strong{font-family:var(--font-display);font-size:clamp(4rem,2rem + 6vw,7.5rem);color:var(--magenta);font-weight:400;line-height:1.2;display:block}
.journey-network strong span{font-size:.65em;vertical-align:15%}
.journey-network div>span{display:block;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--secondary-ink);margin-top:.5rem}
.journey-caption{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2.5rem}
.journey-caption h3{font-size:1.8rem}
.people-stories{border-top:1px solid var(--line)}
.people-stories details{border-bottom:1px dotted var(--line)}
.people-stories summary{list-style:none;display:flex;align-items:center;gap:1.5rem;padding:1.5rem 0;font-family:var(--font-display);font-size:1.65rem;color:var(--blue);cursor:pointer}
.people-stories summary::-webkit-details-marker{display:none}
.people-stories summary>span{font-size:1rem;color:var(--secondary-ink)}
.people-stories summary>b{margin-left:auto;font-family:var(--font-body);font-weight:400}
.people-stories details[open] summary>b{transform:rotate(45deg)}
.people-stories details>div{padding:0 3rem 1.5rem;max-width:850px}
.people-stories details p{font-size:var(--text-base);color:var(--muted)}
.reading-tools{position:fixed;right:22px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:12px;z-index:60}
.floating-circle{position:relative;display:grid;place-items:center;border-radius:50%;width:58px;height:58px;border:1px solid var(--blue);background:var(--paper);color:var(--blue);box-shadow:0 2px 10px #2115261a}
.answers-toggle{background:var(--blue-fixed);color:white;border:2px solid var(--paper)}
.answers-toggle>span:first-child{font-family:var(--font-display);font-size:2rem;line-height:1}
.accessibility-toggle{width:46px;height:46px;font-family:var(--font-body);font-weight:700;font-size:1rem}
.tool-label{position:absolute;right:calc(100% + 12px);white-space:nowrap;font-family:var(--font-body);font-size:.8125rem;font-weight:700;background:var(--paper);color:var(--ink);padding:.5rem .8rem;border:1px solid var(--line);opacity:0;pointer-events:none;transform:translateX(4px);transition:opacity .15s,transform .15s}
.floating-circle:hover .tool-label,.floating-circle:focus-visible .tool-label{opacity:1;transform:none}
.tool-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:24px 24px auto auto}
.tool-dialog .dialog-body{padding:1.5rem 2rem 2rem}
.tool-dialog .dialog-top{padding:1rem 2rem}
.tool-dialog .dialog-body>h2{font-size:2rem;margin-bottom:1rem}
.tool-dialog .dialog-body>p{font-size:var(--text-sm);margin-bottom:1.2rem}
.tool-dialog .dialog-top .eyebrow{font-size:.75rem}
.question-field{display:flex;gap:.5rem}
.question-field input{min-width:0;flex:1;padding:.75rem;min-height:48px}
.question-field .button{gap:.5rem;padding:.75rem}
.answer-method{margin-top:.75rem}
.suggested-questions{border-block:1px solid var(--line);margin:1.5rem 0}
.suggested-questions summary{padding:.85rem 0;font-size:.875rem;font-weight:700;cursor:pointer;min-height:44px}
.suggested-questions>div{display:flex;flex-direction:column;padding-bottom:.5rem}
.suggested-questions button{background:transparent;text-align:left;padding:.65rem 0;color:var(--blue);font-size:.875rem;line-height:1.5;min-height:44px;border-top:1px dotted var(--line)}
.suggested-questions button:hover{text-decoration:underline;text-underline-offset:3px}
#answer-result:empty{display:none}
#answer-result{scroll-margin-top:100px}
.answer-article{border-top:2px solid var(--violet);padding-top:1.25rem}
.answer-article+.answer-article{margin-top:2rem}
.answer-article h3{font-size:1.5rem;margin:.5rem 0 1rem;color:var(--blue)}
.answer-article>p{font-size:var(--text-sm);line-height:1.7}
.answer-article .eyebrow{font-size:.75rem;color:var(--secondary-ink)}
.answer-quote{margin-top:1.25rem;background:var(--highlight);color:#18151b;padding:1rem;font-size:.875rem;line-height:1.75;overflow-wrap:anywhere}
.answer-quote blockquote{font-style:normal;margin:0}
.answer-ref{font-size:.75rem;color:var(--muted);margin-top:.75rem}
.answer-more{display:flex;flex-direction:column;align-items:flex-start}
.answer-more .source-link{font-size:.8125rem}
.answer-more-details summary{font-size:.8125rem;font-weight:700;min-height:44px;padding:.75rem 0;cursor:pointer}
.extra-questions{margin-top:.5rem}
.extra-questions button{display:block;width:100%}
.text-size-options{border:0;padding:0;margin:1.5rem 0}
.text-size-options legend{font-size:.875rem;font-weight:700;margin-bottom:.75rem}
.text-size-options>div{display:flex;gap:.75rem}
.text-size-options button{flex:1;padding:.75rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);min-height:44px}
.text-size-options button[aria-pressed="true"]{background:var(--blue-fixed);border-color:var(--blue-fixed);color:white}
.dialog .preference-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1rem 0;min-height:54px;font-size:.9375rem}
.preference-row input{width:22px;height:22px;min-height:22px;accent-color:var(--blue-fixed);flex:0 0 22px}
.dialog input:not([type="checkbox"]),.dialog select,.dialog textarea{border-color:#8a7c91}
[data-theme="dark"] .dialog input:not([type="checkbox"]),[data-theme="dark"] .dialog select,[data-theme="dark"] .dialog textarea{border-color:#a994b8}
.site-footer{padding-bottom:150px}
[data-links="underlined"] a{text-decoration:underline!important;text-underline-offset:4px}
[data-motion="reduced"] *,[data-motion="reduced"] *::before,[data-motion="reduced"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-contrast="high"]{--paper:#fff;--surface:#fff;--card:#fff;--ink:#000;--muted:#272027;--magenta:#830883;--violet:#584178;--secondary-ink:#463158;--blue:#830883;--blue-fixed:#830883;--blue-hover:#600060;--line:#726572;--focus:#000}
[data-theme="dark"][data-contrast="high"]{--paper:#100d12;--surface:#100d12;--card:#100d12;--ink:#fff;--muted:#e5d8ea;--magenta:#ffb0ff;--violet:#d3b7ff;--secondary-ink:#eadbff;--blue:#ffb0ff;--blue-fixed:#830883;--blue-hover:#600060;--line:#c6afce;--focus:#fff}
@media(min-width:1600px){.reading-tools{right:max(24px,calc((100vw - 1500px)/2))}}
@media(max-width:900px){
  .hero{gap:2rem}.hero-art{min-height:480px}
  .quick-grid{gap:1.5rem}.quick-card>p{min-height:0}
  .convergence-heading{display:block}.convergence-heading h2{width:auto;margin-top:1rem}
  .circulation-note{display:block}.circulation-note .source-link{margin-top:.75rem}
}
@media(max-width:680px){
  h1{font-size:clamp(4.8rem,20vw,7rem);line-height:1.02}
  .hero{padding-top:1.75rem}.hero-subtitle{font-size:1.6rem}.hero-art{min-height:0}
  .hero-eyebrow{font-size:.75rem}.hero-description{font-size:1rem}
  .idea-strip>.wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem 1rem;text-align:center}
  .idea-strip span{font-size:1.6rem}.idea-strip b:nth-of-type(2){display:none}
  .convergences{padding-block:2.5rem 3rem}

  .quick-grid{grid-template-columns:1fr;gap:2rem}
  .quick-card{padding-top:1rem}.quick-card ul{margin-top:1rem}
  .quick-reading{margin-bottom:3rem}
  .journey-network{grid-template-columns:repeat(2,1fr);gap:1.5rem 0;padding-bottom:1rem}
  .journey-network::before{display:none}
  .journey-network>div{border-bottom:1px solid var(--violet);padding-bottom:1.5rem}
  .journey-network strong{font-size:5rem}
  .journey-network div>span{font-size:.75rem}
  .journey-caption{display:block;margin-top:1rem}.journey-caption h3{font-size:1.5rem}
  .people-stories summary{font-size:1.5rem;gap:.8rem}
  .people-stories details>div{padding:0 0 1.25rem}
  .reading-tools{right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:8px}
  .floating-circle{width:48px;height:48px}
  .accessibility-toggle{width:44px;height:44px}
  .answers-toggle>span:first-child{font-size:1.8rem}
  .tool-dialog{width:calc(100% - 24px);margin:12px auto;max-height:calc(100dvh - 24px)}
  .tool-dialog .dialog-top{padding:.75rem 1rem}
  .tool-dialog .dialog-body{padding:1.25rem 1rem 1.5rem}
  .tool-dialog .dialog-body>h2{font-size:1.75rem}
  .question-field{flex-wrap:wrap}.question-field input{font-size:16px;width:100%;flex-basis:100%}
  .question-field .button{margin-left:auto}
  .tool-label{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
