/* Smashberry — version « Heal » (03/10/2026).
   Mise en page inspirée de healwellness.ca : bandeau d'annonce, barre crème, film plein cadre, défilés d'ingrédients,
   cartes produit colorées, bande sombre d'infolettre, duo plein cadre, pied de page sombre.
   La DA reste la leur : açaí #511E45, prune, crème, sauge, pitaya ; Newsreader, Archivo étroit, Josefin Sans ; arches et mur cannelé.
   Chargée après styles.css, qu'elle complète. */

:root { --annonce-h: 38px; --top-h: 72px; --card-r: 22px; }

/* ── Bandeau d'annonce + barre crème ─────────────────────────────────────── */
.annonce { margin: 0; position: relative; z-index: 51; display: flex; align-items: center; justify-content: center; gap: 12px; height: var(--annonce-h); padding: 0 16px;
  background: var(--plum); color: var(--paper); font: 600 .74rem/1 var(--grot); font-stretch: 90%; letter-spacing: .14em; text-transform: uppercase; text-align: center; }
.annonce a { text-decoration: none; }
.annonce a:hover { text-decoration: underline; text-underline-offset: 4px; }
.annonce .mono { width: 16px; color: var(--rose-l); }

.top:not(.is-open) { top: var(--annonce-h); left: 0; right: 0; padding: 0 clamp(16px, 4vw, 48px); height: var(--top-h); border-radius: 0; box-shadow: 0 1px 0 rgba(42, 11, 37, .1);
  background: var(--paper); color: var(--ink); -webkit-backdrop-filter: none; backdrop-filter: none; }
.top:not(.is-open).is-scrolled { top: 0; height: 62px; background: rgba(246, 239, 228, .96); box-shadow: 0 1px 0 rgba(42, 11, 37, .12), 0 12px 30px -24px rgba(42, 11, 37, .5); }
.top:not(.is-open)[data-on] .btn, .top:not(.is-open) .btn { background: transparent; color: var(--acai); box-shadow: inset 0 0 0 1.5px var(--acai); }
.top:not(.is-open) .btn:hover { background: var(--acai); color: var(--paper); }
.top.is-open { top: 0; }
.top__brand { color: var(--acai); }
.top.is-open .top__brand { color: var(--paper); }
.top__brand .logo--word { width: 150px; }
.top__nav { gap: clamp(18px, 2.2vw, 34px); margin: 0 auto; }
.top__nav a { font: 600 .76rem/1 var(--grot); font-stretch: 90%; letter-spacing: .12em; opacity: 1; }
.top__nav a:hover { color: var(--pitaya); }
.top__nav a[aria-current="page"] { color: var(--pitaya); text-decoration: none; box-shadow: 0 2px 0 currentColor; padding-bottom: 4px; }
.top__lang { margin-left: 0; }
@media (max-width: 1080px) { .top__lang { margin-left: auto; } }
@media (max-width: 560px) { :root { --annonce-h: 34px; --top-h: 64px; } .annonce { font-size: .64rem; letter-spacing: .08em; } .top__brand .logo--word { width: 120px; } }

/* Toute page : le contenu commence sous l'annonce et la barre */
.hero:not(.hv) { padding-top: calc(var(--top-h) + clamp(56px, 8vh, 90px)); }
.panel { padding-top: calc(var(--top-h) + 40px); }

/* ── Boutons façon Heal (pilule, contour) ────────────────────────────────── */
.btn--line { background: transparent; color: var(--acai); box-shadow: inset 0 0 0 1.5px var(--acai); }
.btn--line:hover { background: var(--acai); color: var(--paper); }
.btn--acai { background: var(--acai); color: var(--paper); }
.btn--acai:hover { background: var(--bordeaux); color: var(--paper); }
.btn--paper { background: var(--paper); color: var(--acai); }

/* ── Titres façon Heal : grands, serrés, centrés au besoin ──────────────── */
.eyebrow { margin: 0 0 16px; font: 400 .8rem/1.3 var(--caps); letter-spacing: .24em; text-transform: uppercase; color: var(--bordeaux); }
.eyebrow--light { color: var(--rose-l); }
.big { margin: 0; font: 400 clamp(2.6rem, 5.2vw, 5rem)/.98 var(--serif); letter-spacing: -.025em; color: var(--ink); }
.big em { font-style: italic; font-weight: 300; color: var(--acai); }
.big--light { color: var(--paper); }
.big--light em { color: var(--rose-l); }
.center { text-align: center; }
.sec { padding: clamp(90px, 11vw, 150px) 0; }
.sec--sand { background: var(--sand); }
.sec--plum { background: var(--plum); color: var(--paper); }

/* ── Hero : trois films côte à côte (un seul sur mobile) ─────────────────── */
.hv { position: relative; height: calc(100svh - var(--annonce-h)); min-height: 600px; max-height: 1000px; padding: var(--top-h) 0 0; overflow: hidden; background: var(--plum); color: var(--paper); }
.hv__films { position: absolute; inset: var(--top-h) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.hv__films video, .hv__films img { width: 100%; height: 100%; object-fit: cover; }
.hv__films > div { position: relative; overflow: hidden; background: var(--acai); }
.hv__films > div + div { box-shadow: -1px 0 0 rgba(42, 11, 37, .6); }
.hv::after { content: ""; position: absolute; inset: var(--top-h) 0 0; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse 70% 60% at 50% 55%, rgba(42, 11, 37, .62), rgba(42, 11, 37, .28) 70%), linear-gradient(180deg, rgba(42, 11, 37, .25), rgba(42, 11, 37, .55)); }
.hv__in { position: relative; z-index: 2; display: grid; place-items: center; align-content: center; height: 100%; padding: 30px 16px 90px; text-align: center; }
.hv__kicker { margin: 0 0 18px; font: 400 clamp(.72rem, 1vw, .86rem)/1.4 var(--caps); letter-spacing: .3em; text-transform: uppercase; color: var(--paper); }
.hv__title { margin: 0; max-width: 15ch; font: 400 clamp(2.9rem, 7.2vw, 6.6rem)/.95 var(--serif); letter-spacing: -.03em; text-wrap: balance; text-shadow: 0 2px 30px rgba(42, 11, 37, .35); }
.hv__title em { font-style: italic; font-weight: 300; color: var(--rose-l); }
.hv__lede { max-width: 36em; margin: 24px auto 0; font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.5; color: rgba(246, 239, 228, .94); text-wrap: balance; }
.hv__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }
.hv__cta .btn--ghost { box-shadow: inset 0 0 0 1.5px rgba(246, 239, 228, .7); }
.hv__word { position: absolute; z-index: 2; left: 50%; bottom: 22px; width: min(260px, 50vw); transform: translateX(-50%); color: var(--paper); opacity: .9; }
.hv__word .logo--word { display: block; width: 100%; }
.hv__sound { position: absolute; z-index: 3; right: clamp(14px, 3vw, 32px); bottom: 22px; }
@media (max-width: 760px) {
  .hv { height: calc(100svh - var(--annonce-h)); min-height: 560px; }
  .hv__films { grid-template-columns: minmax(0, 1fr); }
  .hv__films > div:not(.hv__main) { display: none; }
  .hv__in { padding-bottom: 110px; }
}

