        :root {
            --brand-purple: #71256e;
            --brand-orange: #E49427;
            --brand-orange-hover: #c77d1b;
            --brand-purple-dark: #5a1d58;
            --brand-purple-black: #200a1f;
            --accent-green: #25D366; 
            --light-bg: #f9fafb;
            --bg-soft: #fdf6fa;
            --text-dark: #2d3436;
            --text-muted: #636e72;
        }

        /* --- Reset & Base --- */
        body {
            font-family: 'Inter', sans-serif;
            color: var(--text-dark);
            overflow-x: hidden;
            background-color: #fff;
        }

        /* Alterado para Fredoka One */
        h1, h2, h3, h4, h5, h6, .navbar-brand {
            font-family: 'Fredoka One', cursive;
            color: var(--brand-purple);
            letter-spacing: 0.5px; /* Fredoka fica melhor com um leve espaçamento */
        }

        section {
            padding: 100px 0;
        }

        .fw-regular { font-family: 'Inter', sans-serif; font-weight: 400; }

        /* --- Navbar --- */
        .navbar {
            background-color: rgba(255, 255, 255, 0.95) !important;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            padding-top: 0.8rem;
            padding-bottom: 0.8rem;
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }

        /* --- Hero Section --- */
        .hero-section {
            background: linear-gradient(135deg, rgba(81, 20, 78, 0.95) 0%, rgba(113, 37, 110, 0.85) 100%), 
                        url('https://images.unsplash.com/photo-1623366302587-b38b1ddaefd9?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
            background-size: cover;
            background-position: center;
            background-attachment: scroll;
            color: white;
            padding: 40px 0 120px 0;
            position: relative;
        }

        @media (min-width: 992px) {
            .hero-section {
                background-attachment: fixed;
                padding: 40px 0 160px 0;
            }
        }

        .hero-title {
            /* Font-weight normal pois Fredoka One já é bold por natureza */
            font-weight: 400; 
            font-size: 2.5rem;
            line-height: 1.2;
            margin-bottom: 1.2rem;
            color: white;
            text-shadow: 0 4px 20px rgba(0,0,0,0.2);
        }

        @media (min-width: 992px) {
            .hero-title {
                font-size: 3.5rem;
            }
        }

        .hero-subtitle {
            font-size: 1.25rem;
            font-weight: 300;
            margin-bottom: 2.5rem;
            opacity: 0.9;
            max-width: 650px;
            line-height: 1.6;
        }

        /* --- Botões --- */
        .btn-cta {
            background: var(--brand-orange);
            color: white;
            font-family: 'Fredoka One', cursive; /* Fonte atualizada no botão */
            font-weight: 400;
            padding: 18px 36px;
            border-radius: 50px;
            border: none;
            font-size: 1.15rem;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            box-shadow: 0 10px 25px rgba(228, 148, 39, 0.4);
            position: relative;
            overflow: hidden;
            z-index: 1;
            letter-spacing: 0.5px;
        }

        .btn-cta::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 0%;
            height: 100%;
            background-color: rgba(255,255,255,0.2);
            transition: width 0.3s ease;
            z-index: -1;
        }

        .btn-cta:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(228, 148, 39, 0.5);
            color: white;
        }
        
        .btn-cta:hover::after { width: 100%; }

        /* --- Títulos e Detalhes --- */
        .section-title {
            color: var(--brand-purple);
            font-weight: 400; /* Fredoka One já é grossa */
            font-size: 2.2rem;
            margin-bottom: 1rem;
            letter-spacing: 0.5px;
        }

        @media (min-width: 992px) {
            .section-title {
                font-size: 2.5rem;
            }
        }
        
        .highlight-bar {
            width: 80px;
            height: 6px;
            background: linear-gradient(to right, var(--brand-purple), var(--brand-orange));
            border-radius: 3px;
            margin-bottom: 2rem;
            display: inline-block;
        }

        .section-center .highlight-bar {
            display: block;
            margin-left: auto;
            margin-right: auto;
        }

        /* --- Cards e Containers --- */
        .bg-soft {
            background-color: var(--bg-soft);
        }

        .custom-card {
            background: white;
            padding: 2.5rem;
            border-radius: 24px;
            border: 1px solid rgba(113, 37, 110, 0.05);
            box-shadow: 0 10px 30px rgba(0,0,0,0.03);
            height: 100%;
            transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
        }

        .custom-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(113, 37, 110, 0.1);
            border-color: rgba(228, 148, 39, 0.3);
        }

        .icon-box {
            width: 70px;
            height: 70px;
            background: rgba(228, 148, 39, 0.1);
            color: var(--brand-orange);
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            margin-bottom: 1.5rem;
            transition: all 0.3s ease;
        }

        .custom-card:hover .icon-box {
            background: var(--brand-orange);
            color: white;
        }

        /* --- Imagem (PAS Section) --- */
        .img-frame {
            position: relative;
            z-index: 1;
        }
        
        .img-frame img {
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(0,0,0,0.1);
        }

        /* --- Prova Social --- */
        .testimonial-card {
            background: white;
            padding: 2.5rem;
            border-radius: 20px;
            box-shadow: 0 15px 35px rgba(0,0,0,0.06);
            margin-top: 20px;
            border-left: 5px solid var(--brand-purple);
        }

        .stars {
            color: var(--brand-orange);
            margin-bottom: 1rem;
        }

        /* --- Oferta / Final --- */
        .offer-section {
            background: radial-gradient(circle at top right, #8e2f8a 0%, var(--brand-purple) 100%);
            color: white;
            position: relative;
            overflow: hidden;
        }
        
        .offer-section::before {
            content: 'FOX';
            position: absolute;
            left: -50px;
            bottom: -80px;
            font-size: 15rem;
            font-weight: 900; /* Outfit é usado aqui como elemento decorativo apenas */
            color: white;
            opacity: 0.03;
            font-family: sans-serif;
        }

        .offer-box {
            background: rgba(255, 255, 255, 0.1);
            padding: 4rem 3rem;
            border-radius: 30px;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.15);
            box-shadow: 0 20px 60px rgba(0,0,0,0.2);
        }

        @media (max-width: 768px) {
            .offer-box { padding: 2rem; }
        }

        /* Animação Pulsante */
        @keyframes pulse-orange {
            0% { box-shadow: 0 0 0 0 rgba(228, 148, 39, 0.7); }
            70% { box-shadow: 0 0 0 20px rgba(228, 148, 39, 0); }
            100% { box-shadow: 0 0 0 0 rgba(228, 148, 39, 0); }
        }

        .btn-pulse {
            background-color: var(--brand-orange);
            animation: pulse-orange 2s infinite;
            font-size: 1.2rem;
            padding: 18px 40px;
        }

        .btn-pulse:hover {
            background-color: white;
            color: var(--brand-orange);
            animation: none;
        }

        /* --- Footer --- */
        footer {
            background-color: var(--brand-purple-black);
            color: #aeb6bf;
            padding: 4rem 0;
            border-top: 4px solid var(--brand-orange);
        }