/* =========================================================
   SocialBooth — Combined site stylesheet
   Generated by concatenating all page CSS modules, in cascade order.
   ========================================================= */


/* ============================== home.css ============================== */
/* =========================================================
   SocialBooth — Homepage
   ========================================================= */
:root{
  --ink:#1A1222; --ink-2:#231830; --ink-3:#2C2138;
  --paper:#F7F1E8; --paper-2:#EFE7DA; --paper-3:#E6DCCC;
  --mauve:#8A7E96; --ink-soft:#3A2E45;
  --flash:#FF3D7F; --pulse:#6C3BFF; --spark:#DCF94A;
  --flash-300:#FF8FB6; --pulse-300:#A98CFF; --pulse-100:#E2D8FF; --flash-100:#FFD9E6;
  --flash-700:#C71F5C; --pulse-700:#4A1FCF;
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'DM Sans',system-ui,sans-serif;
  --mono:'DM Mono',ui-monospace,monospace;
  --maxw:1240px;
  --r-sm:10px; --r-md:18px; --r-lg:30px; --r-xl:44px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
.kicker{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--flash);display:inline-flex;align-items:center;gap:12px;margin:0 0 22px;}
.kicker::before{content:"";width:26px;height:2px;background:currentColor;}
.kicker.violet{color:var(--pulse);} .kicker.mauve{color:var(--mauve);} .kicker.on-dark{color:var(--flash-300);}
.h2{font-family:var(--display);font-weight:800;font-size:clamp(34px,4.4vw,58px);letter-spacing:-.03em;line-height:1.0;margin:0 0 20px;}
.lead{font-size:20px;max-width:62ch;color:var(--ink-soft);margin:0;}
.section{padding:118px 0;position:relative;}
.section.tight{padding:84px 0;}

.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;padding:16px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.22s;}
.btn .a{font-size:16px;transition:transform .22s;}
.btn:hover .a{transform:translateX(4px);}
.btn.primary{background:var(--flash);color:var(--ink);}
.btn.primary:hover{background:var(--flash-700);color:#fff;}
.btn.ghost{background:transparent;border-color:currentColor;color:var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn.on-dark.ghost{color:var(--paper);}
.btn.on-dark.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--paper) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brandlk{display:flex;align-items:center;gap:12px;}
.brandlk .wm{font-family:var(--display);font-weight:800;letter-spacing:-.035em;font-size:25px;}
.mk{display:inline-block;line-height:0;}
.mk svg{height:100%;width:auto;overflow:visible;display:block;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{font-size:15px;font-weight:500;color:var(--ink-soft);transition:.2s;}
.nav-links a:hover{color:var(--flash-700);}
.nav-cta{display:flex;align-items:center;gap:18px;}
.nav .btn{padding:12px 22px;font-size:15px;}
.burger{display:none;}

/* Social Booth — burger menu CSS (pair with site-nav.js)
   Include this after your base nav styles. Assumes markup:
   <header class="nav"> <div class="wrap"> ... <nav class="nav-links">...</nav>
   <div class="nav-cta">...</div> <button class="burger">☰</button> </div> </header>
*/

/* Desktop default: burger hidden */
.burger{display:none;}

@media (max-width:680px){
  /* Hide desktop nav, show burger */
  .nav-links,.nav-cta .btn{display:none;}
  .burger{
    display:flex;align-items:center;justify-content:center;
    width:42px;height:42px;font-size:19px;line-height:1;
    cursor:pointer;position:relative;z-index:120;
  }
  .nav.menu-open .burger{color:var(--flash);}

  /* Let the header row wrap so the panel can drop below it */
  .nav .wrap{flex-wrap:wrap;position:relative;}
  .nav.menu-open .wrap{align-items:flex-start;padding-bottom:22px;}

  /* Mobile panel: nav-links + nav-cta stack full width below the header row */
  .nav.menu-open .nav-links,
  .nav.menu-open .nav-cta{
    display:flex !important;flex-basis:100%;width:100%;
    flex-direction:column;align-items:stretch;gap:2px;order:5;
  }
  .nav.menu-open .nav-links a{
    padding:14px 4px;font-size:17px;width:100%;
    border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent);
  }

  /* Animations dropdown flattens into the panel instead of floating */
  .nav.menu-open .nav-drop{flex-direction:column;align-items:stretch;width:100%;}
  .nav.menu-open .nav-drop > a{
    padding:14px 4px;
    border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent);
  }
  .nav.menu-open .nav-drop .drop{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:0;background:transparent;
    padding:2px 0 6px 16px;min-width:0;
  }
  .nav.menu-open .nav-drop .drop a{padding:11px 4px;border-bottom:0;font-size:15px;}

  /* CTA buttons full-width at the bottom of the panel */
  .nav.menu-open .nav-cta{margin-top:14px;gap:12px;}
  .nav.menu-open .nav-cta .btn{width:100%;justify-content:center;display:inline-flex;}
}

@media (max-width:680px){
  /* Menu ouvert : fond plein, on coupe le flou */
  header.nav.menu-open{
    background:var(--paper) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  /* Sécurité : le panneau déroulant est lui-même opaque */
  .nav.menu-open .nav-links,
  .nav.menu-open .nav-cta{
    background:var(--paper);
  }
  /* Les sous-menus (dropdown Animations) restent lisibles */
  .nav.menu-open .nav-drop .drop{
    background:var(--paper);
  }
}

/* ---------- HERO ---------- */
.hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;}
.hero .grain{position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);background-size:8px 8px;}
.glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;}
.hero .g1{width:560px;height:560px;background:var(--flash);top:-200px;right:8%;opacity:.45;}
.hero .g2{width:520px;height:520px;background:var(--pulse);bottom:-240px;left:-120px;opacity:.5;}
.hero .wrap{position:relative;z-index:2;padding-top:96px;padding-bottom:96px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(48px,6vw,86px);letter-spacing:-.04em;line-height:.96;margin:0;}
.hero h1 .hl{color:var(--flash);} .hero h1 .hl2{color:var(--pulse-300);}
.hero p.sub{font-size:21px;color:#D8CFE0;margin:28px 0 0;max-width:46ch;}
.hero-cta{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;}
.triad{display:flex;gap:0;margin-top:54px;border-top:1px solid rgba(255,255,255,.14);}
.triad .t{flex:1;padding:24px 0;}
.triad .t .w{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em;}
.triad .t:nth-child(1) .w{color:var(--flash);}
.triad .t:nth-child(2) .w{color:var(--pulse-300);}
.triad .t:nth-child(3) .w{color:var(--spark);}
.triad .t .d{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--mauve);margin-top:6px;}

/* hero visual */
.hero-visual{position:relative;}
.hero-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);}
.hero-photo image-slot{width:100%;height:100%;}
.bk{position:absolute;width:46px;height:46px;border:4px solid var(--flash);z-index:3;}
.bk.tl{top:18px;left:18px;border-right:0;border-bottom:0;}
.bk.tr{top:18px;right:18px;border-left:0;border-bottom:0;border-color:var(--pulse-300);}
.bk.bl{bottom:18px;left:18px;border-right:0;border-top:0;border-color:var(--pulse-300);}
.bk.br{bottom:18px;right:18px;border-left:0;border-top:0;}
.hero-badge{position:absolute;left:-26px;bottom:38px;background:var(--flash);color:var(--ink);border-radius:18px;padding:18px 22px;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);z-index:4;}
.hero-badge .v{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.02em;line-height:1;}
.hero-badge .l{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-top:4px;}
.hero h1.kicker{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.18em;line-height:1.4;margin:0 0 22px;}
.hero .hero-h1{font-family:var(--display);font-weight:800;font-size:clamp(48px,6vw,86px);letter-spacing:-.04em;line-height:.96;margin:0;}
/* ---------- TRUST ---------- */
.trust{background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,.1);}
.trust .wrap{padding:46px 40px;}
.trust .lbl{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mauve);text-align:center;margin:0 0 26px;}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 46px;}
.logos .logo{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.01em;color:#9d93aa;opacity:.85;transition:.2s;}
.logos .logo:hover{color:var(--paper);opacity:1;}
.sectors{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;}
.sector{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--mauve);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 16px;}

/* ---------- INTRO ---------- */
.intro .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;}
.intro .big-statement{font-family:var(--display);font-weight:800;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em;line-height:1.08;margin:0;}
.intro .big-statement em{font-style:normal;color:var(--flash);}
.intro-copy p{font-size:19px;color:var(--ink-soft);margin:0 0 18px;}
.intro-stats{display:flex;gap:0;margin-top:30px;border-top:2px solid var(--ink);}
.intro-stats .s{flex:1;padding:22px 0;}
.intro-stats .s .v{font-family:var(--display);font-weight:800;font-size:46px;letter-spacing:-.03em;line-height:1;}
.intro-stats .s:nth-child(1) .v{color:var(--flash);}
.intro-stats .s:nth-child(2) .v{color:var(--pulse);}
.intro-stats .s:nth-child(3) .v{color:var(--ink);}
.intro-stats .s .l{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mauve);margin-top:8px;}

/* ---------- OFFERS ---------- */
.offers{background:var(--paper-2);}
.offers-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:54px;}
.offer{border-radius:var(--r-lg);overflow:hidden;position:relative;min-height:480px;display:flex;flex-direction:column;justify-content:flex-end;padding:44px;color:var(--paper);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;}
.offer:hover{transform:translateY(-6px);box-shadow:0 40px 70px -30px rgba(26,18,34,.4);}
.offer .ophoto{position:absolute;inset:0;z-index:0;}
.offer .ophoto image-slot{width:100%;height:100%;}
.offer .veil{position:absolute;inset:0;z-index:1;}
.offer.pro .veil{background:linear-gradient(180deg,rgba(26,18,34,.25) 0%,rgba(26,18,34,.55) 50%,rgba(26,18,34,.95) 100%);}
.offer.b2c .veil{background:linear-gradient(180deg,rgba(74,31,207,.25) 0%,rgba(74,31,207,.5) 50%,rgba(26,18,34,.94) 100%);}
.offer > *{position:relative;z-index:2;}
.offer .tag{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--flash-300);}
.offer.b2c .tag{color:var(--pulse-300);}
.offer h3{font-family:var(--display);font-weight:800;font-size:38px;letter-spacing:-.03em;line-height:1;margin:14px 0 14px;}
.offer p{font-size:17px;color:#E6DEEC;margin:0 0 24px;max-width:36ch;}
.offer .chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.offer .chips span{font-family:var(--mono);font-size:12px;letter-spacing:.03em;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 13px;}
.offer .explore{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:16px;color:var(--paper);}
.offer .explore .a{transition:transform .22s;}
.offer:hover .explore .a{transform:translateX(5px);}

/* ---------- HOW ---------- */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px;}
.how-card{background:var(--paper-2);border-radius:var(--r-lg);padding:40px 34px;position:relative;overflow:hidden;}
.how-card .n{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--flash);}
.how-card .ico{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:6px 0 22px;}
.how-card:nth-child(1) .ico{background:var(--flash);}
.how-card:nth-child(2) .ico{background:var(--pulse);}
.how-card:nth-child(3) .ico{background:var(--spark);}
.how-card h3{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em;margin:0 0 10px;}
.how-card p{font-size:16px;color:var(--ink-soft);margin:0;}

/* ---------- FEATURES ---------- */
.features{background:var(--ink);color:var(--paper);}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:54px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);overflow:hidden;}
.feat{background:var(--ink);padding:38px 32px;transition:.25s;}
.feat:hover{background:var(--ink-2);}
.feat .fi{width:42px;height:42px;color:var(--flash);margin-bottom:20px;}
.feat:nth-child(3n+2) .fi{color:var(--pulse-300);}
.feat:nth-child(3n) .fi{color:var(--spark);}
.feat h3{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0 0 8px;}
.feat p{font-size:15px;color:#C3BAD0;margin:0;line-height:1.6;}

/* ---------- GALLERY ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:400px;gap:16px;margin-top:50px;}
.gallery-grid .g{border-radius:var(--r-md);overflow:hidden;position:relative;}
.gallery-grid .g image-slot{width:100%;height:100%;}
.gallery-grid .g.tall{grid-row:span 2;}
.gallery-grid .g.wide{grid-column:span 2;}

/* ---------- CTA ---------- */
.cta{background:var(--flash);color:var(--ink);position:relative;overflow:hidden;}
.cta .grain{position:absolute;inset:0;opacity:.4;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(26,18,34,.06) 1px,transparent 0);background-size:8px 8px;}
.cta .wrap{position:relative;z-index:2;text-align:center;padding:120px 40px;}
.cta h2{font-family:var(--display);font-weight:800;font-size:clamp(44px,6vw,84px);letter-spacing:-.04em;line-height:.96;margin:0 0 24px;}
.cta p{font-size:21px;max-width:46ch;margin:0 auto 38px;color:#5a1530;}
.cta .btn.primary{background:var(--ink);color:var(--paper);}
.cta .btn.primary:hover{background:#000;}
.cta .btn.ghost{border-color:var(--ink);color:var(--ink);}
.cta .btn.ghost:hover{background:var(--ink);color:var(--paper);}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ---------- FOOTER ---------- */
.foot{background:var(--ink);color:var(--paper);padding:90px 0 40px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,.12);}
.foot .brandlk .wm{color:var(--paper);}
.foot .tagline{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.02em;margin:22px 0 0;max-width:24ch;}
.foot h4{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--flash-300);margin:0 0 18px;}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.foot ul a{font-size:15px;color:#C3BAD0;transition:.2s;}
.foot ul a:hover{color:var(--paper);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:30px;}
.foot-bottom p{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mauve);margin:0;}

