/* ============================================================
   TOM-SITE-WEB.COM — Charte graphique commune
   Importé par index.html et toutes les pages /villes/*.html
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&family=Space+Grotesk:wght@300;400;500&display=swap');

*{margin:0;padding:0;box-sizing:border-box}

/* ── THÈME 1 : DARK BLEU (défaut) ── */
:root,body.theme-1{
  --bg:#07080F;
  --surface:#0E101C;
  --surface2:#121428;
  --accent1:#4F7DFF;
  --accent2:#9B5CFF;
  --accent3:#00E5C3;
  --text:#F0F0FF;
  --muted:#7A7A9A;
  --line:rgba(255,255,255,0.07);
  --line2:rgba(255,255,255,0.12);
  --body-font:'DM Sans',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#4F7DFF,#9B5CFF,#00E5C3,transparent);
  --btn-text:#fff;
  --scan-lines:none;
  --grid-size:48px;
  --grid-color:rgba(255,255,255,0.025);
  --logo-glow:none;
  --marquee-sep:'◆';
  --border-radius-card:12px;
  --border-radius-btn:6px;
}

/* ── THÈME 2 : DARK OR ── */
body.theme-2{
  --bg:#0C0A07;
  --surface:#14110A;
  --surface2:#1C1710;
  --accent1:#C49133;
  --accent2:#E07B3A;
  --accent3:#F2C84B;
  --text:#F5EFE0;
  --muted:#8A7A60;
  --line:rgba(255,220,100,0.08);
  --line2:rgba(255,220,100,0.15);
  --body-font:'DM Sans',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#C49133,#E07B3A,#F2C84B,transparent);
  --btn-text:#fff;
  --scan-lines:none;
  --grid-size:48px;
  --grid-color:rgba(255,200,80,0.025);
  --logo-glow:none;
  --marquee-sep:'◆';
  --border-radius-card:12px;
  --border-radius-btn:6px;
}

/* ── THÈME 3 : FUTURISTE ── */
body.theme-3{
  --bg:#030308;
  --surface:#08090F;
  --surface2:#0D0E18;
  --accent1:#00FFD1;
  --accent2:#00B8FF;
  --accent3:#7B2FFF;
  --text:#E8F0FF;
  --muted:#4A5580;
  --line:rgba(0,255,209,0.08);
  --line2:rgba(0,255,209,0.15);
  --body-font:'Space Grotesk',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#00FFD1,#00B8FF,transparent);
  --btn-text:#000;
  --scan-lines:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,209,0.012) 2px,rgba(0,255,209,0.012) 4px);
  --grid-size:32px;
  --grid-color:rgba(0,255,209,0.04);
  --logo-glow:0 0 20px rgba(0,255,209,0.5);
  --marquee-sep:'//';
  --border-radius-card:2px;
  --border-radius-btn:2px;
}

/* Application typo selon thème */
body{font-family:var(--body-font)}

/* Scan-lines thème 3 sur hero */
body.theme-3 .hero::after,body.theme-3 .hero-ville::after{content:'';position:absolute;inset:0;background:var(--scan-lines);pointer-events:none;z-index:0}

