/* Scoped intro styles. Approved light artwork, dimensions and motion retained. */
html.opening-locked{overflow:hidden;scroll-behavior:auto}
body:not(.site-visible){overflow:hidden}
.envelope-shell{position:fixed;inset:0;z-index:10;pointer-events:none}
.opening-backdrop{position:absolute;inset:0;background:#f5eddf;pointer-events:auto}
.stage{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,calc(100svh * .562799));height:min(100svh,calc(100vw * 1.776833));isolation:isolate;overflow:hidden;background:#f5eddf;pointer-events:auto}
.stage .envelope{position:absolute;inset:0;z-index:3;opacity:1}
.stage .base,.stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill}
.stage canvas{pointer-events:none}
#dim-image{filter:brightness(.92)}
.envelope-open-hit{position:absolute;inset:0;z-index:6;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.envelope-open-hit:focus-visible{outline:2px solid #b58c48;outline-offset:-8px}
.stage .tap-hint,.stage .pause,.stage .opening-replay{z-index:5;position:absolute;font-family:Georgia,serif;font-size:11px;letter-spacing:.06em}
.stage .tap-hint{bottom:max(8%,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#6d4c26;text-shadow:0 1px 5px #fff7e7;pointer-events:none;transition:opacity .3s}
.stage .pause{right:18px;bottom:max(20px,env(safe-area-inset-bottom));border:1px solid #dac39266;border-radius:50%;width:38px;height:38px;background:#bd995a;color:#fff;font-size:17px;cursor:pointer}
.stage .opening-replay{bottom:max(7%,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:14px 18px;background:#fff8e9e8;border:1px solid #b89454;border-radius:2px;color:#79552a;cursor:pointer;white-space:nowrap}
.stage.playing .tap-hint,.stage.complete .tap-hint{opacity:0}
.stage.playing .seal-hit{pointer-events:none}
.stage .opening-scene{position:absolute;inset:0;z-index:4;background:transparent;overflow:hidden;pointer-events:none}
.stage .opening-aperture{position:absolute;inset:0;overflow:hidden;clip-path:polygon(0 0,100% 0,50% 48.3%);-webkit-clip-path:polygon(0 0,100% 0,50% 48.3%)}
#opening-interior{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transform-origin:50% 48.3%;will-change:transform}
#opening-body{z-index:1;transform-origin:50% 100%;will-change:opacity,transform}
.stage .flap-perspective{position:absolute;inset:0;z-index:2;perspective:calc(100svh * 1.8);perspective-origin:50% 0;transform-style:preserve-3d}
#opening-flap{transform-origin:50% 0;backface-visibility:hidden;will-change:transform,opacity}
.stage .opening-aperture:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48.3%,#fffef8 0%,#fff9df 8%,#ffe099 21%,#ffdd8a70 37%,transparent 58%);opacity:var(--opening-radiance,0)}
#invitation-page{opacity:0;position:relative;min-height:100svh}
#page-title:focus{outline:none}
.replay-opening-link{display:block;margin:0 auto;background:transparent;border:0;color:inherit;text-shadow:inherit;font:9px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px;padding:12px;min-height:44px;cursor:pointer}
