.journal-page { background: #fffcf7; }
.journal-hero { padding: clamp(64px, 9vw, 118px) 0 44px; background: radial-gradient(ellipse at 80% 4%, rgba(233,162,59,.18), transparent 35%), linear-gradient(180deg,#fbf4e8 0%,#fffcf7 100%); }
.journal-hero-inner { display:grid; justify-items:center; text-align:center; gap:18px; }
.journal-hero .eyebrow { color:#8a5d14; }
.journal-hero h1 { max-width:860px; font-size:clamp(48px,8vw,92px); line-height:.98; text-wrap:balance; }
.journal-hero .lede { max-width:640px; margin:0 auto; font-size:clamp(16px,2vw,19px); }
.journal-search { display:flex; align-items:center; gap:12px; width:min(620px,100%); min-height:58px; padding:0 20px; margin-top:10px; border:1px solid #eadfce; border-radius:18px; background:#fff; box-shadow:0 12px 30px -22px rgba(27,21,37,.35); color:#897d70; }
.journal-search > span { font-size:26px; line-height:1; transform:rotate(-20deg); }
.journal-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#1b1525; font:500 15px/1.4 var(--body); }
.journal-search input::placeholder { color:#8c8580; }
.journal-search kbd { font:600 9px/1 var(--body); letter-spacing:.14em; color:#9b8f80; }
.journal-search:focus-within { border-color:#c9912a; box-shadow:0 0 0 3px rgba(214,162,46,.16),0 12px 30px -22px rgba(27,21,37,.35); }
.journal-topics { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:3px; }
.journal-topics button { min-height:42px; padding:0 17px; border:1px solid #e8dfd4; border-radius:30px; background:rgba(255,255,255,.74); color:#5f5660; cursor:pointer; font:500 13px/1.2 var(--body); transition:background .2s,color .2s,border-color .2s,transform .2s; }
.journal-topics button:hover { transform:translateY(-1px); border-color:#c99a47; }
.journal-topics button.is-active { border-color:#1b1525; background:#1b1525; color:#fff; }
.journal-topics button:focus-visible { outline:3px solid #d6a22e; outline-offset:3px; }
.journal-section { padding:70px 0 26px; }
.journal-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.journal-section-head .eyebrow { display:block; margin-bottom:12px; }
.journal-section-head h2 { font-size:clamp(34px,4vw,52px); }
.journal-count { color:#8b7f75; font-size:12px; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }
.journal-feature-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:16px; }
.journal-feature { position:relative; display:flex; min-height:300px; aspect-ratio:1.08/1; overflow:hidden; border-radius:24px; isolation:isolate; background:#32273b; color:#fff; box-shadow:0 18px 45px -28px rgba(27,21,37,.5); }
.journal-feature-main { min-height:420px; aspect-ratio:auto; }
.journal-feature img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.journal-feature:hover img,.journal-card:hover img { transform:scale(1.045); }
.journal-feature-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(19,15,22,.02) 15%,rgba(19,15,22,.18) 40%,rgba(19,15,22,.82) 100%); }
.journal-feature-copy { align-self:end; display:grid; gap:12px; width:100%; padding:25px; }
.journal-label,.journal-card-meta { color:#f4d58f; font-size:10.5px; font-weight:600; letter-spacing:.14em; line-height:1.35; text-transform:uppercase; }
.journal-feature-copy strong { max-width:20ch; color:#fff; font:500 clamp(22px,2.7vw,34px)/1.13 var(--display); letter-spacing:-.025em; text-wrap:balance; }
.journal-feature:not(.journal-feature-main) .journal-feature-copy { padding:21px; }
.journal-feature:not(.journal-feature-main) .journal-feature-copy strong { font-size:clamp(20px,2vw,27px); }
.journal-read { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.86); font-size:12px; font-weight:500; }
.journal-read b { font-size:16px; transition:transform .2s; }
.journal-feature:hover .journal-read b { transform:translate(2px,-2px); }
.journal-explore { padding-top:84px; }
.journal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
.journal-card { display:flex; min-width:0; flex-direction:column; gap:12px; color:#1b1525; }
.journal-card-image { position:relative; display:block; overflow:hidden; aspect-ratio:1.24/1; border-radius:20px; background:#eee4d5; }
.journal-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.journal-card-arrow { position:absolute; right:13px; bottom:13px; display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(255,255,255,.6); border-radius:50%; background:rgba(27,21,37,.42); color:#fff; font-size:17px; backdrop-filter:blur(8px); transition:background .2s,transform .2s; }
.journal-card:hover .journal-card-arrow { transform:translate(1px,-1px); background:#1b1525; }
.journal-card-meta { display:flex; justify-content:space-between; gap:10px; color:#9a6f25; letter-spacing:.1em; }
.journal-card-meta span { color:#938980; white-space:nowrap; }
.journal-card > strong { font:500 clamp(19px,2vw,23px)/1.2 var(--display); letter-spacing:-.02em; text-wrap:balance; }
.journal-card-desc { color:#6b636d; font-size:14px; line-height:1.55; }
.journal-card:hover > strong { color:#8a5d14; }
.journal-card[hidden], .journal-feature[hidden] { display:none !important; }
.journal-empty { margin:40px 0 0; padding:32px; border:1px dashed #d8c9b6; border-radius:18px; color:#6b636d; text-align:center; }
.journal-cta-section { padding:86px 0 0; }
.journal-cta { position:relative; display:grid; justify-items:center; overflow:hidden; padding:clamp(42px,7vw,82px) 24px; border-radius:36px; background:radial-gradient(circle at 88% 15%,rgba(255,201,74,.23),transparent 28%),linear-gradient(125deg,#0e3b2c,#27483a 45%,#4b2540); color:rgba(255,255,255,.78); text-align:center; }
.journal-cta .eyebrow { color:#f6cd72; }
.journal-cta h2 { margin-top:16px; color:#fff; font-size:clamp(38px,6vw,68px); line-height:1.05; }
.journal-cta p { max-width:520px; margin:18px 0 26px; }
.journal-cta .btn { min-height:48px; }
.journal-footer { margin-top:90px; }
.journal-footer .footer-grid { padding-top:60px; }
.journal-footer .footer-grid > div:first-child p { max-width:280px; margin-top:18px; }

.journal-article-page { background:#fffcf7; }
.journal-article { padding:56px 0 0; }
.journal-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; align-items:center; color:#897f75; font-size:13px; }
.journal-breadcrumb a { color:#554a50; text-decoration:underline; text-decoration-color:#d8c9b6; text-underline-offset:3px; }
.journal-article-head { max-width:900px; margin:48px auto 36px; text-align:center; }
.journal-article-head .journal-label { display:block; margin-bottom:18px; color:#98702a; }
.journal-article-head h1 { font-size:clamp(38px,6vw,72px); text-wrap:balance; }
.journal-article-head .lede { max-width:680px; margin:22px auto; }
.journal-byline { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 18px; color:#817770; font-size:13px; }
.journal-article-image { width:min(100%,1100px); max-height:560px; aspect-ratio:16/8; margin:0 auto 54px; overflow:hidden; border-radius:28px; background:#eee4d5; }
.journal-article-image img { width:100%; height:100%; object-fit:cover; }
.journal-article-copy { max-width:720px; margin:0 auto; color:#514a50; font-size:17px; line-height:1.8; }
.journal-article-copy p { margin:0 0 22px; }
.journal-article-copy h2 { margin:48px 0 15px; font-size:clamp(27px,3.5vw,38px); }
.journal-article-copy h3 { margin:32px 0 12px; font-size:23px; }
.journal-article-copy ul { display:grid; gap:12px; padding-left:23px; margin:0 0 25px; }
.journal-article-copy li::marker { color:#bd8a25; }
.journal-article-copy blockquote { margin:35px 0; padding:8px 0 8px 24px; border-left:3px solid #d6a22e; color:#32263a; font:400 27px/1.4 var(--serif); }
.journal-article-cta { margin:42px 0 0; padding:28px; border:1px solid #eadfce; border-radius:20px; background:#fbf4e8; }
.journal-article-cta p { margin:0 0 17px; }
.journal-article-cta .btn { min-height:46px; height:auto; padding-block:12px; white-space:normal; text-align:center; }
.journal-back { display:flex; justify-content:space-between; align-items:center; gap:18px; max-width:720px; margin:54px auto 0; padding-top:22px; border-top:1px solid #e8dfd4; }
.journal-back a { color:#604c26; font-weight:600; }
.journal-article-page .journal-footer { margin-top:90px; }

@media(max-width:1000px) {
  .journal-feature-grid { grid-template-columns:1.2fr 1fr; }
  .journal-feature-main { grid-row:span 2; min-height:100%; }
  .journal-feature:not(.journal-feature-main) { min-height:280px; aspect-ratio:1.6/1; }
  .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
}
@media(max-width:640px) {
  .journal-hero { padding:64px 0 34px; }
  .journal-hero-inner { gap:15px; }
  .journal-hero h1 { font-size:clamp(46px,14vw,68px); }
  .journal-search { min-height:54px; padding-inline:15px; border-radius:15px; }
  .journal-search kbd { display:none; }
  .journal-topics { justify-content:flex-start; flex-wrap:nowrap; width:100%; margin-inline:0; padding:0 max(20px,calc((100vw - var(--container))/2)); overflow-x:auto; scrollbar-width:none; }
  .journal-topics::-webkit-scrollbar { display:none; }
  .journal-topics button { flex:none; min-height:40px; padding-inline:14px; }
  .journal-section { padding:50px 0 18px; }
  .journal-section-head { align-items:end; margin-bottom:19px; }
  .journal-section-head h2 { font-size:34px; }
  .journal-count { font-size:10px; }
  .journal-feature-grid { display:flex; overflow-x:auto; margin-right:-20px; padding:0 20px 15px 0; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .journal-feature,.journal-feature-main,.journal-feature:not(.journal-feature-main) { flex:0 0 min(82vw,340px); min-height:360px; aspect-ratio:auto; scroll-snap-align:start; }
  .journal-feature-main { min-height:410px; }
  .journal-feature-copy,.journal-feature:not(.journal-feature-main) .journal-feature-copy { padding:20px; }
  .journal-explore { padding-top:60px; }
  .journal-grid { grid-template-columns:1fr; gap:28px; }
  .journal-card { display:grid; grid-template-columns:minmax(110px,34%) minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:8px 15px; align-items:start; }
  .journal-card-image { grid-column:1; grid-row:1/4; aspect-ratio:1/1; border-radius:15px; }
  .journal-card-meta { grid-column:2; display:block; font-size:9px; }
  .journal-card-meta span { display:block; margin-top:4px; }
  .journal-card > strong { grid-column:2; align-self:center; font-size:20px; }
  .journal-card-desc { grid-column:2; font-size:12.5px; line-height:1.45; }
  .journal-card-arrow { width:31px; height:31px; right:8px; bottom:8px; }
  .journal-cta-section { padding-top:58px; }
  .journal-cta { border-radius:26px; }
  .journal-footer { margin-top:58px; }
  .journal-article { padding-top:32px; }
  .journal-article-head { margin:34px auto 25px; text-align:left; }
  .journal-article-head h1 { font-size:clamp(37px,11vw,54px); }
  .journal-article-head .lede { margin:17px 0; font-size:16px; }
  .journal-byline { justify-content:flex-start; }
  .journal-article-image { aspect-ratio:4/3; margin-bottom:32px; border-radius:20px; }
  .journal-article-copy { font-size:16px; line-height:1.72; }
  .journal-article-copy h2 { margin-top:38px; }
  .journal-article-copy blockquote { font-size:24px; }
  .journal-back { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  .journal-feature img,.journal-card-image img { transition:none; }
  .journal-topics button,.journal-card-arrow,.journal-read b { transition:none; }
}

/* Journal alignment: clear choices, readable copy, consistent green and gold. */
.journal-topics button { min-height:44px; }
.journal-feature-grid,.journal-grid { min-width:0; }
.journal-card-meta { flex-wrap:wrap; }
.journal-feature-grid:has(> :not([hidden]):only-child) { grid-template-columns:1fr; }
.journal-trending[hidden] { display:none; }
.journal-feature:focus-visible,.journal-card:focus-visible,.journal-secondary-link:focus-visible { outline:3px solid #a47420; outline-offset:5px; }
.journal-secondary-link { display:block; margin-top:20px; text-decoration:underline; text-underline-offset:4px; font-size:14px; line-height:1.6; }
.journal-cta .journal-secondary-link { color:#fff1ce; max-width:480px; }
.journal-takeaway { margin:36px 0; padding:26px; border:1px solid #dedbc9; border-radius:20px; background:#f1f3eb; color:#234638; }
.journal-takeaway h2 { margin:0 0 16px; font-size:28px; }
.journal-takeaway ol { padding-left:22px; display:grid; gap:12px; margin:0 0 18px; }
.journal-takeaway p:last-child { margin-bottom:0; font-size:15px; }
.journal-listen-invite { padding:20px 0; border-block:1px solid #e8dfd4; }
.journal-article-copy a:not(.btn) { color:#24583e; text-decoration:underline; text-underline-offset:4px; }
.journal-reset { min-height:44px; margin-top:12px; padding:8px 20px; border:1px solid #a47420; border-radius:24px; background:#fff; color:#514121; font:600 14px var(--body); cursor:pointer; }
@media(max-width:640px) { .journal-topics { padding:0 0 8px; } .journal-feature-main { min-height:360px; } .journal-takeaway { padding:22px 18px; } .journal-card-meta span { white-space:normal; } }
/* Allow the journal grid and header to shrink on 320px phones. */
.journal-hero-inner { grid-template-columns:minmax(0,1fr); }
.journal-hero-inner > * { min-width:0; max-width:100%; }
.journal-section-head > div { min-width:0; }
@media(max-width:380px) {
 :is(.journal-page,.journal-article-page) .nav-inner { gap:6px; }
 :is(.journal-page,.journal-article-page) .nav .brand-mark { width:28px; height:28px; }
 :is(.journal-page,.journal-article-page) .nav-cta { gap:5px; }
 :is(.journal-page,.journal-article-page) .nav-cta .btn-sm { font-size:12px; padding-inline:8px; }
 :is(.journal-page,.journal-article-page) .menu-btn { width:40px; height:40px; flex-shrink:0; }
}
/* Card aspect ratios must not set the minimum width of tablet grid columns. */
.journal-feature { min-width:0; }
.journal-feature-grid { grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr)); }
@media(min-width:641px) and (max-width:1000px) {
 .journal-feature-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
}
.journal-feature { width:100%; }
