/* Artbook edition: a shared rhythm, five image-led compositions. */
#story, #story .story-frame {
  --postcard-pad: clamp(18px, 1.6vw, 30px);
  --postcard-note-width: clamp(280px, 25vw, 420px);
  --postcard-width: min(calc(100vw - 80px), calc((100svh - 112px) * 1216 / 832 + var(--postcard-note-width) + var(--postcard-pad) * 3));
  --postcard-photo-width: calc(var(--postcard-width) - var(--postcard-note-width) - var(--postcard-pad) * 3);
  --postcard-photo-height: calc(var(--postcard-photo-width) * 832 / 1216);
  --postcard-height: calc(var(--postcard-photo-height) + var(--postcard-pad) * 2);
  --postcard-left: calc((100vw - var(--postcard-width)) / 2);
  --postcard-top: calc((100svh - var(--postcard-height)) / 2);
  --postcard-photo-x: calc(var(--postcard-left) + var(--postcard-pad));
  --postcard-photo-y: calc(var(--postcard-top) + var(--postcard-pad));
  --postcard-note-x: calc(var(--postcard-photo-x) + var(--postcard-photo-width) + var(--postcard-pad));
  --postcard-note-y: var(--postcard-photo-y);
  --postcard-note-height: var(--postcard-photo-height);
  --postcard-paper: #eff0f0; --postcard-ink: #414c60; --postcard-accent: #876371;
  --postcard-rule: rgba(94,108,126,.24); --postcard-border: rgba(255,255,255,.7);
}
/* Cloud-light frontispiece: generous type beside an uninterrupted sky. */
#story:has(.story-slide--journey.is-active), #story .story-frame--journey {
  --postcard-note-width: clamp(270px, 25vw, 420px);
  --postcard-note-x: calc(var(--postcard-left) + var(--postcard-pad));
  --postcard-photo-x: calc(var(--postcard-note-x) + var(--postcard-note-width) + var(--postcard-pad));
}
/* Sea-glass print with a horizontal postal inscription. */
#story:has(.story-slide--sea.is-active), #story .story-frame--sea {
  --postcard-width: min(calc(100vw - 80px), calc((100svh - 220px) * 1216 / 832 + var(--postcard-pad) * 2));
  --postcard-photo-width: calc(var(--postcard-width) - var(--postcard-pad) * 2);
  --postcard-height: calc(var(--postcard-photo-height) + 126px + var(--postcard-pad) * 2);
  --postcard-note-width: var(--postcard-photo-width); --postcard-note-height: 126px;
  --postcard-note-x: var(--postcard-photo-x);
  --postcard-note-y: calc(var(--postcard-photo-y) + var(--postcard-photo-height));
  --postcard-paper: #e9efeb; --postcard-ink: #36545f; --postcard-accent: #4e6f78;
  --postcard-rule: rgba(77,118,123,.27);
}
/* Limestone book spread: no type covers the illustration's printed title. */
#story:has(.story-slide--academy.is-active), #story .story-frame--academy {
  --postcard-paper: #edeade; --postcard-ink: #414a40; --postcard-accent: #7a694f;
  --postcard-rule: rgba(112,105,76,.27);
}
/* Navy yearbook with ivory marginalia on both sides of the full print. */
#story:has(.story-slide--student.is-active), #story .story-frame--student {
  --postcard-margin-width: clamp(176px, 15vw, 246px);
  --postcard-width: min(calc(100vw - 80px), calc((100svh - 112px) * 1216 / 832 + var(--postcard-margin-width) * 2 + var(--postcard-pad) * 4));
  --postcard-photo-width: calc(var(--postcard-width) - var(--postcard-margin-width) * 2 - var(--postcard-pad) * 4);
  --postcard-photo-x: calc(var(--postcard-left) + var(--postcard-margin-width) + var(--postcard-pad) * 2);
  --postcard-note-width: calc(var(--postcard-width) - var(--postcard-pad) * 2);
  --postcard-note-x: calc(var(--postcard-left) + var(--postcard-pad));
  --postcard-paper: #1d2c43; --postcard-ink: #e9e2d6; --postcard-accent: #d7adb5;
  --postcard-rule: rgba(220,204,183,.28); --postcard-border: rgba(220,204,183,.4);
}
/* Washi travel letter: left photo, right note and vermilion title rail. */
#story:has(.story-slide--japan.is-active), #story .story-frame--japan {
  --postcard-note-width: clamp(300px, 27vw, 450px);
  --postcard-paper: #eee7db; --postcard-ink: #46515f; --postcard-accent: #96584e;
  --postcard-rule: rgba(138,101,83,.22);
}
#story[data-story-layout="postcard"] .story-surface,
#story[data-story-layout="postcard"] .story-frame {
  background: radial-gradient(ellipse at 10% 10%, #e7dfe0 0, transparent 64%), radial-gradient(ellipse at 90% 95%, #b3c1cc 0, transparent 65%), #d2d4d6;
}
#story[data-story-layout="postcard"] .story-stage { background: transparent; }
#story[data-story-layout="postcard"] .story-frame::before {
  content: ""; inset: auto; left: var(--postcard-left); top: var(--postcard-top);
  width: var(--postcard-width); height: var(--postcard-height); box-sizing: border-box;
  background: var(--postcard-paper); border: 1px solid var(--postcard-border); border-radius: 2px;
  filter: none; opacity: 1; box-shadow: 0 22px 65px rgba(34,43,58,.15), 0 2px 4px rgba(34,43,58,.08);
}
#story[data-story-layout="postcard"] .story-frame::after {
  content: ""; position: absolute; inset: auto; pointer-events: none;
  left: calc(var(--postcard-left) + 8px); top: calc(var(--postcard-top) + 8px);
  width: calc(var(--postcard-width) - 16px); height: calc(var(--postcard-height) - 16px);
  border: 1px solid var(--postcard-rule); opacity: .5; background: none; filter: none;
}
#story[data-story-layout="postcard"] .story-frame--journey::before { background: radial-gradient(ellipse at 5% 0, #fcf8f2, transparent 65%), var(--postcard-paper); }
#story[data-story-layout="postcard"] .story-frame--sea::after { border-style: dashed; opacity: .4; }
#story[data-story-layout="postcard"] .story-frame--japan::before { background: repeating-linear-gradient(97deg, transparent 0 3px, rgba(114,83,57,.018) 4px 5px), var(--postcard-paper); }
#story[data-story-layout="postcard"] .story-frame :is(.story-art,.story-ambient) {
  position: absolute; inset: auto; margin: 0; left: var(--postcard-photo-x); top: var(--postcard-photo-y);
  width: var(--postcard-photo-width); height: var(--postcard-photo-height);
  object-fit: contain; object-position: center; transform: none;
}
#story[data-story-layout="postcard"] .story-shade { display: none; }
#story[data-story-layout="postcard"]:has(.story-slide.is-active) .story-content {
  position: absolute; inset: auto; top: var(--postcard-note-y); left: var(--postcard-note-x);
  width: var(--postcard-note-width); height: var(--postcard-note-height); max-width: none;
  padding: 0; margin: 0; transform: none; border: 0; border-radius: 0; background: none;
  display: grid; grid-template-rows: minmax(0,1fr); align-items: center; text-shadow: none;
  color: var(--postcard-ink); transition: none;
}
/* single-reveal-owner: only story-reading.js animates text after image arrival. */
#story[data-story-layout="postcard"] .story-slide { transition: none; transform: none; animation: none; }
#story[data-story-layout="postcard"] .story-reading-surface { max-height: 100%; overflow-y: auto; overscroll-behavior: contain; pointer-events: auto; scrollbar-width: none; }
#story[data-story-layout="postcard"] .story-reading-surface::-webkit-scrollbar { display: none; }
#story[data-story-layout="postcard"] .story-reading-inner { padding: clamp(18px,2vw,36px); }
#story[data-story-layout="postcard"] .story-reading-copy { font-family: var(--story-serif); }
#story[data-story-layout="postcard"] .reading-eyebrow { color: var(--postcard-accent); margin-bottom: 28px; font-size: 10px; letter-spacing: .18em; }
#story[data-story-layout="postcard"] :is(.story-caption,.story-line,.sea-line,.sea-preface) { color: var(--postcard-ink); -webkit-text-fill-color: currentColor; text-shadow: none; background: none; }
#story[data-story-layout="postcard"] .story-slide--journey .story-caption { font-size: clamp(28px,2.65vw,48px); line-height: 1.7; font-weight: 400; letter-spacing: .08em; padding-bottom: 32px; border-bottom: 1px solid var(--postcard-rule); }
#story[data-story-layout="postcard"] .story-slide--journey .story-line:first-child { color: var(--postcard-accent); font-size: .52em; margin-bottom: 1.8em; }
#story[data-story-layout="postcard"] .story-slide--journey .story-line:last-child { max-width: 8em; text-wrap: balance; }
#story[data-story-layout="postcard"] .story-frame--sea .story-reading-inner { padding: 22px 20px 16px; }
#story[data-story-layout="postcard"] .story-slide--sea .story-reading-copy { display: grid; grid-template-columns: 160px 1fr; gap: 22px; align-items: center; }
#story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow { margin: 0; display: block; font-size: 10px; line-height: 1.9; letter-spacing: .18em; }
#story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow::before { display: block; width: 36px; margin-bottom: 12px; }
#story[data-story-layout="postcard"] .story-caption--sea { padding-left: 26px; border-left: 1px solid var(--postcard-rule); font-size: clamp(18px,1.55vw,26px); line-height: 1.75; letter-spacing: .04em; }
#story[data-story-layout="postcard"] .sea-line { display: inline; }
#story[data-story-layout="postcard"] .sea-preface { display: block; font-size: .68em; margin: 0 0 4px; color: var(--postcard-accent); }
#story[data-story-layout="postcard"] :is(.academy-folio,.japan-journal) { background: none; box-shadow: none; border: 0; border-radius: 0; padding: 0; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .academy-copy { display: block; font-size: clamp(14px,1.08vw,18px); line-height: 1.85; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .academy-line { margin: 0 0 .65em; }
#story[data-story-layout="postcard"] .academy-line:last-child { margin: 1em 0 0; padding-top: .8em; border-top: 1px solid var(--postcard-rule); color: var(--postcard-accent); }
#story[data-story-layout="postcard"] .academy-intro { font-size: 1.28em; line-height: 1.65; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .academy-meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 22px; color: var(--postcard-accent); font-size: 9px; letter-spacing: .15em; }
#story[data-story-layout="postcard"] .academy-meta span:first-child { color: inherit; }
#story[data-story-layout="postcard"] .academy-signature { display: flex; align-items: center; gap: 12px; margin-top: 20px; color: var(--postcard-accent); font-size: 14px; }
#story[data-story-layout="postcard"] .academy-signature i { flex: 1; height: 1px; background: var(--postcard-rule); }
#story[data-story-layout="postcard"] .story-frame--academy .story-reading-inner { border-left: 1px solid var(--postcard-rule); }
#story[data-story-layout="postcard"] .story-frame--student .story-reading-inner { padding: 0; }
#story[data-story-layout="postcard"] .story-slide--student .student-notes { display: grid; grid-template-columns: var(--postcard-margin-width) minmax(0,1fr) var(--postcard-margin-width); gap: 0; align-items: center; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .story-slide--student .student-note { width: auto; padding: 18px; margin: 0; }
#story[data-story-layout="postcard"] .student-note--opening { grid-column: 1; }
#story[data-story-layout="postcard"] .student-note--continuation { grid-column: 3; }
#story[data-story-layout="postcard"] .student-note h3 { font-size: clamp(25px,2vw,38px); line-height: 1.55; font-weight: 400; letter-spacing: .08em; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .student-line { font-size: clamp(14px,1.08vw,18px); line-height: 1.9; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] :is(.student-meta,.student-section-mark) { color: var(--postcard-accent); font-size: 9px; letter-spacing: .14em; }
#story[data-story-layout="postcard"] .student-line--signature { color: var(--postcard-accent); border-color: var(--postcard-rule); }
#story[data-story-layout="postcard"] .japan-journal { display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: clamp(16px,1.7vw,28px); }
#story[data-story-layout="postcard"] .japan-entry { grid-column: 1; grid-row: 1; }
#story[data-story-layout="postcard"] .japan-copy { font-size: clamp(14px,1.08vw,18px); line-height: 1.9; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .japan-intro { font-size: 1.2em; line-height: 1.7; color: var(--postcard-ink); }
#story[data-story-layout="postcard"] .japan-line { margin: 0 0 .65em; }
#story[data-story-layout="postcard"] .japan-line:nth-child(2) { color: var(--postcard-accent); }
#story[data-story-layout="postcard"] :is(.japan-title,.japan-meta,.japan-number) { color: var(--postcard-accent); }
#story[data-story-layout="postcard"] .japan-title { font-size: 15px; letter-spacing: .3em; }
#story[data-story-layout="postcard"] .japan-rail { grid-column: 2; grid-row: 1; padding: 0 0 0 12px; gap: 20px; border-right: 0; border-left: 1px solid var(--postcard-rule); }
#story[data-story-layout="postcard"] .japan-colophon { display: flex; align-items: center; gap: 10px; margin-top: 14px; color: var(--postcard-accent); font-size: 12px; }
#story[data-story-layout="postcard"] .japan-colophon i { flex: 1; height: 1px; background: var(--postcard-rule); }
#story[data-story-layout="postcard"] .japan-seal { padding: 3px; border: 1px solid currentColor; border-radius: 2px; font-size: 10px; }
@media (max-width: 900px) and (orientation: portrait) {
  #story[data-story-layout="postcard"]:has(.story-slide.is-active), #story[data-story-layout="postcard"] .story-frame {
    --postcard-pad: 14px; --postcard-width: min(calc(100vw - 28px), 640px); --postcard-height: calc(100svh - 48px);
    --postcard-photo-width: calc(var(--postcard-width) - var(--postcard-pad) * 2);
    --postcard-photo-height: calc(var(--postcard-photo-width) * 832 / 1216);
    --postcard-left: calc((100vw - var(--postcard-width)) / 2); --postcard-top: calc((100svh - var(--postcard-height)) / 2);
    --postcard-photo-x: calc(var(--postcard-left) + var(--postcard-pad)); --postcard-photo-y: calc(var(--postcard-top) + var(--postcard-pad));
    --postcard-note-x: var(--postcard-photo-x); --postcard-note-y: calc(var(--postcard-photo-y) + var(--postcard-photo-height) + 10px);
    --postcard-note-width: var(--postcard-photo-width); --postcard-note-height: calc(var(--postcard-height) - var(--postcard-photo-height) - var(--postcard-pad) * 2 - 10px);
  }
  #story[data-story-layout="postcard"]:has(.story-slide--journey.is-active), #story[data-story-layout="postcard"] .story-frame--journey { --postcard-height: calc(var(--postcard-photo-height) + 265px); }
  #story[data-story-layout="postcard"]:has(.story-slide--sea.is-active), #story[data-story-layout="postcard"] .story-frame--sea { --postcard-height: calc(var(--postcard-photo-height) + 226px); }
  #story[data-story-layout="postcard"] .story-reading-inner { padding: 18px 14px; }
  #story[data-story-layout="postcard"] .reading-eyebrow { margin-bottom: 18px; font-size: 9px; }
  #story[data-story-layout="postcard"] .story-slide--journey .story-caption { font-size: 28px; padding-bottom: 20px; line-height: 1.7; }
  #story[data-story-layout="postcard"] .story-slide--journey .story-line:first-child { margin-bottom: 14px; }
  #story[data-story-layout="postcard"] .story-slide--journey .story-line:last-child { max-width: none; }
  #story[data-story-layout="postcard"] .story-slide--sea .story-reading-copy { display: block; }
  #story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow { display: flex; margin-bottom: 18px; }
  #story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow::before { margin-bottom: 0; width: 24px; }
  #story[data-story-layout="postcard"] .story-caption--sea { padding: 0; border-left: 0; font-size: 23px; line-height: 1.7; }
  #story[data-story-layout="postcard"] .sea-line { display: block; }
  #story[data-story-layout="postcard"] .sea-preface { margin-bottom: 8px; font-size: .65em; }
  #story[data-story-layout="postcard"] :is(.academy-copy,.japan-copy,.student-line) { font-size: 15px; line-height: 1.8; }
  #story[data-story-layout="postcard"] .academy-meta { margin-bottom: 16px; }
  #story[data-story-layout="postcard"] .academy-signature { margin-top: 14px; }
  #story[data-story-layout="postcard"] .story-slide--student .student-notes { grid-template-columns: 1fr 1fr; gap: 18px; }
  #story[data-story-layout="postcard"] .story-slide--student .student-note { padding: 10px 3px; grid-column: auto; }
  #story[data-story-layout="postcard"] .student-note--continuation { border-left: 1px solid var(--postcard-rule); padding-left: 18px !important; }
  #story[data-story-layout="postcard"] .student-note h3 { margin: 12px 0; font-size: 25px; }
  #story[data-story-layout="postcard"] .japan-journal { gap: 16px; }
}
@media (max-width: 900px) and (max-height: 720px) and (orientation: portrait) {
  #story[data-story-layout="postcard"] .story-reading-inner { padding: 10px; }
  #story[data-story-layout="postcard"] :is(.academy-copy,.japan-copy,.student-line) { font-size: 14px; line-height: 1.65; }
  #story[data-story-layout="postcard"] :is(.academy-line,.japan-line) { margin-bottom: .45em; }
  #story[data-story-layout="postcard"] :is(.academy-meta,.japan-meta) { margin-bottom: 10px; }
  #story[data-story-layout="postcard"] .academy-signature { margin-top: 12px; }
  #story[data-story-layout="postcard"] .japan-colophon { margin-top: 10px; }
  #story[data-story-layout="postcard"] .story-slide--student .student-note { padding-top: 6px; padding-bottom: 6px; }
}
@media (prefers-reduced-motion: reduce) { #story[data-story-layout="postcard"] .story-frame { transition: none; } }

/* Image-led anime editorial cards: each composition owns its surface language. */
#story, #story .story-frame { --scene-base: #c9d4e1; --scene-halo: #f0e5e5; }
#story:has(.story-slide--sea.is-active), #story .story-frame--sea { --scene-base: #b7cbd1; --scene-halo: #eef2e8; }
#story:has(.story-slide--academy.is-active), #story .story-frame--academy { --scene-base: #c3c6b8; --scene-halo: #eae4d5; }
#story:has(.story-slide--student.is-active), #story .story-frame--student { --scene-base: #17253a; --scene-halo: #536178; }
#story:has(.story-slide--japan.is-active), #story .story-frame--japan { --scene-base: #b9c5d6; --scene-halo: #e4d9ce; }
#story[data-story-layout="postcard"] .story-frame { background: radial-gradient(ellipse at 14% 8%,var(--scene-halo),transparent 100%),var(--scene-base); }
#story[data-story-layout="postcard"] .story-frame::before { background: var(--postcard-paper); border-radius: 18px; border-color: rgba(255,255,255,.5); }
#story[data-story-layout="postcard"] .story-frame::after { border-radius: 12px; background: transparent; box-shadow: none; }
/* Journey: an airy letter and a separate framed photograph, not one white slab. */
#story[data-story-layout="postcard"] .story-frame--journey::before {
  left: calc(var(--postcard-photo-x) - 12px); top: calc(var(--postcard-photo-y) - 12px);
  width: calc(var(--postcard-photo-width) + 24px); height: calc(var(--postcard-photo-height) + 24px);
  border-radius: 16px; background: #f4f4f3;
}
#story[data-story-layout="postcard"] .story-frame--journey::after {
  left: var(--postcard-note-x); top: calc(var(--postcard-note-y) + 18px);
  width: calc(var(--postcard-note-width) - 10px); height: calc(var(--postcard-note-height) - 36px);
  border-radius: 22px; background: #f1efec; opacity: 1; border-color: rgba(255,255,255,.6);
  box-shadow: 0 16px 40px rgba(42,58,77,.08);
}
#story[data-story-layout="postcard"] .story-slide--journey .reading-eyebrow { gap: 10px; letter-spacing: .15em; }
#story[data-story-layout="postcard"] .story-slide--journey .reading-eyebrow::before { width: 5px; height: 5px; border-radius: 50%; background: var(--postcard-accent); }
#story[data-story-layout="postcard"] .story-slide--journey .story-caption { padding-bottom: 24px; border-bottom-color: rgba(135,99,113,.2); }
/* Sea: broad film-print mat, sea-glass lettering and a quiet postal mark. */
#story[data-story-layout="postcard"] .story-frame--sea::before { border-radius: 6px 6px 22px 6px; background: #ecf1ed; }
#story[data-story-layout="postcard"] .story-frame--sea::after { border-radius: 2px 2px 16px 2px; border-color: #8da7ac; }
#story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow { padding: 12px 15px; border: 1px solid var(--postcard-rule); border-radius: 50%; text-align: center; transform: rotate(-6deg); }
#story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow::before { display: none; }
#story[data-story-layout="postcard"] .story-caption--sea { border-left: 0; padding-left: 12px; }
/* Academy: book binding, warm vellum and a fine brass chapter marker. */
#story[data-story-layout="postcard"] .story-frame--academy::before { border-radius: 3px 18px 18px 3px; background: #eeeadd; border-left: 4px solid #8b927e; }
#story[data-story-layout="postcard"] .story-frame--academy::after { border-radius: 0 12px 12px 0; border-color: #a7aa99; }
#story[data-story-layout="postcard"] .academy-meta { padding-bottom: 12px; border-bottom: 1px solid var(--postcard-rule); }
#story[data-story-layout="postcard"] .academy-meta span:first-child { padding-left: 9px; border-left: 3px solid #a6946e; }
#story[data-story-layout="postcard"] .academy-intro { letter-spacing: .04em; }
/* Student: midnight album; rose-gold rules and two carefully spaced marginalia. */
#story[data-story-layout="postcard"] .story-frame--student::before { border-radius: 20px; background: #1d2c43; border-color: rgba(215,173,181,.38); }
#story[data-story-layout="postcard"] .story-frame--student::after { border-radius: 13px; border-color: #be9ea8; opacity: .45; }
#story[data-story-layout="postcard"] .student-note h3 { letter-spacing: .12em; }
#story[data-story-layout="postcard"] .student-meta { line-height: 1.9; }
#story[data-story-layout="postcard"] .student-section-mark { padding-bottom: 14px; border-bottom: 1px solid var(--postcard-rule); }
/* Japan: a softly rounded travel print, vermilion seal and vertical title rail. */
#story[data-story-layout="postcard"] .story-frame--japan::before { border-radius: 4px 20px 4px 20px; background: #eee7db; }
#story[data-story-layout="postcard"] .story-frame--japan::after { border-radius: 0 14px 0 14px; border-color: #b4a08c; opacity: .4; }
#story[data-story-layout="postcard"] .japan-meta { font-size: 9px; letter-spacing: .28em; }
#story[data-story-layout="postcard"] .japan-title { letter-spacing: .4em; }
#story[data-story-layout="postcard"] .japan-seal { padding: 5px; border: 2px double currentColor; border-radius: 3px; }

