/* ==========================================================================
   IntoMines — Pinned Archive -> Selected Project precision pass
   One permanent collector's desk background. Foreground story changes only.
   ========================================================================== */

.im-pinned-story {
  --ps-ink: var(--im-archive-navy, #071c30);
  --ps-soft: rgba(7,28,48,.94);
  --ps-gold: #9d6b33;
  --ps-ease: cubic-bezier(.22,.61,.36,1);
  --ps-header-height: var(--im-header-height, 92px);
  position: relative;
  height: 330svh;
  min-height: 330svh;
  background: var(--im-museum-ivory, #f5efe8);
  color: var(--ps-ink);
}

.im-pinned-story__stage {
  position: sticky;
  top: calc(var(--ps-header-height) + var(--im-admin-offset, 0px));
  width: 100%;
  height: calc(100svh - var(--ps-header-height) - var(--im-admin-offset, 0px));
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--im-museum-ivory, #f5efe8);
}

/* The physical collector's desk is ONE immutable environment. */
.im-pinned-story__background,
.im-pinned-story__scene {
  position: absolute;
  inset: 0;
}

.im-pinned-story__background {
  z-index: 0;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none;
}

.im-pinned-story__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

.im-pinned-story__scene {
  z-index: 5;
  pointer-events: none;
}

.im-pinned-story__scene--archive { z-index: 10; }
.im-pinned-story__scene--project { z-index: 12; visibility: visible; }
.im-pinned-story__scene[inert] { pointer-events: none; }
.im-pinned-story__scene[inert] a,
.im-pinned-story__scene[inert] button { pointer-events: none; }

.im-pinned-story__scene--project [data-im-ps-project-asset] { opacity: 0; }

.im-pinned-story__eyebrow,
.im-pinned-story__microcopy,
.im-pinned-story__cta,
.im-ps-annotation,
.im-pinned-story__stats,
.im-ps-project-frame figcaption b,
.im-ps-inspect__hint,
.im-ps-lightbox__caption strong {
  font-family: var(--im-font-functional);
  text-transform: uppercase;
  letter-spacing: .15em;
}

.im-pinned-story__eyebrow {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 24px;
  color: var(--ps-ink);
  font-size: .67rem;
  font-weight: 600;
}

.im-pinned-story__eyebrow span,
.im-pinned-story__microcopy span,
.im-ps-project-frame figcaption > span {
  display: inline-block;
  width: 42px;
  height: 1px;
  background: var(--ps-gold);
  flex: 0 0 auto;
}

.im-pinned-story h2 {
  margin: 0;
  color: var(--ps-ink);
  font-family: var(--im-font-editorial);
  font-weight: 400;
  letter-spacing: -.048em;
}

.im-pinned-story h2 > span { display: block; }

/* --------------------------------------------------------------------------
   Shared editorial CTA language
   -------------------------------------------------------------------------- */

.im-pinned-story__cta {
  position: relative;
  z-index: 70;
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 48px;
  margin-top: 27px;
  padding: 0 10px 0 0;
  color: var(--ps-ink);
  font-size: .65rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  border-bottom: 1px solid rgba(157,107,51,.72);
  transition: color 260ms var(--ps-ease), background-color 260ms var(--ps-ease), padding 260ms var(--ps-ease);
}

.im-pinned-story__cta::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 42px;
  height: 1px;
  background: var(--ps-gold);
  transform-origin: left center;
  transition: width 330ms var(--ps-ease);
}

.im-pinned-story__cta-text { white-space: nowrap; }

.im-pinned-story__cta-arrow {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(157,107,51,.52);
  border-radius: 50%;
  color: var(--ps-gold);
  font-size: .8rem;
  line-height: 1;
  letter-spacing: 0;
  transition: transform 260ms var(--ps-ease), background-color 260ms var(--ps-ease), color 260ms var(--ps-ease);
}

.im-pinned-story__cta:hover,
.im-pinned-story__cta:focus-visible {
  color: var(--ps-gold);
  padding-left: 7px;
  background: rgba(255,250,242,.26);
}

.im-pinned-story__cta:hover::before,
.im-pinned-story__cta:focus-visible::before { width: 100%; }

.im-pinned-story__cta:hover .im-pinned-story__cta-arrow,
.im-pinned-story__cta:focus-visible .im-pinned-story__cta-arrow {
  transform: translateX(6px);
  background: rgba(157,107,51,.10);
}

.im-pinned-story a:focus-visible,
.im-pinned-story button:focus-visible {
  outline: 2px solid var(--ps-gold);
  outline-offset: 5px;
}

/* --------------------------------------------------------------------------
   Scene A — Living Archive
   -------------------------------------------------------------------------- */

.im-pinned-story__archive-copy {
  position: absolute;
  z-index: 80;
  left: clamp(56px, 5.7vw, 118px);
  top: clamp(36px, 6vh, 66px);
  width: min(34vw, 535px);
  will-change: transform, opacity;
}

.im-pinned-story__archive-copy h2 {
  width: min(34vw, 535px);
  max-width: none;
  font-size: clamp(62px, 5vw, 84px);
  line-height: .95;
}

.im-pinned-story__archive-copy h2 > span { white-space: nowrap; }

.im-pinned-story__archive-copy > p:not(.im-pinned-story__eyebrow) {
  width: min(28.5vw, 430px);
  max-width: 430px;
  margin: 26px 0 0;
  color: rgba(7,28,48,.82);
  font: 400 clamp(17px,1.04vw,19px)/1.52 var(--im-font-functional);
}

.im-pinned-story__cta--archive { min-width: 236px; }

.im-pinned-story__microcopy {
  position: absolute;
  z-index: 80;
  right: clamp(58px,6vw,118px);
  top: clamp(36px,5.8vh,62px);
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin: 0;
  color: rgba(7,28,48,.68);
  font-size: .52rem;
  font-weight: 600;
  line-height: 1.55;
  will-change: transform, opacity;
}
.im-pinned-story__microcopy span { margin-top:5px; background:rgba(157,107,51,.58); }

/* The cluster spans the whole stage so every archival object can be placed
   directly against the approved reference without an artificial grid. */
.im-pinned-story__archive-cluster {
  position: absolute;
  z-index: 20;
  inset: 0;
  perspective: 1200px;
  transform-style: preserve-3d;
  will-change: transform;
}

.im-ps-archive-asset,
.im-ps-archive-specimen,
.im-pinned-story__record,
.im-ps-project-rock,
.im-ps-project-laptop,
.im-ps-project-frame {
  position: absolute;
  margin: 0;
  transform-style: preserve-3d;
  will-change: transform, opacity;
}

.im-ps-artwork,
.im-ps-depth {
  width: 100%;
  height: 100%;
  overflow: visible;
  transform-origin: center center;
}

.im-ps-archive-asset img,
.im-ps-archive-specimen img,
.im-pinned-story__record img,
.im-ps-project-rock img,
.im-ps-project-laptop img,
.im-ps-project-frame img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Deliberate archive z-order: map -> photos -> provenance -> specimen -> record. */
.im-ps-archive-asset { filter: drop-shadow(0 12px 11px rgba(57,39,27,.10)); }

.im-ps-archive-asset--map {
  z-index: 10;
  left: 35.8%;
  top: 31.5%;
  width: 22.7%;
  transform: rotate(-1deg);
}

.im-ps-archive-asset--mountain {
  z-index: 20;
  left: 34.0%;
  top: 32.0%;
  width: 17.7%;
  transform: rotate(-4.3deg);
}

.im-ps-archive-asset--tunnel {
  z-index: 22;
  left: 27.0%;
  top: 57.0%;
  width: 18.8%;
  transform: rotate(-6deg);
}

.im-ps-archive-asset--label {
  z-index: 24;
  left: 13.4%;
  top: 51.5%;
  width: 20.4%;
  transform: rotate(0deg);
}

.im-ps-archive-specimen {
  z-index: 40;
  left: 48.2%;
  top: 39.0%;
  width: 21.2%;
  filter: drop-shadow(0 22px 18px rgba(13,29,41,.15));
}

.im-pinned-story__record {
  z-index: 50;
  right: 3.3%;
  top: 15.6%;
  width: min(32.3vw, 620px);
  filter: drop-shadow(0 22px 20px rgba(56,40,28,.12));
  transform: perspective(1000px) rotateY(-4deg) rotateZ(-.8deg);
}

/* Precise editorial annotations: dark type, gold line + terminal dot. */
.im-ps-annotations {
  position: absolute;
  inset: 0;
  z-index: 31;
  pointer-events: none;
}

.im-ps-annotation {
  position: absolute;
  display: inline-flex;
  align-items: center;
  color: #071c30;
  font-size: .49rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.im-ps-annotation i {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  width: 1px;
  height: var(--ann-line, 44px);
  background: rgba(157,107,51,.68);
}

.im-ps-annotation i::after {
  content: "";
  position: absolute;
  left: -2px;
  bottom: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ps-gold);
}

.im-ps-annotation--provenance { left: 27.3%; top: 46.0%; --ann-line: 34px; }
.im-ps-annotation--photograph { left: 41.0%; top: 27.0%; --ann-line: 34px; }
.im-ps-annotation--locality { left: 46.2%; top: 27.8%; --ann-line: 26px; }
.im-ps-annotation--identity { left: 56.6%; top: 32.0%; --ann-line: 46px; }

.im-ps-annotation--record {
  z-index: 60;
  left: 8.1%;
  top: -5.2%;
  --ann-line: 40px;
}

/* Individual hover focus happens on inner content so scroll transforms remain stable. */
@media (hover:hover) and (pointer:fine) {
  .im-ps-archive-asset .im-ps-artwork,
  .im-ps-archive-specimen img,
  .im-pinned-story__record img,
  .im-ps-project-frame .im-ps-depth {
    transition: transform 360ms var(--ps-ease);
  }

  .im-ps-archive-asset:hover .im-ps-artwork { transform: translateY(-3px) scale(1.008); }
  .im-ps-archive-specimen:hover img { transform: translateY(-3px) scale(1.012); }
  .im-pinned-story__record:hover img { transform: translateY(-3px) scale(1.008); }
}

/* Microscopic idle motion. Disabled by JS during active transformation. */
.im-ps-archive-asset--mountain img { animation: imPsMountainIdle 14s ease-in-out infinite; }
.im-ps-archive-asset--label img { animation: imPsLabelIdle 16s ease-in-out infinite; }
.im-ps-archive-asset--tunnel img { animation: imPsTunnelIdle 15s ease-in-out infinite; }
.im-ps-archive-asset--map img { animation: imPsMapIdle 18s ease-in-out infinite; }
.im-ps-archive-specimen img { animation: imPsSpecimenIdle 11s ease-in-out infinite; }
.im-pinned-story__record img { animation: imPsRecordIdle 18s ease-in-out infinite; }

.im-pinned-story.is-transforming .im-ps-archive-asset img,
.im-pinned-story.is-transforming .im-ps-archive-specimen img,
.im-pinned-story.is-transforming .im-pinned-story__record img,
.im-pinned-story:not(.is-motion-active) .im-ps-archive-asset img,
.im-pinned-story:not(.is-motion-active) .im-ps-archive-specimen img,
.im-pinned-story:not(.is-motion-active) .im-pinned-story__record img {
  animation-play-state: paused;
}

@keyframes imPsMountainIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2.5px)} }
@keyframes imPsLabelIdle { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-2px) rotate(.22deg)} }
@keyframes imPsTunnelIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2.5px)} }
@keyframes imPsMapIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-1px)} }
@keyframes imPsSpecimenIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes imPsRecordIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }

