:root{--bg: #0a0806;--brass: #c8a96e;--text: #f2ead9}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;background:var(--bg);color:var(--text);font-family:Geist Mono,monospace;overflow-x:hidden}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block;z-index:1}#scroll-space{height:3200vh}#flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;background:#fff;opacity:0;pointer-events:none}body.idle,body.idle #scene{cursor:none}#fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;background:#000;opacity:0;pointer-events:none}#clip-cap{position:fixed;left:6vw;bottom:14vh;z-index:3;display:flex;flex-direction:column;gap:.4rem;opacity:0;transition:opacity .6s ease;pointer-events:none}#clip-cap.on{opacity:1}#clip-cap h2{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(2.4rem,6vw,4.5rem);color:var(--text);line-height:1}.cap-tag{color:var(--brass);letter-spacing:.3em;font-size:.7rem;text-transform:uppercase}.cap-sub{color:var(--brass);opacity:.8;font-size:.8rem;letter-spacing:.2em}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;background:var(--bg);transition:opacity .8s ease}#loader.done{opacity:0;pointer-events:none}.loader-brand{font-family:"Instrument Serif",serif;font-style:italic;font-size:2rem;letter-spacing:.15em;color:var(--brass)}.loader-bar{width:220px;height:2px;background:#f2ead926;overflow:hidden}.loader-bar span{display:block;height:100%;width:0%;background:var(--brass);transition:width .2s ease}.loader-pct{font-size:.72rem;letter-spacing:.3em;opacity:.6}#fallback[hidden]{display:none}#fallback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem;background:linear-gradient(#0a0806d1,#0a0806ed),url(/images/coupes/coupe1.jpg) center / cover no-repeat,var(--bg)}#fallback h1{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(2rem,6vw,3.5rem);color:var(--brass)}#fallback a{margin-top:1rem;padding:.8rem 2rem;border:1px solid var(--brass);color:var(--text);text-decoration:none;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}.scene-text{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;padding:clamp(1.5rem,5vw,5rem);pointer-events:none;opacity:0;transition:opacity .9s ease;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 22px rgba(0,0,0,.55)}.scene-text.on{opacity:1}.scene-text.hero{justify-content:center;align-items:center}.scene-text.services{justify-content:flex-start;align-items:center}.scene-text.salon{justify-content:flex-end;align-items:center}.scene-text.savoir,.scene-text.etabli{justify-content:flex-start;align-items:center}.scene-text.reviews{flex-direction:column;justify-content:center;align-items:flex-end;gap:.8rem;padding-right:clamp(1.5rem,5vw,5rem)}.reviews-eyebrow{color:var(--brass);align-self:flex-end}.reviews-deck{width:clamp(15rem,24vw,20rem);height:min(60vh,28rem);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent)}.reviews-marquee{display:flex;flex-direction:column;animation:reviewsScrollV 26s linear infinite}.reviews-deck:hover .reviews-marquee{animation-play-state:paused}@keyframes reviewsScrollV{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.review-card{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.7rem;padding:1rem 1.2rem;border-radius:.7rem;border:1px solid rgba(120,113,108,.4);border-left:2px solid var(--brass);background:#120f0bb8;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);text-align:left;box-shadow:0 8px 26px #0000006b}.review-q{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(1.1rem,1.5vw,1.32rem);line-height:1.35;color:var(--text)}.review-q:before{content:"“"}.review-q:after{content:"”"}.review-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.review-stars{color:var(--brass);letter-spacing:.12em;font-size:.82rem}.review-name{font-family:Geist Mono,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#f2ead9c7}@media(max-width:820px){.scene-text.reviews{align-items:center;justify-content:center;padding:0}.reviews-eyebrow{align-self:center}.reviews-deck{width:min(88vw,22rem);height:48vh}}.atelier-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;opacity:0;transition:opacity .5s ease;text-shadow:0 1px 3px rgba(0,0,0,.92),0 2px 24px rgba(0,0,0,.55)}.afx-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(6rem,24vw,22rem);line-height:1;letter-spacing:.02em;white-space:nowrap;color:#c8a96e17;text-shadow:none;opacity:0;will-change:transform,opacity}.afx-title{position:absolute;top:clamp(9%,15vh,20%);left:clamp(1.5rem,5vw,5rem);max-width:62%;margin:0;font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:clamp(3rem,8.5vw,7.5rem);line-height:.98;color:#f4ecdc}.afx-letter{display:inline-block;opacity:0;will-change:transform,opacity}.afx-sigs{position:absolute;top:49%;left:clamp(1.5rem,5vw,5rem);width:55%}.afx-sig{position:absolute;margin:0;font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(1.6rem,4.4vw,3.4rem);line-height:1.12;color:#efe6d4;opacity:0;will-change:transform,opacity}.afx-stats{position:absolute;bottom:clamp(9%,13vh,17%);left:clamp(1.5rem,5vw,5rem);display:flex;gap:clamp(1.4rem,4vw,3.5rem);opacity:0;will-change:transform,opacity}.afx-stat{display:flex;flex-direction:column;gap:.25rem}.afx-num{font-family:Geist Mono,monospace;font-weight:500;font-size:clamp(1.7rem,4vw,3rem);letter-spacing:-.02em;color:var(--brass);font-variant-numeric:tabular-nums}.afx-label{font-family:Geist Mono,monospace;font-size:clamp(.58rem,1.1vw,.78rem);letter-spacing:.2em;text-transform:uppercase;color:#efe6d4b8}@media(max-width:820px){.afx-title{max-width:88%;font-size:clamp(2.6rem,13vw,4rem);top:12vh}.afx-sigs{width:80%;top:44%}.afx-sig{font-size:clamp(1.4rem,7vw,2.2rem);white-space:normal}.afx-stats{flex-direction:column;gap:.9rem;bottom:16vh}.afx-watermark{font-size:clamp(4.5rem,34vw,12rem)}}.scene-text.reservation{justify-content:center;align-items:center}.st-inner{position:relative;max-width:34rem;display:flex;flex-direction:column;gap:1.1rem;transform:translateY(20px);transition:transform 1.1s cubic-bezier(.16,.84,.3,1)}.scene-text.on .st-inner{transform:translateY(0)}.scene-text.hero .st-inner{align-items:center;text-align:center}.scene-text.salon .st-inner{align-items:flex-end;text-align:right}.scene-text.final3{padding:clamp(1rem,3vw,2.5rem)}.final3-grid{width:100%;height:100%;display:grid;grid-template-columns:32% 1fr 28%;align-items:stretch;gap:clamp(1rem,2.5vw,2.5rem)}.col-gallery{min-width:0;height:100%;display:flex;flex-direction:column;gap:1rem;overflow:hidden}.col-gallery>.eyebrow{flex:0 0 auto;padding-left:.2rem}.col-clipper{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;gap:.3rem;padding-bottom:3vh}.col-clipper .cap-tag{color:var(--brass);font-family:Geist Mono,monospace;letter-spacing:.3em;font-size:.7rem;text-transform:uppercase}.col-clipper .title{font-size:clamp(1.8rem,3.5vw,3rem)}.clip-desc{font-family:Geist Mono,monospace;font-size:clamp(.72rem,1.05vw,.86rem);line-height:1.7;color:#f2ead9cc;max-width:24rem;margin-top:.5rem;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 22px rgba(0,0,0,.6)}.col-reservation{display:flex;align-items:center;justify-content:flex-end}.col-reservation .st-inner{align-items:flex-start;text-align:left;max-width:22rem}.coupe-carousel{flex:1 1 auto;width:100%;min-height:0;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}.carousel-track{display:flex;flex-direction:column;align-items:flex-start;height:max-content;animation:coupeMarquee 34s linear infinite}.coupe-carousel:hover .carousel-track{animation-play-state:paused}.carousel-track img{flex:0 0 auto;width:66%;height:auto;aspect-ratio:2 / 3;object-fit:cover;margin-bottom:1.6rem;border-radius:8px;border:1px solid rgba(200,169,110,.28);box-shadow:0 10px 26px #0000008c;filter:brightness(.85) sepia(.12) contrast(1.05);transition:transform .45s cubic-bezier(.16,.84,.3,1),filter .45s ease,box-shadow .45s ease;pointer-events:none}.carousel-track img:nth-child(odd){align-self:flex-start}.carousel-track img:nth-child(2n){align-self:flex-end}.scene-text.final3.on .carousel-track img{pointer-events:auto}.carousel-track img:hover{transform:scale(1.05);filter:brightness(1.08) sepia(.05) contrast(1.04);box-shadow:0 16px 38px #0000009e}@keyframes coupeMarquee{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.carousel-track{animation:none}}@keyframes coupeMarqueeH{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:820px){.final3-grid{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;align-content:stretch;gap:.6rem}.col-gallery{height:auto;overflow:hidden}.coupe-carousel{-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.carousel-track{flex-direction:row;align-items:center;height:auto;width:max-content;animation-name:coupeMarqueeH}.carousel-track img,.carousel-track img:nth-child(odd),.carousel-track img:nth-child(2n){width:auto;height:22vh;margin:0 .7rem 0 0;align-self:center}.coupe-carousel.touch-pause .carousel-track{animation-play-state:paused}.col-clipper{display:flex;justify-content:flex-end;padding-bottom:1vh}.col-clipper .title{font-size:clamp(1.6rem,7vw,2.4rem)}.col-reservation{justify-content:center}.col-reservation .st-inner{align-items:center;text-align:center;max-width:92%}}.st-inner:before{content:"";position:absolute;top:-6%;right:-10%;bottom:-6%;left:-10%;z-index:-1;background:radial-gradient(58% 72% at 50% 50%,#0a080680,#0a080600 72%);pointer-events:none}.eyebrow{font-family:Geist Mono,monospace;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass)}.title{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;color:var(--text);line-height:1}.scene-text.hero .title{font-size:clamp(3rem,11vw,8rem)}.scene-text.services .title,.scene-text.salon .title,.scene-text.reservation .title{font-size:clamp(2.2rem,6vw,4rem)}.subtitle{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(1.1rem,2.4vw,1.7rem);color:var(--brass)}.scroll-hint{margin-top:1.4rem;font-family:Geist Mono,monospace;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:#f2ead980;animation:hintPulse 2.4s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.35}50%{opacity:.8}}.body-text{font-family:Geist Mono,monospace;font-size:clamp(.82rem,1.3vw,.95rem);line-height:1.75;color:#f2ead9d1;max-width:30rem}.price-list{list-style:none;display:flex;flex-direction:column;gap:.95rem;font-family:Geist Mono,monospace;width:min(26rem,70vw)}.price-list li{display:flex;align-items:baseline;gap:.9rem;font-size:clamp(.95rem,1.6vw,1.15rem)}.p-name{color:var(--text)}.p-lead{flex:1;border-bottom:1px dotted rgba(200,169,110,.45);transform:translateY(-.25rem)}.p-price{color:var(--brass);letter-spacing:.04em}.info{display:flex;flex-direction:column;gap:1rem;font-family:Geist Mono,monospace}.info dt{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);opacity:.8;margin-bottom:.28rem}.info dd{font-size:.92rem;color:var(--text);line-height:1.5}.book-btn,.book-fixed{font-family:Geist Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.9rem;border:1px solid var(--brass);border-radius:2px;pointer-events:auto;transition:background .3s ease,color .3s ease}.book-btn{margin-top:.6rem;background:var(--brass);color:var(--bg)}.book-btn:hover{background:transparent;color:var(--brass)}.book-fixed{position:fixed;top:calc(clamp(.8rem,2.5vw,1.8rem) + env(safe-area-inset-top,0px));right:calc(clamp(.8rem,2.5vw,1.8rem) + env(safe-area-inset-right,0px));z-index:8;color:var(--brass);background:#0a080652;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.book-fixed:hover{background:var(--brass);color:var(--bg)}.scene-text.site-footer{align-items:flex-end;justify-content:center;padding:0}.foot-inner{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;padding:1.2rem clamp(1.5rem,5vw,5rem);padding-bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));font-family:Geist Mono,monospace;font-size:.62rem;letter-spacing:.1em;color:#f2ead99e}.foot-inner .credit{color:var(--brass);opacity:.75}.coupe-title{position:relative;width:fit-content;max-width:100%}.scene-text.on .title,#clip-cap.on h2{pointer-events:auto}.coupe-word{display:inline-block;white-space:nowrap}.coupe-letter{display:inline-block;will-change:transform}.coupe-blade{position:absolute;left:0;right:0;top:54%;height:2px;border-radius:2px;transform:scaleX(0);opacity:0;pointer-events:none;background:linear-gradient(90deg,#c8a96e00,#c8a96e 15%,#fff2dc,#c8a96e 85%,#c8a96e00);box-shadow:0 0 10px #c8a96ed9,0 0 3px #fff2dce6}.coupe-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:#c8a96e;box-shadow:0 0 6px #c8a96ecc;pointer-events:none;z-index:2}@media(max-width:640px){.scene-text.services,.scene-text.salon,.scene-text.reservation{justify-content:center}.scene-text.reservation .st-inner{align-items:center;text-align:center}.foot-inner{justify-content:center;text-align:center}}@media(max-width:820px){.scene-text.hero .title{font-size:clamp(3.6rem,16vw,5.2rem)}.scene-text.services .title,.scene-text.salon .title,.scene-text.savoir .title,.scene-text.etabli .title{font-size:clamp(2.8rem,11vw,3.8rem)}.subtitle{font-size:clamp(1.35rem,5.5vw,1.9rem)}.eyebrow{font-size:.84rem}.body-text{font-size:1.08rem;line-height:1.8;max-width:26rem}.price-list li{font-size:1.25rem}.clip-desc{font-size:1rem;line-height:1.75;max-width:88%}.info dt{font-size:.74rem}.info dd{font-size:1.08rem;line-height:1.55}.book-btn{font-size:.9rem}}
