/* ═══════════════════════════════════════════════════════════
   LO PICHOTÒME — Direction artistique
   Univers : carte kraft, encre noire, braise du four à bois.
   Fil rouge : la spirale « bloc imprimé » de la carte.
   Palette  : ink (fond) · kraft/paper (papier) · flour (texte clair)
              ember (accent braise) · tomato (accent foncé) · gold (survol/croûte)
              olive (section « lieu »)
   Titres   : Abril Fatface (bois gravé) · script Pinyon · texte Lora
   ═══════════════════════════════════════════════════════════ */

:root{
  --ink:#18110b; --ink-2:#251a11;
  --kraft:#c9a572; --kraft-2:#dcc298; --paper:#efe2c6; --flour:#f8f0e0;
  --ember:#e0471c; --tomato:#a92e18; --gold:#f2ad40;
  --olive:#262c13; --olive-2:#363f1c;
  --ff-display:'Abril Fatface','Times New Roman',serif;
  --ff-script:'Pinyon Script','Snell Roundhand',cursive;
  --ff-text:'Lora',Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(1.25rem,4vw,4rem);
  --maxw:1440px;
  --nav-h:74px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--ink);color:var(--flour);font:400 1.0625rem/1.65 var(--ff-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;background:var(--grain);opacity:.09}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,p,figure,blockquote,address{margin:0}
address{font-style:normal}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--ember);color:var(--flour)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-4rem;z-index:2000;background:var(--gold);color:var(--ink);padding:.7rem 1rem;border-radius:.5rem;font-weight:700;transition:top .3s}
.skip:focus{top:1rem}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
main{overflow-x:clip}
[hidden]{display:none!important}

/* ── Typographie ───────────────────────────── */
.h2{font:400 clamp(2.6rem,7vw,7rem)/.96 var(--ff-display);letter-spacing:-.01em;text-wrap:balance}
.h2 .script,.script{font-family:var(--ff-script);font-weight:400;letter-spacing:0;color:var(--ember)}
.h2 .script{font-size:1.12em;line-height:.8;display:inline-block;padding:0 .06em}
.script.big{font-size:clamp(3.4rem,7vw,6.5rem);line-height:.9}
.kicker{display:flex;align-items:center;gap:.7em;font:600 .78rem/1 var(--ff-text);letter-spacing:.22em;text-transform:uppercase;color:var(--tomato);margin-bottom:1.2rem}
.kicker svg{width:1.2em;height:1.2em;color:var(--ember)}
.kicker--light{color:var(--flour)}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .04em .1em;margin:-.14em -.04em -.1em}
.wi,.c{display:inline-block;will-change:transform}
.script .w{padding:.34em .26em .42em;margin:-.34em -.26em -.42em}
.ulink{position:relative;display:inline-block;font-weight:600;letter-spacing:.02em}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:-.18em;height:1.5px;background:currentColor;transform-origin:left}
.ulink:hover::after{animation:ul .75s var(--ease)}
@keyframes ul{0%{transform-origin:right;transform:scaleX(1)}45%{transform-origin:right;transform:scaleX(0)}55%{transform-origin:left;transform:scaleX(0)}100%{transform-origin:left;transform:scaleX(1)}}

/* ── Boutons magnétiques ───────────────────── */
.btn{--bg:var(--ember);--fg:var(--flour);--fill:var(--ink);--fg-hover:var(--flour);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.8em;padding:1.05em 1.7em;border-radius:999px;font:700 .82rem/1 var(--ff-text);letter-spacing:.14em;text-transform:uppercase;color:var(--fg);background:var(--bg);border:2px solid var(--bg);overflow:hidden;isolation:isolate;cursor:pointer;transition:color .5s var(--ease),border-color .5s var(--ease);will-change:transform;white-space:nowrap}
.btn__fill{position:absolute;inset:-2px;background:var(--fill);border-radius:50% 50% 0 0/120% 120% 0 0;transform:translateY(102%);transition:transform .65s var(--ease),border-radius .65s var(--ease);z-index:-1}
.btn:hover .btn__fill,.btn:focus-visible .btn__fill{transform:translateY(0);border-radius:0}
.btn:hover,.btn:focus-visible{color:var(--fg-hover)}
.btn__label{position:relative;display:inline-block;will-change:transform}
.btn__ico{width:1.4em;height:1.4em;flex:none;transition:transform .5s var(--ease)}
.btn:hover .btn__ico{transform:translateX(.3em)}
.btn--ember{--bg:var(--ember);--fg:var(--flour);--fill:var(--ink)}
.btn--ink{--bg:var(--ink);--fg:var(--flour);--fill:var(--ember)}
.btn--paper{--bg:var(--paper);--fg:var(--ink);--fill:var(--ink);--fg-hover:var(--flour)}
.btn--ghost{--bg:transparent;--fg:var(--flour);--fill:var(--flour);--fg-hover:var(--ink);border-color:rgba(248,240,224,.7)}
.btn--ghost-dark{--bg:transparent;--fg:var(--ink);--fill:var(--ink);--fg-hover:var(--flour);border-color:var(--ink)}
.btn--sm{padding:.85em 1.3em;font-size:.74rem}
.btn--lg{padding:1.25em 2.1em;font-size:.88rem}
.btn--block{width:100%}

