@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --fluid-hero: clamp(1.75rem, 5vw + 0.5rem, 3.25rem);
  --fluid-title: clamp(1.1rem, 2vw + 0.4rem, 1.45rem);
  --fluid-sub: clamp(0.9rem, 1.2vw + 0.35rem, 1.05rem);
  --fluid-body: clamp(0.82rem, 0.8vw + 0.45rem, 0.95rem);
  --fluid-caption: clamp(0.7rem, 0.6vw + 0.4rem, 0.8rem);
  --fluid-pad-card: clamp(1rem, 3vw + 0.2rem, 1.75rem);
  --fluid-gap: clamp(0.75rem, 2.2vw, 1.5rem);
  --fluid-container: min(100% - clamp(1.25rem, 4vw, 3rem), 60rem);
  --fluid-btn-py: clamp(0.6rem, 1.4vh, 0.8rem);
}

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: #fbfbf9;
  color: #292524;
  font-size: var(--fluid-body);
}

.hero-num { font-size: var(--fluid-hero); line-height: 1.1; }
.sub-fluid { font-size: var(--fluid-sub); }
.caption-fluid { font-size: var(--fluid-caption); }
.card-fluid { padding: var(--fluid-pad-card); }
.gap-fluid { gap: var(--fluid-gap); }

.fluid-wrapper {
  width: var(--fluid-container);
  margin-inline: auto;
}

input, select {
  font-size: max(16px, var(--fluid-body));
}

.spotlight-active {
  position: relative;
  z-index: 45 !important;
  box-shadow: 0 0 0 9999px rgba(28, 25, 23, 0.55), 0 10px 25px rgba(0, 0, 0, 0.2) !important;
  border-color: #d97706 !important;
}

.otp-field {
  width: clamp(2.3rem, 6.8vw, 3rem);
  height: clamp(2.8rem, 8vw, 3.6rem);
  text-align: center;
  font-size: 1.35rem;
  font-weight: 700;
}

#tutorialCard {
  position: fixed;
  bottom: clamp(1rem, 3vh, 2rem);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(310px, 92vw, 480px);
  z-index: 60;
}

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e7e5e4; border-radius: 999px; }