/*
 * FAUBOURG (maquette de l'atelier du 28/10/2026, validée par François-René).
 *
 * `atelier-templates/faubourg/src/faubourg.css` et `fonts.css`, règle pour
 * règle et valeur pour valeur, dans le même ordre. Chaque règle reste
 * confinée à `.apogeon-resto-faubourg`, la racine de la page composée.
 * Seuls changent les sélecteurs de ce que le moteur rend autrement que la
 * maquette, et ce qui le dit est écrit à côté :
 *  - la racine ne porte pas `fb-has-hero` : la condition est lue dans la page
 *    (`:has`, même spécificité qu'une classe) ;
 *  - chaque bloc est enveloppé par la page composée (`.rs-bloc`, sans boîte) :
 *    les voisinages `.fb-section+.fb-section` et `section+section` se lisent
 *    d'enveloppe à enveloppe ;
 *  - le lien d'évitement, le formulaire et les pages légales sont ceux du
 *    produit (`rs-skip-link`, `rs-form`, `rs-legal`), habillés comme
 *    `fb-skip`, `fb-form` et `fb-legal-page` ;
 *  - les jetons `--bg`, `--ink`, `--accent`, `--surface` et `--display`
 *    recopient l'habillage du registre (`habillage-racine.test.ts`) ;
 *  - les titres sont en Chonburi (licence OFL) et non en Fairwater Solid
 *    Serif, la police de la maquette, que la plateforme n'a pas le droit de
 *    servir (choix de FR, 29/10/2026). Son seul dessin est déclaré de 400 à
 *    600 : les titres, demandés en 600, le prennent tel quel, sans gras simulé.
 * Les deux blocs de la fin servent la première peinture, avant que le script
 * ne prenne la main ; ils ne changent rien au rendu une fois la page prête.
 */
