/* HD Motorsport — style.css — CSS externalisé pour SEO (ratio texte/HTML) */
/* Les variables :root sont définies inline dans site.php via PHP */

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:'Barlow',sans-serif;line-height:1.7;overflow-x:hidden}
*{cursor:default}
a,button{cursor:pointer}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--red)}

/* ── SKIP TO CONTENT ── */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--red);color:var(--white);padding:12px 24px;z-index:10000;font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;letter-spacing:1px;text-decoration:none;transition:top 0.2s}
.skip-link:focus{top:0}

/* ── NAV ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background 0.3s,border 0.3s}
#nav.scrolled{background:rgba(8,8,8,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 40px;height:70px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:16px;text-decoration:none}
.nav-logo-img{height:55px;width:auto;object-fit:contain;transition:transform 0.3s}
.nav-logo-img:hover{transform:scale(1.05)}
.nav-links{display:flex;align-items:center;gap:0}
.nav-link{font-family:'Barlow',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--grey);text-decoration:none;padding:0 20px;height:70px;display:flex;align-items:center;transition:color 0.2s}
.nav-link:hover{color:var(--white)}
.nav-link.active{color:var(--red)}
.nav-cta{background:var(--red);color:var(--white)!important;padding:0 24px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;height:36px;display:flex;align-items:center;margin-left:20px;text-decoration:none;transition:background 0.2s}
.nav-cta:hover{background:var(--red-dark);color:var(--white)!important}
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,0.15);cursor:pointer;gap:5px;padding:10px;flex-shrink:0}
.nav-burger span{display:block;width:22px;height:2px;background:var(--white);transition:all 0.3s;transform-origin:center}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── HERO ── */
#hero{position:relative;height:100vh;min-height:650px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.1s linear}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,8,8,0.92) 0%,rgba(8,8,8,0.7) 50%,rgba(8,8,8,0.3) 100%)}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 40px;width:100%}
.hero-imsa{display:inline-flex;align-items:center;gap:10px;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.4);padding:8px 16px;margin-bottom:30px;animation:fadeInUp 0.8s ease both}
.hero-imsa-icon{width:10px;height:10px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.8)}}
.hero-imsa-text{font-family:'Barlow',sans-serif;font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase}
.hero-eyebrow{font-family:'Barlow',sans-serif;font-size:11px;color:rgba(240,240,240,0.5);letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;animation:fadeInUp 0.8s 0.1s ease both}
.hero-h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(42px,7vw,90px);line-height:0.88;letter-spacing:2px;margin-bottom:20px;animation:fadeInUp 0.8s 0.2s ease both}
.hero-h1 em{color:var(--red);font-style:normal;display:block}
.hero-sub{font-family:'Barlow',sans-serif;font-size:20px;font-weight:300;color:rgba(240,240,240,0.7);letter-spacing:2px;max-width:600px;line-height:1.5;margin-bottom:40px;animation:fadeInUp 0.8s 0.3s ease both}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;animation:fadeInUp 0.8s 0.4s ease both}
.btn-primary{background:var(--red);color:var(--white);font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:16px 32px;text-decoration:none;transition:background 0.2s,transform 0.2s;display:inline-block}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-2px)}
.btn-secondary{color:var(--white);font-family:'Barlow',sans-serif;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.3);transition:border-color 0.2s;display:inline-block}
.btn-secondary:hover{border-color:var(--white)}
.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeInUp 0.8s 0.6s ease both}
.hero-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--red));animation:scrollLine 2s infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero-scroll-text{font-family:'Barlow',sans-serif;font-size:9px;color:var(--grey);letter-spacing:3px}
.hero-stats{position:absolute;bottom:0;left:0;right:0;background:rgba(8,8,8,0.85);backdrop-filter:blur(10px);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);height:80px;animation:fadeInUp 0.8s 0.5s ease both}
.hero-stat{display:flex;align-items:center;gap:16px;padding:0 30px;border-right:1px solid var(--border)}
.hero-stat:last-child{border-right:none}
.hero-stat-val{font-family:'Bebas Neue',sans-serif;font-size:28px;line-height:1;color:var(--red);flex-shrink:0}
.hero-stat-label{font-family:'Barlow',sans-serif;font-size:9px;color:var(--grey);letter-spacing:1.5px;text-transform:uppercase;line-height:1.5}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ── MARQUEE ── */
.marquee-strip{background:var(--red);padding:12px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.1)}
.marquee-inner{display:flex;gap:40px;animation:marquee 30s linear infinite;white-space:nowrap}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-inner span{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;color:var(--white);opacity:0.9}
.marquee-inner .dot{color:rgba(255,255,255,0.4);font-size:8px}

