/* A single sculptural sheet shares its stage, travel and lifecycle everywhere. */
html body.living-fold .connected-paper {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  --paper-sculpture-style: 1;
}
html body.living-fold.connected-paper-ready .connected-paper { visibility: visible; }
html body.living-fold .connected-paper__surfaces,
html body.living-fold .connected-paper__sheet,
html body.living-fold .connected-paper__outgoing,
html body.living-fold .connected-paper__canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  pointer-events: none;
}
html body.living-fold .connected-paper__sheet { transform-origin: 50% 50%; }
html body.living-fold .connected-paper__surfaces { isolation: isolate; }
html body.living-fold .connected-paper[data-folding="true"] :is(.connected-paper__sheet,.connected-paper__outgoing) { mix-blend-mode: plus-lighter; }
html body.living-fold .connected-paper__outgoing { opacity: 0; }
/* A broad, soft ground shadow and a drawn line give the folded faces context.
   Neither needs a blur filter, extra canvas, or JavaScript animation loop. */
html body.living-fold .connected-paper::before,
html body.living-fold.connected-paper-ready.mobile-continuous .title-panel .living-fold-chapter-art::before {
  content: '';
  position: absolute;
  left: 22%;
  bottom: 8%;
  width: 60%;
  height: 11%;
  background: radial-gradient(ellipse, rgb(0 0 0 / .25), transparent 68%);
  opacity: .65;
  transform: rotate(-6deg);
}
html[data-theme="light"] body.living-fold .connected-paper::before,
html[data-theme="light"] body.living-fold.connected-paper-ready.mobile-continuous .title-panel .living-fold-chapter-art::before { opacity: .38; }
html body.living-fold .connected-paper.is-anchored::before { display: none; }
html body.living-fold .connected-paper__gesture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: var(--accent-readable, var(--ink-2));
  stroke-width: 1.2;
  stroke-linecap: round;
  opacity: .3;
  transform-origin: 50% 50%;
}
html body.living-fold .connected-paper__gesture path { stroke-dasharray: 1; stroke-dashoffset: 0; }
html body.living-fold .connected-paper[data-pose="Places"] .connected-paper__gesture,
html body.living-fold .living-fold-chapter-art[data-paper-pose="Places"] .connected-paper__gesture { transform: rotate(12deg); }
html body.living-fold .connected-paper[data-pose="Archive"] .connected-paper__gesture,
html body.living-fold .living-fold-chapter-art[data-paper-pose="Archive"] .connected-paper__gesture { transform: rotate(-14deg) scale(.94); }
html body.living-fold .connected-paper[data-pose="About"] .connected-paper__gesture,
html body.living-fold .living-fold-chapter-art[data-paper-pose="About"] .connected-paper__gesture { transform: rotate(18deg) scale(.92); }
html body.living-fold .connected-paper[data-pose="Reviews"] .connected-paper__gesture,
html body.living-fold .living-fold-chapter-art[data-paper-pose="Reviews"] .connected-paper__gesture { transform: rotate(-8deg); }
html body.living-fold .living-fold-chapter-art > .connected-paper__gesture { display: none; }
html body.living-fold.connected-paper-ready.mobile-continuous .living-fold-chapter-art > .connected-paper__gesture { display: block; }
html body.living-fold .connected-paper.is-anchored > .connected-paper__gesture { visibility: hidden; }
html body.living-fold.connected-paper-ready .origami-flow__piece { display: none !important; }
html body.living-fold.connected-paper-ready .origami-flow__carrier { transition-duration: 460ms, 180ms; }
html body.living-fold.connected-paper-ready:not(.project-open):not(.cv-open) .origami-flow { opacity: 1; }
html body.living-fold.connected-paper-ready[data-scene="content"] .origami-flow { opacity: .16; }
html body.living-fold.connected-paper-ready .title-panel .living-fold-art__image { visibility: hidden; }
/* Keep the selected pen path and curled sheet on the cover. The same palette
   carries into the folded sculpture instead of replacing the cover artwork. */
