body.envelope-active{overflow:hidden}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#172c23}
.hero::before,.hero::after{content:"";position:absolute;inset:0;pointer-events:none}
.hero::before{z-index:0;inset:-30px;background:url('/photos/cover.webp?v=8') center/cover no-repeat;filter:blur(24px);transform:scale(1.08);opacity:.72}
.hero::after{z-index:0;background:linear-gradient(90deg,#172c23df,#172c235e,#172c23df),url('/photos/cover.webp?v=8') center/contain no-repeat}
.hero>*{position:relative;z-index:1}
.envelope-opening{position:fixed;inset:0;z-index:1000;overflow:hidden;direction:ltr;background:radial-gradient(circle at 50% 42%,#fffaf1 0,#efe3d2 46%,#d8c4ab 100%);color:#6b2d38;transition:opacity .5s ease .9s,visibility .5s ease .9s}
.envelope-opening::before,.envelope-opening::after{content:"❦";position:absolute;color:#8b4a5540;font:400 clamp(150px,28vw,390px)/1 Georgia,serif;pointer-events:none}
.envelope-opening::before{left:-3vw;bottom:-8vh;transform:rotate(-18deg)}
.envelope-opening::after{right:-3vw;top:-8vh;transform:rotate(162deg)}
.opening-stars{position:absolute;top:7vh;left:0;right:0;text-align:center;color:#8b4a55;font:400 14px Georgia,serif;letter-spacing:.28em}
.envelope-stage{position:absolute;left:50%;top:50%;width:min(760px,92vw);height:min(500px,66vw);max-height:62vh;min-height:300px;transform:translate(-50%,-50%);perspective:1300px;filter:drop-shadow(0 28px 38px #5d392a3c)}
.envelope{position:absolute;inset:14% 4% 4%;transform-style:preserve-3d}
.envelope-back{position:absolute;inset:0;border:1px solid #c5a886;background:linear-gradient(145deg,#f4e8d5,#dfc9aa);border-radius:8px}
.envelope-pocket{position:absolute;inset:0;z-index:3;overflow:hidden;border-radius:8px;background:linear-gradient(32deg,#e6d1b4 0 49.6%,transparent 50%),linear-gradient(-32deg,#f1dfc7 0 49.6%,transparent 50%)}
.envelope-pocket::after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(135deg,transparent 49.5%,#c8a98366 50%),linear-gradient(225deg,transparent 49.5%,#ecd8bdcc 50%);border-bottom:1px solid #b9956c88}
.envelope-flap{position:absolute;z-index:4;top:0;left:0;width:100%;height:68%;background:linear-gradient(160deg,#f6ead8,#d8bd9b);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:hidden;transition:transform .75s cubic-bezier(.55,.06,.22,.97)}
.envelope-card{position:absolute;z-index:2;left:13%;right:13%;top:16%;bottom:17%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:5%;background:#fffdf8;color:#6b2d38;border:1px solid #c8aa82;border-radius:5px;transform:translateY(13%);transition:transform .8s ease .38s;box-shadow:inset 0 0 55px #9a744a1b}
.envelope-card span{font:400 clamp(34px,7vw,78px)/1 Georgia,serif;letter-spacing:.08em}.envelope-card i{font-size:.55em;color:#b18458}.envelope-card small{margin-top:16px;color:#8b6941;letter-spacing:.28em}
.wax-seal{position:absolute;z-index:8;left:50%;top:56%;width:106px;height:106px;transform:translate(-50%,-50%);border:2px solid #d8a9a5;border-radius:50%;background:radial-gradient(circle at 35% 28%,#bd7880,#873c49 48%,#5f2430 78%);color:#fff5e8;cursor:pointer;box-shadow:0 9px 25px #5f34284f,inset 0 0 0 5px #f1c9c255;transition:transform .3s ease,opacity .3s ease}
.wax-seal:hover,.wax-seal:focus-visible{transform:translate(-50%,-50%) scale(1.06);outline:2px solid #8b4a55;outline-offset:7px}
.wax-seal span{display:block;font:italic 30px Georgia,serif}.wax-seal small{position:absolute;top:116px;left:50%;width:250px;transform:translateX(-50%);font:700 10px Arial,sans-serif;letter-spacing:.18em;color:#6b2d38;text-shadow:none}
.envelope-opening.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope-opening.opening .envelope-card{transform:translateY(-34%)}.envelope-opening.opening .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.72);pointer-events:none}.envelope-opening.opening{opacity:0;visibility:hidden}
.hero .save-date{margin:12px 0 8px!important;color:#efd99f;font:700 13px Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase}.hero .invitation-line{max-width:660px;margin:0 auto 18px!important;color:#fff8e8;font:400 clamp(16px,2vw,20px)/1.7 Georgia,"Noto Serif Ethiopic",serif;text-shadow:0 3px 18px #000}
.hero .invitation-heading{margin:14px auto 8px;color:#f3dfa9;font:400 clamp(19px,2.5vw,28px)/1.35 Georgia,"Noto Serif Ethiopic",serif;text-shadow:0 3px 18px #000}.hero .invitation-line{max-width:850px}.map iframe{display:block;width:100%;height:100%;border:0;border-radius:48% 48% 16px 16px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery figure{aspect-ratio:4/3;min-height:0;margin:0;overflow:hidden;border-radius:16px}.gallery figure img{display:block;width:100%;height:100%;object-fit:cover}.gallery figure:first-child img{object-position:center 62%}.gallery figure:nth-child(2) img{object-position:center 47%}.gallery figure:nth-child(3) img{object-position:center 52%}html[lang="am"] .hero .invitation-line{font-size:clamp(14px,1.65vw,18px);line-height:1.7}
.hero .nav-date{color:#f1dfaa;font:700 11px Arial,sans-serif;letter-spacing:.2em}.date-details{padding:62px 20px;background:linear-gradient(145deg,#f6f0e5,#e9ddca)}.date-card{max-width:760px;margin:auto;padding:clamp(34px,6vw,62px);text-align:center;background:#fffdf8;border:1px solid #d8c6aa;border-radius:110px 110px 24px 24px;box-shadow:0 20px 55px #55432d18}.date-ornament{color:#a75b40;font:400 28px Georgia,serif}.date-card .save-date{margin:12px 0 8px;color:#a75b40;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}.date-card .date{margin:5px 0 25px;color:#263d34;font:400 clamp(31px,5vw,52px)/1.15 Georgia,"Noto Serif Ethiopic",serif}.date-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.date-actions .outline{background:white}
@media(max-width:600px){.envelope-stage{height:340px;width:96vw}.envelope{inset:18% 2% 4%}.wax-seal{width:88px;height:88px;top:58%}.wax-seal small{top:98px}.envelope-card{left:9%;right:9%}}
@media(max-width:740px){.gallery figure{min-height:0}.hero .invitation-line{font-size:15px;line-height:1.55}.hero .invitation-heading{font-size:19px}.hero .save-date{font-size:11px}}
@media(prefers-reduced-motion:reduce){.envelope-flap,.envelope-card,.envelope-opening,.wax-seal{transition-duration:.01ms!important}}