/* --------------------------------------------------------------------------
   Scene B — Selected Project
   -------------------------------------------------------------------------- */

.im-pinned-story__project-copy {
  position: absolute;
  z-index: 80;
  left: clamp(56px,4.8vw,104px);
  top: clamp(44px,6.5vh,72px);
  width: min(29vw, 445px);
  opacity: 0;
  will-change: transform, opacity;
}

.im-pinned-story__project-copy h2 {
  width: min(29vw, 445px);
  max-width: none;
  font-size: clamp(50px,4vw,70px);
  line-height: .96;
}

.im-pinned-story__project-copy > p:not(.im-pinned-story__eyebrow) {
  width: min(27vw, 400px);
  max-width: 400px;
  margin: 22px 0 0;
  color: rgba(7,28,48,.94);
  font: 400 clamp(15px,.98vw,17px)/1.55 var(--im-font-functional);
}

.im-pinned-story__project-copy .im-pinned-story__eyebrow { margin-bottom: 18px; color: var(--ps-ink); }
.im-pinned-story__project-actions { display:flex; flex-wrap:wrap; gap:14px 18px; align-items:flex-end; }
.im-pinned-story__project-actions .im-pinned-story__cta { margin-top: 17px; min-width: 164px; }
.im-pinned-story__cta--project { color: var(--ps-ink); }
.im-pinned-story__cta--quiet { color: rgba(7,28,48,.82); border-bottom-color:rgba(7,28,48,.24); }

