<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>HBC Group — Newsletter Exclusive · Grand-Duché de Luxembourg</title>
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
  <link href="https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400&display=swap" rel="stylesheet"/>

  <style>
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --navy:       #234a64;
      --navy-d:     #1a3850;
      --navy-l:     #2e5f80;
      --navy-pale:  #edf2f6;
      --orange:     #ff764a;
      --orange-d:   #e85e30;
      --orange-pale:#fff2ed;
      --white:      #ffffff;
      --off:        #f6f8fb;
      --border:     #dce5ee;
      --text:       #1a2e3d;
      --muted:      #6d8799;
      --light:      #edf2f6;
    }

    html { scroll-behavior: smooth; }
    body {
      font-family: 'Exo 2', sans-serif;
      background: var(--white);
      color: var(--text);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    /* ══════════════════════════════════════
       PAGE LOADER
    ══════════════════════════════════════ */
    #loader {
      position: fixed; inset: 0; z-index: 9999;
      background: var(--navy);
      display: flex; flex-direction: column;
      align-items: center; justify-content: center; gap: 20px;
      transition: opacity 0.6s ease, visibility 0.6s ease;
    }
    #loader.out { opacity: 0; visibility: hidden; pointer-events: none; }
    .ld-logo { height: 48px; filter: brightness(0) invert(1); opacity:0; animation: ldUp 0.5s 0.3s ease forwards; }
    .ld-bar { width: 160px; height: 2px; background: rgba(255,255,255,0.12); border-radius: 2px; overflow: hidden; opacity:0; animation: ldUp 0.5s 0.5s ease forwards; }
    .ld-fill { height: 100%; width: 0; background: var(--orange); animation: ldBar 1.1s 0.6s cubic-bezier(0.4,0,0.2,1) forwards; }
    @keyframes ldUp  { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
    @keyframes ldBar { to { width: 100%; } }

    /* ══════════════════════════════════════
       TOPBAR
    ══════════════════════════════════════ */
    .topbar {
      position: fixed; top: 0; left: 0; right: 0; z-index: 500;
      height: 72px;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 32px;
      background: rgba(255,255,255,0.97);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--border);
      transition: height 0.3s ease, box-shadow 0.3s ease;
    }
    .topbar.scrolled { height: 60px; box-shadow: 0 4px 24px rgba(35,74,100,0.09); }
    .t-logo img { height: 42px; width: auto; display: block; }
    .t-right { display: flex; align-items: center; gap: 18px; }
    .t-phone { font-size: 0.78rem; font-weight: 600; color: var(--muted); text-decoration: none; display: none; }
    @media(min-width:560px){ .t-phone { display: block; } }
    .t-cta {
      display: inline-flex; align-items: center; gap: 7px;
      padding: 11px 24px; background: var(--orange); color: white;
      font-family: 'Exo 2', sans-serif; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.04em;
      border-radius: 6px; text-decoration: none;
      transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
    }
    .t-cta:hover { background: var(--orange-d); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(255,118,74,0.3); }
    .t-cta .arr { transition: transform 0.25s; }
    .t-cta:hover .arr { transform: translateX(3px); }

    /* ══════════════════════════════════════
       HERO — PLEIN ÉCRAN AVEC PHOTO LUX
    ══════════════════════════════════════ */
    .hero {
      min-height: 100svh;
      padding-top: 72px;
      position: relative; overflow: hidden;
      display: flex; flex-direction: column; justify-content: center;
    }

    /* Photo Luxembourg en fond — Quartier d'affaires */
    .hero-photo {
      position: absolute; inset: 0; z-index: 0;
      background-image: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1600&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 40%;
      background-repeat: no-repeat;
      transform: scale(1.04);
      animation: heroZoom 12s ease-out forwards;
    }
    @keyframes heroZoom { to { transform: scale(1); } }

    /* Overlay navy dégradé pour lisibilité du texte */
    .hero-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(
        105deg,
        rgba(26,56,80,0.88) 0%,
        rgba(35,74,100,0.78) 40%,
        rgba(35,74,100,0.40) 70%,
        rgba(35,74,100,0.15) 100%
      );
    }

    /* Grain subtil sur la photo */
    .hero-grain {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
      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.03'/%3E%3C/svg%3E");
      opacity: 0.4;
    }

    /* Trait orange bas de hero */
    .hero-cut {
      position: absolute; bottom: -1px; left: 0; right: 0; z-index: 3;
      height: 70px; overflow: hidden;
    }
    .hero-cut svg { display: block; width: 100%; height: 100%; }

    .hero-inner {
      position: relative; z-index: 4;
      max-width: 680px; margin: 0 auto;
      padding: 56px 32px 80px;
      display: flex; flex-direction: column; align-items: flex-start;
    }

    /* Eyebrow */
    .hero-label {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 8px 16px;
      background: rgba(255,118,74,0.18);
      border: 1px solid rgba(255,118,74,0.35);
      border-radius: 4px; margin-bottom: 26px;
      opacity: 0; animation: heroIn 0.6s 1.4s ease forwards;
    }
    .label-bar { width: 3px; height: 14px; background: var(--orange); border-radius: 2px; flex-shrink: 0; }
    .label-text { font-size: 0.73rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.9); }

    /* Modifications font-weight ici */
    .hero-h1 {
      font-size: clamp(2rem, 6vw, 3.8rem); font-weight: 400; line-height: 1.08;
      letter-spacing: -0.01em; color: white; margin-bottom: 6px;
      opacity: 0; animation: heroIn 0.7s 1.55s ease forwards;
      text-shadow: 0 2px 20px rgba(0,0,0,0.3);
    }
    .hero-h2 {
      font-size: clamp(1.6rem, 4.5vw, 3rem); font-weight: 400; line-height: 1.1;
      color: var(--orange); margin-bottom: 28px;
      opacity: 0; animation: heroIn 0.7s 1.7s ease forwards;
    }

    .hero-intro {
      font-size: 1rem; font-weight: 400; color: rgba(255,255,255,0.8);
      line-height: 1.65; max-width: 520px; margin-bottom: 32px;
      opacity: 0; animation: heroIn 0.7s 1.85s ease forwards;
    }
    .hero-intro strong { color: white; font-weight: 700; }

    /* Liste 3 points */
    .hero-points {
      display: flex; flex-direction: column; gap: 0;
      width: 100%; max-width: 520px; margin-bottom: 40px;
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 10px; overflow: hidden;
      backdrop-filter: blur(8px);
      opacity: 0; animation: heroIn 0.7s 2s ease forwards;
    }
    .hpoint {
      display: flex; align-items: center; gap: 14px;
      padding: 14px 18px;
      background: rgba(255,255,255,0.07);
      border-bottom: 1px solid rgba(255,255,255,0.1);
      transition: background 0.2s;
    }
    .hpoint:last-child { border-bottom: none; }
    .hpoint:hover { background: rgba(255,255,255,0.12); }
    .hpoint-num {
      width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
      background: var(--orange); color: white;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.72rem; font-weight: 800;
    }
    .hpoint:nth-child(2) .hpoint-num { background: rgba(255,255,255,0.2); }
    .hpoint:nth-child(3) .hpoint-num { background: rgba(255,255,255,0.15); }
    .hpoint-text { font-size: 0.88rem; font-weight: 600; color: rgba(255,255,255,0.9); line-height: 1.45; }
    .hpoint-text em { font-style: normal; color: white; font-weight: 700; }

    /* JP card */
    .jp-card {
      display: flex; align-items: center; gap: 16px;
      padding: 18px 20px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.2);
      backdrop-filter: blur(12px);
      border-radius: 10px; max-width: 440px; width: 100%;
      position: relative; overflow: hidden;
      opacity: 0; animation: heroIn 0.7s 2.15s ease forwards;
    }
    .jp-av {
      width: 52px; height: 52px; border-radius: 8px; flex-shrink: 0;
      background: linear-gradient(135deg, var(--orange), var(--orange-d));
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem; font-weight: 900; color: white;
    }
    .jp-name { font-size: 0.9rem; font-weight: 800; color: white; }
    .jp-title { font-size: 0.71rem; color: rgba(255,255,255,0.5); margin-top: 2px; }
    .jp-proof {
      display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
      padding: 4px 10px; border: 1px solid rgba(255,118,74,0.4); border-radius: 4px;
      font-size: 0.66rem; font-weight: 700; color: var(--orange); letter-spacing: 0.05em; text-transform: uppercase;
    }
    .jp-proof-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }

    /* Crédit photo */
    .photo-credit {
      position: absolute; bottom: 80px; right: 20px; z-index: 4;
      font-size: 0.6rem; color: rgba(255,255,255,0.25); letter-spacing: 0.05em;
    }
    .photo-credit a { color: rgba(255,255,255,0.3); text-decoration: none; }

    @keyframes heroIn { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

    /* ══════════════════════════════════════
       STATS BAND
    ══════════════════════════════════════ */
    .stats { background: var(--navy); padding: 0; }
    .stats-inner { max-width: 680px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); }
    .sbox { padding: 30px 20px; text-align: center; position: relative; border-right: 1px solid rgba(255,255,255,0.07); }
    .sbox:last-child { border-right: none; }
    .sbox-n { display: block; font-size: clamp(1.9rem,5vw,2.8rem); font-weight: 900; color: white; line-height: 1; letter-spacing: -0.02em; }
    .sbox-n .suf { color: var(--orange); }
    .sbox-l { display: block; margin-top: 5px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.35); }

    /* ══════════════════════════════════════
       PILLARS SECTION
    ══════════════════════════════════════ */
    .pillars { padding: 80px 32px; background: var(--off); }
    .sec-inner { max-width: 680px; margin: 0 auto; }
    .sec-sup { display: flex; align-items: center; gap: 10px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; }
    .sec-sup::before { content:''; width:32px; height:2px; background:var(--orange); border-radius:1px; }
    .sec-h { font-size: clamp(1.7rem,4.5vw,2.6rem); font-weight: 400; color: var(--navy); line-height: 1.12; margin-bottom: 12px; letter-spacing: -0.01em; }
    .sec-h span { color: var(--orange); }
    .sec-sub { font-size: 0.9rem; color: var(--muted); line-height: 1.72; margin-bottom: 44px; max-width: 560px; }

    .plist { display: flex; flex-direction: column; gap: 14px; }
    .pcard {
      background: var(--white); border: 1px solid var(--border); border-radius: 10px;
      padding: 24px 22px; display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start;
      transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
      opacity: 0; transform: translateX(-18px);
    }
    .pcard.in { opacity: 1; transform: none; }
    .pcard:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(35,74,100,0.1); border-color: rgba(255,118,74,0.3); }
    .pcard-icon { width: 48px; height: 48px; border-radius: 8px; background: var(--navy-pale); display: flex; align-items: center; justify-content: center; transition: background 0.28s; }
    .pcard:hover .pcard-icon { background: var(--orange-pale); }
    .pcard-icon svg { width: 22px; height: 22px; }
    .pcard-title { font-size: 0.95rem; font-weight: 800; color: var(--navy); margin-bottom: 6px; }
    .pcard-desc { font-size: 0.82rem; color: var(--muted); line-height: 1.6; }
    .pcard-tag { display: inline-block; margin-top: 10px; padding: 3px 10px; background: var(--light); border-radius: 3px; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--navy-l); }

    /* ══════════════════════════════════════
       PHOTO BREAK — Ville de Luxembourg
    ══════════════════════════════════════ */
    .photo-break {
      position: relative; height: 360px; overflow: hidden;
    }
    .pb-img {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
      transform: scale(1.08);
      transition: transform 0.1s linear;
    }
    .pb-img.parallax { will-change: transform; }

    /* Overlay navy avec texte */
    .pb-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(
        to right,
        rgba(26,56,80,0.85) 0%,
        rgba(26,56,80,0.55) 50%,
        rgba(26,56,80,0.2) 100%
      );
      display: flex; align-items: center;
    }
    .pb-content { padding: 0 40px; max-width: 500px; }
    .pb-tag { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--orange); margin-bottom: 10px; }
    .pb-quote {
      font-size: clamp(1.1rem, 2.8vw, 1.6rem); font-weight: 700;
      color: white; line-height: 1.35; font-style: italic;
    }
    .pb-author { margin-top: 14px; font-size: 0.78rem; font-weight: 600; color: rgba(255,255,255,0.55); }
    .pb-author strong { color: rgba(255,255,255,0.85); }
    .pb-credit { position: absolute; bottom: 10px; right: 14px; font-size: 0.58rem; color: rgba(255,255,255,0.2); }
    .pb-credit a { color: rgba(255,255,255,0.25); text-decoration: none; }

    /* ══════════════════════════════════════
       FORMULAIRE
    ══════════════════════════════════════ */
    .form-wrap { padding: 80px 32px; background: var(--white); position: relative; overflow: hidden; }
    .form-wrap::before {
      content:''; position:absolute; bottom:-100px; right:-100px;
      width:350px; height:350px; border-radius:50%;
      background: radial-gradient(circle, rgba(255,118,74,0.05), transparent 70%);
      pointer-events:none;
    }
    .fcard {
      max-width: 560px; margin: 0 auto;
      background: var(--off); border: 1px solid var(--border); border-radius: 14px;
      padding: 44px 36px; position: relative; z-index: 1;
      box-shadow: 0 20px 60px rgba(35,74,100,0.07); overflow: hidden;
    }
    .fcard::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--orange); }

    .fcard-sup { font-size:0.7rem; font-weight:800; letter-spacing:0.16em; text-transform:uppercase; color:var(--orange); display:flex; align-items:center; gap:10px; margin-bottom:12px; }
    .fcard-sup::before { content:''; width:32px; height:2px; background:var(--orange); border-radius:1px; }
    .fcard-h { font-size: clamp(1.4rem,3.8vw,2rem); font-weight:400; color:var(--navy); line-height:1.18; margin-bottom:6px; letter-spacing:-0.01em; }
    .fcard-sub { font-size:0.83rem; color:var(--muted); margin-bottom:28px; }

    .sp-row { display:flex; align-items:center; gap:12px; margin-bottom:28px; }
    .sp-avs { display:flex; }
    .sp-a { width:32px; height:32px; border-radius:50%; border:2px solid var(--off); margin-left:-9px; font-size:0.63rem; font-weight:800; color:white; display:flex; align-items:center; justify-content:center; }
    .sp-a:first-child { margin-left:0; }
    .sa1{background:#2a5780;} .sa2{background:#2a7050;} .sa3{background:#703060;} .sa4{background:var(--orange);}
    .sp-txt { font-size:0.8rem; color:var(--muted); }
    .sp-txt strong { color:var(--navy); font-weight:800; }

    .fields { display:flex; flex-direction:column; gap:16px; }
    .f label { display:block; font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
    .f input {
      width:100%; padding:14px 18px;
      background:var(--white); border:1.5px solid var(--border); border-radius:8px;
      color:var(--text); font-size:0.92rem; font-family:'Exo 2',sans-serif; font-weight:500;
      outline:none; transition:border-color 0.22s, box-shadow 0.22s;
    }
    .f input::placeholder { color:#aabccc; font-weight:400; }
    .f input:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,118,74,0.12); }
    .f input.err { border-color:#d94040; box-shadow:0 0 0 3px rgba(217,64,64,0.1); }

    .cta-btn {
      width:100%; padding:16px 24px; margin-top:6px;
      background:var(--orange); color:white;
      font-family:'Exo 2',sans-serif; font-size:0.95rem; font-weight:800; letter-spacing:0.04em;
      border:none; border-radius:8px; cursor:pointer;
      display:flex; align-items:center; justify-content:center; gap:10px;
      transition:background 0.25s, transform 0.25s, box-shadow 0.25s;
      box-shadow:0 4px 16px rgba(255,118,74,0.3); position:relative; overflow:hidden;
    }
    .cta-btn::before {
      content:''; position:absolute; top:0; left:-100%; width:60%; height:100%;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
      transition:left 0.55s ease;
    }
    .cta-btn:hover::before { left:150%; }
    .cta-btn:hover { background:var(--orange-d); transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,118,74,0.4); }
    .cta-btn:active { transform:none; }
    .cta-btn .arr { transition:transform 0.25s; }
    .cta-btn:hover .arr { transform:translateX(5px); }

    .rgpd { margin-top:18px; padding:14px 16px; background:var(--white); border:1px solid var(--border); border-left:3px solid var(--navy); border-radius:0 8px 8px 0; }
    .rgpd p { font-size:0.67rem; color:var(--muted); line-height:1.7; }
    .rgpd a { color:var(--orange); text-decoration:underline; font-weight:600; }

    #success { display:none; text-align:center; padding:20px 0; }
    .ok-icon { width:72px; height:72px; border-radius:50%; background:var(--orange); margin:0 auto 18px; display:flex; align-items:center; justify-content:center; animation:popIn 0.5s cubic-bezier(.175,.885,.32,1.275); }
    .ok-icon svg { width:32px; height:32px; }
    @keyframes popIn { from{transform:scale(0) rotate(-30deg)} to{transform:scale(1) rotate(0)} }
    #success h3 { font-size:1.5rem; font-weight:400; color:var(--navy); margin-bottom:8px; }
    #success p { font-size:0.86rem; color:var(--muted); line-height:1.65; }

    /* ══════════════════════════════════════
       TÉMOIGNAGES
    ══════════════════════════════════════ */
    .testi { padding: 80px 32px; background: var(--off); }
    .tcards { display:flex; flex-direction:column; gap:14px; margin-top:40px; }
    .tc {
      background:var(--white); border:1px solid var(--border); border-radius:10px; padding:26px 24px;
      position:relative; overflow:hidden;
      opacity:0; transform:translateY(20px);
      transition:opacity 0.5s, transform 0.5s, box-shadow 0.3s, border-color 0.3s;
    }
    .tc.in { opacity:1; transform:none; }
    .tc:hover { box-shadow:0 8px 32px rgba(35,74,100,0.09); border-color:rgba(255,118,74,0.25); }
    .tc-quote { position:absolute; top:14px; right:18px; font-size:4rem; line-height:1; font-family:Georgia,serif; color:rgba(255,118,74,0.08); pointer-events:none; user-select:none; }
    .tc-stars { color:var(--orange); font-size:0.8rem; letter-spacing:3px; margin-bottom:14px; }
    .tc-text { font-size:0.88rem; font-style:italic; color:#3a4a60; line-height:1.72; margin-bottom:18px; }
    .tc-author { display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--border); }
    .tc-av { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:800; color:white; flex-shrink:0; }
    .av-b { background:linear-gradient(135deg,var(--navy-l),var(--navy)); }
    .av-g { background:linear-gradient(135deg,#2a7050,#1a4a34); }
    .tc-name { font-size:0.84rem; font-weight:800; color:var(--navy); }
    .tc-loc { font-size:0.71rem; color:var(--muted); margin-top:1px; }

    /* ══════════════════════════════════════
       PHOTO BREAK 3 — Panorama Ville Haute
    ══════════════════════════════════════ */
    .grand-photo {
      position: relative; height: 280px; overflow: hidden;
    }
    .gp-img {
      position: absolute; inset: 0;
      background-size: cover; background-position: center 60%;
    }
    .gp-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(35,74,100,0.15) 0%,
        rgba(26,56,80,0.6) 100%
      );
      display: flex; align-items: flex-end; padding: 28px 36px;
    }
    .gp-label {
      font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em;
      text-transform: uppercase; color: rgba(255,255,255,0.5);
    }
    .gp-label span { color: var(--orange); }
    .gp-credit { position: absolute; bottom: 10px; right: 14px; font-size: 0.58rem; color: rgba(255,255,255,0.2); }
    .gp-credit a { color: rgba(255,255,255,0.25); text-decoration: none; }

    /* ══════════════════════════════════════
       BOTTOM CTA
    ══════════════════════════════════════ */
    .bcta { padding: 80px 32px; background: var(--white); text-align: center; }
    .bcta-in { max-width: 540px; margin: 0 auto; }
    .bcta-h { font-size: clamp(1.7rem,4.5vw,2.6rem); font-weight:400; color:var(--navy); line-height:1.12; margin-bottom:14px; letter-spacing:-0.01em; }
    .bcta-h span { color:var(--orange); }
    .bcta-p { font-size:0.9rem; color:var(--muted); line-height:1.7; margin-bottom:30px; }
    .bcta-btn {
      display:inline-flex; align-items:center; gap:8px; padding:16px 36px;
      background:var(--navy); color:white;
      font-family:'Exo 2',sans-serif; font-weight:800; font-size:0.95rem; letter-spacing:0.04em;
      border-radius:8px; text-decoration:none;
      transition:background 0.25s, transform 0.25s, box-shadow 0.25s;
      box-shadow:0 4px 16px rgba(35,74,100,0.22);
    }
    .bcta-btn:hover { background:var(--navy-l); transform:translateY(-3px); box-shadow:0 10px 28px rgba(35,74,100,0.3); }
    .bcta-btn .arr { color:var(--orange); transition:transform 0.25s; }
    .bcta-btn:hover .arr { transform:translateX(4px); }
    .trust-row { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin-top:26px; }
    .trust-item { display:flex; align-items:center; gap:6px; font-size:0.73rem; font-weight:600; color:var(--muted); }
    .trust-item svg { width:15px; height:15px; color:var(--orange); flex-shrink:0; }

    /* ══════════════════════════════════════
       FOOTER
    ══════════════════════════════════════ */
    footer { background:var(--navy); padding:40px 32px 28px; text-align:center; }
    .f-logo-img { height:42px; margin:0 auto 18px; display:block; filter:brightness(0) invert(1); }
    .f-logo-fb { font-size:1.5rem; font-weight:900; color:white; margin-bottom:18px; display:none; letter-spacing:0.04em; }
    .f-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 22px; margin-bottom:18px; }
    .f-nav a { font-size:0.71rem; font-weight:600; color:rgba(255,255,255,0.3); text-decoration:none; letter-spacing:0.04em; transition:color 0.2s; }
    .f-nav a:hover { color:var(--orange); }
    .f-sep { border:none; border-top:1px solid rgba(255,255,255,0.07); margin:16px auto; max-width:400px; }
    .f-legal { font-size:0.66rem; color:rgba(255,255,255,0.2); line-height:1.85; }

    /* ══════════════════════════════════════
       STICKY BAR
    ══════════════════════════════════════ */
    .sticky {
      position:fixed; bottom:0; left:0; right:0; z-index:400;
      background:white; border-top:1px solid var(--border); padding:12px 22px;
      display:flex; align-items:center; gap:14px;
      box-shadow:0 -6px 24px rgba(35,74,100,0.1);
      transform:translateY(110%); transition:transform 0.38s cubic-bezier(0.4,0,0.2,1);
    }
    .sticky.up { transform:none; }
    .sticky-txt { flex:1; }
    .sticky-txt strong { display:block; font-size:0.82rem; font-weight:800; color:var(--navy); }
    .sticky-txt span { font-size:0.71rem; color:var(--muted); }
    .sticky-b {
      padding:11px 22px; background:var(--orange); color:white;
      font-family:'Exo 2',sans-serif; font-weight:800; font-size:0.82rem;
      letter-spacing:0.04em; border:none; border-radius:6px; cursor:pointer; white-space:nowrap;
      transition:background 0.2s;
    }
    .sticky-b:hover { background:var(--orange-d); }

    /* REVEAL */
    .reveal { opacity:0; transform:translateY(20px); transition:opacity 0.6s, transform 0.6s; }
    .reveal.in { opacity:1; transform:none; }
  </style>
