/*
Theme Name: OF KIAMIS
Theme URI: https://www.ofkiamis.fr
Author: OF KIAMIS
Description: Theme OF KIAMIS. Nav et footer dans header.php et footer.php. Contenu via Elementor widget HTML.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: ofkiams
*/
/* ================================================================
   OF KIAMIS – SHARED DESIGN SYSTEM
   Used across ALL pages
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;900&family=Lora:ital,wght@0,400;0,600;1,400&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lora',serif;color:#1c1c2e;background:#fff;line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

:root{
  --red:#c0001e;--red-dark:#8c0015;
  --navy:#0d1b3e;--navy-mid:#1a2f5e;
  --white:#ffffff;--off:#f7f7f5;--gray:#e8e8e6;
  --text:#1c1c2e;--muted:#555566;--gold:#e8a020;
  --r-xs:6px;--r-sm:12px;--r-md:20px;--r-lg:32px;
  --sh:0 4px 24px rgba(13,27,62,.10);
  --sh-lg:0 12px 48px rgba(13,27,62,.18);
  --ease:cubic-bezier(.22,1,.36,1);--dur:.6s;
}

/* ── KEYFRAMES ── */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-18px) rotate(2deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(192,0,30,.4)}50%{box-shadow:0 0 0 16px rgba(192,0,30,0)}}
@keyframes pulse3d{0%,100%{box-shadow:0 20px 60px rgba(192,0,30,.4);transform:perspective(800px) rotateY(-5deg) scale(1)}50%{box-shadow:0 30px 80px rgba(192,0,30,.6);transform:perspective(800px) rotateY(5deg) scale(1.02)}}
@keyframes orbit{from{transform:rotate(0deg) translateX(120px) rotate(0deg)}to{transform:rotate(360deg) translateX(120px) rotate(-360deg)}}
@keyframes orbitReverse{from{transform:rotate(0deg) translateX(90px) rotate(0deg)}to{transform:rotate(-360deg) translateX(90px) rotate(360deg)}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes badge3d{0%{transform:perspective(600px) rotateX(0) rotateY(0) translateZ(0)}33%{transform:perspective(600px) rotateX(5deg) rotateY(10deg) translateZ(10px)}66%{transform:perspective(600px) rotateX(-3deg) rotateY(-8deg) translateZ(5px)}100%{transform:perspective(600px) rotateX(0) rotateY(0) translateZ(0)}}
@keyframes truckMove{0%,100%{transform:translateX(0) perspective(400px) rotateY(-8deg)}50%{transform:translateX(12px) perspective(400px) rotateY(8deg)}}
@keyframes planeGlide{0%{transform:translateX(-60px) translateY(20px) rotate(-8deg);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(60px) translateY(-20px) rotate(8deg);opacity:0}}
@keyframes shipRock{0%,100%{transform:perspective(600px) rotateZ(-2deg) rotateY(-5deg)}50%{transform:perspective(600px) rotateZ(2deg) rotateY(5deg)}}
@keyframes cardTilt{0%,100%{transform:perspective(800px) rotateX(0) rotateY(0)}25%{transform:perspective(800px) rotateX(2deg) rotateY(4deg)}75%{transform:perspective(800px) rotateX(-2deg) rotateY(-4deg)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes lineGrow{from{width:0}to{width:60px}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes particleDrift{0%{transform:translateY(0) translateX(0) scale(1);opacity:.6}50%{transform:translateY(-40px) translateX(20px) scale(1.2);opacity:.3}100%{transform:translateY(-80px) translateX(-10px) scale(.8);opacity:0}}
@keyframes countUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(40px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}

/* ── UTILS ── */
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.section-pad{padding:80px 0}
.section-pad-lg{padding:100px 0}
.section-pad-sm{padding:56px 0}
.text-center{text-align:center}

.badge{display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.badge::before{content:'';width:28px;height:2px;background:var(--red);display:inline-block}
.section-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,5vw,52px);font-weight:900;line-height:1.05;color:var(--navy);margin-bottom:20px}
.section-title .accent{color:var(--red)}
.section-body{font-size:15px;color:var(--muted);line-height:1.75;max-width:600px}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:1px;padding:14px 28px;border-radius:var(--r-xs);cursor:pointer;transition:all .3s var(--ease);border:none;outline:none;white-space:nowrap}
.btn-red{background:var(--red);color:var(--white)}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(192,0,30,.35)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-mid);transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,27,62,.35)}
.btn-outline-white{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.6)}
.btn-outline-white:hover{background:var(--white);color:var(--navy);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--red);border:2px solid var(--red)}
.btn-ghost:hover{background:var(--red);color:var(--white);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#d4911a;transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,160,32,.4)}

/* ── NAVIGATION ── */
nav.main-nav{position:sticky;top:0;z-index:1000;background:var(--navy);box-shadow:0 2px 20px rgba(13,27,62,.3);transition:all .3s}
nav.main-nav.scrolled{background:rgba(13,27,62,.97);backdrop-filter:blur(20px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:0 24px;max-width:1180px;margin:0 auto;height:68px}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo-icon{width:44px;height:44px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s}
.nav-logo:hover .nav-logo-icon{transform:scale(1.1) rotate(5deg)}
.nav-logo-icon svg{width:22px;height:22px}
.nav-logo-text{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:18px;color:var(--white);line-height:1.2}
.nav-logo-sub{font-size:10px;color:rgba(255,255,255,.55);letter-spacing:1px}

.nav-menu{display:flex;align-items:center;gap:2px;list-style:none}
.nav-menu>li{position:relative}
.nav-menu>li>a{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:.5px;color:rgba(255,255,255,.85);padding:10px 14px;border-radius:var(--r-xs);transition:all .25s;display:flex;align-items:center;gap:4px;white-space:nowrap}
.nav-menu>li>a:hover,.nav-menu>li.active>a{color:var(--white);background:rgba(255,255,255,.1)}
.nav-menu>li>a .chevron{font-size:9px;transition:transform .3s;margin-left:2px}
.nav-menu>li:hover>a .chevron{transform:rotate(180deg)}

/* Dropdown */
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:var(--navy);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);box-shadow:0 20px 60px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s var(--ease);z-index:200;overflow:visible}
.nav-menu>li:hover>.dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu li{position:relative}
.dropdown-menu li>a{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.8);transition:all .2s;border-radius:0;gap:8px}
.dropdown-menu li>a:hover{color:var(--white);background:rgba(255,255,255,.1);padding-left:20px}
.dropdown-menu li:first-child>a{border-radius:var(--r-sm) var(--r-sm) 0 0}
.dropdown-menu li:last-child>a{border-radius:0 0 var(--r-sm) var(--r-sm)}
.dropdown-menu .sep{height:1px;background:rgba(255,255,255,.08);margin:4px 12px}

/* Sub-dropdown (right) */
.sub-dropdown{position:absolute;top:0;left:100%;min-width:200px;background:var(--navy-mid);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);box-shadow:0 20px 60px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateX(-8px);transition:all .25s var(--ease);z-index:300}
.dropdown-menu li:hover>.sub-dropdown{opacity:1;visibility:visible;transform:translateX(0)}
.sub-dropdown li>a{padding:10px 16px;font-size:12px;color:rgba(255,255,255,.75)}
.sub-dropdown li>a:hover{color:var(--white);background:rgba(255,255,255,.12);padding-left:20px}
.sub-dropdown .sub-pole-header{padding:8px 16px 4px;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);pointer-events:none}

.nav-cta{margin-left:12px;flex-shrink:0}

/* Mobile hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;margin-left:8px}
.hamburger span{width:22px;height:2px;background:var(--white);border-radius:2px;transition:all .3s}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--navy);z-index:999;overflow-y:auto;padding:20px 0 40px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:14px 24px;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.06);transition:all .2s}
.mobile-menu a:hover{color:var(--white);background:rgba(255,255,255,.06);padding-left:32px}
.mobile-menu .m-section{padding:10px 24px 6px;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.mobile-menu .m-sub a{padding-left:36px;font-size:14px;color:rgba(255,255,255,.7)}

/* ── BREADCRUMB ── */
.breadcrumb{background:var(--off);padding:12px 0;border-bottom:1px solid var(--gray)}
.breadcrumb-inner{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.breadcrumb-inner a{color:var(--red);transition:opacity .2s}
.breadcrumb-inner a:hover{opacity:.75}
.breadcrumb-inner .sep{color:var(--gray)}

/* ── FORM ELEMENTS ── */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:6px}
.form-group label.dark{color:var(--muted)}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-xs);padding:12px 14px;font-family:'Lora',serif;font-size:14px;color:var(--white);outline:none;transition:border-color .3s}
.form-group input.light,.form-group select.light,.form-group textarea.light{background:var(--white);border:1px solid var(--gray);color:var(--text)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.3)}
.form-group input.light::placeholder,.form-group textarea.light::placeholder{color:var(--muted)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red)}
.form-group select{appearance:none;cursor:pointer}
.form-group select option{background:var(--navy);color:var(--white)}
.form-group select.light option{background:var(--white);color:var(--text)}
.form-group textarea{height:110px;resize:vertical}

/* ── FOOTER ── */
footer.main-footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.07)}
.footer-main{padding:72px 0 48px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.footer-brand .fb-logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-brand .fb-logo-icon{width:44px;height:44px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center}
.footer-brand .fb-logo-icon svg{width:22px;height:22px}
.footer-brand .fb-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:20px;color:var(--white)}
.footer-brand .fb-sub{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:1px}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.7;max-width:280px;margin-bottom:20px}
.footer-col h4{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.65);transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.footer-col ul li a:hover{color:var(--white);padding-left:4px}
.footer-col ul li a::before{content:'›';color:var(--red);font-size:14px}
.footer-contact-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.footer-contact-item .fci-icon{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.footer-contact-item .fci-icon svg{width:14px;height:14px}
.footer-contact-item span{font-size:13px;color:rgba(255,255,255,.65)}
.footer-contact-item span strong{display:block;color:var(--white);font-family:'Barlow Condensed',sans-serif;font-size:14px}
.social-row{display:flex;gap:10px;margin-top:4px}
.social-btn{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;transition:all .3s}
.social-btn:hover{background:var(--red);border-color:var(--red);color:var(--white);transform:translateY(-2px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.35)}
.footer-bottom .legal-links{display:flex;gap:16px}
.footer-bottom .legal-links a{font-size:12px;color:rgba(255,255,255,.4);transition:color .2s}
.footer-bottom .legal-links a:hover{color:rgba(255,255,255,.8)}

/* ── CARDS ── */
.card-hover{transition:all .35s var(--ease)}
.card-hover:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}

