/* Academy integration + EN/FR switch + bigger logo (20261114ac) */
.x-nav .x-brand img{width:56px;height:auto}
.x-foot .x-brand img{width:72px;height:auto}
@media (max-width:700px){.x-nav .x-brand img{width:46px}}
.x-lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .7rem;border:1px solid currentColor;border-radius:999px;font-weight:700;font-size:.82rem;letter-spacing:.06em;color:#fff;text-decoration:none;opacity:.92;flex:none}
.x-lang:hover,.x-lang:focus-visible{opacity:1;background:rgba(255,255,255,.12)}
.x-nav__cta .x-btn{white-space:nowrap}
@media (min-width:1100px) and (max-width:1279px){.x-nav .x-menu{gap:0}.x-nav .x-menu>li>a,.x-nav .x-menu>li>button{padding:.5rem .42rem;font-size:.86rem}.x-nav__cta{gap:.45rem}.x-nav__cta .x-btn{padding:.55rem .85rem;font-size:.86rem;min-height:44px}.x-nav .x-brand img{width:48px}}
@media (max-width:1499px){.x-nav__phone-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.x-menu{gap:.1rem}.x-menu>li>a,.x-menu>li>button{padding:.55rem .6rem}}
.x-nav__phone-text>span{white-space:nowrap}
/* homepage academy section */
.x-acad{background:linear-gradient(180deg,#081428,#0b1a33);color:#fff}
.x-acad__in{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.x-acad .x-h2{color:#fff}.x-acad .x-lead{color:#c9d3e3}
.x-acad__list{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.55rem}
.x-acad__list li{position:relative;padding-left:1.6rem;color:#eef3fb}
.x-acad__list li::before{content:"";position:absolute;left:0;top:.45em;width:.7rem;height:.7rem;border-radius:50%;background:#facc15}
.x-acad__note,.x-acadband__note{font-size:.9rem;color:#c9d3e3;border-left:3px solid #facc15;padding:.3rem 0 .3rem .8rem;margin:1rem 0}
.x-acad__cta,.x-acadband__cta{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;margin-top:1.2rem}
.x-acad__ghost,.x-acadband__more{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.x-acad__fig{margin:0}
.x-acad__fig img{width:100%;height:auto;border-radius:14px;box-shadow:0 30px 60px -25px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.12)}
.x-acad__fig figcaption{font-size:.85rem;color:#9aa8c0;margin-top:.6rem;text-align:center}
@media (max-width:900px){.x-acad__in{grid-template-columns:1fr;gap:2rem}}
/* academy / licensing band (careers, training, services, locations) */
.x-acadband{background:#0b1a33;color:#fff;padding:clamp(2.2rem,5vw,3.5rem) 0;border-top:1px solid rgba(255,255,255,.08)}
.x-acadband__in{display:grid;grid-template-columns:auto 1fr auto;gap:1.6rem 2rem;align-items:center}
.x-acadband--jur .x-acadband__in{grid-template-columns:1fr auto}
.x-acadband__logo{width:80px;height:auto}
.x-acadband__t{font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.2;margin:0 0 .5rem;color:#fff}
.x-acadband__txt p{margin:.4rem 0;color:#c9d3e3;max-width:62ch}
.x-acadband__cta{flex-direction:column;align-items:flex-start;margin:0}
@media (max-width:860px){.x-acadband__in,.x-acadband--jur .x-acadband__in{grid-template-columns:1fr}.x-acadband__logo{width:60px}}
/* contact page: gap between the phone / email cards on phone */
@media (max-width:767px){.col-sm-4>.b-contacts{margin-bottom:16px}.row:has(>.col-sm-4>.b-contacts){margin-bottom:28px}}
/* French notice for pages only available in English */
.x-frnote{background:#081428;color:#c9d3e3;font-size:.9rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.x-acad .x-h2,.x-acadband__t{hyphens:manual;-webkit-hyphens:manual}

.x-menu>li>a,.x-menu>li>button{white-space:nowrap}
html[lang^="fr"] .x-nav .x-menu>li>a,html[lang^="fr"] .x-nav .x-menu>li>button{padding-left:.5rem;padding-right:.5rem}
@media (min-width:1100px) and (max-width:1279px){html[lang^="fr"] .x-nav .x-menu>li>a,html[lang^="fr"] .x-nav .x-menu>li>button{padding:.5rem .3rem;font-size:.8rem}html[lang^="fr"] .x-nav__cta .x-btn{font-size:.8rem;padding:.5rem .7rem}}
.x-frnote-inline{display:block;margin:1rem 0;padding:.7rem 1rem;border-radius:12px;background:rgba(250,204,21,.12);border:1px solid rgba(250,204,21,.45);color:inherit;font-size:.92rem;line-height:1.45}
.x-frnote-inline a{color:inherit;text-decoration:underline;font-weight:600}
@media (min-width:1280px) and (max-width:1439px){html[lang^="fr"] .x-nav .x-menu>li>a,html[lang^="fr"] .x-nav .x-menu>li>button{padding:.5rem .38rem;font-size:.87rem}}
@media (max-width:1699px){html[lang^="fr"] .x-nav__phone-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* training page: current academy course list */
.x-train__in{max-width:960px;margin:0 auto;padding:0 16px;font-size:18px;line-height:1.6;color:#1f2a37}
.x-train__h{font-size:30px;color:#0b1b33;text-align:center;margin:0 0 16px;hyphens:manual}
.x-train__h3{font-size:24px;color:#0b1b33;margin:28px 0 8px}
.x-train__h4{font-size:20px;color:#0b1b33;margin:24px 0 8px}
.x-train__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.x-train__list li{background:#fff;border:1px solid #d7deea;border-radius:10px;padding:14px 16px}
.x-train__list a{display:block;color:#0b4fc4;text-decoration:underline;text-underline-offset:3px;margin-bottom:4px}
.x-train__list span{display:block;font-size:16px;color:#3b4656}
.x-train__note{margin:24px 0 0;padding:12px 16px;background:#eef3fb;border-left:4px solid #1a63dc;font-size:16px}
.x-train__cta{margin:24px 0 0;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.x-train__more{color:#0b4fc4;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
/* contact cards: icon font glyph is hidden upstream, so drop the empty space it left above the label */
.b-contacts>.b-contacts__name{margin-top:0}
@media (min-width:768px){.row:has(>.col-sm-4>.b-contacts){display:flex;flex-wrap:wrap}.row:has(>.col-sm-4>.b-contacts)>.col-sm-4{display:flex;float:none}.row:has(>.col-sm-4>.b-contacts)>.col-sm-4>.b-contacts{flex:1;display:flex;flex-direction:column;justify-content:center}}
/* inner pages force a light background on sections; keep the academy band dark */
html.x-inner .l-theme section.x-acadband,html.x-inner section.x-acadband,html .x-acadband{background:#0b1a33!important;background-image:none!important}
/* visually hidden helper */
.x-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* links inside body text must not rely on colour alone */
.x-wrap>p>a:not([class]){text-decoration:underline;text-underline-offset:2px}
/* hero: brand gradient behind framed slides (no blurred copy of the photo) */
html body .x-hero .xhs-slide .xhs-bg{background:radial-gradient(120% 90% at 75% 30%,#1a3f7a 0%,#0e2448 45%,#07142b 100%)!important;transform:none!important;animation:none!important;filter:none!important}

/* round 3: hero slides blend into the page: no frame, border or drop shadow; soft faded edges; a little headroom above heads */
html body .x-hero .x-hero__media .xhs-frame canvas,html body .x-hero .x-hero__media .xhs-frame img{border-radius:0!important;box-shadow:none!important;border:0!important;outline:0!important;
-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 5%,#000 84%,transparent 100%);-webkit-mask-composite:source-in;
mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,transparent 0,#000 5%,#000 84%,transparent 100%);mask-composite:intersect}
html body .x-hero[data-xhs-mode="side"] .xhs-frame{top:calc(var(--xhs-t,88px) + 14px)}
@media (max-width:699px){html body .x-hero .x-hero__media .xhs-frame canvas,html body .x-hero .x-hero__media .xhs-frame img{
-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 82%,transparent 100%);
mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 82%,transparent 100%)}}
