@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Montserrat:wght@400;600;700;800;900&family=DM+Sans:wght@300;400;500;700&display=swap";:root{--green-flag: #006847;--green-dark: #072B1A;--green-medium: #0F4C2E;--white-flag: #FFFFFF;--cream-flag: #F9F8F3;--red-flag: #CE1126;--red-dark: #7A0A16;--red-deep: #4D050E;--gold: #E5B232;--gold-light: #F7D774;--text-dark: #0A1E14;--text-light: #F8FAFC;--gray-mid: #64748B;--border-gold: rgba(229, 178, 50, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:linear-gradient(180deg,var(--green-dark) 0%,var(--green-medium) 25%,var(--cream-flag) 45%,var(--cream-flag) 70%,var(--red-dark) 85%,var(--red-deep) 100%);color:var(--text-light);overflow-x:hidden}.papel-picado-header{display:flex;justify-content:space-around;align-items:center;background:linear-gradient(90deg,var(--green-flag),#ffffff,var(--red-flag));padding:8px 0;box-shadow:0 4px 15px #0000004d;position:relative;z-index:100;overflow:hidden}.papel-flag{font-size:1.4rem;animation:swing 3s ease-in-out infinite alternate}.papel-flag:nth-child(2n){animation-delay:1.5s}@keyframes swing{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;transition:all .4s ease}.nav.scrolled{background:#072b1af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 20px #0006;border-bottom:2px solid var(--gold)}.nav-logo{font-family:Playfair Display,serif;color:var(--gold);font-size:1.1rem;letter-spacing:.15em;font-weight:700}.hero{min-height:90vh;background:radial-gradient(circle at top center,#145938 0%,var(--green-dark) 80%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;padding:4rem 1.5rem 3rem;border-bottom:3px solid var(--gold)}.particles-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;border-radius:50%;opacity:0;animation:particleFloat var(--dur, 8s) var(--delay, 0s) infinite ease-in-out}@keyframes particleFloat{0%,to{transform:translateY(0) scale(1);opacity:0}20%{opacity:.7}50%{transform:translateY(-120px) scale(1.3);opacity:.4}80%{opacity:.6}}.hero-inner{position:relative;z-index:2;max-width:850px;width:100%}.badge{display:inline-block;background:#00684780;border:1.5px solid var(--gold);color:var(--gold-light);font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1.6rem;border-radius:50px;margin-bottom:1.5rem;box-shadow:0 4px 15px #0000004d}.hero-subtitle-top{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;color:var(--gold);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.5rem}.hero-title,.hero-honoree{font-family:Playfair Display,serif;font-weight:900;line-height:1.15;background:linear-gradient(90deg,#006847,#fff,#ce1126,#e5b232,#006847);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:mexicanColorShift 5s ease-in-out infinite alternate}.hero-title{font-size:clamp(2.5rem,6.5vw,4.8rem);margin-bottom:.5rem}.hero-honoree{font-size:clamp(2.2rem,5.5vw,4.2rem);margin:.25rem 0 1rem}@keyframes mexicanColorShift{0%{background-position:0% 50%;filter:drop-shadow(0 0 15px rgba(0,104,71,.6))}33%{background-position:50% 50%;filter:drop-shadow(0 0 15px rgba(255,255,255,.8))}66%{background-position:100% 50%;filter:drop-shadow(0 0 15px rgba(206,17,38,.6))}to{background-position:0% 50%;filter:drop-shadow(0 0 15px rgba(229,178,50,.8))}}.hero-divider{width:160px;height:3px;background:linear-gradient(90deg,var(--green-flag),var(--white-flag),var(--red-flag));margin:1.5rem auto;border-radius:2px}.hero-celebrates{font-family:Montserrat,sans-serif;font-size:1.1rem;color:var(--white-flag);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-weight:700}.hero-date{font-family:DM Sans,sans-serif;font-size:1.25rem;color:var(--gold);margin:1rem 0 2rem;letter-spacing:.08em;font-weight:700}.hero-ctas{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}.btn{font-family:Montserrat,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.05em;padding:.9rem 2.2rem;border-radius:50px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.6rem;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,var(--green-flag),#00875A);color:var(--white-flag);box-shadow:0 6px 20px #00684766;border:1px solid var(--gold)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00684799;background:linear-gradient(135deg,#00875A,var(--green-flag))}.btn-red{background:linear-gradient(135deg,var(--red-flag),#A80D1E);color:var(--white-flag);box-shadow:0 6px 20px #ce112666;border:1px solid var(--gold)}.btn-red:hover{transform:translateY(-3px);box-shadow:0 12px 30px #ce112699}.btn-outline{background:#072b1a99;border:2px solid var(--gold);color:var(--gold-light)}.btn-outline:hover{background:var(--gold);color:var(--green-dark);transform:translateY(-3px)}.countdown-section{background:linear-gradient(180deg,var(--green-dark) 0%,var(--green-medium) 100%);padding:4.5rem 1.5rem;border-bottom:3px solid var(--white-flag)}.section-badge{display:inline-block;background:#e5b23233;border:1.5px solid var(--gold);color:var(--gold-light);font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.45rem 1.4rem;border-radius:50px;margin-bottom:1.25rem}.section-badge-dark{background:#0068471a;border:1.5px solid var(--green-flag);color:var(--green-flag)}.section-title{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(1.8rem,4vw,3rem);margin-bottom:.5rem;color:var(--white-flag)}.countdown-grid{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:2.5rem}.countdown-box{background:#ffffff14;border:1.5px solid var(--border-gold);border-radius:16px;padding:1.5rem 2rem;text-align:center;min-width:120px;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.countdown-box:hover{border-color:var(--gold);transform:translateY(-4px);background:#e5b23226}.countdown-num{font-family:Playfair Display,serif;font-weight:900;font-size:clamp(2.5rem,6vw,4rem);color:var(--gold);line-height:1;display:block;transition:all .3s ease}.countdown-label{font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:700;color:var(--white-flag);letter-spacing:.2em;text-transform:uppercase;margin-top:.5rem}.birthday-msg{display:none;text-align:center;padding:2rem}.birthday-msg h2{font-family:Playfair Display,serif;font-size:2.5rem;color:var(--gold);margin-bottom:1rem}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;overflow:hidden}.mexican-flag-custom{position:absolute;top:-60px;display:inline-flex;width:45px;height:28px;border-radius:4px;box-shadow:0 4px 12px #00000080;overflow:hidden;border:1.5px solid rgba(255,255,255,.7);animation:flagFallCustom var(--fall-dur, 4s) var(--fall-delay, 0s) linear infinite;-webkit-user-select:none;user-select:none}.mexican-flag-custom .stripe-green{width:33.33%;height:100%;background:#006847}.mexican-flag-custom .stripe-white{width:33.34%;height:100%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;position:relative;overflow:hidden}.mexican-flag-custom .eagle-icon{font-size:11px;line-height:1;transform:scale(.9)}.mexican-flag-custom .stripe-red{width:33.33%;height:100%;background:#ce1126}@keyframes flagFallCustom{0%{transform:translateY(0) rotate(0) scale(.85);opacity:.95}50%{transform:translateY(50vh) rotate(180deg) scale(1.1)}to{transform:translateY(105vh) rotate(360deg) scale(.85);opacity:.2}}.invitation-section{background:var(--cream-flag);color:var(--text-dark);padding:5.5rem 1.5rem;position:relative;overflow:hidden;border-bottom:3px solid var(--red-flag)}.invitation-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(0,104,71,.08) 1.5px,transparent 1.5px);background-size:32px 32px}.invitation-inner{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1;background:#fff;border:3px solid var(--green-flag);border-radius:28px;padding:3.5rem 2.5rem;box-shadow:0 15px 45px #0068471f,0 5px 20px #ce112614;opacity:0;transform:translateY(50px) scale(.96);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}.invitation-inner.animated{opacity:1!important;transform:translateY(0) scale(1)!important}.invitation-inner:hover{transform:translateY(-4px) scale(1.005)!important;box-shadow:0 25px 60px #00684733,0 10px 30px #ce11261f}.invitation-ornament{color:var(--green-flag);font-size:1.4rem;letter-spacing:.8rem;margin:1.5rem 0}.invitation-ornament span{display:inline-block;transition:transform .3s ease;animation:ornamentPulse 3s ease-in-out infinite alternate}.invitation-ornament span:nth-child(2){animation-delay:1s}@keyframes ornamentPulse{0%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(0,104,71,.3))}to{transform:scale(1.25);filter:drop-shadow(0 0 8px rgba(206,17,38,.5))}}.invitation-message{font-family:Playfair Display,serif;font-size:clamp(1.15rem,2.8vw,1.4rem);color:#1e293b;line-height:1.95;margin:2rem 0;text-align:justify;text-justify:inter-word;font-weight:600;transition:color .3s ease}.invitation-signature{font-family:Montserrat,sans-serif;font-weight:800;color:var(--red-flag);font-size:1.15rem;margin-top:2rem;letter-spacing:.05em;transition:transform .3s ease}.invitation-inner:hover .invitation-signature{transform:scale(1.05)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;max-width:1050px;margin:3.5rem auto 0}.event-card{position:relative;background:#fff;border-radius:24px;padding:2.2rem 1.8rem;box-shadow:0 10px 30px #00684714;border:2px solid rgba(0,104,71,.18);transition:all .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--green-flag),var(--gold),var(--red-flag));opacity:.7;transition:opacity .3s ease,height .3s ease}.event-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 24px 50px #00684733;border-color:var(--green-flag)}.event-card:hover:before{opacity:1;height:7px}.card-icon{font-size:3.2rem;margin-bottom:1rem;display:inline-block;transition:transform .4s cubic-bezier(.34,1.56,.64,1);animation:emojiFloat 3.5s ease-in-out infinite alternate}.event-card:nth-child(1) .card-icon{animation-delay:0s}.event-card:nth-child(2) .card-icon{animation-delay:1.2s}.event-card:nth-child(3) .card-icon{animation-delay:2.4s}@keyframes emojiFloat{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(6deg) scale(1.08)}to{transform:translateY(0) rotate(-6deg)}}.event-card:hover .card-icon{transform:scale(1.3) rotate(12deg) translateY(-4px);filter:drop-shadow(0 6px 12px rgba(0,104,71,.3))}.card-title{font-family:Montserrat,sans-serif;font-weight:800;font-size:1.05rem;color:var(--green-flag);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(0,104,71,.15);transition:color .3s ease,border-color .3s ease}.event-card:hover .card-title{color:var(--red-flag);border-color:var(--red-flag)}.card-info{font-family:DM Sans,sans-serif;font-size:1.05rem;color:var(--text-dark);margin:.5rem 0;line-height:1.5;transition:transform .3s ease}.event-card:hover .card-info{transform:translate(2px)}.card-sub{font-size:.9rem;color:var(--gray-mid);margin-top:.3rem;transition:color .3s ease}.event-card:hover .card-sub{color:var(--green-flag)}.map-section{background:linear-gradient(180deg,var(--red-dark) 0%,var(--red-deep) 100%);color:var(--text-light);padding:6rem 1.5rem}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;max-width:1100px;margin:3rem auto 0;align-items:center}.map-iframe-wrap iframe{width:100%;height:420px;border-radius:20px;box-shadow:0 20px 60px #00000080;display:block;border:2px solid var(--gold)!important}.address-card{background:#ffffff14;border:2px solid var(--gold);border-radius:24px;padding:2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.address-card h3{font-family:Playfair Display,serif;font-size:1.8rem;color:var(--gold);margin-bottom:1.8rem}.address-row{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:1.4rem}.address-row .icon{font-size:1.5rem;min-width:32px}.address-row p{font-family:DM Sans,sans-serif;color:var(--text-light);line-height:1.6;font-size:1.05rem}.footer{background:#360207;padding:3.5rem 1.5rem;text-align:center;border-top:2px solid var(--gold)}.footer-logo{font-family:Playfair Display,serif;font-weight:900;font-size:1.3rem;color:var(--gold);letter-spacing:.2em;margin-bottom:.85rem}.footer-info{font-family:DM Sans,sans-serif;font-size:.95rem;color:#fffc;margin-bottom:1.5rem}.footer-divider{width:120px;height:2px;background:linear-gradient(90deg,var(--green-flag),var(--white-flag),var(--red-flag));margin:1rem auto}.footer-credit{font-size:.85rem;color:#ffffff80;margin-top:.75rem}.fade-up,.fade-left,.fade-right,.zoom-in{opacity:0;transition:all .7s cubic-bezier(.16,1,.3,1)}.fade-up{transform:translateY(40px)}.fade-left{transform:translate(-50px)}.fade-right{transform:translate(50px)}.zoom-in{transform:scale(.85)}.animated{opacity:1!important;transform:none!important}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}.text-center{text-align:center}.section-subtitle{font-family:DM Sans,sans-serif;font-size:1.1rem;color:inherit;opacity:.9;margin-top:.5rem}@media (max-width: 1024px){.cards-grid{grid-template-columns:1fr;max-width:550px}.map-grid{grid-template-columns:1fr}}@media (max-width: 768px){.invitation-inner{padding:2.5rem 1.5rem}.invitation-message{text-align:left}.hero{padding-top:5rem}}