/* ── STATS ── */
.stats-band{background:var(--red);padding:48px 0}
.stats-band .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat-item{padding:20px 16px;border-right:1px solid rgba(255,255,255,.2);transition:transform .3s}
.stat-item:last-child{border-right:none}
.stat-item:hover{transform:scale(1.05)}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,5vw,60px);font-weight:900;color:var(--white);line-height:1;margin-bottom:6px}
.stat-label{font-size:13px;color:rgba(255,255,255,.85);line-height:1.4}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-menu,.nav-cta{display:none}
  .hamburger{display:flex}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .stats-band .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.2)}
  .stat-item:nth-child(even){border-bottom:none}
}
@media(max-width:768px){
  .section-pad{padding:56px 0}
  .section-pad-lg{padding:64px 0}
  .container{padding:0 16px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .stats-band .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item{border-bottom:1px solid rgba(255,255,255,.15)}
}

/* page-specific overrides here */
/* ── HOME SPECIFIC ── */
#hero-home{background:var(--navy);position:relative;overflow:hidden;padding:88px 0 0;min-height:640px}
#hero-home::before{content:'';position:absolute;top:-200px;right:-200px;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%);pointer-events:none}
#particles-home{position:absolute;inset:0;pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1;padding-bottom:80px}
.hero-system-tag{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(232,160,32,.15),rgba(232,160,32,.05));border:1px solid rgba(232,160,32,.4);padding:8px 16px;border-radius:24px;margin-bottom:20px;animation:badge3d 6s ease-in-out infinite}
.hero-system-tag span{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.hero-tag-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 2s ease-in-out infinite;flex-shrink:0}
.hero-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,7vw,82px);font-weight:900;line-height:.97;color:var(--white);text-transform:uppercase;margin-bottom:20px}
.hero-h1 .red{color:var(--red)}
.hero-h1 .gold{color:var(--gold)}
.hero-sub{font-size:18px;color:rgba(255,255,255,.8);font-style:italic;margin-bottom:14px;line-height:1.5}
.hero-desc{font-size:14px;color:rgba(255,255,255,.62);line-height:1.75;margin-bottom:36px}
.hero-desc strong{color:rgba(255,255,255,.9)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* 3D visual */
.hero-3d{position:relative;height:520px;display:flex;align-items:center;justify-content:center;perspective:1200px}
.orbit-ring-a{position:absolute;top:50%;left:50%;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;border:1px dashed rgba(255,255,255,.1)}
.orbit-ring-b{position:absolute;top:50%;left:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:1px dashed rgba(192,0,30,.25)}
.diploma-card{position:absolute;width:290px;padding:26px;background:linear-gradient(135deg,#fff 0%,#f0f4ff 100%);border-radius:20px;box-shadow:0 30px 80px rgba(13,27,62,.5);animation:pulse3d 6s ease-in-out infinite;z-index:10}
.dc-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.dc-logo{width:38px;height:38px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dc-logo svg{width:18px;height:18px}
.dc-org{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;color:var(--navy);line-height:1.2}
.dc-org span{display:block;font-size:10px;color:var(--muted);font-weight:400}
.dc-body{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:900;color:var(--navy);line-height:1.1;margin-bottom:14px}
.dc-body em{color:var(--red);font-style:normal;font-size:13px;display:block;font-weight:700;margin-top:2px}
.dc-foot{display:flex;align-items:center;justify-content:space-between}
.dc-level{font-family:'Barlow Condensed',sans-serif;font-size:11px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase}
.dc-badge{background:var(--red);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px}
.dc-seal{position:absolute;bottom:-18px;right:-18px;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#f5c842);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(232,160,32,.5);animation:rotateSlow 8s linear infinite}
.dc-seal svg{width:30px;height:30px}
.orbit-icon{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.3)}
.orbit-icon svg{width:24px;height:24px}
.oi1{animation:orbit 11s linear infinite}
.oi2{animation:orbit 11s linear infinite;animation-delay:-3.6s}
.oi3{animation:orbit 11s linear infinite;animation-delay:-7.3s}
.oi4{animation:orbitReverse 8s linear infinite}
.oi5{animation:orbitReverse 8s linear infinite;animation-delay:-4s}
.float-card{position:absolute;background:rgba(255,255,255,.09);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.17);border-radius:12px;padding:12px 14px;box-shadow:0 8px 32px rgba(0,0,0,.3)}
.fc-label{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:3px}
.fc-val{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;color:#fff;line-height:1}
.fc-sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px}
.fc-tl{top:30px;left:-20px;animation:float 7s ease-in-out infinite}
.fc-tr{top:50px;right:-10px;animation:float 9s ease-in-out infinite 1s}
.fc-bl{bottom:70px;left:-10px;animation:float 8s ease-in-out infinite 2s}
.fc-br{bottom:50px;right:-20px;animation:float 6s ease-in-out infinite .5s}

/* ── Why section ── */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.why-quote-block{border-left:4px solid var(--red);padding:16px 20px;background:var(--off);border-radius:0 12px 12px 0;margin:20px 0 28px;font-style:italic;font-size:15px;color:var(--navy);line-height:1.6}
.why-cards{display:flex;flex-direction:column;gap:14px}
.why-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--off);border:1px solid var(--gray);border-radius:12px;transition:all .3s var(--ease)}
.why-card:hover{border-color:var(--red);background:#fff5f5;transform:translateX(6px);box-shadow:var(--sh)}
.wc-num{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wc-num.r{background:var(--red)}
.why-card h4{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:4px}
.why-card p{font-size:13px;color:var(--muted);line-height:1.6}

/* ── Poles section ── */
.poles-intro{text-align:center;margin-bottom:56px}
.poles-intro .section-body{margin:0 auto}
.poles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pole-card{border-radius:20px;overflow:hidden;box-shadow:var(--sh);transition:all .35s var(--ease);cursor:pointer}
.pole-card:hover{transform:translateY(-10px);box-shadow:var(--sh-lg)}
.pole-head{padding:32px 24px 24px;position:relative;overflow:hidden}
.pole-head::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.04);transform:skewY(-3deg) translateY(-30px);pointer-events:none}
.pole-head.t{background:var(--navy)}
.pole-head.l{background:var(--red)}
.pole-head.r{background:linear-gradient(135deg,#2a2a4a,#1a1a3e)}
.pole-emoji{font-size:44px;display:block;margin-bottom:12px;animation:float 5s ease-in-out infinite}
.pole-tag{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:4px}
.pole-name{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900;color:#fff;line-height:1.1;margin-bottom:8px}
.pole-sub{font-size:13px;color:rgba(255,255,255,.7);line-height:1.5}
.pole-body{background:#fff;padding:24px}
.pole-diplomas{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.pd-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);padding:10px 12px;background:var(--off);border-radius:8px;transition:all .25s}
.pd-item:hover{background:var(--gray);padding-left:16px}
.pd-dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0}
.pole-card .pole-cta{display:block;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;color:var(--navy);padding:12px;border-top:1px solid var(--gray);transition:all .25s}
.pole-card .pole-cta:hover{background:var(--navy);color:#fff}

/* ── Blocs system ── */
.blocs-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.blocs-steps{display:flex;flex-direction:column;gap:0;position:relative}
.blocs-steps::before{content:'';position:absolute;left:19px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--red),var(--navy))}
.bloc-step{display:flex;gap:20px;align-items:flex-start;padding:0 0 32px}
.bloc-step:last-child{padding-bottom:0}
.bs-num{width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid var(--red);color:var(--red);font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;position:relative;box-shadow:0 0 0 5px #fff}
.bs-num.n{border-color:var(--navy);color:var(--navy)}
.bs-content h4{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:900;color:var(--navy);margin-bottom:4px;padding-top:6px}
.bs-content p{font-size:13px;color:var(--muted);line-height:1.65}
.blocs-visual{position:relative;height:420px;display:flex;align-items:center;justify-content:center}
.bv-center{width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-mid));box-shadow:0 0 60px rgba(13,27,62,.5);display:flex;align-items:center;justify-content:center;animation:cardTilt 8s ease-in-out infinite;z-index:5;position:relative}
.bv-center svg{width:80px;height:80px}
.bv-ring1{position:absolute;top:50%;left:50%;width:280px;height:280px;margin:-140px 0 0 -140px;border-radius:50%;border:2px solid rgba(192,0,30,.25);animation:rotateSlow 18s linear infinite}
.bv-ring2{position:absolute;top:50%;left:50%;width:350px;height:350px;margin:-175px 0 0 -175px;border-radius:50%;border:1px dashed rgba(13,27,62,.12);animation:rotateSlow 28s linear infinite reverse}
.bv-dot{position:absolute;top:-7px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(232,160,32,.6)}
.bv-sat{position:absolute;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;padding:8px 14px;background:var(--red);color:#fff;border-radius:8px;box-shadow:var(--sh)}
.bv-sat.s1{top:10%;right:5%;animation:float 6s ease-in-out infinite}
.bv-sat.s2{bottom:15%;right:5%;animation:float 8s ease-in-out infinite 1s}
.bv-sat.s3{top:10%;left:5%;animation:float 7s ease-in-out infinite 2s}
.bv-sat.s4{bottom:15%;left:5%;animation:float 9s ease-in-out infinite .5s;background:var(--navy)}

/* ── Testimonials mini ── */
.test-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.tmc{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--sh);transition:all .3s var(--ease)}
.tmc:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.tmc-top{padding:18px 20px 14px;display:flex;align-items:center;justify-content:space-between}
.tmc:nth-child(odd) .tmc-top{background:var(--navy)}
.tmc:nth-child(even) .tmc-top{background:var(--red)}
.tmc-person{display:flex;align-items:center;gap:10px}
.tmc-av{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.3);background:#888;flex-shrink:0}
.tmc-av img{width:100%;height:100%;object-fit:cover}
.tmc-name{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;color:#fff}
.tmc-role{font-size:11px;color:rgba(255,255,255,.65)}
.tmc-q{font-size:32px;color:rgba(255,255,255,.2);font-family:Georgia,serif;line-height:1}
.tmc-body{padding:18px 20px;font-size:13.5px;color:var(--text);line-height:1.65}
.tmc-stars{color:var(--gold);font-size:16px;letter-spacing:2px;display:block;margin-top:10px}

/* ── CTA home ── */
.cta-home{background:var(--navy);position:relative;overflow:hidden;padding:80px 0}
.cta-home::before{content:'';position:absolute;bottom:-150px;right:-150px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.cta-form-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:36px}
.cta-form-card h3{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:22px}

@media(max-width:1024px){
  .hero-inner,.why-grid,.blocs-grid,.cta-inner{grid-template-columns:1fr;gap:40px}
  .poles-grid{grid-template-columns:1fr}
  .hero-3d{height:380px}
  .blocs-visual{height:320px}
}
@media(max-width:768px){
  .hero-3d{height:280px}
  .test-mini-grid{grid-template-columns:1fr}
  .fc-tl,.fc-tr,.fc-bl,.fc-br{display:none}
}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
/* ============================================================
       CSS VARIABLES & RESET (identique au template)
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --red:      #c0001e;
      --red-dark: #8c0015;
      --navy:     #0d1b3e;
      --navy-mid: #1a2f5e;
      --white:    #ffffff;
      --off:      #f7f7f5;
      --gray:     #e8e8e6;
      --text:     #1c1c2e;
      --muted:    #555566;
      --gold:     #e8a020;
      --display:  'Barlow Condensed', sans-serif;
      --body:     'Lora', serif;
      --r-xs: 6px; --r-sm: 12px; --r-md: 20px; --r-lg: 32px;
      --sh: 0 4px 24px rgba(13,27,62,0.10);
      --sh-lg: 0 12px 48px rgba(13,27,62,0.18);
      --ease: cubic-bezier(0.22, 1, 0.36, 1);
      --dur: 0.6s;
    }

    html { scroll-behavior: smooth; }
    body { font-family: var(--body); color: var(--text); background: var(--white); line-height: 1.7; overflow-x: hidden; }
    img  { max-width: 100%; display: block; }
    a    { text-decoration: none; color: inherit; }

    /* ============================================================
       3D ANIMATIONS
    ============================================================ */
    @keyframes float3d {
      0%   { transform: perspective(1000px) rotateY(0deg)   rotateX(2deg) translateY(0px); }
      25%  { transform: perspective(1000px) rotateY(4deg)   rotateX(-1deg) translateY(-8px); }
      50%  { transform: perspective(1000px) rotateY(0deg)   rotateX(-2deg) translateY(-14px); }
      75%  { transform: perspective(1000px) rotateY(-4deg)  rotateX(1deg) translateY(-8px); }
      100% { transform: perspective(1000px) rotateY(0deg)   rotateX(2deg) translateY(0px); }
    }
    @keyframes orbit {
      from { transform: rotate(0deg) translateX(120px) rotate(0deg); }
      to   { transform: rotate(360deg) translateX(120px) rotate(-360deg); }
    }
    @keyframes orbitReverse {
      from { transform: rotate(0deg) translateX(90px) rotate(0deg); }
      to   { transform: rotate(-360deg) translateX(90px) rotate(360deg); }
    }
    @keyframes spin3d {
      0%   { transform: perspective(800px) rotateY(0deg); }
      100% { transform: perspective(800px) rotateY(360deg); }
    }
    @keyframes pulse3d {
      0%, 100% { box-shadow: 0 20px 60px rgba(192,0,30,0.4), 0 0 0 0 rgba(192,0,30,0.3); transform: perspective(800px) rotateY(-5deg) scale(1); }
      50%       { box-shadow: 0 30px 80px rgba(192,0,30,0.6), 0 0 40px 10px rgba(192,0,30,0.1); transform: perspective(800px) rotateY(5deg) scale(1.02); }
    }
    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50%       { transform: translateY(-12px); }
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(40px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(192,0,30,0.4); }
      50%       { box-shadow: 0 0 0 16px rgba(192,0,30,0); }
    }
    @keyframes shimmer {
      0%   { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    @keyframes rotateSlow {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes badge3d {
      0%   { transform: perspective(600px) rotateX(0deg) rotateY(0deg) translateZ(0px); }
      33%  { transform: perspective(600px) rotateX(5deg) rotateY(10deg) translateZ(10px); }
      66%  { transform: perspective(600px) rotateX(-3deg) rotateY(-8deg) translateZ(5px); }
      100% { transform: perspective(600px) rotateX(0deg) rotateY(0deg) translateZ(0px); }
    }
    @keyframes truckMove {
      0%, 100% { transform: translateX(0px) perspective(400px) rotateY(-8deg); }
      50%       { transform: translateX(12px) perspective(400px) rotateY(8deg); }
    }
    @keyframes planeGlide {
      0%   { transform: translateX(-30px) translateY(10px) rotate(-5deg); opacity: 0; }
      20%  { opacity: 1; }
      80%  { opacity: 1; }
      100% { transform: translateX(30px) translateY(-10px) rotate(5deg); opacity: 0; }
    }
    @keyframes shipRock {
      0%, 100% { transform: perspective(600px) rotateZ(-2deg) rotateY(-5deg); }
      50%       { transform: perspective(600px) rotateZ(2deg) rotateY(5deg); }
    }
    @keyframes statCount {
      from { opacity: 0; transform: translateY(20px) scale(0.8); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes cardTilt {
      0%, 100% { transform: perspective(800px) rotateX(0deg) rotateY(0deg); }
      25%       { transform: perspective(800px) rotateX(2deg) rotateY(4deg); }
      75%       { transform: perspective(800px) rotateX(-2deg) rotateY(-4deg); }
    }

    /* Scroll reveal */
    .reveal       { opacity: 0; transform: translateY(40px);   transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
    .reveal-left  { opacity: 0; transform: translateX(-40px);  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
    .reveal-right { opacity: 0; transform: translateX(40px);   transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
    .reveal.visible, .reveal-left.visible, .reveal-right.visible { opacity: 1; transform: none; }

    /* ============================================================
       UTILITIES (identiques au template)
    ============================================================ */
    .container    { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
    .section-pad  { padding: 80px 0; }
    .section-pad-lg { padding: 100px 0; }
    .section-pad-sm { padding: 56px 0; }

    .badge {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: 3px; text-transform: uppercase; color: var(--red); margin-bottom: 12px;
    }
    .badge::before { content: ''; width: 28px; height: 2px; background: var(--red); display: inline-block; }

    .section-title { font-family: var(--display); font-size: clamp(32px,5vw,52px); font-weight: 900; line-height: 1.05; color: var(--navy); margin-bottom: 20px; }
    .section-title .accent { color: var(--red); }
    .section-body  { font-size: 15px; color: var(--muted); line-height: 1.75; max-width: 600px; }

    .btn {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--display); font-weight: 700; font-size: 15px;
      letter-spacing: 1px; padding: 14px 28px; border-radius: var(--r-xs);
      cursor: pointer; transition: all 0.3s var(--ease); border: none; outline: none;
    }
    .btn-red   { background: var(--red);  color: var(--white); }
    .btn-red:hover   { background: var(--red-dark); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(192,0,30,0.35); }
    .btn-navy  { background: var(--navy); color: var(--white); }
    .btn-navy:hover  { background: var(--navy-mid); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(13,27,62,0.35); }
    .btn-outline-white { background: transparent; color: var(--white); border: 2px solid rgba(255,255,255,0.6); }
    .btn-outline-white:hover { background: var(--white); color: var(--navy); }
    .btn-ghost { background: transparent; color: var(--red); border: 2px solid var(--red); }
    .btn-ghost:hover { background: var(--red); color: var(--white); transform: translateY(-2px); }

    /* ============================================================
       NAVIGATION (identique au template)
    ============================================================ */
    nav {
      position: sticky; top: 0; z-index: 100;
      background: var(--navy);
      box-shadow: 0 2px 20px rgba(13,27,62,0.3);
    }
    .nav-inner {
      display: flex; align-items: center; justify-content: space-between;
      padding: 14px 24px; max-width: 1180px; margin: 0 auto;
    }
    .nav-logo { display: flex; align-items: center; gap: 10px; }
    .nav-logo-icon { width: 42px; height: 42px; background: var(--red); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .nav-logo-icon svg { width: 22px; height: 22px; }
    .nav-logo-text { font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--white); line-height: 1.2; }
    .nav-logo-sub  { font-size: 11px; color: rgba(255,255,255,0.6); }
    .nav-back { display: flex; align-items: center; gap: 8px; font-family: var(--display); font-size: 13px; color: rgba(255,255,255,0.7); padding: 8px 14px; border-radius: var(--r-xs); transition: all 0.25s; border: 1px solid rgba(255,255,255,0.15); }
    .nav-back:hover { color: var(--white); background: rgba(255,255,255,0.1); }
    .nav-links { display: flex; align-items: center; gap: 4px; list-style: none; }
    .nav-links a { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: 0.5px; color: rgba(255,255,255,0.8); padding: 8px 14px; border-radius: var(--r-xs); transition: all 0.25s; }
    .nav-links a:hover { color: var(--white); background: rgba(255,255,255,0.1); }

    .breadcrumb {
      background: var(--off); padding: 14px 0; border-bottom: 1px solid var(--gray);
    }
    .breadcrumb-inner { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
    .breadcrumb-inner a { color: var(--red); transition: opacity 0.2s; }
    .breadcrumb-inner a:hover { opacity: 0.75; }
    .breadcrumb-inner span { color: var(--gray); }

    /* ============================================================
       HERO 3D
    ============================================================ */
    #gtla-hero {
      background: var(--navy);
      position: relative; overflow: hidden;
      padding: 80px 0 0;
      min-height: 620px;
    }
    #gtla-hero::before {
      content: '';
      position: absolute; top: -200px; right: -200px;
      width: 800px; height: 800px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,0,30,0.18) 0%, transparent 65%);
      pointer-events: none;
    }
    #gtla-hero::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 80px;
      background: linear-gradient(to bottom, transparent, var(--off));
    }

    .hero-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 60px; align-items: center;
      position: relative; z-index: 1;
      padding-bottom: 80px;
    }
    .hero-diploma-tag {
      display: inline-flex; align-items: center; gap: 10px;
      background: linear-gradient(135deg, rgba(232,160,32,0.15), rgba(232,160,32,0.05));
      border: 1px solid rgba(232,160,32,0.4);
      padding: 8px 16px; border-radius: 24px; margin-bottom: 20px;
      animation: badge3d 6s ease-in-out infinite;
    }
    .hero-diploma-tag span { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); }
    .hero-diploma-tag .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); animation: pulse 2s ease-in-out infinite; }

    .hero-title {
      font-family: var(--display); font-size: clamp(48px, 6.5vw, 78px);
      font-weight: 900; line-height: 1.0; color: var(--white);
      text-transform: uppercase; margin-bottom: 8px;
    }
    .hero-title .red { color: var(--red); }
    .hero-title .accent-line {
      display: block; font-size: 0.5em; letter-spacing: 6px;
      color: rgba(255,255,255,0.5); text-transform: uppercase; font-weight: 400;
      margin-bottom: 4px;
    }
    .hero-subtitle { font-size: 17px; color: rgba(255,255,255,0.75); font-style: italic; line-height: 1.55; margin-bottom: 24px; }
    .hero-meta-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
    .meta-pill {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      color: rgba(255,255,255,0.85); padding: 7px 14px; border-radius: 20px;
      font-family: var(--display); font-size: 13px; font-weight: 600;
      transition: all 0.3s var(--ease);
    }
    .meta-pill:hover { background: rgba(192,0,30,0.25); border-color: var(--red); }
    .meta-pill svg { width: 14px; height: 14px; }
    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

    /* 3D Visual cluster */
    .hero-3d-scene {
      position: relative; width: 100%; height: 520px;
      display: flex; align-items: center; justify-content: center;
      perspective: 1200px;
    }
    /* Central diploma card */
    .diploma-card-3d {
      position: absolute;
      width: 280px; height: 200px;
      background: linear-gradient(135deg, var(--white) 0%, #f0f4ff 100%);
      border-radius: var(--r-md);
      box-shadow: 0 30px 80px rgba(13,27,62,0.5), 0 0 0 1px rgba(255,255,255,0.1);
      padding: 24px;
      animation: pulse3d 6s ease-in-out infinite;
      z-index: 10;
      display: flex; flex-direction: column; justify-content: space-between;
    }
    .dc3d-top { display: flex; align-items: center; gap: 10px; }
    .dc3d-logo { width: 36px; height: 36px; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .dc3d-logo svg { width: 18px; height: 18px; }
    .dc3d-org { font-family: var(--display); font-size: 13px; font-weight: 700; color: var(--navy); line-height: 1.2; }
    .dc3d-org span { display: block; font-size: 10px; color: var(--muted); font-weight: 400; }
    .dc3d-title { font-family: var(--display); font-size: 18px; font-weight: 900; color: var(--navy); line-height: 1.2; }
    .dc3d-title em { color: var(--red); font-style: normal; display: block; font-size: 13px; font-weight: 700; }
    .dc3d-footer { display: flex; align-items: center; justify-content: space-between; }
    .dc3d-level { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; }
    .dc3d-badge { background: var(--red); color: var(--white); font-family: var(--display); font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 10px; }
    .dc3d-seal {
      position: absolute; bottom: -16px; right: -16px;
      width: 60px; height: 60px; border-radius: 50%;
      background: linear-gradient(135deg, var(--gold), #f5c842);
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 16px rgba(232,160,32,0.5);
      animation: rotateSlow 8s linear infinite;
    }
    .dc3d-seal svg { width: 28px; height: 28px; }

    /* Orbiting transport icons */
    .orbit-ring {
      position: absolute; top: 50%; left: 50%;
      width: 340px; height: 340px;
      margin: -170px 0 0 -170px;
      border-radius: 50%;
      border: 1px dashed rgba(255,255,255,0.1);
      z-index: 5;
    }
    .orbit-ring-2 {
      position: absolute; top: 50%; left: 50%;
      width: 240px; height: 240px;
      margin: -120px 0 0 -120px;
      border-radius: 50%;
      border: 1px dashed rgba(192,0,30,0.2);
    }

    .orbit-item {
      position: absolute; top: 50%; left: 50%;
      width: 52px; height: 52px; margin: -26px 0 0 -26px;
      background: rgba(255,255,255,0.08); backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    }
    .orbit-item svg { width: 24px; height: 24px; }
    .oi-1 { animation: orbit 12s linear infinite; }
    .oi-2 { animation: orbit 12s linear infinite; animation-delay: -4s; }
    .oi-3 { animation: orbit 12s linear infinite; animation-delay: -8s; }
    .oi-4 { animation: orbitReverse 8s linear infinite; }
    .oi-5 { animation: orbitReverse 8s linear infinite; animation-delay: -4s; }

    /* Floating mini cards */
    .mini-card-float {
      position: absolute;
      background: rgba(255,255,255,0.08); backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: var(--r-sm); padding: 12px 14px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    }
    .mc-top { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
    .mc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
    .mc-label { font-family: var(--display); font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.6); letter-spacing: 1px; text-transform: uppercase; }
    .mc-val { font-family: var(--display); font-size: 20px; font-weight: 900; color: var(--white); line-height: 1; }
    .mc-sub { font-size: 11px; color: rgba(255,255,255,0.55); margin-top: 2px; }
    .mf-tl { top: 40px; left: -10px; animation: float 7s ease-in-out infinite; }
    .mf-tr { top: 60px; right: 0px; animation: float 9s ease-in-out infinite 1s; }
    .mf-bl { bottom: 60px; left: 0; animation: float 8s ease-in-out infinite 2s; }
    .mf-br { bottom: 40px; right: -10px; animation: float 6s ease-in-out infinite 0.5s; }

    /* ============================================================
       STATS BAR
    ============================================================ */
    #stats-bar { background: var(--red); padding: 48px 0; }
    .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; }
    .stat-item { padding: 20px 16px; border-right: 1px solid rgba(255,255,255,0.2); transition: transform 0.3s var(--ease); }
    .stat-item:last-child { border-right: none; }
    .stat-item:hover { transform: scale(1.05); }
    .stat-num { font-family: var(--display); font-size: clamp(40px,5vw,60px); font-weight: 900; color: var(--white); line-height: 1; margin-bottom: 6px; }
    .stat-label { font-size: 13px; color: rgba(255,255,255,0.85); line-height: 1.4; }

    /* ============================================================
       PRÉSENTATION DE LA FORMATION
    ============================================================ */
    #formation-intro { background: var(--off); }
    .fi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
    .fi-info-blocks { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
    .info-block {
      display: flex; align-items: center; gap: 14px; padding: 14px 18px;
      background: var(--white); border-radius: var(--r-sm); border-left: 4px solid var(--red);
      box-shadow: var(--sh); transition: all 0.3s var(--ease);
    }
    .info-block:hover { transform: translateX(6px); box-shadow: var(--sh-lg); }
    .info-block .ib-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--navy); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .info-block .ib-icon svg { width: 20px; height: 20px; }
    .info-block .ib-text { font-size: 13px; color: var(--muted); line-height: 1.4; }
    .info-block .ib-text strong { display: block; font-size: 15px; color: var(--navy); font-family: var(--display); font-weight: 700; }

    /* 3D truck scene */
    .transport-3d-scene {
      position: relative; height: 420px;
      display: flex; align-items: center; justify-content: center;
      perspective: 800px;
    }
    .truck-3d {
      position: absolute; font-size: 100px; line-height: 1;
      animation: truckMove 4s ease-in-out infinite;
      filter: drop-shadow(0 20px 40px rgba(192,0,30,0.4));
      z-index: 5;
    }
    .road-3d {
      position: absolute; bottom: 60px; left: 10%; right: 10%;
      height: 6px; background: linear-gradient(90deg, transparent, rgba(13,27,62,0.3), transparent);
      border-radius: 3px;
    }
    .road-marking {
      position: absolute; bottom: 67px; left: 10%; right: 10%;
      height: 2px; 
      background: repeating-linear-gradient(90deg, var(--gold) 0, var(--gold) 20px, transparent 20px, transparent 40px);
    }
    .plane-3d {
      position: absolute; top: 40px; right: 10%; font-size: 52px; line-height: 1;
      animation: planeGlide 8s ease-in-out infinite;
      filter: drop-shadow(0 8px 20px rgba(13,27,62,0.3));
    }
    .ship-3d {
      position: absolute; bottom: 80px; left: 5%; font-size: 64px; line-height: 1;
      animation: shipRock 5s ease-in-out infinite;
      filter: drop-shadow(0 10px 24px rgba(13,27,62,0.35));
    }
    .planet-ring {
      position: absolute; top: 50%; left: 50%;
      width: 320px; height: 320px;
      margin: -160px 0 0 -160px;
      border-radius: 50%;
      border: 2px dashed rgba(13,27,62,0.1);
    }
    .planet-ring-2 {
      position: absolute; top: 50%; left: 50%;
      width: 220px; height: 220px;
      margin: -110px 0 0 -110px;
      border-radius: 50%;
      border: 2px dashed rgba(192,0,30,0.12);
    }
    .fi-tag-cluster {
      display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px;
    }
    .fi-tag {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      padding: 6px 14px; border-radius: 20px; background: var(--navy);
      color: var(--white); letter-spacing: 0.5px;
      transition: all 0.3s var(--ease);
    }
    .fi-tag:hover { background: var(--red); transform: scale(1.05); }
    .fi-tag.light { background: var(--gray); color: var(--navy); }
    .fi-tag.light:hover { background: var(--red); color: var(--white); }

    /* ============================================================
       OBJECTIFS (accordion style)
    ============================================================ */
    #objectifs { background: var(--white); }
    .obj-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
    .obj-list { display: flex; flex-direction: column; gap: 0; }
    .obj-item {
      display: flex; gap: 20px; align-items: flex-start;
      padding: 24px 0; border-bottom: 1px solid var(--gray);
      cursor: pointer; transition: all 0.3s var(--ease);
      position: relative;
    }
    .obj-item:last-child { border-bottom: none; }
    .obj-item::before {
      content: '';
      position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
      background: var(--red); transform: scaleY(0);
      transition: transform 0.3s var(--ease);
      transform-origin: top;
    }
    .obj-item:hover::before { transform: scaleY(1); }
    .obj-item:hover { padding-left: 12px; }
    .obj-num {
      width: 40px; height: 40px; border-radius: 50%;
      background: var(--off); color: var(--navy);
      font-family: var(--display); font-weight: 900; font-size: 16px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; transition: all 0.3s;
    }
    .obj-item:hover .obj-num { background: var(--red); color: var(--white); }
    .obj-content h4 { font-family: var(--display); font-size: 16px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .obj-content p  { font-size: 13px; color: var(--muted); line-height: 1.65; }

    /* Globe 3D visual */
    .globe-scene {
      position: relative; height: 380px;
      display: flex; align-items: center; justify-content: center;
    }
    .globe-core {
      width: 200px; height: 200px; border-radius: 50%;
      background: radial-gradient(circle at 35% 35%, #1a4a8a, var(--navy));
      box-shadow: 0 0 60px rgba(13,27,62,0.6), inset 0 0 40px rgba(255,255,255,0.05);
      position: relative; z-index: 5;
      animation: cardTilt 8s ease-in-out infinite;
    }
    .globe-meridian {
      position: absolute; inset: 0; border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.15);
    }
    .globe-ring-outer {
      position: absolute; top: 50%; left: 50%;
      width: 280px; height: 280px; margin: -140px 0 0 -140px;
      border-radius: 50%;
      border: 2px solid rgba(192,0,30,0.25);
      animation: rotateSlow 20s linear infinite;
    }
    .globe-ring-mid {
      position: absolute; top: 50%; left: 50%;
      width: 240px; height: 240px; margin: -120px 0 0 -120px;
      border-radius: 50%;
      border: 1px dashed rgba(232,160,32,0.3);
      animation: rotateSlow 15s linear infinite reverse;
    }
    .globe-dot {
      position: absolute; width: 10px; height: 10px;
      border-radius: 50%; background: var(--gold);
      top: -5px; left: 50%; margin-left: -5px;
      box-shadow: 0 0 10px rgba(232,160,32,0.6);
    }
    .globe-city {
      position: absolute; font-family: var(--display); font-size: 10px;
      font-weight: 700; letter-spacing: 1px; color: var(--gold);
      background: rgba(13,27,62,0.8); padding: 3px 8px; border-radius: 4px;
    }

    /* ============================================================
       PROGRAMME (timeline)
    ============================================================ */
    #programme { background: var(--off); }
    .prog-header { text-align: center; margin-bottom: 64px; }
    .prog-header .section-body { margin: 0 auto; }
    .prog-years { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
    .prog-year-card {
      background: var(--white); border-radius: var(--r-lg);
      overflow: hidden; box-shadow: var(--sh);
      transition: all 0.35s var(--ease);
    }
    .prog-year-card:hover { transform: translateY(-8px); box-shadow: var(--sh-lg); }
    .pyc-header { padding: 24px 28px; }
    .pyc-header.y1 { background: var(--navy); }
    .pyc-header.y2 { background: var(--red); }
    .pyc-year { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 4px; }
    .pyc-title { font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--white); }
    .pyc-body { padding: 28px; }
    .module-row {
      display: flex; align-items: flex-start; gap: 14px;
      padding: 14px 0; border-bottom: 1px solid var(--gray);
      transition: all 0.25s;
    }
    .module-row:last-child { border-bottom: none; padding-bottom: 0; }
    .module-row:hover { padding-left: 6px; }
    .module-hours {
      min-width: 50px; text-align: center; padding: 4px 6px;
      background: var(--navy); color: var(--white);
      border-radius: 6px; font-family: var(--display);
      font-size: 12px; font-weight: 700; flex-shrink: 0;
    }
    .prog-year-card:nth-child(2) .module-hours { background: var(--red); }
    .module-text { font-size: 13px; color: var(--text); line-height: 1.6; }
    .module-text strong { color: var(--navy); font-family: var(--display); font-weight: 700; font-size: 14px; display: block; margin-bottom: 2px; }
    .stage-banner {
      display: flex; align-items: center; gap: 16px;
      background: linear-gradient(135deg, var(--navy), var(--navy-mid));
      border-radius: var(--r-md); padding: 20px 24px; margin-top: 32px;
      box-shadow: var(--sh);
    }
    .stage-banner .sb-icon { font-size: 32px; }
    .stage-banner h4 { font-family: var(--display); font-size: 16px; font-weight: 700; color: var(--white); margin-bottom: 2px; }
    .stage-banner p  { font-size: 13px; color: rgba(255,255,255,0.7); }

    /* ============================================================
       ACCÈS & DÉBOUCHÉS
    ============================================================ */
    #acces-debouches { background: var(--navy); position: relative; overflow: hidden; }
    #acces-debouches::before {
      content: ''; position: absolute; bottom: -200px; right: -200px;
      width: 600px; height: 600px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,0,30,0.2) 0%, transparent 65%);
    }
    .ad-inner { position: relative; z-index: 1; }
    .ad-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
    .ad-col-title { font-family: var(--display); font-size: 26px; font-weight: 900; color: var(--white); margin-bottom: 24px; padding-bottom: 12px; border-bottom: 2px solid rgba(255,255,255,0.1); }
    .ad-col-title span { color: var(--red); }
    .access-pills { display: flex; flex-direction: column; gap: 12px; }
    .access-pill {
      display: flex; align-items: center; gap: 12px; padding: 14px 16px;
      background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
      border-radius: var(--r-sm); transition: all 0.3s var(--ease);
    }
    .access-pill:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); transform: translateX(6px); }
    .ap-icon { width: 36px; height: 36px; border-radius: 50%; background: var(--red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .ap-icon svg { width: 18px; height: 18px; }
    .ap-text { font-size: 13px; color: rgba(255,255,255,0.8); line-height: 1.5; }
    .ap-text strong { display: block; color: var(--white); font-family: var(--display); font-size: 14px; font-weight: 700; }
    .attendus-list { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; }
    .attendu-item { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: rgba(255,255,255,0.75); line-height: 1.55; }
    .attendu-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); margin-top: 6px; flex-shrink: 0; }

    .debouches-sectors { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
    .sector-card {
      display: flex; align-items: center; gap: 14px; padding: 16px;
      background: rgba(255,255,255,0.06); border-radius: var(--r-sm);
      border: 1px solid rgba(255,255,255,0.08); transition: all 0.3s var(--ease);
    }
    .sector-card:hover { background: rgba(255,255,255,0.12); transform: translateX(4px); }
    .sc-icon { font-size: 28px; flex-shrink: 0; }
    .sc-text h5 { font-family: var(--display); font-size: 14px; font-weight: 700; color: var(--white); margin-bottom: 2px; }
    .sc-text p  { font-size: 12px; color: rgba(255,255,255,0.6); line-height: 1.5; }

    /* ============================================================
       STATISTIQUES InserJeunes
    ============================================================ */
    #inserjeunes { background: var(--white); }
    .ij-header { text-align: center; margin-bottom: 56px; }
    .ij-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
    .ij-path {
      border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh);
    }
    .ij-path-header { padding: 24px 28px; }
    .ij-path-header.scolaire    { background: var(--navy); }
    .ij-path-header.apprentissage { background: var(--red); }
    .ij-path-tag  { font-family: var(--display); font-size: 10px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 4px; }
    .ij-path-name { font-family: var(--display); font-size: 20px; font-weight: 900; color: var(--white); }
    .ij-path-body { padding: 28px; background: var(--off); display: flex; flex-direction: column; gap: 16px; }
    .ij-stat-row { display: flex; align-items: center; gap: 16px; }
    .ij-pct {
      font-family: var(--display); font-size: 42px; font-weight: 900; min-width: 80px; text-align: right;
      flex-shrink: 0; line-height: 1;
    }
    .ij-path.scolaire     .ij-pct.emp { color: var(--navy); }
    .ij-path.scolaire     .ij-pct.form { color: var(--red); }
    .ij-path.scolaire     .ij-pct.other { color: var(--muted); }
    .ij-path.apprentissage .ij-pct.emp  { color: var(--red); }
    .ij-path.apprentissage .ij-pct.form { color: var(--navy); }
    .ij-path.apprentissage .ij-pct.other { color: var(--muted); }
    .ij-stat-info h5 { font-family: var(--display); font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 2px; }
    .ij-stat-info p  { font-size: 12px; color: var(--muted); line-height: 1.4; }
    .ij-bar { height: 6px; border-radius: 3px; background: var(--gray); margin-top: 4px; overflow: hidden; }
    .ij-bar-fill { height: 100%; border-radius: 3px; transition: width 1s var(--ease); }
    .ij-bar-fill.emp  { background: var(--navy); }
    .ij-bar-fill.form { background: var(--red); }
    .ij-bar-fill.other { background: var(--gray); }
    .ij-path.apprentissage .ij-bar-fill.emp { background: var(--red); }
    .ij-source { font-size: 12px; color: var(--muted); text-align: center; margin-top: 20px; font-style: italic; }

    /* ============================================================
       MÉTIERS (cards 3D hover)
    ============================================================ */
    #metiers { background: var(--off); }
    .metiers-header { text-align: center; margin-bottom: 56px; }
    .metiers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .metier-card {
      background: var(--white); border-radius: var(--r-md);
      padding: 28px 24px; box-shadow: var(--sh);
      transition: all 0.4s var(--ease);
      transform-style: preserve-3d;
      perspective: 600px;
      cursor: pointer;
    }
    .metier-card:hover {
      transform: perspective(600px) rotateX(-3deg) rotateY(5deg) translateY(-8px);
      box-shadow: var(--sh-lg), -8px 8px 0 var(--red);
    }
    .mc-emoji { font-size: 40px; margin-bottom: 14px; display: block; transition: transform 0.4s var(--ease); }
    .metier-card:hover .mc-emoji { transform: scale(1.2) rotate(-5deg); }
    .mc-title { font-family: var(--display); font-size: 17px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .mc-desc  { font-size: 13px; color: var(--muted); line-height: 1.6; }
    .mc-badge { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-family: var(--display); font-size: 11px; font-weight: 700; color: var(--red); letter-spacing: 1px; text-transform: uppercase; transition: gap 0.3s; }
    .metier-card:hover .mc-badge { gap: 10px; }

    /* ============================================================
       POURSUITES D'ÉTUDES
    ============================================================ */
    #poursuites { background: var(--white); }
    .poursuites-intro { max-width: 700px; margin: 0 auto 56px; text-align: center; }
    .poursuites-path {
      display: flex; flex-direction: column; gap: 0;
      max-width: 860px; margin: 0 auto;
      position: relative;
    }
    .poursuites-path::before {
      content: '';
      position: absolute; left: 23px; top: 0; bottom: 0;
      width: 2px; background: linear-gradient(to bottom, var(--red), var(--navy));
    }
    .path-item {
      display: flex; gap: 20px; align-items: flex-start;
      padding: 0 0 32px 0;
    }
    .path-item:last-child { padding-bottom: 0; }
    .path-num {
      width: 48px; height: 48px; border-radius: 50%;
      background: var(--white); border: 3px solid var(--red);
      color: var(--red); font-family: var(--display); font-weight: 900; font-size: 18px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; z-index: 1; position: relative;
      box-shadow: 0 0 0 6px var(--white);
    }
    .path-num.navy-border { border-color: var(--navy); color: var(--navy); }
    .path-content { padding-top: 8px; }
    .path-content h4 { font-family: var(--display); font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .path-content p  { font-size: 13px; color: var(--muted); line-height: 1.65; }
    .path-sub-list { list-style: none; margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
    .path-sub-list li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text); }
    .path-sub-list li::before { content: '→'; color: var(--red); font-weight: 700; }

    /* ============================================================
       CTA INSCRIPTION
    ============================================================ */
    #cta-inscription { background: var(--navy); position: relative; overflow: hidden; }
    #cta-inscription::before {
      content: ''; position: absolute; top: -150px; left: -150px;
      width: 500px; height: 500px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,0,30,0.2) 0%, transparent 65%);
    }
    .cta-inner { position: relative; z-index: 1; }
    .cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .cta-text h2 { font-family: var(--display); font-size: clamp(36px,5vw,60px); font-weight: 900; line-height: 1.05; color: var(--white); margin-bottom: 16px; }
    .cta-text h2 span { color: var(--red); }
    .cta-text p { font-size: 15px; color: rgba(255,255,255,0.7); line-height: 1.75; margin-bottom: 32px; }
    .cta-badges { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
    .cta-badge {
      display: flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      padding: 10px 16px; border-radius: var(--r-sm);
      font-family: var(--display); font-size: 13px; font-weight: 700; color: var(--white);
    }
    .cta-badge .cbd { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }

    /* Form */
    .cta-form {
      background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
      border-radius: var(--r-lg); padding: 36px;
    }
    .cta-form h3 { font-family: var(--display); font-size: 20px; font-weight: 700; color: var(--white); margin-bottom: 24px; }
    .form-row { margin-bottom: 14px; }
    .form-row label { display: block; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 6px; }
    .form-row input, .form-row select, .form-row textarea {
      width: 100%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      border-radius: var(--r-xs); padding: 12px 14px; font-family: var(--body);
      font-size: 14px; color: var(--white); outline: none; transition: border-color 0.3s;
    }
    .form-row input::placeholder, .form-row textarea::placeholder { color: rgba(255,255,255,0.3); }
    .form-row input:focus, .form-row select:focus { border-color: var(--red); }
    .form-row select { appearance: none; cursor: pointer; }
    .form-row select option { background: var(--navy); }
    .form-row textarea { height: 90px; resize: vertical; }
    .form-submit { width: 100%; padding: 16px; font-size: 16px; margin-top: 6px; }

    /* ============================================================
       FOOTER (identique au template)
    ============================================================ */
    footer#page-footer { background: var(--navy); border-top: 1px solid rgba(255,255,255,0.08); }
    .footer-top { padding: 64px 0 48px; }
    .footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .footer-headline { font-family: var(--display); font-size: clamp(32px,4vw,48px); font-weight: 900; color: var(--white); line-height: 1.1; margin-bottom: 12px; }
    .footer-headline span { color: var(--red); }
    .footer-desc { font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.7; }
    .contact-items { display: flex; flex-direction: column; gap: 16px; }
    .contact-item { display: flex; align-items: center; gap: 14px; }
    .ci-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .ci-icon svg { width: 20px; height: 20px; }
    .ci-label { font-size: 11px; color: rgba(255,255,255,0.5); margin-bottom: 1px; }
    .ci-value { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--white); }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 20px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
    .footer-bottom p { font-size: 13px; color: rgba(255,255,255,0.4); }
    .social-links { display: flex; gap: 10px; }
    .social-link { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); font-family: var(--display); font-size: 11px; font-weight: 700; transition: all 0.3s; }
    .social-link:hover { background: var(--red); border-color: var(--red); color: var(--white); transform: translateY(-2px); }

    /* ============================================================
       RESPONSIVE
    ============================================================ */
    @media (max-width: 1024px) {
      .hero-grid, .fi-grid, .obj-grid, .ad-grid, .ij-grid, .cta-grid, .footer-grid, .poursuites-path { grid-template-columns: 1fr; gap: 40px; }
      .prog-years { grid-template-columns: 1fr; }
      .metiers-grid { grid-template-columns: repeat(2, 1fr); }
      .hero-3d-scene { height: 360px; }
      .transport-3d-scene { height: 300px; }
    }
    @media (max-width: 768px) {
      .section-pad { padding: 56px 0; }
      .section-pad-lg { padding: 64px 0; }
      .container { padding: 0 16px; }
      .nav-links { display: none; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
      .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.2); }
      .metiers-grid { grid-template-columns: 1fr; }
      .hero-actions { flex-direction: column; }
      .hero-3d-scene, .transport-3d-scene, .globe-scene { height: 280px; }
      .orbit-ring { width: 240px; height: 240px; margin: -120px 0 0 -120px; }
      .diploma-card-3d { width: 220px; height: 160px; }
      .mini-card-float { display: none; }
      .poursuites-path::before { left: 20px; }
      .footer-bottom { flex-direction: column; align-items: flex-start; }
      .cta-form { padding: 20px; }
    }
