@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-500.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--paper:#f6f4ec;--ink:#912d3f;--muted:#78676a;--line:#912d3f29;--accent:#ead0c7;--gutter:clamp(22px,5vw,88px);--serif:'Baskerville','Iowan Old Style','Palatino Linotype',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ae654c;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}img{max-width:100%}[hidden]{display:none!important}h1,h2,p{margin-top:0}.skip-link{position:fixed;left:24px;top:-100px;z-index:200;background:var(--paper);padding:16px}.skip-link:focus{top:15px}
.header-space{height:100px;position:relative;z-index:50}.site-header{position:fixed;top:0;left:0;width:100%;min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:16px var(--gutter);background:var(--paper);transition:box-shadow .25s,background .25s}.site-header.is-sticky{background:rgb(246 244 236 / 95%);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}.brand{display:flex;flex-direction:column;align-items:center;gap:7px;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:32px;letter-spacing:-1.3px;line-height:1}.brand small{font-size:10px;letter-spacing:2.8px;text-transform:uppercase}.desktop-nav nav{display:flex;align-items:center;gap:36px}.desktop-nav a{font-size:13px;font-weight:500;position:relative;padding:12px 0}.desktop-nav a:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after{transform:scaleX(1)}.desktop-nav a[href^='tel:']{order:4;border:1px solid var(--ink);padding:14px 24px;border-radius:3px}.desktop-nav a[href^='tel:']:hover{background:var(--ink);color:var(--paper)}.desktop-nav a[href^='tel:']:after{display:none}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;margin:0 22px;min-height:650px;height:calc(100svh - 122px);max-height:1050px;color:var(--paper);background:url('assets/images/centenaire-16.jpg') center 54%/cover no-repeat;overflow:hidden;border-radius:4px}.hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgb(30 10 15 / 22%),rgb(30 10 15 / 32%) 45%,rgb(30 10 15 / 77%))}.hero-content{height:100%;min-height:650px;padding:clamp(38px,6vh,80px) calc(var(--gutter) - 22px) 38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero h1{font-family:var(--serif);font-size:clamp(80px,12.8vw,204px);font-weight:400;line-height:.93;letter-spacing:-.06em;margin:0 0 72px}.hero h1>span{display:block;font-size:.37em;font-style:italic;letter-spacing:-.045em;line-height:1.2;margin-bottom:8px}.hero-bottom{position:absolute;left:calc(var(--gutter) - 22px);right:calc(var(--gutter) - 22px);bottom:38px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:25px}.hero-bottom>p{text-align:left;font-size:12px;line-height:1.9;margin:0}.outline-button{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;padding:20px 28px;min-height:60px;border:1px solid rgb(246 244 236 / 55%);border-radius:3px;background:rgb(246 244 236 / 9%);backdrop-filter:blur(8px);font-size:14px;transition:background .25s,color .25s}.outline-button:hover{background:var(--paper);color:var(--ink)}.outline-button span{font-size:22px}
.restaurant{padding:150px var(--gutter) 100px}.restaurant-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,9vw,145px)}.restaurant-image{display:block;width:100%;height:650px;object-fit:cover;border-radius:3px}.restaurant-copy{padding:20px 0}h2{font-family:var(--serif);font-weight:400;font-size:clamp(52px,6.1vw,94px);line-height:1.03;letter-spacing:-.045em;margin-bottom:32px}h2 em{font-weight:400}.restaurant-card p{font-size:16px;line-height:1.95;max-width:460px;margin-bottom:36px}.menu-button{display:inline-flex;align-items:center;justify-content:space-between;gap:65px;border-bottom:1px solid var(--ink);padding:13px 0;min-height:48px;font-size:14px;transition:gap .25s}.menu-button:hover{gap:85px}.menu-button span{font-size:24px}
.upper-gallery{padding:0 var(--gutter) 130px;max-width:1500px;margin:auto}.photo-grid{display:grid;gap:22px}.upper-gallery .photo-grid{grid-template-columns:1fr 1.3fr 1fr;align-items:center}.gallery-button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:3px;overflow:hidden;background:#e3d6cf;cursor:zoom-in}.gallery-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .4s}.gallery-button:hover img{transform:scale(1.045);filter:brightness(.88)}.upper-gallery .gallery-button{aspect-ratio:1.27}.upper-gallery .gallery-button:nth-child(2){aspect-ratio:1.15}.photo-band{height:clamp(320px,44vw,650px);background:url('assets/images/centenaire-20.jpg') center 52%/cover no-repeat;margin:0 22px;border-radius:3px}.photo-band span{display:block;height:100%;background:rgb(30 10 15 / 8%)}
.main-gallery{padding:125px var(--gutter) 140px;max-width:1600px;margin:auto}.main-gallery .section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px;border-bottom:1px solid var(--line);padding-bottom:30px}.section-heading h2{margin-bottom:0}.main-gallery .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px}.main-gallery .gallery-button:first-child{grid-column:span 2;grid-row:span 2}.main-gallery .gallery-button:nth-child(6){grid-column:span 2}.main-gallery .gallery-button:nth-child(n+6){height:270px}.main-gallery .photo-grid{grid-template-rows:240px 240px 270px}
.access-info{background:var(--ink);color:var(--paper);padding:100px var(--gutter) 70px}.access-content{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:90px}.access-info h2{font-size:clamp(54px,5.8vw,86px)}.access-info h2 em{display:block}.details{display:grid;grid-template-columns:1fr 1fr;column-gap:26px;row-gap:28px}.details p{font-size:14px;line-height:1.85;margin:0}.details p:nth-child(2){grid-column:span 2;border-bottom:1px solid #f6f4ec33;padding-bottom:26px}.details .contact-phone{grid-column:span 2}.contact-phone a{display:flex;align-items:center;font-family:var(--serif);font-size:clamp(30px,3.5vw,48px);line-height:1}.contact-phone span{font-size:30px}.details strong{font-weight:500;display:inline-block;margin-bottom:6px}.map-section{padding:0 var(--gutter) 90px;background:var(--ink)}.map-section>div{max-width:1320px;margin:auto;border-radius:3px;overflow:hidden;background:#eadfd7}.map-section iframe{display:block;width:100%;height:365px;border:0;filter:saturate(.65)}footer{padding:65px var(--gutter) 38px}.footer-grid{max-width:1320px;display:grid;grid-template-columns:1.3fr 1fr 1.6fr .6fr;gap:40px;margin:auto;align-items:start}.footer-brand{font-family:var(--serif);font-size:38px;line-height:1;letter-spacing:-1.5px}.footer-nav nav{display:flex;flex-direction:column;gap:17px}.footer-nav a,.footer-address{font-size:12px;line-height:1.8}.footer-nav a:hover,.footer-address a:hover{text-decoration:underline;text-underline-offset:5px}.footer-address p{margin-bottom:14px}.footer-address p:last-child{color:var(--muted);margin:24px 0 0}.social h2{font-family:Montserrat,Arial,sans-serif;font-size:12px;letter-spacing:0;margin-bottom:20px;line-height:1.8}.social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%}.social a:hover{background:var(--accent)}.social svg{width:18px;height:18px;fill:currentColor}
.reveal{opacity:1}.reveal.will-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}.lightbox-open{overflow:hidden}.lightbox{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;color:var(--paper);background:#281217}.lightbox-backdrop{position:absolute;inset:0;border:0;background:transparent}.lightbox>img{position:relative;pointer-events:none;max-width:min(85vw,1500px);max-height:calc(100dvh - 150px);object-fit:contain}.lightbox-close,.lightbox-fullscreen,.lightbox-arrow{position:absolute;z-index:2;display:grid;place-items:center;min-width:48px;min-height:48px;border:1px solid #ffffff44;border-radius:50%;background:#281217aa;color:inherit;cursor:pointer}.lightbox-close{top:22px;right:24px;font-size:34px}.lightbox-fullscreen{top:22px;right:86px;font-size:24px}.lightbox-arrow{top:50%;transform:translateY(-50%);font-size:42px;line-height:1}.lightbox-arrow.previous{left:20px}.lightbox-arrow.next{right:20px}.lightbox-count{position:absolute;top:39px;left:28px;font-size:13px;letter-spacing:2px}.lightbox-caption{position:absolute;bottom:28px;left:20px;right:20px;text-align:center;font-size:12px}.lightbox button:hover{background:#6e2736}
@media(min-width:1700px){.hero h1{font-size:220px}.hero-content{padding-top:80px}}
@media(max-width:1024px){.desktop-nav{display:none}.header-space{height:84px}.site-header{min-height:84px}.brand>span{font-size:28px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:transparent;padding:12px;cursor:pointer}.menu-toggle span{height:1px;width:20px;background:currentColor;transition:transform .2s,opacity .2s}.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav{display:block;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:12px var(--gutter) 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #4c152018}.mobile-nav nav{display:flex;flex-direction:column}.mobile-nav a{padding:18px 0;border-top:1px solid var(--line);font-size:18px}.hero{min-height:620px;height:calc(100svh - 106px)}.hero-content{min-height:620px}.restaurant{padding-top:100px}.restaurant-grid{gap:50px}.restaurant-image{height:560px}.main-gallery .photo-grid{grid-template-rows:190px 190px 220px;grid-auto-rows:190px}.main-gallery .gallery-button:nth-child(n+6){height:220px}.access-content{gap:45px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:45px}.footer-brand{font-size:42px}}
@media(max-width:640px){:root{--gutter:24px}html{scroll-padding-top:98px}.site-header{padding:14px 24px}.brand>span{font-size:27px}.brand small{font-size:9px;letter-spacing:2.3px}.hero{margin:0 12px;height:calc(100svh - 98px);min-height:565px;background-position:43% center}.hero-content{min-height:565px;padding:45px 14px 180px}.hero h1{font-size:clamp(52px,14.8vw,94px);letter-spacing:-.06em;margin:0}.hero h1>span{font-size:.48em;margin-bottom:12px}.hero-bottom{left:20px;right:20px;bottom:28px;grid-template-columns:1fr auto;row-gap:30px}.hero-bottom>p{font-size:10px;order:2}.outline-button{grid-column:span 2;justify-self:center;gap:58px;padding:16px 24px;min-height:56px}.restaurant{padding:80px 24px 55px}.restaurant-grid{display:flex;flex-direction:column-reverse;gap:40px;align-items:stretch}.restaurant-copy{padding:0}h2{font-size:64px;margin-bottom:28px}.restaurant-card h2 br{display:none}.restaurant-card h2 em{display:block}.restaurant-card p{font-size:16px;line-height:1.85;margin-bottom:22px}.restaurant-image{height:auto;aspect-ratio:4/5;max-height:600px}.upper-gallery{padding:0 24px 75px}.upper-gallery .photo-grid{gap:10px;grid-template-columns:1fr 1fr}.upper-gallery .gallery-button{aspect-ratio:1}.upper-gallery .gallery-button:nth-child(2){aspect-ratio:1}.upper-gallery .gallery-button:last-child{grid-column:span 2;aspect-ratio:1.65}.photo-band{height:350px;margin:0 12px;background-position:40% center}.main-gallery{padding:75px 24px 80px}.main-gallery .section-heading{margin-bottom:28px;padding-bottom:22px}.main-gallery .photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:auto;gap:12px}.main-gallery .gallery-button,.main-gallery .gallery-button:nth-child(n+6){height:auto;aspect-ratio:1}.main-gallery .gallery-button:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:1.4}.main-gallery .gallery-button:nth-child(6){grid-column:span 1}.main-gallery .gallery-button:last-child{grid-column:span 2;aspect-ratio:1.6}.access-info{padding:70px 24px 40px}.access-content{grid-template-columns:1fr;gap:40px}.access-info h2{font-size:64px}.access-info h2 em{display:inline}.details{column-gap:15px;row-gap:24px}.details p{font-size:12px}.contact-phone a{font-size:38px}.map-section{padding:0 24px 60px}.map-section iframe{height:300px}footer{padding:50px 24px 32px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.footer-brand{grid-column:span 2;font-size:46px}.footer-address{grid-column:span 2;grid-row:3}.social{justify-self:end}.footer-nav a,.footer-address,.social h2{font-size:13px}.footer-address p:last-child{border-top:1px solid var(--line);padding-top:22px}.lightbox>img{max-width:100vw;max-height:calc(100dvh - 190px)}.lightbox-arrow{top:auto;bottom:55px;transform:none}.lightbox-arrow.previous{left:24px}.lightbox-arrow.next{right:24px}.lightbox-caption{bottom:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal.will-reveal{opacity:1;transform:none}}

/* Quiet editorial controls: no section overlines or decorative arrows. */
.hero h1{margin-bottom:40px}.hero-bottom .outline-button{justify-content:center;min-width:170px}.menu-button{gap:0}.menu-button:hover{gap:0}.lightbox-arrow{font-size:13px;min-height:44px;padding:12px 16px;border-radius:3px}.lightbox>img{max-width:min(80vw,1500px)}
@media(max-width:640px){.hero h1{margin-bottom:0}.hero-bottom{grid-template-columns:1fr;justify-items:center;gap:25px}.hero-bottom .outline-button{grid-column:auto;min-width:176px}.hero-bottom>p{text-align:center}.lightbox>img{max-width:100vw}}

.mobile-menu-open{overflow:hidden}
@media(max-width:1024px){
  .menu-toggle{width:auto;min-width:100px;height:46px;display:inline-flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 10px 16px;border:0;border-radius:0;background:transparent}
  .menu-toggle .menu-label{display:block;width:auto;height:auto;background:transparent;font-size:12px;font-weight:500;letter-spacing:.3px;transform:none!important;opacity:1!important}
  .menu-toggle .menu-icon{position:relative;display:block;width:25px;height:18px;background:transparent;transform:none!important;opacity:1!important}
  .menu-icon i{position:absolute;left:0;width:25px;height:1px;background:currentColor;top:5px;transition:transform .3s ease,width .3s ease}
  .menu-icon i:last-child{top:13px;width:18px;left:auto;right:0}
  .menu-toggle:hover .menu-icon i:last-child{width:25px}
  .menu-open .menu-icon i:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-open .menu-icon i:last-child{width:25px;transform:translateY(-4px) rotate(-45deg)}
  .mobile-nav{height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain;background:var(--ink);color:var(--paper);border:0;padding:clamp(24px,5vh,60px) var(--gutter) 30px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;box-shadow:none;animation:menu-arrive .3s ease both}
  .mobile-nav nav{width:100%;max-width:640px;margin:0 auto;gap:0}
  .mobile-nav nav>a{font-family:var(--serif);font-size:clamp(34px,6vw,56px);font-weight:400;letter-spacing:-1.3px;padding:18px 0;line-height:1.1;border-top:0;border-bottom:1px solid #f6f4ec40;transition:color .2s,padding .2s}
  .mobile-nav nav>a:hover{color:var(--accent);padding-left:8px}
  .mobile-nav nav>a.mobile-reserve{font-family:Montserrat,Arial,sans-serif;font-size:15px;letter-spacing:0;text-align:center;margin-top:30px;padding:19px 24px;background:var(--paper);color:var(--ink);border:1px solid var(--paper);border-radius:3px}
  .mobile-nav nav>a.mobile-reserve:hover{background:var(--accent);border-color:var(--accent)}
  .mobile-menu-contact{width:100%;max-width:640px;margin:0 auto;display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid #f6f4ec40;padding-top:24px}
  .mobile-menu-contact p{margin:0;font-size:12px;line-height:1.9}
  .mobile-menu-contact>a{font-size:13px;white-space:nowrap;padding:10px 0;min-height:44px;display:flex;align-items:center;border:0}
}
@media(max-width:640px){.mobile-nav nav>a{font-size:41px;padding:20px 0}.mobile-menu-contact{flex-direction:column;align-items:start;gap:8px}.mobile-menu-contact>a{font-size:15px}}
@media(max-height:650px) and (max-width:1024px){.mobile-nav{padding-top:16px;gap:24px}.mobile-nav nav>a{font-size:32px;padding:13px 0}.mobile-nav nav>a.mobile-reserve{margin-top:20px}.mobile-menu-contact{padding-top:16px}}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
