.journal-section {
  padding: clamp(4rem, 7.5vw, 8rem) clamp(1.25rem, 4.4vw, 5rem);
  border-top: 1px solid var(--line);
  background: #fffdf9;
}

.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.6rem; row-gap: 3.5rem; }
.journal-card { min-width: 0; display: flex; flex-direction: column; }
.journal-visual { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sand); }
.journal-visual .journal-photo { position: absolute; inset: 0; }
.journal-visual .product-photo img { object-position: center 55%; }
.journal-visual .catalog-crop { inset: auto 0; top: 50%; aspect-ratio: 1; transform: translateY(-50%); }
.journal-visual .catalog-crop img { height: auto; }
.journal-card-copy { flex: 1; display: flex; flex-direction: column; padding-top: 1.2rem; }
.journal-meta { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .4rem 1rem; margin: 0 0 1rem; color: #5f594f; font-size: .62rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.journal-meta span:first-child { color: var(--noir); }
.journal-card h3 { max-width: 370px; margin: 0; font: 400 clamp(1.9rem, 2.65vw, 3rem)/1.02 var(--serif); letter-spacing: -.03em; }
.journal-excerpt { max-width: 390px; margin: .9rem 0 1rem; color: #655f56; font-size: .83rem; line-height: 1.75; }
.journal-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin: auto 0 1.2rem; }
.journal-tags span { padding: .23rem .55rem; border: 1px solid #d8d0c4; border-radius: 20px; color: #665c4c; font-size: .62rem; letter-spacing: .04em; text-transform: capitalize; }
.journal-read { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 44px; padding: .8rem 0 .4rem; border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; font-size: .67rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.journal-read span { font-size: 1.2rem; font-weight: 400; transition: transform .2s ease; }
.journal-read:hover span, .journal-read:focus-visible span { transform: translate(2px, -2px); }
.journal-read:hover { color: #795b38; }

body.journal-open { overflow: hidden; }
.journal-dialog { width: min(850px, calc(100% - 2rem)); max-width: none; max-height: calc(100svh - 2rem); padding: 0; border: 1px solid var(--noir); background: #fffdf9; color: var(--noir); overscroll-behavior: contain; }
.journal-dialog::backdrop { background: rgba(18, 18, 18, .62); backdrop-filter: blur(4px); }
.journal-close { position: sticky; z-index: 2; top: 1rem; float: right; width: 44px; height: 44px; display: grid; place-items: center; margin: 1rem 1rem -3.75rem 0; padding: 0; border: 1px solid var(--noir); border-radius: 50%; background: #fffdf9; font-size: 1.5rem; line-height: 1; }
.journal-article > .journal-visual { aspect-ratio: 2.4; }
.journal-article > .journal-visual .product-photo img { object-position: center 55%; }
.journal-article-copy { padding: clamp(1.5rem, 5vw, 3.5rem); }
.journal-article-copy > .journal-meta { margin-bottom: 1.3rem; }
.journal-article h2 { margin: 0; max-width: 680px; font: 400 clamp(2.7rem, 5.8vw, 4.5rem)/.97 var(--serif); letter-spacing: -.035em; outline: none; }
.journal-deck { margin: 1.5rem 0 2rem; padding-bottom: 1.75rem; border-bottom: 1px solid var(--line); color: #75634d; font: italic 400 1.5rem/1.35 var(--serif); }
.journal-prose { color: #4d4942; font-size: .93rem; line-height: 1.9; }
.journal-prose p { margin: 0 0 1.4rem; }
.journal-prose p:first-child::first-letter { float: left; padding: .15rem .5rem 0 0; color: var(--noir); font: 400 3.5rem/.85 var(--serif); }
.journal-scent-notes { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--porcelain); }
.journal-scent-notes > .eyebrow { margin-bottom: 1.25rem; font-size: .64rem; }
.journal-scent-notes dl { margin: 0; }
.journal-scent-notes dl > div { display: grid; grid-template-columns: 95px 1fr; gap: 1rem; padding: .65rem 0; border-top: 1px solid #ddd7ce; }
.journal-scent-notes dt { padding-top: .18rem; color: #716a5f; font-size: .61rem; letter-spacing: .07em; text-transform: uppercase; }
.journal-scent-notes dd { margin: 0; font-size: .8rem; line-height: 1.5; }
.journal-moment { margin: 1rem 0 0; color: #6c6358; font-size: .72rem; }
.journal-moment span { color: var(--noir); }
.journal-article-footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 2rem 0 1.5rem; }
.journal-article-footer > p { margin: 0; color: #6c6358; font-size: .75rem; line-height: 1.7; }
.journal-article-footer strong { color: var(--noir); font: 400 1.8rem/1.2 var(--serif); }
.journal-article-footer .button { flex-shrink: 0; gap: 1rem; }
.journal-editorial-note { margin: 0; padding-top: 1rem; border-top: 1px solid var(--line); color: #787167; font-size: .67rem; line-height: 1.6; }

@media (max-width: 1050px) {
  .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-card h3 { font-size: clamp(2rem, 4vw, 2.8rem); }
}

@media (max-width: 600px) {
  .journal-section { padding: 4rem 1.25rem; }
  .journal-grid { grid-template-columns: 1fr; row-gap: 2.5rem; }
  .journal-card h3 { max-width: none; font-size: 2.3rem; }
  .journal-excerpt { max-width: none; }
  .journal-dialog { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); }
  .journal-article > .journal-visual { aspect-ratio: 1.6; }
  .journal-article-copy { padding: 1.5rem 1.2rem; }
  .journal-prose { font-size: .88rem; }
  .journal-scent-notes { padding: 1.15rem; }
  .journal-scent-notes dl > div { grid-template-columns: 72px 1fr; gap: .6rem; }
  .journal-article-footer { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .journal-article-footer .button { width: 100%; }
}
