::selection {
  color: #fff;
  background: #0085A1;
  text-shadow: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Lora', 'Times New Roman', serif;
  background-color: #1c1c1c;
  color: #d4d4d4;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #f0f0f0;
}

a {
  color: #4dd9f0;
  transition: color 0.2s;
}

a:hover, a:focus {
  color: #0085A1;
}

/* ── Masthead ── */

.masthead {
  position: relative;
  background: no-repeat center center / cover;
  background-color: #1c1c1c;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.masthead .overlay {
  position: absolute;
  inset: 0;
  background-color: #111;
  opacity: 0.55;
}

.masthead-content {
  position: relative;
  z-index: 1;
  padding: 20px;
}

.masthead h1 {
  font-size: clamp(2.5rem, 8vw, 4.5rem);
  margin-bottom: 12px;
  color: #fff;
}

.masthead .subheading {
  font-size: clamp(1.1rem, 3vw, 1.75rem);
  font-weight: 300;
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ── Sections ── */

.section {
  padding: 80px 0;
}

.section-alt {
  background-color: #242424;
}

.section h2 {
  font-size: 36px;
  margin-bottom: 32px;
  text-align: center;
}

.section p {
  line-height: 1.6;
  margin-bottom: 20px;
}

.section p a {
  text-decoration: underline;
}

/* ── Button ── */

.btn-primary {
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 15px 25px;
  border-radius: 0;
  background-color: #0085A1;
  border-color: #0085A1;
}

.btn-primary:hover {
  background-color: #006b84;
  border-color: #006b84;
}

/* ── Footer ── */

footer {
  padding: 50px 0;
  text-align: center;
}

.social-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #333;
  color: #d4d4d4;
  text-decoration: none;
  font-size: 20px;
  transition: background-color 0.2s;
}

.social-links a:hover {
  background-color: #0085A1;
  color: #fff;
}

.copyright {
  font-size: 14px;
  color: #868e96;
  margin-bottom: 4px;
}
