
/* ========================================================
   EXACT APPROVED HEADER SYSTEM
   ======================================================== */
.bbb-header{position:sticky;top:0;z-index:60;background:rgba(var(--bbb-header-bg-rgb),.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,10,40,.08)}
.bbb-header__inner{max-width:1280px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;gap:32px;min-height:82px}
.bbb-brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;color:var(--bbb-header-title);cursor:pointer}
.bbb-brand:hover{color:var(--bbb-header-title)}
.bbb-brand__mark{display:block;width:auto;height:var(--bbb-logo-size);max-width:var(--bbb-logo-size);object-fit:contain;object-position:center;flex:0 0 auto;filter:none}
.bbb-brand__name{font-weight:800;font-size:23px;letter-spacing:-.03em;color:var(--bbb-header-title);line-height:1;white-space:nowrap}
.bbb-brand__name strong{color:var(--bbb-purple)}
.bbb-nav{display:flex;gap:6px;margin-left:auto;align-items:center}
.bbb-nav__list{list-style:none;padding:0;margin:0;display:flex;gap:6px;align-items:center}
.bbb-nav__list>li{margin:0}
.bbb-nav__list>li>a{position:relative;display:block;padding:10px 14px;color:var(--bbb-header-text);font-size:14.5px;font-weight:600;white-space:nowrap;transition:color .25s ease}
.bbb-nav__list>li>a:hover{color:var(--bbb-purple)}
.bbb-nav__list>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2.5px;border-radius:2px;background:linear-gradient(90deg,#6C2BD9 0%,#FF2E7E 33%,#FF8A3D 66%,#2B9DF4 100%);background-size:200% 100%;background-position:0% 50%;opacity:0;transform:scaleX(.25);transform-origin:left center;transition:opacity .22s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.bbb-nav__list>.current-menu-item>a::after,.bbb-nav__list>.current_page_item>a::after,.bbb-nav__list>.current-menu-ancestor>a::after,.bbb-nav__list>.current_page_parent>a::after,.bbb-nav__list>.bbb-current>a::after,.bbb-nav__list>li>a[aria-current="page"]::after{opacity:1;transform:scaleX(1);animation:bbb-pan 6s ease-in-out infinite}
.bbb-header__actions{display:flex;align-items:center;gap:0;margin-left:0;flex:0 0 auto}
.bbb-header__divider{width:1px;height:22px;background:rgba(23,10,40,.14);margin:0 12px}
.bbb-lang{display:flex;gap:4px;font-size:13px;font-weight:600;color:var(--bbb-muted);align-items:center}
.bbb-lang a{color:var(--bbb-muted)}
.bbb-lang a[aria-current="page"],.bbb-lang a.is-active{color:var(--bbb-ink)}
.bbb-lang a:hover{color:var(--bbb-purple)}
.bbb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;text-decoration:none;cursor:pointer;transition:transform .45s var(--bbb-ease),background .3s ease,box-shadow .45s ease,border-color .3s ease,color .3s ease}
.bbb-btn:hover{transform:translateY(-2px)}
.bbb-btn--header{margin-left:16px;padding:13px 22px;border-radius:999px;background:var(--bbb-header-cta-bg);color:var(--bbb-header-cta-text);font-size:14.5px;font-weight:600;box-shadow:0 8px 22px rgba(255,46,126,.28)}
.bbb-btn--header:hover{background:#E51E6A;color:#fff;box-shadow:0 20px 46px rgba(255,46,126,.42)}
.bbb-btn--primary{padding:16px 28px;border-radius:999px;background:var(--bbb-pink);color:#fff;font-size:14.5px;font-weight:600;box-shadow:var(--bbb-shadow-pink)}
.bbb-btn--primary:hover{background:#E51E6A;color:#fff;box-shadow:0 20px 46px rgba(255,46,126,.42)}
.bbb-btn--purple{padding:16px 28px;border-radius:999px;background:var(--bbb-purple);color:#fff;font-size:14.5px;font-weight:600;box-shadow:0 12px 28px rgba(108,43,217,.22)}
.bbb-btn--purple:hover{color:#fff;box-shadow:0 18px 40px rgba(108,43,217,.32)}
.bbb-btn--outline{padding:15px 24px;border:1px solid rgba(23,10,40,.15);border-radius:999px;background:rgba(255,255,255,.22);color:var(--bbb-ink);font-size:14px;font-weight:600}
.bbb-btn--outline:hover{color:var(--bbb-purple);border-color:rgba(108,43,217,.35);background:#fff}
.bbb-menu-toggle{display:none;margin-left:14px;width:48px;height:48px;border-radius:999px;border:1.5px solid rgba(23,10,40,.18);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:0 0 auto;padding:0}
.bbb-menu-toggle span:not(.screen-reader-text){display:block;width:20px;height:2px;border-radius:2px;background:var(--bbb-ink);transition:transform .25s ease,opacity .25s ease}
.bbb-menu-toggle[aria-expanded="true"] span:nth-of-type(2){transform:translateY(7px) rotate(45deg)}
.bbb-menu-toggle[aria-expanded="true"] span:nth-of-type(3){opacity:0}
.bbb-menu-toggle[aria-expanded="true"] span:nth-of-type(4){transform:translateY(-7px) rotate(-45deg)}
.bbb-mobile-menu{border-top:1px solid rgba(23,10,40,.1);background:var(--bbb-paper);padding:14px 22px 26px}
.bbb-mobile-menu[hidden]{display:none!important}
.bbb-mobile-menu__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.bbb-mobile-menu__list a{display:block;padding:16px 4px;font-size:19px;font-weight:700;color:var(--bbb-ink);border-bottom:1px solid rgba(23,10,40,.07)}
.bbb-lang--mobile{margin-top:20px;font-size:15px}

/* ========================================================
   APPROVED MOTION / CINEMATIC LANGUAGE
   ======================================================== */
.bbb-wave{display:inline-flex;align-items:center;gap:3px;height:18px}
.bbb-wave span{display:block;width:3px;height:18px;border-radius:2px;transform-origin:center;animation:bbb-wave 1.1s ease-in-out infinite}
.bbb-wave span:nth-child(1){background:var(--bbb-purple)}.bbb-wave span:nth-child(2){background:var(--bbb-pink);animation-delay:.18s}.bbb-wave span:nth-child(3){background:var(--bbb-orange);animation-delay:.36s}.bbb-wave span:nth-child(4){background:var(--bbb-blue);animation-delay:.54s}
.bbb-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bbb-ambient-glow{position:absolute;border-radius:50%;filter:blur(2px);animation:bbb-drift 22s ease-in-out infinite}
.bbb-ambient-glow--purple{top:-180px;left:50%;width:1100px;height:700px;margin-left:-550px;background:radial-gradient(closest-side,rgba(108,43,217,.13),transparent 72%)}
.bbb-ambient-glow--orange{top:120px;left:-180px;width:520px;height:520px;background:radial-gradient(circle,rgba(255,138,61,.14),transparent 68%);animation-duration:24s}
.bbb-ambient-glow--blue{top:220px;right:-200px;width:560px;height:560px;background:radial-gradient(circle,rgba(43,157,244,.12),transparent 68%);animation-duration:27s}
.bbb-signal{position:absolute;left:-10%;right:-10%;top:26%;height:420px;opacity:.20;pointer-events:none}
.bbb-signal svg{width:100%;height:100%}.bbb-signal .flow{animation:bbb-flow 16s linear infinite}.bbb-signal .flow--slow{animation-duration:22s}

/* ========================================================
   ELEMENTOR-FRIENDLY DESIGN SYSTEM
   Assign these classes in Elementor > Advanced > CSS Classes.
   ======================================================== */
.bbb-hero{position:relative;overflow:hidden;isolation:isolate}
.bbb-hero--home{padding:104px 24px 0;background:var(--bbb-paper)}
.bbb-hero--home .bbb-hero__inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;text-align:center}
.bbb-hero--home .bbb-hero__copy{max-width:720px;margin:22px auto 0}
.bbb-hero__actions{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:30px}
.bbb-hero-video{width:min(calc(100% - 48px),1180px);margin:54px auto 0;aspect-ratio:16/9;background:linear-gradient(145deg,#311164,#140820);position:relative;overflow:hidden;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--bbb-purple),var(--bbb-pink),var(--bbb-orange),var(--bbb-blue)) 1}
.bbb-hero-video iframe,.bbb-hero-video video,.bbb-hero-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.bbb-hero--cinematic{min-height:min(82vh,780px);display:flex;align-items:center;background:var(--bbb-ink);color:#fff;overflow:hidden}
.bbb-hero--cinematic .bbb-hero__media{position:absolute;inset:0}.bbb-hero--cinematic .bbb-hero__media img,.bbb-hero--cinematic .bbb-hero__media video{width:100%;height:100%;object-fit:cover}
.bbb-hero--cinematic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,10,40,.94) 0%,rgba(23,10,40,.68) 43%,rgba(23,10,40,.23) 75%,rgba(23,10,40,.14) 100%)}
.bbb-hero--cinematic .bbb-hero__inner{position:relative;z-index:2;width:min(calc(100% - 64px),1280px);margin:auto}
.bbb-hero--cinematic .bbb-heading-xl,.bbb-hero--cinematic .bbb-copy-lg{color:#fff}

.bbb-editorial-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:center}
.bbb-editorial-split--60-40{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.bbb-editorial-split--40-60{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.bbb-editorial-split__copy{max-width:590px}

.bbb-media{position:relative;overflow:hidden;background:#EDE4FB}
.bbb-media--dark{background:linear-gradient(145deg,#311164,#140820)}
.bbb-media--lilac{background:linear-gradient(145deg,#F2EAFF,#E5D4FF)}
.bbb-media--warm{background:linear-gradient(145deg,#FFF0E5,#FFE0D0)}
.bbb-media--blue{background:linear-gradient(145deg,#E4F5FF,#CBEAFF)}
.bbb-media img,.bbb-media video,.bbb-media iframe{display:block;width:100%;height:100%;object-fit:cover}
.bbb-media--16x9{aspect-ratio:16/9}.bbb-media--21x9{aspect-ratio:21/9}.bbb-media--4x3{aspect-ratio:4/3}.bbb-media--5x4{aspect-ratio:5/4}.bbb-media--portrait{aspect-ratio:4/5}.bbb-media--square{aspect-ratio:1}
.bbb-media-label{position:absolute;left:18px;top:18px;z-index:2;padding:7px 10px;background:rgba(255,255,255,.94);color:var(--bbb-ink);font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}

.bbb-trusted{padding:36px 0;text-align:center}.bbb-trusted__label{font-size:10.5px;font-weight:600;letter-spacing:.20em;text-transform:uppercase;color:#8A8299;margin-bottom:24px}.bbb-logo-wall{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.bbb-logo-wall>*{width:112px;min-height:46px;display:grid;place-items:center;border:1px solid rgba(23,10,40,.08);background:rgba(255,255,255,.26);padding:8px}

.bbb-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.bbb-quote{position:relative;padding-top:28px}.bbb-quote::before{content:'“';position:absolute;top:-6px;left:0;font-size:46px;line-height:1;font-weight:800;color:var(--bbb-purple)}.bbb-quote:nth-child(2)::before{color:var(--bbb-pink)}.bbb-quote:nth-child(3)::before{color:var(--bbb-orange)}.bbb-quote p{font-size:14px;line-height:1.65;color:#51485C}.bbb-quote cite{font-size:11px;color:#8A8299;font-style:normal}

/* Home audience composition mirrors approved asymmetric layout. */
.bbb-audience-mosaic{display:grid;grid-template-columns:1.55fr .62fr .62fr;grid-template-rows:repeat(2,minmax(210px,1fr));gap:12px}
.bbb-audience-tile{position:relative;min-height:210px;overflow:hidden;background:var(--bbb-ink);color:#fff;isolation:isolate}
.bbb-audience-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,10,40,.88) 0%,rgba(23,10,40,.18) 62%,rgba(23,10,40,.05));z-index:1;transition:background .4s ease}
.bbb-audience-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--bbb-ease)}
.bbb-audience-tile:hover img{transform:scale(1.035)}
.bbb-audience-tile__content{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}.bbb-audience-tile h3{margin:0 0 6px;color:#fff;font-size:22px;font-weight:800}.bbb-audience-tile p{margin:0;color:rgba(255,255,255,.78);font-size:12.5px;line-height:1.55}
.bbb-audience-tile--schools{grid-column:1;grid-row:1/3}.bbb-audience-tile--seniors{grid-column:2/4;grid-row:1}.bbb-audience-tile--families{grid-column:2/4;grid-row:2}.bbb-audience-mosaic--second{grid-template-columns:.74fr 1.26fr;grid-template-rows:minmax(210px,1fr);margin-top:12px}.bbb-audience-tile--companies,.bbb-audience-tile--events{grid-column:auto;grid-row:auto}

.bbb-studio-feature{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(40px,6vw,86px);align-items:start}.bbb-studio-feature__media{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bbb-studio-feature__media>.bbb-media:first-child{grid-column:1/3;aspect-ratio:4/5}.bbb-studio-feature__media>.bbb-media:not(:first-child){aspect-ratio:1}

.bbb-cinematic-video{background:var(--bbb-ink);color:#fff;padding:clamp(72px,8vw,120px) 0}.bbb-cinematic-video__intro{text-align:center;max-width:820px;margin:0 auto 42px}.bbb-cinematic-video__frame{width:min(calc(100% - 48px),1180px);margin:auto;aspect-ratio:16/9;background:linear-gradient(145deg,#321263,#13071F);position:relative;overflow:hidden}.bbb-cinematic-video__frame iframe,.bbb-cinematic-video__frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.bbb-process{position:relative}.bbb-process__intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:60px}.bbb-process__progress{height:1px;flex:0 1 220px;background:linear-gradient(90deg,var(--bbb-purple),var(--bbb-pink));position:relative}.bbb-process__progress::after{content:'01 → 04';position:absolute;right:0;top:-22px;font-size:9px;letter-spacing:.14em;color:#8A8299}
.bbb-process-step{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,7vw,100px);align-items:center;margin-bottom:72px}.bbb-process-step:nth-child(even)>.bbb-process-step__media{order:2}.bbb-process-step__num{font-size:54px;line-height:1;font-weight:800;color:#D8C7F6;margin-bottom:12px}.bbb-process-step:nth-child(odd) .bbb-process-step__num{color:#F6BCD3}.bbb-process-step h3{margin:0 0 14px;font-size:28px;line-height:1.05;color:var(--bbb-ink);font-weight:800}
.bbb-process-step--climax{margin:0;padding:clamp(70px,7vw,105px);background:radial-gradient(circle at 28% 45%,rgba(108,43,217,.34),transparent 40%),var(--bbb-ink);color:#fff}.bbb-process-step--climax h3,.bbb-process-step--climax .bbb-process-step__num{color:#fff}.bbb-process-step--climax .bbb-wow{font-size:clamp(32px,4vw,58px);font-weight:800;color:var(--bbb-pink)}

.bbb-before-after{position:relative;aspect-ratio:21/9;overflow:hidden;background:#EDE4FB}.bbb-before-after__before,.bbb-before-after__after{position:absolute;inset:0}.bbb-before-after__before img,.bbb-before-after__after img{width:100%;height:100%;object-fit:cover}.bbb-before-after__after{clip-path:inset(0 48% 0 0)}.bbb-before-after__divider{position:absolute;top:0;bottom:0;left:52%;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(23,10,40,.08)}.bbb-before-after__handle{position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--bbb-ink);box-shadow:0 8px 22px rgba(23,10,40,.18)}

.bbb-gallery{display:grid;grid-template-columns:1.3fr .85fr .45fr;grid-auto-rows:160px;gap:10px}.bbb-gallery>*{overflow:hidden}.bbb-gallery img{width:100%;height:100%;object-fit:cover}.bbb-gallery>*:nth-child(1){grid-row:span 2}.bbb-gallery>*:nth-child(2){grid-row:span 2}.bbb-gallery>*:nth-child(4){grid-row:span 2}.bbb-gallery>*:nth-child(6){grid-column:1/3;grid-row:span 2}.bbb-gallery>*:nth-child(7){grid-row:span 2}

.bbb-workshop-branch{position:relative;padding-top:44px}.bbb-workshop-branch__source{max-width:720px;margin:0 auto 44px;text-align:center}.bbb-workshop-branch__line{width:2px;height:76px;margin:0 auto;background:linear-gradient(var(--bbb-purple),var(--bbb-pink))}.bbb-workshop-branch__grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:46px 62px}.bbb-workshop-branch__grid::before{content:"";position:absolute;left:25%;right:25%;top:-22px;height:1px;background:linear-gradient(90deg,var(--bbb-purple),var(--bbb-pink),var(--bbb-orange),var(--bbb-blue))}.bbb-workshop-card{display:grid;grid-template-columns:120px 1fr;gap:22px;border-top:2px solid var(--bbb-purple);padding-top:22px}.bbb-workshop-card:nth-child(2){border-color:var(--bbb-pink)}.bbb-workshop-card:nth-child(3){border-color:var(--bbb-blue)}.bbb-workshop-card:nth-child(4){border-color:var(--bbb-orange)}.bbb-workshop-card__media{aspect-ratio:4/5;background:#EDE4FB}.bbb-workshop-card h3{margin:0 0 8px;font-size:20px;line-height:1.1;color:var(--bbb-ink);font-weight:800}

.bbb-audience-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.bbb-audience-card{position:relative;min-height:330px;padding:34px;background:#fff;border:1px solid rgba(23,10,40,.08);overflow:hidden}.bbb-audience-card--dark{background:var(--bbb-ink);color:#fff}.bbb-audience-card__media{margin:-34px -34px 26px;aspect-ratio:16/7;overflow:hidden;background:#EDE4FB}.bbb-audience-card__media img{width:100%;height:100%;object-fit:cover}.bbb-audience-card h3{margin:0 0 6px;font-size:24px;font-weight:800;color:inherit}.bbb-audience-card .bbb-btn{margin-top:20px}

.bbb-founder-story{background:radial-gradient(circle at 14% 20%,rgba(108,43,217,.28),transparent 35%),radial-gradient(circle at 87% 67%,rgba(255,138,61,.14),transparent 38%),var(--bbb-ink);color:#fff;padding:clamp(86px,9vw,140px) 0}.bbb-founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.bbb-founder-card__media{aspect-ratio:4/5;background:#321263;margin-bottom:22px}.bbb-founder-card p{color:rgba(255,255,255,.68);font-size:14px;line-height:1.7}.bbb-founder-convergence{max-width:760px;margin:70px auto 0;text-align:center}.bbb-founder-convergence h3{font-size:clamp(34px,4vw,56px);line-height:1.02;color:#fff}

.bbb-values{display:grid;grid-template-columns:repeat(2,1fr);gap:58px 84px}.bbb-value{display:grid;grid-template-columns:46px 1fr;gap:18px}.bbb-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--bbb-purple)}.bbb-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bbb-value h3{margin:0 0 8px;font-size:19px;color:var(--bbb-ink);font-weight:800}.bbb-value p{margin:0;color:#6C6375;font-size:14px;line-height:1.65}

.bbb-contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(50px,8vw,110px);align-items:start}.bbb-contact-form{background:#fff;padding:clamp(28px,3vw,46px);box-shadow:0 12px 36px rgba(23,10,40,.08);border:1px solid rgba(23,10,40,.06)}.bbb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bbb-field{display:flex;flex-direction:column;gap:7px}.bbb-field--full{grid-column:1/-1}.bbb-field label{font-size:11px;font-weight:600;color:var(--bbb-ink)}.bbb-field input,.bbb-field select,.bbb-field textarea{width:100%;border:1px solid rgba(23,10,40,.14);background:#FBFAF8;padding:13px 14px;color:var(--bbb-ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.bbb-field input:focus,.bbb-field select:focus,.bbb-field textarea:focus{border-color:var(--bbb-purple);box-shadow:0 0 0 3px rgba(108,43,217,.10)}

.bbb-final-cta{position:relative;overflow:hidden;background:radial-gradient(circle at 22% 38%,rgba(108,43,217,.44),transparent 36%),radial-gradient(circle at 88% 60%,rgba(255,46,126,.28),transparent 35%),var(--bbb-ink);color:#fff;padding:clamp(78px,8vw,126px) 0}.bbb-final-cta__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,7vw,110px);align-items:center}.bbb-final-cta h2{color:#fff}.bbb-final-cta p{color:rgba(255,255,255,.64)}

/* Footer - exact approved geometry */
.bbb-footer{background:var(--bbb-footer-bg);color:var(--bbb-footer-text);padding:80px 32px 44px}.bbb-footer>.bbb-container{max-width:1280px}.bbb-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}.bbb-brand--footer{margin-bottom:18px}.bbb-brand--footer .bbb-brand__mark{width:auto;height:var(--bbb-footer-logo-size);max-width:var(--bbb-footer-logo-size);flex-basis:auto}.bbb-brand--footer .bbb-brand__name{font-size:21px;color:#fff}.bbb-brand--footer .bbb-brand__name strong{color:#B48CFF}.bbb-footer__brand-col p{margin:0 0 18px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.60);max-width:340px}.bbb-footer__heading{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin:0 0 18px}.bbb-footer__menu,.bbb-footer__contact,.bbb-footer__social{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;font-size:15px}.bbb-footer__menu a,.bbb-footer__social a,.bbb-footer__contact a{color:rgba(255,255,255,.82)}.bbb-footer__menu a:hover,.bbb-footer__social a:hover,.bbb-footer__contact a:hover{color:var(--bbb-pink)}.bbb-footer__contact li{display:flex;align-items:flex-start;gap:11px;color:rgba(255,255,255,.82)}.bbb-footer__contact svg{width:18px;height:18px;fill:none;stroke:var(--bbb-orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.bbb-footer__contact li:first-child svg{stroke:#B48CFF}.bbb-footer__muted{color:rgba(255,255,255,.55)!important;line-height:1.6}.bbb-footer__bottom{margin-top:56px;padding-top:26px;border-top:1px solid rgba(255,255,255,.10);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.42)}.bbb-footer__bottom a{color:rgba(255,255,255,.62);text-decoration:none;transition:color .25s ease}.bbb-footer__bottom a:hover{color:var(--bbb-pink)}

@media(max-width:1080px){.bbb-header__inner{padding-inline:22px}.bbb-nav{margin-left:auto}.bbb-nav__list{display:none}.bbb-header__divider{display:none}.bbb-menu-toggle{display:flex}.bbb-footer__grid{grid-template-columns:1.4fr 1fr 1fr}.bbb-footer__grid>div:last-child{grid-column:2/3}.bbb-audience-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.bbb-audience-tile--schools,.bbb-audience-tile--seniors,.bbb-audience-tile--families{grid-column:auto;grid-row:auto}.bbb-audience-tile--schools{min-height:440px}.bbb-gallery{grid-template-columns:1fr 1fr}.bbb-gallery>*{grid-column:auto!important}.bbb-workshop-branch__grid{gap:38px}.bbb-workshop-card{grid-template-columns:96px 1fr}}
@media(max-width:900px){.bbb-editorial-split,.bbb-editorial-split--60-40,.bbb-editorial-split--40-60,.bbb-studio-feature,.bbb-process-step,.bbb-founder-grid,.bbb-contact-layout,.bbb-final-cta__grid{grid-template-columns:1fr;gap:40px}.bbb-process-step:nth-child(even)>.bbb-process-step__media{order:0}.bbb-process-step--climax{padding:64px 28px}.bbb-before-after{aspect-ratio:4/3}.bbb-workshop-branch__grid{grid-template-columns:1fr}.bbb-workshop-branch__grid::before{display:none}.bbb-audience-cards{grid-template-columns:1fr}.bbb-values{gap:40px}.bbb-footer__grid{grid-template-columns:1fr 1fr}.bbb-footer__grid>div:last-child{grid-column:auto}}
@media(max-width:720px){:root{--bbb-logo-size:50px;--bbb-footer-logo-size:44px}.bbb-header__inner{padding:12px 18px;gap:12px;min-height:74px}.bbb-brand{gap:10px}.bbb-brand__name{font-size:20px}.bbb-header__actions>.bbb-lang,.bbb-header__actions>.bbb-btn--header,.bbb-header__divider{display:none}.bbb-menu-toggle{margin-left:8px}.bbb-footer{padding:58px 18px 34px}.bbb-footer__grid{grid-template-columns:1fr;gap:34px}.bbb-audience-mosaic,.bbb-audience-mosaic--second{grid-template-columns:1fr;grid-template-rows:auto}.bbb-audience-tile,.bbb-audience-tile--schools{min-height:280px}.bbb-testimonials{grid-template-columns:1fr;gap:34px}.bbb-workshop-card{grid-template-columns:88px 1fr}.bbb-values{grid-template-columns:1fr}.bbb-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.bbb-form-grid{grid-template-columns:1fr}.bbb-hero--home{padding:78px 18px 0}.bbb-hero-video{width:calc(100% - 36px);margin-top:38px}.bbb-hero--cinematic .bbb-hero__inner{width:calc(100% - 36px)}.bbb-process__intro{align-items:flex-start;flex-direction:column}.bbb-process__progress{width:180px}.bbb-final-cta{text-align:left}}

/* ========================================================
   V2.2 BILINGUAL HEADER + RELIABLE MOBILE MENU
   ======================================================== */
body.bbb-menu-open{overflow:hidden!important}
.bbb-mobile-menu{position:absolute;left:0;right:0;top:100%;z-index:70;max-height:calc(100vh - 74px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 42px rgba(23,10,40,.12);transform-origin:top center}
.bbb-mobile-menu.is-open{animation:bbb-mobile-drop .28s var(--bbb-ease) both}
@keyframes bbb-mobile-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.bbb-mobile-menu__inner{padding-top:8px;padding-bottom:8px}
.bbb-mobile-menu__list>li>a{position:relative;padding:15px 4px;color:var(--bbb-ink);font-size:18px;font-weight:700;border-bottom:1px solid rgba(23,10,40,.07)}
.bbb-mobile-menu__list>li>a::after{content:"";position:absolute;left:4px;bottom:6px;width:52px;height:2.5px;border-radius:2px;background:linear-gradient(90deg,#6C2BD9,#FF2E7E,#FF8A3D,#2B9DF4);transform:scaleX(0);transform-origin:left center;transition:transform .3s var(--bbb-ease)}
.bbb-mobile-menu__list>.current-menu-item>a::after,.bbb-mobile-menu__list>.current_page_item>a::after,.bbb-mobile-menu__list>.bbb-current>a::after,.bbb-mobile-menu__list>li>a[aria-current="page"]::after{transform:scaleX(1)}
.bbb-mobile-menu__cta{display:flex;width:100%;margin-top:18px}
.bbb-lang--mobile{margin-top:18px}
.bbb-header.is-menu-open{box-shadow:0 12px 36px rgba(23,10,40,.10)}
.bbb-menu-toggle{position:relative}
.bbb-menu-toggle[aria-expanded="true"] span:nth-of-type(2){transform:translateY(7px) rotate(45deg)}
.bbb-menu-toggle[aria-expanded="true"] span:nth-of-type(3){opacity:0}
.bbb-menu-toggle[aria-expanded="true"] span:nth-of-type(4){transform:translateY(-7px) rotate(-45deg)}

/* French labels can run slightly longer without breaking the header. */
.bbb-lang-fr .bbb-nav__list>li>a{padding-inline:12px}
.bbb-lang-fr .bbb-btn--header{padding-inline:19px}

/* ========================================================
   MASC FOOTER TREATMENT
   ======================================================== */
.bbb-footer__masc{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);max-width:360px}
.bbb-footer__masc-logo{display:flex;align-items:center;justify-content:center;width:82px;height:58px;flex:0 0 82px;padding:8px 10px;border-radius:8px;background:#fff;overflow:hidden}
.bbb-footer__masc-logo img{display:block;width:100%;height:100%;object-fit:contain}
.bbb-footer__masc-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.bbb-footer__masc-copy strong{color:#fff;font-size:12.5px;line-height:1.35}
.bbb-footer__masc-copy span{color:rgba(255,255,255,.55);font-size:11.5px;line-height:1.35}
.bbb-footer__masc-copy a{margin-top:4px;color:#B48CFF;font-size:11.5px;font-weight:600}
.bbb-footer__masc-copy a:hover{color:var(--bbb-pink)}
.bbb-footer__lang{white-space:nowrap}
.bbb-footer__lang a{color:rgba(255,255,255,.48)}
.bbb-footer__lang a.is-active,.bbb-footer__lang a[aria-current="page"]{color:#fff}

@media(max-width:1180px){
  .bbb-header__inner{gap:20px}
  .bbb-brand__name{font-size:21px}
  .bbb-nav__list>li>a{padding-inline:10px;font-size:14px}
  .bbb-btn--header{margin-left:12px;padding-inline:18px}
}
@media(max-width:1080px){
  .bbb-mobile-menu{display:block}
}
@media(max-width:720px){
  .bbb-mobile-menu{position:fixed;top:74px;bottom:0;max-height:none;padding:12px 18px 28px}
  .admin-bar .bbb-mobile-menu{top:120px}
  .bbb-mobile-menu>.bbb-container{width:100%}
  .bbb-mobile-menu__list>li>a{font-size:18px;padding:15px 2px}
  .bbb-footer__masc{max-width:100%}
}
@media(max-width:420px){
  .bbb-brand__name{font-size:18px}
  .bbb-brand__mark{height:46px;max-width:46px}
  .bbb-menu-toggle{width:44px;height:44px;margin-left:4px}
}

/* ========================================================
   V2.3 MOBILE NAV HARDENING + REDUCED PAGE REVEALS
   ======================================================== */
html.bbb-menu-open,body.bbb-menu-open{overflow:hidden!important}
.bbb-mobile-menu.is-open{display:block!important;visibility:visible!important;pointer-events:auto!important}
.bbb-menu-toggle{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:1080px){
  .bbb-header{overflow:visible}
  .bbb-menu-toggle{display:flex!important;z-index:82}
  .bbb-mobile-menu{z-index:80}
}

/* The page HTML already contains its own purposeful motion. Disable the
   repeated reveal-on-scroll layer globally to keep the site calmer and
   prevent double animation from Elementor HTML widgets + theme scripts. */
body.bbb-site [data-reveal],
body.bbb-site [data-about-reveal],
body.bbb-site [data-contact-reveal],
body.bbb-site [data-reveal].is-in,
body.bbb-site .bbw-in-up,
body.bbb-site .bbw-in-left,
body.bbb-site .bbw-in-right,
body.bbb-site .bbw-in-mask,
body.bbb-site .about-in-up,
body.bbb-site .about-in-left,
body.bbb-site .about-in-right,
body.bbb-site .about-in-media,
body.bbb-site .contact-reveal-up,
body.bbb-site .contact-reveal-left,
body.bbb-site .contact-reveal-right,
body.bbb-site .contact-reveal-media{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:none!important;
  transition:none!important;
}


/* ========================================================
   V2.4 ROOT FIX — MOBILE MENU OUTSIDE BACKDROP-FILTER HEADER
   The mobile menu is now a sibling of .bbb-header, not a descendant.
   This lets position:fixed resolve against the viewport in Safari/iOS.
   ======================================================== */
@media(max-width:1080px){
  body.bbb-site .bbb-mobile-menu{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:82px!important;
    bottom:0!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    z-index:9998!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    background:var(--bbb-paper)!important;
  }
  body.admin-bar.bbb-site .bbb-mobile-menu{top:114px!important;}
  body.bbb-site .bbb-menu-toggle{position:relative;z-index:9999!important;}
}
@media(max-width:782px){
  body.admin-bar.bbb-site .bbb-mobile-menu{top:128px!important;}
}
@media(max-width:600px){
  body.admin-bar.bbb-site .bbb-mobile-menu{top:128px!important;}
}
