:root{
  --paper:#EFE6D6;
  --ink:#241E18;
  --accent:#7A3E2E;
  --rule:rgba(36,30,24,0.18);
  --soft:rgba(36,30,24,0.62);
  --measure:64ch;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Georgia,serif;
  font-size:19px;
  line-height:1.72;
  text-rendering:optimizeLegibility;
}

.measure{
  width:100%;
  max-width:var(--measure);
  margin:0 auto;
  padding:0 22px;
}

a{color:var(--accent);}
a:hover{text-decoration:none;}

/* ---------- header ---------- */
.site-head{
  border-bottom:1px solid var(--rule);
  padding:22px 0 18px;
}
.head-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:10px 18px;
}
.wordmark{
  font-family:Georgia,serif;
  font-size:1.08rem;
  letter-spacing:.02em;
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.wordmark:hover{border-bottom-color:var(--rule);}
.nav{
  font-family:"Source Sans 3",sans-serif;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nav a{
  margin-left:18px;
  text-decoration:none;
  color:var(--soft);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
}
.nav a:first-child{margin-left:0;}
.nav a:hover,
.nav a.is-current{color:var(--accent);border-bottom-color:var(--accent);}

/* ---------- typography ---------- */
.kicker{
  font-family:"Source Sans 3",sans-serif;
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--soft);
  margin:0 0 14px;
}

h1{
  font-size:clamp(1.78rem,5.1vw,2.6rem);
  line-height:1.2;
  font-weight:400;
  margin:0 0 18px;
  letter-spacing:-0.01em;
}

h2{
  font-size:clamp(1.22rem,3.1vw,1.46rem);
  font-weight:400;
  line-height:1.3;
  margin:2.6em 0 .7em;
  padding-top:.9em;
  border-top:1px solid var(--rule);
}

.meta{
  font-family:"Source Sans 3",sans-serif;
  font-size:.82rem;
  letter-spacing:.06em;
  color:var(--soft);
  margin:0 0 30px;
  padding-bottom:18px;
  border-bottom:1px solid var(--rule);
}
.meta a{color:var(--accent);text-decoration:none;}
.meta a:hover{text-decoration:underline;}

p{margin:0 0 1.25em;}

.lede{
  font-size:1.14em;
  line-height:1.68;
}

strong{font-weight:400;font-style:italic;}

/* ---------- sections ---------- */
section{padding:42px 0;}
#refusal{padding-top:56px;}
#prose{padding-top:0;}

/* ---------- figures ---------- */
.fig{
  margin:34px 0 36px;
  padding:0;
}
.fig img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--rule);
  filter:saturate(.92);
}
.fig figcaption{
  font-family:"Source Sans 3",sans-serif;
  font-size:.78rem;
  line-height:1.5;
  color:var(--soft);
  margin-top:9px;
  padding-left:2px;
}

/* ---------- pull quote ---------- */
#quote{padding-top:10px;}
.pull{
  margin:0;
  padding:24px 0 22px;
  border-top:2px solid var(--ink);
  border-bottom:1px solid var(--rule);
}
.pull p{
  font-size:1.26em;
  line-height:1.5;
  font-style:italic;
  margin:0 0 .7em;
}
.pull cite{
  font-family:"Source Sans 3",sans-serif;
  font-style:normal;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--soft);
}

/* ---------- contact ---------- */
#contact h2{margin-top:1.2em;}
.card-free{
  font-style:normal;
  border-left:2px solid var(--ink);
  padding:4px 0 4px 18px;
  margin:28px 0;
  line-height:1.9;
}
.label{
  display:block;
  font-family:"Source Sans 3",sans-serif;
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--soft);
  margin-top:12px;
}
.card-free .label:first-child{margin-top:0;}
.card-free a{text-decoration:none;}
.card-free a:hover{text-decoration:underline;}

.closing{margin-top:26px;}

/* ---------- privacy ---------- */
#privacy{padding-top:56px;}
#privacy h2{font-size:1.12rem;}

/* ---------- footer ---------- */
.site-foot{
  border-top:1px solid var(--rule);
  margin-top:28px;
  padding:20px 0 42px;
}
.foot-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 16px;
  font-family:"Source Sans 3",sans-serif;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--soft);
}
.foot-inner a{text-decoration:none;}
.foot-inner a:hover{text-decoration:underline;}

@media (max-width:620px){
  body{font-size:18px;line-height:1.68;}
  .measure{padding:0 18px;}
  .nav a{margin-left:14px;}
  section{padding:32px 0;}
  #refusal{padding-top:34px;}
}

@media print{
  .nav,.site-foot{display:none;}
  body{background:#fff;}
}
