/* Journal and atelier: calm, spacious layouts, matching the jewelry collection. */
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 30px; }
.journal-card { min-width:0; }
.journal-cover { display:block; aspect-ratio:8/5; overflow:hidden; background:#f4eee2; }
.journal-cover img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.journal-cover.is-illustration img { object-fit:contain; padding:20px; mix-blend-mode:multiply; }
.journal-cover:hover img { transform:scale(1.025); }
.journal-card-copy { padding-top:22px; }
.journal-card-copy .eyebrow { font-size:9px; line-height:1.8; letter-spacing:.08em; }
.journal-card h3 { font-size:clamp(23px,2.1vw,31px); line-height:1.25; margin:12px 0; }
.journal-card-copy > p:not(.eyebrow) { color:var(--ink-soft); font-size:12px; line-height:1.9; margin-bottom:18px; }
.journal-filters { display:flex; flex-wrap:wrap; gap:12px 28px; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:38px; }
.journal-filters button { padding:8px 0; background:none; border:0; border-bottom:1px solid transparent; color:var(--ink-soft); font-size:12px; }
.journal-filters button[aria-pressed=true] { color:var(--ink); border-bottom-color:var(--ink); }
.journal-pagination { display:flex; justify-content:center; gap:14px; margin-top:48px; }
.journal-pagination a,.journal-pagination button { min-width:40px; min-height:40px; display:grid; place-items:center; border:1px solid var(--line); background:none; }
.journal-pagination [aria-current=page] { background:var(--ink); color:var(--paper); }
.archive-empty { padding:35px 0; color:var(--ink-soft); }
.article-body { max-width:850px; }
.article-body h2 { line-height:1.3; margin-top:44px; }
.article-body h3 { font-family:var(--serif); font-size:25px; margin-top:32px; }
.article-body > p { font-size:15px; line-height:1.95; }
.article-body p a { text-decoration:underline; text-underline-offset:4px; }
.article-figure { margin:30px 0 42px; }
.article-figure img { width:100%; height:auto; display:block; background:var(--stone); }
.article-figure figcaption { font-size:11px; color:var(--ink-soft); margin-top:12px; line-height:1.7; }
.article-neighbours { display:grid; grid-template-columns:1fr 1fr; gap:35px; border-top:1px solid var(--line); padding-top:30px; margin-top:50px; }
.article-neighbours a { display:flex; flex-direction:column; gap:8px; font-family:var(--serif); font-size:21px; line-height:1.4; }
.article-neighbours a:last-child { text-align:end; }
.journal-rail { display:flex; overflow-x:auto; gap:30px; scroll-snap-type:x mandatory; scrollbar-width:thin; padding-bottom:20px; }
.journal-rail .journal-card { flex:0 0 calc((100% - 60px)/3); scroll-snap-align:start; }
.carousel-controls { display:flex; gap:10px; }
.carousel-controls button { background:none; border:1px solid var(--line); width:42px; height:42px; font-size:20px; }
.atelier-feature { display:grid; grid-template-columns:1fr; border-block:1px solid var(--line); text-align:center; padding-block:50px; }
.atelier-feature h2 { font-size:clamp(34px,4vw,53px); margin:12px 0 20px; }
.atelier-feature p { color:var(--ink-soft); margin-bottom:24px; }
.atelier-feature.has-film { grid-template-columns:1.4fr 1fr; align-items:center; gap:65px; text-align:start; }
.atelier-poster { display:block; position:relative; background:var(--stone); aspect-ratio:16/9; }
.atelier-poster img { width:100%; height:100%; object-fit:cover; }
.film-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:64px; height:64px; border:1px solid #fff; border-radius:50%; display:grid; place-items:center; color:white; background:#29271f66; }
.film-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; }
.film-grid h2 { font-size:30px; margin-top:20px; }
.film-grid p,.film-watch p { color:var(--ink-soft); margin-block:18px; }
.film-watch { max-width:1060px; }
.film-watch video { width:100%; background:#151411; display:block; }
.atelier-introduction { max-width:760px; text-align:center; padding-block:60px 100px; }
.atelier-introduction p { font-size:17px; color:var(--ink-soft); margin-bottom:28px; }
.atelier-floating { position:fixed; inset-inline-end:22px; bottom:24px; width:180px; z-index:45; background:var(--paper); border:1px solid var(--line); box-shadow:0 8px 28px #29271f22; }
.atelier-floating img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.atelier-floating a > span { display:block; padding:10px 12px; font-size:11px; }
.film-dismiss { position:absolute; inset-inline-end:0; top:0; width:28px; height:28px; border:0; background:var(--paper); z-index:1; font-size:20px; }
.film-dialog { width:min(960px,calc(100% - 36px)); max-height:90dvh; background:var(--paper); border:0; padding:45px 25px 25px; overflow:auto; }
.film-dialog::backdrop { background:#14130fe0; }
.film-dialog video { width:100%; max-height:65dvh; background:#151411; display:block; }
.film-dialog h2 { font-size:28px; margin:20px 0 12px; }
.film-dialog > button { position:absolute; top:0; inset-inline-end:8px; font-size:30px; width:40px; height:40px; border:0; background:none; }
body.film-open { overflow:hidden; }
@media(max-width:900px) { .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .journal-rail .journal-card{flex-basis:calc((100% - 30px)/2);} .atelier-feature.has-film{gap:30px;} }
@media(max-width:600px) { .journal-grid,.film-grid{grid-template-columns:1fr;gap:36px;} .journal-rail .journal-card{flex-basis:85%;} .article-body > p{font-size:14px;} .article-neighbours{gap:20px;} .article-neighbours a{font-size:18px;} .atelier-feature.has-film{grid-template-columns:1fr;gap:25px;} .atelier-floating{width:128px;bottom:18px;inset-inline-end:12px;} .film-dialog{padding:40px 14px 20px;} }
@media(prefers-reduced-motion:reduce) { .journal-cover img{transition:none;} .journal-rail{scroll-behavior:auto;} }
