*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none !important}:root{--black:#0d0d0d;--white:#f3f3f1;--s1:#141414;--s2:#1e1e1d;--s3:#2c2c2b;--s4:#dfdedb;--s5:#ebeae7;--gray:#a4a4a1;--gray-mid:#71706d;--gray-light:#545452;--gray-line:#272726;--gray-line-light:#c1c0bd;--font-display:'Playfair Display',Georgia,'Times New Roman',serif;--font-sans:'Oswald','Helvetica Neue',Arial,system-ui,sans-serif;--ls-nav:0.18em;--ls-btn:0.22em;--ls-micro:0.26em}html{scroll-behavior:smooth;scroll-padding-top:58px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.pending{transition:none;opacity:1;transform:none}}body{background:var(--s1);color:var(--white);font-family:var(--font-display);font-weight:400;font-size:1rem;line-height:1.75;letter-spacing:0.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body.scroll-locked,body.nav-locked{overflow:hidden;touch-action:none}body.nav-dark{background:var(--black)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gray);outline-offset:3px;border-radius:2px}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1rem 4rem;background:var(--black);border-bottom:1px solid var(--s3);transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.nav-logo{font-family:var(--font-display);font-size:1.15rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--white);text-decoration:none}.nav-links{display:flex;gap:3rem;list-style:none}.nav-links a,.nav-mobile a,.nav-back{color:var(--gray);text-decoration:none;font-family:var(--font-sans);font-weight:400;font-size:0.72rem;letter-spacing:var(--ls-nav);text-transform:uppercase;transition:color 0.25s ease;position:relative}.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--white);transform:scaleX(0);transform-origin:center;transition:transform 0.3s cubic-bezier(0.25,1,0.4,1)}.nav-links a:hover::after{transform:scaleX(1)}.nav-links a:hover,.nav-mobile a:hover,.nav-back:hover{color:var(--white)}.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px 8px}.nav-burger span{display:block;width:22px;height:1px;background:var(--white);transition:transform 0.3s,opacity 0.3s}.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--black);z-index:99;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0.5rem;padding:5rem 2rem 2rem;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 0.45s cubic-bezier(0.4,0,0.2,1),visibility 0s 0.45s}.nav-mobile.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 0.45s cubic-bezier(0.4,0,0.2,1),visibility 0s 0s}.nav-mobile a{padding:1rem 2rem;font-size:1rem;letter-spacing:var(--ls-micro);font-weight:500;border-bottom:none}#hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:60px;background:linear-gradient(170deg,var(--black) 0%,var(--s2) 100%)}.hero-content{position:relative;z-index:2;padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-badge{display:inline-block;margin:0 auto 3rem;opacity:0;animation:fade-up 1.3s 0.3s forwards}.hero-logo{width:280px;height:auto;display:block}.hero-tagline{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.05rem,2.2vw,1.25rem);letter-spacing:0.03em;line-height:1.65;color:var(--white);margin-bottom:3rem;opacity:0;animation:fade-up 1.3s 0.6s forwards}#hero .divider-vintage{margin:0 auto 3rem;opacity:0;animation:fade-up 1.3s 0.8s forwards}.hero-cta{display:inline-block;padding:1rem 3rem;border:1px solid var(--white);color:var(--white);text-decoration:none;font-family:var(--font-sans);font-size:0.8rem;letter-spacing:var(--ls-btn);text-transform:uppercase;font-weight:500;transition:background 0.25s ease,border-color 0.25s ease,color 0.25s ease;opacity:0;animation:fade-up 1.3s 1s forwards}.hero-cta:hover{background:var(--white);color:var(--black);border-color:var(--white)}.scroll-indicator{position:absolute;bottom:2.5rem;left:0;right:0;margin:0 auto;width:fit-content;opacity:0;animation:fade-up 1.3s 1.4s forwards;transition:opacity 0.4s ease,transform 0.4s ease;pointer-events:none}.scroll-indicator.hidden{opacity:0 !important;transform:translateY(12px);animation:none}.scroll-chevron{width:30px;animation:bounce-down 2s ease-in-out infinite}.scroll-chevron path{stroke:var(--gray)}@keyframes bounce-down{0%,100%{transform:translateY(0);opacity:0.4}50%{transform:translateY(7px);opacity:1}}section{padding:9rem 0}.container{max-width:1100px;margin:0 auto;padding:0 4rem}.section-title{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3rem);font-weight:400;line-height:1.08;color:var(--white);letter-spacing:0.01em}.section-title em{font-style:italic;color:var(--gray)}#concept .section-title,#concept .section-title em,#carte .section-title em,#reservation .section-title em,#social .section-title em{color:var(--gray-light)}.divider-vintage-line,.divider-vintage-ornament{background:var(--gray)}.divider-vintage--dark .divider-vintage-line,.divider-vintage--dark .divider-vintage-ornament{background:var(--gray-light)}.divider-vintage{display:flex;align-items:center;gap:1rem;margin:2rem 0 3rem;width:fit-content}.divider-vintage-line{height:1px;width:80px}.divider-vintage-ornament{display:block;width:5px;height:5px;transform:rotate(45deg);flex-shrink:0}.hero--event{background:linear-gradient(170deg,#080808 0%,var(--s2) 100%)}.event-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gray);animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0;margin-right:0.7rem}.event-sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:0.5;margin:0 0.7em;flex-shrink:0}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.55;transform:scale(0.8)}}.hero--event .hero-badge{margin-bottom:1.8rem}.hero--event .hero-logo{width:200px}.event-meta-line{display:flex;align-items:center;justify-content:center;gap:0;font-family:var(--font-sans);font-weight:500;font-size:1.1rem;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--white);margin-bottom:1.4rem;opacity:0;animation:fade-up 1.3s 0.6s forwards}.event-hero-title{font-family:var(--font-display);font-size:clamp(1.9rem,5vw,3.2rem);font-weight:400;font-style:italic;line-height:1.12;letter-spacing:0.01em;color:var(--white);margin-bottom:0.8rem;opacity:0;animation:fade-up 1.3s 0.8s forwards}.hero--event .hero-tagline{font-size:clamp(1rem,2vw,1.15rem);margin-bottom:0;opacity:0;animation:fade-up 1.3s 0.9s forwards}.hero-event-ctas{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem;opacity:0;animation:fade-up 1.3s 1s forwards}button.hero-cta{background:transparent;cursor:pointer;font-family:var(--font-sans)}.hero-cta--ghost{border-color:var(--white);color:var(--white)}.hero-event-ctas .hero-cta{min-width:240px;text-align:center}#concept{background:var(--s4)}#concept .photo-strip-wrap{margin-top:3.7rem}.concept-grid{display:flex;justify-content:center}.concept-text{max-width:640px}.concept-text p strong,.social-desc strong{color:var(--black);font-weight:700;font-style:italic}#carte{background:var(--s5)}.carte-header{text-align:center;margin-bottom:4rem}.carte-header .divider-vintage,.menu-section-header .divider-vintage{margin:2rem auto 3rem}.menu-error{text-align:center;font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--gray);padding:2rem 0}.menu-list{max-width:700px;margin:0 auto}.menu-section-header{margin-top:5rem}.menu-list>.menu-section-header:first-child{margin-top:0}.menu-item{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:1rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--gray-line-light);overflow:hidden;--title-bottom:70px;--title-left:25px}.menu-section-header + .menu-item{border-top:1px solid var(--gray-line-light)}.menu-item.has-photo{height:var(--closed-h,auto);transition:height 750ms ease-in-out 70ms,opacity 1.4s cubic-bezier(0.25,1,0.4,1),transform 1.4s cubic-bezier(0.25,1,0.4,1)}.menu-item.has-photo.open{height:var(--photo-h);transition:height 750ms ease-in-out,opacity 1.4s cubic-bezier(0.25,1,0.4,1),transform 1.4s cubic-bezier(0.25,1,0.4,1)}.menu-item-left{position:relative;z-index:1;display:flex;flex-direction:column;gap:0.3rem;transform-origin:left top;will-change:transform;transition:transform 820ms ease-in-out}.menu-item.has-photo.open .menu-item-left{transform:translate(var(--title-left),calc(var(--photo-h) - var(--title-bottom))) scale(1.2)}.menu-item-price,.menu-item-ingredients{transition:opacity 400ms ease-in-out 420ms}.menu-item.open .menu-item-price,.menu-item.open .menu-item-ingredients{opacity:0;transition:opacity 400ms ease-in-out}.menu-item-price{position:relative;z-index:1;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:0.02em;color:var(--black);white-space:nowrap}.menu-item-ingredients{font-family:var(--font-display);font-style:italic;font-size:0.95rem;font-weight:500;letter-spacing:0.015em;color:#3a3936;line-height:1.65}.menu-item-name{font-family:var(--font-sans);font-size:1rem;font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--black);display:inline-flex;align-items:center;transition:letter-spacing 820ms ease-in-out,color 820ms ease-in-out}.menu-item.open .menu-item-name{letter-spacing:0.3em;color:var(--white)}.menu-item.has-photo{cursor:pointer}.menu-item.has-photo:not(.open):not(.closing):hover .menu-item-name{color:var(--gray-light);transition:color 0.25s ease}.menu-item.has-photo:not(.open):not(.closing):hover .menu-item-dot{color:var(--black);transition:color 0.25s ease}.menu-item-dot{display:inline-block;width:28px;height:28px;margin-left:0.55rem;vertical-align:middle;border-radius:6px;object-fit:cover;box-shadow:0 1px 4px rgba(0,0,0,0.22);opacity:1;transition:opacity 400ms ease-in-out 420ms}.menu-item.has-photo.open .menu-item-dot{opacity:0;transition:opacity 400ms ease-in-out}.menu-item-photo-wrap{position:absolute;top:0;left:0;right:0;height:var(--photo-h,0px);z-index:0;opacity:0;transition:opacity 600ms ease-in-out 120ms;transform:translateZ(0);backface-visibility:hidden}.menu-item.open .menu-item-photo-wrap{opacity:1;transition:opacity 600ms ease-in-out 100ms}.menu-item-photo-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.05) 50%,transparent 100%)}.menu-item-photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}#ambiance{background:var(--s2)}.ambiance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:center}.ambiance-blocks{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.ambiance-block{background:var(--s1);padding:2.6rem 2.2rem;border:1px solid var(--s3);text-align:center;transition:border-color 0.3s ease,transform 0.3s ease}.ambiance-block:hover{border-color:var(--gray-mid);transform:translateY(-2px)}.ambiance-block svg{width:40px;height:40px;margin-bottom:1.4rem;stroke:var(--gray) !important}.ambiance-block h4{font-family:var(--font-sans);font-size:1rem;font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--white);margin-bottom:0.8rem}.ambiance-block p{font-family:var(--font-display);font-size:1.02rem;font-weight:400;letter-spacing:0.01em;color:var(--gray);line-height:1.7}.concept-text p,.ambiance-text p,.reservation-inner p{font-family:var(--font-display);font-size:1.1rem;font-weight:400;line-height:1.9;letter-spacing:0.01em}.concept-text p{color:var(--gray-light);margin-bottom:1.2rem}.concept-text p:last-child{margin-bottom:0}.ambiance-text{text-align:center}.ambiance-text p{color:var(--gray);margin-bottom:1.2rem}.ambiance-text p:last-child{margin-bottom:0}.ambiance-text .divider-vintage{margin-left:auto;margin-right:auto}.reservation-inner p{color:var(--gray-light);font-style:italic;font-size:1.15rem;margin-bottom:2.4rem}#reservation{background:var(--s5)}.reservation-ctas{display:flex;flex-direction:column;align-items:center;gap:1.8rem}.reservation-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.reservation-phone{font-family:var(--font-display);font-size:1.5rem;font-weight:500;letter-spacing:0.04em;color:var(--black);text-decoration:none;transition:color 0.2s}.reservation-phone:hover{color:var(--gray-light)}.concept-text,.infos-header,.reservation-inner,.social-inner{display:flex;flex-direction:column;align-items:center;text-align:center}.reservation-inner{max-width:600px;margin:0 auto}.btn-border{display:inline-block;text-decoration:none;padding:1.1rem 3.5rem;background:var(--black);color:var(--white);border:1px solid var(--black);font-family:var(--font-sans);font-size:0.8rem;letter-spacing:var(--ls-btn);text-transform:uppercase;font-weight:500;cursor:pointer;transition:background 0.25s ease,color 0.25s ease,border-color 0.25s ease}.btn-border:hover{background:transparent;color:var(--black);border-color:var(--black)}.btn-border--ghost{background:transparent;color:var(--black)}.btn-border--ghost:hover{background:var(--black);color:var(--white)}.resa-types{display:grid;grid-template-columns:repeat(3,1fr);gap:0.9rem;width:100%;margin:0 0 1.8rem}.resa-type{border:1px solid var(--gray-line-light);padding:1.5rem 0.9rem 1.4rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.55rem;text-decoration:none;color:inherit;cursor:pointer;transition:border-color 0.25s ease,background 0.25s ease,transform 0.25s ease}.resa-type:hover,.resa-type:focus-visible{border-color:var(--black);background:var(--s5);transform:translateY(-2px)}.resa-type:focus-visible{outline:2px solid var(--black);outline-offset:2px}.resa-type svg{width:28px;height:28px;stroke:var(--gray-light);transition:stroke 0.25s ease}.resa-type:hover svg,.resa-type:focus-visible svg{stroke:var(--black)}.resa-type-name{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--black);line-height:1.2}.resa-type-desc{font-family:var(--font-sans);font-size:0.6rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray-light);line-height:1.8}.formule-resume{width:100%;background:var(--s4);padding:2.4rem 1.8rem 2.6rem;margin:0 0 2.6rem;text-align:center}.formule-resume .formule-resume-label{font-family:var(--font-sans);font-style:normal;font-size:0.66rem;font-weight:500;letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--gray-light);margin:0 0 0.9rem}.formule-resume .formule-resume-price{font-family:var(--font-display);font-style:normal;font-size:2.9rem;font-weight:500;color:var(--black);line-height:1;margin:0}.formule-resume-price .cur{font-size:0.55em;font-weight:400;vertical-align:0.08em;margin-left:0.12em}.formule-resume-per{display:block;font-family:var(--font-display);font-style:italic;font-size:0.95rem;color:var(--gray-light);margin-top:0.7rem}.formule-resume-rule{width:56px;height:1px;background:var(--gray-line-light);margin:1.5rem auto}.formule-incl{display:flex;justify-content:center;gap:1.4rem}.formule-incl-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:0.7rem;max-width:150px}.formule-incl-item svg{width:32px;height:32px;stroke:var(--gray-light)}.formule-incl-item span{font-family:var(--font-display);font-size:0.95rem;color:var(--black);line-height:1.35}.formule-resume .formule-resume-alt{font-family:var(--font-display);font-style:italic;font-size:0.92rem;color:var(--gray-light);margin:1.9rem auto 0;padding-top:1.5rem;border-top:1px solid var(--gray-line-light);max-width:360px}.formule-resume-alt strong{font-style:normal;font-weight:500;color:var(--black)}#map{height:clamp(280px,42vh,440px);background:var(--s1);border-top:1px solid var(--s3);margin-top:5rem}.maplibregl-ctrl-group{border:1px solid var(--gray-line-light) !important;box-shadow:none !important}.maplibregl-ctrl-zoom-in,.maplibregl-ctrl-zoom-out{background:var(--black) !important;color:var(--white) !important;width:30px !important;height:30px !important}.maplibregl-ctrl-zoom-in:hover,.maplibregl-ctrl-zoom-out:hover{background:var(--gray-light) !important}.maplibregl-ctrl-zoom-in span,.maplibregl-ctrl-zoom-out span{filter:brightness(0) invert(1)}.maplibregl-ctrl-attrib{background:rgba(245,245,245,0.7) !important}.map-marker{width:16px;height:16px;background:var(--black);border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 4px rgba(13,13,13,0.15);position:relative}.map-marker::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--black);opacity:0.45;animation:map-pulse 2.4s ease-out infinite}@keyframes map-pulse{0%{transform:scale(0.6);opacity:0.55}100%{transform:scale(1.8);opacity:0}}#infos{background:var(--s1);padding-bottom:0}.infos-header{margin-bottom:4rem}.infos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;text-align:center}.info-block h3{font-family:var(--font-sans);font-size:1rem;font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--gray);margin-bottom:1.5rem}.info-block p,.info-block address{font-family:var(--font-display);font-size:1.05rem;font-weight:400;letter-spacing:0.01em;color:var(--white);line-height:2;font-style:normal}.info-block a{color:var(--white);text-decoration:none;transition:color 0.25s ease}.info-block a:hover{color:var(--gray)}.info-block .horaires-inline{font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:0.01em;line-height:1.95}.photo-strip-wrap{overflow:hidden;background:var(--s4);height:540px}.photo-strip{display:flex;gap:20px;width:max-content;will-change:transform}.photo-cell{width:340px;height:540px;overflow:hidden;flex-shrink:0;cursor:zoom-in;position:relative}.photo-cell::after{content:'';position:absolute;inset:0;background:rgba(14,12,10,0);transition:background 0.35s ease;pointer-events:none}.photo-cell:hover::after{background:rgba(14,12,10,0.18)}.photo-cell img{height:100%;width:640px;object-fit:cover;position:absolute;top:0;left:0;will-change:transform;transition:filter 0.35s ease}.photo-cell:hover img{filter:brightness(1.05) contrast(1.03)}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.92);display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:3rem 2rem;opacity:0;visibility:hidden;transition:opacity 0.25s ease,visibility 0.25s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:min(90vw,1200px);max-height:86vh;max-height:86dvh;object-fit:contain;display:block;cursor:default;opacity:0;transform:scale(0.96);transition:opacity 0.3s ease,transform 0.35s cubic-bezier(0.25,1,0.4,1);box-shadow:0 20px 60px rgba(0,0,0,0.6)}.lightbox img.ready{opacity:1;transform:scale(1)}.lightbox-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border:none;background:rgba(0,0,0,0.4);border-radius:50%;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease,transform 0.2s ease;padding:0}.lightbox-close:hover{background:rgba(245,245,245,0.15);transform:rotate(90deg)}.lightbox-close svg{width:20px;height:20px;display:block}.lightbox-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity 0.2s ease}.lightbox-loader.visible{opacity:1}.lightbox-loader span{width:36px;height:36px;border-radius:50%;border:2px solid rgba(245,245,245,0.2);border-top-color:var(--white);animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#social{background:var(--s5);padding:0}#social .container{display:flex;justify-content:center}#social .social-top{padding-top:6rem;padding-bottom:3rem}#social .social-top .divider-vintage{margin-bottom:0}#social .social-bottom{padding:0 2rem 6rem;text-align:center}.social-inner{max-width:640px}#concept .section-title,#carte .section-title,#reservation .section-title,#social .section-title{color:var(--black)}.social-desc{font-family:var(--font-display);font-size:1.15rem;font-style:italic;font-weight:400;letter-spacing:0.01em;color:var(--gray-light);line-height:1.9;margin-top:2rem}.social-links{display:inline-flex;justify-content:center;align-items:flex-end;gap:3.8rem;flex-wrap:wrap}.social-icon{display:flex;flex-direction:column;align-items:center;gap:0.7rem;width:96px;text-decoration:none;-webkit-tap-highlight-color:transparent}.social-icon-img{display:flex;align-items:center;justify-content:center;width:48px;height:48px;transition:transform 0.3s ease}.social-icon:hover .social-icon-img{transform:translateY(-6px)}.social-icon svg{width:48px;height:48px;display:block;fill:var(--black);transition:fill 0.25s}.social-icon:hover svg{fill:var(--gray-light)}.social-label{transition:color 0.25s ease}.social-icon:hover .social-label{color:var(--black)}.social-label{font-family:var(--font-sans);font-size:0.72rem;font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--gray-light)}.booking-page{background:var(--s4);min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);display:flex;align-items:flex-start;justify-content:center;padding:7rem 1.5rem 4rem}.booking-modal{padding:3.5rem;width:100%;max-width:680px;background:var(--s5);border:1px solid var(--gray-line-light)}.booking-modal-title,.booking-success h3{font-family:var(--font-display);font-weight:400;color:var(--black)}.booking-modal-title{font-size:clamp(2.2rem,4vw,3rem);line-height:1.08;letter-spacing:0.01em;text-align:center}.booking-modal-title em{font-style:italic;color:var(--gray-light)}.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;min-width:0}.booking-field{display:flex;flex-direction:column;gap:0.3rem;margin-bottom:2rem;min-width:0}.booking-field label{font-family:var(--font-sans);font-size:0.68rem;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--gray-light);font-weight:500}.booking-field input,.booking-field select,.booking-field textarea{background:transparent;border:none;border-bottom:1px solid var(--gray-line-light);color:var(--black);font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:0.01em;padding:0.55rem 0;outline:none;transition:border-bottom-color 0.2s;width:100%;border-radius:0}.booking-field input[type="date"],.booking-field input[type="time"]{-webkit-appearance:none;appearance:none;box-sizing:border-box;min-width:0;line-height:1;height:2.4rem}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-bottom-color:var(--black)}.booking-field input.field-invalid,.booking-field select.field-invalid,.booking-field textarea.field-invalid{border-bottom-color:#c0392b}.room-cal.field-invalid,.time-slots.field-invalid{outline:1.5px solid #c0392b;outline-offset:6px}.booking-field textarea{resize:vertical;min-height:80px}.booking-field select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23555' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.1rem center;padding-right:1.4rem}.booking-field select option{background:var(--white);color:var(--black)}.booking-field input::placeholder,.booking-field textarea::placeholder{color:var(--gray)}.booking-note{font-family:var(--font-display);font-size:0.85rem;font-style:italic;font-weight:400;letter-spacing:0.01em;color:var(--black);margin-bottom:2rem;line-height:1.7}.booking-error{background:#3a1a1a;border:1px solid #6b2b2b;color:#f5a0a0;font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:0.01em;padding:0.8rem 1rem;margin-bottom:1.5rem;line-height:1.6}.booking-submit{display:block;width:fit-content;margin:0 auto;cursor:pointer}.booking-submit:disabled{opacity:0.6;cursor:not-allowed}.booking-success{text-align:center;padding:2rem 0}.booking-success .btn-border{display:inline-block;margin-top:2rem}.booking-success svg{width:56px;height:56px;stroke:var(--gray-light);margin-bottom:1.5rem}.booking-success h3{font-size:1.9rem;line-height:1.2;letter-spacing:0.01em;margin-bottom:1rem}.booking-success p{font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:0.01em;color:var(--black);line-height:1.9}@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{transition:opacity 0.8s cubic-bezier(0.25,1,0.4,1),transform 0.8s cubic-bezier(0.25,1,0.4,1)}.reveal.pending{opacity:0;transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:900px){nav{padding:0.9rem 1.5rem}.nav-links{display:none}.nav-burger{display:flex}.container{padding:0 1.5rem}section{padding:5rem 0}.hero-logo{width:200px}.hero-cta{padding:0.85rem 2rem}.hero-event-ctas .hero-cta{min-width:0;width:100%;max-width:280px}.hero-event-ctas{width:100%;flex-direction:column;align-items:center;gap:0.9rem}.event-meta-line{font-size:0.88rem;letter-spacing:0.1em;flex-wrap:wrap;row-gap:0.2rem;justify-content:center}.menu-item{padding:1.4rem 0}.photo-strip-wrap{height:410px}.photo-cell{width:270px;height:410px}.photo-cell img{width:500px}.ambiance-grid{grid-template-columns:1fr;gap:3rem}.ambiance-text{text-align:center}.ambiance-text .divider-vintage{margin:2rem auto 3rem}.ambiance-blocks{grid-template-columns:1fr}.ambiance-block{text-align:center}.btn-border{display:block;text-align:center;margin:0.6rem 0}.reservation-ctas .btn-border{margin:0}.resa-types{grid-template-columns:1fr;gap:0.6rem}.resa-type{padding:1.1rem 1rem}.formule-resume{padding:1.6rem 1rem 1.7rem}.formule-incl{gap:0.5rem}.formule-incl-item{gap:0.5rem}.formule-incl-item svg{width:27px;height:27px}.formule-incl-item span{font-size:0.8rem}.booking-submit{margin:0 auto}.booking-page{background:var(--s5);padding:58px 0 0;align-items:stretch}.booking-modal{padding:2.5rem 1.5rem;border:none;min-height:100vh;min-height:100dvh}.booking-row{grid-template-columns:1fr;gap:0}.booking-field label{font-size:0.75rem;letter-spacing:0.18em}.reveal.pending{transform:translateY(28px)}.infos-header{margin-bottom:2.5rem}.infos-grid{grid-template-columns:1fr;gap:2.5rem}.social-links{gap:2.9rem}.social-icon{width:72px}}.dev-credit{text-align:center;padding:1.4rem 1.2rem;background:var(--s5);font-family:var(--font-sans);font-size:0.58rem;letter-spacing:0.2em;color:var(--gray-light);text-transform:uppercase}.dev-credit a{color:var(--gray-light);text-decoration:none;transition:color 0.25s ease}.dev-credit a:hover{color:var(--black)}.booking-choice{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2.5rem}.booking-choice--3{grid-template-columns:repeat(3,1fr);gap:0.75rem}.booking-choice--3 .booking-choice-card{padding:1.5rem 0.7rem 1.3rem}.booking-choice-card{background:transparent;border:1px solid var(--gray-line-light);padding:1.5rem 1rem 1.3rem;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0.55rem;transition:border-color 0.25s ease,background 0.25s ease}.booking-choice-card svg{width:30px;height:30px;stroke:var(--gray-light);transition:stroke 0.25s ease}.booking-choice-card:hover{border-color:var(--gray-light)}.booking-choice-card.active{border-color:var(--black);background:var(--s4)}.booking-choice-card.active svg{stroke:var(--black)}.booking-choice.no-anim .booking-choice-card,.booking-choice.no-anim .booking-choice-card svg{transition:none}.booking-choice-name{font-family:var(--font-display);font-size:1.15rem;font-weight:400;letter-spacing:0.01em;color:var(--black);line-height:1.2}.booking-choice-desc{font-family:var(--font-sans);font-size:0.62rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--gray-light);line-height:1.9}.room-offer{border:1px solid var(--gray-line-light);padding:1.8rem 2rem;margin-bottom:2.5rem}.room-offer-title{font-family:var(--font-display);font-style:italic;font-size:1.25rem;font-weight:400;color:var(--black);margin-bottom:0.8rem}.room-offer-text{font-family:var(--font-display);font-size:0.95rem;color:var(--gray-light);line-height:1.8;margin-bottom:1rem}.room-offer-text strong{color:var(--black);font-weight:500}.room-offer-list{list-style:none;margin-bottom:1.2rem}.room-offer-list li{font-family:var(--font-display);font-size:0.95rem;color:var(--black);line-height:2.1}.room-offer-list li::before{content:'';display:inline-block;width:5px;height:5px;background:var(--gray);transform:rotate(45deg);margin-right:0.8rem;vertical-align:middle}.room-offer-meta{font-family:var(--font-sans);font-size:0.62rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-light);line-height:1.9}.room-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--gray-line-light);border-bottom:1px solid var(--gray-line-light);padding:1.3rem 0.2rem;margin-bottom:2rem}.room-total-info{display:flex;flex-direction:column;gap:0.3rem}.room-total-label{font-family:var(--font-sans);font-size:0.64rem;font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--gray-light)}.room-total-detail{font-family:var(--font-display);font-style:italic;font-size:0.95rem;color:var(--gray-light)}.room-total-amount{font-family:var(--font-display);font-size:1.8rem;font-weight:500;color:var(--black);white-space:nowrap;line-height:1}.room-modes{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;margin-top:0.6rem}.room-mode{background:transparent;border:1px solid var(--gray-line-light);padding:1.1rem 0.9rem 1rem;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0.45rem;transition:border-color 0.25s ease,background 0.25s ease}.room-mode:hover{border-color:var(--gray-light)}.room-mode.active{border-color:var(--black);background:var(--s4)}.room-mode-name{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--black);line-height:1.2}.room-mode-unit{font-style:italic;color:var(--gray-light);font-size:0.85em}.room-mode-desc{font-family:var(--font-sans);font-size:0.58rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray-light);line-height:1.9}.room-cal{border:1px solid var(--gray-line-light);padding:1.2rem 1.4rem 1rem;margin-top:0.6rem}.room-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.9rem}.room-cal-title{font-family:var(--font-display);font-size:1.1rem;color:var(--black)}.room-cal-nav{width:34px;height:34px;background:transparent;border:1px solid var(--gray-line-light);color:var(--black);font-size:1.1rem;line-height:1;cursor:pointer;transition:border-color 0.25s ease}.room-cal-nav:hover:not(:disabled){border-color:var(--black)}.room-cal-nav:disabled{opacity:0.25;cursor:default}.room-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.room-cal-dow{font-family:var(--font-sans);font-size:0.58rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray-light);text-align:center;padding-bottom:6px}.room-cal-day{position:relative;aspect-ratio:1;background:transparent;border:1px solid transparent;font-family:var(--font-display);font-size:0.95rem;color:var(--black);cursor:pointer;transition:border-color 0.2s ease,background 0.2s ease;padding:0}.room-cal-day:hover:not(:disabled){border-color:var(--black)}.room-cal-day.is-selected{background:var(--black);color:var(--white)}.room-cal-day.is-closed{color:var(--gray);opacity:0.4;cursor:default}.room-cal-day.is-out{opacity:0.12;cursor:default}.room-cal-day.is-taken{color:var(--gray-mid);cursor:default}.room-cal-day.is-taken::after{content:'';position:absolute;top:50%;left:26%;right:26%;height:1.25px;background:var(--gray-mid);transform:translateY(-50%) rotate(-45deg)}.room-cal-legend{font-family:var(--font-sans);font-size:0.58rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray-light);display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-top:0.9rem}.room-cal-dot{width:7px;height:7px;transform:rotate(45deg);display:inline-block;flex-shrink:0;margin-left:0.8rem}.room-cal-dot:first-child{margin-left:0}.room-cal-dot--free{background:var(--black)}.room-cal-dot--taken{background:var(--gray-mid)}.room-cal-dot--closed{background:transparent;border:1px solid var(--gray-line-light)}.time-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:0.5rem;margin-top:0.4rem}.time-slot{font-family:var(--font-sans);font-size:0.72rem;font-weight:500;letter-spacing:0.08em;color:var(--black);background:transparent;border:1px solid var(--gray-line-light);padding:0.6rem 0.5rem;text-align:center;cursor:pointer;transition:border-color 0.2s ease,background 0.2s ease,color 0.2s ease}.time-slot:hover{border-color:var(--black)}.time-slot.active{background:var(--black);color:var(--white);border-color:var(--black)}.time-slot[hidden]{display:none}.formule-inc-title{font-family:var(--font-sans);font-size:0.66rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--gray-light);margin:0 0 0.85rem}.formule-inc-band{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;padding:1.3rem 0.5rem;background:var(--s5);border-top:1px solid var(--gray-line-light);border-bottom:1px solid var(--gray-line-light)}.formule-inc-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.6rem}.formule-inc-cell svg{width:28px;height:28px;stroke:var(--gray-light)}.formule-inc-cell span{font-family:var(--font-display);font-size:0.88rem;color:var(--black);line-height:1.3}.formule-pick-intro{font-family:var(--font-display);font-style:italic;font-size:0.9rem;color:var(--gray-light);margin:1.4rem 0 0}.formule-picks-sec{font-family:var(--font-sans);font-size:0.62rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-light);margin:1.4rem 0 0.7rem}.formule-picks-sec:first-of-type{margin-top:0.2rem}.formule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem 0.7rem}.formule-item{display:flex;flex-direction:column}.formule-item-photo{aspect-ratio:1 / 1;background:var(--s4);border:1px solid var(--gray-line-light);display:flex;align-items:center;justify-content:center;overflow:hidden}.formule-item-photo img{width:100%;height:100%;object-fit:cover;display:block}.formule-item-photo.is-ph svg{width:30px;height:30px;stroke:var(--gray)}.formule-item-name{font-family:var(--font-display);font-size:0.92rem;color:var(--black);line-height:1.3;text-align:center;padding:0.5rem 0.2rem 0.1rem}.formule-item-ing{font-family:var(--font-display);font-style:italic;font-size:0.82rem;color:var(--gray-light);line-height:1.5;text-align:center;padding:0.15rem 0.25rem 0}.room-cal-selected{font-family:var(--font-display);font-style:italic;font-size:0.95rem;color:var(--gray-light);margin-top:0.7rem}.room-cal-selected.has-date{color:var(--black)}.booking-error--notice{background:#3a2e1a;border-color:#6b562b;color:#f5d9a0}.booking-intro{font-family:var(--font-display);font-size:1rem;color:var(--gray-light);line-height:1.8;text-align:center;max-width:32rem;margin:0 auto 1rem}.booking-intro strong{color:var(--black);font-weight:500}.booking-section-label{font-family:var(--font-sans);font-size:0.68rem;font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--black);margin:1.4rem 0 1.2rem;padding-bottom:0.6rem;border-bottom:1px solid var(--gray-line-light)}.booking-section-label span{color:var(--gray-light);letter-spacing:0.08em}.booking-switch{text-align:center;margin:0 0 2.4rem;font-family:var(--font-sans);font-size:0.66rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase}.booking-switch a{color:var(--gray-light);text-decoration:none;border-bottom:1px solid var(--gray-line-light);padding-bottom:2px;transition:color 0.25s ease,border-color 0.25s ease}.booking-switch a strong{color:var(--black);font-weight:600}.booking-switch a:hover{color:var(--black);border-color:var(--black)}.booking-phone-note{font-family:var(--font-display);font-style:italic;font-size:0.9rem;color:var(--gray-light);text-align:center;margin-top:2.8rem}.booking-phone-note a{color:var(--black);text-decoration:none;border-bottom:1px solid var(--gray-line-light);transition:border-color 0.25s ease}.booking-phone-note a:hover{border-color:var(--black)}@media (max-width:600px){.booking-choice{gap:0.7rem;margin-bottom:2rem}.booking-choice-card{padding:1.1rem 0.6rem 1rem}.booking-choice-desc{font-size:0.58rem;letter-spacing:0.1em}.booking-choice--3{grid-template-columns:1fr;gap:0.6rem}.booking-choice--3 .booking-choice-card{padding:1.1rem 1rem}.room-offer{padding:1.4rem 1.2rem}.room-total{padding:1.1rem 0.2rem}.room-modes{grid-template-columns:1fr}.room-cal{padding:1rem 0.8rem 0.9rem}.room-cal-day{font-size:0.85rem}.time-slots{grid-template-columns:repeat(4,1fr);gap:0.4rem}.time-slot{padding:0.55rem 0.3rem;letter-spacing:0.04em}}.legal{max-width:760px;margin:0 auto;padding:8rem 1.5rem 4rem;color:var(--black)}.legal-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.8rem);font-weight:400;line-height:1.1;color:var(--black);margin-bottom:0.6rem}.legal-title em{font-style:italic;color:var(--gray-light)}.legal-updated{font-family:var(--font-sans);font-size:0.72rem;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--gray-light);margin-bottom:2.5rem}.legal h2{font-family:var(--font-sans);font-size:0.85rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--black);margin:2.4rem 0 0.9rem}.legal p,.legal li{font-family:var(--font-display);font-size:1.02rem;line-height:1.85;color:var(--gray-light)}.legal p{margin-bottom:1rem}.legal strong{color:var(--black);font-weight:500}.legal ul{list-style:none;margin:0 0 1rem;padding:0}.legal li{position:relative;padding-left:1.3rem;margin-bottom:0.6rem}.legal li::before{content:'';position:absolute;left:0;top:0.7em;width:5px;height:5px;background:var(--gray);transform:rotate(45deg)}.legal a:not(.btn-border){color:var(--black);text-decoration:underline;text-underline-offset:2px}.legal a:not(.btn-border):hover{color:var(--gray-light)}.legal-back{margin-top:3rem;text-align:center}.legal-back .btn-border{display:inline-block;width:auto}.site-footer{background:var(--s5);text-align:center;padding:1.6rem 1.2rem 1.8rem}.legal-links{font-family:var(--font-sans);font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:0.8rem}.legal-links a{color:var(--gray-light);text-decoration:none;transition:color 0.25s ease}.legal-links a:hover{color:var(--black)}.legal-sep{color:var(--gray);margin:0 0.6rem}.site-footer .dev-credit{background:transparent;padding:0}.booking-privacy-note{font-family:var(--font-display);font-style:italic;font-size:0.82rem;color:var(--gray-light);text-align:center;line-height:1.7;margin-top:0.8rem;max-width:520px;margin-left:auto;margin-right:auto}.booking-privacy-note a{color:var(--black)}body.page-light{background:var(--s5);color:var(--black)}body.page-light .legal{padding-top:7rem}