/* ── Défilé (ticker) entre deux filets ───────────────────────────────────── */
.ticker { overflow: hidden; border-block: 1.5px solid rgba(42, 11, 37, .7); background: var(--paper); }
.ticker__track { display: flex; width: max-content; animation: tick 38s linear infinite; }
.ticker ul { display: flex; flex: none; margin: 0; padding: 0; list-style: none; }
.ticker li { display: flex; align-items: center; gap: 14px; padding: 22px clamp(26px, 3vw, 44px); white-space: nowrap; font: 700 clamp(.82rem, 1vw, .95rem)/1 var(--grot); font-stretch: 88%; letter-spacing: .1em; text-transform: uppercase; color: var(--acai); }
.ticker .dot { flex: none; width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: var(--tint, var(--rose-l)); box-shadow: inset 0 0 0 1.5px rgba(42, 11, 37, .12); }
.ticker .dot img { width: 100%; height: 100%; object-fit: cover; }
.ticker:hover .ticker__track { animation-play-state: paused; }
@keyframes tick { to { transform: translateX(-50%); } }

/* ── Qui on est : mots empilés, texte, collage ───────────────────────────── */
.who { padding: clamp(80px, 10vw, 130px) 0; overflow-x: clip; }
.who__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .85fr) minmax(0, 1.1fr); gap: clamp(26px, 4vw, 60px); align-items: center; }
.who__stack { margin: 0; font: 400 clamp(3.2rem, 6.6vw, 6.4rem)/.94 var(--serif); letter-spacing: -.035em; color: var(--ink); }
.who__stack span { display: flex; align-items: center; gap: .18em; }
.who__stack em { font-style: italic; font-weight: 300; color: var(--acai); }
.who__stack .stk { flex: none; width: .78em; height: .78em; border-radius: 50%; overflow: hidden; box-shadow: 0 8px 18px -10px rgba(42, 11, 37, .6); transform: rotate(-8deg); }
.who__stack .stk img { width: 100%; height: 100%; object-fit: cover; }
.who__txt p { margin: 0 0 18px; font-size: clamp(1.02rem, 1.2vw, 1.12rem); color: var(--ink-2); }
.who__txt p:first-child { font: 400 clamp(1.2rem, 1.6vw, 1.42rem)/1.45 var(--serif); color: var(--ink); }
.who__collage { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: auto auto; gap: 12px; }
.who__collage figure { margin: 0; overflow: hidden; border-radius: var(--card-r); background: var(--sand); }
.who__collage img { width: 100%; height: 100%; object-fit: cover; }
.who__collage .c1 { grid-row: 1 / 3; border-radius: 999px 999px var(--card-r) var(--card-r); }
.who__collage .c1 img { aspect-ratio: 3 / 4.2; }
.who__collage .c2 img { aspect-ratio: 1; object-position: 50% 25%; }
.who__collage .c3 img { aspect-ratio: 1; }
.badge { position: absolute; left: -36px; bottom: -28px; z-index: 2; width: 128px; height: 128px; border-radius: 50%; background: var(--plum); color: var(--paper); display: grid; place-items: center; }
.badge svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: spin 18s linear infinite; }
/* Espacement calculé pour que le texte fasse pile le tour du cercle (314 px), espace normal compris avant « açaí ». */
.badge text { font: 400 9.5px var(--caps); letter-spacing: 1.62px; text-transform: uppercase; fill: currentColor; }
html[lang^="en"] .badge text { letter-spacing: 2.45px; }
.badge .mono { width: 34px; color: var(--rose-l); }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 1080px) {
  .who__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .who__collage { grid-column: 1 / -1; max-width: 640px; width: 100%; justify-self: center; }
}
@media (max-width: 680px) {
  .who__grid { grid-template-columns: minmax(0, 1fr); }
  .who__stack { font-size: clamp(3.2rem, 15vw, 4.4rem); }
  .badge { left: auto; right: -6px; bottom: -34px; width: 104px; height: 104px; }
}

/* ── Le menu : cartes vedettes façon Heal ────────────────────────────────── */
.feat { padding: clamp(80px, 10vw, 130px) 0 clamp(40px, 5vw, 70px); }
.feat__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px 30px; margin-bottom: clamp(26px, 4vw, 44px); }
.feat__arrows { display: flex; gap: 10px; }
.arrow { width: 50px; height: 50px; display: grid; place-items: center; border: 1.5px solid var(--acai); border-radius: 50%; background: transparent; color: var(--acai); cursor: pointer; transition: background-color .3s, color .3s; }
.arrow:hover { background: var(--acai); color: var(--paper); }
.arrow svg { width: 20px; height: 20px; }
.arrow[disabled] { opacity: .3; cursor: default; background: transparent; color: var(--acai); }
.feat__track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.feat__track::-webkit-scrollbar { display: none; }
.card { scroll-snap-align: start; position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(20px, 4vw, 60px); align-items: center; margin-top: clamp(40px, 6vw, 80px);
  padding: clamp(28px, 4.4vw, 60px); border-radius: var(--card-r); background: var(--c, var(--acai)); color: var(--paper); }
