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

        :root {
            --primary-color: #D9C5B2;
            --secondary-color: #B8A896;
            --dark-color: #2D2926;
            --light-color: #F5F1ED;
            --accent-color: #D9C5B2;
            --text-dark: #2D2926;
            --text-light: #6B6561;
            --white: #ffffff;
        }

        body {
            font-family: 'Poppins', sans-serif;
            line-height: 1.6;
            color: var(--text-dark);
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Playfair Display', serif;
            font-weight: 700;
            line-height: 1.2;
        }

        /* Hero Section */
        .hero {
            background: linear-gradient(135deg, rgba(45, 41, 38, 0.95) 0%, rgba(45, 41, 38, 0.98) 100%),
                        url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><path fill="rgba(217,197,178,0.05)" d="M0,300 Q300,100 600,300 T1200,300 L1200,600 L0,600 Z"/></svg>');
            background-size: cover;
            background-position: center;
            color: var(--white);
            padding: 120px 20px 80px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at 50% 50%, rgba(217, 197, 178, 0.15) 0%, transparent 50%);
            animation: pulse 4s ease-in-out infinite;
        }

        @keyframes pulse {
            0%, 100% { opacity: 0.5; }
            50% { opacity: 1; }
        }

        .hero-content {
            max-width: 1000px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .hero-icon {
            font-size: 60px;
            margin-bottom: 20px;
            animation: float 3s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }

        .hero h1 {
            font-size: clamp(2.5rem, 5vw, 4rem);
            margin-bottom: 20px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
            animation: fadeInUp 1s ease-out;
        }

        .hero-subtitle {
            font-size: clamp(1.2rem, 2.5vw, 1.8rem);
            margin-bottom: 30px;
            font-weight: 300;
            opacity: 0.95;
            animation: fadeInUp 1s ease-out 0.2s both;
        }

        .hero-description {
            font-size: clamp(1rem, 1.5vw, 1.2rem);
            margin-bottom: 40px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            opacity: 0.9;
            line-height: 1.8;
            animation: fadeInUp 1s ease-out 0.4s both;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* CTA Button */
        .cta-button {
            display: inline-block;
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            color: var(--dark-color);
            padding: 20px 50px;
            font-size: 1.3rem;
            font-weight: 700;
            text-decoration: none;
            border-radius: 50px;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(217, 197, 178, 0.4);
            position: relative;
            overflow: hidden;
            animation: fadeInUp 1s ease-out 0.6s both;
        }

        .cta-button::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.3);
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }

        .cta-button:hover::before {
            width: 300px;
            height: 300px;
        }

        .cta-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(217, 197, 178, 0.6);
        }

        .cta-button span {
            position: relative;
            z-index: 1;
        }

        /* Container */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Section Styles */
        section {
            padding: 80px 20px;
        }

        .section-title {
            text-align: center;
            font-size: clamp(2rem, 4vw, 3rem);
            margin-bottom: 20px;
            color: var(--primary-color);
        }

        .section-subtitle {
            text-align: center;
            font-size: clamp(1rem, 2vw, 1.3rem);
            margin-bottom: 60px;
            color: var(--text-light);
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Paula Section */
        .paula-section {
            background: linear-gradient(135deg, var(--light-color) 0%, var(--white) 100%);
            padding: 100px 20px;
        }

        .paula-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
        }

        .paula-image-container {
            position: relative;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        .paula-image {
            width: 100%;
            height: auto;
            display: block;
            transition: transform 0.5s ease;
        }

        .paula-image-container:hover .paula-image {
            transform: scale(1.05);
        }

        .paula-content {
            padding: 20px;
        }

        .paula-content h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            color: var(--primary-color);
            margin-bottom: 20px;
        }

        .paula-content h3 {
            font-size: 1.5rem;
            color: var(--text-dark);
            margin-bottom: 30px;
            font-weight: 600;
        }

        .paula-content p {
            font-size: 1.1rem;
            line-height: 1.8;
            color: var(--text-dark);
            margin-bottom: 20px;
        }

        .paula-stats {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            margin: 40px 0;
        }

        .stat-item {
            background: var(--white);
            padding: 25px;
            border-radius: 15px;
            text-align: center;
            box-shadow: 0 5px 20px rgba(0,0,0,0.05);
            border-top: 3px solid var(--primary-color);
        }

        .stat-number {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--primary-color);
            display: block;
            margin-bottom: 10px;
        }

        .stat-label {
            font-size: 0.9rem;
            color: var(--text-light);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Problems Section */
        .problems {
            background: linear-gradient(135deg, #f8f8f8 0%, #e8e8e8 100%);
        }

        .problems-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            margin-top: 60px;
        }

        .problem-card {
            background: var(--white);
            padding: 40px 30px;
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
            transition: all 0.3s ease;
            border-top: 4px solid var(--primary-color);
        }

        .problem-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 50px rgba(0,0,0,0.15);
        }

        .problem-card h3 {
            color: var(--primary-color);
            margin-bottom: 20px;
            font-size: 1.8rem;
        }

        .problem-card ul {
            list-style: none;
            padding-left: 0;
        }

        .problem-card li {
            padding: 12px 0;
            padding-left: 30px;
            position: relative;
            color: var(--text-dark);
            font-size: 1rem;
            line-height: 1.6;
        }

        .problem-card li::before {
            content: '✗';
            position: absolute;
            left: 0;
            color: var(--primary-color);
            font-weight: bold;
            font-size: 1.3rem;
        }

        .problem-cta {
            display: inline-block;
            margin-top: 20px;
            background: var(--primary-color);
            color: var(--dark-color);
            padding: 12px 30px;
            border-radius: 25px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .problem-cta:hover {
            background: var(--secondary-color);
            transform: translateX(5px);
        }

        /* Benefits Section */
        .benefits {
            background: var(--white);
        }

        .benefits-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 40px;
            margin-top: 60px;
        }

        .benefit-card {
            text-align: center;
            padding: 40px 20px;
            background: linear-gradient(135deg, var(--light-color) 0%, var(--white) 100%);
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
        }

        .benefit-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
        }

        .benefit-icon {
            font-size: 3rem;
            margin-bottom: 20px;
        }

        .benefit-card h3 {
            font-size: 1.3rem;
            color: var(--primary-color);
            margin-bottom: 15px;
        }

        .benefit-card p {
            color: var(--text-light);
            line-height: 1.8;
        }

        /* Testimonials Section */
        .testimonials {
            background: linear-gradient(135deg, var(--dark-color) 0%, #1a1816 100%);
            color: var(--white);
        }

        .testimonials .section-title,
        .testimonials .section-subtitle {
            color: var(--white);
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
        }

        .testimonial-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(10px);
            padding: 30px;
            border-radius: 20px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
        }

        .testimonial-card:hover {
            background: rgba(255, 255, 255, 0.1);
            transform: translateY(-5px);
        }

        .testimonial-text {
            font-style: italic;
            line-height: 1.8;
            margin-bottom: 20px;
            opacity: 0.95;
        }

        .testimonial-author {
            font-weight: 600;
            color: var(--primary-color);
        }

        /* Modules Section */
        .modules {
            background: var(--white);
        }

        .modules-intro {
            background: linear-gradient(135deg, var(--dark-color) 0%, #1a1816 100%);
            color: var(--white);
            padding: 60px 40px;
            border-radius: 20px;
            text-align: center;
            margin-bottom: 60px;
            box-shadow: 0 20px 60px rgba(45, 41, 38, 0.3);
        }

        .modules-intro h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            margin-bottom: 20px;
        }

        .modules-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
        }

        .module-card {
            background: linear-gradient(135deg, var(--light-color) 0%, var(--white) 100%);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .module-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        .module-header {
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            color: var(--dark-color);
            padding: 30px;
            text-align: center;
        }

        .module-number {
            font-size: 1rem;
            opacity: 0.9;
            margin-bottom: 10px;
            font-weight: 600;
        }

        .module-title {
            font-size: 1.5rem;
            margin-bottom: 0;
        }

        .module-content {
            padding: 30px;
        }

        .module-content ol {
            padding-left: 20px;
        }

        .module-content li {
            margin-bottom: 12px;
            color: var(--text-dark);
            line-height: 1.6;
        }

        .module-cta {
            display: inline-block;
            background: var(--primary-color);
            color: var(--dark-color);
            padding: 10px 25px;
            border-radius: 20px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9rem;
            margin-top: 15px;
            transition: all 0.3s ease;
        }

        .module-cta:hover {
            background: var(--secondary-color);
            transform: translateY(-2px);
        }

        /* Bonus Section */
        .bonus-section {
            background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
            color: var(--white);
        }

        .bonus-section .section-title,
        .bonus-section .section-subtitle {
            color: var(--white);
        }

        .bonus-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 40px;
        }

        .bonus-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(10px);
            padding: 40px;
            border-radius: 20px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
        }

        .bonus-card:hover {
            background: rgba(255, 255, 255, 0.1);
            transform: translateY(-10px);
        }

        .bonus-card h3 {
            color: var(--primary-color);
            font-size: 1.8rem;
            margin-bottom: 15px;
        }

        .bonus-card h4 {
            color: var(--white);
            font-size: 1.3rem;
            margin-bottom: 20px;
        }

        .bonus-card p {
            opacity: 0.9;
            line-height: 1.8;
        }

        /* Differentials Section */
        .differentials {
            background: linear-gradient(135deg, var(--light-color) 0%, var(--white) 100%);
        }

        .differentials-content {
            max-width: 900px;
            margin: 0 auto;
            padding: 40px;
            background: var(--white);
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
        }

        .differentials-content h3 {
            color: var(--primary-color);
            font-size: 2rem;
            margin-bottom: 20px;
        }

        .differentials-content p {
            font-size: 1.1rem;
            line-height: 1.8;
            color: var(--text-dark);
            margin-bottom: 20px;
        }

        /* Pricing Section */
        .pricing {
            background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 100%);
            text-align: center;
        }

        .pricing-card {
            max-width: 600px;
            margin: 0 auto;
            background: var(--white);
            border-radius: 30px;
            padding: 60px 40px;
            box-shadow: 0 20px 80px rgba(0,0,0,0.1);
            border: 3px solid var(--primary-color);
            position: relative;
            overflow: hidden;
        }

        .pricing-card::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: linear-gradient(45deg, transparent, rgba(217, 197, 178, 0.08), transparent);
            animation: shine 3s infinite;
        }

        @keyframes shine {
            0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
            100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
        }

        .pricing-badge {
            background: var(--primary-color);
            color: var(--dark-color);
            padding: 10px 30px;
            border-radius: 50px;
            display: inline-block;
            font-weight: 700;
            margin-bottom: 30px;
            font-size: 0.9rem;
            letter-spacing: 1px;
        }

        .pricing-title {
            font-size: 2.5rem;
            margin-bottom: 20px;
            color: var(--primary-color);
        }

        .original-price {
            text-decoration: line-through;
            color: var(--text-light);
            font-size: 1.5rem;
            margin-bottom: 10px;
        }

        .current-price {
            font-size: 4rem;
            color: var(--primary-color);
            font-weight: 800;
            margin-bottom: 10px;
        }

        .installments {
            font-size: 1.2rem;
            color: var(--text-light);
            margin-bottom: 40px;
        }

        .price-cta {
            display: inline-block;
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            color: var(--dark-color);
            padding: 25px 60px;
            font-size: 1.5rem;
            font-weight: 700;
            text-decoration: none;
            border-radius: 50px;
            transition: all 0.3s ease;
            box-shadow: 0 15px 40px rgba(217, 197, 178, 0.4);
            margin-bottom: 30px;
        }

        .price-cta:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 50px rgba(217, 197, 178, 0.6);
        }

        .payment-badges {
            margin-top: 30px;
        }

        /* Guarantee Section */
        .guarantee {
            background: linear-gradient(135deg, var(--dark-color) 0%, #1a1816 100%);
            color: var(--white);
            text-align: center;
        }

        .guarantee-content {
            max-width: 800px;
            margin: 0 auto;
        }

        .guarantee-badge {
            width: 150px;
            height: 150px;
            margin: 0 auto 30px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 4rem;
            border: 3px solid var(--primary-color);
        }

        .guarantee h2 {
            font-size: 2.5rem;
            margin-bottom: 20px;
        }

        .guarantee p {
            font-size: 1.2rem;
            line-height: 1.8;
            opacity: 0.95;
        }

        /* About Paula Section */
        .about-paula {
            background: var(--white);
        }

        .about-content {
            max-width: 900px;
            margin: 0 auto;
            text-align: center;
        }

        .about-content p {
            font-size: 1.1rem;
            line-height: 1.8;
            color: var(--text-dark);
            margin-bottom: 20px;
        }

        /* FAQ Section */
        .faq {
            background: linear-gradient(135deg, var(--light-color) 0%, var(--white) 100%);
        }

        .faq-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .faq-item {
            margin-bottom: 20px;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0,0,0,0.05);
        }

        .faq-question {
            background: linear-gradient(135deg, var(--light-color) 0%, var(--white) 100%);
            padding: 25px 30px;
            cursor: pointer;
            font-weight: 600;
            font-size: 1.1rem;
            color: var(--primary-color);
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: all 0.3s ease;
        }

        .faq-question:hover {
            background: var(--primary-color);
            color: var(--dark-color);
        }

        .faq-question::after {
            content: '+';
            font-size: 2rem;
            font-weight: 300;
            transition: transform 0.3s ease;
        }

        .faq-question.active::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            background: var(--white);
            padding: 0 30px;
            transition: all 0.3s ease;
        }

        .faq-answer.active {
            max-height: 500px;
            padding: 25px 30px;
        }

        .faq-answer p {
            color: var(--text-dark);
            line-height: 1.8;
        }

        /* Contact Section */
        .contact-section {
            background: var(--white);
            text-align: center;
        }

        .whatsapp-button {
            display: inline-block;
            background: #25D366;
            color: var(--white);
            padding: 20px 50px;
            font-size: 1.3rem;
            font-weight: 700;
            text-decoration: none;
            border-radius: 50px;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(37, 211, 102, 0.4);
        }

        .whatsapp-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(37, 211, 102, 0.6);
        }

        /* Footer CTA */
        .footer-cta {
            background: linear-gradient(135deg, var(--dark-color) 0%, #000 100%);
            color: var(--white);
            text-align: center;
            padding: 100px 20px;
        }

        .footer-cta h2 {
            font-size: clamp(2rem, 4vw, 3.5rem);
            margin-bottom: 30px;
        }

        .footer-cta p {
            font-size: 1.3rem;
            margin-bottom: 50px;
            opacity: 0.9;
        }

        /* Responsive */
        @media (max-width: 968px) {
            .paula-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .paula-stats {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 768px) {
            .hero {
                padding: 80px 20px 60px;
            }

            section {
                padding: 60px 20px;
            }

            .problems-grid,
            .modules-grid,
            .bonus-grid,
            .benefits-grid {
                grid-template-columns: 1fr;
            }

            .pricing-card {
                padding: 40px 20px;
            }

            .current-price {
                font-size: 3rem;
            }
        }

        /* Animations on Scroll */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s ease;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
        .hero {
  position: relative;
  padding: 125px 20px 95px;
  overflow: hidden;
  background: radial-gradient(circle at top, #fff7ee 0%, #f4e4d0 40%, #ecd7be 100%);
}

/* base fundo */
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 15%, rgba(255, 255, 255, 0.92) 0%, transparent 52%),
    radial-gradient(circle at 80% 10%, rgba(255, 225, 190, 0.82) 0%, transparent 60%),
    radial-gradient(circle at 55% 95%, rgba(110, 55, 30, 0.12) 0%, transparent 55%),
    linear-gradient(to bottom, rgba(0,0,0,0.02), rgba(0,0,0,0.12));
  z-index: 0;
}

/* grain */
.hero-grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.12;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

/* haze */
.hero-haze {
  position: absolute;
  inset: -80px;
  z-index: 1;
  pointer-events: none;
  opacity: 0.55;
  filter: blur(30px);
  background:
    radial-gradient(circle at 30% 40%, rgba(255, 240, 220, 0.62) 0%, transparent 60%),
    radial-gradient(circle at 80% 70%, rgba(255, 220, 190, 0.52) 0%, transparent 60%);
  animation: hazeMove 10s ease-in-out infinite;
}

@keyframes hazeMove {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
  100% { transform: translateY(0px); }
}

/* sparkles */
.hero-sparkles {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.65;
  background:
    radial-gradient(circle, rgba(255, 220, 160, 0.30) 0%, transparent 55%) 12% 18% / 9px 9px,
    radial-gradient(circle, rgba(255, 210, 150, 0.24) 0%, transparent 55%) 25% 60% / 7px 7px,
    radial-gradient(circle, rgba(255, 235, 180, 0.20) 0%, transparent 55%) 55% 28% / 8px 8px,
    radial-gradient(circle, rgba(255, 220, 160, 0.22) 0%, transparent 55%) 70% 68% / 10px 10px,
    radial-gradient(circle, rgba(255, 220, 160, 0.18) 0%, transparent 55%) 88% 35% / 7px 7px;
  animation: sparklesFloat 7s ease-in-out infinite;
}

@keyframes sparklesFloat {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-12px); }
  100% { transform: translateY(0px); }
}

