/* P1 is scoped: the approved H0 composition and other scenes keep their CSS. */
.p1-story,.p1-reading,.p1-fayol { --p1-paper:#edece3; --p1-ink:#25342e; --p1-night:#252d29; --p1-accent:#c7b78c; }
.p1-hero { position:relative; height:820px; overflow:hidden; isolation:isolate; background:var(--p1-night); color:var(--p1-paper); }
.p1-hero p { margin:0; }
.p1-vitals { position:absolute; top:32px; left:5vw; font-size:13px; color:#c3c7bd; }
.p1-name { position:absolute; inset:92px auto 90px 5vw; margin:0; z-index:3; pointer-events:none; }
.p1-name span { display:block; font:700 154px/1.1 var(--serif); letter-spacing:.025em; }
.p1-name span+span { position:absolute; top:485px; white-space:nowrap; font-size:91px; }
.p1-face { position:absolute; width:850px; height:1040px; left:calc(50% - 380px); top:32px; padding:0; }
.p1-face img { width:100%; height:auto; clip-path:url(#lil-profile); filter:grayscale(1) contrast(1.04); }
.p1-face:focus-visible { outline:2px solid var(--p1-accent); outline-offset:-100px; }
.p1-question { position:absolute; z-index:4; top:105px; right:5.4vw; max-width:280px; }
.p1-question>p { font:400 31px/1.6 var(--serif); }
.p1-question>span { display:block; margin-top:23px; font-size:13px; color:#c3c7bd; }
.p1-action { display:inline-block; padding:10px 0; font:15px/1.6 var(--sans); text-decoration:underline; text-underline-offset:7px; }
.p1-question .p1-action { margin-top:26px; }
.p1-hero-leaf { position:absolute; z-index:2; right:5vw; top:402px; width:192px; padding:0; transform:rotate(5deg); box-shadow:12px 14px 25px #0003; }
.p1-hero-leaf img { width:100%; display:block; }
.p1-portrait-credit { position:absolute; bottom:26px; right:5vw; z-index:4; color:#c3c7bd; font-size:12px; }
.p1-chapters { display:flex; position:sticky; top:66px; z-index:5; justify-content:center; gap:48px; padding:5px 24px; background:#eeeee6f5; color:#26382e; border-bottom:1px solid #ccd1c5; }
.p1-chapters a { font-size:14px; display:flex; align-items:center; min-height:44px; padding:10px 2px; }
.p1-chapters a[aria-current="location"] { text-decoration:underline; text-underline-offset:8px; }
.p1-scene { padding:94px 6vw 110px; display:grid; grid-template-columns:1fr 1.2fr .85fr; gap:4.5vw; align-items:start; background:var(--p1-paper); color:var(--p1-ink); scroll-margin-top:145px; }
.p1-scene-heading>p { font-size:12px; margin:0 0 27px; }
.p1-scene h2 { font:600 clamp(32px,3.4vw,49px)/1.55 var(--serif); margin:0; }
.p1-scene-copy>p { font:19px/2 var(--serif); margin:0 0 24px; }
.p1-source-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.p1-ref { color:#53644f; font:12px/1.7 var(--sans); text-decoration:underline; text-underline-offset:4px; text-align:left; padding:5px 0; min-height:44px; }
.p1-leaf { margin:0; }
.p1-leaf button { display:block; padding:0; width:100%; transform:rotate(2deg); box-shadow:7px 9px 20px #15231a20; }
.p1-leaf img { display:block; width:100%; }
.p1-leaf figcaption { margin-top:23px; font-size:12px; line-height:1.8; color:#596553; }
.p1-scene-1 { background:#d9dfd4; grid-template-columns:1.15fr 1fr 1.1fr; }
.p1-scene-1 .p1-leaf { grid-column:1; grid-row:1; width:88%; }
.p1-scene-1 .p1-scene-heading { grid-column:2; }
.p1-scene-1 .p1-scene-copy { grid-column:3; }
.p1-scene-1 .p1-leaf button { transform:rotate(-3deg); }
.p1-deeper { background:#354a42; color:#f0ede1; padding:75px 10vw 85px; }
.p1-deeper h2 { font:500 clamp(42px,5vw,72px)/1.4 var(--serif); margin:30px 0; }
.p1-deeper>p { font-size:14px; line-height:1.9; }
.p1-reading { background:#eeeee7; color:#28382e; }
.p1-reading-head { padding:68px max(6vw,calc((100vw - 1160px)/2)) 58px; background:#dce1d7; }
.p1-reading-head h1 { font:600 clamp(40px,5vw,70px)/1.4 var(--serif); margin:30px 0; }
.p1-reading-head>p { font:14px/1.8 var(--sans); }
.p1-reading-head .p1-reading-lead { font:21px/1.8 var(--serif); }
.p1-reading-head .p1-edition { max-width:680px; font-size:12px; color:#596452; }
.p1-reading-head>a { font-size:13px; text-decoration:underline; text-underline-offset:5px; }
.p1-reading-grid { max-width:1310px; margin:auto; display:grid; grid-template-columns:165px minmax(0,650px) 145px; gap:50px; padding:66px 30px 100px; justify-content:center; align-items:start; }
.p1-reading-nav,.p1-reading-aside { position:sticky; top:100px; }
.p1-reading-nav a { display:block; margin:0 0 21px; font-size:13px; color:#64705b; }
.p1-reading-nav a[aria-current="location"] { color:#263c2f; text-decoration:underline; text-underline-offset:7px; }
.p1-reading-aside img { width:100%; }
.p1-reading-aside p,.p1-reading-aside button { font-size:12px; line-height:1.8; color:#64705b; }
.p1-text section { margin:0 0 75px; scroll-margin-top:100px; }
.p1-text section:focus { outline:none; }
.p1-text h2 { font:600 32px/1.5 var(--serif); margin:0 0 28px; }
.p1-text section>p { font:19px/2.05 var(--serif); margin:0 0 24px; text-wrap:pretty; }
.p1-text .p1-interpretation { color:#596652; }
.p1-reading-facsimile { max-width:360px; margin:45px auto; }
.p1-reading-facsimile img { width:100%; }
.p1-reading-facsimile figcaption,.p1-reading-end { font-size:13px; line-height:1.9; color:#64705b; }
.p1-reading-exits { display:flex; flex-wrap:wrap; gap:20px; margin-top:36px; font-size:14px; }
.p1-reading-exits a { text-decoration:underline; text-underline-offset:5px; }
.p1-reading-end>a { display:block; margin-top:25px; }
.p1-fayol-opening { background:#cbd2c4; min-height:780px; position:relative; overflow:hidden; color:#223b32; }
.p1-fayol-document { position:absolute; width:490px; left:11vw; top:40px; transform:rotate(-8deg); box-shadow:0 8px 30px #21352c2b; }
.p1-fayol-document button,.p1-fayol-document img { width:100%; display:block; padding:0; }
.p1-fayol-date { position:relative; margin:0; padding:35px 5vw; font-size:14px; }
.p1-fayol-opening h1 { position:absolute; margin:0; left:47%; top:117px; font:600 112px/1.5 var(--serif); }
.p1-fayol-opening h1 span { display:inline-block; margin-left:55px; }
.p1-fayol-portrait { position:absolute; margin:0; right:6vw; bottom:75px; width:150px; }
.p1-fayol-portrait img { width:100%; border-radius:50%; }
.p1-fayol-portrait figcaption { font-size:13px; margin-top:16px; }
.p1-fayol-opening-copy { position:absolute; left:51%; top:470px; }
.p1-fayol-opening-copy>p { font:23px/1.7 var(--serif); }
.p1-fayol-original { position:absolute; bottom:26px; left:5vw; font-size:13px; }
.p1-fayol-context { padding:60px 12vw; max-width:1100px; line-height:1.9; }
.p1-fayol-context h2 { font:500 38px var(--serif); }
dialog:has(.p1-source) { width:min(1150px,98vw); padding:20px; }
.p1-source { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr); gap:30px; clear:both; }
.p1-source-view { min-width:0; }
.p1-source-toolbar { display:flex; justify-content:space-between; gap:18px; font-size:13px; padding:12px 5px; }
.p1-source-image { height:calc(100dvh - 138px); overflow:auto; background:#d5d5c9; text-align:center; overscroll-behavior:contain; }
.p1-source-image img { width:100%; height:100%; object-fit:contain; }
.p1-source-image.is-zoomed img { width:175%; max-width:none; height:auto; }
.p1-source-description { padding:0 12px 20px 0; }
.p1-source-description h2 { margin-top:12px; font-size:30px; }
.p1-source-description>p { font-size:13px; line-height:1.9; }
.p1-source-description>a { text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.p1-source-description nav { margin-top:28px; display:grid; gap:15px; }
.p1-source-description nav button { text-align:left; padding:4px; font-size:13px; }
.p1-source-description nav button[aria-current="page"] { text-decoration:underline; text-underline-offset:6px; }
.p1-static { max-width:800px; margin:0 auto; padding:30px; color:#28382e; background:#eeeee7; font:19px/2 var(--serif); }
.p1-static nav { display:flex; flex-wrap:wrap; gap:20px; font:14px var(--sans); }
.p1-static h1 { font-size:44px; line-height:1.4; }
.p1-static section { margin:55px 0; }
.p1-static section a { font:14px var(--sans); }
@media(min-width:701px) and (max-width:1100px) {
 .p1-hero { height:840px; } .p1-name span { font-size:118px; } .p1-name span+span { font-size:64px; top:500px; }
 .p1-face { width:740px; left:calc(50% - 370px); top:105px; }
 .p1-question { top:50px; right:5vw; max-width:220px; } .p1-question>p { font-size:25px; }
 .p1-hero-leaf { width:145px; top:475px; }
 .p1-scene { grid-template-columns:1fr 1.2fr; } .p1-scene-heading { grid-column:1 / -1; } .p1-scene-1 .p1-scene-heading { grid-column:1 / -1; } .p1-scene-1 .p1-leaf { grid-row:2; } .p1-scene-1 .p1-scene-copy { grid-column:2; }
 .p1-reading-grid { grid-template-columns:140px minmax(0,650px); gap:35px; } .p1-reading-aside { display:none; }
 .p1-fayol-document { left:3vw; width:400px; } .p1-fayol-opening h1 { font-size:85px; left:42%; } .p1-fayol-opening-copy { left:48%; } .p1-fayol-portrait { width:105px; bottom:22px; }
}
@media(max-width:700px) {
 .p1-hero { height:820px; }
 .p1-vitals { top:22px; left:22px; font-size:11px; }
 .p1-name { left:22px; top:55px; bottom:auto; width:calc(100% - 40px); }
 .p1-name span { font-size:79px; }
 .p1-name span+span { top:450px; font-size:42px; }
 .p1-face { width:520px; height:637px; left:calc(50% - 250px); top:100px; }
 .p1-question { top:630px; left:24px; right:auto; max-width:310px; }
 .p1-question>p { font-size:26px; line-height:1.5; }
 .p1-question>span { font-size:11px; margin-top:10px; }
 .p1-question .p1-action { margin-top:3px; font-size:14px; }
 .p1-hero-leaf { width:95px; top:395px; right:20px; }
 .p1-portrait-credit { left:24px; right:auto; bottom:210px; font-size:10px; }
 .p1-chapters { top:53px; padding:5px 10px; justify-content:space-between; gap:10px; }
 .p1-chapters a { font-size:12px; white-space:nowrap; }
 .p1-scene,.p1-scene-1 { padding:45px 24px 55px; display:flex; flex-direction:column; gap:27px; scroll-margin-top:120px; }
 .p1-scene h2 { font-size:33px; } .p1-scene-heading>p { margin-bottom:20px; }
 .p1-scene-copy>p { font-size:18px; line-height:1.95; }
 .p1-leaf,.p1-scene-1 .p1-leaf { width:80%; max-width:360px; align-self:center; }
 .p1-deeper { padding:45px 24px 55px; } .p1-deeper h2 { font-size:39px; }
 .p1-reading-head { padding:35px 24px; } .p1-reading-head h1 { font-size:37px; } .p1-reading-head .p1-reading-lead { font-size:19px; }
 .p1-reading-grid { display:block; padding:0 24px 50px; }
 .p1-reading-nav { position:sticky; top:53px; margin:0 -24px 35px; padding:5px 18px; display:flex; overflow:auto; gap:24px; background:#eeeee7f5; z-index:4; border-bottom:1px solid #ccd1c5; }
 .p1-reading-nav a { flex-shrink:0; margin:0; font-size:12px; min-height:44px; display:flex; align-items:center; }
 .p1-reading-aside { display:none; } .p1-text h2 { font-size:29px; line-height:1.55; }
 .p1-text section>p { font-size:18px; line-height:1.95; }
 .p1-text section { margin-bottom:55px; scroll-margin-top:125px; }
 .p1-reading-facsimile { max-width:260px; }
 .p1-fayol-opening { min-height:790px; }
 .p1-fayol-date { padding:25px 22px; font-size:12px; }
 .p1-fayol-document { width:245px; left:-65px; top:170px; transform:rotate(-8deg); }
 .p1-fayol-opening h1 { left:24px; top:64px; font-size:66px; z-index:2; }
 .p1-fayol-opening h1 span { margin-left:83px; }
 .p1-fayol-portrait { width:106px; right:22px; bottom:237px; }
 .p1-fayol-portrait figcaption { font-size:12px; }
 .p1-fayol-opening-copy { left:24px; top:590px; right:20px; }
 .p1-fayol-opening-copy>p { font-size:22px; }
 .p1-fayol-original { left:22px; bottom:23px; font-size:12px; }
 .p1-fayol-context { padding:35px 24px; } .p1-fayol-context h2 { font-size:31px; }
 .p1-source { display:flex; flex-direction:column; gap:20px; } .p1-source-view { width:100%; }
 .p1-source-image { height:65dvh; } .p1-source-description { padding:0 4px; }
 .p1-source-description h2 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { .p1-story *, .p1-reading * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .p1-static { max-width:none; font-size:12pt; } .p1-static section { break-inside:avoid; } }
