        :root {
            --bg-color-fallback: #210049;
            --gold-color: #dca838;
            --gold-dim: #c59733;
            --card-border: rgba(220, 168, 56, 0.4);
            --contact-box-bg: rgba(25, 0, 54, 0.85);
            --btn-bg: #0d001c;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        /*FUNDO: degradê no html para crescer com a página*/
        html {
            background:
                radial-gradient(ellipse 100% 30% at 50% 22%, #40006b 0%, transparent 60%),
                linear-gradient(to bottom,
                    #160025 0%,
                    #160025 10%,
                    #200036 22%,
                    #320054 35%,
                    #40006b 52%,
                    #320054 70%,
                    #200036 85%,
                    #160025 100%
                );
            background-repeat: no-repeat;
            background-size: 100% 100%;
            min-height: 100%;
        }

        body {
            background: transparent;
            color: var(--gold-color);
            font-family: 'Playfair Display', serif;
            line-height: 1.6;
            overflow-x: hidden;
            min-height: 100vh;
            position: relative;
        }

        /* ── OVERLAY DE ESCURECIMENTO (do seu amigo) ── */
        .scroll-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background-color: #000;
            opacity: 0;
            z-index: 2;
            pointer-events: none;
            transition: opacity 0.1s linear;
        }

        /* Garante que o conteúdo fique acima do overlay */
        header, section, footer {
            position: relative;
            z-index: 3;
            padding: 4rem 2rem;
        }

        .hero-section {
            min-height: 70vh;
            /* trava a proporção exata da imagem 1366x768 */
            aspect-ratio: 1366 / 768;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            background-image: url('fundo_poetico.png');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            -webkit-mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
            mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
        }

        .logo-container h1 {
        font-size: 5rem;
        font-weight: 600;
        margin-top: 0;
        letter-spacing: 1.5px;
        }

        .logo-container .subtitle {
            font-size: 1.8rem;
            letter-spacing: 2px;
            color: var(--gold-dim);
        }

        .logo-container .subtitle {
        margin-top: 0.2rem;
        }

        .logo-img {
            max-width: 320px;
            height: auto;
        }

        .about-section {
            display: flex;
            justify-content: center;
        }

        .ornate-box {
            max-width: 850px;
            padding: 3.5rem 4rem;
            text-align: center;
            border: 3px double var(--gold-color);
            background-color: rgba(0,0,0, 0.3);
        }

        .ornate-box h2 {
            font-size: 2.2rem;
            margin-bottom: 2rem;
            font-weight: 700;
        }

        .ornate-box p {
            font-size: 1.25rem;
            line-height: 1.8;
            color: var(--gold-dim);
        }

        .packages-section {
            text-align: center;
        }

        .section-title {
            font-size: 2.5rem;
            margin-bottom: 3.5rem;
        }

        .packages-grid {
            display: flex;
            justify-content: center;
            gap: 2rem;
            max-width: 1050px;
            margin: 0 auto;
            flex-wrap: wrap;
        }

        .card {
            flex: 1;
            min-width: 300px;
            padding: 3.5rem 2.5rem;
            border: 2px solid var(--card-border);
            background: linear-gradient(180deg, rgba(33,0,73,0.1) 0%, rgba(0,0,0,0.4) 100%);
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
            transition: all 0.4s ease;
        }

        .card:hover {
            border-color: var(--gold-color);
            transform: translateY(-10px);
            box-shadow: 0 10px 30px rgba(220, 168, 56, 0.2);
        }

        .card h3 {
            font-size: 2.1rem;
            margin-bottom: 2.2rem;
        }

        .card p {
            font-size: 1.15rem;
            color: var(--gold-dim);
            text-align: left;
        }

        .contact-section {
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 80vh;
            justify-content: center;
            text-align: center;
        }

        .contact-title { font-size: 2.5rem; color: var(--gold-color); }
        .contact-subtitle { font-size: 1.3rem; margin-bottom: 4rem; color: var(--gold-dim); }

        .ornate-card-wrapper {
            position: relative;
            max-width: 850px;
            width: 100%;
        }

        
        .ornate-card-wrapper::before { top: -25px; left: 40px; font-size: 2.5rem; }
        .ornate-card-wrapper::after  { top: -10px; right: 60px; font-size: 1.8rem; }

        .ornate-card {
            background: linear-gradient(180deg, rgba(33,0,73,0.4) 0%, rgba(0,0,0,0.7) 100%);
            border: 2px solid var(--card-border);
            padding: 5rem 3rem;
            box-shadow: 0 15px 50px rgba(0, 0, 0, 0.5);
            border-radius: 4px;
        }

        .ornate-card p {
            font-size: 1.3rem;
            margin-bottom: 2.5rem;
            color: var(--gold-dim);
        }

        .btn-contato {
            background-color: var(--btn-bg);
            color: var(--gold-color);
            border: 1px solid var(--card-border);
            padding: 1.2rem 3.5rem;
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .btn-contato:hover {
            background-color: var(--gold-color);
            color: var(--btn-bg);
            border-color: var(--gold-color);
        }

        footer {
            text-align: center;
            padding: 3rem 2rem;
            background-color: rgba(0,0,0, 0.4);
            font-size: 0.95rem;
        }

	   .footer-copyright {
	       color: #533a6d;
	   }

	   .footer-cnpj {
	       color: #533a6d;
	   }

        @media (max-width: 768px) {
            .ornate-box { padding: 2rem; }
            .logo-container h1 { font-size: 2.5rem; }
            .ornate-card { padding: 3rem 1.5rem; }
            .ornate-card-wrapper::before { left: 10px; }
            .ornate-card-wrapper::after  { right: 20px; }
        }