.im-pinned-story__stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width: min(27vw, 400px);
  margin-top:24px;
  color:var(--ps-ink);
  letter-spacing:.08em;
}
.im-pinned-story__stats div{display:grid;gap:4px;min-width:0}
.im-pinned-story__stats div+div{border-left:1px solid rgba(7,28,48,.18);padding-left:12px}
.im-pinned-story__stats strong{font:400 clamp(25px,2.1vw,34px)/1 var(--im-font-editorial);letter-spacing:0;color:var(--ps-ink)}
.im-pinned-story__stats span{font-size:.60rem;font-weight:600;line-height:1.35;color:var(--ps-ink)}

/* Left 30% remains a clean editorial safe zone. */
.im-pinned-story__project-stage {
  position:absolute;
  z-index:18;
  inset:0;
  perspective:1200px;
  pointer-events:none;
}

.im-ps-project-rock--pale { z-index:3; left:31%; top:25%; width:60%; }
.im-ps-project-rock--dark { z-index:4; left:31%; top:43%; width:18%; }
.im-ps-project-laptop { z-index:9; left:38.3%; top:12.5%; width:45%; filter:drop-shadow(0 20px 18px rgba(26,30,30,.11)); pointer-events:auto; }
.im-ps-project-laptop a{display:block;width:100%;height:100%}

