/* Journal index and article pages inherit the homepage's type, palette and controls. */
.journal-main{padding-top:var(--header-height)}
.journal-container{width:calc(100% - 2 * var(--gutter));max-width:1600px;margin-inline:auto}
.journal-intro{padding-block:var(--section-padding) 36px}
.journal-intro-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.journal-intro h1{font-size:clamp(32px,3vw,44px);line-height:1.12;letter-spacing:-.03em;margin:0 0 18px}
.journal-intro-inner>div>p{max-width:60ch;font-size:16px;line-height:1.65;margin:0}
.journal-demo-note{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}
.journal-intro .journal-demo-note{max-width:28ch;flex-shrink:0}
.journal-listing{padding-bottom:var(--section-padding)}
.journal-tools{border-block:1px solid var(--rule);padding-block:26px}
.journal-tools fieldset{border:0;padding:0;margin:0;min-width:0}
.journal-search-row{display:grid;grid-template-columns:minmax(0,1fr) 200px 180px;gap:18px}
.journal-search-row label{display:block;font-size:13px;line-height:1.4;margin-bottom:8px}
.journal-search-input{position:relative}
.journal-search-input>svg{position:absolute;left:16px;top:15px;width:18px;height:18px;stroke:currentColor;stroke-width:1.35;pointer-events:none}
.journal-search-input input,.journal-select-field select{display:block;width:100%;min-width:0;min-height:48px;padding:11px 16px;border:1px solid var(--umber);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.journal-search-input input{padding-left:44px;padding-right:18px}
.journal-search-input input::placeholder{color:var(--muted);opacity:1}
.journal-select-field select{padding-right:34px;cursor:pointer}
.journal-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.journal-topic{min-height:44px;padding:9px 16px;background:transparent;border:1px solid var(--rule);border-radius:var(--radius-button);color:var(--ink);font-size:13px;line-height:1.4;transition:background .2s,border-color .2s}
.journal-topic[aria-pressed="true"]{background:var(--dark);color:var(--paper);border-color:var(--dark)}
.journal-results-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-block:24px}
.journal-results-bar h2{font-size:18px;font-weight:400;line-height:1.4;margin:0}
.journal-results-bar>p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.journal-clear{margin-left:auto;min-height:44px;padding:8px 0;background:transparent;color:var(--umber);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.journal-clear:disabled{color:var(--muted);opacity:.5;text-decoration:none}
.journal-post-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 24px}
.journal-entry{position:relative;min-width:0;display:flex;flex-direction:column;border-radius:var(--radius-surface)}
.journal-entry[hidden]{display:none}
.journal-entry-image{aspect-ratio:4 / 3;border-radius:var(--radius-surface);overflow:hidden;background:var(--sand-1)}
.journal-entry-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.journal-entry-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:12px;line-height:1.5;color:var(--muted);margin:18px 0 10px}
.journal-entry h2,.journal-entry h3{font-family:var(--heading);font-size:clamp(21px,1.8vw,24px);font-weight:400;line-height:1.22;letter-spacing:-.02em;margin:0 0 12px}
.journal-entry-title::after{content:'';position:absolute;inset:0;border-radius:var(--radius-surface)}
.journal-entry-title:focus-visible{outline:none}
.journal-entry:focus-within{outline:2px solid var(--umber);outline-offset:5px}
.journal-entry-excerpt{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 18px}
.journal-entry-read{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5;color:var(--muted);margin:auto 0 0}
.journal-entry-read svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.35;transition:transform .2s}
.journal-empty{display:grid;justify-items:center;gap:16px;text-align:center;padding:64px 24px;border-top:1px solid var(--rule)}
.journal-empty[hidden]{display:none}
.journal-empty h3{font-size:24px;font-weight:400;line-height:1.2;margin:0}
.journal-empty p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}
.journal-empty .button{min-height:48px;margin-top:8px;font-size:14px}
.journal-post-header{max-width:1000px;padding-top:36px}
.journal-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding-block:8px;font-size:14px;line-height:1.4;color:var(--umber)}
.journal-back svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.35}
.journal-post-category{display:table;min-height:32px;padding-block:6px;margin-top:20px;color:var(--umber);font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.journal-post-header h1{max-width:28ch;font-size:clamp(32px,3vw,44px);line-height:1.12;letter-spacing:-.03em;margin:12px 0 20px}
.journal-post-intro{max-width:62ch;font-size:18px;line-height:1.65;color:var(--muted);margin:0 0 20px}
.journal-post-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;line-height:1.5;color:var(--muted)}
.journal-post-header .journal-demo-note{margin-top:12px}
.journal-post-image{max-width:1200px;aspect-ratio:2 / 1;max-height:520px;overflow:hidden;border-radius:var(--radius-surface);margin-block:36px 40px;background:var(--sand-1)}
.journal-post-image img{display:block;width:100%;height:100%;object-fit:cover}
.journal-prose{width:calc(100% - 2 * var(--gutter));max-width:68ch;margin:0 auto var(--section-padding);font-size:17px;line-height:1.8}
.journal-prose h2{font-size:26px;line-height:1.25;letter-spacing:-.02em;font-weight:400;margin:36px 0 14px}
.journal-prose>h2:first-child{margin-top:0}
.journal-prose p{margin:0 0 24px}
.journal-prose .sample-note{font-size:12px;line-height:1.65;color:var(--muted);border-top:1px solid var(--rule);padding-top:22px;margin-top:36px}
.journal-back-bottom{margin-top:12px}
.journal-related{padding-block:var(--section-padding);background:var(--section-tint)}
.journal-related-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}
.journal-related-heading>h2{font-size:var(--section-title);font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:0}
.journal-related-heading>a{display:inline-flex;align-items:center;gap:16px;min-height:44px;flex-shrink:0;font-size:14px;color:var(--umber)}
.journal-related-heading>a svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.35}
.journal-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.interior-page .desktop-nav a[aria-current="page"],.interior-page .mobile-menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
@media(hover:hover) and (pointer:fine){
  .journal-topic[aria-pressed="false"]:hover{background:var(--sand-1);border-color:var(--dark)}
  .journal-entry:hover .journal-entry-image img{transform:scale(1.035)}
  .journal-entry:hover .journal-entry-title{color:var(--umber)}
  .journal-entry:hover .journal-entry-read svg{transform:translate(2px,-2px)}
  .journal-back:hover,.journal-related-heading>a:hover{text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:1100px){.journal-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-intro-inner{gap:32px}.journal-search-row{grid-template-columns:minmax(0,1fr) 180px 160px}}
@media(max-width:800px){.journal-intro-inner{align-items:flex-start;flex-direction:column;gap:18px}.journal-intro .journal-demo-note{max-width:60ch}.journal-search-row{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-search-field{grid-column:1 / -1}}
@media(max-width:700px){
  .journal-intro{padding-bottom:28px}
  .journal-intro-inner>div>p{font-size:15px}
  .journal-post-grid,.journal-related-grid{grid-template-columns:1fr;gap:32px}
  .journal-entry h2,.journal-entry h3{font-size:24px}
  .journal-results-bar{gap:8px 16px;padding-block:18px}
  .journal-results-bar h2{width:100%}
  .journal-post-header{padding-top:24px}
  .journal-post-intro{font-size:16px}
  .journal-post-image{aspect-ratio:16 / 10;margin-block:28px 32px}
  .journal-prose{font-size:16px;line-height:1.75}
  .journal-prose h2{font-size:23px}
  .journal-related-heading{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:359px){.journal-search-row{grid-template-columns:minmax(0,1fr)}.journal-topic{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.journal-topic,.journal-entry-image img,.journal-entry-read svg{transition:none}}
