/* Polices hébergées sur le site (Jost, Cormorant Garamond — licence SIL Open Font) */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2')}

body{margin:0;background:#0B1530}
a{color:#E3C58D}a:hover{color:#F6E3BC}
html{scroll-behavior:smooth}
.lw{font-family:'Jost',system-ui,sans-serif;font-weight:300;color:#F7F4EF;background:#0B1530;min-height:100vh;position:relative;line-height:1.6}
.lw *{box-sizing:border-box}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.01em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#E5A0B9;font-weight:400}
.navbtn{background:none;border:0;border-bottom:1px solid transparent;color:#F7F4EF;font:inherit;font-size:13px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:10px 2px;min-height:44px;cursor:pointer;transition:color .3s,border-color .3s}
.navbtn:hover{color:#F6E3BC}
.navbtn.on{color:#E3C58D;border-bottom-color:#C9A96E}
.lang{background:none;border:1px solid rgba(201,169,110,.45);color:#F7F4EF;font:inherit;font-size:12px;letter-spacing:.12em;min-width:44px;min-height:44px;cursor:pointer;transition:background .3s,color .3s}
.lang.on{background:#E3C58D;color:#0B1530;border-color:#E3C58D;font-weight:500}
.burger{display:none;background:none;border:1px solid rgba(201,169,110,.45);color:#F7F4EF;min-width:44px;min-height:44px;cursor:pointer;align-items:center;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:999px;border:1px solid #E3C58D;background:#E3C58D;color:#0B1530;font:inherit;font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .35s,color .35s,box-shadow .35s;text-decoration:none;text-align:center}
.btn:hover{background:#F6E3BC;color:#0B1530;box-shadow:0 0 28px rgba(227,197,141,.35)}
.btn.ghost{background:transparent;color:#F6E3BC}
.btn.ghost:hover{background:rgba(227,197,141,.12)}
.btn.rose{background:#E5A0B9;border-color:#E5A0B9}
.btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
.navbtn:focus-visible,.btn:focus-visible,.lang:focus-visible,.burger:focus-visible,.thumb:focus-visible,.tab:focus-visible,.qbtn:focus-visible,.textlink:focus-visible,.lbnav:focus-visible{outline:2px solid #E5A0B9;outline-offset:3px}
.slot{border:1px dashed rgba(227,197,141,.65);background:rgba(229,160,185,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#D9CEC0;font-size:13px;gap:8px;padding:20px;position:relative}
.slot small{color:#D2C8BC;font-size:13px;max-width:300px}
.arch{border-radius:300px 300px 0 0;box-shadow:inset 0 0 0 10px #0B1530,inset 0 0 0 11px rgba(227,197,141,.35)}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.card{border:1px solid rgba(227,197,141,.28);background:rgba(16,29,61,.86);padding:28px;display:flex;flex-direction:column;gap:14px}
.gal{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}
.thumb{aspect-ratio:1063/1475;border:1px dashed rgba(227,197,141,.45);background:rgba(229,160,185,.04);color:#D9CEC0;font:inherit;cursor:pointer;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:border-color .3s,background .3s,transform .3s}
.thumb:hover{border-color:#E3C58D;background:rgba(227,197,141,.1);transform:translateY(-2px)}
.thumb .n{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;color:#F6E3BC}
.thumb .l{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#CFC5B9}
.swipehint{display:none}
.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.otile{display:flex;flex-direction:column;gap:10px;border:1px solid rgba(227,197,141,.3);padding:18px 16px;cursor:pointer;transition:border-color .3s,background .3s;position:relative;min-height:44px}
.otile:hover{border-color:rgba(227,197,141,.7)}
.otile.on{border:2px solid #E3C58D;padding:17px 15px;background:rgba(227,197,141,.1)}
.otile input{accent-color:#E3C58D;width:20px;height:20px;margin:0}
.otile .oname{font-size:15px;font-weight:400;color:#F7F4EF;line-height:1.3}
.otile .odesc{font-size:14px;color:#DCD3C8}
.otile .onote{font-size:13px;color:#E5A0B9;letter-spacing:.04em}
.otile .oprice{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;line-height:1;color:#F6E3BC}
.qbtn{width:44px;height:44px;border:1px solid rgba(227,197,141,.5);background:transparent;color:#F7F4EF;font-size:20px;cursor:pointer}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;letter-spacing:.06em;color:#E9E2D8}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:#F7F4EF;background:#0E1A38;border:1px solid rgba(227,197,141,.4);padding:12px 14px;min-height:46px;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #E5A0B9;outline-offset:1px}
.tab{background:none;border:1px solid rgba(227,197,141,.35);color:#F7F4EF;font:inherit;font-size:13px;letter-spacing:.06em;padding:10px 18px;min-height:44px;cursor:pointer}
.tab.on{background:#E3C58D;color:#0B1530;border-color:#E3C58D;font-weight:500}
.textlink{background:none;border:0;padding:6px 0;min-height:36px;color:#E3C58D;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.textlink:hover{color:#F6E3BC}
.row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(227,197,141,.18)}
.divider{width:64px;height:1px;background:#C9A96E;margin:0}
.navlinks{display:flex;gap:28px;align-items:center}
.notice{border:1px solid rgba(229,160,185,.55);background:rgba(229,160,185,.08);color:#F4E3E3;padding:14px 18px;font-size:14px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.08em;color:#E9E2D8;border:1px solid rgba(227,197,141,.3);padding:6px 12px;border-radius:999px}
.detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:center}
.detail.alt > .dimg{order:2}
.mbar{display:none}
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,10,26,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:64px 20px 24px;touch-action:pan-y}
.lbslot{height:min(74vh,800px);aspect-ratio:1063/1475;max-width:calc(100vw - 40px)}
.lbnav{width:52px;height:52px;border-radius:50%;border:1px solid rgba(227,197,141,.6);background:transparent;color:#F6E3BC;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lbnav:hover{background:rgba(227,197,141,.14)}
.fade{animation:fadein .7s ease both}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.snow{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.flake{position:absolute;top:-12px;border-radius:50%;background:#FFFFFF;opacity:.65;box-shadow:0 0 6px 1px rgba(255,255,255,.45);animation:fall 14s linear infinite;will-change:transform}
.flake:nth-child(3n){background:#DDE3F0;box-shadow:0 0 6px 1px rgba(221,227,240,.4)}
@keyframes fall{0%{transform:translate3d(0,-20px,0)}100%{transform:translate3d(40px,980px,0)}}
.flake:nth-child(1){left:4%;width:4px;height:4px;animation-duration:13s;animation-delay:-2s}
.flake:nth-child(2){left:11%;width:6px;height:6px;animation-duration:17s;animation-delay:-9s;opacity:.5}
.flake:nth-child(3){left:18%;width:3px;height:3px;animation-duration:11s;animation-delay:-5s}
.flake:nth-child(4){left:26%;width:5px;height:5px;animation-duration:19s;animation-delay:-12s;opacity:.55}
.flake:nth-child(5){left:33%;width:3px;height:3px;animation-duration:14s;animation-delay:-1s}
.flake:nth-child(6){left:41%;width:7px;height:7px;animation-duration:21s;animation-delay:-15s;opacity:.4}
.flake:nth-child(7){left:48%;width:4px;height:4px;animation-duration:12s;animation-delay:-7s}
.flake:nth-child(8){left:56%;width:3px;height:3px;animation-duration:16s;animation-delay:-3s}
.flake:nth-child(9){left:63%;width:5px;height:5px;animation-duration:18s;animation-delay:-11s;opacity:.6}
.flake:nth-child(10){left:70%;width:4px;height:4px;animation-duration:13s;animation-delay:-6s}
.flake:nth-child(11){left:77%;width:6px;height:6px;animation-duration:20s;animation-delay:-14s;opacity:.45}
.flake:nth-child(12){left:84%;width:3px;height:3px;animation-duration:12s;animation-delay:-4s}
.flake:nth-child(13){left:90%;width:5px;height:5px;animation-duration:17s;animation-delay:-10s;opacity:.55}
.flake:nth-child(14){left:96%;width:4px;height:4px;animation-duration:15s;animation-delay:-8s}
.spark{position:absolute;width:10px;height:10px;color:#F6E3BC;animation:twinkle 3.6s ease-in-out infinite}
.spark.s2{animation-delay:-1.2s}
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
/* ---------- Fiche produit, livraison, visionneuse ---------- */
.pgal{position:sticky;top:24px}
.pthumb{aspect-ratio:1/1;border:1px solid rgba(227,197,141,.28);background:rgba(11,21,48,.35);color:#D9CEC0;font:inherit;font-size:11px;line-height:1.3;padding:6px;cursor:pointer;min-height:44px;transition:border-color .3s,background .3s;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pthumb:hover{border-color:#E3C58D}
.pthumb.on{border:1px solid #E3C58D;background:rgba(227,197,141,.14);color:#F6E3BC}
.pthumb:focus-visible,.shipd summary:focus-visible{outline:2px solid #E5A0B9;outline-offset:3px}
.shipd{border:1px solid rgba(227,197,141,.3);padding:0 16px}
.shipd[open]{padding-bottom:14px}
.shipd summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-size:14px;letter-spacing:.06em;color:#F6E3BC;list-style:none}
.shipd summary::-webkit-details-marker{display:none}
.shipd summary::after{content:"+";margin-left:auto;font-size:20px;color:#E3C58D}
.shipd[open] summary::after{content:"−"}
.lb{animation:lbfade .3s ease both}
.lbbottom .lbnav{display:none}
.hint-m{display:none}
.lbA{animation:lbinA .45s ease both}
.lbB{animation:lbinB .45s ease both}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
@keyframes lbinA{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes lbinB{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@media (max-width: 1024px){.gal{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
@media (max-width: 600px){.gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
@media (max-width: 400px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion: reduce){.lb,.lbA,.lbB{animation:none}}
/* ---------- Visuels originaux ----------
   Les fichiers sont affichés tels quels (aucune retouche). Les cadres .crop
   ne font que centrer la partie visible de chaque PNG, en ignorant ses
   marges transparentes ; proportions conservées. */
.crop{position:relative;margin:0 auto;flex-shrink:0}
.crop img{position:absolute;display:block;max-width:none;height:auto}
.cr-open{aspect-ratio:1349/1662}.cr-open img{width:160.12%;left:-11.71%;top:-32.55%}
.cr-pack{aspect-ratio:1346/1092}.cr-pack img{width:126.52%;left:-14.41%;top:-18.13%}
.cr-front{aspect-ratio:695/962}.cr-front img{width:276.26%;left:-94.68%;top:-7.8%}
.cr-back{aspect-ratio:630/863}.cr-back img{width:304.76%;left:-88.73%;top:-9.62%}
.cr-spread{aspect-ratio:4517/2113}.cr-spread img{width:110.69%;left:-6.51%;top:-5.96%}
.cr-book{aspect-ratio:2034/2369}.cr-book img{width:100%;left:0;top:0}
.archframe{width:100%;aspect-ratio:4/5;border-radius:300px 300px 0 0;border:1px solid rgba(227,197,141,.35);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:14% 8% 7%;background:radial-gradient(ellipse at 50% 62%,rgba(229,160,185,.09),transparent 68%)}
.archframe .crop{width:100%}
.pframe{display:flex;align-items:center;justify-content:center;overflow:hidden}
.single{aspect-ratio:4/5;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:6%;border:1px solid rgba(227,197,141,.25)}
.single .crop{width:100%}.single .cr-front{width:92%}.single .cr-back{width:93%}
.dframe{aspect-ratio:4/3;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:5%}
.dframe .crop{width:100%}.dframe .cr-front{width:52%}.dframe .cr-back{width:53%}.dframe .cr-pack{width:66%}
/* Livret bilingue : affichage agrandi (~ +40 %) — colonne image élargie, cadre ajusté au visuel */
.detail.wide{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:48px}
.detail.wide.alt{grid-template-columns:minmax(0,1fr) minmax(0,2.3fr)}
.dframe.wide{aspect-ratio:auto;padding:4% 3.5%}
/* Écrins dorés des présentations (« Le coffret en détail ») — cadre posé autour de la zone, jamais sur les images */
.dframe{position:relative;border-radius:4px;box-shadow:0 0 26px rgba(227,197,141,.13),0 0 3px rgba(246,227,188,.22)}
.dframe::before{content:"";position:absolute;inset:7px;border:1px solid rgba(227,197,141,.24);border-radius:2px;pointer-events:none}
.dframe::after{content:"";position:absolute;inset:0;padding:1.5px;border-radius:inherit;background:linear-gradient(120deg,#C9A96E 0%,#E3C58D 18%,#F6E3BC 30%,#E3C58D 42%,#C9A96E 50%,#E3C58D 58%,#FFF4DC 66%,#E3C58D 74%,#C9A96E 100%);background-size:260% 260%;background-position:0% 50%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:dsheen 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes dsheen{0%,55%{background-position:0% 50%}100%{background-position:100% 50%}}
.dframe .csp{position:absolute;width:12px;height:12px;color:#F6E3BC;filter:drop-shadow(0 0 3px rgba(246,227,188,.8));opacity:.55;animation:csp 7s ease-in-out infinite;pointer-events:none;z-index:2}
.dframe .csp.tl{top:1px;left:1px}.dframe .csp.tr{top:1px;right:1px;animation-delay:-2s}.dframe .csp.bl{bottom:1px;left:1px;animation-delay:-4.5s}.dframe .csp.br{bottom:1px;right:1px;animation-delay:-6s}
@keyframes csp{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@media (prefers-reduced-motion: reduce){.dframe::after,.dframe .csp{animation:none}}
/* Coffret recto / verso : affichage agrandi (~ +38 %), cadre ajusté à la hauteur du visuel */
.dframe.tall{aspect-ratio:auto;padding:6% 5%}
.dframe.tall .cr-front{width:72%}
.dframe.tall .cr-back{width:72.8%}
/* Verso : colonne image de même largeur que celle du recto, pour deux coffrets de taille identique */
.detail.alt.tallrow{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
@media (max-width: 860px){.detail.alt.tallrow{grid-template-columns:minmax(0,1fr)}}
@media (max-width: 860px){.detail.wide,.detail.wide.alt{grid-template-columns:minmax(0,1fr);gap:32px}.dframe.wide{width:calc(100% + 32px);margin:0 -16px;padding:4% 3%}}
.pthumb .crop{width:100%}.pthumb .cr-open{width:78%}.pthumb .cr-front,.pthumb .cr-back{width:66%}
.vnote{margin:0;font-size:13px;font-style:italic;letter-spacing:.03em;color:#D2C8BC;text-align:center}
.thumb.has{border:0;background:transparent;padding:0;border-radius:4%}
.thumb.has:hover,.thumb.has:focus-visible{background:transparent;transform:translateY(-3px);filter:drop-shadow(0 0 12px rgba(227,197,141,.5)) drop-shadow(0 8px 14px rgba(3,7,20,.35))}
.lbname{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-style:italic;color:#F6E3BC;text-align:center}
.thumb.has img{width:100%;height:100%;object-fit:contain;display:block}
.lbimg{height:min(74vh,800px);aspect-ratio:1063/1475;max-width:calc(100vw - 40px);object-fit:contain;display:block;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5))}
@media (max-width: 560px){.lbimg{height:auto;width:calc(100vw - 40px)}}
/* Précommande : bandeau de livraison, engagements, liens */
.dband{display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;border:1px solid rgba(227,197,141,.55);background:rgba(11,21,48,.6);padding:22px 28px;border-radius:8px;max-width:820px;width:100%;margin:0 auto;box-shadow:0 0 0 5px rgba(11,21,48,.45),0 0 0 6px rgba(227,197,141,.14)}
.badge{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:999px;border:1px solid;white-space:nowrap}
.badge.pend{color:#F4E3E3;border-color:rgba(229,160,185,.6);background:rgba(229,160,185,.1)}
.badge.ok{color:#0B1530;background:#E3C58D;border-color:#E3C58D;font-weight:500}
.howlist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.howlist li{position:relative;padding-left:20px;font-size:15px;line-height:1.65;color:#E9E2D8}
.howlist li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;transform:rotate(45deg);background:#E3C58D}
.trustband{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.trustitem{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;padding:24px 18px;border:1px solid rgba(227,197,141,.25);border-radius:8px;background:rgba(11,21,48,.45)}
.howlink{display:inline-flex;align-items:center;gap:8px;font-size:14px;min-height:40px;text-underline-offset:4px}
.mailprev{display:flex;flex-direction:column;gap:8px;border:1px dashed rgba(227,197,141,.5);padding:16px 18px;border-radius:8px;background:rgba(11,21,48,.5)}
@media (max-width: 960px){.trustband{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){.trustband{grid-template-columns:minmax(0,1fr)}.dband{padding:18px 20px}.badge{white-space:normal}}
/* Financement participatif */
.fcard{position:relative;width:100%;max-width:880px;display:flex;flex-direction:column;gap:26px;padding:40px 44px 34px;border:1px solid rgba(227,197,141,.45);border-radius:10px;background:linear-gradient(160deg,rgba(20,34,72,.78),rgba(11,21,48,.82));box-shadow:0 0 0 6px rgba(227,197,141,.05),0 24px 60px rgba(0,0,0,.35)}
.fbadge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0B1530;background:#E5A0B9;padding:5px 14px;border-radius:999px}
.ftop{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.famount{font-size:58px;line-height:1;color:#F6E3BC;text-shadow:0 0 24px rgba(227,197,141,.35)}
.flabel{font-size:13px;letter-spacing:.06em;color:#D2C8BC}
.fpct{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.fpct .serif{font-size:40px;line-height:1;color:#E3C58D}
.fbar{position:relative;height:16px;border-radius:999px;background:rgba(246,227,188,.08);border:1px solid rgba(227,197,141,.4);box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}
.ffill{position:relative;height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,#B8955A,#E3C58D 45%,#F6E3BC 75%,#E3C58D);box-shadow:0 0 14px rgba(227,197,141,.65),0 0 30px rgba(227,197,141,.25);animation:ffill 2.2s cubic-bezier(.22,.8,.3,1) both}
.fglint{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.fglint::after{content:"";position:absolute;top:0;bottom:0;width:38%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:fglint 3.6s ease-in-out 2.2s infinite}
.ftip{position:absolute;right:-11px;top:50%;width:22px;height:22px;margin-top:-11px;color:#FFF6E2;filter:drop-shadow(0 0 6px rgba(246,227,188,.95));animation:ftip 2.4s ease-in-out infinite}
.fstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid rgba(227,197,141,.2);padding-top:22px}
.fstat{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.fstat .serif{font-size:30px;line-height:1.1;color:#F6E3BC}
.fnote{margin:0;font-size:14px;line-height:1.6;color:#DCD3C8;text-align:center;border:1px dashed rgba(229,160,185,.5);border-radius:8px;padding:12px 16px}
.frules{max-width:720px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.65;color:#DCD3C8}
.fsp{position:absolute;width:12px;height:12px;color:#F6E3BC;animation:csp 3.2s ease-in-out infinite}
.fsp1{top:18px;right:22px}.fsp2{bottom:22px;left:18px;animation-delay:1.1s;width:9px;height:9px}.fsp3{top:46%;right:-6px;animation-delay:2s;width:10px;height:10px}
@keyframes ffill{from{width:0}}
@keyframes fglint{0%{left:-40%}60%,100%{left:110%}}
@keyframes ftip{0%,100%{opacity:.75;transform:scale(.85) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}
@media (max-width: 640px){.fcard{padding:34px 20px 26px;gap:22px}.famount{font-size:44px}.fpct .serif{font-size:32px}.fstat .serif{font-size:17px;white-space:nowrap}.fstats{gap:6px}.flabel{font-size:12px}}
@media (prefers-reduced-motion: reduce){.ffill,.fglint::after,.ftip,.fsp{animation:none}}
/* Caractéristiques du coffret */
.specgrid{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.specgrid .spec{flex:0 0 calc((100% - 48px) / 4)}
.spec{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:24px 16px;border:1px solid rgba(227,197,141,.28);border-radius:8px;background:rgba(11,21,48,.5)}
.specico{width:46px;height:46px;border-radius:50%;border:1px solid rgba(227,197,141,.55);display:flex;align-items:center;justify-content:center}
.otile .ospec{font-size:13px;line-height:1.45;color:#D9D0C5;margin-top:2px}
@media (max-width: 960px){.specgrid .spec{flex-basis:calc((100% - 16px) / 2)}}
@media (max-width: 600px){.specgrid{gap:10px}.specgrid .spec{flex-basis:calc((100% - 10px) / 2);padding:18px 10px}.spec .serif{font-size:19px !important}}
/* Portrait de l'artiste : cadre carré, photo entière et non retouchée */
.portrait{width:100%;max-width:440px;aspect-ratio:1/1;border-radius:8px;overflow:hidden;border:1px solid rgba(227,197,141,.7);box-shadow:0 0 0 5px rgba(11,21,48,.55),0 0 0 6px rgba(227,197,141,.18),0 20px 44px rgba(3,7,20,.45);background:#0B1530}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
/* ---------- L'histoire de Magie des Neiges ---------- */
.journal{max-width:760px;margin:0 auto;padding:56px 64px;border:1px solid rgba(227,197,141,.35);outline:1px solid rgba(227,197,141,.14);outline-offset:-10px;background:rgba(11,21,48,.55);display:flex;flex-direction:column;gap:18px}
.journal p{margin:0;font-size:17px;line-height:1.8;color:#E9E2D8}
.journal .story-text p:first-child::first-letter{font-family:'Cormorant Garamond',Georgia,serif;font-size:3.6em;float:left;line-height:.82;color:#F6E3BC;padding:6px 10px 0 0}
.journal .story-text{display:flex;flex-direction:column;gap:18px}
.sframe{position:relative;aspect-ratio:4/5;width:100%;max-width:460px;justify-self:center;margin:0 auto}
.sframe .slot{position:absolute;inset:0}
.sframe.s3{overflow:hidden;display:flex;align-items:flex-start;justify-content:center;padding-top:4%}
.sframe.s3 .crop{width:70%}
.sfan{position:absolute;left:50%;bottom:4%;width:56%;height:40%;transform:translateX(-50%)}
.sfan img{position:absolute;bottom:0;left:50%;width:42%;aspect-ratio:1063/1475;margin-left:-21%;transform-origin:50% 100%;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))}
.sfan .sc1{transform:translateX(-55%) rotate(-14deg)}
.sfan .sc2{z-index:2}
.sfan .sc3{transform:translateX(55%) rotate(14deg)}
.xf{position:absolute;inset:0}
.xf img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.xf .xfin{animation:xfade 12s ease-in-out infinite}
@keyframes xfade{0%,35%{opacity:0}50%,85%{opacity:1}100%{opacity:0}}
.story-step{transition:opacity 1s ease,transform 1s ease}
.js-reveal .story-step{opacity:0;transform:translateY(28px)}
.js-reveal .story-step.in{opacity:1;transform:none}
@media (max-width: 860px){.journal{padding:36px 22px}.journal p{font-size:16px}}
@media (prefers-reduced-motion: reduce){.story-step{transition:none}.js-reveal .story-step{opacity:1;transform:none}.xf .xfin{animation:none;opacity:1}}
/* Lecteur vidéo timelapse */
.vframe{position:relative;width:100%;max-width:980px;margin:0 auto;aspect-ratio:16/9;border:1px solid rgba(227,197,141,.6);outline:1px solid rgba(227,197,141,.16);outline-offset:7px;background:rgba(8,16,42,.75)}
.vframe.portrait{aspect-ratio:9/16;max-width:420px}
.vframe video,.vcover{position:absolute;inset:0;width:100%;height:100%;display:block}
.vframe video{object-fit:contain;background:#050A1A}
.vcover{border:0;padding:0;margin:0;background:transparent;cursor:pointer;color:#F6E3BC;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow:hidden}
.vcover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.vph{position:absolute;top:18px;left:18px;right:18px;font-size:13px;color:#D2C8BC;text-align:center}
.vplay{position:relative;width:84px;height:84px;border-radius:50%;background:rgba(11,21,48,.6);border:1px solid #E3C58D;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(227,197,141,.25);transition:transform .35s,box-shadow .35s,background .35s}
.vplay svg{margin-left:4px}
.vlabel{position:relative;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#F6E3BC;background:rgba(11,21,48,.55);padding:4px 12px}
.vcover:hover .vplay{transform:scale(1.06);box-shadow:0 0 44px rgba(227,197,141,.45);background:rgba(227,197,141,.16)}
.vcover:focus-visible{outline:2px solid #E5A0B9;outline-offset:4px}
.vs{position:absolute;width:12px;height:12px;color:#F3E2B8;filter:drop-shadow(0 0 4px rgba(243,226,184,.8));opacity:0;animation:gspk 6s ease-in-out infinite;pointer-events:none}
.vs1{top:-20px;left:8%;animation-delay:-1s}
.vs2{top:14%;right:-22px;animation-duration:7.5s;animation-delay:-4s}
.vs3{bottom:-20px;right:16%;animation-duration:6.5s;animation-delay:-2s}
.vs4{bottom:22%;left:-22px;animation-duration:8s;animation-delay:-5s}
.vtext{max-width:720px;display:flex;flex-direction:column;gap:14px;text-align:center}
.vtext p{margin:0;font-size:17px;line-height:1.8;color:#E9E2D8}
@media (max-width: 860px){.vplay{width:64px;height:64px}.vlabel{display:none}.vtext p{font-size:16px}.vs2,.vs4{display:none}}
@media (prefers-reduced-motion: reduce){.vs{animation:none;opacity:.6}.vplay{transition:none}}
/* ---------- Composition flottante du coffret (fiche produit) ---------- */
.compo{position:relative;width:100%;aspect-ratio:4/5}
.cfloat{position:absolute;inset:0;animation:cfloat 8s ease-in-out infinite;will-change:transform}
@keyframes cfloat{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-12px,0) rotate(.4deg)}}
.cshadow{position:absolute;left:20%;right:20%;bottom:2%;height:5%;border-radius:50%;background:radial-gradient(closest-side,rgba(3,7,20,.55),transparent);animation:cshadow 8s ease-in-out infinite;will-change:transform,opacity}
@keyframes cshadow{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(.88);opacity:.55}}
.cslot{position:absolute;border:1px dashed rgba(227,197,141,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;color:#E9E2D8;font-size:13px;line-height:1.35;padding:10px;background:transparent}
.cslot small{font-size:12px;color:#D2C8BC;max-width:240px}
.compo{overflow:hidden}
.cl{position:absolute}
.cl .crop{width:100%}
.cl.cbox{left:18%;top:2%;width:64%;z-index:1}
.cl.cbook{left:1%;top:61%;width:32%;z-index:2}
.cl.cpack{right:1%;bottom:3%;width:50%;z-index:3}
.ccard{bottom:0;left:50%;width:30%;aspect-ratio:2/3;margin-left:-15%;transform-origin:50% 100%;border:1px solid rgba(227,197,141,.8);box-shadow:inset 0 0 0 2px rgba(227,197,141,.22);background:rgba(11,21,48,.6);font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;color:#F6E3BC;padding:4px}
.ccard.k1{transform:translateX(-62%) rotate(-22deg)}
.ccard.k2{transform:translateX(-31%) rotate(-11deg)}
.ccard.k4{transform:translateX(31%) rotate(11deg)}
.ccard.k5{transform:translateX(62%) rotate(22deg)}
.gspk{position:absolute;width:12px;height:12px;color:#F3E2B8;filter:drop-shadow(0 0 4px rgba(243,226,184,.8));opacity:0;animation:gspk 6s ease-in-out infinite;will-change:transform,opacity}
@keyframes gspk{0%,100%{opacity:0;transform:scale(.4) rotate(0deg)}45%{opacity:0;transform:scale(.4) rotate(0deg)}60%{opacity:1;transform:scale(1) rotate(20deg)}78%{opacity:0;transform:scale(.5) rotate(35deg)}}
.gspk.g1{top:6%;left:14%;animation-duration:6s;animation-delay:-1s}
.gspk.g2{top:12%;right:20%;animation-duration:7.5s;animation-delay:-4s}
.gspk.g3{top:55%;left:5%;animation-duration:5.5s;animation-delay:-2.5s}
.gspk.g4{bottom:24%;left:40%;animation-duration:6.8s;animation-delay:-5s;width:9px;height:9px}
.gspk.g5{top:40%;right:6%;animation-duration:8s;animation-delay:-3s}
.gspk.g6{bottom:12%;right:30%;animation-duration:5.2s;animation-delay:-.5s;width:9px;height:9px}
@media (prefers-reduced-motion: reduce){.cfloat,.cshadow{animation:none}.gspk{animation:none;opacity:.6}}
/* ---------- Ciel étoilé ---------- */
.lw > main,.lw > footer,.lw > .demo{position:relative;z-index:1}
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict}
.st{position:absolute;inset:-60px;background-repeat:repeat;will-change:transform,opacity}
.st1{background-size:233px 217px;background-image:radial-gradient(1.2px 1.2px at 17px 23px,rgba(255,255,255,.55),transparent),radial-gradient(1.2px 1.2px at 61px 141px,rgba(255,255,255,.4),transparent),radial-gradient(1.2px 1.2px at 103px 67px,rgba(221,227,240,.5),transparent),radial-gradient(1.2px 1.2px at 149px 189px,rgba(255,255,255,.35),transparent),radial-gradient(1.2px 1.2px at 193px 31px,rgba(255,255,255,.5),transparent),radial-gradient(1.2px 1.2px at 211px 113px,rgba(246,227,188,.4),transparent),radial-gradient(1.2px 1.2px at 41px 199px,rgba(255,255,255,.3),transparent),radial-gradient(1.2px 1.2px at 127px 9px,rgba(255,255,255,.45),transparent),radial-gradient(1.2px 1.2px at 83px 101px,rgba(255,255,255,.3),transparent)}
.st2{background-size:389px 353px;background-image:radial-gradient(1.6px 1.6px at 29px 61px,rgba(255,255,255,.85),transparent),radial-gradient(1.6px 1.6px at 113px 287px,rgba(221,227,240,.8),transparent),radial-gradient(1.6px 1.6px at 197px 139px,rgba(246,227,188,.75),transparent),radial-gradient(1.6px 1.6px at 263px 23px,rgba(255,255,255,.8),transparent),radial-gradient(1.6px 1.6px at 331px 211px,rgba(255,255,255,.7),transparent),radial-gradient(1.6px 1.6px at 367px 317px,rgba(221,227,240,.75),transparent),radial-gradient(1.6px 1.6px at 71px 199px,rgba(255,255,255,.6),transparent);animation:skyTw 7s ease-in-out infinite alternate,skyDrift 180s linear infinite alternate}
.st3{background-size:457px 421px;background-image:radial-gradient(1.8px 1.8px at 47px 331px,rgba(255,255,255,.85),transparent),radial-gradient(1.8px 1.8px at 151px 83px,rgba(246,227,188,.8),transparent),radial-gradient(1.8px 1.8px at 239px 257px,rgba(255,255,255,.75),transparent),radial-gradient(1.8px 1.8px at 317px 37px,rgba(221,227,240,.85),transparent),radial-gradient(1.8px 1.8px at 409px 179px,rgba(255,255,255,.7),transparent),radial-gradient(1.8px 1.8px at 433px 389px,rgba(246,227,188,.65),transparent);animation:skyTw 9.5s ease-in-out -4s infinite alternate,skyDrift 220s linear infinite alternate-reverse}
.st4{background-size:613px 587px;background-image:radial-gradient(2.4px 2.4px at 89px 113px,#FFFFFF,transparent),radial-gradient(10px 10px at 89px 113px,rgba(246,227,188,.16),transparent),radial-gradient(2.4px 2.4px at 271px 449px,#F3F5FA,transparent),radial-gradient(10px 10px at 271px 449px,rgba(221,227,240,.16),transparent),radial-gradient(2.4px 2.4px at 467px 233px,#FFFFFF,transparent),radial-gradient(10px 10px at 467px 233px,rgba(255,255,255,.14),transparent),radial-gradient(2.2px 2.2px at 563px 523px,#F6E3BC,transparent),radial-gradient(2.2px 2.2px at 359px 59px,#FFFFFF,transparent);animation:skyTw2 12s ease-in-out -6s infinite alternate,skyDrift 140s linear infinite alternate}
@keyframes skyTw{from{opacity:.3}to{opacity:1}}
@keyframes skyTw2{from{opacity:.55}to{opacity:1}}
@keyframes skyDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-36px,-24px,0)}}
/* Étoiles scintillantes individuelles (i) — chacune à son rythme */
.sky>i{position:absolute;width:2px;height:2px;border-radius:50%;background:#F8F6F0;box-shadow:0 0 4px 1px rgba(248,246,240,.6);opacity:.3;animation:twBreath 7s ease-in-out infinite;will-change:transform,opacity}
.sky>i.s2{width:2.5px;height:2.5px}
.sky>i.s3{width:3px;height:3px;box-shadow:0 0 4px 1px rgba(248,246,240,.7),0 0 12px 3px rgba(248,246,240,.18)}
.sky>i.sv{background:#E1E6F2;box-shadow:0 0 4px 1px rgba(221,227,240,.6)}
.sky>i.sv.s3{box-shadow:0 0 4px 1px rgba(221,227,240,.7),0 0 12px 3px rgba(196,206,228,.18)}
.sky>i.gd{background:#F3E2B8;box-shadow:0 0 4px 1px rgba(243,226,184,.6)}
.sky>i.gd.s3{box-shadow:0 0 4px 1px rgba(243,226,184,.75),0 0 12px 3px rgba(227,197,141,.2)}
.sky>i.p{animation-name:twPulse}
@keyframes twBreath{0%,100%{opacity:.28;transform:scale(.85)}50%{opacity:.95;transform:scale(1.15)}}
@keyframes twPulse{0%{opacity:.22;transform:scale(.7)}35%{opacity:.3;transform:scale(.75)}50%{opacity:1;transform:scale(1.35)}62%{opacity:.95;transform:scale(1.25)}80%{opacity:.3;transform:scale(.75)}100%{opacity:.22;transform:scale(.7)}}
.sky>i:nth-of-type(1){top:4%;left:8%;animation-duration:6.2s;animation-delay:-1.1s}
.sky>i:nth-of-type(2){top:7%;left:27%;animation-duration:8.4s;animation-delay:-3.7s}
.sky>i:nth-of-type(3){top:3%;left:52%;animation-duration:5.6s;animation-delay:-2.2s}
.sky>i:nth-of-type(4){top:9%;left:71%;animation-duration:9.8s;animation-delay:-6.5s}
.sky>i:nth-of-type(5){top:5%;left:90%;animation-duration:7.1s;animation-delay:-.4s}
.sky>i:nth-of-type(6){top:14%;left:16%;animation-duration:10.5s;animation-delay:-7.9s}
.sky>i:nth-of-type(7){top:17%;left:39%;animation-duration:6.8s;animation-delay:-4.6s}
.sky>i:nth-of-type(8){top:13%;left:61%;animation-duration:8.9s;animation-delay:-1.8s}
.sky>i:nth-of-type(9){top:19%;left:82%;animation-duration:5.9s;animation-delay:-3.3s}
.sky>i:nth-of-type(10){top:24%;left:5%;animation-duration:7.6s;animation-delay:-5.4s}
.sky>i:nth-of-type(11){top:27%;left:30%;animation-duration:11.2s;animation-delay:-2.9s}
.sky>i:nth-of-type(12){top:23%;left:48%;animation-duration:6.4s;animation-delay:-.9s}
.sky>i:nth-of-type(13){top:29%;left:68%;animation-duration:9.1s;animation-delay:-6.1s}
.sky>i:nth-of-type(14){top:26%;left:95%;animation-duration:7.9s;animation-delay:-4.2s}
.sky>i:nth-of-type(15){top:34%;left:21%;animation-duration:5.3s;animation-delay:-1.6s}
.sky>i:nth-of-type(16){top:37%;left:44%;animation-duration:8.2s;animation-delay:-5.8s}
.sky>i:nth-of-type(17){top:33%;left:77%;animation-duration:10.1s;animation-delay:-3.1s}
.sky>i:nth-of-type(18){top:41%;left:9%;animation-duration:6.6s;animation-delay:-2.5s}
.sky>i:nth-of-type(19){top:44%;left:34%;animation-duration:9.4s;animation-delay:-7.2s}
.sky>i:nth-of-type(20){top:40%;left:57%;animation-duration:7.3s;animation-delay:-.7s}
.sky>i:nth-of-type(21){top:46%;left:86%;animation-duration:5.8s;animation-delay:-4.9s}
.sky>i:nth-of-type(22){top:51%;left:18%;animation-duration:8.7s;animation-delay:-3.6s}
.sky>i:nth-of-type(23){top:54%;left:49%;animation-duration:6.1s;animation-delay:-1.3s}
.sky>i:nth-of-type(24){top:50%;left:70%;animation-duration:10.8s;animation-delay:-8.4s}
.sky>i:nth-of-type(25){top:57%;left:3%;animation-duration:7.4s;animation-delay:-5.1s}
.sky>i:nth-of-type(26){top:60%;left:28%;animation-duration:9.6s;animation-delay:-2.7s}
.sky>i:nth-of-type(27){top:63%;left:62%;animation-duration:5.5s;animation-delay:-3.9s}
.sky>i:nth-of-type(28){top:59%;left:92%;animation-duration:8.1s;animation-delay:-6.8s}
.sky>i:nth-of-type(29){top:67%;left:13%;animation-duration:6.9s;animation-delay:-.3s}
.sky>i:nth-of-type(30){top:70%;left:40%;animation-duration:11.6s;animation-delay:-9.2s}
.sky>i:nth-of-type(31){top:66%;left:79%;animation-duration:7.7s;animation-delay:-4.4s}
.sky>i:nth-of-type(32){top:74%;left:55%;animation-duration:6.3s;animation-delay:-2.1s}
.sky>i:nth-of-type(33){top:77%;left:24%;animation-duration:9.2s;animation-delay:-5.6s}
.sky>i:nth-of-type(34){top:73%;left:97%;animation-duration:5.7s;animation-delay:-1.9s}
.sky>i:nth-of-type(35){top:81%;left:7%;animation-duration:8.6s;animation-delay:-6.3s}
.sky>i:nth-of-type(36){top:84%;left:35%;animation-duration:6.7s;animation-delay:-3.4s}
.sky>i:nth-of-type(37){top:80%;left:66%;animation-duration:10.3s;animation-delay:-7.7s}
.sky>i:nth-of-type(38){top:87%;left:86%;animation-duration:7.2s;animation-delay:-.8s}
.sky>i:nth-of-type(39){top:90%;left:19%;animation-duration:5.4s;animation-delay:-2.6s}
.sky>i:nth-of-type(40){top:93%;left:47%;animation-duration:9.9s;animation-delay:-4.8s}
.sky>i:nth-of-type(41){top:89%;left:58%;animation-duration:6s;animation-delay:-5.3s}
.sky>i:nth-of-type(42){top:96%;left:74%;animation-duration:8.3s;animation-delay:-1.4s}
.sky>i:nth-of-type(43){top:31%;left:88%;animation-duration:7s;animation-delay:-6s}
.sky>i:nth-of-type(44){top:48%;left:96%;animation-duration:9.3s;animation-delay:-3s}
/* Étoiles à quatre branches (b) — éclat lumineux occasionnel */
.sky>b{position:absolute;width:3px;height:3px;border-radius:50%;background:#F8F6F0;box-shadow:0 0 5px 1px rgba(248,246,240,.75),0 0 18px 5px rgba(248,246,240,.14);opacity:.5;animation:flare 19s ease-in-out infinite;will-change:transform,opacity}
.sky>b::before,.sky>b::after{content:"";position:absolute;left:50%;top:50%;width:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(248,246,240,.85),transparent);transform:translate(-50%,-50%)}
.sky>b::after{width:38px;transform:translate(-50%,-50%) rotate(90deg)}
.sky>b.sv{background:#E1E6F2;box-shadow:0 0 5px 1px rgba(221,227,240,.75),0 0 18px 5px rgba(196,206,228,.16)}
.sky>b.sv::before,.sky>b.sv::after{background:linear-gradient(90deg,transparent,rgba(221,227,240,.85),transparent)}
.sky>b.gd{background:#F3E2B8;box-shadow:0 0 5px 1px rgba(243,226,184,.8),0 0 20px 6px rgba(227,197,141,.2)}
.sky>b.gd::before,.sky>b.gd::after{background:linear-gradient(90deg,transparent,rgba(243,226,184,.85),transparent)}
@keyframes flare{0%,100%{opacity:.5;transform:scale(.75) rotate(0deg)}6%{opacity:.5;transform:scale(.75) rotate(0deg)}10%{opacity:1;transform:scale(1.6) rotate(12deg)}14%{opacity:.95;transform:scale(1.4) rotate(18deg)}21%{opacity:.5;transform:scale(.75) rotate(0deg)}}
.sky>b:nth-of-type(1){top:11%;left:22%;animation-duration:17s;animation-delay:-3s}
.sky>b:nth-of-type(2){top:21%;left:74%;animation-duration:23s;animation-delay:-11s}
.sky>b:nth-of-type(3){top:43%;left:12%;animation-duration:19s;animation-delay:-15s}
.sky>b:nth-of-type(4){top:56%;left:84%;animation-duration:29s;animation-delay:-7s}
.sky>b:nth-of-type(5){top:72%;left:46%;animation-duration:21s;animation-delay:-18s}
.sky>b:nth-of-type(6){top:88%;left:30%;animation-duration:26s;animation-delay:-2s}
.comet{position:absolute;width:420px;height:2px;transform-origin:0 50%}
.comet span{position:absolute;left:0;top:0;width:150px;height:1px;border-radius:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(221,227,240,.3) 55%,rgba(255,255,255,.95));opacity:0;animation:comet 47s linear infinite;will-change:transform,opacity}
.comet span::after{content:"";position:absolute;right:-1px;top:-1px;width:3px;height:3px;border-radius:50%;background:#FFFFFF;box-shadow:0 0 6px 2px rgba(246,227,188,.5)}
.comet.c1{top:11%;left:62%;transform:rotate(156deg)}
.comet.c1 span{animation-duration:47s;animation-delay:-38s}
.comet.c2{top:24%;left:12%;transform:rotate(17deg)}
.comet.c2 span{width:120px;animation-duration:61s;animation-delay:-45s}
.comet.c3{top:6%;left:34%;transform:rotate(28deg)}
.comet.c3 span{width:100px;opacity:0;animation-duration:83s;animation-delay:-60s}
@keyframes comet{0%{transform:translate3d(0,0,0);opacity:0}1%{opacity:.9}5.5%{opacity:0;transform:translate3d(300px,0,0)}100%{opacity:0;transform:translate3d(300px,0,0)}}
@media (max-width: 560px){.sky>i:nth-of-type(n+33){display:none}.sky>b:nth-of-type(n+5){display:none}.st3{display:none}.comet{width:260px}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.flake,.spark,.fade{animation:none}.flake{display:none}.thumb:hover{transform:none}.st,.sky>i,.sky>b,.comet span{animation:none !important}.sky>i{opacity:.6;transform:none}.sky>b{opacity:.75;transform:none}.comet{display:none}}
@media (max-width: 960px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail{gap:36px}}
@media (max-width: 860px){
.g3,.g2,.detail{grid-template-columns:minmax(0,1fr);gap:32px}
.detail.alt > .dimg{order:0}
.navlinks{display:none}
.navlinks.open{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;left:0;right:0;top:100%;background:#0B1530;padding:12px 24px 24px;border-bottom:1px solid rgba(227,197,141,.3);z-index:20}
.burger{display:inline-flex}
.herot{font-size:50px !important}
.h2{font-size:38px !important}
.prodgrid{grid-template-columns:minmax(0,1fr) !important;gap:28px !important}
.heroimg{order:-1;max-width:100% !important;justify-self:center !important}
.lw{line-height:1.7}
.pgal{position:static}
.lbside{display:none !important}
.lbbottom .lbnav{display:inline-flex}
.hint-d{display:none}
.hint-m{display:inline}
.otile .odesc{font-size:15px}
.otile .onote{font-size:14px}
.mbar{display:flex;position:sticky;bottom:0;z-index:30;background:#0B1530;border-top:1px solid rgba(227,197,141,.4);padding:10px 16px;gap:12px;align-items:center;justify-content:space-between}
.mbar .btn{width:auto;min-height:46px;padding:0 20px;font-size:13px}
.sec{padding-top:64px !important;padding-bottom:64px !important}
}
@media (max-width: 560px){
.g4{grid-template-columns:minmax(0,1fr)}
.btn{width:100%}
.offers{grid-template-columns:minmax(0,1fr);gap:10px}
.otile{flex-direction:row;align-items:center;gap:14px}
.otile .oprice{margin-left:auto;font-size:34px;white-space:nowrap}
.lbslot{height:auto;width:calc(100vw - 40px)}
}
#app{min-height:100vh}
