/* City Lovers invitation: the shared server content, with this collection's art direction. */
.invite-city {--paper:#f0ecdf;--ink:#141411;--accent:#f477a8;--line:#14141155;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic","Microsoft JhengHei",sans-serif}
.invite-city button {color:var(--ink);font-weight:700;border-color:var(--ink)}
.invite-city .invite-cover {background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);padding:clamp(60px,7vw,110px);min-height:100svh;isolation:isolate}
.invite-city .invite-cover:after {display:none}
.invite-city .invite-art {position:relative;inset:auto;width:100%;height:auto;max-height:76svh;aspect-ratio:1.04;object-fit:contain;z-index:0;transform:rotate(-2deg);background:var(--ink);border:12px solid var(--paper);box-shadow:9px 10px 0 #f477a8}
.invite-city .invite-cover-frame {border:0;outline:0;width:100%;min-height:0;padding:20px 0;gap:26px;justify-content:center;max-width:100%;min-width:0}
.invite-city.invite-city .invite-cover-names {font-family:"Arial Black","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(36px,5.2vw,78px);line-height:1;font-weight:900;font-style:italic;letter-spacing:-.055em;margin:0;overflow-wrap:anywhere}
.invite-city .invite-cover-names em {color:var(--accent);font-family:Georgia,serif;font-size:.7em;line-height:1.3}
.invite-city .invite-date {display:inline-block;background:#f4d94b;color:var(--ink);padding:8px 15px;font-weight:800;letter-spacing:.04em;transform:rotate(-3deg);margin:8px 0}
.invite-city .invite-cover .invite-actions [data-open-invitation] {background:var(--accent);color:var(--ink);border:1px solid var(--accent);box-shadow:4px 4px 0 #f4d94b}
.invite-city .invite-design-return {background:var(--paper);color:var(--ink);border-color:var(--ink);font-family:inherit;font-weight:600}
.invite-city .invite-letter {max-width:940px;padding:90px 44px;text-align:left}
.invite-city .invite-letter h1 {font:900 clamp(34px,5vw,64px)/1.3 "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:-.04em;margin:28px 0}
.invite-city .invite-letter h2 {font-family:inherit;font-weight:800;line-height:1.4}
.invite-city .invite-eyebrow {display:inline-block;padding:8px 14px;background:var(--ink);color:var(--paper);font-family:inherit;font-weight:800;letter-spacing:.12em;transform:rotate(-2deg)}
.invite-city.invite-city .invite-letter-names {font-family:"Arial Black",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:900;font-style:italic;letter-spacing:-.04em}
.invite-city .invite-rule {border-top:4px solid var(--accent);max-width:100%;margin:36px 0}
.invite-city .invite-programme {max-width:100%;margin:28px 0}
.invite-city .invite-programme li {border-color:var(--line)}
.invite-city .invite-programme time {font-family:inherit;font-weight:800}
.invite-city .invite-actions {justify-content:flex-start}
.invite-city .invite-cover .invite-actions {justify-content:center}
.invite-city .wedding-fallback-response {background:#f4d94b;font-weight:700}
.invite-city .rsvp-dialog {font-family:inherit;background:var(--paper);color:var(--ink);border:2px solid var(--ink)}
.invite-city .rsvp-dialog::backdrop {background:#141411d9}
.invite-city .invite-read-direct {background:#f4d94b;color:var(--ink)}
@media(max-width:700px){
 .invite-city .invite-cover {grid-template-columns:1fr;gap:30px;padding:76px 28px 38px;min-height:100svh;align-content:center}
 .invite-city .invite-art {max-height:44svh;max-width:100%;border-width:8px;box-shadow:6px 7px 0 #f477a8}
 .invite-city .invite-cover-frame {padding:0;gap:17px}
 .invite-city.invite-city .invite-cover-names {font-size:clamp(32px,9vw,50px);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:12px;line-height:1.15}
 .invite-city .invite-cover-names em {display:inline;line-height:1.2}
 .invite-city .invite-date {font-size:15px;margin:0}
 .invite-city .invite-actions {gap:16px;margin:14px 0}
 .invite-city .invite-letter {padding:64px 24px}
 .invite-city .invite-letter h1 {font-size:34px}
 .invite-city .invite-programme li {gap:16px}
}
