/* ============================================================================
   GoFill — DA partagée des pages marketing (gofill / gloutons-v2 / restaurateurs-v2)
   Vert forêt + crème + or, Bricolage + Hanken. Design & ludique.
   ============================================================================ */
:root{
  --green-950:#0e2317; --green-900:#10291a; --green-850:#143220; --green-800:#183a26;
  --green-700:#1f4a30; --green-line:#2c5a3c;
  --gold:#e0a92e; --gold-bright:#f3c256; --gold-deep:#9c6c0f;
  --cream:#f6f1e6; --cream-2:#efe7d5; --card:#fffdf8; --card-line:#e7dcc4;
  --ink:#16251b; --ink-soft:#51604f; --paper:#f2ecde; --paper-soft:#a9baa8;
  --maxw:1120px; --r:20px; --shadow:0 26px 60px -30px rgba(8,26,16,.4);
  --font-display:"Bricolage Grotesque","Hanken Grotesk",system-ui,sans-serif;
  --font-body:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font-body);background:var(--cream);color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.03;margin:0;letter-spacing:-.02em;text-wrap:balance;}
a{color:inherit;text-decoration:none;}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,48px);}
.eyebrow{display:inline-flex;align-items:center;gap:.55em;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--gold);display:inline-block;}
.on-dark .eyebrow{color:var(--gold-bright);}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:700;font-size:1rem;cursor:pointer;border:0;padding:14px 24px;border-radius:999px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2a1d00;box-shadow:0 12px 26px -12px rgba(224,169,46,.7),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .18s ease,box-shadow .18s ease;}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(224,169,46,.85),inset 0 1px 0 rgba(255,255,255,.4);}
.btn::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .6s ease;}
.btn:hover::after{left:140%;}
.btn .arrow{transition:transform .18s ease;}
.btn:hover .arrow{transform:translateX(3px);}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--green-line);}
.btn-ghost::after{display:none;}
.on-dark .btn-ghost,.hero .btn-ghost{color:var(--cream);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3);}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--gold);}

/* header */
header{position:sticky;top:0;z-index:30;background:rgba(246,241,230,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-line);}
.head-in{display:flex;align-items:center;gap:16px;justify-content:space-between;padding-block:12px;}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.15rem;}
.brand .dot{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;}
.brand .dot img{width:100%;height:100%;object-fit:contain;padding:3px;}
.toggle{display:inline-flex;background:rgba(22,37,27,.06);border-radius:999px;padding:4px;gap:2px;}
.toggle a{font-family:var(--font-display);font-weight:700;font-size:.9rem;padding:8px 16px;border-radius:999px;color:var(--ink-soft);transition:background .2s,color .2s;}
.toggle a.on{background:var(--green-850);color:var(--cream);}
.toggle a:not(.on):hover{color:var(--ink);}
.head-links{display:flex;align-items:center;gap:22px;}
.head-links .lnk{font-weight:600;font-size:.95rem;color:var(--ink-soft);}
.head-links .lnk:hover{color:var(--gold-deep);}

/* burger (mobile) */
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:0;border-radius:12px;background:rgba(22,37,27,.06);cursor:pointer;}
.burger span{width:22px;height:2.5px;border-radius:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease;}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.music-toggle.in-head-mobile{display:none;}
@media(max-width:900px){.toggle,.head-links{display:none;} .burger{display:flex;} .music-toggle.in-head-mobile{display:inline-flex;}}

/* menu mobile (drawer) */
.mobile-menu{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:14px;padding:clamp(28px,8vw,56px);
  background:linear-gradient(165deg,var(--green-850),var(--green-950));
  opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .28s ease,transform .28s ease,visibility .28s;}
.mobile-menu.open{opacity:1;visibility:visible;transform:none;}
.mobile-menu a{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--cream);padding:14px 4px;border-bottom:1px solid var(--green-line);}
.mobile-menu a.btn{justify-content:center;border:0;margin-top:10px;font-size:1.1rem;color:#2a1d00;}
.mobile-menu .mm-close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:var(--cream);font-size:1.6rem;cursor:pointer;}