.im-ps-project-rail { display: contents; }

.im-ps-project-frame {
  z-index: 12;
  width: 21vw;
  filter: drop-shadow(0 13px 13px rgba(30,35,36,.06));
  pointer-events: auto;
}
.im-ps-project-frame--study { left: 77%; top: 5.5%; width: 20.5vw; }
.im-ps-project-frame--showcase { left: 50.2%; top: 60.5%; width: 19.5vw; }
.im-ps-project-frame--mine { left: 77.0%; top: 59.5%; width: 19.5vw; }

.im-ps-depth { height:auto; }

.im-ps-inspect {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
  text-align: inherit;
}

.im-ps-inspect img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  transition: transform 340ms var(--ps-ease), filter 340ms var(--ps-ease);
}

.im-ps-inspect__hint {
  position:absolute;
  right:10px;
  bottom:9px;
  padding:6px 8px;
  background:rgba(7,28,48,.84);
  color:#fff;
  font-size:.46rem;
  font-weight:600;
  opacity:0;
  transform:translateY(4px);
  transition:opacity 260ms var(--ps-ease),transform 260ms var(--ps-ease);
  pointer-events:none;
}

.im-ps-project-frame:hover .im-ps-inspect img,
.im-ps-project-frame:focus-within .im-ps-inspect img {
  transform: translateY(-4px) scale(1.01);
}
.im-ps-project-frame:hover .im-ps-inspect__hint,
.im-ps-project-frame:focus-within .im-ps-inspect__hint { opacity:1; transform:translateY(0); }

.im-ps-project-frame figcaption {
  position: static;
  display:grid;
  gap:4px;
  width:auto;
  max-width:100%;
  padding-top:8px;
  color:var(--ps-ink);
}
.im-ps-project-frame figcaption > span{width:26px}
.im-ps-project-frame figcaption b{color:var(--ps-ink);font-size:.60rem;font-weight:600;line-height:1.25}
.im-ps-project-frame figcaption em{font:italic 400 clamp(12px,.94vw,15px)/1.35 var(--im-font-editorial);color:rgba(7,28,48,.86)}

