@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/source-sans-3-latin.woff2') format('woff2');font-weight:200 900;font-display:swap}@font-face{font-family:'Quicksand';src:url('/assets/fonts/quicksand-latin.woff2') format('woff2');font-weight:300 700;font-display:swap}:root{--nuit:#0c2454;--bleu:#18489c;--bleu-logo:#0060d8;--ciel:#84c0fc;--neige:#e4f0fc;--neige-2:#f4f8fe;--blanc:#ffffff;--corail:#fc8478;--peche:#fcc9a0;--glacier:#c4e2fd;--texte:var(--nuit);--texte-doux:#4a5a7a;--bordure:#d3e3f8;--erreur:#b42318;--succes:#1d7a4a;--font:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;--font-titre:'Quicksand','Source Sans 3',system-ui,sans-serif;--radius:14px;--ease:cubic-bezier(.2,.8,.2,1);--ombre:0 14px 36px rgba(24,72,156,.14);--motif-neige:radial-gradient(circle,rgba(255,255,255,.22) 1.5px,transparent 2.2px) 0 0 / 14px 14px}*{box-sizing:border-box}[hidden]{display:none !important}html{background:var(--neige-2)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:var(--font);font-size:1.06rem;line-height:1.6;color:var(--texte);background:radial-gradient(ellipse 60% 40% at 85% 0%,rgba(252,132,120,.12),transparent 70%),linear-gradient(180deg,var(--blanc) 0%,var(--neige-2) 55%,var(--neige) 100%);background-attachment:fixed;overflow-x:hidden}h1,h2{font-family:var(--font-titre);font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}h1{font-size:clamp(1.5rem,4.2vw,2.2rem);margin:0 0 1.1rem;color:var(--bleu)}h2{font-size:1.2rem;margin:0 0 .9rem;color:var(--nuit)}h1::after,h2::after{content:'';display:block;width:102px;height:18px;margin-top:10px;background:url('/assets/img/flocons.svg') left center / contain no-repeat}h2::after{width:68px;height:12px;margin-top:8px}.hero h1::after,.card-glacier h2::after{margin-left:auto;margin-right:auto;background-position:center}a{color:var(--bleu-logo)}:focus-visible{outline:3px solid var(--bleu-logo);outline-offset:3px}.snow{position:fixed;inset:-300px 0 0 0;z-index:0;pointer-events:none;background:url('/assets/img/snow-tile.svg') 0 0 / 300px 300px repeat;opacity:.9;animation:snowfall 12s linear infinite}.snow.snow-back{background-size:180px 180px;background-position:70px 40px;opacity:.45;animation-duration:24s}@keyframes snowfall{from{transform:translateY(0)}to{transform:translateY(300px)}}.top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px 12px;background:var(--blanc);box-shadow:0 4px 18px rgba(24,72,156,.08)}.top::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--bleu) 0%,var(--bleu-logo) 35%,var(--ciel) 65%,var(--peche) 85%,var(--corail) 100%)}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{display:block;height:104px;width:auto}.brands{display:flex;align-items:center;gap:18px}.ovh{display:block;height:52px;width:auto;padding:13px 0 13px 18px;border-left:2px solid var(--bordure)}@media (max-width:420px){.brand img{height:84px}.brands{gap:10px}.ovh{height:40px;padding:11px 0 11px 10px}}@media (max-width:360px){.brand img{height:72px}.ovh{height:34px;padding:10px 0 10px 8px}}.lang{display:flex;gap:6px}.lang a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--bleu);font-family:var(--font-titre);font-weight:700;text-decoration:none;border:2px solid transparent;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.lang a:hover{border-color:var(--ciel)}.lang a[aria-current]{background:var(--bleu);color:var(--blanc)}main{position:relative;z-index:1;flex:1 0 auto;width:100%;max-width:840px;margin:0 auto;padding:40px 16px 24px}.card{position:relative;background:var(--blanc);color:var(--texte);border-radius:var(--radius);padding:26px 20px;margin-bottom:24px;border:1px solid var(--bordure);box-shadow:var(--ombre)}@media (min-width:640px){.card{padding:36px 40px}}.card a:not(.btn){color:var(--bleu-logo);font-weight:700}.card a.door-face{color:var(--door-txt)}.lead{font-size:1.12rem;font-weight:500}.hint{color:var(--texte-doux);font-size:.95rem}.error{color:var(--erreur);font-weight:700}.hero h1,.card-glacier h2{text-align:center}.hero h1{container-type:inline-size;margin-bottom:2.2rem;font-size:clamp(1.7rem,5.4vw,2.7rem)}.hero h1::after{margin-top:18px}.hero .title-top,.hero .title-sub{display:block}.hero .title-top{font-size:clamp(2.4rem,8vw,3.4rem);line-height:1.1}.hero .title-sub{margin-top:.2em;text-wrap:balance;font-size:clamp(1.3rem,4.2vw,2.1rem);font-size:clamp(1.3rem,4.4cqi,2.1rem)}.hero p{margin:0 0 1.4rem;font-size:1.2rem;line-height:1.7}.hero .lead{margin:0 0 2.2rem;padding-left:16px;border-left:4px solid var(--corail);font-family:var(--font-titre);font-size:clamp(1.2rem,3.2vw,1.45rem);font-weight:700;line-height:1.35;color:var(--bleu-logo)}.tagline{margin-bottom:0;font-size:1.12rem;font-weight:700;color:var(--bleu)}.hero .tagline{margin:2rem 0 0;font-size:1.3rem}.hero .reserved{margin:1.6rem 0 0;font-style:italic}.card-glacier{background:var(--motif-neige),linear-gradient(165deg,var(--glacier) 0%,var(--ciel) 100%);border-color:var(--ciel)}.card-glacier h2{font-size:clamp(1.2rem,3.4vw,1.45rem)}.card-glacier p{font-size:1.2rem}.landscape{position:relative;line-height:0;pointer-events:none}.landscape img{display:block;width:100%;height:auto;min-height:110px;object-fit:cover;mix-blend-mode:multiply}.hero::before,.calendar-card::before,.hero::after,.calendar-card::after{content:'';position:absolute;background:url('/assets/img/flocon.svg') center / contain no-repeat;animation:flake 6s ease-in-out infinite;pointer-events:none}.hero::before,.calendar-card::before{top:-26px;right:18px;width:52px;height:52px}.hero::after,.calendar-card::after{top:34px;left:-16px;width:30px;height:30px;animation-delay:-3s}@keyframes flake{0%,100%{transform:rotate(0) scale(.9);opacity:.8}50%{transform:rotate(60deg) scale(1.08);opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 28px;border:0;border-radius:999px;background:var(--bleu-logo);color:var(--blanc);font-family:var(--font-titre);font-size:.98rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(0,96,216,.28);transition:transform .15s var(--ease),box-shadow .15s var(--ease),background-color .2s var(--ease)}.btn:hover{background:var(--bleu);transform:translateY(-2px);box-shadow:0 10px 22px rgba(24,72,156,.32)}.btn:active{transform:translateY(1px);box-shadow:0 3px 8px rgba(24,72,156,.3)}.btn[disabled]{opacity:.55;cursor:default;transform:none}.link{min-height:44px;background:none;border:0;color:var(--bleu-logo);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;margin-top:14px}.form label{display:block;margin:16px 0 6px;font-weight:700}.form input,.form select{width:100%;min-height:50px;padding:10px 14px;font:inherit;color:var(--texte);background:var(--neige-2);border:2px solid var(--bordure);border-radius:10px;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.form input:focus,.form select:focus{outline:none;border-color:var(--bleu-logo);background:var(--blanc);box-shadow:0 0 0 4px rgba(132,192,252,.55)}.form .btn{margin-top:22px}.countdown-wrap{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;height:0;margin:-12px 0 12px}.hero.has-countdown{padding-bottom:100px}.countdown-wrap + .card{padding-top:100px}.countdown{display:flex;flex-direction:column;align-items:center;max-width:calc(100% - 24px);margin:0;padding:20px 28px;border:4px solid var(--blanc);border-radius:var(--radius);color:var(--blanc);text-align:center;background:var(--motif-neige),linear-gradient(160deg,var(--bleu) 0%,var(--nuit) 100%);box-shadow:0 14px 34px rgba(12,36,84,.35)}@media (min-width:640px){.countdown{padding:22px 44px}}.countdown-num{font-family:var(--font-titre);font-size:clamp(2.6rem,10vw,4.4rem);font-weight:700;line-height:1.05;color:var(--ciel);text-wrap:balance}.countdown-txt{margin-top:8px;font-weight:700;text-transform:uppercase;font-size:clamp(1rem,2.8vw,1.25rem);line-height:1.3;letter-spacing:.05em}.calendar{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (min-width:560px){.calendar{grid-template-columns:repeat(4,1fr);gap:18px}}.door{position:relative;aspect-ratio:3 / 4;perspective:1600px;border-radius:var(--radius);background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.8),transparent 60%),var(--neige);box-shadow:inset 0 0 0 2px var(--bordure)}.door-inside{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-right:12%;color:var(--bleu)}.door-inside svg{width:40%;height:auto}.door-face{--door-bg:var(--bleu);--door-num:var(--blanc);--door-txt:var(--blanc);position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--radius);color:var(--door-txt);text-decoration:none;transform-origin:left center;transition:transform .6s var(--ease),box-shadow .3s var(--ease);background:var(--motif-neige),var(--door-bg);box-shadow:inset 0 0 0 3px rgba(255,255,255,.25),0 6px 14px rgba(12,36,84,.22);backface-visibility:hidden}.calendar li:nth-child(4n + 2) .door-face{--door-bg:var(--ciel);--door-num:var(--nuit);--door-txt:var(--nuit)}.calendar li:nth-child(4n + 3) .door-face{--door-bg:var(--nuit);--door-num:var(--ciel);--door-txt:var(--blanc)}.calendar li:nth-child(4n + 4) .door-face{--door-bg:var(--corail);--door-num:var(--nuit);--door-txt:var(--nuit)}.door-face::before{content:'';position:absolute;right:11%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--door-txt);opacity:.8}.door .num{font-family:var(--font-titre);font-size:clamp(2rem,8vw,2.9rem);font-weight:700;line-height:1;color:var(--door-num)}.door .lbl{max-width:100%;padding:0 4px;font-size:clamp(.62rem,2.5vw,.78rem);font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase;overflow-wrap:anywhere}.door .state-icon{width:20px;height:20px;margin:4px 0 2px}.door-today .door-face{box-shadow:0 0 0 4px var(--blanc),0 0 0 7px var(--bleu-logo),0 0 30px 10px rgba(132,192,252,.9);animation:wiggle 3s ease-in-out infinite}.door-today .door-face:hover,.door-today .door-face:focus-visible{transform:rotateY(-22deg);animation:none}.door-today .bow{position:absolute;top:-18px;left:50%;width:52px;transform:translateX(-50%)}@keyframes wiggle{0%,84%,100%{transform:rotate(0) scale(1)}88%{transform:rotate(-3deg) scale(1.04)}92%{transform:rotate(3deg) scale(1.04)}96%{transform:rotate(-1.5deg) scale(1.02)}}.door-done .door-face{transform:rotateY(-48deg)}.door-done a.door-face:hover,.door-done a.door-face:focus-visible{transform:rotateY(-38deg)}.door:not(.door-done) .door-inside{visibility:hidden}.door-missed .door-face::after{content:'';position:absolute;inset:0;border-radius:var(--radius);background:rgba(255,255,255,.65)}.door-missed .door-face>*{position:relative;z-index:1;color:var(--texte)}.door-locked .state-icon{opacity:.85}.back{display:inline-flex;align-items:center;min-height:44px}.options{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.results{list-style:none;padding:0}.results li{display:grid;gap:6px;margin-bottom:14px;font-weight:700}.bar{display:block;height:16px;background:var(--neige);border-radius:999px;overflow:hidden}.fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--bleu-logo),var(--ciel));transition:width .9s var(--ease)}.rating{margin-top:30px;padding-top:20px;border-top:2px dashed var(--bordure);text-align:center}.rating p{font-family:var(--font-titre);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.rating-buttons{display:flex;justify-content:center;gap:20px}.rating-buttons button{width:76px;height:76px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:3px solid var(--nuit);color:var(--nuit);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.rating-buttons button svg{width:46px;height:46px}.rating-buttons button[data-rating="happy"]{background:var(--ciel)}.rating-buttons button[data-rating="unhappy"]{background:var(--neige)}.rating-buttons button:hover{transform:scale(1.08) rotate(-4deg);box-shadow:0 6px 16px rgba(252,132,120,.55)}.thanks{color:var(--succes);font-weight:800}.mj-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}@media (min-width:480px){.mj-board{grid-template-columns:repeat(4,1fr)}}.mj-tile{aspect-ratio:1;min-height:64px;border-radius:var(--radius);border:0;background:var(--motif-neige),var(--bleu);color:var(--ciel);font-family:var(--font-titre);font-size:1.6rem;font-weight:700;cursor:pointer;padding:4px;box-shadow:0 6px 14px rgba(12,36,84,.22);transition:transform .2s var(--ease),background-color .2s var(--ease)}.mj-tile:hover{transform:translateY(-2px)}.mj-tile.open{background:var(--blanc);color:var(--texte);font-size:.95rem;font-weight:700;box-shadow:inset 0 0 0 3px var(--bleu-logo),0 6px 14px rgba(12,36,84,.18)}.mj-tile.done{background:var(--ciel);color:var(--texte);font-size:.95rem;font-weight:700;cursor:default;transform:none}.mj-tile img{max-width:100%;max-height:60%;display:block;margin:0 auto}.piou-scene{width:100%;height:auto;display:block;cursor:crosshair;border-radius:var(--radius);box-shadow:var(--ombre)}.confetti{position:fixed;top:-20px;z-index:50;width:10px;height:14px;border-radius:2px;pointer-events:none;animation:confetti-fall 2.8s cubic-bezier(.3,.6,.4,1) forwards}@keyframes confetti-fall{to{transform:translateY(105vh) rotate(720deg);opacity:.2}}.table-wrap{overflow-x:auto}.stats{border-collapse:collapse;width:100%}.stats th,.stats td{border-bottom:1px solid var(--bordure);padding:8px;text-align:right}.stats th:first-child,.stats td:first-child,.stats th:nth-child(2),.stats td:nth-child(2){text-align:left}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}.confetti{display:none}}