/* --- CSS VARIABLES --- */
:root {
  --color-dark-blue: hsl(228, 32%, 24%);
  --color-pinky-red: hsl(0, 100%, 68%);
  --color-yellow-accent: hsl(48, 100%, 50%);
  --color-text-white: #f9f9f9;

  /* Fluid Responsive Typography Scale */
  --font-hero: clamp(3.5rem, 8vw, 7.63rem);
  --font-h2: clamp(2.5rem, 6vw, 4.5rem);
  --font-h3: clamp(1.8rem, 4vw, 2.5rem);
  --font-h4: clamp(1.3rem, 2.5vw, 1.8rem);
  --font-h5: clamp(1.1rem, 2vw, 1.4rem);
  --font-base: 1rem;

  --form-bg: #ffffff;
  --form-text: #1e2a44;
  --form-accent: #ffb704;
  --form-border: #e3e3e3;
  --form-shadow: rgba(0, 0, 0, 0.05);
}

/* --- RESET --- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  overflow-x: hidden;
  background-color: var(--color-text-white);
  color: var(--color-dark-blue);
  line-height: 1.6;
}

/* --- GLOBAL UTILITIES / SHARED STYLES --- */
.banner-paragraph {
  line-height: 1.6;
  max-width: 70ch;
  margin: auto;
}


/* ==========================================================================
   GLOBAL UNIFIED BUTTONS
   ========================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 2rem;
  font-family: inherit;
  font-size: var(--font-h5); /* Standardizes text scale across viewports */
  font-weight: 700;
  text-decoration: none;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  background-color: var(--color-pinky-red);
  color: var(--color-text-white);
  transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 12px rgba(255, 92, 92, 0.15);
}

/* Global Hover and Active Micro-interactions */
.btn:hover {
  background-color: #da4b4b; /* Subtle darken for depth focus */
  box-shadow: 0 6px 18px rgba(255, 92, 92, 0.25);
  color: var(--color-text-white);
}

.btn:active {
  transform: scale(0.97); /* Premium physical press feedback */
}

/* Universal Mobile Full-Width Rule */
@media (max-width: 799px) {
  .btn {
    width: 100%;
    text-align: center;
  }
}