* { box-sizing: border-box; }
body {
  margin: 0;
  background: #f5f1ea;
  color: #111;
  font-family: "Public Sans", sans-serif;
}
.page-shell { max-width: 1380px; margin: 0 auto; padding: 20px 18px 48px; }
.masthead { border-top: 3px solid #111; border-bottom: 1px solid #111; padding: 18px 0 20px; }
.masthead-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.kicker {
  margin: 0;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8a1e12;
  font-weight: 700;
}
h1 {
  margin: 8px 0 0;
  font-family: "Libre Bodoni", serif;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
}
.deck {
  max-width: 58ch;
  margin: 12px 0 0;
  line-height: 1.8;
  font-size: 1.02rem;
  color: #60584f;
}
.header-tools {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end;
  justify-content:flex-end;
}
.page-nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.page-nav a {
  color:inherit;
  text-decoration:none;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border:1px solid currentColor;
  background:#fff;
  font-weight:700;
}
.page-selectors {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.lang-switch {
  display:grid;
  gap:6px;
  min-width:132px;
}
.lang-switch span {
  color:#60584f;
}
.lang-switch select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #111;
  border-radius: 0;
  background: #fff;
  color: #111;
  padding: 9px 10px;
}
@media (max-width: 720px) {
  .page-shell { padding: 12px; }
  .masthead-top {
    flex-direction: column;
    align-items: stretch;
  }
  .header-tools,
  .page-selectors {
    justify-content:flex-start;
  }
}
