html{scroll-padding-top:90px}.scroll-header{position:fixed;inset:0 0 auto;height:80px;padding:8px 5vw;display:flex;flex-wrap:nowrap;gap:25px;background:#faf9f4f5;backdrop-filter:blur(12px);border-bottom:1px solid #d4ddc9;box-shadow:0 3px 20px #34472c0a;transform:translateY(-110%);visibility:hidden;transition:transform .25s ease,visibility .25s;z-index:40}.scroll-header.is-visible{transform:translateY(0);visibility:visible}.scroll-header .brand{flex-direction:row;gap:12px}.scroll-header .brand-logo{width:59px;height:59px}.compact-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-weight:700}.scroll-header nav{margin-left:auto}.scroll-header .call{font-size:13px}.welcome{background:#e7eddf;text-align:center;padding:36px 22px 32px;border-bottom:1px solid #cbd6c0;display:flex;flex-direction:column;align-items:center}.welcome-brand h1{margin:0;font-size:0;line-height:1}.welcome-brand img{display:block;width:clamp(190px,22vw,260px);height:auto;margin:auto;border-radius:50%}.welcome-brand>p{margin:15px 0 23px;font-size:14px;color:#43523b}.welcome-hours{border-top:1px solid #b7c5ab;padding-top:19px;min-width:370px;max-width:100%}.nonstop{font-size:10px;font-weight:700;letter-spacing:2px;color:#647956;margin-bottom:12px}.hours-pair{display:flex;justify-content:center;gap:40px}.hours-pair p{display:flex;flex-direction:column;gap:2px;margin:0}.hours-pair p+p{border-left:1px solid #bdcbb1;padding-left:40px}.hours-pair span{font-size:13px;color:#4c5a43}.hours-pair strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;line-height:1.3}.welcome-actions{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:24px}.welcome-actions .button{min-width:210px}.welcome-call{font-size:15px;font-weight:700;white-space:nowrap}.welcome-call span{margin-left:8px}.welcome-address{font-size:12px;color:#5d6a52;margin-top:18px;text-underline-offset:4px}.welcome-address:hover{text-decoration:underline}.menu-section{padding-top:48px}.skip:focus{z-index:100}
@media(max-width:720px){html{scroll-padding-top:115px}.scroll-header{height:auto;min-height:103px;display:grid;grid-template-columns:1fr auto;gap:5px 15px;padding:7px 18px 9px}.scroll-header .brand{gap:7px}.scroll-header .brand-logo{width:45px;height:45px}.compact-brand{font-size:20px}.scroll-header .call{font-size:10px;padding:8px}.scroll-header .call span{display:none}.scroll-header nav{grid-column:1/-1;order:unset;width:100%;margin:0;padding-top:7px;gap:10px;justify-content:space-between}.scroll-header nav a{font-size:12px}.welcome{padding:28px 20px 30px}.welcome-brand img{width:210px}.welcome-brand>p{font-size:12px;margin:13px 0 20px}.welcome-hours{min-width:0;width:100%;max-width:350px;padding-top:17px}.hours-pair{gap:23px}.hours-pair p+p{padding-left:23px}.hours-pair span{font-size:12px}.hours-pair strong{font-size:30px}.welcome-actions{gap:15px;flex-direction:column;margin-top:22px;width:100%;max-width:330px}.welcome-actions .button{width:100%}.welcome-call{font-size:17px}.welcome-address{font-size:11px;max-width:300px;margin-top:17px}.menu-section{padding-top:35px}}
@media(prefers-reduced-motion:reduce){.scroll-header{transition:none}}
@media(max-width:720px){.scroll-header .brand{grid-column:1;grid-row:1}.scroll-header .call{grid-column:2;grid-row:1}.scroll-header nav{grid-row:2}}
/* Accueil compact : horaires / identité / contact. */
.welcome{display:grid;grid-template-columns:1fr 280px 1fr;grid-template-rows:1fr 1fr;column-gap:40px;row-gap:8px;align-items:center;padding:24px max(5vw,calc((100vw - 1250px)/2));min-height:0}.welcome-brand{grid-column:2;grid-row:1/3}.welcome-brand img{width:150px}.welcome-brand>p{font-size:11px;margin:10px 0 0}.welcome-hours{grid-column:1;grid-row:1/3;border:0;padding:0;min-width:0;width:auto;max-width:none}.nonstop{font-size:9px;margin-bottom:12px}.hours-pair{display:block}.hours-pair p{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;max-width:290px;gap:18px;margin:0 auto 5px}.hours-pair p+p{padding:0;border:0}.hours-pair strong{font-size:25px}.welcome-actions{grid-column:3;grid-row:1;flex-direction:column-reverse;gap:12px;margin:0;align-self:end}.welcome-actions .button{min-width:180px;padding:9px 16px;min-height:42px;font-size:12px}.welcome-call{font-size:19px}.welcome-address{grid-column:3;grid-row:2;align-self:start;max-width:280px;justify-self:center;font-size:11px;margin-top:3px}.scroll-header{height:68px}.scroll-header .brand-logo{width:49px;height:49px}.compact-brand{font-size:22px}
@media(max-width:900px) and (min-width:721px){.welcome{grid-template-columns:1fr 210px 1fr;column-gap:20px;padding-left:25px;padding-right:25px}.hours-pair span{font-size:11px}.hours-pair strong{font-size:22px}.welcome-brand>p{font-size:10px}}
@media(max-width:720px){.welcome{grid-template-columns:120px 1fr;grid-template-rows:auto auto auto;gap:13px 18px;padding:20px}.welcome-brand{grid-column:1;grid-row:1}.welcome-brand img{width:105px}.welcome-brand>p{font-size:8px;line-height:1.4;margin-top:6px}.welcome-hours{grid-column:2;grid-row:1;width:100%}.nonstop{font-size:8px;letter-spacing:1.2px;margin-bottom:8px}.hours-pair p{flex-direction:column;align-items:center;gap:0;margin:0 0 6px}.hours-pair p+p{padding:0;border:0}.hours-pair span{font-size:11px}.hours-pair strong{font-size:23px;line-height:1.2}.welcome-actions{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:center;gap:17px;width:100%;max-width:none;align-self:auto}.welcome-actions .button{min-width:0;width:auto;flex:1;gap:10px;font-size:11px;padding:10px}.welcome-call{font-size:14px}.welcome-call span{margin-left:2px}.welcome-address{grid-column:1/-1;grid-row:3;font-size:10px;margin:0;max-width:none}.scroll-header{height:auto;min-height:92px}.scroll-header .brand-logo{width:38px;height:38px}.compact-brand{font-size:18px}}
/* Bandeau pleine largeur, sans bloc d’accueil supplémentaire. */
.welcome{grid-template-columns:1fr 260px 1fr;grid-template-rows:auto auto;column-gap:35px;row-gap:5px;padding:14px 5vw}.welcome-brand img{width:88px}.welcome-brand>p{font-size:9px;margin-top:5px}.welcome-hours{justify-self:center;width:100%;max-width:340px}.nonstop{font-size:8px;margin-bottom:5px}.hours-pair p{max-width:310px;margin-bottom:1px}.hours-pair span{font-size:12px}.hours-pair strong{font-family:'DM Sans',sans-serif;font-size:14px}.welcome-actions{margin:0;gap:0;align-self:end}.welcome-actions .button{display:none}.welcome-call{font-size:20px}.welcome-address{font-size:11px;max-width:280px;margin-top:0}.menu-section{padding-top:35px}
@media(max-width:900px) and (min-width:721px){.welcome{grid-template-columns:1fr 210px 1fr;column-gap:20px;padding-left:25px;padding-right:25px}.welcome-call{font-size:17px}.hours-pair span{font-size:11px}}
@media(max-width:720px){.welcome{grid-template-columns:95px 1fr;grid-template-rows:auto auto;gap:10px 16px;padding:14px 18px}.welcome-brand{grid-row:1/3;grid-column:1}.welcome-brand img{width:80px}.welcome-brand>p{font-size:7px;line-height:1.4}.welcome-hours{grid-row:1;grid-column:2;width:100%;align-self:end}.hours-pair p{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}.hours-pair span{font-size:10px}.hours-pair strong{font-size:12px}.nonstop{font-size:8px;margin-bottom:5px}.welcome-actions{grid-row:2;grid-column:2;align-self:start;justify-content:center}.welcome-call{font-size:16px}.welcome-address{grid-row:3;grid-column:1/-1;font-size:9px;width:100%;max-width:none;margin-top:0}.menu-section{padding-top:28px}}
/* Ordre du bandeau : logo à gauche, horaires au centre, contact à droite. */
@media(min-width:721px){.welcome{grid-template-columns:1fr 1fr 1fr}.welcome-brand{grid-column:1;grid-row:1/3;justify-self:start}.welcome-hours{grid-column:2;grid-row:1/3;justify-self:center}.welcome-actions{grid-column:3;justify-self:end}.welcome-address{grid-column:3;justify-self:end}.welcome-brand>p{text-align:center}.welcome-actions,.welcome-address{text-align:right}}
/* Une même grille centrée pour le bandeau, la navigation et le contenu. */
:root{--page-gutter:max(5vw,calc((100vw - 1400px)/2))}
.welcome,.scroll-header,.section,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
@media(min-width:721px){.welcome-brand{width:180px;justify-self:start}.welcome-brand img{margin-left:0;margin-right:auto}.welcome-brand>p{text-align:left}.scroll-header .brand{justify-content:flex-start}}
@media(max-width:720px){:root{--page-gutter:20px}.scroll-header .brand{justify-content:flex-start}}
/* Horaires mis en valeur et contact identifié. */
.welcome{padding-top:18px;padding-bottom:18px}.welcome-brand img{width:100px}.welcome-hours{background:#fafbf5;border:1px solid #aabb97;border-radius:10px;padding:13px 20px;max-width:360px;box-shadow:0 3px 9px #33462206}.nonstop{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#526741;margin-bottom:9px}.hours-pair p{max-width:none;margin:0;gap:18px;line-height:1.5}.hours-pair p+p{border-top:1px solid #e0e6d7;margin-top:7px;padding-top:7px}.hours-pair span{font-size:13px;color:#35422f}.hours-pair strong{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:700;letter-spacing:.1px;color:#263d21}.welcome-actions{flex-direction:column;gap:4px}.contact-label{font-size:12px;font-weight:600;color:#526246;margin:0}.welcome-call{font-size:22px}.welcome-address{font-size:12px}.welcome-actions .button{display:none}
@media(min-width:721px){.welcome-actions{align-items:flex-end}}
@media(max-width:900px) and (min-width:721px){.welcome{column-gap:20px}.welcome-hours{padding:12px}.hours-pair span{font-size:11px}.hours-pair strong{font-size:16px}.welcome-call{font-size:18px}.welcome-address{font-size:10px}}
@media(max-width:720px){.welcome{grid-template-columns:85px 1fr;gap:12px;padding-top:16px;padding-bottom:16px}.welcome-brand{grid-row:1;align-self:center}.welcome-brand img{width:80px}.welcome-hours{grid-row:1;padding:10px 12px;align-self:center;max-width:none}.nonstop{font-size:9px;letter-spacing:1px;margin-bottom:7px}.hours-pair span{font-size:10px}.hours-pair strong{font-size:15px}.hours-pair p{gap:8px}.hours-pair p+p{padding-top:6px;margin-top:6px}.welcome-actions{grid-column:1/-1;grid-row:2;flex-direction:row;gap:13px;align-items:center;justify-content:center}.contact-label{font-size:12px}.welcome-call{font-size:18px}.welcome-address{font-size:10px;grid-row:3}}
