:root {
  color-scheme: light;
  --ink: #4c4c4c;
  --nav: #271805;
  --gold: #926c00;
  --border: #b6afa5;
  --page-width: 1170px;
}
* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: var(--ink); font: 1.0625rem/1.58 "Times New Roman", Georgia, serif; }
a { color: inherit; text-underline-offset: .18em; }
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.skip { position: absolute; top: -5rem; left: 1rem; z-index: 3; background: white; padding: .5rem; }
.skip:focus { top: .5rem; }
header { background: #fff; color: var(--nav); border-bottom: 1px solid var(--border); }
.top-line, .site-bar {
  display: flex;
  align-items: center;
  gap: .5rem 1.25rem;
  padding-inline: max(1.125rem, calc((100% - var(--page-width)) / 2));
}
.top-line { min-height: 3rem; justify-content: flex-end; flex-wrap: wrap; border-bottom: 1px solid var(--border); font-size: .94rem; }
.top-line a { text-decoration: none; }
.top-line a:last-child { font-weight: bold; }
.site-bar { min-height: 7.5rem; justify-content: space-between; }
.brand { flex: none; padding: .65rem 0; }
.brand img { display: block; width: 100px; height: auto; }
nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .25rem clamp(1rem, 3vw, 2.6rem); }
nav a { text-decoration: none; text-transform: uppercase; padding-block: .45rem; }
nav a:hover, nav a[aria-current="page"] { color: var(--gold); }
.status { margin: 0; padding: .38rem 1rem; text-align: center; background: #f7f0df; color: #4b3716; }
.hero { overflow: hidden; }
.hero img { display: block; width: 100%; aspect-ratio: 12 / 5; object-fit: cover; }
h1, h2, h3, h4 { color: var(--gold); font-weight: normal; line-height: 1.2; }
h1 { font-size: clamp(1.85rem, 3vw, 2.5rem); }
h2 { font-size: clamp(1.5rem, 2.8vw, 2.25rem); }
.content { overflow-wrap: anywhere; }
.content > :not(section) { max-width: calc(var(--page-width) + 2.25rem); margin-inline: auto; padding-inline: 1.125rem; }
.content > section { position: relative; isolation: isolate; padding: clamp(1.4rem, 3vw, 2.8rem) max(1.125rem, calc((100% - var(--page-width)) / 2)); }
.content .page-title { margin-block: 1.5rem; text-align: center; }
.content p { max-width: 74ch; }
.content img { display: block; max-width: 100%; height: auto; }
.content .section-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.content .photo-banner { min-height: clamp(10rem, 27vw, 21rem); }
.photo-section { background: #322819; color: white; }
.photo-section::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #1e160dc4; }
.photo-section :is(h1,h2,h3,h4) { color: white; }
.pattern-section { background: #faf9f7; }
.pattern-section .section-photo { opacity: .35; }
.content .row { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1.2rem; align-items: start; }
.row > * { min-width: 0; grid-column: 1/-1; }
.row > .col-md-3 { grid-column: auto/span 3; }
.row > .col-md-4 { grid-column: auto/span 4; }
.row > .col-md-5 { grid-column: auto/span 5; }
.row > .col-md-6 { grid-column: auto/span 6; }
.row > .col-md-7 { grid-column: auto/span 7; }
.row > .col-md-8 { grid-column: auto/span 8; }
.row > .col-md-9 { grid-column: auto/span 9; }
.text-center { text-align: center; }
.text-center p, .text-center img, .ornament { margin-inline: auto; }
.content .ornament { width: 8rem; margin-block: .75rem; }
.wp-caption img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.wp-caption-text { font-size: .92rem; }
blockquote { border-left: 2px solid #ae8738; margin: 1rem 0; padding: .1rem 1rem; }
table { max-width: 100%; border-collapse: collapse; }
td, th { border: 1px solid var(--border); padding: .45rem; }
footer {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.25rem;
  padding: 2rem max(1.125rem, calc((100% - var(--page-width)) / 2));
  background: #191919;
  color: #ddd;
}
footer h2 { color: #fff; font-size: 1.3rem; margin: 0; }
footer p { margin: .5rem 0; }
@media (max-width: 760px) {
  .top-line { min-height: 2.5rem; justify-content: center; text-align: center; gap: 0 .75rem; }
  .site-bar { min-height: 0; gap: .5rem; }
  .brand img { width: 72px; }
  nav { gap: 0 .85rem; font-size: .9rem; }
  .hero img { aspect-ratio: 16 / 10; }
  .content .row, footer { grid-template-columns: minmax(0,1fr); }
  .row > [class*="col-md-"] { grid-column: 1/-1; }
  .content .row:has(> .wp-caption) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
  .row > .wp-caption.col-md-4 { grid-column: auto; }
}
@media (min-width: 761px) {
  .gallery-overview .row:has(> .col-md-4:nth-child(2):last-child) > .col-md-4:first-child {
    grid-column: 3 / span 4;
  }
}