@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:48px;}
  .intro .wrap{grid-template-columns:1fr;gap:36px;}
  .offers-grid,.how-grid,.feat-grid{grid-template-columns:1fr;}
  .feat-grid{gap:1px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .foot-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .wrap{padding:0 22px;}
  .section{padding:80px 0;}
  .nav-links,.nav-cta .btn{display:none;}
  .burger{display:flex;}
  .hero-badge{left:12px;}
  .triad{flex-direction:column;}
  .triad .t{border-bottom:1px solid rgba(255,255,255,.12);}
  .gallery-grid{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr;}
}


/* ============================== home2.css ============================== */
/* =========================================================
   SocialBooth — Home v2 (B2B Occitanie) — additive layer
   Loads AFTER home.css. Reuses its tokens & components.
   ========================================================= */

/* ---------- NAV DROPDOWN (méga-menu Animations) ---------- */
.nav-drop{position:relative;display:flex;align-items:center;}
.nav-drop > a{display:inline-flex;align-items:center;}
.nav-drop > a::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);margin-left:8px;opacity:.55;transition:.2s;}
.nav-drop:hover > a::after{opacity:.9;}
.nav-drop .drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:236px;background:var(--paper);border:1px solid color-mix(in oklab,var(--ink) 8%,transparent);border-radius:16px;box-shadow:0 26px 54px -20px rgba(26,18,34,.34);padding:10px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:90;}
.nav-drop:hover .drop,.nav-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px);}
.nav-drop .drop::before{content:"";position:absolute;top:-10px;left:0;right:0;height:12px;}
.nav-drop .drop a{display:block;padding:11px 16px;border-radius:10px;font-size:15px;font-weight:600;color:var(--ink);transition:.16s;}
.nav-drop .drop a:hover{background:var(--paper-2);color:var(--flash-700);}
.nav-drop .drop .drop-sep{height:1px;background:color-mix(in oklab,var(--ink) 10%,transparent);margin:8px 6px;}
.nav-drop .drop a.sec{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.03em;color:var(--ink-soft);display:flex;align-items:center;gap:9px;}
.nav-drop .drop a.sec::before{content:"→";color:var(--flash);font-weight:700;}
.nav-drop .drop a.sec:hover{color:var(--flash-700);}

/* ---------- HERO VIDEO ---------- */
.hero.video-hero{min-height:92vh;display:flex;align-items:center;}
.hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero .veil-grad{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(26,18,34,.78) 0%,rgba(26,18,34,.62) 38%,rgba(26,18,34,.82) 100%);}
.hero.video-hero .grain,.hero.video-hero .glow{z-index:1;}
.hero.video-hero .wrap{grid-template-columns:1fr;max-width:1040px;padding-top:120px;padding-bottom:120px;}
.hero.video-hero .hero-copy{max-width:46rem;}
.hero.video-hero h1{font-size:clamp(44px,5.6vw,82px);}
.hero.video-hero .sub{max-width:54ch;}

/* ---------- REASSURANCE BAND ---------- */
.reassure{background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,.1);}
.reassure .wrap{padding:30px 40px;display:flex;align-items:center;justify-content:center;gap:14px 40px;flex-wrap:wrap;}
.reassure .rc{display:inline-flex;align-items:center;gap:11px;font-size:15px;color:#D8CFE0;}
.reassure .rc svg{width:20px;height:20px;color:var(--spark);flex:0 0 auto;}
.reassure .sep{width:1px;height:20px;background:rgba(255,255,255,.16);}

.statband{background:var(--ink);color:var(--paper);}
.statband .wrap{padding:0 40px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.12);}
.statband .st{padding:46px 30px;text-align:center;position:relative;}
.statband .st:not(:last-child)::after{content:"";position:absolute;right:0;top:30px;bottom:30px;width:1px;background:rgba(255,255,255,.12);}
.statband .st .v{font-family:var(--display);font-weight:800;font-size:clamp(48px,5.4vw,72px);letter-spacing:-.035em;line-height:1;}
.statband .st:nth-child(1) .v{color:var(--flash);}
.statband .st:nth-child(2) .v{color:var(--pulse-300);}
.statband .st:nth-child(3) .v{color:var(--spark);}
.statband .st .l{font-size:16px;color:#C3BAD0;margin-top:12px;}

/* ---------- POSITIONING PILLARS ---------- */
.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px;}
.pos-card{background:var(--paper-2);border-radius:var(--r-lg);padding:40px 36px;border-top:4px solid var(--flash);}
.pos-card:nth-child(2){border-top-color:var(--pulse);}
.pos-card:nth-child(3){border-top-color:var(--spark);}
.pos-card .pico{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:var(--flash);}
.pos-card:nth-child(2) .pico{background:var(--pulse);}
.pos-card:nth-child(3) .pico{background:var(--spark);}
.pos-card .pico svg{width:28px;height:28px;}
.pos-card h3{font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:-.02em;margin:0 0 10px;}
.pos-card p{font-size:16px;color:var(--ink-soft);margin:0;}

/* ---------- CATALOGUE GRID ---------- */
.cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px;}
.cat-item{border-radius:var(--r-md);overflow:hidden;position:relative;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink-2);}
.cat-item image-slot{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.cat-item .cv{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(26,18,34,0) 30%,rgba(26,18,34,.55) 62%,rgba(26,18,34,.94) 100%);}
.cat-item .ct{position:relative;z-index:2;padding:24px;color:var(--paper);}
.cat-item .ct h4{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0 0 5px;}
.cat-item .ct p{font-size:13.5px;color:#D8CFE0;margin:0;line-height:1.4;}
.cat-item .pin{position:absolute;top:16px;left:16px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--spark);border-radius:999px;padding:5px 11px;}
.cat-item:nth-child(3n) .pin{background:var(--flash-300);}
.catalog-link{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:18px;color:var(--flash-700);margin-top:0;}
.catalog-link .a{transition:transform .22s;}.catalog-link:hover .a{transform:translateX(5px);}

/* ---------- BRAND ACTIVATION ---------- */
.activation{background:var(--paper-2);}
.act-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:54px;}
.act-card{background:var(--paper);border-radius:var(--r-lg);padding:38px;display:flex;gap:26px;align-items:flex-start;}
.act-card .ai{flex:0 0 auto;width:64px;height:64px;border-radius:18px;background:var(--ink);display:flex;align-items:center;justify-content:center;}
.act-card .ai svg{width:30px;height:30px;color:var(--flash);}
.act-card:nth-child(2) .ai svg{color:var(--pulse-300);}
.act-card:nth-child(3) .ai svg{color:var(--spark);}
.act-card:nth-child(4) .ai svg{color:var(--flash-300);}
.act-card h3{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;margin:0 0 8px;}
.act-card p{font-size:16px;color:var(--ink-soft);margin:0;}

/* ---------- EVENTS TAGS ---------- */
.ev-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:46px;}
.ev-tags .tag{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.01em;color:var(--ink);background:var(--paper-2);border-radius:999px;padding:14px 26px;transition:.22s;}
.ev-tags .tag:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px);}
.ev-tags .tag.hot{background:var(--flash);color:var(--ink);}
.ev-tags .tag.hot:hover{background:var(--flash-700);color:#fff;}

/* ---------- STEPS (comment ça marche) ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px;}
.step{position:relative;padding-top:8px;}
.step .sn{font-family:var(--display);font-weight:800;font-size:64px;letter-spacing:-.04em;line-height:.8;color:var(--paper-3);}
.step h3{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;margin:18px 0 10px;}
.step h3::before{content:"";display:block;width:42px;height:4px;background:var(--flash);border-radius:2px;margin-bottom:16px;}
.step:nth-child(2) h3::before{background:var(--pulse);}
.step:nth-child(3) h3::before{background:var(--spark);}
.step:nth-child(4) h3::before{background:var(--flash-300);}
.step p{font-size:16px;color:var(--ink-soft);margin:0;}

/* ---------- TESTIMONIAL ---------- */
.proof{background:var(--ink);color:var(--paper);}
.quote-wrap{margin-top:54px;max-width:60rem;}
.quote-wrap blockquote{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.2vw,40px);letter-spacing:-.025em;line-height:1.18;margin:0;}
.quote-wrap blockquote .qm{color:var(--flash);}
.quote-wrap .cite{display:flex;align-items:center;gap:16px;margin-top:30px;}
.quote-wrap .cite .av{width:54px;height:54px;border-radius:50%;background:var(--pulse);overflow:hidden;flex:0 0 auto;}
.quote-wrap .cite .av image-slot{width:100%;height:100%;}
.quote-wrap .cite .who{font-family:var(--display);font-weight:700;font-size:18px;}
.quote-wrap .cite .role{font-family:var(--mono);font-size:13px;color:var(--mauve);margin-top:3px;}
.proof .logos{margin-top:8px;}

/* ---------- LOCAL ANCHOR ---------- */
.local{background:var(--paper-2);}
.local .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.local .map{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);min-height:380px;
  background-image:radial-gradient(var(--pulse) 2px,transparent 2.2px),radial-gradient(var(--flash) 2px,transparent 2.2px);
  background-size:30px 30px,30px 30px;background-position:0 0,15px 15px;display:flex;align-items:center;justify-content:center;}
.local .map .pin-lbl{background:var(--paper);color:var(--ink);border-radius:14px;padding:18px 24px;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);}
.local .map .pin-lbl span{display:block;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve);margin-top:4px;}
.cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.cities span{font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--ink-soft);border:1px solid color-mix(in oklab,var(--ink) 18%,transparent);border-radius:999px;padding:8px 15px;}

