:root { color-scheme: light; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #382b46; background: #fffaf1; }
* { box-sizing: border-box; }
body { margin: 0; padding: 24px; }
a { color: #4a385e; text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid #8d70bd; outline-offset: 5px; border-radius: 3px; }
.card { max-width: 880px; margin: 5vh auto; overflow: hidden; border: 1px solid #eadfd1; border-radius: 34px; background: #fffdf9; box-shadow: 0 24px 80px rgb(62 45 79 / 8%); }
.confetti { position: relative; height: 170px; overflow: hidden; background: #fff0ca; }
.confetti i { position: absolute; width: 13px; height: 13px; border-radius: 3px; transform: rotate(35deg); }
.confetti i:nth-child(1) { left: 8%; top: 25%; background: #85dcce; border-radius: 50%; }
.confetti i:nth-child(2) { left: 22%; top: 62%; background: #aa2066; }
.confetti i:nth-child(3) { left: 38%; top: 22%; background: #f4d54c; border-radius: 50%; }
.confetti i:nth-child(4) { left: 55%; top: 55%; background: #8d70bd; }
.confetti i:nth-child(5) { left: 79%; top: 20%; background: #f98610; }
.confetti i:nth-child(6) { left: 89%; top: 65%; background: #4b998f; border-radius: 50%; }
.confetti i:nth-child(7) { left: 68%; top: 79%; background: #aa2066; }
.confetti i:nth-child(8) { left: 12%; top: 81%; background: #f98610; }
.intro { padding: 62px 24px 68px; text-align: center; }
h1 { margin: 0; font-size: clamp(2.2rem, 6vw, 3.6rem); line-height: 1.12; letter-spacing: -.055em; }
.tagline { max-width: 390px; margin: 22px auto 30px; color: #65596d; font-size: 1.2rem; line-height: 1.65; }
.invite { display: inline-block; margin: 0; padding: 10px 18px; border-radius: 30px; background: #edf9f6; color: #356e67; font-size: .9rem; font-weight: 650; }
.service { max-width: 560px; margin: 38px auto 0; }
.service h2 { font-size: 1.25rem; line-height: 1.4; }
.service p { color: #65596d; line-height: 1.75; }
footer { padding: 22px 24px; border-top: 1px solid #eee5dc; text-align: center; color: #65596d; font-size: .83rem; }
footer p { margin: 0 0 8px; }
footer nav { display: flex; align-items: center; justify-content: center; gap: 0 24px; flex-wrap: wrap; }
footer a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.document { max-width: 720px; margin: 24px auto; padding: 32px; border: 1px solid #eadfd1; border-radius: 24px; background: #fffdf9; }
.document > nav a { display: inline-flex; align-items: center; min-height: 44px; }
.document h1 { margin-top: 24px; font-size: 2.4rem; }
.document h2 { margin: 30px 0 8px; font-size: 1.15rem; }
.document p, .document li { line-height: 1.75; }
.document a { overflow-wrap: anywhere; }
.document ul { padding-left: 22px; }
.effective-date { font-size: .85rem; color: #65596d; }
@media (max-width: 480px) {
  body { padding: 14px; }
  .card { margin: 18px auto; border-radius: 26px; }
  .confetti { height: 125px; }
  .intro { padding: 44px 20px 48px; }
  .tagline { font-size: 1.05rem; }
  footer { padding: 20px 12px; }
  footer nav { gap: 0 18px; }
  .document { margin: 12px auto; padding: 22px; }
}
