*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #304254;
  background: #fff9ed;
  line-height: 1.45;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h2, h3 { font-weight: 400; margin: 0 0 .7rem; }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.35rem); }
h3 { font-size: 1.15rem; min-height: 3.1em; }
p { margin: 0 0 .85rem; }

.s1 {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
.s1 .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s1-in { position: relative; padding: 6rem 8vw 4rem; }
.logo-lg { width: 120px; height: 120px; object-fit: contain; margin: 0 auto 1.2rem; }
.caps {
  margin: 0;
  font-size: clamp(1.6rem, 4.5vw, 2.8rem);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.italic { font-style: italic; font-size: clamp(1.3rem, 3vw, 2rem); margin: .35rem 0 1.3rem; }
.ring {
  width: 7.2rem; height: 7.2rem; margin: 0 auto;
  border: 1px solid #fff; border-radius: 50%;
  display: grid; place-items: center; line-height: 1.15;
}

.s2, .s4, .s5, .s6 { padding: 4.8rem 8vw; text-align: center; }
.s2 { background: #a5cdcb; }
.s4 { background: #fff9ed; }
.s5 { background: #a5cdcb; }
.s6 { background: #304254; color: #fff9ed; }
.s2 p, .s6 p { max-width: 40rem; margin-left: auto; margin-right: auto; }

.aster { font-size: 1.4rem; margin-bottom: .4rem; color: #ab9873; }
.s6 .aster, .s6 .kicker { color: #ab9873; }
.kicker { letter-spacing: .18em; text-transform: uppercase; font-size: .85rem; }

.cta {
  display: inline-block;
  margin-top: .4rem;
  padding: .7rem 1.4rem;
  border: 1px solid currentColor;
  text-decoration: none;
}

.s3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  background: #fff9ed;
}
.s3-text,
.s3-img { padding: 4.5rem 8vw; }
.s3-img img {
  width: 100%;
  max-height: 520px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.row3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
  text-align: left;
  margin-top: 2rem;
  align-items: stretch;
}
.row3 article {
  display: flex;
  flex-direction: column;
  background: #fff9ed;
}
.s5 .row3 article { background: #fff9ed; }
.row3 img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: #fff;
}
.row3 h3, .row3 p { padding: 0 1rem; }
.row3 h3 { margin-top: 1rem; }
.row3 p { flex: 1; padding-bottom: 1.2rem; }

.social { display: flex; justify-content: center; gap: 1rem; margin: 1.6rem 0; }
.social img { width: 38px; height: 38px; filter: invert(1); }
.legal a { margin: 0 .8rem; }

@media (max-width: 800px) {
  .s3, .row3 { grid-template-columns: 1fr; }
  h3 { min-height: 0; }
}