/* ---------- FAQ ---------- */
.faq{background:var(--paper);}
.faq-list{margin-top:46px;border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent);}
.faq-item{border-bottom:1px solid color-mix(in oklab,var(--ink) 14%,transparent);}
.faq-item summary{list-style:none;cursor:pointer;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.02em;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item .pm{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;position:relative;transition:.25s;}
.faq-item .pm::before,.faq-item .pm::after{content:"";position:absolute;background:var(--ink);transition:.25s;}
.faq-item .pm::before{width:15px;height:2.5px;}
.faq-item .pm::after{width:2.5px;height:15px;}
.faq-item[open] .pm{background:var(--flash);border-color:var(--flash);}
.faq-item[open] .pm::after{transform:scaleY(0);}
.faq-item[open] .pm::before,.faq-item[open] .pm::after{background:var(--ink);}
.faq-item .ans{padding:0 62px 30px 0;font-size:17px;color:var(--ink-soft);max-width:72ch;}

/* ---------- CTA contact line ---------- */
.cta .contact-line{margin-top:30px;font-family:var(--mono);font-size:15px;letter-spacing:.04em;color:#5a1530;}
.cta .contact-line a{font-weight:500;border-bottom:1px solid currentColor;}

@media (max-width:980px){
  .pos-grid,.act-grid,.steps-grid,.cat-grid{grid-template-columns:1fr 1fr;}
  .statband .wrap{grid-template-columns:1fr;}
  .statband .st:not(:last-child)::after{display:none;}
  .statband .st{border-bottom:1px solid rgba(255,255,255,.12);}
  .local .wrap{grid-template-columns:1fr;gap:36px;}
}
@media (max-width:680px){
  .pos-grid,.act-grid,.steps-grid,.cat-grid{grid-template-columns:1fr;}
  .reassure .wrap{justify-content:flex-start;gap:12px 22px;}
  .reassure .sep{display:none;}
  .act-card{flex-direction:column;gap:18px;}
}


/* ============================== page-anim.css ============================== */
/* =========================================================
   Social Booth — Animation detail page — additive layer
   Loads AFTER home.css + home2.css.
   ========================================================= */

/* breadcrumb */
.crumb{background:var(--ink);color:var(--paper);}
.crumb .wrap{padding:18px 40px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--mauve);display:flex;gap:10px;align-items:center;}
.crumb a{color:var(--mauve);transition:.2s;}.crumb a:hover{color:var(--paper);}
.crumb .sep{opacity:.5;}
.crumb .cur{color:var(--flash-300);}

/* two-col intro (concept) */
.anim-concept .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.anim-concept .media{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(26,18,34,.4);background:var(--ink-2);}
.anim-concept .media image-slot,.anim-concept .media video{width:100%;height:100%;object-fit:cover;display:block;}
.anim-concept .body p{font-size:19px;color:var(--ink-soft);margin:0;}

/* benefits (numbered emphasis list) */
.benefits{display:flex;flex-direction:column;gap:0;margin-top:54px;border-top:2px solid var(--ink);}
.benefit{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid color-mix(in oklab,var(--ink) 14%,transparent);align-items:start;}
.benefit .bn{font-family:var(--display);font-weight:800;font-size:40px;letter-spacing:-.03em;line-height:1;color:var(--flash);}
.benefit:nth-child(2) .bn{color:var(--pulse);}
.benefit:nth-child(3) .bn{color:var(--ink);}
.benefit h3{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em;margin:0 0 8px;}
.benefit p{font-size:18px;color:var(--ink-soft);margin:0;max-width:60ch;}

/* experience steps (inline numbered) */
.xp{background:var(--paper-2);}
.xp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px;}
.xp-step{background:var(--paper);border-radius:var(--r-lg);padding:36px 32px;position:relative;}
.xp-step .xn{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:22px;margin-bottom:20px;}
.xp-step:nth-child(1) .xn{background:var(--flash);color:var(--ink);}
.xp-step:nth-child(2) .xn{background:var(--pulse);color:#fff;}
.xp-step:nth-child(3) .xn{background:var(--spark);color:var(--ink);}
.xp-step p{font-size:17px;color:var(--ink-soft);margin:0;}
.xp-note{font-size:18px;color:var(--ink-soft);margin:36px 0 0;max-width:70ch;}
.xp-note b{color:var(--ink);}

/* branding split */
.brandcust .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center;}
.brandcust .swatchwall{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;position:relative;background:var(--ink);
  background-image:radial-gradient(var(--flash) 2.5px,transparent 2.6px),radial-gradient(var(--pulse) 2.5px,transparent 2.6px);
  background-size:28px 28px,28px 28px;background-position:0 0,14px 14px;}
.brandcust .swatchwall image-slot{position:absolute;inset:0;width:100%;height:100%;}

/* included checklist */
.included{background:var(--ink);color:var(--paper);}
.incl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px;margin-top:50px;}
.incl-item{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.incl-item .ck{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--flash);display:flex;align-items:center;justify-content:center;}
.incl-item:nth-child(even) .ck{background:var(--pulse);}
.incl-item .ck svg{width:18px;height:18px;color:var(--ink);}
.incl-item:nth-child(even) .ck svg{color:#fff;}
.incl-item .t{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.01em;padding-top:4px;}

/* combine (aller plus loin) */
.combine{background:var(--paper-2);}
.combine .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
.combine .lead-col{display:flex;flex-direction:column;justify-content:center;}
.combine-cards{display:flex;flex-direction:column;gap:16px;}
.combo{background:var(--paper);border-radius:var(--r-lg);padding:30px 32px;display:flex;gap:22px;align-items:center;transition:.25s;}
.combo:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(26,18,34,.35);}
.combo .ci{flex:0 0 auto;width:56px;height:56px;border-radius:16px;background:var(--flash);display:flex;align-items:center;justify-content:center;}
.combo:nth-child(2) .ci{background:var(--pulse);}
.combo .ci svg{width:28px;height:28px;color:var(--ink);}
.combo:nth-child(2) .ci svg{color:#fff;}
.combo h3{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0 0 4px;}
.combo p{font-size:15px;color:var(--ink-soft);margin:0;}

/* cross-linking */
.xlink{background:var(--ink);color:var(--paper);padding:80px 0;}
.xlink .lbl{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--flash-300);margin:0 0 30px;}
.xlink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.xcard{border-radius:var(--r-md);overflow:hidden;position:relative;aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink-2);}
.xcard image-slot{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.xcard .cv{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(26,18,34,0) 35%,rgba(26,18,34,.9) 100%);}
.xcard .xt{position:relative;z-index:2;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.xcard .xt h4{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0;color:var(--paper);}
.xcard .xt .a{font-size:18px;color:var(--flash-300);transition:transform .22s;}
.xcard:hover .xt .a{transform:translateX(5px);}

@media (max-width:980px){
  .anim-concept .wrap,.brandcust .wrap,.combine .wrap{grid-template-columns:1fr;gap:36px;}
  .xp-steps,.xlink-grid{grid-template-columns:1fr;}
  .incl-grid{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .benefit{grid-template-columns:1fr;gap:8px;}
}


/* ============================== anim2.css ============================== */
/* =========================================================
   Social Booth — Animation page v2 additions — additive layer
   Loads AFTER home.css + home2.css + page-anim.css.
   ========================================================= */

/* hero anchor nav */
.anchor-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;}
.anchor-nav a{font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--paper);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:9px 16px;transition:.2s;}
.anchor-nav a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}

/* 4-pillar concept grid */
.pos-grid.four{grid-template-columns:repeat(4,1fr);}
.pos-grid.four .pos-card:nth-child(4){border-top-color:var(--flash-300);}
.pos-grid.four .pos-card:nth-child(4) .pico{background:var(--flash-300);}

/* punchline band */
.punch{background:var(--flash);color:var(--ink);}
.punch .wrap{padding:74px 40px;text-align:center;}
.punch p{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.8vw,48px);letter-spacing:-.03em;line-height:1.06;margin:0;max-width:22ch;margin-inline:auto;}

/* mid contact band */
.midcta{background:var(--ink);color:var(--paper);}
.midcta .wrap{padding:64px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.midcta .mt h3{font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;margin:0 0 10px;}
.midcta .mt p{font-size:17px;color:#C3BAD0;margin:0;}
.midcta .mact{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.midcta .mact .tel{font-family:var(--mono);font-size:15px;letter-spacing:.04em;color:var(--flash-300);}

/* use cases */
.usecases{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;margin-top:50px;}
.uc{padding:30px 0;border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;}
.uc .dot{width:14px;height:14px;border-radius:50%;background:var(--flash);margin-top:8px;}
.uc:nth-child(2) .dot{background:var(--pulse);}
.uc:nth-child(3) .dot{background:var(--spark);}
.uc:nth-child(4) .dot{background:var(--flash-300);}
.uc:nth-child(5) .dot{background:var(--pulse-300);}
.uc h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0 0 6px;}
.uc p{font-size:16px;color:var(--ink-soft);margin:0;}

/* long-form SEO article */
.longform{background:var(--paper-2);}
.article h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em;margin:44px 0 14px;}
.article h3:first-child{margin-top:36px;}
.article p{font-size:18px;line-height:1.65;color:var(--ink-soft);margin:0 0 16px;}
.article p b{color:var(--ink);font-weight:600;}

@media (max-width:980px){
  .pos-grid.four{grid-template-columns:1fr 1fr;}
  .usecases{grid-template-columns:1fr;gap:0;}
  .midcta .wrap{flex-direction:column;align-items:flex-start;}
}
@media (max-width:680px){
  .pos-grid.four{grid-template-columns:1fr;}
}


/* ============================== realisations.css ============================== */
/* =========================================================
   Social Booth — Réalisations page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* results band (chiffres) */
.resultsband{background:var(--ink);color:var(--paper);}
.resultsband .wrap{padding:0 40px 64px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);}
.resultsband .rb{padding:48px 30px;text-align:center;position:relative;}
.resultsband .rb:not(:last-child)::after{content:"";position:absolute;right:0;top:30px;bottom:30px;width:1px;background:rgba(255,255,255,.12);}
.resultsband .rb .v{font-family:var(--display);font-weight:800;font-size:clamp(48px,5.4vw,76px);letter-spacing:-.035em;line-height:1;}
.resultsband .rb:nth-child(1) .v{color:var(--flash);}
.resultsband .rb:nth-child(2) .v{color:var(--pulse-300);}
.resultsband .rb:nth-child(3) .v{color:var(--spark);}
.resultsband .rb .l{font-size:16px;color:#C3BAD0;margin-top:12px;}
.resultsband .note{grid-column:1/-1;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--mauve);text-align:center;margin-top:8px;}

/* filter row (local, non-sticky) */
.filt-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.filt{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink-soft);background:var(--paper-2);border:2px solid transparent;border-radius:999px;padding:10px 20px;cursor:pointer;transition:.2s;}
.filt:hover{background:var(--paper-3);}
.filt.active{background:var(--ink);color:var(--paper);}

/* case studies */
.cases-list{display:flex;flex-direction:column;gap:30px;margin-top:44px;}
.case-card{background:var(--paper-2);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;transition:box-shadow .3s;}
.case-card:hover{box-shadow:0 30px 60px -34px rgba(26,18,34,.35);}
.case-card:nth-child(even){grid-template-columns:1fr 1.1fr;}
.case-card:nth-child(even) .cc-media{order:2;}
.cc-media{position:relative;min-height:380px;background:var(--ink-2);}
.cc-media image-slot{position:absolute;inset:0;width:100%;height:100%;}
.cc-fam{position:absolute;top:18px;left:18px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--spark);border-radius:999px;padding:6px 13px;}
.cc-body{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.cc-tag{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--flash-700);margin:0 0 12px;}
.cc-body h3{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em;line-height:1.04;margin:0 0 22px;}
.cc-block{margin-bottom:18px;}
.cc-block .k{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve);margin:0 0 5px;}
.cc-block p{font-size:16px;color:var(--ink-soft);margin:0;line-height:1.5;}
.cc-metrics{display:flex;flex-wrap:wrap;gap:26px;margin:20px 0 24px;padding-top:22px;border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent);}
.cc-metrics .m .mv{font-family:var(--display);font-weight:800;font-size:32px;letter-spacing:-.02em;color:var(--pulse);line-height:1;}
.cc-metrics .m:nth-child(even) .mv{color:var(--flash);}
.cc-metrics .m .ml{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mauve);margin-top:6px;}
.cc-quote{font-size:16px;font-style:italic;color:var(--ink);border-left:3px solid var(--flash);padding-left:16px;margin:0;}
.cc-quote .who{display:block;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mauve);margin-top:8px;}
.case-card.is-hidden{display:none;}

/* testimonials grid */
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:50px;}
.tcard{background:var(--paper-2);border-radius:var(--r-lg);padding:38px 40px;}
.tcard .qm{font-family:var(--display);font-weight:800;font-size:60px;line-height:.6;color:var(--flash);}
.tcard blockquote{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;line-height:1.28;margin:14px 0 24px;}
.tcard .cite{display:flex;align-items:center;gap:14px;}
.tcard .cite .av{width:48px;height:48px;border-radius:50%;background:var(--pulse);overflow:hidden;flex:0 0 auto;}
.tcard .cite .av image-slot{width:100%;height:100%;}
.tcard .cite .who{font-family:var(--display);font-weight:700;font-size:16px;}
.tcard .cite .role{font-family:var(--mono);font-size:12px;color:var(--mauve);margin-top:2px;}

@media (max-width:980px){
  .resultsband .wrap{grid-template-columns:1fr;}
  .resultsband .rb:not(:last-child)::after{display:none;}
  .resultsband .rb{border-bottom:1px solid rgba(255,255,255,.12);}
  .case-card,.case-card:nth-child(even){grid-template-columns:1fr;}
  .case-card:nth-child(even) .cc-media{order:0;}
  .tgrid{grid-template-columns:1fr;}
}


/* ============================== activation.css ============================== */
/* =========================================================
   Social Booth — Activation de marque page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* manifesto */
.manifesto .wrap{max-width:960px;}
.manifesto .stmt{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.03em;line-height:1.08;margin:0 0 32px;max-width:20ch;}
.manifesto p{font-size:19px;line-height:1.6;color:var(--ink-soft);margin:0 0 18px;max-width:70ch;}
.manifesto p b{color:var(--ink);font-weight:600;}