#story .story-reading-copy { will-change: opacity,transform; }
@media (max-width: 900px) and (orientation: portrait) {
  #story[data-story-layout="postcard"]:has(.story-slide--student.is-active), #story[data-story-layout="postcard"] .story-frame--student { --postcard-height: min(calc(100svh - 48px),calc(var(--postcard-photo-height) + 400px)); }
  #story[data-story-layout="postcard"]:has(.story-slide--academy.is-active), #story[data-story-layout="postcard"] .story-frame--academy { --postcard-height: min(calc(100svh - 48px),calc(var(--postcard-photo-height) + 480px)); }
  #story[data-story-layout="postcard"] .story-frame--journey::before { top: calc(var(--postcard-photo-y) - 10px); left: calc(var(--postcard-photo-x) - 10px); width: calc(var(--postcard-photo-width) + 20px); height: calc(var(--postcard-photo-height) + 20px); }
  #story[data-story-layout="postcard"] .story-frame--journey::after { top: calc(var(--postcard-note-y) + 14px); left: calc(var(--postcard-note-x) - 5px); width: calc(var(--postcard-note-width) + 10px); height: calc(var(--postcard-note-height) - 12px); }
  #story[data-story-layout="postcard"] .story-slide--sea .reading-eyebrow { display: inline-block; padding: 4px 12px; border-radius: 12px; transform: none; margin-bottom: 14px; font-size: 9px; }
  #story[data-story-layout="postcard"] .story-caption--sea { padding-left: 0; }
  #story[data-story-layout="postcard"] .academy-meta { padding-bottom: 8px; }
}