/* Slow independent float only after the project has fully resolved. */
.im-ps-project-frame--study .im-ps-depth { animation: imPsStudyIdle 14s ease-in-out infinite; }
.im-ps-project-frame--showcase .im-ps-depth { animation: imPsShowcaseIdle 16s ease-in-out infinite; }
.im-ps-project-frame--mine .im-ps-depth { animation: imPsMineIdle 15s ease-in-out infinite; }
.im-pinned-story:not(.is-project-settled) .im-ps-project-frame .im-ps-depth,
.im-pinned-story:not(.is-motion-active) .im-ps-project-frame .im-ps-depth { animation-play-state: paused; }
@keyframes imPsStudyIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
@keyframes imPsShowcaseIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2.5px)} }
@keyframes imPsMineIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }

/* --------------------------------------------------------------------------
   Premium project inspection overlay
   -------------------------------------------------------------------------- */

.im-ps-lightbox[hidden] { display:none; }
.im-ps-lightbox {
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:52px 28px 34px;
  background:rgba(2,15,27,.94);
  opacity:0;
  transition:opacity 220ms ease;
}
.im-ps-lightbox.is-open { opacity:1; }
.im-ps-lightbox__content {
  min-width:0;
  display:grid;
  justify-items:center;
  gap:16px;
}
.im-ps-lightbox__content img {
  display:block;
  width:auto;
  height:auto;
  max-width:92vw;
  max-height:84vh;
  object-fit:contain;
  transform:scale(.985);
  opacity:0;
  transition:transform 240ms var(--ps-ease),opacity 220ms ease;
}
.im-ps-lightbox.is-open .im-ps-lightbox__content img { transform:scale(1);opacity:1; }
.im-ps-lightbox__caption { display:grid;gap:5px;text-align:center;color:#fff;max-width:680px; }
.im-ps-lightbox__caption strong { font-size:.58rem;font-weight:600; }
.im-ps-lightbox__caption span { font:italic 400 1rem/1.35 var(--im-font-editorial);color:rgba(255,255,255,.72); }
.im-ps-lightbox__close,
.im-ps-lightbox__nav {
  border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
  transition:background 220ms ease,border-color 220ms ease,transform 220ms var(--ps-ease);
}
.im-ps-lightbox__close:hover,.im-ps-lightbox__nav:hover { background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.55); }
.im-ps-lightbox__close {
  position:absolute;
  right:24px;
  top:20px;
  width:42px;
  height:42px;
  border-radius:50%;
  font-size:1.5rem;
  line-height:1;
}
.im-ps-lightbox__nav { width:44px;height:44px;border-radius:50%;font-size:1rem; }
.im-ps-lightbox__nav--prev:hover { transform:translateX(-3px); }
.im-ps-lightbox__nav--next:hover { transform:translateX(3px); }
body.im-ps-lightbox-open { overflow:hidden !important; }

/* --------------------------------------------------------------------------
   Tablet
   -------------------------------------------------------------------------- */

@media (max-width:1180px) and (min-width:761px) {
  .im-pinned-story { height:345svh;min-height:345svh; }
  .im-pinned-story__archive-copy { left:34px;top:5.5%;width:36vw; }
  .im-pinned-story__archive-copy h2 { width:36vw;font-size:clamp(50px,5.5vw,66px); }
  .im-pinned-story__archive-copy > p:not(.im-pinned-story__eyebrow) { width:31vw;font-size:16px; }
  .im-pinned-story__project-copy { left:34px;width:29vw; }
  .im-pinned-story__project-copy h2 { width:29vw;font-size:clamp(44px,5vw,58px); }
  .im-pinned-story__project-copy > p:not(.im-pinned-story__eyebrow) { width:28vw;font-size:14px; }
  .im-pinned-story__microcopy { right:34px; }

  .im-ps-archive-asset--label { left:12%;width:21%; }
  .im-ps-archive-asset--mountain { left:29%;width:18.5%; }
  .im-ps-archive-asset--tunnel { left:26%;width:19.5%; }
  .im-ps-archive-asset--map { left:35%;width:23.5%; }
  .im-ps-archive-specimen { left:48%;width:22.5%; }
  .im-pinned-story__record { right:1.7%;width:33.5vw; }

  .im-ps-project-laptop { left:38%;width:46%; }
  .im-ps-project-frame--study { left:76%;width:22vw; }
  .im-ps-project-frame--showcase { left:49%;width:20.5vw; }
  .im-ps-project-frame--mine { left:76%;width:20.5vw; }
}

