:root {
  --gold: #F5C518;
  --gold-dark: #C9A000;
  --black: #0E1A2B;
  --dark2: #0E1A2B;
  --gray: #888;
  --white: #ffffff;
  --nav-h: 96px;
  --container: 1600px;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Outfit',sans-serif; background:var(--black); color:var(--white); overflow-x:hidden; font-size:16px; line-height:1.5; }
img { max-width:100%; height:auto; display:block; }

/* ── NAVBAR ── */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; height:var(--nav-h); background:#0E1A2B; backdrop-filter:blur(16px); border-bottom:1px solid rgba(245,197,24,0.15); padding:0 32px; gap:16px; }
.navbar-logo { flex:0 0 auto; }
.navbar-logo img { height:60px; mix-blend-mode:lighten; }
.navbar-services { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; }
.navbar-service-link { display:flex; flex-direction:column; align-items:center; gap:6px; padding:8px 18px; border-radius:10px; border:1px solid transparent; text-decoration:none; color:var(--gray); font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; transition:all 0.2s; white-space:nowrap; background:none; }
.navbar-service-link img { width:40px; height:40px; object-fit:contain; filter:grayscale(20%) brightness(0.8); transition:filter 0.2s, transform 0.2s; }
.navbar-service-emoji { font-size:30px; line-height:40px; display:block; }
.navbar-service-link:hover { background:rgba(245,197,24,0.08); border-color:rgba(245,197,24,0.3); color:var(--white); transform:translateY(-1px); }
.navbar-service-link:hover img { filter:none; transform:scale(1.1); }
.navbar-links { flex:0 0 auto; display:flex; align-items:center; gap:20px; }
.navbar-links a { text-decoration:none; color:var(--gray); font-size:16px; font-weight:500; transition:color 0.2s; }
.navbar-links a:hover { color:var(--gold); }
.navbar-phone-btn { background:var(--gold) !important; color:var(--black) !important; padding:12px 24px; border-radius:4px; font-weight:700 !important; font-size:15px !important; letter-spacing:0.08em; transition:background 0.2s !important; white-space:nowrap; }
.navbar-phone-btn:hover { background:var(--gold-dark) !important; }
.navbar-burger { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:6px; flex-shrink:0; }
.navbar-burger span { display:block; width:22px; height:2px; background:var(--white); border-radius:2px; transition:all 0.3s; }
.navbar-burger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.navbar-burger.active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.navbar-burger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
.navbar-mobile { display:none; position:fixed; top:var(--nav-h); left:0; right:0; z-index:999; background:rgba(8,8,8,0.99); border-bottom:1px solid rgba(245,197,24,0.2); flex-direction:column; padding:8px 0 16px; max-height:calc(100vh - var(--nav-h)); overflow-y:auto; }
.navbar-mobile.open { display:flex; }
.navbar-mobile a { display:flex; align-items:center; gap:12px; padding:14px 24px; text-decoration:none; color:var(--gray); font-size:16px; font-weight:500; border-bottom:1px solid rgba(255,255,255,0.05); transition:color 0.2s, background 0.2s; }
.navbar-mobile a:hover { color:var(--white); background:rgba(255,255,255,0.03); }
.navbar-mobile a img { width:22px; height:22px; object-fit:contain; }
.navbar-mobile a:last-child { border-bottom:none; }
.navbar-mobile .mobile-phone-btn { margin:12px 24px 0; border-radius:6px; border:none !important; background:var(--gold); color:var(--black) !important; justify-content:center; font-weight:700; padding:14px; }
.navbar-mobile .mobile-phone-btn:hover { background:var(--gold-dark) !important; color:var(--black) !important; }

/* ── HERO (accueil) ── */
#hero { min-height:100vh; min-height:100svh; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; padding-top:var(--nav-h); }
.hero-glow { position:absolute; inset:0; background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(245,197,24,0.07) 0%, transparent 70%), radial-gradient(ellipse 40% 40% at 80% 80%, rgba(245,197,24,0.04) 0%, transparent 60%); }
.hero-pattern { position:absolute; inset:0; background-image: linear-gradient(rgba(245,197,24,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(245,197,24,0.04) 1px, transparent 1px); background-size:60px 60px; }
.hero-inner { position:relative; z-index:2; text-align:center; max-width:980px; padding:40px 24px; }
.hero-tag { display:inline-block; font-size:12px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(245,197,24,0.3); padding:6px 16px; border-radius:100px; margin-bottom:20px; animation:fadeInUp 0.7s both; }
.hero-brand-logo { width:clamp(180px,30vw,320px); margin:0 auto 16px; animation:fadeInUp 0.7s 0.1s both; mix-blend-mode:lighten; filter:drop-shadow(0 0 30px rgba(245,197,24,0.25)); }
.hero-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(52px,7vw,96px); line-height:1; letter-spacing:0.04em; animation:fadeInUp 0.7s 0.15s both; }
.hero-headline em { font-style:normal; color:var(--gold); }
.hero-description { font-size:clamp(16px,1.5vw,20px); color:var(--gray); font-weight:300; line-height:1.8; max-width:680px; margin:16px auto 0; animation:fadeInUp 0.7s 0.2s both; }
.hero-shortcuts { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:28px; animation:fadeInUp 0.7s 0.25s both; }
.hero-shortcut { display:flex; align-items:center; gap:14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12); padding:18px 30px; border-radius:12px; font-size:18px; font-weight:600; text-decoration:none; color:var(--white); transition:all 0.25s; }
.hero-shortcut:hover { border-color:var(--gold); background:rgba(245,197,24,0.08); transform:translateY(-3px); }
.hero-shortcut img { width:30px; height:30px; object-fit:contain; }
.hero-scroll-hint { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; opacity:0.35; }
.hero-scroll-hint span { font-size:10px; letter-spacing:0.2em; text-transform:uppercase; }
.scroll-indicator { width:1px; height:40px; background:linear-gradient(to bottom, var(--gold), transparent); animation:scrollLine 1.5s ease-in-out infinite; }
@keyframes scrollLine { 0%,100%{transform:scaleY(1);opacity:0.4;} 50%{transform:scaleY(0.6);opacity:1;} }