</head>
<body>

<div id="loader" aria-hidden="true">
  <img class="ld-logo" src="https://hbcgroup.lu/wp-content/themes/timber-zero/public/img/brand.svg" alt="HBC Group"/>
  <div class="ld-bar"><div class="ld-fill"></div></div>
</div>

<header class="topbar" id="topbar">
  <a href="https://hbcgroup.lu/" class="t-logo" target="_blank" rel="noopener">
    <img
      src="https://hbcgroup.lu/wp-content/themes/timber-zero/public/img/brand.svg"
      alt="HBC Group"
      onerror="this.style.display='none';this.nextElementSibling.style.display='block';"
    />
    <span style="display:none;font-size:1.4rem;font-weight:900;color:var(--navy);">HBC GROUP</span>
  </a>
  <div class="t-right">
    <a href="tel:+35220331990" class="t-phone">+352 20 33 19 90</a>
    <a href="#inscription" class="t-cta">S'inscrire gratuitement <span class="arr">&#8594;</span></a>
  </div>
</header>

<section class="hero" id="home">
  <div class="hero-photo" id="hero-photo"></div>
  <div class="hero-overlay"></div>
  <div class="hero-grain"></div>

  <div class="hero-inner">
    <div class="hero-label">
      <span class="label-bar"></span>
      <span class="label-text">Newsletter Exclusive &nbsp;·&nbsp; Grand-Duché de Luxembourg</span>
    </div>

    <h1 class="hero-h1">Votre projet n'est peut-être<br/>pas encore prêt pour le Luxembourg ?</h1>
    <p class="hero-h2">Ne repartez pas les mains vides.</p>

    <p class="hero-intro">
      <strong>Rejoignez le Groupe HBC</strong> — vous recevrez les insights exclusifs de Jean-Pierre pour anticiper votre implantation. Les bons entrepreneurs se préparent en avance.
    </p>

    <div class="hero-points">
      <div class="hpoint">
        <div class="hpoint-num">01</div>
        <p class="hpoint-text"><em>Automatisation IA</em> — Nos méthodes pour automatiser votre business</p>
      </div>
      <div class="hpoint">
        <div class="hpoint-num">02</div>
        <p class="hpoint-text"><em>Growth Marketing</em> — Stratégies testées sur des centaines d'entreprises</p>
      </div>
      <div class="hpoint">
        <div class="hpoint-num">03</div>
        <p class="hpoint-text"><em>Actualité Grand-Duché</em> — L'info business du Luxembourg en avant-première</p>
      </div>
    </div>

    <div class="jp-card">
      <div class="jp-av">JP</div>
      <div>
        <div class="jp-name">Jean-Pierre Berckmans</div>
        <div class="jp-title">Fondateur &amp; CEO — HBC Group S.A. Luxembourg</div>
        <div class="jp-proof">
          <span class="jp-proof-dot"></span>
          700+ sociétés créées &nbsp;·&nbsp; 20 ans d'expérience
        </div>
      </div>
    </div>
  </div>

  <p class="photo-credit">Photo : <a href="https://unsplash.com" target="_blank" rel="noopener">Unsplash</a> — Libre de droits</p>

  <div class="hero-cut">
    <svg viewBox="0 0 1440 70" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg">
      <polygon points="0,70 1440,0 1440,70" fill="#234a64"/>
    </svg>
  </div>
