/* A quiet handoff from the envelope to one flat, readable sheet. */
.obituary-letter:has(> .obituary-paper-heading) {
 --paper-top:42px;--paper-side:36px;--paper-bottom:36px;--paper-stock:#fcfcf9;
 padding:0;min-height:0;
}
.obituary-paper-heading,.obituary-paper-fold { position:relative;display:flow-root;background:var(--paper-stock); }
.obituary-paper-heading { padding:var(--paper-top) var(--paper-side) 0; }
.obituary-paper-fold { padding:0 var(--paper-side) var(--paper-bottom); }
.obituary-sample-hero .obituary-letter:has(> .obituary-paper-heading) { --paper-top:28px;--paper-side:30px;--paper-bottom:28px;--paper-stock:#fffffc; }
.home-obituary-example .obituary-letter:has(> .obituary-paper-heading) { --paper-top:24px;--paper-side:18px;--paper-bottom:24px;--paper-stock:#fffffc; }
.home-obituary-example__stage,.obituary-envelope-card { --obituary-motion-duration:2.8s;perspective:1400px;perspective-origin:50% 0; }
.home-obituary-example__stage { --home-envelope-top:24px; }
.home-obituary-envelope__back { box-shadow:0 4px 14px #0000000a; }
.home-obituary-envelope__flap,.home-obituary-envelope__flap-back { backface-visibility:hidden; }
.home-obituary-envelope__flap-back { position:absolute;z-index:1;inset:var(--home-envelope-top) 4% auto;aspect-ratio:2.78;clip-path:polygon(0 0,100% 0,50% 100%);background:#f5f6ef;transform-origin:center top;transform:rotateX(180deg); }
.home-obituary-example.is-envelope-ready .home-obituary-example__paper { opacity:0;transform:translateY(14px); }
.home-obituary-example.is-envelope-opening .home-obituary-example__paper { animation:home-obituary-paper-unfold var(--obituary-motion-duration) cubic-bezier(.25,.1,.25,1) both;will-change:opacity,transform; }
.obituary-envelope-card.is-opening .obituary-letter { z-index:2;animation:obituary-letter-unfold var(--obituary-motion-duration) cubic-bezier(.25,.1,.25,1) both;will-change:opacity,transform; }

/* Only the lid rotates; the envelope stays still as the sheet takes its place. */
.home-obituary-example.is-envelope-opening .home-obituary-envelope__flap,
.obituary-envelope-card.is-opening .obituary-envelope-flap { animation:obituary-quiet-flap-front var(--obituary-motion-duration) cubic-bezier(.4,0,.2,1) both; }
.home-obituary-example.is-envelope-opening .home-obituary-envelope__flap-back,
.obituary-envelope-card.is-opening .obituary-envelope-flap-back { animation:obituary-quiet-flap-back var(--obituary-motion-duration) cubic-bezier(.4,0,.2,1) both; }
.home-obituary-example.is-envelope-opening :is(.home-obituary-envelope__back,.home-obituary-envelope__pocket,.home-obituary-envelope__address),
.obituary-envelope-card.is-opening :is(.obituary-envelope-back,.obituary-envelope-pocket,.obituary-envelope-face) { animation:obituary-quiet-envelope var(--obituary-motion-duration) ease both; }

.obituary-envelope-back,.obituary-envelope-pocket,.obituary-envelope-flap-back { position:absolute;inset:0;pointer-events:none;border-radius:3px; }
.obituary-envelope-back { z-index:0;background:linear-gradient(145deg,#f4f5ef,#fafbf6);box-shadow:0 4px 14px #20281b08; }
.obituary-envelope-pocket { z-index:3;clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%);background:linear-gradient(135deg,#fdfdf9,#f6f7f1);border:1px solid #daddd2; }
.obituary-envelope-pocket:before,.obituary-envelope-pocket:after { content:"";position:absolute;inset:0; }
.obituary-envelope-pocket:before { clip-path:polygon(0 0,50% 48%,0 100%);background:linear-gradient(130deg,#fafbf5,#f1f3eb); }
.obituary-envelope-pocket:after { clip-path:polygon(100% 0,50% 48%,100% 100%);background:linear-gradient(230deg,#fafbf5,#f1f3eb); }
.obituary-envelope .obituary-envelope-flap,.obituary-envelope-flap-back { inset:0 0 auto;height:48%;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:center top;backface-visibility:hidden; }
.obituary-envelope .obituary-envelope-flap { z-index:5;background:linear-gradient(#fdfdf9,#f3f5ed); }
.obituary-envelope-flap-back { z-index:1;transform:rotateX(180deg);background:#f5f6ef; }
.obituary-envelope .obituary-envelope-face { z-index:6; }
.obituary-envelope-card.is-opening .obituary-envelope { display:contents; }
.obituary-envelope-card.is-opening .obituary-envelope:before { display:none; }
.obituary-envelope-card.is-opening :is(.obituary-envelope-back,.obituary-envelope-pocket) { inset:0 0 auto;height:var(--envelope-height); }
.obituary-envelope-card.is-opening :is(.obituary-envelope-flap,.obituary-envelope-flap-back) { inset:0 0 auto;height:calc(var(--envelope-height) * .48); }
.obituary-envelope-card.is-opening .obituary-envelope-face { position:absolute;inset:0 0 auto;height:var(--envelope-height);min-height:0;pointer-events:none; }

@keyframes home-obituary-paper-unfold {
 0%,44% { opacity:0;transform:translateY(14px); }
 100% { opacity:1;transform:translateY(0); }
}
@keyframes obituary-letter-unfold {
 0%,44% { opacity:0;transform:translateY(14px); }
 100% { opacity:1;transform:translateY(0); }
}
@keyframes obituary-quiet-envelope {
 0%,26% { opacity:1; }
 42%,100% { opacity:0; }
}
@keyframes obituary-quiet-flap-front {
 0% { transform:rotateX(0);opacity:1; }
 26% { opacity:1; }
 28% { transform:rotateX(-150deg); }
 42%,100% { transform:rotateX(-150deg);opacity:0; }
}
@keyframes obituary-quiet-flap-back {
 0% { transform:rotateX(180deg);opacity:1; }
 26% { opacity:1; }
 28% { transform:rotateX(30deg); }
 42%,100% { transform:rotateX(30deg);opacity:0; }
}
@media(max-width:600px) {
 .obituary-letter:has(> .obituary-paper-heading) { --paper-top:32px;--paper-side:22px;--paper-bottom:29px; }
}
@media(max-width:560px) {
 .obituary-sample-hero .obituary-letter:has(> .obituary-paper-heading) { --paper-top:24px;--paper-side:20px;--paper-bottom:24px; }
}
@media(max-width:820px) {
 .home-obituary-example .obituary-letter:has(> .obituary-paper-heading) { --paper-top:26px;--paper-side:22px;--paper-bottom:26px; }
}
@media(prefers-reduced-motion:reduce) {
 .home-obituary-example.is-envelope-ready .home-obituary-example__link { background:#fffffc;border-color:#deded6; }
 .home-obituary-example.is-envelope-ready .home-obituary-example__paper,
 .obituary-envelope-card.is-opening .obituary-letter { animation:none;opacity:1;transform:none; }
 .home-obituary-example.is-envelope-ready .home-obituary-envelope,
 .home-obituary-example__replay,.obituary-envelope-card.is-opening .obituary-envelope { display:none; }
}