.card__name { margin: 0; font: 400 clamp(2.4rem, 4.6vw, 4.4rem)/1 var(--serif); letter-spacing: -.02em; }
.card__name em { font-style: italic; font-weight: 300; color: var(--rose-l); }
.card__desc { max-width: 34em; margin: 18px 0 0; font-size: clamp(1rem, 1.2vw, 1.12rem); color: rgba(246, 239, 228, .9); }
.card__price { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.card__price li { display: inline-flex; align-items: baseline; gap: 10px; padding: 10px 16px; border-radius: 999px; background: rgba(246, 239, 228, .14); box-shadow: inset 0 0 0 1px rgba(246, 239, 228, .32); }
.card__price b { font: 800 clamp(1.15rem, 1.6vw, 1.4rem)/1 var(--grot); font-stretch: 85%; letter-spacing: .02em; }
.card__price span { font: 400 .8rem/1 var(--caps); letter-spacing: .16em; text-transform: uppercase; }
.card__k { margin: 26px 0 12px; font: 700 .8rem/1 var(--grot); font-stretch: 90%; letter-spacing: .14em; text-transform: uppercase; }
.chips { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0; padding: 0; list-style: none; }
.chips li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px 8px 9px; border-radius: 999px; background: var(--paper); color: var(--acai); font: 700 .72rem/1 var(--grot); font-stretch: 88%; letter-spacing: .08em; text-transform: uppercase; }
.chips li::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--sw, var(--rose)); box-shadow: inset 0 0 0 1px rgba(42, 11, 37, .15); }
.card__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.card__img { position: relative; align-self: stretch; display: grid; place-items: end center; margin: clamp(-90px, -9vw, -50px) 0 0; }
.card__img .archframe { width: min(100%, 380px); border-color: rgba(246, 239, 228, .55); }
.card__img .archframe::before { border-color: rgba(246, 239, 228, .55); }
.card__img .arch img { aspect-ratio: 4 / 5; object-fit: cover; }
.feat__dots { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
.feat__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(81, 30, 69, .25); cursor: pointer; transition: width .3s var(--ease), background-color .3s; }
.feat__dots button[aria-current="true"] { width: 28px; border-radius: 6px; background: var(--acai); }
@media (max-width: 860px) {
  .card { grid-template-columns: minmax(0, 1fr); margin-top: 0; }
  .card__img { order: -1; margin: 0; place-items: center; }
  .card__img .archframe { width: min(100%, 300px); }
}

/* ── Menu complet : prix et formats plus gros, plus visibles ─────────────── */
.carte { padding-top: clamp(40px, 5vw, 70px); }
.tabpanel__title { align-items: center; font-size: clamp(1.7rem, 2.6vw, 2.3rem); }
.sizes { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sizes li { display: inline-flex; align-items: baseline; gap: 10px; padding: 10px 16px 9px; border-radius: 999px; background: var(--acai); color: var(--paper); }
.sizes .oz { font: 700 .9rem/1 var(--grot); font-stretch: 88%; letter-spacing: .08em; text-transform: uppercase; color: var(--rose-l); }
.tabpanel__title .sizes .amt { font: 800 clamp(1.25rem, 1.9vw, 1.6rem)/1 var(--grot); font-stretch: 85%; letter-spacing: .01em; text-transform: none; color: var(--paper); }
.nouveau--photo { display: block; max-width: 380px; margin: 0 0 clamp(40px, 6vw, 72px); padding: 0; border: 0; border-radius: 0; background: none; }
.nouveau--photo .nouveau__img { border-radius: var(--card-r); box-shadow: 0 26px 50px -34px rgba(42, 11, 37, .7); }
@media (max-width: 640px) { .nouveau--photo { margin-inline: auto; } }

/* ── Rafraîchisseurs : le libellé au-dessus du prix, en grand ───────────── */
.pitaya__label { margin: 0; font: 400 clamp(2.4rem, 5vw, 4.4rem)/1 var(--serif); letter-spacing: -.02em; color: var(--paper); }
.pitaya__label em { font-style: italic; font-weight: 300; color: var(--rose-l); }
.pitaya__oz { display: inline-block; margin: 18px 0 0; padding: 9px 16px; border-radius: 999px; background: rgba(246, 239, 228, .16); box-shadow: inset 0 0 0 1px rgba(246, 239, 228, .4);
  font: 700 .95rem/1 var(--grot); font-stretch: 88%; letter-spacing: .1em; text-transform: uppercase; }
.pitaya__big .giant { margin-top: 6px; }

/* ── Ingrédients : deux défilés en sens contraire ───────────────────────── */
.ingr { padding: clamp(90px, 11vw, 140px) 0; overflow: hidden; }
.ingr__head { margin-bottom: clamp(36px, 5vw, 56px); }
.rows { display: grid; gap: 18px; }
.row { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.row__track { display: flex; width: max-content; gap: 18px; animation: tick 60s linear infinite; }
.row--rev .row__track { animation-direction: reverse; }
.row:hover .row__track { animation-play-state: paused; }
.row ul { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.ing { flex: none; width: clamp(240px, 22vw, 290px); padding: 22px 22px 24px; border-radius: var(--card-r); background: #FFFBF6; box-shadow: 0 1px 0 rgba(42, 11, 37, .06), 0 18px 34px -30px rgba(42, 11, 37, .55); }
.ing__top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.ing__sw { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1.5px rgba(42, 11, 37, .1), inset -6px -8px 0 rgba(42, 11, 37, .12); }
.ing h3 { margin: 0; font: 500 1.28rem/1.1 var(--serif); color: var(--ink); }
.ing p { margin: 0; font-size: .95rem; line-height: 1.45; color: var(--ink-2); }

/* ── La semaine Smashberry (film paysage) ───────────────────────────────── */
.week__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(30px, 5vw, 70px); align-items: center; }
.film { position: relative; overflow: hidden; border-radius: var(--card-r); background: var(--plum); box-shadow: 0 30px 60px -40px rgba(42, 11, 37, .8); }
.film video { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.sound { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 0; border-radius: 999px; background: rgba(42, 11, 37, .7); color: var(--paper); cursor: pointer;
  font: 700 .7rem/1 var(--grot); font-stretch: 88%; letter-spacing: .12em; text-transform: uppercase; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.sound svg { width: 16px; height: 16px; }
.film .sound { position: absolute; right: 14px; bottom: 14px; }
.days { margin: 26px 0 0; padding: 0; list-style: none; border-top: 1.5px solid var(--acai); }
.days li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(42, 11, 37, .14); }
.days span { font: 400 .76rem/1.6 var(--caps); letter-spacing: .18em; text-transform: uppercase; color: var(--bordeaux); }
.days b { font: 500 1.1rem/1.3 var(--serif); text-align: right; }
@media (max-width: 860px) { .week__grid { grid-template-columns: minmax(0, 1fr); } }

/* ── Deux amis : fond violet cannelé ─────────────────────────────────────── */
.story--acai { color: var(--paper); }
.story--acai .h2 { color: var(--paper); }
.story--acai .h2 em { color: var(--rose-l); }
.story--acai .story__lede { color: rgba(246, 239, 228, .9); }
.story--acai .quote { border-left-color: rgba(246, 239, 228, .45); }
.story--acai .quote cite, .story--acai .kicker { color: var(--rose-l); }
.story--acai .story__media figcaption { color: rgba(246, 239, 228, .85); }
.story--acai .archframe, .story--acai .archframe::before { border-color: rgba(246, 239, 228, .5); }
.story--acai .story__media .arch img { aspect-ratio: 3 / 4; object-position: 50% 40%; }
.story--acai .story__media { width: min(100%, 440px); justify-self: center; }
.story__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; }
.play { display: inline-flex; align-items: center; gap: 12px; padding: 8px 20px 8px 8px; border: 0; border-radius: 999px; background: var(--paper); color: var(--acai); cursor: pointer;
  font: 700 .78rem/1 var(--grot); font-stretch: 88%; letter-spacing: .12em; text-transform: uppercase; transition: transform .3s var(--ease); }
.play:hover { transform: translateY(-2px); }
.play i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--acai); color: var(--paper); }
.play i svg { width: 14px; height: 14px; margin-left: 2px; }

/* ── L'açaí (accueil) : la pulpe seule ───────────────────────────────────── */
.acai__media .arch img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 60%; }
.acai__body p:first-child { font: 400 clamp(1.15rem, 1.5vw, 1.32rem)/1.5 var(--serif); }
.acai__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

