.universe-hero{min-height:610px;padding:90px max(24px,calc((100vw - 1216px)/2));display:grid;grid-template-columns:1fr .82fr;gap:60px;align-items:center;background:#071c39;color:#fff;overflow:hidden}.universe-hero.auto{background:#075aa8}.universe-hero.moto{background:#071c39}.universe-hero .kicker{color:#f5d316}.universe-hero h1{font-size:clamp(60px,8vw,116px);margin:12px 0 24px}.universe-hero h1 em{color:#f5d316}.universe-hero p{max-width:660px;font-size:19px;color:#e1ebf5}.universe-hero img{width:100%;height:430px;object-fit:cover;border:3px solid #fff;box-shadow:16px 16px 0 #f5d316}.universe-hero.auto img{object-position:center 60%}.universe-hero.moto img{object-position:center 48%}.universe-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.universe-nav a{padding:10px 13px;border:2px solid #fff;font-weight:800;font-size:13px}.universe-nav a:hover{background:#f5d316;color:#071c39;border-color:#f5d316}.universe-content{padding:88px max(24px,calc((100vw - 1216px)/2));background:#f4f7fb}.universe-content .program{scroll-margin-top:110px}.program-compact{display:grid;grid-template-columns:110px 1fr auto;gap:26px;align-items:start;padding:30px;background:#fff;border:2px solid #071c39;margin-bottom:18px}.program-compact .program-code{width:82px;height:82px}.program-compact h2{font-size:clamp(27px,3vw,42px);line-height:1.08}.program-compact p{color:#526171;margin:10px 0 0;max-width:720px}.program-compact .text-link{white-space:nowrap;margin:10px 0 0}.coming-block{margin-top:75px;padding:45px;background:#f5d316;border:3px solid #071c39;box-shadow:12px 12px 0 #075aa8}.coming-block .kicker{color:#075aa8}.coming-block h2{font-size:clamp(36px,4vw,58px);margin:8px 0 25px}.coming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.coming-card{background:#fff;border:2px solid #071c39;padding:24px}.coming-card.future{background:#071c39;color:#fff}.coming-card .status-pill{display:inline-block;padding:5px 8px;background:#075aa8;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase}.coming-card.future .status-pill{background:#f5d316;color:#071c39}.coming-card h3{font-size:24px;margin:15px 0 8px}.coming-card p{margin:0;opacity:.78}.universe-switch{display:grid;grid-template-columns:1fr 1fr}.switch-card{min-height:330px;padding:50px max(24px,calc((100vw - 1216px)/2));display:flex;flex-direction:column;justify-content:center}.switch-card.auto{background:#075aa8;color:#fff;padding-right:50px}.switch-card.moto{background:#071c39;color:#fff;padding-left:50px}.switch-card span{color:#f5d316}.switch-card h2{font-size:40px;margin:8px 0 16px}.switch-card a{font-weight:800}.formation-hub{padding:85px max(24px,calc((100vw - 1216px)/2));background:#f4f7fb}.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.hub-card{min-height:520px;position:relative;overflow:hidden;border:3px solid #071c39;color:#fff;display:flex;align-items:flex-end}.hub-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hub-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(7,28,57,.96) 88%)}.hub-card-content{position:relative;z-index:1;padding:34px}.hub-card .kicker{color:#f5d316}.hub-card h2{font-size:clamp(42px,5vw,68px);line-height:1;margin:7px 0 13px}.hub-card p{max-width:520px;color:#dce8f4}.hub-card a{display:inline-flex;margin-top:12px;background:#f5d316;color:#071c39}.hub-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.hub-secondary article{padding:30px;background:#fff;border:2px solid #071c39}.hub-secondary h3{font-size:28px;margin:10px 0}.hub-secondary .kicker{color:#075aa8}@media(max-width:850px){.universe-hero{grid-template-columns:1fr;min-height:auto}.universe-hero img{height:360px}.program-compact{grid-template-columns:82px 1fr}.program-compact .text-link{grid-column:2}.hub-grid,.hub-secondary,.coming-grid{grid-template-columns:1fr}.universe-switch{grid-template-columns:1fr}.switch-card.auto,.switch-card.moto{padding:45px 24px}}@media(max-width:520px){.universe-hero{padding-top:65px}.universe-hero img{height:270px;box-shadow:8px 8px 0 #f5d316}.program-compact{grid-template-columns:1fr}.program-compact .text-link{grid-column:auto}.coming-block{padding:26px}.hub-card{min-height:460px}.hub-card-content{padding:25px}}
.moto-safety-card { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin:0 0 26px; padding:10px 0 18px; background:transparent; border:0; border-radius:0; box-shadow:none; }
.moto-safety-visual { position:relative; min-height:270px; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; border-radius:0; background:transparent; }
.moto-safety-visual img { width:min(100%,360px); height:100%; max-height:390px; object-fit:contain; object-position:center bottom; filter:drop-shadow(8px 12px 0 rgba(7,28,57,.22)); cursor:help; }
.moto-safety-visual img:focus-visible { outline:3px solid #f5d316; outline-offset:4px; }
.moto-static-visual { align-items:stretch; }
.moto-static-visual img { width:100%; max-height:none; object-fit:cover; object-position:center; filter:saturate(.96) contrast(1.02); cursor:default; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 88%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 88%,transparent 100%); }
.moto-safety-visual span { position:absolute; top:14px; left:14px; padding:7px 10px; background:#f5d316; color:#071c39; font:800 11px/1 Manrope,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.moto-safety-copy { display:flex; flex-direction:column; justify-content:center; padding:28px 30px; background:rgba(255,255,255,.68); border:1px solid rgba(13,103,173,.16); border-radius:18px; box-shadow:0 14px 32px rgba(4,56,103,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.moto-safety-card h2 { margin:7px 0 10px; font-size:clamp(28px,3.5vw,44px); line-height:1.04; }
.moto-safety-card h2 em { color:#075aa8; font-style:normal; }
.moto-safety-card p { color:#526171; margin:0; max-width:620px; }
.moto-safety-card ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.moto-safety-card li { display:grid; gap:3px; padding:12px 14px; border-left:4px solid #f5d316; background:#fff; }
.moto-safety-card li strong { color:#071c39; font-size:14px; }
.moto-safety-card li span { color:#526171; font-size:13px; }
.moto-buying-guide { grid-column:1/-1; padding:22px 0 0; border-top:1px solid #dce3eb; }
.moto-buying-guide h3 { margin:6px 0 7px; color:#071c39; font-size:clamp(23px,2.5vw,34px); }
.moto-buying-guide p { max-width:850px; }
.moto-buying-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px; }
.moto-buying-grid div { display:grid; gap:5px; padding:13px; background:#fff; border:1px solid #dce3eb; border-radius:12px; }
.moto-buying-grid strong { color:#071c39; font-size:13px; }
.moto-buying-grid span { color:#526171; font-size:12px; line-height:1.45; }
.moto-safety-note { grid-column:1/-1; padding-top:14px; border-top:1px solid #dce3eb; font-size:12px; }
.moto-video-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:center; margin:0 0 26px; padding:28px; background:rgba(255,255,255,.82); border:1px solid rgba(13,103,173,.22); border-radius:18px; box-shadow:0 14px 32px rgba(4,56,103,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.moto-video-card h2 { margin:7px 0 10px; font-size:clamp(28px,3.5vw,44px); line-height:1.04; }
.moto-video-card h2 em { color:#075aa8; font-style:normal; }
.moto-video-card p { color:#526171; max-width:560px; }
.moto-video-card ul { display:grid; gap:7px; margin:16px 0 0; padding-left:18px; color:#071c39; font-weight:700; }
.moto-video-frame { display:grid; gap:8px; }
.moto-video-frame video { display:block; width:100%; border:2px solid #071c39; border-radius:14px; background:#e5eff8; box-shadow:10px 10px 0 #f5d316; }
.moto-video-caption { color:#526171; font-size:12px; }
.compact-facts { grid-column:2; display:grid; grid-template-columns:repeat(4,minmax(90px,1fr)); gap:8px; margin-top:18px; }
.compact-facts span { display:grid; gap:3px; padding:9px 10px; background:#f4f7fb; border:1px solid #dce3eb; }
.compact-facts small { color:#526171; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.compact-facts strong { color:#071c39; font-size:13px; }
@media(max-width:850px){.moto-safety-card,.moto-video-card{grid-template-columns:1fr}.moto-safety-note,.moto-buying-guide{grid-column:auto}.moto-buying-grid{grid-template-columns:repeat(2,1fr)}.compact-facts{grid-column:2;grid-template-columns:repeat(2,minmax(100px,1fr))}}
@media(max-width:520px){.moto-safety-card{padding:0 0 12px;gap:12px}.moto-static-visual img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 88%,transparent 100%)}.moto-safety-copy{padding:22px 20px}.compact-facts{grid-column:auto;grid-template-columns:1fr 1fr}}

/* Le visuel moto doit être identifiable immédiatement : la machine reste lisible, Charlie reste intégrée. */
.moto-safety-visual { min-height:clamp(300px,31vw,440px); }
.moto-static-visual { align-items:stretch; justify-content:stretch; }
.moto-static-visual img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:center center; filter:saturate(1.02) contrast(1.04) drop-shadow(8px 12px 0 rgba(7,28,57,.16)); -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%); }
.moto-static-visual::after { content:'KTM · ÉQUIPEMENT MOTO'; position:absolute; left:16px; bottom:18px; padding:8px 11px; color:#071c39; background:#f5d316; border:2px solid #071c39; font:800 11px/1 Manrope,sans-serif; letter-spacing:.08em; }
.universe-hero.moto .kicker::after { content:' · PERMIS A2 & PASSERELLE'; color:#fff; letter-spacing:.08em; }
@media(max-width:850px) { .moto-safety-visual { min-height:clamp(260px,58vw,390px); } }

/* Univers Auto : les textes importants doivent rester lisibles en un coup d’œil. */
body:has(.universe-hero.auto) .universe-content,
body:has(.universe-hero.auto) .universe-content p,
body:has(.universe-hero.auto) .universe-content li { font-size:16px; line-height:1.65; }
body:has(.universe-hero.auto) .program-compact { padding:32px; }
body:has(.universe-hero.auto) .program-compact h2 { font-size:clamp(30px,3vw,44px); }
body:has(.universe-hero.auto) .program-compact p { max-width:760px; font-size:17px; }
body:has(.universe-hero.auto) .program-compact .text-link,
body:has(.universe-hero.auto) .program-details summary,
body:has(.universe-hero.auto) .program-details-body h3 { font-size:16px; }
body:has(.universe-hero.auto) .facts { gap:12px; }
body:has(.universe-hero.auto) .fact { padding:17px; }
body:has(.universe-hero.auto) .fact small { font-size:12px; }
body:has(.universe-hero.auto) .fact strong { font-size:17px; }
body:has(.universe-hero.auto) .training-grid h3 { font-size:21px; }
body:has(.universe-hero.auto) .training-grid li,
body:has(.universe-hero.auto) .quality-list li,
body:has(.universe-hero.auto) .remc-grid p,
body:has(.universe-hero.auto) .remc-follow p,
body:has(.universe-hero.auto) .coming-card p,
body:has(.universe-hero.auto) .tariff-grid li,
body:has(.universe-hero.auto) .tariff-legal p { font-size:16px; line-height:1.6; }
body:has(.universe-hero.auto) .remc-grid h3,
body:has(.universe-hero.auto) .coming-card h3 { font-size:21px; }
body:has(.universe-hero.auto) .tariff-grid h3 { font-size:23px; }
body:has(.universe-hero.auto) .text-link,
body:has(.universe-hero.auto) .button { font-size:14px; }
@media(max-width:520px) {
  body:has(.universe-hero.auto) .universe-content,
  body:has(.universe-hero.auto) .universe-content p,
  body:has(.universe-hero.auto) .universe-content li,
  body:has(.universe-hero.auto) .program-compact p,
  body:has(.universe-hero.auto) .training-grid li,
  body:has(.universe-hero.auto) .quality-list li,
  body:has(.universe-hero.auto) .remc-grid p,
  body:has(.universe-hero.auto) .remc-follow p,
  body:has(.universe-hero.auto) .coming-card p,
  body:has(.universe-hero.auto) .tariff-grid li,
  body:has(.universe-hero.auto) .tariff-legal p { font-size:15px; }
  body:has(.universe-hero.auto) .program-compact { padding:23px 20px; }
}
