:root {
   --bg-color: #f0ebe3;
   --accent-color: #8a9174;
   --text-color: #2b2b2b;
   --heading-font: "Bodoni Moda", serif;
   --body-font: "Inter", sans-serif;
}

body {
   background-color: var(--bg-color);
   color: var(--text-color);
   font-family: var(--body-font);
   margin: 0;
   padding: 0;
   -webkit-font-smoothing: antialiased;
}

.main-container {
   min-height: 100vh;
   padding: 2rem;
}

.content-wrapper {
   max-width: 600px;
   width: 100%;
}

.brand-logo {
   max-width: 250px;
   width: 100%;
   height: auto;
   margin-bottom: 1rem;
}

.tagline {
   /* font-family: var(--heading-font); */
   font-size: 1.5rem;
   /* font-style: italic; */
   margin-bottom: 2rem;
   opacity: 0.8;
}

.launch-text {
   font-size: 1rem;
   font-weight: 300;
   margin-bottom: 3rem;
   letter-spacing: 0.05em;
   text-transform: uppercase;
}

/* Form Styling */
.signup-form {
   max-width: 450px;
}

.form-control {
   background-color: transparent;
   border: 1px solid rgba(43, 43, 43, 0.2);
   color: var(--text-color);
   padding: 0.75rem 1.25rem;
   border-radius: 0;
   font-family: var(--body-font);
}

.form-control:focus {
   background-color: transparent;
   border-color: var(--accent-color);
   box-shadow: none;
   color: var(--text-color);
}

.form-control::placeholder {
   color: rgba(43, 43, 43, 0.5);
}

.btn-accent {
   background-color: var(--accent-color);
   color: white;
   border: none;
   border-radius: 0;
   padding: 0.75rem 2rem;
   font-family: var(--body-font);
   text-transform: uppercase;
   font-size: 0.8rem;
   letter-spacing: 0.1em;
   transition: opacity 0.3s ease;
}

.btn-accent:hover {
   background-color: var(--accent-color);
   opacity: 0.9;
   color: white;
}

/* Social Links */
.social-links {
   display: flex;
   justify-content: center;
   gap: 2rem;
}

.social-links a {
   color: var(--text-color);
   font-size: 1.5rem;
   transition: opacity 0.3s ease;
   text-decoration: none;
}

.social-links a:hover {
   opacity: 0.6;
}

/* Footer */
.footer {
   position: absolute;
   bottom: 2rem;
   width: 100%;
   font-size: 0.75rem;
   opacity: 0.6;
   font-weight: 300;
}

/* Animations */
.fade-in {
   opacity: 0;
   transform: translateY(10px);
   transition:
      opacity 1.5s ease-out,
      transform 1.5s ease-out;
}

.fade-in.visible {
   opacity: 1;
   transform: translateY(0);
}

/* Mobile Adjustments */
@media (max-width: 576px) {
   .brand-logo {
      max-width: 180px;
   }
   .tagline {
      font-size: 1.2rem;
   }
   .main-container {
      padding: 1rem;
   }
}
