@font-face{font-family:Jakarta;src:url('/assets/PlusJakartaSans-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Jakarta;src:url('/assets/PlusJakartaSans-600-latin.woff2') format('woff2');font-weight:600 900;font-display:swap}@font-face{font-family:Cairo;src:url('/assets/Cairo-500-arabic.woff2') format('woff2');font-weight:400 600;font-display:swap}@font-face{font-family:Cairo;src:url('/assets/Cairo-700-arabic.woff2') format('woff2');font-weight:700 900;font-display:swap}
:root{--ink:#17141a;--paper:#f0eee9;--soft:#d0cad1;--purple:#822ba0;--violet:#b75cce;--night:#121014;--white:#faf8f8;--line:#514754;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--white);font-family:Jakarta,Arial,sans-serif;font-size:17px;line-height:1.6}html[lang=ar] body{font-family:Cairo,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}a:focus-visible{outline:3px solid var(--violet);outline-offset:4px}.wrap{width:min(100% - 7vw,1440px);margin-inline:auto}.skip{position:absolute;top:-100px;inset-inline-start:1rem;background:var(--white);color:var(--ink);padding:1rem;z-index:100}.skip:focus{top:1rem}.header{position:relative;z-index:5;background:var(--night);border-bottom:1px solid #ffffff18}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.65rem;white-space:nowrap;line-height:1;font-size:18px;font-weight:900;letter-spacing:.1em}.brand img{width:51px;height:51px;object-fit:contain}.brand small{font-size:8px;display:block;letter-spacing:.24em;margin-top:.35rem}.nav,.header-actions{display:flex;align-items:center;gap:clamp(1.1rem,3vw,3rem)}.nav a,.language{font-size:13px;font-weight:600}.nav a[aria-current=page]{color:#d48feb}.header-call{background:var(--white);color:var(--ink);padding:.85rem 1.25rem;font-size:12px;font-weight:900;white-space:nowrap}.language{min-width:44px;min-height:44px;display:grid;place-items:center}.mobile-nav{display:none}.hero{min-height:min(760px,calc(100dvh - 76px));position:relative;display:flex;align-items:center;overflow:hidden}.hero-media,.hero-shade,.inner-photo,.inner-overlay{position:absolute;inset:0}.hero-media img,.inner-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{background:linear-gradient(90deg,rgba(12,10,14,.94) 0%,rgba(12,10,14,.77) 37%,rgba(12,10,14,.12) 100%)}[dir=rtl] .hero-shade{background:linear-gradient(270deg,rgba(12,10,14,.94),rgba(12,10,14,.77) 37%,rgba(12,10,14,.12))}.hero-copy{position:relative;padding-block:6rem;z-index:1}.eyebrow{color:#d4a5e3;letter-spacing:.22em;font-size:11px;font-weight:900;margin:0 0 1.5rem}h1,h2,p{margin-top:0}h1,h2{font-weight:900;letter-spacing:-.055em;line-height:.99;text-wrap:balance;overflow-wrap:break-word}h1{font-size:clamp(3.4rem,7.8vw,8rem);margin-bottom:1.4rem}h1 em{color:#d591e8;font-style:normal}.hero-lede,.inner-content p,.contact-hero>p:last-child{max-width:32rem;color:#e2dce3}.actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;min-height:56px;padding:1rem 1.4rem;font-size:13px;font-weight:900;white-space:nowrap}.primary{background:var(--purple);color:var(--white)}.light{background:var(--white);color:var(--ink)}.text-link,.under-link{font-size:13px;font-weight:800;display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid currentColor}.hero-side{position:absolute;right:3.5%;bottom:3rem;writing-mode:vertical-rl;font-size:10px;letter-spacing:.3em;color:#ffffffaa}.ribbon{background:var(--purple);overflow:hidden;white-space:nowrap;font-weight:900;letter-spacing:.16em;font-size:12px;padding:1rem 0}.ribbon-track{display:flex;width:max-content;animation:ribbon 28s linear infinite}.ribbon p{margin:0}.ribbon span{padding-inline:2rem}.ribbon:hover .ribbon-track,.ribbon:focus-within .ribbon-track{animation-play-state:paused}@keyframes ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.ribbon{overflow-x:auto}.ribbon-track{animation:none}}.section{padding-block:clamp(5rem,10vw,10rem)}.intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(3rem,8vw,9rem);align-items:center}.intro-image{aspect-ratio:1.1;overflow:hidden}.intro-image img,.contact-image img{width:100%;height:100%;object-fit:cover}.intro-copy h2,.section-heading h2,.space-intro h2,.contact-details h2,.cta h2{font-size:clamp(2.8rem,5.6vw,6rem);margin-bottom:1.5rem}.intro-copy p:not(.eyebrow),.section-heading p,.space-intro>p,.contact-details p{color:var(--soft);max-width:30rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading h2{margin:0}.program-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1.2rem}.program{position:relative;display:block;min-height:500px;overflow:hidden;background:#302c30}.program img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .7s var(--ease)}.program:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#100c12df,transparent 64%)}.program span{position:absolute;bottom:2rem;inset-inline-start:2rem;z-index:1;display:grid}.program b{font-size:clamp(1.5rem,3vw,3rem);letter-spacing:-.04em}.program small{color:#e2dce3}.cta{background:var(--purple)}.cta-inner{min-height:300px;padding-block:5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta h2{margin-bottom:1rem}.cta p{color:#f3dff6;margin-bottom:0}.inner-hero{position:relative;min-height:560px;display:flex;align-items:end;overflow:hidden}.inner-overlay{background:linear-gradient(0deg,#121014 0%,#12101444 95%)}.inner-content{position:relative;padding-block:8rem 5rem}.inner-content h1{max-width:11ch}.space-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:end}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-bottom:9rem}.gallery figure{margin:0;min-width:0}.gallery img{width:100%;aspect-ratio:1.1;object-fit:cover}.gallery figcaption{font-weight:700;font-size:12px;letter-spacing:.1em;padding-block:1rem}.contact-hero{padding-bottom:4rem}.contact-hero h1{font-size:clamp(4rem,9vw,9rem)}.contact-layout{padding-top:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(3rem,7vw,8rem);align-items:center}.contact-image{aspect-ratio:1;overflow:hidden}.contact-details h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.detail{border-top:1px solid var(--line);padding-block:1rem}.detail span{color:#caa4d1;font-size:12px}.detail p{color:var(--white);margin:.5rem 0}.detail p[dir=ltr]{text-align:start}footer{padding-block:5rem 1rem;background:#0c0b0d}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr;gap:3rem}.footer-grid>div{display:flex;flex-direction:column;align-items:start;gap:.65rem}.footer-grid strong{font-size:10px;letter-spacing:.15em;color:#c89cd1}.footer-grid p,.footer-grid a:not(.brand){font-size:13px;color:#c7c0c8;margin:0}.footer-grid p{max-width:23rem}.footer-bottom{border-top:1px solid var(--line);margin-top:4rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;color:#aaa2ac;font-size:11px}[dir=rtl] h1,[dir=rtl] h2{letter-spacing:0;line-height:1.25}[dir=rtl] .eyebrow{letter-spacing:0}[dir=rtl] .hero-side{right:auto;left:3.5%}
@media (hover:hover) and (pointer:fine){.program:hover img{transform:scale(1.035)}a:hover{color:#e1a8ee}.button:hover,.header-call:hover{filter:brightness(1.12);color:inherit}}a:active{opacity:.8}
@media(max-width:800px){.header-inner{height:68px}.header-inner .nav{display:none}.header-call{display:none}.mobile-nav{display:flex;gap:1.7rem;justify-content:center;border-top:1px solid #ffffff15;padding:.5rem 1rem;overflow:auto}.mobile-nav a{font-size:12px;white-space:nowrap;min-height:36px;display:flex;align-items:center}.mobile-nav a[aria-current=page]{color:#d48feb}.brand img{width:43px;height:43px}.hero{min-height:670px}.hero-shade{background:linear-gradient(0deg,#100d12 2%,#100d12c9 54%,#100d1260 100%)}[dir=rtl] .hero-shade{background:linear-gradient(0deg,#100d12 2%,#100d12c9 54%,#100d1260 100%)}.hero-copy{align-self:end;padding-block:9rem 4.5rem}.hero-side{display:none}.intro{grid-template-columns:1fr;gap:3rem}.intro-image{aspect-ratio:1.2}.section-heading{display:block}.section-heading p{margin-top:1.5rem}.program-grid{grid-template-columns:1fr}.program{min-height:440px}.space-intro{grid-template-columns:1fr;gap:1rem}.contact-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-inner{align-items:start;flex-direction:column}.cta-inner .actions{margin-top:0}.inner-hero{min-height:500px}.inner-content{padding-block:7rem 4rem}}
@media(max-width:420px){.wrap{width:calc(100% - 36px)}h1{font-size:clamp(3rem,13vw,4.1rem)}.hero{min-height:600px}.hero-copy{padding-block:7rem 3.5rem}.actions{gap:1rem}.program{min-height:360px}.gallery{gap:.6rem}.gallery img{aspect-ratio:.8}.gallery figcaption{font-size:10px}.footer-grid{gap:2rem 1rem}.cta h2,.intro-copy h2,.section-heading h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.video-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:3rem;align-items:center;padding-top:0}.video-section h2{font-size:clamp(2.5rem,5vw,5rem)}.video-section p:not(.eyebrow){color:var(--soft)}.video-section video{display:block;width:100%;max-height:650px;object-fit:contain;background:#17141a}@media(max-width:800px){.video-section{grid-template-columns:1fr}.video-section video{max-width:380px}}
.zones{padding-top:0}
.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.zone{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:1rem;background:var(--ink)}
.zone img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.zone span{position:absolute;inset:0;display:grid;place-items:end;padding:1.25rem;background:linear-gradient(transparent,#100d12)}
.zone b{font-size:clamp(1.25rem,2.5vw,1.75rem);display:block}
.zone small{font-size:.85rem;color:var(--soft);display:block}
@media(hover:hover) and (pointer:fine){.zone:hover img{transform:scale(1.05)}}
@media(max-width:800px){.zone-grid{grid-template-columns:1fr}.zone{aspect-ratio:4/3}}
.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.photo-grid figure{margin:0}
.photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:.75rem;aspect-ratio:1}
.photo-grid figcaption{font-size:11px;color:var(--soft);margin-top:.35rem}
@media(max-width:800px){.photo-grid{grid-template-columns:1fr}}
.visit{padding-top:0}
.visit-inner{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.visit-actions{display:flex;gap:1rem;margin-top:1rem}
.visit-info{margin-top:1.5rem;font-size:.95rem;color:var(--soft)}
.visit-info strong{color:var(--white)}
@media(max-width:800px){.visit-inner{grid-template-columns:1fr}}
.faq-list{display:grid;gap:1rem}
.faq-item{border-top:1px solid #ffffff18;padding-top:1rem}
.faq-q{font-weight:600;color:#d48feb}
.faq-a{color:var(--soft);margin-top:.5rem}

.reel{padding-top:0}
.reel .section-heading h2{font-size:clamp(2rem,4vw,3.4rem);max-width:12ch;overflow-wrap:normal;word-break:normal}
.reel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.reel-grid figure{margin:0}
.reel-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:.6rem}
.visit{padding:0}
.visit-map{height:420px;background:#17141a}
.visit-map iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}
.visit-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(2.5rem,5vw,4rem)}
.visit-panel h2{font-size:clamp(2.2rem,4.5vw,4rem);margin:0 0 1rem}
.way video{width:min(100%,420px);max-height:640px;border-radius:.75rem;background:#17141a;margin-inline:auto;display:block}
.way p{color:var(--soft);font-size:.9rem;margin:.75rem 0 0}
@media(max-width:800px){.reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-map{height:280px}.visit-panel{grid-template-columns:1fr}}

.faq h2{font-size:clamp(1.7rem,8vw,3.2rem);overflow-wrap:normal}

.film-hero{align-items:end;min-height:min(92dvh,920px)}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.film-hero .hero-shade,[dir=rtl] .film-hero .hero-shade{background:linear-gradient(180deg,rgba(12,10,14,.18) 0%,rgba(12,10,14,.05) 48%,rgba(12,10,14,.78) 100%)}
.film-hero .hero-copy{align-self:end;max-width:24rem;padding-block:0 2.6rem}
.film-hero .hero-copy h1{font-size:clamp(2.4rem,5.2vw,4.4rem);margin-bottom:.6rem}
.hero-side{display:none}
@media(max-width:800px){
 .film-hero{min-height:78dvh}
 .film-hero .hero-shade,[dir=rtl] .film-hero .hero-shade{background:linear-gradient(180deg,rgba(12,10,14,.1),rgba(12,10,14,.05) 55%,rgba(12,10,14,.8))}
 .film-hero .hero-copy{padding-block:0 1.8rem}
}
@media(prefers-reduced-motion:reduce){.hero-media video{display:none}}

.hero-copy h1 em{color:#d591e8;font-style:normal}
@media(min-width:801px){
 .film-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);align-items:stretch;min-height:calc(100dvh - 76px);max-height:960px;background:var(--night)}
 .film-hero .hero-media{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:auto;min-height:calc(100dvh - 76px);max-height:960px}
 .film-hero .hero-media img,.film-hero .hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
 .film-hero .hero-shade{display:none}
 .film-hero .hero-copy{position:relative;grid-column:1;grid-row:1;align-self:center;max-width:none;width:auto;margin:0;padding:4rem 7vw 4rem 8vw;z-index:1}
 .film-hero .hero-copy h1{font-size:clamp(3.2rem,5.8vw,6.2rem);line-height:.9;margin-bottom:1.1rem}
 .film-hero .hero-lede{display:block;max-width:28rem;margin-bottom:1.6rem}
}
@media(max-width:800px){
 .film-hero{min-height:88dvh}
 .film-hero .hero-copy h1{font-size:clamp(1.85rem,8.2vw,2.5rem);line-height:.95}
 .film-hero .hero-lede{display:block;font-size:.95rem;margin-bottom:.85rem;max-width:22rem}
}
[dir=rtl] .film-hero .hero-copy{padding:4rem 8vw 4rem 7vw}

.hero-plate{display:none}
@media(min-width:801px){
 .film-hero .hero-plate{display:block;position:relative;grid-column:1;grid-row:1;overflow:hidden;min-height:100%}
 .film-hero .hero-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(1.12) contrast(1.04)}
 .film-hero .hero-plate::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,12,.86) 0%,rgba(8,6,12,.5) 36%,rgba(8,6,12,.16) 100%)}
 .film-hero .hero-copy{z-index:2}
}
[dir=rtl] .film-hero .hero-plate::after{background:linear-gradient(270deg,rgba(8,6,12,.86) 0%,rgba(8,6,12,.5) 36%,rgba(8,6,12,.16) 100%)}

@media(min-width:801px){.plate-home img{object-position:78% 34%}.plate-salle img{object-position:62% 48%}.plate-contact img{object-position:50% 28%}}

.ig.section,.ask.section{padding-block:clamp(2.6rem,5vw,4.4rem)}
.marquee{overflow:hidden}
.marquee-track{display:flex;width:max-content;gap:1rem;padding-inline:1rem;animation:ribbon 46s linear infinite}
.marquee-track>div{display:flex;gap:1rem}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.ig-post{flex:none;width:260px;display:flex;flex-direction:column;background:#0c0c0c;color:#fafafa;border-radius:12px;overflow:hidden}
.ig-head{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;font-size:13px;line-height:1.2}
.ig-head small{display:block;color:#a8a8a8;font-size:11px}
.ig-avatar{width:32px;height:32px;border-radius:50%;background:conic-gradient(from 200deg,#f9ce34,#ee2a7b,#6228d7,#f9ce34)}
.ig-post img{width:100%;height:260px;object-fit:cover}
.ig-cap{padding:.7rem .8rem 1rem;font-size:13px;line-height:1.35}
.ask{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.ask-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ask-form label{display:grid;gap:.35rem;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ask-form input,.ask-form textarea{width:100%;border:1px solid #ffffff22;background:#1b171f;color:var(--white);padding:.85rem 1rem;font:inherit;letter-spacing:0;text-transform:none}
.ask-form textarea{min-height:120px;resize:vertical}
.ask-form input:focus,.ask-form textarea:focus{outline:2px solid var(--violet);border-color:transparent}
.ask-wide,.ask-form button,.ask-ready,.ask-call{grid-column:1 / -1}
.ask-trap{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ask-ready{margin:0;padding:1rem;background:#1b171f;border-inline-start:3px solid var(--violet)}
.ask-phone a{font-weight:800;letter-spacing:.04em}
@media(max-width:800px){.ask,.ask-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.marquee-track{animation:none}}

/* Training and editorial pages */
.editorial,.journal-head{padding-top:clamp(8rem,13vw,12rem)}
.editorial-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.editorial h1,.journal-head h1{font-size:clamp(2.7rem,5vw,5.6rem);line-height:1.04;overflow-wrap:break-word}
.editorial-lede,.journal-head>p:last-child{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.65;max-width:55ch}
.editorial-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.editorial-body{max-width:760px;margin-block:clamp(3rem,7vw,6rem)}
.editorial-body section{margin-block:2.5rem}
.editorial-body h2{font-size:clamp(1.5rem,2.5vw,2.4rem);line-height:1.2}
.editorial-body p,.sources{line-height:1.8}
.sources{margin-block:3rem}.sources li{margin-block:.5rem}
.journal-head{padding-bottom:2rem}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding-bottom:clamp(4rem,8vw,7rem)}
.journal-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;background:#1b171f}
.journal-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.journal-card span{display:block;padding:1.4rem}.journal-card h2{font-size:1.35rem;line-height:1.25}.journal-card p{line-height:1.6}.journal-card b{font-size:.85rem}
@media(max-width:800px){.editorial-head{grid-template-columns:minmax(0,1fr)}.editorial-image{max-width:520px}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.journal-grid{grid-template-columns:minmax(0,1fr)}}
