.ct-envelope-trigger:not([hidden]){border:0;background:none;text-decoration:underline;cursor:pointer;padding:0;font-family:inherit}
.ct-envelope-trigger[hidden]{display:none}
.ct-envelope-dialog{box-sizing:border-box;width:clamp(285px,calc((100dvh - 1.5rem) * .715),30rem);max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:0;border:0;border-radius:2px;background:#451b22;color:#4e2026;box-shadow:0 1rem 4rem #16080bcc;overscroll-behavior:contain}
.ct-envelope-dialog::backdrop{background:#231015b8;backdrop-filter:blur(3px)}
.ct-envelope-close{position:absolute;z-index:2;top:5px;right:5px;width:40px;height:40px;border:1px solid #fff7e5a0;border-radius:50%;background:#532329;color:#fff6e6;font:1.45rem/1 system-ui;cursor:pointer}
.ct-invite-card{position:relative;aspect-ratio:736 / 1029;background:#451b22 url("/assets/come-through-invitation-card.jpg") center / 100% 100% no-repeat;container-type:inline-size;text-align:center}
.ct-invite-card::before{content:"";position:absolute;inset:20.3% 8% 20%;background:linear-gradient(111deg,#e9e3d4,#e4dcc9);clip-path:polygon(0 0,100% 0,100% 75%,91% 83%,70% 100%,30% 100%,9% 83%,0 75%);pointer-events:none}
.ct-invite-copy{position:absolute;inset:22% 12% auto;display:flex;flex-direction:column;align-items:center;gap:1.65cqw;color:#4e2026;font:500 clamp(12px,3.15cqw,15px)/1.25 var(--sans,system-ui,sans-serif)}
.ct-invite-copy p,.ct-invite-copy h2{margin:0}
.ct-invite-copy .ct-invite-brand{font-size:clamp(10px,2.5cqw,12px);text-transform:uppercase;letter-spacing:.16em}
.ct-invite-copy h2{font:600 clamp(31px,10cqw,54px)/.94 var(--serif,Georgia,serif);color:inherit;letter-spacing:-.03em}
.ct-invite-subtitle{font:italic 600 clamp(16px,5.15cqw,25px)/1.02 var(--serif,Georgia,serif)}
.ct-invite-copy .ct-invite-rule{display:flex;align-items:center;gap:.45em;color:#793a40;line-height:1}
.ct-invite-rule::before,.ct-invite-rule::after{content:"";width:8cqw;height:1px;background:#875b56}
.ct-invite-date{font-weight:700}
.ct-invite-note{max-width:32ch}
.ct-invite-price{font-weight:600}
.ct-invite-pay{display:inline-flex;justify-content:center;align-items:center;gap:.4em;padding:.48em .9em;min-height:36px;border-radius:999px;background:#6a2934;color:#fff7e5;text-decoration:none;font-weight:700}
.ct-invite-pay:hover{background:#4c1922;color:#fff7e5}
.ct-invite-details{color:#552330;text-underline-offset:.22em;font-size:clamp(11px,2.85cqw,14px)}
.ct-envelope-dialog a:focus-visible,.ct-envelope-close:focus-visible{outline:2px solid #9b644b;outline-offset:2px}
@media(max-width:355px){.ct-invite-copy{gap:1.1cqw}.ct-invite-note{max-width:27ch}}
/* Recolor the envelope folds while leaving the paper and gold seal visible. */
.ct-envelope-dialog{background:#321a2e}
.ct-envelope-dialog::backdrop{background:#21121fb8}
.ct-envelope-close,.ct-invite-pay{background:#321a2e}
.ct-invite-pay:hover{background:#4e2b46}
.ct-invite-aubergine{position:absolute;inset:0;pointer-events:none;mix-blend-mode:color}
.ct-invite-aubergine::before,.ct-invite-aubergine::after{content:"";position:absolute;inset:0;background:#613751}
.ct-invite-aubergine::before{clip-path:polygon(0 0,100% 0,100% 63%,96.8% 65%,96.8% 2.8%,3.2% 2.8%,3.2% 65%,0 63%)}
.ct-invite-aubergine::after{clip-path:polygon(0 62%,50% 89%,100% 62%,100% 100%,0 100%);mask-image:radial-gradient(ellipse 12% 8.3% at 50% 88%,transparent 94%,#000 100%)}