/* ── Loader ────────────────────────────────── */
.loader{position:fixed;inset:0;z-index:1000;pointer-events:all}
.no-js .loader{display:none}
.loader__panel{position:absolute;inset:0;background:var(--kraft);color:var(--ink);display:grid;place-items:center;will-change:transform}
.loader__panel::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.35}
.loader__center{position:relative;display:grid;justify-items:center;gap:1rem;text-align:center}
.loader__spiral{width:clamp(150px,24vw,260px);aspect-ratio:1;color:var(--ink);overflow:visible}
.loader__path{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.loader__ring{fill:none;stroke:currentColor;stroke-width:6.5;stroke-linecap:round;stroke-dasharray:0 .03571;opacity:0}
.loader__name{font:400 clamp(2.6rem,6vw,4.6rem)/1 var(--ff-script);color:var(--ink)}
.loader__count{font:600 .74rem/1 var(--ff-text);letter-spacing:.24em;text-transform:uppercase}
.loader__edge{position:absolute;left:0;right:0;bottom:-24px;height:24px;background:radial-gradient(circle at 24px 0,var(--kraft) 0 23.5px,transparent 24px) 0 0/48px 24px repeat-x}
html.loading,html.loading body{overflow:hidden}

/* ── Progression / curseur / FAB ───────────── */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1100;pointer-events:none}
.progress span{display:block;height:100%;background:var(--ember);transform:scaleX(0);transform-origin:left}
.cursor{position:fixed;left:0;top:0;z-index:9998;pointer-events:none;display:none}
.has-cursor .cursor{display:block}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor [data-cursor]{cursor:none}
.cursor__dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.cursor__ring{position:absolute;left:-24px;top:-24px;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;transition:background .3s,border-color .3s;will-change:transform}
.cursor__label{font:700 .6rem/1 var(--ff-text);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .25s;white-space:nowrap}
.cursor.is-label .cursor__ring{background:var(--gold)}
.cursor.is-label .cursor__label{opacity:1}
.fab{position:fixed;right:1rem;bottom:1rem;z-index:90;display:none;align-items:center;gap:.6em;background:var(--ember);color:var(--flour);padding:.95em 1.3em;border-radius:999px;font:700 .8rem/1 var(--ff-text);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.4);transform:translateY(160%);transition:transform .6s var(--ease)}
.fab svg{width:1.3em;height:1.3em}
.fab.is-in{transform:none}

