/* Modernisation éditoriale — les contenus restent pilotés par WordPress. */
:root { --ink:#202824; --green:#779447; --green-dark:#45613f; --ivory:#faf9f5; --warm:#f2f0e9; --line:#d8d9cf; }
html { scroll-padding-top:88px; }
body { color:var(--ink); -webkit-font-smoothing:antialiased; }
h1,h2,h3 { text-wrap:balance; }
.site-header { background:#17241e; }
.site-nav a.is-active { color:#d7e7a8; box-shadow:inset 0 -2px #a9c477; }
.hero__shade { background:linear-gradient(90deg,rgba(8,23,17,.82),rgba(8,23,17,.46) 56%,rgba(8,23,17,.08)); }
.hero__content { padding-block:72px 84px; }
.hero h1 { font-size:clamp(4.4rem,8vw,8rem); }
.hero__lead { font-size:clamp(1.08rem,1.65vw,1.36rem); }
.button--primary { background:#91a961; color:#142017; }
.button--primary:hover { background:#b0c980; }
.specialties { padding-block:86px; }
.specialties__image { position:relative; }
.specialties__image::after { content:'Cuisine & partage · Prangins'; position:absolute; right:0; bottom:0; padding:13px 18px; background:#17241e; color:#fff; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.intro-section { background:#f1f3ea; padding-block:100px 90px; }
.intro-section__grid { align-items:start; }
.intro-section h2 { font-size:clamp(3.3rem,5.9vw,6rem); max-width:760px; }
.intro-section__gallery .gallery-grid { margin-top:54px; }
.chapter-nav { position:sticky; top:0; z-index:18; background:#fdfdf9; border-block:1px solid #d9dfd0; box-shadow:0 8px 22px #17241e0d; }
.chapter-nav__inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.chapter-nav a { min-width:0; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; gap:1px 10px; padding:19px 22px 18px; border-left:1px solid #e1e5db; transition:background .2s,color .2s; }
.chapter-nav a:last-child { border-right:1px solid #e1e5db; }
.chapter-nav a:hover,.chapter-nav a.is-active { background:#e7eddb; }
.chapter-nav a>span:first-child { grid-column:1/-1; color:#6b7d5c; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.chapter-nav strong { font:normal clamp(1.15rem,1.6vw,1.55rem)/1.1 Georgia,serif; }
.chapter-nav a>span:last-child { font-size:1.05rem; align-self:center; }
.food-section { padding:106px 0 126px; scroll-margin-top:82px; border-top:9px solid var(--section-accent); background:var(--section-bg); }
.food-section--aperitifs { --section-accent:#849e5b; --section-panel:#1f4438; --section-bg:#fcfbf7; --section-contrast:#d9e5c2; }
.food-section--menu { --section-accent:#b69a68; --section-panel:#3a3a2c; --section-bg:#f3f1e9; --section-contrast:#e6d9bb; }
.food-section--desserts { --section-accent:#bd866f; --section-panel:#65463f; --section-bg:#fcf7f2; --section-contrast:#f0d3c0; }
.food-section--fondue { --section-accent:#9aaf84; --section-panel:#23362d; --section-bg:#f0f2eb; --section-contrast:#d4e2c0; }
.section-spotlight { display:grid; grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr); min-height:470px; margin-bottom:62px; overflow:hidden; }
.section-heading { position:relative; background:var(--section-panel); color:#fff; min-height:470px; margin:0; padding:62px clamp(32px,4.2vw,64px) 56px; flex-direction:column-reverse; align-items:flex-start; justify-content:space-between; }
.section-heading .eyebrow { color:var(--section-contrast); margin-bottom:24px; }
.section-heading h2 { font-size:clamp(3.5rem,5.7vw,6rem); font-style:italic; letter-spacing:-.065em; margin-bottom:20px; }
.section-heading p:not(.eyebrow) { color:#f4f1e9; font-size:1.08rem; line-height:1.55; max-width:360px; }
.section-heading__number { display:block; font:700 .69rem Arial,Helvetica,sans-serif; letter-spacing:.2em; color:var(--section-contrast); border:1px solid currentColor; padding:9px 12px; }
.section-feature,.section-feature--right { display:block; position:relative; height:auto; min-height:470px; margin:0; background:#1a2820; }
.section-feature img,.section-feature--right img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; order:initial; }
.section-feature::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#0d1815ac); pointer-events:none; }
.section-feature>div { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:36px 42px; background:none; }
.section-feature span { color:#d8e7ba; }
.section-feature p { max-width:420px; font-size:clamp(1.4rem,2.1vw,2.1rem); }
.group-nav { display:flex; align-items:flex-start; gap:35px; padding:24px 0 25px; margin-bottom:62px; border-block:1px solid #c8d0c1; }
.group-nav>span { min-width:160px; padding-top:6px; color:#66795b; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.group-nav>div { display:flex; flex-wrap:wrap; gap:8px 26px; }
.group-nav a { border-bottom:1px solid transparent; color:#263b2d; font-size:.86rem; font-weight:700; }
.group-nav a:hover { border-bottom-color:currentColor; }
.group-nav a span { color:#6d8659; }
.menu-group { scroll-margin-top:112px; margin-bottom:78px; }
.menu-group h3 { display:flex; align-items:baseline; gap:18px; padding-bottom:19px; border-color:#aebdac; font-size:clamp(2rem,3.2vw,3rem); letter-spacing:-.035em; }
.menu-group h3::before { content:''; display:inline-block; width:9px; height:9px; flex:none; border-radius:50%; background:var(--section-accent); transform:translateY(-.18em); }
.menu-list { column-gap:64px; }
.menu-item { padding:20px 0 22px; transition:background .2s; }
.menu-item:hover { background:#ffffff80; }
.menu-item h4 { font-size:1.17rem; }
.menu-item__price { color:#425e39; font-size:.83rem; }
.gallery-grid { gap:26px 18px; margin-top:56px; }
.gallery-card a { aspect-ratio:1.2; }
.gallery-card img { transition:transform .45s; }
.gallery-card strong { font-size:1rem; }
.quantity-guide { background:#e8eddf; }
.practical { background:#1c2b23; }
.contact-section { background:#f4f3ec; }
.contact-section__form { box-shadow:0 20px 55px #182d2112; }
@media(max-width:900px) {
  .section-spotlight { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:390px; }
  .section-heading,.section-feature,.section-feature--right { min-height:390px; }
  .section-heading { padding:40px 32px; }
  .section-heading h2 { font-size:clamp(3.5rem,6vw,5rem); }
  .chapter-nav a { padding-inline:12px; }
}
@media(max-width:680px) {
  html { scroll-padding-top:76px; }
  .hero__content { padding-block:130px 80px; }
  .specialties { padding-block:65px; }
  .intro-section { padding-block:80px 70px; }
  .intro-section__gallery .gallery-grid { margin-top:34px; }
  .chapter-nav { overflow-x:auto; scrollbar-width:none; }
  .chapter-nav::-webkit-scrollbar { display:none; }
  .chapter-nav__inner { width:max-content; min-width:100%; grid-template-columns:repeat(4,minmax(115px,1fr)); }
  .chapter-nav a { padding:11px 13px 12px; }
  .chapter-nav a>span:first-child { font-size:.54rem; letter-spacing:.04em; }
  .chapter-nav strong { font-size:1rem; }
  .food-section { padding:64px 0 84px; scroll-margin-top:75px; border-top-width:7px; }
  .section-spotlight { display:block; margin-bottom:32px; }
  .section-heading { min-height:285px; padding:27px 26px 32px; }
  .section-heading h2 { font-size:clamp(3.5rem,13vw,5.4rem); margin-bottom:10px; }
  .section-heading .eyebrow { margin-bottom:9px; }
  .section-heading p:not(.eyebrow) { font-size:.95rem; }
  .section-feature,.section-feature--right { height:230px; min-height:0; }
  .section-feature img,.section-feature--right img { height:100%; position:absolute; }
  .section-feature>div { padding:18px 23px; }
  .section-feature p { font-size:1.35rem; margin-top:5px; }
  .group-nav { display:block; padding-block:20px; margin-bottom:45px; }
  .group-nav>span { display:block; padding:0 0 11px; }
  .group-nav>div { gap:6px 20px; }
  .group-nav a { font-size:.78rem; }
  .menu-group { margin-bottom:58px; scroll-margin-top:83px; }
  .menu-group h3 { font-size:2rem; }
  .menu-item h4 { font-size:1.05rem; }
  .gallery-grid { margin-top:36px; }
}
@media(max-width:390px) {
  .chapter-nav__inner { grid-template-columns:repeat(4,115px); }
  .section-heading { min-height:315px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button,.gallery-card img { transition:none; } }