/* --------------------------------------------------------------------------
   Mobile — same narrative, deliberately re-composed rather than shrunk.
   -------------------------------------------------------------------------- */

@media (max-width:760px) {
  .im-pinned-story { height:360svh;min-height:360svh; }
  .im-pinned-story__stage {
    top:calc(var(--ps-header-height) + var(--im-admin-offset,0px));
    height:calc(100svh - var(--ps-header-height) - var(--im-admin-offset,0px));
    min-height:0;
  }
  .im-pinned-story__background img { object-position:57% bottom; }

  .im-pinned-story__archive-copy,
  .im-pinned-story__project-copy {
    left:22px;
    right:22px;
    top:22px;
    width:auto;
    max-width:none;
  }

  .im-pinned-story__archive-copy h2,
  .im-pinned-story__project-copy h2 {
    width:auto;
    max-width:none;
    font-size:clamp(48px,13vw,56px);
    line-height:.93;
  }
  .im-pinned-story__archive-copy h2 > span { white-space:normal; }
  .im-pinned-story__project-copy h2 > span { display:inline; }
  .im-pinned-story__project-copy h2 > span::after { content:" "; }

  .im-pinned-story__archive-copy > p:not(.im-pinned-story__eyebrow),
  .im-pinned-story__project-copy > p:not(.im-pinned-story__eyebrow) {
    width:auto;
    max-width:35ch;
    margin-top:16px;
    font-size:14px;
    line-height:1.5;
    color:rgba(7,28,48,.94);
  }

  .im-pinned-story__eyebrow { margin-bottom:14px;font-size:10px; }
  .im-pinned-story__eyebrow span { width:34px; }
  .im-pinned-story__cta { min-height:44px;margin-top:12px;font-size:10px; }
  .im-pinned-story__cta--archive { min-width:215px; }
  .im-pinned-story__microcopy { display:none; }

  /* Large, readable archive cluster below the copy. */
  .im-ps-archive-asset--map { left:28%;top:42%;width:58vw; }
  .im-ps-archive-asset--mountain { left:19%;top:43%;width:43vw; }
  .im-ps-archive-asset--tunnel { left:14%;top:63%;width:44vw; }
  .im-ps-archive-asset--label { left:-2%;top:58%;width:52vw; }
  .im-ps-archive-specimen { left:45%;top:53%;width:62vw; }
  .im-pinned-story__record { right:-5%;top:66%;width:86vw; }

  .im-ps-annotation { font-size:9px; }
  .im-ps-annotation--provenance { left:7%;top:54%;--ann-line:24px; }
  .im-ps-annotation--photograph { left:27%;top:39%;--ann-line:24px; }
  .im-ps-annotation--locality { left:53%;top:39%;--ann-line:24px; }
  .im-ps-annotation--identity { left:62%;top:49%;--ann-line:24px; }
  .im-ps-annotation--record { left:8%;top:3%;font-size:9px;--ann-line:26px; }

  /* Project copy first, then large laptop, then snap rail. */
  .im-pinned-story__project-copy { top:20px; }
  .im-pinned-story__project-copy h2 { font-size:clamp(42px,11.5vw,52px);line-height:.96; }
  .im-pinned-story__project-actions { gap:10px 14px; }
  .im-pinned-story__project-actions .im-pinned-story__cta { margin-top:8px;min-width:auto; }
  .im-pinned-story__stats { width:100%;max-width:345px;margin-top:10px;gap:12px; }
  .im-pinned-story__stats strong { font-size:25px; }
  .im-pinned-story__stats span { font-size:9px; }

  .im-ps-project-rock--pale { left:-8%;top:43%;width:116%; }
  .im-ps-project-rock--dark { left:-2%;top:59%;width:30%; }
  .im-ps-project-laptop { left:-3%;top:39%;width:106%; }

  .im-ps-project-rail {
    position:absolute;
    display:flex;
    left:0;
    right:0;
    top:67%;
    height:29%;
    gap:18px;
    padding:0 22px 10px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:22px;
    overscroll-behavior-x:contain;
    pointer-events:auto;
    scrollbar-width:thin;
    scrollbar-color:var(--ps-gold) transparent;
  }

  .im-ps-project-frame,
  .im-ps-project-frame--study,
  .im-ps-project-frame--showcase,
  .im-ps-project-frame--mine {
    position:relative;
    inset:auto;
    width:86vw;
    flex:0 0 86vw;
    scroll-snap-align:start;
    filter:none;
  }
  .im-ps-project-frame figcaption { padding-top:7px; }
  .im-ps-project-frame figcaption b { font-size:10px; }
  .im-ps-project-frame figcaption em { font-size:15px; }
  .im-ps-inspect__hint { opacity:.88;transform:none;font-size:9px; }

  .im-ps-lightbox { grid-template-columns:1fr;padding:58px 14px 24px; }
  .im-ps-lightbox__content img { max-width:96vw;max-height:78vh; }
  .im-ps-lightbox__nav { position:absolute;bottom:18px; }
  .im-ps-lightbox__nav--prev { left:18px; }
  .im-ps-lightbox__nav--next { right:18px; }
  .im-ps-lightbox__close { right:14px;top:14px; }
}