/* ── SECTIONS ── */
.section{padding:100px 0}
.container{max-width:1200px;margin:0 auto;padding:0 40px}
.section-tag{font-family:'Barlow',sans-serif;font-size:10px;color:var(--red);letter-spacing:3px;text-transform:uppercase;margin-bottom:14px}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(42px,6vw,72px);line-height:0.9;letter-spacing:2px;margin-bottom:20px}
.section-title em{color:var(--red);font-style:normal}
.section-desc{font-size:16px;color:rgba(240,240,240,0.65);max-width:600px;line-height:1.8}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}
.reveal-delay-4{transition-delay:0.4s}

/* ── À PROPOS ── */
#apropos{background:var(--carbon)}
.apropos-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.apropos-image{position:relative}
.apropos-img-main{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.apropos-badge{position:absolute;bottom:-20px;right:-20px;background:var(--red);padding:24px;text-align:center}
.apropos-badge-num{font-family:'Bebas Neue',sans-serif;font-size:36px;line-height:1;color:var(--white)}
.apropos-badge-text{font-family:'Barlow',sans-serif;font-size:8px;color:rgba(255,255,255,0.8);letter-spacing:1.5px;text-transform:uppercase;line-height:1.6}
.imsa-card{background:var(--black);border-left:3px solid var(--gold);padding:24px;margin:28px 0}
.imsa-card-label{font-family:'Barlow',sans-serif;font-size:9px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.imsa-card-text{font-size:15px;font-weight:600;color:var(--white);line-height:1.5}
.imsa-card-sub{font-size:13px;color:var(--grey);margin-top:6px}
.apropos-prose{font-size:15px;line-height:1.85;color:rgba(240,240,240,0.78);margin-bottom:20px}
.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:30px}
.skill-item{background:var(--black);padding:16px 20px;border-left:2px solid var(--border);transition:border-left-color 0.3s}
.skill-item:hover{border-left-color:var(--red)}
.skill-name{font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1px}
.skill-detail{font-size:12px;color:var(--grey);margin-top:3px}

/* ── PRESTATIONS ── */
#prestations{background:var(--black)}
.prest-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}
.prest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.prest-card{background:var(--carbon);padding:36px;position:relative;overflow:hidden;transition:transform 0.3s}
.prest-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--border);transition:background 0.3s}
.prest-card:hover{transform:translateY(-4px)}
.prest-card:hover::before{background:var(--red)}
.prest-card.featured::before{background:var(--red)}
.prest-card.featured{background:#100010}
.prest-icon{font-size:32px;margin-bottom:20px;display:block}
.prest-name{font-family:'Barlow',sans-serif;font-size:22px;font-weight:800;color:var(--white);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.prest-desc{font-size:13.5px;color:rgba(240,240,240,0.65);line-height:1.7;margin-bottom:20px}
.prest-list{list-style:none}
.prest-list li{font-size:13px;color:rgba(240,240,240,0.6);padding:5px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.prest-list li:last-child{border-bottom:none}
.prest-list li::before{content:'';width:4px;height:4px;background:var(--red);border-radius:50%;flex-shrink:0}
.prest-featured-badge{position:absolute;top:20px;right:20px;background:var(--red);font-family:'Barlow',sans-serif;font-size:8px;letter-spacing:2px;color:var(--white);padding:4px 8px}

/* ── RÉALISATIONS ── */
#realisations{background:var(--carbon)}
.real-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:70px}
.real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.real-card{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer}
.real-card img,.real-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s}
.real-card:hover .real-card-img{transform:scale(1.04)}
.real-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,0.95) 0%,transparent 60%);opacity:0.4;transition:opacity 0.3s}
.real-card:hover .real-card-overlay{opacity:1}
.real-card-info{position:absolute;bottom:0;left:0;right:0;padding:24px;transform:translateY(4px);transition:transform 0.3s}
.real-card:hover .real-card-info{transform:translateY(0)}
.real-card-tag{opacity:0;font-family:'Barlow',sans-serif;font-size:9px;color:var(--red);letter-spacing:2px;margin-bottom:6px}
.real-card-title{font-family:'Barlow',sans-serif;font-size:18px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1px}
.real-card-more{font-family:'Barlow',sans-serif;font-size:9px;color:rgba(255,255,255,0.5);letter-spacing:1.5px;margin-top:6px;opacity:0;transition:opacity 0.3s}
.real-card:hover .real-card-more{opacity:1}
.real-placeholder-label{position:absolute;top:12px;right:12px;background:rgba(0,87,184,0.15);border:1px solid rgba(0,87,184,0.3);font-family:'Barlow',sans-serif;font-size:8px;color:rgba(0,87,184,0.8);letter-spacing:1.5px;padding:3px 8px}

