@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-attachment:fixed;font-family:Lora,serif;color:#1a2a3a;line-height:1.6;min-height:100vh;overflow-x:hidden;overflow-y:hidden}body.opened{overflow-y:auto}.envelope-wrapper{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:100;transition:opacity 1.2s ease .3s;display:flex;flex-direction:column;align-items:center;justify-content:center}.envelope-wrapper.opened{opacity:0;pointer-events:none;transition:opacity 1.2s ease}.envelope{position:relative;width:min(85vw,520px);aspect-ratio:1.6/1;max-height:70vh;background:linear-gradient(160deg,#dc143c,#8b0000);border-radius:8px 8px 12px 12px;box-shadow:0 20px 60px #0009,inset 0 0 80px #0003;display:flex;flex-direction:column;overflow:visible;perspective:1000px}.envelope-body{flex:1;background:linear-gradient(180deg,#dc143c,#8b0000);border-radius:0 0 12px 12px;box-shadow:inset 0 10px 30px #0003;position:relative;z-index:1;min-height:40px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:clamp(8px,2vh,18px)}.envelope-body:before{content:"";position:absolute;top:15%;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.15),transparent);border-radius:2px;z-index:0}.envelope-body:after{content:"";position:absolute;top:30%;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.08),transparent);border-radius:2px;z-index:0}.envelope-text{position:relative;z-index:2;text-align:center;color:#d4af37;font-family:Great Vibes,cursive;font-size:clamp(1.2rem,2.5vw,1.8rem);letter-spacing:2px;text-shadow:0 2px 20px rgba(0,0,0,.6);opacity:.9;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:0;line-height:1.2}.envelope-text .names{font-size:clamp(1.4rem,2.8vw,2rem)}.envelope-text .date{font-size:clamp(1rem,2.2vw,1.6rem);opacity:.8}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:0;padding-bottom:50%;background:linear-gradient(160deg,#dc143c,#8b0000);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transform-style:preserve-3d;backface-visibility:hidden;transition:transform 1.2s cubic-bezier(.4,0,.2,1);will-change:transform;z-index:2;box-shadow:0 10px 40px #0000004d,inset 0 -20px 40px #00000026}.envelope-wrapper.opened .envelope-flap{transform:rotateX(180deg);pointer-events:none}.envelope-flap:before{content:"";position:absolute;top:5%;left:5%;right:5%;bottom:5%;border:1px solid rgba(212,175,55,.08);border-radius:4px;pointer-events:none;z-index:0}.envelope-flap:after{content:"";position:absolute;top:2%;left:2%;right:2%;bottom:2%;border:1px solid rgba(212,175,55,.04);border-radius:4px;pointer-events:none;z-index:0;animation:borderGlow 4s ease-in-out infinite}@keyframes borderGlow{0%,to{border-color:#d4af370a}50%{border-color:#d4af371f}}.seal-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;cursor:pointer;transition:opacity .8s ease .2s;pointer-events:auto!important;display:flex;flex-direction:column;align-items:center;gap:10px}.envelope-wrapper.opened .seal-wrapper{opacity:0;pointer-events:none!important;transition:opacity .8s ease}.seal{width:clamp(90px,16vw,160px);height:clamp(90px,16vw,160px);background:url(/images/sur.png) no-repeat center/contain;filter:drop-shadow(0 8px 30px rgba(0,0,0,.7));animation:sealPulse 2.5s ease-in-out infinite;border-radius:50%;transition:transform .3s ease;pointer-events:auto!important}@keyframes sealPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.seal-wrapper:hover .seal{transform:scale(1.1)}.seal-text{color:#d4af37;font-family:Lora,serif;font-size:clamp(.8rem,1.4vw,1.1rem);letter-spacing:3px;text-shadow:0 2px 15px rgba(0,0,0,.8);opacity:.9;text-align:center;background:#0003;padding:6px 20px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(212,175,55,.08);pointer-events:none;white-space:nowrap}@media (max-width: 1024px){.envelope{width:min(80vw,480px);aspect-ratio:1.5/1}.envelope-flap{padding-bottom:48%}.seal{width:clamp(80px,14vw,130px);height:clamp(80px,14vw,130px)}.envelope-text{font-size:clamp(1.2rem,2.2vw,1.6rem)}.envelope-text .names{font-size:clamp(1.3rem,2.5vw,1.8rem)}.envelope-text .date{font-size:clamp(1rem,2vw,1.4rem)}}@media (max-width: 768px){.envelope{width:min(88vw,400px);aspect-ratio:1.4/1;max-height:60vh}.envelope-flap{padding-bottom:46%}.seal{width:clamp(65px,14vw,100px);height:clamp(65px,14vw,100px)}.seal-text{font-size:clamp(.7rem,1.5vw,.9rem);padding:5px 16px;letter-spacing:2px}.envelope-text{font-size:clamp(1.2rem,2.5vw,1.5rem)}.envelope-text .names{font-size:clamp(1.4rem,2.8vw,1.7rem)}.envelope-text .date{font-size:clamp(1rem,2.2vw,1.3rem)}.envelope-body{padding-bottom:clamp(8px,1.8vh,14px)}}@media (max-width: 480px){.envelope{width:92vw;aspect-ratio:1.3/1;max-height:50vh}.envelope-flap{padding-bottom:44%}.seal{width:clamp(55px,13vw,75px);height:clamp(55px,13vw,75px)}.seal-text{font-size:clamp(.6rem,1.8vw,.8rem);padding:4px 14px;letter-spacing:2px;white-space:nowrap}.envelope-body{padding-bottom:clamp(6px,1.5vh,10px)}.envelope-text{font-size:clamp(1rem,2.8vw,1.3rem);gap:4px}.envelope-text .names{font-size:clamp(1.2rem,3vw,1.5rem)}.envelope-text .date{font-size:clamp(.8rem,2.5vw,1.1rem)}.envelope-body:before{top:12%;left:10%;right:10%}.envelope-body:after{top:25%;left:15%;right:15%}}@media (max-width: 360px){.envelope{width:94vw;aspect-ratio:1.2/1;max-height:45vh}.envelope-flap{padding-bottom:42%}.seal{width:clamp(40px,12vw,55px);height:clamp(40px,12vw,55px)}.seal-text{font-size:clamp(.5rem,1.5vw,.65rem);padding:3px 10px;letter-spacing:1.5px}.envelope-text{font-size:clamp(.8rem,2.5vw,1rem)}.envelope-text .names{font-size:clamp(.9rem,2.8vw,1.2rem)}.envelope-text .date{font-size:clamp(.7rem,2.2vw,.9rem)}.envelope-body{padding-bottom:clamp(4px,1vh,8px)}}@media (min-width: 768px) and (max-height: 900px){.envelope{width:min(70vw,420px);aspect-ratio:1.5/1;max-height:55vh}.envelope-flap{padding-bottom:48%}.seal{width:clamp(60px,12vw,100px);height:clamp(60px,12vw,100px)}.envelope-text{font-size:clamp(1.2rem,2.2vw,1.6rem)}.envelope-text .names{font-size:clamp(1.4rem,2.5vw,1.8rem)}.envelope-text .date{font-size:clamp(1rem,2vw,1.4rem)}}@media (min-width: 1400px){.envelope{width:min(60vw,600px);aspect-ratio:1.6/1;max-height:65vh}.envelope-flap{padding-bottom:50%}.seal{width:clamp(110px,14vw,180px);height:clamp(110px,14vw,180px)}.seal-text{font-size:clamp(1rem,1.4vw,1.3rem);padding:8px 28px;letter-spacing:4px}.envelope-text{font-size:clamp(1.6rem,2.5vw,2.2rem)}.envelope-text .names{font-size:clamp(1.8rem,2.8vw,2.4rem)}.envelope-text .date{font-size:clamp(1.4rem,2.2vw,1.8rem)}.envelope-body{padding-bottom:clamp(12px,2vh,22px)}}@media (max-height: 500px) and (orientation: landscape){.envelope{width:min(55vw,380px);aspect-ratio:1.5/1;max-height:70vh}.envelope-flap{padding-bottom:46%}.seal{width:clamp(40px,8vw,65px);height:clamp(40px,8vw,65px)}.seal-text{font-size:clamp(.5rem,1.2vw,.7rem);padding:3px 12px;letter-spacing:1.5px}.envelope-text{font-size:clamp(.8rem,1.8vw,1.1rem)}.envelope-text .names{font-size:clamp(.9rem,2vw,1.3rem)}.envelope-text .date{font-size:clamp(.7rem,1.6vw,1rem)}.envelope-body{padding-bottom:clamp(4px,1vh,8px)}}@media (min-height: 1000px){.envelope{max-height:50vh}.envelope-body{padding-bottom:clamp(16px,2.5vh,28px)}.envelope-text{font-size:clamp(1.6rem,2.8vw,2.2rem)}.envelope-text .names{font-size:clamp(1.8rem,3vw,2.4rem)}.envelope-text .date{font-size:clamp(1.4rem,2.5vw,1.8rem)}}@media (min-width: 2000px){.envelope{width:min(70vw,900px);aspect-ratio:1.6/1;max-height:55vh}.envelope-flap{padding-bottom:50%}.seal{width:clamp(160px,16vw,240px);height:clamp(160px,16vw,240px)}.seal-text{font-size:clamp(1.4rem,1.8vw,1.8rem);padding:12px 36px;letter-spacing:5px}.envelope-text{font-size:clamp(2rem,3vw,2.8rem)}.envelope-text .names{font-size:clamp(2.2rem,3.2vw,3rem)}.envelope-text .date{font-size:clamp(1.8rem,2.8vw,2.4rem)}.envelope-body{padding-bottom:clamp(20px,3vh,32px)}}.main-content{width:100%;min-height:100vh;display:flex;justify-content:center;padding:clamp(10px,2vw,20px);opacity:0;visibility:hidden;transition:opacity 1s ease 1.2s,visibility 0s 1.2s}.main-content.visible{opacity:1;visibility:visible;position:relative;z-index:101;transition:opacity 1s ease 1.2s,visibility 0s 0s}.content-container{max-width:720px;width:100%;background:#fff;border-radius:24px;box-shadow:0 20px 60px #00000026;padding:clamp(20px,4vw,40px) clamp(18px,4vw,35px);margin:clamp(10px,2vw,20px) 0;position:relative}.content-container:before{content:"";position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:none;border-radius:18px;pointer-events:none}.corner-flower{position:absolute;font-size:1.8rem;pointer-events:none;z-index:2;opacity:.7}.corner-flower.top-left{top:-14px;left:-8px;transform:rotate(-15deg)}.corner-flower.top-right{top:-14px;right:-8px;transform:rotate(15deg)}.corner-flower.bottom-left{bottom:-14px;left:-8px;transform:rotate(15deg)}.corner-flower.bottom-right{bottom:-14px;right:-8px;transform:rotate(-15deg)}section{padding:clamp(18px,3vw,30px) 0;border-bottom:1px solid #e0d6cc;position:relative;z-index:1}section:last-child{border-bottom:none}h2{font-family:Great Vibes,cursive;font-size:clamp(1.8rem,4.5vw,2.8rem);color:#8b0000;margin-bottom:clamp(14px,2vw,20px);text-align:center;letter-spacing:2px;font-weight:400}.photo-section{text-align:center;padding-top:10px}.photo-placeholder{width:100%;margin:0 auto clamp(16px,3vw,30px);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px #0000001f;display:flex;justify-content:center;align-items:center}.photo-placeholder img{width:100%;height:auto;display:block;object-fit:contain}.hero-title{font-family:Great Vibes,cursive;font-size:clamp(2.5rem,8vw,4.5rem);color:#8b0000;letter-spacing:2px;margin-bottom:8px;word-break:break-word;font-weight:400}.hero-date{font-family:Great Vibes,cursive;font-size:clamp(1.5rem,4vw,2.5rem);color:#c00;letter-spacing:3px}.invite-section p{font-family:Lora,serif;font-size:clamp(.9rem,2vw,1.2rem);text-align:center;margin-bottom:18px;padding:0 5px;line-height:1.8}.ornament-line{width:70%;height:1px;background:linear-gradient(90deg,transparent,#b8a98b,transparent);margin:18px auto 0}.gallery-section .gallery-grid{display:flex;flex-direction:column;gap:20px;max-width:600px;margin:0 auto}.gallery-section .gallery-item{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.gallery-section .gallery-item:hover{transform:scale(1.02);box-shadow:0 8px 25px #00000026}.gallery-section .gallery-item img{width:100%;height:auto;display:block}.gallery-section.gallery-last{padding-top:30px;border-top:1px solid #e0d6cc;margin-top:10px}.counter-section .counter-grid{display:flex;justify-content:center;gap:clamp(8px,2vw,30px);flex-wrap:wrap;margin-top:10px}.counter-section .counter-item{text-align:center;background:#f8f6f2;padding:clamp(8px,1.5vw,16px) clamp(10px,2vw,20px);border-radius:12px;min-width:clamp(55px,10vw,80px);flex:0 1 auto}.counter-section .counter-item span{display:block;font-size:clamp(1.6rem,4vw,3rem);font-weight:700;color:#8b0000;line-height:1.2}.counter-section .counter-item small{font-family:Lora,serif;font-size:clamp(.5rem,1.2vw,.8rem);text-transform:uppercase;color:#2a3a5a;letter-spacing:1px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:480px;margin:0 auto;font-size:clamp(.7rem,1.5vw,.95rem)}.calendar-weekday{text-align:center;font-weight:700;color:#8b0000;padding:6px 0;font-size:clamp(.65rem,1.4vw,.85rem);font-family:Lora,serif}.calendar-day{text-align:center;padding:clamp(5px,1vw,8px) 0;border-radius:8px;background:#f8f6f2;font-family:Lora,serif}.calendar-day.empty{background:transparent}.calendar-day.calendar-heart{background:#8b0000;color:#fff;font-weight:700;border-radius:30px;font-size:clamp(.9rem,2vw,1.1rem);box-shadow:0 4px 12px #8b000040;font-family:Great Vibes,cursive}.program-grid{display:flex;flex-direction:column;gap:2px;max-width:550px;margin:0 auto}.program-item{display:flex;justify-content:space-between;padding:14px 20px;background:#f8f6f2;border-radius:30px;font-size:1.1rem;border:1px solid #e8e2d8;flex-wrap:wrap;gap:4px;font-family:Lora,serif}.program-header{background:#f0ebe4;font-weight:600;border-radius:30px 30px 0 0;margin-top:6px}.program-header:first-child{margin-top:0}.program-header .time{color:#8b0000;font-family:Great Vibes,cursive;font-size:1.2rem;letter-spacing:1px}.program-header .event{font-family:Great Vibes,cursive;font-size:1.2rem;letter-spacing:1px}.program-location{background:#fcfaf7;border:1px solid #e8e2d8;border-top:none;font-size:1rem;padding:8px 18px;border-radius:0 0 30px 30px;justify-content:center;color:#2a3a5a;text-align:center;font-family:Lora,serif}.time{font-weight:700;color:#8b0000;font-family:Great Vibes,cursive;font-size:1.2rem}.event{color:#2a3a5a;font-family:Lora,serif}.details-section p{font-family:Lora,serif;font-size:clamp(.9rem,1.8vw,1.1rem);margin-bottom:16px;text-align:center;color:#2a3a5a;padding:0 5px;line-height:1.8}.details-section p:last-child{margin-bottom:0}.details-section p strong{color:#8b0000;font-weight:700}.thanks-content{text-align:center;padding:10px 0 6px}.thanks-content p{font-size:clamp(1rem,2vw,1.2rem);margin-bottom:10px;color:#2a3a5a}.ornament-heart{width:50px;height:50px;margin:0 auto 14px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50,30 C30,10 10,30 50,70 C90,30 70,10 50,30Z" fill="%238B0000"/></svg>') no-repeat center/contain}.signature{font-family:Great Vibes,cursive;font-size:1.5rem;margin-top:14px;color:#8b0000!important}@media (max-width: 480px){.photo-placeholder{max-width:100%;border-radius:12px}.photo-placeholder img{width:100%;height:auto;object-fit:contain;max-height:none}.content-container{padding:20px 16px;border-radius:16px}.corner-flower{font-size:1.2rem}.corner-flower.top-left{top:-10px;left:-5px}.corner-flower.top-right{top:-10px;right:-5px}.corner-flower.bottom-left{bottom:-10px;left:-5px}.corner-flower.bottom-right{bottom:-10px;right:-5px}.counter-grid{gap:6px!important}.counter-item{padding:6px 10px!important;min-width:50px!important}.counter-item span{font-size:1.4rem!important}.counter-item small{font-size:.45rem!important;letter-spacing:.5px!important}}@media (max-width: 380px){.counter-item{padding:4px 8px!important;min-width:42px!important}.counter-item span{font-size:1.1rem!important}.counter-item small{font-size:.4rem!important}}@media (max-width: 480px){.content-container{padding:25px 18px;margin:10px 0;border-radius:16px}.content-container:before{border-radius:12px}.photo-placeholder{max-width:280px;height:180px;font-size:1.5rem}.program-item{flex-direction:column;align-items:center;text-align:center}.flap-ornament{width:90%}.seal{width:70px;height:70px}}@media (max-width: 360px){.flap-initials{font-size:clamp(1.8rem,6vw,2.5rem)}.flap-date{font-size:clamp(1rem,2.5vw,1.4rem)}.flap-content{padding:20px 12px 30px}.counter-item{min-width:60px;padding:8px 12px}.counter-item span{font-size:1.8rem}}@media (max-height: 500px){.flap-content{padding-bottom:40px;padding-top:20px}.flap-initials{font-size:clamp(1.2rem,4vw,2rem)}.flap-date{font-size:clamp(.8rem,2vw,1.2rem)}.flap-ornament{height:20px}.seal{width:50px;height:50px}}