/* ── Communauté : films verticaux inclinés ───────────────────────────────── */
.crowd { padding: clamp(90px, 11vw, 140px) 0 clamp(70px, 9vw, 120px); background: var(--sand); overflow: hidden; }
.crowd__head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px clamp(36px, 6vw, 90px); align-items: end; margin-bottom: clamp(40px, 6vw, 70px); }
.crowd__head p { margin: 0; color: var(--ink-2); font-size: 1.05rem; }
.reels { display: flex; justify-content: center; gap: clamp(10px, 1.4vw, 20px); margin: 0 auto; padding: 20px clamp(16px, 3vw, 40px) 30px; list-style: none; }
.reel { flex: 0 1 230px; min-width: 0; }
.reel:nth-child(odd) { transform: rotate(-3deg) translateY(10px); }
.reel:nth-child(even) { transform: rotate(2.5deg); }
.reel:nth-child(3) { transform: rotate(0) translateY(-14px); }
.reel button { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 18px; overflow: hidden; background: var(--plum); cursor: pointer; aspect-ratio: 9 / 16;
  box-shadow: 0 0 0 5px #FFFBF6, 0 26px 40px -26px rgba(42, 11, 37, .75); transition: transform .5s var(--ease); }
.reel button:hover { transform: translateY(-6px) scale(1.02); }
.reel video, .reel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reel__tag { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 1; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 12px; background: rgba(42, 11, 37, .66); color: var(--paper);
  font: 700 .66rem/1.2 var(--grot); font-stretch: 88%; letter-spacing: .08em; text-transform: uppercase; text-align: left; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.reel__tag i { flex: none; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--paper); color: var(--acai); }
.reel__tag svg { width: 9px; height: 9px; margin-left: 1px; }
.crowd__more { margin: 30px 0 0; text-align: center; }
@media (max-width: 960px) {
  .crowd__head { grid-template-columns: minmax(0, 1fr); }
  .reels { justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: 16px; }
  .reels::-webkit-scrollbar { display: none; }
  .reel { flex: 0 0 min(58vw, 230px); scroll-snap-align: center; }
}

/* Lecteur (film avec le son) */
.player { width: min(92vw, 440px); max-height: 92svh; padding: 0; border: 0; border-radius: 20px; overflow: hidden; background: #000; color: var(--paper); }
.player--wide { width: min(94vw, 960px); }
.player::backdrop { background: rgba(20, 4, 18, .86); }
.player video { display: block; width: 100%; max-height: 92svh; background: #000; }
.player__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(246, 239, 228, .9); color: var(--acai); font: 300 1.6rem/1 var(--grot); cursor: pointer; }

/* ── Infolettre : bande sombre façon « Healers Club » ────────────────────── */
.news { position: relative; padding: clamp(90px, 11vw, 140px) 0; background: var(--plum); color: var(--paper); overflow: hidden; }
.news__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1fr); gap: clamp(30px, 4vw, 60px); align-items: center; }
.news .big { color: var(--paper); }
.news .big em { color: var(--rose-l); }
.news__lede { margin: 20px 0 0; color: rgba(246, 239, 228, .86); }
.news__form { display: grid; gap: 12px; margin-top: 28px; }
.news__form label.sr + input { margin: 0; }
.news__row { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: var(--paper); }
.news__row input { flex: 1; min-width: 0; padding: 12px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--ink); font: 400 1rem/1.2 var(--serif); }
.news__row input:focus { outline: none; }
.news__row:focus-within { box-shadow: 0 0 0 3px var(--rose); }
.news__row .btn { flex: none; background: var(--acai); color: var(--paper); }
.news__name { padding: 14px 20px; border: 1px solid rgba(246, 239, 228, .35); border-radius: 999px; background: rgba(246, 239, 228, .06); color: var(--paper); font: 400 1rem/1.2 var(--serif); }
.news__name::placeholder { color: rgba(246, 239, 228, .6); }
.news__ok { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; line-height: 1.45; color: rgba(246, 239, 228, .8); }
.news__ok input { margin-top: 4px; accent-color: var(--rose); }
.news__ok a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.news .form__done { margin: 0; padding: 12px 16px; border-radius: 14px; background: rgba(246, 239, 228, .1); color: var(--paper); }
.news__media { position: relative; justify-self: center; width: min(100%, 330px); }
.news__media .archframe, .news__media .archframe::before { border-color: rgba(246, 239, 228, .45); }
.news__media .arch img { aspect-ratio: 3 / 4; object-fit: cover; }
.perks { margin: 0; padding: 0; list-style: none; counter-reset: k; }
.perks li { counter-increment: k; padding: 18px 0; border-bottom: 1px solid rgba(246, 239, 228, .16); }
.perks li:first-child { padding-top: 0; }
.perks h3 { display: flex; align-items: baseline; gap: 14px; margin: 0 0 6px; font: 400 clamp(1.4rem, 2vw, 1.8rem)/1.1 var(--serif); }
.perks h3::before { content: counter(k, decimal-leading-zero) "."; font: 300 clamp(1.4rem, 2vw, 1.8rem)/1 var(--serif); color: var(--rose-l); }
.perks p { margin: 0; color: rgba(246, 239, 228, .8); font-size: .98rem; }
@media (max-width: 1080px) { .news__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .news__media { display: none; } }
@media (max-width: 760px) { .news__grid { grid-template-columns: minmax(0, 1fr); } .news__row { flex-wrap: wrap; border-radius: 22px; } .news__row .btn { width: 100%; justify-content: center; } }