/* toggle musique (icône play/pause) — dans le menu */
.music-toggle{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:transparent;color:inherit;font-family:inherit;}
.music-toggle .mi{display:inline-flex;align-items:center;justify-content:center;}
.music-toggle svg{width:20px;height:20px;display:block;}
.music-toggle .ic-pause{display:none;}
/* waveform animée (affichée quand la musique joue) */
.music-toggle .wave{display:none;align-items:flex-end;gap:2.5px;height:18px;}
.music-toggle .wave i{display:block;width:3px;height:100%;border-radius:2px;background:currentColor;transform-origin:bottom;animation:wavebar .9s ease-in-out infinite;}
.music-toggle .wave i:nth-child(1){animation-delay:-.82s;}
.music-toggle .wave i:nth-child(2){animation-delay:-.33s;}
.music-toggle .wave i:nth-child(3){animation-delay:-.60s;}
.music-toggle .wave i:nth-child(4){animation-delay:-.12s;}
.music-toggle.playing .ic-play,.music-toggle.playing .ic-pause{display:none;}
.music-toggle.playing .wave{display:inline-flex;}
.mobile-menu .music-toggle.in-menu .wave{height:24px;color:var(--gold-bright);}
/* version header (desktop) : pastille ronde VERTE */
.music-toggle.in-header{width:42px;height:42px;justify-content:center;border-radius:12px;background:var(--green-850);color:var(--cream);transition:background .2s,transform .15s;}
.music-toggle.in-header:hover{background:var(--green-800);transform:translateY(-1px);}
.music-toggle.in-header.playing{background:var(--green-800);color:var(--gold-bright);animation:musicPulse 1.1s ease-in-out infinite;}
/* version menu mobile : ligne de menu */
.mobile-menu .music-toggle.in-menu{color:var(--cream);font-family:var(--font-display);font-weight:700;font-size:1.5rem;padding:14px 4px;border-bottom:1px solid var(--green-line);justify-content:flex-start;}
.mobile-menu .music-toggle.in-menu svg{width:26px;height:26px;color:var(--gold-bright);}
/* animation quand la musique joue */
@keyframes musicPulse{0%,100%{box-shadow:0 0 0 0 rgba(224,169,46,.55);}50%{box-shadow:0 0 0 8px rgba(224,169,46,0);}}
@keyframes wavebar{0%,100%{transform:scaleY(.3);}50%{transform:scaleY(1);}}
@media(prefers-reduced-motion:reduce){.music-toggle.in-header.playing{animation:none;}.music-toggle .wave i{animation:none;transform:scaleY(.7);}}

/* hero */
.hero{position:relative;background:
    radial-gradient(60% 50% at 85% 0%, rgba(224,169,46,.16), transparent 60%),
    radial-gradient(50% 50% at 0% 100%, rgba(47,87,56,.5), transparent 60%),
    linear-gradient(165deg,var(--green-850),var(--green-950));
  color:var(--paper);overflow:hidden;}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;}
/* Vidéo de fond (gofill) + filtre sombre pour faire ressortir le contenu */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform;animation:heroZoom 26s ease-in-out infinite alternate;}
@keyframes heroZoom{0%{transform:scale(1.03);}100%{transform:scale(1.12);}}
@media(prefers-reduced-motion:reduce){.hero-video{animation:none;}}
.hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:
    linear-gradient(180deg, rgba(10,22,15,.68) 0%, rgba(10,22,15,.82) 60%, rgba(14,35,23,.92) 100%);}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-block:clamp(48px,8vw,88px);}
.hero h1{font-size:clamp(2.6rem,6.4vw,4.6rem);color:var(--cream);}
.hero h1 .hl{color:var(--gold-bright);}
.hero .lede{margin-top:20px;font-size:clamp(1.05rem,2vw,1.25rem);color:var(--paper-soft);max-width:34rem;}
.hero-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px;}
.hero-note{margin-top:20px;font-size:.92rem;color:var(--paper-soft);}
.trust{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;}
.trust .pill{font-size:.8rem;font-weight:600;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--green-line);color:var(--paper);}

