:root {
  --ink: #2b211c;
  --paper: #f8f2ea;
  --olive: #624938;
  --line: #dfd0c2;
  --muted: #665548;
}
.notice { background: #433127; }
.header { background: #f8f2eaf5; }
.nav { height: 75px; }
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 31px/.9 Georgia, serif;
  letter-spacing: -.06em;
  white-space: nowrap;
}
.brand img { width: 44px; height: 44px; flex: none; }
.brand small {
  margin-top: 6px;
  font: 700 8px/1 Arial, sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.foot .brand { font-size: 30px; }
.foot .brand img { width: 40px; height: 40px; }
.share { color: var(--ink); }
.campaign {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: clamp(530px, 76svh, 760px);
  color: #fffaf3;
  background: #3b2b24;
}
.campaign-image, .campaign-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.campaign-image { object-fit: cover; object-position: 62% 46%; }
.campaign-shade {
  background: linear-gradient(90deg, rgba(36,23,18,.87), rgba(36,23,18,.64) 31%, rgba(36,23,18,.12) 70%, transparent);
}
.campaign-content { width: 100%; padding-top: 52px; padding-bottom: 58px; }
.campaign-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: .23em;
  font-weight: 700;
}
.campaign-kicker span { display: inline-block; width: 22px; height: 1px; background: #dfc4a6; }
.campaign h1 { font-size: clamp(68px, 9vw, 140px); line-height: .86; margin: 30px 0 25px; letter-spacing: -.065em; }
.campaign h1 em { font-weight: 400; color: #f0d6b9; }
.campaign-intro { font-size: 15px; margin-bottom: 30px; }
.campaign .hero-actions { gap: 20px; }
.campaign-btn, .campaign-btn:hover {
  background: #f4e2cf;
  border-color: #f4e2cf;
  color: #30231c;
  font-weight: 700;
}
.campaign-btn:hover { background: #fff8ef; }
.campaign-pdf { color: #fffaf3; font-size: 12px; border-bottom: 1px solid #fffaf3; }
.section-head { margin-top: 30px; }
.help { background: #eadccf; }
.photo, .gallery { background: #eee5db; }
.gallery { padding: 0 0 20px; align-self: start; }
.gallery-visual { display: flex; justify-content: center; align-items: center; min-width: 0; background: #cecbcd; }
.gallery .gallery-main {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 68svh;
  object-fit: contain;
  background: transparent;
}
.gallery .thumbs { padding: 0 16px; flex-wrap: wrap; }
.gallery .thumbs button { padding: 0; background: transparent; overflow: hidden; }
.gallery .thumbs img { object-fit: cover; }
.gallery-caption { padding-inline: 16px; }
@media (max-width: 600px) {
  .nav { height: 65px; }
  .brand { font-size: 25px; gap: 8px; }
  .brand img { width: 36px; height: 36px; }
  .brand small { font-size: 7px; letter-spacing: .16em; }
  .campaign { min-height: clamp(510px, 76svh, 660px); align-items: end; }
  .campaign-content { padding-top: 110px; padding-bottom: 34px; }
  .campaign-image { object-position: 64% center; }
  .campaign-shade { background: linear-gradient(0deg, rgba(36,23,18,.9), rgba(36,23,18,.66) 39%, rgba(36,23,18,.08) 86%); }
  .campaign h1 { font-size: clamp(58px, 15vw, 92px); margin: 21px 0 18px; }
  .campaign-kicker { font-size: 8px; gap: 8px; letter-spacing: .18em; }
  .campaign-intro { font-size: 13px; margin-bottom: 22px; }
  .section-head { margin-top: 22px; }
}
