/* The same design language, composed to fit each physical format. */
.stationery{--paper:var(--theme-paper);--tone:var(--theme-ink);--light:color-mix(in srgb,var(--tone) 40%,var(--paper));padding:90px 68px;gap:14px;text-shadow:none}
.stationery:before{display:none}
.suite-frame{position:absolute;inset:22px;border:1px solid color-mix(in srgb,var(--tone) 32%,transparent);z-index:-1;pointer-events:none}
.suite-art{position:absolute;width:50%;height:32%;pointer-events:none;z-index:-1;overflow:hidden}
.suite-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:top left}
.suite-art-start{top:0;left:0}
.suite-art-end{bottom:0;right:0;transform:rotate(180deg)}
.stationery .message,.stationery .address,.stationery .tiny{ text-shadow:none }
.stationery .foot-brand{left:0;right:0;bottom:32px;font-size:6px;letter-spacing:1.4px;opacity:.7}
.stationery .rule{border-color:var(--light)}
.stationery[data-layout=formal] .suite-frame{border:3px double var(--light);inset:24px}
.stationery[data-layout=formal] .suite-frame:after{content:'';position:absolute;inset:8px;border:1px solid var(--light)}
.stationery[data-layout=editorial] .suite-frame{border-width:0 0 1px;inset:30px}
.stationery[data-layout=cosmic] .suite-frame{border-radius:90px 0 90px 0}
.stationery[data-layout=playful] .suite-frame{border:2px solid var(--light);border-radius:25px}
.stationery.invitation{height:700px;min-height:700px;justify-content:center}
.stationery.invitation .names{font-size:40px}
.stationery.invitation[data-layout=formal] .names{font-size:30px}
.stationery.invitation[data-layout=editorial]{padding:82px 70px;gap:12px}
.stationery.invitation[data-layout=editorial] .names{font-size:36px}
.stationery.invitation .message{font-size:13px}
.stationery.invitation .date-display{font-size:16px}
.stationery.invitation .venue{font-size:16px}
.stationery.invitation .tiny{font-size:8px}
.stationery.rsvp,.stationery.thanks{height:350px;min-height:350px;padding:36px 65px;gap:10px;text-align:center;justify-content:center}
.stationery.rsvp .suite-art,.stationery.thanks .suite-art{width:28%;height:50%}
.stationery.rsvp .overline,.stationery.thanks .overline{font-size:8px;letter-spacing:2px}
.stationery.rsvp h2,.stationery.thanks h2{font-size:34px}
.stationery.rsvp .tiny{font-size:8px;letter-spacing:.2px}
.stationery.rsvp .rsvp-lines{font-size:11px;line-height:1.5;text-align:left}
.stationery.rsvp .response-line{height:17px;border-color:var(--light)}
.stationery.rsvp .rsvp-options{flex-direction:row;gap:12px;font-size:10px;margin:5px 0}
.stationery.rsvp .foot-brand,.stationery.thanks .foot-brand{left:0;right:0;bottom:27px}
.stationery.thanks .message{font-size:14px;line-height:1.7}
.stationery.thanks .venue.names{font-size:20px;font-weight:400;letter-spacing:0;text-transform:none;margin:0;max-width:none}
.stationery.menu{height:900px;min-height:900px;padding:100px 62px;text-align:center;justify-content:center;gap:24px}
.stationery.menu .suite-art{width:64%;height:22%}
.stationery.menu h2{font-size:52px}
.stationery.menu .menu-course{font-size:18px;line-height:1.7;margin:0;padding:10px 0 24px;border-bottom:1px solid var(--light)}
.stationery.menu .course-number{font-size:8px;margin-bottom:12px}
.stationery.menu .rule{margin:0 auto}
.stationery.seating{height:792px;min-height:792px;padding:100px 70px 70px;text-align:center;justify-content:flex-start;gap:16px}
.stationery.seating .suite-art{width:42%;height:25%}
.stationery.seating h2{font-size:44px}
.stationery.seating .rule{margin:0 auto}
.stationery.seating .seating-grid{gap:30px 26px;margin:18px 0}
.stationery.seating .seating-grid section{padding:16px 4px;border-top:1px solid var(--light)}
.stationery.seating .seating-grid h3{font-size:21px;margin-bottom:12px}
.stationery.seating .seating-grid p{font-size:12px;line-height:2}
.stationery.welcome{height:792px;min-height:792px;padding:115px 80px;text-align:center;gap:25px}
.stationery.welcome .rule{margin:0 auto}
.stationery.welcome h2:not(.names){font-size:57px}
.stationery.welcome .names{font-size:44px;max-width:none}
.stationery.welcome .message{font-size:16px}
.stationery.custom-paper .suite-art{opacity:.4}
@media print{
 .stationery.invitation{padding:20mm 17mm;gap:3mm}
 .stationery.invitation[data-layout=editorial]{padding:19mm 17mm;gap:2.5mm}
 .stationery.invitation .names{font-size:29px}
 .stationery.invitation[data-layout=formal] .names{font-size:23px}
 .stationery.invitation[data-layout=editorial] .names{font-size:27px}
 .stationery.invitation .message{font-size:10px}
 .stationery.invitation .date-display,.stationery.invitation .venue{font-size:12px}
 .stationery.invitation .tiny{font-size:6px}
 .suite-frame,.stationery[data-layout=formal] .suite-frame{inset:5mm}
 .stationery .foot-brand{bottom:6.5mm;font-size:5px}
 .stationery.rsvp,.stationery.thanks{padding:8mm 16mm;gap:2mm}
 .stationery.rsvp h2,.stationery.thanks h2{font-size:25px}
 .stationery.rsvp .overline,.stationery.thanks .overline{font-size:6px}
 .stationery.rsvp .tiny{font-size:6px}
 .stationery.rsvp .rsvp-lines{font-size:8px;line-height:1.5}
 .stationery.rsvp .response-line{height:4mm}
 .stationery.rsvp .rsvp-options{font-size:8px;margin:1mm 0}
 .stationery.rsvp .foot-brand,.stationery.thanks .foot-brand{bottom:5mm}
 .stationery.thanks .message{font-size:10px}
 .stationery.thanks .venue.names{font-size:14px}
 .stationery.menu{padding:25mm 16mm;gap:6mm}
 .stationery.menu h2{font-size:36px}
 .stationery.menu .menu-course{font-size:13px;padding:3mm 0 6mm;margin:0}
 .stationery.menu .course-number{font-size:6px;margin-bottom:3mm}
 .stationery.seating{padding:32mm 24mm 24mm;gap:5mm}
 .stationery.seating h2{font-size:44px}
 .stationery.seating .seating-grid{gap:10mm 8mm;margin:6mm 0}
 .stationery.seating .seating-grid h3{font-size:21px}
 .stationery.seating .seating-grid p{font-size:12px}
 .stationery.welcome{padding:35mm 27mm;gap:8mm}
 .stationery.welcome .names{font-size:44px}
 .stationery.welcome h2:not(.names){font-size:57px}
}

/* Thumbnails use the same sharp standalone ornaments as the full suite. */
.mini-invite .suite-art{width:55%;height:40%;z-index:-1}
.mini-invite .suite-frame{inset:7px}
