/* Public wedding page: shared type roles. Admin retains its own compact styles. */
body.wedding-page {
  --font-body: Arial, Helvetica, sans-serif;
  --font-heading: Georgia, 'Times New Roman', serif;
  --text-body: 1.125rem;
  --text-small: 1rem;
  --text-section: 2.5rem;
  --text-subheading: 1.5rem;
  --text-item: 1.25rem;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.65;
}
.wedding-page :is(h1,h2,h3,h4) {
  font-family: var(--font-heading);
  font-weight: 400;
  font-style: normal;
  letter-spacing: -.02em;
  line-height: 1.25;
}
body.wedding-page h2 {
  font-size: var(--text-section);
  font-style: normal;
  letter-spacing: -.02em;
}
body.wedding-page :is(h3,.practical-grid article>h3,#kladsel h3,#barn h3,#presenter h3) {
  font-size: var(--text-subheading);
  line-height: 1.3;
}
body.wedding-page h4 {font-size: var(--text-item);line-height:1.35}
body.wedding-page .hero h1 {font-size:clamp(3rem,8vw,6rem);line-height:1.15;letter-spacing:-.04em}
body.wedding-page .hero h1 em {font-style:normal}
body.wedding-page :is(.lead,.hero-meta,.timeline li>p:last-child,.contact .two-columns p,.rsvp-preview p,#presenter .practical-copy p:first-child) {
  font-family:var(--font-body);
  font-size:var(--text-body);
  font-style:normal;
  line-height:1.65;
}
body.wedding-page :is(nav,.button,.hero-top,.hero-bottom,.schedule-heading p,.time,.memories-caption,.memories-caption button,label,footer,.rsvp-preview .small) {
  font-family:var(--font-body);
  font-size:var(--text-small);
  line-height:1.5;
  letter-spacing:normal;
}
body.wedding-page .eyebrow {font-family:var(--font-body);font-size:var(--text-small);line-height:1.5;letter-spacing:.06em;font-weight:600}
body.wedding-page :is(input,select,textarea,button) {font-family:var(--font-body);font-size:var(--text-small);line-height:1.5}
body.wedding-page :is(.brand,footer>a:first-child,.step) {font-family:var(--font-heading);font-size:var(--text-subheading);line-height:1.3}
body.wedding-page p {max-width:65ch}
body.wedding-page .welcome .lead {max-width:60ch}
@media(max-width:760px) {
  body.wedding-page {--text-body:1rem;--text-section:2rem;--text-subheading:1.375rem}
  body.wedding-page nav {gap:1rem}
  body.wedding-page .hero-meta {flex-direction:column;gap:.25rem}
  body.wedding-page .hero-meta span:nth-child(2) {display:none}
}