html body.living-fold.connected-paper-ready.is-hero-scene:not(.project-open):not(.cv-open) .origami-flow { opacity: 0; }
html body.living-fold #top .has-paper-palette .living-fold-art__image { visibility: hidden; }
html body.living-fold #top .living-fold-art__palette {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  margin-top: -7%;
  transform-origin: 50% 80%;
}
html body.living-fold .living-fold-art__still {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
html body.living-fold.connected-paper-ready.mobile-continuous .title-panel:not([data-current]) .living-fold-chapter-art .living-fold-art__still {
  display: block;
  visibility: visible;
}
@keyframes dp-paper-gesture-draw {
  from { stroke-dashoffset: 1; opacity: .1; }
  to { stroke-dashoffset: 0; opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  html body.visual-refresh.editorial-v1.living-fold #site-stage .connected-paper:not(.is-still)[data-folding="true"] .connected-paper__gesture path {
    animation: dp-paper-gesture-draw 460ms cubic-bezier(.2, .7, .2, 1) both;
  }
}
html body.visual-refresh.editorial-v1.living-fold #site-stage .connected-paper.is-paused .connected-paper__gesture path { animation-play-state: paused !important; }
/* Fallback cover pixels also stay still; its optional entry is finite. */
html body.visual-refresh.editorial-v1.living-fold #site-stage #top .living-fold-art__image { animation: none !important; }
/* Finished faces stay still; page travel and one finite reveal own the motion. */
html body.visual-refresh.editorial-v1.living-fold #site-stage .connected-paper .connected-paper__sheet { animation: none !important; }
html body.visual-refresh.editorial-v1.living-fold #site-stage .connected-paper.is-still .connected-paper__sheet {
  animation: none !important; transform: none !important; translate: none !important;
}
html body.living-fold .connected-paper.is-anchored { inset: auto; }
html body.living-fold.connected-paper-ready.mobile-continuous .origami-flow { opacity: .12; }
html body.living-fold.connected-paper-ready.mobile-continuous.is-title-scene .origami-flow {
  --paper-x: 6vw; --paper-y: 41vh; --paper-scale: 1; --paper-roll: 0deg; opacity: 1;
}
html body.living-fold.connected-paper-ready.mobile-continuous.is-title-scene .origami-flow__carrier {
  width: 88vw; height: min(360px, 40vh);
}
html body.visual-refresh.editorial-v1.living-fold.connected-paper-ready #site-stage :is(.living-fold-art,.living-fold-art__image,.origami-flow__image) {
  animation: none !important; transition: none !important;
}
html body.visual-refresh.editorial-v1.living-fold:is(.a11y-focus-mode,.a11y-reading-mode) #site-stage :is(.living-fold-art,.living-fold-art__still,.living-fold-art__palette,.origami-flow,.connected-paper) {
  visibility: hidden !important; animation: none !important;
}
html body.living-fold:is(.project-open,.cv-open,.is-page-hidden) .connected-paper { visibility: hidden !important; }
html body.visual-refresh.editorial-v1.living-fold:has(:is(details[data-preferences][open],.colour-studio:not([hidden]),.accessibility-panel:not([hidden]),dialog[open])) #site-stage :is(.living-fold-art,.living-fold-art__image,.origami-flow__image,.chapter-copy,.chapter-title-enter,.editorial-hero-line,.dp-hero-v6__kicker,.editorial-hero-intro,.editorial-hero-actions) {
  animation-play-state: paused !important;
}
@media screen and (max-width: 700px), screen and (max-width: 1000px) and (max-height: 700px) and (pointer: coarse) {
  html body.living-fold #top .living-fold-art__palette { margin-top: 0; height: 100%; object-fit: contain; }
}
html.performance-lite body.living-fold.connected-paper-ready :is(.origami-flow,.origami-flow__carrier),
html body.living-fold.connected-paper-ready.a11y-reduce-motion :is(.origami-flow,.origami-flow__carrier) { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  html body.living-fold.connected-paper-ready :is(.origami-flow,.origami-flow__carrier) { animation: none !important; transition: none !important; }
}
@media screen {
  html body.visual-refresh.editorial-v1.living-fold #site-stage .title-panel > .connected-paper.is-anchored { display: block !important; }
}
@media (forced-colors: active) {
  html body.visual-refresh.editorial-v1.living-fold #site-stage .connected-paper { display: none !important; }
}
@media print {
  html body.visual-refresh.editorial-v1.living-fold #site-stage .connected-paper { display: none !important; }
}
