:root {
  --yellow: #FFFA73;
  --green: #73FFAF;
  --blue: #96D7FA;
  --bg-dark:  #0A0A0A;
  --bg-dark2: #111111;
  --bg-light: #F2F2EE;
  --bg-light2:#FFFFFF;
  --border-dark: #272727;
  --border-light: #DDDDD8;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Roboto', sans-serif; font-weight: 400; line-height: 1.6; overflow-x: hidden; background: var(--bg-dark); }

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 56px;
  background: rgba(10,10,10,0.96); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-dark);
}
.nav-logo { display: flex; align-items: center; text-decoration: none; }
.nav-cta { background: var(--yellow); color: #000; border: none; padding: 11px 26px; font-family:'Roboto',sans-serif; font-weight:700; font-size:14px; border-radius:4px; cursor:pointer; text-decoration:none; transition:background 0.2s,transform 0.15s; }
.nav-cta:hover { background:#f5f060; transform:translateY(-1px); }

/* ── HERO dark ── */
.hero { min-height:100vh; display:flex; align-items:center; padding:60px 56px 80px; background:var(--bg-dark); position:relative; overflow:hidden; color:#f0f0ea; }
.hero-blob-y { position:absolute; top:-120px; right:-100px; width:600px; height:600px; background:var(--yellow); border-radius:50% 38% 62% 30%/48% 62% 38% 52%; opacity:0.07; z-index:0; }
.hero-blob-g { position:absolute; bottom:-80px; left:50%; width:300px; height:300px; background:var(--green); border-radius:40% 60% 55% 45%; opacity:0.06; z-index:0; }
.hero-inner { position:relative; z-index:1; max-width:1180px; margin:0 auto; width:100%; display:grid; grid-template-columns:1fr 440px; gap:80px; align-items:center; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(255,250,115,0.1); border:1px solid rgba(255,250,115,0.3); color:var(--yellow); font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:6px 14px; border-radius:2px; margin-bottom:28px; animation:fadeUp 0.5s ease both; }
.dot { width:6px; height:6px; background:var(--yellow); border-radius:50%; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1}50%{opacity:0.3} }
h1 { font-weight:700; font-size:clamp(36px,4.5vw,58px); line-height:1.08; letter-spacing:-1.5px; color:#f0f0ea; margin-bottom:24px; animation:fadeUp 0.5s 0.1s ease both; }
h1 em { font-family:'Playfair Display',serif; font-style:italic; font-weight:700; color:var(--yellow); }
.hero-sub { font-size:17px; font-weight:300; color:#ffffff; max-width:500px; margin-bottom:36px; line-height:1.8; animation:fadeUp 0.5s 0.2s ease both; }
.hero-sub strong { font-weight:700; color:#f0f0ea; }
.hero-note { font-size:13px; color:#fff; animation:fadeUp 0.5s 0.3s ease both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)} }

/* hero card */
.hero-card { background:#161616; border:1px solid #2a2a2a; border-radius:12px; padding:36px 32px; box-shadow:0 0 0 1px rgba(255,250,115,0.08),0 32px 64px rgba(0,0,0,0.5); animation:fadeUp 0.6s 0.15s ease both; }
.hero-card-title { font-size:19px; font-weight:700; margin-bottom:6px; color:#f0f0ea; }
.hero-card-title em { font-family:'Playfair Display',serif; font-style:italic; color:var(--yellow); }
.event-selector-label { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#f0f0ea; margin-bottom:10px; display:block; }
.event-types { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.event-type-btn { background:#1c1c1c; border:1.5px solid #2a2a2a; color:#888; padding:8px 14px; border-radius:100px; font-family:'Roboto',sans-serif; font-size:13px; font-weight:500; cursor:pointer; transition:all 0.18s; user-select:none; display:flex; align-items:center; gap:6px; }
.event-type-btn:hover { border-color:#444; color:#f0f0ea; }
.event-type-btn.active { background:rgba(255,250,115,0.12); border-color:rgba(255,250,115,0.5); color:var(--yellow); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-field { margin-bottom:14px; }
.form-field label { display:flex; justify-content:space-between; align-items:center; font-size:11px; font-weight:700; margin-bottom:8px; text-transform:uppercase; letter-spacing:0.08em; color:#f0f0ea; }
.form-field label span { color:var(--yellow); font-size:13px; font-weight:700; letter-spacing:0; }
input[type="range"] { width:100%; -webkit-appearance:none; height:4px; background:#2a2a2a; border-radius:2px; outline:none; cursor:pointer; }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; background:var(--yellow); border-radius:50%; cursor:pointer; box-shadow:0 0 0 3px rgba(255,250,115,0.15); }
.form-field input[type="text"], .form-field input[type="email"], .form-field input[type="tel"], .form-field input[type="date"] { width:100%; background:#1c1c1c; border:1.5px solid #2a2a2a; color:#f0f0ea; padding:11px 14px; border-radius:6px; font-family:'Roboto',sans-serif; font-size:14px; outline:none; transition:border-color 0.2s; }
.form-field input[type="date"] { color-scheme:dark; }
.form-field input::placeholder { color:#3a3a3a; }
.form-field input:focus { border-color:rgba(255,250,115,0.4); }
.form-submit { width:100%; background:var(--yellow); color:#000; border:none; padding:15px; font-family:'Roboto',sans-serif; font-weight:700; font-size:15px; border-radius:6px; cursor:pointer; margin-top:4px; transition:background 0.2s,transform 0.15s,box-shadow 0.2s; }
.form-submit:hover { background:#f5f060; transform:translateY(-1px); box-shadow:0 8px 24px rgba(255,250,115,0.2); }
.form-disclaimer { font-size:11px; color:#c5c5c5; text-align:center; margin-top:10px; }

/* ── LOGOS light ── */
.logos-section { padding:52px 56px; background:var(--bg-light2); border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); }
.logos-label { text-align:center; font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#999; margin-bottom:36px; }
.logos-track-wrapper { overflow:hidden; position:relative; }
.logos-track-wrapper::before,.logos-track-wrapper::after { content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
.logos-track { display:flex; gap:64px; align-items:center; animation:marquee 34s linear infinite; width:max-content; padding:8px 0; }
@keyframes marquee { from{transform:translateX(0)}to{transform:translateX(-50%)} }
.logo-item { display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:opacity 0.25s; }
.logo-item:hover { opacity:0.9; }

/* ── Shared section helpers ── */
section { padding:96px 56px; }
.section-inner { max-width:1180px; margin:0 auto; }

.tag { display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:4px 12px; border-radius:2px; margin-bottom:18px; }
/* dark bg tags */
.tag-y-d { background:rgba(255,250,115,0.1); color:var(--yellow); border:1px solid rgba(255,250,115,0.25); }
.tag-g-d { background:rgba(115,255,175,0.1); color:var(--green);  border:1px solid rgba(115,255,175,0.2);  }
.tag-b-d { background:rgba(150,215,250,0.08);color:var(--blue);  border:1px solid rgba(150,215,250,0.18); }
/* light bg tags */
.tag-y-l { background:rgba(180,140,0,0.1);  color:#9a7800; border:1px solid rgba(180,140,0,0.25); }
.tag-g-l { background:rgba(0,140,70,0.08);  color:#007a38; border:1px solid rgba(0,140,70,0.2);  }
.tag-b-l { background:rgba(0,100,180,0.08); color:#005fa3; border:1px solid rgba(0,100,180,0.18); }
.tag-solid { background:var(--yellow); color:#000; border:1px solid var(--yellow); }

.sec-title { font-weight:700; font-size:clamp(26px,3.2vw,42px); letter-spacing:-0.8px; line-height:1.15; margin-bottom:16px; }
.sec-title em { font-family:'Playfair Display',serif; font-style:italic; }
.on-dark .sec-title { color:#f0f0ea; }
.on-dark .sec-title em { color:var(--yellow); }
.on-light .sec-title { color:#111; }
.on-light .sec-title em { color:#111; font-style:italic; border-bottom:2px solid #111; }
.sec-sub { font-size:16px; font-weight:300; max-width:520px; line-height:1.75; }
.on-dark .sec-sub { color:#999; }
.on-light .sec-sub { color:#555; }

/* ── STATS dark2 ── */
.stats-section .stat-desc { color:#fff; } .stats-section { background:var(--bg-dark2); border-top:1px solid var(--border-dark); border-bottom:1px solid var(--border-dark); }
.stats-header { margin-bottom:52px; }
.stats-args { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #2a2a2a; border-radius:10px; overflow:hidden; max-width:900px; margin:0 auto; }
.stat-arg { padding:36px 28px; border-right:1px solid #2a2a2a; background:#141414; transition:background 0.2s; display:flex; flex-direction:column; gap:12px; }
.stat-arg:last-child { border-right:none; }
.stat-arg:hover { background:#1a2412; }
.stat-num { font-weight:700; font-size:42px; letter-spacing:-2px; line-height:1; color:var(--yellow); }
.stat-num em { font-family:'Playfair Display',serif; font-style:italic; font-size:30px; color:var(--yellow); }
.stat-title { font-size:14px; font-weight:700; color:#f0f0ea; }
.stat-desc  { font-size:13px; color:#777; line-height:1.6; }

/* ── FEATURES light ── */
.features-section { background:var(--bg-light); }
.features-header { margin-bottom:48px; }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feat-card { background:#fff; border:1.5px solid var(--border-light); border-radius:16px; padding:32px 28px; display:flex; flex-direction:column; gap:18px; position:relative; overflow:hidden; transition:transform 0.22s,box-shadow 0.22s,border-color 0.22s; }
.feat-card:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(0,0,0,0.1); border-color:#bbb; }
.feat-icon { width:60px; height:60px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:28px; flex-shrink:0; }
.feat-card.y .feat-icon { background:#FFFAD6; }
.feat-card.g .feat-icon { background:#D8F9E8; }
.feat-card.b .feat-icon { background:#D6EFFA; }
.feat-card h3 { font-size:17px; font-weight:700; color:#111; line-height:1.3; }
.feat-card h3 em { font-family:'Playfair Display',serif; font-style:italic; }
.feat-card.y h3 em { color:#9a7800; }
.feat-card.g h3 em { color:#007a38; }
.feat-card.b h3 em { color:#005fa3; }
.feat-card p { font-size:14px; color:#666; line-height:1.7; }

/* ── HOW dark2 ── */
.how-section { background:var(--bg-dark2); border-top:1px solid var(--border-dark); border-bottom:1px solid var(--border-dark); }
.steps-arrow { display:flex; align-items:stretch; margin-top:52px; }
.step-item { flex:1; background:#1a1a1a; border:1px solid #2a2a2a; padding:32px 20px 32px 30px; clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%); margin-left:-1px; transition:background 0.2s; }
.step-item:first-child { clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%); border-radius:6px 0 0 6px; margin-left:0; }
.step-item:last-child  { clip-path:polygon(0 0,100% 0,100% 100%,0 100%,20px 50%); border-radius:0 6px 6px 0; }
.step-item:hover { background:#1c2815; }
.step-num { width:32px; height:32px; background:var(--yellow); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-weight:700; font-size:14px; color:#000; }
.step-item h4 { font-size:13px; font-weight:700; margin-bottom:6px; color:#f0f0ea; }
.step-item p  { font-size:12px; color:#888; line-height:1.55; }

/* ── EVENTS light ── */
.events-section { background:var(--bg-light); }
.events-grid { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.event-tag { background:#f4f4f0; border:1.5px solid #DDDDD8; color:#333; padding:10px 20px; border-radius:100px; font-size:14px; text-decoration:none; transition:all 0.2s; display:flex; align-items:center; gap:8px; }
.event-tag:hover { background:#0A0A0A; border-color:#0A0A0A; color:#f0f0ea; }

/* ── TESTIMONIALS dark ── */
.testi-section { background:var(--bg-dark); border-top:1px solid var(--border-dark); border-bottom:1px solid var(--border-dark); }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.testi-card { background:#161616; border:1px solid #2a2a2a; border-radius:10px; padding:30px; transition:transform 0.2s,border-color 0.2s; }
.testi-card:hover { transform:translateY(-4px); border-color:#3a3a3a; }
.stars { font-size:14px; letter-spacing:2px; margin-bottom:14px; color:var(--yellow); }
.testi-card blockquote { font-size:14px; font-family:'Playfair Display',serif; font-style:italic; color:#bbb; line-height:1.8; margin-bottom:20px; }
.testi-author { font-size:14px; font-weight:700; color:#f0f0ea; }
.testi-role   { font-size:12px; color:#777; margin-top:2px; }
.testi-badge  { display:inline-block; margin-top:12px; background:rgba(115,255,175,0.08); color:var(--green); border:1px solid rgba(115,255,175,0.2); font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:3px 8px; border-radius:2px; }

/* Avis clients — slider (3 cartes visibles par défaut) */
.testi-slide { flex: 0 0 calc((100% - 40px) / 3); }
@media(max-width:960px){ .testi-slide { flex-basis: calc(100% - 20px); } }

/* ── INTERNATIONAL light ── */
.intl-section { background:var(--bg-light); }
.countries { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.country { background:#fff; border:1.5px solid var(--border-light); color:#333; padding:9px 18px; border-radius:4px; font-size:13px; font-weight:500; display:flex; align-items:center; gap:7px; transition:all 0.2s; }
.country:hover { background:#0A0A0A; border-color:#0A0A0A; color:#f0f0ea; }

/* ── CTA dark2 ── */
.cta-section { background:var(--bg-dark2); text-align:center; border-top:1px solid var(--border-dark); padding:96px 56px; }
.cta-section .sec-title { font-size:clamp(28px,3.8vw,48px); margin-bottom:20px; }
.cta-form { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; max-width:500px; margin:0 auto; }
.cta-form input { flex:1; min-width:210px; background:#1a1a1a; border:1px solid #2a2a2a; color:#f0f0ea; padding:14px 20px; border-radius:6px; font-family:'Roboto',sans-serif; font-size:15px; outline:none; transition:border-color 0.2s; }
.cta-form input:focus { border-color:rgba(255,250,115,0.4); }
.cta-form input::placeholder { color:#444; }
.btn-cta { background:var(--yellow); color:#000; border:none; padding:14px 28px; font-family:'Roboto',sans-serif; font-weight:700; font-size:15px; border-radius:6px; cursor:pointer; transition:background 0.2s,transform 0.2s; }
.btn-cta:hover { background:#f5f060; transform:translateY(-2px); }
.cta-badges { display:flex; justify-content:center; align-items:center; gap:24px; margin-top:28px; flex-wrap:wrap; }
.badge { display:flex; align-items:center; gap:5px; font-size:13px; color:#888; }
.badge::before { content:'✓'; font-weight:700; color:var(--green); }

/* ── FOOTER ── */
footer { padding:40px 56px; background:#070707; border-top:1px solid #1a1a1a; color:#444; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.footer-logo { display:flex; align-items:center; text-decoration:none; }
footer p { font-size:13px; color:#fff; }
footer a { color:#fff; text-decoration:none; font-size:13px; transition:color 0.2s; }
footer a:hover { color:var(--yellow); }
.footer-links { display:flex; gap:24px; }
.footer-socials { display:flex; align-items:center; gap:10px; }
.footer-socials .social_link { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#fffb71; color:#070707; transition:all 0.2s ease-in-out; }
.footer-socials .social_link:hover { background:#ffffb9; color:#070707; }

/* ── CAROUSEL ── */
.carousel-btn {
  width: 44px; height: 44px; border-radius: 50%;
  background: #1a1a1a; border: 1.5px solid #2a2a2a;
  color: #f0f0ea; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  flex-shrink: 0;
}
.carousel-btn:hover { background: var(--yellow); color: #000; border-color: var(--yellow); transform: scale(1.05); }

@media(max-width:1100px){ .sem-sub-oneline { white-space:normal !important; } }
/* Modale formulaire */
#form-modal .hero-card-title { font-size:24px; }
#form-modal .form-field input, #form-modal select { font-size:15px; padding:13px 16px; }
#form-modal label { font-size:13px; }

#card-form-modal .modal-card-wrap { animation:modalIn 0.25s ease; scrollbar-width:thin; }
@keyframes modalIn { from { opacity:0; transform:translateY(16px) scale(0.98); } to { opacity:1; transform:none; } }
.sem-track .carousel-card { cursor:pointer; }

/* CTA sur fond blanc */
#form-footer { box-shadow:none !important; }
.cta-section .badge { color:#000; }
.cta-section .badge::before { color:#00a050; }
@media(max-width:960px){ #cta-grid { grid-template-columns:1fr !important; gap:40px !important; } }

/* Onglets catégories séminaires */
.sem-tab { background:none; border:none; cursor:pointer; font-family:'Roboto',sans-serif; font-size:16px; font-weight:500; color:#777; padding:0 0 8px; border-bottom:3px solid transparent; transition:color 0.2s, border-color 0.2s; letter-spacing:-0.2px; }
.sem-tab:hover { color:#111; }
.sem-tab.active { color:#111; font-weight:700; border-bottom-color:var(--yellow); }
.sem-panel { display:none; }
.sem-panel.active { display:block; }
.sem-placeholder { position:absolute; inset:0; background:repeating-linear-gradient(45deg,#ECECE6,#ECECE6 14px,#E3E3DC 14px,#E3E3DC 28px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:2px dashed #C9C9C0; border-radius:inherit; }
.sem-placeholder svg { opacity:0.45; }
.sem-placeholder span { font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#9A9A90; }
.carousel-outer {
  overflow: hidden; border-radius: 16px;
  cursor: grab; user-select: none;
}
.carousel-outer:active { cursor: grabbing; }

.carousel-track {
  display: flex; gap: 20px;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.carousel-card {
  flex-shrink: 0;
  width: calc((100% - 40px) / 3);
  border-radius: 14px; overflow: hidden;
}

.carousel-img-wrap {
  position: relative; height: 320px; overflow: hidden;
}
.carousel-img-wrap img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.carousel-card:hover .carousel-img-wrap img { transform: scale(1.06); }

.carousel-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 32px 24px 24px;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%);
  display: flex; flex-direction: column; gap: 4px;
}
.carousel-country-flag { font-size: 28px; line-height: 1; }
.carousel-country-name { font-weight: 700; font-size: 22px; color: #fff; letter-spacing: -0.4px; line-height: 1.1; }
.carousel-country-sub  { font-size: 13px; color: rgba(255,255,255,0.7); font-weight: 400; }

.carousel-dots {
  display: flex; gap: 8px; justify-content: center; margin-top: 24px;
}
.carousel-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #333; cursor: pointer; transition: background 0.2s, transform 0.2s;
  border: none; padding: 0;
}
.carousel-dot.active { background: var(--yellow); transform: scale(1.3); }

.social_link {
  width: 32px;
  height: 32px;
  background: var(--theme-yellow);
  transition: all 0.2s ease-in-out;
}

.social_link:hover {
  background: var(--secondary-yellow);
}

@media(max-width:960px){
  .carousel-card { width: calc(100% - 20px); }
  .carousel-img-wrap { height: 260px; }
}

/* Grille grande entreprise */
.ge-grid { }
@media(max-width:960px){ .ge-grid { grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:560px){ .ge-grid { grid-template-columns:1fr !important; } }

@media(max-width:960px){
  nav{padding:14px 24px;}
  .hero{padding:96px 24px 60px;}
  .hero-inner{grid-template-columns:1fr;gap:48px;}
  section{padding:64px 24px;}
  .logos-section{padding:36px 24px;}
  .stats-args{grid-template-columns:repeat(2,1fr);}
  .stat-arg:nth-child(2){border-right:none;}
  .stat-arg:nth-child(3),.stat-arg:nth-child(4){border-top:1px solid #2a2a2a;}
  .features-grid{grid-template-columns:1fr;}
  .steps-arrow{flex-direction:column;}
  .step-item{clip-path:none!important;margin-left:0;border-radius:0;border-bottom:none;}
  .step-item:first-child{border-radius:6px 6px 0 0;}
  .step-item:last-child{border-bottom:1px solid #2a2a2a;border-radius:0 0 6px 6px;}
  .testi-grid{grid-template-columns:1fr;}
  .cta-section{padding:64px 24px;}
  footer{padding:28px 24px;flex-direction:column;align-items:flex-start;}
}

/* ===== MOBILE ===== */
.br-mobile { display:none; }
@media(max-width:680px){
  .br-mobile { display:inline; }
  /* Ergonomie tactile */
  .form-submit { width:100% !important; padding:15px !important; font-size:16px !important; }
  .nav-cta { padding:13px 22px !important; font-size:14px !important; }
  .sec-head-row .nav-cta { width:100%; text-align:center; justify-content:center; }
  .event-type-btn { padding:10px 14px !important; font-size:14px !important; }
  .ge-card a, .ge-grid + div a { width:auto; }
  .nav-tagline { display:none; }
  nav { padding:12px 18px; }
  .nav-link { font-size:13px; }
  .nav-logo svg { width:92px; height:30px; }

  .hero { padding:84px 18px 48px; }
  .hero h1 { font-size:clamp(34px,11vw,46px); line-height:1.05; }
  .hero-eyebrow { font-size:12px; }
  .hero-sub { font-size:15px; line-height:1.6; }
  .hero-note { font-size:12px; }
  #hero-visual-inline { height:200px !important; }

  section { padding:48px 18px; }
  .sec-title { font-size:clamp(26px,7.5vw,34px) !important; line-height:1.15; }
  .sec-sub { font-size:15px !important; }
  /* neutralise les titres/sous-titres forcés sur une ligne */
  .sem-sub-oneline { white-space:normal !important; }

  /* Formulaires : champs empilés et plus grands pour le tactile */
  .form-row { grid-template-columns:1fr !important; gap:0 !important; margin-bottom:0 !important; }
  .form-field { margin-bottom:14px !important; }
  .hero-card { padding:24px 20px !important; }
  .hero-card-title { font-size:20px !important; }
  .form-field input, select, .form-field textarea { font-size:16px !important; } /* >=16px : pas de zoom iOS */

  /* Onglets catégories : scroll horizontal propre */
  .sem-tabs { gap:18px !important; flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:6px; scrollbar-width:none; }
  .sem-tabs::-webkit-scrollbar { display:none; }
  .sem-tab { white-space:nowrap; flex:0 0 auto; font-size:15px; }

  /* Sections à padding inline : forcer un padding mobile raisonnable */
  .intl-section[style] { padding:48px 18px !important; }
  .features-section[style] { padding-top:40px !important; }

  /* Carrousels mobile : scroll natif horizontal avec snap (swipe) */
  .carousel-outer { overflow-x:auto !important; overflow-y:hidden; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:default !important; border-radius:0 !important; margin:0 -18px; padding:0 18px; }
  .carousel-outer::-webkit-scrollbar { display:none; }
  .carousel-track { transform:none !important; transition:none !important; gap:14px !important; }
  .carousel-card { width:84vw !important; max-width:340px; scroll-snap-align:center; }
  .carousel-img-wrap { height:220px !important; }
  /* Flèches inutiles au doigt : masquées, le swipe les remplace */
  .carousel-btn { display:none !important; }
  /* Les points de pagination restent visibles comme indicateur */
  .carousel-dots { margin-top:18px; }

  /* Stats : une colonne, séparateurs propres */
  .stats-args { grid-template-columns:1fr !important; }
  .stats-args .stat-arg { border-right:none !important; border-top:1px solid #2a2a2a; }
  .stats-args .stat-arg:first-child { border-top:none; }
  .stats-header { flex-direction:column; align-items:flex-start; gap:8px; }

  /* En-têtes de section avec bouton (événements / international) */
  .sec-head-row { flex-direction:column !important; align-items:flex-start !important; gap:18px; }
  /* les colonnes ne doivent jamais dépasser la largeur de l'écran (sinon la barre d'onglets pousse la page) */
  .sec-head-row > div { min-width:0; max-width:100%; }
  .sec-head-row > div:last-child { gap:0 !important; }

  /* CTA bas de page : pile, formulaire pleine largeur */
  #cta-grid { grid-template-columns:1fr !important; gap:32px !important; }
  .cta-badges { gap:14px !important; }

  /* Modale : quasi plein écran */
  .modal-card-wrap { width:calc(100% - 20px) !important; margin:2vh auto !important; max-height:96vh !important; }
  #form-modal { padding:28px 20px !important; }
  #form-modal .hero-card-title { font-size:20px !important; }

  /* Grille grande entreprise / blocs 2 colonnes éventuels */
  .ge-split { grid-template-columns:1fr !important; }
  .ge-grid { gap:14px !important; margin-bottom:36px !important; }
  .ge-card { padding:22px 20px !important; }
  .ge-card h3 { font-size:16px !important; }
  .ge-card p { font-size:13px !important; }
  #grande-entreprise-inner { padding:56px 18px !important; }
  #grande-entreprise-inner .ge-subtitle { font-size:15px !important; }
  #grande-entreprise-inner > div:first-child { margin-bottom:36px !important; }

  footer { padding:24px 18px; gap:14px; }
  footer .footer-links { flex-wrap:wrap; gap:12px 18px; }
}

/* ===== PETIT MOBILE ===== */
@media(max-width:380px){
  .hero h1 { font-size:32px; }
  .sec-title { font-size:24px !important; }
  .carousel-img-wrap { height:190px !important; }
}
