/* === ACCESSIBILITÉ & PERFS === */
.cursor,.cursor-f{display:none !important;}
*:focus-visible{outline:2px solid #b576f9;outline-offset:3px;border-radius:4px;}.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#b576f9;color:#1c1828;padding:12px 20px;font-family:"DM Sans",sans-serif;font-weight:600;font-size:15px;border-radius:0 0 8px 0;text-decoration:none;}.skip-link:focus{left:0;}#contenu{scroll-margin-top:100px;}
.lead,.s2c-desc,.proj-desc,.faq-a-in,.testi-text,.hero-sub,.phero-sub,.foot-contact a{color:#c8c3da;}
.nav-center a{color:#dcd5ef;}
.avis-av,.budget-process-h,.budget-process-name,.card h3,.cla-name,.cta-band-text h3,.cta-final-h,.cta-final::before,.final-title,.foot-brand strong,.form-box h2,.hero-h1,.hero-stat-num,.hero-title,.hp-s-num,.infra-name,.infra-quote-text,.modal-price-row .price,.mq-item,.nav-logo-text strong,.phase-title,.phero-title,.pillar-title,.prob-quote-text,.prob-quote::before,.proc-title,.proj-name,.roi-callout-big,.roi-callout-h,.roi-title,.s2c-name,.ser-title,.sh1,.sh2,.srv-name,.srv-price,.stat-num,.tarif-name,.tarif-price,.team-name,.testi-stars,.value-name{text-transform:uppercase;}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--txt);font-family:"DM Sans",sans-serif;overflow-x:hidden;cursor:pointer;}
.cursor{position:fixed;width:10px;height:10px;background:var(--acl);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s,background .3s;}
.cursor-f{position:fixed;width:38px;height:38px;border:1.5px solid rgba(168,85,247,.35);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .12s;}
body::before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");opacity:.3;pointer-events:none;z-index:8000;}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:72px;background:rgba(18,17,26,.97);backdrop-filter:blur(24px);border-bottom:1px solid rgba(139,47,201,.12);transition:all .4s;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.1;}
.nav-logo-text strong{font-family:"Bebas Neue",sans-serif;font-size:20px;letter-spacing:2px;color:#f0edf8;}
.nav-logo-text span{font-family:"Space Mono",monospace;font-size:8px;letter-spacing:2px;color:#a8a3c0;text-transform:uppercase;}
.nav-logo img{height:46px;width:auto;display:block;mix-blend-mode:lighten;transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
.nav-logo:hover img{transform:scale(1.08) rotate(8deg);}
.nav-center{display:flex;align-items:center;gap:4px;list-style:none;}
.nav-center a{font-size:15px;font-weight:500;color:#d6cfee;text-decoration:none;padding:8px 16px;border-radius:8px;transition:color .25s,background .25s;}
.nav-center a:hover,.nav-center a.active{color:#fff;background:rgba(139,47,201,.15);}
.nav-right{display:flex;align-items:center;gap:14px;}
.nav-rdv{font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#7c22b8,#a855f7);border:none;padding:10px 22px;border-radius:999px;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px rgba(124,34,184,.4);text-decoration:none;white-space:nowrap;}
.nav-rdv:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(168,85,247,.5);}
.nav-socials{display:flex;gap:8px;}
.nav-social-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;transition:all .25s;}
.nav-social-btn:hover{border-color:var(--acl);background:rgba(168,85,247,.1);}
/* BUTTONS */
.btn-p{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;background:linear-gradient(135deg,#7c22b8,#a855f7);color:#fff;font-size:15px;font-weight:600;text-decoration:none;border-radius:999px;border:none;cursor:pointer;transition:all .3s;box-shadow:0 6px 28px rgba(139,47,201,.4);}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(168,85,247,.5);}
.btn-s{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:transparent;color:var(--txt);font-size:15px;font-weight:500;text-decoration:none;border-radius:999px;border:1.5px solid rgba(255,255,255,.15);cursor:pointer;transition:all .3s;}
.btn-s:hover{border-color:rgba(168,85,247,.5);background:rgba(139,47,201,.08);}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:transparent;color:var(--acl);font-size:13px;font-weight:500;text-decoration:none;border-radius:999px;border:1px solid rgba(168,85,247,.3);cursor:pointer;transition:all .3s;font-family:"Space Mono",monospace;letter-spacing:1px;text-transform:uppercase;}
.btn-ghost:hover{background:rgba(139,47,201,.1);border-color:var(--acl);}
/* SECTION UTILS */
.stag{font-family:"Space Mono",monospace;font-size:10px;letter-spacing:4px;color:var(--acl);text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;}
.stag::before{content:"";width:32px;height:1px;background:var(--acl);}
.sh1{font-family:"Bebas Neue",sans-serif;font-size:clamp(34px,4.5vw,60px);line-height:.93;margin-bottom:16px;}
.sh1 em{font-style:normal;color:var(--acl);}
.sh2{font-family:"Bebas Neue",sans-serif;font-size:clamp(26px,3.4vw,44px);line-height:.93;margin-bottom:16px;}
.sh2 em{font-style:normal;color:var(--acl);}
.lead{font-size:16px;color:var(--mu);line-height:1.7;font-weight:300;}
.lead strong{color:var(--txt);font-weight:500;}
/* PAGE HERO */
.phero{min-height:52vh;display:flex;flex-direction:column;justify-content:flex-end;padding:140px 60px 72px;position:relative;overflow:hidden;}
.phero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 20%,rgba(139,47,201,.13) 0%,transparent 55%),radial-gradient(ellipse 40% 50% at 10% 90%,rgba(109,40,217,.08) 0%,transparent 55%);}
.phero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(139,47,201,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(139,47,201,.05) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at center,black 20%,transparent 72%);}
.breadcrumb{font-family:"Space Mono",monospace;font-size:10px;letter-spacing:3px;color:var(--mu);text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:8px;}
.breadcrumb a{color:var(--acl);text-decoration:none;}
.phero-title{font-family:"Bebas Neue",sans-serif;font-size:clamp(44px,6vw,88px);line-height:.9;letter-spacing:-1px;margin-bottom:20px;}
.phero-title em{font-style:normal;color:var(--acl);}
.phero-sub{font-size:17px;color:var(--mu);max-width:600px;line-height:1.65;font-weight:300;margin-bottom:36px;}
/* CTA BAND */
.cta-band{background:linear-gradient(135deg,rgba(139,47,201,.15) 0%,rgba(109,40,217,.1) 100%);border:1px solid rgba(168,85,247,.25);border-radius:16px;padding:36px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 60px 80px;}
.cta-band-text h3{font-family:"Bebas Neue",sans-serif;font-size:28px;margin-bottom:4px;}
.cta-band-text p{font-size:13.5px;color:var(--mu);font-weight:300;}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}
/* FOOTER */
footer{padding:64px 60px 32px;border-top:1px solid rgba(139,47,201,.12);background:var(--sur);}
.footer-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px;margin-bottom:48px;}
.footer-brand-logo{height:44px;mix-blend-mode:lighten;margin-bottom:16px;display:block;}
.footer-brand p{font-size:13px;color:var(--mu);line-height:1.7;font-weight:300;max-width:230px;margin-bottom:18px;}
.footer-soc{display:flex;gap:8px;}
.footer-soc a{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;transition:all .25s;}
.footer-soc a:hover{border-color:var(--acl);background:rgba(168,85,247,.1);}
.footer-soc svg{width:12px;height:12px;fill:currentColor;}
.fc-title{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:3px;color:var(--acl);text-transform:uppercase;margin-bottom:18px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-col ul a{font-size:13px;color:var(--mu);text-decoration:none;transition:color .3s;font-weight:300;}
.footer-col ul a:hover{color:var(--txt);}
.footer-bot{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:12px;}
.footer-copy{font-family:"Space Mono",monospace;font-size:10px;color:var(--mu);}
.footer-legal{display:flex;gap:20px;align-items:center;}
.footer-legal a{font-family:"Space Mono",monospace;font-size:10px;color:var(--mu);text-decoration:none;transition:color .3s;}
.footer-legal a:hover{color:var(--acl);}
/* REVEAL */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .9s cubic-bezier(.16,1,.3,1);}
.rv.on{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}
@keyframes fup{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.fi{animation:fup .8s ease .1s both;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
/* CARDS BASE */
.card{background:var(--bg);border:1px solid rgba(139,47,201,.12);border-radius:16px;padding:36px;transition:all .4s;cursor:pointer;}
.card:hover{border-color:rgba(168,85,247,.3);transform:translateY(-4px);box-shadow:0 20px 48px rgba(139,47,201,.1);}
/* GRID UTILS */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:48px;}

/* ═══════════════════════════════════════
   RESPONSIVE — VGT Agency
   Breakpoints: 1024px (tablet) / 768px (mobile)
   ═══════════════════════════════════════ */

/* ─── HAMBURGER BUTTON ─── */
.nav-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: none;
  background: none;
  border: none;
  padding: 6px;
  z-index: 9999;
  position: relative;
}
.mobile-menu {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #12111a;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 90px 32px 40px;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
  overflow-y: auto;
  pointer-events: none;
  gap: 0;
}
.mobile-menu.open {
  transform: translateX(0);
  pointer-events: all;
}
.nav-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #f0edf8;
  border-radius: 2px;
  transition: all .35s cubic-bezier(.16,1,.3,1);
}
.nav-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ─── TABLET ≤ 1024px ─── */
@media (max-width: 1024px) {
  /* Nav */
  nav { padding: 0 28px; }
  .nav-socials { display: none; }
  .nav-center { gap: 2px; }
  .nav-center a { font-size: 13px; padding: 7px 10px; }
  .nav-rdv { font-size: 12px; padding: 8px 16px; }

  /* Hero */
  .hero { padding: 100px 36px 60px; }
  .hero > div > div:first-child { grid-template-columns: 1fr !important; }
  .hero > div > div > div:last-child { display: none; }

  /* Grilles 3 colonnes → 2 colonnes */
  .g3, .srv-grid, .srv2-grid, .g-reviews { grid-template-columns: repeat(2,1fr) !important; }
  .tarif-grid { grid-template-columns: repeat(2,1fr) !important; }
  .proj-grid { grid-template-columns: repeat(2,1fr) !important; }
  .avis-grid { grid-template-columns: repeat(2,1fr) !important; }
  .val-grid { grid-template-columns: repeat(2,1fr) !important; }
  .proof-grid { grid-template-columns: repeat(2,1fr) !important; }

  /* Process 5 → 3 */
  .proc-grid { grid-template-columns: repeat(3,1fr) !important; }
  .proc-grid::before { display: none; }

  /* Stats 4 → 2 */
  .stats-row { grid-template-columns: repeat(2,1fr) !important; }

  /* Sections padding */
  section, .offres, .process, .proof, .faq, .cta-final,
  [style*="padding:120px 60px"], [style*="padding:100px 60px"],
  [style*="padding:80px 60px"], [style*="padding:60px 60px"] {
    padding-left: 36px !important;
    padding-right: 36px !important;
  }
  .cta-band { margin-left: 36px !important; margin-right: 36px !important; }
  .stats-row { padding: 0 !important; }

  /* Contact */
  .contact-wrap { grid-template-columns: 1fr !important; gap: 40px !important; }

  /* About */
  .team-grid { grid-template-columns: 1fr !important; }
  .g2 { grid-template-columns: 1fr !important; gap: 40px !important; }
  .ps-grid { grid-template-columns: 1fr !important; gap: 20px !important; }

  /* Footer */
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
}

