.format-journal{margin:100px auto 70px;color:#20271f;max-width:1600px}
.format-journal>header{text-align:center;max-width:950px;margin:0 auto 55px;padding:0 24px}
.format-journal h2{font:600 clamp(34px,4vw,58px)/1.1 var(--display);margin:0 0 24px}
.format-journal>header p{font:400 clamp(16px,1.35vw,21px)/1.6 var(--body);color:#596056;margin:0}
.journal-stage{position:relative;display:flex;align-items:center;width:100vw;max-width:none;margin-left:calc(50% - 50vw);gap:1.4vw;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding:25px 0;user-select:none;-webkit-user-select:none}
.journal-stage::-webkit-scrollbar{display:none}
.journal-post{position:relative;flex:0 0 29vw;min-width:0;margin:0;scroll-snap-align:center;transform:scale(.88);transform-origin:center;transition:transform .5s cubic-bezier(.22,.75,.25,1)}
.journal-post.is-active{transform:scale(1)}
.journal-media{position:relative;width:100%;aspect-ratio:4/3;border-radius:26px;overflow:hidden;background:#edf0e8}
.journal-media img,.journal-media video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.journal-post h3{font:600 clamp(21px,2.2vw,30px)/1.15 var(--display);margin:18px 0 8px;max-width:100%;overflow-wrap:anywhere}
.journal-post p{font:400 clamp(14px,1.15vw,18px)/1.5 var(--body);color:#596056;margin:0;max-width:100%;overflow-wrap:anywhere}
.journal-dots{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:26px}
.journal-dots button{width:24px;height:32px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}
.journal-dots button:before{content:'';width:8px;height:8px;border-radius:12px;background:#bdc3b9;transition:width .25s,background .25s}
.journal-dots button[aria-pressed=true]{width:38px}.journal-dots button[aria-pressed=true]:before{width:30px;background:#20271f}
.journal-dots button:focus-visible{outline:2px solid #22acd0;outline-offset:3px}
.journal-stage.is-dragging{cursor:grabbing;scroll-snap-type:none}
@media(max-width:760px){.format-journal{margin-top:70px}.format-journal>header{margin-bottom:35px}.journal-post{flex-basis:76vw}.journal-stage{gap:3vw}.journal-media{border-radius:20px}.journal-post p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.journal-post,.journal-dots button:before{transition:none}}