/* phone mockup + floating chips */
.stage{position:relative;justify-self:center;width:min(300px,78vw);}
.phone{position:relative;z-index:2;border-radius:42px;padding:10px;background:linear-gradient(180deg,#223a2a,#0e2016);box-shadow:0 40px 80px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);animation:phonefloat 6s ease-in-out infinite;}
.phone::before{content:"";position:absolute;top:16px;left:50%;transform:translateX(-50%);width:110px;height:22px;background:#0b170f;border-radius:999px;z-index:3;}
.phone img{display:block;width:100%;border-radius:32px;}
@keyframes phonefloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.chip{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;background:var(--card);color:var(--ink);border-radius:14px;padding:10px 13px;box-shadow:var(--shadow);font-weight:700;font-size:.86rem;animation:bob 4s ease-in-out infinite;}
.chip .ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:1rem;}
.chip small{display:block;font-weight:600;font-size:.72rem;color:var(--ink-soft);}
.chip.c1{top:34px;left:-26px;}
.chip.c2{top:44%;right:-30px;--rot:1.5deg;animation-delay:.6s;}
.chip.c3{bottom:30px;left:-18px;--rot:-1.5deg;animation-delay:1.2s;}
.chip .ic.g{background:#fbeccb;color:var(--gold-deep);}
.chip .ic.r{background:#e7f0e8;color:var(--green-800);}
@keyframes bob{0%,100%{transform:translateY(0) rotate(var(--rot,0deg));}50%{transform:translateY(-8px) rotate(var(--rot,0deg));}}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;text-align:center;}
  .hero .lede{margin-inline:auto;} .hero-actions,.trust,.rating{justify-content:center;}
  .stage{margin-top:14px;}
  .chip.c1{left:-8px;} .chip.c2{right:-10px;} .chip.c3{left:-6px;}
}

/* rating + badge */
.rating{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.rating .stars{color:var(--gold-bright);letter-spacing:2px;font-size:1.05rem;}
.rating .rtxt{font-size:.9rem;color:var(--paper-soft);font-weight:600;}
.badge-home{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--green-line);color:var(--paper);border-radius:999px;padding:8px 14px;font-weight:700;font-size:.85rem;}

/* bands */
.band{padding-block:clamp(52px,8vw,92px);}
.band.cream2{background:var(--cream-2);}
.band.dark{background:var(--green-900);color:var(--paper);}
.band.deepest{background:var(--green-950);color:var(--paper);}
/* rythme de couleurs des sections : vert / blanc / jaune (à la suite) */
.band.b-white{background:linear-gradient(170deg,#fffdf0,#fef8e0);color:var(--ink);}
.band.b-gold{background:linear-gradient(165deg,var(--gold-bright),var(--gold));color:var(--ink);}
.band.b-green{background:var(--green-900);color:var(--paper);}
/* vidéo de fond pour les sections vertes */
.band.has-video{position:relative;overflow:hidden;}
.band.has-video > .wrap{position:relative;z-index:1;}
.band-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.band-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(170deg,rgba(16,41,26,.42),rgba(14,35,23,.56));}
.band.has-video .center h2,.band.has-video .center .lede,.band.has-video .center .eyebrow{text-shadow:0 2px 14px rgba(8,20,13,.55);}
@media(prefers-reduced-motion:reduce){.band-bg video{display:none;}}
/* jaune : contrastes */
.band.b-gold .eyebrow{color:#7a5200;}
.band.b-gold .eyebrow::before{background:#b07d12;}
.band.b-gold .lede{color:#5c4a1c;}
.band.b-gold .squig{color:var(--green-800);}
/* vert : textes clairs + doré */
.band.b-green .lede{color:var(--paper-soft);}
.band.b-green .eyebrow{color:var(--gold-bright);}
.band.b-green .eyebrow::before{background:var(--gold-bright);}
.band.b-green .squig{color:var(--gold-bright);}
/* bloc "features" : lisible aussi sur fond clair (blanc/jaune) */
.band.b-white .feat p,.band.b-gold .feat p{color:var(--ink-soft);}
.band.b-white .feat .ic,.band.b-gold .feat .ic{background:rgba(22,37,27,.06);box-shadow:inset 0 0 0 1px var(--card-line);}
/* bouton doré illisible sur fond jaune -> bouton vert (sauf à l'intérieur des cartes foncées) */
.band.b-gold .btn{background:linear-gradient(180deg,var(--green-800),var(--green-950));color:var(--cream);box-shadow:0 12px 26px -12px rgba(16,41,26,.55),inset 0 1px 0 rgba(255,255,255,.08);}
.band.b-gold .spot .btn,.band.b-gold .action-card .btn{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2a1d00;box-shadow:0 12px 26px -12px rgba(224,169,46,.7),inset 0 1px 0 rgba(255,255,255,.4);}
.center{text-align:center;}
.sec-cta{margin-top:clamp(30px,4vw,44px);text-align:center;}
.center .eyebrow{justify-content:center;}
.band h2{font-size:clamp(1.9rem,4.5vw,3rem);}
.band .lede{margin-top:14px;color:var(--ink-soft);max-width:42rem;font-size:1.08rem;}
.center .lede{margin-inline:auto;}
.band.dark .lede,.band.deepest .lede{color:var(--paper-soft);}

/* hand-drawn squiggle (draw-in) */
.squig{display:block;width:clamp(140px,22vw,230px);height:14px;margin-top:6px;color:var(--gold);}
.center .squig{margin-inline:auto;}
.squig path{stroke-dasharray:260;stroke-dashoffset:260;}
.js .squig path{transition:stroke-dashoffset 1s ease .2s;}
.js .in .squig path,.js .squig.in path{stroke-dashoffset:0;}

/* steps */
.steps{margin-top:46px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:14px;}
.step{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);text-align:center;transition:transform .2s ease,box-shadow .2s ease;}
.step:hover{transform:translateY(-6px);box-shadow:0 34px 70px -30px rgba(8,26,16,.5);}
.step .sq{margin:0 auto;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;font-size:1.5rem;}
.step .n{margin-top:16px;font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);}
.step h3{margin-top:6px;font-size:1.28rem;color:var(--ink);}
.step p{margin-top:8px;color:var(--ink-soft);font-size:.98rem;}
.step-arrow{align-self:center;color:var(--gold);font-size:1.4rem;font-weight:700;animation:nudge 1.8s ease-in-out infinite;}
@keyframes nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(5px);}}
@media(max-width:860px){.steps{grid-template-columns:1fr;}.step-arrow{transform:rotate(90deg);justify-self:center;animation:none;}}

/* features */
.feats{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.feat{text-align:center;padding:22px 14px;}
.feat .ic{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:14px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--green-line);font-size:1.4rem;transition:transform .2s ease;}
.feat:hover .ic{transform:translateY(-4px) scale(1.06) rotate(-4deg);}
.feat h3{font-size:1.08rem;}
.feat p{margin-top:4px;color:var(--paper-soft);font-size:.9rem;}
@media(max-width:760px){.feats{grid-template-columns:1fr 1fr;}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r);padding:24px 18px;text-align:center;box-shadow:var(--shadow);transition:transform .2s ease;}
.stat:hover{transform:translateY(-5px);}
.stat .big{font-family:var(--font-display);font-weight:800;font-size:2.1rem;color:var(--gold-deep);line-height:1;}
.stat .lbl{margin-top:8px;font-weight:600;font-size:.92rem;color:var(--ink-soft);}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr;}}