/* Ajustements thème 3 spécifiques */
body.theme-3 .logo{text-shadow:var(--logo-glow);background:none;-webkit-text-fill-color:var(--accent1)}
body.theme-3 .footer-logo{text-shadow:var(--logo-glow);background:none;-webkit-text-fill-color:var(--accent1)}
body.theme-3 .btn-main{background:var(--accent1);color:#000;box-shadow:0 0 24px rgba(0,255,209,0.35)}
body.theme-3 .btn-main:hover{box-shadow:0 0 40px rgba(0,255,209,0.5)}
body.theme-3 .nav-cta{background:transparent;border:1px solid var(--accent1);color:var(--accent1);box-shadow:none}
body.theme-3 .btn-send{background:var(--accent1);color:#000}
body.theme-3 .tarif-btn-fill{background:var(--accent1);color:#000}
body.theme-3 .section-num{letter-spacing:.2em}
body.theme-3 .tarif-tag::before{background:var(--accent1)}
body.theme-3 .tarif-features li::before{content:'>'}
body.theme-3 .pf-filter.active,.body.theme-3 .pf-filter:hover{background:var(--accent1);color:#000;border-color:var(--accent1)}
body.theme-3 .tarifs-grid,.body.theme-3 .pf-grid,.body.theme-3 .why-grid,.body.theme-3 .stats-row{border-radius:var(--border-radius-card)}
body.theme-3 .tarif-card,body.theme-3 .why-item,body.theme-3 .stat-box{border-radius:0}

/* Ajustements thème 2 spécifiques */
body.theme-2 .logo{background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── THÈME 4 : Blanc ── */
body.theme-4{
  --bg:#FFFFFF;
  --surface:#F5F5F7;
  --surface2:#EAEAEC;
  --accent1:#1A1AFF;
  --accent2:#6600FF;
  --accent3:#FF2D55;
  --text:#0A0A0A;
  --muted:#888888;
  --line:rgba(0,0,0,0.08);
  --line2:rgba(0,0,0,0.15);
  --body-font:'DM Sans',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#1A1AFF,#6600FF,transparent);
  --border-radius-card:12px;
  --border-radius-btn:6px;
}
body.theme-4 .logo{background:linear-gradient(135deg,#1A1AFF,#6600FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
body.theme-4 .nav-link{color:#0A0A0A}
body.theme-4 nav{background:rgba(255,255,255,0.95);border-bottom:1px solid rgba(0,0,0,0.08)}

/* ── THÈME 5 : Noir ── */
body.theme-5{
  --bg:#000000;
  --surface:#0A0A0A;
  --surface2:#111111;
  --accent1:#FFFFFF;
  --accent2:#CCCCCC;
  --accent3:#888888;
  --text:#FFFFFF;
  --muted:#555555;
  --line:rgba(255,255,255,0.07);
  --line2:rgba(255,255,255,0.12);
  --body-font:'DM Sans',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#FFFFFF,#AAAAAA,transparent);
  --border-radius-card:0px;
  --border-radius-btn:0px;
}
body.theme-5 .logo{background:none;-webkit-text-fill-color:#FFF}
body.theme-5 .btn-main{background:#FFF;color:#000;box-shadow:none}
body.theme-5 .nav-cta{background:#FFF;color:#000}

/* ── THÈME 6 : Vert Émeraude ── */
body.theme-6{
  --bg:#020F0A;
  --surface:#041A0F;
  --surface2:#072214;
  --accent1:#00E676;
  --accent2:#00BFA5;
  --accent3:#69F0AE;
  --text:#E0F5EC;
  --muted:#3A6B52;
  --line:rgba(0,230,118,0.08);
  --line2:rgba(0,230,118,0.15);
  --body-font:'DM Sans',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#00E676,#00BFA5,transparent);
  --border-radius-card:8px;
  --border-radius-btn:4px;
}
body.theme-6 .logo{background:linear-gradient(135deg,#00E676,#00BFA5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── THÈME 7 : Rouge Bordeaux ── */
body.theme-7{
  --bg:#0D0204;
  --surface:#150306;
  --surface2:#1C040A;
  --accent1:#E8003D;
  --accent2:#FF4D6D;
  --accent3:#FF8FA3;
  --text:#FFE4EA;
  --muted:#6B2030;
  --line:rgba(232,0,61,0.08);
  --line2:rgba(232,0,61,0.15);
  --body-font:'DM Sans',sans-serif;
  --grad-line:linear-gradient(90deg,transparent,#E8003D,#FF4D6D,transparent);
  --border-radius-card:8px;
  --border-radius-btn:4px;
}
body.theme-7 .logo{background:linear-gradient(135deg,#E8003D,#FF4D6D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}


@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Playfair+Display:wght@400;700&family=Josefin+Sans:wght@300;400;600&family=Lora:ital,wght@0,400;0,600;1,400&family=Raleway:wght@300;400;600&display=swap');

/* ══════════════════════════════════════════════
   STYLE FLEURISTE
══════════════════════════════════════════════ */
body.style-fleuriste {
  --bg: #fdf6f0;
  --surface: #fff8f3;
  --surface2: #fff0e8;
  --accent1: #c8725a;
  --accent2: #e8957a;
  --accent3: #f5c4b0;
  --text: #3d1f14;
  --muted: #a07060;
  --line: rgba(200,114,90,0.12);
  --line2: rgba(200,114,90,0.22);
  --body-font: 'Cormorant Garamond', serif;
  --head: 'Cormorant Garamond', serif;
  --grad-line: linear-gradient(90deg,transparent,#c8725a,#e8957a,#f5c4b0,transparent);
  --btn-text: #fff;
  --scan-lines: none;
  --grid-size: 48px;
  --grid-color: rgba(200,114,90,0.04);
  --logo-glow: none;
  --marquee-sep: '✿';
  --border-radius-card: 24px;
  --border-radius-btn: 40px;
}
body.style-fleuriste nav { background: rgba(253,246,240,0.95) !important; border-bottom: 1px solid var(--line2); }
body.style-fleuriste .logo { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.6rem; background: linear-gradient(135deg,#c8725a,#e8957a); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
body.style-fleuriste .hero-h1 { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-style: italic; font-size: clamp(3.5rem,8vw,8rem); }
body.style-fleuriste .hero-desc { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-style: italic; color: var(--muted); }
body.style-fleuriste .section-title { font-family: 'Cormorant Garamond', serif; font-style: italic; }
body.style-fleuriste .btn, body.style-fleuriste .nav-cta { border-radius: 40px; font-family: 'Cormorant Garamond', serif; font-size: 1rem; letter-spacing: 0.08em; }
body.style-fleuriste .tarif-card, body.style-fleuriste .pf-card { border-radius: 24px; }
body.style-fleuriste .orb1 { background: radial-gradient(circle, rgba(200,114,90,0.3), transparent 60%); }
body.style-fleuriste .orb2 { background: radial-gradient(circle, rgba(232,149,122,0.25), transparent 60%); }
body.style-fleuriste .hero-grid-bg { opacity: 0; }
/* Fond fleuri décoratif */
body.style-fleuriste #accueil::before {
  content: '🌸 ✿ 🌷 ✿ 🌸 ✿ 🌷 ✿ 🌸 ✿ 🌷 ✿ 🌸 ✿ 🌷';
  position: absolute; top: 20px; left: 0; right: 0;
  text-align: center; font-size: 1.2rem; opacity: 0.15;
  letter-spacing: 1.5rem; pointer-events: none;
}
/* Textes remplacés via data-attr */
body.style-fleuriste [data-style-text] { visibility: hidden; position: relative; }
body.style-fleuriste [data-style-text]::after {
  content: attr(data-fleuriste);
  visibility: visible;
  position: absolute;
  left: 0; top: 0;
  font-family: inherit;
  color: inherit;
  white-space: inherit;
}

/* ══════════════════════════════════════════════
   STYLE PLOMBIER
══════════════════════════════════════════════ */
body.style-plombier {
  --bg: #0d1f35;
  --surface: #102440;
  --surface2: #142c4e;
  --accent1: #2a8fff;
  --accent2: #5aaeff;
  --accent3: #0066cc;
  --text: #e8f2ff;
  --muted: #6a9abf;
  --line: rgba(42,143,255,0.1);
  --line2: rgba(42,143,255,0.2);
  --body-font: 'DM Sans', sans-serif;
  --head: 'DM Sans', sans-serif;
  --grad-line: linear-gradient(90deg,transparent,#2a8fff,#5aaeff,transparent);
  --btn-text: #fff;
  --scan-lines: none;
  --grid-size: 48px;
  --grid-color: rgba(42,143,255,0.04);
  --logo-glow: none;
  --marquee-sep: '◆';
  --border-radius-card: 8px;
  --border-radius-btn: 4px;
}
body.style-plombier .logo { background: linear-gradient(135deg,#2a8fff,#5aaeff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-family: 'DM Sans', sans-serif; font-weight: 700; letter-spacing: -0.02em; }
body.style-plombier .hero-h1 { font-family: 'DM Sans', sans-serif; font-weight: 700; letter-spacing: -0.03em; }
body.style-plombier .btn, body.style-plombier .nav-cta { border-radius: 4px; font-weight: 600; }
body.style-plombier .tarif-card, body.style-plombier .pf-card { border-radius: 8px; border-left: 3px solid var(--accent1); }
body.style-plombier [data-style-text] { visibility: hidden; position: relative; }
body.style-plombier [data-style-text]::after { content: attr(data-plombier); visibility: visible; position: absolute; left: 0; top: 0; font-family: inherit; color: inherit; white-space: inherit; }

/* ══════════════════════════════════════════════
   STYLE PEINTRE
══════════════════════════════════════════════ */
body.style-peintre {
  --bg: #1a1500;
  --surface: #221c00;
  --surface2: #2a2200;
  --accent1: #f5b800;
  --accent2: #ffd040;
  --accent3: #c08800;
  --text: #fff8e0;
  --muted: #8a7a30;
  --line: rgba(245,184,0,0.1);
  --line2: rgba(245,184,0,0.2);
  --body-font: 'DM Sans', sans-serif;
  --head: 'Raleway', sans-serif;
  --grad-line: linear-gradient(90deg,transparent,#f5b800,#ffd040,transparent);
  --btn-text: #1a1500;
  --scan-lines: none;
  --grid-size: 48px;
  --grid-color: rgba(245,184,0,0.03);
  --logo-glow: none;
  --marquee-sep: '◆';
  --border-radius-card: 12px;
  --border-radius-btn: 6px;
}
body.style-peintre .logo { background: linear-gradient(135deg,#f5b800,#ffd040); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-family: 'Raleway', sans-serif; font-weight: 600; }
body.style-peintre .hero-h1 { font-family: 'Raleway', sans-serif; font-weight: 600; }
body.style-peintre .section-title { font-family: 'Raleway', sans-serif; }
body.style-peintre [data-style-text] { visibility: hidden; position: relative; }
body.style-peintre [data-style-text]::after { content: attr(data-peintre); visibility: visible; position: absolute; left: 0; top: 0; font-family: inherit; color: inherit; white-space: inherit; }

/* ══════════════════════════════════════════════
   STYLE CARRELEUR
══════════════════════════════════════════════ */
body.style-carreleur {
  --bg: #f8f8f6;
  --surface: #f2f2f0;
  --surface2: #eaeae8;
  --accent1: #111111;
  --accent2: #444444;
  --accent3: #000000;
  --text: #111111;
  --muted: #888888;
  --line: rgba(0,0,0,0.08);
  --line2: rgba(0,0,0,0.14);
  --body-font: 'Josefin Sans', sans-serif;
  --head: 'Josefin Sans', sans-serif;
  --grad-line: linear-gradient(90deg,transparent,#111,#444,transparent);
  --btn-text: #fff;
  --scan-lines: none;
  --grid-size: 40px;
  --grid-color: rgba(0,0,0,0.06);
  --logo-glow: none;
  --marquee-sep: '▪';
  --border-radius-card: 0px;
  --border-radius-btn: 0px;
}
body.style-carreleur nav { background: rgba(248,248,246,0.97) !important; }
body.style-carreleur .logo { background: none; -webkit-text-fill-color: #111; color: #111; font-family: 'Josefin Sans', sans-serif; font-weight: 600; letter-spacing: 0.15em; }
body.style-carreleur .hero-h1 { font-family: 'Josefin Sans', sans-serif; font-weight: 300; letter-spacing: 0.1em; }
body.style-carreleur .section-title { font-family: 'Josefin Sans', sans-serif; font-weight: 300; letter-spacing: 0.08em; }
body.style-carreleur .btn, body.style-carreleur .nav-cta { border-radius: 0; font-family: 'Josefin Sans', sans-serif; letter-spacing: 0.12em; font-size: 0.75rem; }
body.style-carreleur .tarif-card, body.style-carreleur .pf-card { border-radius: 0; border: 1px solid #ddd; }
body.style-carreleur [data-style-text] { visibility: hidden; position: relative; }
body.style-carreleur [data-style-text]::after { content: attr(data-carreleur); visibility: visible; position: absolute; left: 0; top: 0; font-family: inherit; color: inherit; white-space: inherit; }

/* ── DOTS STYLE ── */
.style-dot{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s;position:relative;flex-shrink:0;}
.style-dot:hover { transform: scale(1.2); }
.style-dot.active { border-color: var(--text); }
.style-dot-fleuriste { background: linear-gradient(135deg,#c8725a,#e8957a); }
.style-dot-plombier  { background: linear-gradient(135deg,#1e5799,#2a8fff); }
.style-dot-peintre   { background: linear-gradient(135deg,#e09800,#ffd040); }
.style-dot-carreleur { background: linear-gradient(135deg,#2c2c2c,#888); }
.style-dot-reset{background:var(--surface2);border:2px solid var(--line2);font-size:9px;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.theme-switcher-sep{width:1px;height:18px;background:var(--line2);margin:0 2px;flex-shrink:0;}

/* ── SWITCHER DE THÈME (footer) ── */
.theme-switcher{display:flex;align-items:center;gap:6px;margin-top:1rem;flex-wrap:nowrap;}
.theme-switcher-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.theme-dot{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s;position:relative}
.theme-dot:hover{transform:scale(1.2)}
.theme-dot.active{border-color:var(--text)}
.theme-dot-1{background:linear-gradient(135deg,#4F7DFF,#9B5CFF)}
.theme-dot-2{background:linear-gradient(135deg,#C49133,#E07B3A)}
.theme-dot-3{background:linear-gradient(135deg,#00FFD1,#00B8FF)}
.theme-dot-4{background:#FFFFFF;border-color:#CCCCCC}
.theme-dot-5{background:#000000}
.theme-dot-6{background:linear-gradient(135deg,#00E676,#00BFA5)}
.theme-dot-7{background:linear-gradient(135deg,#E8003D,#FF4D6D)}

:root{
  --head:'Bebas Neue',sans-serif;
  
}

html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;overflow-x:hidden}

/* ── CURSOR ── */
.cursor{width:10px;height:10px;background:var(--accent1);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s;mix-blend-mode:normal;opacity:.8}
.cursor.big{width:36px;height:36px;opacity:.4}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 5%;border-bottom:1px solid var(--line);background:rgba(7,8,15,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.logo{font-family:var(--head);font-size:1.8rem;letter-spacing:.05em;text-decoration:none;background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{color:var(--muted);font-size:.8rem;font-weight:400;text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--text)}
.nav-cta{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;border:none;padding:.6rem 1.5rem;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-decoration:none;border-radius:4px;transition:opacity .2s,transform .2s;box-shadow:0 0 20px rgba(79,125,255,0.3)}
.nav-cta:hover{opacity:.85;transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{width:24px;height:1px;background:var(--text);display:block;transition:.3s}
.mobile-menu{display:none;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);z-index:99;padding:6rem 5% 3rem;gap:1.5rem;justify-content:center}
.mobile-menu a{color:var(--text);text-decoration:none;font-family:var(--head);font-size:clamp(2.5rem,8vw,4rem);letter-spacing:.05em;border-bottom:1px solid var(--line);padding-bottom:1rem;transition:color .2s}
.mobile-menu a:hover{color:var(--muted)}
.mobile-menu.open{display:flex}
.mob-close{position:absolute;top:1.5rem;right:5%;font-size:1.5rem;color:var(--text);cursor:pointer;background:none;border:none}

/* ── BOUTONS GLOBAUX ── */
.btn-main{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;border:none;padding:1rem 2.5rem;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;border-radius:6px;box-shadow:0 0 28px rgba(79,125,255,0.35);transition:box-shadow .3s,transform .2s,opacity .2s}
.btn-main:hover{box-shadow:0 0 45px rgba(79,125,255,0.5);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--line2);padding:1rem 2.5rem;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.85rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;border-radius:6px;transition:border-color .2s,background .2s}
.btn-outline:hover{border-color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.04)}

/* ── LIGNE DÉGRADÉ ── */
.grad-line{height:1px;background:linear-gradient(90deg,transparent,var(--accent1),var(--accent2),var(--accent3),transparent)}

/* ── MARQUEE ── */
.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.9rem 0;overflow:hidden;white-space:nowrap;position:relative}
.marquee-wrap::before,.marquee-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2}
.marquee-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent)}
.marquee-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent)}
.marquee-track{display:inline-flex;gap:3rem;animation:marquee 22s linear infinite}
.marquee-item{font-family:var(--head);font-size:1.1rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:3rem}
.marquee-item::after{content:'◆';font-size:.6rem;color:var(--accent1)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── SECTIONS ── */
.section{padding:7rem 5%}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5rem;border-bottom:1px solid var(--line);padding-bottom:1.5rem}
.section-num{font-size:.72rem;color:var(--accent1);letter-spacing:.15em;text-transform:uppercase;font-weight:500}
.section-title{font-family:var(--head);font-size:clamp(2.5rem,5vw,5rem);letter-spacing:.02em;line-height:1}
.section-link{font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:color .2s}
.section-link:hover{color:var(--accent1)}
.section-label{font-size:.72rem;color:var(--accent1);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-weight:500}
.section-h2{font-family:var(--head);font-size:clamp(2rem,4vw,4rem);letter-spacing:.02em;line-height:1;margin-bottom:1rem}
.section-sub{color:var(--muted);font-size:.9rem;line-height:1.8;font-weight:300;max-width:580px;margin-bottom:3rem}

/* ── STATS ROW ── */
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.stat-box{background:var(--surface);padding:2rem;text-align:center;transition:background .25s}
.stat-box:hover{background:var(--surface2)}
.stat-num{font-family:var(--head);font-size:3.5rem;letter-spacing:.02em;line-height:1;background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem}

/* ── TARIFS ── */
.tarifs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.tarif-card{background:var(--surface);padding:2.5rem;position:relative;transition:background .25s}
.tarif-card:hover{background:var(--surface2)}
.tarif-card.featured{background:linear-gradient(135deg,rgba(79,125,255,0.09),rgba(155,92,255,0.09))}
.tarif-card.featured::after{content:'';position:absolute;inset:0;border:1px solid rgba(79,125,255,0.2);pointer-events:none}
.featured-pill{display:inline-block;background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .8rem;border-radius:100px;margin-bottom:1rem}
.tarif-tag{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}
.tarif-tag::before{content:'';width:16px;height:1px;background:var(--accent1)}
.tarif-name{font-family:var(--head);font-size:2rem;letter-spacing:.04em;margin-bottom:.8rem}
.tarif-desc{color:var(--muted);font-size:.85rem;line-height:1.7;margin-bottom:1.5rem;font-weight:300}
.tarif-price-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.tarif-price{font-family:var(--head);font-size:3.5rem;letter-spacing:-.02em;line-height:1;margin-bottom:.4rem;background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tarif-price-sub{font-size:.72rem;letter-spacing:.06em;color:var(--muted);margin-bottom:1.5rem;text-transform:uppercase}
.tarif-divider{height:1px;background:var(--line);margin-bottom:1.5rem}
.tarif-features{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}
.tarif-features li{font-size:.85rem;color:var(--muted);display:flex;gap:.8rem;align-items:flex-start;font-weight:300}
.tarif-features li::before{content:'→';color:var(--accent3);flex-shrink:0}
.tarif-btn{display:block;width:100%;padding:.85rem;text-align:center;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;border-radius:6px;transition:all .2s;font-weight:500}
.tarif-btn-fill{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;box-shadow:0 0 20px rgba(79,125,255,0.3)}
.tarif-btn-fill:hover{box-shadow:0 0 35px rgba(79,125,255,0.5);transform:translateY(-1px)}
.tarif-btn-out{background:transparent;color:var(--text);border:1px solid var(--line2)}
.tarif-btn-out:hover{border-color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.04)}
.featured-label{position:absolute;top:1.5rem;right:1.5rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent1);border:1px solid rgba(79,125,255,0.3);padding:.2rem .7rem;border-radius:100px}

/* ── PORTFOLIO ── */
.pf-filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.pf-filter{background:transparent;border:1px solid var(--line);color:var(--muted);padding:.4rem 1.2rem;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;border-radius:100px}
.pf-filter.active,.pf-filter:hover{background:var(--accent1);color:#fff;border-color:var(--accent1)}
.pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.pf-card{background:var(--surface);overflow:hidden;position:relative;cursor:pointer;transition:background .2s}
.pf-card:hover{background:var(--surface2)}
.pf-card a{text-decoration:none;color:inherit;display:block}
.pf-thumb{height:220px;overflow:hidden;position:relative;background:#0d0f1a}
.pf-thumb iframe{width:200%;height:200%;transform:scale(.5);transform-origin:top left;border:none;pointer-events:none;display:block}
.pf-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,var(--surface) 100%)}
.pf-info{padding:1.5rem}
.pf-tag{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent1);margin-bottom:.5rem}
.pf-name{font-family:var(--head);font-size:1.4rem;letter-spacing:.04em;margin-bottom:.4rem}
.pf-desc{font-size:.82rem;color:var(--muted);line-height:1.6;font-weight:300;margin-bottom:.8rem}
.pf-arrow{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:color .2s;display:inline-flex;align-items:center;gap:.4rem}
.pf-card:hover .pf-arrow{color:var(--accent3)}

/* ── PROCESS ── */
.process-list{display:flex;flex-direction:column;gap:0}
.process-item{display:grid;grid-template-columns:80px 1fr 1fr;gap:3rem;padding:2.5rem 0;border-bottom:1px solid var(--line);align-items:start;transition:background .2s;cursor:default;position:relative}
.process-item::before{content:'';position:absolute;left:-5%;right:-5%;top:0;bottom:0;background:transparent;transition:background .2s}
.process-item:hover::before{background:rgba(79,125,255,0.04)}
.process-item-num{font-family:var(--head);font-size:1rem;letter-spacing:.1em;color:var(--accent1);padding-top:.2rem;position:relative;z-index:1}
.process-item-title{font-family:var(--head);font-size:2rem;letter-spacing:.04em;position:relative;z-index:1}
.process-item-desc{color:var(--muted);font-size:.88rem;line-height:1.8;font-weight:300;position:relative;z-index:1}

/* ── POURQUOI ── */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.why-item{background:var(--surface);padding:2.5rem;transition:background .2s}
.why-item:hover{background:var(--surface2)}
.why-icon{font-size:1.5rem;margin-bottom:1.2rem}
.why-title{font-family:var(--head);font-size:1.5rem;letter-spacing:.04em;margin-bottom:.8rem}
.why-desc{color:var(--muted);font-size:.85rem;line-height:1.8;font-weight:300}

/* ── FAQ ── */
.faq-item{border-bottom:1px solid var(--line);padding:0}
.faq-question{padding:1.4rem 0;font-size:1rem;font-weight:400;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--text);background:none;border:none;width:100%;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;text-align:left;letter-spacing:.01em;transition:color .2s}
.faq-question:hover{color:var(--accent1)}
.faq-question::-webkit-details-marker{display:none}
.faq-question::after{content:'+';font-size:1.4rem;font-weight:300;flex-shrink:0;margin-left:1rem;transition:transform .3s;color:var(--accent1)}
details[open] .faq-question::after{transform:rotate(45deg)}
.faq-answer{padding:0 0 1.2rem;font-size:.9rem;line-height:1.8;color:var(--muted);max-width:640px;font-weight:300}
.faq-icon{font-size:1.2rem;color:var(--accent1);flex-shrink:0;transition:transform .35s ease;line-height:1}
.faq-list .faq-item{border-bottom:1px solid var(--line);overflow:hidden}
.faq-list .faq-question{width:100%;background:none;border:none;color:var(--text);font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:1rem;font-weight:400;text-align:left;padding:1.8rem 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:2rem;letter-spacing:.01em;transition:color .2s}
.faq-list .faq-question:hover{color:var(--accent1)}
.faq-list .faq-item.open .faq-icon{transform:rotate(45deg);color:var(--accent1)}
.faq-answer-inner{color:var(--muted);font-size:.88rem;line-height:1.9;font-weight:300;padding-bottom:1.8rem;max-width:720px}
.faq-list .faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-list .faq-item.open .faq-answer{max-height:300px}

/* ── VILLES CHIPS ── */
.villes-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.ville-chip{border:1px solid var(--line);padding:.4rem 1rem;font-size:.78rem;color:var(--muted);text-decoration:none;letter-spacing:.04em;transition:all .2s;border-radius:100px}
.ville-chip:hover{border-color:var(--accent1);color:var(--accent1);background:rgba(79,125,255,0.06)}

/* ── SEO BLOCK ── */
.seo-section{border:1px solid var(--line);padding:3rem;border-radius:12px;background:var(--surface)}
.seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.seo-text h2{font-family:var(--head);font-size:2rem;letter-spacing:.04em;margin-bottom:1rem;line-height:1.1}
.seo-text h3{font-family:var(--head);font-size:1.2rem;letter-spacing:.04em;margin:1.5rem 0 .6rem;color:var(--accent1)}
.seo-text p{color:var(--muted);font-size:.88rem;line-height:1.9;margin-bottom:.8rem;font-weight:300}
.seo-text strong{color:var(--text);font-weight:400}
.seo-points{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}
.seo-point{display:flex;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:.8rem}
.seo-point-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}
.seo-point-title{font-size:.85rem;font-weight:500;margin-bottom:.2rem;letter-spacing:.02em}
.seo-point-desc{font-size:.82rem;color:var(--muted);line-height:1.6;font-weight:300}

/* ── CONTACT ── */
.contact-section{background:var(--surface);color:var(--text);padding:7rem 5%}
.contact-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:6rem}
.contact-infos{display:flex;flex-direction:column;gap:2rem;padding-top:1rem}
.c-item{border-bottom:1px solid var(--line);padding-bottom:1.5rem}
.c-item-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent1);margin-bottom:.5rem}
.c-item-val{font-size:1rem;font-weight:400;color:var(--text)}
.form-box{padding:0}
.form-htitle{font-family:var(--head);font-size:2rem;letter-spacing:.04em;color:var(--text);margin-bottom:.4rem}
.form-hsub{font-size:.82rem;color:var(--muted);margin-bottom:2.5rem;letter-spacing:.02em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.fg{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.fg label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fg input,.fg select,.fg textarea{background:rgba(255,255,255,0.04);border:1px solid var(--line2);border-radius:6px;padding:.8rem 1rem;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.95rem;color:var(--text);outline:none;transition:border-color .2s;width:100%;-webkit-appearance:none}
.fg input::placeholder,.fg textarea::placeholder{color:var(--muted)}
.fg select option{color:#0A0A0A;background:#fff}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--accent1)}
.fg textarea{min-height:100px;resize:vertical}
.btn-send{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;border:none;padding:1.1rem 3rem;font-family:var(--body-font,'DM Sans',sans-serif);transition:background .35s,color .35s;font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:6px;margin-top:.5rem;box-shadow:0 0 24px rgba(79,125,255,0.35);transition:box-shadow .3s,transform .2s}
.btn-send:hover{box-shadow:0 0 40px rgba(79,125,255,0.5);transform:translateY(-1px)}
.success-box{display:none;border:1px solid rgba(0,229,195,0.4);background:rgba(0,229,195,0.06);padding:1rem;font-size:.88rem;color:var(--accent3);margin-top:1rem;border-radius:6px}

/* ── CTA ── */
.cta-section{padding:8rem 5%;text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 50% 100%,rgba(79,125,255,0.1),transparent 70%),radial-gradient(ellipse 60% 80% at 30% 50%,rgba(155,92,255,0.06),transparent 70%);pointer-events:none}
.cta-h{font-family:var(--head);font-size:clamp(4rem,10vw,10rem);line-height:.9;letter-spacing:-.01em;margin-bottom:3rem;position:relative;z-index:1}
.cta-h em,.cta-h .grad{background:linear-gradient(135deg,var(--accent1),var(--accent2),var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal}
.cta-sub{color:var(--muted);font-size:.9rem;margin-bottom:3rem;letter-spacing:.04em;position:relative;z-index:1}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* ── FOOTER ── */
footer{border-top:1px solid var(--line);padding:2rem 5%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:var(--head);font-size:1.4rem;letter-spacing:.05em;background:linear-gradient(135deg,var(--accent1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-links{display:flex;gap:2rem;flex-wrap:wrap}
.footer-links a{color:var(--muted);text-decoration:none;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.footer-links a:hover{color:var(--accent1)}
.footer-copy{color:var(--muted);font-size:.72rem;letter-spacing:.06em}

/* ── SCROLL TOP ── */
.scroll-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;border:none;cursor:pointer;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s;z-index:90;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 0 20px rgba(79,125,255,0.4)}
.scroll-top.show{opacity:1;pointer-events:all}
.scroll-top:hover{transform:translateY(-2px)}

/* ── ANIMATIONS SCROLL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── ORBS HERO ── */
.orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;animation:floatOrb 10s ease-in-out infinite}
.orb1{width:400px;height:400px;background:rgba(79,125,255,0.12);top:-100px;right:-80px}
.orb2{width:300px;height:300px;background:rgba(155,92,255,0.1);bottom:0;left:5%;animation-delay:-4s}
.orb3{width:200px;height:200px;background:rgba(0,229,195,0.07);top:40%;right:15%;animation-delay:-7s}
@keyframes floatOrb{0%,100%{transform:translateY(0) scale(1)}33%{transform:translateY(-25px) scale(1.04)}66%{transform:translateY(12px) scale(.97)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .seo-grid{grid-template-columns:1fr}
  .tarifs-grid{grid-template-columns:1fr 1fr}
  .contact-wrap{grid-template-columns:1fr;gap:3rem}
}
@media(max-width:768px){
  nav{padding:1.1rem 5%}
  .nav-links,.nav-cta{display:none}
  .hamburger{display:flex}
  .section{padding:5rem 5%}
  .tarifs-grid{grid-template-columns:1fr}
  .pf-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .process-item{grid-template-columns:50px 1fr;gap:1.5rem}
  .process-item-desc{display:none}
  .form-row{grid-template-columns:1fr}
  .contact-section{padding:5rem 5%}
  .stats-row{grid-template-columns:1fr}
  footer{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .footer-links{flex-wrap:wrap;gap:1.2rem}
  .cta-btns{flex-direction:column;align-items:center}
}
@media(max-width:480px){
  .section-header{flex-direction:column;gap:.5rem;align-items:flex-start}
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .hero-stats{gap:1.5rem;flex-wrap:wrap}
}
