.site{--wrap:1120px;background:var(--page);min-height:100dvh;color:var(--page-ink);font:400 1.0625rem/1.65 var(--body)}.site *{box-sizing:border-box}.site img{max-width:100%;height:auto;display:block}.site a{color:inherit}.site p{margin:0}.site :focus-visible{outline:3px solid var(--kicker);outline-offset:3px;border-radius:4px}.site .band{padding:clamp(56px, 8vw, 100px) max(16px, env(safe-area-inset-right,0px)) clamp(56px, 8vw, 100px) max(16px, env(safe-area-inset-left,0px));position:relative}.site .band.deep{background:var(--deep)}.site .wrap{max-width:var(--wrap);margin:0 auto}.site .wrap.narrow{max-width:720px}.site .center{text-align:center;justify-items:center;gap:14px;display:grid}.site .head{text-align:center;justify-items:center;gap:12px;margin-bottom:clamp(28px,4vw,44px);display:grid}.site .prose{align-content:center;gap:14px;max-width:34em;display:grid}.site .split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,6vw,72px);display:grid}.site .kicker{font:600 .84rem/1.35 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--kicker);margin:0}.site h2{font:400 clamp(1.9rem, 1.3rem + 2.2vw, 2.8rem)/1.1 var(--display);text-wrap:balance;overflow-wrap:anywhere;margin:0}.site h3{font:400 1.5rem/1.2 var(--display);margin:0}.site .orn{background:radial-gradient(circle, var(--kicker) 3px, transparent 3.5px) center / 9px 9px no-repeat, linear-gradient(var(--kicker), var(--kicker)) center / 100% 1px no-repeat;opacity:.85;width:56px;height:9px;display:block}.site .para{white-space:pre-line;max-width:36em}.site .muted{color:var(--muted)}.site .hint{text-align:center;color:var(--muted);margin-top:22px;font-size:.92rem}.site .band-hint{margin:0;padding:24px 16px}.site .sign{font:400 1.8rem/1.2 var(--display);color:var(--kicker)}.site .card{background:var(--card);color:var(--card-ink);box-shadow:0 0 0 1px var(--line);border-radius:18px;padding:24px}.site .btn{min-height:46px;font:600 .92rem/1.1 var(--body);letter-spacing:.03em;cursor:pointer;text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 24px;text-decoration:none;display:inline-flex}.site .btn.small{min-height:38px;padding:0 16px;font-size:.86rem}.site .btn.glow{background:var(--glow);color:var(--night)}.site .btn.ink{background:var(--accent);color:var(--accent-ink)}.site .btn.line{color:inherit;background:0 0;box-shadow:inset 0 0 0 1.5px}.site .btn:disabled{opacity:.6;cursor:default}.site .links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.site .row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.site .row input{border:1.5px solid var(--line);background:var(--card);min-width:0;min-height:48px;color:var(--card-ink);font:inherit;border-radius:999px;flex:220px;padding:0 18px}.site .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.site .preview-bar{color:#fff;text-align:center;background:#221d33;margin:0;padding:10px 16px;font:600 .9rem/1.4 system-ui,sans-serif}.site .preview-bar a{color:inherit}.site .by-name{flex-wrap:wrap;margin-top:10px}.site .by-name label:not(.sr-only){flex:1 0 100%;font-weight:700}.site .notice{background:var(--card);color:var(--card-ink);text-align:center;box-shadow:0 1px 0 var(--line);margin:0;padding:14px 16px;font-weight:600}.site .notice.bad{box-shadow:inset 0 0 0 2px #c0392b}.site .bar{z-index:5;background:color-mix(in srgb, var(--night) 93%, transparent);backdrop-filter:blur(8px);color:var(--night-ink);padding:0 max(16px, env(safe-area-inset-right,0px)) 0 max(16px, env(safe-area-inset-left,0px));position:sticky;top:0}.site .bar .wrap{align-items:center;gap:20px;min-height:60px;display:flex}.site .mono{font:400 1.6rem/1 var(--display);color:var(--glow);white-space:nowrap;text-decoration:none}.site .bar nav{scrollbar-width:none;gap:22px;margin-left:auto;display:flex;overflow-x:auto}.site .bar nav a{font:500 .875rem/1 var(--body);letter-spacing:.05em;white-space:nowrap;opacity:.86;padding:8px 0;text-decoration:none}.site .bar nav a:hover{opacity:1;text-underline-offset:6px;text-decoration:underline}.site .bar .btn{flex:none;min-height:40px;margin-left:auto}.site .bar nav+.btn{margin-left:0}.site .hero{background:var(--night);color:var(--night-ink);scroll-margin-top:60px;position:relative;overflow:hidden}.site .hero-words{text-align:center;z-index:1;justify-items:center;gap:8px;padding:clamp(40px,7vw,80px) 16px clamp(28px,4vw,44px);display:grid;position:relative}.site .hero .kicker{color:var(--glow)}.site .hero.with-photo .kicker{color:var(--night-ink)}.site .names{font:400 clamp(3.2rem, 2rem + 7vw, 7.5rem)/.95 var(--display);text-wrap:balance;overflow-wrap:anywhere;margin:0}.site .names .and{color:var(--glow)}.site .when{font:400 clamp(1.1rem, .95rem + .8vw, 1.5rem)/1.35 var(--display)}.site .count{font-variant-numeric:tabular-nums;gap:10px;margin-top:16px;display:flex}.site .count div{background:color-mix(in srgb, var(--night) 55%, transparent);min-width:76px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--glow) 45%, transparent);border-radius:12px;justify-items:center;padding:10px 8px 8px;display:grid}.site .count b{font:400 1.9rem/1 var(--display);color:var(--glow)}.site .count span{font:600 .68rem/1.7 var(--body);letter-spacing:.16em;text-transform:uppercase}.site .hero.with-photo{display:grid}.site .hero.with-photo>*{grid-area:1/1}.site .hero-img{object-fit:cover;width:100%;height:min(88vh,900px);min-height:520px}.site .hero.with-photo:after{content:"";background:linear-gradient(to top, color-mix(in srgb, var(--night) 88%, transparent) 0%, color-mix(in srgb, var(--night) 40%, transparent) 42%, transparent 70%);pointer-events:none;grid-area:1/1}.site .hero.with-photo .hero-words{z-index:2;text-shadow:0 2px 24px color-mix(in srgb, var(--night) 60%, transparent);align-self:end}.site .hero.with-photo:after{z-index:1}.site .hero.with-cover{justify-items:center;padding-bottom:clamp(40px,6vw,72px);display:grid}.site .cover{aspect-ratio:2/3;object-fit:cover;width:min(300px,70%);box-shadow:0 0 0 1px color-mix(in srgb, var(--glow) 40%, transparent), 0 30px 80px -30px #000000b3;border-radius:999px 999px 18px 18px}.site .events{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));margin:0;padding:0;list-style:none;display:grid}.site .events.n1{--cols:1;max-width:560px;margin:0 auto}.site .events.n2{--cols:2;max-width:880px;margin:0 auto}.site .event{text-align:center;align-content:start;justify-items:center;gap:6px;padding:0 clamp(14px,2.5vw,34px);display:grid}.site .event+.event{border-left:1px solid var(--line)}.site .events .event:nth-child(3n+1){border-left:0}.site .events.n3 .event:nth-child(n+4){margin-top:40px}.site .event h3{font-size:1.7rem}.site .event .time{font-weight:600}.site .event .note{color:var(--muted);margin-top:4px;font-size:.95rem}.site .event .btn{margin-top:10px}.site .timeline{text-align:left;margin:14px 0 4px;justify-self:stretch;max-width:360px;margin-inline:auto;padding:0;list-style:none;display:grid}.site .timeline li{grid-template-columns:5.5em 16px minmax(0,1fr);gap:12px;display:grid}.site .timeline time{font:400 1.05rem/1.5 var(--display);text-align:right;font-variant-numeric:tabular-nums}.site .timeline .dot{position:relative}.site .timeline .dot:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%}.site .timeline li:first-child .dot:before{top:.75em}.site .timeline li:last-child .dot:before{bottom:calc(100% - .75em)}.site .timeline .dot:after{content:"";background:var(--kicker);width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb, var(--kicker) 22%, transparent);border-radius:50%;margin-left:-5px;position:absolute;top:.45em;left:50%}.site .timeline .what{padding-bottom:16px;line-height:1.5}.site .people{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:28px 18px;margin:0;padding:0;list-style:none;display:grid}.site .people li{text-align:center;align-content:start;justify-items:center;gap:2px;display:grid}.site .people img,.site .people .initials{object-fit:cover;width:128px;height:128px;box-shadow:0 0 0 4px var(--page), 0 0 0 5px var(--line);border-radius:50%;margin-bottom:10px}.site .people .initials{background:var(--accent);color:var(--accent-ink);font-family:var(--display);place-items:center;font-size:2.2rem;display:grid}.site .people .role{font:600 .8rem/1.5 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--kicker)}.site .people .line{color:var(--muted);font-size:.95rem;line-height:1.45}.site .things{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.site .things li{align-content:start;gap:4px;display:grid}.site .things a{text-underline-offset:3px}.site .faq{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);align-items:start;gap:clamp(24px,5vw,72px);display:grid}.site .faq .side{gap:12px;display:grid;position:sticky;top:90px}.site details{border-top:1px solid var(--line)}.site details:last-child{border-bottom:1px solid var(--line)}.site summary{cursor:pointer;font:400 1.3rem/1.3 var(--display);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;list-style:none;display:flex}.site summary::-webkit-details-marker{display:none}.site summary:after{content:"+";font:400 1.6rem/1 var(--body);color:var(--kicker);transition:transform .2s}.site details[open] summary:after{transform:rotate(45deg)}.site details p{padding:0 0 22px}.site .tables{margin:6px 0 0;padding:0;font-size:1.25rem;list-style:none}.site .tables li+li{margin-top:6px}.site .you .card{gap:12px;display:grid}.site .yours{gap:14px;margin:0;padding:0;list-style:none;display:grid}.site .yours li{border-top:1px solid var(--line);justify-items:start;gap:2px;padding-top:14px;display:grid}.site .yours li:first-child{border-top:0;padding-top:0}.site .yours .btn{margin-top:8px}.site .notyou{margin:0}.site .linkish{color:inherit;font:inherit;text-underline-offset:3px;opacity:.8;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;text-decoration:underline}.site .wishes{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.site .wishes li{background:var(--card);color:var(--card-ink);box-shadow:0 0 0 1px var(--line);border-radius:16px;align-content:start;gap:8px;padding:18px 20px;display:grid}.site .wishes p{white-space:pre-line;line-height:1.5}.site .night{background:var(--night);color:var(--night-ink);--muted:color-mix(in srgb, var(--night-ink) 75%, var(--night));--line:color-mix(in srgb, var(--night-ink) 22%, var(--night));overflow-x:clip}.site .night .kicker{color:var(--glow)}.site .reply{background:var(--card);max-width:680px;color:var(--card-ink);--muted:color-mix(in srgb, var(--card-ink) 74%, var(--card));--line:color-mix(in srgb, var(--card-ink) 18%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--glow) 50%, transparent), 0 0 90px color-mix(in srgb, var(--glow) 26%, transparent);border-radius:22px;gap:14px;margin:0 auto;padding:clamp(28px,5vw,52px);display:grid}.site .reply .kicker{color:var(--kicker)}.site .reply .row{justify-content:flex-start;margin-top:4px}.site .reply .links{justify-content:flex-start}.site .lock label{line-height:1.5}.site .closing{text-align:center;justify-items:center;gap:6px;padding-top:clamp(44px,6vw,72px);padding-bottom:40px;display:grid}.site #rsvp+.closing{padding-top:0}.site .closing .names{font-size:clamp(2.8rem,2rem + 4vw,5rem)}.site .foot{letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-top:22px;font-size:.75rem;font-weight:700}.site .bar,.site .band,.site .hero{scroll-margin-top:60px}html:has(main.site){scroll-behavior:smooth;scroll-padding-top:64px}.site.editing [data-block]{cursor:pointer}.site.editing [data-block]:hover{outline:2px dashed var(--kicker);outline-offset:-8px}.site.editing [data-block]:hover:before{content:"Tap to edit";z-index:3;background:var(--kicker);color:var(--page);font:600 .75rem/1.4 var(--body);letter-spacing:.04em;border-radius:999px;padding:4px 10px;position:absolute;top:14px;right:14px}@media (width<=760px){.site .bar nav{display:none}.site .bar nav+.btn{margin-left:auto}.site .split,.site .faq{grid-template-columns:minmax(0,1fr)}.site .events{gap:34px;--cols:1!important}.site .event+.event{border-left:0;border-top:1px solid var(--line);padding-top:30px}.site .faq .side{text-align:center;justify-items:center;position:static}.site .count div{min-width:66px}.site .hero-img{height:78vh;min-height:460px}}@media (prefers-reduced-motion:reduce){.site summary:after{transition:none}html:has(main.site){scroll-behavior:auto}}
