@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/nacre/police-01.ttf) format('truetype');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/nacre/police-02.ttf) format('truetype');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/nacre/police-03.ttf) format('truetype');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/nacre/police-04.ttf) format('truetype');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/nacre/police-05.ttf) format('truetype');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/nacre/police-06.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/nacre/police-07.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/nacre/police-08.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/nacre/police-09.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/nacre/police-10.ttf) format('truetype');
}
@font-face {
  font-family: 'Tangerine';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/nacre/police-11.ttf) format('truetype');
}
@font-face {
  font-family: 'Tangerine';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/nacre/police-12.ttf) format('truetype');
}
/* Nacre : styles confinés à la surface du modèle. */
.apogeon-resto-nacre{--bg:#000000;--ink:#fcfefe;--accent:#faa61a;--surface:#171717;--display:"Hanken Grotesk",sans-serif;--cream:#feeec7;--muted:#d4d4d4;background:var(--bg);color:var(--ink);font-family:Inter,sans-serif;font-size:16px;font-weight:300;line-height:1.75;min-height:100vh;position:relative;isolation:isolate;overflow-x:clip;-webkit-font-smoothing:antialiased}
.apogeon-resto-nacre *{box-sizing:border-box}
.apogeon-resto-nacre [hidden]{display:none!important}
.apogeon-resto-nacre a{color:inherit;text-decoration:none}
.apogeon-resto-nacre button,.apogeon-resto-nacre input,.apogeon-resto-nacre textarea{font:inherit}
.apogeon-resto-nacre button{cursor:pointer}
.apogeon-resto-nacre button:disabled{cursor:default}
.apogeon-resto-nacre a:focus-visible,.apogeon-resto-nacre button:focus-visible,.apogeon-resto-nacre input:focus-visible,.apogeon-resto-nacre textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.apogeon-resto-nacre h1,.apogeon-resto-nacre h2,.apogeon-resto-nacre h3{font-family:var(--display);margin:0 0 24px;font-weight:300;line-height:1.25;overflow-wrap:anywhere}
.apogeon-resto-nacre h1{font-size:clamp(48px,5.333vw,82px);line-height:1}
.apogeon-resto-nacre h2{font-size:clamp(30px,3.733vw,58px);color:var(--cream);font-weight:400}
.apogeon-resto-nacre h3{font-size:30px;color:#fbc24e}
.apogeon-resto-nacre p{margin:0 0 24px;overflow-wrap:anywhere}
.apogeon-resto-nacre p:last-child{margin-bottom:0}
.apogeon-resto-nacre figure{margin:0;min-width:0}
.apogeon-resto-nacre img{display:block;max-width:100%;width:100%;height:auto}
.apogeon-resto-nacre .nc-container{width:calc(100% - 240px);max-width:1366px;margin-inline:auto}
.apogeon-resto-nacre .nc-section{padding-block:160px}
.apogeon-resto-nacre .rs-skip-link{position:fixed;top:8px;left:16px;z-index:3000;background:#fff;color:#000;padding:10px 20px;transform:translateY(-180%)}
.apogeon-resto-nacre .rs-skip-link:focus{transform:none}
.apogeon-resto-nacre .nc-header{position:relative;z-index:1000;padding:24px 32px}
.apogeon-resto-nacre .nc-header-grid{max-width:1366px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:3;min-height:50px}
.apogeon-resto-nacre .nc-brand{font:700 28px/1.15 var(--display);max-width:75%;overflow-wrap:anywhere;transition:opacity .35s}
.apogeon-resto-nacre .nc-brand:hover{opacity:.6}
.apogeon-resto-nacre .nc-menu-toggle{color:inherit;background:transparent;border:0;padding:8px 0;display:flex;gap:16px;align-items:center;text-transform:uppercase;font-size:16px;line-height:25px;flex:none}
.apogeon-resto-nacre .nc-hamburger{width:25px;height:10px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;position:relative}
.apogeon-resto-nacre .nc-hamburger i{display:block;width:25px;height:2px;background:currentColor;transition:transform .4s cubic-bezier(.645,.045,.355,1),width .3s ease-in-out}
.apogeon-resto-nacre .nc-hamburger i:last-child{width:15px}
.apogeon-resto-nacre .nc-menu-toggle:hover .nc-hamburger i:last-child{width:25px}
.apogeon-resto-nacre .nc-navigation{padding-top:24px;display:flex;gap:32px;align-items:center;justify-content:space-between}
.apogeon-resto-nacre .nc-nav-links{display:flex;gap:24px;flex-wrap:wrap}
.apogeon-resto-nacre .nc-menu-underlay{display:none}
.apogeon-resto-nacre .nc-header.nc-nav-ready{position:fixed;inset:0 0 auto;background:linear-gradient(#0009,transparent)}
.apogeon-resto-nacre .nc-nav-ready .nc-navigation{visibility:hidden;position:fixed;inset:0;background:#fafafa;color:#222;z-index:2;padding:130px max(6rem,calc((100vw - 1366px)/2)) 80px;display:flex;align-items:flex-end;overflow:auto;clip-path:inset(100% 0 0)}
.apogeon-resto-nacre .nc-nav-ready .nc-nav-links{flex-direction:column;gap:24px;align-items:flex-start}
.apogeon-resto-nacre .nc-nav-ready .nc-nav-links .nc-link{font-family:var(--display);font-size:clamp(32px,4.267vw,66px);font-weight:300;line-height:1.15;transition:opacity .6s,transform 1s ease;overflow-wrap:anywhere}
.apogeon-resto-nacre .nc-nav-ink{position:absolute;inset:0;color:#222;pointer-events:none}
.apogeon-resto-nacre .nc-nav-links .nc-link-label{color:#c2c2c2}
.apogeon-resto-nacre .nc-nav-ready .nc-nav-links:hover .nc-link:not(:hover){opacity:.3}
.apogeon-resto-nacre .nc-nav-ready .nc-nav-links .nc-link:hover{transform:translateX(40px)}
.apogeon-resto-nacre .nc-nav-ready .nc-menu-underlay{position:fixed;inset:0;background:#feeec7;display:block;visibility:hidden;clip-path:inset(100% 0 0)}
.apogeon-resto-nacre .nc-menu-open .nc-navigation,.apogeon-resto-nacre .nc-menu-open .nc-menu-underlay{visibility:visible;clip-path:inset(0)}
.apogeon-resto-nacre .nc-menu-open .nc-header-grid{color:#222;transition:color .1s .9s}
.apogeon-resto-nacre .nc-menu-open .nc-hamburger i:first-child{transform:translateY(4px) rotate(45deg)}
.apogeon-resto-nacre .nc-menu-open .nc-hamburger i:last-child{width:25px;transform:translateY(-4px) rotate(-45deg)}
.apogeon-resto-nacre .nc-reservation{font-size:24px}
.apogeon-resto-nacre .nc-link{position:relative;display:inline-block;overflow-wrap:anywhere;transition:opacity .35s}
.apogeon-resto-nacre .nc-link:hover{color:var(--accent)}
.apogeon-resto-nacre :is(.nc-button,.rs-bouton){font-family:var(--display);font-size:18px;line-height:1.5;font-weight:300;display:inline-flex;gap:12px;align-items:center;justify-content:center;border:1px solid currentColor;padding:12px 40px;background:transparent;color:var(--ink);text-align:center;transition:color .35s,background .35s;max-width:100%;overflow-wrap:anywhere}
.apogeon-resto-nacre :is(.nc-button,.rs-bouton):hover{background:var(--ink);color:#222}
.apogeon-resto-nacre .nc-outline .nc-arrow{display:none}
.apogeon-resto-nacre .nc-text-button{border:0;padding:0}
.apogeon-resto-nacre .nc-text-button:hover{background:transparent;color:var(--cream);opacity:.8}
.apogeon-resto-nacre .nc-arrow{width:24px;height:24px;flex:none;transition:transform .2s linear}
.apogeon-resto-nacre .nc-text-button:hover .nc-arrow{transform:translateX(6px)}
.apogeon-resto-nacre .nc-actions{display:flex;gap:32px;flex-wrap:wrap;align-items:center;margin-top:32px}
.apogeon-resto-nacre .nc-photo-frame{position:relative;overflow:hidden}
.apogeon-resto-nacre .nc-photo-frame img{object-fit:cover}
.apogeon-resto-nacre figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:10px 0 0;overflow-wrap:anywhere}
.apogeon-resto-nacre .nc-photo-mask{display:block;position:absolute;inset:0;background:#000;z-index:1;transform:translateX(-100%);pointer-events:none}
.apogeon-resto-nacre .nc-home-hero{position:relative;min-height:100svh;display:grid;align-items:center;background:#000}
.apogeon-resto-nacre .nc-backdrop{grid-area:1/1;align-self:stretch;display:grid;grid-template-rows:minmax(100svh,1fr) auto;overflow:hidden}
.apogeon-resto-nacre .nc-backdrop .nc-photo-frame{height:100%;min-height:100svh}
.apogeon-resto-nacre .nc-backdrop img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.apogeon-resto-nacre .nc-backdrop .nc-photo-frame:after{content:"";position:absolute;inset:0;background:#0005}
.apogeon-resto-nacre .nc-backdrop figcaption{padding:10px 16px;font-size:12px;color:var(--muted);background:#000}
.apogeon-resto-nacre .nc-home-content{grid-area:1/1;position:relative;width:calc(100% - 192px);padding-block:180px 100px;display:flex;flex-direction:column;align-items:center;gap:64px}
.apogeon-resto-nacre .nc-hero-headline{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:128px;width:100%}
.apogeon-resto-nacre .nc-hero-headline h1{margin:0}
.apogeon-resto-nacre .nc-hero-intro{font-family:var(--display);font-size:20px;font-weight:300;line-height:1.5;max-width:450px;margin:0}
.apogeon-resto-nacre .nc-city{font-size:18px;text-transform:uppercase;letter-spacing:1px;margin:0}
.apogeon-resto-nacre .nc-home-content .nc-actions{justify-content:center;margin:0}
.apogeon-resto-nacre .nc-home-hero.nc-no-photo{min-height:650px}
.apogeon-resto-nacre .nc-about-grid{display:grid;grid-template-columns:7fr 4fr;gap:8.333%}
.apogeon-resto-nacre .nc-about-left{display:flex;flex-direction:column;gap:80px}
.apogeon-resto-nacre .nc-about-left h2{margin:0}
.apogeon-resto-nacre .nc-sticky{position:sticky;top:110px}
.apogeon-resto-nacre .nc-prose{color:var(--muted);font-size:clamp(16px,1.2vw,19px);line-height:1.75;min-width:0}
.apogeon-resto-nacre .nc-prose h2{font-size:clamp(30px,3.2vw,48px);font-weight:300}
.apogeon-resto-nacre .nc-landscape img{aspect-ratio:40/27}
.apogeon-resto-nacre .nc-portrait img{aspect-ratio:4/5}
.apogeon-resto-nacre .nc-menu-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;max-width:1200px}
.apogeon-resto-nacre .nc-gallery-section{padding:0}
.apogeon-resto-nacre .nc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1606px;margin:auto;align-items:start}
.apogeon-resto-nacre .nc-gallery-open{display:block;min-width:0}
.apogeon-resto-nacre .nc-gallery-photo{display:grid;position:relative;isolation:isolate}
.apogeon-resto-nacre .nc-gallery-photo .nc-photo-frame{grid-area:1/1;min-width:0}
.apogeon-resto-nacre .nc-gallery-photo img{aspect-ratio:4/5;height:100%;object-fit:cover}
.apogeon-resto-nacre .nc-gallery-photo figcaption{grid-area:1/1;align-self:end;z-index:1;min-width:0;padding:16px 24px;color:#fff;font-size:14px;font-style:italic;text-align:right;filter:drop-shadow(0 2px 5px #0003);pointer-events:none}
.apogeon-resto-nacre .nc-gallery.nc-count-1{max-width:550px;grid-template-columns:1fr}
.apogeon-resto-nacre .nc-gallery.nc-count-2{max-width:1100px;grid-template-columns:repeat(2,minmax(0,1fr))}
.apogeon-resto-nacre .nc-inner-hero{padding-block:180px 0}
.apogeon-resto-nacre .nc-page-title{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:80px}
.apogeon-resto-nacre .nc-page-title h1{margin:0}
.apogeon-resto-nacre .nc-page-title p{font-size:20px;line-height:1.5;max-width:550px;color:var(--muted)}
.apogeon-resto-nacre .nc-wide-photo img{max-height:650px;aspect-ratio:1.85;object-fit:cover}
.apogeon-resto-nacre .nc-menu-hero{position:relative;min-height:100svh;display:grid;align-items:center;padding:0}
.apogeon-resto-nacre .nc-inner-content{grid-area:1/1;padding-block:150px 90px;position:relative;text-align:center;max-width:900px}
.apogeon-resto-nacre .nc-menu-hero .nc-photo-frame:after{background:#0009}
.apogeon-resto-nacre .nc-menu-hero h1{font-size:96px;font-weight:900}
.apogeon-resto-nacre .nc-inner-content p{font-size:18px;line-height:1.5;letter-spacing:1px;max-width:650px;margin-inline:auto}
.apogeon-resto-nacre .nc-inner-content .nc-actions{justify-content:center}
.apogeon-resto-nacre .nc-event-layout{display:grid;grid-template-columns:minmax(250px,40%) 1fr;align-items:center;perspective:1200px}
.apogeon-resto-nacre .nc-event-photo img{aspect-ratio:7/11;min-height:550px;scale:1;transition:scale .3s linear}
.apogeon-resto-nacre .nc-event-layout:hover .nc-event-photo img{scale:1.05}
.apogeon-resto-nacre .nc-event-copy{position:relative;background:#101010e6;padding:48px 48px 48px 64px;margin-left:-12%;backdrop-filter:blur(4px);z-index:1;transform-origin:left center}
.apogeon-resto-nacre .nc-event-copy h2{font-size:36px}
.apogeon-resto-nacre .nc-extra-photos{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:64px;align-items:center}
.apogeon-resto-nacre .nc-extra-photos.nc-count-1{grid-template-columns:minmax(0,1fr);max-width:650px;margin-inline:auto}
.apogeon-resto-nacre .nc-extra-photos img{max-height:650px}
.apogeon-resto-nacre .nc-no-photo .nc-menu-grid,.apogeon-resto-nacre .nc-no-photo .nc-event-layout{grid-template-columns:1fr;max-width:950px}
.apogeon-resto-nacre .nc-no-photo .nc-event-copy{margin:0;padding:0;background:none}
.apogeon-resto-nacre .nc-quote{padding:0;border:0;margin:48px 0 0;color:#fff9eb;font-size:24px;font-style:italic;font-family:var(--display);line-height:1.5}
.apogeon-resto-nacre .nc-quote cite{font-size:14px;font-style:normal}
.apogeon-resto-nacre .nc-doc-access{padding-top:0}
.apogeon-resto-nacre .nc-section-label{margin-bottom:64px}
.apogeon-resto-nacre .nc-document-groups{display:grid;gap:64px;grid-template-columns:1fr 1fr}
.apogeon-resto-nacre .nc-document-group{min-width:0}
.apogeon-resto-nacre .nc-document-group h2,.apogeon-resto-nacre .nc-document-group h3{font-size:30px;color:#fbc24e}
.apogeon-resto-nacre .nc-document{padding-block:16px;border-bottom:1px solid #404040}
.apogeon-resto-nacre .nc-document>.nc-link{display:flex;align-items:center;justify-content:space-between;gap:24px;font:300 24px/1.5 var(--display);color:var(--cream)}
.apogeon-resto-nacre .nc-document>.nc-link:hover .nc-arrow{transform:translateX(6px)}
.apogeon-resto-nacre .nc-document-photo{margin-top:24px;max-width:300px}
.apogeon-resto-nacre .nc-hours{margin:0;font-size:16px;line-height:1.5;width:100%}
.apogeon-resto-nacre .nc-hours>div{display:flex;justify-content:space-between;gap:24px;padding-block:10px}
.apogeon-resto-nacre .nc-hours dt{font-weight:300}
.apogeon-resto-nacre .nc-hours dd{margin:0;text-align:right;display:flex;flex-direction:column}
.apogeon-resto-nacre .nc-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.apogeon-resto-nacre .nc-practical-grid.nc-count-1{grid-template-columns:1fr;max-width:700px}
.apogeon-resto-nacre .nc-address{font-family:var(--display);font-size:30px;line-height:1.25;color:var(--cream)}
.apogeon-resto-nacre .nc-practical-actions{display:flex;gap:32px;flex-wrap:wrap;margin-top:24px}
.apogeon-resto-nacre .nc-contact-title{padding:180px 0 80px}
.apogeon-resto-nacre .nc-contact-panel{padding-top:0}
.apogeon-resto-nacre .nc-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}
.apogeon-resto-nacre .nc-contact-grid>.nc-contact-hours:only-child{max-width:700px;width:100%}
.apogeon-resto-nacre .nc-contact-grid:has(>:only-child){grid-template-columns:1fr}
.apogeon-resto-nacre .nc-contact-coordinates .nc-prose{margin-block:24px}
.apogeon-resto-nacre .nc-form-section{padding-top:0}
.apogeon-resto-nacre .nc-form-box{display:grid;grid-template-columns:4fr 7fr;gap:8.333%}
.apogeon-resto-nacre .rs-form{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.apogeon-resto-nacre .rs-champ{min-width:0}
.apogeon-resto-nacre .nc-field-wide{grid-column:1/-1}
.apogeon-resto-nacre .rs-champ label{display:block;font-size:18px;margin-bottom:12px}
.apogeon-resto-nacre input,.apogeon-resto-nacre textarea{width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #525252;border-radius:0;padding:12px 0;min-height:50px}
.apogeon-resto-nacre textarea{resize:vertical;min-height:120px}
.apogeon-resto-nacre .rs-bouton{justify-self:start}
.apogeon-resto-nacre .nc-questions{max-width:1000px}
.apogeon-resto-nacre .nc-question{border-top:1px solid #404040;padding-block:24px;min-height:80px}
.apogeon-resto-nacre .nc-question h3{font-size:22px;margin:0}
.apogeon-resto-nacre .nc-question button{padding:0;border:0;background:none;color:var(--ink);text-align:left;display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;font:inherit}
.apogeon-resto-nacre .nc-question button:after{content:"⌄";transition:transform .2s linear}
.apogeon-resto-nacre .nc-question button[aria-expanded=true]:after{transform:rotate(180deg)}
.apogeon-resto-nacre .nc-answer{padding-top:20px}
.apogeon-resto-nacre .nc-footer{padding:80px 0 48px;border-top:1px solid #262626}
.apogeon-resto-nacre .nc-footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr .8fr;gap:48px}
.apogeon-resto-nacre .nc-footer nav{display:flex;flex-direction:column;gap:12px}
.apogeon-resto-nacre .nc-footer-name{font:700 30px/1.2 var(--display);color:var(--cream)}
.apogeon-resto-nacre .nc-footer .nc-address{font-size:18px}
.apogeon-resto-nacre .nc-footer p{margin-bottom:14px}
.apogeon-resto-nacre .rs-legal{padding-block:180px 120px;max-width:1000px}
.apogeon-resto-nacre .rs-legal>section{margin-top:64px}
.apogeon-resto-nacre .rs-legal h2{font-size:30px}
.apogeon-resto-nacre .nc-lightbox{max-width:min(1100px,95vw);max-height:94svh;padding:20px;background:#080808;color:#fff;border:1px solid #333}
.apogeon-resto-nacre .nc-lightbox::backdrop{background:#000e}
.apogeon-resto-nacre .nc-lightbox img{height:75svh;width:auto;max-width:100%;object-fit:contain;margin:auto}
.apogeon-resto-nacre .nc-lightbox-controls{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.apogeon-resto-nacre .nc-lightbox-controls button{background:none;color:#fff;border:1px solid #555;padding:6px 14px}
.apogeon-resto-nacre .nc-await{opacity:0}
.apogeon-resto-nacre .nc-await[data-motion=wipe],.apogeon-resto-nacre .nc-await[data-motion=food],.apogeon-resto-nacre .nc-await[data-motion=image-left]{opacity:1}
.apogeon-resto-nacre .nc-await[data-motion=wipe] img{opacity:0}
.apogeon-resto-nacre .nc-await[data-motion=food] img{transform:scale(1.1)}
.apogeon-resto-nacre .nc-await[data-motion=image-left] img{opacity:0;transform:translateX(-100px)}
@media (max-width:991px){
.apogeon-resto-nacre .nc-container{width:calc(100% - 64px)}
.apogeon-resto-nacre .nc-section{padding-block:96px}
.apogeon-resto-nacre .nc-hero-headline{gap:64px}
.apogeon-resto-nacre .nc-home-content{gap:48px;padding-top:160px}
.apogeon-resto-nacre .nc-about-grid{gap:32px;grid-template-columns:1fr 1fr}
.apogeon-resto-nacre .nc-about-left{gap:48px}
.apogeon-resto-nacre .nc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.apogeon-resto-nacre .nc-menu-grid,.apogeon-resto-nacre .nc-extra-photos{gap:32px}
.apogeon-resto-nacre .nc-document-groups{gap:32px}
.apogeon-resto-nacre .nc-practical-grid,.apogeon-resto-nacre .nc-contact-grid{gap:48px}
.apogeon-resto-nacre .nc-footer-grid{grid-template-columns:2fr 1fr;gap:48px}
.apogeon-resto-nacre .nc-event-copy{padding:32px}
.apogeon-resto-nacre .nc-event-photo img{min-height:550px}
.apogeon-resto-nacre .nc-nav-ready .nc-navigation{padding:120px 48px 64px}
.apogeon-resto-nacre .nc-doc-access,.apogeon-resto-nacre .nc-contact-panel,.apogeon-resto-nacre .nc-form-section{padding-top:0}
}
@media (max-width:767px){
.apogeon-resto-nacre .nc-section{padding-block:80px}
.apogeon-resto-nacre .nc-home-content{gap:40px;padding-block:150px 72px}
.apogeon-resto-nacre .nc-hero-headline,.apogeon-resto-nacre .nc-page-title{grid-template-columns:1fr;gap:32px}
.apogeon-resto-nacre .nc-hero-headline h1{font-size:clamp(45px,9vw,66px)}
.apogeon-resto-nacre .nc-hero-intro{font-size:18px;max-width:none}
.apogeon-resto-nacre .nc-home-content .nc-actions{align-self:flex-start;gap:24px}
.apogeon-resto-nacre .nc-home-content .nc-city{align-self:flex-start}
.apogeon-resto-nacre .nc-menu-grid,.apogeon-resto-nacre .nc-about-grid{grid-template-columns:1fr;gap:40px}
.apogeon-resto-nacre .nc-sticky{position:static}
.apogeon-resto-nacre .nc-menu-grid>.nc-portrait{max-width:500px;width:100%}
.apogeon-resto-nacre .nc-reversed .nc-prose{order:2}
.apogeon-resto-nacre .nc-extra-photos{margin-top:40px;gap:24px}
.apogeon-resto-nacre .nc-event-layout{grid-template-columns:1fr}
.apogeon-resto-nacre .nc-event-photo{max-width:500px;width:100%}
.apogeon-resto-nacre .nc-event-photo img{min-height:0;max-height:550px}
.apogeon-resto-nacre .nc-event-photo:has(figcaption)+.nc-event-copy{margin-top:24px}
.apogeon-resto-nacre .nc-event-copy{margin:-64px 0 0 32px;backdrop-filter:blur(4px);padding:32px}
.apogeon-resto-nacre .nc-page-title{margin-bottom:48px}
.apogeon-resto-nacre .nc-inner-hero{padding-top:150px}
.apogeon-resto-nacre .nc-menu-hero{padding-top:0}
.apogeon-resto-nacre .nc-menu-hero h1{font-size:60px}
.apogeon-resto-nacre .nc-document-groups,.apogeon-resto-nacre .nc-practical-grid,.apogeon-resto-nacre .nc-contact-grid,.apogeon-resto-nacre .nc-form-box{grid-template-columns:1fr;gap:48px}
.apogeon-resto-nacre .nc-contact-title{padding-block:150px 64px}
.apogeon-resto-nacre .nc-nav-ready .nc-navigation{align-items:flex-start;justify-content:flex-end;flex-direction:column;gap:48px;padding:130px 32px 48px}
.apogeon-resto-nacre .nc-nav-ready .nc-nav-links .nc-link:hover{transform:translateX(16px)}
.apogeon-resto-nacre .nc-doc-access,.apogeon-resto-nacre .nc-contact-panel,.apogeon-resto-nacre .nc-form-section{padding-top:0}
}
@media (max-width:479px){
.apogeon-resto-nacre .nc-container{width:calc(100% - 32px)}
.apogeon-resto-nacre .nc-header{padding:20px 16px}
.apogeon-resto-nacre .nc-brand{font-size:24px}
.apogeon-resto-nacre .nc-toggle-label{display:none}
.apogeon-resto-nacre .nc-home-content{padding-top:135px}
.apogeon-resto-nacre .nc-hero-headline h1{font-size:14vw}
.apogeon-resto-nacre .nc-hero-intro{font-size:16px}
.apogeon-resto-nacre :is(.nc-button,.rs-bouton){padding:12px 24px;font-size:16px}
.apogeon-resto-nacre .nc-text-button{padding:0}
.apogeon-resto-nacre .nc-about-left{gap:32px}
.apogeon-resto-nacre .nc-gallery{grid-template-columns:1fr}
.apogeon-resto-nacre .nc-gallery.nc-count-2{grid-template-columns:1fr}
.apogeon-resto-nacre .nc-landscape img{height:250px;aspect-ratio:auto}
.apogeon-resto-nacre .nc-menu-grid>.nc-portrait img{height:250px;aspect-ratio:auto}
.apogeon-resto-nacre .nc-wide-photo img{height:300px;aspect-ratio:auto}
.apogeon-resto-nacre .nc-extra-photos{grid-template-columns:1fr}
.apogeon-resto-nacre .nc-event-copy{margin:-40px 0 0 16px;padding:24px}
.apogeon-resto-nacre .nc-event-copy h2{font-size:30px}
.apogeon-resto-nacre .nc-menu-hero h1{font-size:36px}
.apogeon-resto-nacre .rs-form{grid-template-columns:1fr}
.apogeon-resto-nacre .nc-hours{font-size:14px}
.apogeon-resto-nacre .nc-hours>div{gap:16px}
.apogeon-resto-nacre .nc-footer-grid{grid-template-columns:1fr}
.apogeon-resto-nacre .nc-footer{padding-top:48px}
.apogeon-resto-nacre .nc-lightbox{padding:10px}
.apogeon-resto-nacre .nc-lightbox-controls button{font-size:13px;padding:8px}
}
@media (prefers-reduced-motion:reduce){
.apogeon-resto-nacre *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
.apogeon-resto-nacre .nc-await,.apogeon-resto-nacre .nc-await[data-motion=wipe] img,.apogeon-resto-nacre .nc-await[data-motion=image-left] img{opacity:1}
.apogeon-resto-nacre .nc-await[data-motion=food] img,.apogeon-resto-nacre .nc-await[data-motion=image-left] img{transform:none}
.apogeon-resto-nacre .nc-event-layout:hover .nc-event-photo img{scale:1}
}

/* Enveloppes de composition : garder la géométrie validée dans l'atelier. */
.apogeon-resto-nacre .rs-bloc{display:contents}
.apogeon-resto-nacre .rs-form .rs-champ:has(textarea),.apogeon-resto-nacre .rs-form .rs-mention{grid-column:1/-1}
.apogeon-resto-nacre .rs-invalid{padding:32px;border:1px solid var(--accent)}
.apogeon-resto-nacre .rs-legal{width:89%;max-width:900px;margin-inline:auto}

@media(prefers-reduced-motion:reduce){.apogeon-resto-nacre *{transition:none!important;animation:none!important}}

/* Moteur, 08/10/2026, mot coupé (décision du propriétaire du 06/10 pour tous les modèles) : défaut de la maquette elle-même, mesuré pixel par pixel dans Chrome, dans le moteur ET dans la maquette, sur le contenu d'essai et sur les données de la maquette : « confidentialité » du titre de la politique de confidentialité se coupait au milieu, sans trait d'union, jusqu'à 333 px (overflow-wrap:anywhere de la maquette). Dans cette seule plage, l'article légal devient un conteneur de requêtes et le titre prend la plus petite de deux tailles : celle d'avant (48 px), ou la part de la largeur de sa colonne où tient ce mot, avec 1 % de marge (interligne relatif, il suit). Ailleurs rien ne change. */
@media(max-width:333px){.apogeon-resto-nacre .rs-legal[data-bloc-resto=page_politique_confidentialite]{container-type:inline-size}.apogeon-resto-nacre .rs-legal[data-bloc-resto=page_politique_confidentialite] h1{font-size:min(48px,15.99cqi)}}

/* Moteur, 08/10/2026, clignotement au chargement (le brief : « les animations jouées après hydratation sans clignotement » ; même remède que Braise, Tablée et Cocotte le 07/10) : défaut du portage, mesuré dans Chrome image par image. Dans la maquette, le script cache ce qu'il fait entrer avant le premier affichage ; dans le moteur, il n'arrive qu'à l'hydratation : le premier écran se peignait visible, se cachait, puis entrait. La feuille le cache donc d'emblée, seulement si le script est possible (scripting), 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-nacre-mouvements`, posé dans la même tâche que ses états de départ). Filet : tout réapparaît sans mouvement à 3 s si le script ne vient jamais. Sans JavaScript et en mouvement réduit, rien n'est caché. */
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.apogeon-resto-nacre:has(+ [data-mouvements-nacre]):not([data-nacre-mouvements]) [data-motion],.apogeon-resto-nacre:has(+ [data-mouvements-nacre]):not([data-nacre-mouvements]) .nc-home-hero:not(.nc-no-photo) .nc-photo-frame{opacity:0;animation:apogeon-resto-nacre-filet 1ms 3s forwards}}
@keyframes apogeon-resto-nacre-filet{to{opacity:1}}

/* Moteur, 08/10/2026, anneau de focus au clavier (décision du propriétaire du 07/10 : bien visible, aux couleurs du modèle, 3 pour 1 au moins sur son fond, `:focus-visible` seulement) : défaut de la maquette elle-même, mesuré au pixel dans Chrome. Dans le menu ouvert, panneau crème (#fafafa) et texte encre (#222), l'anneau ambre de la maquette (#faa61a) tombe à 1,91 pour 1 sur chaque lien, le nom et le bouton de fermeture : il y prend l'encre du menu. Dans la galerie, les photos se touchent, et chacune couvrait l'anneau de sa voisine focalisée : invisible. La photo focalisée passe devant ses voisines et son anneau devient double, aux couleurs de base du modèle : un trait noir de 2 px contre la photo, puis un trait ivoire (#fcfefe) de 2 px juste autour. Mesuré ensuite avec la photo du client remplacée par une image blanche : l'ambre tombe de 1,17 à 2,75 pour 1 sur les héros à photo (accueil, Le restaurant, La carte : « Réserver », « Voir la carte ») et sur la barre fermée, fixe, qui flotte sur la photo sous un simple dégradé (nom, bouton du menu, lien d'évitement). Là, l'anneau devient le même anneau double ; le menu ouvert garde l'encre. Ailleurs, rien ne change. */
.apogeon-resto-nacre .nc-menu-open :focus-visible{outline-color:#222}
.apogeon-resto-nacre .nc-gallery-open:focus-visible{position:relative;z-index:1;outline-color:#fcfefe;outline-offset:2px;box-shadow:0 0 0 2px #000}
.apogeon-resto-nacre .nc-header:not(.nc-menu-open) .nc-header-grid :focus-visible,.apogeon-resto-nacre .rs-skip-link:focus-visible,.apogeon-resto-nacre :is(.nc-home-hero,.nc-inner-hero):not(.nc-no-photo) :focus-visible{outline-color:#fcfefe;outline-offset:2px;box-shadow:0 0 0 2px #000}
