
    :root{--brand:#9fbe21;--brand-dark:#6b8815;--brand-soft:#ecf4cf;--cream:#f7f3e9;--paper:#fffdf7;--ink:#223021;--gold:#e6cf8f;--brown:#6b4b2f;--red:#d64537}
    *{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fffdf9,#f3eedf);line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--brand-dark)}
    .page{min-height:100vh;display:grid;place-items:center;padding:24px 16px 44px;background:radial-gradient(circle at 10% 8%,#fff 0,transparent 18%),radial-gradient(circle at 88% 18%,#f1f7dc 0,transparent 25%),radial-gradient(circle at 50% 100%,#dde9b5 0,transparent 40%),linear-gradient(180deg,#faf6ed,#f1ebdc)}
    .app{width:min(100%,860px);text-align:center}.brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.brandmark{width:42px;height:42px;border-radius:50%;background:var(--brand);display:grid;place-items:center;box-shadow:inset 0 0 0 2px #ffffff90,0 4px 10px #6c8c111f}.brand svg{width:32px;height:32px}.brand strong{font-family:Arial Narrow,Arial,sans-serif;letter-spacing:.03em;font-size:26px;font-weight:900;color:var(--brand-dark)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#73931a;font-size:12px;font-weight:900}h1{font-family:Georgia,serif;color:#506800;font-size:clamp(34px,6vw,54px);line-height:1.05;margin:14px 0 8px;font-weight:700}h2{font-family:Georgia,serif;color:#5f7408;font-size:clamp(25px,4vw,35px);margin:0 0 9px}.intro{margin:0 auto;max-width:580px;color:#4b5a35}.dates{display:inline-block;margin:15px 0 18px;background:var(--brand-soft);border:1px solid #d0df91;border-radius:100px;padding:7px 18px;font-size:13px;color:#5f7408;font-weight:800}
    .stage{position:relative;height:360px;overflow:hidden;border:1px solid #dfe4cb;border-radius:30px;background:#eaf4d5;margin:12px 0 22px;isolation:isolate;box-shadow:0 14px 40px #7b8d1a12}
    .stage::before{content:"";position:absolute;inset:0;background:url('../assets/fond.png') center/cover no-repeat;z-index:0}
    .sheep,.present{position:absolute;z-index:2;user-select:none;-webkit-user-drag:none;transform-origin:bottom center;will-change:transform,filter}
    .sheep{left:8%;bottom:30px;width:250px;filter:drop-shadow(0 14px 10px #58700f35)}
    .present{right:10%;bottom:28px;width:230px;filter:drop-shadow(0 16px 10px #8f493530)}
    .confetti-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.confetti{position:absolute;top:-16px;width:12px;height:18px;border-radius:2px;opacity:0;animation:fall 1.9s linear forwards}
    .impact{position:absolute;right:18%;bottom:165px;width:20px;height:20px;border-radius:50%;background:#fff8;filter:blur(1px);opacity:0;z-index:4}
    .stage.jumping .sheep{animation:jump 1.35s cubic-bezier(.35,.08,.25,1) forwards}
    .stage.jumping .present{animation:giftBounce 1.35s ease forwards}
    .stage.jumping .impact{animation:impactFlash 1.35s ease forwards}
    .stage.opened .present{filter:drop-shadow(0 0 20px #fff4aa) drop-shadow(0 16px 10px #8f493530)}
    @keyframes jump{0%{transform:translate(0,0) rotate(0deg) scale(1)}10%{transform:translate(-8px,8px) rotate(2deg) scaleY(.95)}42%{transform:translate(165px,-135px) rotate(-7deg)}68%{transform:translate(250px,-18px) rotate(4deg)}82%{transform:translate(250px,6px) scaleY(.88)}100%{transform:translate(244px,-2px) rotate(0deg)}}
    @keyframes giftBounce{0%,60%{transform:none}70%{transform:translateY(2px) scaleX(1.03) scaleY(.87)}82%{transform:translateY(-2px) scaleX(.985) scaleY(1.03)}100%{transform:none}}
    @keyframes impactFlash{0%,63%{opacity:0;transform:scale(.1)}71%{opacity:.9;transform:scale(3.2)}86%{opacity:.25;transform:scale(4.2)}100%{opacity:0;transform:scale(4.8)}}
    @keyframes fall{0%{transform:translateY(0) rotate(0deg);opacity:1}100%{transform:translateY(380px) rotate(560deg);opacity:.96}}
    .panel{background:var(--paper);border:1px solid #e7e1cf;border-radius:22px;padding:clamp(20px,4vw,34px);box-shadow:0 14px 35px #65761610;text-align:left}.panel.center{text-align:center}.primary{border:0;background:linear-gradient(180deg,var(--brand),#8eb31c);color:#fff;padding:14px 28px;border-radius:100px;font-weight:800;min-height:48px;box-shadow:0 5px 0 #6e8c15}.primary:hover{filter:brightness(1.03)}.subtle{background:transparent;border:1px solid #c1cf8d;color:#5d7508;border-radius:100px;padding:10px 18px}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:18px 0 0}.fine{font-size:12px;color:#697467;margin:15px auto 0;max-width:620px}.hidden{display:none!important}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:5px}label.field>span{font-size:13px;font-weight:700}input[type=text],input[type=email]{border:1px solid #cdd7b9;border-radius:12px;padding:12px 14px;background:white;width:100%;color:#233a2d}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #dfb66c;outline-offset:2px}fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:800;margin-bottom:8px}.choices{display:grid;gap:8px}.choice{display:flex;align-items:flex-start;gap:9px;background:#f8fbef;border:1px solid #e6edcb;border-radius:12px;padding:9px 12px;cursor:pointer}.choice input{margin-top:5px;accent-color:var(--brand-dark)}.check{display:flex;gap:10px;align-items:flex-start;margin:13px 0;font-size:13px}.check input{margin-top:4px;accent-color:var(--brand-dark)}.error{color:#a2382c;font-size:13px;font-weight:650}.tag{display:inline-block;background:var(--brand-soft);border:1px solid #d9e7a6;border-radius:100px;padding:5px 12px;color:#61780b;font-size:12px;font-weight:800}.gift-value{font-family:Georgia,serif;color:#5a7107;font-size:58px;font-weight:bold;line-height:1.1;margin:8px}.dev{border:1px dashed #bed07e;border-radius:14px;padding:10px;margin:25px auto 0;max-width:600px;font-size:12px;background:#f7fbe8}.dev .actions{margin:9px 0 0}.dev button{font-size:12px;padding:6px 12px}.footer{margin:17px auto 0;font-size:12px;color:#6a776d}.spacer{height:8px}
    @media(max-width:680px){.stage{height:290px}.sheep{width:180px;left:3%;bottom:26px}.present{width:165px;right:4%;bottom:24px}.impact{right:18%;bottom:135px}@keyframes jump{0%{transform:translate(0,0)}10%{transform:translate(-6px,6px) scaleY(.95)}42%{transform:translate(95px,-95px) rotate(-7deg)}68%{transform:translate(145px,-13px) rotate(4deg)}82%{transform:translate(145px,5px) scaleY(.88)}100%{transform:translate(138px,-2px)}}.formgrid{grid-template-columns:1fr}.panel{padding:20px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
  