</section>

<div class="stats">
  <div class="stats-inner">
    <div class="sbox">
      <span class="sbox-n" data-target="700">0<span class="suf">+</span></span>
      <span class="sbox-l">Sociétés créées</span>
    </div>
    <div class="sbox">
      <span class="sbox-n" data-target="20">0<span class="suf"> ans</span></span>
      <span class="sbox-l">Au Luxembourg</span>
    </div>
    <div class="sbox">
      <span class="sbox-n" data-target="2000">0<span class="suf">+</span></span>
      <span class="sbox-l">Abonnés actifs</span>
    </div>
  </div>
</div>

<section class="pillars">
  <div class="sec-inner">
    <div class="sec-sup reveal">Ce que vous recevez</div>
    <h2 class="sec-h reveal">Les <span>3 piliers</span><br/>d'une implantation réussie</h2>
    <p class="sec-sub reveal">Chaque semaine, des insights actionnables sur les sujets qui définissent le succès au Luxembourg.</p>
    <div class="plist">
      <div class="pcard">
        <div class="pcard-icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:var(--navy)">
            <rect x="2" y="3" width="20" height="14" rx="2"/><polyline points="8 21 12 17 16 21"/><line x1="12" y1="17" x2="12" y2="3"/>
          </svg>
        </div>
        <div>
          <div class="pcard-title">Fiscalité &amp; Structuration</div>
          <div class="pcard-desc">Ce que personne ne vous dit sur le Luxembourg — holding, IP box, conventions fiscales, structuration internationale.</div>
          <span class="pcard-tag">Hebdomadaire</span>
        </div>
      </div>
      <div class="pcard">
        <div class="pcard-icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:var(--navy)">
            <line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/>
          </svg>
        </div>
        <div>
          <div class="pcard-title">Cas Pratiques</div>
          <div class="pcard-desc">Des implantations réelles, des chiffres concrets. Ce qui marche sur le terrain, documenté par 20 ans de dossiers réels.</div>
          <span class="pcard-tag">Chiffres terrain</span>
        </div>
      </div>
      <div class="pcard">
        <div class="pcard-icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:var(--navy)">
            <path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/>
          </svg>
        </div>
        <div>
          <div class="pcard-title">Alertes Réglementaires</div>
          <div class="pcard-desc">Anticipez les changements qui impactent votre activité avant qu'ils ne deviennent des contraintes pour votre projet.</div>
          <span class="pcard-tag">Avant-première</span>
        </div>
      </div>
    </div>
  </div>
