.journal-intro,.journal-index,.journal-article { width:min(1180px,calc(100% - 4rem)); margin-inline:auto; }
.journal-intro { padding:2.5rem 0 3.5rem; max-width:1180px; border-bottom:1px solid var(--line); }
.journal-intro h1 { font-family:Georgia,serif; font-size:clamp(2.8rem,6vw,5rem); font-weight:500; line-height:1.08; margin:.7rem 0 1.25rem; }
.journal-intro h1 span { color:var(--brand); }
.journal-intro>p:last-child { max-width:620px; color:var(--muted); font-size:1.15rem; line-height:1.7; margin:0; }
.journal-index { padding:2.5rem 0 4rem; }
.journal-index .section-heading>span { color:var(--muted); font-size:.9rem; }
.journal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.journal-card { background:white; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.journal-card-cover { display:block; text-decoration:none; }
.journal-card-cover img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.journal-card-art { background:linear-gradient(135deg,#e4f3f6,#cae5eb); min-height:260px; position:relative; display:grid; place-items:center; overflow:hidden; color:var(--brand-dark); }
.journal-card-art svg { width:190px; height:190px; opacity:.55; transform:rotate(-12deg); }
.journal-art-label { position:absolute; top:1.5rem; left:1.7rem; letter-spacing:.16em; text-transform:uppercase; font-size:.7rem; font-weight:700; }
.journal-art-note { position:absolute; bottom:1.4rem; right:1.7rem; font-family:Georgia,serif; font-style:italic; font-size:1.25rem; }
.journal-card-copy { padding:1.8rem; }
.journal-card-copy .eyebrow { margin:0 0 .7rem; }
.journal-card-copy h3 { font-family:Georgia,serif; font-size:1.8rem; font-weight:500; line-height:1.25; margin:0 0 1rem; }
.journal-card-copy h3 a { color:var(--ink); text-decoration:none; }
.journal-card-copy h3 a:hover { color:var(--brand); }
.journal-card-copy>p:not(.eyebrow) { color:var(--muted); margin:0 0 1.5rem; }
.journal-card-bottom { border-top:1px solid var(--line); padding-top:1rem; display:flex; gap:1rem; align-items:center; justify-content:space-between; font-size:.85rem; }
.journal-card-bottom time { color:var(--muted); }
.journal-card-bottom a { font-weight:700; text-decoration:none; }
.journal-breadcrumbs { display:flex; flex-wrap:wrap; gap:.5rem; font-size:.8rem; }
.journal-article-header { max-width:900px; padding:2rem 0 3rem; }
.journal-article-header>.eyebrow { text-decoration:none; }
.journal-article-header h1 { font-family:Georgia,serif; font-weight:500; font-size:clamp(2.3rem,4.6vw,4rem); line-height:1.12; margin:1rem 0 1.5rem; }
.journal-deck { max-width:750px; font-size:1.18rem; color:var(--muted); line-height:1.7; }
.journal-byline { display:flex; flex-wrap:wrap; gap:.45rem .7rem; color:var(--muted); font-size:.85rem; margin:1.5rem 0; }
.journal-byline a { font-weight:650; text-decoration:none; }
.journal-jump { display:inline-flex; gap:.75rem; background:var(--surface-soft); padding:.7rem 1rem; border-radius:8px; font-size:.9rem; font-weight:650; text-decoration:none; }
.journal-reading-layout { display:grid; grid-template-columns:minmax(0,780px) minmax(230px,280px); gap:3.5rem; align-items:start; }
.journal-reading-no-aside { display:block; max-width:800px; }
.journal-body { min-width:0; font-size:1.06rem; line-height:1.8; }
.journal-body>p:first-child { font-size:1.15rem; }
.journal-body p { margin:0 0 1.2rem; }
.journal-body h2 { font-family:Georgia,serif; font-weight:500; font-size:clamp(1.6rem,2.5vw,2.15rem); line-height:1.25; margin:2.5rem 0 1.2rem; }
.journal-body h3 { font-size:1.15rem; margin:1.75rem 0 .8rem; }
.journal-body ul,.journal-body ol { padding-left:1.5rem; margin:0 0 1.5rem; }
.journal-body li { padding-left:.2rem; margin:.45rem 0; }
.journal-body .recipe { border-top:1px solid var(--line); padding-top:1rem; margin-top:3rem; scroll-margin-top:110px; }
.journal-body .recipe h2 { margin-top:1.2rem; }
.journal-body .recipe-meta { background:var(--surface-soft); border-radius:8px; color:var(--brand-dark); padding:.8rem 1rem; font-size:.87rem; line-height:1.65; }
.journal-body .table-wrap { overflow-x:auto; margin:1.5rem 0; border:1px solid var(--line); border-radius:10px; }
.journal-body table { border-collapse:collapse; width:100%; font-size:.86rem; line-height:1.6; }
.journal-body th,.journal-body td { text-align:left; padding:.9rem 1rem; border-bottom:1px solid var(--line); vertical-align:top; }
.journal-body th { background:var(--surface-soft); color:var(--brand-dark); font-weight:650; }
.journal-body tr:last-child td { border-bottom:0; }
.journal-body td:nth-child(2) { white-space:nowrap; }
.journal-body .source,.journal-body .sources { color:var(--muted); font-size:.9rem; }
.journal-body .sources { padding-top:.5rem; border-top:1px solid var(--line); margin-top:2.5rem; }
.journal-body .sources h2 { font-size:1.6rem; }
.journal-photo { margin:1.5rem 0 2rem; }
.journal-photo img { width:100%; aspect-ratio:3/2; border-radius:12px; object-fit:cover; background:var(--surface-soft); }
.journal-photo figcaption { font-size:.8rem; line-height:1.5; color:var(--muted); margin-top:.6rem; }
.journal-photo-hero { margin:2rem 0 0; }
.journal-photo-hero img { aspect-ratio:16/9; }
.journal-photo-space { aspect-ratio:3/2; margin:1.5rem 0; border:1px solid #cfdee4; border-radius:12px; background:linear-gradient(145deg,#f1f7f9,#e3f0f4); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:1.5rem; color:var(--muted); text-align:center; }
.journal-photo-space svg { width:80px; height:80px; color:var(--brand); opacity:.65; }
.journal-photo-space span { max-width:330px; font-family:Georgia,serif; font-size:1.25rem; line-height:1.4; }
.journal-recipe-link { border-bottom:1px solid var(--line); padding-bottom:1.5rem; margin-top:1.8rem!important; }
.journal-recipe-link a { font-size:.9rem; font-weight:700; text-decoration:none; }
.journal-aside { position:sticky; top:115px; }
.journal-contents { padding:1.5rem; background:white; border:1px solid var(--line); border-radius:12px; }
.journal-contents>.eyebrow { font-size:.68rem; margin:0 0 .5rem; }
.journal-contents h2 { font-family:Georgia,serif; font-size:1.5rem; font-weight:500; margin:0 0 1.2rem; }
.journal-contents ol { list-style:none; counter-reset:journal-recipe; padding:0; margin:0 0 1rem; }
.journal-contents li { counter-increment:journal-recipe; display:flex; gap:.6rem; margin:0; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.85rem; line-height:1.5; }
.journal-contents li:before { content:counter(journal-recipe,decimal-leading-zero); color:var(--brand); font-weight:600; font-size:.75rem; padding-top:.1rem; }
.journal-contents li a { color:var(--ink); text-decoration:none; }
.journal-contents li a:hover { color:var(--brand); }
.journal-aside-link { text-decoration:none; font-size:.8rem; font-weight:650; }
.journal-article-footer { border-top:1px solid var(--line); padding:2rem 0 3rem; margin-top:3rem; display:flex; gap:1rem; flex-wrap:wrap; justify-content:space-between; font-size:.9rem; }
.journal-article-footer a { text-decoration:none; font-weight:650; }
@media(max-width:980px) { .journal-reading-layout { grid-template-columns:minmax(0,1fr); gap:0; } .journal-aside { display:none; } .journal-article-header { max-width:800px; } .journal-body { max-width:800px; } }
@media(max-width:760px) { .journal-intro,.journal-index,.journal-article { width:calc(100% - 2rem); } .journal-intro { padding:1.5rem 0 2.5rem; } .journal-index { padding-top:1.5rem; } .journal-index .section-heading>span { display:none; } .journal-grid { grid-template-columns:minmax(0,1fr); } .journal-card-copy { padding:1.3rem; } .journal-article-header { padding:1.5rem 0 2rem; } .journal-deck { font-size:1.04rem; } .journal-body { font-size:1rem; } .journal-body th,.journal-body td { padding:.7rem; } .journal-photo-space { aspect-ratio:4/3; } .journal-photo-space span { font-size:1.1rem; } .journal-breadcrumbs-article>span:last-child,.journal-breadcrumbs-article>span:nth-last-child(2) { display:none; } }
@media print { .journal-aside,.journal-jump,.journal-article-footer,.journal-recipe-link,.journal-photo-space { display:none; } .journal-article { width:100%; } .journal-reading-layout { display:block; } .journal-body h2,.journal-body h3 { break-after:avoid; } .journal-body li { break-inside:avoid; } .journal-photo img { max-height:250px; object-fit:contain; } }
