

html,
body,
:root {
font-family: ProximaNova;
font-weight: 100;
}

        @keyframes marquee-ltr {
            0% {
                transform: translateX(-50%);
            }

            100% {
                transform: translateX(0);
            }
        }

        .hero-title {
            font-family: "Nunito Sans", sans-serif;
            font-weight: 700;
        }

        .hero-slogan {
            font-family: "Nunito Sans", sans-serif;
            font-weight: 200;
        }

        .marquee-track {
            will-change: transform;
        }

        .marquee-animate {
            animation: marquee-ltr 25s linear infinite;
        }

        .ticker-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .ticker-item {
            display: inline-flex;
            align-items: center;
            padding: 0 1.5rem;
        }

        .ticker-item::after {
            content: "•";
            margin-left: 1.5rem;
        }

      .ticker-item:last-child::after {
        content: "";
        margin: 0;
      }
      .cta-modal-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.75);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 60;
        padding: 1.5rem;
      }
      .cta-modal-overlay.active {
        display: flex;
      }
      .cta-modal {
        max-width: 560px;
        width: 100%;
        max-height: 90vh;
        background: #050505;
        border: 1px solid rgba(255, 255, 255, 0.1);
        padding: 2rem;
        position: relative;
        overflow-y: auto;
      }
      .cta-modal h3 {
        font-size: 1rem;
        letter-spacing: 0.4em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.6);
        margin-bottom: 0.75rem;
      }
      .cta-modal h2 {
        margin-bottom: 1.5rem;
      }
      .cta-modal form {
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }
      .cta-modal label {
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.2em;
      }
      .cta-modal input,
      .cta-modal select {
        width: 100%;
        padding: 0.85rem 1rem;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 0.75rem;
        color: #fff;
      }
      .cta-modal .checkbox-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 0.5rem;
      }
      .cta-modal .checkbox-grid label {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        font-size: 0.72rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        padding: 0.65rem 0.85rem;
        padding-left: 0.5rem;
        cursor: pointer;
        transition: border-color 0.2s ease, background 0.2s ease;
      }
      .cta-modal .checkbox-grid label:hover {
        border-color: rgba(255, 255, 255, 0.5);
      }
      .cta-modal .checkbox-grid input[type="checkbox"] {
        appearance: none;
        width: 1rem;
        height: 1rem;
        border-radius: 0.25rem;
        border: 1px solid rgba(255, 255, 255, 0.4);
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: transparent;
      }
      .cta-modal .checkbox-grid input[type="checkbox"]:checked {
        background: #f7f7f7;
        border-color: #f7f7f7;
      }
      .cta-modal .checkbox-grid input[type="checkbox"]:checked::after {
        content: "";
        width: 0.35rem;
        height: 0.65rem;
        border: 2px solid #050505;
        border-top: 0;
        border-left: 0;
        transform: rotate(45deg);
      }
      .cta-modal button[type="submit"] {
        margin-top: 1rem;
        padding: 0.9rem 1.2rem;
        border-radius: 0.9rem;
        border: 1px solid rgba(255, 255, 255, 0.3);
        text-transform: uppercase;
        letter-spacing: 0.3em;
      }
      .form-feedback {
        margin-bottom: 0.5rem;
        color: rgba(255, 255, 255, 0.7);
      }
      .form-feedback[data-state="error"] {
        color: #f47171;
      }
      .cta-modal-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        background: transparent;
        border: none;
        font-size: 1.5rem;
        color: #fff;
        cursor: pointer;
      }

        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.8);
            display: none;
            align-items: stretch;
            justify-content: flex-end;
            z-index: 99;
        }

        .modal-overlay.active {
            display: flex;
        }

        .modal-content {
            background: #050505;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 0;
            max-width: 480px;
            width: min(90vw, 480px);
            height: 100%;
            overflow-y: auto;
            padding: 2rem;
            color: #f1f1f1;
            box-shadow: 0 0 50px rgba(0, 0, 0, 0.4);
            animation: slide-in 0.35s ease forwards;
        }

        @keyframes slide-in {
            from {
                transform: translateX(20%);
                opacity: 0;
            }

            to {
                transform: translateX(0);
                opacity: 1;
            }
        }

        .modal-close {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            background: transparent;
            color: #f1f1f1;
            border: none;
            font-size: 1.25rem;
            cursor: pointer;
        }

        .modal-panel.hidden {
            display: none;
        }
