*,:before,:after{box-sizing:border-box;margin:0;padding:0}.legal-body{font-family:var(--font-body);color:var(--dark);font-size:1rem;line-height:1.7}.legal-body h2{font-family:var(--font-display);color:var(--red-dark);margin-top:32px;margin-bottom:12px;font-size:1.3rem;font-style:italic;font-weight:700}.legal-body h2:first-child{margin-top:0}.legal-body p{color:var(--dark-soft);margin-bottom:14px}.legal-body ul{margin:8px 0 14px 24px}.legal-body li{color:var(--dark-soft);margin-bottom:6px}.legal-body a{color:var(--red);text-underline-offset:3px;text-decoration:underline}.legal-body a:hover{color:var(--red-dark)}.legal-body strong{color:var(--dark);font-weight:700}.cal-picker-wrap{position:relative}.cal-picker-button{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;font-family:inherit;display:flex}.cal-picker-button svg{opacity:.6;flex-shrink:0}.cal-picker-button:hover svg{opacity:1}.cal-picker-placeholder{color:var(--text-muted)}.cal-picker-date{color:var(--dark);text-transform:capitalize}.cal-picker-popover{z-index:100;background:var(--white);width:340px;max-width:calc(100vw - 32px);box-shadow:0 18px 48px color-mix(in srgb, var(--dark) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--dark) 8%, transparent);font-family:var(--font-body);border-radius:14px;padding:14px;position:absolute;top:calc(100% + 6px);left:0}.cal-picker-header{font-family:var(--font-display);color:var(--dark);text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.98rem;font-style:italic;font-weight:700;display:flex}.cal-picker-nav{background:var(--cream);border:1.5px solid color-mix(in srgb, var(--dark) 8%, transparent);cursor:pointer;width:30px;height:30px;color:var(--dark);border-radius:7px;font-size:18px;line-height:1;transition:background .15s}.cal-picker-nav:hover:not(:disabled){background:var(--cream-dark)}.cal-picker-nav:disabled{opacity:.35;cursor:not-allowed}.cal-picker-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-picker-headrow{margin-bottom:4px}.cal-picker-head{text-align:center;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:700}.cal-picker-day{cursor:pointer;color:var(--dark);background:0 0;border:1.5px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;min-height:46px;padding:4px 0 5px;font-family:inherit;line-height:1;transition:background .12s,transform .12s;display:flex}.cal-picker-day-num{font-size:13px}.cal-picker-day-info{opacity:.7;letter-spacing:.02em;margin-top:3px;font-size:9.5px;font-weight:600}.cal-picker-day-info.low{color:var(--ocre);opacity:1}.cal-picker-day-info.full-label,.cal-picker-day-info.closed-label{color:var(--red-dark);opacity:1;text-transform:uppercase}.cal-picker-day:hover:not(:disabled){background:var(--cream-dark);transform:translateY(-1px)}.cal-picker-day.today{border-color:var(--ocre);font-weight:700}.cal-picker-day.selected{background:var(--red);color:var(--white);border-color:var(--red);font-weight:700}.cal-picker-day.selected .cal-picker-day-info{color:color-mix(in srgb, var(--white) 85%, transparent);opacity:1}.cal-picker-day.out{color:color-mix(in srgb, var(--dark) 25%, transparent);cursor:not-allowed}.cal-picker-day.closed{background:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red-dark);cursor:not-allowed;border-color:color-mix(in srgb, var(--red) 25%, transparent)}.cal-picker-day.closed .cal-picker-day-num{text-decoration:line-through;text-decoration-thickness:1.5px}.cal-picker-day.closed:hover{background:color-mix(in srgb, var(--red) 12%, transparent);transform:none}.cal-picker-legend{border-top:1px solid color-mix(in srgb, var(--dark) 6%, transparent);color:var(--text-muted);align-items:center;gap:14px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.cal-picker-legend>span{align-items:center;gap:6px;display:flex}.cal-picker-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.swatch-closed{background:color-mix(in srgb, var(--red) 18%, transparent);border:1px solid color-mix(in srgb, var(--red) 40%, transparent)}.swatch-low{background:color-mix(in srgb, var(--ocre) 25%, transparent);border:1px solid color-mix(in srgb, var(--ocre) 50%, transparent)}:root{--red:#e04a3f;--red-dark:#9e2a1f;--red-mid:#c03b2c;--ocre:#f2a516;--ocre-light:#fbd06a;--green:#2e8b43;--green-light:#6dbd58;--green-dark:#1f5d2e;--cream:#f9efd4;--cream-dark:#eed7a4;--dark:#1a1004;--dark-soft:#4b2d14;--text-muted:#7c5634;--white:#fff;--black:#000;--accent-line:#00a6a2;--accent-line-dark:#006b6e;--gallery-bg:#fff;--bg-hero:#006b6e;--bg-header:#006b6e;--bg-histoire:#f9efd4;--bg-carte:#eed7a4;--bg-horaires:#eed7a4;--bg-reservation:#006b6e;--bg-avis:#f9efd4;--bg-footer:#004749;--font-display:"Playfair Display", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--font-script:var(--font-display);--radius-sm:18px;--radius-md:28px;--radius-lg:40px;--radius-xl:56px;--radius-pill:999px;--shadow-soft:0 6px 24px color-mix(in srgb, var(--red-dark) 14%, transparent);--shadow-lift:0 16px 48px color-mix(in srgb, var(--red-dark) 22%, transparent);--transition:all .32s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--dark);font-size:1rem;line-height:1.6;overflow-x:hidden}.skip-link{background:var(--red-dark);color:var(--white);font-family:var(--font-body);z-index:10000;border-radius:0 0 6px 6px;padding:10px 20px;font-size:.95rem;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{outline:3px solid var(--ocre);outline-offset:2px;top:0}:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red-dark);outline-offset:3px;box-shadow:0 0 0 6px color-mix(in srgb, var(--red-dark) 18%, transparent)}#scroll-progress{background:var(--ocre);z-index:9999;pointer-events:none;width:0%;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}#back-to-top{background:var(--red);cursor:pointer;opacity:0;pointer-events:none;width:50px;height:50px;transition:var(--transition);z-index:1000;box-shadow:0 4px 16px color-mix(in srgb, var(--red-dark) 40%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:32px;right:32px}#back-to-top.visible{opacity:1;pointer-events:auto}#back-to-top:hover{background:var(--red-dark);transform:translateY(-3px)}#back-to-top svg{fill:var(--white)}.reveal-on-scroll{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(36px)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.stagger-child{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(26px)}.wave-sep{width:100%;line-height:0;display:block;overflow:hidden}.wave-sep svg{width:100%;display:block}.hero-fade-wave{z-index:5;pointer-events:none;width:100%;margin-top:-260px;line-height:0;display:block;position:relative}.hero-fade-wave svg{width:100%;height:280px;display:block}.section-eyebrow{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:10px;font-size:.8rem;font-weight:700;display:block}.section-title{font-family:var(--font-display);color:var(--dark);margin-bottom:8px;font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:700;line-height:1.2}.section-title em{color:var(--red-dark);font-style:italic}.btn-primary{background:var(--red);color:var(--white);border:2px solid var(--red);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;transition:var(--transition);letter-spacing:.02em;white-space:nowrap;box-shadow:0 10px 26px color-mix(in srgb, var(--red) 38%, transparent);align-items:center;gap:12px;padding:20px 44px;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.btn-primary:hover,.btn-primary:focus-visible{background:var(--white);border-color:var(--white);color:var(--red);box-shadow:0 14px 36px color-mix(in srgb, var(--white) 45%, transparent), 0 0 0 4px color-mix(in srgb, var(--ocre-light) 35%, transparent);transform:translateY(-3px)scale(1.02)}.btn-secondary{background:color-mix(in srgb, var(--white) 12%, transparent);color:var(--white);border:2px solid color-mix(in srgb, var(--white) 95%, transparent);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;transition:var(--transition);white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;gap:12px;padding:18px 38px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--white);color:var(--red);border-color:var(--white);box-shadow:0 14px 36px color-mix(in srgb, var(--white) 35%, transparent), 0 0 0 4px color-mix(in srgb, var(--ocre-light) 35%, transparent);transform:translateY(-3px)scale(1.02)}header{z-index:900;background:0 0;justify-content:space-between;align-items:center;height:92px;padding:0 56px;transition:background .4s,box-shadow .4s;display:flex;position:fixed;top:0;left:0;right:0}header.scrolled{background:color-mix(in srgb, var(--bg-header) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 16px color-mix(in srgb, var(--black) 30%, transparent)}.header-logo{flex-shrink:0;align-items:center;gap:14px;text-decoration:none;display:flex}.header-logo:focus-visible{outline:3px solid var(--ocre);outline-offset:4px;border-radius:4px}.logo-text{flex-direction:column;display:flex}.logo-name{font-family:var(--font-display);color:var(--white);white-space:nowrap;letter-spacing:-.01em;font-size:1.9rem;font-style:italic;font-weight:700;line-height:1.15}.logo-sub{font-family:var(--font-body);color:color-mix(in srgb, var(--white) 80%, transparent);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;font-size:12px}nav.desktop-nav{align-items:center;gap:40px;display:flex}nav.desktop-nav a{font-family:var(--font-body);color:color-mix(in srgb, var(--white) 95%, transparent);white-space:nowrap;padding:6px 2px;font-size:1.2rem;font-weight:600;text-decoration:none;position:relative}nav.desktop-nav a:after{content:"";background:var(--ocre-light);transform-origin:0;height:3px;box-shadow:0 0 12px color-mix(in srgb, var(--ocre-light) 55%, transparent);border-radius:3px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}nav.desktop-nav a:hover:after,nav.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}nav.desktop-nav a:hover,nav.desktop-nav a[aria-current=page]{color:var(--ocre-light)}.burger{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none}.burger span{background:var(--white);width:24px;height:2px;transition:var(--transition);transform-origin:50%;display:block}.burger.open span:first-child{transform:translateY(7px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.burger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{background:color-mix(in srgb, var(--accent-line-dark) 98%, transparent);z-index:800;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:36px;transition:opacity .3s;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu a{font-family:var(--font-display);color:var(--white);font-size:1.9rem;font-weight:600;text-decoration:none;transition:color .2s}.mobile-menu a:hover,.mobile-menu a:focus-visible{color:var(--ocre-light)}#hero{background:var(--accent-line);justify-content:flex-start;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-tiles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pizza-float{pointer-events:none;opacity:.12;will-change:transform;position:absolute}.pf-2{animation:16s ease-in-out 2s infinite pfloat2;top:22%;right:8%}.pf-3{animation:10s ease-in-out 4s infinite pfloat1;bottom:28%;left:4%}.pf-4{animation:14s ease-in-out 1s infinite pfloat2;bottom:20%;right:6%}.pf-5{animation:18s ease-in-out 3s infinite pfloat1;top:55%;left:50%}@keyframes pfloat1{0%,to{transform:translateY(0)rotate(0)}40%{transform:translateY(-20px)rotate(8deg)}70%{transform:translateY(10px)rotate(-5deg)}}@keyframes pfloat2{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-16px)rotate(-10deg)}}.hero-content{z-index:10;text-align:left;max-width:980px;margin:0;padding:110px 16px 60px clamp(40px,6vw,110px);position:relative}.hero-corner-logo{aspect-ratio:1;z-index:12;pointer-events:none;opacity:0;width:clamp(280px,30vw,440px);animation:.9s cubic-bezier(.22,1,.36,1) .15s forwards corner-logo-pop;position:absolute;top:clamp(280px,36vh,420px);right:clamp(60px,7vw,140px);transform:translateY(-12px)scale(.9)}.hero-corner-text{transform-origin:50%;width:100%;height:100%;animation:22s linear infinite hero-text-spin;position:absolute;inset:0}.hero-corner-text text{fill:var(--cream);font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;font-size:15px;font-weight:800}.hero-corner-img{object-fit:contain;width:53%;height:53%;filter:drop-shadow(0 10px 26px color-mix(in srgb, var(--black) 45%, transparent));position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 6px))}@keyframes hero-text-spin{to{transform:rotate(360deg)}}@keyframes corner-logo-pop{to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.hero-corner-logo{opacity:1;animation:none;transform:none}.hero-corner-text{animation:none}}.hero-badge{background:color-mix(in srgb, var(--white) 15%, transparent);border:1px solid color-mix(in srgb, var(--white) 38%, transparent);border-radius:var(--radius-pill);font-family:var(--font-body);color:color-mix(in srgb, var(--white) 96%, transparent);letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;align-items:center;gap:12px;margin-bottom:32px;padding:11px 26px;font-size:.95rem;font-weight:700;animation:.6s .2s forwards fadeInDown;display:inline-flex;transform:translateY(-10px)}.hero-badge .dot{background:var(--ocre-light);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}@keyframes fadeInDown{to{opacity:1;transform:translateY(0)}}.hero-title{font-family:var(--font-display);color:var(--white);text-align:left;word-spacing:.1em;letter-spacing:-.025em;text-shadow:0 4px 30px color-mix(in srgb, var(--black) 50%, transparent), 0 2px 12px color-mix(in srgb, var(--black) 40%, transparent);margin-bottom:36px;font-size:clamp(4.6rem,10.5vw,8.4rem);font-style:italic;font-weight:700;line-height:1.02;display:block}.hero-title .hero-line{white-space:nowrap;display:block}.hero-title .word{opacity:0;margin-right:.18em;transition:opacity .65s,transform .65s;display:inline-block;transform:translateY(28px)}.hero-sub{font-family:var(--font-body);color:color-mix(in srgb, var(--white) 92%, transparent);opacity:0;margin-bottom:48px;font-size:clamp(1.15rem,2.6vw,1.5rem);font-weight:400;line-height:1.65;animation:.7s .95s forwards fadeInUp}.hero-btns{opacity:0;flex-wrap:wrap;justify-content:flex-start;gap:16px;animation:.6s 1.2s forwards fadeInUp;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-content{padding-bottom:48px}#histoire{background:var(--bg-histoire);padding:140px 64px}.histoire-inner{grid-template-columns:1.05fr 1fr;align-items:stretch;gap:140px;max-width:1200px;margin:0 auto;display:grid}.histoire-text{flex-direction:column;display:flex}.histoire-text .section-title{margin-bottom:32px}.histoire-text .section-eyebrow{margin-bottom:18px}.histoire-text p:last-of-type{margin-bottom:56px}.histoire-text .valeurs{margin-top:auto}.histoire-text p{font-family:var(--font-body);color:var(--dark-soft);margin-bottom:26px;font-size:1.05rem;line-height:1.82}.valeurs{flex-wrap:wrap;gap:18px;margin-bottom:0;display:flex}.valeur-card{background:var(--white);border-radius:var(--radius-lg);text-align:center;min-width:130px;box-shadow:var(--shadow-soft);border:2px solid color-mix(in srgb, var(--red-dark) 8%, transparent);flex:1;padding:32px 20px 28px;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s,box-shadow .35s}.valeur-card:hover{background:var(--red);border-color:var(--red);box-shadow:0 22px 48px color-mix(in srgb, var(--red) 38%, transparent);transform:translateY(-10px)scale(1.04)}.valeur-card:hover h3,.valeur-card:hover p{color:var(--white)}.valeur-card .icon{color:var(--red);margin-bottom:14px;transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s;display:inline-flex}.valeur-card:hover .icon{color:var(--white);transform:scale(1.18)rotate(-6deg)}.valeur-card h3{font-family:var(--font-body);color:var(--dark);margin-bottom:8px;font-size:.98rem;font-weight:700;transition:color .3s}.valeur-card p{font-family:var(--font-body);color:var(--text-muted);font-size:.84rem;line-height:1.55;transition:color .3s}.histoire-visual{justify-content:center;align-items:stretch;min-height:100%;display:flex}.histoire-visual img{object-fit:cover;border-radius:var(--radius-lg);min-height:480px;box-shadow:0 18px 56px color-mix(in srgb, var(--dark) 25%, transparent);display:block;width:100%!important;max-width:none!important;height:100%!important}#carte{background:var(--bg-carte);padding:112px 40px;position:relative;overflow:hidden}#carte .section-eyebrow{color:var(--red)!important}#carte .section-title{color:var(--dark)}#carte .carte-subtitle{color:var(--dark-soft)}#carte .carte-card{background:var(--white);border:2px solid color-mix(in srgb, var(--ocre) 35%, transparent)}#carte .carte-card:hover,#carte .carte-card:focus-within{background:var(--red);border-color:var(--red)}#carte .carte-card:hover h3,#carte .carte-card:hover p{color:var(--white)}#carte .carte-card h3{color:var(--dark)}#carte .carte-card p{color:var(--dark-soft)}#carte .carte-card-icon{color:var(--red)}#carte .carte-card:hover .carte-card-icon{color:var(--white)}#carte .carte-badge{color:var(--text-muted)}.carte-inner{max-width:1100px;margin:0 auto;position:relative}.carte-header{text-align:center;margin-bottom:56px}.carte-header .section-eyebrow{color:var(--ocre-light)}.carte-header .section-title{color:var(--white)}.carte-subtitle{color:color-mix(in srgb, var(--white) 72%, transparent);margin-top:12px;font-size:1.05rem}.carte-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:44px;display:grid}.carte-card{background:color-mix(in srgb, var(--white) 9%, transparent);border:2px solid color-mix(in srgb, var(--white) 20%, transparent);border-radius:var(--radius-lg);padding:38px 30px;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s,box-shadow .35s;position:relative;overflow:hidden}.carte-card:hover,.carte-card:focus-within{background:var(--cream);border-color:var(--accent-line);box-shadow:0 22px 48px color-mix(in srgb, var(--black) 32%, transparent), 0 0 0 4px color-mix(in srgb, var(--ocre-light) 25%, transparent);transform:translateY(-10px)scale(1.04)}.carte-card:hover h3,.carte-card:hover p{color:var(--dark)}.carte-card-icon{color:var(--accent-line);margin-bottom:20px;transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s;display:inline-flex}.carte-card:hover .carte-card-icon{color:var(--red);transform:scale(1.18)rotate(-6deg)}.carte-card h3{font-family:var(--font-display);color:var(--white);margin-bottom:10px;font-size:1.5rem;transition:color .3s}.carte-card p{color:color-mix(in srgb, var(--white) 78%, transparent);font-size:.96rem;line-height:1.65;transition:color .3s}.carte-cta{text-align:center}.carte-badge{color:color-mix(in srgb, var(--white) 52%, transparent);letter-spacing:.06em;margin-top:16px;font-size:.82rem;display:block}#galerie{background:var(--gallery-bg);padding:120px 40px}#galerie .galerie-header .section-eyebrow{color:var(--red)!important}#galerie .galerie-header .section-title{color:var(--dark)}#galerie .galerie-note{color:var(--text-muted)}#galerie .galerie-footnote{color:var(--text-muted);opacity:.85;font-style:italic}.galerie-inner{max-width:1500px;margin:0 auto}.galerie-header{text-align:center;margin-bottom:48px}.galerie-header .section-eyebrow{color:var(--ocre-light)}.galerie-header .section-title{color:var(--white)}.galerie-note{color:color-mix(in srgb, var(--white) 55%, transparent);margin-top:10px;font-size:.95rem;font-style:italic}.galerie-footnote{text-align:center;color:color-mix(in srgb, var(--white) 40%, transparent);margin-top:36px;font-size:.85rem;font-style:italic}#horaires{background:var(--bg-horaires);padding:140px 80px}.horaires-inner{max-width:1200px;margin:0 auto}.horaires-header{text-align:center;margin-bottom:80px}.horaires-header .section-title{color:var(--dark)}.horaires-top{text-align:center;width:100%;margin:0 0 64px}.horaires-top .horaires-sub{text-align:center}.horaires-top .horaires-table{width:100%;margin:0}.horaires-top .badge-affluence{margin-left:auto;margin-right:auto}.horaires-cols{grid-template-columns:1fr 1fr;align-items:stretch;gap:80px;display:grid}.horaires-cols>div{flex-direction:column;justify-content:space-between;min-height:340px;display:flex}.horaires-cols>div>address{flex:none}.horaires-sub{font-family:var(--font-body);color:var(--red);text-transform:uppercase;letter-spacing:.14em;min-height:28px;margin:0 0 28px;font-size:.82rem;font-weight:700}.horaires-table{border-collapse:collapse;width:100%}.horaires-table tr{border-bottom:1px solid color-mix(in srgb, var(--dark) 14%, transparent)}.horaires-table tr:last-child{border-bottom:none}.horaires-table td{color:var(--dark-soft);font-size:.98rem;font-family:var(--font-body);padding:18px 0;font-weight:500}.horaires-table td:last-child{text-align:right;color:var(--red-dark);font-weight:700}.horaires-table tr.closed td{color:var(--text-muted);font-weight:500}.horaires-table tr.closed td:last-child{color:var(--red);font-style:normal;font-weight:700}.badge-affluence{border:2px solid var(--red);border-radius:var(--radius-pill);color:var(--red);background:color-mix(in srgb, var(--red) 6%, transparent);align-items:center;gap:8px;margin:24px 0 6px;padding:10px 22px;font-size:.86rem;font-weight:700;animation:2.5s infinite pulse-border;display:inline-flex}@keyframes pulse-border{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--red-dark) 30%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--red-dark) 0%, transparent)}}.infos-item{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.infos-item .icon-circle{background:var(--ocre);width:42px;height:42px;box-shadow:0 4px 12px color-mix(in srgb, var(--ocre) 30%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.infos-item p{color:var(--dark-soft);font-size:.95rem;line-height:1.55}.infos-badges{flex-wrap:wrap;gap:10px;margin-bottom:26px;display:flex}.infos-badge{background:var(--white);border:1px solid color-mix(in srgb, var(--dark-soft) 12%, transparent);border-radius:var(--radius-pill);color:var(--dark-soft);box-shadow:0 2px 6px color-mix(in srgb, var(--black) 5%, transparent);transition:var(--transition);align-items:center;gap:8px;padding:9px 18px;font-size:.85rem;font-weight:600;display:inline-flex}.infos-badge svg{flex-shrink:0}.infos-badge:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.map-embed{border-radius:var(--radius-lg);border:2px solid color-mix(in srgb, var(--ocre) 25%, transparent);width:100%;height:100%;min-height:340px;box-shadow:0 10px 28px color-mix(in srgb, var(--dark) 12%, transparent);background:var(--cream-dark);position:relative;overflow:hidden}.map-embed iframe{border:0;width:100%;height:100%;display:block}#reservation{background:var(--bg-reservation);padding:112px 40px}.reservation-inner{max-width:680px;margin:0 auto}.resa-header{text-align:center;margin-bottom:44px}.resa-header .section-eyebrow{color:var(--ocre-light)}.resa-header .section-title{color:var(--white);font-style:italic}.resa-header p{color:color-mix(in srgb, var(--white) 72%, transparent);margin-top:12px;font-size:1rem}.form-card{background:var(--cream);border-radius:var(--radius-xl);box-shadow:0 24px 64px color-mix(in srgb, var(--black) 40%, transparent);border:2px solid var(--cream-dark);padding:44px 40px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field-wrap{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--dark-soft);letter-spacing:.02em;margin-bottom:2px;font-size:.82rem;font-weight:700}.field-label .req{color:var(--red);margin-left:2px}.field-input{border-radius:var(--radius-pill);width:100%;font-family:var(--font-body);color:var(--dark);background:var(--cream-dark);appearance:none;border:2px solid #0000;outline:none;padding:15px 22px;font-size:1rem;transition:border-color .22s,box-shadow .22s,background .22s}textarea.field-input{border-radius:var(--radius-md)}.field-input:hover:not(:focus){background:var(--cream-dark)}.field-input.error{border-color:var(--red)}.field-input.error:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--red-dark) 15%, transparent)}textarea.field-input{resize:vertical;min-height:88px}select.field-input{cursor:pointer}.field-error{color:var(--red);align-items:center;gap:4px;font-size:.77rem;font-weight:600;display:none}.field-error.visible{display:flex}.group-msg{color:var(--red);margin-top:2px;font-size:.82rem;font-style:italic;display:none}.group-msg.visible{display:block}.form-row{margin-bottom:18px}.checkbox-row{align-items:flex-start;gap:10px;margin-bottom:24px;display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);cursor:pointer;flex-shrink:0;margin-top:3px}.checkbox-row label{color:var(--text-muted);cursor:pointer;font-size:.88rem;line-height:1.5}.btn-submit{background:var(--red);width:100%;color:var(--white);border:2px solid var(--red);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;transition:var(--transition);letter-spacing:.02em;box-shadow:0 6px 20px color-mix(in srgb, var(--red) 30%, transparent);justify-content:center;align-items:center;gap:10px;padding:18px;font-size:1.125rem;font-weight:700;display:flex}.btn-submit:hover:not(:disabled){background:var(--white);color:var(--red);border-color:var(--white);box-shadow:0 12px 32px color-mix(in srgb, var(--red) 38%, transparent);transform:translateY(-3px)}.btn-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-submit:focus-visible{outline:3px solid var(--ocre);outline-offset:3px}.spinner{border:3px solid color-mix(in srgb, var(--white) 30%, transparent);border-top-color:var(--white);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-note{text-align:center;color:color-mix(in srgb, var(--white) 45%, transparent);margin-top:16px;font-size:.78rem;font-style:italic}.success-card{text-align:center;padding:36px 20px;display:none}.success-card.visible{display:block}.checkmark-wrap{width:68px;height:68px;margin:0 auto 22px}.checkmark-circle{fill:none;stroke:var(--green-light);stroke-width:3px}.checkmark-check{fill:none;stroke:var(--green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50px;animation:.6s .3s forwards draw-check}@keyframes draw-check{to{stroke-dashoffset:0}}.success-card h3{font-family:var(--font-display);color:var(--green);margin-bottom:10px;font-size:1.5rem}.success-card p{color:var(--text-muted);line-height:1.65}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.field-wrap.shake{animation:.38s shake}#avis{background:var(--bg-avis);padding:112px 40px}.avis-inner{max-width:1200px;margin:0 auto}.avis-header{text-align:center;margin-bottom:48px}.avis-header .section-title{color:var(--dark)}.avis-note{color:var(--text-muted);margin-top:8px;font-size:.93rem;font-style:italic}.avis-card{background:var(--white);border-radius:var(--radius-lg);text-align:left;height:360px;font-family:var(--font-body);color:var(--dark);cursor:pointer;appearance:none;width:100%;box-shadow:none;border:none;flex-direction:column;padding:28px 24px;transition:transform .25s;display:flex;overflow:hidden}.avis-card:hover{transform:translateY(-6px)}.avis-card:focus-visible{outline:3px solid var(--accent-line);outline-offset:4px}.avis-card .avis-text{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin-bottom:12px;display:-webkit-box;overflow:hidden}.avis-card .avis-date{margin-top:auto}.avis-avatar{width:46px;height:46px;font-family:var(--font-display);color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;font-size:1rem;font-weight:700;display:flex}.avis-stars{gap:2px;margin-bottom:8px;display:flex}.avis-stars svg{fill:var(--ocre)}.avis-name{color:var(--dark);font-size:.93rem;font-weight:700}.avis-city{color:var(--text-muted);margin-bottom:10px;font-size:.78rem}.avis-text{color:var(--dark-soft);margin-bottom:10px;font-size:.9rem;font-style:italic;line-height:1.65}.avis-date{color:var(--text-muted);font-size:.76rem}.swiper-pagination-bullet-active{background:var(--red)!important}.swiper-button-next,.swiper-button-prev{box-shadow:0 10px 28px color-mix(in srgb, var(--red) 45%, transparent);color:var(--white)!important;background:var(--red)!important;border-radius:50%!important;width:56px!important;height:56px!important;transition:all .25s!important}.swiper-button-next:hover,.swiper-button-prev:hover{transform:scale(1.12);background:var(--accent-line)!important;color:var(--red-dark)!important;box-shadow:0 10px 28px color-mix(in srgb, var(--ocre-light) 55%, transparent)!important}.swiper-button-next:after,.swiper-button-prev:after{font-size:18px!important;font-weight:800!important}.avis-carousel{grid-template-columns:56px 1fr 56px;align-items:center;column-gap:32px;max-width:1320px;margin:0 auto;display:grid}.avis-viewport{width:100%;min-width:0;overflow:hidden}.avis-track{will-change:transform;width:100%;transition:transform .55s cubic-bezier(.22,1,.36,1);display:flex}.avis-track.no-anim{transition:none}.avis-view{flex:0 0 100%;grid-template-columns:repeat(3,1fr);gap:24px;padding:4px 0;display:grid}.avis-view .avis-card{width:100%}@media (prefers-reduced-motion:reduce){.avis-track{transition:none}}.avis-nav-btn{background:var(--red);width:56px;height:56px;color:var(--white);cursor:pointer;transition:var(--transition);box-shadow:0 10px 28px color-mix(in srgb, var(--red) 45%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.avis-nav-btn:hover,.avis-nav-btn:focus-visible{background:var(--accent-line);color:var(--red-dark);box-shadow:0 10px 28px color-mix(in srgb, var(--ocre-light) 55%, transparent);transform:scale(1.1)}.section-eyebrow{color:var(--red)!important}#carte .section-eyebrow,#galerie .section-eyebrow,#reservation .section-eyebrow{color:var(--ocre-light)!important}footer{background:var(--bg-footer);width:100%;padding:72px 64px 0}.footer-cols{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:56px;width:100%;margin:0;padding-bottom:56px;display:grid}.footer-col{text-align:center;flex-direction:column;align-items:center;gap:18px;min-width:0;display:flex}.footer-brand-col{gap:20px}.footer-brand{color:var(--white);align-items:center;gap:14px;text-decoration:none;display:inline-flex}.footer-brand .logo-name{font-family:var(--font-display);color:var(--white);letter-spacing:-.01em;font-size:1.6rem;font-style:italic;font-weight:700}.footer-baseline{font-family:var(--font-display);color:color-mix(in srgb, var(--white) 60%, transparent);max-width:280px;margin:0;font-size:1.05rem;font-style:italic;line-height:1.5}.footer-col h4{color:var(--ocre-light);text-transform:uppercase;letter-spacing:.2em;margin:0;font-size:.82rem;font-weight:700}.footer-links{flex-direction:column;align-items:center;gap:12px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:color-mix(in srgb, var(--white) 82%, transparent);font-size:.98rem;font-weight:500;text-decoration:none;transition:color .2s}.footer-links a:hover,.footer-links a:focus-visible{color:var(--ocre-light)}.footer-contact{color:color-mix(in srgb, var(--white) 82%, transparent);flex-direction:column;align-items:center;gap:14px;margin:0;font-size:.95rem;display:flex}.footer-contact-line{color:color-mix(in srgb, var(--white) 82%, transparent);align-items:center;gap:10px;line-height:1.5;text-decoration:none;transition:color .2s;display:inline-flex}a.footer-contact-line:hover,a.footer-contact-line:focus-visible{color:var(--ocre-light)}.footer-contact-icon{color:var(--ocre-light);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.social-links{justify-content:center;gap:12px;display:flex}.social-link{border:1px solid color-mix(in srgb, var(--white) 20%, transparent);width:44px;height:44px;color:var(--white);transition:var(--transition);background:color-mix(in srgb, var(--white) 4%, transparent);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.social-link:hover,.social-link:focus-visible{background:var(--red);border-color:var(--red);box-shadow:0 8px 20px color-mix(in srgb, var(--red) 40%, transparent);transform:translateY(-3px)scale(1.08)}.footer-sep{align-items:center;gap:18px;width:100%;margin:0;display:flex}.footer-sep-line{background:color-mix(in srgb, var(--white) 8%, transparent);flex:1;height:1px}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;margin:0;padding:18px 0;display:flex}.footer-bottom span{color:color-mix(in srgb, var(--white) 55%, transparent);font-size:.76rem}.footer-bottom a{color:color-mix(in srgb, var(--white) 60%, transparent);text-decoration:none}.footer-bottom a:hover,.footer-bottom a:focus-visible{color:var(--ocre-light)}@media (width<=1024px){header{height:76px;padding:0 1.75rem}.logo-name{font-size:1.4rem}.logo-sub{display:none}nav.desktop-nav{gap:1.5rem}nav.desktop-nav a{font-size:1rem}.histoire-inner{grid-template-columns:1fr;gap:3rem}.histoire-visual{order:-1}.histoire-visual img{min-height:320px}#histoire,#carte,#galerie,#horaires,#reservation,#avis{padding:5rem 2rem}#galerie{padding:5rem 1.5rem}.horaires-cols{grid-template-columns:1fr;gap:2.5rem}.horaires-cols>div{min-height:0}.map-embed{height:320px;min-height:320px}.footer-cols{grid-template-columns:1fr 1fr;gap:3rem}.avis-view{grid-template-columns:repeat(2,1fr)}.gal-wrap{grid-template-columns:56px 1fr 56px;column-gap:1rem}.gal-nav{width:56px;height:56px}.gal-main .swiper-slide{height:460px}.hero-content{padding:6.5rem 1.5rem 3rem clamp(2rem,6vw,5rem)}.hero-corner-logo{width:clamp(180px,22vw,260px);top:clamp(180px,20vh,240px);right:clamp(48px,7vw,120px)}}@media (width<=768px){header{height:64px;padding:0 1rem}nav.desktop-nav,.header-cta{display:none}.burger{display:flex}.logo-name{font-size:1.2rem}#histoire,#carte,#galerie,#horaires,#reservation,#avis{padding:4rem 1.25rem}#galerie{padding:4rem 1rem}.carte-grid{grid-template-columns:1fr;gap:1rem}.form-grid{grid-template-columns:1fr}.form-card{border-radius:var(--radius-lg);padding:1.75rem 1.125rem}.footer-cols{grid-template-columns:1fr;gap:2.25rem;padding:0 0 2.25rem}footer{padding:3.25rem 1.5rem 0}.footer-bottom{text-align:center;flex-direction:column;padding:1rem 0}.footer-bottom span{font-size:.72rem}.map-embed{height:260px;min-height:260px}.gal-wrap{grid-template-columns:44px 1fr 44px;column-gap:.5rem}.gal-nav{width:44px;height:44px}.gal-main .swiper-slide{height:320px}.avis-view{grid-template-columns:1fr;gap:1rem}.avis-carousel{grid-template-columns:44px 1fr 44px;column-gap:.75rem}.avis-nav-btn{width:44px;height:44px}.hero-content{padding:5.5rem 1.25rem 2.5rem 1.5rem}.hero-corner-logo{width:clamp(140px,32vw,200px);top:clamp(120px,14vh,180px);right:1rem}.hero-corner-text text{font-size:16px}.horaires-top{margin-bottom:2.5rem}.horaires-table td{padding:.875rem 0;font-size:.92rem}.horaires-table td:last-child{font-size:.9rem}.section-title{font-size:clamp(1.6rem,5.5vw,2.2rem)}.hero-title{margin-bottom:1.5rem;font-size:clamp(2.6rem,11vw,4rem)}.hero-sub{margin-bottom:2rem;font-size:clamp(.95rem,3vw,1.1rem)}.btn-primary{padding:.95rem 1.75rem;font-size:1rem}.btn-secondary{padding:.85rem 1.5rem;font-size:.95rem}}@media (width<=480px){.hero-btns{flex-direction:column;align-items:stretch;gap:.75rem}.hero-btns .btn-primary,.hero-btns .btn-secondary{justify-content:center;width:100%}.valeurs{flex-direction:column;gap:1rem}.infos-badges{gap:.5rem}.infos-badge{padding:.5rem .875rem;font-size:.78rem}.horaires-table td{font-size:.85rem}.map-embed{height:220px;min-height:220px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal-on-scroll,.stagger-child,.hero-title .word{opacity:1;transform:none}.hero-badge,.hero-sub,.hero-btns{opacity:1}}.hero-bg-scene{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-bg-scene svg{width:100%;height:100%;display:block}.hero-bg-overlay{z-index:1;background:linear-gradient(90deg, color-mix(in srgb, var(--bg-hero) 88%, transparent) 0%, color-mix(in srgb, var(--bg-hero) 72%, transparent) 28%, color-mix(in srgb, var(--bg-hero) 35%, transparent) 60%, color-mix(in srgb, var(--bg-hero) 5%, transparent) 100%);position:absolute;inset:0}#histoire .section-eyebrow,#horaires .section-eyebrow,#avis .section-eyebrow{color:var(--red-dark)}.hero-bg-scene img{will-change:transform;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;backface-visibility:hidden;transition:transform 50ms linear;transform:translateZ(0)}.btn-primary,.btn-submit{position:relative;overflow:hidden}@keyframes ripple-anim{0%{opacity:.4;transform:scale(0)}to{opacity:0;transform:scale(3.5)}}.ripple-effect{background:color-mix(in srgb, var(--white) 38%, transparent);pointer-events:none;border-radius:50%;animation:.55s ease-out forwards ripple-anim;position:absolute;transform:scale(0)}.section-title-animated:after{background:var(--accent-line)}.btn-primary:before{content:"";background:linear-gradient(120deg, transparent 0%, color-mix(in srgb, var(--white) 18%, transparent) 50%, transparent 100%);width:60%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:160%}.section-title-animated{align-self:flex-start;width:fit-content;max-width:100%;display:inline-block;position:relative}.section-title-animated:after{content:"";background:var(--accent-line);border-radius:4px;width:0;height:4px;transition:width .9s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-8px;left:0}.section-title-animated.line-drawn:after{width:100%}.avis-card:hover{transform:translateY(-6px);box-shadow:none!important}.galerie-thumb-img{overflow:hidden}.galerie-thumb-img img{transition:transform .5s cubic-bezier(.4,0,.2,1)}.galerie-thumb:hover .galerie-thumb-img img{transform:scale(1.06)}.galerie-thumb:hover .galerie-thumb-label{color:var(--ocre-light)}.field-input:focus{border-color:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--red-dark) 15%, transparent), 0 2px 8px color-mix(in srgb, var(--red-dark) 8%, transparent)!important}@keyframes slide-up-warm{0%{opacity:0;transform:translateY(28px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.reveal-on-scroll.revealed{animation:.65s cubic-bezier(.22,1,.36,1) both slide-up-warm}@keyframes card-bounce-in{0%{opacity:0;transform:translateY(24px)scale(.96)}70%{opacity:1;transform:translateY(-4px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes logo-warm{0%,to{filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--red-dark) 0%, transparent))}50%{filter:drop-shadow(0 2px 16px color-mix(in srgb, var(--red-dark) 35%, transparent))}}.header-logo:hover svg,.footer-logo-wrap a:hover svg{animation:1.2s ease-in-out infinite logo-warm}.hero-badge .dot{box-shadow:0 0 6px color-mix(in srgb, var(--ocre-light) 60%, transparent);animation:1.8s infinite pulse}.scroll-indicator{color:color-mix(in srgb, var(--white) 75%, transparent)}#back-to-top:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--red-dark) 45%, transparent)!important}.wave-sep{filter:drop-shadow(0 -2px 4px color-mix(in srgb, var(--black) 4%, transparent))}@media (prefers-reduced-motion:reduce){.hero-bg-overlay,.hero-badge .dot,.btn-primary:before,.ripple-effect{animation:none!important}.hero-bg-scene img{transition:none!important}}.gal-wrap{grid-template-columns:72px 1fr 72px;align-items:center;column-gap:40px;width:100%;max-width:1440px;margin:0 auto;padding:0;display:grid}.gal-main{border-radius:var(--radius-xl);width:100%;min-width:0;box-shadow:0 18px 56px color-mix(in srgb, var(--black) 45%, transparent);isolation:isolate;position:relative;overflow:hidden}.gal-main .swiper-slide{height:640px}.gal-slide-btn{cursor:zoom-in;border-radius:var(--radius-xl);background:0 0;border:none;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.gal-slide-btn img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gal-slide-btn:hover img{transform:scale(1.04)}.gal-slide-cap{background:linear-gradient(transparent, color-mix(in srgb, var(--dark) 80%, transparent));padding:22px 28px 20px;position:absolute;bottom:0;left:0;right:0}.gal-slide-label{font-family:var(--font-display);color:var(--white);font-size:1.3rem;font-weight:700;display:block}.gal-slide-desc{color:color-mix(in srgb, var(--white) 82%, transparent);font-size:.88rem;font-style:italic}.gal-nav{background:var(--red);width:72px;height:72px;color:var(--white);cursor:pointer;transition:var(--transition);box-shadow:0 12px 32px color-mix(in srgb, var(--red) 50%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.gal-nav:hover,.gal-nav:focus-visible{background:var(--accent-line);color:var(--red-dark);box-shadow:0 12px 32px color-mix(in srgb, var(--ocre-light) 55%, transparent);transform:scale(1.1)}.gal-pag{bottom:12px!important}.gal-pag .swiper-pagination-bullet{background:color-mix(in srgb, var(--white) 50%, transparent)}.gal-pag .swiper-pagination-bullet-active{background:var(--ocre)!important}#gal-lightbox{z-index:9500;background:color-mix(in srgb, var(--dark) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}#gal-lightbox.open{opacity:1;pointer-events:auto}.gal-lb-inner{flex-direction:column;align-items:center;width:100%;max-width:min(92vw,1080px);display:flex;position:relative}.gal-lb-img{object-fit:contain;border-radius:var(--radius-md);width:100%;max-height:78vh;box-shadow:0 32px 80px color-mix(in srgb, var(--black) 70%, transparent)}.gal-lb-close{background:color-mix(in srgb, var(--white) 10%, transparent);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute;top:-48px;right:0}.gal-lb-close:hover{background:var(--red)}.gal-lb-prev,.gal-lb-next{background:color-mix(in srgb, var(--white) 8%, transparent);cursor:pointer;z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gal-lb-prev{left:-68px}.gal-lb-next{right:-68px}.gal-lb-prev:hover,.gal-lb-next:hover{background:var(--red)}.gal-lb-counter{font-family:var(--font-body);color:color-mix(in srgb, var(--white) 50%, transparent);letter-spacing:.08em;margin-top:14px;font-size:.85rem}.gal-lb-caption{font-family:var(--font-display);color:color-mix(in srgb, var(--white) 82%, transparent);text-align:center;margin-top:6px;font-size:1rem;font-style:italic}@media (width<=768px){.gal-lb-prev{left:4px}.gal-lb-next{right:4px}}html,body{max-width:100%}img,iframe,svg,video{max-width:100%;height:auto}iframe{height:revert}.hero-bg-scene svg,.wave-sep svg{height:auto}.histoire-inner,.carte-grid,.horaires-cols,.footer-cols,.form-grid,.avis-carousel,.avis-view,.gal-wrap,.histoire-inner>*,.carte-grid>*,.horaires-cols>*,.footer-cols>*,.form-grid>*,.avis-view>*,.gal-wrap>*{min-width:0}@media (width<=1200px){#histoire,#horaires{padding:6rem 2.5rem}#carte,#galerie,#reservation,#avis{padding:5.5rem 2.5rem}header{padding:0 2rem}footer{padding:4.5rem 2.5rem 0}.histoire-inner{gap:4rem}.horaires-cols,.footer-cols{gap:3rem}}@media (width<=900px){.footer-cols{grid-template-columns:1fr 1fr}.footer-col:first-child{grid-column:1/-1}.reservation-inner{max-width:100%}.form-card{padding:2.5rem 2rem}.hero-corner-logo{width:clamp(150px,22vw,220px);top:clamp(150px,17vh,220px);right:clamp(20px,4vw,60px)}.gal-main .swiper-slide{height:400px}.avis-card{height:320px}}@media (width<=600px){.hero-title{margin-bottom:1.25rem;font-size:clamp(2rem,8.5vw,2.8rem);line-height:1.08}.hero-title .hero-line{white-space:normal}.hero-content{max-width:100%;padding:5rem 1rem 2rem}.hero-badge{margin-bottom:1.25rem;padding:8px 16px;font-size:.78rem}.hero-sub{margin-bottom:1.5rem;font-size:.95rem;line-height:1.55}.hero-corner-logo{opacity:.85;width:clamp(80px,22vw,130px);top:clamp(80px,11vh,130px);right:.5rem}#histoire,#carte,#galerie,#horaires,#reservation{padding:3.5rem 1rem}#avis{padding:3.5rem 1rem!important}.section-title{font-size:clamp(1.5rem,5.5vw,2rem)}.histoire-inner{gap:2rem}.histoire-visual img{min-height:220px}.histoire-text p{margin-bottom:1.1rem;font-size:.98rem;line-height:1.7}.valeurs{flex-direction:column;gap:.875rem}.valeur-card{padding:22px 18px 20px}.carte-card{padding:28px 22px}.carte-card h3{font-size:1.25rem}.map-embed{height:220px;min-height:200px}.horaires-table td{padding:.75rem 0;font-size:.88rem}.infos-item .icon-circle{width:36px;height:36px}.infos-item p{font-size:.9rem}.form-card{border-radius:var(--radius-md);padding:1.5rem 1rem}.field-input{padding:13px 18px;font-size:.95rem}.btn-submit{padding:14px;font-size:1rem}.avis-card{height:auto;min-height:280px;padding:22px 18px}.avis-carousel{grid-template-columns:38px 1fr 38px;column-gap:.5rem}.avis-nav-btn{width:38px;height:38px}.avis-nav-btn svg{width:18px;height:18px}.gal-wrap{grid-template-columns:36px 1fr 36px;column-gap:.375rem}.gal-nav{width:36px;height:36px}.gal-nav svg{width:20px;height:20px}.gal-main .swiper-slide{height:280px}.gal-slide-cap{padding:16px 18px 14px}.gal-slide-label{font-size:1.05rem}.gal-slide-desc{font-size:.78rem}footer{padding:2.75rem 1.25rem 0}.footer-cols{grid-template-columns:1fr;gap:1.75rem;padding:0 0 1.75rem}.footer-col:first-child{grid-column:auto}.footer-baseline{font-size:.95rem}.footer-bottom{gap:.5rem;padding:.875rem 0}.cal-picker-popover{width:calc(100vw - 24px);max-width:340px}.cal-picker-day{min-height:42px}.cal-picker-day-num{font-size:12px}.cal-picker-day-info{font-size:8.5px}}@media (width<=380px){header{height:60px;padding:0 .75rem}.header-logo{gap:8px}.logo-name{font-size:1.05rem}.burger{width:38px;height:38px}.hero-title{font-size:clamp(1.5rem,6vw,1.85rem)}.hero-sub{font-size:.88rem}.hero-content{padding:4.5rem .875rem 1.5rem}.hero-corner-logo{opacity:.7;width:76px;top:80px;right:.5rem}.btn-primary,.btn-secondary{padding:.85rem 1.25rem;font-size:.95rem}#histoire,#carte,#galerie,#horaires,#reservation{padding:3rem .875rem}#avis{padding:3rem .875rem!important}.section-title{font-size:clamp(1.3rem,6vw,1.75rem)}.form-card{padding:1.25rem .875rem}.field-input{padding:12px 16px}.carte-card,.valeur-card{padding:20px 16px}.avis-card{min-height:260px;padding:20px 16px}.map-embed{height:200px;min-height:180px}.gal-main .swiper-slide{height:240px}footer{padding:2.25rem .875rem 0}.footer-baseline{max-width:100%;font-size:.9rem}}#hero{--corner-zone-w:calc(clamp(60px, 7vw, 140px) + clamp(280px, 30vw, 440px) + 16px);--hero-title-scale:1}.hero-content{max-width:min(1100px, calc(100vw - var(--corner-zone-w)))}.hero-title{--hero-title-fs:clamp(2.2rem, 4.8vw, 5.8rem);font-size:calc(var(--hero-title-fs) * var(--hero-title-scale,1))}@media (width<=1200px) and (width>=900px){#hero{--corner-zone-w:calc(clamp(16px, 2.5vw, 40px) + clamp(170px, 18vw, 230px) + 24px)}.hero-corner-logo{width:clamp(170px,18vw,230px);top:clamp(140px,15vh,200px);right:clamp(16px,2.5vw,40px)}.hero-title{--hero-title-fs:clamp(2.4rem, 5.5vw, 5rem)}}@media (width<=900px) and (width>=600px){#hero{--corner-zone-w:calc(clamp(12px, 2vw, 28px) + clamp(140px, 20vw, 190px) + 20px)}.hero-corner-logo{width:clamp(140px,20vw,190px);top:clamp(110px,13vh,160px);right:clamp(12px,2vw,28px)}.hero-title{--hero-title-fs:clamp(2rem, 5vw, 3.8rem)}}@media (width<=600px){#hero{--corner-zone-w:calc(.5rem + clamp(80px, 22vw, 130px) + 8px)}.hero-title{--hero-title-fs:clamp(1.4rem, 5vw, 1.9rem)}}@media (width<=380px){#hero{--corner-zone-w:calc(.5rem + 76px + 6px)}.hero-title{--hero-title-fs:clamp(1.2rem, 5vw, 1.65rem)}}@media (height<=500px) and (orientation:landscape){#hero{min-height:auto;padding:1.5rem 0}.hero-content{padding-top:5rem;padding-bottom:1.5rem}.hero-corner-logo{width:130px;top:5.5rem}.hero-title{--hero-title-fs:clamp(2rem, 6vh, 3rem);margin-bottom:.75rem}.hero-badge{margin-bottom:.75rem}.hero-sub{margin-bottom:1rem}}