/* partenaires (marquee) */
.partners{position:relative;border-radius:30px;overflow:hidden;background:var(--green-900);
  color:var(--paper);padding:clamp(32px,5vw,56px) 0;text-align:center;box-shadow:var(--shadow);}
.partners .phead,.partners .marquee{position:relative;z-index:1;}
.partners .phead h2,.partners .phead>div{text-shadow:0 2px 14px rgba(8,20,13,.5);}
.partners .phead{padding-inline:clamp(24px,5vw,48px);}
.marquee{margin-top:26px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee .track{display:flex;gap:12px;width:max-content;animation:scrollx 26s linear infinite;}
.partners:hover .track{animation-play-state:paused;}
@keyframes scrollx{to{transform:translateX(-50%);}}
.pchip{display:inline-flex;align-items:center;gap:9px;background:var(--card);border-radius:14px;padding:10px 18px 10px 10px;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--ink);box-shadow:0 10px 22px -14px rgba(0,0,0,.4);white-space:nowrap;}
.pchip .e{font-size:1.15rem;}
.pchip .plogo{width:34px;height:34px;flex:0 0 auto;border-radius:9px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 2px 6px -2px rgba(0,0,0,.25);}
.pchip .plogo img{width:100%;height:100%;object-fit:cover;display:block;}


