/* Editorial illustrations are decorative. Sources, navigation and all text stay in HTML. */
.page-banner{position:relative;width:100%;height:clamp(220px,21vw,300px);overflow:hidden;isolation:isolate;border-bottom:1px solid #d0bbd7;background:#e9d9ed}.banner-art{position:relative;pointer-events:none;user-select:none}.page-banner>.banner-art{position:absolute;inset:0}.page-banner .banner-art svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:max(100%,900px);height:100%;max-width:none;overflow:visible}.banner-stories{background:#e9d9ed}.banner-records{background:#e1d1e9}.banner-method{background:#432c4f;border-color:#684372}.banner-documents{background:#efdfce}.banner-captures{background:#553b64;border-color:#755182}.banner-council{background:#392642;border-color:#694575}.banner-questions{background:#eadce9}.banner-control-wrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding-bottom:16px;pointer-events:none;z-index:3}.banner-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;pointer-events:auto;min-height:42px;padding:8px 14px;border:1px solid #b29abb;border-radius:99px;background:#faf4f0f5;color:#3b2844;font:500 14px/1.4 var(--sans);box-shadow:0 2px 9px #21102b0b;white-space:nowrap}.banner-toggle:hover{background:#fff8f2;color:#3b2844;border-color:#966b9d}.banner-toggle[hidden]{display:none}.banner-toggle:disabled{cursor:default;opacity:.85}.banner-toggle-icon{display:block;position:relative;width:10px;height:11px;flex-shrink:0;border-inline:3px solid currentColor}.banner-toggle[aria-pressed=true] .banner-toggle-icon{border:0;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor}.banner-method .banner-toggle,.banner-captures .banner-toggle,.banner-council .banner-toggle,.illustrated-home .banner-toggle{color:#eddcec;background:#3b2947f0;border-color:#9c77ac}.banner-method .banner-toggle:hover,.banner-captures .banner-toggle:hover,.banner-council .banner-toggle:hover,.illustrated-home .banner-toggle:hover{background:#51355e;border-color:#c49ed2}
.illustrated-home.home-hero{display:block;position:relative;margin:0;padding:0;overflow:hidden;isolation:isolate;background:#302039}.home-hero-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:25px;align-items:center;min-height:580px;padding-block:55px 66px}.illustrated-home .home-copy{position:relative;z-index:2;min-width:0}.illustrated-home .home-copy h1{font-size:clamp(45px,5vw,70px);line-height:1.08}.illustrated-home .home-copy .home-lead{font-size:22px;line-height:1.6;max-width:27ch}.illustrated-home .home-copy .home-scope{font-size:17px;line-height:1.7}.illustrated-home .home-actions{gap:13px 20px;flex-wrap:wrap}.illustrated-home .home-actions .button{padding-inline:20px;font-size:16px}.illustrated-home .source-note{font-size:16px;margin-top:24px}.home-panorama{align-self:stretch;min-height:360px;position:relative;overflow:hidden;z-index:1}.home-panorama svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:960px;height:380px;max-width:none;display:block}.illustrated-home .banner-control-wrap{padding-bottom:17px}.home-evidence-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:65px;align-items:center;padding-block:58px 65px}.home-evidence-layout .home-case-copy h2{font-size:clamp(30px,3.4vw,42px);line-height:1.2;max-width:17ch;margin-top:16px}.home-case-copy>p:not(.eyebrow){font-size:19px;line-height:1.8;max-width:35ch;margin-top:24px;color:#65536d}.home-case-copy>.text-link{margin-top:25px}.home-evidence-layout .power-route{box-shadow:none}.home-evidence-layout .power-route p{color:#d8c5e1}.home-evidence-layout .power-route .informal-route>p{color:#d7bfe2}.home-evidence-layout .power-route .route-caveat{font-size:15px}.home-evidence-layout .power-route h3{color:#fff}.home-evidence-layout .power-route a{color:#ffccb0}
/* Slow, contained movement. No text is moved or resized. */
.banner-art .art-drift{transform-box:fill-box;transform-origin:center;animation:banner-drift 12s ease-in-out infinite;animation-play-state:paused}.banner-art .art-delay{animation-delay:-4s}.banner-art .art-delay-2{animation-delay:-8s}.banner-art .art-thread{animation:banner-thread 18s linear infinite;animation-play-state:paused}.banner-art .art-breathe{transform-box:fill-box;transform-origin:center;animation:banner-breathe 9s ease-in-out infinite;animation-play-state:paused}.banner-art .art-lens{transform-box:fill-box;transform-origin:center;animation:banner-lens 16s ease-in-out infinite;animation-play-state:paused}.banner-art .art-lens-detail{transform-box:fill-box;transform-origin:center;animation:banner-read 12s ease-in-out infinite;animation-play-state:paused}.banner-art .art-scan{animation:banner-scan 12s ease-in-out infinite;animation-play-state:paused}.banner-art .art-sound{transform-box:fill-box;transform-origin:center bottom;animation:banner-sound 6s ease-in-out infinite;animation-play-state:paused}.banner-art .art-letter{transform-box:fill-box;transform-origin:center;animation:banner-letter 14s ease-in-out infinite;animation-play-state:paused}.banner-motion-enabled .banner-in-view .banner-art [class*="art-"]{animation-play-state:running}.banner-document-hidden .banner-art [class*="art-"],.banner-motion-enabled [data-banner]:not(.banner-in-view) .banner-art [class*="art-"]{animation-play-state:paused}
@keyframes banner-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes banner-thread{from{stroke-dashoffset:0}to{stroke-dashoffset:var(--thread-step,-96px)}}
@keyframes banner-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.45)}}
@keyframes banner-lens{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-13px,-5px) rotate(-3deg)}}
@keyframes banner-read{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes banner-scan{0%,100%{transform:translateY(-27px)}50%{transform:translateY(62px)}}
@keyframes banner-sound{0%,100%{transform:scaleY(.8)}50%{transform:scaleY(1.17)}}
@keyframes banner-letter{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-13px) rotate(2deg)}}
@media(min-width:1700px){.page-banner .banner-art svg{width:1500px}.page-banner{height:320px}}
@media(max-width:1000px){.home-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:550px;padding-block:45px 58px;gap:15px}.illustrated-home .home-copy h1{font-size:54px}.illustrated-home .home-copy .home-lead{font-size:20px}.home-panorama svg{width:850px;height:350px}.home-evidence-layout{gap:35px}.home-case-copy>p:not(.eyebrow){font-size:18px}}
@media(max-width:780px){.page-banner{height:215px}.page-banner .banner-art svg{width:830px;height:230px}.banner-control-wrap{padding-bottom:12px}.banner-toggle{min-height:40px;font-size:13px;padding:8px 12px;gap:8px}.home-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding-top:35px;padding-bottom:50px}.illustrated-home .home-copy h1{font-size:48px;max-width:10ch}.illustrated-home .home-copy .home-lead{font-size:20px;max-width:29ch}.illustrated-home .home-copy .home-scope{font-size:17px}.illustrated-home .home-actions{margin-top:24px}.illustrated-home .source-note{font-size:15px;line-height:1.7;max-width:35ch}.home-panorama{min-height:190px;width:100%;margin-top:5px;overflow:hidden}.home-panorama svg{width:520px;height:200px;top:50%;left:50%}.illustrated-home .banner-control-wrap{padding-bottom:13px}.home-evidence-layout{grid-template-columns:1fr;gap:30px;padding-block:35px 45px}.home-evidence-layout .home-case-copy h2{font-size:32px;max-width:22ch}.home-case-copy>p:not(.eyebrow){font-size:18px;max-width:38ch;margin-top:17px}.home-case-copy>.text-link{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.banner-art *{animation:none!important;transition:none!important}}
@media print{.page-banner,.home-panorama,.banner-control-wrap{display:none!important}.illustrated-home.home-hero{background:white;color:#261d2e;overflow:visible}.home-hero-inner{display:block;min-height:0;padding-block:20px}.home-evidence-layout{padding-block:20px;gap:25px}.home-evidence-layout .power-route{print-color-adjust:exact}}
