:root { --ink: #9e0d31; --muted: #9e0d31; --paper: #f7f0df; --line: #9e0d31; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: Montserrat, Arial, sans-serif; margin: 0; }
.page { margin: 0 auto; max-width: 760px; min-height: 100vh; padding: 2.3rem 1.5rem 5rem; text-align: center; }
.site-header { margin: 0 auto; }
.eyebrow { font-family: "Mrs Saint Delafield", cursive; font-size: clamp(3.3rem, 9vw, 5.5rem); font-weight: 400; line-height: .8; margin: .15rem 0 2.5rem; transform: rotate(-5deg); }
h1, h2, .date, .place, .wedding-day p { font-family: Italiana, Georgia, serif; font-weight: 400; text-transform: uppercase; }
h1 { font-size: clamp(1.55rem, 3.1vw, 2.2rem); letter-spacing: .14em; margin: 0; }
h1 span { font-size: .85em; padding: 0 .08em; }
.secret-birds-link { color: inherit; font-size: .85em; padding: 0 .08em; text-decoration: none; }
.event-line, .countdown, nav, .wedding-day span { font-size: .53rem; letter-spacing: .12em; text-transform: uppercase; }
.event-line { margin: .5rem 0 0; }.event-line span { padding: 0 .35rem; }.countdown { margin: .2rem 0 0; }
nav { border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: .35rem .8rem; justify-content: center; margin: 1.8rem auto 1.35rem; padding-bottom: .45rem; }
nav a { color: var(--muted); text-decoration: none; } nav a.active, nav a:hover, nav a:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: .25rem; }
.hero { margin: 0 auto; max-width: 520px; }.hero > img { aspect-ratio: 1.93 / 1; display: block; object-fit: cover; width: 100%; }
.hero-details { align-items: center; display: flex; justify-content: center; margin: 1.2rem auto .85rem; }.date, .place { font-size: clamp(1rem, 2vw, 1.35rem); letter-spacing: .08em; line-height: 1.15; margin: 0; }.divider { background: var(--line); height: 3.3rem; margin: 0 2.6rem; width: 1px; }
.rsvp-button { background: var(--ink); color: #fff; display: inline-block; font-size: .48rem; font-weight: 600; letter-spacing: .08em; padding: .28rem .55rem; text-decoration: none; }.rsvp-button:hover, .rsvp-button:focus-visible { background: var(--muted); }
.wedding-day { margin-top: 2rem; }.wedding-day p { font-size: .9rem; letter-spacing: .12em; margin: 0 0 .2rem; }.wedding-day span { color: var(--muted); }
.content-section { border-top: 1px solid var(--line); margin: 5rem auto 0; max-width: 520px; padding-top: 2.5rem; }.content-section.standalone { margin-top: 3rem; }.content-section h2 { font-size: 1.5rem; letter-spacing: .12em; margin: 0 0 1rem; }.content-section > p { color: var(--muted); font-size: .8rem; line-height: 1.8; margin: 0 auto; max-width: 430px; }.gallery { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }.gallery img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }.home-link { color: inherit; display: inline-block; text-decoration: none; }
.microsoft-form-placeholder { border: 1px solid var(--line); margin-top: 1.5rem; padding: 2.5rem 1rem; }.microsoft-form-placeholder span { color: var(--muted); font-size: .55rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }.microsoft-form-placeholder p { font-family: Italiana, Georgia, serif; font-size: 1.1rem; margin: .65rem 0 0; }
.bird-page { max-width: 1120px; }.bird-gallery-section { margin-top: 1rem; }.bird-title { font-family: Italiana, Georgia, serif; font-size: 1.8rem; font-weight: 400; letter-spacing: .12em; margin: 0 0 1.5rem; text-transform: uppercase; }.bird-title a { color: inherit; text-decoration: none; }.bird-title a:hover, .bird-title a:focus-visible { text-decoration: underline; text-underline-offset: .25rem; }.bird-gallery { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }.bird-gallery img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
@media (max-width: 480px) { .page { padding: 1.8rem 1.1rem 4rem; }.eyebrow { margin-bottom: 2rem; }.hero-details { margin-top: 1rem; }.divider { margin: 0 1.6rem; } nav { gap: .35rem .55rem; }.content-section { margin-top: 3.5rem; }.bird-gallery { grid-template-columns: repeat(2, 1fr); } }
