.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-media{background:#1a1a2e;position:absolute;inset:0}.hero-media .hero-img{object-fit:cover;object-position:center;opacity:.65;width:100%;height:100%;transition:transform 8s;transform:scale(1.04)}.hero-media:has(.hero-img.loaded) .hero-img{transform:scale(1)}.hero-media.img-missing{background:linear-gradient(145deg,#0a0a1e 0%,#1a0a2e 100%)}.hero-media .hero-overlay{background:linear-gradient(#0000001a 0%,#0000004d 50%,#000000d9 100%),linear-gradient(90deg,#0006 0%,#0000 60%);position:absolute;inset:0}.hero-body{z-index:1;grid-template-columns:1fr auto;align-items:flex-end;gap:48px;width:100%;padding-bottom:clamp(60px,8vw,100px);display:grid;position:relative}@media (width<=768px){.hero-body{grid-template-columns:1fr;gap:32px}}.hero-content{max-width:680px}.hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#fff9;align-items:center;gap:12px;margin-bottom:20px;font-size:.75rem;font-weight:600;display:flex}.hero-eyebrow .eyebrow-dash{background:var(--accent);flex-shrink:0;width:28px;height:1px;display:block}.hero-title{font-family:var(--font-serif);letter-spacing:-.03em;color:#fff;margin-bottom:24px;font-size:clamp(2.8rem,7vw,6rem);font-weight:900;line-height:1}.hero-title em{color:var(--accent-2);font-style:italic}.hero-lead{color:#ffffffb8;max-width:520px;margin-bottom:36px;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.btn-primary{background:var(--accent);color:#fff;transition:background var(--dur) var(--ease), transform var(--dur);white-space:nowrap;border-radius:2px;padding:13px 28px;font-size:.9rem;font-weight:600}.btn-primary:hover{background:var(--accent-dk);transform:translateY(-2px)}.btn-text{color:#ffffffb3;transition:color var(--dur), gap var(--dur);align-items:center;gap:8px;font-size:.88rem;font-weight:500;display:inline-flex}.btn-text:hover{color:#fff;gap:12px}.hero-stats{flex-direction:column;align-self:flex-end;padding-bottom:4px;display:flex}@media (width<=768px){.hero-stats{flex-direction:row;width:100%}}.hstat{text-align:right;border-top:1px solid #ffffff1f;padding:20px 28px}@media (width<=768px){.hstat{text-align:center;border-right:1px solid #ffffff1f;flex:1;padding:16px 12px}.hstat:last-child{border-right:none}}.hstat-val{font-family:var(--font-serif);color:#fff;margin-bottom:4px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1;display:block}.hstat-lbl{color:#ffffff80;text-transform:uppercase;letter-spacing:.07em;font-size:.72rem}.hstat-sep{display:none}.hero-scroll{bottom:40px;left:var(--pad-x);z-index:1;color:#ffffff73;letter-spacing:.1em;text-transform:uppercase;transition:color var(--dur);align-items:center;gap:12px;font-size:.7rem;font-weight:600;display:flex;position:absolute}.hero-scroll:hover{color:#fffc}@media (width<=768px){.hero-scroll{display:none}}@keyframes scrollProg{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-line{background:#ffffff26;width:40px;height:1px;overflow:hidden}.scroll-line .scroll-prog{transform-origin:0;height:100%;animation:scrollProg 2s var(--ease) infinite;background:#fff9}.editorial{background:var(--paper);padding:clamp(72px,10vw,120px) 0}.editorial-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;align-items:start;gap:48px 64px;display:grid}@media (width<=900px){.editorial-grid{grid-template-columns:1fr;gap:40px}}.editorial-copy{flex-direction:column;gap:20px;padding-top:8px;display:flex}.editorial-media{grid-area:1/2/3}@media (width<=900px){.editorial-media{grid-area:auto}}.editorial-media .media-wrap{aspect-ratio:4/5;background:var(--paper-2);overflow:hidden}.editorial-media .media-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.editorial-media .media-wrap:hover img{transform:scale(1.03)}.editorial-media .media-wrap.img-missing{background:var(--paper-2)}.media-caption{color:var(--ink-3);align-items:center;gap:8px;margin-top:10px;font-size:.75rem;display:flex}.media-caption:before{content:"";background:var(--ink-3);flex-shrink:0;width:20px;height:1px;display:inline-block}.editorial-pills{flex-direction:column;gap:10px;display:flex}.pill{background:var(--paper-2);border-left:3px solid var(--accent);transition:background var(--dur), transform var(--dur);align-items:center;gap:14px;padding:14px 18px;font-size:.9rem;font-weight:500;display:flex}.pill:hover{background:#ebebeb;transform:translate(4px)}.pill .pill-icon{flex-shrink:0;font-size:1.1rem}.formations{background:var(--paper);padding:clamp(64px,9vw,110px) 0}.formations .section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px;display:flex}.formations .section-head .h2-display{margin-top:8px}.filieres-layout{border:1px solid #00000014;grid-template-columns:1fr 1fr;min-height:560px;display:grid;overflow:hidden}@media (width<=900px){.filieres-layout{grid-template-columns:1fr;min-height:auto}}.filieres-preview{background:#111;min-height:420px;position:relative;overflow:hidden}@media (width<=900px){.filieres-preview{min-height:280px}}.fpreview-item{opacity:0;transition:opacity .55s var(--ease);background:var(--f-color,#111);position:absolute;inset:0}.fpreview-item img{object-fit:cover;opacity:.7;width:100%;height:100%;transition:transform .7s var(--ease), opacity .55s var(--ease);transform:scale(1.04)}.fpreview-item.active{opacity:1}.fpreview-item.active img{opacity:.75;transform:scale(1)}.fpreview-overlay{background:linear-gradient(#0000 30%,#0000008c 100%);position:absolute;inset:0}.fpreview-accent-bar{opacity:0;height:3px;transition:opacity .3s var(--ease);position:absolute;top:0;left:0;right:0}.fpreview-item.active .fpreview-accent-bar{opacity:1}.fpreview-badge{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:24px;left:24px}.fpreview-tag{background:var(--f-accent,var(--accent));color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;width:fit-content;padding:4px 12px;font-size:.68rem;font-weight:700;display:inline-block}.fpreview-level{color:#ffffff8c;letter-spacing:.06em;font-size:.75rem;font-weight:500}.fpreview-counter{font-family:var(--font-serif);color:#fff6;align-items:baseline;gap:4px;font-size:.85rem;display:flex;position:absolute;top:20px;right:20px}.fpreview-counter span:first-child{color:#fffc;font-size:1.4rem;font-weight:700}.fpreview-counter .fpreview-sep{color:#fff3;margin:0 2px}.filieres-list{border-left:1px solid #00000012;flex-direction:column;display:flex}@media (width<=900px){.filieres-list{border-top:1px solid #00000012;border-left:none}}.filiere-row{transition:background var(--dur) var(--ease);border-bottom:1px solid #0000000f;flex:1;text-decoration:none;display:block;position:relative;overflow:hidden}.filiere-row:last-of-type{border-bottom:none}.filiere-row:before{content:"";background:var(--f-accent);opacity:.06;width:0;transition:width .4s var(--ease);position:absolute;inset:0 auto 0 0}.filiere-row:hover,.filiere-row.active{background:#00000004}.filiere-row:hover:before,.filiere-row.active:before{width:100%}.filiere-row:hover .filiere-num,.filiere-row.active .filiere-num{color:var(--f-accent)}.filiere-row:hover .filiere-title,.filiere-row.active .filiere-title{color:var(--ink)}.filiere-row:hover .filiere-arrow,.filiere-row.active .filiere-arrow{color:var(--f-accent);transform:translate(4px)}.filiere-row:hover .filiere-desc,.filiere-row.active .filiere-desc{opacity:1;max-height:40px;margin-top:5px}.filiere-row:hover .filiere-progress,.filiere-row.active .filiere-progress{transform:scaleX(1)}.filiere-row-inner{z-index:1;align-items:center;gap:20px;padding:20px 24px;display:flex;position:relative}@media (width<=640px){.filiere-row-inner{gap:14px;padding:16px}}.filiere-num{font-family:var(--font-serif);color:#00000026;width:28px;transition:color var(--dur) var(--ease);flex-shrink:0;font-size:1.1rem;font-weight:700;line-height:1}.filiere-info{flex:1;min-width:0}.filiere-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:.68rem;font-weight:700;display:block}.filiere-title{font-family:var(--font-serif);color:var(--ink-2);transition:color var(--dur);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.9rem,1.3vw,1.05rem);font-weight:700;line-height:1.25;overflow:hidden}@media (width<=640px){.filiere-title{white-space:normal;font-size:.9rem}}.filiere-desc{color:var(--ink-3);opacity:0;max-height:0;transition:max-height .35s var(--ease), opacity .3s var(--ease), margin .3s var(--ease);font-size:.78rem;line-height:1.5;overflow:hidden}.filiere-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.filiere-programs{color:var(--ink-3);white-space:nowrap;font-size:.75rem}@media (width<=480px){.filiere-programs{display:none}}.filiere-arrow{color:var(--ink-3);transition:transform var(--dur) var(--ease), color var(--dur);align-items:center;display:flex}.filiere-progress{transform-origin:0;height:2px;transition:transform .4s var(--ease);z-index:1;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.filieres-cta-row{border-top:1px solid #0000000f;align-items:center;padding:16px 24px;display:flex}@media (width>=769px){.filieres-cta-row{display:none}}.parallax-cta{align-items:center;min-height:560px;display:flex;position:relative;overflow:hidden}@media (width<=768px){.parallax-cta{min-height:480px}}.parallax-bg{z-index:0;background:#0a0a1a;position:absolute;inset:-25% 0}.parallax-bg img{object-fit:cover;object-position:center 30%;will-change:transform;width:100%;height:100%}.parallax-veil{background:linear-gradient(105deg,#0a0a1eeb 0%,#0a0a1eb3 55%,#0a0a1e80 100%);position:absolute;inset:0}.parallax-body{z-index:1;grid-template-columns:1fr auto;align-items:center;gap:64px;padding-top:clamp(72px,10vw,110px);padding-bottom:clamp(72px,10vw,110px);display:grid;position:relative}@media (width<=900px){.parallax-body{grid-template-columns:1fr;gap:40px}}.parallax-content{max-width:620px}.parallax-overline{letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;align-items:center;gap:12px;margin-bottom:24px;font-size:.72rem;font-weight:700;display:flex}.parallax-overline .parallax-dash{background:var(--accent);flex-shrink:0;width:28px;height:1px;display:block}.parallax-title{font-family:var(--font-serif);letter-spacing:-.03em;color:#fff;margin-bottom:24px;font-size:clamp(2.8rem,6vw,5rem);font-weight:900;line-height:1.02}.parallax-title em{color:var(--accent-2);font-style:italic;position:relative}.parallax-title em:after{content:"";background:var(--accent);opacity:.5;border-radius:2px;height:4px;position:absolute;bottom:4px;left:0;right:0}.parallax-lead{color:#ffffff9e;margin-bottom:36px;font-size:1.05rem;line-height:1.7}.parallax-lead strong{color:#ffffffe6;font-weight:600}.parallax-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.parallax-btn-primary{background:var(--accent);color:#fff;transition:background var(--dur) var(--ease), transform var(--dur), gap var(--dur);border-radius:2px;align-items:center;gap:10px;padding:14px 32px;font-size:.95rem;font-weight:700;display:inline-flex}.parallax-btn-primary svg{transition:transform var(--dur);flex-shrink:0}.parallax-btn-primary:hover{background:var(--accent-lt);gap:14px;transform:translateY(-2px)}.parallax-btn-primary:hover svg{transform:translate(2px)}.parallax-btn-ghost{color:#ffffffbf;transition:border-color var(--dur), color var(--dur), background var(--dur), transform var(--dur);border:1px solid #ffffff40;border-radius:2px;align-items:center;gap:8px;padding:14px 28px;font-size:.9rem;font-weight:500;display:inline-flex}.parallax-btn-ghost:hover{color:#fff;background:#ffffff0f;border-color:#fff9;transform:translateY(-2px)}.parallax-facts{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:4px;flex-direction:column;min-width:240px;display:flex;overflow:hidden}@media (width<=900px){.parallax-facts{flex-flow:wrap;width:100%;min-width:0}}.pfact{transition:background var(--dur);border-bottom:1px solid #ffffff12;align-items:center;gap:14px;padding:18px 22px;display:flex}.pfact:last-child{border-bottom:none}.pfact:hover{background:#ffffff0f}@media (width<=900px){.pfact{border-right:1px solid #ffffff12;flex:calc(50% - 1px)}.pfact:nth-child(2n){border-right:none}.pfact:nth-last-child(-n+2){border-bottom:none}}.pfact-icon{width:36px;height:36px;color:var(--accent-2);background:#c8102e26;border:1px solid #c8102e40;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.pfact-text{color:#ffffffb3;font-size:.83rem;font-weight:500;line-height:1.35}.stats-section{padding:clamp(72px,10vw,120px) 0;position:relative;overflow:hidden}.stats-backdrop{background:var(--ink);position:absolute;inset:0}.stats-backdrop img{object-fit:cover;opacity:.3;width:100%;height:100%}.stats-veil{background:linear-gradient(135deg,#0a0a0aeb 0%,#0a0a0ac7 100%);position:absolute;inset:0}.stats-layout{z-index:1;grid-template-columns:1fr 1.4fr;align-items:center;gap:80px;display:grid;position:relative}@media (width<=900px){.stats-layout{grid-template-columns:1fr;gap:48px}}.stats-copy{flex-direction:column;gap:24px;display:flex}.stats-copy .h2-display{margin-top:4px}.btn-ghost-light{color:#fffc;transition:border-color var(--dur), color var(--dur), background var(--dur);border:1px solid #ffffff4d;border-radius:2px;align-self:flex-start;padding:11px 24px;font-size:.85rem;font-weight:500;display:inline-block}.btn-ghost-light:hover{color:#fff;background:#ffffff0f;border-color:#ffffffb3}.stats-grid{background:#ffffff14;border:1px solid #ffffff14;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.stat-block{transition:background var(--dur);background:#ffffff05;padding:36px 28px}.stat-block:hover{background:#ffffff0d}.stat-ico{color:#ffffff73;transition:color var(--dur);margin-bottom:16px}.stat-block:hover .stat-ico{color:#ffffffe6}@keyframes counterSpin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stat-num{font-family:var(--font-serif);color:#fff;margin-bottom:8px;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1}.stat-num .counter{font-variant-numeric:tabular-nums}.stat-lbl{color:#ffffffb3;margin-bottom:4px;font-size:.85rem;font-weight:600}.stat-sub{color:#ffffff4d;font-size:.75rem}.contact-section{background:var(--paper);padding:clamp(72px,10vw,120px) 0}.contact-header{margin-bottom:56px}.contact-header .h2-display{margin-top:8px}.contact-layout{grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:48px;display:grid}@media (width<=1024px){.contact-layout{grid-template-columns:1fr 1.5fr}.contact-layout .contact-map{grid-column:1/-1}}@media (width<=680px){.contact-layout{grid-template-columns:1fr}}.contact-infos{border-top:1px solid #0000001a;flex-direction:column;display:flex}.info-row{border-bottom:1px solid #00000012;flex-direction:column;gap:2px;padding:16px 0;display:flex}.info-lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:.7rem;font-weight:600}.info-val{color:var(--ink-2);font-size:.9rem;line-height:1.5}.socials{gap:10px;margin-top:20px;display:flex}.soc{width:36px;height:36px;color:var(--ink-2);transition:background var(--dur), color var(--dur), border-color var(--dur);border:1px solid #0000001f;border-radius:2px;place-items:center;display:grid}.soc:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.contact-form{flex-direction:column;gap:20px;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=480px){.form-row-2{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.75rem;font-weight:600}.field input,.field select,.field textarea{font-family:var(--font-sans);color:var(--ink);background:var(--white);transition:border-color var(--dur), box-shadow var(--dur);border:1px solid #00000026;border-radius:2px;outline:none;padding:11px 14px;font-size:.9rem}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0a0f}.field textarea{resize:vertical;min-height:120px}.field select{cursor:pointer}.form-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.btn-submit{background:var(--ink);color:#fff;cursor:pointer;transition:background var(--dur), transform var(--dur);border:none;border-radius:2px;align-items:center;gap:10px;padding:13px 28px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-submit svg{transition:transform var(--dur)}.btn-submit:hover{background:#2a2a2a}.btn-submit:hover svg{transform:translate(3px)}.btn-submit:disabled{opacity:.5;pointer-events:none}.form-hint{color:var(--ink-3);font-size:.78rem}.form-ok{color:#007850;background:#00785012;border:1px solid #00785033;border-left:3px solid #007850;padding:12px 16px;font-size:.88rem;font-weight:500;display:none}.form-ok.visible{display:block}.contact-map{aspect-ratio:4/3;background:var(--paper-2);position:relative;overflow:hidden}.contact-map .map-img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.contact-map:hover .map-img{transform:scale(1.03)}.map-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ac7;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.map-badge strong{color:#fff;font-size:.88rem;font-weight:600}.map-badge a{color:#ffffff8c;transition:color var(--dur);font-size:.78rem}.map-badge a:hover{color:#fff}