/* ============================================================
       CSS VARIABLES & RESET (identique au template)
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --red:      #c0001e;
      --red-dark: #8c0015;
      --navy:     #0d1b3e;
      --navy-mid: #1a2f5e;
      --white:    #ffffff;
      --off:      #f7f7f5;
      --gray:     #e8e8e6;
      --text:     #1c1c2e;
      --muted:    #555566;
      --gold:     #e8a020;
      --display:  'Barlow Condensed', sans-serif;
      --body:     'Lora', serif;
      --r-xs: 6px; --r-sm: 12px; --r-md: 20px; --r-lg: 32px;
      --sh: 0 4px 24px rgba(13,27,62,0.10);
      --sh-lg: 0 12px 48px rgba(13,27,62,0.18);
      --ease: cubic-bezier(0.22, 1, 0.36, 1);
      --dur: 0.6s;
    }

    html { scroll-behavior: smooth; }
    body { font-family: var(--body); color: var(--text); background: var(--white); line-height: 1.7; overflow-x: hidden; }
    img  { max-width: 100%; display: block; }
    a    { text-decoration: none; color: inherit; }

    /* ============================================================
       3D ANIMATIONS
    ============================================================ */
    @keyframes float3d {
      0%   { transform: perspective(1000px) rotateY(0deg)   rotateX(2deg) translateY(0px); }
      25%  { transform: perspective(1000px) rotateY(4deg)   rotateX(-1deg) translateY(-8px); }
      50%  { transform: perspective(1000px) rotateY(0deg)   rotateX(-2deg) translateY(-14px); }
      75%  { transform: perspective(1000px) rotateY(-4deg)  rotateX(1deg) translateY(-8px); }
      100% { transform: perspective(1000px) rotateY(0deg)   rotateX(2deg) translateY(0px); }
    }
    @keyframes orbit {
      from { transform: rotate(0deg) translateX(120px) rotate(0deg); }
      to   { transform: rotate(360deg) translateX(120px) rotate(-360deg); }
    }
    @keyframes orbitReverse {
      from { transform: rotate(0deg) translateX(90px) rotate(0deg); }
      to   { transform: rotate(-360deg) translateX(90px) rotate(360deg); }
    }
    @keyframes spin3d {
      0%   { transform: perspective(800px) rotateY(0deg); }
      100% { transform: perspective(800px) rotateY(360deg); }
    }
    @keyframes pulse3d {
      0%, 100% { box-shadow: 0 20px 60px rgba(192,0,30,0.4), 0 0 0 0 rgba(192,0,30,0.3); transform: perspective(800px) rotateY(-5deg) scale(1); }
      50%       { box-shadow: 0 30px 80px rgba(192,0,30,0.6), 0 0 40px 10px rgba(192,0,30,0.1); transform: perspective(800px) rotateY(5deg) scale(1.02); }
    }
    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50%       { transform: translateY(-12px); }
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(40px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(192,0,30,0.4); }
      50%       { box-shadow: 0 0 0 16px rgba(192,0,30,0); }
    }
    @keyframes shimmer {
      0%   { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    @keyframes rotateSlow {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes badge3d {
      0%   { transform: perspective(600px) rotateX(0deg) rotateY(0deg) translateZ(0px); }
      33%  { transform: perspective(600px) rotateX(5deg) rotateY(10deg) translateZ(10px); }
      66%  { transform: perspective(600px) rotateX(-3deg) rotateY(-8deg) translateZ(5px); }
      100% { transform: perspective(600px) rotateX(0deg) rotateY(0deg) translateZ(0px); }
    }
    @keyframes truckMove {
      0%, 100% { transform: translateX(0px) perspective(400px) rotateY(-8deg); }
      50%       { transform: translateX(12px) perspective(400px) rotateY(8deg); }
    }
    @keyframes planeGlide {
      0%   { transform: translateX(-30px) translateY(10px) rotate(-5deg); opacity: 0; }
      20%  { opacity: 1; }
      80%  { opacity: 1; }
      100% { transform: translateX(30px) translateY(-10px) rotate(5deg); opacity: 0; }
    }
    @keyframes shipRock {
      0%, 100% { transform: perspective(600px) rotateZ(-2deg) rotateY(-5deg); }
      50%       { transform: perspective(600px) rotateZ(2deg) rotateY(5deg); }
    }
    @keyframes statCount {
      from { opacity: 0; transform: translateY(20px) scale(0.8); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes cardTilt {
      0%, 100% { transform: perspective(800px) rotateX(0deg) rotateY(0deg); }
      25%       { transform: perspective(800px) rotateX(2deg) rotateY(4deg); }
      75%       { transform: perspective(800px) rotateX(-2deg) rotateY(-4deg); }
    }

    /* Scroll reveal */
    .reveal       { opacity: 0; transform: translateY(40px);   transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
    .reveal-left  { opacity: 0; transform: translateX(-40px);  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
    .reveal-right { opacity: 0; transform: translateX(40px);   transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
    .reveal.visible, .reveal-left.visible, .reveal-right.visible { opacity: 1; transform: none; }

    /* ============================================================
       UTILITIES (identiques au template)
    ============================================================ */
    .container    { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
    .section-pad  { padding: 80px 0; }
    .section-pad-lg { padding: 100px 0; }
    .section-pad-sm { padding: 56px 0; }

    .badge {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: 3px; text-transform: uppercase; color: var(--red); margin-bottom: 12px;
    }
    .badge::before { content: ''; width: 28px; height: 2px; background: var(--red); display: inline-block; }

    .section-title { font-family: var(--display); font-size: clamp(32px,5vw,52px); font-weight: 900; line-height: 1.05; color: var(--navy); margin-bottom: 20px; }
    .section-title .accent { color: var(--red); }
    .section-body  { font-size: 15px; color: var(--muted); line-height: 1.75; max-width: 600px; }

    .btn {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--display); font-weight: 700; font-size: 15px;
      letter-spacing: 1px; padding: 14px 28px; border-radius: var(--r-xs);
      cursor: pointer; transition: all 0.3s var(--ease); border: none; outline: none;
    }
    .btn-red   { background: var(--red);  color: var(--white); }
    .btn-red:hover   { background: var(--red-dark); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(192,0,30,0.35); }
    .btn-navy  { background: var(--navy); color: var(--white); }
    .btn-navy:hover  { background: var(--navy-mid); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(13,27,62,0.35); }
    .btn-outline-white { background: transparent; color: var(--white); border: 2px solid rgba(255,255,255,0.6); }
    .btn-outline-white:hover { background: var(--white); color: var(--navy); }
    .btn-ghost { background: transparent; color: var(--red); border: 2px solid var(--red); }
    .btn-ghost:hover { background: var(--red); color: var(--white); transform: translateY(-2px); }

    /* ============================================================
       NAVIGATION (identique au template)
    ============================================================ */
    nav {
      position: sticky; top: 0; z-index: 100;
      background: var(--navy);
      box-shadow: 0 2px 20px rgba(13,27,62,0.3);
    }
    .nav-inner {
      display: flex; align-items: center; justify-content: space-between;
      padding: 14px 24px; max-width: 1180px; margin: 0 auto;
    }
    .nav-logo { display: flex; align-items: center; gap: 10px; }
    .nav-logo-icon { width: 42px; height: 42px; background: var(--red); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .nav-logo-icon svg { width: 22px; height: 22px; }
    .nav-logo-text { font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--white); line-height: 1.2; }
    .nav-logo-sub  { font-size: 11px; color: rgba(255,255,255,0.6); }
    .nav-back { display: flex; align-items: center; gap: 8px; font-family: var(--display); font-size: 13px; color: rgba(255,255,255,0.7); padding: 8px 14px; border-radius: var(--r-xs); transition: all 0.25s; border: 1px solid rgba(255,255,255,0.15); }
    .nav-back:hover { color: var(--white); background: rgba(255,255,255,0.1); }
    .nav-links { display: flex; align-items: center; gap: 4px; list-style: none; }
    .nav-links a { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: 0.5px; color: rgba(255,255,255,0.8); padding: 8px 14px; border-radius: var(--r-xs); transition: all 0.25s; }
    .nav-links a:hover { color: var(--white); background: rgba(255,255,255,0.1); }

    .breadcrumb {
      background: var(--off); padding: 14px 0; border-bottom: 1px solid var(--gray);
    }
    .breadcrumb-inner { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
    .breadcrumb-inner a { color: var(--red); transition: opacity 0.2s; }
    .breadcrumb-inner a:hover { opacity: 0.75; }
    .breadcrumb-inner span { color: var(--gray); }

    /* ============================================================
       HERO 3D
    ============================================================ */
    /* ============================================================
       HERO GOTRM — REFAIT
    ============================================================ */
    #gotrm-hero {
      background: var(--navy);
      position: relative; overflow: hidden;
      padding: 80px 0 0;
      min-height: 640px;
    }
    #gotrm-hero::before {
      content: '';
      position: absolute; top: -200px; right: -200px;
      width: 800px; height: 800px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,0,30,0.15) 0%, transparent 65%);
      pointer-events: none;
    }
    #gotrm-hero::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 80px;
      background: linear-gradient(to bottom, transparent, var(--off));
    }

    /* Particules background */
    .hero-particles {
      position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0;
    }
    @keyframes particleDrift {
      0%   { transform: translateY(0) translateX(0); opacity: 0.6; }
      50%  { transform: translateY(-60px) translateX(20px); opacity: 0.2; }
      100% { transform: translateY(-120px) translateX(-10px); opacity: 0; }
    }

    /* Hero grid */
    .hero-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 60px; align-items: center;
      position: relative; z-index: 1;
      padding-bottom: 100px;
    }

    /* Left text */
    .hero-diploma-tag {
      display: inline-flex; align-items: center; gap: 10px;
      background: linear-gradient(135deg, rgba(232,160,32,0.15), rgba(232,160,32,0.05));
      border: 1px solid rgba(232,160,32,0.4);
      padding: 8px 16px; border-radius: 24px; margin-bottom: 20px;
      animation: badge3d 6s ease-in-out infinite;
    }
    .hero-diploma-tag span { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); }
    .hero-diploma-tag .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); animation: pulse 2s ease-in-out infinite; }

    .hero-title {
      font-family: var(--display); font-size: clamp(48px, 6.5vw, 78px);
      font-weight: 900; line-height: 1.0; color: var(--white);
      text-transform: uppercase; margin-bottom: 8px;
    }
    .hero-title .red { color: var(--red); }
    .hero-title .accent-line {
      display: block; font-size: 0.5em; letter-spacing: 6px;
      color: rgba(255,255,255,0.5); text-transform: uppercase; font-weight: 400;
      margin-bottom: 4px;
    }
    .hero-subtitle { font-size: 16px; color: rgba(255,255,255,0.7); font-style: italic; line-height: 1.6; margin-bottom: 24px; }
    .hero-meta-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
    .meta-pill {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      color: rgba(255,255,255,0.85); padding: 7px 14px; border-radius: 20px;
      font-family: var(--display); font-size: 13px; font-weight: 600;
      transition: all 0.3s var(--ease);
    }
    .meta-pill:hover { background: rgba(192,0,30,0.25); border-color: var(--red); }
    .meta-pill svg { width: 14px; height: 14px; }
    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

    /* ── 3D IMAGE CLUSTER (nouveau) ── */
    .hero-3d-scene {
      position: relative; width: 100%; height: 540px;
      display: flex; align-items: center; justify-content: center;
    }

    /* Anneau tournant extérieur */
    @keyframes spinRing { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }
    @keyframes spinRingRev { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(-360deg); } }

    .hr-ring-outer {
      position: absolute; top: 50%; left: 50%;
      width: 440px; height: 440px;
      border-radius: 50%;
      border: 1px dashed rgba(192,0,30,0.25);
      animation: spinRing 28s linear infinite;
      pointer-events: none;
    }
    .hr-ring-mid {
      position: absolute; top: 50%; left: 50%;
      width: 320px; height: 320px;
      border-radius: 50%;
      border: 1px dashed rgba(232,160,32,0.2);
      animation: spinRingRev 18s linear infinite;
      pointer-events: none;
    }

    /* Image centrale — camion en perspective */
    .hero-img-main {
      position: absolute; top: 50%; left: 50%;
      width: 220px; height: 220px;
      margin: -110px 0 0 -110px;
      border-radius: 50%;
      overflow: hidden;
      border: 5px solid var(--red);
      box-shadow: 0 0 0 3px rgba(192,0,30,0.3), 0 24px 80px rgba(0,0,0,0.6);
      animation: float3d 9s ease-in-out infinite;
      z-index: 10;
    }
    .hero-img-main img {
      width: 100%; height: 100%; object-fit: cover;
      animation: panImg 14s ease-in-out infinite;
    }
    @keyframes panImg { 0%{transform:scale(1.08) translateX(0)} 50%{transform:scale(1.12) translateX(-10px)} 100%{transform:scale(1.08) translateX(0)} }

    /* Badge RNCP sur l'image centrale */
    .hero-img-main-badge {
      position: absolute; top: 50%; left: 50%;
      margin: -72px 0 0 70px;
      background: var(--gold);
      color: var(--navy);
      font-family: var(--display); font-size: 11px; font-weight: 900;
      letter-spacing: 1px; text-transform: uppercase;
      padding: 6px 12px; border-radius: 20px;
      box-shadow: 0 4px 16px rgba(232,160,32,0.5);
      white-space: nowrap; z-index: 15;
      animation: float 5s ease-in-out infinite 1s;
    }

    /* 3 images satellites en orbite fixe */
    .hero-img-sat {
      position: absolute; top: 50%; left: 50%;
      border-radius: 16px; overflow: hidden;
      border: 3px solid rgba(255,255,255,0.2);
      box-shadow: 0 12px 40px rgba(0,0,0,0.5);
      z-index: 8;
    }
    .hero-img-sat img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.5s var(--ease);
    }
    .hero-img-sat:hover img { transform: scale(1.08); }
    .hero-img-sat:hover { border-color: var(--red); box-shadow: 0 16px 50px rgba(192,0,30,0.4); }

    /* Positions satellites — triangle autour du centre */
    .his-1 {
      width: 140px; height: 100px;
      margin: -180px 0 0 60px;
      animation: float 8s ease-in-out infinite 0.5s;
      transform: perspective(600px) rotateX(8deg) rotateY(-10deg);
    }
    .his-2 {
      width: 130px; height: 95px;
      margin: 40px 0 0 110px;
      animation: float 7s ease-in-out infinite 2s;
      transform: perspective(600px) rotateX(-6deg) rotateY(8deg);
    }
    .his-3 {
      width: 135px; height: 100px;
      margin: -60px 0 0 -240px;
      animation: float 9s ease-in-out infinite 1s;
      transform: perspective(600px) rotateX(5deg) rotateY(12deg);
    }

    /* Étiquettes sur les satellites */
    .his-label {
      position: absolute; bottom: 0; left: 0; right: 0;
      background: linear-gradient(to top, rgba(13,27,62,0.95), transparent);
      padding: 16px 8px 6px;
      font-family: var(--display); font-size: 10px; font-weight: 700;
      letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.9);
      text-align: center;
    }

    /* Mini stats flottantes */
    .mini-card-float {
      position: absolute;
      background: rgba(13,27,62,0.85); backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: var(--r-sm); padding: 12px 14px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.4);
      z-index: 20;
    }
    .mc-top { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
    .mc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }
    .mc-label { font-family: var(--display); font-size: 10px; font-weight: 700; color: rgba(255,255,255,0.55); letter-spacing: 1px; text-transform: uppercase; }
    .mc-val { font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--white); line-height: 1; }
    .mc-sub { font-size: 11px; color: rgba(255,255,255,0.5); margin-top: 2px; line-height: 1.3; }
    .mf-tl { top: 30px; left: -20px; animation: float 7s ease-in-out infinite; }
    .mf-tr { top: 50px; right: -10px; animation: float 9s ease-in-out infinite 1s; }
    .mf-bl { bottom: 80px; left: 10px; animation: float 8s ease-in-out infinite 2s; }
    .mf-br { bottom: 60px; right: -10px; animation: float 6s ease-in-out infinite 0.5s; }

    .hero-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 60px; align-items: center;
      position: relative; z-index: 1;
      padding-bottom: 80px;
    }
    .hero-diploma-tag {
      display: inline-flex; align-items: center; gap: 10px;
      background: linear-gradient(135deg, rgba(232,160,32,0.15), rgba(232,160,32,0.05));
      border: 1px solid rgba(232,160,32,0.4);
      padding: 8px 16px; border-radius: 24px; margin-bottom: 20px;
      animation: badge3d 6s ease-in-out infinite;
    }
    .hero-diploma-tag span { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); }
    .hero-diploma-tag .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); animation: pulse 2s ease-in-out infinite; }

    .hero-title {
      font-family: var(--display); font-size: clamp(48px, 6.5vw, 78px);
      font-weight: 900; line-height: 1.0; color: var(--white);
      text-transform: uppercase; margin-bottom: 8px;
    }
    .hero-title .red { color: var(--red); }
    .hero-title .accent-line {
      display: block; font-size: 0.5em; letter-spacing: 6px;
      color: rgba(255,255,255,0.5); text-transform: uppercase; font-weight: 400;
      margin-bottom: 4px;
    }
    .hero-subtitle { font-size: 17px; color: rgba(255,255,255,0.75); font-style: italic; line-height: 1.55; margin-bottom: 24px; }
    .hero-meta-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
    .meta-pill {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      color: rgba(255,255,255,0.85); padding: 7px 14px; border-radius: 20px;
      font-family: var(--display); font-size: 13px; font-weight: 600;
      transition: all 0.3s var(--ease);
    }
    .meta-pill:hover { background: rgba(192,0,30,0.25); border-color: var(--red); }
    .meta-pill svg { width: 14px; height: 14px; }
    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

    /* 3D Visual cluster */
    .hero-3d-scene {
      position: relative; width: 100%; height: 520px;
      display: flex; align-items: center; justify-content: center;
      perspective: 1200px;
    }
    /* Central diploma card */
    .diploma-card-3d {
      position: absolute;
      width: 280px; height: 200px;
      background: linear-gradient(135deg, var(--white) 0%, #f0f4ff 100%);
      border-radius: var(--r-md);
      box-shadow: 0 30px 80px rgba(13,27,62,0.5), 0 0 0 1px rgba(255,255,255,0.1);
      padding: 24px;
      animation: pulse3d 6s ease-in-out infinite;
      z-index: 10;
      display: flex; flex-direction: column; justify-content: space-between;
    }
    .dc3d-top { display: flex; align-items: center; gap: 10px; }
    .dc3d-logo { width: 36px; height: 36px; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .dc3d-logo svg { width: 18px; height: 18px; }
    .dc3d-org { font-family: var(--display); font-size: 13px; font-weight: 700; color: var(--navy); line-height: 1.2; }
    .dc3d-org span { display: block; font-size: 10px; color: var(--muted); font-weight: 400; }
    .dc3d-title { font-family: var(--display); font-size: 18px; font-weight: 900; color: var(--navy); line-height: 1.2; }
    .dc3d-title em { color: var(--red); font-style: normal; display: block; font-size: 13px; font-weight: 700; }
    .dc3d-footer { display: flex; align-items: center; justify-content: space-between; }
    .dc3d-level { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; }
    .dc3d-badge { background: var(--red); color: var(--white); font-family: var(--display); font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 10px; }
    .dc3d-seal {
      position: absolute; bottom: -16px; right: -16px;
      width: 60px; height: 60px; border-radius: 50%;
      background: linear-gradient(135deg, var(--gold), #f5c842);
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 16px rgba(232,160,32,0.5);
      animation: rotateSlow 8s linear infinite;
    }
    .dc3d-seal svg { width: 28px; height: 28px; }

    /* Orbiting transport icons */
    .orbit-ring {
      position: absolute; top: 50%; left: 50%;
      width: 340px; height: 340px;
      margin: -170px 0 0 -170px;
      border-radius: 50%;
      border: 1px dashed rgba(255,255,255,0.1);
      z-index: 5;
    }
    .orbit-ring-2 {
      position: absolute; top: 50%; left: 50%;
      width: 240px; height: 240px;
      margin: -120px 0 0 -120px;
      border-radius: 50%;
      border: 1px dashed rgba(192,0,30,0.2);
    }

    .orbit-item {
      position: absolute; top: 50%; left: 50%;
      width: 52px; height: 52px; margin: -26px 0 0 -26px;
      background: rgba(255,255,255,0.08); backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    }
    .orbit-item svg { width: 24px; height: 24px; }
    .oi-1 { animation: orbit 12s linear infinite; }
    .oi-2 { animation: orbit 12s linear infinite; animation-delay: -4s; }
    .oi-3 { animation: orbit 12s linear infinite; animation-delay: -8s; }
    .oi-4 { animation: orbitReverse 8s linear infinite; }
    .oi-5 { animation: orbitReverse 8s linear infinite; animation-delay: -4s; }

    /* Floating mini cards */
    .mini-card-float {
      position: absolute;
      background: rgba(255,255,255,0.08); backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: var(--r-sm); padding: 12px 14px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    }
    .mc-top { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
    .mc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
    .mc-label { font-family: var(--display); font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.6); letter-spacing: 1px; text-transform: uppercase; }
    .mc-val { font-family: var(--display); font-size: 20px; font-weight: 900; color: var(--white); line-height: 1; }
    .mc-sub { font-size: 11px; color: rgba(255,255,255,0.55); margin-top: 2px; }
    .mf-tl { top: 40px; left: -10px; animation: float 7s ease-in-out infinite; }
    .mf-tr { top: 60px; right: 0px; animation: float 9s ease-in-out infinite 1s; }
    .mf-bl { bottom: 60px; left: 0; animation: float 8s ease-in-out infinite 2s; }
    .mf-br { bottom: 40px; right: -10px; animation: float 6s ease-in-out infinite 0.5s; }

    /* ============================================================
       STATS BAR
    ============================================================ */
    #stats-bar { background: var(--red); padding: 48px 0; }
    .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; }
    .stat-item { padding: 20px 16px; border-right: 1px solid rgba(255,255,255,0.2); transition: transform 0.3s var(--ease); }
    .stat-item:last-child { border-right: none; }
    .stat-item:hover { transform: scale(1.05); }
    .stat-num { font-family: var(--display); font-size: clamp(40px,5vw,60px); font-weight: 900; color: var(--white); line-height: 1; margin-bottom: 6px; }
    .stat-label { font-size: 13px; color: rgba(255,255,255,0.85); line-height: 1.4; }

    /* ============================================================
       PRÉSENTATION DE LA FORMATION
    ============================================================ */
    #formation-intro { background: var(--off); }
    .fi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
    .fi-info-blocks { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
    .info-block {
      display: flex; align-items: center; gap: 14px; padding: 14px 18px;
      background: var(--white); border-radius: var(--r-sm); border-left: 4px solid var(--red);
      box-shadow: var(--sh); transition: all 0.3s var(--ease);
    }
    .info-block:hover { transform: translateX(6px); box-shadow: var(--sh-lg); }
    .info-block .ib-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--navy); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .info-block .ib-icon svg { width: 20px; height: 20px; }
    .info-block .ib-text { font-size: 13px; color: var(--muted); line-height: 1.4; }
    .info-block .ib-text strong { display: block; font-size: 15px; color: var(--navy); font-family: var(--display); font-weight: 700; }

    /* 3D truck scene */
    .transport-3d-scene {
      position: relative; height: 420px;
      display: flex; align-items: center; justify-content: center;
      perspective: 800px;
    }
    .truck-3d {
      position: absolute; font-size: 100px; line-height: 1;
      animation: truckMove 4s ease-in-out infinite;
      filter: drop-shadow(0 20px 40px rgba(192,0,30,0.4));
      z-index: 5;
    }
    .road-3d {
      position: absolute; bottom: 60px; left: 10%; right: 10%;
      height: 6px; background: linear-gradient(90deg, transparent, rgba(13,27,62,0.3), transparent);
      border-radius: 3px;
    }
    .road-marking {
      position: absolute; bottom: 67px; left: 10%; right: 10%;
      height: 2px; 
      background: repeating-linear-gradient(90deg, var(--gold) 0, var(--gold) 20px, transparent 20px, transparent 40px);
    }
    .plane-3d {
      position: absolute; top: 40px; right: 10%; font-size: 52px; line-height: 1;
      animation: planeGlide 8s ease-in-out infinite;
      filter: drop-shadow(0 8px 20px rgba(13,27,62,0.3));
    }
    .ship-3d {
      position: absolute; bottom: 80px; left: 5%; font-size: 64px; line-height: 1;
      animation: shipRock 5s ease-in-out infinite;
      filter: drop-shadow(0 10px 24px rgba(13,27,62,0.35));
    }
    .planet-ring {
      position: absolute; top: 50%; left: 50%;
      width: 320px; height: 320px;
      margin: -160px 0 0 -160px;
      border-radius: 50%;
      border: 2px dashed rgba(13,27,62,0.1);
    }
    .planet-ring-2 {
      position: absolute; top: 50%; left: 50%;
      width: 220px; height: 220px;
      margin: -110px 0 0 -110px;
      border-radius: 50%;
      border: 2px dashed rgba(192,0,30,0.12);
    }
    .fi-tag-cluster {
      display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px;
    }
    .fi-tag {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      padding: 6px 14px; border-radius: 20px; background: var(--navy);
      color: var(--white); letter-spacing: 0.5px;
      transition: all 0.3s var(--ease);
    }
    .fi-tag:hover { background: var(--red); transform: scale(1.05); }
    .fi-tag.light { background: var(--gray); color: var(--navy); }
    .fi-tag.light:hover { background: var(--red); color: var(--white); }

    /* ============================================================
       OBJECTIFS (accordion style)
    ============================================================ */
    #objectifs { background: var(--white); }
    .obj-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
    .obj-list { display: flex; flex-direction: column; gap: 0; }
    .obj-item {
      display: flex; gap: 20px; align-items: flex-start;
      padding: 24px 0; border-bottom: 1px solid var(--gray);
      cursor: pointer; transition: all 0.3s var(--ease);
      position: relative;
    }
    .obj-item:last-child { border-bottom: none; }
    .obj-item::before {
      content: '';
      position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
      background: var(--red); transform: scaleY(0);
      transition: transform 0.3s var(--ease);
      transform-origin: top;
    }
    .obj-item:hover::before { transform: scaleY(1); }
    .obj-item:hover { padding-left: 12px; }
    .obj-num {
      width: 40px; height: 40px; border-radius: 50%;
      background: var(--off); color: var(--navy);
      font-family: var(--display); font-weight: 900; font-size: 16px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; transition: all 0.3s;
    }
    .obj-item:hover .obj-num { background: var(--red); color: var(--white); }
    .obj-content h4 { font-family: var(--display); font-size: 16px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .obj-content p  { font-size: 13px; color: var(--muted); line-height: 1.65; }

    /* Globe 3D visual */
    .globe-scene {
      position: relative; height: 380px;
      display: flex; align-items: center; justify-content: center;
    }
    .globe-core {
      width: 200px; height: 200px; border-radius: 50%;
      background: radial-gradient(circle at 35% 35%, #1a4a8a, var(--navy));
      box-shadow: 0 0 60px rgba(13,27,62,0.6), inset 0 0 40px rgba(255,255,255,0.05);
      position: relative; z-index: 5;
      animation: cardTilt 8s ease-in-out infinite;
    }
    .globe-meridian {
      position: absolute; inset: 0; border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.15);
    }
    .globe-ring-outer {
      position: absolute; top: 50%; left: 50%;
      width: 280px; height: 280px; margin: -140px 0 0 -140px;
      border-radius: 50%;
      border: 2px solid rgba(192,0,30,0.25);
      animation: rotateSlow 20s linear infinite;
    }
    .globe-ring-mid {
      position: absolute; top: 50%; left: 50%;
      width: 240px; height: 240px; margin: -120px 0 0 -120px;
      border-radius: 50%;
      border: 1px dashed rgba(232,160,32,0.3);
      animation: rotateSlow 15s linear infinite reverse;
    }
    .globe-dot {
      position: absolute; width: 10px; height: 10px;
      border-radius: 50%; background: var(--gold);
      top: -5px; left: 50%; margin-left: -5px;
      box-shadow: 0 0 10px rgba(232,160,32,0.6);
    }
    .globe-city {
      position: absolute; font-family: var(--display); font-size: 10px;
      font-weight: 700; letter-spacing: 1px; color: var(--gold);
      background: rgba(13,27,62,0.8); padding: 3px 8px; border-radius: 4px;
    }

    /* ============================================================
       PROGRAMME (timeline)
    ============================================================ */
    #programme { background: var(--off); }
    .prog-header { text-align: center; margin-bottom: 64px; }
    .prog-header .section-body { margin: 0 auto; }
    .prog-years { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
    .prog-year-card {
      background: var(--white); border-radius: var(--r-lg);
      overflow: hidden; box-shadow: var(--sh);
      transition: all 0.35s var(--ease);
    }
    .prog-year-card:hover { transform: translateY(-8px); box-shadow: var(--sh-lg); }
    .pyc-header { padding: 24px 28px; }
    .pyc-header.y1 { background: var(--navy); }
    .pyc-header.y2 { background: var(--red); }
    .pyc-year { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 4px; }
    .pyc-title { font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--white); }
    .pyc-body { padding: 28px; }
    .module-row {
      display: flex; align-items: flex-start; gap: 14px;
      padding: 14px 0; border-bottom: 1px solid var(--gray);
      transition: all 0.25s;
    }
    .module-row:last-child { border-bottom: none; padding-bottom: 0; }
    .module-row:hover { padding-left: 6px; }
    .module-hours {
      min-width: 50px; text-align: center; padding: 4px 6px;
      background: var(--navy); color: var(--white);
      border-radius: 6px; font-family: var(--display);
      font-size: 12px; font-weight: 700; flex-shrink: 0;
    }
    .prog-year-card:nth-child(2) .module-hours { background: var(--red); }
    .module-text { font-size: 13px; color: var(--text); line-height: 1.6; }
    .module-text strong { color: var(--navy); font-family: var(--display); font-weight: 700; font-size: 14px; display: block; margin-bottom: 2px; }
    .stage-banner {
      display: flex; align-items: center; gap: 16px;
      background: linear-gradient(135deg, var(--navy), var(--navy-mid));
      border-radius: var(--r-md); padding: 20px 24px; margin-top: 32px;
      box-shadow: var(--sh);
    }
    .stage-banner .sb-icon { font-size: 32px; }
    .stage-banner h4 { font-family: var(--display); font-size: 16px; font-weight: 700; color: var(--white); margin-bottom: 2px; }
    .stage-banner p  { font-size: 13px; color: rgba(255,255,255,0.7); }

    /* ============================================================
       ACCÈS & DÉBOUCHÉS
    ============================================================ */
    #acces-debouches { background: var(--navy); position: relative; overflow: hidden; }
    #acces-debouches::before {
      content: ''; position: absolute; bottom: -200px; right: -200px;
      width: 600px; height: 600px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,0,30,0.2) 0%, transparent 65%);
    }
    .ad-inner { position: relative; z-index: 1; }
    .ad-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
    .ad-col-title { font-family: var(--display); font-size: 26px; font-weight: 900; color: var(--white); margin-bottom: 24px; padding-bottom: 12px; border-bottom: 2px solid rgba(255,255,255,0.1); }
    .ad-col-title span { color: var(--red); }
    .access-pills { display: flex; flex-direction: column; gap: 12px; }
    .access-pill {
      display: flex; align-items: center; gap: 12px; padding: 14px 16px;
      background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
      border-radius: var(--r-sm); transition: all 0.3s var(--ease);
    }
    .access-pill:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); transform: translateX(6px); }
    .ap-icon { width: 36px; height: 36px; border-radius: 50%; background: var(--red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .ap-icon svg { width: 18px; height: 18px; }
    .ap-text { font-size: 13px; color: rgba(255,255,255,0.8); line-height: 1.5; }
    .ap-text strong { display: block; color: var(--white); font-family: var(--display); font-size: 14px; font-weight: 700; }
    .attendus-list { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; }
    .attendu-item { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: rgba(255,255,255,0.75); line-height: 1.55; }
    .attendu-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); margin-top: 6px; flex-shrink: 0; }

    .debouches-sectors { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
    .sector-card {
      display: flex; align-items: center; gap: 14px; padding: 16px;
      background: rgba(255,255,255,0.06); border-radius: var(--r-sm);
      border: 1px solid rgba(255,255,255,0.08); transition: all 0.3s var(--ease);
    }
    .sector-card:hover { background: rgba(255,255,255,0.12); transform: translateX(4px); }
    .sc-icon { font-size: 28px; flex-shrink: 0; }
    .sc-text h5 { font-family: var(--display); font-size: 14px; font-weight: 700; color: var(--white); margin-bottom: 2px; }
    .sc-text p  { font-size: 12px; color: rgba(255,255,255,0.6); line-height: 1.5; }

    /* ============================================================
       STATISTIQUES InserJeunes
    ============================================================ */
    #inserjeunes { background: var(--white); }
    .ij-header { text-align: center; margin-bottom: 56px; }
    .ij-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
    .ij-path {
      border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh);
    }
    .ij-path-header { padding: 24px 28px; }
    .ij-path-header.scolaire    { background: var(--navy); }
    .ij-path-header.apprentissage { background: var(--red); }
    .ij-path-tag  { font-family: var(--display); font-size: 10px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 4px; }
    .ij-path-name { font-family: var(--display); font-size: 20px; font-weight: 900; color: var(--white); }
    .ij-path-body { padding: 28px; background: var(--off); display: flex; flex-direction: column; gap: 16px; }
    .ij-stat-row { display: flex; align-items: center; gap: 16px; }
    .ij-pct {
      font-family: var(--display); font-size: 42px; font-weight: 900; min-width: 80px; text-align: right;
      flex-shrink: 0; line-height: 1;
    }
    .ij-path.scolaire     .ij-pct.emp { color: var(--navy); }
    .ij-path.scolaire     .ij-pct.form { color: var(--red); }
    .ij-path.scolaire     .ij-pct.other { color: var(--muted); }
    .ij-path.apprentissage .ij-pct.emp  { color: var(--red); }
    .ij-path.apprentissage .ij-pct.form { color: var(--navy); }
    .ij-path.apprentissage .ij-pct.other { color: var(--muted); }
    .ij-stat-info h5 { font-family: var(--display); font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 2px; }
    .ij-stat-info p  { font-size: 12px; color: var(--muted); line-height: 1.4; }
    .ij-bar { height: 6px; border-radius: 3px; background: var(--gray); margin-top: 4px; overflow: hidden; }
    .ij-bar-fill { height: 100%; border-radius: 3px; transition: width 1s var(--ease); }
    .ij-bar-fill.emp  { background: var(--navy); }
    .ij-bar-fill.form { background: var(--red); }
    .ij-bar-fill.other { background: var(--gray); }
    .ij-path.apprentissage .ij-bar-fill.emp { background: var(--red); }
    .ij-source { font-size: 12px; color: var(--muted); text-align: center; margin-top: 20px; font-style: italic; }

    /* ============================================================
       MÉTIERS (cards 3D hover)
    ============================================================ */
    #metiers { background: var(--off); }
    .metiers-header { text-align: center; margin-bottom: 56px; }
    .metiers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .metier-card {
      background: var(--white); border-radius: var(--r-md);
      padding: 28px 24px; box-shadow: var(--sh);
      transition: all 0.4s var(--ease);
      transform-style: preserve-3d;
      perspective: 600px;
      cursor: pointer;
    }
    .metier-card:hover {
      transform: perspective(600px) rotateX(-3deg) rotateY(5deg) translateY(-8px);
      box-shadow: var(--sh-lg), -8px 8px 0 var(--red);
    }
    .mc-emoji { font-size: 40px; margin-bottom: 14px; display: block; transition: transform 0.4s var(--ease); }
    .metier-card:hover .mc-emoji { transform: scale(1.2) rotate(-5deg); }
    .mc-title { font-family: var(--display); font-size: 17px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .mc-desc  { font-size: 13px; color: var(--muted); line-height: 1.6; }
    .mc-badge { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-family: var(--display); font-size: 11px; font-weight: 700; color: var(--red); letter-spacing: 1px; text-transform: uppercase; transition: gap 0.3s; }
    .metier-card:hover .mc-badge { gap: 10px; }

    /* ============================================================
       POURSUITES D'ÉTUDES
    ============================================================ */
    #poursuites { background: var(--white); }
    .poursuites-intro { max-width: 700px; margin: 0 auto 56px; text-align: center; }
    .poursuites-path {
      display: flex; flex-direction: column; gap: 0;
      max-width: 860px; margin: 0 auto;
      position: relative;
    }
    .poursuites-path::before {
      content: '';
      position: absolute; left: 23px; top: 0; bottom: 0;
      width: 2px; background: linear-gradient(to bottom, var(--red), var(--navy));
    }
    .path-item {
      display: flex; gap: 20px; align-items: flex-start;
      padding: 0 0 32px 0;
    }
    .path-item:last-child { padding-bottom: 0; }
    .path-num {
      width: 48px; height: 48px; border-radius: 50%;
      background: var(--white); border: 3px solid var(--red);
      color: var(--red); font-family: var(--display); font-weight: 900; font-size: 18px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; z-index: 1; position: relative;
      box-shadow: 0 0 0 6px var(--white);
    }
    .path-num.navy-border { border-color: var(--navy); color: var(--navy); }
    .path-content { padding-top: 8px; }
    .path-content h4 { font-family: var(--display); font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .path-content p  { font-size: 13px; color: var(--muted); line-height: 1.65; }
    .path-sub-list { list-style: none; margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
    .path-sub-list li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text); }
    .path-sub-list li::before { content: '→'; color: var(--red); font-weight: 700; }

    /* ============================================================
       CTA INSCRIPTION
    ============================================================ */
    #cta-inscription { background: var(--navy); position: relative; overflow: hidden; }
    #cta-inscription::before {
      content: ''; position: absolute; top: -150px; left: -150px;
      width: 500px; height: 500px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,0,30,0.2) 0%, transparent 65%);
    }
    .cta-inner { position: relative; z-index: 1; }
    .cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .cta-text h2 { font-family: var(--display); font-size: clamp(36px,5vw,60px); font-weight: 900; line-height: 1.05; color: var(--white); margin-bottom: 16px; }
    .cta-text h2 span { color: var(--red); }
    .cta-text p { font-size: 15px; color: rgba(255,255,255,0.7); line-height: 1.75; margin-bottom: 32px; }
    .cta-badges { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
    .cta-badge {
      display: flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      padding: 10px 16px; border-radius: var(--r-sm);
      font-family: var(--display); font-size: 13px; font-weight: 700; color: var(--white);
    }
    .cta-badge .cbd { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }

    /* Form */
    .cta-form {
      background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
      border-radius: var(--r-lg); padding: 36px;
    }
    .cta-form h3 { font-family: var(--display); font-size: 20px; font-weight: 700; color: var(--white); margin-bottom: 24px; }
    .form-row { margin-bottom: 14px; }
    .form-row label { display: block; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 6px; }
    .form-row input, .form-row select, .form-row textarea {
      width: 100%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      border-radius: var(--r-xs); padding: 12px 14px; font-family: var(--body);
      font-size: 14px; color: var(--white); outline: none; transition: border-color 0.3s;
    }
    .form-row input::placeholder, .form-row textarea::placeholder { color: rgba(255,255,255,0.3); }
    .form-row input:focus, .form-row select:focus { border-color: var(--red); }
    .form-row select { appearance: none; cursor: pointer; }
    .form-row select option { background: var(--navy); }
    .form-row textarea { height: 90px; resize: vertical; }
    .form-submit { width: 100%; padding: 16px; font-size: 16px; margin-top: 6px; }

    /* ============================================================
       FOOTER (identique au template)
    ============================================================ */
    footer#page-footer { background: var(--navy); border-top: 1px solid rgba(255,255,255,0.08); }
    .footer-top { padding: 64px 0 48px; }
    .footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .footer-headline { font-family: var(--display); font-size: clamp(32px,4vw,48px); font-weight: 900; color: var(--white); line-height: 1.1; margin-bottom: 12px; }
    .footer-headline span { color: var(--red); }
    .footer-desc { font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.7; }
    .contact-items { display: flex; flex-direction: column; gap: 16px; }
    .contact-item { display: flex; align-items: center; gap: 14px; }
    .ci-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .ci-icon svg { width: 20px; height: 20px; }
    .ci-label { font-size: 11px; color: rgba(255,255,255,0.5); margin-bottom: 1px; }
    .ci-value { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--white); }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 20px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
    .footer-bottom p { font-size: 13px; color: rgba(255,255,255,0.4); }
    .social-links { display: flex; gap: 10px; }
    .social-link { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); font-family: var(--display); font-size: 11px; font-weight: 700; transition: all 0.3s; }
    .social-link:hover { background: var(--red); border-color: var(--red); color: var(--white); transform: translateY(-2px); }

    /* ============================================================
       RESPONSIVE
    ============================================================ */
    @media (max-width: 1024px) {
      .hero-grid, .fi-grid, .obj-grid, .ad-grid, .ij-grid, .cta-grid, .footer-grid, .poursuites-path { grid-template-columns: 1fr; gap: 40px; }
      .prog-years { grid-template-columns: 1fr; }
      .metiers-grid { grid-template-columns: repeat(2, 1fr); }
      .hero-3d-scene { height: 360px; }
      .transport-3d-scene { height: 300px; }
    }
    @media (max-width: 768px) {
      .section-pad { padding: 56px 0; }
      .section-pad-lg { padding: 64px 0; }
      .container { padding: 0 16px; }
      .nav-links { display: none; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
      .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.2); }
      .metiers-grid { grid-template-columns: 1fr; }
      .hero-actions { flex-direction: column; }
      .hero-3d-scene, .transport-3d-scene, .globe-scene { height: 280px; }
      .orbit-ring { width: 240px; height: 240px; margin: -120px 0 0 -120px; }
      .diploma-card-3d { width: 220px; height: 160px; }
      .mini-card-float { display: none; }
      .poursuites-path::before { left: 20px; }
      .footer-bottom { flex-direction: column; align-items: flex-start; }
      .cta-form { padding: 20px; }
    }
