*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  min-height: 100vh;
}

body {
  font-family: 'EB Garamond', Georgia, 'Times New Roman', serif;
  background-image: url('img/bg.jpg');
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  min-height: 100vh;
}

/* ─── Card ─────────────────────────────────────────────── */
.card {
  background: rgba(14, 13, 12, 0.82);
  border: 1px solid rgba(241, 202, 0, 0.22);
  border-top: 3px solid #f1ca00;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 3.5rem 4rem;
  max-width: 680px;
  width: 100%;
  text-align: center;
}

/* ─── Logo ──────────────────────────────────────────────── */
.logo {
  width: 260px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 2px 14px rgba(0, 0, 0, 0.55));
}

/* ─── Divider ───────────────────────────────────────────── */
.divider {
  border: none;
  border-top: 1px solid rgba(241, 202, 0, 0.38);
  margin: 2.25rem auto;
  width: 68%;
}

/* ─── Heading ───────────────────────────────────────────── */
h1 {
  font-family: 'Playfair Display', 'Times New Roman', Georgia, serif;
  font-size: clamp(1.45rem, 3.5vw, 2rem);
  font-weight: 600;
  color: #f5f0e8;
  line-height: 1.45;
  letter-spacing: 0.01em;
  margin-bottom: 1.5rem;
}

/* ─── Intro text ────────────────────────────────────────── */
.intro-text {
  font-size: clamp(1rem, 1.8vw, 1.125rem);
  color: rgba(245, 240, 232, 0.65);
  line-height: 1.80;
  max-width: 520px;
  margin: 0 auto;
}

/* ─── Mobile ────────────────────────────────────────────── */
@media (max-width: 600px) {
  body {
    align-items: flex-start;
    padding-top: 3rem;
  }

  .card {
    padding: 2.25rem 1.75rem;
    border-top-width: 2px;
  }

  .logo {
    width: 200px;
  }
}