/* layout */
.hero-container {
  position: relative;
  z-index: 2;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

/* texto */
.hero-content {
  animation: fadeUp 1s ease both;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.60);
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 0.95rem;
  color: rgba(43, 28, 20, 0.86);
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.10);
}

.hero-badge-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #f1b879;
  box-shadow: 0 0 0 7px rgba(241, 184, 121, 0.25);
}

.hero-content h1 {
  font-size: clamp(2.4rem, 4vw, 3.8rem);
  line-height: 1.05;
  letter-spacing: -1.2px;
  margin: 18px 0 16px;
  color: #2b1c14;
}

.hero-title-highlight {
  position: relative;
  display: inline-block;
  color: transparent;
  background: linear-gradient(135deg, #2b1c14, #7a4a35);
  -webkit-background-clip: text;
  background-clip: text;
}

/* highlight animado por trás do texto */
.hero-title-highlight::after {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  bottom: 6px;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 215, 160, 0.0), rgba(255, 215, 160, 0.55), rgba(255, 215, 160, 0.0));
  filter: blur(10px);
  opacity: 0.75;
  z-index: -1;
  animation: highlightPulse 3.2s ease-in-out infinite;
}

@keyframes highlightPulse {
  0% { transform: scaleX(0.85); opacity: 0.55; }
  50% { transform: scaleX(1.05); opacity: 0.9; }
  100% { transform: scaleX(0.85); opacity: 0.55; }
}

