:root{color-scheme:dark;--paper:#eee5cf;--lichen:#b5ad66;--damson:#251b24;--muted:#c4b9ad}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 15%,#49313b 0%,#251b24 52%,#19161b 100%);color:var(--paper);font-family:Georgia,'Times New Roman',serif;line-height:1.6}main{width:min(100%,1000px);margin:auto;padding:36px 32px 38px}.broadside{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);box-shadow:0 25px 70px #09060980,0 2px 5px #0005;animation:arrive 1.8s ease-out both}.poster{display:block;width:100%;height:auto}.atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen}.crest-light{position:absolute;left:38%;top:.2%;width:24%;height:16%;border-radius:50%;background:radial-gradient(ellipse,#ffdc963d,transparent 70%);animation:breathe 24s ease-in-out infinite}.ember-light{position:absolute;left:87%;top:41%;width:8%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#ffc35d70,transparent 70%);animation:fire 3.9s ease-in-out infinite alternate}.glint{position:absolute;width:1.2%;height:1%;background:radial-gradient(ellipse,#fff9dcaa,transparent 65%);opacity:0;animation:glint 19s ease-in-out infinite}.glint-one{left:49.7%;top:2%;animation-delay:6s}.glint-two{left:62.9%;top:2.6%;animation-delay:14s}.wisp{position:absolute;left:89%;top:41%;width:3%;height:6%;border-radius:50%;filter:blur(8px);background:linear-gradient(100deg,transparent,#efe4c72b,transparent);opacity:0;animation:drift 14s ease-out infinite}.wisp-two{animation-delay:7s}.signature-cover{position:absolute;left:32%;top:86.7%;width:36%;height:9.5%;background:#eee5cf;animation:sign 1.8s 1.5s ease-in-out both;pointer-events:none}.utilities{display:flex;justify-content:space-between;gap:20px;padding:14px 1px;font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.02em}.utilities a,.utilities button{color:var(--muted);text-decoration:none}.utilities button{font:inherit;background:none;border:0;padding:0;cursor:pointer;min-height:44px}.utilities a{display:flex;align-items:center;min-height:44px}.utilities a:hover,.utilities button:hover{color:var(--paper)}a:focus-visible,button:focus-visible{outline:2px solid var(--lichen);outline-offset:6px}.particulars{text-align:center;max-width:570px;margin:58px auto 0}.eyebrow{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;color:var(--lichen)}h2{font-size:clamp(2.4rem,6vw,3.6rem);font-weight:400;line-height:1.1;margin:20px 0 8px}.year{font-style:italic;color:var(--muted);margin-top:0;font-size:1.1rem}.invitation-copy{margin:34px auto;font-size:1.125rem;max-width:490px}.invitation-copy strong{font-weight:400;color:#fff4df}.feast{font-size:clamp(1.3rem,3vw,1.7rem);color:var(--lichen);margin:30px 0 12px}.particulars>p:not(.eyebrow){font-size:1.125rem}.particulars>.feast{font-size:clamp(1.3rem,3vw,1.7rem)}.address{margin-top:26px}.parking{color:var(--muted)}.parking strong{text-transform:uppercase;font-size:.95rem;letter-spacing:.05em}.actions{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:30px}.actions a{color:var(--paper);font-family:Arial,sans-serif;font-size:.875rem;text-decoration:none;border-bottom:1px solid #b5ad665e;padding:12px 0}.actions a:hover{border-color:var(--lichen)}.actions span{margin-left:12px;color:var(--lichen)}footer{text-align:center;margin-top:65px;padding-top:25px;border-top:1px solid #b5ad6629}footer p{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}footer span{font-size:.8rem;color:var(--muted);letter-spacing:.18em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes breathe{0%,100%{opacity:.2}50%{opacity:.85}}@keyframes fire{0%,31%,80%{opacity:.25}20%,65%,100%{opacity:.75}}@keyframes glint{0%,84%,100%{opacity:0}90%{opacity:.8}}@keyframes drift{0%{opacity:0;transform:translate(0,0) scale(.6)}25%{opacity:.45}100%{opacity:0;transform:translate(-14px,-65px) scale(1.7)}}@keyframes sign{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 100%)}}
.paused .atmosphere *{animation-play-state:paused}.paused .atmosphere{opacity:0}.paused .signature-cover{display:none}.paused .broadside{animation:none}@media(max-width:600px){main{padding:12px 10px 30px}.utilities{padding:10px 5px;font-size:.8rem}.particulars{padding:0 18px;margin-top:38px}.broadside{box-shadow:0 12px 35px #0006}.invitation-copy{margin:28px auto}footer{margin-top:50px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.atmosphere,.signature-cover{display:none}}@media print{body{background:white}main{padding:0;width:100%}.broadside{box-shadow:none;animation:none}.utilities,.particulars,footer,.atmosphere,.signature-cover{display:none}}
:root .living-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.living-art[hidden]{display:none}
.atmosphere .glint-one{width:2%;height:1.6%;left:49.2%;top:5.4%;animation-duration:11s;animation-delay:1s}
.atmosphere .glint-two{width:1.7%;height:1.4%;left:54.1%;top:3.3%;animation-duration:13s;animation-delay:5s}
@media(prefers-reduced-motion:reduce){.living-art{display:none!important}}
.broadside .signature-cover{display:none;animation:none}
.broadside .signature-cover.signature-armed{display:block;clip-path:inset(0)}
.broadside .signature-cover.signature-playing{animation:sign 1.8s .15s ease-in-out both}
.paused .broadside .signature-cover{display:none}
@media(prefers-reduced-motion:reduce){.broadside .signature-cover{display:none!important}}
@media print{.broadside .signature-cover,.living-art{display:none!important}}
.chilito-secret{position:absolute;z-index:5;left:88.7%;top:51.7%;width:8.4%;height:3.8%;border-radius:3px;cursor:pointer}
.chilito-secret:focus-visible{outline:3px solid #251b24;outline-offset:2px;background:#fff3}
.secret-open{overflow:hidden}
.secret-dialog{padding:0;border:1px solid #b5ad66;border-radius:6px;background:#eee5cf;max-width:none;max-height:none;width:min(850px,94vw,90dvh);overflow:visible;box-shadow:0 20px 90px #0009}
.secret-dialog::backdrop{background:#120d16d9}
.secret-dialog>img{display:block;width:100%;height:auto;border-radius:5px}
.secret-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:1px solid #eee5cf80;border-radius:50%;background:#251b24ed;color:#fff3d9;font:30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px #0005}
@media print{.chilito-secret,.secret-dialog{display:none!important}}
