 :root {
     --bg-start: #0d0d0d;
     --bg-end: #1a1a1a;
     --accent: #ff8400;
     --accent-light: #ffc173;
     --text-primary: #ffffff;
 }

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

 body {
     font-family: 'Roboto', system-ui, sans-serif;
     background: linear-gradient(135deg, var(--bg-start), var(--bg-end));
     color: var(--text-primary);
     min-height: 100vh;
     display: flex;
     flex-direction: column;
     overflow-x: hidden;
 }

 main {
     flex: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: 2rem;
 }

 h1 {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2.5rem, 6vw + 1rem, 6rem);
     letter-spacing: 1.5px;
     background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 45%, var(--accent) 100%);
     -webkit-background-clip: text;
     background-clip: text;
     color: transparent;
     animation: forgeGlow 3s ease-in-out infinite;
 }

 header {
     padding: 10px 0;
     text-align: center;
 }

 .logo {
     font-size: clamp(1.5rem, 3vw + 1rem, 3rem);
     font-family: 'Playfair Display', serif;
     letter-spacing: 1.5px;
     background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 45%, var(--accent) 100%);
     -webkit-background-clip: text;
     background-clip: text;
     color: transparent;
     animation: forgeGlow 3s ease-in-out infinite;
 }

 @keyframes forgeGlow {

     0%,
     100% {
         text-shadow: 0 0 8px rgba(255, 132, 0, 0.8);
     }

     50% {
         text-shadow: 0 0 18px rgba(255, 193, 115, 1);
     }
 }

 p.tagline {
     margin-top: 1rem;
     font-size: clamp(1rem, 1.5vw + 0.5rem, 1.5rem);
     opacity: 0.85;
 }

 /* Epic copy block */
 .epic-copy {
     margin-top: 2rem;
     max-width: 42rem;
     margin-inline: auto;
     line-height: 1.5;
 }

 .epic-copy p {
     margin-top: 0.75rem;
     font-size: clamp(1rem, 1.2vw + 0.65rem, 1.25rem);
 }

 .epic-copy .lead {
     font-size: clamp(1.25rem, 2vw + 0.75rem, 2rem);
     font-weight: 500;
     color: var(--accent-light);
 }

 /* Signup form */
 .signup-container {
     margin-top: 2.5rem;
     display: flex;
     justify-content: center;
     gap: 0.5rem;
     flex-wrap: wrap;
 }

 .signup-container input[type="email"] {
     padding: 0.75rem 1rem;
     width: clamp(220px, 45vw, 320px);
     border: none;
     border-radius: 4px;
     font-size: 1rem;
 }

 .signup-container button {
     padding: 0.75rem 1.25rem;
     border: none;
     border-radius: 4px;
     background: var(--accent);
     color: #000;
     font-weight: 600;
     cursor: pointer;
     transition: background 0.3s ease;
 }

 .signup-container button:hover {
     background: var(--accent-light);
 }

 .signup-container input:focus,
 .signup-container button:focus {
     outline: 2px solid var(--accent-light);
     outline-offset: 2px;
 }

 footer {
     padding: 1rem 0;
     text-align: center;
     font-size: 0.9rem;
     background: rgba(255, 255, 255, 0.02);
 }