.journal { --paper: #fff8ee; --rule: #d4e1df; }
.blog-crumbs { display:flex; flex-wrap:wrap; gap:.55em; align-items:center; font-size:.87rem; line-height:1.5; }
.blog-crumbs a { color:inherit; text-decoration:underline; }
.blog-crumbs span[aria-hidden] { color:#a45b14; }
.journal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; font-size:.9rem; color:var(--muted); }
.journal-meta span:first-child { color:var(--deep); font-weight:700; }
.journal-meta span:first-child::after { content:""; width:4px; height:4px; border-radius:50%; background:var(--orange); display:inline-block; vertical-align:middle; margin-left:.65rem; }
.journal-mast { background:var(--deep); color:white; border-bottom:6px solid var(--orange); }
.journal-mast .wrap { padding-block:1.45rem clamp(2.6rem,5vw,4.5rem); }
.journal-mast .blog-crumbs { color:#e1eded; }
.journal-mast .blog-crumbs span[aria-hidden] { color:var(--orange); }
.journal-mast h1 { color:white; margin:clamp(2rem,4vw,3.6rem) 0 1rem; font-size:clamp(2.65rem,5.3vw,5.1rem); }
.journal-mast p { color:#deebea; font-size:clamp(1.05rem,1.45vw,1.32rem); max-width:55ch; margin:0; }
.journal-index,.blog-home { padding-block:clamp(2.8rem,5.5vw,5.3rem); }
.blog-home { background:#fff7ec; border-top:1px solid #f3dfc4; }
.journal-cap { display:inline-block; color:#784013; background:#ffe2b9; border-radius:4px; padding:.27rem .65rem; font-size:.78rem; font-weight:700; letter-spacing:.02em; }
.journal-sectionhead { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.5rem; }
.journal-sectionhead a { color:var(--ink); font-weight:650; text-decoration:underline; }
.journal-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.1rem,2.5vw,2rem); }
.journal-card { display:flex; flex-direction:column; background:white; border:1px solid var(--line); border-radius:15px; overflow:hidden; color:var(--ink); box-shadow:0 12px 28px -20px #173e43a8; }
.journal-card:hover { color:var(--ink); text-decoration:none; border-color:#739b9b; }
.journal-card:hover h3 { text-decoration:underline; text-decoration-color:var(--orange); }
.journal-card img { display:block; width:100%; aspect-ratio:2.35; object-fit:cover; object-position:50% 38%; background:#edf4f0; }
.journal-card-copy { padding:clamp(1.1rem,2vw,1.8rem); flex:1; display:flex; flex-direction:column; align-items:flex-start; gap:.73rem; }
.journal-card h3 { color:var(--ink); font-size:clamp(1.3rem,2.1vw,1.9rem); }
.journal-card p { margin:0; line-height:1.55; }
.journal-card small { color:var(--teal); font-weight:700; margin-top:auto; padding-top:.25rem; }
.journal-cover { background:linear-gradient(115deg,#fff9ef,#fff 56%,#edf4f2); border-bottom:1px solid var(--rule); }
.journal-cover .wrap { padding-block:1.3rem clamp(2rem,4vw,3.4rem); }
.journal-hero { display:grid; grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr); gap:clamp(1.5rem,4vw,4.3rem); align-items:center; margin-top:1.6rem; }
.journal-hero h1 { font-size:clamp(2.15rem,3.6vw,3.65rem); line-height:1.07; margin:1rem 0; }
.journal-hero .intro { font-size:clamp(1.04rem,1.4vw,1.24rem); max-width:61ch; margin:0 0 1.25rem; }
.journal-hero img { width:100%; display:block; border-radius:14px; box-shadow:7px 7px 0 #f89522; }
.journal-layout { display:grid; grid-template-columns:minmax(170px,235px) minmax(0,760px); justify-content:center; gap:clamp(2rem,5vw,5.5rem); padding-block:clamp(2rem,4vw,4rem); }
.journal-toc { align-self:start; position:sticky; top:1.4rem; border-top:3px solid var(--orange); background:var(--mist); border-radius:0 0 8px 8px; padding:1rem; }
.journal-toc strong { display:block; color:var(--ink); margin-bottom:.6rem; }
.journal-toc ul { list-style:none; padding:0; display:grid; gap:.45em; margin:0; }
.journal-toc a { color:var(--teal); font-size:.92rem; text-decoration:underline; }
.journal-prose { min-width:0; font-size:1.06rem; line-height:1.73; }
.journal-prose section + section { border-top:1px solid var(--rule); padding-top:clamp(1.6rem,3vw,2.6rem); margin-top:clamp(1.6rem,3vw,2.6rem); }
.journal-prose h2 { font-size:clamp(1.55rem,2.35vw,2.1rem); margin-bottom:1rem; line-height:1.18; }
.journal-prose p,.journal-prose li { color:#354e50; }
.journal-prose p { margin:0 0 1rem; }
.journal-prose p:last-child { margin-bottom:0; }
.journal-prose a { color:#255c61; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; }
.journal-prose table { width:100%; margin:1.3rem 0; border-spacing:0; border-collapse:separate; table-layout:fixed; color:var(--ink); font-size:.95rem; line-height:1.5; overflow-wrap:break-word; }
.journal-prose caption { caption-side:top; color:var(--muted); padding:0 0 .55rem; text-align:left; font-size:.89rem; }
.journal-prose th,.journal-prose td { padding:.8rem; border-bottom:1px solid var(--rule); vertical-align:top; text-align:left; }
.journal-prose thead th { background:var(--ink); color:white; }
.journal-prose tbody tr:nth-child(even) { background:#f3f7f6; }
.journal-prose tbody th { font-weight:650; }
.mail-model { background:#fffbf5; padding:clamp(1rem,2.5vw,1.65rem); border:1px solid #eadcc9; border-left:4px solid var(--orange); border-radius:8px; margin:1rem 0; }
.mail-model h3 { font-size:1.17rem; margin-bottom:1rem; }
.mail-model p { font-size:1rem; margin-bottom:.7rem; }
.mail-model button { margin-top:.9rem; padding:.4rem .85rem; font-family:inherit; font-size:.9rem; line-height:1.4; font-weight:600; background:white; color:var(--ink); cursor:pointer; border:1px solid #a2b8b7; border-radius:5px; }
.action-list { padding-left:1.55rem; margin-bottom:1.1rem; }
.action-list li { margin:.8rem 0; padding-left:.2rem; }
.action-list li::marker { color:#975415; font-weight:700; }
.journal-faq details { border-bottom:1px solid var(--rule); padding:.85rem 0; }
.journal-faq summary { color:var(--ink); cursor:pointer; font-weight:650; }
.journal-faq details p { margin-top:.65rem; }
.journal-related { margin-top:1.7rem; padding:1.4rem; border-radius:10px; background:#f1f6f5; border-left:4px solid var(--orange); }
.journal-related h2 { font-size:1.25rem; margin-bottom:.4rem; }
@media(max-width:800px){
  .journal-layout { grid-template-columns:1fr; gap:1.75rem; }
  .journal-toc { position:static; }
  .journal-hero { grid-template-columns:1fr; }
  .journal-hero img { max-height:340px; object-fit:cover; object-position:50% 37%; }
}
@media(max-width:640px){
  .journal-cards { grid-template-columns:1fr; }
  .journal-hero img { max-height:none; }
  .journal-prose th,.journal-prose td { padding:.55rem .4rem; }
  .journal-prose table { font-size:.86rem; }
}