/* toolbox — 6 levers, 3 col */
.toolbox{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px;}
.lever{background:var(--paper);border-radius:var(--r-lg);padding:36px 32px;border-top:4px solid var(--flash);}
.lever:nth-child(6n+2){border-top-color:var(--pulse);}
.lever:nth-child(6n+3){border-top-color:var(--spark);}
.lever:nth-child(6n+4){border-top-color:var(--flash-300);}
.lever:nth-child(6n+5){border-top-color:var(--pulse-300);}
.lever:nth-child(6n+6){border-top-color:var(--flash);}
.lever .li{width:56px;height:56px;border-radius:16px;background:var(--ink);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.lever .li svg{width:28px;height:28px;color:var(--flash);}
.lever:nth-child(6n+2) .li svg{color:var(--pulse-300);}
.lever:nth-child(6n+3) .li svg{color:var(--spark);}
.lever:nth-child(6n+4) .li svg{color:var(--flash-300);}
.lever:nth-child(6n+5) .li svg{color:var(--pulse-300);}
.lever h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0 0 10px;}
.lever p{font-size:16px;color:var(--ink-soft);margin:0;line-height:1.5;}

/* by objective */
.obj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:50px;}
.obj{background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:34px 36px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;}
.obj .goal{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.02em;display:flex;align-items:center;gap:14px;}
.obj .goal .arw{color:var(--flash);}
.obj:nth-child(2) .goal .arw{color:var(--pulse-300);}
.obj:nth-child(3) .goal .arw{color:var(--spark);}
.obj:nth-child(4) .goal .arw{color:var(--flash-300);}
.obj p{font-size:17px;color:#C3BAD0;margin:0;line-height:1.55;}
.obj .lever-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.obj .lever-tags span{font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--paper);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 13px;}

/* hero split visual for activation */
.hero.act-hero .hero-visual{display:grid;grid-template-rows:1fr 1fr;gap:18px;}
.hero.act-hero .hero-photo{aspect-ratio:auto;height:100%;}
.hero.act-hero .mini-dash{background:var(--ink-2);border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.12);padding:26px;display:flex;flex-direction:column;justify-content:center;gap:16px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);}
.hero.act-hero .mini-dash .row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.hero.act-hero .mini-dash .k{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mauve);}
.hero.act-hero .mini-dash .v{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.02em;}
.hero.act-hero .mini-dash .v.f{color:var(--flash);}
.hero.act-hero .mini-dash .v.p{color:var(--pulse-300);}
.hero.act-hero .mini-dash .v.s{color:var(--spark);}
.hero.act-hero .mini-dash .bar{height:8px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden;}
.hero.act-hero .mini-dash .bar i{display:block;height:100%;border-radius:4px;}

.hero h1.kicker{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.18em;line-height:1.4;margin:0 0 22px;}
.hero .hero-h1{font-family:var(--display);font-weight:800;font-size:clamp(48px,6vw,86px);letter-spacing:-.04em;line-height:.96;margin:0;}

@media (max-width:980px){
  .toolbox{grid-template-columns:1fr 1fr;}
  .obj-grid{grid-template-columns:1fr;}
  .hero.act-hero .hero-visual{grid-template-rows:auto auto;}
}
@media (max-width:680px){
  .toolbox{grid-template-columns:1fr;}
}


/* ============================== agences.css ============================== */
/* =========================================================
   Social Booth — Agences événementielles page — additive
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* pitch */
.pitch-agency .wrap{max-width:900px;}
.pitch-agency p{font-size:19px;line-height:1.65;color:var(--ink-soft);margin:0;}
.pitch-agency p b{color:var(--ink);font-weight:600;}

/* how we collaborate — numbered inline */
.collab-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px;}
.collab{background:var(--paper);border-radius:var(--r-lg);padding:32px 28px;position:relative;}
.collab .cn{font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.03em;line-height:1;color:var(--flash);margin-bottom:16px;}
.collab:nth-child(2) .cn{color:var(--pulse);}
.collab:nth-child(3) .cn{color:var(--ink);}
.collab:nth-child(4) .cn{color:var(--flash-300);}
.collab h3{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em;margin:0 0 8px;}
.collab p{font-size:14.5px;color:var(--ink-soft);margin:0;line-height:1.45;}

/* conditions band */
.conditions{background:var(--ink);color:var(--paper);}
.conditions .wrap{max-width:920px;text-align:center;}
.conditions .kicker{color:var(--flash-300);}
.conditions p.lead2{font-size:19px;line-height:1.6;color:#C3BAD0;margin:18px auto 34px;max-width:64ch;}

/* reassurance checklist inline */
.chk-inline{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px;margin-top:44px;}
.chk-inline .ci-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid color-mix(in oklab,var(--ink) 12%,transparent);}
.chk-inline .ci-row:nth-child(1),.chk-inline .ci-row:nth-child(2){border-top:0;padding-top:0;}
.chk-inline .ck2{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--flash);display:flex;align-items:center;justify-content:center;}
.chk-inline .ck2 svg{width:16px;height:16px;color:var(--ink);}
.chk-inline .t2{font-family:var(--display);font-weight:600;font-size:17px;padding-top:3px;}

/* agency FAQ + final CTA reuse existing .faq, .cta classes */
.cta.agency .cta-actions{gap:18px;}
.cta.agency .contact-line{margin-top:22px;}


/* ============================== apropos.css ============================== */
/* =========================================================
   Social Booth — À propos page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* story */
.story .wrap{max-width:900px;}
.story p{font-size:19px;line-height:1.65;color:var(--ink-soft);margin:0 0 18px;}
.story p b{color:var(--ink);font-weight:600;}

/* founder */
.founder{background:var(--ink);color:var(--paper);}
.founder .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;}
.founder .portrait{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--ink-2);position:relative;box-shadow:0 40px 90px -40px rgba(0,0,0,.7);}
.founder .portrait image-slot{position:absolute;inset:0;width:100%;height:100%;}
.founder .fq blockquote{font-family:var(--display);font-weight:700;font-size:clamp(24px,2.8vw,34px);letter-spacing:-.025em;line-height:1.22;margin:0 0 26px;}
.founder .fq blockquote .qm{color:var(--flash);}
.founder .fq .sig{display:flex;align-items:center;gap:14px;}
.founder .fq .sig .nm{font-family:var(--display);font-weight:700;font-size:19px;}
.founder .fq .sig .rl{font-family:var(--mono);font-size:13px;color:var(--mauve);}
.founder .fq .sig .dash{width:36px;height:2px;background:var(--flash);}

/* mission callout */
.mission{background:var(--flash);color:var(--ink);}
.mission .wrap{max-width:1000px;text-align:center;}
.mission .kicker{color:#5a1530;}
.mission h2{font-family:var(--display);font-weight:800;font-size:clamp(30px,4vw,52px);letter-spacing:-.03em;line-height:1.04;margin:0 auto 22px;max-width:22ch;}
.mission p{font-size:20px;line-height:1.55;color:#5a1530;margin:0 auto;max-width:64ch;}

/* values */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:54px;}
.val{padding-top:26px;border-top:3px solid var(--flash);}
.val:nth-child(2){border-top-color:var(--pulse);}
.val:nth-child(3){border-top-color:var(--spark);}
.val:nth-child(4){border-top-color:var(--flash-300);}
.val .vi{width:52px;height:52px;border-radius:14px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.val .vi svg{width:26px;height:26px;color:var(--flash);}
.val:nth-child(2) .vi svg{color:var(--pulse);}
.val:nth-child(3) .vi svg{color:var(--ink);}
.val:nth-child(4) .vi svg{color:var(--flash-300);}
.val h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0 0 10px;}
.val p{font-size:16px;color:var(--ink-soft);margin:0;line-height:1.5;}

/* difference split */
.diff{background:var(--paper-2);}
.diff .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.diff .vs{display:flex;flex-direction:column;gap:14px;}
.diff .vs .vrow{display:flex;align-items:center;gap:16px;background:var(--paper);border-radius:var(--r-md);padding:20px 24px;}
.diff .vs .vrow .ic{width:40px;height:40px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--flash);}
.diff .vs .vrow:nth-child(2) .ic{background:var(--pulse);}
.diff .vs .vrow:nth-child(3) .ic{background:var(--spark);}
.diff .vs .vrow .ic svg{width:20px;height:20px;color:var(--ink);}
.diff .vs .vrow:nth-child(2) .ic svg{color:#fff;}
.diff .vs .vrow .t{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em;}

/* zone / map */
.zone .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;}
.zone .map{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);min-height:420px;
  background-image:radial-gradient(var(--pulse) 2px,transparent 2.2px),radial-gradient(var(--flash) 2px,transparent 2.2px);
  background-size:32px 32px,32px 32px;background-position:0 0,16px 16px;display:flex;align-items:center;justify-content:center;}
.zone .map .pin-lbl{background:var(--paper);color:var(--ink);border-radius:16px;padding:20px 28px;font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;box-shadow:0 24px 50px -18px rgba(0,0,0,.5);}
.zone .map .pin-lbl span{display:block;font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve);margin-top:5px;}

/* cross-brand */
.crossbrand{background:var(--ink);color:var(--paper);}
.crossbrand .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;padding:56px 40px;}
.crossbrand .cb-t h3{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;margin:0 0 8px;}
.crossbrand .cb-t p{font-size:17px;color:#C3BAD0;margin:0;max-width:52ch;}

@media (max-width:980px){
  .founder .wrap,.diff .wrap,.zone .wrap{grid-template-columns:1fr;gap:40px;}
  .values-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .values-grid{grid-template-columns:1fr;}
}


/* ============================== article.css ============================== */
/* =========================================================
   Social Booth — Blog article page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css + blog.css.
   ========================================================= */

/* article hero */
.art-hero{padding:56px 0 0;}
.art-hero .wrap{max-width:820px;}
.art-hero .art-cat{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--flash-700);margin:0 0 20px;}
.art-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(34px,4.4vw,54px);letter-spacing:-.03em;line-height:1.05;margin:0 0 26px;text-wrap:balance;}
.art-hero .art-meta{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:14px;color:var(--ink-soft);flex-wrap:wrap;}
.art-hero .art-meta .dot{width:4px;height:4px;border-radius:50%;background:currentColor;}
.art-hero .art-author{display:flex;align-items:center;gap:12px;margin-top:30px;padding-top:26px;border-top:1px solid color-mix(in oklab,var(--ink) 12%,transparent);}
.art-hero .art-author .av{width:44px;height:44px;border-radius:50%;background:var(--pulse);overflow:hidden;flex:0 0 auto;}
.art-hero .art-author .av image-slot{width:100%;height:100%;}
.art-hero .art-author .an{font-family:var(--display);font-weight:700;font-size:15px;}
.art-hero .art-author .ar{font-family:var(--mono);font-size:12px;color:var(--mauve);margin-top:2px;}

/* cover image */
.art-cover{max-width:1120px;margin:44px auto 0;padding:0 40px;}
.art-cover .cover-media{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/8;background:var(--ink-2);position:relative;}
.art-cover .cover-media image-slot{position:absolute;inset:0;width:100%;height:100%;}

/* article body */
.art-body{max-width:760px;padding:60px 40px 0;margin:0 auto;}
.art-body p{font-size:19px;line-height:1.75;color:var(--ink-soft);margin:0 0 24px;}
.art-body p b{color:var(--ink);font-weight:600;}
.art-body h2{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.8vw,32px);letter-spacing:-.025em;margin:52px 0 20px;line-height:1.15;}
.art-body h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.015em;margin:36px 0 14px;}
.art-body ul{margin:0 0 24px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
.art-body ul li{font-size:19px;line-height:1.6;color:var(--ink-soft);display:flex;gap:16px;align-items:flex-start;}
.art-body ul li::before{content:"";flex:0 0 auto;width:8px;height:8px;margin-top:11px;border-radius:2px;background:var(--flash);}
.art-body blockquote{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1.32;color:var(--ink);border-left:4px solid var(--flash);padding-left:28px;margin:44px 0;}
.art-body figure{margin:44px 0;}
.art-body figure .fig-media{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;background:var(--paper-2);position:relative;}
.art-body figure .fig-media image-slot{position:absolute;inset:0;width:100%;height:100%;}
.art-body figure figcaption{font-family:var(--mono);font-size:13px;color:var(--mauve);margin-top:12px;text-align:center;}
.art-body .tip{background:var(--paper-2);border-radius:var(--r-md);padding:26px 28px;margin:36px 0;border-left:3px solid var(--spark);}
.art-body .tip p{margin:0;font-size:17px;}
.art-body .tip .tip-lbl{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mauve);margin-bottom:8px;display:block;}