/* ─── MOBILE ≤ 768px ─── */
@media (max-width: 768px) {
  /* NAV → Hamburger */
  .nav-center, .nav-right { display: none !important; }
  .nav-burger { display: flex !important; }
  nav { padding: 0 20px; height: 64px; }
  .nav-logo img { height: 38px; }
  .nav-logo-text strong { font-size: 16px; }
  .nav-logo-text span { display: none; }

  /* MOBILE MENU */
  .mobile-menu a {
    font-family: "Bebas Neue", sans-serif;
    font-size: 42px;
    letter-spacing: 2px;
    color: #f0edf8;
    text-decoration: none;
    padding: 16px 0;
    border-bottom: 1px solid rgba(139,47,201,.2);
    width: 100%;
    text-align: center;
    transition: color .3s;
    display: block;
  }
  .mobile-menu a:hover { color: #b576f9; }
  .mobile-menu-cta {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  .mobile-menu-cta a {
    font-family: "DM Sans", sans-serif !important;
    font-size: 15px !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
    border-bottom: none !important;
    border-radius: 999px !important;
    padding: 14px 0 !important;
    text-align: center !important;
  }
  .mobile-menu-cta a.mm-rdv {
    background: linear-gradient(135deg,#7c22b8,#a855f7);
    color: #fff !important;
  }
  .mobile-menu-cta a.mm-tel {
    border: 1.5px solid rgba(255,255,255,.15) !important;
    color: #f0edf8 !important;
    background: transparent !important;
  }
  .mobile-soc {
    display: flex;
    gap: 20px;
    margin-top: 24px;
    justify-content: center;
  }
  .mobile-soc a {
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #a8a3c0;
    transition: all .25s;
  }
  .mobile-soc a:hover { border-color: var(--acl); color: var(--acl); }
    .mobile-menu-cta {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  .mobile-menu-cta a {
    font-family: "DM Sans", sans-serif !important;
    font-size: 15px !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
    border-bottom: none !important;
    border-radius: 999px !important;
    padding: 14px 0 !important;
    text-align: center !important;
  }
  .mobile-menu-cta a.mm-rdv {
    background: linear-gradient(135deg,#7c22b8,#a855f7);
    color: #fff !important;
  }
  .mobile-menu-cta a.mm-tel {
    border: 1.5px solid rgba(255,255,255,.15) !important;
    color: #f0edf8 !important;
    background: transparent !important;
  }
  .mobile-soc {
    display: flex;
    gap: 16px;
    margin-top: 24px;
  }
  .mobile-soc a {
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #fff;
    font-size: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
    background: none !important;
  }
  .mobile-soc a svg { width: 16px; height: 16px; fill: currentColor; }
  .mobile-soc a:hover { border-color: #a855f7; background: rgba(168,85,247,.1) !important; }

  /* HERO */
  .hero { padding: 80px 20px 48px; min-height: auto; }
  .hero > div { display: block !important; }
  .hero-badge span { font-size: 9px; letter-spacing: 1px; }
  .hero-h1 { font-size: clamp(52px, 14vw, 80px); letter-spacing: -1px; }
  .hero-sub { font-size: 15px; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-actions .btn-p, .hero-actions .btn-s { width: 100%; justify-content: center; font-size: 14px; padding: 14px 20px; }
  .hero-proof { flex-direction: column; gap: 16px; border-top: 1px solid rgba(255,255,255,.07); padding-top: 24px; margin-top: 32px; }
  .hp-stats { gap: 24px; flex-wrap: wrap; }
  .hp-s-num { font-size: 34px; }
  .hp-badge { display: none; }

  /* PAGE HERO */
  .phero { padding: 90px 20px 40px; min-height: auto; }
  .phero-title { font-size: clamp(52px, 14vw, 80px); letter-spacing: -1px; }
  .phero-sub { font-size: 14px; }
  .phero .btn-p, .phero .btn-s, .phero .btn-ghost { width: 100%; justify-content: center; }

  /* SECTIONS PADDING */
  section, .offres, .process, .proof, .faq, .cta-final { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="padding:120px 60px"] { padding: 64px 20px !important; }
  [style*="padding:100px 60px"] { padding: 56px 20px !important; }
  [style*="padding:80px 60px"] { padding: 48px 20px !important; }
  [style*="padding:60px 60px"] { padding: 40px 20px !important; }
  [style*="padding:48px"] { padding: 32px 20px !important; }

  /* CTA BAND */
  .cta-band { flex-direction: column; padding: 28px 20px; margin: 40px 20px 40px !important; text-align: center; border-radius: 14px; }
  .cta-band-actions { flex-direction: column; width: 100%; }
  .cta-band-actions a { justify-content: center; }
  .cta-band-text h3 { font-size: 18px; }

  /* MARQUEE */
  .mq-wrap { padding: 14px 0; }
  .mq-item { font-size: 13px; gap: 24px; padding-right: 24px; }

  /* SERVICES */
  .srv-grid, .srv2-grid { grid-template-columns: 1fr !important; background: none !important; gap: 12px !important; }
  .srv-card, .s2c { padding: 32px 24px; border: 1px solid rgba(139,47,201,.15); border-radius: 12px; }
  .srv-card:hover .srv-cta { opacity: 1; }

  /* STATS */
  .stats-row { grid-template-columns: repeat(2,1fr) !important; }
  .stat-c { padding: 32px 20px; }
  .stat-n { font-size: 44px; }

  /* PROCESS */
  .proc-grid { grid-template-columns: repeat(2,1fr) !important; gap: 24px !important; }
  .proc-grid::before { display: none; }
  .proc-step { text-align: left; padding: 0; }
  .proc-circle { margin: 0 0 16px; }

  /* PROBLEM/SOLUTION */
  .ps-grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* TESTIMONIALS / REVIEWS */
  .g3, #reviewsGrid { grid-template-columns: 1fr !important; }
  .proof-grid { grid-template-columns: 1fr !important; }
  .avis-grid { grid-template-columns: 1fr !important; }

  /* TARIFS */
  .tarif-grid { grid-template-columns: 1fr !important; }
  .tarif-c.feat::before { font-size: 8px; }

  /* FAQ */
  .faq > div > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  .faq-cta-box { display: none; }
  .faq-q { font-size: 14px; padding: 18px 20px; }

  /* CTA FINAL */
  .cta-final { padding: 80px 20px !important; }
  .cta-final-h { font-size: clamp(44px, 13vw, 80px); }
  .cta-final::before { font-size: 40vw; }
  .trust-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cta-buttons, .cta-buttons ~ div, .cta-final > div > div { padding: 0; }
  .cta-final .btn-p, .cta-final .btn-s { width: 100%; justify-content: center; font-size: 14px; }

  /* FOOTER */
  footer { padding: 48px 20px 24px; }
  .footer-top { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-bot { flex-direction: column; text-align: center; gap: 12px; }
  .footer-legal { justify-content: center; }
  .footer-brand p { max-width: 100%; }

  /* CONTACT PAGE */
  .contact-wrap { grid-template-columns: 1fr !important; gap: 28px !important; padding: 20px !important; }
  .form-box { padding: 28px 20px; border-radius: 14px; }
  .f-row { grid-template-columns: 1fr !important; }
  .ci { padding: 16px; }
  .hrs { padding: 18px; }

  /* ABOUT PAGE */
  .team-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .team-c { flex-direction: column; padding: 28px 20px; }
  .team-av { width: 80px !important; height: 80px !important; }
  .val-grid { grid-template-columns: 1fr !important; }
  .tl { padding-left: 24px; }

  /* REALISATIONS */
  .proj-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .filter-bar { gap: 6px; }
  .fb { font-size: 9px; padding: 6px 12px; }

  /* SERVICES — tarif pack signature */
  [style*="max-width:680px"] { max-width: 100% !important; margin: 16px 0 0 !important; }
  [style*="grid-template-columns:1fr 1fr"][style*="gap:10px"] { grid-template-columns: 1fr !important; }

  /* HISTORY section grid */
  [style*="grid-template-columns:1fr 1fr"][style*="gap:80px"] { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* MODAL */
  #modal-box { width: 96vw !important; max-height: 90vh !important; padding: 28px 20px !important; top: 50% !important; border-radius: 16px; }
  .modal-price-row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .modal-price-row .price { font-size: 18px; }
  .modal-price-row .item { font-size: 12.5px; }
  #modal-box [style*="gap:12px;flex-wrap:wrap"] { flex-direction: column; }
  #modal-box .btn-p, #modal-box .btn-ghost { width: 100%; justify-content: center; }

  /* GOOGLE RATING BAR */
  .grb-cta { display: none; }

  /* SECTION TITLES */
  .sh1 { font-size: clamp(36px, 10vw, 56px); }
  .sh2 { font-size: clamp(28px, 8vw, 44px); }

  /* URGENCE BANNER contact */
  [style*="padding:16px 60px"] { padding: 14px 20px !important; flex-direction: column !important; gap: 10px !important; text-align: center; }
  [style*="padding:16px 60px"] > div:first-child { justify-content: center !important; }

  /* Google My Business block */
  [style*="max-width:560px;margin:0 auto"] { margin: 0 !important; max-width: 100% !important; }

  /* Buttons hero section à propos */
  .phero [style*="display:flex;gap:12px"] { flex-direction: column; }
  .phero [style*="display:flex;gap:12px"] a { width: 100%; justify-content: center; }

  /* About bureau banner */
  [style*="height:320px"] { height: 200px !important; }
  [style*="height:320px"] > div:last-child { top: 50% !important; transform: translateY(-50%) !important; left: 20px !important; }
  [style*="height:320px"] .phero-title, [style*="height:320px"] div[style*="font-size:42px"] { font-size: 28px !important; }

  /* Setup photo */
  [style*="height:280px"] { height: 200px !important; }

  /* Nav contact urgence band */
  [style*="margin:0 60px"] { margin: 0 20px !important; }

  /* Hide orbs on mobile for perf */
  .orb { display: none; }

  /* Process steps title */
  .proc-title { font-size: 16px; }
  .proc-desc { font-size: 11.5px; }
}

/* ─── VERY SMALL SCREENS ≤ 390px ─── */
@media (max-width: 390px) {
  .hero-h1 { font-size: 46px; }
  .phero-title { font-size: 46px; }
  .stat-n { font-size: 38px; }
  .stats-row { grid-template-columns: 1fr 1fr !important; }
  .proc-grid { grid-template-columns: 1fr !important; }
  nav { padding: 0 16px; }
}

#cookie-banner {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: min(680px, calc(100vw - 40px));
  background: rgba(26,24,40,.97);
  border: 1px solid rgba(168,85,247,.35);
  border-radius: 18px;
  padding: 24px 28px;
  backdrop-filter: blur(20px);
  box-shadow: 0 24px 64px rgba(0,0,0,.6), 0 0 0 1px rgba(168,85,247,.1);
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  transition: opacity .4s, transform .4s;
}
#cookie-banner.hide {
  opacity: 0;
  transform: translateX(-50%) translateY(20px);
  pointer-events: none;
}
.cookie-icon {
  font-size: 28px;
  flex-shrink: 0;
}
.cookie-text {
  flex: 1;
  min-width: 200px;
}
.cookie-text strong {
  font-family: "Bebas Neue", sans-serif;
  font-size: 18px;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 4px;
  color: #f0edf8;
}
.cookie-text p {
  font-size: 12.5px;
  color: #a8a3c0;
  line-height: 1.6;
  font-weight: 300;
  margin: 0;
}
.cookie-text a {
  color: #b576f9;
  text-decoration: none;
}
.cookie-text a:hover { text-decoration: underline; }
.cookie-btns {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.cookie-accept {
  background: linear-gradient(135deg, #7c22b8, #a855f7);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 10px 22px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .2s, transform .2s;
  white-space: nowrap;
}
.cookie-accept:hover { opacity: .88; transform: translateY(-1px); }
.cookie-refuse {
  background: transparent;
  color: #a8a3c0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: 10px 18px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.cookie-refuse:hover { border-color: rgba(255,255,255,.25); color: #f0edf8; }
@media(max-width:768px) {
  #cookie-banner { bottom: 12px; padding: 18px 20px; gap: 14px; }
  .cookie-btns { width: 100%; }
  .cookie-accept, .cookie-refuse { flex: 1; text-align: center; }
}

.srv2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(139,47,201,.1);}
.s2c{background:var(--bg);padding:50px 42px;position:relative;overflow:hidden;cursor:pointer;transition:background .4s;}
.s2c:hover{background:#161424;}
.s2c-bar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--ac),var(--acl));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.s2c:hover .s2c-bar{transform:scaleX(1);}
.s2c-icon{width:52px;height:52px;border-radius:14px;background:rgba(139,47,201,.1);border:1px solid rgba(168,85,247,.18);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:24px;transition:all .4s;}
.s2c:hover .s2c-icon{background:rgba(139,47,201,.2);transform:scale(1.1);}
.s2c-badge{display:inline-block;font-family:"Space Mono",monospace;font-size:9px;letter-spacing:2px;color:var(--acl);background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.18);border-radius:4px;padding:3px 8px;margin-bottom:12px;text-transform:uppercase;}
.s2c-name{font-family:"Bebas Neue",sans-serif;font-size:30px;margin-bottom:12px;transition:color .3s;}
.s2c:hover .s2c-name{color:var(--acl);}
.s2c-desc{font-size:13.5px;color:var(--mu);line-height:1.75;font-weight:300;margin-bottom:22px;}
.s2c-pts{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.s2c-pts li{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#b8b2cc;font-weight:300;}
.s2c-pts li::before{content:"✦";color:var(--acl);font-size:9px;flex-shrink:0;margin-top:3px;}
.s2c-price{font-family:"Space Mono",monospace;font-size:10px;letter-spacing:1px;color:var(--mu);border-top:1px solid rgba(139,47,201,.12);padding-top:18px;}
.s2c-price strong{color:var(--acl);font-size:13px;}
.tarif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
/* argument economique sous la grille : c'est lui qui fait comprendre que la
   creation n'est pas payee par l'abonnement */
.tarif-argument{max-width:760px;margin:36px auto 0;text-align:center;font-size:14.5px;line-height:1.7;
  color:#d6cfee;font-weight:300;}
.tarif-argument strong{color:var(--acl);font-weight:600;}

.tarif-c{background:var(--bg);border:1px solid rgba(139,47,201,.15);border-radius:20px;padding:40px;position:relative;transition:all .4s;}
.tarif-c:hover{border-color:rgba(168,85,247,.35);transform:translateY(-4px);}
.tarif-c.feat{border-color:rgba(168,85,247,.4);background:linear-gradient(135deg,rgba(139,47,201,.07),var(--bg));}
.tarif-c.feat::before{content:"⭐ Recommandée";position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--ac),var(--acl));color:#fff;font-family:"Space Mono",monospace;font-size:9px;letter-spacing:2px;padding:4px 16px;border-radius:999px;white-space:nowrap;}
.tarif-name{font-family:"Bebas Neue",sans-serif;font-size:26px;margin-bottom:6px;}
.tarif-sub{font-size:12.5px;color:var(--mu);font-weight:300;margin-bottom:16px;}
.tarif-price{font-family:"Bebas Neue",sans-serif;font-size:54px;line-height:1;color:var(--txt);margin-bottom:4px;}
.tarif-price sup{font-size:22px;vertical-align:super;}
.tarif-period{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:2px;color:var(--mu);text-transform:uppercase;margin-bottom:28px;}
.tarif-feats{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:32px;}
.tarif-feats li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#d6cfee;font-weight:300;}
.tarif-feats li.ok::before{content:"✓";color:var(--acl);font-weight:700;}
.tarif-feats li.no{color:var(--mu);}
.tarif-feats li.no::before{content:"✗";color:rgba(255,255,255,.2);}

.s2c:hover .card-hint{opacity:1 !important;}
.modal-price-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(139,47,201,.1);}
.modal-price-row:last-child{border-bottom:none;}
.modal-price-row .item{font-size:14px;color:#d6cfee;font-weight:300;}
.modal-price-row .price{font-family:"Bebas Neue",sans-serif;font-size:22px;color:var(--acl);white-space:nowrap;margin-left:16px;}
.modal-section-title{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:3px;color:var(--acl);text-transform:uppercase;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(139,47,201,.2);}
#modal-box::-webkit-scrollbar{width:4px;}
#modal-box::-webkit-scrollbar-track{background:transparent;}
#modal-box::-webkit-scrollbar-thumb{background:rgba(168,85,247,.3);border-radius:2px;}
@media(max-width:700px){
  #modal-box{padding:28px 20px !important;}
  #modal-box [style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important;}
}

.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
@media(max-width:1024px){.g4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.g4{grid-template-columns:1fr;}}
.d3{transition-delay:.3s;}

/* Cartes tarifaires : boutons alignés en bas */
.tarif-c{display:flex;flex-direction:column;}
.tarif-feats{flex:1;}

/* --- Hero avec visuels flottants (format large) --- */
.phero.with-visual{justify-content:center;min-height:62vh;}
.phero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center;width:100%;}
.hero-float{position:relative;height:400px;}
.hero-float img{position:absolute;display:block;object-fit:cover;object-position:top;border-radius:12px;
  box-shadow:0 26px 55px rgba(0,0,0,.6),0 0 0 1px rgba(168,85,247,.22);}
.hero-float .f3{width:280px;height:151px;top:0;left:18px;z-index:1;
  transform:rotate(-5deg);animation:hf3 9.5s ease-in-out infinite 1.4s;}
.hero-float .f2{width:300px;height:162px;top:112px;right:0;z-index:2;
  transform:rotate(3deg);animation:hf2 8.5s ease-in-out infinite .7s;}
.hero-float .f1{width:334px;height:180px;top:218px;left:0;z-index:3;
  transform:rotate(-2deg);animation:hf1 7s ease-in-out infinite;}
/* variante 2 visuels */
.hero-float.duo{height:360px;}
.hero-float.duo .f2{width:302px;height:163px;top:24px;left:0;right:auto;z-index:1;transform:rotate(-4deg);}
.hero-float.duo .f1{width:344px;height:185px;top:158px;left:auto;right:0;z-index:2;transform:rotate(2.5deg);animation:hfd 7.5s ease-in-out infinite;}
@keyframes hf1{0%,100%{transform:rotate(-2deg) translateY(0);}50%{transform:rotate(-2deg) translateY(-12px);}}
@keyframes hf2{0%,100%{transform:rotate(3deg) translateY(0);}50%{transform:rotate(3deg) translateY(-10px);}}
@keyframes hf3{0%,100%{transform:rotate(-5deg) translateY(0);}50%{transform:rotate(-5deg) translateY(-14px);}}
@keyframes hfd{0%,100%{transform:rotate(2.5deg) translateY(0);}50%{transform:rotate(2.5deg) translateY(-12px);}}
@media(prefers-reduced-motion:reduce){.hero-float img{animation:none !important;}}
@media(max-width:1024px){.phero-inner{grid-template-columns:1fr;gap:0;}.hero-float{display:none;}}

/* --- Hero : composition 4 visuels --- */
.hero-float.quatuor{height:400px;}
.hero-float.quatuor .f4{width:248px;height:134px;top:0;left:0;right:auto;z-index:1;
  transform:rotate(-5deg);animation:hq4 9s ease-in-out infinite 1.8s;}
.hero-float.quatuor .f3{width:238px;height:128px;top:26px;right:0;left:auto;z-index:2;
  transform:rotate(4deg);animation:hq3 10s ease-in-out infinite 1.2s;}
.hero-float.quatuor .f2{width:258px;height:139px;top:188px;left:8px;right:auto;z-index:3;
  transform:rotate(3deg);animation:hq2 8.5s ease-in-out infinite .6s;}
.hero-float.quatuor .f1{width:292px;height:157px;top:232px;right:0;left:auto;z-index:4;
  transform:rotate(-2deg);animation:hq1 7.5s ease-in-out infinite;}
@keyframes hq1{0%,100%{transform:rotate(-2deg) translateY(0);}50%{transform:rotate(-2deg) translateY(-11px);}}
@keyframes hq2{0%,100%{transform:rotate(3deg) translateY(0);}50%{transform:rotate(3deg) translateY(-9px);}}
@keyframes hq3{0%,100%{transform:rotate(4deg) translateY(0);}50%{transform:rotate(4deg) translateY(-13px);}}
@keyframes hq4{0%,100%{transform:rotate(-5deg) translateY(0);}50%{transform:rotate(-5deg) translateY(-10px);}}