/* ── PROCESS ── */
#process{background:var(--black)}
.process-layout{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}
.process-steps{display:flex;flex-direction:column;gap:2px}
.process-step{background:var(--carbon);padding:28px;border-left:3px solid var(--border);transition:border-color 0.3s,background 0.3s}
.process-step:hover{border-left-color:var(--red);background:#100a0a}
.process-step-num{font-family:'Bebas Neue',sans-serif;font-size:42px;line-height:1;color:#fee906;margin-bottom:8px}
.process-step-title{font-family:'Barlow',sans-serif;font-size:17px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.process-step-desc{font-size:13.5px;color:rgba(240,240,240,0.65);line-height:1.7}
.process-visual{position:relative}
.process-visual img{width:100%;height:auto;display:block}
.process-engagement{background:var(--black);border-left:4px solid var(--gold);padding:32px;margin-top:40px}
.process-engagement-label{font-family:'Barlow',sans-serif;font-size:9px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
.process-engagement-text{font-size:14px;color:rgba(240,240,240,0.8);line-height:1.8;font-weight:500}

/* ── AVIS GOOGLE ── */
#avis{background:var(--carbon);padding:60px 0}
.avis-band{display:flex;align-items:center;gap:40px;background:var(--black);border:1px solid var(--border);border-left:4px solid #fbbc04;padding:36px 48px;flex-wrap:wrap}
.avis-band-rating{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.avis-score{font-family:'Bebas Neue',sans-serif;font-size:64px;line-height:1;color:var(--white)}
.avis-stars-row{color:#fbbc04;font-size:22px;letter-spacing:3px;margin-top:2px}
.avis-count-txt{font-family:'Barlow',sans-serif;font-size:9px;color:var(--grey);letter-spacing:1.5px;margin-top:6px}
.avis-band-divider{width:1px;height:90px;background:var(--border);flex-shrink:0}
.avis-band-info{flex:1;min-width:200px}
.avis-band-name{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--white);letter-spacing:2px;line-height:1}
.avis-band-sub{font-family:'Barlow',sans-serif;font-size:10px;color:var(--grey);letter-spacing:1.5px;margin-top:8px}
.avis-band-note{font-size:13px;color:rgba(240,240,240,0.6);margin-top:12px;line-height:1.6;max-width:380px}
.avis-cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--white);color:#202020;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:14px 28px;text-decoration:none;flex-shrink:0;margin-left:auto;transition:opacity .2s}
.avis-cta-btn:hover{opacity:.88}

/* ── TÉMOIGNAGES ── */
#temoignages{background:var(--black);padding:80px 0}
.temo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:50px}
.temo-card{background:var(--carbon);padding:32px;border-left:3px solid var(--border);transition:border-color 0.3s}
.temo-card:hover{border-left-color:var(--gold)}
.temo-stars{color:#fbbc04;font-size:14px;letter-spacing:3px;margin-bottom:16px}
.temo-text{font-size:14px;color:rgba(240,240,240,0.78);line-height:1.8;font-style:italic;margin-bottom:20px;position:relative;padding-left:18px}
.temo-text::before{content:'\201C';position:absolute;left:0;top:-4px;color:var(--gold);font-size:28px;font-style:normal;line-height:1}
.temo-name{font-family:'Barlow',sans-serif;font-size:15px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1px}
.temo-vehicle{font-family:'Barlow',sans-serif;font-size:10px;color:var(--grey);letter-spacing:1.5px;margin-top:4px}
.temo-type{display:inline-block;margin-top:8px;font-family:'Barlow',sans-serif;font-size:9px;color:var(--red);letter-spacing:1.5px;border:1px solid rgba(0,87,184,0.3);padding:2px 8px}

/* ── FAQ ── */
#faq{background:var(--carbon)}
.faq-grid{margin-top:50px;display:flex;flex-direction:column;gap:2px}
.faq-item{background:var(--black);border-left:3px solid var(--border);transition:border-color 0.3s}
.faq-item:hover{border-left-color:var(--red)}
.faq-question{width:100%;background:none;border:none;color:var(--white);font-family:'Barlow',sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:24px 28px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-question::after{content:'+';font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--red);transition:transform 0.3s;flex-shrink:0}
.faq-item.open .faq-question::after{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s ease}
.faq-item.open .faq-answer{max-height:300px}
.faq-answer-inner{padding:0 28px 24px;font-size:14px;color:rgba(240,240,240,0.75);line-height:1.8}

/* ── CONTACT ── */
#contact{background:var(--carbon)}
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.info-block{margin-bottom:30px}
.info-label{font-family:'Barlow',sans-serif;font-size:9px;color:var(--red);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.info-val{font-size:14px;color:rgba(240,240,240,0.9);line-height:2;font-weight:500}
.info-val a{color:var(--red);text-decoration:none;transition:color 0.2s}
.info-val a:hover{color:var(--white)}
.social-links{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.social-link{font-size:13px;color:var(--white);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.2);padding-bottom:8px;display:block;transition:border-color 0.2s}
.social-link:hover{border-color:var(--red)}
.map-embed{padding:0}
.contact-form{padding:0}
.form-group{margin-bottom:24px}
.form-label{display:block;font-family:'Barlow',sans-serif;font-size:9px;color:var(--red);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.form-input{width:100%;background:var(--black);border:1px solid var(--border);color:var(--white);padding:12px;font-family:inherit;font-size:14px;transition:border-color 0.2s}
.form-input:focus{outline:none;border-color:var(--red)}
.form-input::placeholder{color:var(--grey)}
textarea.form-input{resize:vertical;min-height:120px}
.form-submit{background:var(--red);color:var(--white);font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:14px 28px;border:none;cursor:pointer;transition:background 0.2s;width:100%;margin-top:12px}
.form-submit:hover{background:var(--red-dark)}
.form-note{font-size:11px;color:var(--grey);margin-top:12px;font-family:'Barlow',sans-serif;letter-spacing:0.5px}

/* ── FOOTER ── */
footer{background:var(--black);border-top:1px solid var(--border);padding:60px 0 20px}
.footer-logo-img{height:65px;width:auto;object-fit:contain;margin-bottom:16px;display:block}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding-bottom:40px;border-bottom:1px solid var(--border)}
.footer-tagline{font-size:13px;color:rgba(240,240,240,0.6);line-height:1.8;max-width:300px}
.footer-title{font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-links a{font-size:13px;color:rgba(240,240,240,0.7);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--red)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;font-family:'Barlow',sans-serif;font-size:10px;color:var(--grey);letter-spacing:1px;flex-wrap:wrap;gap:8px}
.footer-copy{flex:1}
.footer-imsa{color:var(--gold)}
.footer-ml-link{color:var(--grey);text-decoration:none;transition:color 0.2s}
.footer-ml-link:hover{color:var(--white)}

/* ── PORTFOLIO MODAL ── */
.pf-modal{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,0.9);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}
.pf-modal.open{display:flex}
.pf-modal-inner{background:var(--carbon);max-width:800px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
.pf-modal-close{position:absolute;top:16px;right:16px;background:transparent;border:1px solid rgba(255,255,255,0.2);color:var(--white);width:36px;height:36px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;z-index:1;transition:background 0.2s;line-height:1}
.pf-modal-close:hover{background:rgba(255,255,255,0.1)}
.pf-modal-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.pf-modal-nophoto{width:100%;aspect-ratio:16/9;background:var(--black);display:flex;align-items:center;justify-content:center;color:var(--grey);font-family:'Barlow',sans-serif;font-size:12px}
.pf-modal-body{padding:32px}
.pf-modal-tag{font-family:'Barlow',sans-serif;font-size:10px;color:var(--red);letter-spacing:2px;margin-bottom:10px}
.pf-modal-title{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--white);margin-bottom:16px;letter-spacing:2px;line-height:1}
.pf-modal-desc{font-size:15px;color:rgba(240,240,240,0.75);line-height:1.8}

/* ── MENTIONS LÉGALES MODAL ── */
.ml-modal{display:none;position:fixed;inset:0;z-index:9100;background:rgba(0,0,0,0.9);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}
.ml-modal.open{display:flex}
.ml-modal-inner{background:var(--carbon);max-width:700px;width:100%;max-height:85vh;overflow-y:auto;padding:40px;position:relative}
.ml-modal-close{position:absolute;top:16px;right:16px;background:transparent;border:1px solid rgba(255,255,255,0.2);color:var(--white);width:36px;height:36px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background 0.2s;line-height:1}
.ml-modal-close:hover{background:rgba(255,255,255,0.1)}
.ml-modal-title{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:var(--white);margin-bottom:24px;padding-right:44px}
.ml-modal-content h3{font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--red);margin:20px 0 8px}
.ml-modal-content p{font-size:13px;color:rgba(240,240,240,0.75);line-height:1.8;margin-bottom:8px}
.ml-modal-content strong{color:var(--white)}

/* ── COOKIE BANNER ── */
#cookieBanner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:8000;background:rgba(12,12,12,0.98);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:20px 40px}
#cookieBanner.show{display:block}
.cookie-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cookie-text{flex:1;font-size:13px;color:rgba(240,240,240,0.78);line-height:1.6;min-width:200px}
.cookie-text a{color:var(--red);text-decoration:none}
.cookie-text a:hover{text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-btn-accept{background:var(--red);color:var(--white);font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px 24px;border:none;cursor:pointer;transition:background 0.2s}
.cookie-btn-accept:hover{background:var(--red-dark)}
.cookie-btn-refuse{background:transparent;color:var(--grey);font-family:'Barlow',sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:10px 20px;border:1px solid var(--border);cursor:pointer;transition:color 0.2s,border-color 0.2s}
.cookie-btn-refuse:hover{color:var(--white);border-color:rgba(255,255,255,0.3)}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .nav-inner{padding:0 20px}
  .nav-burger{display:flex}
  .nav-links{display:none;position:fixed;top:70px;left:0;right:0;background:rgba(8,8,8,0.98);backdrop-filter:blur(12px);flex-direction:column;border-top:1px solid var(--border);padding:12px 0;z-index:999}
  .nav-links.open{display:flex}
  .nav-link{height:52px;padding:0 28px;font-size:11px;border-right:none;border-bottom:1px solid var(--border)}
  .nav-cta{margin:12px 28px;height:44px;justify-content:center}
  .container{padding:0 20px}
  .section{padding:60px 0}
  .apropos-layout{grid-template-columns:1fr;gap:40px}
  .apropos-badge{bottom:-10px;right:0}
  .prest-header{flex-direction:column;gap:20px;align-items:flex-start}
  .prest-grid{grid-template-columns:1fr}
  .real-intro{grid-template-columns:1fr;gap:30px;margin-bottom:40px}
  .real-grid{grid-template-columns:1fr 1fr}
  .process-layout{grid-template-columns:1fr;gap:40px}
  .contact-layout{grid-template-columns:1fr;gap:40px}
  .temo-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;gap:8px;align-items:flex-start}
  .hero-stats{grid-template-columns:repeat(2,1fr);height:auto}
  .hero-stat{padding:15px 20px;border-right:none;border-bottom:1px solid var(--border)}
  .hero-stat:last-child{border-bottom:none}
  .hero-actions{gap:12px}
  .avis-band{padding:24px;gap:20px}
  .avis-band-divider{display:none}
  .avis-cta-btn{margin-left:0;width:100%;justify-content:center}
  #cookieBanner{padding:16px 20px}
  .cookie-inner{flex-direction:column;align-items:flex-start}
  .cookie-actions{width:100%}
  .cookie-btn-accept,.cookie-btn-refuse{flex:1;text-align:center}
  .pf-modal-inner{max-height:95vh}
  .faq-question{font-size:15px;padding:20px}
  .faq-answer-inner{padding:0 20px 20px}
}
@media(max-width:480px){
  .real-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
}