@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Petit+Formal+Script&family=DM+Sans:wght@400;500&display=swap";:root{--rose-poudre: #FFB6C1;--rose-vif: #FF69B4;--bordeaux: #8B0035;--bordeaux-deep: #5a0022;--blanc-casse: #FFF5F5;--cream: #FFFAF7;--or: #D4AF37;--or-light: #E8C547;--dark-bg: #2a1a1f;--dark-mid: #3d1525;--bg: var(--cream);--text: #2a1a1f;--text-muted: #6b4a55;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--font-script: "Petit Formal Script", cursive;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--menu-title: clamp(1.75rem, 4vw + 1rem, 3rem);--menu-subtitle: clamp(.875rem, .875rem + .4vw, 1rem);--flip-card-height: clamp(280px, 55dvh, 320px);--flip-card-padding: clamp(1.25rem, 1.25rem + 2vw, 2rem);--flip-card-gap: clamp(1rem, 1rem + 1vw, 1.5rem);--flip-category-size: clamp(1.25rem, 1.25rem + .5vw, 1.5rem);--flip-name-size: clamp(1.1rem, 1.1rem + .4vw, 1.3rem);--flip-desc-size: clamp(.8125rem, .8125rem + .3vw, .9rem);--flip-number-size: clamp(2.25rem, 2.25rem + 1.5vw, 3rem);--section-padding-x: clamp(1rem, 1rem + 1vw, 1.5rem);--section-padding-y: clamp(2.5rem, 2.5rem + 2vw, 4rem)}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.story{position:relative}.section{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--section-padding-y) var(--section-padding-x);overflow:hidden;scroll-snap-align:start}.section-bridge{position:absolute;left:0;right:0;height:180px;pointer-events:none;z-index:3}.section-bridge--to-light{bottom:-1px;background:linear-gradient(180deg,transparent 0%,rgba(255,250,247,.05) 20%,rgba(255,250,247,.2) 40%,rgba(255,250,247,.5) 60%,rgba(255,250,247,.85) 80%,var(--cream) 100%)}.section-bridge--to-dark{bottom:-1px;background:linear-gradient(180deg,transparent 0%,rgba(42,26,31,.03) 20%,rgba(42,26,31,.12) 40%,rgba(42,26,31,.35) 60%,rgba(42,26,31,.7) 80%,var(--dark-bg) 100%)}.floating-hearts{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.floating-heart{position:absolute;bottom:-5%;color:var(--rose-vif);animation:float-up linear infinite}@keyframes float-up{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-110vh) translate(30px) rotate(360deg);opacity:0}}.gold-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden}.gold-particle{position:absolute;border-radius:50%;background:var(--or);animation:gold-twinkle ease-in-out infinite}@keyframes gold-twinkle{0%,to{opacity:.05;transform:scale(.8)}50%{opacity:.4;transform:scale(1.4)}}.section--hero{background:linear-gradient(180deg,var(--dark-bg) 0%,var(--dark-mid) 30%,#4a1a2e 50%,var(--dark-mid) 75%,var(--dark-bg) 100%);color:#fff;padding-bottom:10rem}.hero-bg-orbs{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.hero-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);animation:orb-drift 12s ease-in-out infinite}.hero-bg-orb--1{width:400px;height:400px;background:radial-gradient(circle,rgba(255,105,180,.25) 0%,transparent 70%);top:10%;left:-10%}.hero-bg-orb--2{width:300px;height:300px;background:radial-gradient(circle,rgba(212,175,55,.15) 0%,transparent 70%);top:50%;right:-5%;animation-delay:-4s}.hero-bg-orb--3{width:250px;height:250px;background:radial-gradient(circle,rgba(139,0,53,.2) 0%,transparent 70%);bottom:15%;left:30%;animation-delay:-8s}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.1)}66%{transform:translate(-20px,15px) scale(.95)}}.hero-content{position:relative;z-index:5;text-align:center;max-width:600px;opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease-out),transform 1.2s var(--ease-out)}.hero-content--visible{opacity:1;transform:translateY(0)}.hero-sparkle-ring{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.hero-sparkle-ring__dot{position:absolute;width:3px;height:3px;background:var(--or);border-radius:50%;transform-origin:center center;animation:sparkle-ring-pulse 2.5s ease-in-out infinite}@keyframes sparkle-ring-pulse{0%,to{opacity:.1;box-shadow:0 0 4px var(--or)}50%{opacity:.8;box-shadow:0 0 12px var(--or-light)}}.hero__title{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,4.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#ffd4e0 40%,#d4af37,#fff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 6s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero__line-deco{width:80px;height:2px;margin:1.5rem auto;background:linear-gradient(90deg,transparent,var(--or),var(--rose-vif),var(--or),transparent);border-radius:2px}.hero__note{font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.2rem);font-weight:400;font-style:italic;line-height:1.8;color:#ffffffbf;max-width:480px;margin:0 auto}.hero__scroll-hint{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero__scroll-arrow{font-size:1.2rem;color:var(--or);animation:bounce-down 2s ease-in-out infinite}@keyframes bounce-down{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(12px);opacity:1}}.section--envelope{background:linear-gradient(180deg,var(--cream) 0%,#fff0f3 50%,var(--cream) 100%);min-height:auto;padding:6rem 1.5rem 10rem}.envelope-intro{font-family:var(--font-display);font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:500;font-style:italic;color:var(--bordeaux);text-align:center;margin-bottom:2.5rem;opacity:0;animation:fade-in-up 1s var(--ease-out) .3s forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.envelope-scene{position:relative;width:100%;max-width:400px;min-height:300px;display:flex;align-items:center;justify-content:center}.envelope-particles{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;pointer-events:none}.envelope-particle{position:absolute;border-radius:50%;background:var(--or);animation:envelope-particle-float ease-in-out infinite}@keyframes envelope-particle-float{0%,to{opacity:.05;transform:translateY(0)}50%{opacity:.35;transform:translateY(-20px)}}.envelope-sparkle{position:absolute;pointer-events:none;z-index:100;animation:sparkle-burst ease-out both}@keyframes sparkle-burst{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:.9}to{transform:scale(0) rotate(360deg);opacity:0}}.envelope{position:relative;width:min(300px,85vw);height:260px;cursor:pointer;perspective:900px;z-index:10;transition:transform .4s var(--ease-out)}.envelope:hover:not(.envelope--opened){transform:translateY(-6px) scale(1.02)}.envelope:focus-visible{outline:2px solid var(--bordeaux);outline-offset:4px;border-radius:12px}.envelope__body{position:absolute;bottom:0;left:0;right:0;height:190px;border-radius:6px 6px 16px 16px;background:linear-gradient(170deg,#fff5f7,#ffdfe6 40%,#ffb6c1);border:1px solid rgba(255,182,193,.5);box-shadow:0 8px 32px #ff69b426,0 2px 8px #8b00350f,inset 0 1px #ffffffe6;overflow:hidden;z-index:2;animation:envelope-breathe 4s ease-in-out infinite}.envelope__body-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.15) 45%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.15) 55%,transparent 60%);animation:shine-sweep 4s ease-in-out infinite;pointer-events:none}@keyframes shine-sweep{0%,to{transform:translate(-100%) translateY(-100%)}50%{transform:translate(100%) translateY(100%)}}@keyframes envelope-breathe{0%,to{box-shadow:0 8px 32px #ff69b426,0 2px 8px #8b00350f}50%{box-shadow:0 14px 48px #ff69b440,0 4px 16px #8b00351a}}.envelope__fold-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.envelope__flap{position:absolute;top:0;left:0;right:0;height:105px;transform-origin:bottom center;transform-style:preserve-3d;transition:transform .06s linear;z-index:5}.envelope__flap-front{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffe4eb,#ffc9d8);clip-path:polygon(0 100%,50% 6%,100% 100%);backface-visibility:hidden;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;filter:drop-shadow(0 2px 8px rgba(139,0,53,.12))}.envelope__flap-back{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f8e8ec,#fdf2f4);clip-path:polygon(0 100%,50% 6%,100% 100%);backface-visibility:hidden;transform:rotateX(180deg)}.envelope__wax-seal{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff69b4,#8b0035,#5a0022);box-shadow:0 3px 12px #8b003566,0 0 20px #ff69b433,inset 0 1px 2px #ffffff4d;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:opacity .3s,transform .3s}.envelope__seal-icon{font-size:20px;color:#fde8ec;text-shadow:0 1px 2px rgba(0,0,0,.2)}.envelope__click-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;pointer-events:none}.envelope__hint-pulse{display:block;width:80px;height:80px;border-radius:50%;background:transparent;border:2px solid rgba(255,105,180,.3);animation:hint-ring-pulse 2s ease-out infinite}@keyframes hint-ring-pulse{0%{transform:scale(.8);opacity:1;border-color:#ff69b480}to{transform:scale(2);opacity:0;border-color:#ff69b400}}.envelope--opened{cursor:default;animation:envelope-opened-bounce .5s var(--ease-spring) both}@keyframes envelope-opened-bounce{0%{transform:scale(1)}40%{transform:scale(.95)}to{transform:scale(1)}}.letter-inline{max-width:440px;width:90%;margin:0 auto;padding-top:3rem;opacity:0;max-height:0;overflow:hidden;transition:opacity .8s var(--ease-out),max-height 1.2s var(--ease-out)}.letter-inline--visible{opacity:1;max-height:2000px}.letter-paper{position:relative;background:linear-gradient(180deg,#fffefb,#fff8f5 30%,#fff0ee);border-radius:20px;padding:3rem 2rem;box-shadow:0 20px 60px #ff69b41a,0 8px 24px #8b00350f,0 0 0 1px #8b00350a,inset 0 1px #ffffffe6;overflow:hidden}.letter-paper__glow{position:absolute;top:-50%;left:50%;transform:translate(-50%);width:300px;height:300px;background:radial-gradient(circle,rgba(255,105,180,.08) 0%,transparent 70%);pointer-events:none;animation:letter-glow-pulse 4s ease-in-out infinite}@keyframes letter-glow-pulse{0%,to{opacity:.5;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.2)}}.letter-paper__watermark{position:absolute;right:-10px;bottom:-20px;font-size:160px;color:#ff69b408;line-height:1;pointer-events:none}.letter-paper__decor-top,.letter-paper__decor-bottom{width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--or),var(--bordeaux),var(--or),transparent);border-radius:1px;margin:0 auto;opacity:.5}.letter-paper__decor-top{margin-bottom:2rem}.letter-paper__decor-bottom{margin-top:2rem}.letter-paper__text{font-family:var(--font-script);font-size:15px;line-height:2.2;color:#5a3440;text-align:center;position:relative;z-index:1}.letter-paper__line{display:block;opacity:0;transform:translateY(10px);animation:letter-line-appear .8s var(--ease-out) forwards}.letter-paper__line--empty{line-height:1.2}@keyframes letter-line-appear{to{opacity:1;transform:translateY(0)}}.letter-inline:not(.letter-inline--visible) .letter-paper__line{animation:none;opacity:0}.letter-paper__signature{margin:1rem 0 0;font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--bordeaux);text-align:right;opacity:0;transform:translateY(10px);animation:letter-line-appear .8s var(--ease-out) forwards}.letter-inline:not(.letter-inline--visible) .letter-paper__signature{animation:none;opacity:0}.section--countdown{background:linear-gradient(180deg,var(--dark-bg) 0%,var(--dark-mid) 40%,var(--dark-bg) 100%);color:#fff;padding-bottom:10rem}.countdown-bg-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(255,105,180,.12) 0%,rgba(212,175,55,.06) 40%,transparent 70%);pointer-events:none;animation:countdown-glow 6s ease-in-out infinite}@keyframes countdown-glow{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}.countdown-content{position:relative;z-index:5;text-align:center;opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.countdown-content--visible{opacity:1;transform:translateY(0)}.countdown__eyebrow{font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--or);margin-bottom:.5rem}.countdown__title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:600;margin-bottom:1.5rem;background:linear-gradient(135deg,#fff,#ffd4e0,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.countdown-heart{position:relative;width:min(340px,85vw);height:min(320px,80vw);margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.countdown-heart__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform-origin:center center;filter:drop-shadow(0 0 20px rgba(255,105,180,.4)) drop-shadow(0 0 40px rgba(139,0,53,.2));animation:heart-pulse 1.2s ease-in-out infinite}.countdown-heart__path{transform-origin:center center}.countdown-heart__shine{transform-origin:center center;animation:heart-shine-float 3s ease-in-out infinite;pointer-events:none}@keyframes heart-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(255,105,180,.4)) drop-shadow(0 0 40px rgba(139,0,53,.2))}50%{transform:scale(1.08);filter:drop-shadow(0 0 30px rgba(255,105,180,.6)) drop-shadow(0 0 60px rgba(139,0,53,.3))}}@keyframes heart-shine-float{0%,to{opacity:.6;transform:translate(1px,1px)}50%{opacity:1;transform:translate(-1px,-2px)}}.countdown-heart__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.countdown__days-main{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);font-weight:700;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.3),0 2px 8px rgba(139,0,53,.4),0 0 20px rgba(255,105,180,.2)}.countdown__days-label{font-family:var(--font-body);font-size:clamp(.75rem,2vw,.9rem);text-transform:uppercase;letter-spacing:.15em;color:#ffffffb3;margin-top:.25rem}.countdown__hm{font-family:var(--font-display);font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:500;color:#ffffffd9;margin-top:.5rem;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.25)}.countdown-heart__particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:visible}.countdown-particle{position:absolute;left:50%;top:50%;font-size:clamp(12px,3vw,18px);animation:particle-float 2s ease-out forwards;transform-origin:center center;opacity:0;--vx: 0px;--vy: 0px}.countdown-particle--heart{color:var(--rose-vif);text-shadow:0 0 8px rgba(255,105,180,.6)}.countdown-particle--sparkle{color:var(--or);text-shadow:0 0 8px rgba(212,175,55,.6)}@keyframes particle-float{0%{transform:translate(-50%,-50%) translate(0);opacity:1}to{transform:translate(-50%,-50%) translate(var(--vx),var(--vy));opacity:0}}.countdown__target{font-family:var(--font-display);font-size:1rem;color:#fff9;font-style:italic;margin-bottom:.5rem}.countdown__target strong{color:var(--or)}.countdown__emotional{font-family:var(--font-display);font-size:clamp(1.1rem,3vw,1.4rem);font-weight:500;font-style:italic;color:#ffffffd9;margin-top:.75rem;letter-spacing:.01em}.countdown__subtitle{font-family:var(--font-display);font-size:1.2rem;color:#ffffffb3}.section--menu{background:linear-gradient(180deg,var(--cream) 0%,#fff0f3 50%,var(--cream) 100%);padding-bottom:clamp(6rem,15vw,10rem)}.menu-content{position:relative;z-index:5;text-align:center;width:100%;max-width:min(100%,900px);opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.menu-content--visible{opacity:1;transform:translateY(0)}.menu__eyebrow{font-family:var(--font-body);font-size:clamp(.7rem,1.5vw,.8rem);text-transform:uppercase;letter-spacing:.2em;color:var(--or);margin-bottom:.5rem}.menu__title{font-family:var(--font-display);font-size:var(--menu-title);font-weight:600;color:var(--bordeaux);margin-bottom:.75rem}.menu__line-deco{width:80px;height:2px;margin:0 auto 1rem;background:linear-gradient(90deg,transparent,var(--or),var(--rose-vif),var(--or),transparent);border-radius:2px}.menu__subtitle{font-family:var(--font-display);font-size:var(--menu-subtitle);font-style:italic;color:var(--text-muted);margin-bottom:clamp(1.5rem,4vw,2.5rem)}.menu__flip-grid{display:grid;grid-template-columns:1fr;gap:var(--flip-card-gap);perspective:1200px;width:100%;max-width:min(320px,100%);margin:0 auto}@media (min-width: 640px){.menu__flip-grid{max-width:min(500px,100%)}}@media (min-width: 768px){.menu__flip-grid{grid-template-columns:repeat(3,1fr);max-width:900px;gap:1.5rem}}.flip-card{position:relative;min-height:var(--flip-card-height);height:var(--flip-card-height);cursor:pointer;opacity:0;transform:translateY(30px) scale(.92);transition:opacity .7s var(--ease-out),transform .7s var(--ease-spring);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.menu-content--visible .flip-card{opacity:1;transform:translateY(0) scale(1)}.flip-card:focus-visible{outline:2px solid var(--bordeaux);outline-offset:4px;border-radius:20px}.flip-card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s var(--ease-out)}.flip-card--flipped .flip-card__inner{transform:rotateY(180deg)}@media (hover: hover) and (pointer: fine){.flip-card:hover .flip-card__inner,.flip-card--flipped:hover .flip-card__inner{transform:rotateY(180deg)}}.flip-card__face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:clamp(16px,4vw,20px);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--flip-card-padding);overflow:hidden}.flip-card__front{background:linear-gradient(145deg,#2a1a1f,#3d1525 40%,#4a1a2e,#2a1a1f);border:1px solid rgba(212,175,55,.2);box-shadow:0 8px 32px #8b003526,0 2px 8px #0000001a,inset 0 1px #ffffff0d}.flip-card__front-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;background:radial-gradient(circle,rgba(212,175,55,.12) 0%,rgba(255,105,180,.06) 50%,transparent 70%);animation:front-glow-pulse 3s ease-in-out infinite;pointer-events:none}@keyframes front-glow-pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}}.flip-card__icon{font-size:clamp(1.5rem,4vw,2rem);color:var(--or);margin-bottom:1rem;filter:drop-shadow(0 0 8px rgba(212,175,55,.4))}.flip-card__number{font-family:var(--font-display);font-size:var(--flip-number-size);font-weight:700;color:#ffffff14;position:absolute;top:clamp(12px,3vw,16px);right:clamp(12px,4vw,20px);line-height:1}.flip-card__category{font-family:var(--font-display);font-size:var(--flip-category-size);font-weight:600;color:#fff;letter-spacing:.02em}.flip-card__tap-hint{position:absolute;bottom:clamp(16px,4vw,20px);font-family:var(--font-body);font-size:clamp(.65rem,1.5vw,.7rem);text-transform:uppercase;letter-spacing:.15em;color:#ffffff4d;animation:hint-fade 2.5s ease-in-out infinite}@keyframes hint-fade{0%,to{opacity:.3}50%{opacity:.7}}.flip-card__back{background:linear-gradient(180deg,#fffefb,#fff5f2 40%,#fff0ee);border:1px solid rgba(255,182,193,.3);box-shadow:0 12px 40px #ff69b41f,0 4px 16px #8b00350f,inset 0 1px #ffffffe6;transform:rotateY(180deg);text-align:center}.flip-card__back-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(212,175,55,.06) 45%,rgba(212,175,55,.12) 50%,rgba(212,175,55,.06) 55%,transparent 60%);animation:back-shimmer 5s ease-in-out infinite;pointer-events:none}@keyframes back-shimmer{0%,to{transform:translate(-100%) translateY(-100%)}50%{transform:translate(100%) translateY(100%)}}.flip-card__back-category{font-family:var(--font-body);font-size:clamp(.65rem,1.5vw,.7rem);text-transform:uppercase;letter-spacing:.15em;color:var(--or);font-weight:500;margin-bottom:.75rem}.flip-card__name{font-family:var(--font-display);font-size:var(--flip-name-size);font-weight:600;color:var(--text);margin:0 0 clamp(.5rem,2vw,.75rem);line-height:1.35;position:relative;z-index:1}.flip-card__description{font-family:var(--font-display);font-size:var(--flip-desc-size);font-style:italic;color:var(--text-muted);line-height:1.6;margin:0;position:relative;z-index:1}.flip-card__heart{position:absolute;bottom:-10px;right:5px;font-size:60px;color:var(--rose-vif);opacity:.04;pointer-events:none}.section--photo{background:linear-gradient(180deg,var(--dark-bg) 0%,var(--dark-mid) 50%,var(--dark-bg) 100%);color:#fff;padding-bottom:6rem}.photo-content{position:relative;z-index:5;text-align:center;max-width:600px;width:100%;opacity:0;transform:translateY(40px) scale(.95);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}.photo-content--visible{opacity:1;transform:translateY(0) scale(1)}.photo__eyebrow{font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--or);margin-bottom:.5rem}.photo__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:600;margin-bottom:2rem;background:linear-gradient(135deg,#fff,#ffd4e0,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.photo__frame{position:relative;border-radius:20px;overflow:hidden;max-width:500px;margin:0 auto}.photo__frame-border{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:22px;background:linear-gradient(135deg,var(--or),var(--rose-vif),var(--bordeaux),var(--or));background-size:300% 300%;animation:border-shift 6s ease-in-out infinite;z-index:0}@keyframes border-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.photo__frame-glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:30px;background:radial-gradient(circle,rgba(255,105,180,.15) 0%,transparent 70%);z-index:-1;animation:photo-glow-pulse 4s ease-in-out infinite}@keyframes photo-glow-pulse{0%,to{opacity:.5}50%{opacity:1}}.photo__img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px;border:3px solid rgba(42,26,31,.9)}.photo__closing{margin-top:2rem;font-family:var(--font-display);font-size:clamp(1.1rem,3vw,1.5rem);font-weight:600;font-style:italic;color:#ffffffe6;letter-spacing:.01em}.photo__footer{margin-top:.75rem;font-family:var(--font-script);font-size:1.3rem;color:#fff9;animation:footer-pulse 3s ease-in-out infinite}@keyframes footer-pulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-content,.countdown-content,.menu-content,.photo-content{opacity:1;transform:none}.countdown-heart__svg,.countdown-heart__shine{animation:none}.countdown-heart__particles{display:none}.flip-card{opacity:1;transform:none}.flip-card__inner{transform:rotateY(180deg)}.letter-paper__line,.letter-paper__signature{opacity:1;transform:none}.letter-inline{opacity:1;max-height:none;overflow:visible}.envelope-intro{opacity:1;transform:none}.floating-hearts,.gold-particles{display:none}}@media (max-width: 480px){.section{padding:2.5rem 1rem}.section--hero,.section--envelope,.section--countdown,.section--menu{padding-bottom:6rem}.section-bridge{height:100px}.letter-paper{padding:1.5rem 1.25rem}.flip-card__face{padding:1.25rem 1rem}.photo__frame{border-radius:16px}.photo__img{border-radius:14px}}
