:root{
  --black:#14110F; --ink:#1E0B0C; --bone:#F3EEE7; --cream:#F8F4EE; --sand:#EAE1D4;
  --ox:#4A0F14; --gold:#C8A96A; --bronze:#A9835A;
  --disp:"Libre Caslon Display",Georgia,serif;
  --text:"Libre Caslon Text",Georgia,serif;
  --sans:"Work Sans",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}
body{margin:0;background:var(--bone);color:var(--black);
  font-family:var(--sans);font-weight:400;font-size:1.0625rem;line-height:1.7;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
.wrap{max-width:76rem;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem);}
.col{max-width:46rem;}

/* top bar, over the dark masthead */
.bar{position:absolute;top:0;left:0;right:0;z-index:6;padding:1.6rem 0;}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.bar b{font-weight:400;font-size:1rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--bone);display:block;}
.bar i{display:block;font-style:normal;font-size:.75rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-top:.4rem;}
.bar a{font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bone);text-decoration:none;opacity:.7;}
.bar a:hover{opacity:1;}
.barlinks{display:flex;gap:clamp(1rem,3vw,2.2rem);align-items:center;}

/* masthead */
.masthead{background:var(--black);color:var(--bone);position:relative;overflow:hidden;
  padding:9rem 0 clamp(3.5rem,7vh,5.5rem);}
.masthead::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(58% 62% at 88% 4%, rgba(74,15,20,.45), rgba(20,17,15,0) 70%);}
.masthead .wrap{position:relative;z-index:2;}
.masthead .col{max-width:44rem;}
.kick{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  margin:0 0 1.4rem;}
.masthead h1{font-family:var(--disp);font-weight:400;line-height:1.05;
  font-size:clamp(2.2rem,5.6vw,4.3rem);margin:0 0 1.3rem;max-width:21ch;}
.standfirst{font-family:var(--text);font-style:italic;color:#cbbfae;
  font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.55;margin:0;max-width:46ch;}
.goldrule{width:4.5rem;height:1px;background:var(--gold);border:0;margin:2rem 0 1.6rem;}
.meta{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(243,238,231,.55);margin:2.2rem 0 0;}

/* article body */
article{padding:clamp(3rem,7vh,5rem) 0 1rem;}
article p{font-family:var(--text);font-size:1.125rem;line-height:1.78;margin:0 0 1.5rem;}
article h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.5rem,3.4vw,2.1rem);
  line-height:1.2;margin:3.4rem 0 1.2rem;}
article h3{font-family:var(--text);font-style:italic;font-weight:400;
  font-size:1.25rem;margin:2.6rem 0 .9rem;}
article .lede{font-size:1.25rem;}
article figure{margin:2.8rem 0;}
@media (min-width:64rem){article figure{width:min(64rem,calc(100% + 10rem));}}
article figure img{border:1px solid rgba(20,17,15,.12);}
article hr{border:0;height:1px;background:rgba(20,17,15,.16);margin:3rem 0;}
article strong{font-weight:700;}
ul.creds{list-style:none;margin:2rem 0;padding:0 0 0 1.4rem;
  border-left:1px solid rgba(200,169,106,.55);}
ul.creds li{font-family:var(--text);font-size:1.0625rem;line-height:1.6;margin:0 0 .7rem;
  color:#4a443f;}

.gate{border:1px solid rgba(74,15,20,.22);background:rgba(74,15,20,.045);
  padding:clamp(1.6rem,4vw,2.4rem);margin:3rem 0 1rem;}
.gate-kick{font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ox);margin:0 0 .9rem;}
.gate p{font-family:var(--text);margin:0 0 1rem;}
.gate .pill{margin-top:.6rem;}

.pullquote{font-family:var(--disp);font-size:clamp(1.3rem,3vw,1.75rem);line-height:1.28;
  border-left:2px solid var(--gold);padding-left:1.4rem;margin:2.8rem 0;}

/* subscribe block */
.cta{background:var(--black);color:var(--bone);margin:4rem 0 0;
  padding:clamp(2.5rem,6vh,4rem) 0;position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 70% at 84% 8%, rgba(74,15,20,.42), rgba(20,17,15,0) 72%);}