/* ── Duo plein cadre : événements / franchise ────────────────────────────── */
.duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.duo__item { position: relative; display: grid; place-items: center; min-height: clamp(460px, 64vh, 640px); padding: 60px clamp(20px, 4vw, 60px); overflow: hidden; color: var(--paper); text-align: center; text-decoration: none; isolation: isolate; }
.duo__item > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.duo__item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(42, 11, 37, .35) 0%, rgba(42, 11, 37, .55) 40%, rgba(42, 11, 37, .88) 100%); }
.duo__item:hover > img { transform: scale(1.04); }
.duo__in { display: grid; justify-items: center; gap: 14px; max-width: 30em; align-self: end; }
.duo__t { margin: 0; font: 400 clamp(2.4rem, 4.4vw, 4rem)/1 var(--serif); letter-spacing: -.02em; }
.duo__t em { font-style: italic; font-weight: 300; color: var(--rose-l); }
.duo__p { margin: 0; color: rgba(246, 239, 228, .92); }
.duo__in .btn { margin-top: 8px; }
@media (max-width: 760px) { .duo { grid-template-columns: minmax(0, 1fr); } .duo__item { min-height: 420px; } }

/* ── Pied de page sombre, grand logo, vague de texte ─────────────────────── */
.foot2 { position: relative; padding: clamp(70px, 8vw, 110px) 0 28px; background: var(--plum); color: var(--paper); overflow: hidden; }
.foot2__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 90px); }
.foot2__logo { display: block; width: min(420px, 80%); color: var(--paper); }
.foot2__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 30px; margin: 34px 0 0; padding: 0; list-style: none; }
.foot2__cols a { font: 400 clamp(1.15rem, 1.5vw, 1.35rem)/2 var(--serif); text-decoration: none; }
.foot2__cols a:hover { font-style: italic; color: var(--rose-l); }
.foot2__news h2 { margin: 0 0 10px; font: 400 clamp(1.6rem, 2.4vw, 2.2rem)/1.1 var(--serif); }
.foot2__news p { margin: 0 0 22px; color: rgba(246, 239, 228, .8); }
.foot2__info { margin-top: 28px; font-size: .98rem; line-height: 1.8; color: rgba(246, 239, 228, .82); }
.foot2__info a { text-decoration: none; border-bottom: 1px solid rgba(246, 239, 228, .3); }
.wave { display: block; width: max(120%, 1300px); margin: clamp(30px, 5vw, 60px) 0 0 -10%; height: auto; color: rgba(246, 239, 228, .22); }
.foot2 .btn { margin-bottom: 6px; }
.wave text { font: italic 300 40px var(--serif); fill: currentColor; letter-spacing: 1px; }
.foot2__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; margin-top: 16px; padding-top: 22px; border-top: 1px solid rgba(246, 239, 228, .14);
  font: 400 .72rem/1.9 var(--caps); letter-spacing: .16em; text-transform: uppercase; color: rgba(246, 239, 228, .7); }
.foot2__bottom a { text-decoration: none; }
.foot2__bottom a:hover { color: var(--paper); text-decoration: underline; }
@media (max-width: 860px) { .foot2__top { grid-template-columns: minmax(0, 1fr); } }

/* ── Page açaí ───────────────────────────────────────────────────────────── */
.ahero { padding: calc(var(--top-h) + clamp(40px, 6vh, 70px)) 0 clamp(70px, 9vw, 120px); background: var(--paper); }
.ahero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.ahero__title { margin: 0; font: 400 clamp(3.2rem, 7vw, 6.6rem)/.92 var(--serif); letter-spacing: -.035em; }
.ahero__title em { font-style: italic; font-weight: 300; color: var(--acai); }
.ahero__txt { margin: 28px 0 0; max-width: 36em; }
.ahero__txt p { margin: 0 0 16px; font-size: clamp(1.04rem, 1.25vw, 1.16rem); color: var(--ink-2); }
.ahero__txt p:first-child { font: 400 clamp(1.2rem, 1.6vw, 1.42rem)/1.45 var(--serif); color: var(--ink); }
.ahero__media { margin: 0; justify-self: center; width: min(100%, 440px); }
.ahero__media .arch img { aspect-ratio: 4 / 5.4; object-fit: cover; object-position: 50% 70%; }
.ahero__media figcaption { margin-top: 12px; font: italic 300 .95rem/1.4 var(--serif); color: var(--ink-2); text-align: center; }
@media (max-width: 860px) { .ahero__grid { grid-template-columns: minmax(0, 1fr); } }

/* Ruban ondulé « açaí toute la journée » */
.ribbon { position: relative; z-index: 2; margin: -10px 0; overflow: hidden; }
.ribbon svg { display: block; width: max(100%, 1000px); height: auto; margin-left: 50%; transform: translateX(-50%); }
.ribbon text { font: 800 26px var(--grot); font-stretch: 80%; letter-spacing: 1.5px; text-transform: uppercase; fill: var(--paper); }

/* Du palmier au bol : image collante, étapes qui défilent */
.path { padding: clamp(90px, 11vw, 140px) 0; background: var(--acai); color: var(--paper); }
.path__head { margin-bottom: clamp(40px, 6vw, 70px); }
.path__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.path__stage { position: sticky; top: calc(var(--top-h) + 30px); }
.path__frame { position: relative; overflow: hidden; border-radius: 999px 999px var(--card-r) var(--card-r); aspect-ratio: 4 / 5; background: var(--plum); box-shadow: 0 0 0 1.5px rgba(246, 239, 228, .45), 0 0 0 10px var(--acai), 0 0 0 11.5px rgba(246, 239, 228, .3); }
.path__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .9s ease, transform 1.4s var(--ease); }
.path__frame img.is-on { opacity: 1; transform: none; }
.path__count { margin: 18px 0 0; text-align: center; font: 400 .78rem/1 var(--caps); letter-spacing: .24em; text-transform: uppercase; color: var(--rose-l); }
.steps2 { margin: 0; padding: 0; list-style: none; }
.steps2 li { min-height: 62vh; display: grid; align-content: center; padding: 30px 0; border-top: 1px solid rgba(246, 239, 228, .2); opacity: .38; transition: opacity .6s ease; }
.steps2 li.is-on { opacity: 1; }
.steps2 li:last-child { min-height: 50vh; }
.steps2 .n { font: 300 clamp(3.4rem, 6vw, 5.4rem)/1 var(--serif); color: var(--rose-l); }
.steps2 h3 { margin: 10px 0 12px; font: 400 clamp(1.9rem, 3.2vw, 2.8rem)/1.05 var(--serif); letter-spacing: -.01em; }
.steps2 p { margin: 0; max-width: 32em; font-size: 1.08rem; color: rgba(246, 239, 228, .88); }
.steps2 .step__img { display: none; }
@media (max-width: 860px) {
  .path__grid { grid-template-columns: minmax(0, 1fr); }
  .path__stage { display: none; }
  .steps2 li { min-height: 0; opacity: 1; padding: 34px 0; }
  .steps2 .step__img { display: block; margin: 0 0 20px; overflow: hidden; border-radius: 999px 999px 18px 18px; max-width: 340px; }
  .steps2 .step__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
}

