/* Charte graphique issue du site de référence Face-Public (fp-*), fusionnée. */
:root{--fp-blue:#102f63; --fp-blue-dark:#071f49; --fp-blue-mid:#1b477f; --fp-blue-soft:#eaf1fb; --fp-orange:#f2a65a; --fp-orange-dark:#d98134; --fp-orange-soft:#fff0df; --fp-cream:#fff8ef; --fp-white:#ffffff; --fp-ink:#202a38; --fp-muted:#606c7a; --fp-border:rgba(16,47,99,.13); --fp-shadow:0 24px 70px rgba(16,47,99,.13); --fp-shadow-soft:0 12px 32px rgba(16,47,99,.08);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; overflow-x:hidden; background:#fff; color:var(--fp-ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.62;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%; height:auto;}
.fp-wrap{width:min(1180px,calc(100% - 40px)); margin:0 auto;}
.fp-skip{position:absolute; top:10px; left:-9999px; z-index:9999; padding:10px 14px; background:#fff; border-radius:8px; color:var(--fp-blue); font-weight:900;}
.fp-skip:focus{left:10px;}
.fp-header{position:relative; z-index:100; background:#fff; border-bottom:7px solid var(--fp-blue-mid); box-shadow:0 7px 20px rgba(16,47,99,.06);}
.fp-top{background:#f5f7fb; border-bottom:1px solid rgba(16,47,99,.11); font-size:15px;}
.fp-top-inner{min-height:48px; display:flex; align-items:center;}
.fp-top-list{display:flex; flex-wrap:wrap; align-items:center; gap:0; list-style:none; padding:0; margin:0;}
.fp-top-list li{display:flex; align-items:center;}
.fp-top-list li+li:before{content:""; width:1px; height:20px; margin:0 22px; background:#c8d1de;}
.fp-top-list strong{color:var(--fp-blue); font-size:16px; font-weight:900;}
.fp-top-list a{color:#4b5768;}
.fp-top-list a:hover, .fp-top-list a:focus{color:var(--fp-orange-dark);}
.fp-top-list i{margin-right:9px; color:var(--fp-orange-dark);}
.fp-nav-shell{background:#fff;}
.fp-nav-row{min-height:132px; display:flex; align-items:center; justify-content:space-between; gap:34px;}
.fp-brand{width:132px; flex:0 0 132px; align-self:stretch; display:flex; align-items:center; justify-content:center; padding:10px 0;}
.fp-brand img{width:100%; max-height:112px; object-fit:contain;}
.fp-nav-row .navbar-collapse{padding:0;}
.fp-nav-row .navbar-nav{display:flex; align-items:center;}
.fp-nav-row .nav>li>a{padding:18px 16px; color:#162f56; font-size:16px; font-weight:900;}
.fp-nav-row .nav>li>a:hover, .fp-nav-row .nav>li>a:focus, .fp-nav-row .nav>.active>a, .fp-nav-row .nav>.active>a:hover, .fp-nav-row .nav>.active>a:focus{background:transparent; color:var(--fp-orange-dark);}
.fp-nav-row .dropdown-menu{min-width:245px; padding:8px 0; border:1px solid var(--fp-border); border-radius:12px; box-shadow:0 14px 36px rgba(16,47,99,.17);}
.fp-nav-row .dropdown-menu>li>a{padding:10px 17px; color:#263a58; font-size:14px; line-height:1.4;}
.fp-nav-row .dropdown-menu>li>a:hover, .fp-nav-row .dropdown-menu>li>a:focus{background:var(--fp-orange-soft); color:var(--fp-blue);}
.fp-breadcrumb-bar{background:#f7f9fc; border-bottom:1px solid var(--fp-border);}
.fp-breadcrumb{display:flex; flex-wrap:wrap; align-items:center; gap:9px; min-height:44px; padding:8px 0; margin:0; list-style:none; color:#657286; font-size:13px; font-weight:700;}
.fp-breadcrumb li{display:flex; align-items:center; gap:9px;}
.fp-breadcrumb li+li:before{content:"›"; color:var(--fp-orange-dark); font-size:18px; line-height:1;}
.fp-breadcrumb a{color:var(--fp-blue);}
.fp-breadcrumb a:hover, .fp-breadcrumb a:focus{color:var(--fp-orange-dark);}
.fp-btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:49px; padding:12px 20px; border:1px solid transparent; border-radius:999px; font-size:15px; line-height:1.25; font-weight:900; text-align:center; text-decoration:none!important; transition: transform .2s ease, background .2s ease, border-color .2s ease;}
.fp-btn:hover, .fp-btn:focus{transform:translateY(-2px);}
.fp-btn-primary{background:var(--fp-blue); color:#fff!important; box-shadow:0 14px 32px rgba(16,47,99,.22);}
.fp-btn-primary:hover{background:var(--fp-blue-dark);}
.fp-btn-secondary{background:#fff; border-color:var(--fp-border); color:var(--fp-blue)!important;}
.fp-btn-secondary:hover{border-color:var(--fp-blue);}
.fp-btn-orange{background:var(--fp-orange); color:var(--fp-blue)!important;}
.fp-btn-orange:hover{background:#fff;}
.fp-hero{position:relative; overflow:hidden; padding:68px 0 64px; background: radial-gradient(circle at 7% 14%,rgba(242,166,90,.28),transparent 27%), radial-gradient(circle at 94% 15%,rgba(16,47,99,.13),transparent 31%), linear-gradient(135deg,#fff 0%,#fff8ef 57%,#edf4fc 100%);}
.fp-hero:after{content:""; position:absolute; right:-250px; bottom:-360px; width:570px; height:570px; border-radius:50%; background:rgba(16,47,99,.06);}
.fp-hero-grid{position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:60px; align-items:center;}
.fp-kicker{display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; padding:8px 13px; border-radius:999px; background:rgba(16,47,99,.08); color:var(--fp-blue); font-size:11px; line-height:1.3; font-weight:900; text-transform:uppercase; letter-spacing:.095em;}
.fp-hero h1{max-width:770px; margin:0; color:var(--fp-blue); font-family:Georgia,"Times New Roman",serif; font-size:clamp(43px,5vw,68px); line-height:.99; letter-spacing:-.045em; font-weight:900; text-wrap:balance;}
.fp-hero h1 span{display:block; margin-top:10px; color:var(--fp-orange-dark);}
.fp-hero-lead{max-width:730px; margin:24px 0 0; color:#3d4958; font-size:19px; line-height:1.68; font-weight:600;}
.fp-hero-positioning{margin:22px 0 0; padding:17px 19px; border-left:4px solid var(--fp-orange); border-radius:0 17px 17px 0; background:rgba(255,255,255,.72); color:var(--fp-blue); font-size:16px; font-weight:800;}
.fp-hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:29px;}
.fp-hero-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:29px;}
.fp-stat{min-width:0; padding:17px; background:rgba(255,255,255,.9); border:1px solid var(--fp-border); border-radius:18px; box-shadow:var(--fp-shadow-soft);}
.fp-stat strong{display:block; color:var(--fp-blue); font-size:24px; line-height:1;}
.fp-stat span{display:block; margin-top:6px; color:var(--fp-muted); font-size:12px; line-height:1.35; font-weight:800;}
.fp-hero-visual{position:relative; margin:0; padding:25px;}
.fp-hero-visual:before{content:""; position:absolute; inset:5% 0; border-radius:45% 55% 48% 52% / 53% 44% 56% 47%; background: linear-gradient( 145deg, rgba(242,166,90,.36), rgba(16,47,99,.13) ); transform:rotate(-3deg);}
.fp-hero-image{position:relative; z-index:2; overflow:hidden; padding:11px; background:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.96); border-radius:27px; box-shadow:var(--fp-shadow);}
.fp-hero-image img{width:100%; border-radius:18px;}
.fp-hero-image figcaption{padding:13px 7px 3px; color:var(--fp-muted); font-size:12px; line-height:1.45; text-align:center; font-weight:700;}
.fp-section{padding:76px 0;}
.fp-section-soft{background:#f7f9fc;}
.fp-section-cream{background:var(--fp-cream);}
.fp-section-heading{max-width:850px; margin:0 auto 40px; text-align:center;}
.fp-section-heading h2{margin:0; color:var(--fp-blue); font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,50px); line-height:1.03; letter-spacing:-.04em; font-weight:900; text-wrap:balance;}
.fp-section-heading p{margin:18px 0 0; color:var(--fp-muted); font-size:18px;}
.fp-value-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px;}
.fp-value-card{min-width:0; padding:25px; background:#fff; border:1px solid var(--fp-border); border-radius:23px; box-shadow:var(--fp-shadow-soft);}
.fp-value-icon{width:48px; height:48px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; border-radius:16px; background:var(--fp-orange-soft); color:var(--fp-orange-dark); font-size:23px;}
.fp-value-card h3{margin:0; color:var(--fp-blue); font-size:19px; line-height:1.25; font-weight:900;}
.fp-value-card p{margin:10px 0 0; color:var(--fp-muted); font-size:14px;}
.fp-value-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px;}
.fp-definition{display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:48px; align-items:start;}
.fp-definition-intro{position:sticky; top:28px;}
.fp-definition-intro h2{margin:0; color:var(--fp-blue); font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,50px); line-height:1.03; letter-spacing:-.04em; font-weight:900;}
.fp-definition-intro p{color:#3f4b5b; font-size:17px;}
.fp-definition-quote{margin-top:24px; padding:23px; border-radius:22px; background:var(--fp-blue); color:#fff; box-shadow:var(--fp-shadow);}
.fp-definition-quote strong{display:block; font-family:Georgia,"Times New Roman",serif; font-size:23px; line-height:1.42;}
.fp-situation-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px;}
.fp-situation{padding:22px; background:#fff; border:1px solid var(--fp-border); border-radius:21px; box-shadow:var(--fp-shadow-soft);}
.fp-situation i{margin-bottom:13px; color:var(--fp-orange-dark); font-size:23px;}
.fp-situation h3{margin:0; color:var(--fp-blue); font-size:18px; line-height:1.25; font-weight:900;}
.fp-situation p{margin:8px 0 0; color:var(--fp-muted); font-size:14px;}
.fp-impact-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.82fr); gap:48px; align-items:center;}
.fp-impact-copy h2{margin:0; color:var(--fp-blue); font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,50px); line-height:1.03; letter-spacing:-.04em; font-weight:900;}
.fp-impact-copy p{color:#3f4b5a; font-size:17px;}
.fp-impact-list{display:grid; gap:10px; list-style:none; padding:0; margin:24px 0 0;}
.fp-impact-list li{position:relative; padding-left:31px; color:#3e4a59; font-weight:700;}
.fp-impact-list li:before{content:"✓"; position:absolute; left:0; top:1px; width:21px; height:21px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--fp-blue); color:#fff; font-size:11px; font-weight:900;}
.fp-impact-panel{padding:31px; background:linear-gradient(135deg,var(--fp-blue),#071b3b); border-radius:29px; color:#fff; box-shadow:var(--fp-shadow);}
.fp-impact-panel strong{display:block; color:var(--fp-orange); font-family:Georgia,"Times New Roman",serif; font-size:29px; line-height:1.1;}
.fp-impact-panel p{margin:14px 0 0; color:rgba(255,255,255,.8); font-size:15px;}
.fp-solutions-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px;}
.fp-solution{min-width:0; display:flex; flex-direction:column; padding:25px; background:#fff; border:1px solid var(--fp-border); border-radius:23px; box-shadow:var(--fp-shadow-soft);}
.fp-solution-icon{width:49px; height:49px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; border-radius:16px; background:var(--fp-blue-soft); color:var(--fp-blue); font-size:22px;}
.fp-solution h3{margin:0; color:var(--fp-blue); font-size:20px; font-weight:900;}
.fp-solution p{flex:1; margin:10px 0 20px; color:var(--fp-muted); font-size:14px;}
.fp-solution a{color:var(--fp-orange-dark); font-weight:900;}
.fp-choice{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:42px; align-items:center; padding:42px; background:#fff; border:1px solid var(--fp-border); border-radius:32px; box-shadow:var(--fp-shadow);}
.fp-choice h2{margin:0; color:var(--fp-blue); font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,48px); line-height:1.03; letter-spacing:-.04em;}
.fp-choice p{color:var(--fp-muted); font-size:17px;}
.fp-choice-panel{padding:27px; background:var(--fp-orange-soft); border-radius:23px;}
.fp-choice-panel strong{display:block; color:var(--fp-blue); font-size:21px; line-height:1.3;}
.fp-choice-panel ul{display:grid; gap:8px; padding-left:19px; margin:16px 0 0; color:#4a5563;}
.fp-proof-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:42px; align-items:start;}
.fp-proof-copy{padding:31px; background:var(--fp-blue); border-radius:28px; color:#fff; box-shadow:var(--fp-shadow);}
.fp-proof-copy h2{margin:0; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:38px; line-height:1.04; letter-spacing:-.035em;}
.fp-proof-copy p{margin:17px 0 0; color:rgba(255,255,255,.81);}
.fp-proof-stat{margin-top:23px; color:var(--fp-orange); font-size:23px; font-weight:900;}
.fp-clients{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px;}
.fp-client{min-height:70px; display:flex; align-items:center; justify-content:center; padding:13px; background:#fff; border:1px solid var(--fp-border); border-radius:16px; color:var(--fp-blue); font-size:14px; font-weight:900; text-align:center; box-shadow:0 7px 20px rgba(16,47,99,.05);}
.fp-resource-main{display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:48px; align-items:center;}
.fp-resource-visual{padding:18px; background:#fff; border:1px solid var(--fp-border); border-radius:28px; box-shadow:var(--fp-shadow);}
.fp-resource-visual img{width:100%; border-radius:16px;}
.fp-resource-copy h2{margin:0; color:var(--fp-blue); font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,49px); line-height:1.03; letter-spacing:-.04em;}
.fp-resource-copy p{color:#3f4b5a; font-size:17px;}
.fp-resource-links{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:25px;}
.fp-resource-link{display:block; padding:17px; background:#fff; border:1px solid var(--fp-border); border-radius:17px; color:var(--fp-blue); font-weight:900; transition:.2s ease;}
.fp-resource-link:hover{transform:translateY(-2px); border-color:var(--fp-blue);}
.fp-resource-link span{display:block; margin-top:5px; color:var(--fp-muted); font-size:12px; font-weight:600;}
.fp-cta{position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:40px; align-items:center; padding:42px; background:linear-gradient(135deg,var(--fp-blue),#071b3b); border-radius:34px; color:#fff; box-shadow:var(--fp-shadow);}
.fp-cta:after{content:""; position:absolute; right:-140px; bottom:-190px; width:370px; height:370px; border-radius:50%; background:rgba(242,166,90,.16);}
.fp-cta-content, .fp-cta-panel{position:relative; z-index:2;}
.fp-cta h2{margin:0; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(35px,4vw,49px); line-height:1.03; letter-spacing:-.04em;}
.fp-cta p{margin:18px 0 0; color:rgba(255,255,255,.8); font-size:17px;}
.fp-cta-panel{padding:25px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); border-radius:23px;}
.fp-cta-panel strong{display:block; color:var(--fp-orange); font-size:21px;}
.fp-cta-panel span{display:block; margin-top:7px; color:rgba(255,255,255,.79); font-size:14px;}
.fp-updated{margin:27px 0 0; color:#7a8591; font-size:12px; text-align:center;}
.fp-footer{margin-top:0; background:#141414; color:#fff;}
.fp-footer a{color:#fff; transition:color .2s ease,transform .2s ease;}
.fp-footer a:hover, .fp-footer a:focus{color:var(--fp-orange);}
.fp-footer-wrap{width:min(1760px,calc(100% - 64px)); margin:0 auto; padding:54px 0 42px; display:grid; grid-template-columns:1.2fr 1fr 1.2fr; gap:64px; align-items:start;}
.fp-footer-brand{text-align:left;}
.fp-footer-logo{width:150px; margin:0 0 24px; background:#fff; border-radius:17px;}
.fp-footer h3{margin:0 0 26px; padding-bottom:7px; border-bottom:1px solid #444; color:#fff; font-size:16px; line-height:1.2; font-weight:900; text-transform:uppercase; letter-spacing:.08em;}
.fp-footer-baseline{max-width:390px; margin:0 0 34px; color:#fff; font-size:15px; line-height:1.75;}
.fp-footer-signature{max-width:380px; margin:0; color:#fff; font-size:16px; line-height:1.55; font-weight:900;}
.fp-footer-links{display:grid; gap:17px; list-style:none; padding:0; margin:0;}
.fp-footer-links a{color:#fff; font-size:15px; font-weight:500;}
.fp-footer-contact{padding:0; background:transparent; border:0; border-radius:0; box-shadow:none;}
.fp-footer-contact p{margin:0 0 22px; color:#fff; font-size:15px; line-height:1.7;}
.fp-footer-contact i{width:22px; color:var(--fp-orange); text-align:center;}
.fp-footer-contact strong{color:#fff;}
.fp-footer-btn{display:inline-flex; align-items:center; justify-content:center; margin-top:4px; padding:12px 18px; background:var(--fp-orange); border-radius:999px; color:var(--fp-blue)!important; font-weight:900;}
.fp-footer-btn:hover, .fp-footer-btn:focus{background:#fff; color:var(--fp-blue)!important;}
.fp-footer-ecosystem-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.fp-footer-ecosystem-grid a{display:block; border-radius:17px;}
.fp-footer-ecosystem-grid img{width:100%; aspect-ratio:1/1; object-fit:contain; padding:4px; background:#fff; border-radius:17px; opacity:.95; transition:opacity .22s ease,transform .22s ease;}
.fp-footer-ecosystem-grid a:hover img, .fp-footer-ecosystem-grid a:focus img{opacity:1; transform:translateY(-2px);}
.fp-footer-ecosystem-grid .fp-main-logo img{padding:5px; opacity:1; box-shadow:0 0 0 2px var(--fp-orange);}
.fp-footer-bottom{padding:17px 22px; border-top:1px solid #383838; color:#c8c8c8; font-size:13px; text-align:center;}
.fp-btn:focus-visible, .fp-header a:focus-visible, .fp-footer a:focus-visible, .fp-resource-link:focus-visible{outline:3px solid #ffd28f; outline-offset:3px;}
@media(max-width:1030px){
  .fp-hero-grid, .fp-definition, .fp-impact-grid, .fp-choice, .fp-proof-grid, .fp-resource-main, .fp-cta{grid-template-columns:1fr;}
  .fp-value-grid, .fp-solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .fp-nav-row .navbar-header{float:right;}
  .fp-nav-row .navbar-toggle{margin:0; border-color:rgba(16,47,99,.35);}
  .fp-nav-row .navbar-toggle .icon-bar{background:var(--fp-blue);}
  .fp-hero-stats, .fp-value-grid, .fp-situation-grid, .fp-solutions-grid, .fp-resource-links{grid-template-columns:1fr;}
  .fp-hero-actions, .fp-value-actions{display:grid; grid-template-columns:1fr;}
  .fp-section-heading h2, .fp-definition-intro h2, .fp-impact-copy h2{font-size:34px;}
  .fp-choice, .fp-cta{padding:28px;}
}
@media(prefers-reduced-motion:reduce){
  *, *::before, *::after{transition:none!important;}
}
.fp-btn-primary:hover, .fp-btn-primary:focus{background:var(--fp-blue-dark);}
.fp-btn-secondary:hover, .fp-btn-secondary:focus{border-color:var(--fp-blue);}
.fp-hero-copy p:not(.fp-hero-lead){margin:17px 0 0; color:#4b5665; font-size:16px; line-height:1.7;}
.fp-card-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.fp-card{overflow:hidden; display:flex; flex-direction:column; background:#fff; border:1px solid var(--fp-border); border-radius:25px; box-shadow:var(--fp-shadow-soft);}
.fp-card img{width:100%; height:315px; object-fit:cover;}
.fp-card-content{flex:1; padding:32px;}
.fp-card-icon{width:50px; height:50px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; border-radius:16px; background:var(--fp-orange-soft); color:var(--fp-orange-dark); font-size:23px;}
.fp-card h3{margin:0; color:var(--fp-blue); font-size:24px; line-height:1.25; font-weight:900;}
.fp-card p{margin:14px 0 0; color:var(--fp-muted); font-size:16px; line-height:1.75;}
.fp-card ul{display:grid; gap:10px; padding:0; margin:22px 0 0; list-style:none;}
.fp-card li{position:relative; padding-left:28px; color:#3f4a59; font-size:15px; line-height:1.55; font-weight:700;}
.fp-card li:before{content:"✓"; position:absolute; left:0; top:1px; width:19px; height:19px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--fp-blue); color:#fff; font-size:10px; font-weight:900;}
.fp-process{padding:86px 0; background:linear-gradient(135deg,var(--fp-blue),var(--fp-blue-dark)); color:#fff;}
.fp-process .fp-section-heading h2{color:#fff;}
.fp-process .fp-section-heading p{color:rgba(255,255,255,.74);}
.fp-step-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.fp-step{padding:28px 23px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.13); border-radius:22px;}
.fp-step-number{width:58px; height:58px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; border-radius:18px; background:var(--fp-orange); color:var(--fp-blue); font-size:24px; font-weight:900;}
.fp-step h3{margin:0; color:#fff; font-size:21px; font-weight:900;}
.fp-step p{margin:12px 0 0; color:rgba(255,255,255,.76); font-size:14px; line-height:1.7;}
.fp-cta-section{padding:78px 0; background:var(--fp-cream);}
.fp-cta-copy, .fp-cta-panel{position:relative; z-index:2;}
.fp-btn:focus-visible, .fp-header a:focus-visible, .fp-footer a:focus-visible{outline:3px solid #ffd28f; outline-offset:3px;}
.fp-modalites-intro{padding:82px 0 52px; background:var(--fp-white);}
.fp-modalites-steps{padding:30px 0 82px; background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);}
.fp-modalites-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.fp-modalite-card{position:relative; padding:30px 24px 26px; border:1px solid var(--fp-border); border-radius:20px; background:#fff; box-shadow:var(--fp-shadow-soft);}
.fp-modalite-number{display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:18px; border-radius:50%; background:var(--fp-blue); color:#fff; font-size:18px; font-weight:900;}
.fp-modalite-card i{position:absolute; top:32px; right:24px; color:var(--fp-orange-dark); font-size:24px;}
.fp-modalite-card h3{margin:0 0 10px; color:var(--fp-blue); font-size:20px; line-height:1.25;}
.fp-modalite-card p{margin:0; color:var(--fp-muted); font-size:15px; line-height:1.65;}
.fp-modalites-reperes{padding:82px 0; background:var(--fp-cream);}
.fp-modalites-reperes-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px;}
.fp-modalites-repere{padding:28px; border:1px solid rgba(16,47,99,.12); border-radius:20px; background:#fff;}
.fp-modalites-repere h3{margin:0 0 12px; color:var(--fp-blue); font-size:23px;}
.fp-modalites-repere p{margin:0 0 12px; color:var(--fp-muted); font-size:16px;}
.fp-modalites-repere ul{display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none;}
.fp-modalites-repere li{position:relative; padding-left:26px; color:#3f4a59; font-size:15px;}
.fp-modalites-repere li:before{content:"✓"; position:absolute; left:0; color:var(--fp-orange-dark); font-weight:900;}
@media(max-width:1030px){
  .fp-hero-grid, .fp-cta{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .fp-card-grid, .fp-step-grid{grid-template-columns:1fr;}
  .fp-section, .fp-process, .fp-cta-section{padding:58px 0;}
}
@media (max-width:767px){
  .fp-modalites-intro, .fp-modalites-steps, .fp-modalites-reperes{padding:58px 0;}
}
.fp-solution-card{height:100%;}
.fp-solution-card .fp-card-content{display:flex; flex-direction:column; align-items:flex-start;}
.fp-solution-card .fp-card-content ul{flex:1;}
.fp-solution-card .fp-btn{margin-top:8px;}
.fp-orientation{padding:0 0 82px; background:var(--fp-white);}
.fp-orientation-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.fp-orientation-item{padding:24px; border:1px solid var(--fp-line); border-radius:18px; background:var(--fp-soft);}
.fp-orientation-item i{color:var(--fp-orange); font-size:25px; margin-bottom:12px;}
.fp-orientation-item h3{margin:0 0 8px; color:var(--fp-navy); font-size:18px;}
.fp-orientation-item p{margin:0; color:var(--fp-muted); font-size:14px; line-height:1.65;}
@media (max-width:767px){
  .fp-solutions-grid, .fp-orientation-grid{grid-template-columns:1fr;}
}
.fp-reference-proof{padding:78px 0; background:var(--fp-white);}
.fp-proof-item{padding:25px; border:1px solid var(--fp-line); border-radius:18px; background:var(--fp-soft);}
.fp-proof-item i{color:var(--fp-orange); font-size:26px; margin-bottom:13px;}
.fp-proof-item h3{margin:0 0 8px; color:var(--fp-navy); font-size:18px;}
.fp-proof-item p{margin:0; color:var(--fp-muted); font-size:14px; line-height:1.65;}
.fp-clients-grid{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:46px;}
.fp-clients-copy h2{margin:0 0 18px; color:var(--fp-navy); font-size:clamp(29px,3.2vw,44px); line-height:1.12; letter-spacing:-.03em;}
.fp-clients-copy p{color:var(--fp-muted); font-size:17px;}
.fp-client-sectors{display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 25px;}
.fp-client-sectors span{padding:8px 12px; border-radius:999px; background:var(--fp-orange-soft); color:var(--fp-navy); font-size:13px; font-weight:800;}
.fp-client-visual{margin:0; padding:20px; border:1px solid var(--fp-line); border-radius:22px; background:#fff; box-shadow:var(--fp-shadow);}
.fp-client-visual img{width:100%; max-height:480px; object-fit:contain;}
.fp-prestations{padding:78px 0; background:linear-gradient(135deg,var(--fp-navy),#183e77); color:#fff; margin:0 clamp(18px,4vw,64px); border-radius:28px; overflow:hidden;}
.fp-prestations-grid{display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:center; gap:44px;}
.fp-prestations h2{margin:0 0 16px; color:#fff; font-size:clamp(28px,3.2vw,43px); line-height:1.14; letter-spacing:-.025em;}
.fp-prestations p{margin:0 0 24px; color:#e7efff; font-size:17px;}
.fp-prestations-visual{display:flex; align-items:center; justify-content:center; margin:0; min-height:0; aspect-ratio:4 / 3; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:20px; background:rgba(255,255,255,.08); box-shadow:0 20px 48px rgba(0,0,0,.22);}
.fp-prestations-visual img{width:100%; height:100%; min-height:0; object-fit:contain;}
@media (max-width:991px){
  .fp-clients-grid, .fp-prestations-grid{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .fp-reference-proof, .fp-clients, .fp-prestations{padding:58px 0;}
}
.fp-top-list a:hover,.fp-top-list a:focus{color:var(--fp-orange-dark);}
.fp-nav-row .nav>li>a:hover,.fp-nav-row .nav>li>a:focus,.fp-nav-row .nav>.active>a,.fp-nav-row .nav>.active>a:hover,.fp-nav-row .nav>.active>a:focus{background:transparent;color:var(--fp-orange-dark);}
.fp-nav-row .dropdown-menu>li>a:hover,.fp-nav-row .dropdown-menu>li>a:focus{background:var(--fp-orange-soft);color:var(--fp-blue);}
.fp-breadcrumb a:hover,.fp-breadcrumb a:focus{color:var(--fp-orange-dark);}
.fp-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;padding:8px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;}
.fp-hero h1 em{display:block;margin-top:12px;color:var(--fp-orange);font-family:inherit;font-size:.5em;font-style:normal;letter-spacing:-.015em;}
.fp-btn:hover,.fp-btn:focus{transform:translateY(-2px);}
.fp-btn-light{border-color:rgba(255,255,255,.48);background:#fff;color:var(--fp-blue);}
.fp-portrait{position:relative;margin:0 auto;width:min(100%,410px);}
.fp-portrait:before{content:"";position:absolute;inset:-13px 18px 18px -13px;border:1px solid rgba(255,255,255,.24);border-radius:28px;}
.fp-portrait img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;border:6px solid #fff;border-radius:25px;box-shadow:0 30px 90px rgba(0,0,0,.3);}
.fp-portrait figcaption{position:absolute;right:-18px;bottom:25px;max-width:250px;padding:13px 16px;border-radius:15px;background:#fff;color:var(--fp-blue);box-shadow:0 13px 32px rgba(0,0,0,.22);font-size:13px;line-height:1.4;font-weight:900;}
.fp-section-title{max-width:820px;margin:0 auto 43px;text-align:center;}
.fp-section-title .fp-eyebrow{border:0;background:var(--fp-orange-soft);color:#9a551a;}
.fp-section-title h2{margin:0;color:var(--fp-blue);font-size:clamp(32px,4vw,48px);line-height:1.13;letter-spacing:-.03em;}
.fp-section-title p{margin:18px auto 0;color:var(--fp-muted);font-size:17px;}
.fp-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.fp-contact-card{padding:30px 27px;border:1px solid var(--fp-border);border-radius:21px;background:#fff;box-shadow:var(--fp-shadow-soft);text-align:center;}
.fp-contact-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 19px;border-radius:18px;background:var(--fp-orange-soft);color:var(--fp-orange-dark);font-size:22px;}
.fp-contact-card h2{margin:0 0 11px;color:var(--fp-blue);font-size:21px;}
.fp-contact-card p{margin:0;color:var(--fp-muted);font-size:15px;line-height:1.65;}
.fp-contact-card a{display:inline-block;margin-top:14px;color:var(--fp-blue);font-size:17px;font-weight:900;overflow-wrap:anywhere;}
.fp-contact-card a:hover,.fp-contact-card a:focus{color:var(--fp-orange-dark);}
.fp-contact-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:27px;align-items:stretch;}
.fp-contact-panel{padding:38px;border:1px solid var(--fp-border);border-radius:23px;background:#fff;box-shadow:var(--fp-shadow-soft);}
.fp-contact-panel h2{margin:0 0 18px;color:var(--fp-blue);font-size:30px;line-height:1.2;}
.fp-contact-panel>p{margin:0 0 24px;color:#4c5868;font-size:16px;line-height:1.75;}
.fp-check-list{display:grid;gap:14px;list-style:none;padding:0;margin:0;}
.fp-check-list li{display:grid;grid-template-columns:25px 1fr;gap:10px;color:#344155;line-height:1.55;}
.fp-check-list li:before{content:"✓";display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--fp-orange-soft);color:var(--fp-orange-dark);font-size:12px;font-weight:900;}
.fp-direct-panel{display:flex;flex-direction:column;justify-content:center;padding:39px;border-radius:23px;background:var(--fp-blue);color:#fff;box-shadow:var(--fp-shadow);}
.fp-direct-panel .fp-eyebrow{margin-bottom:18px;align-self:flex-start;}
.fp-direct-panel h2{margin:0;font-size:30px;line-height:1.22;}
.fp-direct-panel p{margin:18px 0 0;color:rgba(255,255,255,.78);line-height:1.7;}
.fp-direct-lines{display:grid;gap:14px;margin-top:25px;}
.fp-direct-line{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;color:#fff;}
.fp-direct-line i{color:var(--fp-orange);font-size:17px;text-align:center;}
.fp-direct-line a{font-weight:900;overflow-wrap:anywhere;}
.fp-scope-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;}
.fp-scope{padding:23px 16px;border:1px solid var(--fp-border);border-radius:17px;background:#fff;text-align:center;box-shadow:0 8px 24px rgba(16,47,99,.055);}
.fp-scope i{color:var(--fp-orange-dark);font-size:24px;}
.fp-scope h3{margin:14px 0 0;color:var(--fp-blue);font-size:16px;line-height:1.35;}
.fp-trust{display:flex;align-items:center;gap:18px;margin-top:35px;padding:23px 27px;border-left:5px solid var(--fp-orange);border-radius:16px;background:var(--fp-cream);color:#3b4859;}
.fp-trust i{color:var(--fp-orange-dark);font-size:25px;}
.fp-trust p{margin:0;line-height:1.65;}
.fp-update{margin:25px 0 0;color:#7a8591;font-size:12px;text-align:center;}
.fp-footer a:hover,.fp-footer a:focus{color:var(--fp-orange);}
.fp-footer-btn:hover,.fp-footer-btn:focus{background:#fff;color:var(--fp-blue)!important;}
.fp-footer-ecosystem-grid a:hover img,.fp-footer-ecosystem-grid a:focus img{opacity:1;transform:translateY(-2px);}
.fp-btn:focus-visible,.fp-header a:focus-visible,.fp-footer a:focus-visible,.fp-competence summary:focus-visible{outline:3px solid #ffd28f;outline-offset:3px;}
@media(max-width:1030px){
  .fp-hero-grid,.fp-answer,.fp-cta{grid-template-columns:1fr;}
  .fp-hero-panel{max-width:520px;}
}
@media(max-width:767px){
  .fp-section,.fp-cta-section{padding:56px 0;}
  .fp-answer{padding:27px;gap:24px;}
  .fp-summary-grid{grid-template-columns:1fr;padding:22px;}
  .fp-competence summary{grid-template-columns:46px minmax(0,1fr) 20px;gap:11px;padding:17px 15px;font-size:16px;}
  .fp-competence-number{width:40px;height:40px;border-radius:12px;}
  .fp-competence-body{padding:23px 20px;}
  .fp-actions{display:grid;grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;}
}
@media(max-width:767px){
  .fp-contact-main,.fp-scope-grid{grid-template-columns:1fr;}
  .fp-contact-panel,.fp-direct-panel{padding:27px;}
}
.fp-hero-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.fp-hero-caption{padding:14px 18px;background:#fff;color:var(--fp-blue);font-size:13px;font-weight:800;text-align:center;}
.fp-sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.fp-sitemap-card{position:relative;padding:31px;border:1px solid var(--fp-border);border-radius:22px;background:#fff;box-shadow:var(--fp-shadow-soft);}
.fp-sitemap-card:first-child{grid-column:1/-1;}
.fp-sitemap-head{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--fp-border);}
.fp-sitemap-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:16px;background:var(--fp-orange-soft);color:var(--fp-orange-dark);font-size:20px;}
.fp-sitemap-card h2{margin:0;color:var(--fp-blue);font-size:24px;line-height:1.2;}
.fp-sitemap-card>p{margin:-6px 0 20px;color:var(--fp-muted);font-size:14px;}
.fp-sitemap-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px;list-style:none;padding:0;margin:0;}
.fp-sitemap-card:not(:first-child) .fp-sitemap-links{grid-template-columns:1fr;}
.fp-sitemap-links a{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:11px;color:#30415a;font-weight:800;line-height:1.4;}
.fp-sitemap-links a:before{content:"›";color:var(--fp-orange-dark);font-size:19px;line-height:1.05;font-weight:900;}
.fp-sitemap-links a:hover,.fp-sitemap-links a:focus{background:var(--fp-orange-soft);color:var(--fp-blue);}
.fp-sitemap-links span{display:block;margin-top:3px;color:#7a8492;font-size:12px;font-weight:500;}
.fp-proof{padding:25px 22px;border:1px solid var(--fp-border);border-radius:18px;background:#fff;text-align:center;box-shadow:0 8px 24px rgba(16,47,99,.055);}
.fp-proof i{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:15px;background:var(--fp-blue-soft);color:var(--fp-blue);font-size:20px;}
.fp-proof h3{margin:0 0 10px;color:var(--fp-blue);font-size:17px;}
.fp-proof p{margin:0;color:var(--fp-muted);font-size:14px;line-height:1.6;}
@media(max-width:767px){
  .fp-sitemap-grid,.fp-proof-grid{grid-template-columns:1fr;}
  .fp-sitemap-links,.fp-sitemap-card:first-child .fp-sitemap-links{grid-template-columns:1fr;}
}

/* ===== Compléments PatrickJAYConsulting (même charte, variables --fp-*) ===== */
.fp-benefits{counter-reset:b;list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.fp-benefits li{counter-increment:b;position:relative;padding:18px 20px 18px 66px;background:#fff;border:1px solid var(--fp-border);border-radius:16px;box-shadow:var(--fp-shadow-soft);font-weight:700;color:var(--fp-blue)}
.fp-benefits li:before{content:counter(b);position:absolute;left:18px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--fp-orange);color:var(--fp-blue);text-align:center;line-height:34px;font-weight:900}
.fp-benefits li span{display:block;margin-top:4px;color:var(--fp-muted);font-weight:400}
.fp-proofs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.fp-proofs article{padding:26px;background:#fff;border:1px solid var(--fp-border);border-top:5px solid var(--fp-orange);border-radius:18px;box-shadow:var(--fp-shadow-soft)}
.fp-proofs i{display:block;margin-bottom:12px;color:var(--fp-orange-dark);font-size:28px}
.fp-proofs h3{margin:0 0 8px;color:var(--fp-blue);font-size:20px;font-weight:900}
.fp-proofs p{margin:0;color:var(--fp-muted)}
.fp-list{list-style:none;margin:18px 0 0;padding:0}
.fp-list li{position:relative;padding:8px 0 8px 30px}
.fp-list li:before{content:"\f00c";font-family:FontAwesome;position:absolute;left:0;top:8px;color:var(--fp-orange-dark)}
.fp-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.fp-theme-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.fp-theme-links a{display:block;padding:14px 16px;border:1px solid var(--fp-border);border-radius:14px;background:#fff;color:var(--fp-blue);font-weight:800}
.fp-theme-links a:hover{border-color:var(--fp-orange);background:var(--fp-orange-soft)}
.fp-faq .panel{border:1px solid var(--fp-border);border-radius:14px;margin-bottom:12px;box-shadow:none;overflow:hidden}
.fp-faq .panel-heading{background:#fff;padding:0}
.fp-faq .panel-title a{display:block;padding:16px 20px;color:var(--fp-blue);font-weight:900}
.fp-faq .panel-body{color:var(--fp-ink)}
.fp-card-grid.fp-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.fp-sources{font-size:13px;color:var(--fp-muted)}
@media(max-width:991px){.fp-proofs,.fp-theme-links,.fp-card-grid.fp-three{grid-template-columns:1fr}.fp-two-col{grid-template-columns:1fr}}

.fp-legal{max-width:900px;margin:0 auto}.fp-legal-h{margin:28px 0 10px;padding-bottom:8px;color:var(--fp-blue);font-size:20px;font-weight:900;border-bottom:1px solid var(--fp-border)}.fp-legal-h:first-child{margin-top:0}

/* Logotype texte (en attendant les fichiers logo) */
.fp-brand{width:auto;flex:0 0 auto;min-width:190px;padding:10px 18px 10px 0;text-decoration:none!important}
.fp-wordmark{display:block;line-height:.98;font-weight:900;text-transform:uppercase;margin:0}
.fp-wordmark strong,.fp-wordmark em{display:block;font-style:normal}
.fp-wordmark strong{font-size:28px;color:var(--fp-blue)}
.fp-wordmark em{margin-top:3px;font-size:20px;letter-spacing:1.4px;color:var(--fp-orange-dark)}
.fp-wordmark-footer{margin:0 0 20px}.fp-wordmark-footer strong{color:#fff}.fp-wordmark-footer em{color:var(--fp-orange)}

/* Visuels de la bibliothèque : tuiles secteurs (vignettes 180 px), hauteur maximale des héros */
.fp-hero-image img.fp-img-square{width:auto;max-width:100%;max-height:480px;display:block;margin:0 auto;object-fit:contain;}
.fp-resource-visual img{max-width:100%;height:auto;margin:0 auto;display:block;}
.fp-sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;}
.fp-sector{display:flex;gap:18px;align-items:center;padding:16px;background:#fff;border:1px solid var(--fp-border);border-radius:18px;box-shadow:var(--fp-shadow-soft);}
.fp-sector img{flex:0 0 180px;width:180px;height:auto;border-radius:12px;}
.fp-sector h3{margin:0 0 6px;color:var(--fp-blue);font-size:18px;font-weight:900;}
.fp-sector p{margin:0;color:var(--fp-muted);font-size:14px;}
@media(max-width:991px){.fp-sector-grid{grid-template-columns:1fr;}.fp-sector img{flex-basis:120px;width:120px;}}
.fp-card img.fp-img-square{object-fit:contain;background:#fcf6ec;}

/* Footer compact */
.fp-footer-wrap{padding:30px 0 22px; gap:40px;}
.fp-footer-logo{margin:0 0 12px;}
.fp-footer h3{margin:0 0 12px; padding-bottom:5px; font-size:15px;}
.fp-footer-baseline{margin:0 0 14px; font-size:14px; line-height:1.45;}
.fp-footer-signature{font-size:15px; line-height:1.35;}
.fp-footer-links{gap:6px;}
.fp-footer-links a{font-size:14px; line-height:1.35;}
.fp-footer-contact p{margin:0 0 8px; font-size:14px; line-height:1.4;}
.fp-footer-btn{margin-top:2px; padding:9px 16px;}
.fp-footer-bottom{padding:11px 22px; font-size:12.5px; line-height:1.4;}
