/*
 * Partenaires approuvés par Abondance : styles du hub et des pages partenaires.
 * Repris de la maquette V1 validée le 02/11/2026. Tout est isolé sous .abp
 * pour ne rien changer au reste du site (thème Extra).
 */
.abp{box-sizing:border-box;background:#fff;color:#3c4250;font:17px/1.7 'Roboto',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.abp *,.abp *::before,.abp *::after{box-sizing:inherit}
.abp p{margin:0;padding:0;font-size:inherit;line-height:inherit;color:inherit}
.abp a{color:#3c61d8}
.abp ul{margin:0;padding:0}
.abp li{list-style:none}
.abp img{max-width:100%;height:auto}
.abp figure{margin:0}
.abp blockquote{margin:0!important;padding:0!important;border:0!important;font-style:normal!important;background:none!important;quotes:none!important}
.abp blockquote::before,.abp blockquote::after{content:none!important}
.abp mark{background:none}
.abp h1,.abp h2,.abp h3{padding:0;text-transform:none}
.abp .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.abp [hidden]{display:none!important}
.abp{color-scheme:light;--night:#0c0e13;--night-2:#171a22;--on-night:#f2f3f5;--on-night-2:#a3a8b4;--paper:#ffffff;--mist:#f2f3f5;--ink:#13161d;--text:#3c4250;--muted:#6f7584;--rule:#e2e4e9;--blue:#3c61d8;--blue-ink:#2c4fc0;--lorem:#8a6d1f;--f-head:'Outfit',ui-sans-serif,system-ui,sans-serif;--f-body:'Roboto',ui-sans-serif,system-ui,sans-serif}
.abp h1,.abp h2,.abp h3{font-family:var(--f-head);color:var(--ink);font-weight:500;line-height:1.1;text-wrap:balance;margin:0!important;letter-spacing:-.01em}
.abp .wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.abp a:focus-visible,.abp button:focus-visible,.abp input:focus-visible,.abp select:focus-visible,.abp textarea:focus-visible,.abp summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.abp .btn{display:inline-block;font:500 16px/1 var(--f-head);background:var(--blue);color:#fff;text-decoration:none;border:0;border-radius:4px;padding:17px 26px;cursor:pointer}
.abp .btn:hover{background:var(--blue-ink)}
.abp .btn.ghost{background:transparent;color:var(--ink);border:1px solid #cfd3db}
.abp .btn.ghost:hover{border-color:var(--ink)}
.abp .stage{background:var(--night);color:var(--on-night-2)}
.abp .stage h1,.abp .stage h2,.abp .stage h3{color:var(--on-night)}
.abp .hub-hero .wrap{padding-block:88px 96px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px 72px;align-items:start}
.abp .hub-hero h1{font-size:clamp(40px,6.2vw,76px);line-height:1.02}
.abp .hub-hero p{font-size:18px;max-width:46ch}
.abp .hub-hero p + p{margin-top:16px}
.abp .hub-hero strong{color:var(--on-night);font-weight:500}
@media (max-width:860px){.abp .hub-hero .wrap{grid-template-columns:1fr;padding-block:56px 64px}}
.abp .themes{padding-block:24px 8px}
.abp .theme{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 64px;padding-block:56px;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}
.abp .theme-name{font:400 clamp(38px,5vw,64px)/1 var(--f-head);color:var(--ink);letter-spacing:-.02em}
.abp .theme-body{display:grid;grid-template-columns:auto 1fr;gap:20px 24px;align-items:start}
.abp .theme-logo{width:76px;height:76px;border-radius:50%;background:#f3f2ff;overflow:hidden}
.abp .theme-logo img{width:100%;height:100%;display:block}
.abp .theme-body h3{font-size:30px}
.abp .theme-body .who{font-size:15px;color:var(--muted);margin-top:4px}
.abp .theme-body p.pitch{grid-column:2;max-width:52ch}
.abp .theme-body .go{grid-column:2;font:500 16px var(--f-head);color:var(--blue)}
.abp .theme:hover .go{text-decoration:underline;text-underline-offset:4px}
@media (max-width:760px){.abp .theme{grid-template-columns:1fr;padding-block:40px}.abp .theme-body p.pitch,.abp .theme-body .go{grid-column:1/-1}}
.abp .prose-2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;padding-block:88px;border-bottom:1px solid var(--rule)}
.abp .prose-2 h2{font-size:clamp(28px,3.4vw,40px)}
.abp .prose-2 .body{max-width:62ch;display:grid;gap:18px}
.abp .rules{list-style:none;margin:0;padding:0;counter-reset:r}
.abp .rules li{counter-increment:r;display:grid;grid-template-columns:44px 1fr;padding-block:16px;border-top:1px solid var(--rule)}
.abp .rules li::before{content:counter(r);font:500 15px var(--f-head);color:var(--muted)}
@media (max-width:760px){.abp .prose-2{grid-template-columns:1fr;padding-block:56px}}
.abp .open-brief{background:var(--mist)}
.abp .open-brief .wrap{padding-block:80px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px 64px}
.abp .open-brief h2{font-size:clamp(28px,3.4vw,40px)}
.abp .open-brief .lead{max-width:44ch;margin-top:18px}
@media (max-width:860px){.abp .open-brief .wrap{grid-template-columns:1fr;padding-block:56px}}
.abp .disclosure{font-size:13.5px;line-height:1.6;color:var(--muted);max-width:80ch}
.abp .disclosure b{color:var(--ink);font-weight:500}
.abp .disclosure-band{border-top:1px solid var(--rule)}
.abp .disclosure-band .wrap{padding-block:24px}
.abp .p-hero{background:var(--night)}
.abp .p-hero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:40px 64px;align-items:center;padding-block:56px}
.abp .crumbs{font-size:14px;color:var(--on-night-2);margin-bottom:44px}
.abp .crumbs a{color:var(--on-night-2)}
.abp .p-hero h1{font-size:clamp(52px,8vw,104px);line-height:.95;color:var(--on-night)}
.abp .p-hero .metier{font:400 22px var(--f-head);color:var(--on-night-2);margin-top:14px}
.abp .p-hero .promise{font-size:19px;color:var(--on-night);max-width:40ch;margin-top:30px}
.abp .seal{display:flex;align-items:flex-start;gap:10px;margin-top:30px;font:500 14px/1.45 var(--f-head);color:var(--on-night)}
.abp .seal svg{width:22px;height:22px;flex:none}
.abp .seal span{display:block;font:400 13px var(--f-body);color:var(--on-night-2)}
.abp .p-cta{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:36px}
.abp .p-cta .link-quiet{color:var(--on-night)}
.abp .portrait{position:relative;aspect-ratio:4/5;max-width:100%;background:var(--night-2);border-radius:2px;overflow:hidden;display:flex;align-items:flex-end;margin:0}
.abp .ph{position:absolute;inset:0;display:grid;place-items:center;color:#4c5262;font:400 14px var(--f-head);text-align:center;padding:24px}
.abp .portrait figcaption{position:relative;padding:20px 22px;color:var(--on-night);font-size:15px;line-height:1.4;background:rgba(12,14,19,.72);width:100%}
.abp .portrait figcaption b{display:block;font:500 18px var(--f-head)}
@media (max-width:860px){.abp .p-hero .wrap{grid-template-columns:1fr}.abp .crumbs{margin-bottom:28px}.abp .portrait{aspect-ratio:16/10}}
.abp .subnav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);border-bottom:1px solid var(--rule)}
.abp .subnav .wrap{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
.abp .subnav a{font:500 15px var(--f-head);color:var(--muted);text-decoration:none;padding-block:18px;white-space:nowrap;border-bottom:2px solid transparent}
.abp .subnav a:hover,.abp .subnav a.on{color:var(--ink);border-color:var(--ink)}
.abp .layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;align-items:start}
.abp .main > section{padding-block:72px;border-bottom:1px solid var(--rule)}
.abp .main > section:last-child{border-bottom:0}
.abp .main h2{font-size:clamp(30px,3.6vw,42px);margin-bottom:28px!important}
.abp .main .body{max-width:64ch;display:grid;gap:18px}
.abp .dated{font-size:14px;color:var(--muted);margin-top:20px}
.abp .pull{font:400 clamp(26px,3vw,36px)/1.25 var(--f-head);color:var(--ink);letter-spacing:-.01em;margin:0 0 32px!important;max-width:28ch}
.abp .byline{display:flex;align-items:center;gap:16px;margin-top:32px;font-size:15px;line-height:1.45}
.abp .face{width:64px;height:64px;border-radius:50%;background:var(--mist);flex:none;display:grid;place-items:center;font:400 11px var(--f-head);color:var(--muted);text-align:center;line-height:1.2}
.abp .byline b{display:block;color:var(--ink);font:500 16px var(--f-head)}
.abp .case-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;margin:8px 0 32px}
.abp .case-figs b{display:block;font:400 clamp(36px,4vw,48px)/1 var(--f-head);color:var(--ink);letter-spacing:-.02em}
.abp .case-figs span{display:block;font-size:15px;margin-top:8px}
.abp .shot{position:relative;aspect-ratio:16/9;background:var(--mist);border:1px solid var(--rule);border-radius:2px;margin:32px 0 10px}
.abp .shot .ph{color:var(--muted)}
.abp .shot-img{display:block;width:100%;height:auto;border:1px solid var(--rule);border-radius:2px;margin:32px 0 10px}
.abp .caption{font-size:14px;color:var(--muted)}
@media (max-width:640px){.abp .case-figs{grid-template-columns:1fr}}
.abp .assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.abp .assets div{padding-block:26px;border-top:1px solid var(--rule)}
.abp .assets h3{font-size:20px;margin-bottom:10px!important}
.abp .assets p{font-size:16px}
@media (max-width:640px){.abp .assets{grid-template-columns:1fr}}
.abp .price{display:grid;gap:14px;margin-top:40px;padding:28px 0 0;border-top:1px solid var(--ink)}
.abp .price b{font:400 clamp(30px,3.4vw,40px)/1 var(--f-head);color:var(--ink)}
.abp .price p{font-size:16px;max-width:60ch}
@media (max-width:640px){.abp .price{grid-template-columns:1fr}}
.abp .figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;margin-top:8px}
.abp .figures b{display:block;font:400 clamp(44px,5.4vw,64px)/1 var(--f-head);color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.abp .figures span{display:block;font-size:15px;margin-top:10px}
.abp .source{font-size:14px;color:var(--muted);margin-top:24px}
@media (max-width:640px){.abp .figures{grid-template-columns:1fr}}
.abp .quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:44px}
.abp .quotes blockquote{margin:0!important;font:400 20px/1.45 var(--f-head)!important;color:var(--ink)!important}
.abp .quotes cite{display:block;font:400 14px/1.5 var(--f-body);color:var(--muted);margin-top:14px;font-style:normal}
.abp .quotes cite b{color:var(--ink);font-weight:500}
@media (max-width:640px){.abp .quotes{grid-template-columns:1fr}}
.abp .clients{display:flex;flex-wrap:wrap;gap:12px 36px;font:500 20px var(--f-head);color:var(--ink);margin-top:44px;padding-top:24px;border-top:1px solid var(--rule)}
.abp .clients small{flex-basis:100%;font:400 14px var(--f-body);color:var(--muted)}
.abp .partner-quote{font:400 clamp(24px,2.8vw,32px)/1.25 var(--f-head);color:var(--ink);margin:0 0 28px}
.abp .idcard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:36px}
.abp .idcard div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding-block:12px;border-top:1px solid var(--rule);font-size:15.5px}
.abp .idcard dt{color:var(--muted)}
.abp .idcard dd{margin:0;color:var(--ink)}
@media (max-width:640px){.abp .idcard{grid-template-columns:1fr}}
.abp .provided{font-size:14px;color:var(--muted);margin-top:24px}
.abp .talks{list-style:none;margin:0;padding:0}
.abp .talks li{border-top:1px solid var(--rule)}
.abp .talks a{display:grid;grid-template-columns:130px 1fr;gap:4px 20px;padding-block:18px;text-decoration:none;color:var(--ink)}
.abp .talks small{font:400 14px var(--f-body);color:var(--muted);padding-top:3px}
.abp .talks span{font:500 18px/1.35 var(--f-head)}
.abp .talks a:hover span{color:var(--blue)}
@media (max-width:560px){.abp .talks a{grid-template-columns:1fr}}
.abp .faq details{border-top:1px solid var(--rule)}
.abp .faq details:last-child{border-bottom:1px solid var(--rule)}
.abp .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding-block:20px;font:500 19px/1.35 var(--f-head);color:var(--ink)}
.abp .faq summary::-webkit-details-marker{display:none}
.abp .faq summary::after{content:"+";font:400 26px/1 var(--f-head);color:var(--muted);flex:none}
.abp .faq details[open] summary::after{content:"−"}
.abp .faq details > div{padding:0 0 22px;max-width:62ch;display:grid;gap:12px}
.abp .aside{position:sticky;top:96px;margin-top:72px;border:1px solid var(--rule);border-radius:4px;padding:28px;background:var(--paper)}
.abp .aside h2{font-size:24px;margin-bottom:12px!important}
.abp .aside p{font-size:15.5px}
.abp .aside .who{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px;line-height:1.4}
.abp .aside .who .face{width:44px;height:44px;font-size:9px}
.abp .aside .who b{display:block;color:var(--ink);font:500 15px var(--f-head)}
.abp .aside .btn{width:100%;text-align:center;margin-top:22px}
.abp .aside .after{font-size:14px;color:var(--muted);margin-top:16px}
@media (max-width:980px){.abp .layout{grid-template-columns:1fr;gap:0}.abp .aside{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;border-radius:0;border-width:1px 0 0;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));z-index:6}.abp .aside h2,.abp .aside .after,.abp .aside p,.abp .aside .who{display:none}.abp .aside .btn{margin:0}.abp body.on-partner{padding-bottom:84px}}
.abp .brief{background:var(--mist)}
.abp .brief .wrap{padding-block:88px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px 72px}
.abp .brief h2{font-size:clamp(34px,4.4vw,52px)}
.abp .brief .intro{display:grid;gap:18px;align-content:start;max-width:40ch}
.abp .brief .intro p{font-size:16.5px}
.abp .steps-ind{font:500 14px var(--f-head);color:var(--muted);margin-bottom:18px}
.abp .steps-ind b{color:var(--ink);font-weight:500}
.abp form .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.abp .full{grid-column:1/-1}
.abp label.f{display:grid;gap:7px;font:500 14.5px var(--f-head);color:var(--ink)}
.abp label.f i{font-style:normal;color:var(--muted);font-weight:400}
.abp .help{font:400 13.5px var(--f-body);color:var(--muted)}
.abp input[type=text],.abp input[type=email],.abp input[type=tel],.abp input[type=url],.abp select,.abp textarea{font:16px var(--f-body);color:var(--ink);background:var(--paper);border:1px solid #cfd3db;border-radius:4px;padding:13px 14px;width:100%}
.abp textarea{min-height:110px;resize:vertical}
.abp .check{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:15px;align-items:start}
.abp .check input{width:18px;height:18px;margin-top:4px;accent-color:var(--blue)}
.abp .send{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:6px}
.abp .send small{flex-basis:100%;color:var(--muted);font-size:14px;max-width:62ch}
.abp .thanks{background:var(--paper);border-radius:4px;padding:32px;font-size:17px;display:grid;gap:12px}
.abp .thanks b{font:500 24px var(--f-head);color:var(--ink)}
.abp .alt{margin-top:28px;font-size:15px;color:var(--muted)}
.abp .alt b{color:var(--ink);font-weight:500;user-select:all}
@media (max-width:860px){.abp .brief .wrap{grid-template-columns:1fr;padding-block:56px}.abp form .grid{grid-template-columns:1fr}}
.abp .cards-sec{padding-block:72px 24px}
.abp .cards-sec h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:32px!important}
.abp .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
@media (max-width:900px){.abp .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}}
@media (max-width:560px){.abp .cards{grid-template-columns:1fr}}
.abp .pcard{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:inherit}
.abp .pcard .pfoot{margin-top:auto}
.abp .pphoto{position:relative;aspect-ratio:4/5;max-width:100%;background:var(--night-2);overflow:hidden;border-radius:2px}
.abp .pphoto img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.06);transition:transform .5s ease,filter .4s ease}
.abp .pcard:hover .pphoto img{transform:scale(1.03);filter:none}
.abp .pmetier{position:absolute;left:0;top:0;background:var(--night);color:var(--on-night);font:500 13px var(--f-head);letter-spacing:.02em;padding:8px 12px}
.abp .pname{font:500 26px/1.15 var(--f-head);color:var(--ink)}
.abp .pcard:hover .pname{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.abp .prole{font-size:15px;color:var(--muted);margin-top:4px}
.abp .pcard p{font-size:16px}
.abp .pfoot{display:flex;align-items:center;gap:10px;font:500 15px var(--f-head);color:var(--ink);padding-top:14px;border-top:1px solid var(--rule)}
.abp .plogo{height:24px;width:auto;max-width:96px;object-fit:contain;display:block;flex:none}
.abp .plogo.round{width:24px;border-radius:50%;background:#f3f2ff}
.abp .pfoot .go{margin-left:auto;color:var(--blue)}
.abp .pcard.demo .pphoto .ph{color:#596075}
.abp .pcard.demo{opacity:.55}
.abp .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.abp .bio{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:start;margin-top:56px;padding-top:32px;border-top:1px solid var(--rule)}
.abp .bio img{width:120px;height:150px;object-fit:cover;border-radius:2px}
.abp .bio h3{font-size:22px;margin-bottom:4px!important}
.abp .bio .role{font-size:15px;color:var(--muted);margin-bottom:14px}
.abp .bio .body{gap:14px}
@media (max-width:560px){.abp .bio{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.abp .pphoto img{transition:none}}
.abp .hub-hero .intro{display:grid;gap:18px;max-width:48ch;margin-top:calc(clamp(40px,6.2vw,76px) * 0.18 - 10px)}
@media (max-width:860px){.abp .hub-hero .intro{margin-top:0}}
.abp .hub-hero .intro p{font-size:19px;line-height:1.65;color:var(--on-night);max-width:none;margin:0}
.abp .choose{padding-block:88px;border-bottom:1px solid var(--rule)}
.abp .choose-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;margin-bottom:40px}
.abp .choose-head h2{font-size:clamp(28px,3.4vw,40px)}
.abp .choose-head p{max-width:58ch}
.abp .choose .assets{grid-template-columns:repeat(2,minmax(0,1fr))}
.abp .choose .after{margin-top:32px;max-width:62ch;color:var(--muted);font-size:16px}
@media (max-width:760px){.abp .choose-head{grid-template-columns:1fr}.abp .choose{padding-block:56px}}
.abp .why{background:var(--mist)}
.abp .why .wrap{padding-block:88px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px 72px;align-items:start}
.abp .why figure{margin:0}
.abp .why .face-lg{aspect-ratio:4/5;max-width:100%;background:#dfe2e8;display:grid;place-items:center;color:var(--muted);font:400 14px var(--f-head);text-align:center;border-radius:2px}
.abp .why figcaption{font-size:15px;margin-top:12px;line-height:1.4}
.abp .why figcaption b{display:block;color:var(--ink);font:500 17px var(--f-head)}
.abp .why h2{font-size:clamp(30px,3.8vw,46px);margin-bottom:24px!important}
.abp .why .body{display:grid;gap:18px;max-width:60ch}
.abp .why .btn{margin-top:30px}
@media (max-width:860px){.abp .why .wrap{grid-template-columns:1fr;padding-block:56px}.abp .why figure{max-width:260px}}
.abp .money{border-top:1px solid var(--rule)}
.abp .money .wrap{padding-block:64px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px 64px}
.abp .money h2{font-size:clamp(24px,2.8vw,32px)}
.abp .money .body{display:grid;gap:16px;max-width:62ch;font-size:16px}
@media (max-width:760px){.abp .money .wrap{grid-template-columns:1fr;padding-block:48px}}
.abp .main > section.qualify{background:var(--mist);margin-top:56px;padding:48px 44px;border-bottom:0;border-radius:2px}
.abp .q-head{display:grid;grid-template-columns:112px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:12px}
.abp .q-head img{width:112px;height:140px;object-fit:cover;border-radius:2px}
.abp .qualify h2{margin-bottom:14px!important}
.abp .q-lead{font:400 clamp(19px,1.9vw,22px)/1.45 var(--f-head);color:var(--ink);max-width:48ch}
.abp .qualify .assets div{border-color:#d6d9e0}
.abp .qualify .btn{margin-top:28px}
@media (max-width:640px){.abp .main > section.qualify{padding:32px 20px;margin-top:32px}.abp .q-head{grid-template-columns:72px 1fr;gap:18px}.abp .q-head img{width:72px;height:90px}}
.abp h2.pull{font-size:clamp(26px,3vw,36px);line-height:1.25;font-weight:400}
.abp .sub-h{font-size:22px;margin:56px 0 14px!important}
.abp .sub-lead{max-width:62ch;margin-bottom:18px}
.abp .motto{margin:0 0 28px}
.abp .motto .partner-quote{margin:0}
.abp .motto figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.abp .logos{list-style:none;margin:8px 0 0;padding:24px 0 0;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;gap:24px 36px}
.abp .logos img{display:block;height:30px;width:auto;max-width:150px;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.abp .logos img.tall{height:46px}
.abp .logos img:hover{filter:none;opacity:1}
.abp .voices{background:var(--night);color:var(--on-night-2);margin-top:56px;padding:48px 44px;border-radius:2px}
.abp .voices h3{color:var(--on-night);font-size:26px;margin-bottom:36px!important}
.abp .voices blockquote{margin:0!important;font:400 19px/1.5 var(--f-head)!important;color:var(--on-night)!important}
.abp .voices mark{background:none;color:#9db3ff;font-weight:500}
.abp .voices figure{margin:0}
.abp .voices figcaption{font-size:14px;line-height:1.45;margin-top:16px;color:var(--on-night-2)}
.abp .voices figcaption b{display:block;color:var(--on-night);font:500 15px var(--f-head)}
.abp .v-feat{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;padding-bottom:36px;border-bottom:1px solid #2a2f3b}
.abp .v-feat blockquote{font-size:23px!important;line-height:1.4!important}
.abp .v-fig b{display:block;font:500 96px/.9 var(--f-head);color:#9db3ff;letter-spacing:-.04em}
.abp .v-fig span{display:block;font-size:14px;line-height:1.45;margin-top:12px}
.abp .v-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:36px}
.abp .v-grid blockquote{font-size:17px!important}
.abp .v-src{font-size:13px;color:#7d8392;margin-top:32px}
@media (max-width:900px){.abp .v-grid{grid-template-columns:1fr}}
@media (max-width:640px){.abp .voices{padding:32px 20px}.abp .v-feat{grid-template-columns:1fr;gap:16px}.abp .v-fig b{font-size:72px}}
.abp .hub-qualify{background:var(--mist);margin:16px 0 72px;padding:56px 52px;border-radius:2px}
.abp .hub-qualify .q-head{grid-template-columns:140px minmax(0,1fr);gap:36px;margin-bottom:20px}
.abp .hub-qualify .q-head img{width:140px;height:175px}
.abp .hub-qualify h2{font-size:clamp(28px,3.4vw,40px)}
.abp .hub-qualify .q-lead{max-width:60ch}
.abp .hub-qualify .assets{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.abp .q-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.abp .q-cta .btn{margin:0}
.abp .q-cta p{font-size:15px;color:var(--muted)}
@media (max-width:1000px){.abp .hub-qualify .assets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.abp .hub-qualify{padding:32px 20px}.abp .hub-qualify .assets{grid-template-columns:1fr}.abp .hub-qualify .q-head{grid-template-columns:72px 1fr;gap:18px}.abp .hub-qualify .q-head img{width:72px;height:90px}}
@media (max-width:980px){.abp.abp-single{padding-bottom:84px}}

.abp .wysiwyg ul li{list-style:disc;margin-left:1.2em}
.abp .notice-preview{background:#fff7e6;color:#7a5200;font-size:13px;border-bottom:1px solid #f0dfb8;padding:8px 20px;text-align:center}

/* Extra fills every SVG shape: keep the badge icon as an outline. */
.abp .seal svg circle,.abp .seal svg path{fill:none!important}
.abp .motto blockquote.partner-quote{font:400 clamp(24px,2.8vw,32px)/1.25 var(--f-head)!important;color:var(--ink)!important;margin:0!important}
.abp .logos img{height:28px!important;width:auto;max-width:120px;object-fit:contain}
.abp .logos img.tall{height:44px!important;max-width:80px}
.abp .logos .logo-text{font:500 17px var(--f-head);color:#6f7584}
/* Exactly 8 logos: four per row, each centred in a cell of the same size. */
.abp .logos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px}
.abp .logos-grid li{display:flex;align-items:center;justify-content:center;height:72px;min-width:0}
.abp .logos-grid img,.abp .logos-grid img.tall{height:auto!important;width:auto!important;max-width:100%!important;max-height:72px}
@media (max-width:640px){.abp .logos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* The theme pads .main by 88px: cancel it so the qualification block starts level with the side card. */
@media (min-width:981px){.abp-single .main{padding-top:0!important}.abp-single .main > section.qualify{margin-top:72px}}
/* The theme sets overflow on body, which silently disables position:sticky. html keeps overflow-x:hidden, so nothing scrolls sideways.
   Offsets: fixed site header 88px, then the section menu 59px, then a 16px gap. The card stops at the end of .layout, just above the brief form. */
@media (min-width:981px){
body.ab_partenaire-template-default{overflow:visible!important}
.abp-single .subnav{top:88px}
.abp-single .aside{top:163px}
.abp-single .main > section{scroll-margin-top:147px}
}
.abp .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.abp .err{display:block;font:400 13.5px var(--f-body);color:#b42318}
.abp .form-error{background:#fdecea;color:#8a1c12;border-radius:4px;padding:12px 14px;margin-bottom:16px;font-size:15px}
.abp form:not(.js-steps) .step-next,.abp form:not(.js-steps) .step-back,.abp form:not(.js-steps) [data-step-label]{display:none}
.abp form:not(.js-steps) .step+.step{margin-top:18px}
.abp label.f select,.abp label.f input,.abp label.f textarea{font-weight:400}
.abp [aria-invalid="true"]{border-color:#b42318!important}
/* Extra styles form controls (uppercase, navy buttons): restore the mockup. */
.abp .btn,.abp button.btn{display:inline-block;font:500 16px/1 var(--f-head)!important;text-transform:none!important;letter-spacing:0!important;background:var(--blue)!important;color:#fff!important;border:0!important;border-radius:4px!important;padding:17px 26px!important;box-shadow:none!important;width:auto}
.abp .btn:hover,.abp button.btn:hover{background:var(--blue-ink)!important}
.abp .btn.ghost,.abp button.btn.ghost{background:transparent!important;color:var(--ink)!important;border:1px solid #cfd3db!important}
.abp .aside .btn{width:100%!important}
.abp input[type=text],.abp input[type=email],.abp input[type=tel],.abp select,.abp textarea{font:400 16px/1.4 var(--f-body)!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;background:#fff!important;border:1px solid #cfd3db!important;border-radius:4px!important;padding:13px 14px!important;height:auto!important;box-shadow:none!important;width:100%}
.abp input::placeholder,.abp textarea::placeholder{text-transform:none!important;color:#9aa0ac!important;font-weight:400!important}
/* The hub has no #main-content wrapper, so nothing pads it below the fixed site header (88px): the hero padding includes it. */
.abp-hub .hub-hero .wrap{padding-top:176px}
@media (max-width:860px){.abp-hub .hub-hero .wrap{padding-top:144px}}
