:root{
    --bg:#0b1f3d;
    --bg-soft:#0f2748;
    --card:#142e54;
    --text:#ffffff;
    --muted:#a9b6cc;
    --accent:#f5a623;
    --accent-2:#3d7cff;
    --border:#24406b;
    --radius:14px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1140px;margin:0 auto;padding:0 24px;}

  /* Header */
  header{
    position:fixed;top:0;left:0;right:0;
    z-index:100;
    background:rgba(11,31,61,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:10px 24px;
    max-width:1140px;margin:0 auto;
  }
  .logo{
    display:flex;align-items:center;
  }
  .logo img{height:clamp(70px, 9vw, 120px);width:auto;display:block;}
  .footer-logo{display:flex;align-items:center;margin-bottom:14px;}
  .footer-logo img{height:130px;width:auto;display:block;}
  .nav-links{display:flex;gap:32px;font-size:0.95rem;font-weight:500;}
  .nav-links a{color:var(--muted);transition:color .2s;}
  .nav-links a:hover{color:var(--text);}
  .nav-cta{
    background:var(--accent);color:#151515;
    padding:10px 22px;border-radius:999px;
    font-weight:700;font-size:0.9rem;
    transition:transform .2s, box-shadow .2s;
  }
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(245,166,35,.25);}
  .burger{display:none;font-size:1.6rem;cursor:pointer;background:none;border:none;color:var(--text);}

  /* Hero */
  .hero{
    min-height:100vh;
    display:flex;align-items:center;
    position:relative;
    padding:170px 0 80px;
    background:var(--bg);
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;
  }
  .hero-bg.stock-placeholder{
    background-image:url('https://images.pexels.com/photos/25016471/pexels-photo-25016471.jpeg?auto=compress&cs=tinysrgb&w=1920');
  }
  .hero-bg::before{
    content:'';
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 20% 25%, rgba(245,166,35,0.32), transparent 42%),
      radial-gradient(circle at 82% 20%, rgba(61,124,255,0.30), transparent 42%),
      radial-gradient(circle at 50% 85%, rgba(245,166,35,0.22), transparent 45%),
      var(--bg);
    transition:opacity .4s;
  }
  .hero-bg.has-photo::before{opacity:0;}
  .hero-bg::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(11,31,61,.55) 0%, rgba(11,31,61,.75) 55%, var(--bg) 100%);
  }
  .hero-bg.has-photo::after{
    background:linear-gradient(180deg, rgba(11,31,61,.6) 0%, rgba(11,31,61,.8) 60%, var(--bg) 100%);
  }
  .hero-bg .hero-beams{
    position:absolute;inset:0;
    background:repeating-linear-gradient(105deg, rgba(255,255,255,.05) 0px, rgba(255,255,255,.05) 2px, transparent 2px, transparent 70px);
    mix-blend-mode:overlay;
  }
  .hero-inner{position:relative;z-index:1;text-align:center;max-width:820px;margin:0 auto;}
  .eyebrow{
    display:inline-block;
    color:var(--accent);
    font-weight:700;font-size:0.85rem;
    letter-spacing:2px;text-transform:uppercase;
    border:1px solid rgba(245,166,35,.3);
    background:rgba(245,166,35,.08);
    padding:8px 18px;border-radius:999px;
    margin-bottom:24px;
  }
  .hero h1{
    font-size:clamp(2.2rem, 5.5vw, 4rem);
    font-weight:800;
    line-height:1.1;
    margin-bottom:22px;
    letter-spacing:-1px;
  }
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(90deg, var(--accent), #ffd98a);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero p{
    color:var(--muted);
    font-size:1.15rem;
    max-width:600px;
    margin:0 auto 36px;
  }
  .hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .btn{
    padding:15px 32px;border-radius:999px;
    font-weight:700;font-size:1rem;
    display:inline-block;transition:transform .2s, box-shadow .2s, background .2s;
  }
  .btn-primary{background:var(--accent);color:#151515;}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(245,166,35,.3);}
  .btn-ghost{border:1px solid var(--border);color:var(--text);background:rgba(255,255,255,.03);}
  .btn-ghost:hover{background:rgba(255,255,255,.08);}

  .stats{
    display:flex;justify-content:center;gap:60px;
    margin-top:70px;flex-wrap:wrap;
    position:relative;z-index:1;
  }
  .stat{text-align:center;}
  .stat strong{display:block;font-size:2.1rem;font-weight:800;color:var(--accent);}
  .stat span{color:var(--muted);font-size:0.9rem;}

  /* Sections */
  section{padding:100px 0;}
  .section-head{text-align:center;max-width:640px;margin:0 auto 60px;}
  .section-head .eyebrow{margin-bottom:16px;}
  .section-head h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;margin-bottom:16px;letter-spacing:-0.5px;}
  .section-head p{color:var(--muted);font-size:1.05rem;}

  /* Services */
  .services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .service-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    transition:transform .25s, border-color .25s;
  }
  .service-card:hover{transform:translateY(-6px);border-color:rgba(245,166,35,.4);}
  .service-photo{aspect-ratio:16/10;overflow:hidden;}
  .service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
  .service-card:hover .service-photo img{transform:scale(1.05);}
  .service-body{padding:24px 28px 28px;}

  /* Clients */
  .clients-image-wrap{
    background:#ffffff;
    border-radius:var(--radius);
    padding:32px;
  }
  .clients-image{
    width:100%;height:auto;display:block;
  }
  .service-card h3{font-size:1.15rem;font-weight:700;margin-bottom:10px;}
  .service-card p{color:var(--muted);font-size:0.95rem;}

  /* About */
  .about{
    display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  }
  .about-visual{
    background:linear-gradient(145deg, var(--card), var(--bg-soft));
    border:1px solid var(--border);
    border-radius:var(--radius);
    aspect-ratio:4/3;
    display:flex;align-items:center;justify-content:center;
    font-size:4rem;
    overflow:hidden;
  }
  .about-visual img{width:100%;height:100%;object-fit:cover;display:block;}
  .about h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;margin-bottom:20px;letter-spacing:-0.5px;}
  .about p{color:var(--muted);margin-bottom:18px;}
  .about-list{list-style:none;margin-top:24px;}
  .about-list li{
    display:flex;align-items:flex-start;gap:12px;
    margin-bottom:14px;color:var(--text);font-size:0.98rem;
  }
  .check{
    color:var(--accent);font-weight:800;flex-shrink:0;
    width:22px;height:22px;border-radius:50%;
    background:rgba(245,166,35,.15);
    display:flex;align-items:center;justify-content:center;
    font-size:0.8rem;
  }

  /* Gallery */
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  }
  .gallery-item{
    aspect-ratio:1;
    border-radius:var(--radius);
    background:linear-gradient(160deg, var(--card), var(--bg-soft));
    border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;
    font-size:2rem;color:var(--muted);
    transition:transform .25s;
    overflow:hidden;
  }
  .gallery-item:hover{transform:scale(1.03);border-color:rgba(245,166,35,.4);}
  .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}

  /* Testimonials */
  .testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .testimonial{
    background:var(--card);border:1px solid var(--border);
    border-radius:var(--radius);padding:30px;
  }
  .testimonial .stars{color:var(--accent);margin-bottom:14px;letter-spacing:2px;}
  .testimonial p{color:var(--text);font-size:0.98rem;margin-bottom:20px;}
  .t-author{display:flex;align-items:center;gap:12px;}
  .t-avatar{
    width:42px;height:42px;border-radius:50%;
    background:rgba(61,124,255,.15);color:var(--accent-2);
    display:flex;align-items:center;justify-content:center;font-weight:700;
  }
  .t-author strong{display:block;font-size:0.92rem;}
  .t-author span{color:var(--muted);font-size:0.82rem;}

  /* Contact */
  .contact-wrap{
    background:var(--card);border:1px solid var(--border);
    border-radius:20px;padding:60px;
    display:grid;grid-template-columns:1fr 1fr;gap:60px;
  }
  .contact-info h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:16px;}
  .contact-info p{color:var(--muted);margin-bottom:28px;}
  .contact-item{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
  .contact-item .icon{
    width:42px;height:42px;border-radius:10px;
    background:rgba(245,166,35,.12);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .contact-item strong{display:block;font-size:0.95rem;}
  .contact-item span{color:var(--muted);font-size:0.88rem;}

  .social-links{display:flex;gap:12px;margin-top:24px;}
  .social-btn{
    width:44px;height:44px;border-radius:10px;
    background:rgba(245,166,35,.12);
    display:flex;align-items:center;justify-content:center;
    transition:transform .2s, background .2s;
  }
  .social-btn:hover{transform:translateY(-3px);background:rgba(245,166,35,.25);}
  .social-btn svg{width:22px;height:22px;fill:var(--accent);}

  form{display:flex;flex-direction:column;gap:16px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  input,textarea,select{
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:10px;
    padding:14px 16px;
    color:var(--text);
    font-family:inherit;
    font-size:0.95rem;
  }
  input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);}
  textarea{resize:vertical;min-height:110px;}
  form button{
    background:var(--accent);color:#151515;
    border:none;border-radius:999px;
    padding:15px;font-weight:700;font-size:1rem;
    cursor:pointer;transition:transform .2s;
  }
  form button:hover{transform:translateY(-2px);}

  footer{
    border-top:1px solid var(--border);
    padding:50px 0 30px;
    background:var(--bg-soft);
  }
  .footer-grid{
    display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px;
  }
  .footer-grid p{color:var(--muted);font-size:0.9rem;}
  .footer-col h4{font-size:0.95rem;margin-bottom:16px;}
  .footer-col a{display:block;color:var(--muted);font-size:0.9rem;margin-bottom:10px;transition:color .2s;}
  .footer-col a:hover{color:var(--text);}
  .footer-bottom{
    border-top:1px solid var(--border);padding-top:24px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    color:var(--muted);font-size:0.85rem;
  }

  @media (max-width: 900px){
    .nav-links{display:none;}
    .burger{display:block;}
    .services-grid{grid-template-columns:1fr 1fr;}
    .about{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .testimonials-grid{grid-template-columns:1fr;}
    .contact-wrap{grid-template-columns:1fr;padding:36px 24px;}
    .footer-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
  }
  @media (max-width: 560px){
    .services-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:1fr 1fr;}
    .stats{gap:32px;}
  }

  /* Page secondaire (ex: Occasion) */
  .page-hero{
    padding:170px 0 50px;
    text-align:center;
    background:
      radial-gradient(circle at 15% 20%, rgba(61,124,255,0.15), transparent 45%),
      radial-gradient(circle at 85% 30%, rgba(245,166,35,0.12), transparent 45%),
      var(--bg);
  }
  .page-hero h1{
    font-size:clamp(2rem, 4.5vw, 3rem);
    font-weight:800;
    margin-bottom:16px;
    letter-spacing:-0.5px;
  }
  .page-hero p{color:var(--muted);font-size:1.05rem;max-width:620px;margin:0 auto;}

  .products-toolbar{
    display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:16px;margin-bottom:40px;
  }
  .products-count{color:var(--muted);font-size:0.9rem;}

  .products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .product-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    display:flex;flex-direction:column;
    transition:transform .25s, border-color .25s;
  }
  .product-card:hover{transform:translateY(-6px);border-color:rgba(245,166,35,.4);}
  .product-image{
    aspect-ratio:4/3;
    background:linear-gradient(160deg, var(--card), var(--bg-soft));
    display:flex;align-items:center;justify-content:center;
    font-size:3rem;color:var(--muted);
    position:relative;
    overflow:hidden;
  }
  .product-image img{width:100%;height:100%;object-fit:cover;display:block;}
  .product-badge{
    position:absolute;top:14px;left:14px;
    background:rgba(245,166,35,.15);color:var(--accent);
    border:1px solid rgba(245,166,35,.3);
    font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;
    padding:5px 12px;border-radius:999px;
  }
  .product-badge.sold{background:rgba(255,255,255,.1);color:var(--muted);border-color:var(--border);}
  .product-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
  .product-category{color:var(--accent);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
  .product-body h3{font-size:1.1rem;font-weight:700;margin-bottom:8px;}
  .product-body p{color:var(--muted);font-size:0.9rem;margin-bottom:16px;flex:1;}
  .product-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .product-condition{font-size:0.82rem;color:var(--muted);display:flex;align-items:center;gap:6px;}
  .product-condition::before{content:'●';color:#4ade80;font-size:0.6rem;}
  .product-price{font-size:1.3rem;font-weight:800;color:var(--accent);}
  .product-body .btn{width:100%;text-align:center;padding:12px;font-size:0.9rem;}

  .occasion-note{
    background:var(--card);border:1px solid var(--border);
    border-radius:var(--radius);padding:24px 28px;margin-bottom:48px;
    color:var(--muted);font-size:0.92rem;
  }
  .occasion-note strong{color:var(--text);}

  .product-contact-email{
    display:block;text-align:center;
    color:var(--accent);font-weight:700;font-size:0.9rem;
    padding:10px;border-top:1px solid var(--border);margin-top:4px;
    word-break:break-all;
  }
  .product-contact-email:hover{color:var(--text);}

  /* Lightbox */
  .gallery-item img, .product-image img{cursor:zoom-in;}
  .lightbox-overlay{
    position:fixed;inset:0;z-index:10000;
    background:rgba(5,15,30,.92);
    display:flex;align-items:center;justify-content:center;
    padding:40px;
    opacity:0;pointer-events:none;
    transition:opacity .25s;
  }
  .lightbox-overlay.open{opacity:1;pointer-events:auto;}
  .lightbox-overlay img{
    max-width:100%;max-height:100%;
    border-radius:10px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    cursor:zoom-out;
  }
  .lightbox-close{
    position:absolute;top:20px;right:24px;
    background:none;border:none;color:#fff;
    font-size:2.2rem;cursor:pointer;line-height:1;
    opacity:.8;
  }
  .lightbox-close:hover{opacity:1;}

  /* Bouton WhatsApp flottant */
  .whatsapp-btn{
    position:fixed;bottom:24px;right:24px;z-index:9000;
    width:58px;height:58px;border-radius:50%;
    background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    transition:transform .2s, box-shadow .2s;
  }
  .whatsapp-btn:hover{transform:scale(1.08);box-shadow:0 10px 28px rgba(37,211,102,.45);}
  .whatsapp-btn svg{width:32px;height:32px;fill:#fff;}

  @media (max-width: 900px){
    .products-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 560px){
    .products-grid{grid-template-columns:1fr;}
  }
