
@font-face{
  font-family:"Wadhurst Serif";
  src:url("IMG/EBGaramond12-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
}
@font-face{
  font-family:"Wadhurst Serif";
  src:url("IMG/EBGaramond12-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
}
@font-face{
  font-family:"Wadhurst SmallCaps";
  src:url("IMG/EBGaramondSC12-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
}
@font-face{
  font-family:"Wadhurst Sans";
  src:url("IMG/Inter-Regular.otf") format("opentype");
  font-weight:400;
  font-style:normal;
}
@font-face{
  font-family:"Wadhurst Sans";
  src:url("IMG/Inter-SemiBold.otf") format("opentype");
  font-weight:600;
  font-style:normal;
}
@font-face{
  font-family:"Wadhurst Sans";
  src:url("IMG/Inter-Bold.otf") format("opentype");
  font-weight:700;
  font-style:normal;
}

:root{
  --ink:#222222;
  --body:#333333;
  --blue:#1f53cb;
  --red:#de0000;
  --line:#d8d8d8;
  --paper:#ffffff;
  --paper-soft:#f8f8f8;
  --max:1360px;
  --measure:74ch;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--body);
  font-family:"Wadhurst Serif", Georgia, serif;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{
  color:var(--ink);
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}
a:hover{color:var(--blue)}
p,li{font-size:1.09rem}
h1,h2,h3,h4{
  color:var(--ink);
  font-family:"Wadhurst Serif", Georgia, serif;
  font-weight:700;
  letter-spacing:-0.01em;
}
h1{
  font-size:3.2rem;
  line-height:1.01;
  margin:.2rem 0 1.5rem;
  text-wrap:balance;
}
h2{
  font-size:1.62rem;
  line-height:1.16;
  margin:2.15rem 0 .85rem;
}
h3{
  font-size:1.22rem;
  line-height:1.2;
  margin:1.7rem 0 .6rem;
}
ul,ol{padding-left:1.25rem}
li{margin:.38rem 0}
small,.small-note,.meta-line,.eyebrow,.kicker,.footer-meta{
  font-family:"Wadhurst Sans", Arial, sans-serif;
}
.site-header{
  position:sticky;
  top:0;
  z-index:200;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(10px);
}
.header-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 22px;
}
.topline{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  column-gap:16px;
  min-height:40px;
  border-bottom:1px solid var(--line);
  font-size:.77rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink);
}
.topline .since{justify-self:start}
.topline .slogan{justify-self:center; text-align:center}
.topline .social-links{justify-self:end; display:flex; gap:14px; align-items:center}
.social-links a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.77rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;height:18px;
  border:1px solid var(--ink);
  border-radius:50%;
  font-size:.68rem;
  line-height:1;
}
.brand-row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
}
.brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.brand img{
  width:min(520px,100%);
  height:auto;
  display:block;
}
.menu-toggle{
  display:none;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:10px 12px;
}
.primary-nav{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.primary-nav ul{
  max-width:var(--max);
  margin:0 auto;
  padding:0 22px;
  list-style:none;
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:center;
  min-height:46px;
  flex-wrap:wrap;
}
.primary-nav a{
  text-decoration:none;
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.84rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--ink);
}
.primary-nav a.active{color:var(--blue)}
.page{
  max-width:var(--max);
  margin:0 auto;
  padding:34px 22px 56px;
}
.content-grid{
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(280px,.92fr);
  gap:56px;
}
.main-column{
  min-width:0;
}
.main-column > *{
  max-width:var(--measure);
}
.main-column h2, .side-column h2{
  border-top:1px solid var(--line);
  padding-top:14px;
}
.side-column{
  min-width:0;
  color:var(--body);
}
.side-column > *{
  max-width:34ch;
}
.side-column h2{
  font-size:1.18rem;
}
.text-list,.footer-nav{
  list-style:none;
  padding-left:0;
  margin:0;
}
.text-list li,.footer-nav li{
  margin:.52rem 0;
  padding-left:0;
}
.text-list li a{
  text-decoration:none;
}
.text-list li::before{
  content:"— ";
  color:var(--ink);
}
blockquote{
  margin:1.1rem 0;
  padding:0 0 0 1rem;
  border-left:2px solid var(--line);
}
hr{
  border:0;
  border-top:1px solid var(--line);
  margin:2rem 0;
}
.contact-form{
  display:grid;
  gap:12px;
  margin-top:1rem;
  max-width:40rem;
}
.contact-form label{
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
}
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:12px 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--body);
  font:inherit;
}
.contact-form textarea{min-height:150px; resize:vertical}
.contact-form button{
  width:max-content;
  margin-top:8px;
  padding:11px 18px;
  background:var(--ink);
  border:1px solid var(--ink);
  color:#fff;
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:8px;
}
.checkbox input{width:auto; margin-top:.35rem}
.table-like{
  width:100%;
  border-collapse:collapse;
}
.table-like tr{border-bottom:1px solid var(--line)}
.table-like td{
  padding:.8rem 0;
  vertical-align:top;
}
.table-like td:first-child{
  width:26%;
  color:var(--ink);
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-right:1rem;
}
.site-footer{
  border-top:1px solid var(--line);
  padding:28px 22px 56px;
}
.footer-columns{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.3fr .9fr;
  gap:44px;
}
.footer-title{
  margin:0 0 .6rem;
  color:var(--ink);
  font-family:"Wadhurst SmallCaps", "Wadhurst Serif", Georgia, serif;
  font-size:1.45rem;
  letter-spacing:.08em;
}
.footer-nav a{
  text-decoration:none;
  font-family:"Wadhurst Sans", Arial, sans-serif;
  font-size:.84rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-meta{
  font-size:.78rem;
  color:#666;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.two-col-list{
  columns:2;
  column-gap:2rem;
}
.taxonomy-group{
  break-inside:avoid;
  margin-bottom:1.7rem;
}
@media (max-width: 1100px){
  h1{font-size:2.75rem}
  .content-grid{grid-template-columns:minmax(0,1.8fr) minmax(250px,.9fr); gap:38px}
}
@media (max-width: 900px){
  .topline{
    grid-template-columns:1fr auto;
    grid-template-areas:"since social" "slogan slogan";
    row-gap:8px;
    padding:8px 0;
  }
  .topline .since{grid-area:since}
  .topline .social-links{grid-area:social}
  .topline .slogan{grid-area:slogan; justify-self:start; text-align:left}
  .brand-row{justify-content:flex-start; min-height:78px}
  .brand img{width:min(390px, calc(100vw - 110px))}
  .menu-toggle{display:inline-flex}
  .primary-nav{display:none}
  .primary-nav.open{display:block}
  .primary-nav ul{
    display:block;
    padding-top:12px;
    padding-bottom:12px;
    min-height:auto;
  }
  .primary-nav li{margin:.5rem 0}
  .content-grid{grid-template-columns:1fr}
  .side-column > *{max-width:var(--measure)}
  .footer-columns{grid-template-columns:1fr}
}
@media (max-width: 640px){
  body{line-height:1.66}
  p,li{font-size:1.03rem}
  h1{font-size:2.28rem}
  h2{font-size:1.42rem}
  .header-inner,.page,.site-footer{padding-left:14px; padding-right:14px}
  .primary-nav ul{padding-left:14px; padding-right:14px}
  .social-links a span.label{display:none}
  .topline{font-size:.72rem}
  .brand img{width:min(320px, calc(100vw - 92px))}
  .two-col-list{columns:1}
}