/* Questions en arches qui se retournent */
.flip { padding: clamp(90px, 11vw, 140px) 0; background: var(--sand); }
.flip__head { margin-bottom: clamp(40px, 6vw, 64px); }
.flip__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 30px); margin: 0; padding: 0; list-style: none; }
.fc { perspective: 1400px; }
.fc button { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; padding: 0; border: 0; background: none; cursor: pointer; text-align: center; color: inherit; font: inherit; }
.fc__in { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .8s var(--ease); }
.fc.is-flipped .fc__in { transform: rotateY(180deg); }
.fc__f, .fc__b { position: absolute; inset: 0; display: grid; place-items: center; padding: clamp(26px, 3vw, 40px); border-radius: 999px 999px var(--card-r) var(--card-r); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.fc__f { color: var(--paper); }
.fc__f::before { content: ""; position: absolute; inset: 12px; border: 1.5px solid rgba(246, 239, 228, .45); border-radius: 999px 999px 14px 14px; pointer-events: none; }
.fc:nth-child(3n+1) .fc__f { background-color: var(--acai); }
.fc:nth-child(3n+2) .fc__f { background: var(--pitaya); }
.fc:nth-child(3n) .fc__f { background: var(--bordeaux); }
.fc__q { display: grid; gap: 16px; justify-items: center; }
.fc__q b { font: 400 clamp(1.5rem, 2.2vw, 2rem)/1.1 var(--serif); }
.fc__q small { font: 400 .7rem/1 var(--caps); letter-spacing: .22em; text-transform: uppercase; color: var(--rose-l); }
.fc__b { transform: rotateY(180deg); background: #FFFBF6; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--sage); }
.fc__b .fc__a { display: block; margin: 0; font: 400 clamp(1.02rem, 1.3vw, 1.15rem)/1.5 var(--serif); }
.fc__b .fc__src { position: absolute; left: 0; right: 0; bottom: 18px; font: 400 .62rem/1 var(--caps); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-d); }
.fc .mono { width: 28px; color: var(--rose-l); }
@media (max-width: 960px) { .flip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .flip__grid { grid-template-columns: minmax(0, 1fr); max-width: 360px; margin-inline: auto; } .fc button { aspect-ratio: 1 / 1.05; } }

/* Au Brésil : la mosaïque */
.brasil { padding: clamp(90px, 11vw, 140px) 0; }
.brasil__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 20px clamp(36px, 6vw, 90px); align-items: end; margin-bottom: clamp(36px, 5vw, 56px); }
.brasil__head p { margin: 0; color: var(--ink-2); }
.mosaic { columns: 3; column-gap: clamp(10px, 1.4vw, 18px); margin: 0; padding: 0; list-style: none; }
.mosaic li { break-inside: avoid; margin: 0 0 clamp(10px, 1.4vw, 18px); overflow: hidden; border-radius: var(--card-r); background: var(--sand); }
.mosaic button { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.mosaic img { width: 100%; height: auto; }
.mosaic__src { margin: 6px 0 0; font: italic 300 .95rem/1.4 var(--serif); color: var(--ink-2); }
@media (max-width: 760px) { .brasil__head { grid-template-columns: minmax(0, 1fr); } .mosaic { columns: 2; } }

/* Bande d'appel finale */
.goal { padding: clamp(80px, 10vw, 130px) 0; background: var(--pitaya); color: var(--paper); text-align: center; }
.goal .big { color: var(--paper); }
.goal .big em { color: var(--rose-l); }
.goal p { max-width: 34em; margin: 20px auto 0; color: rgba(246, 239, 228, .9); }
.goal .hv__cta { margin-top: 30px; }

@media (prefers-reduced-motion: reduce) {
  .ticker__track, .row__track, .badge svg { animation: none; }
  .row { overflow-x: auto; }
  .path__frame img { transition: none; }
  .fc__in { transition: none; }
}

/* Page histoire : l'entrevue des cofondateurs */
.reel__solo { position: relative; display: block; justify-self: center; width: min(100%, 330px); aspect-ratio: 9 / 16; padding: 0; border: 0; border-radius: 20px; overflow: hidden; background: var(--plum); cursor: pointer;
  box-shadow: 0 0 0 5px #FFFBF6, 0 30px 50px -30px rgba(42, 11, 37, .8); transform: rotate(2deg); transition: transform .5s var(--ease); }
.reel__solo:hover { transform: rotate(0) translateY(-6px); }
.reel__solo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sec .story__lede { color: var(--ink-2); }

/* ══ Sections compactes (03/10/2026) ══════════════════════════════════════════
   Retour client : « trop de scroll ». Les volets passent en onglets (univers, communauté, boutiques),
   l'équipe rejoint le duo, le contact rejoint la FAQ, les marges verticales sont resserrées.
   Sur mobile, les rangées longues (plats, avis, étapes, trio) défilent à l'horizontale. */
:root { --pad: clamp(56px, 7vw, 96px); --gut: clamp(16px, 4vw, 48px); }

/* Onglets hors menu */
.tabs--center { justify-content: center; }
.tabs--light [role="tab"] { border-color: rgba(246, 239, 228, .6); color: var(--paper); }
.tabs--light [role="tab"]:hover { background: rgba(246, 239, 228, .1); }
.tabs--light [role="tab"][aria-selected="true"] { background: var(--paper); border-color: var(--paper); color: var(--acai); }
.js-tabs .tabpanel:not([hidden]) { animation: panel-in .55s var(--ease); }
@keyframes panel-in { from { opacity: 0; transform: translateY(10px); } }
@media (max-width: 760px) { .tabs--center { justify-content: flex-start; } }


/* Le menu : vedettes plus basses */
.feat { padding: var(--pad) 0 0; }
.feat__head { margin-bottom: 14px; }
.card { margin-top: clamp(30px, 4vw, 56px); padding: clamp(24px, 3.2vw, 44px) clamp(24px, 4vw, 56px); }
.card__name { font-size: clamp(2.2rem, 3.8vw, 3.6rem); }
.card__desc { margin-top: 12px; }
.card__price { margin-top: 16px; }
.card__k { margin: 18px 0 10px; }
.card__cta { margin-top: 20px; }
.card__img .archframe { width: min(100%, 320px); }
@media (max-width: 860px) {
  .card { gap: 16px; padding: 20px 18px 24px; }
  .card__img .archframe { width: min(62%, 210px); }
  .card__k { display: none; }
  .card .chips { margin-top: 16px; }
}

/* Le menu complet : sans grand titre, plats en une rangée, Biscoff dans la rangée */
.carte { padding: clamp(34px, 4vw, 56px) 0 var(--pad); }
.carte__head { grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 6px 30px; margin-bottom: 16px; }
.carte__head .kicker { margin: 0; }
.carte__sub { margin: 6px 0 0; font: italic 400 1.12rem/1.35 var(--serif); color: var(--ink-2); }
.carte__lede { max-width: 70ch; font-size: .98rem; }
.tabpanel__title { margin-bottom: 18px; }
.carte .dishes { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 18px 16px; }
.carte .dishes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; }
.carte .dish__desc { font-size: .88rem; }
.dish--poster button { display: block; width: 100%; padding: 0; border: 0; border-radius: 18px; overflow: hidden; background: none; cursor: zoom-in; box-shadow: 0 20px 40px -30px rgba(42, 11, 37, .7); }
.dish--poster img { display: block; width: 100%; height: auto; }
.carte .smash { margin-top: 0; }
.carte .menu__dl { margin-top: 26px; }
@media (max-width: 760px) {
  .carte__head { grid-template-columns: minmax(0, 1fr); }
  .carte .dishes, .carte .dishes--3 { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(44vw, 190px); max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--gut)); padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .carte .dishes::-webkit-scrollbar { display: none; }
  .carte .dish { scroll-snap-align: start; }
}

