:root {
  --card-bg: rgba(255, 255, 255, 0.82);
  --text: #111827;
  --muted: #334155;
  --border: rgba(15, 23, 42, 0.14);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: var(--text);
}

body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(160deg, rgba(5, 8, 20, 0.65), rgba(7, 32, 60, 0.45)),
    url("imgs/background-01-optimized.jpg") center / cover no-repeat fixed;
}

.overlay {
  width: min(680px, 100%);
  text-align: center;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 38px 24px;
  backdrop-filter: blur(7px);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
}

.logo {
  width: min(360px, 72vw);
  height: auto;
  margin-bottom: 20px;
}

h1 {
  margin: 0 0 14px;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 700;
}

p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.9vw, 1.15rem);
}

.small {
  margin-top: 14px;
  font-size: 0.95rem;
  opacity: 0.8;
}

/* Tablet */
@media (min-width: 641px) and (max-width: 1024px) {
  body {
    padding: 22px;
  }

  .overlay {
    width: min(760px, 100%);
    padding: 34px 24px;
  }

  .logo {
    width: min(330px, 62vw);
  }
}

/* Smartphone */
@media (max-width: 640px) {
  body {
    padding: 14px;
    background-attachment: scroll;
  }

  .overlay {
    width: 100%;
    padding: 24px 16px;
    border-radius: 16px;
  }

  .logo {
    width: min(290px, 78vw);
    margin-bottom: 16px;
  }

  h1 {
    margin-bottom: 10px;
    line-height: 1.25;
    font-size: clamp(1.35rem, 7vw, 1.9rem);
  }

  p {
    font-size: clamp(0.96rem, 4.3vw, 1.05rem);
  }

  .small {
    margin-top: 12px;
    font-size: 0.88rem;
  }
}
