:root{
  --ink:#1c2028;
  --paper:#f3efe4;
  --paper-raised:#faf7ef;
  --line:#d7cfba;
  --muted:#6b6558;
  --accent:#7a2e2e;
  --accent-soft:#9c5a4a;
  --nav-bg:#20242c;
  --nav-text:#e9e2cf;
  --nav-text-dim:#a7a190;
  --max:700px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Iowan Old Style", "Palatino Linotype", "URW Palladio L", Palatino, Georgia, "Noto Serif", serif;
  font-size:18px;
  line-height:1.65;
}

a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--accent-soft);}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* header */
.site-header{background:var(--nav-bg);color:var(--nav-text);}
.site-header .wrap{max-width:820px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-top:22px;padding-bottom:22px;}
.brand{font-size:22px;font-weight:600;color:var(--nav-text);text-decoration:none;letter-spacing:.02em;}
.brand:hover{color:var(--nav-text);}
.brand small{display:block;font-weight:400;font-size:13px;color:var(--nav-text-dim);font-style:italic;margin-top:2px;}
.site-header nav{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:15.5px;}
.site-header nav a{color:var(--nav-text);text-decoration:none;border-bottom:1px solid transparent;}
.site-header nav a:hover{border-bottom-color:var(--nav-text);}
.site-header nav a.ext::after{content:" ↗";font-size:.8em;color:var(--nav-text-dim);}

/* hero (home only) */
.hero{background:var(--nav-bg);color:var(--nav-text);padding-bottom:56px;}
.hero .wrap{max-width:820px;}
.hero h1{font-size:38px;margin:0 0 14px;font-weight:600;color:#fff;}
.hero p.lede{font-size:19px;color:var(--nav-text-dim);max-width:520px;margin:0;}

/* breadcrumb */
.crumb{font-size:14px;color:var(--muted);padding-top:22px;}
.crumb a{color:var(--muted);}
.crumb a:hover{color:var(--accent);}

/* main content */
main{padding:34px 0 70px;max-width:820px;margin:0 auto;padding-left:24px;padding-right:24px;}
main .wrap{padding:0;max-width:var(--max);margin:0 auto;}
h1.page-title{font-size:32px;margin:2px 0 28px;font-weight:600;}
h2{font-size:23px;margin:40px 0 14px;font-weight:600;}
h3{font-size:19px;margin:30px 0 8px;font-weight:600;}
p{margin:0 0 16px;}
em{color:var(--muted);}
hr{border:none;border-top:1px solid var(--line);margin:34px 0;}
ul,ol{padding-left:22px;}
li{margin-bottom:6px;}

/* sections that list child pages */
.subpages{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line);}
.subpages li{margin:0;border-bottom:1px solid var(--line);}
.subpages a{display:block;padding:14px 0;text-decoration:none;color:var(--ink);font-size:19px;}
.subpages a:hover{color:var(--accent);}
.subpages a span.desc{display:block;font-size:14.5px;color:var(--muted);font-family:inherit;font-style:italic;margin-top:2px;}
.subpages a.ext::after{content:" ↗";color:var(--muted);font-size:.75em;}

/* genealogy "volume" entries */
.volume{border-top:1px solid var(--line);padding:20px 0;}
.volume:last-child{border-bottom:1px solid var(--line);}
.vol-label{display:block;color:var(--accent);font-weight:600;font-size:15px;margin-bottom:6px;letter-spacing:.01em;}
.vol-de{margin:0 0 8px;}
.vol-en{margin:0;color:var(--muted);font-style:italic;font-size:16px;}

/* AS essay index */
.alpha-nav{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:15px;padding:14px 0 24px;border-bottom:1px solid var(--line);margin-bottom:10px;}
.alpha-nav a{text-decoration:none;color:var(--ink);}
.alpha-nav a:hover{color:var(--accent);}
.letter-group{margin-top:8px;}
.letter-group h3{color:var(--accent);border-top:1px solid var(--line);padding-top:22px;}
.letter-group:first-of-type h3{border-top:none;padding-top:0;}
.essay-list{list-style:none;padding:0;margin:0 0 8px;}
.essay-list li{border-bottom:1px dotted var(--line);padding:9px 0;margin:0;}
.essay-list a{text-decoration:none;}
.essay-list a::after{content:" (PDF)";color:var(--muted);font-size:13px;font-style:italic;}

/* notice box */
.notice{background:var(--paper-raised);border:1px solid var(--line);border-left:4px solid var(--accent);padding:16px 20px;margin:0 0 26px;font-size:16px;}
.notice p{margin:0 0 8px;}
.notice p:last-child{margin-bottom:0;}

address{font-style:normal;}

/* contact form */
.contact-form{margin-top:12px;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:15px;color:var(--muted);margin-bottom:6px;}
.field input,
.field textarea{
  width:100%;
  font-family:inherit;
  font-size:17px;
  color:var(--ink);
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:2px;
  padding:10px 12px;
}
.field input:focus,
.field textarea:focus{outline:2px solid var(--accent-soft);outline-offset:1px;}
.field textarea{resize:vertical;min-height:140px;}
.contact-form button{
  font-family:inherit;
  font-size:17px;
  color:var(--nav-text);
  background:var(--accent);
  border:none;
  border-radius:2px;
  padding:12px 26px;
  cursor:pointer;
}
.contact-form button:hover{background:var(--accent-soft);}
.form-note{font-size:15px;color:var(--muted);margin:-6px 0 24px;}

/* footer */
.site-footer{background:var(--nav-bg);color:var(--nav-text-dim);margin-top:60px;}
.site-footer .wrap{max-width:820px;padding-top:26px;padding-bottom:26px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:14.5px;}
.site-footer a{color:var(--nav-text);}
.site-footer nav{display:flex;gap:16px;flex-wrap:wrap;}

@media (max-width:600px){
  body{font-size:16.5px;}
  .hero h1{font-size:30px;}
  h1.page-title{font-size:27px;}
  .site-header .wrap{padding-top:18px;padding-bottom:18px;}
}