</section>

<div class="photo-break">
  <div class="pb-img parallax" id="pb1" style="background-image:url('https://images.unsplash.com/photo-1560969184-10fe8719e047?w=1600&q=80&auto=format&fit=crop&crop=center');"></div>
  <div class="pb-overlay">
    <div class="pb-content">
      <div class="pb-tag">Témoignage</div>
      <p class="pb-quote">
        "Grâce à la newsletter HBC, j'ai anticipé mon passage en holding 6 mois avant mes concurrents."
      </p>
      <div class="pb-author"><strong>Xavier M.</strong> &nbsp;·&nbsp; Paris, France — Dirigeant PME</div>
    </div>
  </div>
  <p class="pb-credit">Photo : <a href="https://unsplash.com" target="_blank" rel="noopener">Unsplash</a></p>
</div>

<section class="form-wrap" id="inscription">
  <div class="fcard">
    <div class="fcard-sup">Accès gratuit &nbsp;·&nbsp; Sans engagement</div>
    <h2 class="fcard-h">Rejoindre les 2 000+ abonnés</h2>
    <p class="fcard-sub">Inscription en 30 secondes &nbsp;·&nbsp; Désinscription en 1 clic</p>
    <div class="sp-row">
      <div class="sp-avs">
        <div class="sp-a sa1">XM</div>
        <div class="sp-a sa2">IV</div>
        <div class="sp-a sa3">PL</div>
        <div class="sp-a sa4">+</div>
      </div>
      <span class="sp-txt"><strong>2 000+ entrepreneurs</strong> déjà abonnés</span>
    </div>
    <div id="form-wrap">
      <form class="fields" id="nlform" novalidate>
        <div class="f">
          <label for="prenom">Prénom</label>
          <input type="text" id="prenom" name="prenom" placeholder="Votre prénom" autocomplete="given-name" required/>
        </div>
        <div class="f">
          <label for="email">Adresse email</label>
          <input type="email" id="email" name="email" placeholder="votre@email.com" autocomplete="email" required/>
        </div>
        <button type="submit" class="cta-btn" id="sbtn">
          Rejoindre les 2 000+ abonnés <span class="arr">&#8594;</span>
        </button>
      </form>
      <div class="rgpd">
        <p>
          Vos données sont traitées par HBC Group S.A. conformément au RGPD (UE 2016/679) et à la loi luxembourgeoise du 1er août 2018.
          Désinscription à tout moment via le lien en bas de chaque email. Aucune cession à des tiers. Double opt-in activé.
          &nbsp;<a href="https://hbcgroup.lu/politique-de-confidentialite/" target="_blank">Politique de confidentialité</a>
          &nbsp;·&nbsp;
          <a href="https://hbcgroup.lu/mentions-legales/" target="_blank">Mentions légales</a>
        </p>
      </div>
    </div>
    <div id="success">
      <div class="ok-icon">
        <svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
          <polyline points="20 6 9 17 4 12"/>
        </svg>
      </div>
      <h3>Bienvenue dans la communauté !</h3>
      <p>Vérifiez votre boîte mail pour confirmer votre inscription.<br/>Votre premier insight arrive très bientôt.</p>
    </div>
  </div>