/* share row */
.share-row{display:flex;align-items:center;gap:16px;margin:56px 0 0;padding-top:32px;border-top:1px solid color-mix(in oklab,var(--ink) 12%,transparent);}
.share-row .sl{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mauve);}
.share-row a{width:42px;height:42px;border-radius:12px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;transition:.2s;}
.share-row a:hover{background:var(--ink);}
.share-row a svg{width:19px;height:19px;color:var(--ink);}
.share-row a:hover svg{color:var(--paper);}

/* mid-article CTA */
.art-cta{max-width:760px;margin:56px auto;padding:0 40px;}
.art-cta .box{background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.art-cta h3{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;margin:0 0 6px;}
.art-cta p{font-size:15px;color:#C3BAD0;margin:0;}

/* related articles */
.related{background:var(--paper-2);}
.related .wrap{max-width:1120px;}

/* author box (bottom) */
.author-box{max-width:760px;margin:60px auto 0;padding:0 40px;}
.author-box .ab-inner{background:var(--paper-2);border-radius:var(--r-lg);padding:34px 36px;display:flex;gap:22px;align-items:flex-start;}
.author-box .av{width:64px;height:64px;border-radius:50%;background:var(--pulse);overflow:hidden;flex:0 0 auto;}
.author-box .av image-slot{width:100%;height:100%;}
.author-box h4{font-family:var(--display);font-weight:700;font-size:18px;margin:0 0 4px;}
.author-box p{font-size:15px;color:var(--ink-soft);margin:0;line-height:1.5;}


/* ============================== blog.css ============================== */
/* =========================================================
   Social Booth — Blog index page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* category filter (reuse .filt/.filt-row pattern from realisations.css if absent, define here) */
.filt-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.filt{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink-soft);background:var(--paper-2);border:2px solid transparent;border-radius:999px;padding:10px 20px;cursor:pointer;transition:.2s;}
.filt:hover{background:var(--paper-3);}
.filt.active{background:var(--ink);color:var(--paper);}

/* featured post */
.featured-post{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:var(--ink);color:var(--paper);border-radius:var(--r-lg);overflow:hidden;margin-top:54px;}
.featured-post .fp-media{position:relative;min-height:380px;background:var(--ink-2);}
.featured-post .fp-media image-slot{position:absolute;inset:0;width:100%;height:100%;}
.featured-post .fp-tag{position:absolute;top:20px;left:20px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--spark);border-radius:999px;padding:6px 14px;}
.featured-post .fp-body{padding:48px 50px;display:flex;flex-direction:column;justify-content:center;}
.featured-post .fp-cat{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--flash-300);margin:0 0 14px;}
.featured-post h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,2.8vw,38px);letter-spacing:-.03em;line-height:1.05;margin:0 0 18px;}
.featured-post p.excerpt{font-size:17px;color:#C3BAD0;margin:0 0 26px;line-height:1.55;}
.featured-post .fp-meta{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:13px;color:var(--mauve);}
.featured-post .fp-meta .dot{width:4px;height:4px;border-radius:50%;background:currentColor;}

/* article grid */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px;}
.post-card{background:var(--paper);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(26,18,34,.06);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;text-decoration:none;}
.post-card:hover{transform:translateY(-6px);box-shadow:0 30px 55px -30px rgba(26,18,34,.4);}
.post-card .pc-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink-2);}
.post-card .pc-media image-slot{position:absolute;inset:0;width:100%;height:100%;}
.post-card .pc-cat{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--spark);border-radius:999px;padding:5px 12px;}
.post-card.cat-conseils .pc-cat{background:var(--flash-300);}
.post-card.cat-tendances .pc-cat{background:var(--pulse-300);color:#fff;}
.post-card .pc-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1;}
.post-card .pc-date{font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;color:var(--mauve);margin:0 0 10px;}
.post-card h3{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.18;margin:0 0 10px;color:var(--ink);}
.post-card p{font-size:14.5px;color:var(--ink-soft);margin:0 0 18px;line-height:1.5;flex:1;}
.post-card .pc-go{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:14px;color:var(--flash-700);}
.post-card .pc-go .a{transition:transform .22s;}
.post-card:hover .pc-go .a{transform:translateX(5px);}
.post-card.is-hidden{display:none;}

/* newsletter band */
.newsband{background:var(--flash);color:var(--ink);}
.newsband .wrap{max-width:800px;text-align:center;}
.newsband h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em;line-height:1.05;margin:0 0 16px;}
.newsband p{font-size:18px;color:#5a1530;margin:0 auto 30px;max-width:56ch;}
.newsband form{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;max-width:520px;margin:0 auto;}
.newsband input[type=email]{flex:1;min-width:220px;font-family:var(--body);font-size:16px;padding:16px 20px;border-radius:999px;border:none;background:var(--ink);color:var(--paper);}
.newsband input[type=email]::placeholder{color:#C3BAD0;}
.newsband .btn.primary{background:var(--ink);color:var(--paper);white-space:nowrap;}
.newsband .btn.primary:hover{background:#000;}
.newsband .micro{font-size:13px;color:#5a1530;margin-top:14px;opacity:.85;}

@media (max-width:980px){
  .featured-post{grid-template-columns:1fr;}
  .post-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .post-grid{grid-template-columns:1fr;}
  .newsband form{flex-direction:column;}
}


/* ============================== contact.css ============================== */
/* =========================================================
   Social Booth — Contact / Devis page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* hero chips */
.rea-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.rea-chips .chip{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--paper);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:9px 16px;}
.rea-chips .chip svg{width:16px;height:16px;color:var(--spark);}

/* main split: form + aside */
.devis-main{background:var(--paper-2);}
.devis-main .wrap{display:grid;grid-template-columns:1.5fr .85fr;gap:40px;align-items:start;}

/* form card */
.formcard{background:var(--paper);border-radius:var(--r-lg);padding:48px;box-shadow:0 30px 70px -40px rgba(26,18,34,.4);}
.formcard h2{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.03em;margin:0 0 6px;}
.formcard .fintro{font-size:16px;color:var(--ink-soft);margin:0 0 34px;}
.fgroup{margin-bottom:34px;}
.fgroup > legend,.fgroup > .glabel{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--flash-700);margin:0 0 18px;padding:0;display:flex;align-items:center;gap:10px;}
.fgroup > .glabel::before{content:"";width:22px;height:2px;background:var(--flash);}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.frow.one{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:14px;font-weight:600;color:var(--ink);}
.field label .req{color:var(--flash);}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field select,.field textarea{
  font-family:var(--body);font-size:16px;color:var(--ink);background:var(--paper-2);
  border:1.5px solid color-mix(in oklab,var(--ink) 14%,transparent);border-radius:var(--r-sm,10px);padding:14px 16px;transition:.18s;width:100%;}
.field textarea{min-height:120px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--flash);background:var(--paper);box-shadow:0 0 0 4px color-mix(in oklab,var(--flash) 18%,transparent);}
.field .hint{font-size:12.5px;color:var(--mauve);}

/* checkbox chips (animation multi) */
.checkset{display:flex;flex-wrap:wrap;gap:12px;}
.checkchip{position:relative;cursor:pointer;}
.checkchip input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.checkchip span{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);background:var(--paper-2);border:2px solid transparent;border-radius:999px;padding:11px 20px;transition:.18s;}
.checkchip span::before{content:"";width:16px;height:16px;border-radius:5px;border:2px solid color-mix(in oklab,var(--ink) 28%,transparent);transition:.18s;}
.checkchip input:checked + span{background:color-mix(in oklab,var(--flash) 14%,var(--paper));border-color:var(--flash);}
.checkchip input:checked + span::before{background:var(--flash);border-color:var(--flash);}
.checkchip input:focus-visible + span{box-shadow:0 0 0 4px color-mix(in oklab,var(--flash) 18%,transparent);}

/* consent */
.consent{display:flex;gap:14px;align-items:flex-start;background:var(--paper-2);border-radius:var(--r-md);padding:20px 22px;margin-bottom:26px;}
.consent input{width:22px;height:22px;flex:0 0 auto;margin-top:2px;accent-color:var(--flash);}
.consent label{font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
.consent label .req{color:var(--flash);}
.consent a{color:var(--flash-700);border-bottom:1px solid currentColor;}

.submit-row{display:flex;flex-direction:column;gap:14px;}
.submit-row .btn.primary{justify-content:center;font-size:18px;padding:18px 28px;}
.microcopy{font-size:13px;color:var(--mauve);text-align:center;line-height:1.5;}

/* success state */
.form-success{display:none;text-align:center;padding:40px 20px;}
.form-success.show{display:block;}
.formcard.sent .form-body{display:none;}
.form-success .ok{width:84px;height:84px;border-radius:50%;background:color-mix(in oklab,var(--flash) 16%,var(--paper));display:flex;align-items:center;justify-content:center;margin:0 auto 26px;}
.form-success .ok svg{width:42px;height:42px;color:var(--flash);}
.form-success h3{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.03em;margin:0 0 12px;}
.form-success p{font-size:17px;color:var(--ink-soft);margin:0 auto;max-width:44ch;}

/* aside */
.aside-card{background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:38px 36px;position:sticky;top:96px;}
.aside-card h3{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.02em;margin:0 0 26px;}
.contact-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);}
.contact-item:first-of-type{border-top:0;padding-top:0;}
.contact-item .ci{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.contact-item .ci svg{width:20px;height:20px;color:var(--flash);}
.contact-item .ck{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve);margin:0 0 4px;}
.contact-item .cv{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--paper);}
.contact-item .cv a{color:var(--paper);}
.contact-item .cvsub{font-size:14px;color:#C3BAD0;margin-top:3px;line-height:1.45;}
.social-row{display:flex;gap:12px;margin-top:26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);}
.social-row a{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.2s;}
.social-row a:hover{background:var(--flash);}
.social-row a svg{width:20px;height:20px;color:var(--paper);}
.social-row a:hover svg{color:var(--ink);}

/* how (3 steps reuse .steps-grid) */

@media (max-width:980px){
  .devis-main .wrap{grid-template-columns:1fr;}
  .aside-card{position:static;}
  .formcard{padding:34px 26px;}
  .frow{grid-template-columns:1fr;}
}


/* ============================== hub.css ============================== */
/* =========================================================
   Social Booth — Animations hub / catalogue — additive layer
   Loads AFTER home.css + home2.css.
   ========================================================= */

/* filter bar */
.filterbar{position:sticky;top:78px;z-index:60;background:color-mix(in oklab,var(--paper) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent);}
.filterbar .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 40px;}
.ftab{font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--ink-soft);background:var(--paper-2);border:2px solid transparent;border-radius:999px;padding:11px 22px;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:9px;}
.ftab .ic{width:16px;height:16px;}
.ftab .ct{font-family:var(--mono);font-size:12px;opacity:.6;}
.ftab:hover{background:var(--paper-3);}
.ftab.active{background:var(--ink);color:var(--paper);}
.ftab.active .ct{opacity:.7;}

/* family sections */
.fam-block{padding:96px 0;}
.fam-block:nth-of-type(even){background:var(--paper-2);}
.fam-block .fam-head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:8px;}
.fam-block .fam-intro{font-size:19px;color:var(--ink-soft);max-width:64ch;margin:0 0 44px;}
.fam-block.is-hidden{display:none;}

/* animation card grid */
.anim-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.acard{display:flex;flex-direction:column;border-radius:var(--r-md);overflow:hidden;background:var(--paper);box-shadow:0 1px 0 rgba(26,18,34,.06);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;}
.fam-block:nth-of-type(even) .acard{background:var(--paper);}
.acard:hover{transform:translateY(-6px);box-shadow:0 30px 55px -30px rgba(26,18,34,.4);}
.acard .thumb{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink-2);}
.acard .thumb image-slot,.acard .thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.acard .pin{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--spark);border-radius:999px;padding:5px 11px;}
.acard.premium .pin{background:var(--flash);color:var(--ink);}
.acard.nouveau .pin{background:var(--pulse);color:#fff;}
.acard .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.acard h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0 0 8px;}
.acard p{font-size:15px;color:var(--ink-soft);margin:0 0 18px;line-height:1.5;flex:1;}
.acard .go{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--flash-700);}
.acard .go .a{transition:transform .22s;}.acard:hover .go .a{transform:translateX(5px);}

