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

 body {
     height: 100vh;
     background-image: url('https://images.unsplash.com/photo-1615397340784-50b70b7424c5?auto=format&fit=crop&w=1740&q=80');
     /* ← à changer si besoin */
     background-size: cover;
     background-position: center;
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     color: white;
     position: relative;
     overflow: hidden;

 }

 .lead p {
     color: white !important;
 }

 .overlay {
     background-color: rgba(0, 0, 0, 0.6);
     height: 100%;
     width: 100%;
     position: absolute;
     top: 0;
     left: 0;
     z-index: 0;
 }

 .header {
     position: relative;
     z-index: 1;
     text-align: center;
     padding: 40px 20px 0;
 }

 .header h1 {
     font-size: 3rem;
     font-weight: bold;
     letter-spacing: 2px;
 }

 .marquee-wrapper {
     position: absolute;
     bottom: 140px;
     width: 100%;
     overflow: hidden;
     z-index: 1;
 }

 .marquee {
     display: flex;
     animation: scroll 30s linear infinite;
     gap: 40px;
     padding: 10px 0;
 }

 @keyframes scroll {
     0% {
         transform: translateX(100%);
     }

     100% {
         transform: translateX(-100%);
     }
 }

 .flag {
     display: flex;
     align-items: center;
     gap: 10px;
     white-space: nowrap;
 }

 .flag img {
     width: 32px;
     height: 20px;
     border-radius: 2px;
     object-fit: cover;
     box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
 }

 .footer-icons {
     position: absolute;
     bottom: 20px;
     left: 50%;
     transform: translateX(-50%);
     z-index: 1;
     display: flex;
     gap: 25px;
 }

 .footer-icons {
     position: absolute;
     bottom: 50px;
     left: 50%;
     transform: translateX(-50%);
     z-index: 1;
     display: flex;
     gap: 20px;
 }

 .social-icon {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     backdrop-filter: blur(10px);
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.4s ease;
     cursor: pointer;
     box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
 }

 .social-icon:hover {
     transform: scale(1.15);
     background: rgba(255, 255, 255, 0.2);
     box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
 }

 .social-icon svg {
     width: 24px;
     height: 24px;
     fill: white;
 }

 .cta-wrapper {
     display: flex;
     justify-content: center;
     align-items: stretch;
     gap: 1rem;
     /* espace entre les 2 boutons */
     flex-wrap: wrap;
     /* pour que ça passe bien sur mobile */
     margin-top: 1.5rem;
 }

 .cta-download {
     display: flex;
     /* les <a> sont flex */
     align-items: center;
     justify-content: center;
     gap: .6rem;
     flex: 1;
     /* prennent la même largeur */
     min-width: 220px;
     /* taille mini pour mobile */
     font-size: 0.9rem;
     /* texte un peu plus petit */
     padding: 0.8rem 1rem;
 }

 .cta-text {
     font-size: 0.85rem;
     /* encore plus petit dans le texte */
     line-height: 1.3;
 }

 @media (max-width: 768px) {
     .cta-wrapper {
         flex-direction: column;
         /* sur mobile ça s’empile */
     }
 }


 :root {
     --radius: 16px;
     --pad: 0.95rem 1.15rem;
 }

 .cta-download {
     --bg1: 255 255 255 / 0.08;
     --bg2: 255 255 255 / 0.16;
     --border: 255 255 255 / 0.18;
     --text: 255 255 255;
     --grad1: 99 102 241;
     /* indigo */
     --grad2: 168 85 247;
     /* violet */
     --grad3: 34 197 94;
     /* emerald */

     position: relative;
     display: inline-flex;
     align-items: center;
     gap: .85rem;
     padding: var(--pad);
     border-radius: var(--radius);
     color: rgb(var(--text));
     text-decoration: none;
     font: 600 15px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
     background:
         linear-gradient(135deg, rgba(var(--grad1), .28), rgba(var(--grad2), .28)) border-box,
         linear-gradient(180deg, rgba(var(--bg2)) 0%, rgba(var(--bg1)) 100%) padding-box;
     border: 1px solid rgba(var(--border));
     backdrop-filter: blur(8px) saturate(120%);
     -webkit-backdrop-filter: blur(8px) saturate(120%);
     box-shadow:
         0 8px 24px rgba(0, 0, 0, .28),
         inset 0 0 0 1px rgba(255, 255, 255, .06);
     transition: transform .2s ease, box-shadow .2s ease, background .25s ease;
     isolation: isolate;
 }

 .cta-download:hover {
     transform: translateY(-1.5px);
     box-shadow:
         0 14px 36px rgba(0, 0, 0, .35),
         inset 0 0 0 1px rgba(255, 255, 255, .08);
 }

 .cta-download:active {
     transform: translateY(0);
 }

 .cta-content {
     display: inline-flex;
     align-items: center;
     gap: .8rem;
     z-index: 1;
 }

 .cta-download .icon {
     width: 22px;
     height: 22px;
     flex: 0 0 22px;
     opacity: .95;
 }

 .cta-text {
     display: inline-block;
     letter-spacing: .2px;
 }

 /* Halo / glow animé */
 .cta-glow {
     content: "";
     position: absolute;
     inset: -2px;
     border-radius: calc(var(--radius) + 2px);
     background: radial-gradient(120px 80px at 10% 10%, rgba(var(--grad1), .55), transparent 40%),
         radial-gradient(160px 90px at 85% 30%, rgba(var(--grad2), .5), transparent 45%),
         radial-gradient(180px 100px at 50% 120%, rgba(var(--grad3), .45), transparent 50%);
     filter: blur(18px) saturate(140%);
     opacity: .55;
     transition: opacity .25s ease, transform .25s ease;
     z-index: 0;
     pointer-events: none;
 }

 .cta-download:hover .cta-glow {
     opacity: .8;
     transform: scale(1.01);
 }

 /* Mode clair auto */
 @media (prefers-color-scheme: light) {
     .cta-download {
         --text: 17 24 39;
         --bg1: 255 255 255 / .9;
         --bg2: 255 255 255 / 1;
         --border: 17 24 39 / .08;
         color: rgb(var(--text));
         box-shadow: 0 10px 24px rgba(17, 24, 39, .12), inset 0 0 0 1px rgba(17, 24, 39, .04);
     }
 }

 /* Accessibilité focus */
 .cta-download:focus {
     outline: none;
 }

 .cta-download:focus-visible {
     box-shadow:
         0 0 0 4px rgba(99, 102, 241, .25),
         0 12px 28px rgba(0, 0, 0, .25);
 }

 /* Réduction des animations si demandé */
 @media (prefers-reduced-motion: reduce) {

     .cta-download,
     .cta-glow {
         transition: none !important;
     }
 }

 #pdf-container {
     width: 100%;
     max-width: 100%;
 }

 #pdf-container canvas {
     width: 100% !important;
     /* le canvas s’adapte à la largeur du conteneur */
     height: auto !important;
     /* conserve les proportions */
     display: block;
     margin-bottom: 20px;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
 }