body {
  margin: 0;
  font-family: sans-serif;
  overflow-x: hidden;
}

/* Sections */
.section {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 20px;
}

/* Popup */
.popup {
  position: fixed;
  inset: 0;
  background: #000000cc;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.popup.hide {
  display: none;
}

.popup-content {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
}

/* Responsive text */
h1 { font-size: clamp(24px, 5vw, 48px); }
h2 { font-size: clamp(20px, 4vw, 36px); }
p  { font-size: clamp(14px, 3vw, 18px); }

/* Mobile fix */
@media (max-width: 768px) {
  .section {
    padding: 20px;
  }
}