/* help + activation banners */
.helpband{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;}
.helpband .glow{position:absolute;border-radius:50%;filter:blur(90px);}
.helpband .g1{width:460px;height:460px;background:var(--pulse);top:-180px;right:6%;opacity:.4;}
.helpband .wrap{position:relative;z-index:2;padding:80px 40px;display:grid;grid-template-columns:1.4fr .6fr;gap:44px;align-items:center;}
.helpband h2{font-family:var(--display);font-weight:800;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1.02;margin:0 0 16px;}
.helpband p{font-size:18px;color:#C3BAD0;margin:0;max-width:52ch;}
.helpband .act-side{display:flex;justify-content:flex-end;}

.actband{background:var(--paper);color:var(--ink);}
.actband .wrap{padding:80px 40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
.actband h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em;line-height:1.04;margin:0 0 14px;max-width:20ch;}
.actband p{font-size:18px;color:#5a1530;margin:0;max-width:56ch;}
.actband .btn.primary{background:var(--ink);color:var(--paper);}
.actband .btn.primary:hover{background:#000;}

@media (max-width:980px){
  .anim-grid{grid-template-columns:1fr 1fr;}
  .helpband .wrap,.actband .wrap{grid-template-columns:1fr;}
  .helpband .act-side,.actband .btn{justify-self:start;}
  .filterbar{top:0;}
}
@media (max-width:680px){
  .anim-grid{grid-template-columns:1fr;}
}


/* ============================== legal.css ============================== */
/* =========================================================
   Social Booth — Legal page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

.legal-warn{background:color-mix(in oklab,var(--spark) 22%,var(--paper));border:1.5px dashed color-mix(in oklab,var(--ink) 24%,transparent);border-radius:var(--r-md);padding:22px 26px;margin:0 0 40px;display:flex;gap:16px;align-items:flex-start;}
.legal-warn svg{flex:0 0 auto;width:24px;height:24px;color:var(--ink);margin-top:2px;}
.legal-warn p{font-size:15px;line-height:1.55;color:var(--ink);margin:0;}
.legal-warn b{font-weight:700;}

.legal-nav{position:sticky;top:78px;z-index:60;background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent);}
.legal-nav .wrap{display:flex;gap:10px;flex-wrap:wrap;padding:16px 40px;}
.legal-nav a{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink-soft);background:var(--paper-2);border-radius:999px;padding:10px 20px;transition:.2s;}
.legal-nav a:hover{background:var(--ink);color:var(--paper);}

.legal-doc{max-width:820px;}
.legal-doc h2.sect{font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;margin:0 0 8px;scroll-margin-top:150px;}
.legal-doc .sect-sub{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--mauve);margin:0 0 36px;}
.legal-doc h3{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.01em;margin:38px 0 12px;}
.legal-doc p{font-size:16px;line-height:1.65;color:var(--ink-soft);margin:0 0 14px;}
.legal-doc p b{color:var(--ink);font-weight:600;}
.legal-doc .fld{background:color-mix(in oklab,var(--flash) 12%,var(--paper-2));color:var(--ink);border-radius:5px;padding:1px 7px;font-family:var(--mono);font-size:.92em;white-space:nowrap;}
.legal-doc hr.sep{border:0;height:1px;background:color-mix(in oklab,var(--ink) 12%,transparent);margin:70px 0;}
.legal-doc .fields-box{background:var(--paper-2);border-radius:var(--r-lg);padding:32px 34px;margin-bottom:16px;}
.legal-doc .fields-box h3{margin-top:0;}
.legal-doc .fields-box ul{margin:0;padding:0 0 0 20px;}
.legal-doc .fields-box li{font-size:15px;color:var(--ink-soft);line-height:1.9;}


/* ============================== local.css ============================== */
/* =========================================================
   Social Booth — Landing SEO locale (type × ville) — additive
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* intro locale — emphasis lead */
.localintro .wrap{max-width:900px;}
.localintro p{font-size:20px;line-height:1.65;color:var(--ink-soft);margin:0;}
.localintro p b{color:var(--ink);font-weight:600;}

/* animations for this event — list with arrows to product pages */
.anim-picks{display:flex;flex-direction:column;gap:0;margin-top:50px;border-top:2px solid var(--ink);}
.pick{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid color-mix(in oklab,var(--ink) 14%,transparent);text-decoration:none;transition:.2s;}
.pick:hover{padding-left:12px;}
.pick .pk-dot{width:14px;height:14px;border-radius:50%;background:var(--flash);}
.pick:nth-child(2) .pk-dot{background:var(--pulse);}
.pick:nth-child(3) .pk-dot{background:var(--spark);}
.pick:nth-child(4) .pk-dot{background:var(--flash-300);}
.pick .pk-body h3{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;margin:0 0 4px;color:var(--ink);}
.pick .pk-body p{font-size:16px;color:var(--ink-soft);margin:0;}
.pick .pk-go{font-family:var(--display);font-weight:700;font-size:15px;color:var(--flash-700);white-space:nowrap;display:flex;align-items:center;gap:8px;}
.pick .pk-go .a{transition:transform .2s;}
.pick:hover .pk-go .a{transform:translateX(5px);}

/* venues — local chips */
.venues{background:var(--ink);color:var(--paper);}
.venues .wrap{max-width:1000px;}
.venues .lead{color:#C3BAD0;}
.venue-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;}
.venue-list .vn{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--paper);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:12px 22px;transition:.2s;}
.venue-list .vn:hover{background:var(--flash);color:var(--ink);border-color:var(--flash);}

/* internal mesh links */
.mesh{background:var(--paper-2);}
.mesh .mesh-col h4{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--flash-700);margin:0 0 18px;}
.mesh .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.mesh .chips{display:flex;flex-wrap:wrap;gap:12px;}
.mesh .chips a{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--ink);background:var(--paper);border:1.5px solid color-mix(in oklab,var(--ink) 12%,transparent);border-radius:999px;padding:11px 20px;transition:.2s;}
.mesh .chips a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

@media (max-width:760px){
  .pick{grid-template-columns:auto 1fr;}
  .pick .pk-go{grid-column:2;justify-self:start;margin-top:6px;}
  .mesh .wrap{grid-template-columns:1fr;gap:30px;}
}


/* ============================== materiel.css ============================== */
/* =========================================================
   Social Booth — Notre matériel page — additive layer
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css.
   ========================================================= */

/* le parc — equipment rows */
.park{display:flex;flex-direction:column;gap:30px;margin-top:54px;}
.equip{background:var(--paper-2);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;transition:box-shadow .3s;}
.equip:hover{box-shadow:0 30px 60px -34px rgba(26,18,34,.35);}
.equip:nth-child(even){grid-template-columns:1.1fr 1fr;}
.equip:nth-child(even) .eq-media{order:2;}
.eq-media{position:relative;min-height:360px;background:var(--ink-2);}
.eq-media image-slot{position:absolute;inset:0;width:100%;height:100%;}
.eq-tag{position:absolute;top:18px;left:18px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--spark);border-radius:999px;padding:6px 13px;}
.equip:nth-child(3n) .eq-tag{background:var(--flash-300);}
.eq-body{padding:46px 48px;display:flex;flex-direction:column;justify-content:center;}
.eq-body .ename{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--flash-700);margin:0 0 10px;}
.eq-body h3{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.03em;line-height:1.02;margin:0 0 16px;}
.eq-body p{font-size:17px;color:var(--ink-soft);margin:0 0 20px;line-height:1.55;}
.eq-specs{display:flex;flex-wrap:wrap;gap:10px;}
.eq-specs .sp{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink-soft);background:var(--paper);border:1px solid color-mix(in oklab,var(--ink) 12%,transparent);border-radius:999px;padding:8px 15px;}
.eq-specs .sp.todo{color:var(--mauve);border-style:dashed;}

/* quality band */
.quality{background:var(--ink);color:var(--paper);}
.quality .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.quality .qlist{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.quality .qi{background:rgba(255,255,255,.05);border-radius:var(--r-md);padding:26px 28px;border-top:3px solid var(--flash);}
.quality .qi:nth-child(2){border-top-color:var(--pulse-300);}
.quality .qi:nth-child(3){border-top-color:var(--spark);}
.quality .qi:nth-child(4){border-top-color:var(--flash-300);}
.quality .qi h4{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em;margin:0 0 8px;color:var(--paper);}
.quality .qi p{font-size:15px;color:#C3BAD0;margin:0;line-height:1.5;}

/* soft LLD band */
.lld{background:var(--paper-2);}
.lld .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;border:2px dashed color-mix(in oklab,var(--ink) 22%,transparent);border-radius:var(--r-lg);padding:44px 48px;}
.lld .lt h3{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;margin:0 0 8px;}
.lld .lt p{font-size:16px;color:var(--ink-soft);margin:0;max-width:56ch;}

@media (max-width:980px){
  .equip,.equip:nth-child(even){grid-template-columns:1fr;}
  .equip:nth-child(even) .eq-media{order:0;}
  .quality .wrap{grid-template-columns:1fr;gap:36px;}
}
@media (max-width:680px){
  .quality .qlist{grid-template-columns:1fr;}
}


/* ============================== pillar.css ============================== */
/* =========================================================
   Social Booth — Pillar page (location photobooth + ville) — additive
   Loads AFTER home.css + home2.css + page-anim.css + anim2.css + local.css.
   ========================================================= */

/* catalogue overview (3 families) */
.fam-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px;}
.fam-ov{background:var(--paper-2);border-radius:var(--r-lg);padding:36px 32px;border-top:4px solid var(--flash);}
.fam-ov:nth-child(2){border-top-color:var(--pulse);}
.fam-ov:nth-child(3){border-top-color:var(--spark);}
.fam-ov .fi{width:52px;height:52px;border-radius:14px;background:var(--ink);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.fam-ov .fi svg{width:26px;height:26px;color:var(--flash);}
.fam-ov:nth-child(2) .fi svg{color:var(--pulse-300);}
.fam-ov:nth-child(3) .fi svg{color:var(--spark);}
.fam-ov h3{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;margin:0 0 10px;}
.fam-ov p{font-size:16px;color:var(--ink-soft);margin:0 0 18px;line-height:1.5;}
.fam-ov a{font-family:var(--display);font-weight:700;font-size:15px;color:var(--flash-700);display:inline-flex;align-items:center;gap:8px;}

/* satellite event-type grid */
.sat-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:46px;}
.sat-grid a{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--ink);background:var(--paper-2);border-radius:999px;padding:15px 28px;transition:.2s;display:inline-flex;align-items:center;gap:10px;}
.sat-grid a::after{content:"→";color:var(--flash);transition:transform .2s;}
.sat-grid a:hover{background:var(--ink);color:var(--paper);}
.sat-grid a:hover::after{transform:translateX(4px);color:var(--flash-300);}

/* activation callout (differentiator) */
.actcallout{background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:48px 52px;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;margin-top:0;}
.actcallout p{font-size:18px;color:#C3BAD0;margin:10px 0 0;max-width:60ch;}
.actcallout h3{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;margin:0;}

/* particuliers redirect (discreet) */
.partyband{background:var(--paper-2);border:1.5px dashed color-mix(in oklab,var(--ink) 20%,transparent);border-radius:var(--r-lg);padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.partyband p{font-size:16px;color:var(--ink-soft);margin:0;max-width:56ch;}
.partyband strong{color:var(--ink);}

@media (max-width:980px){
  .fam-overview{grid-template-columns:1fr 1fr;}
  .actcallout{grid-template-columns:1fr;text-align:left;}
}
@media (max-width:680px){
  .fam-overview{grid-template-columns:1fr;}
}


/* ============================== lp.css ============================== */
/* =========================================================
   Social Booth — Lead magnet landing page — additive layer
   Loads AFTER home.css + home2.css. Standalone, minimal nav.
   ========================================================= */

/* minimal nav */
.lp-nav{padding:26px 40px;display:flex;align-items:center;justify-content:space-between;}
.lp-nav .brandlk{}
.lp-nav .lp-trust{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--mauve);}

/* hero split: copy + form card */
.lp-hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;}
.lp-hero .glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;}
.lp-hero .g1{width:640px;height:640px;background:var(--flash);top:-220px;right:-140px;opacity:.4;}
.lp-hero .g2{width:520px;height:520px;background:var(--pulse);bottom:-220px;left:-120px;opacity:.4;}
.lp-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding:20px 40px 80px;}
.lp-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(36px,4.4vw,58px);letter-spacing:-.03em;line-height:1.05;margin:0 0 22px;text-wrap:balance;}
.lp-hero .sub{font-size:19px;line-height:1.6;color:#C3BAD0;margin:0;max-width:52ch;}
.lp-hero .cover-mock{margin-top:40px;display:flex;justify-content:flex-start;}
.lp-hero .cover-mock .cm-inner{width:220px;aspect-ratio:3/4;border-radius:14px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);transform:rotate(-4deg);position:relative;overflow:hidden;}
.lp-hero .cover-mock image-slot{position:absolute;inset:0;width:100%;height:100%;}