.hero-subtitle {
  font-size: 1.22rem;
  line-height: 1.55;
  margin-bottom: 18px;
  color: rgba(43, 28, 20, 0.82);
  font-weight: 500;
}

.hero-description {
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(43, 28, 20, 0.72);
  max-width: 660px;
}

/* botões */
.hero-actions {
  display: flex;
  gap: 14px;
  margin-top: 26px;
  flex-wrap: wrap;
}

/* CTA com pulse */
.cta-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, #2b1c14, #4a2f25);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 20px 60px rgba(43, 28, 20, 0.25);
  transition: 0.25s ease;
  overflow: hidden;
}

/* brilho interno */
.cta-button::before {
  content: "";
  position: absolute;
  inset: -30%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.22) 0%, transparent 55%);
  transform: translateX(-30%);
  opacity: 0.0;
  transition: 0.25s ease;
}

.cta-button:hover::before {
  opacity: 1;
  transform: translateX(0%);
}

.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 28px 80px rgba(43, 28, 20, 0.33);
}

/* pulse glow atrás do botão */
.cta-button::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 18px;
  background: radial-gradient(circle, rgba(255, 210, 160, 0.35), transparent 60%);
  filter: blur(12px);
  z-index: -1;
  opacity: 0.55;
  animation: ctaPulse 2.7s ease-in-out infinite;
}

@keyframes ctaPulse {
  0% { transform: scale(0.96); opacity: 0.35; }
  50% { transform: scale(1.03); opacity: 0.75; }
  100% { transform: scale(0.96); opacity: 0.35; }
}

.cta-secondary {
  display: inline-flex;
  align-items: center;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: rgba(43, 28, 20, 0.86);
  font-weight: 800;
  text-decoration: none;
  transition: 0.25s ease;
}

.cta-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.10);
}

/* mini cards */
.hero-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 30px;
  max-width: 680px;
}

.hero-mini-card {
  display: flex;
  gap: 10px;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.54);
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
  transition: 0.25s ease;
}

.hero-mini-card:hover {
  transform: translateY(-3px);
}

.hero-mini-card strong {
  display: block;
  font-size: 0.95rem;
  color: rgba(43, 28, 20, 0.92);
}

.hero-mini-card p {
  margin: 2px 0 0;
  font-size: 0.88rem;
  color: rgba(43, 28, 20, 0.65);
}

/* =========================
   VISUAL: PARALLAX
========================= */

.hero-visual {
  position: relative;
  width: 100%;
  min-height: 650px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
}

/* ring */
.hero-ring {
  position: absolute;
  width: 540px;
  height: 540px;
  border-radius: 999px;
  z-index: 0;
  opacity: 0.95;
  background:
    radial-gradient(circle, rgba(255, 235, 205, 0.85) 0%, rgba(255, 220, 190, 0.25) 35%, transparent 65%),
    conic-gradient(from 180deg, rgba(255, 255, 255, 0.00), rgba(255, 210, 160, 0.55), rgba(255, 255, 255, 0.00));
  animation: ringRotate 10s linear infinite;
}

@keyframes ringRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* orbs */
.hero-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(26px);
  opacity: 0.75;
  z-index: 0;
  animation: orbFloat 7s ease-in-out infinite;
}

.hero-orb-1 {
  width: 190px;
  height: 190px;
  top: 7%;
  left: 7%;
  background: radial-gradient(circle, rgba(255, 215, 160, 0.65), transparent 65%);
}

.hero-orb-2 {
  width: 260px;
  height: 260px;
  bottom: 9%;
  right: 3%;
  background: radial-gradient(circle, rgba(255, 190, 150, 0.60), transparent 65%);
  animation-delay: 0.8s;
}

.hero-orb-3 {
  width: 150px;
  height: 150px;
  top: 18%;
  right: 16%;
  background: radial-gradient(circle, rgba(255, 240, 220, 0.70), transparent 65%);
  animation-delay: 1.4s;
}

@keyframes orbFloat {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-14px); }
  100% { transform: translateY(0px); }
}

/* IMAGEM */
.hero-image {
  position: relative;
  width: 100%;
  max-width: 440px;
  border-radius: 36px;
  overflow: hidden;
  z-index: 2;
  background: rgba(255, 255, 255, 0.22);
  box-shadow: 0 42px 130px rgba(0, 0, 0, 0.34);
  border: 1px solid rgba(255, 255, 255, 0.30);
  transform-style: preserve-3d;
  transition: transform 0.18s ease;
}

/* glow pulsando atrás */
.hero-image-glow {
  position: absolute;
  inset: -90px;
  background: radial-gradient(circle, rgba(255, 210, 170, 0.65) 0%, transparent 60%);
  filter: blur(40px);
  z-index: 0;
  animation: glowPulse 3.8s ease-in-out infinite;
}

@keyframes glowPulse {
  0% { opacity: 0.55; transform: scale(0.98); }
  50% { opacity: 0.95; transform: scale(1.03); }
  100% { opacity: 0.55; transform: scale(0.98); }
}

/* borda premium */
.hero-image-border {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  border-radius: 36px;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.55),
    rgba(255, 215, 170, 0.25),
    rgba(255, 255, 255, 0.30)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

/* imagem */
.hero-image img {
  position: relative;
  width: 100%;
  height: 575px;
  object-fit: cover;
  z-index: 1;

  opacity: 0.96;
  mix-blend-mode: multiply;
  filter: saturate(1.14) contrast(1.10) brightness(1.06);
  transform: translateZ(20px);
}

/* overlay cinema */
.hero-image-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(circle at 50% 30%, rgba(255, 240, 220, 0.35) 0%, transparent 55%),
    linear-gradient(to bottom, rgba(0,0,0,0.08), rgba(0,0,0,0.40));
  pointer-events: none;
  transform: translateZ(30px);
}

/* shine */
.hero-image-shine {
  position: absolute;
  top: -30%;
  left: -60%;
  width: 220%;
  height: 220%;
  z-index: 3;
  background: linear-gradient(
    120deg,
    transparent 40%,
    rgba(255, 255, 255, 0.18) 50%,
    transparent 60%
  );
  transform: rotate(10deg) translateZ(40px);
  animation: shineMove 5.5s ease-in-out infinite;
  pointer-events: none;
}

@keyframes shineMove {
  0%   { transform: translateX(-10%) rotate(10deg) translateZ(40px); opacity: 0; }
  30%  { opacity: 0.65; }
  60%  { opacity: 0.25; }
  100% { transform: translateX(15%) rotate(10deg) translateZ(40px); opacity: 0; }
}

/* fog */
.hero-image-fog {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 0.28;
  background:
    radial-gradient(circle at 20% 70%, rgba(255, 255, 255, 0.35) 0%, transparent 60%),
    radial-gradient(circle at 70% 90%, rgba(255, 240, 220, 0.30) 0%, transparent 60%);
  filter: blur(18px);
  animation: fogMove 8s ease-in-out infinite;
  transform: translateZ(50px);
}

@keyframes fogMove {
  0% { transform: translateY(0px) translateZ(50px); }
  50% { transform: translateY(-12px) translateZ(50px); }
  100% { transform: translateY(0px) translateZ(50px); }
}

/* cards laterais */
.hero-side-card {
  position: absolute;
  width: 260px;
  padding: 14px 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.12);
  z-index: 3;
  display: flex;
  gap: 12px;
}

.hero-side-card strong {
  display: block;
  font-size: 0.98rem;
  color: rgba(43, 28, 20, 0.92);
}

.hero-side-card p {
  margin: 4px 0 0;
  font-size: 0.9rem;
  color: rgba(43, 28, 20, 0.68);
}

.hero-side-card-1 {
  left: -35px;
  bottom: 120px;
}

.hero-side-card-2 {
  right: -35px;
  top: 50px;
}