/* Rafraîchisseurs, ingrédients */
.pitaya { padding: var(--pad) 0; }
.pitaya .giant { font-size: clamp(5rem, 11vw, 10rem); }
.pitaya__side .medallion { max-width: 460px; }
.pitaya__side .quote { margin-top: 20px; }
@media (max-width: 860px) { .pitaya__side .quote { display: none; } .pitaya__sub { margin-bottom: 0; } }
.ingr { padding: var(--pad) 0; }
.ingr__head { margin-bottom: clamp(22px, 3vw, 34px); }
.ingr .big { font-size: clamp(2.2rem, 4vw, 3.6rem); }
.rows { gap: 12px; }
.row__track, .row ul { gap: 12px; }
.ing { width: clamp(210px, 18vw, 250px); padding: 16px 18px 18px; }
.ing__top { margin-bottom: 8px; }
.ing__sw { width: 32px; height: 32px; }

/* Notre univers (violet) : quatre volets */
.uni { position: relative; padding: var(--pad) 0; }
.uni .tabs { margin-bottom: clamp(26px, 3.4vw, 44px); }
.uni .eyebrow { color: var(--rose-l); }
.uni .big, .uni .who__stack { color: var(--paper); }
.uni .big em, .uni .who__stack em { color: var(--rose-l); }
.uni .h2 { font-size: clamp(2.2rem, 3.8vw, 3.6rem); }
.uni .story__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.uni .story__media, .uni .sponsor__media { width: min(100%, 340px); }
.uni .story__lede { margin-top: 18px; }
.uni .quote { margin-top: 20px; border-left-color: rgba(246, 239, 228, .45); }
.uni .story__cta { margin-top: 22px; }
.uni .who__stack { font-size: clamp(3rem, 5.4vw, 5.2rem); }
.uni .who__txt p, .uni .who__txt p:first-child { color: rgba(246, 239, 228, .92); }
.uni .who__collage figure { background: rgba(42, 11, 37, .3); }
.uni .who__collage { max-width: 420px; justify-self: end; }
.uni .btn--line { color: var(--paper); box-shadow: inset 0 0 0 1.5px rgba(246, 239, 228, .7); }
.uni .btn--line:hover { background: var(--paper); color: var(--acai); }
.uni .days { margin-top: 18px; border-top-color: rgba(246, 239, 228, .6); }
.uni .days li { padding: 9px 0; border-bottom-color: rgba(246, 239, 228, .18); }
.uni .days span { color: var(--rose-l); }
.uni .film { box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .7); }
.uni .sponsor__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.uni .sponsor__lockup, .uni .sponsor__lockup span { color: var(--rose-l); }
.uni .sponsor__media figcaption { color: rgba(246, 239, 228, .85); }
.uni .archframe, .uni .archframe::before { border-color: rgba(246, 239, 228, .5); }
@media (max-width: 1080px) { .uni .who__collage { justify-self: center; } }
@media (max-width: 860px) {
  .uni .story__grid, .uni .sponsor__grid { grid-template-columns: minmax(0, 1fr); }
  .uni .story__media, .uni .sponsor__media { width: min(62%, 240px); }
  .uni .who__collage { max-width: 320px; }
  .uni .week .quote, .uni #semaine .quote, .uni #podcast .quote { display: none; }
}

/* L'açaí (accueil) */
.acai { padding: var(--pad) 0; }
.acai__media { width: min(100%, 380px); }
@media (max-width: 860px) { .acai__media { width: min(64%, 260px); } }

/* Communauté : vidéos, photos, avis */
.crowd { padding: var(--pad) 0; }
.crowd__head { margin-bottom: clamp(18px, 2.6vw, 30px); }
.crowd .tabs { margin-bottom: 6px; }
.reels { padding-top: 14px; }
.strip { display: flex; gap: 12px; columns: auto; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: thin; scrollbar-color: var(--acai) transparent; }
.strip li { flex: none; margin: 0; scroll-snap-align: start; }
.strip img { width: auto; height: clamp(250px, 28vw, 360px); }
.avis__grid { display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, 1.55fr); gap: 20px clamp(24px, 4vw, 60px); align-items: start; padding-top: 14px; }
.avis__grid .rating { flex-direction: column; gap: 8px; margin: 0; }
.avis__grid .reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.avis__grid .review { padding: 20px 22px; }
#avis .community__src { margin-top: 14px; }
@media (max-width: 860px) {
  .avis__grid { grid-template-columns: minmax(0, 1fr); }
  .avis__grid .rating { flex-direction: row; align-items: baseline; }
  .avis__grid .reviews { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--gut)); padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .avis__grid .reviews::-webkit-scrollbar { display: none; }
  .avis__grid .review { scroll-snap-align: start; }
}

/* Infolettre : deux colonnes, sans photo */
.news { padding: var(--pad) 0; }
.news__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.news .big { font-size: clamp(2.4rem, 4.4vw, 4.2rem); }
.perks li { padding: 12px 0; }
.perks h3 { font-size: clamp(1.2rem, 1.6vw, 1.45rem); }
.perks h3::before { font-size: inherit; }
.perks p { font-size: .92rem; }
@media (max-width: 760px) {
  .news__grid { grid-template-columns: minmax(0, 1fr); }
  .perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .perks li:first-child { padding-top: 12px; }
  .perks p { font-size: .85rem; }
}

