/* Site-specific styling on top of HTML5 UP Editorial. */
:root { --accent: #a5664d; --ink: #343f3a; --muted: #68736c; --paper: #fbfaf6; }
body { background: var(--paper); color: var(--muted); }
h1, h2, h3, h4, h5, h6, strong { color: var(--ink); }
a { color: var(--accent); }
a:hover { color: #81492f !important; }
#main { background: var(--paper); }
#header { border-bottom-color: var(--accent); align-items: center; }
#header .logo { font-family: Georgia, serif; font-size: 1.35em; letter-spacing: .025em; color: var(--ink); }
#header .logo strong { color: var(--accent); font-weight: 700; }
.header-note { color: var(--muted); font-size: .8em; letter-spacing: .12em; text-transform: uppercase; }
#sidebar { background: #f0eee7; }
#sidebar > .inner > * { border-bottom-color: #ddd9cf; }
#menu ul a:hover, #menu ul span.opener:hover { color: var(--accent) !important; }
#menu ul a:hover:before, #menu ul span.opener:hover:before { color: var(--accent); }
#menu .nav-label { color: var(--accent); font-size: .7em; font-weight: 800; letter-spacing: .17em; margin: 1.5em 0 .4em; padding: 0; text-transform: uppercase; }
#menu .nav-label:first-child { margin-top: 0; }
#menu ul li.nav-label { border-top: 0; }
#menu ul li.nav-label + li { border-top: 0; }
.eyebrow { color: var(--accent); font-size: .78em; font-weight: 800; letter-spacing: .18em; margin: 0 0 1em; text-transform: uppercase; }
#banner .eyebrow { font-size: .95em; }
.lead { color: #59645d; font-family: Georgia, serif; font-size: 1.35em; line-height: 1.5; }
.quote-source { color: var(--accent); font-size: .72em; letter-spacing: .13em; text-transform: uppercase; }
#banner h1 { font-family: Georgia, serif; font-size: 4.2em; line-height: 1.08; letter-spacing: -.035em; }
#banner .image { border-radius: .3em; overflow: hidden; }
#banner .image img { left: 0; right: auto; width: 100%; object-fit: contain; background: #efeee8; }
header.major > :last-child { border-bottom-color: var(--accent); }
.button, button, input[type="submit"], input[type="reset"], input[type="button"] { box-shadow: inset 0 0 0 2px var(--accent); color: var(--accent) !important; }
.button:hover, button:hover, input[type="submit"]:hover { background: rgba(165,102,77,.08); color: #81492f !important; }
.posts article .image, .image.main { border-radius: .25em; overflow: hidden; }
.posts article .image { background: #efeee8; }
.posts article .image img { aspect-ratio: 1.58; object-fit: contain; }
.posts article h3 { margin-bottom: .5em; }
.feature-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2em; }
.feature-links article { border: 1px solid #dedbd2; border-radius: .3em; padding: 2em; display: flex; flex-direction: column; align-items: flex-start; }
.feature-links article p:not(.eyebrow) { flex: 1; }
.feature-links article h3 { margin-bottom: .7em; }
.page-content { max-width: 1100px; }
.page-content h1 { font-family: Georgia, serif; font-size: 3.4em; letter-spacing: -.025em; margin-bottom: .2em; }
.page-content .image.main { margin: 2.5em 0; }
.page-content .image.main { display: flex; justify-content: center; background: #f1f0ec; }
.page-content .image.main img { display: block; width: auto; max-width: 100%; height: auto; max-height: 740px; object-fit: contain; }
.prose { max-width: 740px; font-size: 1.13em; line-height: 1.8; }
.photo-section { margin-top: 3em; }
.photo-section h2 { margin-bottom: 1.2em; }
.photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25em; }
.photo-gallery figure { margin: 0; aspect-ratio: 1; background: #f1f0ec; border-radius: .25em; overflow: hidden; }
.photo-gallery img { display: block; width: 100%; height: 100%; object-fit: contain; }
.photo-gallery--kellergalerie figure { aspect-ratio: 3 / 2; }
.photo-gallery--holzdruck { grid-template-columns: minmax(0, 520px); }
.photo-gallery--holzdruck figure { aspect-ratio: 4 / 3; }
.back-link { margin-top: 3em; }
.biography-profile { display: grid; grid-template-columns: 1.15fr 1fr; gap: 3em; align-items: center; margin: 2.5em 0 3.5em; }
.biography-portrait { margin: 0; }
.biography-portrait img { display: block; width: 100%; height: auto; border-radius: .3em; }
.biography-facts { list-style: none; padding: 0; margin: 0; font-size: 1.1em; }
.biography-facts li { padding: .8em 0; border-bottom: 1px solid #dedbd2; }
.biography blockquote { border-left-color: var(--accent); margin-top: 2em; }
.biography blockquote p { font-family: Georgia, serif; font-size: 1.25em; margin-bottom: .5em; color: var(--ink); }
.biography blockquote cite { font-style: normal; color: var(--accent); }
#footer a { border-bottom: 0; }
@media screen and (max-width: 980px) { .feature-links { grid-template-columns: 1fr 1fr; } .photo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 736px) {
  .biography-profile { grid-template-columns: 1fr; gap: 2em; }
  .header-note { display: none; }
  #banner h1 { font-size: 2.8em; }
  .page-content h1 { font-size: 2.5em; }
  .feature-links { grid-template-columns: 1fr; }
  .feature-links article { padding: 1.5em; }
  .photo-gallery { grid-template-columns: 1fr; }
}
.preview-banner { padding: .8em 1.5em; background: #343f3a; color: #fff; text-align: center; }
.preview-banner a { color: #f1d5be; margin-left: 1em; }
#menu a[aria-current="page"] { color: var(--accent); font-weight: 700; }