/* responsivo */
@media (max-width: 980px) {
  .hero {
    padding: 90px 18px 70px;
  }

  .hero-container {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .hero-visual {
    min-height: auto;
    perspective: none;
  }

  .hero-ring {
    width: 430px;
    height: 430px;
  }

  .hero-image {
    max-width: 520px;
    margin: 0 auto;
    transform: none !important;
  }

  .hero-image img {
    height: 480px;
    transform: none;
  }

  .hero-side-card {
    display: none;
  }

  .hero-mini {
    grid-template-columns: 1fr;
  }
}



/* =========================
   EXTRA: BACKGROUND ANIMADO + CORAÇÕES
   (Não altera suas cores/textos)
========================= */

.hero {
  isolation: isolate; /* garante blend bonito */
}

/* movimento suave do background inteiro */
.hero-bg {
  animation: heroBgDrift 8s ease-in-out infinite;
  will-change: transform;
}

@keyframes heroBgDrift {
  0%   { transform: translate3d(0px, 0px, 0) scale(1); }
  50%  { transform: translate3d(0px, -14px, 0) scale(1.02); }
  100% { transform: translate3d(0px, 0px, 0) scale(1); }
}

/* corações flutuando */
.hero-hearts{
  position:absolute;
  inset:0;
  z-index:1; /* atrás do conteúdo (conteúdo tá no z-index 2) */
  pointer-events:none;
  overflow:hidden;
  opacity:1;
}

.heart{
  position:absolute;
  left: var(--x, 50%);
  bottom: -60px;
  font-size: var(--size, 18px);
  filter: blur(0px);
  opacity: var(--o, 0.55);
  transform: translate3d(0,0,0) rotate(var(--r, 0deg));
  animation: heartFloat var(--dur, 12s) linear infinite;
  will-change: transform, opacity;
  text-shadow: 0 10px 35px rgba(43, 28, 20, 0.18);
  mix-blend-mode: multiply;
  opacity: var(--o, 0.95);
  mix-blend-mode: normal;
  filter: drop-shadow(0 12px 25px rgba(0,0,0,0.18));
   opacity: var(--o, 0.98);
  filter: drop-shadow(0 16px 30px rgba(255,0,0,0.18));
}

@keyframes heartFloat{
  0%{
    transform: translate3d(0,0,0) rotate(var(--r, 0deg));
    opacity: 0;
  }
  10%{ opacity: var(--o, 0.55); }
  100%{
    transform: translate3d(var(--drift, 0px), -120vh, 0) rotate(calc(var(--r, 0deg) + 140deg));
    opacity: 0;
  }
}

/* leve "brilho" passando na section */
.hero::after{
  content:"";
  position:absolute;
  inset:-40%;
  z-index:1;
  pointer-events:none;
  background: radial-gradient(circle, rgba(255,255,255,0.22) 0%, transparent 55%);
  transform: translateX(-30%);
  opacity:0.0;
  animation: heroSoftShine 7s ease-in-out infinite;
  mix-blend-mode: soft-light;
}

@keyframes heroSoftShine{
  0%{ opacity:0; transform: translateX(-35%) rotate(12deg); }
  30%{ opacity:0.55; }
  60%{ opacity:0.18; }
  100%{ opacity:0; transform: translateX(20%) rotate(12deg); }
}

/* respeita acessibilidade */
@media (prefers-reduced-motion: reduce){
  .hero-bg, .heart, .hero::after { animation: none !important; }
}

.hero-glass{
  padding: 28px 26px;
  border-radius: 26px;

  background: rgba(255, 248, 235, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.40);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow:
    0 25px 70px rgba(30, 15, 10, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.45);

  position: relative;
  overflow: hidden;
}

/* brilho interno suave */
.hero-glass::before{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at 20% 20%,
    rgba(255,255,255,0.35),
    transparent 60%);
  opacity: 0.8;
  pointer-events:none;
}

/* animação leve (premium) */
.hero-glass{
  animation: glassFloat 6s ease-in-out infinite;
}

@keyframes glassFloat{
  0%{ transform: translateY(0px); }
  50%{ transform: translateY(-6px); }
  100%{ transform: translateY(0px); }
}
/* =========================
   SECTION: DORES (3 CARDS)
========================= */

.pain-section{
  position: relative;
  padding: 80px 0;
  overflow: hidden;

  /* mantém o mesmo clima bege */
  background: radial-gradient(circle at 20% 20%,
      rgba(255, 240, 220, 0.75),
      rgba(245, 230, 210, 0.45),
      rgba(235, 220, 205, 0.35));
}

/* detalhe animado no fundo */
.pain-section::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(circle at 25% 35%, rgba(255, 210, 170, 0.35), transparent 60%),
    radial-gradient(circle at 75% 65%, rgba(255, 255, 255, 0.25), transparent 55%);
  filter: blur(55px);
  opacity: 0.8;
  animation: painBgFloat 10s ease-in-out infinite;
  pointer-events:none;
}

@keyframes painBgFloat{
  0%{ transform: translate(0,0) scale(1); }
  50%{ transform: translate(3%, -2%) scale(1.03); }
  100%{ transform: translate(0,0) scale(1); }
}

.pain-container{
  width: min(1200px, 92%);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.pain-title{
  text-align: center;
  margin-bottom: 40px;
}

.pain-title h2{
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  letter-spacing: -0.8px;
  margin-bottom: 10px;
  color: rgba(40, 20, 10, 0.92);
}

.pain-title p{
  font-size: 1.1rem;
  color: rgba(70, 40, 25, 0.78);
}

/* grid */
.pain-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

/* card vidro */
.pain-card{
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255, 248, 235, 0.40);
  border: 1px solid rgba(255,255,255,0.38);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow: 0 30px 80px rgba(30, 15, 10, 0.16);
  transform: translateY(0px);
  transition: transform .35s ease, box-shadow .35s ease;
  position: relative;
}

/* animação de entrada */
.pain-card{
  animation: painCardEnter .9s ease both;
}

.pain-card:nth-child(2){ animation-delay: .15s; }
.pain-card:nth-child(3){ animation-delay: .30s; }

@keyframes painCardEnter{
  from{ opacity:0; transform: translateY(22px) scale(0.98); }
  to{ opacity:1; transform: translateY(0px) scale(1); }
}

.pain-card:hover{
  transform: translateY(-10px);
  box-shadow: 0 50px 120px rgba(30, 15, 10, 0.22);
}

/* imagem */
.pain-image{
  position: relative;
  height: 220px;
  overflow: hidden;
}

.pain-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform .8s ease;
  filter: contrast(1.05) saturate(1.10);
}

.pain-card:hover .pain-image img{
  transform: scale(1.12);
}

/* overlay cinematográfico */
.pain-image-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.15), rgba(0,0,0,0.55)),
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.12), transparent 55%);
  opacity: 0.85;
}

/* conteúdo */
.pain-content{
  padding: 22px 20px 24px;
}

.pain-badge{
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 700;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.32);
  border: 1px solid rgba(255,255,255,0.35);
  color: rgba(60, 30, 20, 0.85);
  margin-bottom: 12px;
}

.pain-content h3{
  font-size: 1.35rem;
  margin: 0 0 14px;
  color: rgba(40, 20, 10, 0.92);
}

/* lista */
.pain-list{
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}

.pain-list li{
  font-size: 0.98rem;
  line-height: 1.45;
  color: rgba(70, 40, 25, 0.80);
  padding-left: 18px;
  margin-bottom: 9px;
  position: relative;
}

.pain-list li::before{
  content: "♥";
  position:absolute;
  left: 0;
  top: 0;
  color: rgba(210, 90, 90, 0.85);
  font-size: 0.9rem;
}

/* botão */
.pain-button{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  border-radius: 18px;

  background: linear-gradient(180deg,
    rgba(255, 120, 120, 0.95),
    rgba(220, 70, 90, 0.95));

  color: #fff;
  font-weight: 800;
  letter-spacing: 0.4px;
  text-decoration: none;

  box-shadow: 0 22px 60px rgba(220, 70, 90, 0.30);
  transition: transform .25s ease, box-shadow .25s ease;
}

.pain-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 30px 80px rgba(220, 70, 90, 0.42);
}

/* responsivo */
@media (max-width: 980px){
  .pain-grid{
    grid-template-columns: 1fr;
  }
  .pain-image{
    height: 210px;
  }
}
/* =========================
   SECTION: COMO FUNCIONA
========================= */

.how-section{
  position: relative;
  padding: 85px 0;
  overflow: hidden;

  background: radial-gradient(circle at 50% 20%,
      rgba(255, 248, 235, 0.85),
      rgba(245, 230, 210, 0.50),
      rgba(235, 220, 205, 0.35));
}

.how-section::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 210, 170, 0.35), transparent 60%),
    radial-gradient(circle at 75% 70%, rgba(255, 255, 255, 0.22), transparent 55%);
  filter: blur(60px);
  opacity: 0.85;
  animation: howBgMove 10s ease-in-out infinite;
  pointer-events:none;
}