.cta .wrap{position:relative;z-index:2;}
.cta h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.5rem,3.4vw,2.1rem);
  margin:0 0 1rem;}
.cta p{font-family:var(--text);color:#cbbfae;margin:0 0 1.8rem;max-width:46ch;}
.btn{display:inline-block;font-family:var(--sans);font-size:.8125rem;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;color:var(--bone);
  border:1px solid var(--gold);padding:.95rem 1.9rem;}
.btn:hover{background:var(--gold);color:var(--black);}
.btn.ghost{border-color:rgba(243,238,231,.35);margin-left:.8rem;}

/* index list */
.lead{margin:0;}
.lead img{width:100%;height:clamp(240px,34vh,420px);object-fit:cover;object-position:center;}
@media (max-width:44rem){.lead img{height:auto;}}
.list .col{max-width:64rem;}
.list{padding:clamp(2.6rem,6vh,4rem) 0;}
.entry{border-top:1px solid rgba(20,17,15,.16);padding:2.2rem 0;}
.entry:last-child{border-bottom:1px solid rgba(20,17,15,.16);}
.entry a{text-decoration:none;display:grid;grid-template-columns:18rem 1fr;
  gap:2.4rem;align-items:start;}
.entry .thumb{width:100%;height:10rem!important;object-fit:cover;
  border:1px solid rgba(20,17,15,.12);}
@media (max-width:38rem){
  .entry a{grid-template-columns:1fr;gap:1rem;}
  .entry .thumb{height:clamp(150px,40vw,220px);}
}
.entry h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.4rem,3.2vw,2rem);
  line-height:1.16;margin:0 0 .7rem;}
.entry a:hover h2{color:var(--ox);}
.entry p{font-family:var(--text);font-style:italic;color:#4a443f;margin:0;max-width:52ch;}
.entry .stamp{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bronze);margin:0 0 .8rem;}

footer{background:var(--black);color:rgba(243,238,231,.6);padding:2.4rem 0;
  font-size:.8125rem;letter-spacing:.06em;}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
footer a{color:rgba(243,238,231,.75);text-decoration:none;}
footer a:hover{color:var(--gold);}

@media (max-width:30rem){
  .bar{padding:1.1rem 0;}
  .bar a{font-size:.625rem;letter-spacing:.06em;}
  .bar b{letter-spacing:.16em;font-size:.75rem;}
  .bar i{font-size:.625rem;letter-spacing:.14em;}
}
@media (max-width:64rem){
  .masthead{padding-top:8rem;}
  .bar b{font-size:.8125rem;letter-spacing:.2em;}
  .bar a{font-size:.6875rem;letter-spacing:.1em;white-space:nowrap;}
}

/* contact form */
.form{max-width:34rem;}
.field{margin:0 0 1.5rem;}
.field label{display:block;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bronze);margin:0 0 .55rem;}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:1rem;
  color:var(--black);background:#fff;border:1px solid rgba(20,17,15,.22);border-radius:0;
  padding:.85rem 1rem;line-height:1.5;}
.field textarea{min-height:9rem;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--ox);box-shadow:0 0 0 2px rgba(74,15,20,.12);}
.hint{font-family:var(--text);font-style:italic;color:#5b534c;font-size:.95rem;margin:.5rem 0 0;}
.pill{display:inline-block;font-family:var(--sans);font-size:.8125rem;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;cursor:pointer;
  background:var(--black);color:var(--bone);border:1px solid var(--black);
  padding:1rem 2.1rem;}
.pill:hover{background:var(--ox);border-color:var(--ox);}
.alert{display:none;border-left:2px solid var(--ox);background:rgba(74,15,20,.06);
  padding:.9rem 1.1rem;margin:0 0 2rem;font-size:.95rem;}
.alert.show{display:block;}
@media (max-width:40rem){.bar .wrap{flex-wrap:wrap;row-gap:.6rem;}.barlinks{width:100%;gap:1.4rem;}.barlinks a{font-size:.6875rem;letter-spacing:.12em;white-space:nowrap;}}

/* buttons on light sections */
.list .btn,.btn.solid{background:#4A0F14;color:var(--bone);border-color:#4A0F14;}
.list .btn:hover,.btn.solid:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}
