/* Coal Journal: quiet, dark, editorial */
:root{
  --black:#0a0908;
  --bone:#efe8dc;
  --bone-80:rgba(239,232,220,.8);
  --bone-70:rgba(239,232,220,.7);
  --bone-55:rgba(239,232,220,.55);
  --bone-35:rgba(239,232,220,.35);
  --line:rgba(239,232,220,.12);
  --ember:#ff7a1f;
  --ember-soft:#ffb469;
  --display:'Josefin Sans','Futura','Avenir Next',sans-serif;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{background:var(--black);scroll-behavior:smooth;}
body{
  font-family:var(--serif);
  background:var(--black);
  color:var(--bone);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
  min-height:100svh;
  display:flex;flex-direction:column;
}
::selection{background:rgba(255,122,31,.35);color:var(--bone);}
a{color:inherit;}
:focus-visible{outline:1px solid var(--bone);outline-offset:4px;}

.wrap{width:100%;max-width:640px;margin:0 auto;padding:0 1.5rem;flex:1;}
.arrow{display:inline-block;margin-left:.35em;}

/* ---------- header ---------- */
.site-head{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:clamp(1.4rem,3vw,2.2rem) clamp(1.4rem,5vw,3.6rem);
}
.wordmark{
  font-family:var(--display);font-weight:200;font-size:1.3rem;
  letter-spacing:.4em;margin-right:-.4em;line-height:1;
  color:var(--bone);text-decoration:none;transition:opacity .3s;
}
.wordmark:hover{opacity:.7;}
.site-nav{display:flex;gap:1.5rem 2rem;}
.site-nav a,.site-foot a,.back,.cta a{
  font-family:var(--sans);font-weight:500;
  font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--bone-70);text-decoration:none;
  padding:.2rem 0;border-bottom:1px solid transparent;
  transition:color .35s ease,border-color .35s ease;
}
.site-nav a:hover,.back:hover,.cta a:hover{color:var(--bone);border-bottom-color:var(--bone-35);}
.site-nav a[aria-current="page"]{color:var(--bone);}

/* ---------- journal index ---------- */
.journal-head{padding:clamp(3rem,9vh,5.5rem) 0 clamp(2rem,5vh,3rem);text-align:center;}
.journal-head h1{
  font-weight:300;font-size:clamp(2.6rem,7vw,4rem);line-height:1;letter-spacing:-.01em;
  font-variation-settings:'opsz' 72;
}
.journal-head p{margin-top:.9rem;font-style:italic;font-weight:300;color:var(--bone-55);font-size:1.15rem;}
.ember-dot{
  display:block;width:6px;height:6px;border-radius:50%;margin:1.8rem auto 0;
  background:radial-gradient(circle,#ffd6a0 0%,#ff7a1f 45%,rgba(255,122,31,0) 75%);
  box-shadow:0 0 18px 4px rgba(255,122,31,.45);
}

.entries{padding-bottom:clamp(2rem,6vh,4rem);}
.entry{
  display:block;text-decoration:none;color:inherit;
  padding:clamp(1.8rem,4vh,2.4rem) 0;
  border-top:1px solid var(--line);
  transition:opacity .3s;
}
.entry:hover{opacity:.7;}
.entry:last-child{border-bottom:1px solid var(--line);}
.meta,.eyebrow{
  font-family:var(--sans);font-weight:500;
  font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--bone-55);
}
.dot{margin:0 .6em;opacity:.6;}
.entry .meta{margin-bottom:.8rem;}
.entry h2{
  font-weight:300;font-size:clamp(1.55rem,3.6vw,2rem);line-height:1.15;letter-spacing:-.005em;
  font-variation-settings:'opsz' 48;
}
.entry .excerpt{margin-top:.6rem;color:var(--bone-55);font-weight:300;font-size:1.02rem;line-height:1.6;}
.entry__img{
  height:clamp(180px,28vh,240px);background:center/cover no-repeat;
  border-radius:3px;margin-bottom:1.4rem;
}
.empty{text-align:center;color:var(--bone-55);font-style:italic;font-weight:300;padding:2rem 0;}

/* ---------- article ---------- */
.article{padding:clamp(2.4rem,7vh,4rem) 0 clamp(2rem,6vh,3.5rem);}
.post-hero{
  height:clamp(240px,46vh,420px);background:center/cover no-repeat;
  border-radius:3px;margin-bottom:clamp(2.4rem,6vh,3.4rem);
}
.article .eyebrow{text-align:center;margin-bottom:1.4rem;}
.article h1{
  font-weight:300;font-size:clamp(2.2rem,6vw,3.3rem);line-height:1.08;letter-spacing:-.01em;
  text-align:center;margin-bottom:clamp(2.4rem,6vh,3.4rem);text-wrap:balance;
  font-variation-settings:'opsz' 72;
}
.body p{
  font-weight:300;font-size:clamp(1.08rem,2vw,1.2rem);line-height:1.85;
  color:var(--bone-80);margin-bottom:1.5rem;text-wrap:pretty;
}
.body h2,.body h3{
  font-weight:400;line-height:1.25;color:var(--bone);
  margin:2.4rem 0 1rem;letter-spacing:-.005em;
}
.body h2{font-size:clamp(1.4rem,3vw,1.7rem);}
.body h3{font-size:clamp(1.15rem,2.4vw,1.3rem);}
.body a{text-decoration:none;border-bottom:1px solid var(--bone-35);transition:border-color .3s;}
.body a:hover{border-bottom-color:var(--bone);}
.body strong{font-weight:400;color:var(--bone);}
.body blockquote{
  margin:2rem 0;padding-left:1.4rem;border-left:1px solid var(--ember);
  font-style:italic;font-weight:300;font-size:clamp(1.15rem,2.4vw,1.35rem);line-height:1.6;color:var(--bone);
}
.body img{max-width:100%;height:auto;border-radius:3px;display:block;}
.post-img{margin:2rem 0;}
.post-img img{width:100%;}
.back{display:inline-block;margin-top:1.5rem;}

/* ---------- cta ---------- */
.cta{
  border-top:1px solid var(--line);
  padding:clamp(2rem,6vh,3rem) 0 clamp(2.5rem,7vh,4rem);
  text-align:center;
}
.cta p{font-style:italic;font-weight:300;font-size:1.2rem;color:var(--bone-70);margin-bottom:.9rem;}

/* ---------- footer ---------- */
.site-foot{
  padding:clamp(1.4rem,3vw,2.2rem) clamp(1.4rem,5vw,3.6rem);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem 1.5rem;
  font-family:var(--sans);font-weight:500;
  font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--bone-55);
}
.site-foot a{color:inherit;font-size:inherit;letter-spacing:inherit;}
.site-foot a:hover{color:var(--bone);}

@media (max-width:640px){
  .site-head,.site-foot{padding:1.3rem 1.25rem;}
  .site-nav a,.site-foot,.site-foot a,.back,.cta a{font-size:.56rem;letter-spacing:.2em;}
  .site-nav{gap:1.1rem;}
  .site-foot{flex-direction:column;text-align:center;}
}
