/* Journal composition retained; the printed pages form a lightweight paper book. */
.journal {background:var(--ivory);color:var(--espresso);padding:16px var(--edge) 0;font-synthesis:none}
.journal__inner {max-width:1560px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.65fr);gap:clamp(36px,4.5vw,72px);align-items:center}
.journal__copy {min-width:0}
.journal__copy h2 {margin:0 0 24px;font:400 clamp(48px,5.2vw,84px)/1.08 Saonara,serif;letter-spacing:normal;-webkit-text-stroke:0}
.journal__description {margin:0;max-width:26ch;font:350 clamp(18px,1.45vw,22px)/1.6 "Neue Montreal Text",sans-serif}
.journal__explore {display:inline-flex;align-items:baseline;gap:12px;margin:26px 0 0;padding:10px 0 13px;font:400 12px/1.5 "Neue Montreal",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:inherit}
.journal__explore>span:first-child {position:relative}
.journal__explore>span:first-child::after {content:"";position:absolute;left:0;top:calc(100% + 10px);width:24px;height:1px;background:var(--sky)}
.journal__explore>span:last-child {font-size:21px;line-height:1}
a.journal__explore[href] {text-decoration:none}
a.journal__explore[href]>span:first-child::after {transition: width var(--line-duration) var(--ease-reveal)}
a.journal__explore[href]:focus-visible>span:first-child::after {width:100%}
.journal-magazine {min-width:0;--folio-time:950ms}
.folio-inline {max-width:760px;margin-inline:auto;padding-top:18px;min-height:0}
.folio-frame {position:relative;width:100%;aspect-ratio:3/2;touch-action:pan-y;outline:none}
.folio-clip {position:absolute;inset:0;overflow:clip;overflow-clip-margin:24px}
.folio-surface {position:absolute;inset:0;pointer-events:none;transition:transform var(--folio-time,950ms) cubic-bezier(.25,.45,.35,1)}
.folio-surface[data-layout="front"] {transform:translateX(-25%)}
.folio-surface[data-layout="back"] {transform:translateX(25%)}
.folio-page {position:absolute;top:0;width:50%;height:100%;margin:0;background:var(--ivory);box-shadow:2px 5px 12px rgb(48 35 31 / .13)}
.folio-page--left {left:0}
.folio-page--right {left:50%}
.folio-page img {display:block;width:100%;height:100%;object-fit:contain}
.folio-page[data-page="0"] {background:transparent;box-shadow:none}
.folio-page[data-page="0"] img {filter:drop-shadow(2px 6px 8px rgb(48 35 31 / .16))}
.folio-page[data-page="0"]::after {display:none}
.folio-page::after {content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset -1px 0 rgb(48 35 31 / .10)}
.folio-surface[data-layout="spread"] .folio-page--left::after {background:linear-gradient(90deg,transparent 94%,rgb(48 35 31 / .08))}
.folio-surface[data-layout="spread"] .folio-page--right::after {background:linear-gradient(90deg,rgb(48 35 31 / .06),transparent 5%)}
.folio-turn {position:absolute;left:-24px;top:-24px;z-index:3;pointer-events:none}
.folio-open {position:absolute;inset:0 auto auto 25%;width:50%;height:calc(100% + 65px);border:0;background:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:flex-end;justify-content:center;gap:10px;padding-bottom:12px;font:400 11px/1.5 "Neue Montreal",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.folio-open>span:first-child {text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:8px;text-decoration-thickness:1px}
.folio-open>span:last-child {font-size:20px;line-height:1}
.journal [hidden] {display:none!important}
.folio-controls {padding-top:18px}
.folio-inline.is-closed .folio-controls {visibility:hidden;pointer-events:none}
/* The closed cover only needs room for the opener below the page. */
.folio-inline.is-closed:not(.is-back, .has-interaction) {padding-bottom:65px}
.folio-inline.is-closed:not(.is-back, .has-interaction) .folio-controls {display:none}
.folio-inline.is-back:not(.has-interaction) :is(.folio-language, .folio-transcript) {display:none}
.folio-pagination {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.journal button {font-synthesis:none}
.folio-controls button,.folio-dialog button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 0;border:0;background:transparent;color:inherit;font:400 12px/1.4 "Neue Montreal",sans-serif;cursor:pointer}
.folio-controls button:disabled,.folio-dialog button:disabled {opacity:.35;cursor:default}
.journal button[aria-disabled="true"] {cursor:progress}
.folio-status {margin:0;font:400 11px/1.4 "Neue Montreal",sans-serif;text-align:center}
.folio-tools {display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--limestone);margin-top:4px;padding-top:5px}
.folio-tools button:first-child {text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:7px}
.folio-language {margin:8px 0 0;font:350 12px/1.5 "Neue Montreal Text",sans-serif;color:var(--clay)}
.folio-transcript {margin-top:14px;font:350 16px/1.6 "Neue Montreal Text",sans-serif}
.folio-transcript summary {cursor:pointer;width:fit-content;min-height:44px;display:flex;align-items:center;gap:10px;font:400 12px/1.4 "Neue Montreal",sans-serif}
.folio-transcript summary::before {content:"+";color:var(--sky);font-size:20px}
.folio-transcript[open] summary::before {content:"−"}
.folio-transcript h3,.folio-nojs h3 {font:400 28px/1.15 Saonara,serif;margin:20px 0 12px}
.folio-transcript p {margin:10px 0}
.folio-feedback {margin:0;min-height:22px;font:400 12px/1.5 "Neue Montreal",sans-serif}
.folio-feedback:empty {min-height:0}
.journal-magazine[data-suspended="true"] .folio-surface {transition:none}
.journal button:focus-visible,.folio-transcript summary:focus-visible,.folio-dialog [tabindex]:focus-visible {outline:2px solid var(--espresso);outline-offset:5px}
.folio-dialog {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--ivory);color:var(--espresso);overflow:hidden;--folio-time:950ms}
.folio-dialog[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.folio-dialog::backdrop {background:rgb(48 35 31 / .5)}
.folio-dialog__header {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:calc(12px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 10px max(24px,env(safe-area-inset-left));border-bottom:1px solid var(--limestone)}
.folio-dialog__header h2 {margin:0;font:400 clamp(24px,3vw,38px)/1 Saonara,serif}
.folio-dialog__header>div {display:flex;gap:24px}
.folio-dialog__scroll {overflow:auto;overscroll-behavior:contain;padding:32px 24px;touch-action:pan-x pan-y}
.folio-dialog__view {width:min(100%,calc((100dvh - 245px) * 1.5),1536px);margin:auto}
.folio-dialog.is-zoomed .folio-dialog__view {width:1536px;max-width:none;margin:0 auto}
.folio-dialog.is-zoomed .folio-frame {touch-action:pan-x pan-y}
.folio-dialog__footer {padding:8px max(24px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-top:1px solid var(--limestone)}
.folio-dialog__footer .folio-pagination {max-width:1000px;margin:auto}
.folio-dialog__footer .folio-language {text-align:center}
.journal__copy.is-pending,.journal-magazine.is-pending {opacity:0;translate:0 6px}
.journal__copy.is-arriving,.journal-magazine.is-arriving {animation:arrive var(--text-duration) var(--ease-reveal) both}
@media(hover:hover) and (pointer:fine) {
 .folio-inline.is-closed:has(.folio-open:hover) .folio-page {translate:0 -3px;box-shadow:3px 10px 20px rgb(48 35 31 / .15);transition:translate 500ms ease,box-shadow 500ms ease}
 a.journal__explore[href]:hover>span:first-child::after {width:100%}
}
@media(max-width:1119px) {
 .journal__inner {grid-template-columns:minmax(0,1fr);gap:28px;max-width:840px}
 .journal__copy h2 {font-size:clamp(48px,7vw,72px);margin-bottom:18px}
 .journal__description {max-width:40ch}
 .journal__explore {margin-top:16px}
}
@media(max-width:767px) {
 .journal {padding-top:4px}
 .journal__inner {gap:28px}
 .journal__copy h2 {font-size:clamp(42px,11.5vw,64px)}
 .journal__description {font-size:17px}
 .folio-inline {max-width:420px;padding-top:8px}
 .folio-frame {aspect-ratio:3/4}
 .folio-surface[data-layout] {transform:none}
 .folio-page {width:100%;left:0}
 .folio-page::after {background:none!important}
 .folio-open {left:0;width:100%}
 .folio-pagination {gap:6px}
 .folio-controls button,.folio-dialog button {font-size:11px;gap:7px}
 .folio-dialog__header {gap:10px;padding-inline:20px}
 .folio-dialog__header h2 {font-size:24px}
 .folio-dialog__header>div {gap:16px}
 .folio-dialog__scroll {padding:24px 20px}
 .folio-dialog__view {width:min(100%,calc((100dvh - 215px) * .75))}
 .folio-dialog.is-zoomed .folio-dialog__view {width:max(600px,calc(100vw * 1.75));margin:0}
}
@media(prefers-reduced-motion:reduce) {
 .journal *, .journal *::before,.journal *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .journal__copy.is-pending,.journal-magazine.is-pending {opacity:1;translate:none}
}

/* Interaction corrections only; retain the validated page and section layout. */
.folio-frame,.folio-frame * {-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.folio-frame img {pointer-events:none}
.folio-frame.is-manipulating .folio-surface {transition:none!important}
.folio-frame.is-dragging,.folio-frame.is-dragging * {cursor:grabbing!important}
.folio-frame.is-edge-hover,.folio-frame.is-edge-hover .folio-open {cursor:grab}
.folio-return {text-decoration:underline;text-decoration-color:var(--sky);text-decoration-thickness:1px;text-underline-offset:7px}
.folio-return:hover,.folio-return:focus-visible {text-decoration-thickness:2px}
.folio-tools {flex-wrap:wrap;gap:8px 12px}
.folio-inline.is-back .folio-return,.folio-inline.is-closed.has-interaction .folio-return {visibility:visible;pointer-events:auto}
.folio-dialog__meta {display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1000px;margin:auto}
.folio-dialog__meta .folio-language {margin:0;text-align:left}
.folio-dialog__view {width:min(100%,max(180px,calc((100dvh - 265px) * 1.5)),1536px)}
@media(max-width:767px){
 .folio-frame.is-mobile-motion .folio-clip {overflow-clip-margin:0}
 .folio-dialog__view {width:min(100%,max(140px,calc((100dvh - 235px) * .75)))}
 .folio-dialog__meta {gap:10px}
 .folio-dialog__meta .folio-language {font-size:10px;max-width:145px}
}

/* A resting paper edge, independent of the full-size mobile page. */
@media(max-width:767px){
 .folio-frame[data-paper-edge="true"]::after {content:"";position:absolute;z-index:4;inset:0 auto 0 0;width:3px;background:linear-gradient(90deg,#D8CCBA,var(--ivory) 50%,var(--limestone));pointer-events:none}
 .folio-frame[data-paper-edge="true"]::before {content:"";position:absolute;z-index:4;inset:0 auto 0 3px;width:4px;background:linear-gradient(90deg,rgb(48 35 31 / .12),transparent);pointer-events:none}
 .folio-frame.is-mobile-motion::before,.folio-frame.is-mobile-motion::after {display:none}
}

/* Keep the reading viewport usable in landscape and at high browser zoom. */
@media (max-height: 420px) {
 .folio-dialog__scroll { padding-block: 10px; }
 .folio-dialog__header, .folio-dialog__footer { padding-block: 4px; }
 .folio-dialog__header { padding-top: max(4px, env(safe-area-inset-top)); }
 .folio-dialog__footer { padding-bottom: max(4px, env(safe-area-inset-bottom)); }
}

@media (max-height: 540px) {
 .folio-dialog__scroll { container-type: size; padding-block: 8px; }
 .folio-dialog__view { width: min(100%, max(140px, calc(100cqh * 1.5))); }
 .folio-dialog__header h2 { font-size: clamp(19px, 3vw, 28px); }
 .folio-dialog__header>div { gap: 14px; }
}
@media (max-width: 1279px) and (max-height: 540px) and (orientation: landscape) {
 .journal { padding-top: 14px; }
 .journal__inner { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); align-items: start; gap: 18px; }
 .journal__copy h2 { font-size: clamp(38px, 7vw, 57px); margin-bottom: 12px; }
 .journal__description { font-size: 16px; }
 .journal__explore { margin-top: 7px; }
 .folio-inline { padding-top: 0; }
 .folio-frame { aspect-ratio: 3 / 4; }
 .folio-inline .folio-frame { width: min(100%, calc(var(--landscape-frame-height) * .75)); margin-inline: auto; }
 .folio-surface[data-layout] { transform: none; }
 .folio-page { width: 100%; left: 0; }
 .folio-page::after { background: none !important; }
 .folio-open { left: 0; width: 100%; height: calc(100% + 52px); padding-bottom: 8px; }
 .folio-inline.is-closed:not(.is-back, .has-interaction) { padding-bottom: 52px; }
 .folio-controls { padding-top: 6px; }
 .folio-controls button, .folio-dialog button { font-size: 13px; gap: 6px; }
 .folio-pagination { gap: 7px; }
 .folio-dialog__header, .folio-dialog__footer { padding-inline: max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right)); }
 .folio-dialog__view { width: min(100%, max(128px, calc(100cqh * .75))); }
 .folio-dialog__footer :is(.folio-pagination, .folio-dialog__meta) { max-width: 520px; }
 .folio-dialog.is-zoomed .folio-dialog__view { width: max(600px, 72vw); margin: 0 auto; }
 .folio-dialog__scroll { padding-inline: 16px; }
 .folio-frame.is-mobile-motion .folio-clip { overflow-clip-margin: 0; }
 .folio-frame[data-paper-edge="true"]::after { content: ""; position: absolute; z-index: 4; inset: 0 auto 0 0; width: 3px; background: linear-gradient(90deg,#D8CCBA,var(--ivory) 50%,var(--limestone)); pointer-events: none; }
 .folio-frame.is-mobile-motion::after { display: none; }
}