@keyframes howBgMove{
  0%{ transform: translate(0,0) scale(1); }
  50%{ transform: translate(3%, -2%) scale(1.03); }
  100%{ transform: translate(0,0) scale(1); }
}

.how-container{
  width: min(1100px, 92%);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.how-title{
  text-align: center;
  margin-bottom: 38px;
}

.how-title h2{
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  letter-spacing: -0.8px;
  margin-bottom: 10px;
  color: rgba(40, 20, 10, 0.92);
}

.how-title p{
  font-size: 1.08rem;
  color: rgba(70, 40, 25, 0.78);
}

/* grid */
.how-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

/* cards */
.how-card{
  border-radius: 22px;
  padding: 22px 18px 20px;

  background: rgba(255, 248, 235, 0.40);
  border: 1px solid rgba(255,255,255,0.38);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow: 0 25px 70px rgba(30, 15, 10, 0.14);
  transition: transform .35s ease, box-shadow .35s ease;
  position: relative;
  overflow: hidden;
}

/* brilho interno */
.how-card::before{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at 25% 20%,
    rgba(255,255,255,0.35),
    transparent 60%);
  opacity: 0.7;
  pointer-events:none;
}

/* hover premium */
.how-card:hover{
  transform: translateY(-10px);
  box-shadow: 0 45px 110px rgba(30, 15, 10, 0.18);
}

/* ícone */
.how-icon{
  width: 54px;
  height: 54px;
  border-radius: 18px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size: 1.6rem;

  background: rgba(255, 255, 255, 0.32);
  border: 1px solid rgba(255,255,255,0.38);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
  margin-bottom: 14px;
}

.how-card h3{
  font-size: 1.15rem;
  margin: 0 0 10px;
  color: rgba(40, 20, 10, 0.92);
}

.how-card p{
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.45;
  color: rgba(70, 40, 25, 0.78);
}

/* CTA */
.how-cta{
  display:flex;
  justify-content:center;
  margin-top: 34px;
}

.how-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 16px 26px;
  border-radius: 18px;

  background: linear-gradient(180deg,
    rgba(255, 120, 120, 0.95),
    rgba(220, 70, 90, 0.95));

  color: #fff;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-decoration: none;

  box-shadow: 0 25px 70px rgba(220, 70, 90, 0.32);
  transition: transform .25s ease, box-shadow .25s ease;
}

.how-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 35px 90px rgba(220, 70, 90, 0.45);
}

/* responsivo */
@media (max-width: 980px){
  .how-grid{
    grid-template-columns: 1fr;
  }
}

/* =========================
   DEPOIMENTOS: TEXTO (LEGÍVEL)
========================= */

.testimonials-head h2{
  color: #2a1b14;
}

.testimonials-head p{
  color: rgba(42, 27, 20, 0.85);
}

.testimonials-head strong{
  color: rgba(42, 27, 20, 0.95);
}

/* =========================
   DEPOIMENTOS: SETAS PREMIUM
========================= */

.testimonials-wrap{
  position: relative;
}

.tarrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 16px;

  border: 1px solid rgba(255,255,255,0.50);
  background: rgba(255,255,255,0.22);

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  box-shadow: 0 20px 55px rgba(20,10,5,0.16);

  cursor: pointer;
  font-size: 28px;
  font-weight: 800;
  color: rgba(42, 27, 20, 0.92);

  opacity: 0;
  pointer-events: none;

  transition: opacity .25s ease, transform .25s ease, background .25s ease;
}

.tarrow-left{ left: 10px; }
.tarrow-right{ right: 10px; }

.testimonials-wrap:hover .tarrow{
  opacity: 1;
  pointer-events: auto;
}

.tarrow:hover{
  transform: translateY(-50%) scale(1.06);
  background: rgba(255,255,255,0.32);
}

.tarrow:active{
  transform: translateY(-50%) scale(0.96);
}

@media (max-width: 900px){
  .tarrow{
    display: none;
  }
}
/* =========================
   DEPOIMENTOS: FADE NAS BORDAS (APPLE)
========================= */

.testimonials-wrap{
  position: relative;
}

/* Fade esquerda e direita */
.testimonials-wrap::before,
.testimonials-wrap::after{
  content:"";
  position:absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 4;
  pointer-events: none;
}

/* esquerda */
.testimonials-wrap::before{
  left: 0;
  background: linear-gradient(90deg,
    rgba(245, 235, 220, 1),
    rgba(245, 235, 220, 0));
}

/* direita */
.testimonials-wrap::after{
  right: 0;
  background: linear-gradient(270deg,
    rgba(245, 235, 220, 1),
    rgba(245, 235, 220, 0));
}

/* Ajuste para não "matar" demais o conteúdo */
@media (max-width: 700px){
  .testimonials-wrap::before,
  .testimonials-wrap::after{
    width: 46px;
  }
}
.testimonials-slider{
  scroll-behavior: smooth;
}

.testimonial-card{
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
}

.testimonial-card:hover{
  transform: translateY(-6px) scale(1.015);
}
/* =========================
   DEPOIMENTOS (WHATS PRINTS)
========================= */

.whats-testimonials{
  padding: 90px 20px;
  background: linear-gradient(135deg, #f9f2ea 0%, #fff 100%);
  position: relative;
  overflow: hidden;
}

.whats-testimonials .section-title{
  color: #2b1c14;
  margin-bottom: 14px;
}

.whats-testimonials .section-subtitle{
  color: rgba(43, 28, 20, 0.72);
  max-width: 780px;
  margin: 0 auto 45px;
}

/* grid */
.whats-grid{
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* setas laterais */
.whats-nav{
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(43, 28, 20, 0.15);
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 34px;
  font-weight: 900;
  color: #2b1c14;
  cursor: pointer;
  transition: .22s ease;
  box-shadow: 0 18px 50px rgba(0,0,0,0.10);
  flex: 0 0 auto;
  user-select: none;
}

.whats-nav:hover{
  transform: translateY(-2px);
  box-shadow: 0 26px 80px rgba(0,0,0,0.14);
}

/* track */
.whats-track{
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* imagem */
.whats-img{
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 22px;
  cursor: pointer;
  transition: .28s ease;
  box-shadow: 0 20px 70px rgba(0,0,0,0.12);
  border: 1px solid rgba(255,255,255,0.7);
}

.whats-img:hover{
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 30px 90px rgba(0,0,0,0.18);
}

/* dots */
.whats-dots{
  margin-top: 26px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.whats-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(43, 28, 20, 0.20);
  cursor: pointer;
  transition: .2s ease;
}

.whats-dot.active{
  width: 26px;
  background: #2b1c14;
}

/* =========================
   MODAL
========================= */

.whats-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.whats-modal.open{
  display: block;
}

.whats-modal-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.whats-modal-content{
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;
  padding: 20px;
}

.whats-modal-imgwrap{
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 40px 150px rgba(0,0,0,0.50);
  background: rgba(255,255,255,0.04);
}

.whats-modal-imgwrap img{
  width: 100%;
  height: min(82vh, 820px);
  object-fit: contain;
  background: rgba(0,0,0,0.15);
  display: block;
}

.whats-counter{
  position: absolute;
  left: 16px;
  bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  color: #fff;
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.12);
}

/* botões modal */
.whats-modal-nav{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10);
  color: #fff;
  font-size: 38px;
  font-weight: 900;
  cursor: pointer;
  transition: .2s ease;
  user-select: none;
}

.whats-modal-nav:hover{
  transform: scale(1.06);
  background: rgba(255,255,255,0.16);
}

.whats-close{
  position: absolute;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: .2s ease;
  z-index: 5;
}

.whats-close:hover{
  transform: scale(1.05);
  background: rgba(255,255,255,0.16);
}

/* responsivo */
@media (max-width: 980px){
  .whats-track{
    grid-template-columns: repeat(2, 1fr);
  }

  .whats-img{
    height: 320px;
  }
}

@media (max-width: 620px){
  .whats-grid{
    gap: 10px;
  }

  .whats-nav{
    width: 46px;
    height: 46px;
    font-size: 30px;
  }

  .whats-track{
    grid-template-columns: 1fr;
  }

  .whats-img{
    height: 330px;
  }

  .whats-modal-content{
    grid-template-columns: 54px 1fr 54px;
  }
}
.whats-modal-imgwrap img {
  max-width: 90vw;
  max-height: 80vh;
  border-radius: 16px;
  transform: scale(0.85);
  opacity: 0;
  transition: transform 0.45s cubic-bezier(0.19,1,0.22,1),
              opacity 0.35s ease;
}

.whats-modal.open .whats-modal-imgwrap img {
  transform: scale(1);
  opacity: 1;
}
.whats-img {
  cursor: zoom-in;
  position: relative;
}

.whats-img::after {
  content: "🔍 Clique para ampliar";
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.whats-img:hover::after {
  opacity: 1;
}
#whatsModal {
  position: fixed;
}

#whatsModal img {
  position: relative;
  z-index: 1;
}