@font-face{font-family:FaubourgChonburi;src:url('/fonts/faubourg/chonburi-regular.ttf') format('truetype');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:FaubourgRoboto;src:url('/fonts/faubourg/roboto-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:FaubourgRoboto;src:url('/fonts/faubourg/roboto-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
.apogeon-resto-faubourg{--bg:#fff;--ink:#777;--accent:#a93d35;--surface:#f7f7f7;--display:FaubourgChonburi,Georgia,serif;--fb-brick:#a93d35;--fb-ink:#777;--fb-paper:#f7f7f7;box-sizing:border-box;position:relative;min-height:100vh;padding:9px;background:#fff;color:var(--fb-ink);font:400 14px/1.75 FaubourgRoboto,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
.apogeon-resto-faubourg::after{content:"";position:fixed;inset:0;border:9px solid var(--fb-brick);z-index:30;pointer-events:none}
.apogeon-resto-faubourg *,.apogeon-resto-faubourg *::before,.apogeon-resto-faubourg *::after{box-sizing:border-box}
/* Les enveloppes de la page composée n'ont pas de boîte : la mise en page est celle de la maquette. */
.apogeon-resto-faubourg .rs-bloc{display:contents}
/* Sauf la cible du lien d'évitement : sans boîte, elle ne prend pas le focus (la maquette le pose sur `main`). Une boîte de bloc dans un bloc ne change pas la mise en page. */
.apogeon-resto-faubourg #contenu-principal{display:block}
.apogeon-resto-faubourg :where(h1,h2,h3,p,figure,blockquote,dl,dd){margin:0}
.apogeon-resto-faubourg :where(h1,h2,h3){font-family:FaubourgChonburi,Georgia,serif;font-weight:600;line-height:1.25;color:var(--fb-brick);text-transform:uppercase;word-break:normal;overflow-wrap:normal;hyphens:manual}
.apogeon-resto-faubourg h1{font-size:35px}.apogeon-resto-faubourg h2{font-size:29px}.apogeon-resto-faubourg h3{font-size:24px}
.apogeon-resto-faubourg :where(a,button,input,textarea){font:inherit}
.apogeon-resto-faubourg a{color:inherit;text-decoration:none}.apogeon-resto-faubourg button{cursor:pointer}
.apogeon-resto-faubourg :where(a,button,input,textarea,summary):focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #252525}
.apogeon-resto-faubourg [tabindex="-1"]:focus:not(:focus-visible){outline:none}
.apogeon-resto-faubourg [hidden]{display:none!important}
.apogeon-resto-faubourg img{display:block;width:100%;height:auto}
.apogeon-resto-faubourg .fb-container{width:min(100%,1200px);margin-inline:auto;padding-inline:36px;min-width:0}
.apogeon-resto-faubourg .fb-section{padding-block:72px}
/* `.fb-section+.fb-section` de la maquette, d'une enveloppe de bloc à la suivante. */
.apogeon-resto-faubourg .rs-bloc:has(>.fb-section:last-child)+.rs-bloc>.fb-section:first-child,.apogeon-resto-faubourg .fb-contact-shell+.rs-bloc>.fb-section:first-child{padding-top:0}
.apogeon-resto-faubourg .fb-header{position:relative;z-index:20;color:#222;background:#fff}
.apogeon-resto-faubourg:has(:where(.fb-home-hero,.fb-inner-hero):not(.fb-no-photo)) .fb-header{position:absolute;inset:9px 9px auto;background:transparent;color:#fff}
.apogeon-resto-faubourg .fb-header-grid{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:98px;padding-block:27px}
.apogeon-resto-faubourg .fb-brand{font:600 24px/1.2 FaubourgChonburi,Georgia,serif;text-transform:uppercase;color:var(--fb-brick);flex:1;max-width:48%}
.apogeon-resto-faubourg:has(:where(.fb-home-hero,.fb-inner-hero):not(.fb-no-photo)) .fb-brand{color:#fff}
.apogeon-resto-faubourg .fb-navigation{display:flex;align-items:center;justify-content:flex-end;gap:30px;flex-wrap:wrap}
.apogeon-resto-faubourg .fb-navigation a{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.6px;text-transform:uppercase;transition:color .3s}
.apogeon-resto-faubourg .fb-navigation a:hover,.apogeon-resto-faubourg .fb-navigation a[aria-current]{color:var(--fb-brick)}
.apogeon-resto-faubourg .fb-navigation a[aria-current]{text-decoration:none}
.apogeon-resto-faubourg .fb-menu-toggle{display:none;border:0;background:transparent;color:inherit;font-size:24px;min-height:44px;min-width:44px}
.apogeon-resto-faubourg .rs-skip-link{position:fixed;left:24px;top:12px;z-index:100;background:#fff;color:#222;padding:12px;transform:translateY(-200%)}
.apogeon-resto-faubourg .rs-skip-link:focus{transform:none}
.apogeon-resto-faubourg :is(.fb-button,.rs-bouton){display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:50px;padding:15px 30px;border:1px solid var(--fb-brick);border-radius:0;background:var(--fb-brick);color:#fff;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:1.2px;text-transform:uppercase;text-align:center;transition:background-color .2s,color .2s,border-color .2s}
.apogeon-resto-faubourg :is(.fb-button,.rs-bouton):hover{background:transparent;color:var(--fb-brick)}
.apogeon-resto-faubourg .fb-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:36px}
.apogeon-resto-faubourg .fb-home-hero,.apogeon-resto-faubourg .fb-inner-hero{position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;background:var(--fb-brick);overflow:clip}
.apogeon-resto-faubourg .fb-home-hero{min-height:100svh;padding-block:150px 120px;text-align:center}
.apogeon-resto-faubourg .fb-home-hero h1{font-size:clamp(35px,4vw,54px);color:inherit}
.apogeon-resto-faubourg .fb-hero-content{max-width:900px;position:relative;z-index:1}
.apogeon-resto-faubourg .fb-hero-content>p:not(.fb-city){max-width:620px;margin:22px auto 0;font-size:16px}
.apogeon-resto-faubourg .fb-city{font:400 24px/1.5 FaubourgChonburi,Georgia,serif;text-transform:uppercase;margin-top:8px}
.apogeon-resto-faubourg .fb-home-hero .fb-actions{justify-content:center}
.apogeon-resto-faubourg .fb-backdrop{position:absolute;inset:0;z-index:-2}
.apogeon-resto-faubourg .fb-backdrop .fb-photo-frame,.apogeon-resto-faubourg .fb-backdrop img{width:100%;height:100%}
.apogeon-resto-faubourg .fb-backdrop img{object-fit:cover}
.apogeon-resto-faubourg .fb-backdrop::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.23)}
.apogeon-resto-faubourg .fb-backdrop figcaption{position:absolute;bottom:18px;left:18px;right:18px;z-index:1;color:#fff;text-align:right;text-shadow:0 1px 3px #000;font-size:12px}
.apogeon-resto-faubourg .fb-home-hero .fb-button:hover,.apogeon-resto-faubourg .fb-inner-hero .fb-button:hover{border-color:#fff;color:#fff;background:rgba(0,0,0,.2)}
.apogeon-resto-faubourg .fb-inner-hero{min-height:60svh;padding-block:180px 72px;align-items:flex-end}
.apogeon-resto-faubourg .fb-inner-content h1{color:inherit}
.apogeon-resto-faubourg .fb-inner-content>p{max-width:660px;margin-top:24px}
.apogeon-resto-faubourg .fb-home-hero.fb-no-photo,.apogeon-resto-faubourg .fb-inner-hero.fb-no-photo{min-height:0;padding-block:72px;background:var(--fb-paper);color:var(--fb-ink)}
.apogeon-resto-faubourg .fb-no-photo h1{color:var(--fb-brick)}
.apogeon-resto-faubourg .fb-no-photo .fb-button:hover{border-color:var(--fb-brick);color:var(--fb-brick);background:transparent}
.apogeon-resto-faubourg .fb-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.apogeon-resto-faubourg .fb-split>*{min-width:0}
.apogeon-resto-faubourg .fb-panel{background:var(--fb-paper);padding:36px}
.apogeon-resto-faubourg .fb-split>.fb-panel{border-left:9px solid var(--fb-brick);display:flex;flex-direction:column;justify-content:center}
.apogeon-resto-faubourg .fb-prose p{margin-top:27px}.apogeon-resto-faubourg .fb-prose p:first-child{margin-top:0}
.apogeon-resto-faubourg .fb-photo-frame{overflow:hidden}
.apogeon-resto-faubourg figcaption{font-size:12px;line-height:1.6;margin-top:10px}
.apogeon-resto-faubourg .fb-editorial-photo{display:flex;flex-direction:column}
.apogeon-resto-faubourg .fb-editorial-photo .fb-photo-frame{flex:1;position:relative;min-height:480px;aspect-ratio:555/735}
.apogeon-resto-faubourg .fb-editorial-photo img{position:absolute;inset:0;height:100%;object-fit:cover}
.apogeon-resto-faubourg .fb-reverse .fb-editorial-photo{grid-column:2;grid-row:1}
.apogeon-resto-faubourg .fb-reverse .fb-panel{grid-column:1;grid-row:1;border-left:0;border-right:9px solid var(--fb-brick)}
.apogeon-resto-faubourg .fb-no-photo .fb-split{grid-template-columns:1fr}
.apogeon-resto-faubourg .fb-no-photo .fb-panel{grid-column:auto;grid-row:auto;border:0}
.apogeon-resto-faubourg .fb-secondary-photos{display:flex;gap:36px;margin-top:36px;align-items:flex-start}
.apogeon-resto-faubourg .fb-secondary-photos .fb-photo{flex:1;min-width:0}
.apogeon-resto-faubourg .fb-secondary-photos img{height:auto;object-position:top}
.apogeon-resto-faubourg .fb-quote-section{background:var(--fb-brick);color:#fff;padding-block:72px}
.apogeon-resto-faubourg .fb-quote{max-width:1000px;text-align:center}
.apogeon-resto-faubourg .fb-quote p{font:600 29px/1.4 FaubourgChonburi,Georgia,serif;text-transform:uppercase}
.apogeon-resto-faubourg .fb-quote cite{display:block;margin-top:24px;font-style:normal}
.apogeon-resto-faubourg .fb-document-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:36px}
.apogeon-resto-faubourg .fb-document-group>div{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px;margin-top:24px}
.apogeon-resto-faubourg .fb-document{max-width:100%}
.apogeon-resto-faubourg .fb-document>.fb-link{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 28px;border:1px solid var(--fb-brick);background:var(--fb-brick);color:#fff;font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;transition:color .2s,background-color .2s}
.apogeon-resto-faubourg .fb-document>.fb-link:hover{background:transparent;color:var(--fb-brick)}
.apogeon-resto-faubourg .fb-document-photo{max-width:250px;margin-top:18px}
.apogeon-resto-faubourg .fb-doc-access{background:var(--fb-paper);padding-top:72px!important;margin-bottom:72px}
.apogeon-resto-faubourg .fb-menu-documents{min-height:300px}
.apogeon-resto-faubourg .fb-menu-documents .fb-document-groups{margin-top:0}
.apogeon-resto-faubourg .fb-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;align-items:start}
.apogeon-resto-faubourg .fb-gallery.fb-masonry{grid-auto-rows:1px;row-gap:0}
.apogeon-resto-faubourg .fb-gallery-open{display:block;min-width:0;height:fit-content}
.apogeon-resto-faubourg .fb-gallery-photo .fb-photo-frame{position:relative}
.apogeon-resto-faubourg .fb-gallery-photo .fb-photo-frame::after{content:"";position:absolute;inset:0;background:var(--fb-brick);opacity:0;pointer-events:none;transition:opacity .3s .15s}
.apogeon-resto-faubourg .fb-gallery-photo img{transition:transform .3s cubic-bezier(.57,.21,.69,1)}
.apogeon-resto-faubourg .fb-gallery-open:hover img{transform:scale(1.05)}
.apogeon-resto-faubourg .fb-gallery-open:hover .fb-photo-frame::after{opacity:.25}
.apogeon-resto-faubourg .fb-gallery-open:focus-visible{outline-offset:3px}
.apogeon-resto-faubourg .fb-practical{background:var(--fb-paper);padding-top:72px!important}
.apogeon-resto-faubourg .fb-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.apogeon-resto-faubourg .fb-practical-grid>div{min-width:0}
.apogeon-resto-faubourg .fb-address{margin-bottom:16px}
.apogeon-resto-faubourg .fb-hours>div{display:grid;grid-template-columns:minmax(70px,1fr) minmax(0,1.4fr);gap:12px;padding-block:5px}
.apogeon-resto-faubourg .fb-hours dd span{display:block}
.apogeon-resto-faubourg .fb-contact-shell{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:start;padding-top:0}
.apogeon-resto-faubourg .fb-contact-left{padding:36px 45px 36px 0}
/* `.fb-contact-left>section+section` de la maquette, d'une enveloppe de bloc à la suivante. */
.apogeon-resto-faubourg .fb-contact-left>.rs-bloc+.rs-bloc>section{margin-top:36px}
.apogeon-resto-faubourg .fb-contact-coordinates .fb-button{margin-top:24px}
.apogeon-resto-faubourg .fb-form-section{border-left:9px solid var(--fb-brick);min-width:0}
/* Le formulaire du produit, habillé comme celui de la maquette (`fb-form`, `fb-field`, `fb-form-mention`, `fb-form-status`). */
.apogeon-resto-faubourg .rs-form{margin-top:36px}
.apogeon-resto-faubourg .rs-champ{margin-bottom:20px}
.apogeon-resto-faubourg .rs-champ label{display:block;margin-bottom:7px;color:#444}
.apogeon-resto-faubourg :where(input,textarea){display:block;width:100%;max-width:100%;border:1px solid #bbb;background:#fff;color:#222;border-radius:0;padding:12px;min-height:44px}
.apogeon-resto-faubourg textarea{resize:vertical}
/* La zone du message de la maquette a cinq lignes (`rows="5"`), celle du produit quatre : la hauteur de cinq lignes, padding et bordure compris. */
.apogeon-resto-faubourg .rs-champ textarea{height:calc(8.75em + 26px)}
.apogeon-resto-faubourg .rs-mention{margin-block:20px;font-size:12px}
.apogeon-resto-faubourg .rs-mention.gs-contact-etat{margin-block:18px 0;font-size:inherit}
.apogeon-resto-faubourg .fb-footer{padding-block:72px 36px;background:var(--fb-brick);color:#fff}
.apogeon-resto-faubourg .fb-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.apogeon-resto-faubourg .fb-footer-name{font:600 24px/1.3 FaubourgChonburi,Georgia,serif;text-transform:uppercase;margin-bottom:27px}
.apogeon-resto-faubourg .fb-footer nav{display:flex;flex-direction:column;gap:6px}
.apogeon-resto-faubourg .fb-footer-grid>nav{padding-top:6px}
.apogeon-resto-faubourg .fb-footer .fb-footer-legal{display:flex;flex-direction:row;gap:24px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid #ffffff60;font-size:12px}
.apogeon-resto-faubourg .fb-footer a:hover{text-decoration:underline}
.apogeon-resto-faubourg a[href^="mailto:"]{overflow-wrap:anywhere}
/* Les pages légales du produit (`rs-legal`), dans le cadre de `fb-legal-page fb-container`. */
.apogeon-resto-faubourg .rs-legal{width:min(100%,1200px);margin-inline:auto;padding-inline:36px;min-width:0}
.apogeon-resto-faubourg .rs-legal{padding-block:60px 72px}
.apogeon-resto-faubourg .rs-legal h1{max-width:100%;font-size:clamp(24px,3.4vw,35px)}
.apogeon-resto-faubourg .rs-legal>section{max-width:850px;margin-top:36px}
.apogeon-resto-faubourg .rs-legal p{margin-top:18px}
.apogeon-resto-faubourg .rs-legal-faits{max-width:850px;margin-top:36px}
.apogeon-resto-faubourg .rs-legal-faits dd+dt{margin-top:18px}
.apogeon-resto-faubourg .rs-invalide{width:min(100%,1200px);margin-inline:auto;padding:72px 36px}
.apogeon-resto-faubourg .fb-questions>div+div{margin-top:36px}
.apogeon-resto-faubourg .fb-questions p{margin-top:18px}
.apogeon-resto-faubourg .fb-lightbox{max-width:calc(100vw - 36px);width:min(1200px,calc(100vw - 36px));max-height:calc(100svh - 36px);border:0;padding:18px;background:#171717;color:#fff;overflow:auto}
.apogeon-resto-faubourg .fb-lightbox::backdrop{background:rgba(0,0,0,.88)}
.apogeon-resto-faubourg .fb-lightbox-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.apogeon-resto-faubourg .fb-lightbox-tools button{border:1px solid #fff;background:transparent;color:#fff;padding:8px 14px;min-height:44px}
.apogeon-resto-faubourg .fb-lightbox img{width:100%;height:auto;max-height:70svh;object-fit:contain}
.apogeon-resto-faubourg .fb-lightbox-controls{display:flex;gap:12px}
.apogeon-resto-faubourg .fb-lightbox figcaption{margin:12px 0 0;text-align:center}
@media(min-width:960px){.apogeon-resto-faubourg .fb-navigation{max-width:65%}}
@media(max-width:959px){
 .apogeon-resto-faubourg .fb-header-grid{flex-wrap:wrap;gap:18px;min-height:80px;padding-block:18px}
 .apogeon-resto-faubourg .fb-brand{font-size:22px;max-width:calc(100% - 70px)}
 .apogeon-resto-faubourg.fb-ready .fb-menu-toggle{display:block!important}
 .apogeon-resto-faubourg .fb-navigation{flex-basis:100%;align-items:flex-start;justify-content:flex-start;gap:18px}
 .apogeon-resto-faubourg.fb-ready .fb-navigation{display:none}
 .apogeon-resto-faubourg.fb-ready .fb-header.fb-open{background:#fff;color:#222}
 .apogeon-resto-faubourg.fb-ready .fb-header.fb-open .fb-brand{color:var(--fb-brick)}
 .apogeon-resto-faubourg.fb-ready .fb-open .fb-navigation{display:flex;flex-direction:column;gap:0;padding-block:6px}
 .apogeon-resto-faubourg .fb-navigation a{padding-block:12px}
 .apogeon-resto-faubourg .fb-split{grid-template-columns:1fr 1fr}
 .apogeon-resto-faubourg .fb-panel{padding:27px}
 .apogeon-resto-faubourg h2{font-size:26px}
 .apogeon-resto-faubourg .fb-editorial-photo .fb-photo-frame{min-height:400px;aspect-ratio:auto}
 .apogeon-resto-faubourg .fb-gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:27px}
 .apogeon-resto-faubourg .fb-footer-grid{gap:27px}
 .apogeon-resto-faubourg .fb-contact-left{padding-right:27px}
 .apogeon-resto-faubourg .fb-practical-grid{gap:36px}
}
@media(max-width:599px){
 .apogeon-resto-faubourg .fb-container,.apogeon-resto-faubourg .rs-legal{padding-inline:18px}
 .apogeon-resto-faubourg .fb-section{padding-block:48px}
 .apogeon-resto-faubourg .rs-bloc:has(>.fb-section:last-child)+.rs-bloc>.fb-section:first-child,.apogeon-resto-faubourg .fb-contact-shell+.rs-bloc>.fb-section:first-child{padding-top:0}
 .apogeon-resto-faubourg h1{font-size:30px}.apogeon-resto-faubourg h2{font-size:25px}.apogeon-resto-faubourg h3{font-size:22px}
 .apogeon-resto-faubourg .fb-home-hero{padding-block:150px 90px;min-height:100svh}
 .apogeon-resto-faubourg .fb-home-hero h1{font-size:35px}
 .apogeon-resto-faubourg .fb-hero-content>p:not(.fb-city){font-size:14px}
 .apogeon-resto-faubourg .fb-inner-hero{min-height:60svh;padding-block:140px 48px}
 .apogeon-resto-faubourg .fb-actions{gap:14px;margin-top:27px}
 .apogeon-resto-faubourg :is(.fb-button,.rs-bouton){padding-inline:22px}
 .apogeon-resto-faubourg .fb-split,.apogeon-resto-faubourg .fb-document-groups,.apogeon-resto-faubourg .fb-practical-grid,.apogeon-resto-faubourg .fb-contact-shell,.apogeon-resto-faubourg .fb-footer-grid{grid-template-columns:1fr}
 .apogeon-resto-faubourg .fb-split>.fb-panel,.apogeon-resto-faubourg .fb-reverse .fb-panel{grid-column:auto;grid-row:auto;border-left:0;border-right:0;border-top:9px solid var(--fb-brick)}
 .apogeon-resto-faubourg .fb-reverse .fb-editorial-photo{grid-column:auto;grid-row:auto}
 .apogeon-resto-faubourg .fb-editorial-photo .fb-photo-frame{min-height:0;aspect-ratio:555/735}
 .apogeon-resto-faubourg .fb-no-photo .fb-panel{border:0}
 .apogeon-resto-faubourg .fb-panel{padding:27px 22px}
 .apogeon-resto-faubourg .fb-gallery{grid-template-columns:1fr;gap:27px}
 .apogeon-resto-faubourg .fb-gallery.fb-masonry{row-gap:0}
 .apogeon-resto-faubourg .fb-secondary-photos{flex-direction:column;gap:27px;margin-top:27px}
 .apogeon-resto-faubourg .fb-secondary-photos .fb-photo{width:100%}
 .apogeon-resto-faubourg .fb-secondary-photos img{max-height:none}
 .apogeon-resto-faubourg .fb-doc-access{padding-top:48px!important;margin-bottom:48px}
 .apogeon-resto-faubourg .fb-document-groups{gap:36px}
 .apogeon-resto-faubourg .fb-practical{padding-top:48px!important}
 .apogeon-resto-faubourg .fb-contact-left{padding:18px 0 36px}
 .apogeon-resto-faubourg .fb-form-section{border-left:0;border-top:9px solid var(--fb-brick)}
 .apogeon-resto-faubourg .fb-quote-section{padding-block:48px}
 .apogeon-resto-faubourg .fb-quote p{font-size:25px}
 .apogeon-resto-faubourg .fb-footer{padding-block:48px 27px}
 .apogeon-resto-faubourg .fb-footer-grid{gap:27px}
 .apogeon-resto-faubourg .rs-legal{padding-top:36px}
 .apogeon-resto-faubourg .fb-lightbox-tools{flex-wrap:wrap}
 .apogeon-resto-faubourg .fb-lightbox-tools button{padding:8px}
}
@media(prefers-reduced-motion:reduce){.apogeon-resto-faubourg *{transition:none!important;animation:none!important}.apogeon-resto-faubourg *{scroll-behavior:auto!important}.apogeon-resto-faubourg [data-parallax]{transform:none!important}.apogeon-resto-faubourg .fb-gallery-open:hover img{transform:none}}
@media(max-width:359px){.apogeon-resto-faubourg .rs-legal h1{font-size:22px}}
@media(max-width:959px){.apogeon-resto-faubourg:has(:where(.fb-home-hero,.fb-inner-hero):not(.fb-no-photo)):not(.fb-ready) .fb-header{position:relative;inset:auto;color:#222;background:#fff}.apogeon-resto-faubourg:has(:where(.fb-home-hero,.fb-inner-hero):not(.fb-no-photo)):not(.fb-ready) .fb-brand{color:var(--fb-brick)}}
/*
 * Première peinture, 1 : dans la maquette, le script cache ce qu'il fait
 * entrer avant le premier affichage ; dans le moteur, il n'arrive qu'à
 * l'hydratation. La feuille le cache donc d'emblée, seulement si le script
 * est possible, si le mouvement n'est pas réduit et si l'îlot du modèle est
 * là (son repère suit la racine), jusqu'à ce que le script prenne la main
 * (`data-faubourg-mouvements`). Filet : tout réapparaît à 3 s si le script ne
 * vient jamais. Même remède que les onze autres modèles restaurant.
 */
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.apogeon-resto-faubourg:has(+ [data-mouvements-faubourg]):not([data-faubourg-mouvements]) [data-motion]{opacity:0;animation:apogeon-resto-faubourg-filet 1ms 3s forwards}}
@keyframes apogeon-resto-faubourg-filet{to{opacity:1}}
/*
 * Première peinture, 2 : sous 960 px, la maquette montre d'emblée l'en-tête
 * que son script prépare (bouton du menu, navigation repliée, en-tête posé
 * sur la photo). Sans ces règles, le moteur peindrait d'abord la version sans
 * script (navigation dépliée sur fond blanc) puis sauterait à l'hydratation.
 * Elles ne valent que script possible et îlot présent, avant `fb-ready`.
 */
@media (scripting:enabled) and (max-width:959px){
 .apogeon-resto-faubourg:has(+ [data-mouvements-faubourg]):not(.fb-ready) .fb-menu-toggle{display:block!important}
 .apogeon-resto-faubourg:has(+ [data-mouvements-faubourg]):not(.fb-ready) .fb-navigation{display:none}
 .apogeon-resto-faubourg:has(:where(.fb-home-hero,.fb-inner-hero):not(.fb-no-photo)):has(+ [data-mouvements-faubourg]):not(.fb-ready) .fb-header{position:absolute;inset:9px 9px auto;color:#fff;background:transparent}
 .apogeon-resto-faubourg:has(:where(.fb-home-hero,.fb-inner-hero):not(.fb-no-photo)):has(+ [data-mouvements-faubourg]):not(.fb-ready) .fb-brand{color:#fff}
}