/* ── Navigation ────────────────────────────── */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;gap:2rem;padding:1.1rem var(--pad);color:var(--flour);transition:transform .7s var(--ease),background .5s,padding .5s}
.nav.is-scrolled{background:rgba(24,17,11,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-block:.7rem}
.nav.is-hidden{transform:translateY(-110%)}
.nav__logo{font:400 2.2rem/1 var(--ff-script);margin-right:auto;position:relative;z-index:102}
.nav__links{display:flex;gap:clamp(1rem,2.2vw,2.2rem);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.nav__cta{z-index:102}
.burger{display:none;position:relative;z-index:102;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(248,240,224,.6)}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;transition:transform .5s var(--ease)}
.burger span:nth-child(1){top:19px}.burger span:nth-child(2){top:26px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
.overlay{position:fixed;inset:0;z-index:101;background:var(--ink);color:var(--flour);display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + 1rem) var(--pad) 2rem;clip-path:circle(0 at calc(100% - 44px) 40px);visibility:hidden;overflow:hidden}
.overlay__spiral{position:absolute;right:-30vw;bottom:-18vw;width:90vw;height:90vw;color:var(--kraft);opacity:.1}
.overlay__links{position:relative;display:grid;gap:.2rem}
.overlay__links a{display:flex;align-items:baseline;gap:1rem;font:400 clamp(2.4rem,11vw,4.6rem)/1.08 var(--ff-display);overflow:hidden}
.overlay__links a span{font:600 .7rem/1 var(--ff-text);letter-spacing:.2em;color:var(--gold)}
.overlay__links a>*{display:inline-block}
.overlay__foot{position:relative;margin-top:2.5rem;display:grid;gap:.4rem;font-size:.9rem;opacity:.85}
.overlay__foot a{font:400 1.8rem/1.1 var(--ff-display);color:var(--gold)}

/* ── HERO ──────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--flour);background:var(--ink);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:-7% 0;z-index:-4;will-change:transform}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__video--b{opacity:0}
.hero__shade{position:absolute;inset:0;background:radial-gradient(110% 80% at 72% 35%,rgba(24,17,11,.05),rgba(24,17,11,.82) 72%),linear-gradient(to top,var(--ink) 0,rgba(24,17,11,.55) 28%,rgba(24,17,11,0) 60%),rgba(24,17,11,.28)}
.hero__spirals{position:absolute;inset:0;z-index:-3;pointer-events:none}
.sp{position:absolute;color:var(--kraft);aspect-ratio:1;opacity:.17;will-change:transform}
.sp--a{width:clamp(340px,50vw,860px);left:-14vw;top:-6%}
.sp--b{width:clamp(260px,40vw,700px);right:-12vw;top:30%}
.sp--c{width:clamp(120px,15vw,260px);left:46%;top:14%;opacity:.28;color:var(--gold)}
.hero__embers{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.ember{position:absolute;bottom:-12px;width:var(--s,5px);height:var(--s,5px);border-radius:50%;background:radial-gradient(circle,var(--gold) 0,var(--ember) 60%,transparent 70%);opacity:0;will-change:transform,opacity}
.hero__content{position:relative;width:100%;max-width:var(--maxw);margin-inline:auto;padding:calc(var(--nav-h) + 5vh) var(--pad) clamp(7rem,16vh,10rem)}
.hero__kicker{color:var(--gold)}
.hero__kicker svg{color:var(--ember)}
.hero__title{display:flex;flex-direction:column;align-items:flex-start;line-height:.8;margin:.4rem 0 .6rem}
.hero__script{font:400 clamp(4.6rem,13vw,13.5rem)/.6 var(--ff-script);color:var(--gold);margin:0 0 -.12em .02em;transform:rotate(-5deg);transform-origin:left bottom;position:relative;z-index:2;display:block}
.hero__big{font:400 clamp(3.4rem,14.4vw,23rem)/.86 var(--ff-display);letter-spacing:-.025em;white-space:nowrap;text-transform:uppercase;color:var(--flour)}
.hero__tag{font:italic 400 clamp(1.4rem,3vw,2.6rem)/1.15 var(--ff-text);color:var(--gold);margin-top:.6rem}
.hero__lead{max-width:36rem;margin-top:1.2rem;font-size:clamp(1rem,1.3vw,1.2rem);color:rgba(248,240,224,.92)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hero__foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 var(--pad) 1.6rem}
.status{display:inline-flex;align-items:center;gap:.7em;padding:.7em 1.1em;border-radius:999px;background:rgba(24,17,11,.62);border:1px solid rgba(248,240,224,.25);font:600 .76rem/1.2 var(--ff-text);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(6px)}
.status__dot{width:.7em;height:.7em;border-radius:50%;background:#888;flex:none}
.status.is-open .status__dot{background:#5ad46a;box-shadow:0 0 0 0 rgba(90,212,106,.6);animation:pulse 2s infinite}
.status.is-closed .status__dot{background:var(--ember)}
@keyframes pulse{70%{box-shadow:0 0 0 .8em rgba(90,212,106,0)}100%{box-shadow:0 0 0 0 rgba(90,212,106,0)}}
.scrollhint{display:flex;flex-direction:column;align-items:center;gap:.6rem;font:600 .66rem/1 var(--ff-text);letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;color:rgba(248,240,224,.8)}
.scrollhint i{width:1px;height:48px;background:rgba(248,240,224,.5);position:relative;overflow:hidden}
.scrollhint i::after{content:"";position:absolute;inset:0;background:var(--gold);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
.stamp{position:relative;width:clamp(104px,12vw,168px);aspect-ratio:1;flex:none;color:var(--flour)}
.stamp__ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 28s linear infinite}
.stamp__ring text{font:700 15.5px var(--ff-text);letter-spacing:.06em;fill:currentColor}
.stamp__core{position:absolute;inset:22%;width:56%;height:56%;color:var(--gold)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── MARQUEE ───────────────────────────────── */
.marquee{position:relative;z-index:6;margin:1.2rem 0;transform:rotate(-1.6deg) scale(1.04);background:var(--ember);color:var(--ink);border-block:3px solid var(--ink)}
.marquee__row{display:flex;overflow:hidden;white-space:nowrap}
.marquee__row--alt{background:var(--flour);color:var(--ink);border-top:3px solid var(--ink)}
.marquee__inner{display:flex;flex:none;align-items:center;will-change:transform}
.marquee__inner span{font:400 clamp(1.7rem,4.2vw,3.8rem)/1 var(--ff-display);text-transform:uppercase;padding:.42em .5em;letter-spacing:.01em}
.marquee__inner svg{width:clamp(1.8rem,3.4vw,3.2rem);height:clamp(1.8rem,3.4vw,3.2rem);color:var(--ink);flex:none}
.marquee__row--alt .marquee__inner svg{color:var(--ember)}

/* ── SAVOIR-FAIRE (pinned) ─────────────────── */
.story{position:relative;background:var(--ink);color:var(--flour);padding-block:clamp(4rem,10vw,8rem) 2rem}
.story .kicker{color:var(--gold)}
.story__head{padding:0 var(--pad);margin-bottom:2.2rem;max-width:var(--maxw);margin-inline:auto}
.story__steps{display:grid;gap:3.5rem;padding:0 var(--pad)}
.step{display:grid;gap:1.3rem}
.step__bg{aspect-ratio:4/3;overflow:hidden;border-radius:1.2rem}
.step__bg img{width:100%;height:100%;object-fit:cover}
.step__num{font:400 4.5rem/.8 var(--ff-display);color:transparent;-webkit-text-stroke:1.5px var(--gold)}
.step__title{font:400 clamp(2.2rem,8vw,3.4rem)/1 var(--ff-display);margin:.4rem 0 .6rem}
.step__copy p{max-width:34rem;color:rgba(248,240,224,.9)}
.step__copy .ulink{margin-top:1rem;color:var(--gold)}
.story__rail,.story__spiral{display:none}

@media (min-width:900px) and (prefers-reduced-motion:no-preference){
  .story{padding:0}
  .story__pin{position:relative;height:100vh;height:100svh;overflow:hidden}
  .story__head{position:absolute;z-index:6;top:calc(var(--nav-h) + 1.6rem);left:var(--pad);right:var(--pad);margin:0;max-width:none}
  .story__head .h2{font-size:clamp(2.4rem,5vw,5rem)}
  .story__steps{display:block;padding:0}
  .step{position:absolute;inset:0;display:block;opacity:0}
  .step.is-active{opacity:1}
  .step__bg{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
  .step__bg img{scale:1.1;animation:kb 26s ease-in-out infinite alternate}
  .step__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,17,11,.95) 0,rgba(24,17,11,.35) 55%,rgba(24,17,11,.55) 100%),linear-gradient(to right,rgba(24,17,11,.75),rgba(24,17,11,0) 70%)}
  .step__copy{position:absolute;left:var(--pad);bottom:11vh;max-width:min(580px,50vw);z-index:3}
  .step__num{display:block;font-size:clamp(6rem,15vw,14rem);-webkit-text-stroke-width:2px;margin-bottom:.12em}
  .step__title{font-size:clamp(2.8rem,5.4vw,5rem)}
  .story__rail{display:flex;position:absolute;z-index:6;right:var(--pad);bottom:11vh;align-items:center;gap:1.2rem;flex-direction:column;font:600 .8rem/1 var(--ff-text);letter-spacing:.2em}
  .story__count b{font:400 clamp(3rem,6vw,5.5rem)/1 var(--ff-display);color:var(--gold);letter-spacing:0}
  .story__line{display:block;width:2px;height:22vh;background:rgba(248,240,224,.25);position:relative;overflow:hidden}
  .story__line i{position:absolute;inset:0;background:var(--ember);transform:scaleY(0);transform-origin:top}
  .story__spiral{display:block;position:absolute;z-index:2;right:-14vw;top:50%;width:58vw;height:58vw;margin-top:-29vw;color:var(--kraft);opacity:.13;pointer-events:none}
}
@keyframes kb{from{scale:1.1;translate:0 0}to{scale:1.22;translate:-1.5% -1.5%}}