/* Each card carries its own text: layout cannot jump to the incoming theme. */
#story[data-postcard-edition="silk"] .story-frame .story-content {
  position: absolute; inset: auto; top: var(--postcard-note-y); left: var(--postcard-note-x);
  width: var(--postcard-note-width); height: var(--postcard-note-height); max-width: none;
  padding: 0; margin: 0; transform: none; border: 0; border-radius: 0; background: none;
  display: grid; grid-template-rows: minmax(0,1fr); align-items: center; text-shadow: none;
  color: var(--postcard-ink); transition: none; z-index: 4;
}
#story[data-postcard-edition="silk"] .story-frame .story-slide {
  height: auto; min-height: 0; overflow: visible; opacity: 1; visibility: visible;
  transform: none; transition: none; animation: none;
}
#story[data-transition-renderer="compositor-crossfade"] .story-frame {
  contain: layout paint; mask: none; clip-path: none; filter: none;
}
#story[data-transition-renderer="compositor-crossfade"] .story-frame.is-present { will-change: opacity; }
#story[data-transition-renderer="compositor-crossfade"][data-texture-transition="running"] .ambient-motion {
  animation-play-state: paused !important;
}
/* Preserve subtle picture-local movement, without live turbulence/filter repaint. */
#story[data-transition-renderer="compositor-crossfade"] .amb-water { filter: none; }
#story[data-transition-renderer="compositor-crossfade"] :is(.amb-window-picture,.amb-fabric-picture) { animation-name: picture-light-breathe; filter: none; }
@keyframes picture-light-breathe { 0%,100% { opacity: .25; } 50% { opacity: .65; } }
#story[data-transition-renderer="compositor-crossfade"] .amb-student-thread { animation: none; opacity: .1; }
#story[data-transition-renderer="compositor-crossfade"] .story-reading-copy { will-change: auto; }
@media (max-width: 900px) and (orientation: portrait) {
  #story[data-story-layout="postcard"] .story-frame--sea { --postcard-height: calc(var(--postcard-photo-height) + 240px); }
}
