.elementor-kit-42{--e-global-color-primary:#6366F1;--e-global-color-secondary:#FAFAFA;--e-global-color-text:#0A0A0A;--e-global-color-accent:#8B5CF6;--e-global-color-dark:#0A0A0A;--e-global-color-muted:#6B7280;--e-global-color-white:#FFFFFF;--e-global-color-border:#F1F5F9;--e-global-color-cardbg:#FFFFFF;--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Sora";--e-global-typography-accent-font-weight:600;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;}.elementor-kit-42 button,.elementor-kit-42 input[type="button"],.elementor-kit-42 input[type="submit"],.elementor-kit-42 .elementor-button{background-color:var( --e-global-color-dark );font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:600;line-height:20px;color:var( --e-global-color-secondary );border-radius:16px 16px 16px 16px;padding:12px 24px 12px 24px;}.elementor-kit-42 button:hover,.elementor-kit-42 button:focus,.elementor-kit-42 input[type="button"]:hover,.elementor-kit-42 input[type="button"]:focus,.elementor-kit-42 input[type="submit"]:hover,.elementor-kit-42 input[type="submit"]:focus,.elementor-kit-42 .elementor-button:hover,.elementor-kit-42 .elementor-button:focus{background-color:var( --e-global-color-primary );}.elementor-kit-42 e-page-transition{background-color:#FFBC7D;}.elementor-kit-42 a{color:var( --e-global-color-primary );}.elementor-kit-42 a:hover{color:var( --e-global-color-accent );}.elementor-kit-42 h1{color:var( --e-global-color-dark );font-family:"Sora", Sans-serif;font-size:88px;font-weight:800;line-height:1.05em;letter-spacing:-1.76px;}.elementor-kit-42 h2{color:var( --e-global-color-dark );font-family:"Sora", Sans-serif;font-size:64px;font-weight:700;line-height:1.1em;letter-spacing:-1.28px;}.elementor-kit-42 h3{color:var( --e-global-color-dark );font-family:"Sora", Sans-serif;font-size:24px;font-weight:600;line-height:1.5em;letter-spacing:-0.24px;}.elementor-kit-42 h4{color:var( --e-global-color-dark );font-family:"Sora", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;}.elementor-kit-42 h5{color:var( --e-global-color-dark );}.elementor-kit-42 h6{color:var( --e-global-color-dark );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-42 h1{font-size:64px;}.elementor-kit-42 h2{font-size:48px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-42 h1{font-size:44px;}.elementor-kit-42 h2{font-size:36px;}.elementor-kit-42 h3{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

/* === Gradient hero title === */
.el-hero-title h1,
.el-hero-title .elementor-heading-title {
    background: linear-gradient(168deg, #0A0A0A 0%, rgba(10,10,10,0.7) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    letter-spacing: -1.76px;
}

/* === Decorative blobs (hero + CTA) === */
.el-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(64px);
    pointer-events: none;
    z-index: 0;
}
.el-blob--hero-a { top: 47px;  right: 145px; width: 519px; height: 519px;
    background: linear-gradient(135deg, rgba(99,102,241,0.2) 0%, rgba(139,92,246,0.2) 100%); }
.el-blob--hero-b { top: 394px; left:  67px;  width: 420px; height: 420px;
    background: linear-gradient(45deg,  rgba(139,92,246,0.15) 0%, rgba(99,102,241,0.15) 100%); }
.el-blob--cta-a  { top: 0;     right: 0;     width: 600px; height: 600px;
    background: rgba(99,102,241,0.1); }
.el-blob--cta-b  { top: 196px; left:  0;     width: 500px; height: 500px;
    background: rgba(139,92,246,0.1); }

/* Parent containers that hold blobs must be relative + clip */
.el-section--hero,
.el-section--cta   { position: relative; overflow: hidden; }

/* Hero badge pill */
.el-hero-badge { display:inline-flex; align-items:center; gap:8px;
    background: rgba(99,102,241,0.1); color:#6366F1;
    padding: 8px 16px; border-radius: 9999px;
    font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 14px; line-height: 20px; }
.el-hero-badge::before { content:""; width:16px; height:16px; display:inline-block;
    background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2l3 7h7l-5.5 4.5L18 21l-6-4-6 4 1.5-7.5L2 9h7z'/></svg>") center/contain no-repeat;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2l3 7h7l-5.5 4.5L18 21l-6-4-6 4 1.5-7.5L2 9h7z'/></svg>") center/contain no-repeat; }

/* Search bar wrapper (styled around Elementor search-form widget) */
.el-searchbar { background: rgba(255,255,255,0.85);
    border: 1px solid rgba(0,0,0,0.03);
    border-radius: 24px; padding: 17px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.05); }
.el-searchbar .elementor-search-form { display:flex; gap:12px; }
.el-searchbar .elementor-search-form__container {
    flex: 1; background: rgba(241,245,249,0.5); border-radius: 16px;
    padding: 16px 20px; display:flex; align-items:center; gap:16px; }
.el-searchbar .elementor-search-form__input {
    border:0; background:transparent; outline:none; width:100%;
    font-family:'DM Sans', sans-serif; font-size:16px; line-height:24px; color:#0A0A0A; }
.el-searchbar .elementor-search-form__input::placeholder { color:rgba(10,10,10,0.6); }
.el-searchbar .elementor-search-form__icon { color:#6B7280; width:20px; height:20px; }
.el-searchbar .elementor-search-form__submit {
    background: linear-gradient(90deg,#6366F1 0%,#8B5CF6 100%);
    color:#fff; border:0; border-radius:16px; padding: 0 40px;
    font-family:'DM Sans', sans-serif; font-weight:600; font-size:16px;
    box-shadow: 0 10px 15px rgba(99,102,241,0.25), 0 4px 6px rgba(99,102,241,0.25);
    cursor:pointer; transition: transform .15s ease; }
.el-searchbar .elementor-search-form__submit:hover { transform: translateY(-1px); }

/* Gradient primary button (hero submit, etc.) */
.el-btn-gradient .elementor-button {
    background: linear-gradient(90deg,#6366F1 0%,#8B5CF6 100%) !important;
    border:0; box-shadow: 0 10px 15px rgba(99,102,241,0.25), 0 4px 6px rgba(99,102,241,0.25);
    transition: transform .15s ease; }
.el-btn-gradient .elementor-button:hover { transform: translateY(-1px); }

/* Logo icon tile (used in header + footer) */
.el-logo-tile { background: linear-gradient(135deg,#6366F1 0%,#8B5CF6 100%);
    border-radius: 16px; display:inline-flex; align-items:center; justify-content:center;
    box-shadow: 0 10px 15px rgba(99,102,241,0.2), 0 4px 6px rgba(99,102,241,0.2); }

/* École card (loop item) */
.el-school-card { background:#fff; border:1px solid rgba(0,0,0,0.03); border-radius:24px;
    overflow:hidden; display:flex; flex-direction:column; height:100%;
    transition: transform .2s ease, box-shadow .2s ease; }
.el-school-card:hover { transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08); }

/* Stats counter row (white text on gradient) */
.el-stat .elementor-counter-number-wrapper,
.el-stat .elementor-counter-title { color: #fff !important; }
.el-stat .elementor-counter-title { font-family:'DM Sans', sans-serif !important;
    font-weight:400 !important; font-size:16px !important; line-height:24px !important;
    color: rgba(255,255,255,0.8) !important; margin-top: 8px; }

/* Featured loop grid — force 3 cols desktop */
.el-featured-loop .elementor-loop-container { display:grid; grid-template-columns: repeat(3, 1fr); gap:32px; }
@media (max-width: 1024px){ .el-featured-loop .elementor-loop-container { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .el-featured-loop .elementor-loop-container { grid-template-columns: 1fr; } }

/* Mobile fine-tuning */
@media (max-width: 767px) {
    .el-blob { filter: blur(40px); transform: scale(0.6); }
}/* End custom CSS */