.scallop{height:24px;background-color:var(--to);background-image:radial-gradient(circle at 24px 0,var(--from) 0 23.5px,transparent 24px);background-size:48px 24px;background-repeat:repeat-x;margin-top:-1px;position:relative;z-index:3}

/* ── LES INCONTOURNABLES (horizontal) ──────── */
.hs{background:var(--kraft);color:var(--ink);position:relative}
.hs::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.22;pointer-events:none}
.hs .h2 .script{color:var(--tomato)}
.hs__pin{position:relative;padding-block:clamp(3.5rem,8vw,6rem)}
.hs__track{display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 1.2rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hs__track::-webkit-scrollbar{display:none}
.hs__track>*{flex:0 0 min(84vw,380px);scroll-snap-align:center}
.hs__intro{flex-basis:min(88vw,520px)!important;align-self:center;padding-right:1rem}
.hs__lead{margin-top:1.4rem;max-width:30rem}
.hs__hint{display:flex;align-items:center;gap:.6em;margin-top:1.6rem;font:700 .75rem/1 var(--ff-text);letter-spacing:.2em;text-transform:uppercase}
.hs__hint svg{width:1.6em;height:1.6em;animation:nudge 1.6s var(--ease) infinite}
@keyframes nudge{50%{transform:translateX(.5em)}}
.hs__outro{display:grid;gap:1.4rem;align-content:center;justify-items:start;padding:0 1rem}
.hs__outro .script{color:var(--tomato)}
.card{position:relative;display:flex;flex-direction:column;min-height:30rem;border-radius:1.6rem;overflow:hidden;background:var(--ink);color:var(--flour);box-shadow:0 24px 50px -24px rgba(24,17,11,.65)}
.card--paper{background:var(--paper);color:var(--ink)}
.card--ink{background:var(--tomato);color:var(--flour)}
.card__img{flex:1 1 55%;min-height:13rem;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s var(--ease)}
.card:hover .card__img img{scale:1.08}
.card__body{display:grid;gap:.5rem;padding:1.3rem 1.5rem 1.6rem;position:relative;z-index:2}
.card__tag{font:700 .68rem/1.3 var(--ff-text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.card--paper .card__tag{color:var(--tomato)}
.card h3{font:400 clamp(1.8rem,2.4vw,2.4rem)/1 var(--ff-display)}
.card p{font-size:.98rem;line-height:1.5;opacity:.92}
.card__price{font:400 clamp(1.5rem,2vw,2rem)/1 var(--ff-display)!important;color:var(--gold);opacity:1!important;margin-top:.3rem}
.card__price small{font:italic 400 .9rem var(--ff-text);color:inherit;opacity:.8;margin-inline:.2em}
.card--paper .card__price{color:var(--tomato)}
.card--ornate{justify-content:flex-end}
.card--ornate .card__tag{color:var(--ink)}
.card--ornate .card__price{color:var(--ink)}
.card__spiral{position:absolute;right:-30%;top:-8%;width:110%;aspect-ratio:1;color:var(--ink);opacity:.22}
.card__script{font:400 clamp(3.6rem,6vw,5.6rem)/.9 var(--ff-script)!important;color:var(--gold)}
.tilt{transform-style:preserve-3d;will-change:transform}
.glare{position:absolute;left:0;top:0;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.5),rgba(255,255,255,0));opacity:0;pointer-events:none;z-index:4;will-change:transform,opacity}

@media (min-width:900px) and (prefers-reduced-motion:no-preference){
  .hs__pin{height:100vh;height:100svh;padding:0;display:flex;align-items:center;overflow:hidden}
  .hs__track{overflow:visible;scroll-snap-type:none;padding:0 var(--pad);gap:clamp(1.2rem,2.4vw,2.8rem);width:max-content;will-change:transform}
  .hs__track>*{flex:0 0 auto;scroll-snap-align:none}
  .hs__intro{flex-basis:auto!important;width:min(42vw,560px)}
  .card{width:clamp(300px,25vw,430px);height:min(70vh,640px);min-height:0}
  .hs__outro{width:min(34vw,420px)}
}

/* ── CHIFFRES ──────────────────────────────── */
.stats{position:relative;background:var(--paper);color:var(--ink);padding-block:clamp(4rem,10vw,9rem);overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.18;pointer-events:none}
.stats__spiral{position:absolute;right:-10vw;top:-12vw;width:46vw;height:46vw;color:var(--kraft);opacity:.5}
.stats .wrap{position:relative}
.stats__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.6rem;margin-top:clamp(2.5rem,5vw,4.5rem)}
.stat{position:relative;padding-top:1.4rem;display:grid;gap:.9rem;align-content:start}
.stat::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ink);transform-origin:left;transform:scaleX(var(--line,1))}
.stat__num{display:flex;align-items:flex-end;gap:.1em;font:400 clamp(3.6rem,10vw,9.5rem)/.85 var(--ff-display);letter-spacing:-.02em}
.stat__num small{font-size:.38em;color:var(--tomato);letter-spacing:0;line-height:1.15;padding-bottom:.12em}
.stat__label{font-size:.98rem;line-height:1.4}
.stat__label em{display:block;margin-top:.3em;font-style:italic;color:var(--tomato);font-weight:600}
@media (min-width:900px){.stats__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}}

