@font-face{font-family:Inter;src:url('../fonts/Inter-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('../fonts/Inter-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url('../fonts/Inter-Bold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--bg:#fafaf7;--surface:#f1f2ed;--ink:#0b100d;--muted:#66706a;--line:#d8dcd7;--green:#0f5d3c;--lime:#4ade80;--radius:1.5rem;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box}html:not(.js-motion){scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.45;letter-spacing:-.018em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{position:fixed;z-index:20;top:1rem;left:1rem;transform:translateY(-200%);background:var(--ink);color:var(--bg);padding:.7rem 1rem;border-radius:2rem}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem;position:relative;z-index:2}.logo{display:inline-flex;gap:.42rem;align-items:center;font-size:1.1rem;font-weight:800;letter-spacing:-.075em}.logo-dot{height:.64rem;width:.64rem;background:var(--green);border-radius:50%}.site-header nav{display:flex;gap:.85rem;align-items:center;font-size:.83rem;font-weight:600}.site-header nav>a:not(.button){display:none}.section{padding:5.5rem 1.25rem;max-width:1440px;margin:auto}.eyebrow{font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.095em;margin:0 0 1.4rem;color:var(--green)}.display{font-size:clamp(3.75rem,17vw,11rem);font-weight:800;letter-spacing:-.09em;line-height:.86;margin:0}.display em{font-style:normal;color:var(--green)}h1,h2,h3,p{overflow-wrap:break-word}.hero{padding-top:4.5rem;padding-bottom:2rem;min-height:52vh;display:flex;flex-direction:column;justify-content:end}.hero-bottom{margin-top:2.4rem;display:flex;gap:1rem;flex-direction:column;font-size:.95rem;font-weight:600}.hero-bottom p{margin:0}.text-link{font-size:.82rem;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:.45em}.posters{padding:1.5rem 0 4.5rem;overflow:hidden}.poster-track{display:flex;gap:.75rem;overflow-x:auto;padding:0 1.25rem .9rem;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-y}.poster-track::-webkit-scrollbar{display:none}.poster-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.poster{flex:0 0 62vw;max-width:300px;margin:0;scroll-snap-align:start}.poster img{aspect-ratio:4/5;object-fit:cover;border-radius:.4rem;background:var(--surface)}.poster figcaption{color:var(--muted);font-size:.73rem;font-weight:600;margin:.55rem 0 0}.drag-note{padding:0 1.25rem;color:var(--muted);font-size:.72rem;margin:1rem 0 0}.how{border-top:1px solid var(--line)}.section-intro h2,.explore h2,.proof h2,.benefits h2,.start h2,.pricing h2{font-size:clamp(2.3rem,7vw,5.7rem);line-height:.95;letter-spacing:-.07em;margin:0}.steps{list-style:none;padding:0;margin:3.5rem 0 0;border-top:1px solid var(--line)}.steps li{padding:1.5rem 0;border-bottom:1px solid var(--line)}.steps span,.benefit-grid span{color:var(--green);font-size:.75rem;font-weight:800}.steps h3{font-size:1.55rem;letter-spacing:-.06em;margin:.6rem 0}.steps p{color:var(--muted);margin:0;max-width:30ch}.explore{background:var(--surface);max-width:none;padding-left:max(1.25rem,calc((100vw - 1440px)/2 + 1.25rem));padding-right:max(1.25rem,calc((100vw - 1440px)/2 + 1.25rem))}.explore-grid{display:grid;gap:4rem}.city-list,.moods ul{margin:2.7rem 0 0;list-style:none;padding:0}.city-list li{border-bottom:1px solid var(--line);font-size:clamp(2.3rem,8vw,6rem);font-weight:800;letter-spacing:-.08em;padding:.25rem 0}.moods{align-self:end}.moods p{font-weight:600;margin:0}.moods ul{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.moods li{border:1px solid var(--line);border-radius:2em;padding:.55em .85em;font-size:.86rem}.proof{display:grid;gap:2rem;align-items:start}.proof-mark{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:var(--green);color:white;font-size:2rem;font-weight:800;letter-spacing:-.1em}.proof h2{margin-bottom:1.7rem}.lead{font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.35;max-width:38ch;color:var(--muted);margin:0}.organizers{background:var(--green);color:#f6f7f1}.organizer-inner{padding-top:5.5rem;padding-bottom:5.5rem}.organizers .eyebrow{color:var(--lime)}.organizers h2{font-size:clamp(3.3rem,10vw,8rem);line-height:.86;letter-spacing:-.08em;margin:0 0 1.7rem}.organizers p:not(.eyebrow){font-size:1.08rem;line-height:1.4;max-width:42ch;margin:0 0 2rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:.7em;border-radius:4em;padding:.87em 1.2em;font-size:.85rem;font-weight:800;line-height:1;border:1px solid transparent;transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.button-dark{background:var(--ink);color:var(--bg)}.button-light{background:var(--bg);color:var(--ink)}.button-outline-light{border-color:rgba(255,255,255,.5);color:white}.button-soft{background:var(--surface)}.button-small{padding:.72em 1em;font-size:.75rem}.closing{max-width:none;background:var(--ink);color:#f8f8f3;padding-left:max(1.25rem,calc((100vw - 1440px)/2 + 1.25rem));padding-right:max(1.25rem,calc((100vw - 1440px)/2 + 1.25rem))}.closing .eyebrow{color:var(--lime)}.closing-actions{display:flex;gap:.7rem;flex-direction:column;margin-top:2.3rem;max-width:400px}.coming{margin:3rem 0 0;color:#aeb5af;font-size:.82rem}.site-footer{padding:2.5rem 1.25rem;display:grid;gap:2.1rem;font-size:.75rem;color:var(--muted)}.site-footer div{display:flex;flex-wrap:wrap;gap:.8rem 1rem}.site-footer p{margin:0}.places-hero{padding-top:12vh;padding-bottom:12vh}.places-hero .lead{margin:2rem 0}.benefits{background:var(--surface);max-width:none;padding-left:max(1.25rem,calc((100vw - 1440px)/2 + 1.25rem));padding-right:max(1.25rem,calc((100vw - 1440px)/2 + 1.25rem))}.benefit-grid{display:grid;gap:0;border-top:1px solid var(--line);margin-top:3rem}.benefit-grid article{padding:1.6rem 0;border-bottom:1px solid var(--line)}.benefit-grid h2{font-size:clamp(1.7rem,5vw,3.6rem);margin:.55rem 0}.benefit-grid p{color:var(--muted);max-width:32ch;margin:0}.start{display:grid;gap:2rem}.start ol{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;gap:1rem;font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:600;letter-spacing:-.04em}.start li{border-bottom:1px solid var(--line);padding-bottom:1rem}.start li span{color:var(--green);font-size:.85rem;margin-right:.6rem}.pricing{border-top:1px solid var(--line)}.pricing .lead{margin:1.6rem 0 2rem}.legal-main{max-width:76ch;padding-top:9vh;padding-bottom:7rem}.legal-main h1{font-size:clamp(2.8rem,7vw,5.4rem);letter-spacing:-.07em;line-height:.95;margin:0 0 2.5rem}.legal-main h2{font-size:1.35rem;letter-spacing:-.04em;margin:2.7rem 0 .8rem}.legal-main h3{font-size:1rem;margin:1.8rem 0 .5rem}.legal-main p,.legal-main li{color:var(--muted)}.legal-main a{text-decoration:underline;text-underline-offset:.18em;color:var(--green)}.legal-main ul{padding-left:1.25rem}.legal-main .notice{padding:1.25rem;background:var(--surface);border-left:4px solid var(--green);color:var(--muted)}
@media (min-width:700px){.site-header{padding:1.6rem 3rem}.site-header nav>a:not(.button){display:block}.section{padding:8rem 3rem}.hero{min-height:76vh;padding-top:7.5vh}.hero-bottom{flex-direction:row;align-items:end;justify-content:space-between}.posters{padding-bottom:7rem}.poster-track{padding-left:3rem;padding-right:3rem;gap:1.15rem}.poster{flex-basis:270px}.drag-note{padding-left:3rem}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:2rem}.steps{margin-top:5rem;display:grid;grid-template-columns:repeat(3,1fr)}.steps li{padding:1.5rem 1.5rem 1.5rem 0;border-bottom:0;border-right:1px solid var(--line)}.steps li+li{padding-left:1.5rem}.steps li:last-child{border-right:0}.explore-grid{grid-template-columns:1.45fr .55fr;gap:6rem}.proof{grid-template-columns:1fr 2fr;gap:3rem}.organizer-inner{padding-top:9rem;padding-bottom:9rem}.closing-actions{flex-direction:row;max-width:none}.site-footer{padding:3rem;grid-template-columns:1fr 2fr auto;align-items:center}.places-hero{padding-top:14vh;padding-bottom:16vh}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid article{padding:2.4rem 2.4rem 2.4rem 0}.benefit-grid article:nth-child(even){padding-left:2.4rem;border-left:1px solid var(--line)}.start{grid-template-columns:1fr 2fr}.start ol{margin-top:0}.legal-main{padding-left:3rem;padding-right:3rem}}
@media (min-width:1100px){.poster{flex-basis:300px}.benefit-grid{grid-template-columns:repeat(4,1fr)}.benefit-grid article:not(:first-child){padding-left:2rem;border-left:1px solid var(--line)}.benefit-grid article:nth-child(even){padding-left:2rem}.proof-mark{width:6rem;height:6rem;font-size:3rem}}
@media (prefers-color-scheme:dark){:root{--bg:#101512;--surface:#19221c;--ink:#f2f6ef;--muted:#aeb8af;--line:#344036;--green:#4ade80;--lime:#89f5ad}.logo-dot{background:var(--green)}.button-soft{background:#263129}.organizers{background:#0f5d3c}.button-dark{background:#f2f6ef;color:#101512}.closing{background:#07150e}.proof-mark{background:#0f5d3c}.poster img{background:#19221c}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.closing .display,.hero .display{padding-top:.16em}.closing .eyebrow{margin-bottom:1.2rem}
.poster figcaption strong{display:block;color:var(--ink);font-weight:700;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.1rem}
.poster-track{scroll-padding-inline:1.25rem}@media (min-width:700px){.poster-track{scroll-padding-inline:3rem}}

/* Mouvement : le contenu reste lisible avant tout chargement JavaScript. */
.hero-title>span{display:block;overflow:hidden}.hero-title>span>span{display:block}.media-band{padding:1.25rem;overflow:hidden}.media-band-inner{display:grid;grid-template-columns:repeat(5,42vw);gap:.6rem;border-radius:8px;overflow:hidden}.media-poster{margin:0;min-width:0}.media-poster img{width:100%;aspect-ratio:4/5;object-fit:cover}.media-poster figcaption{display:none}.how-motion{display:none}.organizer-posters{display:none}.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}.chips span{border:1px solid rgba(255,255,255,.42);border-radius:2em;padding:.45rem .7rem;font-size:.72rem;font-weight:800}.city-visuals{display:none}
@media (min-width:700px){.how-motion{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw;min-height:62vh;margin-top:3rem}.static-steps{display:grid}.step-copy{position:relative;min-height:14rem}.step-copy article{position:absolute;inset:0;max-width:27rem}.step-copy article:not(.is-active){opacity:0;pointer-events:none}.step-copy span{font-size:.75rem;font-weight:800;color:var(--green)}.step-copy h3{font-size:clamp(2.3rem,5vw,5rem);line-height:.9;letter-spacing:-.07em;margin:.6rem 0}.step-copy p{color:var(--muted);font-size:1.05rem;max-width:28ch}.media-band{padding:3rem;min-height:48vw}.media-band-inner{grid-template-columns:repeat(5,1fr);gap:1rem;height:min(56vw,650px)}.media-poster img{height:100%;aspect-ratio:auto}.city-motion{min-height:100vh}.city-motion .explore-grid{grid-template-columns:1fr minmax(14rem,.9fr) .45fr;align-items:end}.city-visuals{display:grid;position:relative;aspect-ratio:4/5;border-radius:.7rem;overflow:hidden}.city-visual{position:absolute;inset:0;margin:0}
/* Sans JavaScript : seule la premiere affiche reste ; les decalages sont poses par GSAP (jamais en CSS : il les convertirait en pixels). */
html:not(.js-motion) .city-visual:not(.is-active){display:none}.city-visual img{width:100%;height:100%;object-fit:cover}.city-visual figcaption{position:absolute;bottom:.8rem;left:.8rem;color:white;font-size:.75rem;font-weight:800}.organizer-motion{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.organizer-posters{display:flex;position:absolute;inset:0;gap:1rem;opacity:.22}.organizer-posters .media-poster{flex:0 0 25vw;margin:0}.organizer-posters img{width:100%;height:100%;object-fit:cover}.organizer-inner{position:relative;width:100%}.organizer-panel{min-height:24rem}.organizer-panel h2{font-size:clamp(3.3rem,10vw,8rem);line-height:.86;letter-spacing:-.08em;margin:0 0 1.7rem}.js-motion .static-steps{display:none}.js-motion .organizer-panel:not(.is-active){display:none}}
@media (max-width:699px){.organizer-panel{margin-top:2.5rem}.organizer-panel h2{font-size:2.8rem;line-height:.9;letter-spacing:-.07em;margin:0 0 1rem}.organizer-panel p{font-size:1rem!important}.organizer-panel+.organizer-panel{border-top:1px solid rgba(255,255,255,.25);padding-top:2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.how-motion{display:none!important}.static-steps{display:block!important}.organizer-posters{display:none!important}.organizer-panel:not(.is-active){display:block!important}.media-band-inner{clip-path:none!important;transform:none!important}}
/* Section « Comment ca marche » epinglee : elle tient dans la fenetre, le telephone y est entier (les etats de depart
   des ecrans sont poses par JS : un transform en CSS serait converti en pixels par GSAP et fausserait yPercent). */

@media (min-width:700px){
  .motion-how{min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:2rem;padding-top:5rem;padding-bottom:2rem}
  .motion-how .section-intro h2{font-size:clamp(2rem,3.6vw,3.4rem)}
  .motion-how 
}
/* Section « Les villes » epinglee : les quatre noms tiennent dans la fenetre. */
@media (min-width:700px){
  .city-motion{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:4.5rem;padding-bottom:2rem}
  .city-motion .city-list{margin-top:1.6rem}
  .city-motion .city-list li{font-size:clamp(2.2rem,min(6vw,9.5vh),5.2rem)}
}
.poster-track img{-webkit-user-drag:none;user-select:none}
/* Accueil : les etats animes sont poses en JavaScript, jamais ici. Le mot et le bloc de details sont des grilles a une cellule :
   l'ancien et le nouveau texte s'y superposent pendant la transition au lieu de s'empiler, donc rien ne bouge en dessous. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.accueil .hero-accueil{padding:4vh 0 3rem;overflow:hidden}.hero-mot{font-size:clamp(3.7rem,8.9vw,8rem);font-weight:600;letter-spacing:-.095em;line-height:.84;text-align:right;padding:0 1.25rem;height:1em;display:grid;align-content:start;overflow:hidden}.hero-mot span{grid-area:1/1;display:block;white-space:nowrap}.hero-rail{margin-top:1.35rem;overflow:hidden;padding-block:1rem 2rem}.hero-rail-piste{display:flex;gap:.4rem;width:max-content;padding:0 .35rem}.hero-rail .poster{flex:0 0 clamp(104px,10.6vw,160px);max-width:none;margin:0;outline-offset:.3rem;cursor:pointer}.hero-rail .poster:focus-visible{outline:3px solid var(--green)}.hero-rail .poster img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:0;-webkit-user-drag:none}.hero-rail .poster figcaption{display:none}.js-motion .hero-rail{padding-bottom:6.5rem;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.js-motion .hero-rail.en-glisse{cursor:grabbing}.js-motion .hero-rail-piste{will-change:transform}.js-motion .hero-rail .poster.est-focus{position:relative;z-index:2}.hero-details{min-height:13.5rem;padding:1.6rem 1.25rem 0;display:grid;align-content:start}.hero-intro{grid-area:1/1;max-width:42ch;margin:0;color:var(--muted);font-size:.93rem;line-height:1.45}.hero-projecteur{grid-area:1/1;max-width:28rem}.hero-projecteur[hidden]{display:none}.hero-projecteur h2{font-size:1.1rem;line-height:1.08;letter-spacing:-.045em;margin:0 0 .35rem}.hero-projecteur p{margin:.15rem 0;color:var(--muted);font-size:.8rem}.hero-projecteur .projecteur-prix{color:var(--ink);font-weight:700}.projecteur-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.projecteur-actions .button{padding:.7em .9em;font-size:.72rem}.voir-sortie{background:var(--green);color:#fff}

.city-motion{position:relative;min-height:auto;background:#111;color:white;overflow:hidden}.city-backgrounds{display:none}.city-inner{position:relative;z-index:1;padding:3.5rem 1.25rem;display:grid;gap:1.5rem}.city-visuals{display:grid!important;position:static!important;aspect-ratio:auto!important;border-radius:0!important;overflow:visible!important}.city-visual{position:static!important;display:grid;grid-template-columns:8rem 1fr;gap:1rem;align-items:center;padding:.6rem 0;margin:0!important;border-bottom:1px solid rgba(255,255,255,.22)}.city-visual img{width:8rem!important;height:10rem!important;object-fit:cover;border-radius:.5rem}.city-visual figcaption{position:static!important;color:white!important;font-size:.8rem!important}.city-list{display:none}.city-detail{display:none}.ambiences{padding:5rem 0;overflow:hidden;background:var(--bg)}.ambiences-intro{padding:0 1.25rem 2.25rem}.ambiences h2{font-size:clamp(2.6rem,8vw,6.5rem);letter-spacing:-.08em;line-height:.88;margin:0}.ambiences-rail{display:flex;gap:.8rem;overflow-x:auto;padding:0 1.25rem 1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.ambiance-card{flex:0 0 12rem;margin:0;scroll-snap-align:start}.ambiance-card:nth-child(3n+2){margin-top:2.5rem}.ambiance-card:nth-child(3n){margin-top:1rem}.ambiance-card img{width:100%;height:15rem;object-fit:cover;border-radius:.45rem}.ambiance-card figcaption{font-size:.78rem;font-weight:700;margin-top:.6rem}.accueil .site-footer{background:#0b100d;color:#dce3dc}.accueil .site-footer a{color:#c9d2ca}.accueil .site-footer .logo{color:#fff}
@media (min-width:700px){.accueil .hero-accueil{padding-top:4vh;min-height:100svh}.hero-mot{padding-right:3rem}.hero-rail{margin-top:1.8rem}.hero-details{padding:1.7rem 5.8vw 0;min-height:17rem}.hero-projecteur h2{font-size:1.35rem}.motion-how .section-intro{display:none}.motion-how .how-motion{grid-template-columns:1fr minmax(15rem,26vw) 1fr;gap:5vw;min-height:76svh;margin:0;align-items:center}.motion-how .phone{grid-column:2;height:min(76svh,720px);width:auto;margin:0}.motion-how .step-copy{grid-column:1;grid-row:1;min-height:0}.motion-how .step-copy article{max-width:22rem}.motion-how .step-copy p{font-size:clamp(1.7rem,3.2vw,3.4rem);line-height:.98;letter-spacing:-.065em;color:var(--muted);margin:0}.motion-how .static-steps{display:none}.city-motion{height:100svh;min-height:100svh;display:grid;place-items:center}.city-backgrounds{display:block;position:absolute;inset:-7%;overflow:hidden}.city-backgrounds figure{position:absolute;inset:0;margin:0}.city-backgrounds img{height:100%;width:100%;object-fit:cover;filter:blur(26px);transform:scale(1.09);opacity:.45}.city-backgrounds::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}.city-inner{width:min(1280px,100%);height:100%;padding:7vh 5vw;grid-template-columns:minmax(15rem,31vw) 1fr;grid-template-rows:1fr auto;gap:0 9vw;align-items:center}.city-visuals{position:relative!important;display:block!important;grid-column:1;grid-row:1/3;height:min(66svh,760px);aspect-ratio:4/5!important;overflow:hidden!important;border-radius:.8rem!important;box-shadow:0 1rem 4rem rgba(0,0,0,.35)}.city-visual{position:absolute!important;inset:0!important;display:block!important;padding:0!important;border:0!important}.city-visual img{width:100%!important;height:100%!important;object-fit:cover;border-radius:0}.city-visual figcaption{display:none}.city-copy{grid-column:2;grid-row:1}.city-list{display:block;margin:0}.city-list li{border:0;padding:0;font-size:clamp(3rem,7vw,7rem);line-height:.88;letter-spacing:-.09em;color:white}.city-detail{display:block;grid-column:2;grid-row:2;align-self:end}.city-detail h2{font-size:1.2rem;line-height:1.1;letter-spacing:-.04em;margin:0 0 .35rem}.city-detail p{margin:0 0 .8rem;color:#dbe2dc;font-size:.83rem}.ambiences{padding:9rem 0}.ambiences-intro{padding:0 3rem 3rem}.ambiences-rail{padding:0 3rem 1rem;gap:1.2rem}.ambiance-card{flex-basis:16rem}.ambiance-card img{height:22rem}.accueil .site-footer{padding:4rem max(3rem,calc((100vw - 1440px)/2 + 3rem));}}
@media (prefers-reduced-motion:reduce){.hero-projecteur{display:none!important}.hero-details{min-height:0}.hero-rail{overflow-x:auto}.hero-rail-piste{width:max-content}.hero-rail .poster:nth-child(n+17){display:none}.city-backgrounds{display:none!important}.city-motion{height:auto!important}.city-visual{position:static!important}.city-visual:not(:first-child){display:none!important}}
html:not(.js-motion) .hero-rail{overflow-x:auto}
body.accueil .site-footer.pied{background:#0b100d;color:#dce3dc}body.accueil .site-footer.pied .pied-colonnes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}body.accueil .site-footer.pied .pied-colonnes div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}body.accueil .site-footer.pied .pied-colonnes h2{color:#fff;font-size:.78rem;margin:0 0 .3rem}body.accueil .site-footer.pied .pied-colonnes a{color:#c9d2ca}body.accueil .site-footer.pied .pied-bas{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:2rem 0 0}body.accueil .site-footer.pied .logo{color:#fff;order:2}
@media (max-width:699px){body.accueil .site-footer.pied .pied-colonnes{grid-template-columns:1fr 1fr}body.accueil .site-footer.pied .pied-bas{align-items:flex-end}body.accueil .site-footer.pied .pied-bas span{max-width:13rem}}
.projecteur-prix:empty{display:none}
/* La carte-projecteur « sort » de la bande d'affiches : elle la chevauche un peu, comme dans la reference. */
@media (min-width:700px){.js-motion.accueil .hero-details,.js-motion .accueil .hero-details{margin-top:-1.6rem;padding-top:0;position:relative;z-index:2}}
/* Petit ecran : le mot du hero (« Brunch & grillades. » au plus long) doit tenir en largeur. */
@media (max-width:699px){.hero-mot{font-size:clamp(1.9rem,9.2vw,3.6rem)}}
/* La bande du hero n'affiche que des affiches (les legendes y debordaient sur le paragraphe en mode statique). */
.hero-rail figcaption{display:none}

/* Section « Jcomot en poche » : le telephone montre les VRAIS ecrans de l'app (captures de l'app, img/app/), comme la reference.
   Le fil defile sous sa barre d'onglets, la fiche arrive par la droite, l'ecran de message monte par le bas ; les etats de depart
   des ecrans sont poses en JavaScript (jamais ici : un transform en CSS serait converti en pixels par GSAP).
   Sans JavaScript : seul le fil est visible. Les tailles du faux ecran de message sont en cqw, relatives a la largeur du telephone. */
.phone{aspect-ratio:.483;margin:auto;background:#0b100d;border:7px solid #0b100d;border-radius:2.2rem;padding:.35rem;box-shadow:0 1.5rem 4rem rgba(11,16,13,.22);container-type:inline-size}
.phone-screen{position:relative;overflow:hidden;height:100%;border-radius:1.7rem;background:#fff}
.phone-screen::after{content:"";position:absolute;z-index:6;top:2.2cqw;left:50%;width:22%;height:3.6cqw;border-radius:2cqw;background:#0b100d;transform:translateX(-50%)}
.ecran{position:absolute;inset:0;overflow:hidden;background:#fff;isolation:isolate}.ecran-feed{z-index:1}.ecran-sortie{z-index:2}.ecran-message{z-index:3}   /* chacun passe PAR-DESSUS le precedent, barre d'onglets du fil comprise */
.ecran>img{display:block;width:100%;height:auto}
.ecran-feed .feed-corps{position:absolute;left:0;top:5.2cqw;will-change:transform}   /* sous l'ilot de la camera */
.ecran-feed .feed-bas{position:absolute;left:0;bottom:0;z-index:2;background:#fff}
.ecran-sortie>img{height:100%;object-fit:cover;object-position:top}
html:not(.js-motion) .ecran-sortie,html:not(.js-motion) .ecran-message{display:none}
.ecran-message{display:flex;flex-direction:column;background:#efeae2;font-size:3.7cqw;line-height:1.35;color:#111}
.msg-haut{display:flex;align-items:center;gap:2.4cqw;padding:9cqw 3cqw 3cqw;background:#0f5d3c;color:#fff}
.msg-haut svg{flex:none;width:6cqw;height:6cqw}
.msg-avatar{display:grid;place-items:center;flex:none;width:9cqw;height:9cqw;border-radius:50%;background:#4ade80;color:#0b100d;font-weight:800}
.msg-nom{display:flex;flex-direction:column;font-weight:700;font-size:4cqw}.msg-nom small{font-weight:400;font-size:3cqw;opacity:.8}
.msg-fil{flex:1}
.msg-saisie{display:flex;align-items:flex-end;gap:2cqw;padding:2cqw 2.5cqw 3cqw}
.msg-champ{flex:1;padding:3cqw 3.6cqw;border-radius:5cqw;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.msg-envoyer{display:grid;place-items:center;flex:none;width:11cqw;height:11cqw;border-radius:50%;background:#0f5d3c;color:#fff}.msg-envoyer svg{width:5.6cqw;height:5.6cqw}
@media (prefers-reduced-motion:reduce){.ecran-sortie,.ecran-message{display:none!important}}

/* En-tete mobile : le bouton « Publier une sortie » puis un menu hamburger qui ouvre un panneau plein ecran, comme la reference. */
.site-header{gap:.6rem}.site-header nav{margin-left:auto}
.menu-mobile{display:block}
.menu-mobile summary{position:relative;z-index:41;display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-left:-.5rem;border-radius:50%;list-style:none;cursor:pointer}
.menu-mobile summary::-webkit-details-marker{display:none}.menu-mobile summary:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.menu-mobile .ico-fermer{display:none}.menu-mobile[open] .ico-menu{display:none}.menu-mobile[open] .ico-fermer{display:block}
.menu-panneau{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;padding:1.25rem 1.25rem 2.5rem;background:var(--bg);overflow-y:auto;overscroll-behavior:contain}
.menu-panneau>.logo{align-self:flex-start;height:2.5rem;margin:0 0 1.6rem}
.menu-mobile[open] summary{position:fixed;top:1.25rem;right:.75rem;margin:0}   /* ouvert : la croix passe en haut a droite, face au logo du panneau */
.site-header .menu-panneau nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;border-top:1px solid var(--line);font-size:inherit}   /* ne pas heriter de la barre de l'en-tete (alignement, marge auto) */
.site-header .menu-panneau nav>a{display:block;padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.9rem;font-weight:800;letter-spacing:-.06em;line-height:1}
.menu-titre{margin:2rem 0 .8rem;color:var(--muted);font-size:.8rem;font-weight:600}
.menu-panneau .button{align-self:flex-start;padding:1rem 1.5rem;font-size:.95rem}
html:has(.menu-mobile[open]){overflow:hidden}
.site-header:has(.menu-mobile[open]){z-index:60}
@media (min-width:700px){.menu-mobile{display:none}}

/* Mobile : le telephone de « Jcomot en poche » s'affiche aussi (texte dessous), avec la meme chronologie. Sans JavaScript ou en mouvement
   reduit, la liste des trois etapes reste. */
@media (max-width:699px){
  .js-motion .motion-how{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:4.5rem;padding-bottom:1.5rem}
  .js-motion .motion-how .section-intro{display:none}
  .js-motion .motion-how .how-motion{display:flex;flex-direction:column;align-items:center;gap:1.6rem;min-height:0;margin:0}
  .js-motion .motion-how .phone{order:1;height:min(50svh,430px);width:auto;margin:0}   /* le telephone d'abord, le texte dessous */
  .js-motion .motion-how .step-copy{order:2;position:relative;width:100%;min-height:7.5rem}
  .js-motion .motion-how .step-copy article{position:absolute;inset:0;max-width:none}
  .js-motion .motion-how .step-copy p{margin:0;max-width:19ch;color:var(--muted);font-size:clamp(1.55rem,7vw,2rem);line-height:1;letter-spacing:-.055em}
  .js-motion .motion-how .static-steps{display:none}
}