@media (max-width:390px) {
  .im-pinned-story__archive-copy,
  .im-pinned-story__project-copy { left:20px;right:20px;top:18px; }
  .im-pinned-story__archive-copy h2,
  .im-pinned-story__project-copy h2 { font-size:clamp(46px,12.7vw,52px); }
  .im-ps-archive-specimen { width:64vw; }
  .im-pinned-story__record { width:88vw;right:-7%; }
}

@media (max-width:760px) and (max-height:700px) {
  .im-pinned-story__archive-copy,
  .im-pinned-story__project-copy { top:12px; }
  .im-pinned-story__archive-copy h2,
  .im-pinned-story__project-copy h2 { font-size:40px; }
  .im-pinned-story__archive-copy > p:not(.im-pinned-story__eyebrow),
  .im-pinned-story__project-copy > p:not(.im-pinned-story__eyebrow) { margin-top:10px;font-size:13px;line-height:1.4; }
  .im-pinned-story__project-actions .im-pinned-story__cta { margin-top:5px; }
  .im-pinned-story__stats { margin-top:5px; }
  .im-pinned-story__stats strong { font-size:22px; }
  .im-ps-project-laptop { top:44%; }
  .im-ps-project-rail { top:70%;height:26%; }
}

/* Reduced motion becomes readable native flow; Journey remains untouched. */
.im-pinned-story.is-reduced { height:auto;min-height:0; }
body .im-pinned-story.is-reduced .im-pinned-story__stage { position:relative;top:0;height:auto;min-height:0; }
.im-pinned-story.is-reduced .im-pinned-story__scene { position:relative;min-height:900px;opacity:1!important;visibility:visible!important; }
.im-pinned-story.is-reduced [data-im-ps-archive-copy],
.im-pinned-story.is-reduced [data-im-ps-microcopy],
.im-pinned-story.is-reduced [data-im-ps-archive-cluster],
.im-pinned-story.is-reduced [data-im-ps-archive-asset],
.im-pinned-story.is-reduced [data-im-ps-specimen],
.im-pinned-story.is-reduced [data-im-ps-record],
.im-pinned-story.is-reduced [data-im-ps-project-copy],
.im-pinned-story.is-reduced [data-im-ps-project-asset] { opacity:1!important;transform:none!important; }
.im-pinned-story.is-reduced img,
.im-pinned-story.is-reduced .im-ps-depth { animation:none!important; }

@media (max-width:760px) {
  .im-pinned-story.is-reduced .im-pinned-story__scene { min-height:1160px; }
  .im-pinned-story.is-reduced .im-ps-project-laptop { top:36%; }
  .im-pinned-story.is-reduced .im-ps-project-rail { top:67%; }
}

@media (prefers-reduced-motion:reduce) {
  .im-ps-archive-asset img,
  .im-ps-archive-specimen img,
  .im-pinned-story__record img,
  .im-ps-project-frame .im-ps-depth { animation:none!important; }
}
