/* Encapsulation stricte : animation uniquement dans l'encart anniversaire. */
.birthday-home{position:relative;isolation:isolate;overflow:hidden;min-height:360px;padding:clamp(34px,6vw,70px) 18px 48px;text-align:center;color:#fff;background:radial-gradient(ellipse at 50% 40%,#513277 0%,#252251 48%,#101d3e 100%);border-block:2px solid #d9ad5b;z-index:2}
.birthday-home::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(#fff 1px,transparent 1.5px),radial-gradient(#ffe4a0 1px,transparent 1.5px);background-size:61px 61px,103px 103px;background-position:12px 15px,45px 28px}
.birthday-home__inner{position:relative;z-index:3;max-width:960px;margin:0 auto}.birthday-home__eyebrow{display:block;color:#ffdf8d;font-size:clamp(.8rem,1.6vw,1rem);font-weight:800;letter-spacing:.32em}
.birthday-home__headline{margin:12px auto 16px!important;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.02;text-transform:uppercase;font-family:inherit!important;font-weight:900!important;color:#fff!important;text-shadow:0 3px 12px #080a29}
.birthday-home__headline-top{display:block;font-size:clamp(1.55rem,4.3vw,3.6rem);letter-spacing:.025em;animation:birthday-enter-top .9s cubic-bezier(.2,.8,.2,1) both}
.birthday-home__headline-big{display:block;font-size:clamp(4.8rem,14vw,10.5rem);line-height:1.03;letter-spacing:-.055em;color:#ffda75;background:linear-gradient(160deg,#fff8c8 7%,#ffce60 42%,#ff8d8e 78%,#ffe7a6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 5px 0 #8a4274) drop-shadow(0 0 24px #ffd66b7a);animation:birthday-pop 1.05s cubic-bezier(.17,1.6,.34,1) both}
.birthday-home__copy{max-width:740px;margin:12px auto;color:#fff3ff;font-size:clamp(1rem,2.1vw,1.3rem);line-height:1.5}.birthday-home__copy strong{color:#ffe092}.birthday-home__dates{margin:10px auto 20px;color:#ffe2a4;font-weight:700}
.birthday-home__cta{display:inline-flex;align-items:center;gap:10px;justify-content:center;padding:14px 28px;border-radius:99px;background:linear-gradient(115deg,#ffe7a3,#ffb64e);color:#251638!important;text-decoration:none!important;font-weight:900;box-shadow:0 6px 0 #8d5726,0 14px 30px #0006;transition:transform .2s ease,box-shadow .2s ease}.birthday-home__cta:hover,.birthday-home__cta:focus-visible{transform:translateY(-5px) scale(1.035);box-shadow:0 10px 0 #8d5726,0 18px 35px #0008}
.birthday-home__confetti,.birthday-home__burst{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.birthday-home__piece{position:absolute;top:-20px;left:var(--x);width:var(--w);height:var(--h);background:var(--c);opacity:.72;border-radius:2px;animation:birthday-fall var(--d) linear var(--delay) infinite;will-change:transform}.birthday-home__burst-piece{position:absolute;top:43%;left:50%;width:var(--w);height:var(--h);background:var(--c);border-radius:2px;opacity:0;animation:birthday-explode 1.9s cubic-bezier(.13,.65,.25,1) var(--delay) both;will-change:transform}
.birthday-home__flash{position:absolute;top:43%;left:50%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%);background:#fff2b8;box-shadow:0 0 80px 40px #ffce69;animation:birthday-flash .85s ease-out both}
@keyframes birthday-pop{0%{opacity:0;transform:scale(.3) rotate(-5deg)}65%{opacity:1;transform:scale(1.12) rotate(2deg)}100%{transform:scale(1) rotate(0)}}
@keyframes birthday-enter-top{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
@keyframes birthday-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}35%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(9)}}
@keyframes birthday-explode{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.3)}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.75)}}
@keyframes birthday-fall{from{transform:translate3d(0,-30px,0) rotate(0)}to{transform:translate3d(var(--drift),calc(100vh + 500px),0) rotate(660deg)}}
@media(max-width:600px){.birthday-home{min-height:310px;padding:38px 12px}.birthday-home__headline-top{font-size:clamp(1.45rem,6vw,2.2rem)}.birthday-home__headline-big{font-size:clamp(4.5rem,19vw,7rem)}.birthday-home__cta{width:min(100%,340px)}.birthday-home__eyebrow{letter-spacing:.18em}}
@media(prefers-reduced-motion:reduce){.birthday-home *, .birthday-home::before{animation:none!important;transition:none!important}.birthday-home__piece,.birthday-home__burst-piece,.birthday-home__flash{display:none!important}}

/* Laisser la place au bandeau de navigation fixe, sans masquer l'animation. */
.birthday-home { margin-top: 80px; }
@media (max-width: 768px) { .birthday-home { margin-top: 70px; } }
