/* Guester envelope: scoped enhancement, with an opaque shared 3D scene. */
.grnp-scene{--grnp-envelope-ready:1;--grnp-envelope-rotate-x:0deg;--grnp-envelope-rotate-y:0deg;--grnp-envelope-rotate-z:0deg;--grnp-envelope-scroll-y:0px;--grnp-envelope-scroll-x:0deg}
.grnp-envelope-scroll,.grnp-envelope-pose,.grnp-envelope-shell,.grnp-release-reveal,.grnp-release-slide{position:absolute;inset:0;width:100%;height:100%;transform-style:preserve-3d}
.grnp-envelope-scroll,.grnp-envelope-pose,.grnp-release-reveal,.grnp-release-slide{transform:none}
.grnp-envelope-shell,.grnp-envelope-open{display:none}
.grnp-envelope-shell,.grnp-envelope-scroll,.grnp-envelope-pose{pointer-events:none}
.grnp-envelope-open{pointer-events:auto}
.grnp-scene[data-grnp-envelope-state=open] .grnp-flip-toggle,.grnp-scene:not([data-grnp-envelope-enhanced]) .grnp-flip-toggle{pointer-events:auto}
.grnp-envelope-shell[hidden],.grnp-envelope-open[hidden]{display:none!important}
.grnp-scene[data-grnp-envelope-enhanced]{transform-style:preserve-3d}
.grnp-scene[data-grnp-envelope-enhanced][data-grnp-envelope-state=sealed] .grnp-envelope-shell,.grnp-scene[data-grnp-envelope-enhanced][data-grnp-envelope-state=opening] .grnp-envelope-shell{display:block}
.grnp-scene[data-grnp-envelope-enhanced][data-grnp-envelope-state=sealed] .grnp-envelope-open{display:block}
.grnp-scene[data-grnp-envelope-enhanced]:not([data-grnp-envelope-state=open]) .grnp-envelope-scroll{transform:translateY(var(--grnp-envelope-scroll-y)) rotateX(var(--grnp-envelope-scroll-x))}
.grnp-scene[data-grnp-envelope-enhanced]:not([data-grnp-envelope-state=open]) .grnp-envelope-pose{transform:rotateX(var(--grnp-envelope-rotate-x)) rotateY(var(--grnp-envelope-rotate-y)) rotateZ(var(--grnp-envelope-rotate-z));transition:transform 600ms cubic-bezier(.2,.8,.2,1)}
.grnp-scene[data-grnp-envelope-enhanced][data-grnp-envelope-tilting] .grnp-envelope-pose{transition:transform 90ms cubic-bezier(.2,.6,.3,1);will-change:transform}
.grnp-scene[data-grnp-envelope-enhanced][data-grnp-envelope-tilting][data-grnp-envelope-tilt-entering] .grnp-envelope-pose{transition-duration:400ms;transition-timing-function:cubic-bezier(.2,.8,.2,1)}
.grnp-scene[data-grnp-envelope-enhanced]:not([data-grnp-envelope-state=open]) .grnp-release-reveal{transform:translateZ(6px);pointer-events:none}
.grnp-scene[data-grnp-envelope-enhanced]:not([data-grnp-envelope-state=open]) .grnp-release-slide{transform:translateY(0%) scale(.84)}
.grnp-envelope-back,.grnp-envelope-lining,.grnp-envelope-pocket,.grnp-envelope-flap{position:absolute;inset:0}
.grnp-envelope-back{border-radius:10px;background-image:url("paper-fibers.svg"),linear-gradient(152deg,#faf9f6 0%,#f4f3ef 47%,#e5e3dd 100%);background-size:384px 384px,100% 100%;background-blend-mode:multiply,normal;box-shadow:0 28px 52px rgba(46,42,34,.14),0 9px 16px rgba(46,42,34,.07),0 1px 1px rgba(46,42,34,.16),inset 0 1px 0 rgba(255,255,253,.95),inset 0 -2px 1px rgba(133,128,116,.26);transform:translateZ(0)}
.grnp-envelope-back::after{content:"";position:absolute;left:.15%;right:.15%;bottom:-2px;height:5px;border-radius:0 0 10px 10px;background:linear-gradient(#d8d5cc,#f8f7f2 45%,#d9d6cf);transform:translateZ(-1px)}
.grnp-envelope-lining{inset:.6% .5% .5%;border-radius:8px;background-image:url("paper-fibers.svg"),linear-gradient(180deg,#d6d3ca 0%,#e8e6df 18%,#eeece6 68%,#e5e2da 100%);background-size:384px 384px,100% 100%;background-blend-mode:multiply,normal;box-shadow:inset 0 8px 13px rgba(77,71,59,.09),inset 1px 0 2px rgba(77,71,59,.13);transform:translateZ(1px)}
.grnp-envelope-pocket{transform:translateZ(14px);transform-style:preserve-3d;pointer-events:none}
.grnp-envelope-side--left,.grnp-envelope-side--right,.grnp-envelope-bottom{position:absolute;inset:0;border-radius:10px;background-size:384px 384px,100% 100%;background-blend-mode:multiply,normal}
.grnp-envelope-side--left{clip-path:polygon(0 0,54% 51%,0 100%);background-image:url("paper-fibers.svg"),linear-gradient(117deg,#f9f8f4 0%,#eeede7 72%,#dedbd2 100%);transform:translateZ(.2px)}
.grnp-envelope-side--right{clip-path:polygon(100% 0,46% 51%,100% 100%);background-image:url("paper-fibers.svg"),linear-gradient(249deg,#f4f3ee 0%,#eae8e1 73%,#d8d4c9 100%);transform:translateZ(.4px)}
.grnp-envelope-bottom{clip-path:polygon(0 100%,0 98.9%,47.8% 46%,49% 45.2%,51% 45.2%,52.2% 46%,100% 98.9%,100% 100%);background-image:url("paper-fibers.svg"),linear-gradient(168deg,#eceae3 0%,#faf9f5 45%,#f4f3ed 80%,#eeece5 100%);box-shadow:inset 0 -1px 0 rgba(133,128,116,.25);transform:translateZ(.8px)}
.grnp-envelope-pocket::before,.grnp-envelope-pocket::after{content:"";position:absolute;top:100%;height:1px;width:61%;background:linear-gradient(90deg,transparent,rgba(151,144,129,.18) 15%,rgba(132,125,111,.1) 80%,transparent);transform-origin:left center;pointer-events:none}
.grnp-envelope-pocket::before{left:0;transform:translateZ(.9px) rotate(-34.5deg)}
.grnp-envelope-pocket::after{right:0;transform-origin:right center;transform:translateZ(.9px) rotate(34.5deg)}
.grnp-envelope-flap{bottom:auto;height:60%;transform:translateZ(18px) rotateX(0deg);transform-origin:50% 0;transform-style:preserve-3d;pointer-events:none}
.grnp-envelope-flap-front,.grnp-envelope-flap-back{position:absolute;inset:0;border-radius:10px 10px 3px 3px;clip-path:polygon(0 0,100% 0,100% 2.4%,53% 96.4%,51.4% 98.6%,50% 99.2%,48.6% 98.6%,47% 96.4%,0 2.4%);backface-visibility:hidden;-webkit-backface-visibility:hidden;background-size:384px 384px,100% 100%;background-blend-mode:multiply,normal}
.grnp-envelope-flap-front{background-image:url("paper-fibers.svg"),linear-gradient(166deg,#fcfbf8 0%,#f6f5f0 44%,#e9e6dd 100%);box-shadow:inset 0 1px 0 rgba(255,255,253,.95);filter:drop-shadow(0 3px 1.3px rgba(75,68,53,.17));transform:translateZ(.6px)}
.grnp-envelope-flap-back{background-image:url("paper-fibers.svg"),linear-gradient(20deg,#e0dcd1,#f3f1e9 68%,#e9e5da);transform:rotateY(180deg) translateZ(.6px)}
.grnp-envelope-flap-back::after{content:"";position:absolute;inset:4% 4% 5%;clip-path:polygon(0 0,100% 0,51% 98%,49% 98%);background:linear-gradient(155deg,rgba(238,233,218,.6),rgba(210,204,185,.23));border-top:1px solid rgba(170,160,136,.2)}
.grnp-envelope-seal-seat{position:absolute;top:89%;left:50%;width:clamp(56px,10%,96px);aspect-ratio:1;transform:translate(-50%,-50%) translateZ(6px);transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.grnp-envelope-seal{position:absolute;inset:0;transform:translateZ(0);transform-style:preserve-3d}
.grnp-envelope-seal img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.grnp-envelope-emboss{position:absolute;left:5.5%;top:13%;bottom:auto;display:flex;flex-direction:column;align-items:center;gap:7px;width:118px;color:#a5a298;font-family:grnp-FavoritMono,monospace;font-size:9px;font-weight:400;line-height:1.3;letter-spacing:.18em;transform:none;text-shadow:0 1px 0 rgba(255,255,252,.9);pointer-events:none}
/* The return address is print-small on purpose, but the document's own floor is
   9px (see .grnp-front-caption's clamp); below that it stops being readable. */
.grnp-envelope-emboss img{display:block;width:92px;height:auto;opacity:.13;filter:drop-shadow(0 1px 0 rgba(255,255,252,.8))}
.grnp-envelope-open{position:absolute;inset:0;z-index:40;width:100%;height:100%;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer;color:var(--grnp-muted,#5F6165);touch-action:manipulation}
.grnp-envelope-open:focus-visible{outline:2px solid var(--grnp-slate,#57657C);outline-offset:8px}
.grnp-envelope-hint{position:absolute;top:calc(100% + 20px);left:50%;display:block;width:max-content;transform:translateX(-50%);font-family:grnp-Oracle,Arial,sans-serif;font-size:12px;font-weight:400;line-height:18px;letter-spacing:.02em;color:var(--grnp-muted,#5F6165)}
.grnp-envelope-open:hover .grnp-envelope-hint{color:var(--grnp-ink,#1B1C1E)}
.grnp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:599px){.grnp-envelope-back,.grnp-envelope-side--left,.grnp-envelope-side--right,.grnp-envelope-bottom{border-radius:10px}.grnp-envelope-flap{height:52%}.grnp-envelope-seal-seat{top:92%;width:clamp(56px,18%,72px)}.grnp-envelope-emboss{left:5.5%;top:13%;bottom:auto;width:102px;gap:6px;font-size:9px}.grnp-envelope-emboss img{width:78px}.grnp-envelope-pocket::before{width:85%;transform:translateZ(.9px) rotate(-54deg)}.grnp-envelope-pocket::after{width:85%;transform:translateZ(.9px) rotate(54deg)}.grnp-envelope-hint{font-size:11px;top:calc(100% + 18px)}}
@media(prefers-reduced-motion:reduce){.grnp-scene[data-grnp-envelope-enhanced] .grnp-envelope-pose{transition:none!important;transform:none!important}.grnp-scene[data-grnp-envelope-enhanced] .grnp-envelope-scroll{transform:none!important}}

.grnp-envelope-shell,.grnp-envelope-open{user-select:none;-webkit-user-select:none}

.grnp-back > .grnp-paper-texture{position:absolute;inset:0;display:block;width:100%;height:100%;background-image:url("paper-fibers.svg");background-repeat:repeat;background-size:384px 384px;pointer-events:none}

/* One corner print split across the two real paper surfaces at the fold. */
.grnp-envelope-corner-ink{position:absolute;inset:0;pointer-events:none;clip-path:polygon(0 1.44%,47% 57.84%,48.6% 59.16%,50% 59.52%,50% 100%,0 100%)}
.grnp-envelope-corner-ink > .grnp-envelope-emboss{top:7.8%}
@media(max-width:599px){.grnp-envelope-corner-ink{clip-path:polygon(0 1.248%,47% 50.128%,48.6% 51.272%,50% 51.584%,50% 100%,0 100%)}.grnp-envelope-corner-ink > .grnp-envelope-emboss{top:6.76%}}

/* Guester Axis brand (2026-09): the emboss carries the 1313x212 lockup. */
.grnp-envelope-emboss img[width="1313"]{height:auto;aspect-ratio:1313/212;object-fit:contain}
