/* Fixed scenic stage with floating reading surfaces. No scroll-driven zoom. */
body.ps-page{background:#071a29}
.ps-nojs{background:#fff;color:#102436;border-radius:1rem;margin:2rem auto}
.ps-shell{position:relative;isolation:isolate;min-height:100svh}
.ps-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#0b2634;pointer-events:none}
.ps-backdrop>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease}
.ps-backdrop>img.is-active{opacity:1}
.ps-backdrop-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,28,.35),rgba(3,16,28,.08) 60%,rgba(3,16,28,.2)),linear-gradient(0deg,rgba(3,16,28,.28),transparent 55%,rgba(3,16,28,.2))}
.ps-private{background:rgba(244,250,252,.96)}
.ps-header{background:rgba(4,19,32,.9);border-color:#e6f1f326;box-shadow:0 8px 28px #02101c22}
.ps-body{gap:clamp(1rem,2vw,2rem);padding:clamp(1rem,2vw,2rem);align-items:start}
.ps-sidebar{position:sticky;top:1.5rem;background:rgba(4,20,34,.9);color:#fff;border:1px solid #d7eef23d;border-radius:1rem;padding:1.25rem .85rem;box-shadow:0 14px 40px #03112026;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ps-directory nav a{color:#edf5f7;font-size:.9rem}
.ps-directory nav a:hover{background:#d1f4ec1a}
.ps-directory nav a[aria-current=page]{background:#c8dd4a;color:#061525;font-weight:750}
.ps-directory nav a[aria-current=page] svg{color:#174b43}
.ps-sidebar-note{color:#d6e4e9;font-size:.875rem}
.ps-sidebar :focus-visible,.ps-header :focus-visible{outline-color:#ffcf5c}
.ps-workspace{padding:0 0 1rem;min-width:0}
.ps-display-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem 1rem;margin:0 0 1.5rem;padding:.7rem 1rem;background:rgba(4,20,34,.91);border:1px solid #d7eef233;border-radius:.8rem;color:#eef7f7;font-size:.875rem;box-shadow:0 8px 24px #03112022}
.ps-display-controls a{margin-left:.35rem;text-decoration:underline}
.ps-scenes-toggle,.ps-effects-toggle{background:#ffffff12;border:1px solid #c4d9df88;border-radius:2rem;padding:.55rem .9rem;min-height:2.75rem;color:#fff;flex-shrink:0}
.ps-scenes-toggle[aria-pressed=true],.ps-effects-toggle[aria-pressed=true]{background:#c8dd4a;color:#061525;border-color:#c8dd4a}
.ps-display-controls :focus-visible{outline-color:#ffcf5c}
.ps-hero{display:block;width:100%;max-width:45rem;min-height:0;margin:clamp(1rem,3vw,3rem) 0 clamp(2rem,5vw,5rem);padding:clamp(1.5rem,3.5vw,3.5rem);background:rgba(4,20,34,.87);border:1px solid #d7eef24d;border-radius:1.4rem;box-shadow:0 24px 65px #02101c45;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff}
.ps-hero h1{font-size:clamp(2.3rem,4.5vw,4rem);line-height:1.08}
.ps-hero .ps-lede{font-size:1.05rem;color:#edf5f8;max-width:37ch!important}
.ps-hero .ps-eyebrow{font-size:.8rem;color:#7ce6da}
.ps-hero :focus-visible,.ps-collection-band :focus-visible{outline-color:#ffcf5c}
.ps-entrance-section,.ps-tool-section{margin-top:clamp(2rem,5vw,5rem)}
.ps-section-heading{padding:1.1rem 1.25rem;border:1px solid #d7eef24d;border-radius:.8rem;background:rgba(4,20,34,.92);color:#fff;gap:.65rem 1.25rem;flex-wrap:wrap}
.ps-section-heading p{color:#e4eef1;font-size:.9rem}
.ps-entrance,.ps-tool-card{background:rgba(250,253,254,.97);border:1px solid #ffffffb3;box-shadow:0 12px 30px #02101c29}
.ps-entrance:hover,.ps-tool-card:hover{border-color:#8bdacd;box-shadow:0 14px 36px #02101c40}
.ps-entrance p,.ps-tool-card p{font-size:.9rem}
.ps-entrance h3,.ps-tool-card h3{font-size:1.03rem}
.ps-status{font-size:.8rem}
.ps-collection-band{display:block;width:100%;max-width:47rem;margin:clamp(3rem,8vw,7rem) 0 clamp(3rem,6vw,5rem) auto;border:1px solid #d7eef24d;border-radius:1.25rem;background:rgba(4,20,34,.9);box-shadow:0 24px 60px #02101c3d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;overflow:hidden}
.ps-collection-band>div{padding:clamp(1.5rem,3vw,3rem)}
.ps-collection-band .ps-eyebrow{color:#7ce6da;font-size:.8rem}
.ps-collection-band h2{font-size:clamp(1.65rem,2.6vw,2.25rem)}
.ps-collection-band p:not(.ps-eyebrow){font-size:1rem;margin:1rem 0 1.5rem;color:#e3eef2}
.ps-example{background:rgba(245,252,248,.97);border:1px solid #ffffffa1;border-left:4px solid #4b9e8e;box-shadow:0 12px 30px #02101c29}
.ps-example p:not(.ps-eyebrow){font-size:.95rem}
.ps-example .ps-eyebrow{font-size:.78rem}
.ps-text-link{font-size:.95rem}
.ps-route-heading{padding:clamp(1.2rem,3vw,2.25rem);border:1px solid #d7eef24d;border-radius:1rem;background:rgba(4,20,34,.92);box-shadow:0 12px 32px #02101c29;color:#fff;margin-bottom:1.5rem}
.ps-route-heading p:not(.ps-eyebrow){color:#e3eef2}
.ps-route-heading .ps-eyebrow{color:#7ce6da;font-size:.8rem}
.ps-module-outlet{padding:clamp(.9rem,2vw,2rem);background:rgba(250,253,254,.985);border:1px solid #ffffffb3;border-radius:1rem;box-shadow:0 20px 50px #02101c35}
.ps-help,.ps-feedback,.ps-image-credits,.ps-footer,.ps-related-archive{background:rgba(250,253,254,.97);border:1px solid #ffffffb3;border-radius:.8rem;box-shadow:0 10px 26px #02101c22}
.ps-feedback{padding:1rem 1.25rem;margin-top:2.5rem}
.ps-image-credits{margin-top:1.1rem;font-size:.875rem;color:#41586b;padding:.65rem 1.25rem;scroll-margin-top:1rem}
.ps-image-credits summary{cursor:pointer;min-height:2.75rem;padding:.55rem 0;font-weight:650}
.ps-image-credits p{margin:.75rem 0}.ps-image-credits li{margin:.6rem 0}
.ps-footer{padding:1rem 1.25rem;font-size:.875rem}
.ps-related-archive{margin-top:1.5rem!important;font-size:.9rem;padding:1rem}
.ps-archive-help{padding-top:.8rem;border-top:1px solid var(--ps-line)}
.ps-plain-scenes{background:var(--ps-paper)}
.ps-plain-scenes .ps-backdrop{display:none}
.ps-plain-scenes .ps-hero,.ps-plain-scenes .ps-collection-band{background:var(--ps-navy-2);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;margin-block:1.5rem;max-width:none}
.ps-plain-scenes .ps-sidebar,.ps-plain-scenes .ps-display-controls,.ps-plain-scenes .ps-route-heading,.ps-plain-scenes .ps-section-heading{background:var(--ps-navy-2);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.ps-plain-scenes .ps-entrance,.ps-plain-scenes .ps-tool-card,.ps-plain-scenes .ps-module-outlet,.ps-plain-scenes .ps-help,.ps-plain-scenes .ps-feedback,.ps-plain-scenes .ps-image-credits,.ps-plain-scenes .ps-footer{background:#fff;border-color:var(--ps-line);box-shadow:none}
@media(max-width:1199px){.ps-body{grid-template-columns:13rem minmax(0,1fr);gap:1.25rem}.ps-sidebar{padding:1rem .55rem}.ps-hero{max-width:40rem}.ps-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:959px){.ps-body{display:block;padding:1rem 1.25rem}.ps-sidebar{position:relative;top:auto;margin-bottom:1rem}.ps-workspace{padding:0}.ps-hero{margin-block:1.5rem 3rem}.ps-directory nav{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-collection-band{margin-block:3rem}}
@media(max-width:599px){.ps-body{padding:1rem .75rem}.ps-display-controls{font-size:.875rem;align-items:flex-start}.ps-display-controls>span{flex:1 1 12rem}.ps-display-controls a{display:block;margin-left:0}.ps-hero{padding:1.5rem}.ps-hero h1{font-size:clamp(2.1rem,9vw,2.8rem)}.ps-directory nav{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-tool-grid{grid-template-columns:1fr}.ps-entrances{grid-template-columns:1fr}.ps-entrance{padding:1.1rem 1rem 2rem}.ps-section-heading{padding:1rem}.ps-module-outlet{padding:.85rem .65rem}.ps-feedback,.ps-image-credits,.ps-footer{padding:.8rem 1rem}.ps-collection-band{margin-block:2.5rem}.ps-entrance-section,.ps-tool-section{margin-top:2.5rem}}
@media(prefers-reduced-motion:reduce){.ps-backdrop{position:absolute}.ps-backdrop>img{transition:none}.ps-sidebar{position:relative;top:auto}}
@media(prefers-reduced-transparency:reduce){.ps-sidebar,.ps-display-controls,.ps-hero,.ps-collection-band,.ps-section-heading,.ps-route-heading{background:#0b2941;backdrop-filter:none;-webkit-backdrop-filter:none}.ps-entrance,.ps-tool-card,.ps-module-outlet,.ps-help,.ps-feedback,.ps-image-credits,.ps-footer{background:#fff}}
@media(forced-colors:active){.ps-backdrop{display:none}.ps-shell,.ps-plain-scenes{background:Canvas;color:CanvasText}.ps-header,.ps-sidebar,.ps-display-controls,.ps-hero,.ps-collection-band,.ps-section-heading,.ps-route-heading,.ps-module-outlet,.ps-help,.ps-feedback,.ps-image-credits,.ps-footer,.ps-entrance,.ps-tool-card,.ps-example{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.ps-hero .ps-lede,.ps-section-heading p,.ps-route-heading p:not(.ps-eyebrow),.ps-collection-band p:not(.ps-eyebrow),.ps-sidebar-note,.ps-directory nav a{color:CanvasText}.ps-scenes-toggle,.ps-effects-toggle{background:ButtonFace;color:ButtonText;border-color:ButtonText}}
@media print{body.ps-page,.ps-shell{background:#fff}.ps-backdrop,.ps-display-controls{display:none}.ps-body{display:block;padding:0}.ps-workspace{padding:0}.ps-hero,.ps-collection-band,.ps-section-heading,.ps-route-heading,.ps-module-outlet,.ps-image-credits,.ps-footer,.ps-example{background:#fff;color:#102436;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid #777;max-width:none;margin-block:1rem}.ps-hero .ps-lede,.ps-section-heading p,.ps-route-heading p:not(.ps-eyebrow),.ps-collection-band p:not(.ps-eyebrow),.ps-collection-band .ps-eyebrow,.ps-route-heading .ps-eyebrow{color:#102436}.ps-entrance-section,.ps-tool-section{margin-top:1.5rem}.ps-entrance,.ps-tool-card{background:#fff;border:1px solid #777;box-shadow:none}}

/* Each route keeps a distinct photographic identity and an accessible accent. */
.ps-route-heading{border-left:5px solid var(--ps-section-accent,#d9b583)}
.ps-route-heading .ps-eyebrow{color:var(--ps-section-accent,#d9b583)}
.ps-directory nav a[aria-current=page]{box-shadow:inset 3px 0 0 var(--ps-section-accent,#d9b583)}
@media(forced-colors:active){.ps-route-heading .ps-eyebrow{color:CanvasText}.ps-directory nav a[aria-current=page]{box-shadow:none;border:2px solid Highlight}}
@media print{.ps-route-heading .ps-eyebrow{color:#102436}}