/* ── TYPO UTILS ── */
.tag-label { font-size:12px; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.big-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(36px,4vw,64px); line-height:1; letter-spacing:0.03em; margin-bottom:16px; }
.subtitle { font-size:17px; color:var(--gray); line-height:1.8; max-width:620px; margin-inline:auto; }

/* ── INTRO ── */
#intro { background:var(--dark2); border-top:1px solid rgba(245,197,24,0.1); border-bottom:1px solid rgba(245,197,24,0.1); padding:72px 5vw; }
.intro-layout { max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.intro-copy p { font-size:17px; color:#ccc; line-height:1.9; margin-bottom:16px; }
.stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.stat-block { border-left:2px solid var(--gold); padding-left:14px; }
.stat-value { font-family:'Bebas Neue',sans-serif; font-size:48px; color:var(--gold); line-height:1; }
.stat-name { font-size:13px; color:var(--gray); margin-top:6px; text-transform:uppercase; letter-spacing:0.1em; }

/* ── SERVICES ── */
#services { padding:96px 0; background:var(--black); }
.services-intro { text-align:center; max-width:900px; margin:0 auto 56px; padding:0 24px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:520px 380px; gap:3px; width:100%; }
.service-tall { grid-row:1/3; }

.service-card {
  position:relative;
  overflow:hidden;
  transition:transform 0.4s cubic-bezier(0.25,0.8,0.25,1);
}

.service-card:hover {
  transform:scale(1.016);
  z-index:2;
}

.service-card-link {
  position:absolute;
  inset:0;
  display:block;
  text-decoration:none;
  color:inherit;
}

.service-photo {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform 0.7s ease;
  z-index:1;
}

.service-card:hover .service-photo {
  transform:scale(1.06);
}

.service-shadow {
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0.78) 0%,
    rgba(0,0,0,0.58) 38%,
    rgba(0,0,0,0.28) 50%,
    rgba(0,0,0,0.12) 60%
  ),
  linear-gradient(
    to top,
    rgba(0,0,0,0.92) 0%,
    rgba(0,0,0,0.45) 40%,
    rgba(0,0,0,0.12) 60%
  );
  transition:opacity 0.4s;
  z-index:2;
  pointer-events:none;
}
.service-card:hover .service-shadow {
  opacity:0.85;
}

.service-icon {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-52%);
  opacity:0.12;
  transition:opacity 0.4s,transform 0.4s;
  pointer-events:none;
  z-index:2;
}

.service-icon img {
  width:150px;
  height:150px;
  object-fit:contain;
  filter:brightness(10) saturate(0);
}

.service-card:hover .service-icon {
  opacity:0.2;
  transform:translate(-50%,-56%) scale(1.08);
}

.service-icon--light { opacity:0.13; }
.service-icon--light img { filter:brightness(20) saturate(0); }
#traiteur:hover .service-icon--light { opacity:0.28; }

