@font-face{font-family:Thriller;src:url('police/MichaelsThriller-Regular.otf') format('opentype');font-display:swap}
:root{--black:#101010;--paper:#f2ede2;--red:#bc2327;--gold:#c4a36a;--muted:#aaa397;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font-family:var(--sans);font-size:16px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.masthead{height:92px;margin:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff17;position:relative;z-index:20}.brand img{width:78px;height:auto;display:block}.mast-title{font-size:12px;letter-spacing:2.5px}.mast-title span{color:var(--gold);padding:0 12px}.blessing{font-family:'Frank Ruhl Libre',serif;color:var(--gold);font-size:20px}.arrival{min-height:calc(100svh - 92px);padding:30px 24px 88px;text-align:center;background:radial-gradient(ellipse at 50% 36%,#c3a88219 0,transparent 58%);overflow:hidden}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:600;color:var(--gold);margin:0 0 15px}.arrival h1{font:400 clamp(26px,3vw,40px)/1.13 var(--serif);margin:0}.arrival h1 em{color:#b7b0a5;font-size:.86em}.album-stage{position:relative;width:min(410px,75vw);aspect-ratio:1;margin:35px auto 30px;perspective:1200px;transform:rotate(-5deg)}.sleeve{position:absolute;inset:0;background:var(--paper);color:#111;box-shadow:0 22px 70px #0009,inset 4px 0 7px #0002;overflow:hidden;z-index:2}.sleeve:after{content:'';position:absolute;inset:9px;border:1px solid #15151535;pointer-events:none}.sleeve-top,.sleeve-bottom{position:absolute;left:6%;right:10%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;font-weight:700;z-index:3}.sleeve-top{top:6%}.sleeve-bottom{bottom:6%;font-size:7px;letter-spacing:.8px}.dancer{position:absolute;left:0;top:16%;height:75%;width:45%;object-fit:contain}.cover-title{position:absolute;top:17%;left:39%;right:10%;text-align:center;display:flex;flex-direction:column;align-items:center}.cover-title .red{font-family:Thriller,Impact,sans-serif;font-size:clamp(38px,6.7vw,65px);line-height:.95;color:var(--red);transform:rotate(-3deg)}.cover-title strong{font:normal clamp(32px,5.4vw,52px)/1.2 Thriller,Impact,sans-serif;margin-top:18%}.hebrew{font:400 28px/1.4 'Frank Ruhl Libre',serif}.spine{position:absolute;right:3.4%;top:18%;writing-mode:vertical-rl;letter-spacing:3px;font-size:11px}.peek-record{position:absolute;width:96%;height:96%;top:2%;left:12%;border-radius:50%;background:repeating-radial-gradient(circle,#161616 0 2px,#272727 3px,#141414 4px);border:1px solid #444;box-shadow:12px 10px 35px #000a;display:grid;place-items:center}.peek-record span{background:var(--red);border-radius:50%;width:32%;aspect-ratio:1;display:grid;place-items:center;font:42px var(--serif);color:var(--gold)}.open-button{border:0;background:none;color:var(--paper);display:inline-flex;align-items:center;gap:16px;text-align:left;font:24px var(--serif)}.play-symbol{width:54px;height:54px;display:grid;place-items:center;padding-left:3px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font:18px var(--sans);transition:background .25s,color .25s}.open-button:hover .play-symbol{background:var(--gold);color:#101010}.open-button small{display:block;font:9px var(--sans);letter-spacing:1.4px;margin-top:6px;color:var(--muted)}.sound-hint{font-size:12px;color:var(--muted);margin:15px 0 24px}.arrival-footer{display:flex;justify-content:center;gap:24px;align-items:center;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.mini-star{color:var(--gold)}.player-controls{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:20px;padding:16px;background:#101010ed;backdrop-filter:blur(16px);border-top:1px solid #ffffff13;z-index:50}.player-controls button{background:transparent;border:0;color:#c3bcb0;font-size:12px;min-height:28px}.player-controls button:hover{color:var(--gold)}.audio-status{position:fixed;bottom:64px;left:50%;transform:translateX(-50%);font-size:13px;text-align:center;z-index:55;background:#101010eb;color:var(--paper);padding:0 16px;max-width:90vw}.audio-status:empty{display:none}.noscript{padding:30px;max-width:700px;margin:auto}
@media(min-width:1100px) and (min-height:850px){.arrival{padding-top:42px}.album-stage{width:460px;margin:40px auto}.cover-title .red{font-size:74px}.cover-title strong{font-size:58px}}
@media(max-width:600px){.masthead{height:72px;margin:0 22px}.brand img{width:59px}.mast-title{font-size:9px;letter-spacing:1px}.mast-title span{padding:0 5px}.blessing{font-size:18px}.arrival{padding:28px 20px 90px;min-height:calc(100svh - 72px)}.eyebrow{font-size:10px;letter-spacing:2.2px}.album-stage{margin:36px auto 30px;width:76vw;max-width:360px}.sleeve-top{font-size:6px}.sleeve-bottom{font-size:5px}.spine{font-size:9px;letter-spacing:2px}.cover-title .red{font-size:12vw}.cover-title strong{font-size:10vw}.hebrew{font-size:25px}.open-button{font-size:24px}.open-button small{font-size:8px;letter-spacing:.8px}.arrival-footer{gap:12px;font-size:8px;letter-spacing:.7px}.player-controls{gap:14px;padding:12px 8px}.player-controls button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Les disques et les étiquettes restent lisibles même sans animation. */
.record{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at center,#101010 0 2px,#2a2a2a 2.7px,#151515 3.6px,#151515 5px);border:1px solid #45423a;box-shadow:0 25px 60px #0008,inset 0 0 0 9px #131313;display:grid;place-items:center;isolation:isolate}.record:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 25deg,transparent,#ffffff0c 12%,transparent 22%,transparent 45%,#ffffff12 59%,transparent 68%);z-index:-1}.record-ring{position:absolute;inset:0;width:100%;height:100%;fill:var(--gold);font-family:var(--sans);font-size:11px;letter-spacing:3.2px}.record-label{width:66%;height:66%;border-radius:50%;background:var(--paper);color:#211b17;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:6%;border:double 4px #bda981;box-shadow:0 0 0 5px #121212;font:18px/1.25 var(--serif)}.record-side{font:8px var(--sans);letter-spacing:1.7px;color:#705c43;margin-bottom:12px}.record-logo{width:57%;height:auto;margin:0 0 8px}.record-intro{font-style:italic;margin:0!important}.record-name{font:normal 37px/1.1 Thriller,Impact,sans-serif!important;letter-spacing:-.055em!important;margin:5px 0 0!important}.belange{font:9px var(--sans);letter-spacing:4px;margin:3px 0!important}.label-date{font:8px var(--sans);letter-spacing:1px;margin-top:10px}.record-label h2{font:600 39px/.98 var(--serif);margin:12px 0}.record-label p{margin:6px 0}.label-kicker{font-size:16px}.record-time{font-size:17px}.record-time span{color:#8c6d41}.record-label hr{width:40px;border:0;border-top:1px solid #ad9161;margin:10px 0}.record-label strong{font-size:21px}.label-note{font:italic 16px var(--serif);margin-top:9px}.party-record .record-label{background:var(--red);color:var(--paper);border-color:#ecb293}.party-record .record-side{color:#f2d3ae}.party-record .record-label .party-title{font:normal 48px/.92 Thriller,Impact,sans-serif}.party-record hr{border-color:#e1bb91}.intro-section{max-width:1060px;margin:auto;text-align:center;padding:74px 35px 80px}.intro-section h1{font:400 clamp(35px,4.2vw,55px)/1.05 var(--serif);margin:0}.intro-section h1 em{color:#b7b0a5;font-size:.85em}.intro-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin:65px 0 35px}.family-copy .track-number{font:10px var(--sans);letter-spacing:2px;color:var(--gold)}.family-copy{font:21px/1.35 var(--serif)}.family-copy .family-names{font-size:31px;margin:20px 0}.family-copy h2{font:normal 54px Thriller,Impact,sans-serif;color:var(--paper);margin:15px 0 0}.family-copy>.hebrew{color:var(--gold)}.family-line{width:60px;height:1px;background:var(--gold);margin:25px auto}.grandparents{font-size:18px}.grandparents em{color:#b6aea2;font-size:16px}.memorial{font-size:17px;font-style:italic;color:#a9a295;max-width:350px;margin:24px auto}.text-link{display:inline-block;font-size:13px;text-decoration:none;border-bottom:1px solid var(--gold);padding:8px 0;color:var(--gold)}.events{border-top:1px solid #ffffff1a;padding:70px 35px 80px;background:#151513}.section-heading{text-align:center}.section-heading h2,.rsvp-section>h2{font:400 clamp(38px,4vw,54px)/1.05 var(--serif);margin:15px 0 45px}.events-grid{max-width:1060px;display:grid;grid-template-columns:1fr 1fr;gap:90px;margin:auto}.track-header{display:flex;justify-content:space-between;border-bottom:1px solid #b69d6144;padding:0 0 18px;margin-bottom:30px;color:var(--gold);font-size:10px;letter-spacing:1.5px}.event-links{display:flex;justify-content:center;gap:25px;margin-top:30px}.event-links a{font-size:12px;text-underline-offset:7px;color:#ded4c4;line-height:1.8}.breakfast,.party-note{text-align:center;margin:40px auto 0;font-family:var(--serif)}.breakfast>p,.party-note>p{font-size:28px;line-height:1.1;margin:0 0 20px}.breakfast strong,.breakfast>span{display:block;font-size:19px}.breakfast>span{color:#b7b0a5;margin:7px 0}.breakfast a{display:inline-block;font:11px var(--sans);color:var(--gold);text-underline-offset:5px;margin-top:15px}.party-note>span{font-size:18px;color:var(--gold)}.party-note>p{margin-top:10px}.party-note .gold-star{font-size:32px}.rsvp-section{padding:80px 24px;text-align:center;background:radial-gradient(ellipse at center,#3f33221f,transparent 65%)}.rsvp-section>h2{margin-bottom:15px}.rsvp-lead{font:22px var(--serif);color:#b8afa1;margin-bottom:35px}.ticket{position:relative;max-width:670px;margin:auto;background:var(--paper);color:#27221d;text-align:left;box-shadow:0 20px 80px #0007}.ticket-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #8b8372;padding:28px 35px;position:relative}.ticket-header:before,.ticket-header:after{content:'';position:absolute;width:22px;height:22px;border-radius:50%;background:var(--black);bottom:-11px}.ticket-header:before{left:-11px}.ticket-header:after{right:-11px}.ticket-edition{font-size:10px;letter-spacing:2px}.ticket-header h3{font:normal 48px Thriller,Impact,sans-serif;margin:10px 0 0;color:var(--red)}.ticket-seat{border-left:1px solid #a5967c;padding-left:30px;text-align:center}.ticket-seat span{display:block;font-size:10px;letter-spacing:2px}.ticket-seat strong{font:52px var(--serif)}#rsvp-form{padding:30px 35px 15px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:13px;line-height:1.5;font-weight:600}input,textarea{border:0;border-bottom:1px solid #a69d8b;background:#fff5;color:#211b17;border-radius:0;display:block;width:100%;padding:12px 10px;margin-top:8px;font-size:16px;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#80776b;font-size:14px}fieldset{border:0;padding:0;margin:28px 0}legend{font:600 26px var(--serif);width:100%;margin-bottom:14px}legend>span{float:right;font:10px var(--sans);letter-spacing:1px;margin-top:10px;color:#706551}.choice-row{display:flex;gap:12px}.choice-row label{position:relative;flex:1}.choice-row input{position:absolute;opacity:0;width:1px;height:1px}.choice-row span{display:block;text-align:center;padding:13px;border:1px solid #b9af9b;cursor:pointer;font-size:14px;font-weight:500}.choice-row input:checked+span{background:#28241e;color:var(--paper);border-color:#28241e}.choice-row input:focus-visible+span{outline:2px solid #80602b;outline-offset:3px}.guest-counts{display:flex;gap:20px;margin-top:15px}.guest-counts label{flex:1}.guest-counts input{padding:8px 12px}.message-label>span{font-weight:400;color:#776c5d}.privacy-note{font-size:11px;color:#756a5a;line-height:1.6;margin:18px 0}.submit-ticket{width:100%;padding:17px;border:0;background:var(--red);color:white;font-size:14px;letter-spacing:.5px;transition:background .2s}.submit-ticket:hover{background:#992024}.submit-ticket:disabled{opacity:.6;cursor:wait}#form-status{font-size:13px;line-height:1.6;color:#a02522;min-height:6px}.ticket-stub{border-top:1px dashed #978a72;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 35px;font-size:8px;letter-spacing:1px}.barcode{width:104px;height:32px;background:repeating-linear-gradient(90deg,#201d17 0 1px,transparent 1px 3px,#201d17 3px 6px,transparent 6px 8px,#201d17 8px 10px,transparent 10px 14px,#201d17 14px 15px,transparent 15px 17px);flex-shrink:0}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ticket-success{text-align:center;padding:60px 30px}.ticket-success h3{font:36px var(--serif);margin:30px 0 15px}.ticket-success p{font:23px/1.4 var(--serif)}.stamp{display:inline-block;border:5px double var(--red);padding:8px 22px;font:700 38px var(--sans);color:var(--red);transform:rotate(-9deg);animation:stamp .5s both}.site-footer{text-align:center;padding:0 24px 110px}.site-footer img{object-fit:contain}.site-footer p{font:italic 28px var(--serif);color:#c5b69d;margin:20px 0}.site-footer>span{font-size:10px;letter-spacing:2px;color:#9b9285}.cinema{min-height:calc(100svh - 92px);padding:50px 20px 100px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;background:radial-gradient(ellipse at 50% 40%,#c3a88218,transparent 65%)}#cinema-content{width:min(520px,87vw);margin:auto;cursor:pointer}.cinema .record{max-width:440px;margin:auto}.scene-caption{font:italic 22px/1.25 var(--serif);color:#c9bda9;margin:26px auto;max-width:450px}.scene-next{color:var(--gold);background:none;border:0;font-size:12px;margin:8px;padding:10px}.progress{display:flex;gap:7px;margin:8px}.progress i{width:28px;height:2px;background:#444}.progress i.active{background:var(--gold)}.extraction{position:relative;width:85%;aspect-ratio:1;margin:30px auto 60px}.extract-sleeve{position:absolute;inset:0;background:var(--paper);color:#111;overflow:hidden;box-shadow:0 20px 70px #0008;animation:sleeve-out 4s both}.extract-disc{position:absolute;inset:2%;animation:extract 4s both}.spin-record{animation:spin 5s cubic-bezier(.65,0,.35,1) both}.flip-record{animation:flip 1.4s ease-out both}.roll-record{animation:roll 2s cubic-bezier(.2,.8,.3,1) both}.cinema-ticket{background:var(--paper);color:#242019;max-width:400px;margin:40px auto;padding:45px 25px;border-bottom:4px dashed #afa18d;animation:ticket-slide 1.5s ease-out both}.cinema-ticket>span{font-size:12px;letter-spacing:2px}.cinema-ticket h2{font:normal 64px Thriller,Impact,sans-serif;color:var(--red);margin:28px 0}.cinema-ticket p{font:26px var(--serif)}.cinema-ticket .barcode{margin:30px auto}.is-playing .masthead{border-color:transparent}
@keyframes extract{0%,12%{transform:translateX(0);z-index:0}45%{transform:translateX(38%) rotate(12deg);z-index:0}46%{transform:translateX(38%) rotate(12deg);z-index:3}100%{transform:translateX(0) rotate(0);z-index:3}}@keyframes sleeve-out{0%,12%{transform:none}45%{transform:translate(-18%,-2%) rotate(-8deg) scale(.86)}100%{transform:translate(-7%,-2%) rotate(-9deg) scale(.9)}}@keyframes spin{0%,16%{transform:rotate(0)}70%,100%{transform:rotate(360deg)}}@keyframes flip{from{transform:perspective(1000px) rotateY(-90deg);opacity:0}to{transform:perspective(1000px) rotateY(0);opacity:1}}@keyframes roll{from{transform:translateX(100vw) rotate(130deg)}to{transform:translateX(0) rotate(0)}}@keyframes ticket-slide{from{opacity:0;transform:translateY(150px) rotate(8deg)}to{opacity:1;transform:none}}@keyframes stamp{from{opacity:0;transform:scale(2) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(-9deg)}}
@media(max-width:760px){.intro-section{padding:50px 24px}.intro-layout{grid-template-columns:1fr;gap:35px;margin:40px auto 25px;max-width:440px}.family-copy{font-size:20px}.events{padding:50px 22px}.events-grid{grid-template-columns:1fr;gap:55px;max-width:450px}.section-heading h2{font-size:39px}.rsvp-section{padding:55px 18px}.record-label h2{font-size:clamp(26px,8vw,39px)}.record-label{font-size:clamp(14px,4.5vw,18px)}.record-side{font-size:7px;letter-spacing:1px;margin-bottom:8px}.record-label strong{font-size:clamp(16px,5vw,21px)}.record-name{font-size:clamp(28px,8vw,37px)!important}.record-time{font-size:clamp(13px,4vw,17px)}.label-kicker{font-size:clamp(13px,3.8vw,16px)}.label-note{font-size:14px;margin-top:5px}.party-record .record-label .party-title{font-size:clamp(34px,11vw,48px)}.record-label hr{margin:6px 0}.ticket-header{padding:24px}.ticket-header h3{font-size:43px}.ticket-edition{font-size:8px;letter-spacing:1.4px}.ticket-seat{padding-left:20px}#rsvp-form{padding:25px 24px 10px}.form-pair{grid-template-columns:1fr;gap:20px}.ticket-stub{padding:20px 24px;flex-wrap:wrap}.ticket-stub .barcode{width:90px}.ticket-stub span{font-size:8px}.cinema{min-height:calc(100svh - 72px);padding-top:25px}.scene-caption{font-size:20px}.label-date{font-size:7px;margin-top:5px}}
@media(max-width:370px){.record-side{font-size:6px}.record-label h2{margin:8px 0}.label-note{font-size:12px}.record-label .hebrew{font-size:20px}.record-logo{margin-bottom:3px}.record-intro{font-size:15px}.ticket-header{padding:20px}#rsvp-form{padding:20px}.ticket-header h3{font-size:37px}.ticket-seat strong{font-size:45px}legend{font-size:23px}legend>span{font-size:8px}}
/* La police fournie a des capitales très larges : garder la tranche dégagée. */
.cover-title .red{font-size:clamp(29px,4.7vw,45px);line-height:1.17}.cover-title strong{font-size:clamp(24px,3.6vw,34px);margin-top:20%}.masthead{position:relative;background:#101010}
@media(min-width:1100px) and (min-height:850px){.cover-title .red{font-size:51px}.cover-title strong{font-size:38px}}
@media(max-width:600px){.cover-title .red{font-size:8.5vw}.cover-title strong{font-size:6.5vw}}
.record{container-type:inline-size}.event .record-label,.flip-record .record-label,.party-record .record-label{width:78%;height:78%;padding:4%;font-size:4.5cqw}.event .record-label h2,.flip-record .record-label h2{font-size:8.2cqw;margin:1.8cqw 0}.event .record-side,.flip-record .record-side,.party-record .record-side{font-size:2cqw;letter-spacing:.28cqw;margin-bottom:1.5cqw}.event .label-kicker,.flip-record .label-kicker,.party-record .label-kicker{font-size:4.3cqw}.event .record-time,.flip-record .record-time,.party-record .record-time{font-size:4.5cqw}.event .record-label p,.flip-record .record-label p,.party-record .record-label p{margin:1cqw 0}.event .record-label hr,.flip-record .record-label hr,.party-record .record-label hr{margin:1.2cqw 0}.event .record-label strong,.flip-record .record-label strong{font-size:5cqw}.event .label-note,.flip-record .label-note,.party-record .label-note{font-size:4cqw;margin-top:1.2cqw}.party-record .record-label .party-title{font-size:11cqw;margin:2.5cqw 0}
@media(min-width:1100px) and (min-height:850px){.album-stage{width:420px;margin:30px auto}.cover-title .red{font-size:47px}.cover-title strong{font-size:35px}}
@media(max-width:360px){.mast-title{font-size:8px;letter-spacing:.3px}.brand img{width:48px}}

/* Accueil en une page : sa hauteur s’adapte à la fenêtre, sans panneaux fixes. */
body{min-height:100svh;display:flex;flex-direction:column}
main{flex:1;display:flex;flex-direction:column}
.masthead{height:76px;flex-shrink:0}
.player-controls{position:relative;inset:auto;flex-shrink:0}
.arrival{min-height:0;padding:16px 24px 20px;overflow:clip}
.arrival h1{font-size:clamp(26px,3vw,36px)}
.arrival .eyebrow{margin-bottom:10px}
.album-stage{width:min(410px,74vw,max(130px,calc(100svh - 440px)));max-width:none;margin:22px auto;container-type:inline-size}
.cover-open{position:absolute;inset:0;z-index:5;border:0;padding:0;background:transparent;border-radius:0;cursor:pointer}
.cover-open:focus-visible{outline:2px solid var(--gold);outline-offset:10px}
.album-stage .cover-title .red{font-size:11.2cqw}
.album-stage .cover-title strong{font-size:12cqw}
.album-stage .hebrew{font-size:7cqw}
.album-stage .spine{font-size:2.7cqw;letter-spacing:.7cqw}
.album-stage .sleeve-top{font-size:1.9cqw;letter-spacing:.28cqw}
.album-stage .sleeve-bottom{font-size:1.6cqw;letter-spacing:.19cqw}
.sound-hint{margin:12px 0 16px}
.audio-status{bottom:12px}
@media(max-width:600px){
 .masthead{height:64px}
 .arrival{padding:14px 20px 18px}
 .album-stage{width:min(76vw,max(130px,calc(100svh - 370px)));margin:20px auto}
}
@media(max-height:540px){
 .masthead{height:52px}
 .arrival{padding-top:10px}
 .arrival h1{font-size:23px}
 .arrival .eyebrow{font-size:9px;margin-bottom:6px}
 .album-stage{margin:14px auto;width:min(52vw,max(100px,calc(100svh - 300px)))}
 .sound-hint,.arrival-footer,.open-button small{display:none}
 .open-button{font-size:22px}
 .play-symbol{width:44px;height:44px}
 .player-controls{padding:8px}
}

/* Rapprocher les traits de la cursive fournie pour un lettrage plus lié. */
.cover-title .red,
.cover-title strong,
.record-name,
.family-copy h2,
.party-record .record-label .party-title,
.ticket-header h3,
.cinema-ticket h2{
 font-kerning:normal;
 font-variant-ligatures:common-ligatures contextual;
 font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
 letter-spacing:-.055em;
}
.cover-title .red{letter-spacing:-.09em}

.cover-title .script-join{display:inline-block;margin-left:-.27em}

.scene-navigation{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:8px 0}
.scene-navigation button{min-height:44px;margin:0;padding:10px 14px;font-size:14px}
.scene-previous{color:var(--muted);background:none;border:1px solid #c4a36a55;border-radius:3px}
.scene-previous:hover{color:var(--paper);border-color:var(--gold)}
@media(max-width:400px){.scene-navigation{gap:8px}.scene-navigation button{font-size:13px;padding:10px}}

.scene-playback{color:var(--gold);background:transparent;border:1px solid #c4a36a55;border-radius:3px;min-width:100px}
.scene-playback:hover,.autoplay-paused .scene-playback{border-color:var(--gold);background:#c4a36a12}
.scene-playback span{display:inline-block;margin-right:5px}
/* En revenant à une étape, présenter son contenu sans refaire la transition. */
.autoplay-paused .spin-record,.autoplay-paused .flip-record,.autoplay-paused .roll-record,.autoplay-paused .cinema-ticket,.autoplay-paused .extract-disc{animation:none}
.autoplay-paused .extract-sleeve{animation:none}

/* Même taille du prénom sur la pochette pendant son ouverture. */
.extract-sleeve{container-type:inline-size}
.extract-sleeve .cover-title strong{font-size:12cqw}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Centrer le bloc d’accueil dans l’espace entre l’en-tête et les commandes. */
.arrival{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-block:24px}
.arrival> :not(.visually-hidden){flex-shrink:0}
.arrival-heading{width:100%}

/* Laisser respirer la pochette entre le titre et le bouton d’ouverture. */
.album-stage{margin-block:clamp(38px,5.5svh,60px)}
@media(max-height:650px){.album-stage{margin-block:28px}}

/* Compenser les marges transparentes de la silhouette retouchée. */
.dancer{transform-origin:top left;transform:translate(-.5%,-13%) scale(1.055,1.178);mix-blend-mode:multiply}

/* Une ambiance champagne, lumineuse et chaleureuse autour du vinyle. */
:root{--background:#e8ddc9;--ink:#43372c;--gold:#886631;--muted:#756652}
body{background:var(--background);color:var(--ink)}
.masthead{background:transparent;border-color:#88663130}
.arrival,.cinema{background:radial-gradient(ellipse at 50% 40%,#fffaf0 0,transparent 72%)}
.open-button,.family-copy h2{color:var(--ink)}
.player-controls{background:#e8ddc9ed;border-color:#88663130}
.player-controls button{color:var(--muted)}
.audio-status{background:#f2ede2f5;color:var(--ink);box-shadow:0 4px 20px #43372c18}
.sleeve,.extract-sleeve{box-shadow:0 18px 45px #57442e30,inset 4px 0 7px #57442e12}
.peek-record{box-shadow:12px 10px 30px #57442e35}
.record{box-shadow:0 20px 45px #57442e30,inset 0 0 0 9px #131313}
.record-ring{fill:#c4a36a}
.events{background:#dfd1b9;border-color:#88663130}
.intro-section h1 em,.grandparents em,.memorial,.event-links a,
.breakfast>span,.rsvp-lead,.site-footer p,.site-footer>span,.scene-caption{color:var(--muted)}
.ticket{box-shadow:0 16px 50px #57442e25}
.ticket-header:before,.ticket-header:after{background:var(--background)}
.scene-previous:hover{color:var(--ink)}
.progress i{background:#bfb097}
.progress i.active{background:var(--gold)}

/* Donner plus de présence aux trois inscriptions de la pochette. */
.cover-title{top:14%;left:36%;right:8%}
.album-stage .cover-title .red,.extract-sleeve .cover-title .red{font-size:13cqw}
.album-stage .cover-title strong,.extract-sleeve .cover-title strong{font-size:14cqw;margin-top:12%}
.album-stage .cover-title .hebrew,.extract-sleeve .cover-title .hebrew{font-size:9cqw}
.brand img,.site-footer img,.record-logo{filter:brightness(.57) saturate(1.25)}
.cover-title .script-join{margin-left:-.22em}

/* Trou traversant : le fond reste visible au centre de chaque vinyle. */
.record,.peek-record{
 -webkit-mask-image:radial-gradient(circle closest-side,transparent 3.7%,#000 4%);
 mask-image:radial-gradient(circle closest-side,transparent 3.7%,#000 4%);
}
.spindle-rim{
 position:absolute;left:50%;top:50%;width:4.8%;aspect-ratio:1;
 transform:translate(-50%,-50%);border:clamp(1px,.4cqw,2px) solid #4b3d2d;border-radius:50%;
 box-shadow:0 1px 1px #fff9,0 0 2px #4b3d2d45,inset 0 1px 2px #0008;pointer-events:none;
}
/* Réserver le centre aux alentours du trou, avec le texte au-dessus et au-dessous. */
.record-label{position:relative;display:block;width:74%;height:74%;padding:0}
.label-top,.label-bottom{position:absolute;left:7%;right:7%;text-align:center}
.label-top{bottom:calc(50% + 3.5cqw)}
.label-bottom{top:calc(50% + 3.5cqw)}
.record .record-side{display:block;font-size:1.9cqw;letter-spacing:.25cqw;margin-bottom:1.7cqw}
.record .record-logo{display:block;width:49%;margin:0 auto 2cqw}
.record .record-intro{font-size:4.6cqw}
.record .record-name{font-size:10cqw!important;margin:0!important}
.record .belange{font-size:2.2cqw;letter-spacing:.8cqw;margin:1cqw 0!important}
.record .hebrew{display:block;font-size:7cqw;line-height:1.2;margin-top:1.5cqw}
.record .label-date{display:block;font-size:1.9cqw;letter-spacing:.2cqw;margin-top:1.5cqw}
.record .label-top h2{margin-bottom:0}
.record .label-bottom .record-time{margin-top:0;margin-bottom:2cqw}
.record .label-bottom .label-note{display:block}
.party-record .record-label .party-title{font-size:10cqw;margin:1.5cqw 0 0}

/* La pochette se range derrière le disque après sa sortie. */
.extraction{isolation:isolate}
.extract-disc{z-index:3;transform:translateX(0);animation-timing-function:cubic-bezier(.45,0,.25,1)}
.extract-sleeve{z-index:1;opacity:1;transform:translate(-7%,-2%) rotate(-9deg) scale(.9);animation-timing-function:cubic-bezier(.45,0,.25,1)}
@media(max-width:600px){.extraction{width:76%}}

/* Une petite étiquette centrale laisse davantage de place aux sillons du vinyle. */
.record .record-label{width:74%;height:74%;padding:0;transform:scale(.76);transform-origin:center}
.record .label-top{bottom:calc(50% + 4cqw)}
.record .label-bottom{top:calc(50% + 4cqw)}
.record .label-bottom{line-height:1.15}
.record .label-bottom p{margin:.7cqw 0}
.record .label-bottom .record-time{margin-top:0;margin-bottom:1.2cqw}
.record .label-bottom .hebrew{margin-top:1cqw}
.record .label-bottom .label-date{margin-top:1cqw}

/* Lettrage vectoriel rouge inspiré du logo BAD, réservé à la pochette. */
.cover-lettering{display:block;width:100%;height:auto;overflow:visible;transform:rotate(20deg) scale(.9);transform-origin:center}

/* Relier le S au a et donner plus de présence au prénom. */
.album-stage .cover-title .cover-name,.extract-sleeve .cover-title .cover-name{font-size:18cqw;white-space:nowrap}
.name-join{display:inline-block;margin-left:-.18em}

/* Sur téléphone, privilégier la lecture sans perdre la couronne de sillons. */
@media(max-width:600px){
 .intro-section{padding-inline:16px}
 .events{padding-inline:16px}
 .cinema{padding-inline:14px}
 #cinema-content{width:min(520px,calc(100vw - 28px))}
 .extraction{width:92%}
 .record-ring{font-size:18px;letter-spacing:1.2px;fill:#e0bd7e}
 .record .record-label{width:66%;height:66%;transform:none}
 .record .label-top,.record .label-bottom{left:5%;right:5%}
 .record .label-top{bottom:calc(50% + 3.5cqw)}
 .record .label-bottom{top:calc(50% + 3.5cqw);line-height:1.1}
 .record .record-side{font-size:max(9px,2.6cqw);letter-spacing:.1cqw;margin-bottom:1cqw}
 .record .record-logo{width:40%;margin-bottom:1cqw}
 .record .record-intro{font-size:5.5cqw;line-height:1.1}
 .record .record-name{font-size:10cqw!important;line-height:1!important}
 .record .belange{font-size:max(10px,3cqw);letter-spacing:.5cqw;margin:.7cqw 0!important}
 .record .label-bottom .hebrew{font-size:7.2cqw;line-height:1.1;margin-top:.7cqw}
 .record .label-bottom .label-date{font-size:max(10px,2.9cqw);line-height:1.1;letter-spacing:0;margin-top:1cqw}
 .record .label-kicker{font-size:4.1cqw;line-height:1.1}
 .record .record-label h2{font-size:7.6cqw;margin:1.5cqw 0 0;line-height:1}
 .record.party-record .record-label .party-title{font-size:9.5cqw;line-height:.9;margin-top:1.2cqw}
 .record .record-time{font-size:4.1cqw;line-height:1.1}
 .record .record-label strong{font-size:4.8cqw;line-height:1.1}
 .record .label-bottom p{font-size:4.3cqw;margin:1cqw 0;line-height:1.1}
 .record .label-bottom .record-time{font-size:4.1cqw;margin:0 0 1cqw}
 .record .label-bottom .label-note{font-size:3.7cqw;line-height:1.1;margin-top:1cqw}
 .event-links a{font-size:14px}
}
@media(max-width:600px){
 .record .label-bottom .belange{font-size:max(10px,3cqw);line-height:1.1}
 .record .label-bottom .label-date{margin-top:.7cqw}
}
@media(max-width:600px){
 .record .record-side{font-size:10px}
 .record .label-bottom .belange{font-size:12px;margin:.3cqw 0!important;letter-spacing:.3cqw}
 .record .label-bottom .hebrew{margin-top:.2cqw}
 .record .label-bottom .label-date{font-size:12px;letter-spacing:-.2px;margin-top:.4cqw;font-weight:500}
}
.mobile-record-date{display:none}
@media(max-width:600px){
 .record .identity-side,.record .label-bottom .label-date{display:none}
 .record .mobile-record-date{display:block;font:500 12px/1.2 var(--sans);margin:1cqw 0 2cqw;letter-spacing:-.2px}
}
@media(max-width:600px){
 .record-ring{font-size:20px;letter-spacing:1px}
 .record .record-side{display:none}
}

/* Composition du croquis : textes dans le noir, logo seul sur l’étiquette. */
.record.identity-record .record-label{width:36%;height:36%;padding:0;transform:none}
.record.identity-record .record-logo{position:absolute;top:50%;left:50%;width:100%;height:auto;margin:0;transform:translate(-50%,-50%);filter:brightness(.57) saturate(1.25)}
.identity-heading{position:absolute;left:18%;right:18%;bottom:70%;color:var(--paper);text-align:center}
.identity-heading p{font:500 6.4cqw/1 var(--serif);margin:0}
.identity-heading h2{font:normal 12.5cqw/.9 Thriller,Impact,sans-serif;letter-spacing:-.055em;margin:.5cqw 0 .6cqw;white-space:nowrap}
.identity-heading .identity-surname{font:500 4.8cqw/1 var(--sans);letter-spacing:.5cqw}
.record.identity-record .identity-hebrew{position:absolute;top:69%;left:18%;right:18%;text-align:center;color:var(--paper);font:500 8cqw/1.15 'Frank Ruhl Libre',serif}

/* L’annonce se lit à plat, en dehors du disque. */
.invitation-announcement{max-width:46ch;margin:26px auto 0;color:var(--gold);font:500 clamp(19px,2.2vw,25px)/1.35 var(--serif);text-align:center}
.scene-announcement{margin:0 auto 28px}

/* Icônes vectorielles et boutons identiques sur Safari iOS. */
button{-webkit-appearance:none;appearance:none}
.play-symbol{flex-shrink:0}
.play-symbol svg{display:block;width:24px;height:24px;fill:currentColor}
.play-icon{width:14px;height:14px;fill:currentColor;vertical-align:-2px;margin-right:5px}
.cover-open:focus:not(:focus-visible),#arrival-title:focus{outline:none}
