.journal-page { background: #f5f0e9; color: #302b29; }
.journal-page main { overflow: hidden; }
.journal-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); align-items: stretch; gap: clamp(2rem, 7vw, 7rem); width: min(100%, 84rem); margin: 0 auto; padding: clamp(4.5rem, 9vw, 8.5rem) max(1rem, 4vw) clamp(3.5rem, 7vw, 6rem); }
.journal-hero__copy { display: flex; flex-direction: column; justify-content: center; }
.journal-eyebrow { margin: 0 0 .8rem; color: #a23f35; font: 700 .68rem/1.3 Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.journal-hero h1 { max-width: 47rem; margin: 0; color: #302b29; font: 500 clamp(3rem, 7vw, 7rem)/.91 Georgia, serif; letter-spacing: -.065em; }
.journal-hero__intro { max-width: 40rem; margin: 1.6rem 0 0; color: #756e65; font: 400 clamp(1rem, 1.5vw, 1.14rem)/1.75 Georgia, serif; }
.journal-meta-line { margin: 1.1rem 0 0; color: #a23f35; font: 700 .66rem/1.4 Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.journal-search { display: flex; width: min(100%, 44rem); margin-top: 2rem; border: 1px solid rgba(162, 63, 53, .32); border-radius: .6rem 1.2rem .6rem 1.2rem; background: #fffdf9; box-shadow: 0 .8rem 2rem rgba(48, 43, 41, .06); }
.journal-search input { min-width: 0; flex: 1; padding: 1.05rem 1.15rem; border: 0; outline: 0; color: #302b29; background: transparent; font: 400 .95rem/1.3 Arial, sans-serif; }
.journal-search input::placeholder { color: #91877d; }
.journal-search button { margin: .25rem; padding: .8rem 1rem; border: 0; border-radius: .4rem 1rem .4rem 1rem; color: #fffaf3; background: #a23f35; cursor: pointer; font: 700 .68rem/1 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.journal-topics { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1rem; color: #91877d; font: 400 .75rem/1.3 Arial, sans-serif; }
.journal-topics button { padding: .35rem .6rem; border: 1px solid rgba(162, 63, 53, .18); border-radius: 999px; color: #756e65; background: transparent; cursor: pointer; font: inherit; }
.journal-topics button:hover, .journal-topics button:focus-visible { border-color: #a23f35; color: #a23f35; }
.journal-hero__visual { position: relative; min-height: 34rem; margin: 0; overflow: hidden; border-radius: 1rem 3rem 1rem 3rem; background: #302b29; box-shadow: 0 1.5rem 3rem rgba(48, 43, 41, .12); }
.journal-hero__visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(25, 20, 17, .82)); content: ""; pointer-events: none; }
.journal-hero__visual img { display: block; width: 100%; height: 100%; min-height: 34rem; object-fit: cover; object-position: center; }
.journal-hero__visual figcaption { position: absolute; right: 1.5rem; bottom: 1.4rem; left: 1.5rem; z-index: 1; display: grid; gap: .45rem; color: #fffaf3; }
.journal-hero__visual figcaption span { color: #e2c281; font: 700 .62rem/1.3 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.journal-hero__visual figcaption strong { max-width: 23rem; font: 500 clamp(1.5rem, 3vw, 2.5rem)/1 Georgia, serif; }
.journal-category-bar { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: .25rem; overflow-x: auto; width: 100%; padding: .7rem max(1rem, 4vw); border-block: 1px solid rgba(162, 63, 53, .15); background: rgba(245, 240, 233, .94); backdrop-filter: blur(16px); scrollbar-width: none; }
.journal-category-bar::-webkit-scrollbar { display: none; }
.journal-category-label { flex: 0 0 auto; margin-right: .5rem; color: #91877d; font: 700 .64rem/1.3 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.journal-category-bar button { flex: 0 0 auto; padding: .6rem .78rem; border: 1px solid transparent; border-radius: 999px; color: #756e65; background: transparent; cursor: pointer; font: 700 .7rem/1.2 Arial, sans-serif; letter-spacing: .04em; white-space: nowrap; }
.journal-category-bar button:hover, .journal-category-bar button:focus-visible, .journal-category-bar button.is-active { border-color: rgba(162, 63, 53, .3); color: #a23f35; background: #fffdf9; }
.journal-featured, .journal-library { width: min(100%, 84rem); margin: 0 auto; padding: clamp(4.5rem, 8vw, 7.5rem) max(1rem, 4vw); }
.journal-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.2rem; }
.journal-section-heading h2 { max-width: 42rem; margin: 0; color: #302b29; font: 500 clamp(2.25rem, 4.5vw, 4.8rem)/.98 Georgia, serif; letter-spacing: -.055em; }
.journal-section-heading > p { max-width: 23rem; margin: 0 0 .25rem; color: #756e65; font: 400 1rem/1.65 Georgia, serif; }
.journal-featured-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .8fr); gap: 1rem; }
.journal-feature-card { display: flex; overflow: hidden; border: 1px solid rgba(162, 63, 53, .14); color: inherit; background: #fffdf9; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.journal-feature-card:hover, .journal-feature-card:focus-visible, .journal-card:hover, .journal-card:focus-visible { border-color: rgba(162, 63, 53, .32); box-shadow: 0 1.2rem 2.8rem rgba(48, 43, 41, .1); transform: translateY(-4px); }
.journal-feature-card--main { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(15rem, .92fr); }
.journal-feature-card__image { overflow: hidden; background: #ded2c4; }
.journal-feature-card__image img { display: block; width: 100%; height: 100%; min-height: 13rem; object-fit: cover; transition: transform .65s ease; }
.journal-feature-card:hover img, .journal-card:hover img { transform: scale(1.035); }
.journal-feature-card__content { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.3rem, 3vw, 2.1rem); }
.journal-card__category { color: #a23f35; font: 700 .64rem/1.3 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.journal-feature-card h3 { margin: .8rem 0; color: #302b29; font: 500 clamp(1.7rem, 3vw, 3rem)/1.02 Georgia, serif; letter-spacing: -.04em; }
.journal-feature-card--small { min-height: 0; }
.journal-feature-card--small .journal-feature-card__image { width: 38%; flex: 0 0 38%; }
.journal-feature-card--small .journal-feature-card__content { padding: 1.1rem 1.25rem; }
.journal-feature-card--small h3 { margin: .5rem 0; font-size: 1.45rem; }
.journal-feature-stack { display: grid; gap: 1rem; }
.journal-feature-card p { margin: 0 0 1rem; color: #756e65; font: 400 .95rem/1.65 Georgia, serif; }
.journal-read { display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; color: #a23f35; font: 700 .68rem/1.2 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.journal-read b { font-size: 1rem; }
.journal-library { padding-top: 1rem; }
.journal-library-heading { padding-top: clamp(3rem, 6vw, 6rem); border-top: 1px solid rgba(162, 63, 53, .18); }
.journal-filter-panel { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem; padding: 1rem; border: 1px solid rgba(162, 63, 53, .16); background: rgba(255, 253, 249, .55); }
.journal-filter-panel label { display: grid; gap: .35rem; min-width: 10rem; color: #91877d; font: 700 .62rem/1.2 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.journal-filter-panel select { min-width: 10rem; padding: .72rem .75rem; border: 1px solid rgba(162, 63, 53, .2); border-radius: .35rem 1rem .35rem 1rem; color: #302b29; background: #fffdf9; font: 400 .85rem/1.2 Arial, sans-serif; }
.journal-clear { padding: .72rem .8rem; border: 0; color: #a23f35; background: transparent; cursor: pointer; font: 700 .68rem/1.2 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.journal-results-bar { display: flex; justify-content: space-between; gap: 1rem; margin: 1.25rem 0; color: #91877d; font: 700 .66rem/1.3 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.journal-results-bar p { margin: 0; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.journal-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(162, 63, 53, .14); color: inherit; background: #fffdf9; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.journal-card--wide { grid-column: auto; flex-direction: column; }
.journal-card[hidden] { display: none !important; }
.journal-card__image { overflow: hidden; aspect-ratio: 16 / 10; background: #ded2c4; }
.journal-card--wide .journal-card__image { width: 100%; flex: 0 0 auto; }
.journal-card__image img { display: block; width: 100%; height: 100%; min-height: 10rem; object-fit: cover; transition: transform .65s ease; }
.journal-card__content { display: flex; min-width: 0; flex: 1; flex-direction: column; padding: 1.35rem; }
.journal-card h3 { margin: .75rem 0 .6rem; color: #302b29; font: 500 clamp(1.35rem, 2vw, 1.85rem)/1.08 Georgia, serif; letter-spacing: -.035em; }
.journal-card p { margin: 0; color: #756e65; font: 400 .9rem/1.6 Georgia, serif; }
.journal-card__meta { display: flex; align-items: end; justify-content: space-between; gap: .7rem; margin-top: 1.25rem; padding-top: .85rem; border-top: 1px solid rgba(162, 63, 53, .12); color: #91877d; font: 400 .68rem/1.35 Arial, sans-serif; }
.journal-card__meta strong { color: #a23f35; font: 700 .66rem/1.35 Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.journal-empty { margin: 2rem 0; padding: 2rem; border: 1px dashed rgba(162, 63, 53, .25); color: #756e65; text-align: center; font: 400 1rem/1.6 Georgia, serif; }
.journal-signoff { padding: clamp(4.5rem, 9vw, 8rem) max(1rem, 4vw); color: #fffaf3; text-align: center; background: #302b29; }
.journal-signoff .journal-eyebrow { color: #d8b676; }
.journal-signoff h2 { margin: 0; font: 500 clamp(2.5rem, 5vw, 5rem)/1 Georgia, serif; letter-spacing: -.05em; }
.journal-signoff > p:not(.journal-eyebrow) { max-width: 38rem; margin: 1rem auto 1.5rem; color: rgba(255, 250, 243, .72); font: 400 1rem/1.7 Georgia, serif; }
.journal-signoff > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.journal-signoff a { padding: .9rem 1.1rem; border: 1px solid #d8b676; color: #d8b676; font: 700 .68rem/1.2 Arial, sans-serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.journal-signoff a:first-child { color: #302b29; background: #d8b676; }
.journal-signoff a:hover, .journal-signoff a:focus-visible { background: #e2c281; color: #302b29; }
@media (max-width: 900px) { .journal-hero { grid-template-columns: 1fr; } .journal-hero__visual { min-height: 26rem; } .journal-hero__visual img { min-height: 26rem; } .journal-featured-grid { grid-template-columns: 1fr; } .journal-feature-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); } .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .journal-card--wide { grid-column: auto; } }
@media (max-width: 620px) { .journal-hero { padding-top: 3.5rem; } .journal-hero h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); } .journal-hero__visual { min-height: 22rem; border-radius: .8rem 2rem .8rem 2rem; } .journal-hero__visual img { min-height: 22rem; } .journal-search { display: block; border-radius: .6rem 1.1rem .6rem 1.1rem; } .journal-search input { width: 100%; padding-bottom: .9rem; } .journal-search button { width: calc(100% - .5rem); margin: 0 .25rem .25rem; } .journal-section-heading { display: block; } .journal-section-heading > p { margin-top: 1rem; } .journal-feature-card--main, .journal-feature-card--small, .journal-card--wide { display: flex; flex-direction: column; } .journal-feature-card--small .journal-feature-card__image, .journal-card--wide .journal-card__image { width: 100%; flex-basis: auto; } .journal-feature-card--small .journal-feature-card__image { height: 11rem; } .journal-grid { grid-template-columns: 1fr; } .journal-card--wide { grid-column: auto; } .journal-filter-panel { display: grid; grid-template-columns: 1fr 1fr; } .journal-filter-panel label, .journal-filter-panel select { min-width: 0; width: 100%; } .journal-clear { grid-column: 1 / -1; justify-self: start; padding-inline: 0; } .journal-results-bar { display: block; } .journal-results-bar p + p { margin-top: .5rem; } }
