.settling-section {
  width: min(100%, 900px);
  margin: 100px auto 0;
  padding: 0 18px;
  color: #16110d;
}

.settling-section figure { margin: 0; }
.settling-section picture { display: block; }
.settling-section img { display: block; width: 100%; height: auto; background: #f4f1ec; }
.settling-copy { margin-bottom: 28px; }
.settling-copy p:last-child { margin-bottom: 0; }
.settling-story { margin-top: 36px; }

.settling-invitation h3 {
  margin: 0;
  font-family: "Horta", Georgia, serif;
  font-size: clamp(30px, 5vw, 42px);
  font-weight: 400;
  line-height: 1.05;
  text-wrap: balance;
}

.settling-button:focus-visible { outline: 2px solid #962821; outline-offset: 5px; }
.settling-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.settling-gallery img { aspect-ratio: 9 / 16; object-fit: cover; }

.settling-invitation { margin-top: 44px; padding: 34px; background: #f4f1ec; text-align: center; }
.settling-invitation p { max-width: 620px; margin: 16px auto 24px; font-size: 18px; line-height: 1.5; }
.settling-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 56px; max-width: 100%; padding: 14px 28px; background: #962821; color: #fff; font: 400 18px/1.25 "Roboto Condensed", Arial, sans-serif; text-align: center; text-decoration: none; }
.settling-button::after { content: "→"; }
.settling-button:hover { background: #7e211c; color: #fff; }

@media (min-width: 900px) {
  .settling-section { margin-top: 150px; margin-bottom: 120px; padding: 0; }
  .settling-copy { margin-bottom: 34px; }
  .settling-story { margin-top: 48px; }
}

@media (max-width: 599px) {
  .settling-gallery { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: thin; scrollbar-color: #bcb1a3 #f4f1ec; }
  .settling-gallery figure { scroll-snap-align: start; }
  .settling-invitation { padding: 28px 20px; }
  .settling-button { width: 100%; }
}
