:root{--forest:#1b3022;--forest-deep:#14271b;--sage:#3c5e56;--paper:#f4f1e9;--white:#fff;--muted:#c3cabe;--line:rgba(244,241,233,.24);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',sans-serif;--gutter:clamp(24px,5.3vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--forest);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#b9c6aa;color:var(--forest)}h1,h2,h3,p,figure{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-style:normal;font-weight:400}h2{font-family:var(--serif);font-size:clamp(42px,4.8vw,76px);line-height:1.05;letter-spacing:-.035em}p+p{margin-top:22px}.skip-link{position:fixed;top:-100px;left:24px;background:var(--paper);color:var(--forest);padding:12px;z-index:100}.skip-link:focus{top:12px}.header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--forest);z-index:50;position:sticky;top:0;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;min-width:185px}.brand img{width:210px;height:62px;object-fit:contain}.nav{display:flex;gap:36px;align-items:center;margin-left:auto;margin-right:24px;font-size:14px}.nav a{display:inline-flex;min-height:44px;align-items:center;position:relative}.nav a:after{content:'';position:absolute;bottom:8px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav a:hover:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 27px;border:1px solid currentColor;font-size:14px;font-weight:500;transition:background .25s,color .25s,border-color .25s;text-align:center;line-height:1.5}.button-light{background:var(--paper);color:var(--forest);border-color:var(--paper)}.button-light:hover{background:#dce3d3;border-color:#dce3d3}.hero{height:calc(100svh - 100px);min-height:660px;max-height:1100px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;text-align:center;padding:65px var(--gutter) 120px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(12,23,16,.2),rgba(9,21,12,.34) 48%,rgba(9,21,12,.68))}.hero h1{font-family:var(--serif);font-size:clamp(72px,9.5vw,150px);letter-spacing:-.055em;line-height:1.07;text-shadow:0 2px 30px #12241955}.hero-content>p{font-family:var(--serif);font-size:clamp(28px,3.1vw,46px);line-height:1.22;margin-top:20px}.hero-content>p br{display:none}.hero-content .button{margin-top:35px}.hero-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.hero-bottom a:hover{text-decoration:underline;text-underline-offset:5px}.hero-bottom sup{font-size:10px}.section{padding:130px var(--gutter)}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:start}.intro-copy{padding-top:7px;max-width:525px;color:#d3d9cd;line-height:1.9}@media(min-width:1600px){.intro{gap:15%}}@media(max-width:1000px){.nav{gap:20px;margin-right:0}.header{gap:22px}.brand img{width:180px}.brand{min-width:160px}.intro{gap:8%}.section{padding-top:100px;padding-bottom:100px}}@media(max-width:760px){html{scroll-padding-top:88px}.header{height:80px;gap:14px}.brand{min-width:0;margin-right:auto}.brand img{width:150px;height:48px}.nav{display:none}.nav-toggle{display:block}.header-book{min-height:42px;padding:9px 13px;font-size:12px}.hero{min-height:610px;height:calc(92svh - 80px);padding-bottom:120px}.hero h1{font-size:clamp(59px,12vw,92px);line-height:1}.hero-content>p{font-size:32px;margin-top:26px}.hero-content>p br{display:block}.hero-bottom{display:grid;gap:4px;text-align:left;font-size:12px;bottom:24px}.hero .button{margin-top:29px}.intro{grid-template-columns:1fr;gap:32px}.intro-copy{max-width:100%;padding:0}.section{padding-top:78px;padding-bottom:78px}.intro h2{font-size:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Photographic composition and shared editorial rhythm. */
.brand{font-family:var(--serif);font-size:30px;line-height:1;letter-spacing:-.04em;min-width:205px;white-space:nowrap}.hero{align-items:flex-end;min-height:680px;padding-bottom:142px}.hero-images{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.2fr 1fr;z-index:-3;gap:3px;background:var(--forest)}.hero-images .hero-photo{position:static;height:100%;width:100%;object-fit:cover;min-width:0}.photo-terrasse{object-position:58% center}.photo-salle{object-position:50% center}.photo-cocktail{object-position:50% center}.hero-shade{background:linear-gradient(180deg,rgba(13,27,17,.04) 5%,rgba(13,27,17,.04) 25%,rgba(9,21,12,.52) 70%,rgba(9,21,12,.88))}.hero-content{position:relative;animation:hero-enter 1s ease-out both}.hero h1{font-size:clamp(78px,10.6vw,170px)}.hero-content>p{font-size:clamp(25px,2.6vw,40px);margin-top:14px}.hero-content .button{margin-top:26px}.button-dark{background:var(--forest);color:var(--paper);border-color:var(--forest)}.button-dark:hover{background:var(--sage);border-color:var(--sage)}.cuisine-section{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);color:var(--forest)}.cuisine-photo{overflow:hidden;min-height:740px}.cuisine-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 53%}.cuisine-copy{align-self:center;padding:86px clamp(42px,5.3vw,90px)}.cuisine-copy h2{font-size:clamp(42px,4.3vw,66px);margin-bottom:38px}.cuisine-copy p{color:#425044;font-size:15px;line-height:1.9}.cuisine-copy .button{margin-top:32px}.moments-heading{display:flex;justify-content:space-between;align-items:end;gap:80px;margin-bottom:64px}.moments-heading p{max-width:365px;color:#d3d9cd;padding-bottom:7px}.photo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.photo-grid figure:nth-child(2){padding-top:100px}.photo-grid figure:nth-child(3){padding-top:42px}.gallery-open{padding:0;border:0;background:none;display:block;width:100%;overflow:hidden;cursor:zoom-in}.gallery-open img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.gallery-open:hover img{transform:scale(1.045)}.photo-grid figcaption{font-family:var(--serif);font-size:24px;line-height:1.3;margin-top:20px;letter-spacing:-.01em}.reservation-section{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;background:#e9eadd;color:var(--forest);align-items:center}.reservation-copy>p{margin-top:28px;margin-bottom:20px;color:#465247}.text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;transition:opacity .2s;font-size:14px}.text-link:hover{opacity:.7}.private-note{border-top:1px solid #b9c2b1;margin-top:44px;padding-top:29px;max-width:450px}.private-note h3{font-family:var(--serif);font-size:31px;line-height:1.2;margin-bottom:14px}.private-note p{font-size:14px;color:#465247;line-height:1.85;margin-bottom:10px}.reservation-widget{justify-self:center;background:white;padding:22px 24px 16px;width:336px;max-width:100%;box-shadow:0 10px 55px rgba(21,42,25,.05)}.reservation-widget iframe{display:block;border:0;width:288px;max-width:100%;height:490px;background:#fff}.info-section{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;padding-bottom:105px}.info-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-top:10px}.info-details h3{font-family:var(--serif);font-size:30px;line-height:1.2;margin-bottom:20px}.info-details p,.info-details address{font-style:normal;color:#d3d9cd;line-height:1.9;font-size:15px}.info-details .text-link{margin-top:17px}.footer{padding:0 var(--gutter);background:var(--forest-deep)}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:55px;padding:62px 0 48px;align-items:center;font-size:14px;color:#c8d0c1}.footer-logo{width:210px;height:auto}.footer-links{display:flex;flex-direction:column;align-items:start;gap:3px}.footer-links a{min-height:36px;display:flex;align-items:center}.footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:75px;font-size:12px;color:#bdc7b8}.footer-bottom a{min-height:44px;display:flex;align-items:center}.lightbox{border:0;background:#102017;color:var(--paper);width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;padding:22px 34px;margin:0;inset:0}.lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px}.lightbox::backdrop{background:#102017}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;flex-shrink:0}.lightbox-top>span{font-family:var(--serif);font-size:28px}.lightbox button{background:transparent;color:inherit;border:0;min-height:44px;padding:8px 0;font-size:14px}.lightbox button:hover{text-decoration:underline;text-underline-offset:5px}.lightbox-image{min-height:0;max-height:calc(100dvh - 155px);max-width:100%;width:auto;object-fit:contain;flex:1}.lightbox-caption{font-family:var(--serif);font-size:24px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.menu-page{background:var(--paper);color:var(--forest)}.menu-page .header,.menu-page .mobile-nav{color:var(--paper)}.menu-hero{display:flex;justify-content:center;text-align:center;padding:72px var(--gutter);align-items:center;background:var(--forest);color:var(--paper)}.menu-hero h1{font-family:var(--serif);font-size:clamp(56px,6.4vw,96px);line-height:.98;letter-spacing:-.045em}.menu-hero p{font-size:15px;line-height:1.9;margin-top:28px;color:#d3d9cd}.menu-hero-photo{height:310px;width:100%;object-fit:cover;object-position:50% 46%}.menu-tabs{position:sticky;top:100px;z-index:30;display:flex;justify-content:center;gap:55px;padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid #c7ccbf}.menu-tabs a{display:flex;align-items:center;justify-content:center;min-height:83px;position:relative;font-size:15px;white-space:nowrap}.menu-tabs a[aria-selected=true]:after{position:absolute;content:'';height:2px;bottom:-1px;width:100%;background:var(--forest)}.menu-tabs a:hover{color:#52704c}.menu-content{padding:72px var(--gutter) 100px;max-width:1550px;margin-inline:auto}.menu-panel{scroll-margin-top:100px}.menu-panel[hidden]{display:none}.menu-categories{columns:2;column-gap:85px}.menu-category{break-inside:avoid;margin-bottom:54px;display:inline-block;width:100%}.menu-category h3{font-family:var(--serif);font-size:42px;letter-spacing:-.025em;line-height:1.05;padding-bottom:22px;border-bottom:1px solid #95a28f}.menu-category ul{list-style:none;margin:0;padding:0}.dish{padding:17px 0;border-bottom:1px solid #d7dace;display:flex;align-items:baseline;justify-content:space-between;gap:22px;font-size:15px;line-height:1.55}.dish-name{font-weight:500}.dish p{font-size:12px;font-weight:400;color:#5e695b;margin-top:5px;line-height:1.6}.dish-price{white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums}.category-note,.wine-note{font-size:14px;color:#54604e;margin-block:15px}.wine-note{margin:0 0 36px}.menu-book{padding:65px var(--gutter);border-top:1px solid #bdc6b5;display:flex;align-items:center;justify-content:space-between;gap:25px}.menu-book h2{font-size:58px}.legal-section{min-height:70vh;max-width:1100px}.legal-section h1{font-family:var(--serif);font-size:clamp(46px,5vw,82px);line-height:1.1;letter-spacing:-.04em;margin-bottom:35px}.legal-section h2{font-size:34px;margin-top:45px;margin-bottom:16px}.legal-section address{font-style:normal}.legal-section .button{margin-top:45px}.legal-section p{color:#d3d9cd}@keyframes hero-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){.hero{max-height:1100px}.intro,.moments,.reservation-section,.info-section{padding-inline:max(var(--gutter),calc((100vw - 1490px)/2))}.cuisine-copy p{font-size:16px}.cuisine-copy{max-width:750px}.cuisine-photo{max-height:950px}}
@media(max-width:1100px){.brand{min-width:175px;font-size:27px}.nav{gap:24px}.header{gap:22px}.cuisine-copy{padding:65px 42px}.cuisine-copy h2{font-size:49px}.cuisine-photo{min-height:740px}.info-section{gap:7%;grid-template-columns:.9fr 1fr}.info-details{gap:24px}.info-details .text-link{font-size:12px}.menu-categories{column-gap:48px}.menu-hero{gap:45px}.footer-main{gap:28px}.footer-logo{width:180px}}
@media(max-width:760px){.brand{font-size:25px;min-width:0}.hero{min-height:650px;max-height:840px;height:calc(95svh - 80px);padding-bottom:160px;align-items:flex-end}.hero-images{grid-template-columns:1fr 1fr;gap:2px}.hero-images .photo-cocktail{display:none}.hero-images .photo-terrasse{object-position:64% center}.hero-images .photo-salle{object-position:45% center}.hero h1{font-size:clamp(59px,12.5vw,92px);line-height:1.02;letter-spacing:-.055em}.hero-content>p{font-size:27px;max-width:285px;margin:20px auto 0;line-height:1.2}.hero-shade{background:linear-gradient(180deg,#0b1d1000 0%,#0b1d1010 30%,#0b1d10a1 66%,#0b1d10ee)}.hero-content .button{min-height:50px;margin-top:28px}.hero-bottom{font-size:11px;line-height:1.9}.intro h2{font-size:45px}.intro-copy{font-size:15px;line-height:1.9}.cuisine-section{grid-template-columns:1fr}.cuisine-photo{min-height:0;max-height:570px;aspect-ratio:1/1.05}.cuisine-photo img{object-position:50% 52%}.cuisine-copy{padding:58px var(--gutter) 68px}.cuisine-copy h2{font-size:46px;margin-bottom:27px}.cuisine-copy p{font-size:15px}.moments-heading{display:block;margin-bottom:38px}.moments-heading p{margin-top:28px;max-width:440px;font-size:15px}.photo-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.photo-grid figure:nth-child(2){padding-top:55px}.photo-grid figure:nth-child(3){padding-top:0;grid-column:1/-1}.photo-grid figure:nth-child(3) img{aspect-ratio:1.6;object-position:50% 50%}.photo-grid figcaption{font-size:21px;margin-top:15px}.reservation-section{grid-template-columns:1fr;gap:45px}.reservation-copy>p{font-size:15px}.reservation-widget{width:336px}.private-note{margin-top:30px;padding-top:26px}.private-note h3{font-size:29px}.info-section{grid-template-columns:1fr;gap:38px}.info-details{grid-template-columns:1fr 1fr;gap:20px;padding:0}.info-details h3{font-size:28px;margin-bottom:12px}.info-details p,.info-details address{font-size:14px}.info-details .text-link{font-size:12px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px;padding:42px 0}.footer-main>a{grid-column:1/-1}.footer-logo{width:180px}.footer-main>p:last-child{grid-column:1/-1}.footer-bottom{font-size:11px}.lightbox{padding:15px 20px}.lightbox-caption{font-size:18px;line-height:1.2}.lightbox-bottom{gap:18px}.lightbox button{font-size:12px}.menu-hero{grid-template-columns:1fr;gap:32px;padding:50px var(--gutter) 42px}.menu-hero h1{font-size:59px;line-height:1.02}.menu-hero p{font-size:14px;margin-top:24px}.menu-hero-photo{height:220px;object-position:50% 46%}.menu-tabs{top:80px;gap:0;justify-content:space-between;padding:0 24px;overflow-x:auto}.menu-tabs a{font-size:12px;min-height:66px;padding:0 8px}.menu-tabs a:first-child{padding-left:0}.menu-tabs a:last-child{padding-right:0}.menu-content{padding:44px var(--gutter) 26px}.menu-categories{columns:1}.menu-category{margin-bottom:40px}.menu-category h3{font-size:37px;padding-bottom:18px}.dish{font-size:14px;gap:15px;padding:16px 0}.dish-price{font-size:13px}.menu-book{padding:44px var(--gutter);flex-direction:column;align-items:flex-start}.menu-book h2{font-size:48px}.legal-section h1{font-size:48px}}
@media(max-width:370px){.header{padding-inline:18px;gap:12px}.brand{font-size:22px}.header-book{font-size:11px;padding:9px 10px}.nav-toggle{font-size:12px}.reservation-widget{padding:12px;width:312px;max-width:calc(100vw - 36px)}.reservation-section{padding-inline:18px}.hero h1{font-size:56px}.menu-tabs{padding-inline:16px}.menu-tabs a{font-size:11px}}

/* Keep the primary action concise and comfortable on narrow screens. */
.mobile-label{display:none}
@media(max-width:760px){.header{gap:16px}.desktop-label{display:none}.mobile-label{display:inline}.header-book{font-size:14px;min-height:44px;padding:10px 15px;white-space:nowrap}.nav-toggle{font-size:14px}.hero-bottom{font-size:12px}.footer-bottom{font-size:12px}}
@media(max-width:370px){.header{gap:12px}.header-book{font-size:13px;padding:10px 12px}.nav-toggle{font-size:13px}}
/* Readable body copy and menu prices at every viewport. */
.intro-copy,.cuisine-copy p,.moments-heading p,.reservation-copy>p,.private-note p,.info-details p,.info-details address,.menu-hero p,.dish{font-size:16px}
.dish p,.dish-price,.info-details .text-link,.menu-tabs a{font-size:14px}
.footer-links a{min-height:44px}
@media(max-width:760px){.menu-tabs{padding-inline:20px;gap:10px}.menu-tabs a{padding-inline:0}.photo-grid figcaption{font-size:22px}}
@media(max-width:370px){.reservation-section{padding-inline:16px}.reservation-widget{width:288px;max-width:100%;padding:16px 0 8px}}

.menu-tabs { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.menu-tabs::-webkit-scrollbar { display: none; }
.menu-tabs[hidden], .menu-status[hidden] { display: none; }
.menu-tabs a { flex: 0 0 auto; }
.menu-subcategory {
  margin: 24px 0 4px;
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 400;
  line-height: 1.25;
}
.menu-note { margin-bottom: 36px; white-space: pre-line; }
.category-note, .dish p { white-space: pre-line; }
.menu-status {
  margin: 32px var(--gutter) 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #c7ccbf;
  font-size: 14px;
  color: #54604e;
}
.menu-status button {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.menu-status button:disabled { opacity: .5; cursor: wait; }
.menu-empty, .menu-loading { min-height: 120px; }
@media (min-width: 761px) {
  .menu-tabs { justify-content: flex-start; }
  .menu-tabs a:first-child { margin-left: auto; }
  .menu-tabs a:last-child { margin-right: auto; }
}
@media (max-width: 760px) {
  .menu-hero { padding-block: 48px; }
}
@media (max-width: 370px) {
  .menu-tabs { padding-inline: 18px; gap: 8px; }
  .menu-tabs a { font-size: 13px; }
}

.reservation-booking {
  justify-self: center;
  width: 336px;
  max-width: 100%;
}
.reservation-note {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.75;
}
.reservation-note a {
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.legal-section h3 { margin-block: 22px 12px; font-weight: 500; }

/* Mobile navigation: a quiet two-line burger opens a full-screen menu. */
.nav-toggle {
  position: relative;
  display: none;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid rgba(244, 241, 233, .28);
  border-radius: 50%;
  background: transparent;
  color: var(--paper);
  transition: background .25s, border-color .25s, color .25s;
}
.nav-toggle:hover {
  background: rgba(244, 241, 233, .09);
  border-color: rgba(244, 241, 233, .65);
}
.burger-lines {
  position: relative;
  display: block;
  width: 23px;
  height: 18px;
}
.burger-lines > span {
  position: absolute;
  right: 0;
  top: 5px;
  width: 23px;
  height: 1px;
  background: currentColor;
  transform-origin: center;
  transition: width .3s, transform .3s cubic-bezier(.2, .7, .2, 1);
}
.burger-lines > span + span {
  top: 12px;
  width: 17px;
}
.nav-toggle:hover .burger-lines > span + span {
  width: 23px;
}
.nav-toggle[aria-expanded="true"] .burger-lines > span:first-child {
  transform: translateY(3.5px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .burger-lines > span + span {
  width: 23px;
  transform: translateY(-3.5px) rotate(-45deg);
}
.mobile-nav {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  color: var(--paper);
  background: transparent;
}
.mobile-nav:not([open]) { display: none; }
.mobile-nav::backdrop { background: transparent; }
.mobile-nav::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  height: 80px;
  background: var(--forest);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.mobile-nav-art {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(20, 39, 27, .97), rgba(20, 39, 27, .81)), url('./assets/salle.webp') center / cover;
  opacity: 0;
  transition: opacity .32s ease;
}
.mobile-nav.is-open .mobile-nav-art { opacity: 1; }
.mobile-nav-scroll {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: calc(100% - var(--nav-scrollbar-gap, 0px));
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.mobile-nav-top {
  position: sticky;
  top: 0;
  z-index: 1;
  flex: 0 0 auto;
  min-height: 80px;
}
.mobile-nav-top .header { width: 100%; }
.nav-toggle[aria-expanded="true"] {
  color: var(--forest);
  background: var(--paper);
  border-color: var(--paper);
}
.mobile-nav-links {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: clamp(32px, 7vh, 80px) var(--gutter);
}
.mobile-nav-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 12px 0;
  font-family: var(--serif);
  font-size: clamp(40px, 8.8vw, 68px);
  line-height: 1.1;
  letter-spacing: -.035em;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .25s, transform .4s cubic-bezier(.2, .7, .2, 1), color .2s;
}
.mobile-nav-link:last-child { font-style: italic; color: #c5d1bc; }
.mobile-nav-link > span {
  background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat;
  transition: background-size .3s;
}
.mobile-nav-link:hover > span { background-size: 100% 1px; }
.mobile-nav.is-open .mobile-nav-link {
  opacity: 1;
  transform: none;
  transition-delay: calc(var(--link-order) * 40ms), calc(var(--link-order) * 40ms), 0ms;
}
.mobile-nav-bottom {
  flex: 0 0 auto;
  margin: 0 var(--gutter);
  padding: 24px 0 max(28px, env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(244, 241, 233, .22);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.9;
  opacity: 0;
  transition: opacity .25s;
}
.mobile-nav-bottom p { margin: 0; }
.mobile-nav-bottom p span { color: #bfcbba; }
.mobile-nav-bottom sup { font-size: 10px; }
.mobile-nav-bottom > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 8px;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.mobile-nav.is-open .mobile-nav-bottom { opacity: 1; transition-delay: .14s; }
@media (max-width: 760px) {
  .header { gap: 12px; }
  .nav-toggle { display: flex; }
}
@media (max-width: 370px) {
  .header { gap: 10px; }
  .header .brand { font-size: 20px; }
  .header-book { padding-inline: 10px; }
  .mobile-nav-links { padding-inline: 24px; }
  .mobile-nav-link { font-size: 38px; }
}
@media (max-width: 760px) and (max-height: 560px) {
  .mobile-nav-links { padding-block: 20px; gap: 0; }
  .mobile-nav-link { padding-block: 8px; font-size: 36px; }
  .mobile-nav-bottom { padding-block: 16px; }
}
@media (min-width: 560px) and (max-width: 760px) and (max-height: 560px) {
  .mobile-nav-links { display: grid; grid-template-columns: 1fr 1fr; align-content: center; column-gap: 28px; }
  .mobile-nav-link { font-size: 34px; }
  .mobile-nav-bottom { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
  .mobile-nav-bottom > a { margin: 0; }
}