.service-content {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:40px 36px;
  z-index:3;
  pointer-events:none;
}

.service-number {
  display:block;
  font-family:'Bebas Neue',sans-serif;
  font-size:11px;
  letter-spacing:0.3em;
  color:var(--gold);
  margin-bottom:8px;
  opacity:0.85;
}

.service-name {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(28px,2.4vw,42px);
  line-height:1.05;
  letter-spacing:0.03em;
  color:var(--white);
  margin-bottom:10px;
}

.service-description {
  font-size:15px;
  color:rgba(255,255,255,0.88);
  line-height:1.75;
  max-width:520px;
  margin-bottom:14px;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.3s,transform 0.3s;
}
.service-card:hover .service-description {
  opacity:1;
  transform:translateY(0);
}

.service-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--gold);
  border-bottom:1px solid rgba(245,197,24,0.5);
  padding-bottom:2px;
  opacity:0;
  transform:translateY(6px);
  transition:opacity 0.3s 0.05s,transform 0.3s 0.05s;
}

.service-card:hover .service-link {
  opacity:1;
  transform:translateY(0);
}

.service-accent {
  position:absolute;
  top:0;
  left:0;
  width:3px;
  height:0;
  background:var(--gold);
  transition:height 0.4s ease;
  z-index:4;
  pointer-events:none;
}

.service-card:hover .service-accent {
  height:60px;
}

/* ── POURQUOI NOUS ── */
#why { background:var(--dark2); border-top:1px solid rgba(245,197,24,0.08); padding:96px 5vw; }
.why-layout { max-width:var(--container); margin:0 auto; }
.why-intro { text-align:center; max-width:700px; margin:0 auto 48px; }
.why-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.why-card { padding:32px 24px; background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.06); border-radius:2px; transition:border-color 0.3s,transform 0.3s; }
.why-card:hover { border-color:rgba(245,197,24,0.3); transform:translateY(-4px); }
.why-emoji { width:44px; height:44px; background:rgba(245,197,24,0.1); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:16px; }
.why-card-title { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:0.05em; margin-bottom:10px; }
.why-card-text { font-size:15px; color:var(--gray); line-height:1.8; }

