/* ─── JOURNAL INDEX ──────────────────────────────────────────── */
#journal-index {
  background:var(--petal);
  padding:120px 0 96px;
  min-height:100vh;
}
.journal-index-header {
  max-width:680px;
  margin-bottom:72px;
}
.journal-index-header .label { display:block; margin-bottom:16px; }
.journal-index-header h1 {
  font-family:var(--fd);
  font-size:clamp(36px,5vw,68px);
  font-weight:300;
  line-height:1.08;
  color:var(--espresso);
  margin-bottom:20px;
}
.journal-index-header h1 em { color:var(--gold); font-style:italic; }
.journal-index-header p {
  font-family:var(--fd);
  font-size:1.02rem;
  line-height:1.85;
  color:var(--cocoa);
}

/* Journal index: spaced cards that read as individual articles */
.journal-full-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.journal-card {
  background:#fff;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 18px rgba(106,74,64,.07);
  border:1px solid rgba(184,104,90,.1);
  overflow:hidden;
  transition:box-shadow .3s, transform .3s;
}
.journal-card:hover {
  box-shadow:0 8px 36px rgba(106,74,64,.13);
  transform:translateY(-3px);
}

/* ─── CARD VISUAL HEADER ─────────────────────────────────────── */
.card-vis {
  position:relative;
  height:160px;
  display:flex;
  align-items:flex-end;
  padding:18px 24px;
  overflow:hidden;
  flex-shrink:0;
}
.journal-full-grid .card-vis { height:200px; }
.card-vis-num {
  font-family:var(--fd);
  font-size:5.5rem;
  font-weight:300;
  line-height:1;
  color:var(--espresso);
  opacity:.1;
  user-select:none;
  letter-spacing:-.02em;
}
.card-vis-ornament {
  position:absolute;
  top:18px;
  right:22px;
  font-size:.8rem;
  letter-spacing:.18em;
  font-family:var(--fs);
  text-transform:uppercase;
  opacity:.35;
  color:var(--espresso);
}
.card-vis-geo {
  position:absolute;
  right:-10px;
  bottom:-10px;
  width:140px;
  height:140px;
  opacity:.14;
  pointer-events:none;
  fill:none;
  stroke:#C9A96E;
}
.journal-full-grid .card-vis-geo { width:170px; height:170px; }

/* Category colour themes */
.cat-philosophy  { background:linear-gradient(145deg, rgba(106,74,64,.06) 0%, rgba(90,60,50,.18) 100%); }
.cat-burnout     { background:linear-gradient(145deg, rgba(201,169,110,.1) 0%, rgba(190,150,80,.26) 100%); }
.cat-inner       { background:linear-gradient(145deg, rgba(220,190,175,.12) 0%, rgba(184,104,90,.22) 100%); }
.cat-spiritual   { background:linear-gradient(145deg, rgba(140,70,75,.08) 0%, rgba(165,85,80,.22) 100%); }
.cat-mind        { background:linear-gradient(145deg, rgba(160,140,120,.08) 0%, rgba(140,115,95,.2) 100%); }

/* Card body (below visual) */
.card-body {
  padding:24px 28px 28px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.journal-card-cat {
  font-family:var(--fs);
  font-size:.52rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}
.journal-card h3 {
  font-family:var(--fd);
  font-size:1.18rem;
  font-weight:500;
  line-height:1.25;
  color:var(--espresso);
}
.journal-card p {
  font-family:var(--fd);
  font-size:.88rem;
  line-height:1.75;
  color:var(--cocoa);
  flex:1;
}
.journal-card-read {
  font-family:var(--fs);
  font-size:.55rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:8px;
  display:inline-block;
  transition:letter-spacing .3s;
}
.journal-card:hover .journal-card-read { letter-spacing:.26em; }

/* ─── ARTICLE PAGE ───────────────────────────────────────────── */
.article-wrap {
  max-width:720px;
  margin:0 auto;
  padding:120px 56px 96px;
}
.article-back-link {
  margin-bottom:48px;
}
.article-back-link a {
  font-family:var(--fs);
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cocoa);
  text-decoration:none;
  transition:color .25s;
}
.article-back-link a:hover { color:var(--gold); }
.article-meta {
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
}
.article-cat {
  font-family:var(--fs);
  font-size:.52rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}
.article-date {
  font-family:var(--fs);
  font-size:.52rem;
  letter-spacing:.14em;
  color:rgba(106,74,64,.4);
  text-transform:uppercase;
}
.article-headline {
  font-family:var(--fd);
  font-size:clamp(30px,4vw,52px);
  font-weight:300;
  line-height:1.1;
  color:var(--espresso);
  margin-bottom:56px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(184,104,90,.12);
}
.article-opening {
  font-family:var(--fd);
  font-size:clamp(1.05rem,1.6vw,1.2rem);
  font-style:italic;
  font-weight:300;
  line-height:1.85;
  color:var(--espresso);
  margin-bottom:32px;
}
.article-body p {
  font-family:var(--fd);
  font-size:1rem;
  line-height:1.95;
  color:var(--cocoa);
  margin-bottom:24px;
}
.article-affirmation {
  font-family:var(--fd);
  font-size:clamp(1rem,1.5vw,1.15rem);
  font-style:italic;
  font-weight:300;
  line-height:1.65;
  color:var(--espresso);
  border-left:2px solid var(--gold);
  padding:4px 0 4px 20px;
  margin:40px 0 32px;
}
.article-practice {
  background:rgba(201,169,110,.07);
  border-radius:2px;
  padding:24px 28px;
  margin:8px 0 40px;
}
.article-practice-label {
  font-family:var(--fs);
  font-size:.5rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:10px;
}
.article-practice p {
  font-family:var(--fd);
  font-size:.95rem;
  line-height:1.82;
  color:var(--cocoa);
  margin:0;
}
.article-divider {
  width:48px;
  height:1px;
  background:rgba(184,104,90,.2);
  margin:48px 0;
}
.article-closing {
  font-family:var(--fd);
  font-size:1rem;
  font-style:italic;
  color:var(--cocoa);
  opacity:.65;
  margin-bottom:32px;
}
.article-ctas {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
}

/* ─── JOURNAL TEASER (homepage) ─────────────────────────────── */
#journal-teaser { background:var(--blush); padding:110px 0; }
.journal-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:56px 0 48px;
}
.journal-all { text-align:center; }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1024px) {
  .journal-full-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .journal-full-grid { grid-template-columns:1fr; }
  .journal-grid { grid-template-columns:1fr; }
  .article-wrap { padding:100px 24px 72px; }
}
@media (max-width:480px) {
  .journal-full-grid { grid-template-columns:1fr; }
  .card-vis { height:120px; }
  .journal-full-grid .card-vis { height:140px; }
}
