/* CPL Business 2.0 · same approved color family, enhanced operational layouts. */
:root{--cpl-business-transition:cubic-bezier(.2,.8,.2,1)}
.cpl-skip{position:fixed;left:16px;top:-80px;padding:10px 16px;z-index:2000;background:#123c73;color:#fff;border-radius:10px}.cpl-skip:focus{top:12px;color:#fff}
.cpl-app{overflow:clip}.cpl-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .25s var(--cpl-business-transition),background .25s}
.cpl-header.cpl-is-scrolled{box-shadow:0 14px 34px rgba(18,60,115,.12);background:rgba(255,255,255,.96)}
.cpl-language{display:inline-flex;align-items:center;gap:7px;margin-left:8px;font-size:12px;font-weight:750;white-space:nowrap;color:#71808d}.cpl-language a{display:inline-block;padding:5px;color:#123c73}.cpl-language a[aria-current=true]{background:#e6f4ff;border-radius:7px;color:#0e5892}
.cpl-header-inner{gap:20px}.cpl-nav{gap:17px}.cpl-nav>a,.cpl-nav .menu-item>a{transition:color .18s ease}
.cpl-hero{position:relative;isolation:isolate;background:linear-gradient(118deg,#f3faff 0%,#fff 48%,#eaf5ff 100%)}
.cpl-hero:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(22,143,231,.06) 120px),repeating-linear-gradient(0deg,transparent 0,transparent 119px,rgba(22,143,231,.06) 120px);mask-image:linear-gradient(90deg,transparent,#000);opacity:.55}
.cpl-hero-grid{position:relative}.cpl-hero-copy{position:relative;z-index:1}.cpl-hero h1{max-width:770px;letter-spacing:-.052em}
.cpl-hero-visual img{filter:drop-shadow(0 26px 30px rgba(18,60,115,.14));animation:cpl-business-drift 8s ease-in-out infinite}
.cpl-icon-strip{border:1px solid #d9eaf5;box-shadow:0 20px 60px rgba(18,60,115,.10)}
.cpl-section-head h2{max-width:820px}.cpl-card{border-radius:20px;transition:transform .4s var(--cpl-business-transition),box-shadow .4s var(--cpl-business-transition),border-color .3s}
.cpl-card:hover{transform:translateY(-7px);border-color:#8ccef8;box-shadow:0 24px 48px rgba(18,60,115,.15)}
.cpl-card a:after,.cpl-section-head a:after{content:'';display:inline-block;height:7px;width:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:5px;transition:transform .2s}
.cpl-card a:hover:after,.cpl-section-head a:hover:after{transform:translateX(4px) rotate(45deg)}
.cpl-b2b-section{background:linear-gradient(135deg,#0f2d4a 0%,#123c73 65%,#0d6da9 100%)!important;color:#fff;position:relative;overflow:hidden}
.cpl-b2b-section:before{content:'';position:absolute;top:-200px;right:-150px;width:700px;height:700px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 75px rgba(255,255,255,.025),0 0 0 155px rgba(255,255,255,.02)}
.cpl-b2b-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,96px);align-items:center;position:relative}.cpl-b2b-grid h2{font-size:clamp(38px,5vw,68px);letter-spacing:-.055em;line-height:1.02;margin:12px 0}.cpl-b2b-grid p{color:#dcf0fc;line-height:1.7;max-width:520px}.cpl-b2b-grid .cpl-eyebrow{color:#9fdefe}.cpl-b2b-grid .cpl-btn{background:#fff;color:#123c73;display:inline-block;margin-top:16px}.cpl-process{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:clamp(20px,4vw,42px);backdrop-filter:blur(15px)}
.cpl-process>div{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);font-weight:650}.cpl-process b{display:grid;place-items:center;flex:none;width:49px;height:49px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#b9e6ff}.cpl-process>div:last-of-type{border:0}.cpl-process .cpl-disclaimer{font-size:12px;opacity:.75}
.cpl-track-enhanced{border-radius:24px;overflow:hidden;box-shadow:0 25px 60px rgba(18,60,115,.1);padding:24px;background:#fff}.cpl-track-summary>div{background:linear-gradient(140deg,#eef8ff,#fff);border:1px solid #e1eff8}.cpl-timeline-item{transition:transform .2s}.cpl-timeline-item:hover{transform:translateX(5px)}
.cpl-btn,.cpl-nav-cta{transition:transform .22s,box-shadow .22s,background .22s}.cpl-btn:hover,.cpl-nav-cta:hover{transform:translateY(-2px)}
.cpl-tier-business .cpl-reveal,.cpl-tier-business .cpl-card{will-change:auto}.cpl-motion-ready .cpl-reveal{opacity:1;transform:none}.cpl-motion-ready .cpl-reveal.is-visible{animation:cpl-business-reveal .7s var(--cpl-business-transition) both}@keyframes cpl-business-reveal{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:none}}
.cpl-footer{background:linear-gradient(140deg,#0f2d4a,#123c73)}
@keyframes cpl-business-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:980px){.cpl-b2b-grid{grid-template-columns:1fr}.cpl-b2b-grid>div:first-child{max-width:740px}}
@media(max-width:820px){.cpl-nav{max-height:calc(100dvh - 110px);overflow-y:auto}.cpl-language{margin:10px 0 3px;padding-left:12px}.cpl-hero:before{opacity:.3}.cpl-b2b-section{padding:66px 0}.cpl-process{padding:18px}}
@media(max-width:560px){.cpl-b2b-grid h2{font-size:40px}.cpl-track-enhanced{padding:14px}.cpl-process>div{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.cpl-motion-ready .cpl-reveal{opacity:1!important;transform:none!important}}

/* Laptop navigation overflow fix (long French labels + bilingual switch). */
@media(max-width:1120px){
 .cpl-header-inner{min-height:74px;padding:8px 0;position:relative}
 .cpl-menu-toggle{display:block}
 .cpl-nav{position:absolute;left:0;right:0;top:calc(100% - 4px);background:#fff;border:1px solid #dce7ef;border-radius:18px;padding:14px;box-shadow:0 20px 48px rgba(18,60,115,.15);display:none;flex-direction:column;align-items:stretch;gap:0;z-index:1200;max-height:calc(100dvh - 110px);overflow:auto}
 .cpl-nav.is-open{display:flex}.cpl-nav>a,.cpl-nav .menu-item>a{padding:12px}.cpl-nav-cta{text-align:center;margin:8px 0}.cpl-language{padding-left:10px}
}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #59c0f2;outline-offset:3px}
