.entry-active{overflow:hidden}
.christmas-entry{overflow:hidden!important}
.christmas-entry .entry-content{height:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;justify-content:safe center}
.entry-content>*{flex-shrink:0}
.christmas-entry{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;color:#f7efdd;background:#10271f;overflow:auto;isolation:isolate;transition:opacity .55s ease .45s,filter .7s ease .2s}
.christmas-entry::backdrop{background:#10271f}
.entry-backdrop{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 42%,#4c634436,transparent 60%),radial-gradient(ellipse at 15% 90%,#9c633b20,transparent 55%),linear-gradient(140deg,#17392c,#0c211b 75%)}
.entry-backdrop::before,.entry-backdrop::after{content:'';position:absolute;width:270px;height:270px;filter:blur(90px);border-radius:50%;background:#c7a06818;left:-100px;top:20%;animation:entry-glow 7s ease-in-out infinite alternate}
.entry-backdrop::after{left:auto;right:-80px;top:auto;bottom:5%;animation-delay:-3s}
.entry-content{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 25px 35px}
.entry-brand{font:34px/1 'DM Serif Display',Georgia,serif;letter-spacing:-2px;margin-bottom:29px;color:#f4edda}
.entry-brand span{font-size:20px;letter-spacing:0;color:#d7b880;vertical-align:top;margin-left:5px}
.entry-eyebrow{font:8px/1.7 'DM Sans',Arial,sans-serif;letter-spacing:3px;color:#c9b787;margin:0 0 20px}
.entry-title{font:clamp(39px,4.4vw,62px)/1.08 'DM Serif Display',Georgia,serif;letter-spacing:-1.5px;margin:0 0 13px}
.entry-title em{color:#dfc18b;font-weight:400}
.entry-description{font:12px/1.8 'DM Sans',Arial,sans-serif;color:#c3cbb8;margin:0 0 20px}
.entry-open{display:flex;flex-direction:column;align-items:center;background:none;border:0;padding:0 12px;cursor:pointer;color:inherit;perspective:1000px;-webkit-tap-highlight-color:transparent}
.entry-open:focus-visible{outline:1px solid #d7b880;outline-offset:10px;border-radius:12px}
.entry-envelope{position:relative;display:block;width:265px;height:157px;margin:22px 0 27px;filter:drop-shadow(0 20px 25px #0004);transform-style:preserve-3d;animation:entry-float 6s ease-in-out infinite;transition:transform .7s ease,filter .6s}
.envelope-body{position:absolute;inset:0;border-radius:5px;background:linear-gradient(125deg,#c5b08a,#f5e6c7);box-shadow:inset 0 0 0 1px #fff5}
.envelope-paper{position:absolute;left:8%;right:8%;bottom:11px;height:140px;padding:18px 10px 12px;border:1px solid #d7c6a6;background:linear-gradient(#fff8e9,#f1e2c5);border-radius:3px;transform:translateY(-6px);transition:transform .7s ease .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#6b5140;font:italic 20px/1.2 'DM Serif Display',Georgia,serif}
.envelope-paper small{font:6px 'DM Sans',Arial,sans-serif;letter-spacing:2px;color:#8c7655}
.envelope-paper i{font-style:normal;font-size:20px;color:#a18347}
.envelope-fold{position:absolute;inset:0;border-radius:5px;background:linear-gradient(110deg,#f7e9cf,#e0cca7);clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%);z-index:2}
.envelope-fold::after{content:'';position:absolute;inset:0;clip-path:polygon(0 100%,50% 43%,100% 100%);background:linear-gradient(#f8ecd5,#ebd8b4);border-bottom:1px solid #fff6}
.envelope-flap{position:absolute;inset:0 0 auto;height:93px;background:linear-gradient(#ebd9b5,#fbefd7);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:center top;z-index:3;transition:transform .7s cubic-bezier(.3,.6,.2,1),z-index 0s .25s;backface-visibility:visible}
.envelope-seal{position:absolute;left:calc(50% - 23px);top:70px;width:46px;height:46px;display:grid;place-items:center;z-index:4;border-radius:47% 53% 48% 52%;background:radial-gradient(circle at 30% 20%,#9c3e43,#6a252d 65%,#4a1c21);box-shadow:0 3px 6px #5c302455,inset 0 0 0 3px #c06b5d40;color:#d9b788;font:26px 'DM Serif Display',Georgia,serif;transition:transform .4s,opacity .3s}
.entry-action{display:inline-flex;gap:30px;align-items:center;padding:14px 25px;border-radius:40px;background:#d7b880;color:#20392b;font:11px 'DM Sans',Arial,sans-serif;box-shadow:0 5px 25px #0002;transition:background .25s,transform .25s}
.entry-action>span{font-size:18px}.entry-open:hover .entry-action{background:#ecd2a0;transform:translateY(-2px)}.entry-open:hover .entry-envelope{filter:drop-shadow(0 22px 30px #0005)}
.entry-sound{font:9px 'DM Sans',Arial,sans-serif;color:#aeb9a3;margin:17px 0 10px;letter-spacing:.3px}
.entry-quiet{font:9px 'DM Sans',Arial,sans-serif;border:0;border-bottom:1px solid #b9c0aa44;padding:4px 0;background:none;color:#bbc5af;cursor:pointer}
.entry-footer{font:7px 'DM Sans',Arial,sans-serif;letter-spacing:2px;color:#a6af94;margin:30px 0 0}
.christmas-entry #snow{z-index:0;opacity:.5}
.entry-sprig{position:absolute;width:200px;height:240px;opacity:.3;pointer-events:none;fill:none;stroke:#91a479;stroke-width:1;z-index:0}
.entry-sprig.left{left:-15px;top:-10px;transform:rotate(12deg)}.entry-sprig.right{right:-25px;bottom:0;transform:rotate(195deg)}
.christmas-entry.is-opening{opacity:0;filter:blur(4px);pointer-events:none}
.is-opening .entry-envelope{animation:none;transform:translateY(-10px) scale(1.08)}
.is-opening .envelope-flap{transform:rotateX(180deg);z-index:0}
.is-opening .envelope-seal{transform:translateY(25px) scale(.75);opacity:0}
.is-opening .envelope-paper{transform:translateY(-82px)}
.is-opening .entry-action{opacity:0;transition:opacity .25s}
@keyframes entry-float{50%{translate:0 -7px;rotate:-1deg}}
@keyframes entry-glow{to{opacity:.4;transform:translateY(40px)}}
@media(max-width:600px){.entry-content{padding:28px 20px}.entry-brand{font-size:32px;margin-bottom:25px}.entry-eyebrow{font-size:7px;letter-spacing:2.4px;margin-bottom:18px}.entry-title{font-size:43px}.entry-description{font-size:11px;max-width:270px;margin-bottom:13px}.entry-envelope{width:238px;height:145px;margin-top:22px;margin-bottom:25px}.envelope-paper{height:130px;font-size:19px}.envelope-flap{height:87px}.envelope-seal{top:65px}.entry-footer{font-size:6px;margin-top:24px}.entry-sprig{width:140px;height:180px}}
@media(max-height:730px){.entry-content{padding-top:20px;padding-bottom:20px}.entry-brand{margin-bottom:16px;font-size:29px}.entry-eyebrow{margin-bottom:12px}.entry-title{font-size:38px}.entry-description{margin-bottom:5px}.entry-envelope{width:220px;height:130px;margin:16px 0 20px}.envelope-paper{height:118px}.envelope-flap{height:78px}.envelope-seal{top:57px;width:40px;height:40px;left:calc(50% - 20px)}.entry-footer{margin-top:15px}.entry-sound{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.entry-envelope,.entry-backdrop::before,.entry-backdrop::after{animation:none}.christmas-entry,.entry-envelope,.envelope-paper,.envelope-flap,.envelope-seal{transition:none}.christmas-entry.is-opening{filter:none}}
