:root{--color-bordo:#7a1f2b;--color-krem:#f7f2e8;--color-altin:#b08d57;--color-antrasit:#3a3a3a;--font-serif:"Playfair Display", serif;--font-sans:"Inter", sans-serif;--font-elegant:"Cinzel", serif;--paper-texture:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");--motif-bg:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5 L35 25 L55 30 L35 35 L30 55 L25 35 L5 30 L25 25 Z' fill='%23B08D57' opacity='0.03'/%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-antrasit);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-color:#efe9db;background-image:var(--paper-texture), var(--motif-bg);background-attachment:fixed;overflow-x:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes openFlapFront{0%{opacity:1;transform:scaleY(1)}70%{opacity:1;transform:scaleY(.06)}to{opacity:0;transform:scaleY(0)}}@keyframes openFlapBack{0%{opacity:0;transform:scaleY(.05)}36%{opacity:0;transform:scaleY(.05)}66%{opacity:1;transform:scaleY(.42)}to{opacity:1;transform:scaleY(1)}}@keyframes extractCard{0%{opacity:1;transform:translateY(0)scale(1)}68%{opacity:1;transform:translateY(-78%)scale(1)}to{opacity:0;transform:translateY(-96%)scale(.98)}}.fade-in{animation:1.2s ease-out forwards fadeIn}.fade-out{animation:1s ease-in forwards fadeOut}.slide-up{opacity:0;animation:1s cubic-bezier(.2,.8,.2,1) forwards slideUp}.delay-1{animation-delay:.3s}.delay-2{animation-delay:.6s}.delay-3{animation-delay:.9s}.delay-4{animation-delay:1.2s}.font-serif{font-family:var(--font-serif)}.font-elegant{font-family:var(--font-elegant)}.text-bordo{color:var(--color-bordo)}.text-altin{color:var(--color-altin)}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.envelope-wrapper{z-index:50;background-color:var(--color-krem);background-image:var(--paper-texture), var(--motif-bg);background-attachment:fixed;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}.envelope{background-color:var(--color-bordo);background-image:var(--paper-texture);width:90vw;max-width:500px;height:60vw;max-height:350px;position:relative;box-shadow:0 20px 50px #0000004d}.envelope-flap{clip-path:polygon(0 0,50% 100%,100% 0);z-index:9;background-color:#6a1a25;background-image:var(--paper-texture);transform-origin:top;will-change:transform;border-top:1px solid #ffffff1a;width:100%;height:50%;position:absolute;top:0;left:0;transform:scaleY(1);box-shadow:0 10px 18px #00000029}.envelope-flap-open{clip-path:polygon(50% 0,0 100%,100% 100%);z-index:4;opacity:0;background-color:#6a1a25;background-image:var(--paper-texture);transform-origin:bottom;will-change:transform, opacity;width:100%;height:50%;position:absolute;top:-50%;left:0;transform:scaleY(.05);box-shadow:0 -8px 18px #0000001f}.envelope-front{background-color:var(--color-bordo);clip-path:polygon(0 100%,0 0,50% 50%,100% 0,100% 100%);z-index:8;background-image:var(--paper-texture);border:1px solid #ffffff0d;width:100%;height:100%;position:absolute;bottom:0;left:0}.envelope-seal{background:radial-gradient(circle, #d4af37 0%, var(--color-altin) 100%);z-index:15;width:60px;height:60px;font-family:var(--font-elegant);color:#5c471c;border:2px solid #8e6c38;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0000004d,inset 0 2px 5px #ffffff4d}.envelope-card{background-color:var(--color-krem);z-index:6;background-image:var(--paper-texture);border:1px solid var(--color-altin);will-change:transform;flex-direction:column;justify-content:center;align-items:center;height:95%;display:flex;position:absolute;bottom:5px;left:5px;right:5px;box-shadow:0 0 10px #0003}.btn-open-wrapper{z-index:20;justify-content:center;width:100%;display:flex;position:absolute;bottom:12%;left:0}.btn-open{-webkit-backdrop-filter:blur(4px);color:var(--color-krem);border:1px solid var(--color-altin);font-family:var(--font-elegant);letter-spacing:2px;cursor:pointer;white-space:nowrap;background-color:#b08d5733;padding:.8rem 2.5rem;font-size:1rem;transition:all .3s}.btn-open:hover{background-color:#b08d5733}.invitation-wrapper{width:90%;max-width:600px;margin:2rem auto;display:none;position:relative}.invitation-wrapper.visible{display:block}.invitation-card{background-color:var(--color-krem);background-image:var(--paper-texture);border:1px solid var(--color-altin);text-align:center;margin-bottom:2rem;padding:3.5rem 2rem;position:relative;box-shadow:0 15px 35px #0000001a}.inner-border{pointer-events:none;border:1px solid #b08d5766;position:absolute;inset:6px}.corner-motif{opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0 C 50 0, 100 50, 100 100 C 50 100, 0 50, 0 0 Z' fill='none' stroke='%23B08D57' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:40px;height:40px;position:absolute}.corner-tl{top:15px;left:15px;transform:rotate(0)}.corner-tr{top:15px;right:15px;transform:rotate(90deg)}.corner-bl{bottom:15px;left:15px;transform:rotate(-90deg)}.corner-br{bottom:15px;right:15px;transform:rotate(180deg)}.card-title{font-family:var(--font-elegant);color:var(--color-bordo);letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;font-size:1.8rem}.card-subtitle{color:var(--color-antrasit);letter-spacing:1px;font-size:1rem;font-weight:300;line-height:1.8}.divider{background-color:var(--color-altin);opacity:.5;width:60px;height:1px;margin:2rem auto;position:relative}.divider:before{content:"✦";color:var(--color-altin);background:var(--color-krem);padding:0 10px;font-size:.8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.date-display{margin:1.5rem 0}.date-day{font-family:var(--font-serif);color:var(--color-bordo);font-size:3.5rem;line-height:1}.date-month-year{font-family:var(--font-elegant);letter-spacing:3px;color:var(--color-altin);margin-top:.5rem;font-size:1rem}.photo-box{outline:1px solid var(--color-altin);background-color:#fff;border:4px solid #fff;width:80%;margin:2rem auto;padding:8px;transition:transform .5s;transform:rotate(-2deg);box-shadow:2px 5px 15px #00000026}.photo-box:hover{transform:rotate(0)}.photo-box img{filter:sepia(.2)contrast(1.1);width:100%;display:block}.parents-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;display:grid}.parent-side{color:var(--color-altin);letter-spacing:2px;text-transform:uppercase;margin-bottom:.3rem;font-size:.85rem}.parent-name{font-family:var(--font-serif);color:var(--color-antrasit);font-size:1.2rem}.timeline-container{padding:2rem 0;position:relative}.timeline-line{background-color:var(--color-altin);opacity:.5;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-left,.timeline-right{width:45%}.timeline-left{text-align:right}.timeline-right{text-align:left}.timeline-dot{background-color:var(--color-bordo);border:1px solid var(--color-altin);width:10px;height:10px;box-shadow:0 0 0 4px var(--color-krem);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-time{font-family:var(--font-elegant);color:var(--color-bordo);letter-spacing:2px;font-size:1.05rem}.timeline-event{color:var(--color-antrasit);font-size:1.05rem;font-style:italic}.countdown-container{justify-content:center;gap:.8rem;margin-top:1.5rem;display:flex}.countdown-box{border:1px solid var(--color-altin);background-color:#fff6;min-width:60px;padding:.8rem .5rem;position:relative}.countdown-box:after{content:"";pointer-events:none;border:1px solid #b08d5733;position:absolute;inset:2px}.countdown-num{font-family:var(--font-serif);color:var(--color-bordo);font-size:1.5rem;display:block}.countdown-txt{color:var(--color-antrasit);letter-spacing:1px;text-transform:uppercase;font-size:.7rem}.big-day-msg{font-family:var(--font-serif);color:var(--color-bordo);margin-top:1.5rem;font-size:1.8rem;line-height:1.5}.btn-map{background-color:var(--color-bordo);color:var(--color-krem);font-family:var(--font-elegant);letter-spacing:2px;border:1px solid var(--color-altin);margin-top:2rem;padding:.8rem 2.5rem;font-size:1rem;text-decoration:none;transition:all .3s;display:inline-block}.btn-map:hover{background-color:var(--color-krem);color:var(--color-bordo)}.footer-card{background-color:var(--color-bordo);background-image:var(--paper-texture);border:1px solid var(--color-altin);text-align:center;color:var(--color-krem);margin-bottom:3rem;padding:2rem}.footer-names{font-family:var(--font-elegant);letter-spacing:5px;margin-bottom:.5rem;font-size:1.2rem}.footer-date{letter-spacing:2px;opacity:.8;font-size:.8rem}@media (max-width:480px){.invitation-card{padding:3rem 1.5rem}.date-day{font-size:2.5rem}.parents-grid{grid-template-columns:1fr;gap:1.5rem}.photo-box{width:95%}.timeline-time,.timeline-event{font-size:.8rem}.countdown-box{min-width:50px;padding:.6rem .3rem}.countdown-num{font-size:1.2rem}}