.whats-prev,
.whats-next {
  position: absolute;
  z-index: 9999;
  pointer-events: auto;
}

#whatsModalOverlay {
  z-index: 1;
}
#whatsModal {
  position: fixed;
  inset: 0;
  z-index: 999;
}
/* =========================
   MODAL WHATSAPP CORRIGIDO
========================= */
.whats-modal {
  position: fixed;
  inset: 0;
  z-index: 10000; /* Garante que fique acima de tudo */
  display: none;
  align-items: center;
  justify-content: center;
}

.whats-modal.open {
  display: flex; /* Mudado para flex para alinhar conteúdo */
}

.whats-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: -1;
  pointer-events: auto; /* Permite clicar no fundo para fechar */
}

.whats-modal-content {
  position: relative;
  width: 100%;
  max-width: 500px; /* Largura de um celular para o print */
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.whats-modal-imgwrap {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 20px 80px rgba(0,0,0,0.5);
}

#whatsModalImg {
  width: 100%;
  height: auto;
  max-height: 85vh;
  object-fit: contain;
  display: block;
}

/* SETAS DO MODAL */
.whats-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  color: white;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10001; /* Acima da imagem */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  transition: 0.3s;
}

.whats-modal-nav:hover {
  background: rgba(255,255,255,0.4);
  scale: 1.1;
}

.whats-modal-nav.left {
  left: -60px; /* Posiciona fora da imagem no desktop */
}

.whats-modal-nav.right {
  right: -60px;
}

/* Ajuste das setas para celular */
@media (max-width: 768px) {
  .whats-modal-nav.left { left: 10px; background: rgba(0,0,0,0.5); }
  .whats-modal-nav.right { right: 10px; background: rgba(0,0,0,0.5); }
  .whats-modal-content { max-width: 90vw; }
}

.whats-close {
  position: fixed;
  top: 20px;
  right: 20px;
  font-size: 30px;
  color: white;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10002;
}

.whats-counter {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  font-weight: 600;
}
/* --- CONFIGURAÇÃO ACADEMY --- */
.academy-section {
  padding: 100px 0;
  background-color: #fdfaf6; /* Bege clarinho de fundo */
  font-family: 'Poppins', sans-serif;
}

.academy-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.academy-header {
  text-align: center;
  margin-bottom: 60px;
}

.academy-badge {
  display: inline-block;
  padding: 8px 16px;
  background: #2b1c14;
  color: #fff;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.academy-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 5vw, 2.8rem);
  color: #2b1c14;
  line-height: 1.2;
}

.academy-header h2 span {
  color: #b8a896;
}

/* GRID DOS CARDS */
.academy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 30px;
}

.course-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.04);
  border: 1px solid rgba(217, 197, 178, 0.2);
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
}

.course-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 60px rgba(43, 28, 20, 0.1);
}

/* SOLUÇÃO PARA IMAGEM NÃO CORTAR */
.course-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3; /* Mantém proporção de vídeo/aula */
  background: #f0f0f0; /* Fundo caso a imagem demore a carregar */
  overflow: hidden;
}

.course-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Preenche o espaço */
  object-position: top center; /* Foca no topo (rosto/título da imagem) */
  transition: transform 0.6s ease;
}

.course-card:hover .course-thumb img {
  transform: scale(1.08);
}

.course-tag {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #d4af37;
  color: #fff;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
}

/* OVERLAY BLOQUEADO */
.lock-overlay {
  position: absolute;
  inset: 0;
  background: rgba(43, 28, 20, 0.6);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
}

/* CONTEÚDO DO CARD */
.course-info {
  padding: 30px;
  flex-grow: 1;
}

.mod-label {
  color: #b8a896;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.course-info h3 {
  font-size: 1.4rem;
  color: #2b1c14;
  margin-bottom: 20px;
  min-height: 3.5rem;
  line-height: 1.3;
}

/* BOTÃO EXPANDIR */
.expand-btn {
  width: 100%;
  background: #fdf8f3;
  border: 1px solid #eaddd0;
  padding: 15px;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: #2b1c14;
  transition: 0.3s;
}

.expand-btn:hover {
  background: #2b1c14;
  color: #fff;
}

.icon-plus {
  font-style: normal;
  font-size: 1.2rem;
  transition: transform 0.4s ease;
}

/* ÁREA DAS AULAS (ACCORDION) */
.course-details {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0, 1, 0, 1);
}

.course-card.active .course-details {
  max-height: 1000px; /* Expande suavemente */
  transition: max-height 1s ease-in;
}

.course-card.active .icon-plus {
  transform: rotate(45deg);
}

.lesson-items {
  list-style: none;
  padding: 20px 0 10px 0;
  margin: 0;
}

.lesson-items li {
  padding: 12px 0;
  border-bottom: 1px solid #f7f1eb;
  font-size: 0.9rem;
  color: #5a524d;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.lesson-items li::before {
  content: "✦";
  color: #d4af37;
  font-weight: bold;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .academy-grid {
    grid-template-columns: 1fr;
  }
}
/* --- SEÇÃO DIFERENCIAIS --- */
.differentials-section {
  padding: 100px 0;
  background-color: #ffffff;
  overflow: hidden;
}

.differentials-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.diff-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 80px;
  align-items: center;
}

.diff-img-container {
  position: relative;
  width: 100%;
  /* Mude de 580px para 650px ou 700px */
  max-width: 700px; 
  border-radius: 40px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(43, 28, 20, 0.2);
  aspect-ratio: 4 / 5; 
}

/* Conteúdo de Texto */
.diff-badge {
  color: #b8a896;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 2px;
  margin-bottom: 15px;
  display: block;
}

.diff-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: #2b1c14;
  line-height: 1.2;
  margin-bottom: 25px;
}

.diff-content h2 span {
  color: #d4af37;
}

.diff-main-text {
  font-size: 1.15rem;
  color: #4a2f25;
  line-height: 1.7;
  margin-bottom: 20px;
}

.diff-secondary-text {
  font-size: 1rem;
  color: #6b6561;
  margin-bottom: 40px;
}

/* Itens de destaque (Features) */
.diff-features {
  margin-bottom: 50px;
}

.feature-item {
  display: flex;
  gap: 20px;
  margin-bottom: 25px;
}

.feature-icon {
  font-style: normal;
  font-size: 1.5rem;
  width: 50px;
  height: 50px;
  background: #fdf8f3;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  flex-shrink: 0;
}

.feature-item h4 {
  color: #2b1c14;
  font-size: 1.1rem;
  margin-bottom: 5px;
}

.feature-item p {
  color: #6b6561;
  font-size: 0.95rem;
}

/* VISUAL DA IMAGEM (AQUI É ONDE VOCÊ CONTROLA A ALTURA) */
.diff-visual {
  position: relative;
}

.diff-img-wrapper {
  position: relative;
  z-index: 2;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(43, 28, 20, 0.15);
  /* Aumente aqui se quiser a imagem ainda mais alta */
  aspect-ratio: 4 / 5; 
}

.diff-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; /* Ajuste para 'top' se a Paula estiver no topo da foto */
  display: block;
}

/* Decoração atrás da imagem */
.diff-decoration {
  position: absolute;
  top: 30px;
  right: -30px;
  width: 100%;
  height: 100%;
  background: #fdf8f3;
  border: 2px solid #eaddd0;
  border-radius: 30px;
  z-index: -1;
}

/* RESPONSIVO */
@media (max-width: 992px) {
  .diff-grid {
    grid-template-columns: 1fr;
    gap: 50px;
    text-align: center;
  }

  .feature-item {
    text-align: left;
    max-width: 500px;
    margin: 0 auto 25px auto;
  }

  .diff-img-wrapper {
    max-width: 500px;
    margin: 0 auto;
  }

  .diff-decoration {
    display: none;
  }
}
/* --- SEÇÃO BÔNUS PREMIUM (CONTEÚDO VISÍVEL) --- */
.bonus-premium-section {
  padding: 100px 0;
  background-color: #ffffff;
}

.bonus-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.bonus-header {
  text-align: center;
  margin-bottom: 60px;
}

.bonus-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 5vw, 3rem);
  color: #2b1c14;
  margin: 15px 0;
}

.bonus-badge {
  color: #d4af37;
  font-weight: 700;
  letter-spacing: 2px;
  font-size: 0.8rem;
  text-transform: uppercase;
}

/* GRID DOS BÔNUS */
.bonus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
}

.bonus-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  transition: all 0.4s ease;
  border: 1px solid #f2ede7;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

.bonus-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(43, 28, 20, 0.1);
}

/* IMAGEM: Proporção 3:4 (Mais alta verticalmente) */
.bonus-image-box {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4; /* Proporção vertical elegante */
  overflow: hidden;
  background: #fdf8f3;
}

