/* ── envelope (shared mechanics) ── */
.mk-env { position: relative; width: calc(var(--u)*560); margin: calc(var(--u)*270) auto 0; transition: margin-top 1.4s cubic-bezier(.65, 0, .35, 1); min-height: calc(var(--u)*370);
  display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: calc(var(--u)*28); perspective: 1400px; }
.mk-env > svg { position: absolute; left: 0; width: 100%; overflow: visible; }
.mk-env[data-state="open"] { margin-top: calc(var(--u)*56); }
.mk-env-back { bottom: 0; height: calc(var(--u)*370); z-index: 1; filter: drop-shadow(0 calc(var(--u)*18) calc(var(--u)*26) rgba(40, 6, 14, .35)); }
.mk-env-front { bottom: 0; height: calc(var(--u)*370); z-index: 3; pointer-events: none; }
.mk-env-flap { bottom: calc(var(--u)*148); height: calc(var(--u)*222); z-index: 4; transform-origin: 50% 0; transition: transform .75s cubic-bezier(.45, 0, .2, 1); pointer-events: none; }
.mk-env-front path, .mk-env-flap path { stroke-width: 1; vector-effect: non-scaling-stroke; }
.mk-env.flap-behind .mk-env-flap { z-index: 1; }
.mk-env:not([data-state="closed"]) .mk-env-flap { transform: rotateX(180deg); }

.mk-paper { box-sizing: border-box; position: relative; z-index: 2; width: calc(var(--u)*500); margin: 0 auto; max-height: calc(var(--u)*300); overflow: hidden;
  transition: transform .85s cubic-bezier(.16, 1, .3, 1), max-height 1.4s cubic-bezier(.65, 0, .35, 1); }
/* the story ends above the pocket once it is out; while inside, the paper stays short enough to hide */
.mk-env[data-state="open"] .mk-paper { padding-bottom: calc(var(--u)*380); }
.mk-env[data-state="peek"] .mk-paper { transform: translateY(calc(var(--u)*-190)); }

.mk-env-btn { position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--u)*370); z-index: 6; padding: 0; border: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.mk-env-btn:disabled { pointer-events: none; }
.mk-env-btn:focus-visible { outline: 2px solid #cba162; outline-offset: 4px; border-radius: 8px; }
.mk-seal { position: absolute; left: 50%; top: calc(var(--u)*172); width: calc(var(--u)*104); translate: -50% 0; filter: drop-shadow(0 calc(var(--u)*4) calc(var(--u)*6) rgba(40, 6, 14, .4));
  transition: opacity .35s ease, scale .35s ease; animation: mk-breathe 2.8s ease-in-out infinite; }
@keyframes mk-breathe { 50% { scale: 1.06; } }
.mk-env:not([data-state="closed"]) .mk-seal { opacity: 0; scale: .7; animation: none; }
.mk-hint { margin: calc(var(--u)*30) 0 0; text-align: center; transition: opacity .4s ease; }
.mk-env:not([data-state="closed"]) + .mk-hint { opacity: 0; }

/* one-line event dates, a size smaller */
@media (prefers-reduced-motion: reduce) {
  .mk-env, .mk-env-flap, .mk-paper, .mk-seal, .mk-hint { transition: none !important; animation: none !important; }
}

/* Love Story — Calla Burgundy: marble, a burgundy envelope sealed with the design's wax seal */
.mk-story { --u: calc(100cqw / 720); position: relative; z-index: 96; overflow: hidden; padding: calc(var(--u)*90) 0 calc(var(--u)*130); text-align: center;
  background: #efe9df url("../assets/burgundy-elegant/gallery-bg.jpg") center top / 100% auto repeat-y; }
.mk-story .mk-orn-l { position: absolute; left: calc(var(--u)*-40); top: calc(var(--u)*60); width: calc(var(--u)*190); z-index: 7; pointer-events: none; }
.mk-story .mk-orn-r { position: absolute; right: calc(var(--u)*-34); bottom: calc(var(--u)*20); width: calc(var(--u)*150); z-index: 7; pointer-events: none; }
.mk-story .mk-kicker { margin: 0; font: 400 max(10px, calc(var(--u)*19))/1.4 'Google Sans Flex', 'Google Sans', system-ui, sans-serif; letter-spacing: .3em; padding-left: .3em; color: #7a6168; }
.mk-story .mk-h { margin: calc(var(--u)*10) 0 0; font: 500 calc(var(--u)*66)/1.05 'Cormorant Garamond', Georgia, serif; color: #5e1424; }
.mk-story .mk-hint { font: italic 400 calc(var(--u)*30)/1.3 'Instrument Serif', Georgia, serif; color: #7a6168; }

.mk-story .mk-env-back rect { fill: #5a1322; }
.mk-story .mk-env-front .l { fill: #741c2c; stroke: #5a1322; }
.mk-story .mk-env-front .r { fill: #6e1a2a; stroke: #5a1322; }
.mk-story .mk-env-front .b { fill: #7b2131; stroke: #5a1322; }
.mk-story .mk-env-flap path { fill: #82243a; stroke: #5a1322; }

.mk-story .mk-paper { background: #f3eee5; box-shadow: 0 calc(var(--u)*6) calc(var(--u)*18) rgba(70, 24, 30, .18); padding: calc(var(--u)*56) calc(var(--u)*44) calc(var(--u)*70); }
.mk-story .mk-paper::before { content: ""; position: absolute; inset: calc(var(--u)*14); border: 1px solid rgba(94, 20, 36, .18); pointer-events: none; }
.mk-story .mk-paper-to { margin: 0 0 calc(var(--u)*26); font: 400 max(10px, calc(var(--u)*18))/1.4 'Google Sans Flex', 'Google Sans', system-ui, sans-serif; letter-spacing: .3em; padding-left: .3em; color: #7a6168; text-transform: uppercase; }
.mk-story ol { list-style: none; margin: 0; padding: 0; }
.mk-story li + li::before { content: ""; display: block; width: calc(var(--u)*80); height: calc(var(--u)*2); margin: calc(var(--u)*34) auto; background: url("../assets/burgundy-elegant/events-divider.webp") center / 100% 100% no-repeat; }
.mk-story h3 { margin: 0; font: italic 400 calc(var(--u)*44)/1.15 'Instrument Serif', Georgia, serif; color: #5e1424; }
.mk-story li p { margin: calc(var(--u)*12) auto 0; max-width: calc(var(--u)*400); font: 400 max(12.5px, calc(var(--u)*21))/1.7 'Google Sans Flex', 'Google Sans', system-ui, sans-serif; color: #3d2a2e; text-wrap: pretty; }
.mk-story .mk-sign { margin: calc(var(--u)*40) 0 0; font: italic 400 calc(var(--u)*50)/1 'Instrument Serif', Georgia, serif; color: #5e1424; }

.lb2-t.mk-date1 { --size: 32 !important; }
