:root {
            --bg-color-fallback: #210049;
            --gold-color: #d4a017;
            --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: Cambria, Georgia, serif;
            line-height: 1.6;
            overflow-x: hidden;
            min-height: 100vh;
            position: relative;
            padding-top: 68px;
        }

        /* ── OVERLAY DE ESCURECIMENTO ── */
        .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('../imagens/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;
            flex-direction: column;
            gap: 3rem;
            align-items: 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: center;
        }

        .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 {
    display: inline-block; /* ← ISSO resolve a base */
    background-color: var(--btn-bg);
    color: var(--gold-color);
    border: 1px solid var(--card-border);
    padding: 1.2rem 2rem;
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;

    text-align: center;
    text-decoration: none;
}

        .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;
	   }

.footer-link {
    color: #533a6d;
    font-size: 0.85rem;
    text-decoration: none;
    display: block;
    margin-top: 0.8rem;
}

.footer-link:hover {
    color: var(--gold-color);
}

@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; }
    .btn-contato {
        width: 100%;
        max-width: 280px;
        padding: 1rem 1.2rem;
        font-size: 1rem;
        letter-spacing: 0.5px;
    }
}

/* ── NAVBAR ── */
nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    height: 68px;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 clamp(1.2rem, 5vw, 4rem);
    background: rgba(14,0,28,.75);
    backdrop-filter: blur(20px) saturate(1.3);
    -webkit-backdrop-filter: blur(20px) saturate(1.3);
    border-bottom: 1px solid rgba(220,168,56,.18);
}

.nav-logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.nav-logo img { height: 38px; width: auto; display: block; }

.nav-links {
    display: flex; align-items: center;
    gap: clamp(.9rem, 2.5vw, 2rem);
    list-style: none;
}
.nav-links a {
    font-size: .82rem; font-weight: 400;
    color: rgba(220,168,56,.55); text-decoration: none;
    letter-spacing: .1em; text-transform: uppercase;
    font-family: 'Playfair Display', serif;
    transition: color .25s; white-space: nowrap;
}
.nav-links a:hover { color: #f2ead8; }
.nav-links a.active {
    color: var(--gold-color);
    border-bottom: 1px solid rgba(220,168,56,.5);
    padding-bottom: 2px;
}
.nav-links a.nav-orcamento {
    color: var(--gold-color);
    border: 1px solid rgba(220,168,56,.5);
    padding: .32rem .9rem;
    transition: background .25s, color .25s;
}
.nav-links a.nav-orcamento:hover { background: var(--gold-color); color: #0e001c; }

.nav-hamburger {
    display: none; flex-direction: column; gap: 5px;
    cursor: pointer; background: none; border: none; padding: 4px;
}
.nav-hamburger span {
    display: block; width: 22px; height: 1px; background: var(--gold-color);
    transition: transform .3s, opacity .3s;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 860px) {
    .nav-links { display: none; }
    .nav-hamburger { display: flex; }
    .nav-links.active {
        display: flex; flex-direction: column;
        position: fixed; top: 68px; left: 0; right: 0;
        background: rgba(14,0,28,.97);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(220,168,56,.18);
        padding: 1.5rem clamp(1.5rem, 5vw, 4rem);
        gap: 1.2rem; z-index: 99;
    }
    footer { flex-direction: column !important; text-align: center; }
}

/* ── HERO TAGLINE + SCROLL HINT ── */
.hero-tagline {
    font-size: clamp(.85rem, 1.5vw, 1rem);
    font-style: italic;
    color: rgba(197,151,51,.6);
    letter-spacing: .08em;
    margin-top: 1rem;
}

.hero-scroll-hint {
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  opacity: .35;
  margin-top: 2.5rem;
}
.hero-scroll-hint span {
    font-size: .62rem; letter-spacing: .22em; text-transform: uppercase;
    color: var(--gold-color);
}
.hero-scroll-line {
    width: 1px; height: 40px;
    background: linear-gradient(to bottom, var(--gold-color), transparent);
    animation: scrollLine 2.2s ease-in-out infinite;
}
@keyframes scrollLine {
    0%   { transform: scaleY(0); transform-origin: top; }
    50%  { transform: scaleY(1); transform-origin: top; }
    51%  { transform-origin: bottom; }
    100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}

/* ── DIVIDER ── */
.divider {
    display: flex; align-items: center; justify-content: center;
    gap: 1.2rem; padding: 0 clamp(1.5rem, 8vw, 9rem);
    margin: .5rem 0;
}
.divider-line {
    flex: 1; height: 1px;
    background: linear-gradient(to right, transparent, rgba(220,168,56,.2), transparent);
}
.divider-glyph { color: var(--gold-color); font-size: .9rem; opacity: .5; }

/* ── CARD NUM + INCLUDES + CTA ── */
.card-num {
    font-size: 2.8rem; font-weight: 600;
    color: var(--gold-color); opacity: .12;
    line-height: 1; margin-bottom: .3rem;
}

.card-includes {
    list-style: none;
    display: flex; flex-direction: column; gap: .55rem;
    margin-top: 1.6rem;
}
.card-includes li {
    font-size: .9rem;
    color: rgba(197,151,51,.7);
    padding-left: 1.2rem; position: relative;
    line-height: 1.5;
}
.card-includes li::before {
    content: '✦';
    position: absolute; left: 0;
    font-size: .5rem; top: .38rem;
    color: var(--gold-color); opacity: .5;
}

.card-cta {
    display: inline-block;
    margin-top: 1.8rem;
    font-size: .78rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--gold-color); text-decoration: none;
    border-bottom: 1px solid rgba(220,168,56,.3);
    padding-bottom: 2px;
    transition: border-color .3s, opacity .3s;
    font-family: 'Playfair Display', serif;
}
.card-cta:hover { border-color: var(--gold-color); opacity: .75; }

/* ── FOOTER NOVO ── */
footer {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 2.5rem clamp(1.5rem, 8vw, 9rem) !important;
}

.footer-logo-link { display: flex; align-items: center; text-decoration: none; }

.footer-social { display: flex; gap: 1.2rem; align-items: center; }
.footer-social a { color: #533a6d; text-decoration: none; transition: color .3s; }
.footer-social a:hover { color: var(--gold-color); }

/* ── DROPDOWN CONTATO ── */
.nav-dropdown { position: relative; }

.nav-dropdown-toggle { cursor: pointer; }

.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(14,0,28,.97);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(220,168,56,.25);
  min-width: 180px;
  padding: .6rem 0;
  z-index: 200;
}
.nav-dropdown-menu.open { display: block; }

.nav-dropdown-menu a {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .75rem 1.2rem;
  font-size: .82rem;
  color: rgba(220,168,56,.65) !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-bottom: none !important;
  transition: color .2s, background .2s;
  text-decoration: none;
}
.nav-dropdown-menu a:hover {
  color: #f2ead8 !important;
  background: rgba(220,168,56,.07);
}
@media (max-width: 600px) {
  .hero-scroll-hint { display: none; }
}