.home-weddings { background: #f2eaf6; }
.home-weddings-content { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; align-items: center; }
.home-weddings-content img { width: 100%; height: 340px; object-fit: cover; object-position: center 36%; border-radius: 40px 40px 10px 10px; box-shadow: 0 16px 35px #2c3e501a; }
.home-weddings-eyebrow { font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: #793894; margin-bottom: 16px; }
.home-weddings h2 { font-size: 2.5rem; line-height: 1.2; margin-bottom: 24px; }
.home-weddings p { margin-bottom: 24px; }
.home-weddings .btn:hover { color: #793894; }
@media(max-width:700px) { .home-weddings-content { grid-template-columns: 1fr; gap: 30px; } .home-weddings h2 { font-size: 2rem; } .home-weddings-content img { max-width: 380px; margin: auto; } }

/* The announcement stays beneath the home-page hero's original buttons. */
.home-hero { height: auto; min-height: max(600px, 80vh); padding: 130px 0 64px; }
.hero-wedding-callout { width: 100%; max-width: 640px; margin: 28px auto 0; background: #fffaf2; color: #34495e; border: 1px solid #f2e3df; border-radius: 18px; box-shadow: 0 12px 30px rgba(44, 24, 52, .14); }
.hero-wedding-badge { display: inline-block; padding: 3px 9px; border-radius: 20px; background: #e74c3c; color: #fff; font-size: .7rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.hero-wedding-link { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 24px; border-radius: 18px; color: #6d293f; white-space: nowrap; }
.hero-wedding-question { font-family: 'Playfair Display', serif; font-size: 1.45rem; font-weight: 600; }
.hero-wedding-invite { font-size: .95rem; font-weight: 500; }
.hero-wedding-link:hover { color: #793894; }
.hero-wedding-link:hover .hero-wedding-invite { text-decoration: underline; text-underline-offset: 4px; }
.hero-wedding-link:focus-visible { outline: 3px solid #793894; outline-offset: 5px; border-radius: 3px; }
@media(max-width:576px) {
    .home-hero { padding: 120px 0 48px; }
    .hero-wedding-link { gap: 10px; padding: 14px 20px; }
    .hero-wedding-question { font-size: 1.15rem; }
    .hero-wedding-invite { display: none; }
}
