:root {
  --page-bg: #fff6df;
  --card-bg: #fffaf0;
  --shadow: rgba(88, 45, 18, 0.18);
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(12px, 3vw, 32px);
  background:
    radial-gradient(circle at top left, rgba(255, 230, 170, 0.75), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255, 204, 128, 0.55), transparent 32%),
    var(--page-bg);
  font-family: Arial, Helvetica, sans-serif;
}

.page-shell {
  width: min(100%, 1280px);
}

.hero-card {
  overflow: hidden;
  width: 100%;
  border-radius: clamp(18px, 3vw, 36px);
  background: var(--card-bg);
  box-shadow: 0 24px 70px var(--shadow);
}

.hero-image {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 700px) {
  body {
    padding: 10px;
  }

  .hero-card {
    min-height: calc(100dvh - 20px);
    display: flex;
    align-items: center;
    border-radius: 22px;
  }

  .hero-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