/* form card */
.lp-form-card{background:var(--paper);color:var(--ink);border-radius:var(--r-lg);padding:40px 40px 34px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);}
.lp-form-card .lfc-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--flash-700);margin:0 0 8px;}
.lp-form-card h3{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;margin:0 0 22px;}
.lp-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.lp-field label{font-size:13.5px;font-weight:600;color:var(--ink);}
.lp-field label .req{color:var(--flash);}
.lp-field input,.lp-field select{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--paper-2);border:1.5px solid color-mix(in oklab,var(--ink) 14%,transparent);border-radius:10px;padding:13px 15px;width:100%;transition:.18s;}
.lp-field input:focus,.lp-field select:focus{outline:none;border-color:var(--flash);background:var(--paper);box-shadow:0 0 0 4px color-mix(in oklab,var(--flash) 18%,transparent);}
.lp-consent{display:flex;gap:11px;align-items:flex-start;margin:6px 0 22px;}
.lp-consent input{width:19px;height:19px;flex:0 0 auto;margin-top:2px;accent-color:var(--flash);}
.lp-consent label{font-size:13px;color:var(--ink-soft);line-height:1.5;}
.lp-form-card .btn.primary{width:100%;justify-content:center;font-size:17px;padding:16px 24px;}
.lp-micro{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:16px;font-size:12.5px;color:var(--mauve);}
.lp-micro span{display:inline-flex;align-items:center;gap:6px;}

/* success state */
.lp-success{display:none;text-align:center;padding:20px 4px;}
.lp-success.show{display:block;}
.lp-form-card.sent .lp-form-body{display:none;}
.lp-success .ok{width:72px;height:72px;border-radius:50%;background:color-mix(in oklab,var(--flash) 16%,var(--paper));display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.lp-success .ok svg{width:36px;height:36px;color:var(--flash);}
.lp-success h3{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;margin:0 0 10px;}
.lp-success p{font-size:15px;color:var(--ink-soft);margin:0;}

/* what's inside */
.lp-inside .wrap{max-width:840px;}
.lp-inside .lp-list{display:flex;flex-direction:column;gap:0;margin-top:44px;border-top:2px solid var(--ink);}
.lp-inside .li-row{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:26px 0;border-bottom:1px solid color-mix(in oklab,var(--ink) 14%,transparent);align-items:start;}
.lp-inside .li-row .dot2{width:34px;height:34px;border-radius:50%;background:var(--flash);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.lp-inside .li-row:nth-child(2) .dot2{background:var(--pulse);}
.lp-inside .li-row:nth-child(3) .dot2{background:var(--spark);}
.lp-inside .li-row:nth-child(4) .dot2{background:var(--flash-300);}
.lp-inside .li-row:nth-child(5) .dot2{background:var(--pulse-300);}
.lp-inside .li-row .dot2 svg{width:16px;height:16px;color:var(--ink);}
.lp-inside .li-row p{font-size:18px;color:var(--ink);margin:0;line-height:1.5;padding-top:4px;}
.lp-inside .li-row p b{font-weight:700;}

/* for whom */
.lp-forwhom{background:var(--paper-2);}
.lp-forwhom .wrap{max-width:840px;text-align:center;}
.lp-forwhom p{font-size:18px;color:var(--ink-soft);line-height:1.6;margin:18px auto 0;max-width:64ch;}
.lp-forwhom .roles{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;}
.lp-forwhom .roles span{font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);background:var(--paper);border-radius:999px;padding:11px 20px;}

/* preview pages */
.lp-preview .prev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px;}
.lp-preview .prev-page{aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--ink-2);position:relative;box-shadow:0 24px 50px -24px rgba(26,18,34,.35);}
.lp-preview .prev-page image-slot{position:absolute;inset:0;width:100%;height:100%;}

/* who's behind */
.lp-behind .wrap{max-width:760px;text-align:center;}
.lp-behind p{font-size:18px;line-height:1.65;color:var(--ink-soft);margin:18px auto 0;max-width:64ch;}

/* final CTA reuse .lp-form-card styling inline in section */
.lp-final{background:var(--ink);color:var(--paper);}
.lp-final .wrap{max-width:640px;text-align:center;}
.lp-final h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.03em;margin:0 0 30px;}
.lp-final .lp-form-card{text-align:left;}

/* minimal footer */
.lp-foot{padding:36px 40px;text-align:center;}
.lp-foot p{font-family:var(--mono);font-size:12.5px;color:var(--mauve);margin:0;}
.lp-foot a{color:var(--mauve);border-bottom:1px solid currentColor;}

@media (max-width:980px){
  .lp-hero .wrap{grid-template-columns:1fr;gap:44px;padding-top:10px;}
  .lp-preview .prev-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .lp-preview .prev-grid{grid-template-columns:1fr;}
}

