:root{--yellow:#ffd226;--yellow-deep:#efb800;--ink:#151a22;--navy:#112639;--navy2:#182d42;--text:#3f4750;--muted:#73808a;--border:#e7e9ed;--soft:#f7f8fa;--radius:29px;--shadow:0 12px 30px rgba(13,24,35,.075),0 2px 5px rgba(13,24,35,.035)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'Segoe UI','Arial',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.57}body.modal-open{overflow:hidden}a{text-decoration:none;color:inherit}button,select,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffb800;outline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18;letter-spacing:-.045em}p{color:var(--text)}.container{width:min(1190px,calc(100% - 64px));margin-inline:auto}.section{padding-block:86px}.section-tint{background:linear-gradient(180deg,#f9fafb,#f5f7f9);padding-block:86px}.section + .section{border-top:0}
.prototype-banner{height:27px;background:#15283b;color:#fff;display:flex;gap:10px;align-items:center;justify-content:center;font-size:11px;letter-spacing:.035em}.pulse{width:6px;height:6px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px rgba(255,210,38,.16)}.site-header{height:80px;background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 2px 14px rgba(19,28,35,.08)}.nav-inner{height:100%;display:flex;align-items:center;gap:20px}.brand{flex:0 0 149px;display:block}.brand-logo{width:142px;height:60px;object-fit:contain;object-position:center;background:var(--yellow);border-radius:7px}.main-nav{display:flex;align-items:center;justify-content:center;gap:15px;flex:1}.nav-group{position:relative;display:flex;align-items:center;gap:0}.nav-group>a{font-size:13px;font-weight:750;white-space:nowrap;padding:18px 0;border-bottom:3px solid transparent}.nav-group>a:hover,.nav-group>a.active{border-bottom-color:var(--yellow)}.nav-sub-toggle{background:transparent;border:0;color:var(--ink);font-size:17px;line-height:1;padding:10px 2px 10px 5px}.nav-sub{position:absolute;display:none;top:100%;left:0;min-width:240px;border:1px solid var(--border);border-radius:16px;background:#fff;padding:9px;box-shadow:0 17px 40px #0f25322b}.nav-sub a{display:block;padding:10px 13px;font-size:13px;border-radius:9px;font-weight:650}.nav-sub a:hover{background:#fff5c6}.has-sub:hover .nav-sub,.has-sub:focus-within .nav-sub,.has-sub.sub-open .nav-sub{display:block}.nav-toggle{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;white-space:nowrap;border:0;border-radius:16px;padding:15px 24px;font-weight:800;font-size:14px;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #10182022}.button-yellow{background:var(--yellow);color:#111}.button-dark{background:var(--navy);color:#fff}.button-white{background:#fff;color:#111}.top-cta{font-size:13px;padding:14px 18px;border-radius:13px}.button-pill{border-radius:999px}.small-button{font-size:12px;padding:12px 17px}.text-link{font-weight:850;color:#af8000}.btn-full{width:100%}.nav-inner .top-cta{margin-left:auto}
/* HERO */
.hero{height:590px;position:relative;isolation:isolate;overflow:hidden;background:#e6e8e5}.hero-bg{inset:0;position:absolute;background-size:cover;background-position:center;opacity:0;transition:opacity 850ms ease;z-index:-2}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.03) 0,rgba(250,247,233,.22) 30%,rgba(250,243,224,.2) 70%,rgba(255,255,255,.03) 100%)}.hero-bg.show{opacity:1}.hero-bg-1{background-image:url('../img/hero-haute-definition-1.jpg')}.hero-bg-2{background-image:linear-gradient(90deg,rgba(255,228,156,.69),rgba(255,245,210,.88),rgba(255,226,151,.57)),url('../img/hero-haute-definition-2.jpg')}.hero-bg-3{background-image:linear-gradient(90deg,rgba(247,236,207,.8),rgba(255,249,226,.91),rgba(247,236,207,.65)),url('../img/hero-haute-definition-3.jpg')}.hero-inner{height:100%;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;padding-top:4px;padding-bottom:26px}.hero-badge{display:inline-block;font-size:11px;letter-spacing:.11em;font-weight:900;background:var(--yellow);border-radius:99px;padding:8px 17px;margin-bottom:16px}.hero h1{font-weight:900;font-size:clamp(42px,4.35vw,70px);max-width:720px;text-shadow:0 1px 4px rgba(255,255,255,.65);margin-bottom:15px;line-height:1.06}.hero h1 span,h2 em,.callout h2 em{font-style:normal;color:#c18a00}.hero h1 span{color:#ecb000}.hero-inner>p{font-weight:600;font-size:17px;color:#2e3841;max-width:615px;margin-bottom:24px;text-shadow:0 1px 4px #fff}.hero-search{width:min(780px,100%);display:flex;align-items:center;gap:0;background:#fff;border:7px solid rgba(255,255,255,.65);box-shadow:0 15px 35px rgba(30,43,38,.13);border-radius:999px;padding:5px}.hero-search label{min-width:0;flex:1.1;display:flex;align-items:center;text-align:left;gap:12px;padding:0 16px}.hero-search label>span:first-child{font-size:26px;line-height:1}.hero-search label>span:nth-child(2){flex:1;min-width:0}.hero-search label b{font-size:11px;display:block;font-weight:850}.hero-search select{width:100%;font-size:12px;color:#6c7784;background:transparent;border:0;outline:none;cursor:pointer}.hero-search .split{height:32px;width:1px;background:#dadde2}.hero-search .button{border-radius:999px;padding:15px 25px}.hero-actions{display:flex;gap:23px;margin-top:26px}.hero-actions a{font-size:12px;text-transform:uppercase;letter-spacing:.03em;font-weight:800;border-bottom:2px solid #111;padding-bottom:4px}.hero-actions a:hover{color:#a87300}.slide-arrow{position:absolute;top:47%;z-index:2;border:1px solid rgba(0,0,0,.08);background:#fff;width:43px;height:43px;border-radius:50%;box-shadow:0 3px 12px #0002;font-size:29px;line-height:1}.slide-arrow.left{left:22px}.slide-arrow.right{right:22px}.slider-bottom{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:15px;align-items:center}.slide-dots{display:flex;gap:7px}.slide-dots button{width:9px;height:9px;padding:0;background:#fff;border:0;border-radius:50%;box-shadow:0 0 0 2px #0002}.slide-dots button.on{width:24px;background:var(--yellow);border-radius:30px}.slide-pause{background:rgba(255,255,255,.82);border:0;border-radius:30px;padding:7px 11px;font-size:10px;font-weight:800}.hero-illustration-note{position:absolute;right:18px;bottom:12px;font-size:9px;color:#24303a;background:#ffffff9c;padding:3px 8px;border-radius:20px}
/* HEADINGS */
.section-head{text-align:center;position:relative;margin:0 0 35px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:900;display:flex;justify-content:center;align-items:center;gap:13px;text-transform:uppercase;margin-bottom:10px;color:#343e45}.eyebrow span{width:29px;height:2px;background:var(--yellow-deep)}.section-head h2{font-size:clamp(31px,3.3vw,48px);line-height:1.16;font-weight:900;margin-bottom:11px}.section-head p{font-size:15px;max-width:720px;margin:0 auto}.see-all{position:absolute;right:0;bottom:4px;font-weight:750;font-size:12px;display:flex;align-items:center;gap:8px}.see-all b{font-size:18px}.see-all:hover{color:#bd8800}.categories{padding-block:64px 48px}.category-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.chip{border:1px solid #ebedf0;padding:13px 19px;border-radius:40px;background:#f7f8fa;font-size:12px;font-weight:800;box-shadow:0 3px 10px #1111110b;display:flex;align-items:center;gap:10px}.chip span{font-size:17px}.chip.selected,.chip:hover{background:var(--yellow);border-color:var(--yellow)}
/* FEATURE CARDS */
.cards-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.feature-card{background:#fff;border-radius:31px;box-shadow:var(--shadow);border:1px solid #e9ecf0;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;min-height:455px}.feature-card:hover,.campus-card:hover{transform:translateY(-4px);box-shadow:0 15px 38px #0d182316}.feature-photo{height:215px;display:block;overflow:hidden;position:relative;background:#d9dee4}.feature-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.feature-card:hover img{transform:scale(1.035)}.photo-label{position:absolute;bottom:10px;left:12px;font-size:9px;background:#ffffffd9;padding:4px 9px;border-radius:8px;color:#223;font-weight:700}.feature-content{padding:22px 24px 18px;flex:1}.feature-content .tiny-label{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#9c7304;margin-bottom:12px}.feature-content h3{font-size:20px;font-weight:900;margin-bottom:10px;line-height:1.23}.feature-content h3 a:hover{color:#ae8000}.feature-content p{font-size:13.3px;line-height:1.57;margin:0}.feature-footer{margin:0 24px;padding:15px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border)}.meta{font-size:12px;color:#606b75;font-weight:750}.meta span{color:#b78c0d;font-size:17px}.news-card .feature-content h3{font-size:19px}.news-card .feature-content{padding-bottom:20px}.news-card .feature-footer{margin-top:auto}
/* DIRECTOR */
.direction-section{padding-top:48px}.direction-card{background:#fff;display:grid;grid-template-columns:1.12fr 1fr;min-height:355px;box-shadow:var(--shadow);border:1px solid #e9ebee;border-radius:34px;overflow:hidden}.director-illustration{min-height:330px;background:radial-gradient(circle at 65% 12%,#fff8d7 0,transparent 35%),linear-gradient(138deg,#e8c63f 0%,#fff0a6 60%,#f9d14d 100%);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;overflow:hidden}.director-illustration:before{content:'';position:absolute;width:400px;height:400px;border:47px solid #ffffff55;border-radius:50%;left:-135px;top:-170px}.director-illustration:after{content:'';position:absolute;width:270px;height:270px;border:30px solid #fff4b77c;border-radius:50%;right:-140px;bottom:-185px}.director-icon{width:110px;height:110px;background:#111;display:grid;place-items:center;border-radius:25px;color:#ffd226;font-weight:900;font-size:75px;transform:rotate(-4deg);box-shadow:0 13px 29px #0003}.director-illustration strong{font-size:37px;font-weight:900;letter-spacing:-.06em}.director-illustration span{background:#fff;border-radius:25px;padding:7px 16px;font-weight:900;font-size:12px}.director-illustration small{max-width:270px;line-height:1.5;font-size:11px;color:#4b431f}.direction-copy{padding:40px 46px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.tag{display:inline-block;border-radius:40px;padding:6px 12px;background:#eef0f3;color:#303c46;font-weight:850;font-size:10px;letter-spacing:.02em}.tag-yellow{background:var(--yellow);color:#101820}.direction-copy h3{font-size:29px;line-height:1.13;margin:14px 0}.direction-copy p{font-size:14px;max-width:440px;margin-bottom:11px}.placeholder-note{color:#876c1b!important;font-size:12px!important}.direction-copy .button{margin-top:12px}.large-card .direction-copy h2{font-size:34px}
/* STRENGTH / CAMPUS */
.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.strength-grid>div{padding:29px;border:1px solid #eaecf0;border-radius:26px;background:#fff;min-height:213px}.strength-icon{width:46px;height:46px;background:#fff0ae;display:grid;place-items:center;border-radius:15px;font-size:17px;font-weight:900;color:#3d3000;margin-bottom:24px}.strength-grid h3{font-weight:900;font-size:20px;margin:0 0 10px}.strength-grid p{font-size:13px;margin:0}.campus-card{background:#fff;box-shadow:var(--shadow);border-radius:28px;overflow:hidden;border:1px solid var(--border);transition:transform .2s,box-shadow .2s}.campus-img{position:relative;display:block;height:200px;overflow:hidden}.campus-img img{width:100%;height:100%;object-fit:cover}.campus-content{padding:20px 22px 24px}.campus-content h3{font-size:21px;margin:0 0 8px}.campus-content p{font-size:13px;min-height:40px;margin:0 0 14px}.pin{font-size:20px;color:#be9000}.outline-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border:1px solid #dadfe6;border-radius:99px;font-size:12px;font-weight:900;text-align:center;background:#fff}.outline-link:hover{background:#fff4c8;border-color:var(--yellow)}.campus-grid{row-gap:30px}.muted-center{text-align:center;font-size:13px;color:var(--muted);margin:28px 0 0}
/* CTA PARTNERS FOOTER */
.callout{background:linear-gradient(110deg,#102338,#162c40 70%,#0c1b2b);color:#fff;border-radius:36px;margin-block:45px;min-height:210px;padding:35px 48px;display:flex;align-items:center;justify-content:space-between;gap:35px;overflow:hidden;position:relative}.callout:after{content:'';position:absolute;right:-80px;bottom:-140px;width:300px;height:300px;border:42px solid #ffffff08;border-radius:50%;pointer-events:none}.callout h2{font-size:clamp(29px,3vw,43px);margin:12px 0 6px;max-width:720px}.callout h2 em{color:var(--yellow)}.callout p{color:#d3dce7;font-size:14px;margin:0}.callout-actions{display:flex;align-items:center;flex-direction:column;gap:13px;z-index:1}.callout-actions>a:last-child{font-size:12px;color:#fff;text-decoration:underline;text-underline-offset:5px}.partner-placeholders{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.partner-placeholders div{border:1px solid var(--border);background:#fff;min-height:95px;border-radius:19px;display:flex;justify-content:center;align-items:center;flex-direction:column;font-weight:900;color:#9aa0a7;text-align:center;line-height:1.25;letter-spacing:.05em;font-size:13px}.partner-placeholders small{font-size:12px;color:#b4bac2}.footer{background:#11263a;color:#fff;padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:55px}.footer-grid h3{font-size:15px;letter-spacing:0;margin-bottom:18px}.footer-grid a{display:block;color:#e2e9f0;font-size:12.5px;line-height:2.1}.footer-grid a:hover{color:var(--yellow)}.footer-logo{width:155px;height:80px;object-fit:contain;background:var(--yellow);border-radius:8px}.foot-brand p{font-size:13px;color:#d2dce5;margin:19px 0 9px;max-width:310px}.foot-brand small,.foot-social small{font-size:11px;color:#9bb0c4}.foot-social{border-top:1px solid #455669;margin-top:20px;padding-top:14px;font-size:12px}.foot-social small{display:block}.foot-bottom{border-top:1px solid #32485d;margin-top:42px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b6c5d4;font-size:11px}.foot-bottom strong{color:var(--yellow)}.to-top{position:fixed;z-index:18;bottom:26px;right:25px;border:0;border-radius:50%;background:var(--yellow);color:#111;width:46px;height:46px;font-size:20px;font-weight:900;box-shadow:0 6px 22px #0003}
/* INNER PAGES */
.page-hero{background:linear-gradient(110deg,#fff2bb,#ffe179 67%,#ffda57);text-align:center;padding:76px 0 65px;position:relative;overflow:hidden}.page-hero:before,.page-hero:after{content:'';position:absolute;pointer-events:none;border:55px solid #ffffff45;border-radius:50%;width:390px;height:390px}.page-hero:before{left:-250px;top:-220px}.page-hero:after{right:-240px;bottom:-370px}.page-hero h1{font-size:clamp(40px,5vw,66px);font-weight:900;margin:17px 0}.page-hero p{max-width:750px;margin:0 auto;color:#39424b;font-weight:600}.breadcrumbs{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:31px;font-size:11px;color:#6d6250}.breadcrumbs strong{font-weight:900;color:#181b1f}.page-hero em{font-style:normal;color:#9e7100}.two-col{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.two-col h2,.form-layout h2{font-size:43px;font-weight:900;margin:20px 0}.two-col p,.form-layout>div>p{font-size:15px}.eyebrow-left{font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#bc8b00;font-size:12px}.two-col .button{margin-top:18px}.identity-block{min-height:360px;background:linear-gradient(145deg,#121e2a,#28384a);border-radius:32px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;padding:55px;color:white;position:relative;overflow:hidden}.identity-block:after{content:'I';font-size:460px;line-height:1;color:#ffffff0c;position:absolute;right:-45px;top:-25px;font-weight:900}.identity-block>span{display:inline-block;background:var(--yellow);color:#111;font-size:12px;padding:8px 13px;border-radius:8px;font-weight:900;margin-bottom:20px}.identity-block strong{font-size:46px;line-height:1.16;z-index:1}.identity-block small{color:#9fb1c0;margin-top:20px;z-index:1}.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:45px;align-items:start}.detail-photo{height:350px;border-radius:29px;overflow:hidden;position:relative;margin-bottom:37px}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-copy h2{font-size:35px;margin-bottom:15px}.detail-copy h3{font-size:23px;margin:33px 0 12px}.detail-copy p{font-size:15px}.info-warning{border-left:4px solid var(--yellow-deep);background:#fff7d9;padding:18px 21px;border-radius:0 14px 14px 0;color:#6c5714;font-size:13px;line-height:1.6;margin:22px 0}.aside-card{padding:30px;border-radius:28px;background:#fff;box-shadow:var(--shadow);border:1px solid var(--border);position:sticky;top:100px}.aside-card h3{font-size:24px}.aside-card dl>div{padding:13px 0;border-bottom:1px solid var(--border)}.aside-card dt{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase}.aside-card dd{margin:4px 0 0;font-weight:850;font-size:14px}.aside-card dd small{color:var(--muted);font-weight:500}.aside-card .button{margin-top:25px;font-size:12px}.aside-card .outline-link{margin-top:12px}.aside-note{font-size:11px;margin:13px 0}.bullet-pills{display:flex;flex-wrap:wrap;gap:10px}.bullet-pills span{font-size:12px;font-weight:750;border-radius:30px;background:#f1f3f5;padding:9px 13px}
/* LIST FILTERS */
.filter-panel{padding:25px;background:#fff;border:1px solid #e3e8ed;border-radius:23px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:26px}.filter-panel label,.form-card label{display:block;color:#2e3943;font-size:12px;font-weight:900}.filter-panel input,.filter-panel select,.form-card input:not([type=checkbox]),.form-card select,.form-card textarea{display:block;width:100%;background:#fafbfc;border:1px solid #e1e5e9;border-radius:13px;padding:13px 14px;margin-top:8px;color:#27303b;outline-color:#ffce27;font-weight:600;font-size:13px}.filter-panel .button{min-height:47px}.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0;font-size:13px}.catalog-summary strong{font-size:16px}.catalog-summary span{color:var(--muted)}.empty{text-align:center;padding:60px;border-radius:25px;background:#f6f7fa}.text-button{color:#8b6800;border:0;background:transparent;font-weight:900;text-decoration:underline}.news-filters{display:flex;justify-content:center;gap:11px;margin-bottom:28px;flex-wrap:wrap}.filter-chip{padding:11px 17px;border:1px solid #e4e7ea;border-radius:99px;background:#f7f8fa;font-size:12px;font-weight:900}.filter-chip.selected,.filter-chip:hover{background:var(--yellow);border-color:var(--yellow)}
/* ADMISSION / FORMS */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps-grid>div{background:#fff;border:1px solid var(--border);border-radius:22px;padding:25px}.steps-grid b{font-size:32px;color:#c18c00;letter-spacing:-.055em}.steps-grid h3{font-size:18px;margin:21px 0 10px}.steps-grid p{font-size:13px}.admissions-two{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.soft-card{background:#f3f5f7;padding:34px;border-radius:28px}.soft-card h2{font-size:29px;margin:12px 0}.soft-card p{font-size:14px}.yellow-card{background:#ffde66}.form-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:start}.form-tips{padding:25px;border-radius:22px;border:1px solid var(--border);margin-top:22px}.form-tips h3{font-size:18px}.form-tips p{font-size:13px;margin:0}.form-card{padding:33px;background:#fff;box-shadow:var(--shadow);border:1px solid #e5e8ee;border-radius:27px}.form-card h3{font-size:23px;margin-bottom:29px}.form-card label{margin-bottom:20px}.form-card label>span{color:#bc8800}.form-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-card textarea{resize:vertical;min-height:108px}.form-card .check-row{display:flex;align-items:flex-start;gap:12px;font-weight:600;line-height:1.5}.form-card .check-row input{accent-color:#ddb400;transform:scale(1.15);margin-top:3px}.form-card .check-row span{color:#454e58}.form-card .button{border-radius:13px}.form-disclaimer{color:#8a929a;font-size:11px;text-align:center;margin:11px 0 0}.contact-details{margin-top:35px}.contact-details>div{display:flex;gap:17px;border-bottom:1px solid var(--border);padding:17px 0}.contact-details>div>span{font-size:26px;color:#b78900}.contact-details strong{font-size:16px}.contact-details p{font-size:14px;margin:5px 0}.contact-details a{text-decoration:underline;color:#a87a00}.article-layout{display:grid;grid-template-columns:1fr 300px;gap:55px}.article-layout article>h2{font-size:36px;margin:20px 0}.article-layout article>p{font-size:15px}.article-placeholder{min-height:150px;border:2px dashed #d7dde2;background:#f8fafb;border-radius:20px;display:grid;place-items:center;text-align:center;color:#7a8791;margin:24px 0;padding:24px}.prose-page{max-width:850px}.prose-page h2{margin:35px 0 10px;font-size:27px}.big-partners{margin-top:38px}.center-cta{text-align:center;background:#f6f8fa;border-radius:26px;padding:44px;margin-top:42px}.center-cta h3{font-size:28px;margin-bottom:20px}
/* MODAL */
.modal-backdrop{position:fixed;inset:0;background:rgba(8,18,27,.74);z-index:99;display:grid;place-items:center;padding:16px}.modal-backdrop[hidden]{display:none}.modal{width:min(580px,100%);max-height:90vh;overflow-y:auto;background:#fff;border-radius:26px;padding:35px;position:relative}.modal-close{position:absolute;top:15px;right:18px;background:#f1f3f4;border:0;font-size:25px;width:38px;height:38px;border-radius:50%}.modal h2{font-size:29px;margin:15px 0}.modal p{font-size:14px}.summary-list>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.summary-list dt{font-weight:900}.summary-list dd{margin:0;overflow-wrap:anywhere}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.toast{position:fixed;bottom:90px;right:20px;z-index:100}
@media(max-width:1180px){.container{width:min(1090px,calc(100% - 48px))}.main-nav{gap:9px}.nav-group>a{font-size:11.2px}.nav-inner{gap:11px}.brand{flex-basis:120px}.brand-logo{width:118px}.top-cta{padding:13px}.section-head h2{font-size:39px}.hero h1{max-width:650px}.footer-grid{gap:26px}}
@media(max-width:1130px){.container{width:calc(100% - 40px)}.site-header{height:72px}.brand{flex-basis:130px}.brand-logo{width:126px;height:57px}.nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;background:#f4f5f7;border:0;border-radius:11px;width:42px;height:42px}.nav-toggle span{height:2px;width:20px;background:#1d2731}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;padding:18px 24px 23px;background:#fff;box-shadow:0 17px 26px #0002;max-height:75vh;overflow-y:auto}.main-nav.open{display:flex}.nav-group{flex-wrap:wrap;justify-content:space-between}.nav-group>a{font-size:14px;padding:8px 0;border:0}.nav-sub{position:static;width:100%;box-shadow:none;background:#f7f8fa;border:0;min-width:0}.has-sub:hover .nav-sub{display:none}.has-sub.sub-open .nav-sub{display:block}.has-sub:focus-within .nav-sub{display:none}.has-sub.sub-open:focus-within .nav-sub{display:block}.top-cta{margin-left:5px!important}.hero{height:560px}.hero-search{max-width:680px}.cards-three{gap:17px}.feature-photo{height:175px}.feature-content{padding:18px}.feature-content h3{font-size:18px}.feature-footer{margin-inline:18px}.feature-footer .meta{font-size:11px}.feature-footer .small-button{padding:10px 12px}.direction-card{grid-template-columns:1fr 1fr}.direction-copy{padding:27px}.director-illustration{min-height:310px}.filter-panel{grid-template-columns:repeat(2,1fr)}.filter-panel .button{grid-column:2}.section-head{margin-bottom:30px}.see-all{position:static;justify-content:center;margin-top:15px}.steps-grid{grid-template-columns:repeat(2,1fr)}.form-layout{gap:28px}.footer-grid{grid-template-columns:repeat(2,1fr)}.strength-grid{gap:13px}.strength-grid>div{padding:22px}}
@media(max-width:640px){.container{width:calc(100% - 34px)}.prototype-banner{font-size:10px;padding:0 7px;white-space:nowrap}.prototype-banner .smallhide{display:none}.site-header{height:68px}.main-nav{top:68px}.brand-logo{width:109px;height:50px}.brand{flex-basis:110px}.top-cta{font-size:0;padding:13px 14px}.top-cta span{font-size:18px}.hero{height:auto;min-height:635px}.hero-inner{padding:60px 0 100px;justify-content:flex-start}.hero-badge{font-size:10px}.hero h1{font-size:45px;max-width:400px}.hero-inner>p{font-size:14px;max-width:380px}.hero-bg-1{background-position:left center}.hero-bg-1::after{background:linear-gradient(90deg,#fff0cae0,#fff0cae8)}.hero-search{border-radius:24px;padding:13px;display:flex;flex-direction:column;gap:12px;border-width:4px;max-width:410px}.hero-search label{width:100%;padding:7px 10px}.hero-search .split{width:95%;height:1px}.hero-search .button{width:100%}.hero-actions{gap:13px;margin-top:20px;flex-wrap:wrap;justify-content:center}.hero-actions a{font-size:10px}.slide-arrow{width:35px;height:35px;top:43%;background:#ffffffd9}.slide-arrow.left{left:5px}.slide-arrow.right{right:5px}.slider-bottom{bottom:23px}.hero-illustration-note{display:none}.section,.section-tint{padding-block:55px}.categories{padding-block:45px}.section-head{margin-bottom:24px}.section-head h2{font-size:32px}.section-head p{font-size:13px}.eyebrow{letter-spacing:.12em;font-size:10px}.eyebrow span{width:19px}.category-row{justify-content:center;gap:9px}.chip{font-size:11px;padding:10px 12px}.cards-three{grid-template-columns:1fr;gap:20px}.feature-card{min-height:0;max-width:475px;margin-inline:auto;width:100%}.feature-photo{height:215px}.feature-content h3{font-size:22px}.feature-content p{font-size:13px}.feature-footer .meta{font-size:12px}.feature-footer .small-button{padding:12px 16px}.direction-card{grid-template-columns:1fr;max-width:480px;margin-inline:auto}.director-illustration{min-height:270px}.direction-copy{padding:28px}.direction-copy h3{font-size:27px}.strength-grid{grid-template-columns:1fr}.strength-grid>div{min-height:0}.campus-card{max-width:475px;margin-inline:auto;width:100%}.callout{min-height:0;margin-block:15px 40px;padding:36px 26px;flex-direction:column;align-items:flex-start;gap:20px}.callout h2{font-size:31px}.callout-actions{width:100%;align-items:stretch;text-align:center}.partner-placeholders{grid-template-columns:repeat(2,1fr);gap:11px}.partner-placeholders div{font-size:10px}.footer{padding-top:42px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:27px 19px}.footer-grid .foot-brand{grid-column:1/-1}.foot-bottom{flex-direction:column;align-items:flex-start;gap:9px}.footer-logo{width:135px;height:68px}.page-hero{padding:50px 0}.page-hero h1{font-size:39px}.page-hero p{font-size:13px}.two-col{grid-template-columns:1fr;gap:28px}.two-col h2,.form-layout h2{font-size:34px}.identity-block{min-height:290px}.identity-block strong{font-size:40px}.detail-layout,.article-layout{grid-template-columns:1fr;gap:22px}.detail-photo{height:215px}.aside-card{position:static}.filter-panel{grid-template-columns:1fr}.filter-panel .button{grid-column:auto}.catalog-summary{align-items:flex-start;flex-direction:column;gap:2px}.steps-grid{grid-template-columns:1fr}.steps-grid>div{padding:21px}.admissions-two{grid-template-columns:1fr}.form-layout{grid-template-columns:1fr;gap:30px}.form-card{padding:22px}.form-card .form-row{grid-template-columns:1fr;gap:0}.modal{padding:27px 20px}.modal-actions{flex-direction:column}.summary-list>div{grid-template-columns:95px 1fr}.to-top{width:40px;height:40px;right:14px;bottom:18px}.center-cta{padding:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.prototype-banner,.site-header,.footer,.to-top,.hero,.modal-close,.modal-actions{display:none!important}.modal-backdrop{position:static;background:#fff;padding:0}.modal{width:100%;box-shadow:none}.page-hero{padding:12px}body.modal-open main{display:none}}


/* ===============================================================
   V8 -- transposition fidèle de la maquette fournie. Les visuels du
   Directeur et des campus ne sont pas des photos officielles.
   =============================================================== */
:root{--yellow:#ffcf00;--yellow-deep:#e6af00;--ink:#11151b;--navy:#0e263a;--shadow:0 9px 25px #17253512,0 2px 5px #1725350b}
body{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#11151b}
.container{width:min(1250px,calc(100% - 96px))}
.site-header{height:76px;box-shadow:0 1px 9px #0d1d2911}
.brand{flex-basis:150px}.brand-logo{width:144px;height:60px;background:#fff;border-radius:0;object-fit:contain}
.nav-inner{gap:20px}.main-nav{gap:18px}.nav-group>a{font-size:12px;font-weight:720}.top-cta{background:var(--yellow);border-radius:32px;font-size:12px}
/* Main hero uses a photo generated as a separate image, ensuring all words & controls are real HTML */
.v8-home .hero{height:488px;background:#cfdedd}
.v8-home .hero-bg-1{background-image:linear-gradient(90deg,#0003,#001a2935,#0003),url('../img/hero-haute-definition-1.jpg');background-position:center 43%}
.v8-home .hero-bg-2{background-image:linear-gradient(90deg,#0007,#001c3566,#0006),url('../img/hero-haute-definition-2.jpg');background-position:center 55%}
.v8-home .hero-bg-3{background-image:linear-gradient(90deg,#0007,#001c3566,#0006),url('../img/hero-haute-definition-3.jpg');background-position:center 60%}
.v8-home .hero-bg::after{background:linear-gradient(180deg,#0001,#0003)}
.v8-home .hero-inner{padding-top:26px;padding-bottom:26px;justify-content:flex-start}
.v8-home .hero-badge{letter-spacing:0;border-radius:100px;padding:6px 14px;color:#101010;font-size:12px;margin:5px 0 8px}
.v8-home .hero h1{font-size:clamp(46px,4.3vw,66px);max-width:850px;color:#fff;line-height:1.015;text-shadow:0 2px 10px #000a;margin-bottom:9px;letter-spacing:-.055em}
.v8-home .hero h1 span{color:var(--yellow);text-shadow:0 2px 10px #0008}
.v8-home .hero-inner>p{font-size:15px;font-weight:680;color:white;text-shadow:0 1px 7px #0009;margin:3px 0 17px}
.v8-home .hero-search{width:min(890px,100%);min-height:69px;box-shadow:0 12px 36px #0003;border:6px solid #fff;border-radius:100px}
.v8-home .hero-search label{padding:0 18px}.v8-home .hero-search label b{font-size:12px}.v8-home .hero-search select{font-size:11px}
.v8-home .hero-search .button{padding:14px 30px;font-size:13px}.v8-home .hero-search .split{height:33px}
.v8-home .slide-arrow{top:47%;opacity:.9}.v8-home .slider-bottom{bottom:10px}.v8-home .slide-pause{font-size:9px;padding:4px 9px}
.reference-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:15px 0 28px;justify-items:center}
.level-item{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:900;font-size:12px;text-align:center}
.level-icon{display:grid;place-items:center;font-size:27px;width:94px;height:54px;background:#f6f7f9;border-radius:25px;transition:.15s ease}.level-item:hover .level-icon{background:#fff1ac;transform:translateY(-2px)}
.v8-home .section,.v8-home .section-tint{padding-block:42px}.v8-home .director-home{padding-top:8px!important}
.v8-home .section-head{margin-bottom:26px}
.v8-home .section-head .eyebrow{font-size:11px;letter-spacing:.19em;margin-bottom:5px}
.v8-home .section-head h2{font-size:clamp(32px,3.4vw,46px);letter-spacing:-.045em;margin-bottom:5px}
.v8-home .section-head h2 em{color:#dfa400}
.v8-home .section-head p{font-size:14px}
.v8-home .section-head .see-all{right:0;bottom:3px}
.director-home-card{display:grid;grid-template-columns:1.25fr .95fr;min-height:290px;border:1px solid #eaeaea;background:#fff;border-radius:27px;overflow:hidden;box-shadow:var(--shadow)}
.director-photo{position:relative;overflow:hidden;background:#e8e6df}.director-photo img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.director-photo>span{position:absolute;bottom:9px;left:14px;color:#1f252a;background:#ffffffe8;border-radius:20px;padding:4px 11px;font-weight:800;font-size:10px}
.director-home-copy{padding:28px 33px;display:flex;flex-direction:column;align-items:flex-start}
.director-home-copy .label-yellow{background:var(--yellow);border-radius:99px;font-size:11px;padding:4px 13px;font-weight:900}
.director-home-copy h3{font-size:28px;margin:12px 0 9px;letter-spacing:-.047em}.director-home-copy p{font-size:13px;margin:0 0 10px}.director-home-copy strong{font-size:13px}.director-home-copy small{font-size:11px;color:#65717c}.director-home-copy .button{margin-top:auto;border-radius:99px;font-size:12px;padding:11px 22px}
.v8-home .cards-three{gap:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.reference-card,.reference-campus{background:#fff;border-radius:24px;border:1px solid #edf0f3;overflow:hidden;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column}
.reference-card-picture{height:211px;overflow:hidden;display:block}.reference-card-picture img{width:100%;height:100%;object-fit:cover;transition:transform .24s}.reference-card:hover .reference-card-picture img{transform:scale(1.035)}
.reference-card-body{padding:19px 20px 16px;display:flex;flex:1;flex-direction:column;align-items:stretch}
.reference-card h3{font-size:19px;margin:0 0 9px;font-weight:900;letter-spacing:-.03em}
.reference-card-body p{font-size:13px;line-height:1.55;color:#47535f;margin:0 0 15px;flex:1}
.reference-card-bottom{border-top:1px solid #e7e9ec;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.reference-card-bottom>span{color:#526071;font-size:12px;white-space:nowrap}.reference-card-bottom small{font-size:11px}
.reference-card-bottom .button{font-size:12px;border-radius:100px;padding:11px 17px}
.reference-campus>a:first-child{height:160px;position:relative;display:block;overflow:hidden}.reference-campus>a:first-child img{width:100%;height:100%;object-fit:cover}.corner-note{position:absolute;bottom:8px;right:10px;font-size:9px;color:#222;background:#fffd;border-radius:15px;padding:2px 7px}
.reference-campus-body{padding:13px 17px 14px}.reference-campus-body h3{margin:0 0 5px;font-size:17px;font-weight:900}.reference-campus-body p{margin:0 0 11px;font-size:12px}.reference-campus-body p span{color:#e5ad00;font-size:17px}
.reference-campus .outline-link{display:flex;justify-content:center;align-items:center;border:1px solid #e5e9ee;border-radius:50px;padding:9px;font-size:12px;font-weight:850;gap:9px}.reference-campus .outline-link:hover{background:#fff2b6}
.v8-home .news-reference .reference-card-picture{height:177px}.news-reference .reference-card-body{padding:15px 17px 15px}.news-reference .news-meta{display:flex;align-items:center;gap:10px;color:#66717d;font-size:11px;margin-bottom:9px}.label-yellow{background:#ffdd4e;border-radius:99px;padding:4px 9px;color:#181a1d;font-weight:800}.news-reference h3{font-size:16px;line-height:1.25;min-height:40px}.news-reference .reference-card-body p{font-size:12px;margin-bottom:5px}.indicative{font-weight:700;color:#ad7b00}.news-end a{font-size:12px;font-weight:900;color:#d28a00}.news-end a:hover{text-decoration:underline}
.cta-home{position:relative;background:linear-gradient(110deg,#0a1928eb,#12283cf0),url('../img/hero-haute-definition-2.jpg') center/cover;min-height:242px;color:white;display:flex;align-items:center;text-align:center;overflow:hidden}
.cta-home:before{content:'';position:absolute;width:310px;height:340px;background:var(--yellow);left:-195px;bottom:-230px;transform:rotate(-34deg);border-radius:80px}.cta-home .container{position:relative;padding:35px 10px}.cta-home .eyebrow-simple{font-size:11px;letter-spacing:.24em;font-weight:900;margin-bottom:4px}.cta-home h2{font-size:clamp(33px,3.3vw,46px);color:white;margin:0 0 5px;letter-spacing:-.055em}.cta-home h2 em{font-style:normal;color:var(--yellow)}.cta-home p{color:#e5e6e9;margin:0 0 14px;font-size:14px}.cta-home .button{border-radius:60px;font-size:13px;padding:13px 23px}
.v8-home .partners-home{padding:30px 0 45px}.partners-home .section-head{margin-bottom:11px}.partner-warning{max-width:900px;margin:0 auto 18px;text-align:center;color:#5b6672;font-size:11.5px;line-height:1.5}
.logos-frame{display:flex;align-items:center;gap:13px}.logo-arrow{height:38px;flex:0 0 38px;border:0;border-radius:50%;background:#f1f2f5;color:#394451;font-size:24px}.logo-arrow:hover{background:var(--yellow)}.logos-track{display:flex;gap:13px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;flex:1;padding:4px}.logos-track::-webkit-scrollbar{display:none}
.reference-logo{background:white;flex:0 0 165px;height:94px;border:1px solid #eef0f2;border-radius:15px;box-shadow:0 3px 9px #00000009;scroll-snap-align:start;display:grid;place-items:center;overflow:hidden}.reference-logo img{width:100%;height:100%;object-fit:contain}
.v8-home .section-tint{background:linear-gradient(180deg,#f8fbfe,#f5f9fc)}
.footer{background:#10263a}.footer-grid{padding-top:18px}.footer .foot-brand p{max-width:290px}.footer-logo{width:140px;height:61px;object-fit:contain;background:#fff;border-radius:5px}.footer h3{font-size:14px}.footer a,.footer p{font-size:12px}.footer .social-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.social-row>a{display:grid;place-items:center;background:#0076c9;color:#fff;width:30px;height:30px;border-radius:50%;font-weight:900}.social-row small{font-size:10px;width:100%;margin-top:7px}.foot-bottom{font-size:11px}
/* Small, visible and non-misleading label for the demo */
.v8-home:after{content:'DÉMONSTRATION NON OFFICIELLE';position:fixed;bottom:10px;left:10px;z-index:26;padding:7px 10px;background:#fffefaed;color:#253341;border:1px solid #ece7db;border-radius:15px;font-size:10px;font-weight:900;box-shadow:0 4px 14px #0001;pointer-events:none}
@media(max-width:1050px){.container{width:calc(100% - 52px)}.v8-home .hero{height:515px}.nav-inner{gap:13px}.main-nav{gap:11px}.nav-group>a{font-size:11px}.director-home-card{grid-template-columns:1fr 1fr}.reference-card-picture{height:175px}.reference-card-body{padding:16px}.reference-card h3{font-size:17px}}
@media(max-width:1130px){.site-header{height:72px}.main-nav{top:72px}.v8-home .hero h1{font-size:54px}.v8-home .cards-three{gap:16px}.reference-card-bottom{flex-wrap:wrap}.reference-card-bottom .button{margin-left:auto}}
@media(max-width:650px){.container{width:calc(100% - 32px)}.site-header{height:68px}.main-nav{top:68px}.brand-logo{width:125px;height:53px}.brand{flex-basis:125px}
.v8-home .hero{min-height:650px;height:auto}.v8-home .hero-inner{padding-top:56px;padding-bottom:92px;justify-content:flex-start}.v8-home .hero h1{font-size:46px;margin-top:2px}.v8-home .hero-inner>p{font-size:13px;padding:0 24px}.v8-home .desktop-only{display:none}
.v8-home .hero-search{flex-direction:column;gap:9px;border-radius:27px;padding:12px;width:min(410px,100%)}.v8-home .hero-search label{padding:7px 11px;width:100%;min-height:50px}.v8-home .hero-search .split{height:1px;width:94%}.v8-home .hero-search .button{width:100%}.v8-home .hero-bg-1{background-position:center center}.v8-home .hero-bg-1::after{background:linear-gradient(180deg,#0003,#001d3b55)}
.reference-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 6px;padding:23px 0 15px}.level-icon{width:78px;height:52px;font-size:26px}.level-item{font-size:11px}
.v8-home .section,.v8-home .section-tint{padding-block:38px}.v8-home .section-head h2{font-size:30px}.v8-home .section-head{margin-bottom:22px}.v8-home .section-head .see-all{position:static;margin-top:12px}.v8-home .cards-three{grid-template-columns:1fr;gap:20px}.reference-card,.reference-campus{max-width:480px;width:100%;margin-inline:auto}.reference-card-picture{height:235px}.reference-card-body{padding:20px}.reference-card h3{font-size:20px}
.director-home-card{grid-template-columns:1fr;max-width:490px;margin:auto}.director-photo{height:270px}.director-home-copy{padding:27px}.director-home-copy h3{font-size:26px}.director-home-copy .button{margin-top:20px}
.reference-campus>a:first-child{height:210px}.news-reference .reference-card-picture{height:225px}.news-reference h3{min-height:0}.cta-home{min-height:248px}.cta-home h2{font-size:33px}.cta-home p{font-size:12px}.v8-home .partners-home{padding:28px 0 40px}.logos-frame{gap:6px}.logo-arrow{height:30px;flex-basis:30px;font-size:20px}.reference-logo{flex-basis:135px;height:78px}.partner-warning{font-size:11px}
}
 
/* V9 — corrections qualité et présentation fidèle */
.site-header .brand,.footer .foot-brand{isolation:isolate}
.brand-logo{width:155px;height:62px;object-fit:contain;background:transparent;border-radius:0}
.brand{flex-basis:163px}
.footer-logo{background:transparent;width:150px;height:67px;object-fit:contain}
.hero-bg-1{background-image:url('../img/hero-haute-definition-1.jpg')}
.hero-bg-2{background-image:url('../img/hero-haute-definition-2.jpg')}
.hero-bg-3{background-image:url('../img/hero-haute-definition-3.jpg')}
.v8-home .hero-bg{background-size:cover;background-position:center center;filter:none!important}
.v8-home .hero-bg:after{background:linear-gradient(90deg,rgba(0,0,0,.09),rgba(0,0,0,.18),rgba(0,0,0,.1))}
.v8-home .hero h1{color:#fff;text-shadow:0 3px 16px #000c,0 1px 3px #000a}
.v8-home .hero h1 span{color:#ffd226;text-shadow:0 2px 7px #0008}
.v8-home .hero-inner>p{color:#fff;text-shadow:0 2px 7px #000f}
.director-photo img{object-position:center 10%;filter:none;image-rendering:auto}
.director-real-photo{background:#28344b;overflow:hidden}
.director-real-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 11%}
.reference-card-picture img,.reference-campus img,.feature-photo img,.detail-photo img,.campus-img img{image-rendering:auto;filter:none;backface-visibility:hidden}
/* Wide mega-menu appears on hover/focus/click; right-hand preview imitates video reference */
.main-nav{position:static}.nav-inner{position:relative}
.mega-menu{width:min(690px,calc(100vw - 48px));min-width:530px;left:50%;transform:translateX(-50%);padding:18px;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr);gap:24px;border-radius:0 0 22px 22px;top:100%;box-shadow:0 24px 42px rgba(12,28,40,.16)}
.has-sub:hover .mega-menu,.has-sub:focus-within .mega-menu,.has-sub.sub-open .mega-menu{display:grid}
.mega-label{display:block;color:#142b40;font-size:16px;font-weight:900;margin:0 0 11px;padding:5px 11px}
.mega-links a{display:flex;gap:11px;align-items:center;padding:9px 11px;font-size:13px}
.mega-links a span{color:#daae00}
.mega-preview{display:flex;flex-direction:column;align-self:stretch;overflow:hidden;background:#f7f8fa;border-radius:14px}
.mega-preview>img{height:125px;width:100%;object-fit:cover}
.mega-preview>span{display:flex;flex-direction:column;padding:12px;gap:2px}
.mega-preview>span strong{font-size:13px}
.mega-preview>span small{color:#69747f;font-size:12px}
/* Photographic cards display at a sensible size for the effective detail level of their originals */
.reference-card-picture{height:205px}
.reference-campus>a:first-child{height:165px}
.reference-logo{flex-basis:137px;height:82px}
.reference-logo img{width:auto;max-width:100%;height:auto;max-height:72px;object-fit:contain}
.logo-arrow{flex-basis:34px;height:34px}
@media(max-width:1100px){.brand{flex-basis:135px}.brand-logo{width:135px;height:57px}.main-nav{gap:11px}.nav-group>a{font-size:11.5px}}
@media(max-width:1130px){.mega-menu{position:static;transform:none;min-width:0;width:100%;box-shadow:none;display:none;grid-template-columns:1fr;border-radius:12px;padding:8px;background:#fbfcfd}.has-sub:hover .mega-menu{display:none}.has-sub.sub-open .mega-menu,.has-sub:focus-within .mega-menu{display:grid}.mega-preview{display:none}.mega-links a{font-size:14px}.mega-label{font-size:13px;margin:0}.nav-group{flex-wrap:wrap}.nav-sub-toggle{margin-left:auto}}
@media(max-width:650px){.brand-logo{width:129px;height:54px}.brand{flex-basis:129px}.v8-home .hero-bg-1,.v8-home .hero-bg-2,.v8-home .hero-bg-3{background-position:center center}.v8-home .hero-inner{padding-top:45px}.v8-home .hero h1{font-size:43px}.reference-logo{flex-basis:125px;height:78px}.reference-card-picture{height:235px}.reference-campus>a:first-child{height:210px}}
@media(prefers-reduced-motion:reduce){.hero-bg,.feature-card,.reference-card-picture img,.button{transition:none!important}}
@media(min-width:1131px){.main-nav .has-sub{position:static}.main-nav .mega-menu{left:50%;transform:translateX(-50%)}}
@media(max-width:1130px){.main-nav .has-sub{position:relative}}
/* Correct mobile dropdown width: fixed overlay under sticky header, not a narrow flex-item */
@media(max-width:1130px){
 .main-nav.open{display:flex!important;position:fixed!important;top:72px!important;left:0!important;right:0!important;width:100vw!important;min-width:0!important;max-width:100vw!important;max-height:calc(100dvh - 72px);padding:18px 24px 24px;flex-direction:column;align-items:stretch;background:#fff;z-index:45;overflow-x:hidden;overflow-y:auto;box-shadow:0 18px 32px rgba(6,22,33,.2)}
 .main-nav .nav-group{width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f2;}
 .main-nav .nav-group>a{display:block;flex:1;padding:13px 2px;font-size:15px;line-height:1.3}
 .main-nav .nav-sub-toggle{width:45px;min-width:45px;height:42px;font-size:22px;text-align:center}
 .main-nav .mega-menu{position:static!important;transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0 0 12px;box-shadow:none!important;padding:6px 10px 12px;border-radius:12px}
 .main-nav .has-sub.sub-open>.mega-menu{display:grid!important}
 .main-nav .has-sub:not(.sub-open)>.mega-menu{display:none!important}
}
@media(max-width:650px){.main-nav.open{top:68px!important;max-height:calc(100dvh - 68px)}}
/* Show a student rather than the empty center of the panoramic photo on narrow screens */
@media(max-width:650px){
 .v8-home .hero-bg-1{background-position:27% center!important}
 .v8-home .hero-bg-2{background-position:75% center!important}
 .v8-home .hero-bg-3{background-position:25% center!important}
}

/* V10: image-quality pass, non-cropped sourced illustrations and streamlined slider */
.v8-home .hero-bg-1{background-image:linear-gradient(90deg,rgba(0,0,0,.30),rgba(0,0,0,.36),rgba(0,0,0,.25)),url('../img/hero-haute-definition-1.jpg')!important}
.v8-home .hero-bg-2{background-image:linear-gradient(90deg,rgba(0,0,0,.24),rgba(0,0,0,.43),rgba(0,0,0,.24)),url('../img/hero-haute-definition-2.jpg')!important}
.v8-home .hero-bg-3{background-image:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.39),rgba(0,0,0,.22)),url('../img/hero-haute-definition-3.jpg')!important}
.v8-home .hero-bg{background-size:cover!important;background-position:center 44%!important;filter:none!important}
.v8-home .slide-pause,.v8-home .slide-arrow{display:none!important}
.v8-home .slider-bottom{justify-content:center!important;pointer-events:none}
.v8-home .slide-dots{pointer-events:auto}
.reference-card-picture img,.feature-photo img,.detail-photo img,.reference-campus img,.campus-img img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto;filter:none!important}
.reference-campus img{object-position:50% 55%}
.director-photo img,.director-real-photo img{object-position:50% 29%;filter:none!important}
.v8-home .hero-bg::after{background:transparent!important}
@media(min-width:1131px){.main-nav{gap:12px}.nav-group>a{white-space:nowrap;font-size:11px}.nav-sub-toggle{font-size:13px}.nav-inner{gap:12px}.top-cta{white-space:nowrap}}
@media(max-width:650px){
.v8-home .hero-bg-1{background-position:26% center!important}
.v8-home .hero-bg-2{background-position:54% center!important}
.v8-home .hero-bg-3{background-position:76% center!important}
.reference-card-picture img{object-position:center 45%}
.reference-campus img{object-position:50% 50%}
}
/* V10 final director-card framing: prevent portrait's intrinsic height stretching the card */
@media(min-width:651px){
 .v8-home .director-home-card{height:340px;min-height:0}
 .v8-home .director-photo{height:340px;min-height:0}
 .v8-home .director-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
 .v8-home .director-home-copy{min-height:0}
}
@media(max-width:650px){
 .v8-home .director-home-card{height:auto;min-height:0}
 .v8-home .director-photo{height:270px;min-height:0}
 .v8-home .director-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
}
/* Portrait officiel: cadrage haut pour conserver la tête dans le cadre horizontal */
@media(min-width:651px){.v8-home .director-photo img{object-position:50% 0%!important}}
@media(max-width:650px){.v8-home .director-photo img{object-position:50% 5%!important}}


/* V11 final fixes: desktop nav alignment, hoverable menus, real-photo cards, and continuous partners marquee */
@media(min-width:1131px){
  .main-nav{gap:18px;align-items:stretch}
  .main-nav .nav-group{position:relative;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;width:auto;max-width:none;border-bottom:0;gap:4px}
  .main-nav .nav-group>a{display:inline-flex;align-items:center;flex:0 0 auto;padding:28px 0 24px;font-size:12.5px;line-height:1;border-bottom:3px solid transparent}
  .main-nav .nav-group>a:hover,.main-nav .nav-group>a.active,.main-nav .nav-group.sub-open>a{border-bottom-color:var(--yellow)}
  .main-nav .nav-sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:14px;height:auto;padding:26px 0 22px 0;margin:0;color:#7a838d;font-size:11px;line-height:1;border:0;background:transparent}
  .main-nav .nav-sub-toggle:hover{color:var(--ink)}
  .main-nav .nav-group.has-sub>.mega-menu{top:100%;margin-top:0;left:50%;transform:translateX(-50%)}
  .main-nav .nav-group:not(.sub-open)>.mega-menu{display:none}
  .main-nav .nav-group.sub-open>.mega-menu{display:grid}
}
.reference-campus>a:first-child img,.campus-img img{object-position:center center}
.reference-campus .corner-note{display:none}
.v8-home .section-tint .reference-card-picture img,.feature-photo img,.campus-img img,.reference-campus img{filter:none!important}
.v8-home .partners-home .section-head{margin-bottom:14px}
.logos-marquee{overflow:hidden;position:relative;padding:8px 0}
.logos-marquee::before,.logos-marquee::after{content:'';position:absolute;top:0;bottom:0;width:42px;pointer-events:none;z-index:2}
.logos-marquee::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.logos-marquee::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.logos-track{display:flex;align-items:center;gap:18px;overflow:hidden;flex-wrap:nowrap;width:max-content;animation:partnerMarquee 28s linear infinite}
.logos-track.paused{animation-play-state:paused}
.reference-logo{flex:0 0 170px;height:104px;border-radius:18px;background:#fff;border:1px solid #eceff2;box-shadow:0 7px 18px rgba(17,25,34,.06)}
.reference-logo img{display:block;width:auto;max-width:82%;height:auto;max-height:62px;margin:auto;object-fit:contain;image-rendering:auto}
@keyframes partnerMarquee{from{transform:translateX(calc(-50% - 9px))}to{transform:translateX(0)}}
@media(max-width:1130px){
  .logos-track{animation-duration:22s;gap:14px}
  .reference-logo{flex-basis:150px;height:94px}
}


/* V12: stronger desktop alignment for label + arrow, and safer submenu interaction */
@media(min-width:1131px){
  .site-header,.site-header .container,.site-header .nav-inner,.site-header .main-nav{overflow:visible}
  .site-header{height:80px}
  .nav-inner{align-items:center;gap:14px}
  .main-nav{display:flex;align-items:center;justify-content:center;gap:18px;flex:1}
  .main-nav .nav-group{position:relative;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:6px;justify-content:start;width:auto!important;max-width:none!important;border-bottom:0!important;padding:0;margin:0}
  .main-nav .nav-group>a{display:flex;align-items:center;height:80px;padding:0;flex:0 0 auto;font-size:12px;font-weight:760;line-height:1;white-space:nowrap;border-bottom:3px solid transparent}
  .main-nav .nav-group>a:hover,.main-nav .nav-group>a.active,.main-nav .nav-group.sub-open>a{border-bottom-color:var(--yellow)}
  .main-nav .nav-sub-toggle{display:flex;align-items:center;justify-content:center;height:80px;width:14px;min-width:14px;padding:0;margin:0;border:0;background:transparent;color:#6f7a84;font-size:10px;line-height:1;cursor:pointer}
  .main-nav .nav-sub-toggle:hover,.main-nav .nav-group.sub-open .nav-sub-toggle{color:var(--ink)}
  .main-nav .nav-group.has-sub>.mega-menu{position:absolute!important;top:100%;left:50%!important;transform:translateX(-50%)!important;z-index:60;max-height:min(72vh,470px);overflow-y:auto;overflow-x:hidden;padding:18px;width:min(700px,calc(100vw - 50px));min-width:540px}
  .main-nav .nav-group.has-sub.sub-open>.mega-menu{display:grid!important}
  .main-nav .nav-group.has-sub:not(.sub-open)>.mega-menu{display:none!important}
}
@media(max-width:1130px){
  .main-nav .nav-group>a{flex:1 1 auto}
  .main-nav .nav-sub-toggle{cursor:pointer}
}

/* V13 — desktop dropdowns stay attached to the trigger and inside viewport */
@media(min-width:1131px){
  .main-nav .nav-group{position:relative!important;display:flex!important;gap:5px!important;align-items:center!important;justify-content:center!important;height:80px;flex:0 0 auto}
  .main-nav .nav-group>a{display:flex;height:100%;align-items:center;line-height:1.2;padding:0!important;font-size:12px}
  .main-nav .nav-sub-toggle{display:flex;align-items:center;justify-content:center;width:14px;min-width:14px;height:100%;line-height:1;margin:0;padding:0;font-size:12px}
  .main-nav .nav-group.has-sub>.mega-menu{position:absolute!important;top:80px!important;left:0!important;right:auto!important;transform:none!important;width:540px!important;min-width:0!important;max-width:min(540px,calc(100vw - 38px))!important;overflow:auto!important;max-height:min(75vh,480px);z-index:70}
  .main-nav .nav-group.has-sub:nth-last-child(-n+3)>.mega-menu{left:auto!important;right:0!important}
  .main-nav .nav-group.has-sub:not(.sub-open)>.mega-menu{display:none!important}
  .main-nav .nav-group.has-sub.sub-open>.mega-menu{display:grid!important}
  .mega-links a{min-height:40px}
}
.logos-marquee .reference-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 12px;height:112px;flex-basis:176px}
.logos-marquee .reference-logo img{max-width:88%;max-height:62px;object-fit:contain;margin:0}
.logos-marquee .org-name{font-size:10px;line-height:1.2;letter-spacing:.01em;color:#314458;font-weight:800;text-align:center}
@media (max-width:900px){.logos-marquee .reference-logo{flex-basis:150px;height:105px}}
@media (prefers-reduced-motion: reduce){.logos-track{animation-duration:70s!important}}
/* Keep rightmost menus intuitive: text links directly underneath the user's cursor */
@media(min-width:1131px){
  .main-nav .nav-group.has-sub:nth-child(5) .mega-links,
  .main-nav .nav-group.has-sub:nth-child(6) .mega-links{order:2}
  .main-nav .nav-group.has-sub:nth-child(5) .mega-preview,
  .main-nav .nav-group.has-sub:nth-child(6) .mega-preview{order:1}
}
