:root{
  --paper:#f4f1ea;
  --paper-2:#eae5db;
  --ink:#17140f;
  --ink-soft:#4a443b;
  --muted:#7b7367;
  --accent:#a8341f;
  --accent-soft:#c8603f;
  --line:#d8d1c4;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  font-weight:400;
  line-height:1.78;
  letter-spacing:.005em;
}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:99}

/* header */
.site-head{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:40}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px;flex-wrap:wrap}
.mark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.mark-glyph{width:34px;height:34px;color:var(--accent);flex:0 0 auto}
.mark-text{display:flex;flex-direction:column;line-height:1.15}
.mark-text strong{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.01em}
.mark-text em{font-style:italic;font-family:var(--serif);font-size:14px;color:var(--muted)}
.site-nav{display:flex;flex-wrap:wrap;gap:22px}
.site-nav a{
  text-decoration:none;color:var(--ink-soft);font-size:14.5px;
  padding-bottom:3px;border-bottom:1px solid transparent;
}
.site-nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.site-nav a.on{color:var(--ink);border-bottom-color:var(--accent)}

/* hero */
.hero{padding:74px 0 46px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:52px;align-items:center}
.hero h1{margin:0 0 20px}
.hero-lead{font-size:19.5px;color:var(--ink-soft);max-width:56ch}
.hero-art{width:100%;height:auto;display:block}

/* typography */
h1{
  font-family:var(--serif);font-weight:600;font-size:clamp(34px,4.6vw,54px);
  line-height:1.1;letter-spacing:-.01em;margin:0 0 22px;
}
h2{
  font-family:var(--serif);font-weight:600;font-size:clamp(25px,3vw,33px);
  line-height:1.22;margin:52px 0 16px;
}
h3{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.3;margin:0 0 6px}
p{margin:0 0 20px}
a{color:var(--accent)}
a:hover{color:var(--accent-soft)}
strong{font-weight:500}

section{padding:8px 0}
.band{padding:56px 0;border-bottom:1px solid var(--line)}
.band-alt{background:var(--paper-2)}
.col{max-width:760px}
.col-wide{max-width:900px}

/* lists + table */
ul,ol{margin:0 0 22px;padding-left:22px}
li{margin-bottom:9px}
table{width:100%;border-collapse:collapse;margin:8px 0 26px;font-size:15.5px}
caption{text-align:left;font-family:var(--serif);font-size:19px;padding-bottom:10px;color:var(--ink-soft)}
th,td{border-bottom:1px solid var(--line);padding:12px 14px;vertical-align:top;text-align:left}
th{font-weight:500;background:var(--paper-2);font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}

/* cards / links */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin:14px 0 6px}
.card{
  background:var(--paper);border:1px solid var(--line);padding:24px 22px;
  display:flex;flex-direction:column;gap:8px;
}
.card p{margin:0;font-size:15.5px;color:var(--ink-soft)}
.card a{text-decoration:none;font-family:var(--serif);font-size:21px;font-weight:600}
.card a:hover{text-decoration:underline}

.next{border-top:1px solid var(--line);margin-top:46px;padding-top:26px;font-size:16px}
.next p{margin:0 0 10px}

/* partners */
.partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px 34px;margin-top:26px}
.partner h3{font-size:18px;margin-bottom:5px}
.partner p{font-size:14.5px;color:var(--muted);margin:0 0 7px}
.partner a{font-size:13.5px;word-break:break-all}

/* long footer text */
.essay{max-width:760px}
.essay h2{margin-top:0}

/* footer */
.site-foot{background:var(--ink);color:#cfc7b8;padding:52px 0 40px;margin-top:0}
.foot-inner{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:flex-start}
.foot-name{font-family:var(--serif);font-size:24px;color:var(--paper);margin:0 0 6px}
.foot-line{margin:0;font-size:15px;color:#a49b8c;max-width:34ch}
.foot-nav{display:flex;flex-direction:column;gap:8px}
.foot-nav a{color:#cfc7b8;text-decoration:none;font-size:15px}
.foot-nav a:hover{color:#fff}
.foot-note{width:100%;margin:22px 0 0;padding-top:20px;border-top:1px solid #2e2921;font-size:13.5px;color:#8b8274}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero{padding:52px 0 38px}
  .head-inner{min-height:0;padding-top:16px;padding-bottom:16px}
}
@media (max-width:520px){
  body{font-size:16.5px}
  .wrap{padding:0 20px}
  .site-nav{gap:16px}
}
