/* Readable initial document before the existing application's stylesheet loads. */
body { margin: 0; background: #ece3ce; color: #1f3a2e; font-family: "DM Sans", sans-serif; }
.public-landing { max-width: 520px; margin: 0 auto; padding: 20px 16px; line-height: 1.55; }
.public-landing a { color: inherit; }
.public-landing h1, .public-landing h2, .public-landing h3, .public-landing-brand { font-family: "Fraunces", Georgia, serif; line-height: 1.15; font-weight: 500; }
.public-landing h1 { margin: 0; font-size: 32px; }
.public-landing h2 { font-size: 24px; }
.public-landing h3 { font-size: 19px; }
.public-landing p { font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; }
.public-landing-brand { display: block; margin-bottom: 16px; font-size: 28px; text-decoration: none; }
.public-landing-hero { background: #1f3a2e; color: #ece3ce; border-radius: 6px; overflow: hidden; }
.public-landing-hero > div { padding: 16px; }
.public-landing-image { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.public-landing-description, .public-landing section { padding: 16px; background: #faf6eb; border-radius: 4px; }
.public-landing-highlight { padding: 16px; color: #ece3ce; background: #7c1f2c; border-radius: 4px; }
.public-landing section { margin-top: 12px; }
.public-landing-dates { display: flex; flex-wrap: wrap; gap: 8px; }
.public-landing-dates a { padding: 10px 14px; border: 1px solid #5c4f40; border-radius: 6px; text-decoration: none; }
.public-landing-dates a[aria-current] { color: #ece3ce; background: #7c1f2c; border-color: #7c1f2c; }
