
@font-face{font-family:'Melodrama';src:url('/assets/m/d974649f3c314588f02b0fc2c4c7b7c7.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Chillax';src:url('/assets/m/4b9e249d949b419a293d496f4f3af6ed.woff2') format('woff2');font-weight:200 700;font-style:normal;font-display:swap}
body{margin:0}
.t-nuit{--canvas:#001959;--surface:#0a2266;--surface-raised:#132b72;--ink:#fff7dd;--ink-muted:#a8a197;--champagne:#c8ad86;--on-champagne:#001959;--bronze:#bc9873;--etoile:#707ea2;--hairline:rgba(255,247,221,0.18)}
a{color:var(--champagne)}a:hover{color:var(--ink)}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.nav-links{display:flex;gap:32px}
.g-lieux{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:56px;align-items:start}
.g-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sticky{position:sticky;top:112px}
.dot{fill:var(--champagne);opacity:.9;cursor:pointer;transition:opacity .25s,r .3s cubic-bezier(.34,1.56,.64,1)}
.dot.dim{opacity:.12}
.dot.on{r:10px;opacity:1}
.row{transition:background .2s,padding .3s}
.row.on{background:rgba(200,173,134,.10)}
.chip{min-height:40px;padding:0 18px;border-radius:100px;border:1px solid var(--hairline);background:transparent;color:var(--ink);font:inherit;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;cursor:pointer}
.chip.on{background:var(--champagne);color:var(--on-champagne);border-color:var(--champagne)}
.gal{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px clamp(16px,3vw,40px) 24px;scrollbar-width:thin;scrollbar-color:rgba(200,173,134,.5) transparent}
.gal figure{margin:0;flex:none;scroll-snap-align:start;overflow:hidden;border-radius:4px;box-shadow:0 24px 70px rgba(0,8,30,.45)}
.gal img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.gal figure:hover img{transform:scale(1.05)}
.gal .a{width:min(46vw,620px);height:420px}.gal .b{width:min(28vw,360px);height:340px;align-self:flex-end}.gal .c{width:min(32vw,420px);height:460px;border-radius:999px 999px 4px 4px}
@media (max-width:900px){.gal .a{width:82vw;height:300px}.gal .b{width:62vw;height:260px}.gal .c{width:66vw;height:340px}}
@media (max-width:900px){.g-lieux{grid-template-columns:minmax(0,1fr)}.sticky{position:static}.nav-links{display:none}.wrap{padding:0 16px}.g-stats{grid-template-columns:minmax(0,1fr)}.display{font-size:48px !important}}
/* --- Menu mobile --- */
.nav-burger{all:unset;display:none;box-sizing:border-box;width:44px;height:44px;border:1px solid var(--hairline);border-radius:100px;cursor:pointer;position:relative;flex-shrink:0}
.nav-burger span,.mm-close span{position:absolute;left:13px;right:13px;height:1px;background:currentColor;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav-burger span:first-child{top:18px}.nav-burger span:last-child{top:25px;left:19px}
.nav-burger:focus-visible,.mm-close:focus-visible,.mm a:focus-visible{outline:2px solid #c8ad86;outline-offset:3px}
.mm{position:fixed;inset:0;z-index:60;background:radial-gradient(120% 60% at 80% 0%,#0a2470 0%,#001959 45%,#000f3a 100%);color:#fff7dd;display:flex;flex-direction:column;padding:0 20px 28px;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s;overflow-y:auto}
.mm[hidden]{display:flex !important}
.mm.on{opacity:1;visibility:visible;transition:opacity .5s ease}
.mm-top{display:flex;justify-content:space-between;align-items:center;height:72px;border-bottom:1px solid rgba(255,247,221,.14)}
.mm-brand{font-family:Melodrama,Georgia,serif;font-size:22px}
.mm-close{all:unset;position:relative;width:44px;height:44px;border:1px solid rgba(255,247,221,.2);border-radius:100px;cursor:pointer}
.mm-close span{top:21px}.mm-close span:first-child{transform:rotate(45deg)}.mm-close span:last-child{transform:rotate(-45deg)}
.mm-list{list-style:none;margin:28px 0 0;padding:0}
.mm-list li{border-bottom:1px solid rgba(255,247,221,.1);opacity:0;transform:translateY(18px);transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1)}
.mm.on .mm-list li,.mm.on .mm-foot{opacity:1;transform:none;transition-delay:calc(.08s + var(--i) * .05s)}
.mm-list a{display:flex;align-items:baseline;gap:16px;min-height:56px;padding:12px 0;color:#fff7dd;text-decoration:none;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:32px;line-height:1.1}
.mm-n{font-family:Chillax,sans-serif;font-weight:600;font-size:11px;letter-spacing:.2em;color:#c8ad86;text-shadow:0 0 10px rgba(200,173,134,.45);min-width:22px}
.mm-list a:active{color:#c8ad86}
.mm-foot{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateY(18px);transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1)}
.mm-foot span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a8a197;text-align:center}
.mm-sub{color:#a8a197;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:8px 0}
.mm-cta{display:flex;align-items:center;justify-content:center;min-height:52px;background:#c8ad86;color:#001959;border-radius:4px;text-decoration:none;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500}
html.mm-lock body{overflow:hidden}
@media (max-width:900px){
.nav-burger{display:block;color:var(--ink)}
header[data-header] .wrap{gap:10px !important;height:72px !important}
header[data-header] .wrap>a:first-child{width:128px !important;height:46px !important}
header[data-header] .wrap>a:first-child img{width:128px !important;height:128px !important;margin-top:-29px !important}
header[data-header] [data-magnetic]{padding:0 14px !important;font-size:10px !important;letter-spacing:1.6px !important;margin-left:auto}
}
@media (prefers-reduced-motion:reduce){.mm,.mm-list li,.mm-foot{transition:none !important}}
.mm-list a.cur{color:#c8ad86}

.cgv-hero{padding:96px 0 48px;border-bottom:1px solid var(--hairline)}
.cgv-hero h1{margin:16px 0 0;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:72px;line-height:1;letter-spacing:-.01em}
.cgv-hero p{margin:20px 0 0;max-width:620px;color:var(--ink-muted);line-height:1.65;font-size:15px}
.cgv-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.cgv-meta span,.cgv-meta button{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--hairline);border-radius:100px;font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);background:transparent}
.cgv-meta button{cursor:pointer;color:var(--ink)}.cgv-meta button:hover{border-color:var(--champagne);color:var(--champagne)}
.g-cgv{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px;align-items:start;padding:56px 0 128px}
.toc{position:sticky;top:112px;max-height:calc(100vh - 140px);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(200,173,134,.4) transparent}
.toc ol{list-style:none;margin:0;padding:0}
.toc a{display:flex;gap:12px;align-items:baseline;padding:7px 0 7px 12px;border-left:1px solid var(--hairline);color:var(--ink-muted);text-decoration:none;font-size:13px;line-height:1.4;transition:color .3s,border-color .3s}
.toc a span{font-weight:600;font-size:10px;letter-spacing:.12em;color:var(--champagne);min-width:18px}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--champagne);box-shadow:-1px 0 0 0 var(--champagne)}
.toc a.on span{text-shadow:0 0 10px rgba(200,173,134,.6)}
.cl{padding:40px 0;border-top:1px solid var(--hairline);scroll-margin-top:100px}
.cl:first-child{border-top:0;padding-top:0}
.cl h2{margin:0 0 20px;display:flex;gap:18px;align-items:baseline;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:32px;line-height:1.15}
.cl-n{font-family:Chillax,sans-serif;font-weight:600;font-size:14px;letter-spacing:.1em;color:#f1dfbd;text-shadow:0 0 6px rgba(255,236,200,.35),0 0 18px rgba(200,173,134,.35);min-width:28px}
.cl p,.cl li,.cl address{font-size:15px;line-height:1.75;color:#d9d1c1;max-width:760px}
.cl p{margin:0 0 14px}
.cl ul{margin:0 0 16px;padding:0;list-style:none}
.cl li{position:relative;padding-left:22px;margin-bottom:6px}
.cl li::before{content:"";position:absolute;left:2px;top:.8em;width:8px;height:1px;background:var(--champagne)}
.cl address{font-style:normal;margin:6px 0 18px;padding:18px 22px;border-left:1px solid var(--champagne);background:rgba(200,173,134,.05)}
.cl a{color:var(--champagne)}
.cgv-end{margin-top:40px;padding:28px;border:1px solid var(--hairline);border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cgv-end p{margin:0;color:var(--ink-muted);font-size:14px;line-height:1.6;max-width:520px}
.cgv-end a.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;background:var(--champagne);color:var(--on-champagne);border-radius:4px;text-decoration:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.toc-m{display:none}
.mm-sub{color:#a8a197;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:8px 0}
@media (max-width:900px){
.cgv-hero{padding:56px 0 32px}.cgv-hero h1{font-size:44px}
.g-cgv{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 0 96px}
.toc{display:none}
.toc-m{display:block;margin-bottom:8px}
.toc-m summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;border:1px solid var(--hairline);border-radius:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m ol{list-style:none;margin:8px 0 0;padding:0 4px}
.toc-m a{display:flex;gap:12px;padding:10px 0;color:var(--ink-muted);text-decoration:none;font-size:14px;border-bottom:1px solid var(--hairline)}
.toc-m a span{font-weight:600;font-size:10px;color:var(--champagne);min-width:18px;padding-top:3px}
.cl h2{font-size:26px;gap:12px}
.cl{scroll-margin-top:84px}
}
@media print{header,.mm,.toc,.toc-m,.cgv-meta,.cgv-end{display:none !important}.t-nuit{background:#fff !important;color:#000 !important}.cl p,.cl li,.cl address{color:#000}.g-cgv{display:block}}

/* --- Fond nocturne : profondeur et mouvement (inspiré des boules à facettes et des drapés de réception) --- */
.t-nuit,.t-ivoire{position:relative;isolation:isolate}
.bd{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(120% 85% at 50% -5%,#0b2672 0%,#02195a 38%,#000d36 100%)}
.t-ivoire .bd{display:none}
.bd-photo{position:absolute;inset:-12%;background:url('/assets/m/c31784f80aa2ba2d1addc4482178d507.webp') center 35%/cover no-repeat;opacity:.24;mix-blend-mode:screen;transform:translate3d(0,var(--py,0px),0) scale(var(--ps,1.08));will-change:transform}
.bd-cv{position:absolute;inset:0;width:100%;height:100%}
.bd-vig{position:absolute;inset:0;background:radial-gradient(140% 95% at 50% 18%,rgba(0,8,30,0) 45%,rgba(0,8,30,.7) 100%)}
.t-nuit header[data-header]{background:rgba(0,22,80,.62) !important;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
@media (prefers-reduced-motion:reduce){.bd-photo{transform:scale(1.08)}}

.ec-wrap{max-width:1240px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.ec-k{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne)}
.ec-h1{margin:18px 0 0;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:clamp(46px,6.6vw,96px);line-height:.98;letter-spacing:-.01em}
.ec-lead{margin:22px 0 0;max-width:600px;color:#c9c1b2;font-size:17px;line-height:1.7}
.ec-h2{margin:14px 0 0;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:clamp(34px,4vw,54px);line-height:1.05}
.ec-p{margin:14px 0 0;max-width:620px;color:var(--ink-muted);line-height:1.7;font-size:15px}
.ec-sec{padding:110px 0;position:relative}
.ec-hero{padding:120px 0 40px}
/* ---- parcours de la nuit */
.nightway{position:relative;margin-top:56px;border-radius:24px;overflow:hidden;min-height:440px;padding:48px 48px 40px;display:flex;flex-direction:column;justify-content:space-between;
 background:linear-gradient(180deg,var(--sky1,#2b1d4f),var(--sky2,#0d1d5c) 60%,rgba(0,13,54,.6));transition:--sky1 1.6s,--sky2 1.6s;box-shadow:inset 0 0 0 1px rgba(255,247,221,.08)}
@property --sky1{syntax:'<color>';inherits:false;initial-value:#2b1d4f}
@property --sky2{syntax:'<color>';inherits:false;initial-value:#0d1d5c}
.nw-orb{position:absolute;width:90px;height:90px;border-radius:50%;left:var(--ox,10%);top:var(--oy,62%);transform:translate(-50%,-50%);transition:left 1.6s cubic-bezier(.65,0,.35,1),top 1.6s cubic-bezier(.65,0,.35,1),box-shadow 1.6s;background:radial-gradient(circle at 36% 34%,#fffaf0 0%,var(--orb,#f0c98a) 38%,rgba(255,240,215,.0) 71%);filter:blur(.4px);box-shadow:0 0 60px 18px var(--orbg,rgba(240,190,120,.35));pointer-events:none}
.nw-horizon{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,rgba(0,13,54,0),rgba(0,10,40,.85));pointer-events:none}
.nw-copy{position:relative;z-index:2;max-width:520px}
.nw-copy .t{font-family:Chillax,sans-serif;font-weight:200;font-size:64px;line-height:1;letter-spacing:-.02em}
.nw-copy h3{margin:10px 0 0;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:40px}
.nw-copy p{margin:10px 0 0;color:#d8cfbe;line-height:1.65;font-size:15px;min-height:50px}
.nw-play{margin-top:22px;display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 22px;border-radius:100px;border:1px solid rgba(255,247,221,.35);background:rgba(0,13,54,.35);color:#fff7dd;font:inherit;font-size:11px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nw-play:hover{background:#c8ad86;color:#001959;border-color:#c8ad86}
.stations{position:relative;z-index:2;list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.stations::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:linear-gradient(90deg,rgba(255,247,221,.08),rgba(255,247,221,.35),rgba(255,247,221,.08))}
.st{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding-top:26px;position:relative;width:100%;box-sizing:border-box}
.st::before{content:"";position:absolute;top:4px;left:0;width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,247,221,.5);background:#0a1f5e;transition:background .5s,box-shadow .5s,transform .5s}
.st[aria-pressed="true"]::before{background:#f1dfbd;box-shadow:0 0 14px 4px rgba(241,223,189,.5);transform:scale(1.25)}
.st-h{font-weight:600;font-size:11px;letter-spacing:.14em;color:#f1dfbd}
.st-n{font-size:13px;line-height:1.3;color:rgba(255,247,221,.72)}
.st[aria-pressed="true"] .st-n,.st:hover .st-n{color:#fff7dd}
.st:focus-visible{outline:2px solid #c8ad86;outline-offset:4px;border-radius:4px}
/* ---- bac à vinyles */
.crate-ui{display:grid;grid-template-columns:420px minmax(0,1fr);gap:56px;align-items:center;margin-top:48px}
.deck{position:relative;aspect-ratio:1/1;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#0c2368,#020f3d);box-shadow:inset 0 1px 0 rgba(255,247,221,.06),0 40px 80px -40px rgba(0,0,0,.8)}
.deck::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(236,212,170,.5),rgba(200,173,134,.05) 60%);-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);pointer-events:none}
.platter{position:absolute;left:9%;top:9%;width:74%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,#1a1c26 0 3%,#0b0c12 3.5% 100%);box-shadow:0 0 0 6px #10183f,0 20px 40px -10px rgba(0,0,0,.8)}
.rec{position:absolute;inset:3%;border-radius:50%;background:radial-gradient(circle,transparent 0 31%,rgba(0,0,0,0) 31%),repeating-radial-gradient(circle,#101118 0 1.4px,#181a22 1.4px 2.8px);opacity:0;transform:translateX(60%) scale(.9);transition:opacity .6s,transform 1s cubic-bezier(.16,1,.3,1)}
.rec::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 30deg,rgba(255,255,255,.07) 45deg,transparent 60deg 200deg,rgba(255,255,255,.05) 215deg,transparent 230deg)}
.rec-l{position:absolute;left:50%;top:50%;width:34%;height:34%;transform:translate(-50%,-50%);border-radius:50%;background:#c8ad86;color:#001959;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px;box-sizing:border-box;z-index:1}
.rec-l b{font-family:Melodrama,Georgia,serif;font-weight:400;font-size:15px;line-height:1.05}
.rec-l small{font-size:6.5px;letter-spacing:.2em;text-transform:uppercase;margin-top:4px}
.rec-l::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#001959}
.deck.on .rec{opacity:1;transform:none}
.deck.spin .rec{animation:spin 1.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.arm{position:absolute;right:7%;top:7%;width:12%;height:70%;transform-origin:50% 8%;transform:rotate(-8deg);transition:transform 1.2s cubic-bezier(.65,0,.35,1)}
.arm::before{content:"";position:absolute;left:50%;top:0;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#1f2b5e;box-shadow:inset 0 0 0 2px #c8ad86}
.arm i{position:absolute;left:50%;top:11px;width:3px;height:88%;margin-left:-1.5px;background:linear-gradient(#e6d2ae,#a88c63);border-radius:2px}
.arm i::after{content:"";position:absolute;left:-5px;bottom:-6px;width:13px;height:20px;border-radius:2px;background:#c8ad86}
.deck.on .arm{transform:rotate(17deg)}
.deck-cap{position:absolute;left:24px;bottom:18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}
.tabs{display:flex;gap:8px;margin-bottom:22px}
.tab{min-height:40px;padding:0 18px;border-radius:100px;border:1px solid var(--hairline);background:transparent;color:var(--ink);font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
.tab[aria-selected="true"]{background:#c8ad86;color:#001959;border-color:#c8ad86}
.crate{display:flex;gap:14px;overflow-x:auto;padding:22px 6px 30px;scroll-snap-type:x mandatory;perspective:1400px;scrollbar-width:thin;scrollbar-color:rgba(200,173,134,.5) transparent}
.slv{all:unset;flex:none;width:176px;aspect-ratio:1/1;position:relative;cursor:pointer;scroll-snap-align:start;border-radius:4px;background:linear-gradient(160deg,#0f2770,#06164a);box-shadow:inset 0 0 0 1px rgba(255,247,221,.08),0 20px 30px -18px rgba(0,0,0,.9);transform:rotateX(14deg) translateY(0);transform-origin:50% 100%;transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .7s;overflow:hidden}
.slv:hover,.slv:focus-visible{transform:rotateX(0) translateY(-14px);box-shadow:inset 0 0 0 1px rgba(200,173,134,.4),0 30px 40px -20px rgba(0,0,0,.9)}
.slv:focus-visible{outline:2px solid #c8ad86;outline-offset:4px}
.slv[aria-pressed="true"]{transform:rotateX(0) translateY(-22px);box-shadow:inset 0 0 0 1px #c8ad86,0 0 30px -6px rgba(200,173,134,.5)}
.slv-art svg{position:absolute;inset:0;width:100%;height:100%}
.slv-t{position:absolute;left:14px;right:14px;bottom:30px;font-family:Melodrama,Georgia,serif;font-size:24px;line-height:1.05;color:#fff7dd}
.slv-s{position:absolute;left:14px;bottom:14px;font-size:7.5px;letter-spacing:.22em;text-transform:uppercase;color:#c8ad86}
.crate[hidden]{display:none}
/* ---- composer */
.wish{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}
.wcol{border-radius:18px;padding:24px;background:rgba(0,13,54,.45);box-shadow:inset 0 0 0 1px rgba(255,247,221,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:12px;min-height:260px}
.wcol h3{margin:0;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:26px}
.wcol .hint{margin:0;font-size:12.5px;color:var(--ink-muted);line-height:1.5}
.wadd{display:flex;gap:8px}
.wadd input{flex:1;min-width:0;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,247,221,.16);background:rgba(0,10,40,.5);color:#fff7dd;font:inherit;font-size:14px}
.wadd button{flex:none;width:44px;border-radius:10px;border:1px solid rgba(200,173,134,.5);background:transparent;color:#c8ad86;font-size:20px;cursor:pointer}
.wadd button:hover{background:#c8ad86;color:#001959}
.wlist{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.wlist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:rgba(255,247,221,.05);font-size:14px;line-height:1.35}
.wlist li button{all:unset;cursor:pointer;color:var(--ink-muted);font-size:16px;padding:0 4px}
.wlist li button:hover{color:#fff7dd}
.wfoot{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:22px 26px;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(255,247,221,.1)}
.wfoot label{display:flex;flex-direction:column;gap:8px;flex:1;min-width:260px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted)}
.wfoot input{padding:12px 14px;border-radius:10px;border:1px solid rgba(255,247,221,.16);background:rgba(0,10,40,.5);color:#fff7dd;font:inherit;font-size:14px;text-transform:none;letter-spacing:0}
.btn-c{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:0;border-radius:4px;background:#c8ad86;color:#001959;font:inherit;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;cursor:pointer;text-decoration:none}
.btn-c:hover{background:#fff7dd}
.btn-g{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:4px;border:1px solid rgba(200,173,134,.5);color:#fff7dd;text-decoration:none;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.btn-g:hover{border-color:#c8ad86;color:#c8ad86}
/* ---- teaser ouverture de bal */
.ob{margin-top:20px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:44px;border-radius:24px;background:radial-gradient(80% 120% at 100% 0%,rgba(200,173,134,.16),transparent 60%),rgba(0,13,54,.4);box-shadow:inset 0 0 0 1px rgba(255,247,221,.1)}
/* ---- dock */
.dock{position:sticky;bottom:14px;z-index:30;margin:0 auto;max-width:1240px;padding:0 40px;box-sizing:border-box}
.dock-in{display:grid;grid-template-columns:240px minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px 14px;border-radius:20px;background:rgba(2,16,60,.78);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,247,221,.12),0 24px 60px -24px rgba(0,0,0,.8)}
.dock-now{display:flex;align-items:center;gap:12px;min-width:0}
.dock-now div{min-width:0}
.dock-now strong{display:block;font-family:Melodrama,Georgia,serif;font-weight:400;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock-k{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:#c8ad86}
.dock-disc{flex:none;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#c8ad86 0 22%,#0b0c12 23% 100%);box-shadow:0 0 0 1px rgba(255,247,221,.15)}
.dock.playing .dock-disc{animation:spin 2.4s linear infinite}
.dock-player{min-height:80px;display:flex;align-items:center}
.dock-player iframe{width:100%;height:80px;border:0;border-radius:12px;display:block}
.dock-player>div:not(.dock-consent){width:100%}
.dock-consent{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dock-consent p{margin:0;font-size:12.5px;color:var(--ink-muted);max-width:340px;line-height:1.5}
.dock-ext{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#c8ad86;text-decoration:none;white-space:nowrap;padding:0 8px}
.dock-ext:hover{color:#fff7dd}
@media (max-width:900px){
.ec-wrap{padding:0 16px}.ec-hero{padding:64px 0 20px}.ec-sec{padding:72px 0}
.nightway{padding:28px 20px 24px;min-height:560px}.nw-copy .t{font-size:46px}.nw-copy h3{font-size:32px}
.stations{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:120px;overflow-x:auto;padding-bottom:6px}
.crate-ui{grid-template-columns:minmax(0,1fr);gap:28px}.deck{max-width:320px;margin:0 auto;width:100%}
.slv{width:140px}.slv-t{font-size:20px}
.wish{grid-template-columns:minmax(0,1fr)}
.ob{grid-template-columns:minmax(0,1fr);padding:28px 22px}
.dock{padding:0 8px;bottom:8px}.dock-in{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 12px}.dock-ext{display:none}.dock-consent p{display:none}.dock-consent .btn-c{min-height:42px;padding:0 14px;font-size:10px;letter-spacing:.16em}.dock-player{min-height:0}.dock-player:has(iframe){grid-column:1/-1}.dock-now strong{font-size:17px}.dock-disc{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.deck.spin .rec,.dock.playing .dock-disc{animation:none}.nw-orb{transition:none}}

.ob-art{max-width:780px}
.ob-art h2{margin:56px 0 0;font-family:Melodrama,Georgia,serif;font-weight:300;font-size:36px;line-height:1.1}
.ob-art h3{margin:28px 0 0;font-family:Melodrama,Georgia,serif;font-weight:400;font-size:24px;color:#f1dfbd}
.ob-art p,.ob-art li{color:#d9d1c1;font-size:16px;line-height:1.75}
.ob-art p{margin:12px 0 0}
.ob-art ul{margin:12px 0 0;padding:0;list-style:none}
.ob-art li{position:relative;padding-left:22px;margin-top:8px}
.ob-art li::before{content:"";position:absolute;left:2px;top:.85em;width:9px;height:1px;background:#c8ad86}
.ob-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.ob-card{padding:24px;border-radius:18px;background:rgba(0,13,54,.45);box-shadow:inset 0 0 0 1px rgba(255,247,221,.1)}
.ob-card b{display:block;font-family:Chillax,sans-serif;font-weight:600;font-size:12px;letter-spacing:.18em;color:#f1dfbd;text-shadow:0 0 10px rgba(200,173,134,.4)}
.ob-card h3{margin:8px 0 0 !important}
.ob-card p{font-size:14.5px !important}
@media (max-width:900px){.ob-cards{grid-template-columns:minmax(0,1fr)}.ob-art h2{font-size:30px}}

[hidden]{display:none!important}
[data-header] a{white-space:nowrap}
[data-header] .wrap>a:first-child{flex-shrink:0}
.mask{padding-bottom:.24em!important;margin-bottom:-.24em!important}
/* ——— Horloge vivante ——— */
.lv{position:fixed;left:20px;bottom:calc(20px + var(--lv-off,0px));z-index:60;display:flex;flex-direction:column;align-items:flex-start;gap:6px;opacity:0;transform:translateY(10px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);pointer-events:none}
.lv.on{opacity:1;transform:none;pointer-events:auto}
html.mm-lock .lv,html.vln-lock .lv{opacity:0;pointer-events:none}
.lv a{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 16px 0 12px;border-radius:100px;border:1px solid rgba(200,173,134,.32);background:rgba(0,12,48,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff7dd;text-decoration:none;font-size:11px;letter-spacing:.08em;white-space:nowrap;max-width:calc(100vw - 40px);box-sizing:border-box;transition:border-color .4s,background .4s}
.lv a:hover{border-color:#c8ad86;background:rgba(0,18,66,.75)}
.lv a:focus-visible{outline:2px solid #c8ad86;outline-offset:3px}
.lv-dot{width:6px;height:6px;border-radius:50%;background:#c8ad86;box-shadow:0 0 0 0 rgba(200,173,134,.6);animation:lvPulse 2.4s ease-out infinite;flex-shrink:0}
@keyframes lvPulse{0%{box-shadow:0 0 0 0 rgba(200,173,134,.55)}70%{box-shadow:0 0 0 8px rgba(200,173,134,0)}100%{box-shadow:0 0 0 0 rgba(200,173,134,0)}}
.lv b{font-family:Chillax,sans-serif;font-weight:500;font-size:13px;letter-spacing:.02em;font-variant-numeric:tabular-nums lining-nums;color:#f1dfbd;text-shadow:0 0 12px rgba(200,173,134,.45)}
.lv b i{font-style:normal;animation:lvBlink 2s steps(1) infinite}
@keyframes lvBlink{50%{opacity:.25}}
.lv-l,.lv-s{overflow:hidden;text-overflow:ellipsis;color:rgba(255,247,221,.82);max-width:420px;transition:max-width .8s cubic-bezier(.16,1,.3,1),opacity .5s,margin .8s cubic-bezier(.16,1,.3,1)}
.lv.min .lv-l,.lv.min .lv-s{max-width:0;opacity:0;margin-left:-10px}
.lv.min:hover .lv-l,.lv.min:focus-within .lv-l,.lv.min:hover .lv-s,.lv.min:focus-within .lv-s{max-width:420px;opacity:1;margin-left:0}
.lv .lv-n{transition:opacity .5s,transform .5s}
.lv.min .lv-n{opacity:0;transform:translateY(6px);pointer-events:none}
.lv.min:hover .lv-n,.lv.min:focus-within .lv-n{opacity:1;transform:none;pointer-events:auto}
.lv-s{display:none}
.lv-x{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#c8ad86;border:1px solid rgba(200,173,134,.4);border-radius:100px;padding:2px 6px}
.lv .lv-n{min-height:30px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#c8ad86;padding:0 14px}
.lv .lv-n[hidden]{display:none}
@media (max-width:700px){.lv{left:16px;bottom:calc(16px + env(safe-area-inset-bottom) + var(--lv-off,0px))}.lv-l{display:none}.lv-s{display:inline}.lv a{min-height:32px;padding:0 13px 0 10px;font-size:10.5px}}
@media (prefers-reduced-motion:reduce){.lv-dot,.lv b i{animation:none}}
/* ——— Transitions de page : le logo en signature ——— */
@property --pr{syntax:'<number>';inherits:false;initial-value:-16}
.pt{position:fixed;inset:0;z-index:300;pointer-events:none;visibility:hidden;opacity:0;display:grid;place-items:center;background:radial-gradient(55% 42% at 50% 50%,rgba(200,173,134,.17),rgba(200,173,134,0) 72%),radial-gradient(130% 95% at 50% -10%,#0d2a78 0%,#001959 42%,#00092a 100%)}
.pt::after{content:"";position:absolute;inset:0;background:radial-gradient(140% 100% at 50% 50%,transparent 55%,rgba(0,6,26,.65));pointer-events:none}
.pt-mark{position:relative;width:min(84vw,880px);aspect-ratio:2140/880;z-index:1}
.pt-logo,.pt-logo svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.pt-halo{position:absolute;left:50%;top:50%;width:min(110vw,1200px);aspect-ratio:1;transform:translate(-50%,-50%) scale(.6);border-radius:50%;background:radial-gradient(closest-side,rgba(241,223,189,.16),rgba(200,173,134,.06) 45%,transparent 70%);opacity:0}
.pt-glint{position:absolute;inset:0;pointer-events:none;-webkit-mask:url(/assets/m/a014cdbc985759f7dd671e6160f9e10f.svg) center/100% 100% no-repeat;mask:url(/assets/m/a014cdbc985759f7dd671e6160f9e10f.svg) center/100% 100% no-repeat;background:linear-gradient(100deg,transparent 0%,transparent 42%,rgba(255,236,196,.95) 50%,transparent 58%,transparent 100%) no-repeat;background-size:250% 100%;background-position:120% 0;opacity:0}
.pt .lg-em>g{transform-box:view-box;transform-origin:1150px 668px}
.pt .lg-star{transform-box:fill-box;transform-origin:center}
.pt .lg-s{transform-box:fill-box;transform-origin:center}
.pt .lg-g{transform-box:fill-box;transform-origin:50% 60%}
/* départ : la nuit tombe, puis le logo s'écrit */
.pt.out{visibility:visible;pointer-events:auto;animation:ptVeil .42s cubic-bezier(.4,0,.2,1) forwards}
@keyframes ptVeil{to{opacity:1}}
.pt.out .pt-halo{animation:ptHalo 1.4s cubic-bezier(.16,1,.3,1) .1s forwards}
@keyframes ptHalo{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.pt.out .lg-em>g{animation:ptRay .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.14s + var(--i) * 12ms)}
@keyframes ptRay{from{opacity:0;transform:scale(.55) rotate(-28deg)}}
.pt.out .lg-star{animation:ptStar .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.42s + var(--i) * 110ms)}
@keyframes ptStar{0%{opacity:0;transform:scale(.2) rotate(-60deg)}60%{opacity:1;transform:scale(1.35)}100%{opacity:1;transform:none}}
.pt.out .lg-g{animation:ptInk .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.24s + var(--i) * 30ms)}
@keyframes ptInk{from{opacity:0;transform:translateY(22px) scale(.96);filter:blur(8px)}}
.pt.out .lg-s{animation:ptSub .8s cubic-bezier(.16,1,.3,1) .62s both}
@keyframes ptSub{from{opacity:0;transform:scaleX(1.18)}}
.pt.out .pt-glint{animation:ptGlint 1.1s cubic-bezier(.45,0,.2,1) .55s both}
@keyframes ptGlint{0%{opacity:0;background-position:120% 0}15%{opacity:1}100%{opacity:1;background-position:-20% 0}}
/* arrivée : le logo s'efface dans la lumière, le rideau s'ouvre en cercle depuis le centre */
.pt.cover,.pt.lift,.pt.fade{visibility:visible;opacity:1}
.pt.cover .pt-halo,.pt.lift .pt-halo,.pt.fade .pt-halo{opacity:1;transform:translate(-50%,-50%) scale(1)}
.pt.lift{-webkit-mask:radial-gradient(circle at 50% 50%,transparent calc(var(--pr) * 1%),#000 calc(var(--pr) * 1% + 16%));mask:radial-gradient(circle at 50% 50%,transparent calc(var(--pr) * 1%),#000 calc(var(--pr) * 1% + 16%));animation:ptIris 1s cubic-bezier(.65,0,.35,1) .32s forwards}
@keyframes ptIris{to{--pr:120}}
.pt.lift .pt-mark,.pt.fade .pt-mark{animation:ptAway .62s cubic-bezier(.4,0,.2,1) forwards}
@keyframes ptAway{to{opacity:0;transform:scale(1.07);filter:blur(6px)}}
.pt.lift .pt-halo{animation:ptHaloOut .9s ease .2s forwards}
@keyframes ptHaloOut{to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
.pt.fade{animation:ptFade .7s ease .35s forwards}
@keyframes ptFade{to{opacity:0}}
/* horloge vivante : le ciel du fond suit l'heure du visiteur */
.bd::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(236,176,196,.36) 0%,rgba(150,176,236,.16) 38%,rgba(150,176,236,0) 70%);opacity:var(--lv-d,0);transition:opacity 4s ease}
.bd::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(226,150,80,.44) 0%,rgba(176,104,96,.2) 32%,rgba(176,104,96,0) 62%);opacity:var(--lv-w,0);transition:opacity 4s ease}
.bd .bd-photo{opacity:var(--lv-ph,.24);transition:opacity 4s ease}

/* pré-rideau : couvre la page dès le premier affichage quand on arrive d'une autre page du site */
html.pt-arrive body::before{content:"";position:fixed;inset:0;z-index:299;background:url(/assets/m/a014cdbc985759f7dd671e6160f9e10f.svg) center/min(84vw,880px) auto no-repeat,radial-gradient(55% 42% at 50% 50%,rgba(200,173,134,.17),rgba(200,173,134,0) 72%),radial-gradient(130% 95% at 50% -10%,#0d2a78 0%,#001959 42%,#00092a 100%)}