</section>

<section class="testi">
  <div class="sec-inner">
    <div class="sec-sup reveal">Ils nous font confiance</div>
    <h2 class="sec-h reveal">Ce qu'ils en disent</h2>
    <div class="tcards">
      <div class="tc">
        <div class="tc-quote">&ldquo;</div>
        <div class="tc-stars">&#9733;&#9733;&#9733;&#9733;&#9733;</div>
        <p class="tc-text">Grâce à la newsletter HBC, j'ai anticipé mon passage en holding 6 mois avant mes concurrents.</p>
        <div class="tc-author">
          <div class="tc-av av-b">XM</div>
          <div><div class="tc-name">Xavier M.</div><div class="tc-loc">Paris, France &nbsp;·&nbsp; Dirigeant PME</div></div>
        </div>
      </div>
      <div class="tc">
        <div class="tc-quote">&ldquo;</div>
        <div class="tc-stars">&#9733;&#9733;&#9733;&#9733;&#9733;</div>
        <p class="tc-text">Indispensable avant de se lancer. Des vraies infos terrain, pas du jargon.</p>
        <div class="tc-author">
          <div class="tc-av av-g">IV</div>
          <div><div class="tc-name">Isabelle V.</div><div class="tc-loc">Bruxelles, Belgique &nbsp;·&nbsp; Entrepreneur</div></div>
        </div>
      </div>
    </div>
  </div>
