:root {
    --comete-purple: #41205d;
    --comete-gold: #b58a3a;
    --comete-red: #9b2730;
    --comete-soft: #fbf7ef;
}

html { scroll-behavior: smooth; }
body { font-family: "Inter", sans-serif; color: #29242d; }
h1, h2, h3, .brand-copy strong { font-family: "Cormorant Garamond", serif; }

.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { color: #8c6429; font-size: 2rem; font-weight: 600; }
.brand-copy small { color: #4c4650; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }

.nav-link { color: #2f2934; font-size: .9rem; font-weight: 500; }
.nav-link:hover, .nav-link.active { color: var(--comete-gold); }

.hero-section { background: radial-gradient(circle at 75% 45%, #fff7d8 0, var(--comete-soft) 35%, #fff 78%); }
.hero-art { width: min(370px, 76vw); aspect-ratio: 1; display: grid; place-items: center; }
.hero-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 12px 30px rgba(181,138,58,.16)); }

.text-purple { color: var(--comete-purple) !important; }
.text-gold { color: var(--comete-gold) !important; }
.bg-soft, .newsletter-section { background-color: var(--comete-soft) !important; }
.border-gold { border-color: rgba(181, 138, 58, .32) !important; }

.btn-comete, .btn-purple { background: var(--comete-red); border-color: var(--comete-red); color: white; }
.btn-comete:hover, .btn-purple:hover { background: #812029; border-color: #812029; color: white; }
.btn-outline-comete { border-color: var(--comete-gold); color: #8b6729; }
.btn-outline-comete:hover { background: var(--comete-gold); border-color: var(--comete-gold); color: white; }
.btn-gold { background: var(--comete-gold); border-color: var(--comete-gold); color: white; }
.btn-gold:hover { background: #9d762f; border-color: #9d762f; color: white; }

.service-icon { color: var(--comete-gold); font-size: 2.5rem; line-height: 1; }
.event-date { font-family: "Cormorant Garamond", serif; font-size: 1.65rem; font-weight: 600; text-transform: uppercase; }

@media (max-width: 991.98px) {
    .navbar-collapse { padding-top: 1rem; }
    .brand-copy strong { font-size: 1.65rem; }
}