/* ── FOOTER ── */
footer { background:#0E1A2B; padding:60px 5vw 28px; border-top:1px solid rgba(255,255,255,0.06); }
.footer-layout { max-width:var(--container); margin:0 auto 40px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }
.footer-about img { height:36px; margin-bottom:16px; mix-blend-mode:lighten; }
.footer-about p { font-size:15px; color:var(--gray); line-height:1.8; max-width:280px; }
.footer-address { font-size:14px !important; color:#555 !important; }
.footer-address a { color:#555; text-decoration:none; transition:color 0.2s; }
.footer-address a:hover { color:var(--gold); }
.footer-column h4 { font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:0.1em; color:var(--gold); margin-bottom:16px; }
.footer-column ul { list-style:none; }
.footer-column li { margin-bottom:10px; }
.footer-column a { text-decoration:none; font-size:15px; color:var(--gray); transition:color 0.2s; }
.footer-column a:hover { color:var(--white); }
.footer-bar { max-width:var(--container); margin:0 auto; padding-top:20px; border-top:1px solid rgba(255,255,255,0.06); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bar p { font-size:13px; color:#444; }
.social-links { display:flex; gap:12px; }
.social-btn { width:34px; height:34px; border:1px solid rgba(255,255,255,0.1); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--gray); text-decoration:none; transition:border-color 0.2s,color 0.2s; }
.social-btn:hover { border-color:var(--gold); color:var(--gold); }

/* ── ANIMATIONS ── */
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }

/* ════════════════════════════════
   PAGE CONTACT
   ════════════════════════════════ */
#contact-hero { padding-top:var(--nav-h); min-height:38vh; display:flex; align-items:flex-end; position:relative; overflow:hidden; background:#0E1A2B; }
.contact-hero-glow { position:absolute; inset:0; background: radial-gradient(ellipse 60% 80% at 20% 50%, rgba(245,197,24,0.06) 0%, transparent 65%), radial-gradient(ellipse 40% 60% at 80% 30%, rgba(245,197,24,0.04) 0%, transparent 60%); }
.contact-hero-pattern { position:absolute; inset:0; background-image:linear-gradient(rgba(245,197,24,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(245,197,24,0.03) 1px, transparent 1px); background-size:60px 60px; }
.contact-hero-inner { position:relative; z-index:2; padding:48px 5vw 56px; width:100%; }
.contact-tag { font-size:10px; font-weight:600; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block; }
.contact-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(52px,8vw,110px); line-height:0.95; letter-spacing:0.03em; }
.contact-headline em { font-style:normal; color:var(--gold); }
.contact-description { margin-top:16px; font-size:clamp(14px,1.4vw,17px); color:var(--gray); font-weight:300; line-height:1.7; max-width:520px; }
.contact-hero-separator { position:absolute; bottom:0; left:5vw; right:5vw; height:1px; background:linear-gradient(90deg, var(--gold), transparent 60%); }
#contact-main { display:grid; grid-template-columns:1fr 1fr; min-height:62vh; }
.contact-info-col { background:var(--dark2); border-right:1px solid rgba(255,255,255,0.06); display:flex; flex-direction:column; }
.depot-image { position:relative; height:320px; overflow:hidden; background:#111; flex-shrink:0; }
.depot-image img { width:100%; height:100%; object-fit:cover; filter:brightness(0.85); transition:transform 0.6s; }
.depot-image:hover img { transform:scale(1.04); }
.depot-image-shadow { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%); }
.depot-image-label { position:absolute; bottom:20px; left:24px; font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); }
.depot-image-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:rgba(255,255,255,0.15); }
.depot-image-placeholder svg { width:48px; height:48px; opacity:0.3; }
.depot-image-placeholder span { font-size:12px; letter-spacing:0.15em; text-transform:uppercase; }
.contact-details { padding:40px 48px; flex:1; display:flex; flex-direction:column; gap:32px; }
.contact-detail-row { display:flex; align-items:flex-start; gap:20px; }
.detail-icon { width:44px; height:44px; border-radius:10px; background:rgba(245,197,24,0.1); border:1px solid rgba(245,197,24,0.2); display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; margin-top:2px; }
.detail-label { font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.detail-value { font-size:clamp(15px,1.5vw,18px); font-weight:500; color:var(--white); line-height:1.5; }
.detail-value a { color:var(--white); text-decoration:none; transition:color 0.2s; }
.detail-value a:hover { color:var(--gold); }
.detail-note { font-size:13px; color:var(--gray); margin-top:4px; }
.detail-note a { color:var(--gold); text-decoration:none; font-size:12px; font-weight:600; }

.addresses-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:8px;
}

.address-block {
  padding:16px;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:6px;
  background:rgba(255,255,255,0.02);
}

.address-title {
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:6px;
}

.opening-hours { padding:24px 48px; border-top:1px solid rgba(255,255,255,0.06); background:rgba(245,197,24,0.03); }
.hours-label { font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.hours-line { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid rgba(255,255,255,0.04); font-size:13px; }
.hours-line:last-child { border-bottom:none; }
.hours-day-name { color:var(--gray); }
.hours-day-time { color:var(--white); font-weight:500; }
.map-col { position:relative; background:#0f0f0f; }
.map-col iframe { width:100%; height:100%; border:none; filter:invert(90%) hue-rotate(180deg) brightness(0.85) contrast(0.9); display:block; min-height:500px; }
.map-badge { position:absolute; bottom:24px; left:24px; z-index:10; background:rgba(8,8,8,0.92); backdrop-filter:blur(12px); border:1px solid rgba(245,197,24,0.3); border-radius:10px; padding:16px 20px; display:flex; align-items:center; gap:14px; }
.map-badge-icon { width:36px; height:36px; background:var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.map-badge-title { font-family:'Bebas Neue',sans-serif; font-size:16px; letter-spacing:0.05em; color:var(--white); }
.map-badge-address { font-size:12px; color:var(--gray); margin-top:2px; }
.map-open-link { position:absolute; bottom:24px; right:24px; z-index:10; background:var(--gold); color:var(--black); text-decoration:none; font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:10px 18px; border-radius:6px; transition:background 0.2s; }
.map-open-link:hover { background:var(--gold-dark); }

/* ════════════════════════════════
   PAGE ÉQUIPE
   ════════════════════════════════ */
#equipe-hero { padding-top:var(--nav-h); min-height:38vh; display:flex; align-items:flex-end; position:relative; overflow:hidden; background:#0E1A2B; }
.equipe-hero-glow { position:absolute; inset:0; background: radial-gradient(ellipse 70% 80% at 10% 60%, rgba(245,197,24,0.06) 0%, transparent 65%), radial-gradient(ellipse 50% 60% at 90% 20%, rgba(245,197,24,0.04) 0%, transparent 60%); }
.equipe-hero-pattern { position:absolute; inset:0; background-image:linear-gradient(rgba(245,197,24,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(245,197,24,0.03) 1px, transparent 1px); background-size:60px 60px; }
.equipe-hero-inner { position:relative; z-index:2; padding:48px 5vw 56px; width:100%; }
.equipe-tag { font-size:10px; font-weight:600; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block; }
.equipe-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(52px,8vw,110px); line-height:0.95; letter-spacing:0.03em; }
.equipe-headline em { font-style:normal; color:var(--gold); }
.equipe-description { margin-top:16px; font-size:clamp(14px,1.4vw,17px); color:var(--gray); font-weight:300; line-height:1.7; max-width:520px; }
.equipe-hero-separator { position:absolute; bottom:0; left:5vw; right:5vw; height:1px; background:linear-gradient(90deg, var(--gold), transparent 60%); }
#equipe-section { background:var(--black); padding:96px 5vw; }
.equipe-layout { max-width:var(--container); margin:0 auto; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.member-card { position:relative; background:var(--dark2); border:1px solid rgba(255,255,255,0.06); border-radius:2px; overflow:hidden; transition:border-color 0.3s,transform 0.3s; }
.member-card:hover { border-color:rgba(245,197,24,0.35); transform:translateY(-6px); }
.member-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform 0.4s ease; z-index:3; }
.member-card:hover::before { transform:scaleX(1); }
.member-photo { position:relative; height:300px; background:#111; overflow:hidden; }
.member-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top; opacity:0; transition:opacity 0.4s; }
.member-photo img.loaded { opacity:1; }
.member-photo-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #141414 0%, #1e1e1e 100%); transition:opacity 0.3s; }
.member-initials { font-family:'Bebas Neue',sans-serif; font-size:80px; letter-spacing:0.05em; color:rgba(245,197,24,0.15); }
.member-photo-shadow { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%); pointer-events:none; }
.member-info { padding:28px 28px 36px; }
.member-role { font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.member-name { font-family:'Bebas Neue',sans-serif; font-size:36px; letter-spacing:0.04em; color:var(--white); margin-bottom:12px; line-height:1; }
.member-bio { font-size:14px; color:var(--gray); line-height:1.75; }
.member-number { position:absolute; bottom:24px; right:24px; font-family:'Bebas Neue',sans-serif; font-size:56px; color:rgba(255,255,255,0.04); line-height:1; pointer-events:none; }
#equipe-cta { background:var(--dark2); border-top:1px solid rgba(245,197,24,0.1); padding:72px 5vw; text-align:center; }
.cta-layout { max-width:640px; margin:0 auto; }
.cta-layout h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(36px,4vw,56px); margin-bottom:16px; }
.cta-layout h2 em { font-style:normal; color:var(--gold); }
.cta-layout p { font-size:16px; color:var(--gray); line-height:1.8; margin-bottom:32px; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--black); font-weight:700; font-size:14px; letter-spacing:0.1em; text-transform:uppercase; padding:14px 32px; text-decoration:none; border-radius:4px; transition:background 0.2s,transform 0.2s; }
.btn-primary:hover { background:var(--gold-dark); transform:translateY(-2px); }
.btn-secondary { display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--white); font-weight:600; font-size:14px; letter-spacing:0.1em; text-transform:uppercase; padding:13px 28px; text-decoration:none; border:1px solid rgba(255,255,255,0.2); border-radius:4px; transition:border-color 0.2s,color 0.2s; }
.btn-secondary:hover { border-color:var(--gold); color:var(--gold); }

/* ════════════════════════════════
   RESPONSIVE
   ════════════════════════════════ */
@media (min-width:1440px) {
  body { font-size:17px; }
  .navbar-links a { font-size:17px; }
  .navbar-phone-btn { font-size:16px !important; padding:13px 26px; }
  .hero-description { font-size:20px; }
  .subtitle { font-size:18px; }
  .intro-copy p { font-size:18px; }
  .stat-value { font-size:54px; }
  .why-card-text { font-size:16px; }
  .footer-about p, .footer-column a { font-size:16px; }
}

@media (max-width:1200px) {
  nav { padding:0 20px; gap:12px; }
  .navbar-service-link { padding:6px 10px; font-size:10px; }
  .navbar-service-link img { width:30px; height:30px; }
  .navbar-service-emoji { font-size:24px; }
  .navbar-links { gap:14px; }
  .navbar-links a { font-size:14px; }
  .services-grid { grid-template-rows:440px 320px; }
  .why-cards { grid-template-columns:1fr 1fr; gap:20px; }
  .footer-layout { grid-template-columns:1fr 1fr; gap:28px; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:992px) {
  :root { --nav-h:88px; }
  nav { padding:0 16px; }
  .navbar-logo img { height:44px; }
  .navbar-services { display:none; }
  .navbar-links { gap:10px; }
  .navbar-links a { font-size:13px; }
  .navbar-phone-btn { padding:9px 14px; font-size:12px !important; }
  .navbar-burger { display:flex; }
  .hero-inner { padding:32px 20px; }
  .hero-headline { font-size:clamp(42px,8vw,68px); }
  .hero-description { font-size:15px; }
  #intro { padding:48px 24px; }
  .intro-layout { grid-template-columns:1fr; gap:32px; }
  .stat-value { font-size:36px; }
  #services { padding:72px 0; }
  .services-grid { grid-template-columns:1fr 1fr; grid-template-rows:320px 260px 260px; }
  .service-tall { grid-column:1/3; grid-row:1; }
  .services-grid .service-card:nth-child(2) { grid-column:1; grid-row:2; }
  .services-grid .service-card:nth-child(3) { grid-column:2; grid-row:2; }
  .services-grid #sapin { grid-column:1; grid-row:3; }
  .services-grid .service-card:nth-child(5) { grid-column:2; grid-row:3; }
  .service-description,.service-link { opacity:1 !important; transform:none !important; }
  .service-content { padding:20px; }
  .service-name { font-size:30px; }
  #why { padding:64px 24px; }
  .why-cards { grid-template-columns:1fr 1fr; gap:16px; }
  footer { padding:48px 24px 24px; }
  .contact-details { padding:32px; }
  .opening-hours { padding:20px 32px; }
}

@media (max-width:768px) {
  :root { --nav-h:80px; }
  .navbar-logo img { height:38px; }
  .navbar-links a:not(.navbar-phone-btn) { font-size:11px; }
  .navbar-phone-btn { padding:8px 12px; font-size:11px !important; }
  .hero-brand-logo { width:65vw; }
  .hero-headline { font-size:clamp(36px,11vw,52px); }
  .hero-description { font-size:14px; line-height:1.7; }
  .hero-shortcuts { flex-direction:column; align-items:center; gap:10px; }
  .hero-shortcut { width:100%; max-width:320px; justify-content:center; padding:16px 20px; font-size:16px; }
  .hero-scroll-hint { display:none; }
  .big-title { font-size:clamp(30px,10vw,42px); }
  .subtitle { font-size:15px; }
  #intro { padding:32px 16px; }
  .stats-grid { grid-template-columns:1fr 1fr; gap:14px; }
  .stat-value { font-size:28px; }
  #services { padding:48px 0; }
  .services-grid { grid-template-columns:1fr; grid-template-rows:repeat(5,240px); }
  .service-tall { grid-column:1; grid-row:1; }
  .services-grid .service-card:nth-child(2) { grid-column:1; grid-row:2; }
  .services-grid .service-card:nth-child(3) { grid-column:1; grid-row:3; }
  .services-grid #sapin { grid-column:1; grid-row:4; }
  .services-grid .service-card:nth-child(5) { grid-column:1; grid-row:5; }
  .service-name { font-size:26px; }
  #why { padding:40px 16px; }
  .why-cards { grid-template-columns:1fr; gap:12px; }
  .why-card { padding:24px 18px; }
  footer { padding:36px 16px 20px; }
  .footer-layout { grid-template-columns:1fr; gap:24px; margin-bottom:24px; }
  .footer-bar { flex-direction:column; align-items:flex-start; }
  #contact-main { grid-template-columns:1fr; }
  .map-col iframe { min-height:360px; height:360px; }
  .contact-details { padding:28px 24px; }
  .opening-hours { padding:20px 24px; }
  .team-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .member-photo { height:240px; }
  .member-info { padding:20px; }
  .member-name { font-size:28px; }
  .cta-actions { flex-direction:column; align-items:center; }
  .addresses-grid { grid-template-columns:1fr; }
}

@media (max-width:480px) {
  .navbar-phone-btn { padding:7px 10px; font-size:10px !important; }
  .hero-shortcut { max-width:100%; padding:10px 14px; }
  .depot-image { height:220px; }
  #equipe-section { padding:48px 16px; }
  .team-grid { grid-template-columns:1fr; }
  .member-photo { height:260px; }
}