</section>

<div class="grand-photo">
  <div class="gp-img" style="background-image:url('https://images.unsplash.com/photo-1599946347371-68eb71b16afc?w=1600&q=80&auto=format&fit=crop&crop=center');"></div>
  <div class="gp-overlay">
    <div class="gp-label">Grand-Duché de Luxembourg &nbsp;·&nbsp; <span>Ville Haute</span></div>
  </div>
  <p class="gp-credit"><a href="https://unsplash.com" target="_blank" rel="noopener">Unsplash</a></p>
</div>

<section class="bcta">
  <div class="bcta-in reveal">
    <h2 class="bcta-h">Préparez votre implantation<br/><span>dès aujourd'hui</span></h2>
    <p class="bcta-p">Rejoignez 2 000+ entrepreneurs qui reçoivent chaque semaine les meilleures analyses sur le Luxembourg.</p>
    <a href="#inscription" class="bcta-btn">
      Accéder à la newsletter gratuite <span class="arr">&#8594;</span>
    </a>
    <div class="trust-row">
      <span class="trust-item">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="20 6 9 17 4 12"/></svg>
        Gratuit, sans engagement
      </span>
      <span class="trust-item">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="20 6 9 17 4 12"/></svg>
        RGPD conforme
      </span>
      <span class="trust-item">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="20 6 9 17 4 12"/></svg>
        Double opt-in
      </span>
      <span class="trust-item">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="20 6 9 17 4 12"/></svg>
        Désinscription en 1 clic
      </span>
    </div>
  </div>