/* ── PALMARÈS ──────────────────────────────── */
.palm{background:var(--ink);color:var(--flour);padding-block:clamp(4rem,10vw,9rem) clamp(5rem,10vw,9rem)}
.palm .kicker{color:var(--gold)}
.palm__wrap{display:grid;gap:2.5rem}
.palm__lead{margin:1.4rem 0 1.2rem;max-width:28rem;color:rgba(248,240,224,.85)}
.palm__head .ulink{color:var(--gold)}
.medal{position:relative;display:grid;gap:.4rem;padding:clamp(1.6rem,4vw,3.4rem) 0;border-top:1px solid rgba(248,240,224,.2)}
.medal:last-child{border-bottom:1px solid rgba(248,240,224,.2)}
.medal__year{font:400 clamp(4.4rem,13vw,12rem)/.85 var(--ff-display);color:transparent;-webkit-text-stroke:1.5px var(--kraft);transition:color .6s var(--ease),-webkit-text-stroke-color .6s;will-change:transform}
.medal.is-in .medal__year{color:var(--ember);-webkit-text-stroke-color:var(--ember)}
.medal__body{max-width:36rem}
.medal h3{font:400 clamp(1.4rem,2.2vw,2rem)/1.1 var(--ff-display);margin-bottom:.5rem}
.medal p b{color:var(--gold);font-weight:600}
@media (min-width:900px){
  .palm__wrap{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:5vw}
  .palm__head{position:sticky;top:18vh;align-self:start}
  .medal{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:2rem}
}

/* ── GALERIE ───────────────────────────────── */
.gal{background:var(--paper);color:var(--ink);padding-block:clamp(4rem,9vw,8rem) clamp(3rem,6vw,5rem);position:relative}
.gal::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.18;pointer-events:none}
.gal .kicker{color:var(--tomato)}
.gal .h2 .script{color:var(--tomato)}
.gal__grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;padding:0 var(--pad);max-width:var(--maxw);margin:clamp(2rem,5vw,4rem) auto 0}
.frame{position:relative;overflow:hidden;border-radius:1.1rem;background:var(--kraft-2);will-change:transform}
.frame__mask{position:relative;overflow:hidden;aspect-ratio:var(--ar,4/5)}
.frame img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;will-change:transform;transition:scale 1.3s var(--ease)}
.frame:hover img{scale:1.07}
.frame figcaption{position:absolute;left:.9rem;bottom:.9rem;z-index:3;background:var(--ink);color:var(--flour);padding:.5em 1em;border-radius:999px;font:700 .68rem/1 var(--ff-text);letter-spacing:.14em;text-transform:uppercase;transform:translateY(220%);transition:transform .6s var(--ease)}
.frame:hover figcaption,.frame:focus-within figcaption{transform:none}
.frame--a{--ar:4/5}.frame--b{--ar:1/1}.frame--c{--ar:4/5}.frame--d{--ar:1/1}.frame--e{--ar:4/3;grid-column:span 2}.frame--f{--ar:4/5}.frame--g{--ar:4/5}
.gal__credit{position:relative;margin-top:2rem;font-size:.82rem;font-style:italic;opacity:.7}
@media (min-width:900px){
  .gal__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);align-items:start}
  .frame--a{grid-column:1/6;--ar:4/5}
  .frame--b{grid-column:7/11;--ar:1/1;margin-top:9vw}
  .frame--c{grid-column:3/8;--ar:5/4;margin-top:-4vw}
  .frame--d{grid-column:9/13;--ar:4/5;margin-top:2vw}
  .frame--e{grid-column:1/5;--ar:1/1;margin-top:-1vw}
  .frame--f{grid-column:5/9;--ar:4/5;margin-top:5vw}
  .frame--g{grid-column:9/13;--ar:1/1;margin-top:1vw}
}