#hero-tsmel{background:var(--navy);position:relative;overflow:hidden;padding:80px 0 0;min-height:580px}
#hero-tsmel::before{content:'';position:absolute;top:-20%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
#hero-particles-2{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1;padding-bottom:80px}
.hero-tag{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(232,160,32,.15),rgba(232,160,32,.05));border:1px solid rgba(232,160,32,.4);padding:8px 16px;border-radius:24px;margin-bottom:20px;animation:badge3d 6s ease-in-out infinite}
.hero-tag span{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.hero-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 2s ease-in-out infinite}
.hero-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(52px,7vw,80px);font-weight:900;line-height:.95;color:var(--white);text-transform:uppercase;margin-bottom:12px}
.hero-h1 .red{color:var(--red)}
.hero-sub{font-size:17px;color:rgba(255,255,255,.8);font-style:italic;line-height:1.6;margin-bottom:24px}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.meta-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.85);padding:7px 14px;border-radius:20px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;transition:all .3s}
.meta-pill:hover{background:rgba(192,0,30,.25);border-color:var(--red)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.scene-3d{position:relative;height:480px;display:flex;align-items:center;justify-content:center}
.warehouse-3d{font-size:90px;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.4))}
.orbit-wrap{position:absolute;top:50%;left:50%;width:320px;height:320px;margin:-160px 0 0 -160px}
.o-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(255,255,255,.1)}
.o-ring-2{position:absolute;top:50%;left:50%;width:230px;height:230px;margin:-115px 0 0 -115px;border-radius:50%;border:1px dashed rgba(192,0,30,.25)}
.orb{position:absolute;top:50%;left:50%;transform-origin:0 0}
.orb span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);font-size:20px}
.o1{animation:orbit 10s linear infinite}
.o2{animation:orbit 10s linear infinite;animation-delay:-3.3s}
.o3{animation:orbit 10s linear infinite;animation-delay:-6.6s}
.o4{animation:orbitReverse 7s linear infinite}
.card-3d{position:absolute;background:linear-gradient(135deg,#fff,#f0f4ff);border-radius:18px;padding:24px;box-shadow:0 24px 64px rgba(13,27,62,.5);animation:pulse3d 6s ease-in-out infinite;z-index:10;width:260px}
.c3d-title{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:900;color:var(--red);margin-bottom:6px}
.c3d-sub{font-size:11px;color:var(--navy);font-family:'Barlow Condensed',sans-serif;font-weight:700;margin-bottom:12px}
.c3d-badge{display:inline-block;background:var(--navy);color:var(--white);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;padding:4px 10px;border-radius:10px}

#formation-pres{background:var(--off)}
.pres-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.info-blocks{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.ib{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--white);border-radius:var(--r-sm);border-left:4px solid var(--red);box-shadow:var(--sh);transition:all .3s var(--ease)}
.ib:hover{transform:translateX(6px);box-shadow:var(--sh-lg)}
.ib-ico{width:40px;height:40px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.ib-txt strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--navy)}
.ib-txt span{font-size:13px;color:var(--muted)}

#competences{background:var(--white)}
.comp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.comp-card{padding:28px 24px;border-radius:var(--r-md);border:2px solid var(--gray);transition:all .35s var(--ease)}
.comp-card:hover{border-color:var(--red);transform:translateY(-6px);box-shadow:var(--sh-lg)}
.cc-num{font-family:'Barlow Condensed',sans-serif;font-size:48px;font-weight:900;color:rgba(13,27,62,.1);line-height:1;margin-bottom:-8px}
.cc-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px}
.cc-desc{font-size:13px;color:var(--muted);line-height:1.7}
.comp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.comp-tag{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;padding:4px 10px;background:var(--off);border-radius:10px;color:var(--navy)}