.bonus-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center; /* Garante o foco no rosto da especialista */
  display: block;
}

.bonus-label {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(43, 28, 20, 0.9);
  color: #fff;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  backdrop-filter: blur(4px);
}

/* CONTEÚDO TEXTUAL */
.bonus-text-content {
  padding: 30px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.specialist-role {
  color: #b8a896;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.bonus-text-content h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  color: #2b1c14;
  margin-bottom: 15px;
  line-height: 1.2;
}

.bonus-text-content p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #5a524d;
  margin: 0;
}

.bonus-footer-cta {
  text-align: center;
  margin-top: 60px;
}

/* AJUSTE PARA TELAS MENORES */
@media (max-width: 768px) {
  .bonus-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }
}
/* --- SEÇÃO DE PREÇO / CHECKOUT --- */
.pricing-section {
  padding: 100px 0;
  background: radial-gradient(circle at center, #fff 0%, #fdf8f3 100%);
  display: flex;
  justify-content: center;
}

.pricing-container {
  max-width: 1200px;
  width: 100%;
  padding: 0 20px;
  display: flex;
  justify-content: center;
}

.pricing-card-premium {
  background: #ffffff;
  width: 100%;
  max-width: 700px;
  border-radius: 40px;
  border: 2px solid #eaddd0;
  box-shadow: 0 30px 100px rgba(43, 28, 20, 0.12);
  overflow: hidden;
  text-align: center;
  position: relative;
}

/* Header do Card */
.pricing-header {
  background: #2b1c14;
  padding: 40px 20px;
  color: #fff;
}

.offer-badge {
  display: inline-block;
  background: #d4af37;
  color: #fff;
  padding: 6px 16px;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.pricing-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  margin-bottom: 10px;
}

.pricing-header p {
  font-size: 1rem;
  opacity: 0.8;
}

/* Área do Preço */
.pricing-content {
  padding: 50px 40px;
}

.price-box {
  margin-bottom: 40px;
}

.price-from {
  text-decoration: line-through;
  color: #b8a896;
  font-size: 1.2rem;
  display: block;
  margin-bottom: 5px;
}

.price-main {
  color: #2b1c14;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.price-main .currency {
  font-size: 1.8rem;
  font-weight: 700;
  align-self: flex-start;
  margin-top: 15px;
}

.price-main .value {
  font-family: 'Playfair Display', serif;
  font-size: clamp(4rem, 8vw, 6rem);
  font-weight: 900;
  line-height: 1;
}

.price-main .at-sight {
  font-size: 1rem;
  font-weight: 600;
  color: #b8a896;
  margin-left: 10px;
}

.price-installments {
  font-size: 1.4rem;
  color: #2b1c14;
  margin-top: 10px;
}

.price-installments strong {
  color: #d4af37;
  font-size: 1.6rem;
}

/* Botão de Compra */
.cta-button-purchase {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%);
  color: #fff;
  text-decoration: none;
  padding: 25px 20px;
  border-radius: 20px;
  font-weight: 800;
  font-size: 1.6rem;
  box-shadow: 0 15px 40px rgba(212, 175, 55, 0.4);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.cta-button-purchase:hover {
  transform: scale(1.03);
  box-shadow: 0 20px 50px rgba(212, 175, 55, 0.6);
}

.cta-button-purchase small {
  font-size: 0.8rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 5px;
  opacity: 0.9;
}

/* Selos de Pagamento */
.payment-trust {
  margin-top: 30px;
}

.payment-trust img {
  max-width: 100%;
  height: auto;
  filter: grayscale(1); /* Deixa os selos discretos */
  opacity: 0.6;
  transition: 0.3s;
}

.payment-trust img:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* Footer do Card com Ícones */
.pricing-footer {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #f0ebe4;
  display: flex;
  justify-content: center;
  gap: 40px;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
}

.trust-icon {
  font-size: 1.8rem;
  font-style: normal;
}

.trust-item span {
  font-size: 0.85rem;
  color: #6b6561;
  line-height: 1.3;
}

/* Responsividade Mobile */
@media (max-width: 600px) {
  .pricing-content {
    padding: 30px 20px;
  }
  
  .pricing-footer {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
  
  .price-main .value {
    font-size: 4rem;
  }
  
  .cta-button-purchase {
    font-size: 1.2rem;
  }
}
/* --- SEGURANÇA: RESET PARA EVITAR SEÇÕES LADO A LADO --- */
section, footer {
  display: block;
  width: 100%;
  clear: both;
  position: relative;
  box-sizing: border-box;
}

/* --- ESTILO FAQ --- */
.faq-section {
  padding: 80px 0;
  background-color: #fdfaf6;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.faq-header {
  text-align: center;
  margin-bottom: 50px;
}

.faq-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.5rem;
  color: #2b1c14;
}

.faq-badge {
  color: #d4af37;
  font-weight: 700;
  letter-spacing: 2px;
}

.faq-grid {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.faq-item {
  background: #fff;
  border: 1px solid #eaddd0;
  border-radius: 12px;
  overflow: hidden;
}

.faq-question {
  width: 100%;
  padding: 20px 25px;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: #2b1c14;
  cursor: pointer;
  text-align: left;
  transition: background 0.3s;
}

.faq-question:hover {
  background: #fdf8f3;
}

.faq-icon {
  font-size: 1.4rem;
  color: #d4af37;
  transition: transform 0.3s;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  padding: 0 25px;
  background: #fff;
}

/* Classe de controle via JS */
.faq-item.active .faq-answer {
  max-height: 200px;
  padding: 10px 25px 25px 25px;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

/* --- ESTILO RODAPÉ --- */
.main-footer {
  padding: 60px 0 30px;
  background: #2b1c14;
  color: #fff;
  text-align: center;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.footer-logo h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  color: #d4af37;
}

.footer-links {
  margin: 30px 0;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.footer-links a {
  color: #b8a896;
  text-decoration: none;
  font-size: 0.9rem;
}

.footer-copy {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 30px;
  padding-top: 20px;
  font-size: 0.8rem;
  opacity: 0.6;
}
/* --- SEÇÃO GARANTIA (TRAVA DE SEGURANÇA) --- */
.guarantee-section {
  display: block; /* Força ficar em bloco */
  width: 100%;
  clear: both; /* Limpa qualquer flutuação lateral */
  padding: 80px 0;
  background-color: #ffffff;
}

.guarantee-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.guarantee-card {
  background-color: #fdf8f3; /* Fundo bege clarinho */
  border: 2px solid #eaddd0;
  border-radius: 30px;
  padding: 60px;
  box-shadow: 0 15px 40px rgba(43, 28, 20, 0.05);
}

.guarantee-flex {
  display: flex;
  align-items: center;
  gap: 50px;
}

/* Ajuste da Imagem/Selo para NÃO CORTAR */
.guarantee-image {
  flex: 0 0 250px; /* Largura fixa para o selo no desktop */
  display: flex;
  justify-content: center;
}

.guarantee-image img {
  width: 100%;
  height: auto;
  object-fit: contain; /* Garante que o selo apareça inteiro */
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.08));
}

/* Conteúdo de Texto */
.guarantee-tag {
  color: #d4af37;
  font-weight: 800;
  letter-spacing: 2px;
  font-size: 0.8rem;
  margin-bottom: 10px;
  display: block;
}

.guarantee-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.2rem;
  color: #2b1c14;
  margin-bottom: 20px;
  line-height: 1.2;
}

.guarantee-content p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #5a524d;
  margin-bottom: 15px;
}

.guarantee-content strong {
  color: #2b1c14;
}

.guarantee-footer {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #eaddd0;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.9rem;
  color: #8c847f;
  font-style: italic;
}

.shield-icon {
  font-style: normal;
  font-size: 1.4rem;
}

/* Responsivo para Celular */
@media (max-width: 850px) {
  .guarantee-flex {
    flex-direction: column; /* No celular, o selo fica em cima do texto */
    text-align: center;
    gap: 30px;
  }

  .guarantee-card {
    padding: 40px 20px;
  }

  .guarantee-image {
    flex: 0 0 auto;
    width: 180px; /* Selo um pouco menor no celular */
  }

  .guarantee-footer {
    justify-content: center;
  }
}
/* --- SEÇÃO SOBRE MIM --- */
.about-me-section {
  padding: 100px 0;
  background-color: #fdfaf6;
  position: relative;
  overflow: hidden;
  clear: both; /* Segurança contra bugs de layout */
}

.about-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.about-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: center;
}

/* VISUAL DA IMAGEM */
.about-visual {
  position: relative;
}

.about-image-wrapper {
  position: relative;
  z-index: 2;
  border-radius: 40px 40px 200px 40px; /* Formato orgânico e moderno */
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(43, 28, 20, 0.15);
  aspect-ratio: 3 / 4; /* Imagem alta e elegante */
}