</section>

<footer>
  <img class="f-logo-img"
    src="https://hbcgroup.lu/wp-content/themes/timber-zero/public/img/brand-white.svg"
    alt="HBC Group"
    onerror="this.style.display='none';document.getElementById('f-fb').style.display='block';"
  />
  <span id="f-fb" class="f-logo-fb">HBC GROUP</span>
  <div class="f-nav">
    <a href="https://hbcgroup.lu/mentions-legales/" target="_blank">Mentions légales</a>
    <a href="https://hbcgroup.lu/politique-de-confidentialite/" target="_blank">Politique de confidentialité</a>
    <a href="https://hbcgroup.lu/contact/" target="_blank">Contact</a>
  </div>
  <hr class="f-sep"/>
  <p class="f-legal">
    HBC Group S.A. &nbsp;—&nbsp; Luxembourg<br/>
    RC Luxembourg : B 130 371 &nbsp;|&nbsp; Autorisation d'établissement : 00138749 / 6<br/>
    &copy; 2025 HBC Group S.A. Tous droits réservés.
  </p>
</footer>

<div class="sticky" id="sticky">
  <div class="sticky-txt">
    <strong>Newsletter HBC Group</strong>
    <span>Insights exclusifs &nbsp;·&nbsp; 100% gratuit</span>
  </div>
  <button class="sticky-b" id="sticky-btn">S'inscrire &nbsp;&#8594;</button>
