#file.dossier-section { background:#0f0f0e; padding:clamp(44px,7vw,100px) 20px 64px; overflow:clip; color:#d8d0bf; }
.ds { max-width:1264px; margin:auto; --ds-gutter:clamp(24px,4vw,52px); --ink:#242735; --board:#b89d6f; font:13px/1.5 'Courier Prime','Courier New',monospace; }
.ds button { font:inherit; color:inherit; -webkit-tap-highlight-color:transparent; }
.ds-head { display:flex; flex-direction:column; justify-content:center; gap:5px; margin:0 0 28px; align-items:center; text-align:center; text-transform:uppercase; letter-spacing:.15em; color:#a99d87; }
.ds-head p { margin:0; }
.ds-head small { font-size:10px; letter-spacing:.1em; }
.ds-window { width:calc(100% - 2 * var(--ds-gutter)); margin-inline:var(--ds-gutter); position:relative; }
.ds-scene { position:relative; width:100%; aspect-ratio:1.48; isolation:isolate; }
.ds-deck { position:absolute; inset:0; transform:translateX(-25%); }
/* One exterior shadow sits below both panels. An individual panel's outer
   shadow would spill onto its neighbour when the rotating cover is hidden. */
.ds-board-shadow { position:absolute; top:0; bottom:0; left:var(--ds-shadow-left,50%); right:0; z-index:-1; border-radius:17px; box-shadow:0 15px 28px #0006; pointer-events:none; }
.ds-board { position:absolute; top:0; bottom:0; width:50%; border-radius:10px 17px 17px 10px; background:linear-gradient(92deg,#998258 0%,#b8a078 6%,#cab58c 48%,#b09a72 100%); box-shadow:inset 0 0 0 1px #ecd7ae55, inset 0 0 35px #55422233; }
.ds-board::after,.ds-inside::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:.28; background:var(--paper-grain,linear-gradient(25deg,transparent,#5d492d18)); }
.ds-board-left { left:0; visibility:hidden; }
.ds-board-right { left:50%; }
.ds-board-right::before { content:''; position:absolute; left:0; top:1.5%; bottom:1.5%; width:7px; opacity:var(--ds-fold-shade,.3); background:linear-gradient(90deg,#5a42294d,transparent); }
.ds-board-label { position:absolute; left:12%; right:10%; bottom:9%; color:#5c4d37; font-size:clamp(5px,.8vw,10px); letter-spacing:.2em; opacity:.65; text-align:left; }
.ds-folder-tab { position:absolute; inset:0; z-index:1; border:0; padding:0; background:none; cursor:pointer; }
.ds-folder-tab[hidden] { display:none; }
.ds-folder-tab:focus-visible { outline:2px solid #e5c68f; outline-offset:-6px; border-radius:12px; }
/* Only the exposed beige folder receives the close action. Sheets retain
   their own hit targets and the plane can still capture a drag. */
.ds-pages { position:absolute; inset:0; z-index:2; touch-action:pan-y pinch-zoom; pointer-events:none; }
.ds-page { pointer-events:auto; }
.ds-page { position:absolute; left:0; top:0; padding:0; margin:0; border:0; background:none; transform-origin:center; cursor:grab; touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; }
.ds-page[hidden] { display:none; }
.ds-page:disabled { cursor:default; }
.ds-page:focus-visible { outline:2px solid #d1b476; outline-offset:3px; border-radius:8px; }
.ds-page img { width:100%; height:auto; display:block; pointer-events:none; user-select:none; -webkit-user-drag:none; }
.ds-page::before { content:''; position:absolute; inset:3.5% 5.3%; border-radius:8px; box-shadow:0 4px 7px #0006; z-index:-1; }
.ds-page.ds-moving { cursor:grabbing; will-change:transform; }
.ds-page.ds-moving::before { box-shadow:0 12px 18px #0006; }
.ds-cover-space { position:absolute; inset:0; z-index:3; perspective:clamp(1800px,400vw,5000px); pointer-events:none; }
.ds-cover { position:absolute; left:50%; top:0; width:50%; height:100%; padding:0; border:0; background:none; transform-origin:left center; transform-style:preserve-3d; cursor:pointer; pointer-events:auto; }
.ds-cover:focus-visible { outline:2px solid #e5c68f; outline-offset:6px; }
.ds-cover-front,.ds-inside { position:absolute; inset:0; display:block; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:10px 17px 17px 10px; }
.ds-cover-front { overflow:hidden; background:#c6ae83; box-shadow:0 14px 25px #0007; }
.ds-cover-front img { width:100%; height:100%; object-fit:fill; display:block; }
.ds-inside { transform:rotateY(180deg); }
/* The rotating inside and its resting board must meet without a lighting jump.
   Neither casts an outer shadow across the central fold or the documents. */
.ds-inside,.ds-board-left { border-radius:17px 6px 6px 17px; background:linear-gradient(88deg,#b19a70,#c8b18a 55%,#ae956b); box-shadow:inset 0 0 22px #624d2626; }
.ds-cover-space[hidden] { display:none; }
.ds button.ds-arrow { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; padding:0; border:0; background:none; font:24px/1 'Courier Prime','Courier New',monospace; color:#a99d87; opacity:.65; cursor:pointer; }
.ds-arrow-previous { right:100%; }
.ds-arrow-next { left:100%; }
.ds-arrow:hover:not(:disabled) { opacity:1; }
.ds-arrow:focus-visible { outline:1px solid #a99d87; outline-offset:-4px; border-radius:3px; }
.ds-arrow:disabled,.ds-arrow[aria-disabled='true'] { opacity:.22; cursor:default; }
.ds-arrow[hidden] { display:none; }
.ds-instructions { display:grid; margin:26px auto 0; text-align:center; color:#bcb29f; font-size:11px; line-height:1.65; }
/* Share one reserved area so the longer mobile hint never shifts the folder. */
.ds-instructions p { grid-area:1 / 1; margin:4px 0; opacity:0; visibility:hidden; transition:opacity .35s ease-in-out,visibility 0s .35s; }
.ds-instructions p[aria-hidden='false'] { opacity:1; visibility:visible; transition:opacity .5s ease-in-out .35s,visibility 0s .35s; }
/* Fade the wrapper; keep the translucent glow independent on its text. */
.ds-instructions span { animation:ds-instruction-glow 4.8s ease-in-out infinite; }
@keyframes ds-instruction-glow {
  0%,100% { opacity:.14; text-shadow:0 0 5px #d5c4a808; }
  26% { opacity:.4; text-shadow:0 0 9px #d5c4a824; }
  52% { opacity:.72; text-shadow:0 0 13px #d5c4a847; }
  72% { opacity:.22; text-shadow:0 0 7px #d5c4a814; }
  88% { opacity:.38; text-shadow:0 0 10px #d5c4a826; }
}
.ds-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.ds[data-enhanced='true'] .ds-index { display:none; }
.ds-control { min-height:44px; padding:10px 17px; border:1px solid #a293714a; background:#d6c29208; border-radius:3px; cursor:pointer; transition:background .15s,color .15s; }
.ds-control:hover:not(:disabled) { background:#d6c29218; color:#fff0d4; }
.ds-control:focus-visible,.ds summary:focus-visible { outline:2px solid #d1b476; outline-offset:4px; }
.ds-control:disabled { opacity:.32; cursor:default; }
.ds-control[aria-disabled='true'] { opacity:.45; cursor:default; }
.ds-control[hidden] { display:none; }
.ds-error { color:#e1b3a1; text-align:center; }
.ds-index { margin:30px auto 0; max-width:660px; color:#9e9380; border-top:1px solid #a293712c; padding-top:15px; font-size:12px; }
.ds-index summary { cursor:pointer; padding:8px 0; }
.ds-index ol { margin:14px 0 0 28px; line-height:2; }
.ds-index a { color:#c4b498; text-underline-offset:3px; }
.ds-reader { border:1px solid #6b604e; border-radius:7px; background:#14161c; color:#ded6c6; width:min(1180px,96vw); max-height:94dvh; padding:0; margin:auto; }
.ds-reader::backdrop { background:#000b; }
.ds-reader-head { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:12px 18px; border-bottom:1px solid #6b604e66; font:13px/1.5 'Courier Prime','Courier New',monospace; background:#14161c; }
.ds-reader-head h2 { font:inherit; margin:0; max-width:70%; }
.ds-reader-body { overflow:auto; max-height:calc(94dvh - 145px); padding:12px; text-align:center; }
.ds-reader-image { width:min(100%,1102px); height:auto; display:block; margin:0 auto; }
.ds-reader-body[data-zoom='true'] .ds-reader-image { width:1102px; max-width:none; }
.ds-reader-foot { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; padding:10px; border-top:1px solid #6b604e66; }
.ds-reader-text { text-align:left; max-width:850px; margin:20px auto; padding:0 14px; }
.ds-reader-text summary { cursor:pointer; padding:10px 0; }
.ds-reader-text pre { white-space:pre-wrap; font:15px/1.65 'Courier Prime','Courier New',monospace; color:#e4dbc9; margin-top:12px; }
.ds-reader .ds-control { font:12px 'Courier Prime','Courier New',monospace; color:#ded6c6; }
@media (max-width:600px) {
  #file.dossier-section { padding:40px 12px; }
  .ds { --ds-gutter:32px; }
  .ds-head { margin-bottom:20px; font-size:10px; letter-spacing:.08em; }
  .ds-head small { font-size:9px; }
  .ds-instructions { margin-top:18px; font-size:10px; }
  .ds button.ds-arrow { font-size:20px; }
  .ds-control { padding:9px 11px; font-size:11px; }
  .ds button { font-size:11px; }
  .ds-reader { width:100vw; max-height:100dvh; height:100dvh; border:0; border-radius:0; }
  .ds-reader-body { max-height:calc(100dvh - 152px); padding:3px; }
  .ds-reader-head { padding:10px; }
  .ds-reader-head h2 { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .ds * { transition:none !important; scroll-behavior:auto; }
  .ds-instructions span { animation:none; opacity:.82; text-shadow:0 0 4px #d5c4a810; }
}
