.landing-wrap { width: min(100%, 1080px); padding-top: 24px; gap: 40px; }
.landing-nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.landing-nav .brand { margin: 0; text-decoration: none; }
.landing-nav nav { display: flex; flex-wrap: wrap; gap: 12px; }
.landing-nav [aria-current="page"] { font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.landing-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(24px, 5vw, 64px); }
.landing-copy h1 { font-size: clamp(2.6rem, 5vw, 4rem); margin: 16px 0 24px; }
.landing-copy > p { margin-bottom: 20px; }
.landing-copy .rsvp-btn { text-decoration: none; padding: 14px 22px; }
.landing-copy .setup-note { font-size: .9rem; margin-top: 12px; }
.preview-label { text-align: center; margin-bottom: 12px; font-size: .85rem; letter-spacing: 2px; text-transform: uppercase; }
.sample-invitation { padding: 24px var(--card-spacing, 24px); text-align: var(--card-alignment, center); }
.sample-invitation p { margin-top: 16px; }
.sample-invitation .sample-date { font-weight: 600; color: inherit; }
.landing-details { padding: clamp(24px, 4vw, 40px); background: var(--card-surface, var(--paper)); border: 1px solid var(--border); border-radius: 20px; }
.landing-details h2 { font-size: 2rem; margin-bottom: 24px; }
.landing-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; list-style-position: inside; }
.landing-steps li::marker { color: inherit; font-weight: 700; }
.landing-steps h3 { display: inline; font-size: 1.05rem; }
.landing-steps p { margin-top: 12px; }
.landing-footer { text-align: center; padding-bottom: 12px; }
@media (max-width: 720px) {
    .landing-hero, .landing-steps { grid-template-columns: 1fr; }
    .landing-copy { text-align: center; }
    .landing-nav { justify-content: center; }
    .landing-nav nav { justify-content: center; }
}
