:root{--green-dark: #0a2818;--green: #1a5d3a;--green-light: #2d7a4a;--gold: #c9a959;--gold-light: #e8d5a3;--gold-metallic: linear-gradient(135deg, #c9a959 0%, #e8d5a3 50%, #b8933d 100%);--white: #ffffff;--cream: #fefdf8;--ivory: #f8f6f0;--text: #2d3748;--text-light: #5a6a7e;--danger: #ff6b6b;--paypal: #0070ba;--font-title: "Cormorant Garamond", Georgia, serif;--font-body: "Montserrat", -apple-system, sans-serif;--shadow-soft: 0 4px 30px rgba(0, 0, 0, .08);--shadow-medium: 0 10px 40px rgba(0, 0, 0, .15);--shadow-strong: 0 25px 60px rgba(0, 0, 0, .25);--shadow-gold: 0 0 30px rgba(201, 169, 89, .2);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-snap-type:y mandatory}body{font-family:var(--font-body);background:var(--green-dark);color:var(--white);line-height:1.7;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}@media (max-width: 768px){html{scroll-snap-type:none}}.display-text{font-family:var(--font-title);font-size:clamp(3rem,10vw,5rem);font-weight:300;line-height:1.1;letter-spacing:.05em}.text-gold{background:var(--gold-metallic);-webkit-background-clip:text;background-clip:text;color:transparent}@supports not (background-clip: text){.text-gold{background:none;color:var(--gold)}}.text-italic{font-style:italic;font-family:var(--font-title);font-weight:400}.amp{color:var(--gold);font-style:italic;font-family:var(--font-title);font-weight:300}h1,h2,h3{font-weight:300!important;letter-spacing:.08em}p{line-height:1.8;font-weight:300}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.block{display:block!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.grid{display:grid!important}.hidden{display:none!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.flex-center{display:flex;align-items:center;justify-content:center}.flex-column{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.w-full{width:100%}.h-full{height:100%}.max-w-sm{max-width:400px}.max-w-md{max-width:600px}.max-w-lg{max-width:800px}.max-w-xl{max-width:1000px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.rounded{border-radius:8px}.rounded-lg{border-radius:16px}.rounded-xl{border-radius:24px}.rounded-full{border-radius:50%}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.transition{transition:all .3s ease}.transition-fast{transition:all .15s ease}.transition-slow{transition:all .5s ease}section{min-height:100vh;width:100%;padding:3rem 2rem;display:contents;flex-direction:column;align-items:center;justify-content:center;position:relative;scroll-snap-align:start}@media (max-width: 768px){section{padding:2rem 1rem;min-height:auto;scroll-snap-align:none}}#programme{background:linear-gradient(180deg,#0a2818eb,#0f321eeb)}#lieu{background:linear-gradient(180deg,#144128e6,#1c4e32e6)}#hebergement{background:linear-gradient(180deg,#0f3723eb,#16442deb)}#info{background:linear-gradient(180deg,#0c301eeb,#123a26eb)}#dresscode{background:linear-gradient(180deg,#194b30e6,#20583ae6)}#histoire{background:linear-gradient(180deg,#194b30e6,#082316f0);padding-top:1.5rem;padding-bottom:1.5rem}#questions{background:linear-gradient(180deg,#082316f0,#0c2d1cf0)}#rsvp{background:linear-gradient(180deg,#0a2a1aeb,#0f3422eb)}#contacts{background:linear-gradient(180deg,#0c2d1ceb,#123a24eb)}.section-header{text-align:center;margin-bottom:2rem}.section-title{font-family:var(--font-title);font-size:clamp(2rem,6vw,3rem);font-weight:400;margin-bottom:.8rem;color:var(--white)}.section-subtitle{font-size:.95rem;color:var(--gold-light);letter-spacing:.1em}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;width:100%}@media (max-width: 1024px){.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}}footer{scroll-snap-align:start}.side-nav{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:1rem;padding:1rem .5rem;background:#0003;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:50px;border:1px solid rgba(255,255,255,.1)}.nav-dot{width:10px;height:10px;background:#ffffff4d;border-radius:50%;cursor:pointer;transition:all .3s ease;position:relative}.nav-dot:after{content:attr(data-label);position:absolute;right:25px;top:50%;transform:translateY(-50%);background:#0009;color:var(--white);padding:.3rem .6rem;border-radius:4px;font-size:.75rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none}.nav-dot:hover{background:var(--gold);transform:scale(1.2)}.nav-dot:hover:after{opacity:1;visibility:visible;right:20px}.nav-dot.active{background:var(--gold);transform:scale(1.3);box-shadow:0 0 10px var(--gold-glow)}@media (max-width: 1024px){.side-nav{display:none}}.topbar{position:fixed;top:0;left:0;right:0;z-index:100000;display:flex;align-items:center;padding:.6rem 1rem;background:#0a2818d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,169,89,.2);gap:.5rem;min-height:60px}.topbar-volume{display:flex;align-items:center;justify-content:center;width:clamp(34px,5vw,42px);height:clamp(34px,5vw,42px);border-radius:50%;background:#0a2818d9;border:1px solid rgba(201,169,89,.3);color:#fff;font-size:clamp(.9rem,1.4vw,1.15rem);cursor:pointer;transition:all .25s ease;position:absolute;right:clamp(.5rem,2vw,1rem)}.topbar-volume:hover{background:#0a2818f2;border-color:#c9a95980;transform:scale(1.05)}.topbar-volume.playing{background:#c9a9594d;border-color:#c9a95999;color:var(--gold, #c9a959)}.topbar-item{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:20px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:.8rem;font-weight:500;transition:all .25s ease;white-space:nowrap}.topbar-item i{font-size:.9rem}.topbar-item:hover{background:var(--gold, #c9a959);color:var(--green-dark, #0a2818);transform:scale(1.05);border-color:var(--gold, #c9a959)}.topbar-item.active{background:#c9a95940;border-color:var(--gold, #c9a959);color:var(--gold, #c9a959)}.topbar-menu .topbar-highlight{margin-top:auto;margin-bottom:2rem;justify-content:center;background:var(--gold, #c9a959)!important;color:var(--green-dark, #0a2818)!important;border-radius:12px;margin-left:1rem;margin-right:1rem}.topbar-item.topbar-home{background:#c9a95926;border-color:#c9a9594d;color:var(--gold, #c9a959)}.topbar-item.topbar-home:hover{background:var(--gold, #c9a959);color:var(--green-dark, #0a2818)}.topbar-highlight{background:var(--gold, #c9a959)!important;color:var(--green-dark, #0a2818)!important;border-color:var(--gold, #c9a959)!important;position:relative;overflow:visible;margin:0 .5rem;font-weight:600}.topbar-highlight i,.topbar-highlight span{display:inline-block;animation:textBounce 2s ease-in-out infinite;color:var(--green-dark, #0a2818)!important;font-weight:600}.topbar-highlight:hover{transform:scale(1.05);box-shadow:0 0 15px #c9a95966}.topbar-highlight:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1.5px 1.5px at 10% 10%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.4) 50%,transparent),radial-gradient(1.5px 1.5px at 30% 10%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(1.5px 1.5px at 40% 40%,rgba(255,255,255,.4) 50%,transparent),radial-gradient(1.5px 1.5px at 50% 10%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(1.5px 1.5px at 60% 30%,rgba(255,255,255,.4) 50%,transparent),radial-gradient(1.5px 1.5px at 70% 10%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(1.5px 1.5px at 80% 40%,rgba(255,255,255,.4) 50%,transparent),radial-gradient(1.5px 1.5px at 90% 10%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(2px 2px at 15% 50%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(2px 2px at 35% 70%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(2px 2px at 55% 50%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(2px 2px at 75% 70%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(2px 2px at 95% 50%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(2.5px 2.5px at 25% 85%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2.5px 2.5px at 65% 85%,rgba(255,255,255,.8) 50%,transparent);background-size:200% 200%;opacity:0;pointer-events:none;border-radius:50px;z-index:1;transition:opacity .5s ease}.topbar-highlight i,.topbar-highlight span{position:relative;z-index:2}.topbar-highlight:hover:before{opacity:1;animation:snowFall 8s linear infinite}@keyframes snowFall{0%{background-position:0 0}to{background-position:0 600px}}@keyframes buttonPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}@keyframes burstUp{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(360deg)}}@keyframes burstDown{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(-360deg)}}@keyframes bellShake{0%{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-15deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}85%{transform:rotate(-5deg)}to{transform:rotate(0)}}.topbar-item.topbar-orange,.topbar-item.topbar-orange i,.topbar-item.topbar-orange span{color:#ff8c42!important;animation:textBounce 2s ease-in-out infinite;display:inline-block}.topbar-item.topbar-blue,.topbar-item.topbar-blue i,.topbar-item.topbar-blue span{color:#3498db!important;display:inline-block;animation:none!important;transform:none!important}.topbar-item.topbar-blue:hover i{animation:bellShake .8s ease-in-out infinite;color:#3498db!important}.topbar-item.topbar-orange:hover,.topbar-item.topbar-orange:hover i,.topbar-item.topbar-orange:hover span{animation:none}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none;z-index:99998;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none}.sidebar-backdrop.active{opacity:1;visibility:visible;pointer-events:auto!important;z-index:99999!important;cursor:default}.topbar-toggle{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:0 .5rem;height:40px;position:absolute;left:.5rem;background:transparent;border:none;color:#fff;font-size:1.2rem;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (hover: hover){.topbar-toggle:hover{background:#ffffff1a;border-radius:8px}}.topbar-toggle.active{background:var(--gold, #c9a959);color:var(--green-dark, #0a2818);border-radius:8px}.topbar-toggle .menu-label{font-size:.9rem;font-weight:600;color:var(--gold, #c9a959);letter-spacing:.05em;text-transform:uppercase}.topbar-menu{display:flex;flex-direction:column;position:fixed;top:0;left:-280px;width:280px;height:100vh;background:linear-gradient(180deg,#0a2818fa,#0f321efa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.5rem 0;border-right:1px solid rgba(201,169,89,.3);box-shadow:5px 0 30px #00000080;transition:left .3s ease;z-index:100001;overflow-y:auto;align-items:stretch;justify-content:flex-start;gap:0}.topbar-menu.open{left:0}.topbar-menu:before{content:"Navigation";display:block;font-family:var(--font-title, "Playfair Display", serif);font-size:1.4rem;font-weight:500;color:var(--gold, #c9a959);padding:0 1.5rem 1rem;border-bottom:1px solid rgba(201,169,89,.2);margin-bottom:.5rem}.topbar-item{flex-direction:row;justify-content:flex-start;padding:.6rem 1.2rem;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.05);font-size:.85rem;gap:.8rem}.topbar-item i{font-size:1.1rem;width:24px;text-align:center}.topbar-item:hover{background:#c9a95926;transform:none;color:var(--gold, #c9a959)}.topbar-item.active{background:#c9a95933;border-left:3px solid var(--gold, #c9a959)}.topbar-item.topbar-home{background:#c9a9591a;margin-bottom:.5rem;border-bottom:1px solid rgba(201,169,89,.2)}.topbar-highlight{background:linear-gradient(135deg,#c9a959,#dab555)!important;color:var(--green-dark, #0a2818)!important;border:2px solid #edc967!important;border-radius:50px!important;margin:1rem auto 2rem!important;width:fit-content!important;min-width:220px;max-width:90%;display:flex!important;justify-content:center!important;align-items:center!important;gap:.8rem!important;text-align:center;padding:.8rem 1.5rem!important;box-shadow:0 4px 15px #0000004d;transition:all .3s cubic-bezier(.25,.8,.25,1);animation:gentleButtonPulse 3s ease-in-out infinite}.topbar-highlight:hover{background:linear-gradient(135deg,#d4b45a,#ebd48d)!important;color:var(--green-dark, #0a2818)!important;transform:scale(1.05)}.topbar-highlight i,.topbar-highlight span{display:inline-block;animation:none!important;color:var(--green-dark, #0a2818)!important}@keyframes gentleButtonPulse{0%{transform:scale(1);box-shadow:0 4px 15px #0000004d}50%{transform:scale(1.05);box-shadow:0 6px 20px #c9a95933}to{transform:scale(1);box-shadow:0 4px 15px #0000004d}}@media (min-width: 99999px){.topbar{justify-content:center}.topbar-toggle{display:none!important}.topbar-menu{display:flex!important;flex-direction:row!important;position:static!important;width:auto!important;height:auto!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:.3rem 1rem!important;border:none!important;box-shadow:none!important;left:auto!important;gap:.5rem;align-items:center;justify-content:center}.topbar-menu:before{display:none}.topbar-item{flex-direction:row;justify-content:center;padding:.5rem .9rem;border-radius:20px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-size:.8rem;gap:.4rem}.topbar-item i{font-size:.9rem;width:auto}.topbar-item:hover{transform:scale(1.05)}.topbar-item.active{border-left:none}.topbar-highlight{background:var(--gold, #c9a959)!important;color:var(--green-dark, #0a2818)!important;margin-top:0}}@keyframes gentleWiggle{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}@keyframes sparkleGlow{0%{box-shadow:0 0 #c9a95999}50%{box-shadow:0 0 15px 5px #c9a95966}to{box-shadow:0 0 #c9a95900}}@keyframes textBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.topbar-item.has-badge{position:relative}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(145deg,#f44336,#d32f2f);border:2px solid rgba(10,40,24,.9);border-radius:10px;font-size:.65rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #f4433680;animation:badgePulse 2s ease-in-out infinite;z-index:10}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notif-badge{position:static;margin-left:auto;top:auto;right:auto}@media (max-width: 768px){.topbar{min-height:50px;padding:.4rem .8rem}.topbar-toggle{height:38px;font-size:1.1rem}.topbar-toggle .menu-label{font-size:.85rem}}@media (max-width: 420px),(max-width: 768px) and (max-height: 750px){.topbar{min-height:45px;padding:.3rem .6rem}.topbar-toggle{height:34px;font-size:1rem}.topbar-toggle .menu-label{font-size:.75rem}}.sound-toggle{position:fixed;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .3s ease;color:var(--white)}.sound-toggle:hover{background:#000000b3;border-color:var(--gold);transform:scale(1.1)}.sound-toggle.playing{border-color:var(--gold);box-shadow:0 0 15px var(--gold-glow)}.sound-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.sound-icon svg{width:20px;height:20px;fill:currentColor}.sound-toggle-large{bottom:2rem;right:2rem;width:50px;height:50px}.sound-toggle-small{top:1.5rem;right:1.5rem;width:40px;height:40px;bottom:auto}.btn-lieu,.btn-rsvp{display:inline-block;padding:1rem 2rem;font-family:var(--font-body);font-size:1rem;font-weight:600;border-radius:50px;text-decoration:none;transition:all .3s ease;margin:.5rem}.btn-lieu{background:#ffffff1a;border:2px solid var(--gold);color:var(--white);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.btn-lieu:hover{background:var(--gold);color:var(--green-dark);transform:translateY(-3px)}.btn-rsvp{background:linear-gradient(135deg,var(--gold) 0%,#d4b45a 100%);color:var(--white);border:2px solid transparent;box-shadow:0 4px 15px #c9a9594d}.btn-rsvp:hover{transform:translateY(-3px);box-shadow:0 8px 25px #c9a95966;filter:brightness(1.1)}.btn-link-top{display:inline-block;margin-top:1.5rem;color:var(--gold);text-decoration:none;font-size:.9rem;border-bottom:1px solid transparent;transition:all .3s}.btn-link-top:hover{border-bottom-color:var(--gold)}#startScreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0a2818;overflow:hidden;transition:opacity 1s ease}#startScreen.hidden{opacity:0;pointer-events:none}.start-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}#smokeContainer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}#smokeContainer canvas{width:100%!important;height:100%!important;display:block}.start-snowflakes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;pointer-events:none;overflow:hidden}.start-snowflake{position:absolute;top:-20px;color:#fff;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;animation-name:snowfall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes snowfall{0%{transform:translateY(-300px) rotate(0);opacity:0}5%{opacity:0}15%{opacity:var(--max-opacity, .8)}90%{opacity:var(--max-opacity, .8)}to{transform:translateY(105vh) rotate(360deg);opacity:0}}.start-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:30;padding:1rem}.start-card{padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;max-width:90vw;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.start-card:before{display:none}.start-intro-text{font-family:Great Vibes,cursive;font-size:6.5rem;color:#c9a959;text-shadow:0 4px 20px rgba(0,0,0,.8),0 2px 10px rgba(0,0,0,.6),0 0 40px rgba(201,169,89,.6);font-weight:400;letter-spacing:.05em;margin-bottom:0;position:relative;opacity:0;transform:translateY(80px) scale(.6);filter:blur(8px);z-index:5;animation:ultraSmoothReveal 4s cubic-bezier(.19,1,.22,1) 2s forwards,gentlePulse 4s ease-in-out 5s infinite}@keyframes ultraSmoothReveal{0%{opacity:0;transform:translateY(80px) scale(.6);filter:blur(8px);z-index:5}60%{z-index:25}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);z-index:50}}@keyframes gentlePulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(0) scale(1.05)}}.start-btn{padding:1rem 3rem;font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#c9a959,#b8933d);border:2px solid rgba(201,169,89,.4);border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #00000080,0 3px 10px #c9a9594d,inset 0 1px #ffffff4d;text-transform:uppercase;letter-spacing:.15em;opacity:0;transform:translateY(20px);animation:buttonReveal 1.5s cubic-bezier(.16,1,.3,1) 4.5s forwards}@keyframes buttonReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.start-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0009,0 4px 15px #c9a95980,inset 0 1px #fff6}.start-btn:active{transform:translateY(-1px)}@media (max-width: 768px){.start-container{width:100%}.start-card{max-width:95vw;padding:0 1rem}.start-intro-text{font-size:3.5rem}.start-btn{padding:.8rem 2rem;font-size:1.1rem}}@media (max-width: 480px){.start-intro-text{font-size:3rem}.start-btn{padding:.7rem 1.5rem;font-size:1rem}}.lieu-flip-container{perspective:2000px;width:100%;max-width:1100px;min-height:550px;position:relative}.lieu-flip-inner{position:relative;width:100%;height:100%;transition:transform .8s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.lieu-flip-container.show-map .lieu-flip-inner{transform:rotateY(180deg)}.lieu-flip-front,.lieu-flip-back{position:relative;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.lieu-flip-front{z-index:2;transform:rotateY(0)}.lieu-flip-back{position:absolute;top:0;left:0;transform:rotateY(180deg);display:flex;flex-direction:column}.map-full-container{width:100%;height:100%;min-height:550px;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #0006;border:2px solid var(--gold);position:relative;background:var(--white)}.map-full-container iframe{width:100%;height:100%}.map-controls{position:absolute;top:20px;right:20px;display:flex;gap:.5rem;z-index:10}.map-address{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#fffffff2;padding:1rem 2rem;border-radius:20px;text-align:center;box-shadow:0 4px 20px #0003;border:1px solid var(--gold);z-index:10;width:max-content;max-width:90%}.map-address h3{font-family:var(--font-title);color:var(--green-dark);font-size:1.2rem;margin-bottom:.2rem}.map-address p{font-size:.9rem;color:var(--text);margin:0}.lieu-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;align-items:stretch}.lieu-left{display:flex;flex-direction:column;gap:1.5rem}.lieu-right{display:flex;flex-direction:column;justify-content:center}.lieu-image-container{border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000004d;height:100%;min-height:400px;position:relative;border:2px solid rgba(201,169,89,.3)}.lieu-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.lieu-image-container:hover img{transform:scale(1.03)}.map-container{border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000004d;border:2px solid rgba(201,169,89,.3);height:250px}.map-container iframe{width:100%;height:100%;border:0}.lieu-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1.5rem;width:100%;height:100%;min-height:550px}.tile-photo{grid-column:1 / 2;grid-row:1 / 2;padding:0!important;overflow:hidden;position:relative;border-radius:20px}.lieu-image-container{height:100%;width:100%;border-radius:20px;overflow:hidden;border:none;position:relative}.slide{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s ease-in-out}.slide.active{opacity:1}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:1.2rem;width:36px;height:36px;border-radius:50%;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.slider-btn:hover{background:#fff6;transform:translateY(-50%) scale(1.1)}.slider-btn.prev{left:10px}.slider-btn.next{right:10px}.tile-address{grid-column:2 / 3;grid-row:1 / 2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.panneau-ville{background:#fff;display:inline-block;box-shadow:0 0 10px #0003;border-radius:4px;border-radius:20px!important}.panneau-border{border:4px solid #ce0000;padding:.4rem 1rem;display:flex;align-items:center;justify-content:center;border-radius:20px}.panneau-text{color:#000!important;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif!important;font-weight:800!important;font-size:2rem!important;text-transform:uppercase;margin:0!important}.tile-travel{grid-column:1 / 2;grid-row:2 / 3;display:flex;flex-direction:column}.tile-equip{grid-column:2 / 3;grid-row:2 / 3}.tile-travel h4,.tile-equip h4{color:var(--gold);font-size:1rem;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.1em}.travel-grid-compact{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%;font-size:.9rem}.travel-item{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.2rem}.equip-list{display:flex;flex-direction:column;gap:.8rem;align-items:center}.equip-item{background:#ffffff1a;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;width:100%;justify-content:center;display:flex}@media (max-width: 900px){.lieu-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto;height:auto}.tile-photo,.tile-address,.tile-travel,.tile-equip{grid-column:1 / -1;grid-row:auto;min-height:auto}.tile-photo{height:250px}.slide{object-fit:contain;background:#0003}.map-full-container{min-height:400px;height:auto}.map-controls{width:auto;flex-direction:row;top:15px;right:15px;left:auto;transform:none;padding:0;bottom:auto}.map-address{width:90%;padding:.8rem;bottom:15px}.map-controls button,.map-controls a{width:100%;text-align:center;justify-content:center}}.hebergement-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1.5rem;width:100%;max-width:1100px;margin:0 auto;min-height:550px}.tile-heb-1{grid-column:1 / 2;grid-row:1 / 2}.tile-heb-2{grid-column:2 / 3;grid-row:1 / 2}.tile-heb-3{grid-column:1 / 2;grid-row:2 / 3}.tile-heb-4{grid-column:2 / 3;grid-row:2 / 3}.tile-heb-2{background:#c9a95926;border:1px solid rgba(201,169,89,.4)}.tile-heb-highlight{background:#c9a95933;border:2px solid rgba(201,169,89,.6)}.tile-heb-warning{border:1px solid rgba(206,0,0,.3);background:#28000033}@media (max-width: 900px){.hebergement-grid{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.tile-heb-1,.tile-heb-2,.tile-heb-3,.tile-heb-4{grid-column:1 / -1;grid-row:auto;min-height:auto}}.lieu-title{font-family:Great Vibes,cursive;font-size:2rem;color:var(--gold);margin-bottom:.8rem;text-align:center}.lieu-address{margin-bottom:1rem;font-size:.95rem;line-height:1.5;text-align:center;opacity:.95}.btn-maps-clean{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;background:transparent;border:1px solid var(--gold);border-radius:25px;color:var(--gold);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s ease;margin:.5rem auto}.btn-maps-clean:hover{background:var(--gold);color:var(--green-dark);transform:scale(1.02)}.btn-maps-clean i{font-size:1rem}.lieu-vin-honneur{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;text-align:center;line-height:1.5;color:#ffffffd9}.lieu-vin-honneur strong{color:var(--gold)}@media (max-width: 900px){.tile-photo{min-height:200px}.tile-photo .slider-container{height:100%}.tile-photo .slide{object-fit:cover;cursor:pointer}.lieu-title{font-size:1.6rem}.lieu-address{font-size:.85rem}.btn-maps-clean{padding:.7rem 1.2rem;font-size:.85rem}.lieu-vin-honneur{font-size:.8rem}}.glass-card{background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:1.5rem;transition:all .3s var(--ease-out)}.glass-card:hover{transform:translateY(-5px);background:#ffffff26;box-shadow:0 15px 30px #0003}.divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem auto}.divider-line{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.divider-icon{color:var(--gold);font-size:1.2rem}.contacts-grid{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;max-width:800px;margin:0 auto}.contact-card{flex:1;min-width:280px;max-width:350px;text-align:center;padding:2rem}.contact-avatar{font-size:3rem;margin-bottom:1rem}.contact-card h3{font-family:var(--font-title);font-size:1.8rem;color:var(--gold);margin-bottom:1.2rem}.contact-info{display:flex;flex-direction:column;gap:.8rem}.contact-link{display:flex;align-items:center;justify-content:center;gap:.6rem;color:#ffffffe6;text-decoration:none;font-size:.95rem;padding:.6rem 1rem;border-radius:8px;background:#ffffff14;transition:all .25s ease}.contact-link:hover{background:var(--gold);color:var(--green-dark)}.contact-link i{font-size:1rem;color:var(--gold);transition:color .25s ease}.contact-link:hover i{color:var(--green-dark)}.contacts-wrapper{max-width:900px;margin:0 auto}.qr-section{display:flex;align-items:center;justify-content:center;gap:2rem;margin-top:2.5rem;padding:1.5rem 2rem}.qr-large{width:150px;height:150px;border-radius:12px}.qr-info{text-align:left}.qr-label{font-size:.9rem;color:#ffffffb3;margin-bottom:.5rem}.site-link{display:inline-flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:600;color:var(--gold);text-decoration:none;transition:all .25s ease}.site-link:hover{color:#fff}.site-link i{font-size:1rem}.dark-section{background:transparent}.btn-rsvp{display:inline-block;padding:.8rem 1.8rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);background:transparent;border:1px solid var(--gold);border-radius:50px;cursor:pointer;transition:all .4s var(--ease-out);text-decoration:none;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:none;margin:.5rem}.btn-rsvp:hover{background:var(--gold);color:var(--white);border-color:var(--gold);box-shadow:0 5px 20px #c9a95966;transform:translateY(-2px);filter:none}.btn-lieu,.btn-maps{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;border-radius:50px;text-decoration:none;background:#ffffffe6;border:2px solid var(--gold);color:var(--gold);transition:all .3s ease;margin:.5rem}.btn-lieu:hover,.btn-maps:hover{background:var(--gold);color:var(--white);transform:translateY(-3px);box-shadow:0 4px 15px #c9a9594d}.btn-submit{width:100%;padding:1rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white);background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);border:none;border-radius:50px;cursor:pointer;transition:all .3s;margin-top:.5rem}.btn-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:45px;height:45px;background:linear-gradient(135deg,var(--gold) 0%,#b8933d 100%);color:var(--white);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;z-index:900;box-shadow:0 4px 15px #0000004d}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-3px);box-shadow:0 6px 20px #c9a95966}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}@media (max-width: 768px){.btn-rsvp,.btn-lieu,.btn-maps{padding:.8rem 1.5rem;font-size:.9rem}.hero-buttons{flex-direction:column;width:100%}.hero-buttons a,.hero-buttons button{width:100%;text-align:center}.back-to-top{bottom:1.5rem;right:1.5rem;width:40px;height:40px}}.btn-download{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#ffffff1a;border:1px solid var(--gold);border-radius:8px;color:var(--gold);text-decoration:none;font-size:.9rem;font-family:var(--font-body);transition:all .25s ease}.btn-download:hover{background:#c9a95933;transform:translateY(-2px)}.btn-paypal{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--paypal);border:none;border-radius:8px;color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;font-family:var(--font-body);transition:all .25s ease}.btn-paypal:hover{background:#005ea6;transform:translateY(-2px);box-shadow:0 4px 12px #0070ba66}.payment-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.btn-rsvp:focus-visible,.btn-lieu:focus-visible,.btn-maps:focus-visible,.btn-submit:focus-visible,.btn-share:focus-visible,.btn-download:focus-visible,.btn-paypal:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (prefers-reduced-motion: reduce){.btn-rsvp,.btn-lieu,.btn-maps,.btn-submit,.btn-share,.btn-download,.btn-paypal{transition:none}}.glass-card{background:#ffffff14;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:2.5rem;transition:all .5s var(--ease-out);box-shadow:0 4px 30px #0000001a}.glass-card:hover{transform:translateY(-5px);background:#ffffff1f;border-color:#ffffff40;box-shadow:0 20px 40px #0003}.glass-card-icon{font-size:2rem;margin-bottom:.8rem;display:block}.glass-card h3{font-family:var(--font-title);font-size:1.3rem;margin-bottom:.6rem;color:var(--gold-light)}.glass-card p,.glass-card li{font-size:.9rem;line-height:1.6;color:#ffffffe6}.glass-card ul{list-style:none;margin:.8rem 0}.glass-card ul li{margin-bottom:.4rem}.glass-card a{color:var(--gold);text-decoration:none}.glass-card a:hover{text-decoration:underline}.card-alert{background:#c9a95933;padding:.8rem;border-radius:10px;border-left:3px solid var(--gold);margin-top:.8rem;font-size:.85rem;color:var(--white)}.note-box{background:#ffffff14;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.15);border-radius:25px;padding:2.5rem 2rem;text-align:center;max-width:600px}.note-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.note-box h3{font-family:var(--font-title);font-size:1.5rem;margin-bottom:1rem;color:var(--white)}.note-box p{font-size:1rem;line-height:1.8;color:#ffffffe6}.note-thanks{color:var(--gold);font-family:var(--font-title);font-style:italic;font-size:1.2rem;margin-top:1.5rem;display:block}footer{text-align:center;padding:4rem 1.5rem;background:#081e12f5;border-top:1px solid rgba(255,255,255,.1);scroll-snap-align:start}.footer-ornament{font-size:1.2rem;color:var(--gold);letter-spacing:.8em;margin-bottom:1.5rem;opacity:.6}.footer-names{font-family:var(--font-title);font-size:2rem;margin-bottom:.5rem;color:var(--white)}.footer-names .amp{color:var(--gold);font-style:italic}.footer-date{font-size:.9rem;color:#ffffffb3;letter-spacing:.15em;margin-bottom:1.5rem}.btn-share{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.3rem;font-family:var(--font-body);font-size:.85rem;color:var(--gold);background:transparent;border:1px solid var(--gold);border-radius:25px;cursor:pointer;transition:all .3s;margin-bottom:1.5rem}.btn-share:hover{background:var(--gold);color:var(--green-dark)}.btn-share.copied{background:var(--green);border-color:var(--green);color:var(--white)}.btn-replay{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.3rem;font-family:var(--font-body);font-size:.85rem;color:var(--text-light);background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:25px;cursor:pointer;transition:all .3s;margin-bottom:1.5rem;margin-left:.5rem}.btn-replay:hover{background:#ffffff1a;border-color:var(--gold);color:var(--gold)}.footer-heart{font-size:1.5rem;color:var(--gold);animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--green-dark);transition:opacity 2s var(--ease-out),visibility 2s}.intro.fade-out{opacity:0;visibility:hidden;pointer-events:none}.intro-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.intro-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.skip-intro-btn{position:absolute;bottom:2rem;right:2rem;padding:.6rem 1.2rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:#fffc;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50px;cursor:pointer;transition:all .3s ease;z-index:101}.skip-intro-btn:hover{background:#0009;color:var(--white);border-color:#fff6;transform:scale(1.05)}.hero{position:relative;width:100%;height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem;padding-top:clamp(50px,8vh,70px);overflow:hidden;background:transparent!important}.hero-video-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-10;overflow:hidden}.hero-video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a2818fa;border-radius:24px;z-index:20;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .4s ease;padding:1rem}.hero-video-overlay.active{opacity:1;visibility:visible}.save-the-date-video{max-height:98%;max-width:98%;height:98%;object-fit:contain;border-radius:16px;box-shadow:0 10px 40px #00000080}.hero-card-container{perspective:clamp(1200px,150vw,2000px);-webkit-perspective:clamp(1200px,150vw,2000px);position:relative;z-index:2;width:min(92vw,520px);height:calc(90dvh - clamp(50px,8vh,70px));max-height:800px;transform-origin:center}.hero-card-container.revealing{animation:revealZoom 3s ease-out forwards}.hero-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:clamp(.8rem,2.5vh,2.5rem);gap:clamp(.5rem,1.5vh,1.5rem);background:linear-gradient(145deg,var(--cream) 0%,var(--ivory) 100%);color:var(--text);border-radius:24px;box-shadow:0 10px 50px -10px #0000004d;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:rotateY(-180deg);transition:transform 4s cubic-bezier(.25,.46,.45,.94);position:relative;will-change:transform;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-card.flipped{transform:rotateY(0)}.card-header,.card-body,.card-footer{display:contents}.hero-card-back{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,var(--green) 0%,var(--green-dark) 100%);border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-strong);z-index:10;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform 4s cubic-bezier(.25,.46,.45,.94);will-change:transform;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-card-back.flipped{transform:rotateY(180deg);pointer-events:none}.card-back-heart{font-size:clamp(2.5rem,6vh,4rem);color:var(--gold);animation:heartPulse 2s ease-in-out infinite}.hero-logo{width:clamp(200px,30vh,260px);height:auto;margin:0}.hero-names{font-family:var(--font-title);font-size:clamp(1.2rem,4vh,2.5rem);font-weight:400;color:var(--green-dark);margin:0;white-space:nowrap}.hero-names .amp{color:var(--gold);font-style:italic}.hero-announce{font-size:clamp(.7rem,1.8vh,1rem);line-height:1.4;color:var(--text);margin:0}.hero-tagline{font-family:var(--font-title);font-style:italic;font-size:clamp(.8rem,1.5vh,1.1rem);color:var(--text-light);margin:0}.hero-date{background:linear-gradient(135deg,var(--green) 0%,var(--green-light) 100%);color:var(--white);padding:clamp(.5rem,1.5vh,1.5rem) clamp(.8rem,3vw,2rem);border-radius:16px;width:100%;box-shadow:0 8px 30px #1a5d3a66;border:3px solid var(--gold)}.hero-date-intro{font-family:var(--font-title);font-weight:300;font-size:clamp(.65rem,1.2vh,1rem);opacity:.9;display:block;margin-bottom:.2rem;letter-spacing:.08em}.hero-date-day{font-family:var(--font-title);font-size:clamp(1rem,3vh,2rem);font-weight:500;line-height:1.2;display:block}.countdown-circles{display:flex;justify-content:center;flex-wrap:nowrap;gap:clamp(.25rem,2vw,1rem);list-style:none;padding:0;margin:0;width:100%}.chart{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;--chart-size: clamp(50px, 9vw, 70px);width:var(--chart-size);height:var(--chart-size);position:relative;box-sizing:border-box;text-align:center;flex-shrink:0}.chart canvas{position:absolute;left:0;top:0;width:100%!important;height:100%!important}.chart-value{display:block;font-family:var(--font-title);font-size:clamp(.8rem,2vw,1.4rem);font-weight:600;color:var(--green-dark);line-height:1;z-index:1}.chart-label{display:block;font-size:clamp(.35rem,.9vw,.6rem);color:var(--green);text-transform:uppercase;letter-spacing:.03em;margin-top:.1rem;z-index:1}.envelope-cta{position:absolute;bottom:clamp(.5rem,1.5vh,1rem);right:clamp(.5rem,1.5vw,1rem);width:clamp(36px,6vw,44px);height:clamp(36px,6vw,44px);border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold) 0%,#b8933d 100%);color:var(--green-dark);text-decoration:none;box-shadow:0 3px 12px #c9a95966;font-size:clamp(1rem,2.5vw,1.2rem);z-index:10;transition:all .3s ease}.envelope-cta .envelope-text{display:none}.envelope-cta .envelope-icon{animation:envelopeWiggle 1.5s ease-in-out infinite}.envelope-cta:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 5px 20px #c9a95980}.envelope-cta:after{content:"Répondre";position:absolute;bottom:110%;right:0;background:var(--green-dark);color:#fff;padding:.3rem .6rem;border-radius:6px;font-size:.7rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.envelope-cta:hover:after{opacity:1;visibility:visible}.video-btn,.print-btn{position:absolute;width:clamp(30px,5vw,36px);height:clamp(30px,5vw,36px);border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;z-index:10;transition:all .25s ease;font-size:clamp(.8rem,2vw,1rem);top:clamp(.5rem,1.5vh,1rem)}.video-btn{left:clamp(.5rem,1vw,1rem);background:var(--gold);color:var(--green-dark);box-shadow:0 3px 12px #0000004d}.print-btn{right:clamp(.5rem,1vw,1rem);background:#1a5d3a1a;border:1px solid rgba(26,93,58,.2);color:var(--green)}.video-close-btn{position:absolute;top:1rem;right:1rem;width:clamp(32px,5vw,44px);height:clamp(32px,5vw,44px);border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:25}@keyframes envelopeWiggle{0%,50%,to{transform:rotate(0)}10%{transform:rotate(-10deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}}@media (min-width: 1600px){.hero-card-container{scale:1.3}}@media (max-height: 700px){.hero-card-container{scale:clamp(.7,100vh / 800,.9)}}@media (max-height: 600px){.hero-card-container{scale:.65}}.timeline{position:relative;max-width:500px;margin:0 auto;padding:.5rem 0;padding-left:40px}.timeline:before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,transparent 0%,var(--gold) 5%,var(--gold) 95%,transparent 100%)}.timeline-item:before{content:"";position:absolute;left:-31px;top:10px;width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px #c9a95980}.timeline-item{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.6rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-icon{font-size:.9rem;margin-bottom:0;line-height:1}.timeline-time{font-family:var(--font-title);font-size:1.1rem;color:var(--gold);font-weight:600;margin-bottom:0;letter-spacing:.02em;line-height:1.1}.timeline-event{font-family:var(--font-title);font-size:1rem;color:var(--white);font-weight:500;margin-bottom:0;line-height:1.1}.timeline-desc{font-size:.7rem;color:#ffffff8c;line-height:1.2}.timeline-container{position:relative;max-width:900px;margin:0 auto;padding:1rem 0}.timeline-container:before{content:"";position:absolute;left:50%;top:5px;bottom:5px;width:2px;background:linear-gradient(180deg,transparent 0%,var(--gold) 15%,var(--gold) 85%,transparent 100%);transform:translate(-50%)}.timeline-row{display:flex;justify-content:center;align-items:center;margin-bottom:.8rem;position:relative;width:100%}.timeline-row:last-child{margin-bottom:0}.timeline-content{width:42%;background:#0a2818b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.2rem 1.5rem;border-radius:16px;box-shadow:0 8px 32px #0003,0 0 0 1px #c9a9594d;position:relative;color:var(--white);border-left:3px solid var(--gold);transition:transform .3s ease,box-shadow .3s ease}.timeline-content:hover{transform:translateY(-3px);box-shadow:0 12px 40px #0000004d,0 0 0 1px #c9a95980}.timeline-icon-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:45px;height:45px;background:linear-gradient(145deg,var(--green) 0%,var(--green-dark) 100%);border:3px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;z-index:2;box-shadow:0 4px 20px #c9a95966,0 0 30px #c9a95933}.timeline-year{font-family:var(--font-title);font-size:1.1rem;color:var(--gold);display:block;margin-bottom:.3rem;line-height:1;font-weight:500}.timeline-title{font-family:var(--font-title);font-size:1.1rem;color:var(--gold);margin-bottom:.5rem;font-weight:600;line-height:1.2}.timeline-text{font-size:.9rem;line-height:1.6;color:#ffffffd9;margin-bottom:0}.timeline-row:nth-child(odd){flex-direction:row}.timeline-row:nth-child(odd) .timeline-content{margin-right:auto;text-align:right}.timeline-row:nth-child(2n){flex-direction:row-reverse}.timeline-row:nth-child(2n) .timeline-content{margin-left:auto;text-align:left}@media (max-width: 768px){.timeline{max-width:100%;padding:.2rem 0 .2rem 35px}.timeline:before{left:12px;top:5px;bottom:5px}.timeline-item:before{left:-29px;top:8px;width:6px;height:6px}.timeline-item{margin-bottom:.5rem}.timeline-icon{font-size:.8rem}.timeline-time{font-size:1rem}.timeline-event{font-size:.9rem}.timeline-desc{font-size:.65rem}.timeline-container{padding-left:40px}.timeline-container:before{left:20px;transform:none}.timeline-row,.timeline-row:nth-child(2n),.timeline-row:nth-child(odd){flex-direction:column;align-items:flex-start;margin-bottom:2rem}.timeline-content{width:100%;margin:0!important;text-align:left!important;padding:1.2rem}.timeline-icon-circle{left:-20px;top:30px;transform:translate(-50%);width:40px;height:40px;font-size:1.2rem}}.timeline-content.highlight{background:#c9a95940!important;border:2px solid var(--gold);box-shadow:0 0 25px #c9a95966;transform:scale(1.02);z-index:10}.timeline-content.highlight .timeline-year,.timeline-content.highlight .timeline-title{color:var(--gold);text-shadow:0 0 10px rgba(201,169,89,.3)}.timeline-content.highlight:after{content:"✨";position:absolute;top:-15px;right:-10px;font-size:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.guestbook-feed-container{position:relative;max-width:600px;margin:3rem auto 0;height:400px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 10%,black 90%,transparent);border-top:1px solid rgba(201,169,89,.2);border-bottom:1px solid rgba(201,169,89,.2);padding:2rem 0}.guestbook-feed-track{display:flex;flex-direction:column;gap:1.5rem;animation:scrollUp 40s linear infinite}.guestbook-feed-track:hover{animation-play-state:paused}@keyframes scrollUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.guestbook-card{background:#0a281899;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(201,169,89,.3);padding:1.5rem;border-radius:12px;margin:0 1rem;position:relative}.guestbook-card:before{content:'"';position:absolute;top:-10px;left:20px;font-size:3rem;color:var(--gold);opacity:.3;font-family:var(--font-title);line-height:1}.guestbook-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.8rem;border-bottom:1px dashed rgba(201,169,89,.3);padding-bottom:.5rem}.guestbook-name{color:var(--gold);font-family:var(--font-title);font-size:1.3rem;font-weight:600}.guestbook-date{font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.guestbook-message{color:var(--white);font-style:italic;line-height:1.6;font-size:.95rem}.rsvp-section{background:transparent}.rsvp-box{background:linear-gradient(145deg,#fffdf8fa,#faf8f0f2);color:var(--text);border-radius:clamp(16px,3vw,24px);padding:clamp(1rem,3vw,2.5rem);box-shadow:0 25px 50px #00000026,0 0 0 1px #c9a9591a,inset 0 1px #fffc;min-width:0;max-width:700px;width:calc(100% - 1rem);margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (min-width: 768px){.rsvp-box{width:100%}.rsvp-box .section-title{font-size:2rem}}.rsvp-box .section-header{margin-bottom:1rem}.rsvp-box .section-title{color:var(--green-dark);font-size:1.5rem;margin-bottom:.2rem}.rsvp-box .section-subtitle{color:var(--text-light);margin-bottom:.5rem;font-size:.9rem}.rsvp-box .divider{margin:.5rem auto;opacity:.6}.rsvp-box .divider-line{background:linear-gradient(90deg,transparent,var(--green),transparent);width:30px}.rsvp-box .divider-icon{color:var(--green);font-size:.8rem}.form-group{margin-bottom:clamp(.6rem,1.5vw,.9rem)}.form-group label{display:block;font-size:clamp(.65rem,1.2vw,.8rem);font-weight:600;margin-bottom:.4rem;color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{width:100%;padding:clamp(.5rem,1vw,.7rem) clamp(.7rem,1.5vw,1rem);font-family:var(--font-body);font-size:clamp(.85rem,1.5vw,.95rem);border:2px solid rgba(0,0,0,.08);border-radius:10px;transition:all .3s ease;background:#ffffffe6;color:var(--text)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#c9a9594d}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px #c9a95926;background:var(--white)}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.6rem,2vw,1.2rem)}@media (max-width: 400px){.form-row{grid-template-columns:1fr;gap:.5rem}}.radio-group{display:flex;gap:clamp(.5rem,2vw,1.2rem);margin-top:.5rem;flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:.4rem;cursor:pointer;padding:clamp(.4rem,1vw,.6rem) clamp(.6rem,1.5vw,.9rem);border-radius:25px;background:#ffffffb3;border:2px solid rgba(0,0,0,.05);transition:all .3s ease;font-size:clamp(.8rem,1.3vw,.85rem)}.radio-option:hover{background:#c9a9591a;border-color:#c9a9594d}.radio-option:has(input:checked){background:linear-gradient(135deg,#c9a95926,#c9a95914);border-color:var(--gold)}.radio-option input{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}.radio-option span{font-size:.85rem}.btn-submit{width:100%;padding:clamp(.7rem,1.5vw,1rem) clamp(1.5rem,4vw,2.5rem);font-family:var(--font-body);font-size:clamp(.85rem,1.5vw,1rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--white);background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);border:none;border-radius:50px;cursor:pointer;transition:all .4s ease;margin-top:1rem;box-shadow:0 4px 15px #1a4a334d;position:relative;overflow:hidden}.btn-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-submit:hover{transform:translateY(-3px);box-shadow:0 8px 25px #1a4a3366}.btn-submit:hover:before{left:100%}.btn-submit:active{transform:translateY(-1px)}.form-success{display:none;text-align:center;padding:clamp(1rem,3vw,2.5rem)}.form-success.visible{display:block}.form-success-icon{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem;display:block}.form-success-title{font-size:clamp(1.3rem,3vw,2rem)!important}.form-success-message{font-size:clamp(.9rem,1.5vw,1.1rem)!important}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group input::placeholder,.form-group textarea::placeholder{color:#00000059;font-style:italic}.faq-item{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:12px;margin-bottom:.8rem;overflow:hidden;max-width:700px;width:100%}.faq-question{padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s}.faq-question:hover{background:#ffffff0d}.faq-question h4{font-family:var(--font-title);font-size:1.1rem;font-weight:400;color:var(--white)}.faq-toggle{font-size:1.3rem;color:var(--gold);transition:transform .3s}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}.faq-item.open .faq-answer{max-height:200px;padding:0 1.5rem 1.2rem}.faq-answer p{font-size:.9rem;line-height:1.7;color:#ffffffd9}.timeline{position:relative;padding-left:3rem;max-width:600px}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--gold) 0%,var(--green) 50%,var(--gold) 100%)}.timeline-item{position:relative;padding-bottom:2rem;padding-left:2rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-3rem;top:0;width:18px;height:18px;background:var(--gold);border-radius:50%;border:4px solid var(--green-dark);box-shadow:0 0 15px var(--gold-glow)}.timeline-icon{font-size:1.5rem;margin-bottom:.3rem}.timeline-time{font-size:1rem;font-weight:600;color:var(--gold)}.timeline-event{font-family:var(--font-title);font-size:1.4rem;margin:.2rem 0;color:var(--white)}.timeline-desc{font-size:.9rem;color:#ffffffb3}.page-bg-video{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:cover;z-index:-1}.page-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0a2818d9,#0f3723e6);z-index:0}.page-content{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem}.page-back-btn{position:fixed;top:1.5rem;left:1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);color:#fff;padding:.7rem 1.2rem;border-radius:30px;text-decoration:none;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;z-index:100;transition:all .25s ease}.page-back-btn:hover{background:var(--gold);color:var(--green-dark);transform:scale(1.05)}.page-back-btn i{font-size:.85rem}.page-section{width:100%;max-width:1000px}.page-scrollable{overflow-y:auto;overflow-x:hidden}.page-scrollable .page-content{min-height:auto;padding-top:5rem;padding-bottom:3rem}@media (max-width: 768px){.page-content{padding:2rem 1rem}.page-scrollable .page-content{padding-top:5.5rem;padding-bottom:2rem}}.story-cards-container{display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;padding:0 1rem}.story-card{position:relative;border-radius:20px;overflow:hidden;background:var(--green-dark);box-shadow:0 20px 60px #0006;transition:transform .4s ease,box-shadow .4s ease;display:flex;flex-direction:row;min-height:400px}.story-card.reversed{flex-direction:row-reverse}.story-card:hover{transform:translateY(-5px);box-shadow:0 30px 80px #00000080}.story-card-photos{position:relative;flex:0 0 55%;min-height:400px;overflow:hidden}.story-card-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease-in-out}.story-card-photo.active{opacity:1}.story-card-photo img{width:100%;height:100%;object-fit:cover}.story-card-text-side{flex:0 0 45%;display:flex;flex-direction:column;justify-content:center;padding:4rem 2.5rem 2.5rem;position:relative;background:linear-gradient(135deg,var(--green-dark) 0%,rgba(10,40,24,1) 100%)}.story-card-caption{display:none}.story-card-caption.active{display:block}.story-card-year{position:absolute;top:15px;left:15px;z-index:5;display:inline-block;background:var(--gold);color:var(--green-dark);padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .5s ease}.story-card-year.active{opacity:1}.story-card-title{font-family:var(--font-title);font-size:1.8rem;color:var(--white);margin-bottom:1rem;line-height:1.2}.story-card-text{font-size:1rem;color:#ffffffe6;line-height:1.7}.story-card-text strong{color:var(--gold)}.story-card-dots{position:absolute;bottom:20px;right:20px;display:flex;gap:8px;z-index:4}.story-card-dot{width:10px;height:10px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .3s;border:none}.story-card-dot.active,.story-card-dot:hover{background:var(--gold);transform:scale(1.2)}.story-card-icon{position:absolute;top:20px;right:20px;width:50px;height:50px;background:#c9a95933;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;z-index:4;animation:pulse 2s infinite}@media (max-width: 768px){.story-card,.story-card.reversed{flex-direction:column;min-height:auto}.story-card-photos{flex:none;min-height:280px;width:100%}.story-card-text-side{flex:none;padding:3.5rem 1.5rem 1.5rem}.story-card-title{font-size:1.4rem}.story-card-text{font-size:.9rem}.story-card-icon{top:15px;right:15px;width:40px;height:40px;font-size:1.2rem}.story-card-dots{bottom:15px;right:15px}.story-card-year{top:10px;left:10px;font-size:.75rem;padding:.3rem .8rem}}@keyframes pulse{0%,to{box-shadow:0 0 #c9a95966}50%{box-shadow:0 0 0 10px #c9a95900}}.story-card{opacity:0;transform:translateY(30px);animation:fadeSlideIn .8s ease forwards}.story-card:nth-child(1){animation-delay:.1s}.story-card:nth-child(2){animation-delay:.3s}.story-card:nth-child(3){animation-delay:.5s}.story-card:nth-child(4){animation-delay:.7s}@keyframes fadeSlideIn{to{opacity:1;transform:translateY(0)}}.notifications-container{max-width:1100px;width:100%;margin:0 auto;padding:0 1rem}.notifications-empty{text-align:center;padding:4rem 2rem;background:#ffffff14;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.15);border-radius:25px}.notifications-empty p{margin-top:1rem;color:#ffffffd9;font-size:1.1rem}.notifications-list{display:flex;flex-direction:column;gap:1.5rem}.notification-card{background:#0a2818b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(201,169,89,.3);border-radius:20px;padding:2rem;position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;box-shadow:0 8px 32px #0003;min-height:180px;display:flex;flex-direction:column}.notification-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000004d,0 0 30px #c9a95926;border-color:#c9a95980}.notification-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--gold) 0%,#a88a3d 100%);border-radius:20px 0 0 20px}.notification-card.warning:before{background:linear-gradient(180deg,#ff9800,#f57c00)}.notification-card.urgent:before{background:linear-gradient(180deg,#f44336,#d32f2f);box-shadow:0 0 20px #f4433680}.notification-card:after{content:'"';position:absolute;top:-10px;right:25px;font-size:4rem;color:var(--gold);opacity:.15;font-family:Cormorant Garamond,serif;line-height:1;pointer-events:none}.notification-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem;border-bottom:1px dashed rgba(201,169,89,.3);padding-bottom:1rem}.notification-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;color:var(--gold);margin:0;display:flex;align-items:center;gap:.8rem}.notification-type-badge{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:linear-gradient(145deg,var(--green) 0%,var(--green-dark) 100%);border:3px solid var(--gold);border-radius:50%;font-size:1.3rem;box-shadow:0 4px 20px #c9a95966,0 0 20px #c9a95926;flex-shrink:0}.notification-card.warning .notification-type-badge{border-color:#ff9800;box-shadow:0 4px 20px #ff980066}.notification-card.urgent .notification-type-badge{border-color:#f44336;box-shadow:0 4px 20px #f4433680;animation:urgentBadgePulse 1.5s ease-in-out infinite}@keyframes urgentBadgePulse{0%,to{box-shadow:0 4px 20px #f4433680}50%{box-shadow:0 4px 30px #f44336cc,0 0 40px #f4433666}}.notification-date{font-size:.75rem;color:#ffffff80;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.notification-message{font-size:1.05rem;color:#ffffffe6;line-height:1.8;margin:0;font-style:italic}.notification-card.warning{background:#28230acc;border-color:#ff980066}.notification-card.warning .notification-title{color:#ffb74d}.notification-card.urgent{background:#280f0fd9;border-color:#f4433680;animation:urgentCardPulse 2s ease-in-out infinite}.notification-card.urgent .notification-title{color:#ff8a80}@keyframes urgentCardPulse{0%,to{box-shadow:0 8px 32px #f4433633;border-color:#f4433680}50%{box-shadow:0 8px 40px #f4433666,0 0 30px #f4433633;border-color:#f44336cc}}@media (max-width: 768px){.notifications-container{max-width:100%;padding:0 .8rem}.notification-card{padding:1.2rem;border-radius:16px;min-height:150px}.notification-header{flex-direction:column;gap:.8rem}.notification-type-badge{width:38px;height:38px;font-size:1rem}.notification-title{font-size:1.15rem;gap:.6rem}.notification-message{font-size:.9rem;line-height:1.6}.notification-date{font-size:.7rem}.notifications-empty{padding:2.5rem 1rem}.notification-card:after{font-size:2.5rem;right:15px;top:-5px}}.notifications-feed{display:flex;flex-direction:column;gap:.8rem;width:100%}.feed-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#0a281899;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(201,169,89,.25);border-radius:12px;cursor:pointer;transition:all .3s ease;width:100%;max-height:100px;min-height:80px;box-sizing:border-box}.feed-item:hover{background:#0a2818cc;border-color:#c9a95980;transform:translate(5px);box-shadow:0 5px 20px #0003}.feed-item.warning{border-left:3px solid #ff9800}.feed-item.urgent{border-left:3px solid #f44336;animation:feedUrgentPulse 2s ease-in-out infinite}@keyframes feedUrgentPulse{0%,to{background:#280f0f99}50%{background:#3c1414cc}}.feed-badge{width:40px;height:40px;background:linear-gradient(145deg,var(--green) 0%,var(--green-dark) 100%);border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;box-shadow:0 3px 10px #c9a9594d}.feed-item.warning .feed-badge{border-color:#ff9800}.feed-item.urgent .feed-badge{border-color:#f44336}.feed-content{flex:1;min-width:0}.feed-title{font-family:Cormorant Garamond,serif;font-size:1.15rem;color:var(--gold);margin:0 0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-preview{font-size:.85rem;color:#ffffffb3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-date{font-size:.7rem;color:#fff6;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.feed-arrow{color:var(--gold);font-size:1rem;opacity:.5;transition:all .3s ease}.feed-item:hover .feed-arrow{opacity:1;transform:translate(3px)}.notif-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease;padding:1rem}.notif-modal-overlay.active{opacity:1;visibility:visible}.notif-modal{background:linear-gradient(145deg,#0a2818f2,#05190ffa);border:2px solid var(--gold);border-radius:24px;padding:2.5rem;max-width:550px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 25px 80px #00000080,0 0 50px #c9a95926;transform:scale(.9) translateY(20px);transition:transform .3s ease}.notif-modal-overlay.active .notif-modal{transform:scale(1) translateY(0)}.notif-modal-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--white);width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1}.notif-modal-close:hover{background:var(--gold);color:var(--green-dark);border-color:var(--gold)}.notif-modal-badge{width:60px;height:60px;background:linear-gradient(145deg,var(--green) 0%,var(--green-dark) 100%);border:3px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1.5rem;box-shadow:0 5px 25px #c9a95966}.notif-modal-title{font-family:Cormorant Garamond,serif;font-size:1.8rem;color:var(--gold);text-align:center;margin:0 0 .5rem}.notif-modal-date{display:block;text-align:center;font-size:.8rem;color:#ffffff80;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.notif-modal-content{font-size:1.1rem;color:#ffffffe6;line-height:1.8;text-align:center}@media (max-width: 768px){.notif-modal{padding:2rem 1.5rem;border-radius:20px}.notif-modal-badge{width:50px;height:50px;font-size:1.5rem}.notif-modal-title{font-size:1.5rem}.notif-modal-content{font-size:1rem}.feed-item{padding:.6rem .8rem;gap:.8rem;max-height:85px;min-height:70px}.feed-badge{width:32px;height:32px;font-size:.9rem}.feed-title{font-size:.95rem}.feed-preview{font-size:.75rem}.feed-date{font-size:.6rem}.feed-arrow{display:none}}@media (max-width: 768px){section{padding:2rem 1rem;min-height:auto;scroll-snap-align:none}html{scroll-snap-type:none}.info-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr 1fr;gap:.8rem}.timeline{padding-left:2.5rem}.timeline-item:before{left:-2.5rem}.glass-card{padding:1.2rem}.qr-section{flex-direction:column!important;text-align:center;gap:1rem}.qr-info{text-align:center}.hero-card-container{perspective:1200px;-webkit-perspective:1200px}.hero-card-back,.hero-card{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-video-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-10}.hero-video{width:100vw;height:100vh;object-fit:cover;object-position:center}.intro-video{object-fit:contain;object-position:center}#particles,.particle{display:none!important}.sparkle-container{opacity:.5}.hero-buttons{flex-direction:column;gap:.5rem;align-items:center}.hero-buttons .btn-lieu,.hero-buttons .btn-rsvp{padding:.5rem 1rem;font-size:.75rem}}@media (max-width: 900px){.lieu-wrapper{grid-template-columns:1fr}.lieu-image{max-height:300px}}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.fade-in.visible{opacity:1;transform:translateY(0)}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.pulse-glow{animation:pulseGlow 1s ease-in-out 2}@keyframes pulseGlow{0%,to{box-shadow:var(--shadow-strong),0 0 30px #c9a9594d}50%{box-shadow:var(--shadow-strong),0 0 80px #c9a959cc,0 0 120px #c9a95966}}.sparkle-container{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none;z-index:100}.sparkle{position:absolute;animation:sparkleExplode 1.5s ease-out forwards;text-shadow:0 0 10px currentColor,0 0 20px currentColor;font-family:Arial,sans-serif}@keyframes sparkleExplode{0%{transform:translate(0) scale(0) rotate(0);opacity:0}10%{opacity:1;transform:translate(calc(var(--x) * .1),calc(var(--y) * .1)) scale(1.2) rotate(90deg)}to{transform:translate(var(--x),var(--y)) scale(.5) rotate(720deg);opacity:0}}.revealing{animation:revealZoom 3s ease-out forwards}@keyframes revealZoom{0%{transform:scale(1)}30%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}#particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.particle{position:absolute;color:#ffffff80;animation:particleFall linear infinite}@keyframes particleFall{0%{transform:translateY(-20px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh);opacity:0}}
