:root{--blue:#1b4f8c;--blue-deep:#0f3661;--off-white:#f2f6fa;--saffron:#e08a2e;--rust:#b0472e;--ink:#12253d;--font-display:"Fraunces", serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--off-white);color:var(--ink);cursor:none;overflow-x:hidden}@media (hover:none){body{cursor:auto}}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.grain{pointer-events:none;z-index:9998;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.cursor{border:1.5px solid var(--saffron);pointer-events:none;z-index:9999;border-radius:50%;width:18px;height:18px;transition:width .2s,height .2s,background .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}@media (hover:none){.cursor{display:none}}.nav{z-index:100;justify-content:space-between;align-items:center;padding:20px 48px;transition:background .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.is-scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12253dd9;padding:14px 48px}.nav__brand{align-items:center;gap:10px;display:flex}.nav__logo{object-fit:contain;width:38px;height:38px}.nav__brand span{font-family:var(--font-display);color:#fff;font-size:20px;font-weight:600}.nav__links{align-items:center;gap:32px;display:flex}.nav__links a{color:#fff;opacity:.85;font-size:14px;font-weight:500;transition:opacity .2s}.nav__links a:hover{opacity:1}.nav__cta{background:var(--saffron);border-radius:100px;padding:10px 20px;opacity:1!important}@media (width<=860px){.nav__links a:not(.nav__cta){display:none}.nav{padding:16px 20px}}.btn{border-radius:100px;justify-content:center;align-items:center;padding:15px 30px;font-size:15px;font-weight:500;transition:transform .25s,box-shadow .25s;display:inline-flex}.btn--primary{background:var(--saffron);color:#fff}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #e08a2e59}.btn--ghost{color:#fff;border:1px solid #ffffff80}.btn--ghost:hover{background:#ffffff1a}.btn--lg{padding:18px 36px;font-size:17px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--saffron);margin-bottom:14px;font-size:13px;font-weight:600}.hero{align-items:center;height:100vh;min-height:640px;display:flex;position:relative;overflow:hidden}.hero__bg{z-index:0;position:absolute;inset:0}.hero__bg img{object-fit:cover;width:100%;height:100%;animation:22s ease-in-out infinite alternate kenburns}@keyframes kenburns{0%{transform:scale(1)translate(0)}to{transform:scale(1.12)translate(-1.5%,-1%)}}.hero__scrim{background:linear-gradient(100deg,#0f3661eb 0%,#0f36618c 42%,#0f366126 65%,#0f366159 100%);position:absolute;inset:0}.hero__particles{opacity:.5;position:absolute;inset:0}.hero__particles:before,.hero__particles:after{content:"";background:var(--saffron);width:3px;height:3px;box-shadow:120px 200px 0 var(--saffron), 340px 80px 0 #f2f6facc, 560px 340px 0 #f2f6fa99, 780px 140px 0 var(--saffron), 220px 460px 0 #f2f6fab3, 640px 520px 0 var(--saffron);border-radius:50%;animation:14s ease-in-out infinite alternate drift;position:absolute}.hero__particles:after{opacity:.5;animation-duration:19s;transform:translateY(40px)}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-60px)}}.hero__content{z-index:2;color:#fff;max-width:620px;padding:0 48px;position:relative}.hero h1{font-family:var(--font-display);margin-bottom:22px;font-size:clamp(40px,6vw,64px);font-weight:600;line-height:1.05}.hero h1 span{color:var(--saffron);font-style:italic;font-weight:400}.hero__tagline{color:#ffffffd9;max-width:480px;margin-bottom:36px;font-size:18px;line-height:1.6}.hero__actions{flex-wrap:wrap;gap:16px;display:flex}.hero__scroll{z-index:2;color:#fff;opacity:.8;flex-direction:column;align-items:center;gap:10px;font-size:12px;display:flex;position:absolute;bottom:40px;left:48px}.hero__scroll-line{background:#ffffff80;width:1px;height:40px;position:relative;overflow:hidden}.hero__scroll-line:after{content:"";background:var(--saffron);width:100%;height:100%;animation:2s ease-in-out infinite scrollline;position:absolute;top:-100%;left:0}@keyframes scrollline{50%{top:100%}to{top:100%}}@media (width<=640px){.hero__content{padding:0 24px}.hero__scroll{left:24px}}section{padding:120px 48px}.section__head{text-align:center;max-width:640px;margin:0 auto 56px}.section__head h2{font-family:var(--font-display);color:var(--blue-deep);margin-bottom:16px;font-size:clamp(30px,4vw,44px);font-weight:500}.section__sub{color:#566578;font-size:16px;line-height:1.7}@media (width<=640px){section{padding:80px 22px}}[data-reveal]{opacity:0;transform:translateY(30px)}[data-reveal].is-visible{opacity:1;transition:opacity .9s,transform .9s;transform:translateY(0)}.histoire{background:#fff}.histoire__grid{grid-template-columns:.8fr 1fr;align-items:center;gap:64px;max-width:1140px;margin:0 auto;display:grid}.histoire__visual{aspect-ratio:4/5;border-radius:20px;overflow:hidden}.histoire__visual img{object-fit:cover;width:100%;height:100%}.histoire__text h2{font-family:var(--font-display);color:var(--blue-deep);margin-bottom:22px;font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1.2}.histoire__text p{color:#4a5768;margin-bottom:16px;line-height:1.75}.stats{gap:32px;margin-top:28px;display:flex}.stat{flex-direction:column;display:flex}.stat__num{font-family:var(--font-display);color:var(--saffron);font-size:26px;font-weight:600}.stat__label{color:#7a8698;font-size:13px}@media (width<=860px){.histoire__grid{grid-template-columns:1fr;gap:36px}}.carte{background:var(--off-white)}.carte__tabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;display:flex}.tab{color:var(--blue-deep);cursor:pointer;background:#fff;border:1px solid #1b4f8c26;border-radius:100px;padding:10px 22px;font-size:14px;font-weight:500;transition:all .2s}.tab:hover{border-color:var(--saffron)}.tab.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}.carte__panels{max-width:760px;margin:0 auto}.menu{background:#fff;border:1px solid #1b4f8c14;border-radius:20px;flex-direction:column;gap:4px;padding:12px;display:none}.menu.is-active{display:flex}.menu li{border-bottom:1px solid #1b4f8c0f;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;display:flex}.menu li:last-child{border-bottom:none}.menu__name{color:var(--ink);font-weight:500}.menu__name em{color:#8290a0;margin-top:3px;font-size:13px;font-style:normal;font-weight:400;display:block}.menu__price{font-family:var(--font-display);color:var(--rust);white-space:nowrap;font-weight:500}.menu__note{text-align:center;color:#8290a0;margin-top:14px;font-size:13px;font-style:italic;display:none}.menu__note.is-active{display:block}.galerie{background:var(--blue-deep)}.galerie .eyebrow{color:var(--saffron)}.galerie .section__head h2{color:#fff}.galerie__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:1100px;margin:0 auto;display:grid}.galerie__grid figure{aspect-ratio:4/3;border-radius:16px;position:relative;overflow:hidden}.galerie__grid img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.galerie__grid figure:hover img{transform:scale(1.06)}.galerie__grid figcaption{color:#fff;font-family:var(--font-display);background:linear-gradient(#0000,#0f3661e6);padding:18px;font-size:16px;position:absolute;bottom:0;left:0;right:0}@media (width<=760px){.galerie__grid{grid-template-columns:1fr}}.services{background:#fff}.services__grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto;display:grid}.card{background:var(--off-white);border:1px solid #1b4f8c0f;border-radius:18px;padding:32px 26px;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #1b4f8c1a}.card h3{font-family:var(--font-display);color:var(--blue-deep);margin:14px 0 10px;font-size:19px;font-weight:500}.card p{color:#5c697a;font-size:14px;line-height:1.6}.icon{background:var(--saffron);opacity:.85;border-radius:8px;width:30px;height:30px;display:inline-block}@media (width<=860px){.services__grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.services__grid{grid-template-columns:1fr}}.reservation{background:var(--off-white)}.reservation__grid{grid-template-columns:1.1fr .9fr;gap:60px;max-width:1100px;margin:0 auto;display:grid}.reservation__call h2{font-family:var(--font-display);color:var(--blue-deep);margin-bottom:26px;font-size:clamp(28px,4vw,38px);font-weight:500}.reservation__note{color:#7a8698;margin:14px 0 32px;font-size:14px}.reservation__call h3{font-family:var(--font-display);color:var(--blue-deep);margin-bottom:14px;font-size:18px;font-weight:500}.hours{background:#fff;border:1px solid #1b4f8c14;border-radius:16px;padding:8px 22px}.hours li{border-bottom:1px solid #1b4f8c0f;justify-content:space-between;padding:12px 0;font-size:14px;display:flex}.hours li:last-child{border-bottom:none}.hours li span:first-child{color:var(--blue-deep);font-weight:500}.hours li span:last-child{color:#6a7789}.hours li span.closed{color:var(--rust);font-weight:600}.reservation__infos{flex-direction:column;gap:18px;display:flex}.info{background:#fff;border:1px solid #1b4f8c14;border-radius:16px;align-items:flex-start;gap:16px;padding:22px;display:flex}.info__ico{font-size:22px}.info strong{color:var(--blue-deep);margin-bottom:4px;font-size:15px;display:block}.info p,.info a{color:#5c697a;font-size:14px}.info a:hover{color:var(--saffron)}@media (width<=860px){.reservation__grid{grid-template-columns:1fr;gap:40px}}.footer{background:linear-gradient(to bottom, var(--blue-deep), #050d18);text-align:center;color:#fff;padding:90px 24px 50px}.footer__logo{object-fit:contain;width:56px;height:56px;margin:0 auto 18px}.footer__title{font-family:var(--font-display);font-size:26px;font-weight:600}.footer__sub{letter-spacing:.1em;text-transform:uppercase;color:var(--saffron);margin:6px 0 18px;font-size:12px}.footer__tagline{color:#fff9;margin-bottom:30px;font-size:14px}.footer__copy{color:#ffffff59;font-size:12px}