/* ── LE LIEU ───────────────────────────────── */
.lieu{background:var(--olive);color:var(--flour);position:relative;padding-block:clamp(4rem,9vw,8rem)}
.lieu::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.2;pointer-events:none}
.lieu .kicker{color:var(--gold)}
.lieu .h2 .script{color:var(--gold)}
.lieu__wrap{position:relative;display:grid;gap:2.5rem;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.lieu__lead{margin-top:1.4rem;max-width:26rem;color:rgba(248,240,224,.88)}
.lieu__spiral{display:none}
.lieu__cards{display:grid;gap:1.2rem}
.ev{position:relative;overflow:hidden;border-radius:1.6rem;padding:clamp(1.5rem,3vw,2.6rem);display:grid;gap:.8rem;align-content:start;background:var(--ink-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transform-origin:50% 0}
.ev h3{font:400 clamp(1.8rem,3.4vw,3rem)/1.02 var(--ff-display)}
.ev__tag{font:700 .7rem/1.3 var(--ff-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ev--1{background:var(--ember);color:var(--flour)}
.ev--1 .ev__tag{color:var(--ink)}
.ev--2{background:var(--paper);color:var(--ink)}
.ev--2 .ev__tag{color:var(--tomato)}
.ev--3{min-height:22rem;align-content:end;color:var(--flour)}
.ev--3 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev--3::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,17,11,.92),rgba(24,17,11,.15) 70%);z-index:1}
.ev__over{position:relative;z-index:2;display:grid;gap:.6rem}
.ev--4{background:var(--ink)}
.ev--4 .ulink{justify-self:start;color:var(--gold);margin-top:.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.chips li{padding:.45em .95em;border:1.5px solid currentColor;border-radius:999px;font:600 .8rem/1.1 var(--ff-text);letter-spacing:.04em}
@media (min-width:900px){
  .lieu__wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5vw}
  .lieu__sticky{position:sticky;top:16vh;align-self:start}
  .lieu__spiral{display:block;width:clamp(180px,22vw,320px);aspect-ratio:1;margin-top:2.5rem;color:var(--gold);opacity:.8}
  .lieu__cards{display:block}
  .ev{position:sticky;top:calc(13vh + var(--i,0) * 26px);min-height:50vh;margin-bottom:12vh}
  .ev:last-child{margin-bottom:0}
  .ev--1{--i:0}.ev--2{--i:1}.ev--3{--i:2}.ev--4{--i:3}
}

/* ── LA CARTE ──────────────────────────────── */
.menu{position:relative;background:var(--kraft);color:var(--ink);padding-block:clamp(5rem,11vw,10rem);overflow:hidden}
.menu::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.25;pointer-events:none}
.corner{position:absolute;width:clamp(190px,26vw,420px);aspect-ratio:1;color:var(--ink);pointer-events:none}
.corner--tl{left:-9vw;top:-9vw}
.corner--tr{right:-9vw;top:-9vw;transform:scaleX(-1)}
.menu .wrap{position:relative}
.menu__head{text-align:center;max-width:56rem;margin-inline:auto}
.menu__head .kicker{justify-content:center;color:var(--ink)}
.h2--display{font-size:clamp(2.8rem,9vw,8.5rem);text-transform:uppercase;letter-spacing:-.02em}
.menu__sub{margin-top:1.4rem;font-style:italic}
.tabs{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem .6rem;margin:clamp(2rem,4vw,3.5rem) 0 clamp(1.5rem,3vw,2.5rem);border-bottom:3px solid var(--ink)}
.tabs button{padding:.6em 1.1em .5em;font:400 clamp(1.2rem,2.4vw,1.9rem)/1 var(--ff-display);opacity:.55;transition:opacity .3s,color .3s}
.tabs button:hover,.tabs button[aria-selected="true"]{opacity:1}
.tabs button[aria-selected="true"]{color:var(--tomato)}
.tabs__bar{position:absolute;left:0;bottom:-3px;height:6px;width:100px;background:var(--ember);border-radius:3px 3px 0 0;transform-origin:left;will-change:transform}
.panel[hidden]{display:none}
.menu__legend{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;justify-content:center;font:italic 400 .9rem var(--ff-text);margin-bottom:1rem}
.cols{display:grid;gap:0 clamp(2rem,6vw,6rem)}
@media (min-width:900px){.cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grp{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2em .7em;margin:2rem 0 .7rem;font:400 clamp(1.7rem,2.8vw,2.5rem)/1 var(--ff-display)}
.grp:first-child{margin-top:.4rem}
.grp small{font:italic 400 .95rem var(--ff-text);opacity:.8}
.list li{display:flex;align-items:baseline;gap:.55rem;padding:.4rem 0;transition:transform .45s var(--ease),color .3s}
.list li:hover{transform:translateX(8px);color:var(--tomato)}
.list .n{font-weight:600;flex:0 1 auto;min-width:0}
.list .n em{display:block;font-weight:400;font-size:.88em;opacity:.78}
.list i{flex:1 1 1rem;min-width:.8rem;align-self:flex-end;margin-bottom:.45em;border-bottom:2px dotted currentColor;opacity:.4}
.list b{font:400 1.25rem/1 var(--ff-display);white-space:nowrap}
.note{display:flex;gap:1rem;align-items:center;margin-top:2.2rem;padding:1.2rem 1.4rem;border:2.5px solid var(--ink);border-radius:1.2rem}
.note svg{width:4.2rem;height:4.2rem;flex:none;color:var(--tomato)}
.menu__foot{display:grid;gap:1.4rem;justify-items:center;text-align:center;margin-top:clamp(2.5rem,5vw,4rem);font-size:.85rem;max-width:52rem;margin-inline:auto}

/* ── AVIS ──────────────────────────────────── */
.rev{background:var(--ink);color:var(--flour);padding-block:clamp(4rem,9vw,8rem);position:relative;overflow:hidden}
.rev .kicker{color:var(--gold)}
.rev .h2 .script{color:var(--gold)}
.rev__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.rev__score{display:grid;justify-items:start;gap:.2rem}
.rev__score b{font:400 clamp(4.4rem,10vw,9rem)/.85 var(--ff-display);color:var(--gold)}
.rev__score small{font:600 .76rem/1 var(--ff-text);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.stars{display:inline-flex;gap:.15em;color:var(--gold)}
.stars svg{width:1.15rem;height:1.15rem}
.rev__viewport{margin-top:clamp(2rem,4vw,3.5rem);overflow:hidden;padding:2rem 0 1rem;cursor:grab;touch-action:pan-y}
.rev__viewport:active{cursor:grabbing}
.rev__track{position:relative;display:flex;gap:clamp(1rem,2vw,2rem);padding-inline:var(--pad);width:max-content;will-change:transform}
.quote{position:relative;flex:0 0 min(84vw,600px);display:flex;flex-direction:column;justify-content:space-between;gap:1.6rem;min-height:21rem;padding:clamp(1.6rem,3vw,2.6rem);border-radius:1.6rem;background:var(--ink-2);border:1px solid rgba(248,240,224,.14);transform-origin:50% 100%;will-change:transform,opacity}
.quote__mark{position:absolute;right:-1.6rem;top:-1.8rem;width:6.5rem;height:6.5rem;color:var(--ember)}
.quote blockquote{font:italic 400 clamp(1.1rem,1.7vw,1.45rem)/1.5 var(--ff-text);position:relative}
.quote figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.quote figcaption b{font:400 1.5rem/1 var(--ff-display)}
.quote figcaption em{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7;font-style:normal}
.quote--cta{background:var(--ember);justify-content:center;align-items:flex-start;border-color:transparent}
.quote--cta .script{color:var(--flour)}
.rev__ctrl{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:1.8rem}
.round{width:3.4rem;height:3.4rem;border-radius:50%;border:1.5px solid rgba(248,240,224,.55);display:grid;place-items:center;transition:background .4s var(--ease),color .4s,border-color .4s}
.round:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.round svg{width:1.4rem;height:1.4rem}
.rev__dots{display:flex;gap:.5rem}
.rev__dots i{width:.6rem;height:.6rem;border-radius:50%;background:rgba(248,240,224,.3);transition:transform .4s var(--ease),background .4s}
.rev__dots i.is-on{background:var(--gold);transform:scale(1.5)}
.rev__more{margin-top:1.6rem;text-align:center;font-size:.85rem;opacity:.8}
.rev__more .ulink{color:var(--gold)}

/* ── RÉSERVATION ───────────────────────────── */
.resa{position:relative;color:var(--flour);background:linear-gradient(155deg,var(--tomato) 0,var(--ember) 58%,#f06a2a 100%);padding-block:clamp(4rem,9vw,8rem);overflow:hidden;isolation:isolate}
.resa::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.25;pointer-events:none;z-index:-1}
.resa__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.resa__sp{position:absolute;color:var(--ink);opacity:.16;aspect-ratio:1}
.resa__sp--1{width:56vw;left:-18vw;bottom:-20vw}
.resa__sp--2{width:34vw;right:-8vw;top:-9vw}
.resa__wrap{display:grid;gap:clamp(2rem,5vw,6rem);max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.h2--light{color:var(--flour)}
.h2--light .script{color:var(--ink)}
.resa__lead{margin-top:1.4rem;max-width:30rem;color:rgba(248,240,224,.95)}
.resa__tel{display:inline-flex;align-items:center;gap:.5em;margin:1.4rem 0;font:400 clamp(2.2rem,5vw,4.4rem)/1 var(--ff-display)}
.resa__tel svg{width:.85em;height:.85em;flex:none}
.resa__facts{display:grid;gap:.5rem;font-size:.98rem}
.resa__facts b{font-weight:700;margin-right:.4em}
.resa__card{position:relative;background:var(--paper);color:var(--ink);border-radius:1.8rem;padding:clamp(1.4rem,3vw,2.6rem);box-shadow:0 40px 90px -30px rgba(0,0,0,.55)}
.form{display:grid;gap:1.15rem}
.form__row{display:grid;gap:1.15rem}
.field{display:grid;gap:.45rem;border:0;margin:0;padding:0;min-width:0}
.field label,.field legend,.field .label{font:700 .72rem/1.2 var(--ff-text);letter-spacing:.18em;text-transform:uppercase;padding:0}
.field label em,.field legend em{font:italic 400 .78rem var(--ff-text);letter-spacing:0;text-transform:none;opacity:.7}
.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=date],.field input[type=time],.field textarea{width:100%;font:inherit;font-size:1.05rem;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:.55em 0;outline-offset:4px;transition:border-color .3s}
.field textarea{resize:vertical;min-height:4.5rem}
.field input:focus{border-bottom-color:var(--ember)}
.field input::placeholder,.field textarea::placeholder{color:rgba(24,17,11,.4)}
.field.is-invalid input{border-bottom-color:var(--tomato)}
.field.is-invalid .label,.field.is-invalid label,.field.is-invalid legend{color:var(--tomato)}
.field__quick{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}
.field__quick button{padding:.35em .8em;border-radius:999px;border:1.5px solid rgba(24,17,11,.5);font:600 .72rem/1 var(--ff-text);letter-spacing:.06em;transition:background .3s,color .3s}
.field__quick button:hover{background:var(--ink);color:var(--flour)}
.stepper{display:inline-flex;align-items:center;border:2px solid var(--ink);border-radius:999px;justify-self:start}
.stepper button{width:2.7rem;height:2.7rem;font:400 1.5rem/1 var(--ff-display);border-radius:50%;transition:background .3s,color .3s}
.stepper button:hover{background:var(--ink);color:var(--flour)}
.stepper output{min-width:2.6rem;text-align:center;font:400 1.5rem/1 var(--ff-display)}
.pills{display:flex;flex-wrap:wrap;gap:.45rem}
.pill{position:relative;cursor:pointer}
.pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pill span{display:inline-block;padding:.6em 1.05em;border:2px solid var(--ink);border-radius:999px;font:700 .85rem/1 var(--ff-text);transition:background .35s var(--ease),color .35s,transform .35s var(--ease)}
.pill:hover span{transform:translateY(-2px)}
.pill input:checked+span{background:var(--ink);color:var(--flour)}
.pill input:focus-visible+span{outline:3px solid var(--ember);outline-offset:2px}
.pill input:disabled+span{opacity:.3;text-decoration:line-through}
.nojs-only{display:none}
.no-js .nojs-only{display:block}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.form__error{padding:.8em 1em;border-radius:.8rem;background:rgba(169,46,24,.12);color:var(--tomato);font-weight:600;font-size:.95rem}
.form__note{font-size:.8rem;opacity:.75;line-height:1.45}
.done,.fallback{text-align:center;display:grid;justify-items:center;gap:1rem;padding:1rem 0}
.done__stamp{position:relative;width:7.5rem;height:7.5rem;color:var(--ember)}
.done__stamp svg{position:absolute;inset:0;width:100%;height:100%}
.done__check{inset:30%!important;width:40%!important;height:40%!important;color:var(--ink)}
.done__title{font:400 clamp(2rem,4vw,3rem)/1 var(--ff-display)}
.done__text{max-width:30rem}
.done__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:.6rem}
.done__actions--col{flex-direction:column;align-items:stretch;width:100%;max-width:22rem}
@media (min-width:700px){.form__row--2{grid-template-columns:1fr 1fr;gap:1.6rem}}
@media (min-width:980px){.resa__wrap{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.resa__intro{position:sticky;top:14vh}}

/* ── NOUS TROUVER ──────────────────────────── */
.loc{background:var(--paper);color:var(--ink);padding-block:clamp(4rem,9vw,8rem);position:relative}
.loc::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.18;pointer-events:none}
.loc__wrap{position:relative;display:grid;gap:2.5rem;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.loc__addr{display:grid;gap:.9rem;margin:1.8rem 0 2rem}
.loc__addr a{display:flex;align-items:flex-start;gap:.9rem;font-size:1.12rem;font-weight:600;line-height:1.35}
.loc__addr svg{width:1.6rem;height:1.6rem;flex:none;color:var(--tomato);margin-top:.1rem}
.loc__h{font:400 1.8rem/1 var(--ff-display);margin-bottom:.7rem}
.hours{width:100%;max-width:30rem;border-collapse:collapse;margin-bottom:1.6rem}
.hours th,.hours td{padding:.55rem 0;border-bottom:1px solid rgba(24,17,11,.2);text-align:left;font-size:.98rem}
.hours th{font-weight:700;width:34%}
.hours td i{opacity:.5;margin:0 .35em;font-style:normal}
.hours .is-closed{opacity:.55;font-style:italic}
.hours tr.is-today{color:var(--tomato)}
.hours tr.is-today th::after{content:" · aujourd’hui";font:italic 400 .8rem var(--ff-text)}
.chips--dark{margin:0 0 1.8rem}
.loc__map{position:relative;border-radius:1.8rem;overflow:hidden;min-height:22rem;height:min(78vh,640px);background:var(--kraft-2);box-shadow:0 30px 70px -30px rgba(24,17,11,.5);border:3px solid var(--ink)}
.loc__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:sepia(.35) saturate(.9) contrast(1.03)}
@media (min-width:980px){.loc__wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;gap:4vw}.loc__map{height:auto;min-height:640px}}

/* ── FOOTER ────────────────────────────────── */
.foot{background:var(--ink);color:var(--flour);padding-top:clamp(3.5rem,8vw,6rem);overflow:hidden;position:relative}
.foot__top{display:grid;gap:2rem}
.foot__col{display:grid;gap:.6rem;align-content:start;justify-items:start}
.foot__script{font:400 clamp(2.6rem,4vw,3.4rem)/1 var(--ff-script);color:var(--gold)}
.foot__social{display:flex;gap:.7rem;margin-top:.6rem}
.foot__social a{width:2.9rem;height:2.9rem;border-radius:50%;border:1.5px solid rgba(248,240,224,.5);display:grid;place-items:center;transition:background .4s var(--ease),color .4s,transform .4s var(--ease)}
.foot__social a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-4px) rotate(-8deg)}
.foot__social svg{width:1.3rem;height:1.3rem}
.foot__giant{font:400 clamp(2.6rem,11.4vw,20rem)/.9 var(--ff-display);text-align:center;white-space:nowrap;color:var(--ember);padding:clamp(2rem,5vw,4rem) 0 0;letter-spacing:-.02em;overflow:hidden}
.foot__legal{display:grid;gap:.4rem;padding-block:1.6rem 5.5rem;font-size:.78rem;opacity:.7;text-align:center;border-top:1px solid rgba(248,240,224,.14);margin-top:1rem}
.foot__legal a{text-decoration:underline}
@media (min-width:800px){.foot__top{grid-template-columns:1.3fr 1fr 1fr}.foot__legal{padding-bottom:1.6rem}}

/* ── Responsive ────────────────────────────── */
@media (max-width:899px){
  .nav__links,.nav__cta{display:none}
  .burger{display:block}
  .fab{display:inline-flex}
  .hero__foot .scrollhint{display:none}
  .stamp{width:96px}
  .hero__content{padding-bottom:9rem}
  .marquee{transform:rotate(-2.2deg) scale(1.08)}
}
@media (max-width:560px){
  .hero__kicker{font-size:.64rem;letter-spacing:.12em;white-space:nowrap}
  .hero__lead{font-size:1rem}
  .btn--lg{padding:1.1em 1.5em}
  .hero__cta .btn{flex:1 1 100%}
  .status{font-size:.66rem;max-width:calc(100% - 110px)}
}
@media (hover:none){.glare{display:none}}

/* ── Mouvement réduit ──────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .stamp__ring{animation:none}
  .hero__video{display:none}
  .hero__media{background:var(--ink) url(../img/feu-poster.jpg) center/cover}
}