.about-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Badge de Experiência */
.authority-badge {
  position: absolute;
  bottom: 40px;
  right: -20px;
  background: #2b1c14;
  color: #fff;
  padding: 20px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 15px 30px rgba(0,0,0,0.2);
  z-index: 3;
}

.badge-number {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 700;
  color: #d4af37;
  line-height: 1;
}

.badge-text {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Detalhe de fundo (Sombra suave) */
.about-shape {
  position: absolute;
  top: 40px;
  left: -40px;
  width: 100%;
  height: 100%;
  background: #eaddd0;
  border-radius: 40px 40px 200px 40px;
  z-index: -1;
}

/* CONTEÚDO DE TEXTO */
.about-label {
  color: #b8a896;
  font-weight: 700;
  letter-spacing: 2px;
  font-size: 0.8rem;
  margin-bottom: 15px;
  display: block;
}

.about-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  color: #2b1c14;
  line-height: 1.1;
  margin-bottom: 30px;
}

.about-content h2 span {
  color: #d4af37;
}

.about-text p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #5a524d;
  margin-bottom: 20px;
}

/* Citação em Destaque */
.highlight-quote {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.3rem;
  color: #2b1c14;
  border-left: 3px solid #d4af37;
  padding-left: 20px;
  margin: 30px 0 !important;
}

.final-call {
  font-weight: 600;
  color: #2b1c14;
}

.about-signature {
  margin-top: 40px;
}

.about-signature p {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  color: #2b1c14;
  margin-bottom: 0;
}

.about-signature span {
  font-size: 0.85rem;
  color: #b8a896;
  font-weight: 600;
  letter-spacing: 1px;
}

/* RESPONSIVO */
@media (max-width: 992px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 60px;
    text-align: center;
  }

  .about-image-wrapper {
    max-width: 450px;
    margin: 0 auto;
  }

  .authority-badge {
    right: 50%;
    transform: translateX(50%);
    bottom: -30px;
  }

  .highlight-quote {
    text-align: left;
  }

  .about-shape {
    display: none;
  }
}
/* --- AJUSTE DO SELO PARA NÃO CORTAR --- */
.authority-badge {
  position: absolute;
  bottom: 40px;
  right: -30px; /* Faz o selo "sair" para fora da imagem */
  background: #2b1c14;
  color: #fff;
  padding: 15px 25px; /* Mais espaço interno */
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.3);
  z-index: 10; /* Garante que fique acima de tudo */
  width: max-content; /* FORÇA O SELO A CRESCER CONFORME O TEXTO */
  white-space: nowrap; /* IMPEDE O TEXTO DE QUEBRAR LINHA ONDE NÃO DEVE */
}

.badge-number {
  font-family: 'Playfair Display', serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #d4af37;
  line-height: 1;
}

.badge-text {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
}

/* No responsivo, centralizamos o selo */
@media (max-width: 992px) {
  .authority-badge {
    right: 50%;
    transform: translateX(50%);
    bottom: -20px;
    width: max-content;
  }
}
/* --- FAQ CLÁSSICO COM RESPIRO --- */
.classic-faq-section {
  display: block;
  width: 100%;
  clear: both;
  padding: 100px 0;
  background-color: #fff;
}

.faq-container {
  max-width: 850px;
  margin: 0 auto;
  padding: 0 20px;
}

.faq-header {
  text-align: center;
  margin-bottom: 50px;
}

.faq-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 2.5rem);
  color: #2b1c14;
}

.faq-badge {
  color: #d4af37;
  font-weight: 700;
  letter-spacing: 2px;
  font-size: 0.8rem;
  display: block;
  margin-bottom: 10px;
}

.faq-list {
  border-top: 1px solid #eaddd0;
}

.faq-item {
  border-bottom: 1px solid #eaddd0;
  transition: background-color 0.3s ease;
}

.faq-item.active {
  background-color: #fdfaf6;
}

.faq-trigger {
  width: 100%;
  padding: 25px 15px; /* Respiro interno nas laterais */
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  color: #2b1c14;
  cursor: pointer;
  text-align: left;
}

.faq-plus {
  font-size: 1.6rem;
  color: #d4af37;
  transition: transform 0.4s ease;
  flex-shrink: 0;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0, 1, 0, 1);
}

.faq-answer p {
  padding: 0 15px 30px 15px; /* Respiro interno na resposta */
  color: #5a524d;
  line-height: 1.7;
  font-size: 0.95rem;
  margin: 0;
}

.faq-item.active .faq-plus {
  transform: rotate(45deg);
  color: #2b1c14;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .faq-trigger { padding: 20px 10px; font-size: 0.95rem; }
  .faq-answer p { padding: 0 10px 25px 10px; }
}
/* --- SEÇÃO FINAL CTA E CONTATO --- */
.final-cta-section {
  padding: 120px 0 60px;
  background: linear-gradient(135deg, #2b1c14 0%, #4a2f25 100%);
  color: #ffffff;
  position: relative;
  overflow: hidden;
  clear: both;
}

.final-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.final-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 80px;
  align-items: center;
  margin-bottom: 80px;
}

/* Coluna Principal */
.final-badge {
  color: #d4af37;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 0.85rem;
  display: block;
  margin-bottom: 20px;
}

.final-main-call h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  line-height: 1.1;
  margin-bottom: 30px;
}

.final-main-call h2 span {
  color: #d4af37;
  font-style: italic;
}

.final-main-call p {
  font-size: 1.15rem;
  opacity: 0.85;
  margin-bottom: 45px;
  max-width: 500px;
  line-height: 1.6;
}

/* Card de Contato (Glassmorphism) */
.contact-glass {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 40px;
  border-radius: 30px;
  box-shadow: 0 25px 50px rgba(0,0,0,0.2);
}

.contact-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #d4af37;
  margin-bottom: 20px;
}

.online-dot {
  width: 8px;
  height: 8px;
  background: #44ff44;
  border-radius: 50%;
  box-shadow: 0 0 10px #44ff44;
}

.contact-glass h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  margin-bottom: 15px;
}

.contact-glass p {
  font-size: 0.95rem;
  opacity: 0.8;
  margin-bottom: 30px;
  line-height: 1.5;
}

/* Botão Whatsapp */
.whatsapp-btn-final {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #25d366;
  color: #fff;
  text-decoration: none;
  padding: 18px;
  border-radius: 15px;
  font-weight: 700;
  transition: all 0.3s ease;
}

.whatsapp-btn-final:hover {
  background: #1ebc59;
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3);
}

/* Rodapé */
.footer-legal {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 40px;
  text-align: center;
}

.footer-logo {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  color: #d4af37;
  margin-bottom: 10px;
}

.footer-legal p {
  font-size: 0.85rem;
  opacity: 0.5;
  margin-bottom: 15px;
}

.footer-bottom-links {
  display: flex;
  justify-content: center;
  gap: 15px;
  font-size: 0.75rem;
}

.footer-bottom-links a {
  color: #fff;
  opacity: 0.6;
  text-decoration: none;
}

.footer-bottom-links a:hover {
  opacity: 1;
}

/* RESPONSIVO */
@media (max-width: 992px) {
  .final-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 60px;
  }
  
  .final-main-call p {
    margin-left: auto;
    margin-right: auto;
  }

  .whatsapp-btn-final {
    max-width: 300px;
    margin: 0 auto;
  }
}
/* Media Query para Celulares */
@media (max-width: 768px) {
    
    /* 1. Esconde a parte visual original (a imagem que fica solta e os cards flutuantes) */
    .hero-visual {
        display: none !important;
    }

    /* 2. Remove fundos de outras camadas que possam estar tapando a imagem */
    .hero-bg, .hero-grain, .hero-haze {
        opacity: 0.4; /* Deixa as texturas suaves para aparecer o fundo */
    }

    /* 3. Aplica a imagem de fundo diretamente na seção principal */
    section.hero {
        background-image: 
            linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7)), 
            url('paula-marques-segurando-rosa.jpg') !important;
        background-size: cover !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        height: auto !important;
        min-height: 100vh;
        padding-top: 60px;
        padding-bottom: 60px;
    }

    /* 4. Ajusta o container para o texto não colar nas bordas */
    .hero-container {
        width: 100% !important;
        padding: 0 20px !important;
        display: block !important;
    }

    /* 5. Estiliza a caixa de texto (hero-glass) para dar leitura */
    .hero-glass {
        background: rgba(255, 255, 255, 0.1) !important; /* Efeito de vidro */
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        padding: 30px 20px !important;
        border-radius: 20px !important;
        margin-top: 20px !important;
    }

    /* 6. Força as cores do texto para branco/claro */
    .hero-glass h1, 
    .hero-subtitle, 
    .hero-description {
        color: #ffffff !important;
        text-align: center !important;
    }

    /* 7. Ajusta os botões para ocuparem a largura total no mobile */
    .hero-actions {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .cta-button {
        width: 100% !important;
        justify-content: center !important;
    }
}