</div>


<script>
/* ── LOADER ── */
window.addEventListener('load', () => {
  setTimeout(() => document.getElementById('loader').classList.add('out'), 1300);
});

/* ── HERO PHOTO — sélection aléatoire parmi photos Luxembourg Unsplash libres ── */
const heroPhotos = [
  'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1600&q=80&auto=format&fit=crop',  // Quartier d'affaires moderne
  'https://images.unsplash.com/photo-1560969184-10fe8719e047?w=1600&q=80&auto=format&fit=crop',   // Luxembourg city view
  'https://images.unsplash.com/photo-1599946347371-68eb71b16afc?w=1600&q=80&auto=format&fit=crop', // Luxembourg panorama
];
const heroEl = document.getElementById('hero-photo');
heroEl.style.backgroundImage = `url('${heroPhotos[0]}')`;

/* ── TOPBAR + STICKY ── */
const topbarEl = document.getElementById('topbar');
const stickyEl = document.getElementById('sticky');
const formEl   = document.getElementById('inscription');

window.addEventListener('scroll', () => {
  const y = window.scrollY;
  topbarEl.classList.toggle('scrolled', y > 60);
  const fr = formEl.getBoundingClientRect();
  stickyEl.classList.toggle('up', y > 400 && !(fr.top < window.innerHeight * 0.9 && fr.bottom > 0));

  /* Parallax photo breaks */
  document.querySelectorAll('.parallax').forEach(el => {
    const rect = el.parentElement.getBoundingClientRect();
    const pct  = (rect.top + rect.height / 2) / window.innerHeight;
    const shift = (pct - 0.5) * 40;
    el.style.transform = `translateY(${shift}px) scale(1.12)`;
  });
}, { passive: true });

/* ── SMOOTH SCROLL ── */
const scrollToForm = () => {
  formEl.scrollIntoView({ behavior: 'smooth', block: 'center' });
  setTimeout(() => document.getElementById('prenom').focus(), 700);
};
document.querySelectorAll('a[href="#inscription"]').forEach(a =>
  a.addEventListener('click', e => { e.preventDefault(); scrollToForm(); })
);
document.getElementById('sticky-btn').addEventListener('click', scrollToForm);

/* ── COUNTERS ── */
function countUp(el, target) {
  const suf = el.querySelector('.suf')?.outerHTML || '';
  const dur = 1800, t0 = performance.now();
  const ease = t => 1 - Math.pow(1 - t, 3);
  (function step(now) {
    const p = Math.min((now - t0) / dur, 1);
    const v = Math.round(ease(p) * target);
    el.innerHTML = (v >= 1000 ? v.toLocaleString('fr-FR') : v) + suf;
    if (p < 1) requestAnimationFrame(step);
  })(t0);
}
let counted = false;
new IntersectionObserver(([e]) => {
  if (e.isIntersecting && !counted) {
    counted = true;
    document.querySelectorAll('.sbox-n[data-target]').forEach(el => countUp(el, +el.dataset.target));
  }
}, { threshold: 0.5 }).observe(document.querySelector('.stats'));

/* ── SCROLL REVEAL ── */
const revObs = new IntersectionObserver((entries, obs) => {
  entries.forEach((e, i) => {
    if (e.isIntersecting) {
      setTimeout(() => e.target.classList.add('in'), i * 80);
      obs.unobserve(e.target);
    }
  });
}, { threshold: 0.1 });
document.querySelectorAll('.reveal, .pcard, .tc, .bcta-in').forEach(el => revObs.observe(el));
document.querySelectorAll('.pcard').forEach((c, i) => c.style.transitionDelay = `${i * 0.1}s`);
document.querySelectorAll('.tc').forEach((c, i) => c.style.transitionDelay = `${i * 0.12}s`);

/* ── FORM ── */
document.getElementById('nlform').addEventListener('submit', function(e) {
  e.preventDefault();
  const p = document.getElementById('prenom');
  const em = document.getElementById('email');
  const btn = document.getElementById('sbtn');
  [p, em].forEach(f => f.classList.remove('err'));
  let ok = true;
  if (!p.value.trim()) { p.classList.add('err'); ok = false; }
  if (!em.value.trim() || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(em.value)) { em.classList.add('err'); ok = false; }
  if (!ok) {
    this.animate(
      [{transform:'translateX(-5px)'},{transform:'translateX(5px)'},{transform:'translateX(-3px)'},{transform:'none'}],
      { duration: 360, easing: 'ease' }
    );
    return;
  }
  btn.innerHTML = '<span style="opacity:.75">Inscription en cours…</span>';
  btn.disabled = true;
  /* → Connecter ici à l'API Zoho CRM */
  setTimeout(() => {
    document.getElementById('form-wrap').style.display = 'none';
    document.getElementById('success').style.display = 'block';
    stickyEl.classList.remove('up');
  }, 1300);
});
</script>
</body>
</html>