/* ===== Correctif menu burger mobile ===== */
@media (max-width:680px){

  /* Header ouvert : fond crème plein, sans flou */
  header.nav.menu-open{
    background:var(--paper) !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  /* LA clé : on retire la hauteur figée de 78px pour que le fond
     couvre tout le menu, sur toute la largeur et toute la hauteur */
  .nav.menu-open .wrap{height:auto;}

  /* Sécurité : chaque bloc du panneau a aussi son propre fond opaque */
  .nav.menu-open .nav-links,
  .nav.menu-open .nav-cta{background:var(--paper);}

  /* Un peu plus d'air entre les liens (← c'est la valeur à ajuster) */
  .nav.menu-open .nav-links{gap:5px;}
  .nav.menu-open .nav-links a,
  .nav.menu-open .nav-drop > a{padding:15px 4px;}

  /* Boutons : on supprime la bande transparente entre "À propos"
     et "Nous contacter". La marge (toujours transparente) devient
     un padding (donc coloré), avec un léger trait de séparation. */
  .nav.menu-open .nav-cta{
    margin-top:0;
    padding-top:18px;
    padding-bottom:24px;
    gap:12px;
    border-top:1px solid color-mix(in oklab,var(--ink) 10%,transparent);
  }
}
.foot-top.foot-5{grid-template-columns:1.5fr 1fr 1fr 1.15fr 1.25fr;}
.foot-social{display:flex;gap:10px;margin-top:22px;}
.foot-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.2s;}
.foot-social a:hover{background:var(--flash);}
.foot-social a svg{width:18px;height:18px;color:var(--paper);}
.foot-social a:hover svg{color:var(--ink);}
.foot .desc{font-size:14px;line-height:1.55;color:#C3BAD0;margin:20px 0 0;max-width:32ch;}
.foot .nap{font-style:normal;font-size:14px;line-height:1.7;color:#C3BAD0;}
.foot .nap strong{display:block;font-family:var(--display);font-weight:700;font-size:15px;color:var(--paper);margin-bottom:6px;letter-spacing:-.01em;}
.foot .nap a{color:#C3BAD0;}
.foot .nap a:hover{color:var(--paper);}
.foot .nap .devis{color:var(--flash-300);font-weight:500;}

/* Emplacements d'image vides — fond de marque (trame de points) */
.art-cover .cover-media{
  border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/8;position:relative;
  background-color:var(--ink-2);
  background-image:radial-gradient(var(--flash) 2px,transparent 2.2px),radial-gradient(var(--pulse) 2px,transparent 2.2px);
  background-size:32px 32px,32px 32px;background-position:0 0,16px 16px;
}
.art-body figure .fig-media{
  border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;position:relative;
  background-color:var(--paper-2);
  background-image:radial-gradient(color-mix(in oklab,var(--flash) 55%,transparent) 2px,transparent 2.2px),radial-gradient(color-mix(in oklab,var(--pulse) 55%,transparent) 2px,transparent 2.2px);
  background-size:28px 28px,28px 28px;background-position:0 0,14px 14px;
}

/* Espace sous le bloc auteur (ne touche plus « À lire aussi ») */
.author-box{max-width:760px;margin:60px auto 88px;padding:0 40px;}

/* Padding vertical de la newsletter (titre qui respire + pas d'espace blanc vers le footer) */
.newsband .wrap{max-width:800px;text-align:center;padding:88px 40px;}

.logo-wall{margin-top:12px;display:flex;flex-direction:column;gap:40px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.logo-wall .row{overflow:hidden;}
.logo-wall .track{display:flex;align-items:center;gap:64px;width:max-content;animation:logoscroll 38s linear infinite;}
.logo-wall .row.rev .track{animation-direction:reverse;animation-duration:44s;}
.logo-wall:hover .track{animation-play-state:paused;}
@keyframes logoscroll{to{transform:translateX(-50%);}}
.logo-wall .tile{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:60px;}
.logo-wall .tile img{max-width:180px;max-height:80px;width:auto;height:auto;object-fit:contain;}
.logo-wall .tile:hover img{opacity:1;}
@media(prefers-reduced-motion:reduce){.logo-wall .track{animation:none;flex-wrap:wrap;justify-content:center;gap:40px;}}

 /* ===== OPTION B — split editorial ===== */
  .heroB .wrap{grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding-top:88px;padding-bottom:88px;}
  .heroB .hero-media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);}
  .heroB .hero-media video{width:100%;height:100%;object-fit:cover;display:block;}
  .heroB .float-badge{position:absolute;left:-14px;bottom:34px;background:var(--flash);color:var(--ink);border-radius:18px;padding:16px 22px;box-shadow:0 20px 40px -16px rgba(0,0,0,.55);z-index:3;}
  .heroB .float-badge .v{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;}
  .heroB .float-badge .l{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-top:4px;}
  .heroB .bk{position:absolute;width:44px;height:44px;border:4px solid var(--spark);z-index:3;}
  .heroB .bk.tr{top:16px;right:16px;border-left:0;border-bottom:0;}

    /* ===== OPTION C — bold typographic, no media ===== */  /* ===== OPTION C — bold typographic, no media ===== */
  .heroC{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;}
  .heroC .glow.gc1{width:620px;height:620px;background:var(--flash);top:-260px;left:-140px;opacity:.4;}
  .heroC .glow.gc2{width:560px;height:560px;background:var(--pulse);bottom:-280px;right:-120px;opacity:.5;}
  .heroC .wrap{position:relative;z-index:2;max-width:1200px;padding:120px 40px;text-align:center;display:block;}
  .heroC .mk-lockup{display:inline-flex;align-items:center;gap:14px;margin-bottom:30px;}
  .heroC .mk-lockup svg{height:42px;}
  .heroC h1{font-family:var(--display);font-weight:800;font-size:clamp(52px,8vw,120px);letter-spacing:-.045em;line-height:.92;margin:0 auto;max-width:16ch;}
  .heroC h1 .hl{color:var(--flash);}
  .heroC h1 .hl2{color:var(--pulse-300);}
  .heroC .sub{font-size:22px;color:#D8CFE0;margin:32px auto 0;max-width:60ch;}
  .heroC .hero-cta{justify-content:center;}
  .heroC .anim-chips{justify-content:center;}

/* ===== OPTION F — split + 3 cartes animations (Photos/Vidéos/Gamification) ===== */
  .heroF{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;}
  .heroF .glow.gf1{width:600px;height:600px;background:var(--flash);top:-260px;left:-160px;opacity:.34;}
  .heroF .glow.gf2{width:520px;height:520px;background:var(--pulse);bottom:-280px;right:-120px;opacity:.44;}
  .heroF .wrap{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;align-items:center;padding:96px 40px;}
  .heroF h1{font-family:var(--display);font-weight:800;font-size:clamp(44px,5.4vw,84px);letter-spacing:-.04em;line-height:.95;margin:0;max-width:14ch;}
  .heroF h1 .hl{color:var(--flash);}
  .heroF .brush{display:block;width:190px;height:16px;margin:22px 0 26px;}
  .heroF .sub{font-size:20px;color:#D8CFE0;margin:0;max-width:42ch;}
  .heroF .hero-cta{margin-top:32px;}
  /* cascade of cards */
  .heroF .cards{position:relative;height:560px;}
  .card-anim{position:absolute;width:300px;border-radius:20px;overflow:hidden;background:#fff;padding:12px 12px 0;box-shadow:0 30px 70px -28px rgba(0,0,0,.7);transition:transform .3s;}
  .card-anim .ph{border-radius:12px;overflow:hidden;aspect-ratio:3/3.4;background:var(--ink-2);position:relative;}
  .card-anim .ph image-slot,.card-anim .ph video,.card-anim .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .card-anim .cap{padding:16px 8px 18px;}
  .card-anim .cap h3{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em;margin:0 0 5px;color:var(--ink);}
  .card-anim .cap p{font-size:13.5px;line-height:1.4;color:#5a5266;margin:0 0 12px;}
  .card-anim .cap .go{font-family:var(--display);font-weight:700;font-size:14px;color:var(--flash-700);display:inline-flex;align-items:center;gap:7px;}
  .card-anim::before{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:24px;}
  .card-anim.c-photo{left:0;top:120px;z-index:3;transform:rotate(-5deg);}
  .card-anim.c-photo::before{background:var(--paper);
}
  .card-anim.c-video{right:20px;top:0;z-index:2;transform:rotate(4deg);}
  .card-anim.c-video::before{background:var(--paper);
}
  .card-anim.c-game{right:60px;bottom:-10px;z-index:4;transform:rotate(-3deg);}
  .card-anim.c-game::before{background:var(--paper);
}
  .card-anim:hover{transform:rotate(0) scale(1.03);z-index:9;}
  @media(max-width:980px){
    .heroF .wrap{grid-template-columns:1fr;gap:56px;}
    .heroF .cards{height:auto;display:flex;flex-wrap:wrap;gap:34px 20px;justify-content:center;}
    .card-anim{position:static;transform:none!important;width:260px;}
  }

    /* ---------- shared bits ---------- */
  .anim-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;}
  .anim-chips .chip{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--paper);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 16px;display:flex;align-items:center;gap:8px;}
  .anim-chips .chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--flash);}
  .anim-chips .chip:nth-child(2)::before{background:var(--pulse-300);}
  .anim-chips .chip:nth-child(3)::before{background:var(--spark);}
  .anim-chips .chip:nth-child(4)::before{background:var(--flash-300);}

  /* Vidéos 360 : styles spécifiques à cette page */
.anim-concept .media video {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.gallery-grid.video-gallery {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  grid-auto-rows: 500px;
}


.gallery-grid.video-gallery .video-card {
  position:relative;
  aspect-ratio:9 / 16;
  overflow:hidden;
  cursor:pointer;
  background:linear-gradient(145deg,#1A1222,#2a1a38);
}
.gallery-grid.video-gallery .video-card-paysage {
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  cursor:pointer;
  background:linear-gradient(145deg,#1A1222,#2a1a38);
}

.gallery-grid.video-gallery .gallery-video {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.video-play {
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#1A1222;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  transition:transform .2s ease,opacity .2s ease;
  z-index:2;
}

.video-play svg {width:22px;height:22px;margin-left:3px}
.video-card:hover .video-play {transform:translate(-50%,-50%) scale(1.08)}
.video-card.playing .video-play {opacity:0;pointer-events:none}
.video-card::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to top,rgba(10,7,14,.24),transparent 38%);
}
.video-card.playing::after {opacity:0}

@media (max-width:900px) {
  .gallery-grid.video-gallery {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:560px) {
  .gallery-grid.video-gallery {gap:10px;}
  .video-play {width:54px;height:54px;}
}

@media (prefers-reduced-motion:reduce) {
  .video-play {transition:none}
}

/* ==================================================
   FIX GALERIE VIRTUAL BOOTH
   4 cartes portrait + 2 vidéos paysage
   Les portraits définissent la hauteur des lignes.
================================================== */

.gallery-grid.virtual-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-areas:
    "portrait-1 landscape-1 landscape-1 portrait-2"
    "landscape-2 landscape-2 portrait-video portrait-3";
  grid-auto-rows: auto !important;
  gap: 16px;
  align-items: stretch;
  margin-top: 50px;
}

/* Placement desktop */
.gallery-grid.virtual-gallery > .g:nth-child(1) { grid-area: portrait-1; }
.gallery-grid.virtual-gallery > .g:nth-child(2) { grid-area: landscape-1; }
.gallery-grid.virtual-gallery > .g:nth-child(3) { grid-area: portrait-2; }
.gallery-grid.virtual-gallery > .g:nth-child(4) { grid-area: landscape-2; }
.gallery-grid.virtual-gallery > .g:nth-child(5) { grid-area: portrait-video; }
.gallery-grid.virtual-gallery > .g:nth-child(6) { grid-area: portrait-3; }

/* Les 4 emplacements verticaux gardent exactement le ratio 278 x 400 */
.gallery-grid.virtual-gallery > .g:nth-child(1),
.gallery-grid.virtual-gallery > .g:nth-child(3),
.gallery-grid.virtual-gallery > .g:nth-child(5),
.gallery-grid.virtual-gallery > .g:nth-child(6) {
  aspect-ratio: 278 / 400;
  min-height: 0;
}

/* Les vidéos paysage ne déterminent PLUS la hauteur de la ligne.
   Elles s'étirent sur la hauteur définie par les cartes portrait. */
.gallery-grid.virtual-gallery .video-card-paysage {
  position: relative;
  grid-column: auto;
  aspect-ratio: auto !important;
  min-width: 0;
  min-height: 0;
  height: auto;
  overflow: hidden;
  background: #111;
}

/* La vidéo est sortie du flux : elle ne peut plus agrandir la ligne. */
.gallery-grid.virtual-gallery .video-card-paysage .gallery-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Vidéo portrait */
.gallery-grid.virtual-gallery .video-card:not(.video-card-paysage) {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.gallery-grid.virtual-gallery .video-card:not(.video-card-paysage) .gallery-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Photos */
.gallery-grid.virtual-gallery image-slot,
.gallery-grid.virtual-gallery image-slot img {
  width: 100%;
  height: 100%;
  display: block;
}

.gallery-grid.virtual-gallery image-slot img {
  object-fit: cover;
  object-position: center;
}

/* Le bouton Play fonctionne sur les deux types de cartes */
.gallery-grid.virtual-gallery .video-card,
.gallery-grid.virtual-gallery .video-card-paysage {
  cursor: pointer;
}

.gallery-grid.virtual-gallery .video-card:hover .video-play,
.gallery-grid.virtual-gallery .video-card-paysage:hover .video-play {
  transform: translate(-50%, -50%) scale(1.08);
}

.gallery-grid.virtual-gallery .video-card.playing .video-play,
.gallery-grid.virtual-gallery .video-card-paysage.playing .video-play {
  opacity: 0;
  pointer-events: none;
}

/* Tablette : 2 portraits, puis vidéo pleine largeur, etc. */
@media (max-width: 950px) {
  .gallery-grid.virtual-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "portrait-1 portrait-2"
      "landscape-1 landscape-1"
      "portrait-video portrait-3"
      "landscape-2 landscape-2";
    grid-auto-rows: auto !important;
  }

  /* En pleine largeur, on rend aux vidéos paysage leur vrai ratio 4:3 */
  .gallery-grid.virtual-gallery .video-card-paysage {
    aspect-ratio: 4 / 3 !important;
  }
}

/* Mobile : on conserve 2 colonnes pour les contenus verticaux.
   Cela évite des cartes portrait gigantesques. */
@media (max-width: 600px) {
  .gallery-grid.virtual-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}


/* ================= BLOG : pagination, images des cartes, catégories ================= */
.post-card .pc-media img,
.featured-post .fp-media img,
.art-cover .cover-media img,
.art-body figure .fig-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
a.filt{display:inline-block;text-decoration:none;}
.blog-empty{grid-column:1/-1;font-size:18px;color:var(--ink-soft);padding:40px 0;}
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:56px;}
.pager[hidden]{display:none;}
.pager a,.pager span{font-family:var(--display);font-weight:700;font-size:15px;min-width:46px;height:46px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);background:var(--paper-2);transition:.2s;}
.pager a:hover{background:var(--paper-3);}
.pager .is-current{background:var(--ink);color:var(--paper);}
.pager .pg-gap{background:none;min-width:auto;padding:0 4px;}
.pager .pg-prev,.pager .pg-next{background:var(--pulse);color:#fff;}
.pager .pg-prev:hover,.pager .pg-next:hover{background:var(--pulse-700);}
@media (max-width:600px){.pager .pg-prev,.pager .pg-next{flex-basis:100%;order:2;}}

/* ================= BLOG : blocs de mise en page des articles ================= */
.art-body p strong,.art-body li strong{color:var(--ink);font-weight:600;}
.art-body a:not(.btn){color:var(--pulse);text-decoration:underline;text-underline-offset:3px;}
.art-body .art-lead{font-size:22px;line-height:1.6;color:var(--ink);font-weight:500;}
.art-body hr{border:0;height:1px;background:var(--paper-3);margin:52px 0;}
/* Chiffres clés */
.art-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:40px 0;}
.art-stat{background:var(--ink);color:var(--paper);border-radius:var(--r-md);padding:24px 22px;}
.art-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.03em;line-height:1;color:var(--spark);margin-bottom:8px;}
.art-stat span{display:block;font-size:15px;line-height:1.45;color:#C3BAD0;}
/* Citation client */
.art-quote{margin:44px 0;background:var(--paper-2);border-radius:var(--r-lg);padding:34px 36px;}
.art-body .art-quote blockquote{border:0;padding:0;margin:0 0 18px;font-size:24px;}
.art-body .art-quote blockquote::before{content:"“";display:block;font-size:64px;line-height:.6;color:var(--flash);margin-bottom:10px;}
.art-body .art-quote figcaption{text-align:left;font-family:var(--body);font-size:15px;color:var(--ink-soft);margin:0;}
.art-quote figcaption strong{color:var(--ink);}
/* Image + texte côte à côte */
.art-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:44px 0;}
.art-split .as-media{position:relative;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--paper-2);}
.art-split .as-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.art-body .art-split h3{margin-top:0;}
.art-body .art-split p{font-size:17px;margin-bottom:0;}
/* Galerie */
.art-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:44px 0;}
.art-gallery.g2{grid-template-columns:repeat(2,1fr);}
.art-body .art-gallery figure{margin:0;}
.art-gallery .gm{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--paper-2);}
.art-gallery .gm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* Vidéo */
.art-video .vm{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);}
.art-video .vm iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Étapes */
.art-body .art-steps{list-style:none;padding:0;margin:36px 0;counter-reset:st;display:flex;flex-direction:column;gap:14px;}
.art-body .art-steps li{counter-increment:st;position:relative;padding:20px 22px 20px 78px;background:var(--paper-2);border-radius:var(--r-md);font-size:18px;line-height:1.6;color:var(--ink-soft);}
.art-body .art-steps li::before{content:counter(st);position:absolute;left:20px;top:18px;width:40px;height:40px;border-radius:50%;background:var(--pulse);color:#fff;font-family:var(--display);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;}
.art-body .art-steps li strong{display:block;color:var(--ink);font-family:var(--display);font-size:19px;margin-bottom:2px;}
/* Tableau */
.art-table{margin:40px 0;overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--paper-3);}
.art-table table{width:100%;border-collapse:collapse;font-size:16px;min-width:480px;}
.art-table th{background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:700;text-align:left;padding:14px 16px;}
.art-table td{padding:13px 16px;border-top:1px solid var(--paper-3);color:var(--ink-soft);vertical-align:top;}
.art-table tr:nth-child(even) td{background:var(--paper-2);}
/* FAQ */
.art-faq{margin:40px 0;display:flex;flex-direction:column;gap:10px;}
.art-faq details{background:var(--paper-2);border-radius:var(--r-md);padding:4px 24px;}
.art-faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-weight:700;font-size:19px;padding:16px 30px 16px 0;position:relative;}
.art-faq summary::-webkit-details-marker{display:none;}
.art-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:26px;color:var(--flash);transition:.2s;}
.art-faq details[open] summary::after{transform:rotate(45deg);}
.art-body .art-faq details p{font-size:17px;margin:0 0 18px;}
/* Bouton d'appel à l'action */
.art-button{margin:36px 0;text-align:center;}
.art-callout{margin:44px 0;background:var(--pulse);color:#fff;border-radius:var(--r-lg);padding:34px 36px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.art-body .art-callout h3{color:#fff;margin:0 0 6px;}
.art-body .art-callout p{color:rgba(255,255,255,.82);font-size:16px;margin:0;}
.art-callout .btn.primary{background:var(--spark);color:var(--ink);}
@media (max-width:700px){
  .art-split{grid-template-columns:1fr;}
  .art-gallery{grid-template-columns:repeat(2,1fr);}
  .art-quote,.art-callout{padding:26px 22px;}
}

/* Galerie : une photo placée directement dans une case remplit la case. */
.gallery-grid .g > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ================= FORMULAIRES : messages d'envoi ================= */
.form-status{margin:14px 0 0;padding:12px 16px;border-radius:var(--r-sm);background:var(--flash-100);color:var(--flash-700);font-size:15px;line-height:1.45;}
.form-status[hidden]{display:none;}
.form-ok{margin:0;padding:14px 18px;border-radius:var(--r-sm);background:var(--spark);color:var(--ink);font-family:var(--display);font-weight:700;font-size:17px;}
button[type="submit"][disabled]{opacity:.65;cursor:progress;}