#debouches-tsmel{background:var(--navy);position:relative;overflow:hidden}
#debouches-tsmel::before{content:'';position:absolute;bottom:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
.deb-inner{position:relative;z-index:1}
.deb-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.metiers-list{display:flex;flex-direction:column;gap:14px}
.metier-item{display:flex;align-items:center;gap:14px;padding:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);transition:all .3s var(--ease)}
.metier-item:hover{background:rgba(255,255,255,.12);transform:translateX(6px)}
.mi-icon{font-size:28px;flex-shrink:0}
.mi-text h5{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--white);margin-bottom:2px}
.mi-text p{font-size:12px;color:rgba(255,255,255,.6);line-height:1.5}

#cta-tsmel{background:var(--red);position:relative;overflow:hidden}
#cta-tsmel::before{content:'';position:absolute;top:-50%;right:-10%;width:600px;height:600px;border-radius:50%;background:rgba(0,0,0,.1)}
.cta-inner-tsmel{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cta-form-box{background:rgba(0,0,0,.2);border-radius:var(--r-lg);padding:36px}
.cta-form-box h3{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--white);margin-bottom:24px}

@media(max-width:1024px){.hero-grid,.pres-grid,.deb-grid,.cta-inner-tsmel{grid-template-columns:1fr;gap:40px}.comp-grid{grid-template-columns:1fr}.scene-3d{height:300px}.orbit-wrap{width:240px;height:240px;margin:-120px 0 0 -120px}}
@media(max-width:768px){.hero-actions{flex-direction:column}}
#hero-clea{background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy) 60%,#0a1428 100%);position:relative;overflow:hidden;padding:80px 0 0;min-height:600px}
#hero-clea::before{content:'';position:absolute;top:-20%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(46,160,67,.18) 0%,transparent 65%)}
#hero-clea::after{content:'';position:absolute;bottom:-100px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(232,160,32,.1) 0%,transparent 65%)}
#hero-particles-clea{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1;padding-bottom:80px}
.hero-tag-green{display:inline-flex;align-items:center;gap:10px;background:rgba(46,160,67,.15);border:1px solid rgba(46,160,67,.4);padding:8px 16px;border-radius:24px;margin-bottom:20px;animation:badge3d 6s ease-in-out infinite}
.hero-tag-green span{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#4ade80}
.hero-tag-green .dot-green{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse 2s ease-in-out infinite}
.hero-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(52px,7vw,84px);font-weight:900;line-height:.95;color:var(--white);text-transform:uppercase;margin-bottom:12px}
.hero-h1 .green{color:#4ade80}
.hero-sub{font-size:17px;color:rgba(255,255,255,.8);font-style:italic;line-height:1.6;margin-bottom:24px}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.meta-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.85);padding:7px 14px;border-radius:20px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;transition:all .3s}
.meta-pill:hover{background:rgba(74,222,128,.2);border-color:#4ade80}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn-green{background:#16a34a;color:white}
.btn-green:hover{background:#15803d;transform:translateY(-2px);box-shadow:0 8px 24px rgba(22,163,74,.35)}

/* Scene 3D réinsertion */
.scene-clea{position:relative;height:480px;display:flex;align-items:center;justify-content:center}
.clea-card-3d{background:linear-gradient(135deg,#fff,#f0fff4);border-radius:20px;padding:28px;width:280px;box-shadow:0 30px 80px rgba(13,27,62,.5);animation:pulse3d 6s ease-in-out infinite;z-index:10;position:absolute}
.cc3d-icon{font-size:48px;margin-bottom:12px;display:block}
.cc3d-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;color:#16a34a;margin-bottom:4px}
.cc3d-sub{font-size:12px;color:var(--navy);font-family:'Barlow Condensed',sans-serif;font-weight:700;margin-bottom:14px}
.cc3d-domains{display:flex;flex-wrap:wrap;gap:6px}
.ccd{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;padding:3px 8px;border-radius:8px;background:var(--off);color:var(--navy)}
.orb-wrap{position:absolute;top:50%;left:50%;width:340px;height:340px;margin:-170px 0 0 -170px}
.o-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(74,222,128,.15)}
.o-ring-2{position:absolute;top:50%;left:50%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;border:1px dashed rgba(232,160,32,.2)}
.orb-p{position:absolute;top:50%;left:50%;transform-origin:0 0}
.orb-p span{display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:22px}
.op1{animation:orbit 14s linear infinite}
.op2{animation:orbit 14s linear infinite;animation-delay:-4.7s}
.op3{animation:orbit 14s linear infinite;animation-delay:-9.3s}
.op4{animation:orbitReverse 9s linear infinite}

/* DÉFINITION */
#definition{background:var(--off)}
.def-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.def-visual{position:relative;height:440px}
.def-main-card{position:absolute;top:0;right:0;width:75%;border-radius:var(--r-lg);background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:var(--sh-lg);padding:32px;display:flex;flex-direction:column;justify-content:center;min-height:280px}
.def-main-card h3{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900;color:var(--white);margin-bottom:12px}
.def-main-card p{font-size:14px;color:rgba(255,255,255,.85);line-height:1.7}
.def-stat-card{position:absolute;bottom:0;left:0;width:58%;background:var(--white);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:24px;animation:float 5s ease-in-out infinite}
.dsc-num{font-family:'Barlow Condensed',sans-serif;font-size:52px;font-weight:900;color:#16a34a;line-height:1}
.dsc-label{font-size:13px;color:var(--muted);margin-top:4px}
.important-box{background:linear-gradient(135deg,rgba(22,163,74,.08),rgba(22,163,74,.03));border:1px solid rgba(22,163,74,.25);border-radius:var(--r-sm);padding:20px;margin-bottom:24px}
.important-box p{font-size:14px;color:var(--navy);line-height:1.7}
.important-box strong{color:#16a34a}

/* 7 DOMAINES */
#domaines{background:var(--white)}
.dom-header{text-align:center;margin-bottom:56px}
.dom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.dom-card{padding:28px 20px;border-radius:var(--r-md);border:2px solid var(--gray);text-align:center;transition:all .35s var(--ease);position:relative;overflow:hidden}
.dom-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#16a34a,#15803d);opacity:0;transition:opacity .3s}
.dom-card:hover{border-color:#16a34a;transform:translateY(-8px);box-shadow:var(--sh-lg)}
.dom-card:hover::before{opacity:.06}
.dom-icon{font-size:40px;margin-bottom:14px;display:block;transition:transform .4s var(--ease)}
.dom-card:hover .dom-icon{transform:scale(1.2) rotate(-5deg)}
.dom-num{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;color:#16a34a;text-transform:uppercase;margin-bottom:4px}
.dom-title{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:6px}
.dom-desc{font-size:12px;color:var(--muted);line-height:1.6}
.dom-card.featured{border-color:#16a34a;background:linear-gradient(135deg,rgba(22,163,74,.05),rgba(22,163,74,.02))}

/* PUBLIC VISÉ */
#public-vise{background:var(--navy);position:relative;overflow:hidden}
#public-vise::before{content:'';position:absolute;bottom:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(22,163,74,.15) 0%,transparent 65%)}
.pub-inner{position:relative;z-index:1}
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pub-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:28px 24px;transition:all .3s var(--ease)}
.pub-card:hover{background:rgba(255,255,255,.11);transform:translateY(-6px);border-color:rgba(74,222,128,.3)}
.pub-icon{font-size:40px;margin-bottom:16px;display:block}
.pub-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:var(--white);margin-bottom:8px}
.pub-desc{font-size:13px;color:rgba(255,255,255,.7);line-height:1.7}
.pub-tag{display:inline-block;margin-top:12px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:10px;background:rgba(74,222,128,.2);color:#4ade80}

/* PROCESSUS KIAMIS */
#processus-kiamis{background:var(--off)}
.proc-header{text-align:center;margin-bottom:64px}
.proc-steps{display:flex;flex-direction:column;gap:0;max-width:860px;margin:0 auto 56px}
.proc-step{display:flex;gap:28px;align-items:flex-start;padding:32px 0;border-bottom:1px solid var(--gray)}
.proc-step:last-child{border-bottom:none}
.ps-num{font-family:'Barlow Condensed',sans-serif;font-size:56px;font-weight:900;color:rgba(22,163,74,.12);line-height:1;width:64px;flex-shrink:0;text-align:center}
.ps-content h4{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--navy);margin-bottom:6px}
.ps-content p{font-size:14px;color:var(--muted);line-height:1.75}
.ps-content .ps-highlight{margin-top:10px;padding:10px 14px;background:var(--white);border-left:3px solid #16a34a;border-radius:0 8px 8px 0;font-size:13px;font-style:italic;color:var(--navy)}

/* AVANTAGES */
.avantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.av-card{background:var(--white);border-radius:var(--r-md);padding:28px;box-shadow:var(--sh);border-top:3px solid #16a34a;transition:all .35s var(--ease)}
.av-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.av-icon{font-size:36px;margin-bottom:14px;display:block}
.av-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px}
.av-desc{font-size:13px;color:var(--muted);line-height:1.65}

/* CTA */
#cta-clea{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);position:relative;overflow:hidden}
#cta-clea::before{content:'';position:absolute;top:-50%;right:-10%;width:600px;height:600px;border-radius:50%;background:rgba(0,0,0,.08)}
.cta-inner-clea{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cta-form-box{background:rgba(0,0,0,.15);border-radius:var(--r-lg);padding:36px}
.cta-form-box h3{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--white);margin-bottom:24px}

@media(max-width:1024px){.hero-grid,.def-grid,.cta-inner-clea{grid-template-columns:1fr;gap:40px}.dom-grid{grid-template-columns:repeat(2,1fr)}.pub-grid{grid-template-columns:1fr}.avantages-grid{grid-template-columns:1fr}.scene-clea{height:300px}.orb-wrap{width:240px;height:240px;margin:-120px 0 0 -120px}}
@media(max-width:768px){.hero-actions{flex-direction:column}.dom-grid{grid-template-columns:1fr 1fr}}
.page-hero{background:var(--navy);padding:80px 0 64px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-30%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
#hp{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.section-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.card-navy{background:var(--navy);border-radius:var(--r-md);padding:28px}
.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.sc{padding:24px;border-radius:var(--r-md);text-align:center;transition:all .35s var(--ease)}
.sc:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.sc.navy{background:var(--navy)}
.sc.red{background:var(--red)}
.sc.gray{background:var(--off);border:1px solid var(--gray)}
.sc-num{font-family:"Barlow Condensed",sans-serif;font-size:40px;font-weight:900;line-height:1}
.sc.navy .sc-num,.sc.red .sc-num{color:var(--white)}
.sc.gray .sc-num{color:var(--navy)}
.sc-label{font-size:12px;margin-top:4px}
.sc.navy .sc-label,.sc.red .sc-label{color:rgba(255,255,255,.7)}
.sc.gray .sc-label{color:var(--muted)}
.list-cards{display:flex;flex-direction:column;gap:14px}
.lc{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--off);border-radius:var(--r-sm);border-left:4px solid var(--red);transition:all .3s}
.lc:hover{transform:translateX(6px);box-shadow:var(--sh)}
.lc-icon{font-size:24px;flex-shrink:0;margin-top:2px}
.lc h4{font-family:"Barlow Condensed",sans-serif;font-size:16px;font-weight:700;color:var(--navy);margin-bottom:3px}
.lc p{font-size:13px;color:var(--muted);line-height:1.6}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g3c{background:var(--white);border-radius:var(--r-md);padding:28px;box-shadow:var(--sh);text-align:center;transition:all .35s var(--ease)}
.g3c:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}
.g3c .gico{font-size:40px;margin-bottom:14px;display:block;transition:transform .4s}
.g3c:hover .gico{transform:scale(1.15) rotate(-5deg)}
.g3c h4{font-family:"Barlow Condensed",sans-serif;font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px}
.g3c p{font-size:13px;color:var(--muted);line-height:1.65}
.g3c .gl{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:"Barlow Condensed",sans-serif;font-size:13px;font-weight:700;color:var(--red);transition:gap .3s}
.g3c:hover .gl{gap:10px}
@media(max-width:1024px){.section-grid-2,.stat-cards,.grid-3{grid-template-columns:1fr;gap:24px}}
@media(max-width:768px){.stat-cards{grid-template-columns:1fr 1fr}}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
.page-hero{background:var(--navy);padding:80px 0 64px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-30%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
#hp{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.section-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.card-navy{background:var(--navy);border-radius:var(--r-md);padding:28px}
.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.sc{padding:24px;border-radius:var(--r-md);text-align:center;transition:all .35s var(--ease)}
.sc:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.sc.navy{background:var(--navy)}
.sc.red{background:var(--red)}
.sc.gray{background:var(--off);border:1px solid var(--gray)}
.sc-num{font-family:"Barlow Condensed",sans-serif;font-size:40px;font-weight:900;line-height:1}
.sc.navy .sc-num,.sc.red .sc-num{color:var(--white)}
.sc.gray .sc-num{color:var(--navy)}
.sc-label{font-size:12px;margin-top:4px}
.sc.navy .sc-label,.sc.red .sc-label{color:rgba(255,255,255,.7)}
.sc.gray .sc-label{color:var(--muted)}
.list-cards{display:flex;flex-direction:column;gap:14px}
.lc{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--off);border-radius:var(--r-sm);border-left:4px solid var(--red);transition:all .3s}
.lc:hover{transform:translateX(6px);box-shadow:var(--sh)}
.lc-icon{font-size:24px;flex-shrink:0;margin-top:2px}
.lc h4{font-family:"Barlow Condensed",sans-serif;font-size:16px;font-weight:700;color:var(--navy);margin-bottom:3px}
.lc p{font-size:13px;color:var(--muted);line-height:1.6}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g3c{background:var(--white);border-radius:var(--r-md);padding:28px;box-shadow:var(--sh);text-align:center;transition:all .35s var(--ease)}
.g3c:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}
.g3c .gico{font-size:40px;margin-bottom:14px;display:block;transition:transform .4s}
.g3c:hover .gico{transform:scale(1.15) rotate(-5deg)}
.g3c h4{font-family:"Barlow Condensed",sans-serif;font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px}
.g3c p{font-size:13px;color:var(--muted);line-height:1.65}
.g3c .gl{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:"Barlow Condensed",sans-serif;font-size:13px;font-weight:700;color:var(--red);transition:gap .3s}
.g3c:hover .gl{gap:10px}
@media(max-width:1024px){.section-grid-2,.stat-cards,.grid-3{grid-template-columns:1fr;gap:24px}}
@media(max-width:768px){.stat-cards{grid-template-columns:1fr 1fr}}
.page-hero{background:var(--navy);padding:80px 0 64px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-30%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
.page-hero-inner{position:relative;z-index:1}
#hero-particles-c{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start;padding:80px 0}
.contact-info{display:flex;flex-direction:column;gap:28px}
.ci-card{background:var(--off);border-radius:var(--r-md);padding:28px;border-left:4px solid var(--red);transition:all .3s var(--ease)}
.ci-card:hover{transform:translateX(6px);box-shadow:var(--sh-lg)}
.ci-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.ci-icon-wrap{width:48px;height:48px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.ci-card h4{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:var(--navy)}
.ci-card p,.ci-card a{font-size:14px;color:var(--muted);line-height:1.6}
.ci-card a:hover{color:var(--red)}
.contact-form-box{background:var(--navy);border-radius:var(--r-lg);padding:44px;box-shadow:var(--sh-lg)}
.contact-form-box h3{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:var(--white);margin-bottom:8px}
.contact-form-box .sub{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:28px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.success-msg{display:none;background:rgba(22,163,74,.15);border:1px solid rgba(22,163,74,.4);border-radius:var(--r-sm);padding:16px 20px;margin-top:12px}
.success-msg p{font-size:14px;color:#4ade80}
.diag-band{background:var(--red);padding:56px 0}
.diag-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.diag-steps{display:flex;gap:32px;flex-wrap:wrap}
.diag-step{display:flex;align-items:center;gap:12px}
.ds-num{width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;color:var(--white);flex-shrink:0}
.ds-text{font-size:14px;color:rgba(255,255,255,.9);line-height:1.4}
.ds-text strong{display:block;color:var(--white);font-family:'Barlow Condensed',sans-serif;font-size:15px}
@media(max-width:1024px){.contact-layout{grid-template-columns:1fr;gap:40px}.form-row-2{grid-template-columns:1fr}}
.page-hero{background:var(--navy);padding:80px 0 64px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-30%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.2) 0%,transparent 65%)}
#hp{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.section-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.card-navy{background:var(--navy);border-radius:var(--r-md);padding:28px}
.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.sc{padding:24px;border-radius:var(--r-md);text-align:center;transition:all .35s var(--ease)}
.sc:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.sc.navy{background:var(--navy)}
.sc.red{background:var(--red)}
.sc.gray{background:var(--off);border:1px solid var(--gray)}
.sc-num{font-family:"Barlow Condensed",sans-serif;font-size:40px;font-weight:900;line-height:1}
.sc.navy .sc-num,.sc.red .sc-num{color:var(--white)}
.sc.gray .sc-num{color:var(--navy)}
.sc-label{font-size:12px;margin-top:4px}
.sc.navy .sc-label,.sc.red .sc-label{color:rgba(255,255,255,.7)}
.sc.gray .sc-label{color:var(--muted)}
.list-cards{display:flex;flex-direction:column;gap:14px}
.lc{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--off);border-radius:var(--r-sm);border-left:4px solid var(--red);transition:all .3s}
.lc:hover{transform:translateX(6px);box-shadow:var(--sh)}
.lc-icon{font-size:24px;flex-shrink:0;margin-top:2px}
.lc h4{font-family:"Barlow Condensed",sans-serif;font-size:16px;font-weight:700;color:var(--navy);margin-bottom:3px}
.lc p{font-size:13px;color:var(--muted);line-height:1.6}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g3c{background:var(--white);border-radius:var(--r-md);padding:28px;box-shadow:var(--sh);text-align:center;transition:all .35s var(--ease)}
.g3c:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}
.g3c .gico{font-size:40px;margin-bottom:14px;display:block;transition:transform .4s}
.g3c:hover .gico{transform:scale(1.15) rotate(-5deg)}
.g3c h4{font-family:"Barlow Condensed",sans-serif;font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px}
.g3c p{font-size:13px;color:var(--muted);line-height:1.65}
.g3c .gl{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:"Barlow Condensed",sans-serif;font-size:13px;font-weight:700;color:var(--red);transition:gap .3s}
.g3c:hover .gl{gap:10px}
@media(max-width:1024px){.section-grid-2,.stat-cards,.grid-3{grid-template-columns:1fr;gap:24px}}
@media(max-width:768px){.stat-cards{grid-template-columns:1fr 1fr}}
/* page-specific overrides here */
.gp-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.gp-hero::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,30,.18) 0%,transparent 65%)}
.gp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.gp-icon-3d{font-size:120px;line-height:1;animation:floatSlow 6s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(192,0,30,.35));text-align:center}
@media(max-width:1024px){.gp-hero-inner{grid-template-columns:1fr}}
.sub-dropdown{position:absolute;left:100%;top:0;min-width:210px;background:var(--navy);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);box-shadow:0 20px 60px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateX(-8px);transition:all .25s var(--ease);z-index:300}
.dropdown-menu li:hover>.sub-dropdown{opacity:1;visibility:visible;transform:translateX(0)}
.sub-dropdown li>a{display:block;padding:10px 16px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.8);transition:all .2s}
.sub-dropdown li>a:hover{color:#fff;background:rgba(255,255,255,.12);padding-left:20px}
.sub-dropdown .sub-pole-header{padding:8px 16px 4px;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);pointer-events:none}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important}
.elementor-widget-html .elementor-widget-container{padding:0!important;margin:0!important}
.elementor-section{padding:0!important;margin:0!important}
.e-con{padding:0!important}
body.elementor-page{overflow-x:hidden}