/* Boutiques en onglets */
.shops { padding: var(--pad) 0; }
.shops__head { margin-bottom: 20px; }
.shop { padding: clamp(18px, 2.4vw, 28px); }
.shop__name { margin: 10px 0 8px; }
.shop__photos--6 img { aspect-ratio: 4 / 3; }
.shop__photos--3 li { aspect-ratio: 4 / 5; }
.shops .spots--next { margin-top: 0; }
@media (max-width: 860px) {
  .shop__photos--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shop__photos--6 img { aspect-ratio: 1; }
  .shop__photos--3 { grid-template-columns: 1.4fr 1fr 1fr; }
  .shop__photos--3 li, .shop__photos--3 li.is-wide { grid-column: auto; aspect-ratio: 3 / 4; }
  .shop__photos button { border-radius: 12px; }
}

/* Trio plein cadre : événements, franchise, carrières */
.duo--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.duo--3 .duo__item { min-height: clamp(420px, 56vh, 540px); padding: 40px clamp(18px, 2.4vw, 36px); }
.duo--3 .duo__t { font-size: clamp(2rem, 3vw, 2.9rem); }
.duo--3 .duo__p { font-size: .95rem; }
@media (max-width: 960px) {
  .duo--3 { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .duo--3::-webkit-scrollbar { display: none; }
  .duo--3 .duo__item { min-height: 440px; scroll-snap-align: start; }
}

/* Questions fréquentes + nous joindre */
.help { padding: var(--pad) 0; }
.help__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-areas: "head list" "contact list"; gap: 26px clamp(36px, 6vw, 90px); align-items: start; }
.help__head { grid-area: head; }
.help .faq__list { grid-area: list; }
.help .qa summary { padding: 15px 0; }
.help__contact { grid-area: contact; border-top: 1.5px solid var(--acai); }
.help__contact .kicker { margin: 16px 0 2px; }
.help .ticket { display: block; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(42, 11, 37, .14); border-radius: 0; text-align: left; }
.help .ticket::before { display: none; }
.help .ticket h3 { margin: 0 0 6px; font-size: 1.15rem; }
.help .ticket p { margin: 0 0 8px; font-size: .95rem; }
.help .ticket .hours { margin: 4px 0 10px; }
@media (max-width: 860px) { .help__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "list" "contact"; } }

/* Pied de page */
.foot2 { padding-top: clamp(56px, 6vw, 80px); }
.wave { margin-top: clamp(18px, 3vw, 36px); }

/* Page açaí, plus courte */
.ahero { padding-bottom: clamp(50px, 6vw, 80px); }
.path, .flip, .brasil, .goal { padding: var(--pad) 0; }
.path__head, .flip__head { margin-bottom: clamp(26px, 4vw, 44px); }
.steps2 li { min-height: 38vh; }
.steps2 li:last-child { min-height: 30vh; }
.fc button { aspect-ratio: 5 / 4; }
.fc__f, .fc__b { padding: clamp(22px, 2.4vw, 32px); }
.fc__b .fc__src { display: none; }
.brasil__head { margin-bottom: clamp(24px, 3vw, 36px); }
.mosaic { columns: 5; }
@media (max-width: 1080px) { .mosaic { columns: 3; } }
@media (max-width: 860px) {
  .ahero__media { width: min(70%, 290px); }
  .steps2 { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--gut)); padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .steps2::-webkit-scrollbar { display: none; }
  .steps2 li { scroll-snap-align: start; padding: 0; border-top: 0; }
  .steps2 .step__img { max-width: none; margin-bottom: 14px; }
  .steps2 .step__img img { aspect-ratio: 1; }
  .steps2 .n { font-size: 2.4rem; }
  .steps2 h3 { margin: 4px 0 8px; }
  .flip__grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--gut)); padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .flip__grid::-webkit-scrollbar { display: none; }
  .fc { scroll-snap-align: start; }
  .fc button { aspect-ratio: 1; }
}
@media (max-width: 760px) {
  .mosaic { display: flex; gap: 10px; columns: auto; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--gut)); padding-inline: var(--gut); }
  .mosaic::-webkit-scrollbar { display: none; }
  .mosaic li { flex: none; margin: 0; scroll-snap-align: start; }
  .mosaic img { width: auto; height: 260px; }
}
.goal .eyebrow { margin-bottom: 26px; }

/* ── Nos succursales (bas de page) : siège, Westmount, Décarie, Griffintown ── */
.help .loc h3 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.loc__tag { font: 400 .66rem/1 var(--caps); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-d); }
.help .loc p a { color: var(--acai); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.help .loc .loc__note { font-size: .88rem; color: var(--ink-2); }
.loc .ticket__apps { align-items: center; gap: 8px 10px; }
.loc .ticket__apps .link { margin-left: 4px; }
.help .loc--soon { padding: 12px 0; }
.help .loc--soon h3 { margin-bottom: 4px; }
.help .loc--soon p { margin: 0; }

/* ── Balado : l'épisode en direct ──────────────────────────────────────── */
.episode { display: grid; gap: 4px; margin: 22px 0 0; padding: 16px 20px; max-width: 520px; border: 1px solid rgba(246, 239, 228, .4); border-radius: 18px; color: var(--paper); text-decoration: none; transition: background .3s var(--ease), border-color .3s var(--ease); }
.episode:hover, .episode:focus-visible { background: rgba(246, 239, 228, .08); border-color: rgba(246, 239, 228, .75); }
.episode__tag { display: inline-flex; align-items: center; gap: 8px; font: 400 .7rem/1 var(--caps); letter-spacing: .2em; text-transform: uppercase; color: var(--rose-l); }
.episode__tag i { width: 8px; height: 8px; border-radius: 50%; background: #E0245E; box-shadow: 0 0 0 3px rgba(224, 36, 94, .25); }
.episode b { font: 700 1.15rem/1.25 var(--grot); font-stretch: 88%; text-transform: uppercase; letter-spacing: .02em; }
.episode > span:nth-of-type(2) { font: italic 300 1rem/1.4 var(--serif); color: rgba(246, 239, 228, .85); }
.episode__go { margin-top: 6px; font: 400 .74rem/1 var(--caps); letter-spacing: .18em; text-transform: uppercase; color: var(--paper); }
.episode__go::after { content: " →"; }
.episode + .story__cta { margin-top: 16px; }
