:root {
  color-scheme: dark;
  --charcoal: #171714;
  --ivory: #F2EEE5;
  --copper: #BD9470;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--charcoal);
  color: var(--ivory);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
main { flex: 1; display: grid; place-items: center; padding: 5rem 1.5rem 3rem; }
.intro { width: 100%; max-width: 64rem; text-align: center; }
h1 { margin: 0; font-size: clamp(2rem, 6vw, 4.75rem); font-weight: 400; letter-spacing: .16em; padding-left: .16em; line-height: 1.2; }
.accent { width: 3rem; height: 1px; margin: 2.75rem auto 2.5rem; background: var(--copper); }
h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.2; letter-spacing: -.025em; }
.description { margin: 1.25rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: #C0BDB5; }
.tagline { margin: 3.5rem 0 0; font-size: .875rem; line-height: 1.8; letter-spacing: .12em; color: var(--copper); }
footer { padding: 1.5rem 1.5rem 2rem; text-align: center; font-size: .75rem; line-height: 1.6; color: #96938B; }
.mobile-break { display: none; }
@media (max-width: 420px) {
  main { padding-top: 3.5rem; }
  h1 { font-size: clamp(1.5rem, 7.2vw, 2rem); letter-spacing: .12em; padding-left: .12em; }
  .mobile-break { display: initial; }
  .accent { margin-top: 2rem; margin-bottom: 2rem; }
  .tagline { font-size: .8125rem; letter-spacing: .055em; }
}