.press-wrap{max-width:560px;margin:30px auto 0;}
.press{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:#fff;border-radius:22px;-webkit-overflow-scrolling:touch;scrollbar-width:none;box-shadow:var(--shadow);}
.press::-webkit-scrollbar{display:none;}
.press img{flex:0 0 100%;width:100%;height:clamp(360px,72vh,620px);object-fit:contain;background:#fff;display:block;scroll-snap-align:center;}
.press-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:16px;}
.press-dots span{width:7px;height:7px;border-radius:999px;background:rgba(0,0,0,.18);transition:background .25s,width .25s;}
.press-dots span.on{width:20px;background:var(--gold);}
.press-sep{height:2px;width:100%;border:0;margin:clamp(42px,6vw,66px) auto;background:linear-gradient(90deg,transparent,rgba(22,37,27,.28),transparent);}
.pwa-why{max-width:46rem;margin:30px auto 0;text-align:center;color:var(--ink-soft);font-size:1.05rem;}
/* crédit Sphère Noire (footer) */
.sn-credit{display:inline-flex;align-items:center;gap:8px;color:var(--paper-soft);text-decoration:none;}
.sn-credit span{text-decoration:underline;}
.sn-credit:hover{color:var(--cream);}
.sn-logo{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.12);}
/* bouton flottant remonter en haut */
.to-top{position:fixed;right:18px;bottom:18px;width:48px;height:48px;border:0;border-radius:50%;cursor:pointer;background:var(--green-850);color:var(--cream);display:grid;place-items:center;box-shadow:0 12px 26px -10px rgba(8,20,13,.6);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .2s;z-index:60;}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:var(--green-800);transform:translateY(-2px);}
.to-top svg{width:22px;height:22px;display:block;}
@media(prefers-reduced-motion:reduce){.to-top{transition:opacity .2s;}}
/* presse + PWA côte à côte */
.press-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,56px);align-items:center;}
.press-col{min-width:0;}
.press-col .feats{grid-template-columns:1fr 1fr;}
.press-col .press-wrap{margin-top:22px;}
.press-col .partners{width:100%;max-width:100%;}
@media(min-width:861px){.press-col:last-child{border-left:1px solid rgba(22,37,27,.16);padding-left:clamp(28px,5vw,56px);}}
@media(max-width:860px){.press-cols{grid-template-columns:1fr;gap:0;align-items:stretch;}.press-col:last-child{border-top:1px solid rgba(22,37,27,.18);margin-top:42px;padding-top:42px;}}
.press-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:26px;}
.plogo-link{display:inline-flex;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 22px -14px rgba(0,0,0,.45);transition:transform .16s ease,box-shadow .16s ease;}
.plogo-link:hover{transform:translateY(-3px);box-shadow:0 18px 32px -14px rgba(0,0,0,.5);}
.plogo-link img{display:block;height:52px;width:auto;}

/* en action */
.action-card{position:relative;border-radius:30px;overflow:hidden;background:
    radial-gradient(50% 60% at 80% 10%, rgba(224,169,46,.18), transparent 60%),
    linear-gradient(160deg,var(--green-800),var(--green-950));
  color:var(--cream);padding:clamp(34px,6vw,64px);text-align:center;box-shadow:var(--shadow);}
.action-card .word{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,8vw,5rem);letter-spacing:-.03em;color:rgba(246,241,230,.14);line-height:.9;}
.action-phones{display:flex;justify-content:center;gap:18px;margin-top:-18px;}
.action-phones .pp{width:min(180px,40vw);border-radius:28px;padding:7px;background:linear-gradient(180deg,#223a2a,#0e2016);box-shadow:0 30px 60px -28px rgba(0,0,0,.6);transition:transform .3s ease;}
.action-phones .pp img{width:100%;border-radius:22px;display:block;}
.action-phones .pp:last-child{margin-top:26px;}
.action-card:hover .pp:first-child{transform:rotate(-3deg) translateY(-6px);}
.action-card:hover .pp:last-child{transform:rotate(3deg) translateY(-6px);}

/* highlight / ludique card (parrainage, etc.) */
.spot{position:relative;overflow:hidden;border-radius:26px;padding:clamp(28px,4vw,44px);box-shadow:var(--shadow);background:
    radial-gradient(60% 80% at 100% 0%, rgba(224,169,46,.14), transparent 60%),
    linear-gradient(160deg,var(--green-800),var(--green-950));color:var(--cream);}
.spot > :not(.band-bg){position:relative;z-index:1;}
.action-card .word,.action-card .action-phones{position:relative;z-index:1;}
.spot .big-emo{font-size:2.4rem;}
.spot h3{margin-top:10px;font-size:1.7rem;color:#fff;text-shadow:0 2px 12px rgba(6,16,10,.6);}
.spot p{margin-top:10px;color:#fff;text-shadow:0 2px 12px rgba(6,16,10,.6);}

/* two audiences */
.cards{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.card2{border-radius:24px;padding:clamp(28px,4vw,42px);box-shadow:var(--shadow);transition:transform .2s ease;}
.card2:hover{transform:translateY(-5px);}
.card2.g{background:var(--green-850);color:var(--paper);border:1px solid var(--green-line);}
.card2.r{background:var(--card);color:var(--ink);border:1px solid var(--card-line);}
.card2 .ico{font-size:2rem;}
.card2 h3{margin-top:12px;font-size:1.6rem;}
.card2 p{margin-top:10px;font-size:1rem;}
.card2.g p{color:var(--paper-soft);} .card2.r p{color:var(--ink-soft);}
.card2 .btn{margin-top:22px;}
@media(max-width:820px){.cards{grid-template-columns:1fr;}}

/* footer */
footer{background:var(--green-950);color:var(--paper);padding-block:46px;}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-start;}
.foot-brand{max-width:22rem;}
.foot-brand p{color:var(--paper-soft);margin-top:10px;font-size:.95rem;}
.foot-links{display:flex;gap:48px;flex-wrap:wrap;}
.foot-col h4{font-family:var(--font-display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:12px;}
.foot-col a{display:block;color:var(--paper-soft);font-size:.95rem;margin-bottom:8px;}
.foot-col a:hover{color:var(--cream);}
.foot-bottom{margin-top:34px;padding-top:20px;border-top:1px solid var(--green-line);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;color:var(--paper-soft);font-size:.9rem;}

/* mascotte Glouton (page glouton uniquement) — se balade de section en section */
#glouton-mascot{position:fixed;left:60vw;top:60vh;z-index:20;width:120px;pointer-events:none;will-change:left,top,transform;}
#glouton-mascot canvas{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 18px rgba(8,26,16,.3));animation:bob 1.5s ease-in-out infinite;}
/* ordinateur uniquement : masquée sur tactile / petit écran */
@media(max-width:860px){#glouton-mascot{display:none!important;}}
@media(hover:none),(pointer:coarse){#glouton-mascot{display:none!important;}}
@media(prefers-reduced-motion:reduce){#glouton-mascot canvas{animation:none;}}

/* reveal + stagger */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.js .reveal.in{opacity:1;transform:none;}
.js .stagger > *{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.js .stagger.in > *{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .js .reveal,.js .stagger>*{opacity:1!important;transform:none!important;transition:none;}
  .chip,.phone,.step-arrow,.marquee .track{animation:none!important;}
}

/* ===== Badges « bientôt sur les stores » (bas de la section PWA) ===== */
.store-soon{margin-top:44px;text-align:center;}
.store-soon-txt{margin:0 0 20px;font-size:1.1rem;font-weight:800;color:var(--ink-soft);}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.store-soon-txt{background:linear-gradient(100deg,var(--ink-soft) 28%,var(--gold-bright) 50%,var(--ink-soft) 72%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:storeShimmer 2.8s linear infinite;}}
@keyframes storeShimmer{0%{background-position:220% 0}100%{background-position:-220% 0}}
@media (prefers-reduced-motion:reduce){.store-soon-txt{animation:none;}}
.store-badges{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.store-badge{display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:#fff;border-radius:14px;padding:11px 20px;box-shadow:var(--shadow);}
.store-badge svg,.store-badge img{width:30px;height:30px;object-fit:contain;flex:none;}
.store-badge .sb-txt{display:flex;flex-direction:column;line-height:1.08;text-align:left;}
.store-badge .sb-txt small{font-size:.62rem;font-weight:600;opacity:.85;letter-spacing:.02em;}
.store-badge .sb-txt b{font-size:1.05rem;font-weight:800;}
