/* FFPRD Elementor Studio — V1.4 Design System + inner-page components */
:root{
  --ffprd-fallback-navy:#082f73;--ffprd-fallback-blue:#1769c2;--ffprd-fallback-red:#e52a20;--ffprd-fallback-light:#f4f8fd;
  --ffprd-navy:var(--e-global-color-primary,var(--ffprd-fallback-navy));
  --ffprd-blue:var(--e-global-color-secondary,var(--ffprd-fallback-blue));
  --ffprd-red:var(--ffprd-fallback-red);
  --ffprd-light:var(--e-global-color-ffprdlight,var(--ffprd-fallback-light));
  --ffprd-text:var(--e-global-color-text,#243f63);
  --ffprd-ink:var(--e-global-color-ffprdink,#0a285b);--ffprd-muted:var(--e-global-color-ffprdmuted,#5b6c86);--ffprd-border:var(--e-global-color-ffprdborder,#e3eaf3);--ffprd-white:#fff;
  --ffprd-radius:10px;--ffprd-max:1180px;--ffprd-shadow:0 8px 24px rgba(17,46,88,.08);
}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--ffprd-ink);font-family:var(--e-global-typography-text-font-family,"Montserrat"),"Montserrat",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.ffprd-page-shell{--padding-inline-start:0!important;--padding-inline-end:0!important;padding:0!important;gap:0!important;max-width:none!important;width:100%!important;}
.ffprd-page-shell>.elementor-element{width:100%!important;max-width:none!important;margin:0!important;}
.elementor-widget[class*="elementor-widget-ffprd-"]{margin:0!important;width:100%!important;max-width:none!important;}
.elementor-widget[class*="elementor-widget-ffprd-"]>.elementor-widget-container{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;}
.ffprd-fullbleed{width:100vw!important;max-width:100vw!important;position:relative;left:50%;margin-left:-50vw!important;box-sizing:border-box;font-family:var(--e-global-typography-text-font-family,"Montserrat"),"Montserrat","Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ffprd-ink);}
.ffprd-fullbleed *{box-sizing:border-box;}
.ffprd-container{width:min(var(--ffprd-max),calc(100% - 96px));margin:0 auto;position:relative;z-index:2;}
.ffprd-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:0 18px;border-radius:7px;font-size:12px;font-weight:760;text-decoration:none!important;transition:.2s ease;white-space:nowrap;}
.ffprd-btn:hover{transform:translateY(-2px);}
.ffprd-btn-red{background:var(--ffprd-red);color:#fff!important;box-shadow:0 7px 18px rgba(229,42,32,.20);}
.ffprd-btn-red:hover{background:#c9231b;}
.ffprd-btn-outline{border:1.3px solid #98a8bd;color:var(--ffprd-navy)!important;background:#fff;}
.ffprd-text-link{display:inline-flex;align-items:center;gap:7px;color:var(--ffprd-navy)!important;text-decoration:none!important;font-size:11px;font-weight:760;}
.ffprd-text-link span{font-size:17px;line-height:1;}
.ffprd-icon{display:block;width:46px;height:46px;object-fit:contain;}
.ffprd-section{padding:28px 0;background:#fff;}
.ffprd-section-heading{display:inline-flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.ffprd-section-heading h2{margin:0;font-size:19px;line-height:1.18;color:var(--ffprd-navy);letter-spacing:-.025em;font-weight:760;}
.ffprd-section-heading>span{width:20px;height:2px;background:var(--ffprd-red);border-radius:4px;}
.ffprd-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.ffprd-eyebrow{font-size:9px;font-weight:850;letter-spacing:.16em;color:var(--ffprd-red);margin-bottom:8px;}

/* Header */
.ffprd-header-wrap{z-index:50;background:#fff;box-shadow:0 1px 0 rgba(8,47,115,.07);}
.ffprd-topbar{display:block!important;background:var(--ffprd-navy)!important;color:#fff;font-size:9px;}
.ffprd-topbar-inner{min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.ffprd-top-links{display:flex;align-items:center;gap:18px;}
.ffprd-top-links a{color:#fff!important;text-decoration:none!important;opacity:.95;font-size:9px;}
.ffprd-social-mini{font-weight:800;letter-spacing:.06em;}
.ffprd-mainnav{background:#fff;}
.ffprd-mainnav-inner{min-height:78px;display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:20px;}
.ffprd-brand img{display:block;width:220px;max-width:100%;height:auto;}
.ffprd-menu{display:block!important;}
.ffprd-menu-list{list-style:none;margin:0;padding:0;display:flex!important;align-items:center;justify-content:center;gap:24px;}
.ffprd-menu-list>li{position:relative;margin:0;padding:0;}
.ffprd-menu-list a{font-size:10px;font-weight:760;color:var(--ffprd-navy)!important;text-decoration:none!important;white-space:nowrap;}
.ffprd-menu-list a:hover{color:var(--ffprd-red)!important;}
.ffprd-menu-list .sub-menu{display:none;position:absolute;top:100%;left:-15px;min-width:220px;background:#fff;padding:12px;border:1px solid var(--ffprd-border);border-radius:9px;box-shadow:var(--ffprd-shadow);list-style:none;z-index:20;}
.ffprd-menu-list li:hover>.sub-menu{display:block;}
.ffprd-menu-list .sub-menu li{padding:6px 7px;}
.ffprd-nav-cta{min-height:38px;font-size:10px;padding:0 15px;}
.ffprd-menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;}
.ffprd-menu-toggle span{display:block;width:25px;height:2px;background:var(--ffprd-navy);margin:5px 0;}

/* Hero */
.ffprd-hero{overflow:hidden;background:linear-gradient(116deg,#f9fbfe 0%,#fff 51%,#edf5fd 100%);min-height:250px;}
.ffprd-hero-grid{display:grid;grid-template-columns:40% 60%;min-height:250px;align-items:stretch;}
.ffprd-hero-copy{padding:31px 16px 31px 42px;display:flex;flex-direction:column;justify-content:center;z-index:3;}
.ffprd-hero-copy h1{margin:0 0 15px;font-size:46px;line-height:1.02;letter-spacing:-.045em;color:var(--ffprd-navy);font-weight:850;}
.ffprd-hero-copy h1 span{display:block;}
.ffprd-hero-copy h1>span:first-child{color:var(--ffprd-navy);}
.ffprd-hero-copy h1>span:nth-child(2){color:var(--ffprd-blue);}
.ffprd-hero-copy h1 em{font-style:normal;color:var(--ffprd-red);}
.ffprd-hero-copy p{max-width:430px;margin:0 0 19px;font-size:11.5px;line-height:1.55;color:#344e73;}
.ffprd-actions{display:flex;flex-wrap:wrap;gap:12px;}
.ffprd-hero-media{position:relative;min-height:250px;align-self:stretch;overflow:hidden;border-bottom-left-radius:92px;}
.ffprd-hero-media:before{content:"";position:absolute;inset:auto -9% -35px 15%;height:62px;background:#1874c8;transform:rotate(-5deg);z-index:2;}
.ffprd-hero-media:after{content:"";position:absolute;inset:auto -7% -43px 24%;height:54px;background:linear-gradient(90deg,#2d82c9,#e74a3f);transform:rotate(-5deg);z-index:3;opacity:.96;}
.ffprd-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;}
.ffprd-hero-dots{position:absolute;left:-42px;top:50px;width:120px;height:190px;border:6px dotted rgba(23,105,194,.24);border-right-color:transparent;border-radius:50%;transform:rotate(-8deg);}
.ffprd-hero-dots:after{content:"";position:absolute;inset:31px -14px 17px 38px;border:5px dotted rgba(229,42,32,.86);border-right-color:transparent;border-top-color:transparent;border-radius:50%;}

/* Risks */
.ffprd-risks{padding-top:22px;padding-bottom:20px;}
.ffprd-risk-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.ffprd-risk-card{min-height:97px;padding:13px 10px 12px;border:1px solid var(--ffprd-border);border-radius:var(--ffprd-radius);background:#fff;box-shadow:0 5px 16px rgba(15,45,86,.055);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none!important;transition:.2s ease;}
.ffprd-risk-card:hover{transform:translateY(-4px);box-shadow:var(--ffprd-shadow);border-color:#cdd9e8;}
.ffprd-risk-card .ffprd-icon{width:42px;height:42px;}
.ffprd-risk-card strong{font-size:10.5px;line-height:1.24;color:var(--ffprd-navy);font-weight:760;}
.ffprd-risk-all{background:linear-gradient(145deg,#082f73,#0a469e);color:#fff!important;border-color:transparent;position:relative;overflow:hidden;}
.ffprd-risk-all:after{content:"";position:absolute;right:-29px;top:-23px;width:104px;height:104px;border:1.6px dashed rgba(255,255,255,.25);border-radius:50%;}
.ffprd-risk-all strong{color:#fff;position:relative;z-index:2;}
.ffprd-ring-arrow{width:34px;height:34px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font-size:18px;position:relative;z-index:2;}

/* Federation */
.ffprd-federation{background:linear-gradient(90deg,#f7faff 0%,#fff 100%);padding:22px 0;}
.ffprd-federation-grid{display:grid;grid-template-columns:31% 69%;gap:28px;align-items:stretch;}
.ffprd-federation-copy{padding:8px 8px 5px 0;}
.ffprd-federation-copy h2{font-size:23px;line-height:1.08;letter-spacing:-.035em;margin:0 0 10px;color:var(--ffprd-navy);font-weight:800;}
.ffprd-federation-copy p{font-size:10px;line-height:1.55;color:#4a6080;margin:0 0 12px;}
.ffprd-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.ffprd-feature-card{min-height:128px;padding:14px 14px 13px;background:#fff;border:1px solid #e8eef6;border-radius:var(--ffprd-radius);box-shadow:0 6px 18px rgba(17,46,88,.055);}
.ffprd-feature-card .ffprd-icon{width:43px;height:43px;margin-bottom:8px;}
.ffprd-feature-card h3{font-size:8.5px;letter-spacing:.065em;color:var(--ffprd-navy);margin:0 0 7px;font-weight:850;}
.ffprd-feature-card p{font-size:9.8px;line-height:1.42;color:#203f6c;margin:0;font-weight:650;}

/* Stats */
.ffprd-stats{background:linear-gradient(105deg,#082f73 0%,#0752b8 100%);color:#fff;overflow:hidden;}
.ffprd-stats-grid{min-height:106px;display:grid;grid-template-columns:1.15fr repeat(5,1fr);align-items:center;}
.ffprd-stats-grid>h2{font-size:22px;line-height:1.08;margin:0;color:#fff;letter-spacing:-.035em;font-weight:800;}
.ffprd-stat-item{min-height:66px;border-left:1px solid rgba(255,255,255,.19);display:grid;grid-template-columns:39px 1fr;grid-template-rows:auto auto;align-content:center;padding:0 13px;column-gap:8px;}
.ffprd-stat-item .ffprd-icon{grid-row:1/3;width:34px;height:34px;opacity:.98;}
.ffprd-stat-item strong{font-size:20px;line-height:1;color:#fff;font-weight:800;}
.ffprd-stat-item span{font-size:8.8px;line-height:1.28;color:rgba(255,255,255,.93);margin-top:4px;}
.ffprd-stats-dots{position:absolute;left:-48px;top:7px;width:135px;height:135px;border:1.5px dashed rgba(255,255,255,.16);border-radius:50%;}

/* News */
.ffprd-news{padding-top:18px;padding-bottom:18px;}
.ffprd-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.ffprd-news-card{overflow:hidden;border:1px solid var(--ffprd-border);border-radius:var(--ffprd-radius);background:#fff;box-shadow:0 6px 18px rgba(15,45,86,.055);}
.ffprd-news-image{height:104px;display:block;overflow:hidden;background:#eaf1f8;}
.ffprd-news-image img{display:block;width:100%;height:100%;object-fit:cover;transition:.35s ease;}
.ffprd-news-card:hover .ffprd-news-image img{transform:scale(1.035);}
.ffprd-news-placeholder{height:100%;background:linear-gradient(135deg,#e9f2fb,#d7e7f7);}
.ffprd-news-body{padding:9px 10px 10px;}
.ffprd-news-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:7.5px;color:#718099;margin-bottom:7px;}
.ffprd-news-meta span{text-transform:uppercase;background:#2f75c5;color:#fff;border-radius:3px;padding:3px 5px;font-weight:800;letter-spacing:.025em;}
.ffprd-news-card h3{margin:0 0 7px;font-size:10.5px;line-height:1.25;min-height:39px;font-weight:760;}
.ffprd-news-card h3 a{color:var(--ffprd-navy)!important;text-decoration:none!important;}
.ffprd-news-card .ffprd-text-link{font-size:8.8px;}

/* Partners */
.ffprd-partners{padding-top:14px;padding-bottom:17px;}
.ffprd-partners-grid{display:grid;grid-template-columns:27% 73%;gap:24px;align-items:center;}
.ffprd-partner-copy h2{margin:0 0 8px;font-size:22px;line-height:1.05;color:var(--ffprd-navy);font-weight:800;}
.ffprd-partner-copy p{font-size:9.5px;line-height:1.48;color:#556a87;margin:0 0 10px;}
.ffprd-logo-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:9px;}
.ffprd-partner-logo{min-height:54px;background:#fff;border:1px solid #ebeff5;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;text-decoration:none!important;overflow:hidden;}
.ffprd-partner-logo img{max-width:100%;max-height:40px;object-fit:contain;}
.ffprd-partner-logo strong{font-size:8px;line-height:1.12;color:#34465f;text-transform:uppercase;}
.ffprd-partner-logo.demo-ministry strong,.ffprd-partner-logo.demo-republic strong{font-size:7.2px;position:relative;padding-top:7px;}
.ffprd-partner-logo.demo-ministry strong:before,.ffprd-partner-logo.demo-republic strong:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:18px;height:4px;background:linear-gradient(90deg,#173f8a 0 33%,#fff 33% 66%,#e52a20 66%);border:1px solid #e6e6e6;}
.ffprd-partner-logo.demo-meteo{background:#eef7ff;}.ffprd-partner-logo.demo-meteo strong{background:#0f67a9;color:#fff;padding:7px 9px;border-radius:2px;font-size:8px;}
.ffprd-partner-logo.demo-sncf strong{background:linear-gradient(135deg,#692279,#d31f78);color:#fff;padding:7px 12px;border-radius:3px;font-style:italic;font-size:9px;}
.ffprd-partner-logo.demo-veolia strong{color:#e31f25;font-size:10px;letter-spacing:.02em;}
.ffprd-partner-logo.demo-macif strong{background:#15459a;color:#fff;padding:8px 9px;border-radius:3px;font-size:9px;}
.ffprd-partner-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ffprd-action-card{min-height:54px;padding:8px 10px;border:1px solid var(--ffprd-border);border-radius:8px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;text-decoration:none!important;box-shadow:0 4px 14px rgba(15,45,86,.045);}
.ffprd-action-card .ffprd-icon{width:31px;height:31px;}
.ffprd-action-card strong{font-size:8.8px;line-height:1.23;color:var(--ffprd-navy);}
.ffprd-action-card>span{font-size:18px;color:var(--ffprd-navy);}

/* Network */
.ffprd-network{padding-top:15px;padding-bottom:16px;}
.ffprd-network-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--ffprd-border);border-radius:var(--ffprd-radius);overflow:hidden;background:#fff;}
.ffprd-network-card{padding:14px 12px 12px;text-align:center;border-right:1px solid var(--ffprd-border);}
.ffprd-network-card:last-child{border-right:0;}
.ffprd-network-card .ffprd-icon{width:38px;height:38px;margin:0 auto 8px;}
.ffprd-network-card h3{font-size:10px;line-height:1.23;color:var(--ffprd-navy);min-height:36px;margin:0 0 6px;font-weight:760;}
.ffprd-network-card p{font-size:8.4px;line-height:1.38;color:#5b6c86;min-height:35px;margin:0 0 7px;}
.ffprd-network-card .ffprd-text-link{font-size:8.2px;}

/* Resources */
.ffprd-resources{padding-top:14px;padding-bottom:16px;}
.ffprd-resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.ffprd-resource-card{min-height:73px;border:1px solid var(--ffprd-border);border-radius:var(--ffprd-radius);padding:10px;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-decoration:none!important;background:#fff;}
.ffprd-resource-card .ffprd-icon{width:34px;height:34px;}
.ffprd-resource-card h3{font-size:10px;line-height:1.18;color:var(--ffprd-navy);margin:0 0 4px;font-weight:760;}
.ffprd-resource-card p{font-size:8.2px;line-height:1.35;color:#65758e;margin:0;}

/* Help */
.ffprd-help{background:linear-gradient(110deg,#082f73,#064aa5);color:#fff;overflow:hidden;}
.ffprd-help:after{content:"";position:absolute;left:-42px;top:-34px;width:135px;height:135px;border:1.6px dashed rgba(255,255,255,.15);border-radius:50%;}
.ffprd-help-grid{min-height:82px;display:grid;grid-template-columns:38% 62%;align-items:center;gap:20px;}
.ffprd-help h2{font-size:18px;margin:0 0 5px;color:#fff;font-weight:780;}
.ffprd-help p{font-size:8.5px;margin:0;color:rgba(255,255,255,.87);}
.ffprd-help-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
.ffprd-help-btn{min-height:38px;padding:6px 7px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;text-decoration:none!important;color:var(--ffprd-navy)!important;font-size:7.8px;font-weight:760;}
.ffprd-help-btn .ffprd-icon{width:19px;height:19px;}
.ffprd-help-btn.is-red{color:var(--ffprd-red)!important;}

/* Footer */
.ffprd-footer{background:#06285f;color:#fff;}
.ffprd-footer-grid{padding:22px 0 19px;display:grid;grid-template-columns:1.35fr 1.05fr 1.35fr .75fr .9fr;gap:22px;align-items:start;}
.ffprd-footer-brand img{width:220px;max-width:100%;height:auto;opacity:.98;}
.ffprd-footer-social{font-weight:800;margin-top:11px;font-size:10px;}
.ffprd-footer h3{font-size:9px;margin:0 0 7px;color:#fff;font-weight:760;}
.ffprd-footer p,.ffprd-footer a{font-size:7.8px;line-height:1.48;color:rgba(255,255,255,.91)!important;text-decoration:none!important;}
.ffprd-footer-mission p{margin-top:2px;}
.ffprd-footer-links,.ffprd-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.ffprd-newsletter-demo{display:flex;margin-top:8px;}
.ffprd-newsletter-demo input{min-width:0;flex:1;border:0;border-radius:5px 0 0 5px;padding:0 9px;height:30px;font-size:7.8px;}
.ffprd-newsletter-demo button{border:0;background:var(--ffprd-red);color:#fff;padding:0 10px;border-radius:0 5px 5px 0;font-size:7.8px;font-weight:760;}
.ffprd-footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:8px 0;font-size:7px;text-align:center;color:rgba(255,255,255,.72);}

/* Responsive */
@media (max-width:1180px){
 .ffprd-container{width:calc(100% - 56px);}
 .ffprd-mainnav-inner{grid-template-columns:205px 1fr auto;gap:13px}.ffprd-brand img{width:195px}.ffprd-menu-list{gap:14px!important}.ffprd-menu-list a{font-size:9px}.ffprd-nav-cta{font-size:9px}
 .ffprd-hero-copy{padding-left:28px}.ffprd-hero-copy h1{font-size:42px}.ffprd-feature-card{padding:12px}.ffprd-stat-item{padding:0 9px}.ffprd-stat-item strong{font-size:18px}
}
@media (max-width:820px){
 .ffprd-topbar{display:none!important}.ffprd-mainnav-inner{min-height:70px;grid-template-columns:1fr auto auto}.ffprd-brand img{width:190px}.ffprd-menu-toggle{display:block}.ffprd-menu{display:none!important;position:absolute;left:18px;right:18px;top:67px;background:#fff;border:1px solid var(--ffprd-border);border-radius:10px;box-shadow:var(--ffprd-shadow);padding:14px;z-index:40}.ffprd-menu.is-open{display:block!important}.ffprd-menu-list{display:block!important}.ffprd-menu-list li{padding:8px}.ffprd-menu-list .sub-menu{position:static;display:block!important;box-shadow:none;border:0;padding:4px 0 0 10px}.ffprd-nav-cta{display:none}
 .ffprd-hero-grid{grid-template-columns:1fr}.ffprd-hero-copy{padding:35px 20px 24px}.ffprd-hero-media{min-height:300px;border-bottom-left-radius:0}.ffprd-hero-dots{opacity:.5}.ffprd-hero-copy h1{font-size:48px}
 .ffprd-risk-grid{grid-template-columns:repeat(3,1fr)}.ffprd-federation-grid{grid-template-columns:1fr}.ffprd-feature-grid{grid-template-columns:repeat(2,1fr)}
 .ffprd-stats-grid{grid-template-columns:repeat(3,1fr);padding:20px 0}.ffprd-stats-grid>h2{grid-column:1/-1;margin-bottom:10px}.ffprd-stat-item{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:12px}
 .ffprd-news-grid{grid-template-columns:repeat(2,1fr)}.ffprd-news-image{height:140px}.ffprd-partners-grid{grid-template-columns:1fr}.ffprd-logo-strip{grid-template-columns:repeat(3,1fr)}
 .ffprd-network-grid{grid-template-columns:repeat(2,1fr)}.ffprd-network-card{border-bottom:1px solid var(--ffprd-border)}.ffprd-resource-grid{grid-template-columns:repeat(2,1fr)}
 .ffprd-help-grid{grid-template-columns:1fr;padding:18px 0}.ffprd-help-actions{grid-template-columns:repeat(3,1fr)}.ffprd-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
 .ffprd-container{width:calc(100% - 28px)}.ffprd-mainnav-inner{min-height:66px}.ffprd-brand img{width:170px}
 .ffprd-hero-copy{padding:30px 2px 22px}.ffprd-hero-copy h1{font-size:39px}.ffprd-hero-copy p{font-size:11px}.ffprd-actions{display:grid;grid-template-columns:1fr}.ffprd-btn{width:100%}.ffprd-hero-media{min-height:230px}.ffprd-hero-dots{display:none}
 .ffprd-section{padding:24px 0}.ffprd-section-heading h2{font-size:18px}.ffprd-risk-grid{grid-template-columns:repeat(2,1fr)}.ffprd-risk-card{min-height:105px}
 .ffprd-federation-copy h2{font-size:23px}.ffprd-feature-grid{grid-template-columns:1fr}.ffprd-stats-grid{grid-template-columns:1fr 1fr}.ffprd-stat-item{grid-template-columns:34px 1fr}.ffprd-stat-item .ffprd-icon{width:29px;height:29px}
 .ffprd-heading-row{align-items:flex-end}.ffprd-heading-row>.ffprd-text-link{font-size:8.5px;max-width:120px;text-align:right}.ffprd-news-grid{grid-template-columns:1fr}.ffprd-news-image{height:180px}
 .ffprd-logo-strip{grid-template-columns:repeat(2,1fr)}.ffprd-partner-actions{grid-template-columns:1fr}.ffprd-network-grid{grid-template-columns:1fr}.ffprd-network-card{border-right:0}.ffprd-network-card h3,.ffprd-network-card p{min-height:0}
 .ffprd-resource-grid{grid-template-columns:1fr}.ffprd-help-actions{grid-template-columns:1fr 1fr}.ffprd-help h2{font-size:18px}.ffprd-footer-grid{grid-template-columns:1fr}.ffprd-footer-brand img{width:205px}
}

/* ========================================================================== 
   FFPRD Elementor Studio — Fidelity pass 1.2
   Desktop proportions rebuilt from MAQUETTE-REFERENCE.png.
   ========================================================================== */
@media (min-width:1181px){
  :root{--ffprd-max:1600px;--ffprd-shadow:0 12px 34px rgba(17,46,88,.085);}
  .ffprd-container{width:min(var(--ffprd-max),calc(100% - 96px));}
  .ffprd-section{padding:42px 0;}
  .ffprd-section-heading{gap:9px;margin-bottom:22px;}
  .ffprd-section-heading h2{font-size:27px;line-height:1.14;font-weight:800;letter-spacing:-.03em;}
  .ffprd-section-heading>span{width:34px;height:3px;}
  .ffprd-text-link{font-size:12px;gap:9px;}
  .ffprd-text-link span{font-size:20px;}
  .ffprd-eyebrow{font-size:11px;letter-spacing:.17em;margin-bottom:12px;}
  .ffprd-icon{width:54px;height:54px;}
  .ffprd-btn{min-height:52px;padding:0 24px;border-radius:8px;font-size:14px;gap:14px;}

  /* Header: utility bar + generous navigation, matching the reference hierarchy. */
  .ffprd-header-wrap{box-shadow:0 1px 0 rgba(8,47,115,.10);}
  .ffprd-topbar{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;min-height:34px!important;background:#063579!important;}
  .ffprd-topbar-inner{min-height:34px;font-size:11px;}
  .ffprd-top-links{gap:25px;}
  .ffprd-top-links a{font-size:11px;font-weight:600;}
  .ffprd-mainnav-inner{min-height:104px;grid-template-columns:285px 1fr auto;gap:30px;}
  .ffprd-brand img{width:270px;}
  .ffprd-menu-list{gap:27px!important;}
  .ffprd-menu-list a{font-size:12.5px;font-weight:700;}
  .ffprd-nav-cta{min-height:50px;font-size:12.5px;padding:0 23px;}

  /* Hero: truly full width. The photograph runs to the right viewport edge. */
  .ffprd-hero{min-height:460px;background:linear-gradient(112deg,#fbfdff 0%,#ffffff 43%,#edf5fd 100%);}
  .ffprd-hero .ffprd-container.ffprd-hero-grid{width:100%!important;max-width:none!important;margin:0!important;}
  .ffprd-hero-grid{grid-template-columns:42% 58%;min-height:460px;}
  .ffprd-hero-copy{padding:48px 52px 48px max(72px,calc((100vw - 1600px)/2 + 78px));}
  .ffprd-hero-copy h1{margin:0 0 24px;font-size:clamp(66px,4.55vw,82px);line-height:.99;letter-spacing:-.052em;font-weight:850;}
  .ffprd-hero-copy h1>span:first-child{color:var(--ffprd-navy);}
  .ffprd-hero-copy h1>span:nth-child(2){color:var(--ffprd-blue);}
  .ffprd-hero-copy h1 em{color:var(--ffprd-red);}
  .ffprd-hero-copy p{max-width:620px;margin-bottom:26px;font-size:16px;line-height:1.58;color:#344e73;}
  .ffprd-actions{gap:16px;}
  .ffprd-hero-media{min-height:460px;border-bottom-left-radius:165px;}
  .ffprd-hero-media:before,.ffprd-hero-media:after{display:none!important;}
  .ffprd-hero-media img{object-position:center center;}
  .ffprd-hero-dots{left:0;top:54px;width:155px;height:280px;border:0!important;border-radius:0!important;transform:none!important;background:url('../images/motif-tricolor.svg') left center/contain no-repeat;opacity:1;}
  .ffprd-hero-dots:after{display:none!important;}

  /* Risks */
  .ffprd-risks{padding-top:38px;padding-bottom:38px;}
  .ffprd-risk-grid{gap:14px;}
  .ffprd-risk-card{min-height:154px;padding:20px 16px 18px;border-radius:11px;gap:13px;box-shadow:0 8px 24px rgba(15,45,86,.065);}
  .ffprd-risk-card .ffprd-icon{width:58px;height:58px;}
  .ffprd-risk-card strong{font-size:13.5px;line-height:1.28;}
  .ffprd-ring-arrow{width:50px;height:50px;font-size:25px;}
  .ffprd-risk-all:after{right:-38px;top:-30px;width:150px;height:150px;border:0;background:url('../images/motif-band.svg') center/contain no-repeat;opacity:.85;}

  /* Federation */
  .ffprd-federation{padding:46px 0;background:linear-gradient(90deg,#f7faff 0%,#fff 100%);}
  .ffprd-federation-grid{grid-template-columns:31% 69%;gap:42px;}
  .ffprd-federation-copy{padding:14px 12px 10px 0;}
  .ffprd-federation-copy h2{font-size:35px;line-height:1.07;margin-bottom:17px;}
  .ffprd-federation-copy p{font-size:14px;line-height:1.58;margin-bottom:17px;max-width:510px;}
  .ffprd-feature-grid{gap:14px;}
  .ffprd-feature-card{min-height:196px;padding:24px 22px 20px;border-radius:11px;box-shadow:0 10px 28px rgba(17,46,88,.07);}
  .ffprd-feature-card .ffprd-icon{width:58px;height:58px;margin-bottom:15px;}
  .ffprd-feature-card h3{font-size:11px;margin-bottom:10px;letter-spacing:.07em;}
  .ffprd-feature-card p{font-size:13.2px;line-height:1.48;}

  /* Stats */
  .ffprd-stats{min-height:170px;background:linear-gradient(105deg,#07347c 0%,#0757c5 100%);}
  .ffprd-stats-grid{min-height:170px;grid-template-columns:1.18fr repeat(5,1fr);}
  .ffprd-stats-grid>h2{font-size:32px;line-height:1.06;padding-left:0;}
  .ffprd-stat-item{min-height:98px;grid-template-columns:58px 1fr;padding:0 22px;column-gap:13px;}
  .ffprd-stat-item .ffprd-icon{width:49px;height:49px;}
  .ffprd-stat-item strong{font-size:30px;}
  .ffprd-stat-item span{font-size:11.5px;line-height:1.3;margin-top:7px;}
  .ffprd-stats-dots{left:0;top:5px;width:150px;height:160px;border:0!important;border-radius:0!important;background:url('../images/motif-band.svg') left center/contain no-repeat;opacity:.85;}

  /* News */
  .ffprd-news{padding-top:34px;padding-bottom:44px;}
  .ffprd-news-grid{gap:18px;}
  .ffprd-news-card{border-radius:11px;box-shadow:0 9px 26px rgba(15,45,86,.07);}
  .ffprd-news-image{height:188px;}
  .ffprd-news-body{padding:15px 16px 16px;}
  .ffprd-news-meta{font-size:9.5px;margin-bottom:11px;}
  .ffprd-news-meta span{padding:5px 8px;font-size:9px;}
  .ffprd-news-card h3{font-size:14px;line-height:1.32;min-height:58px;margin-bottom:12px;}
  .ffprd-news-card .ffprd-text-link{font-size:11px;}

  /* Partners */
  .ffprd-partners{padding-top:30px;padding-bottom:38px;}
  .ffprd-partners-grid{grid-template-columns:28% 72%;gap:40px;align-items:center;}
  .ffprd-partner-copy h2{font-size:34px;line-height:1.03;margin-bottom:14px;}
  .ffprd-partner-copy p{font-size:13.5px;line-height:1.55;margin-bottom:15px;max-width:440px;}
  .ffprd-logo-strip{gap:12px;margin-bottom:14px;}
  .ffprd-partner-logo{min-height:82px;padding:12px;border-radius:10px;}
  .ffprd-partner-logo img{max-height:58px;}
  .ffprd-partner-logo strong{font-size:11px;}
  .ffprd-partner-logo.demo-ministry strong,.ffprd-partner-logo.demo-republic strong{font-size:9.8px;padding-top:11px;}
  .ffprd-partner-logo.demo-ministry strong:before,.ffprd-partner-logo.demo-republic strong:before{width:26px;height:6px;}
  .ffprd-partner-logo.demo-meteo strong{padding:10px 13px;font-size:11px;}
  .ffprd-partner-logo.demo-sncf strong{padding:10px 15px;font-size:12px;}
  .ffprd-partner-logo.demo-veolia strong{font-size:14px;}
  .ffprd-partner-logo.demo-macif strong{padding:11px 12px;font-size:12px;}
  .ffprd-partner-actions{gap:12px;}
  .ffprd-action-card{min-height:78px;padding:12px 15px;grid-template-columns:48px 1fr auto;gap:12px;border-radius:10px;}
  .ffprd-action-card .ffprd-icon{width:43px;height:43px;}
  .ffprd-action-card strong{font-size:11.5px;line-height:1.28;}
  .ffprd-action-card>span{font-size:25px;}

  /* Network */
  .ffprd-network{padding-top:34px;padding-bottom:36px;}
  .ffprd-network-grid{border-radius:11px;}
  .ffprd-network-card{min-height:200px;padding:24px 18px 20px;}
  .ffprd-network-card .ffprd-icon{width:52px;height:52px;margin-bottom:13px;}
  .ffprd-network-card h3{font-size:13px;line-height:1.28;min-height:52px;margin-bottom:10px;}
  .ffprd-network-card p{font-size:11px;line-height:1.45;min-height:49px;margin-bottom:12px;}
  .ffprd-network-card .ffprd-text-link{font-size:10.5px;}

  /* Resources */
  .ffprd-resources{padding-top:31px;padding-bottom:34px;}
  .ffprd-resource-grid{gap:14px;}
  .ffprd-resource-card{min-height:112px;border-radius:11px;padding:16px 18px;grid-template-columns:50px 1fr;gap:14px;}
  .ffprd-resource-card .ffprd-icon{width:46px;height:46px;}
  .ffprd-resource-card h3{font-size:13px;line-height:1.22;margin-bottom:7px;}
  .ffprd-resource-card p{font-size:11px;line-height:1.4;}

  /* Help CTA */
  .ffprd-help{min-height:132px;background:linear-gradient(105deg,#07347c,#0756bd);}
  .ffprd-help:after{left:0;top:-14px;width:150px;height:160px;border:0!important;border-radius:0!important;background:url('../images/motif-band.svg') left center/contain no-repeat;opacity:.8;}
  .ffprd-help-grid{min-height:132px;grid-template-columns:40% 60%;gap:26px;}
  .ffprd-help h2{font-size:27px;margin-bottom:8px;}
  .ffprd-help p{font-size:11.5px;}
  .ffprd-help-actions{gap:9px;}
  .ffprd-help-btn{min-height:56px;padding:9px 10px;border-radius:8px;font-size:10.5px;gap:8px;}
  .ffprd-help-btn .ffprd-icon{width:25px;height:25px;}

  /* Footer */
  .ffprd-footer-grid{padding:38px 0 34px;grid-template-columns:1.25fr 1fr 1.35fr .8fr .9fr;gap:36px;}
  .ffprd-footer-brand img{width:270px;}
  .ffprd-footer-social{margin-top:16px;font-size:13px;}
  .ffprd-footer h3{font-size:12px;margin-bottom:11px;}
  .ffprd-footer p,.ffprd-footer a{font-size:10px;line-height:1.55;}
  .ffprd-footer-links,.ffprd-footer-contact{gap:5px;}
  .ffprd-newsletter-demo{margin-top:12px;}
  .ffprd-newsletter-demo input{height:42px;padding:0 13px;font-size:10px;}
  .ffprd-newsletter-demo button{padding:0 15px;font-size:10px;}
  .ffprd-footer-bottom{padding:13px 0;font-size:9px;}
}

/* ========================================================================== 
   FFPRD V1.3 — Theme Builder + Global Design System
   ========================================================================== */
.ffprd-theme-part-shell{--padding-inline-start:0!important;--padding-inline-end:0!important;padding:0!important;gap:0!important;max-width:none!important;width:100%!important;}
.ffprd-theme-part-shell>.elementor-element{width:100%!important;max-width:none!important;margin:0!important;}
.elementor-location-header,.elementor-location-footer{position:relative;z-index:40;}
.elementor-location-header .e-con,.elementor-location-footer .e-con{--padding-inline-start:0;--padding-inline-end:0;}
.ffprd-header-sticky{position:sticky!important;top:0;z-index:999;}
body.admin-bar .ffprd-header-sticky{top:32px;}
.ffprd-menu-list>.menu-item-has-children>a:after{content:"⌄";display:inline-block;margin-left:6px;font-size:.92em;transform:translateY(-1px);}
.ffprd-social-mini{display:inline-flex;align-items:center;gap:13px;}
.ffprd-social-mini a{font-weight:800!important;}
.ffprd-footer-social{display:flex;align-items:center;gap:15px;}
.ffprd-footer-social a{color:#fff!important;text-decoration:none!important;font-weight:800;}
.ffprd-footer-menu-list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:5px;}
.ffprd-footer-menu-list li{margin:0!important;padding:0!important;}
.ffprd-footer-menu-list a{display:block;}

/* Standard inner-page header. Reusable on all future pages. */
.ffprd-page-hero-standard{position:relative;overflow:hidden;background:linear-gradient(112deg,#f7faff 0%,#ffffff 62%,#edf5fd 100%);border-bottom:1px solid #edf2f8;}
.ffprd-page-hero-standard-grid{min-height:360px;display:grid;grid-template-columns:1fr;align-items:center;}
.ffprd-page-hero-standard.has-image .ffprd-page-hero-standard-grid{grid-template-columns:52% 48%;}
.ffprd-page-hero-standard-copy{padding:64px 0 62px;max-width:820px;}
.ffprd-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:28px;font-size:12px;line-height:1.3;color:var(--ffprd-muted);}
.ffprd-breadcrumb a{color:var(--ffprd-blue)!important;text-decoration:none!important;font-weight:650;}
.ffprd-page-eyebrow{margin-bottom:13px;color:var(--ffprd-red);font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.15em;text-transform:uppercase;}
.ffprd-page-hero-title{margin:0;color:var(--ffprd-navy);font-size:56px;line-height:1.08;letter-spacing:-.04em;font-weight:800;}
.ffprd-page-hero-intro{max-width:760px;margin:22px 0 0;color:var(--ffprd-text,#243f63);font-size:20px;line-height:1.55;font-weight:500;}
.ffprd-page-hero-standard-media{height:100%;min-height:360px;overflow:hidden;border-bottom-left-radius:120px;}
.ffprd-page-hero-standard-media img{width:100%;height:100%;display:block;object-fit:cover;}
.ffprd-page-hero-pattern{position:absolute;right:-40px;bottom:-70px;width:260px;height:260px;background:url('../images/motif-tricolor.svg') center/contain no-repeat;opacity:.34;pointer-events:none;}

/* Standard section heading widget. */
.ffprd-standard-section-title{max-width:850px;margin:0 0 34px;color:var(--ffprd-ink);font-family:var(--e-global-typography-text-font-family,"Montserrat"),"Montserrat",sans-serif;}
.ffprd-standard-section-title h2{margin:0;color:var(--ffprd-navy);font-size:40px;line-height:1.12;letter-spacing:-.035em;font-weight:800;}
.ffprd-standard-section-rule{display:block;width:42px;height:3px;margin-top:16px;border-radius:3px;background:var(--ffprd-red);}
.ffprd-standard-section-title p{max-width:760px;margin:18px 0 0;color:var(--ffprd-muted);font-size:17px;line-height:1.6;}
.ffprd-standard-section-title.is-center{margin-left:auto;margin-right:auto;text-align:center;}
.ffprd-standard-section-title.is-center .ffprd-standard-section-rule{margin-left:auto;margin-right:auto;}
.ffprd-standard-section-title.is-center p{margin-left:auto;margin-right:auto;}

/* Native Elementor helpers for future pages. Apply these classes from Advanced > CSS Classes. */
.ffprd-prose{font-size:16px;line-height:1.7;color:var(--ffprd-text,#243f63);}
.ffprd-prose h2{color:var(--ffprd-navy);font-size:40px;line-height:1.12;font-weight:800;letter-spacing:-.035em;}
.ffprd-prose h3{color:var(--ffprd-navy);font-size:24px;line-height:1.22;font-weight:700;}
.ffprd-card{background:#fff;border:1px solid var(--ffprd-border);border-radius:var(--ffprd-radius);box-shadow:var(--ffprd-shadow);}
.ffprd-section-light{background:var(--ffprd-light);}
.ffprd-section-navy{background:var(--ffprd-navy);color:#fff;}

@media (max-width:782px){body.admin-bar .ffprd-header-sticky{top:46px;}}
@media (max-width:1024px){
  .ffprd-page-hero-standard.has-image .ffprd-page-hero-standard-grid{grid-template-columns:1fr;}
  .ffprd-page-hero-standard-copy{padding:48px 0 34px;}
  .ffprd-page-hero-standard-media{min-height:300px;border-bottom-left-radius:70px;}
  .ffprd-page-hero-title{font-size:46px;}
  .ffprd-page-hero-intro{font-size:18px;}
  .ffprd-standard-section-title h2{font-size:34px;}
}
@media (max-width:767px){
  .ffprd-header-sticky{position:relative!important;top:auto!important;}
  .ffprd-page-hero-standard-grid{min-height:0;}
  .ffprd-page-hero-standard-copy{padding:38px 0 32px;}
  .ffprd-breadcrumb{margin-bottom:20px;font-size:11px;}
  .ffprd-page-eyebrow{font-size:10px;}
  .ffprd-page-hero-title{font-size:38px;line-height:1.08;}
  .ffprd-page-hero-intro{font-size:16px;line-height:1.55;margin-top:16px;}
  .ffprd-page-hero-standard-media{min-height:240px;border-bottom-left-radius:48px;}
  .ffprd-standard-section-title{margin-bottom:25px;}
  .ffprd-standard-section-title h2{font-size:30px;}
  .ffprd-standard-section-title p{font-size:15px;}
}

/* ========================================================================== 
   FFPRD V1.4 — Standard inner-page components
   ========================================================================== */
.ffprd-inner-page-shell{background:#fff;}
.ffprd-content-media{position:relative;padding:82px 0;overflow:hidden;background:#fff;color:var(--ffprd-text);}
.ffprd-content-media.is-light{background:linear-gradient(110deg,var(--ffprd-light) 0%,#fff 100%);}
.ffprd-content-media.is-navy{background:linear-gradient(110deg,var(--ffprd-navy) 0%,#0b56b7 100%);color:#fff;}
.ffprd-content-media-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);gap:78px;align-items:center;}
.ffprd-content-media.image-left .ffprd-content-media-copy{order:2;}
.ffprd-content-media.image-left .ffprd-content-media-visual{order:1;}
.ffprd-content-media.no-image .ffprd-content-media-grid{grid-template-columns:minmax(0,920px);}
.ffprd-content-media-copy{max-width:760px;}
.ffprd-content-media-title{margin:0;color:var(--ffprd-navy);font-size:40px;line-height:1.12;letter-spacing:-.035em;font-weight:800;}
.ffprd-content-media-rule{display:block;width:46px;height:3px;margin:18px 0 24px;background:var(--ffprd-red);border-radius:99px;}
.ffprd-content-media-text{font-size:17px;line-height:1.72;color:var(--ffprd-text);}
.ffprd-content-media-text p{margin:0 0 18px;}
.ffprd-content-media-text p:last-child{margin-bottom:0;}
.ffprd-check-list{list-style:none!important;margin:28px 0 0!important;padding:0!important;display:grid;gap:13px;}
.ffprd-check-list li{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:10px;margin:0!important;padding:0!important;color:var(--ffprd-ink);font-size:15px;line-height:1.55;font-weight:600;}
.ffprd-check-list li>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(23,105,194,.11);color:var(--ffprd-blue);font-size:13px;font-weight:900;}
.ffprd-content-media-cta{margin-top:30px;}
.ffprd-content-media-visual{position:relative;min-height:430px;border-radius:28px 28px 28px 118px;overflow:hidden;box-shadow:0 26px 60px rgba(8,47,115,.16);}
.ffprd-content-media.image-left .ffprd-content-media-visual{border-radius:28px 118px 28px 28px;}
.ffprd-content-media-visual>img{width:100%;height:100%;min-height:430px;display:block;object-fit:cover;}
.ffprd-content-media-motif{position:absolute;right:-78px;bottom:-92px;width:270px;height:270px;background:url('../images/motif-tricolor.svg') center/contain no-repeat;opacity:.82;pointer-events:none;}
.ffprd-content-media.image-left .ffprd-content-media-motif{right:auto;left:-78px;transform:scaleX(-1);}
.ffprd-content-media.is-navy .ffprd-page-eyebrow{color:#fff;opacity:.78;}
.ffprd-content-media.is-navy .ffprd-content-media-title{color:#fff!important;}
.ffprd-content-media.is-navy .ffprd-content-media-text,.ffprd-content-media.is-navy .ffprd-check-list li{color:rgba(255,255,255,.91);}
.ffprd-content-media.is-navy .ffprd-check-list li>span{background:rgba(255,255,255,.14);color:#fff;}
.ffprd-content-media.is-navy .ffprd-content-media-rule{background:#fff;opacity:.65;}

.ffprd-card-grid-section{position:relative;padding:82px 0;background:#fff;overflow:hidden;}
.ffprd-card-grid-section.is-light{background:linear-gradient(115deg,#f5f9fe 0%,#fff 100%);}
.ffprd-card-grid-heading{max-width:900px;margin-bottom:42px;}
.ffprd-card-grid-heading h2{margin:0;color:var(--ffprd-navy);font-size:40px;line-height:1.12;letter-spacing:-.035em;font-weight:800;}
.ffprd-card-grid-heading>p{max-width:780px;margin:20px 0 0;color:var(--ffprd-muted);font-size:17px;line-height:1.62;}
.ffprd-standard-card-grid{display:grid;gap:22px;}
.ffprd-standard-card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ffprd-standard-card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.ffprd-standard-card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.ffprd-standard-card{position:relative;min-height:260px;padding:30px 28px 28px;background:#fff;border:1px solid var(--ffprd-border);border-radius:18px;box-shadow:0 12px 34px rgba(17,46,88,.07);display:flex;flex-direction:column;text-decoration:none!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden;}
.ffprd-standard-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--ffprd-navy),var(--ffprd-blue) 64%,var(--ffprd-red));transform:scaleX(.22);transform-origin:left;transition:transform .25s ease;}
.ffprd-standard-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(17,46,88,.12);border-color:#ccd8e9;}
.ffprd-standard-card:hover:after{transform:scaleX(1);}
.ffprd-standard-card-icon{width:62px;height:62px;border-radius:16px;background:linear-gradient(145deg,#edf5ff,#fff);display:grid;place-items:center;margin-bottom:24px;border:1px solid #e1eaf5;}
.ffprd-standard-card-icon .ffprd-icon{width:43px;height:43px;}
.ffprd-standard-card h3{margin:0 0 12px;color:var(--ffprd-navy);font-size:23px;line-height:1.2;letter-spacing:-.025em;font-weight:800;}
.ffprd-standard-card p{margin:0 0 20px;color:var(--ffprd-muted);font-size:15px;line-height:1.58;}
.ffprd-standard-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--ffprd-blue);font-size:14px;font-weight:800;}
.ffprd-standard-card-link b{font-size:18px;line-height:1;}

/* Partner editing mode: real uploaded logos take precedence over demo text treatments. */
.ffprd-partner-logo img{width:auto;max-width:100%;height:auto;max-height:58px;object-fit:contain;filter:none;}

@media (max-width:1200px){
  .ffprd-content-media-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:46px;}
  .ffprd-standard-card-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1024px){
  .ffprd-content-media{padding:64px 0;}
  .ffprd-content-media-grid{grid-template-columns:1fr;gap:34px;}
  .ffprd-content-media.image-left .ffprd-content-media-copy,.ffprd-content-media.image-left .ffprd-content-media-visual{order:initial;}
  .ffprd-content-media-visual,.ffprd-content-media-visual>img{min-height:360px;}
  .ffprd-content-media-visual,.ffprd-content-media.image-left .ffprd-content-media-visual{border-radius:22px 22px 22px 70px;}
  .ffprd-card-grid-section{padding:64px 0;}
  .ffprd-standard-card-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .ffprd-content-media,.ffprd-card-grid-section{padding:48px 0;}
  .ffprd-content-media-title,.ffprd-card-grid-heading h2{font-size:30px;line-height:1.14;}
  .ffprd-content-media-text,.ffprd-card-grid-heading>p{font-size:15px;}
  .ffprd-content-media-visual,.ffprd-content-media-visual>img{min-height:260px;}
  .ffprd-content-media-visual,.ffprd-content-media.image-left .ffprd-content-media-visual{border-radius:18px 18px 18px 46px;}
  .ffprd-standard-card-grid.cols-2,.ffprd-standard-card-grid.cols-3,.ffprd-standard-card-grid.cols-4{grid-template-columns:1fr;}
  .ffprd-standard-card{min-height:0;padding:25px 22px;}
  .ffprd-standard-card h3{font-size:21px;}
}

/* ========================================================================== 
   FFPRD V1.5 — Editorial layer
   ========================================================================== */
.ffprd-section-heading{max-width:980px;}
.ffprd-section-intro{max-width:850px;margin:10px 0 0!important;color:var(--ffprd-muted);font-size:14px;line-height:1.62;font-weight:500;letter-spacing:0;}
.ffprd-heading-row .ffprd-section-heading{margin-bottom:18px;}
.ffprd-stats{padding-bottom:12px;}
.ffprd-stats-note{padding:0 0 12px;color:rgba(255,255,255,.72);font-size:10px;line-height:1.4;text-align:right;}

.ffprd-process{position:relative;padding:88px 0 92px;overflow:hidden;background:linear-gradient(112deg,#082f73 0%,#0a54b6 100%);color:#fff;}
.ffprd-process:before{content:"";position:absolute;right:-80px;top:-85px;width:360px;height:360px;background:url('../images/motif-tricolor.svg') center/contain no-repeat;opacity:.22;pointer-events:none;}
.ffprd-process-heading{max-width:920px;margin-bottom:48px;position:relative;z-index:2;}
.ffprd-process-heading .ffprd-page-eyebrow{color:#fff;opacity:.78;}
.ffprd-process-heading h2{margin:0;color:#fff;font-size:44px;line-height:1.08;letter-spacing:-.04em;font-weight:820;}
.ffprd-process-heading p{max-width:780px;margin:20px 0 0;color:rgba(255,255,255,.86);font-size:18px;line-height:1.6;}
.ffprd-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;z-index:2;}
.ffprd-process-grid:before{content:"";position:absolute;left:6%;right:6%;top:37px;height:1px;background:rgba(255,255,255,.28);z-index:0;}
.ffprd-process-step{position:relative;z-index:1;padding:0 24px 0 0;}
.ffprd-process-step:not(:last-child){border-right:1px solid rgba(255,255,255,.12);margin-right:22px;}
.ffprd-process-number{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin-bottom:24px;background:#fff;color:var(--ffprd-navy);border:7px solid rgba(255,255,255,.14);box-shadow:0 10px 28px rgba(0,0,0,.16);font-size:18px;font-weight:850;}
.ffprd-process-step:nth-child(2) .ffprd-process-number,.ffprd-process-step:nth-child(4) .ffprd-process-number{color:var(--ffprd-blue);}
.ffprd-process-step:last-child .ffprd-process-number{background:var(--ffprd-red);color:#fff;}
.ffprd-process-step h3{margin:0 0 10px;color:#fff;font-size:21px;line-height:1.15;font-weight:800;letter-spacing:-.025em;}
.ffprd-process-step p{margin:0;color:rgba(255,255,255,.8);font-size:14px;line-height:1.55;}

@media (min-width:1181px){
  .ffprd-section-intro{font-size:15px;line-height:1.62;margin-top:13px!important;}
  .ffprd-stats-note{font-size:11px;padding-bottom:16px;}
}
@media (max-width:1024px){
  .ffprd-process{padding:68px 0;}
  .ffprd-process-heading h2{font-size:36px;}
  .ffprd-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 0;}
  .ffprd-process-grid:before{display:none;}
  .ffprd-process-step{padding-right:22px;}
  .ffprd-process-step:not(:last-child){margin-right:18px;}
  .ffprd-process-step:nth-child(even){border-right:0;margin-right:0;}
}
@media (max-width:767px){
  .ffprd-section-intro{font-size:13px;line-height:1.55;}
  .ffprd-stats-note{text-align:left;font-size:9px;padding:0 0 14px;}
  .ffprd-process{padding:52px 0;}
  .ffprd-process-heading{margin-bottom:34px;}
  .ffprd-process-heading h2{font-size:30px;line-height:1.12;}
  .ffprd-process-heading p{font-size:15px;}
  .ffprd-process-grid{grid-template-columns:1fr;gap:0;}
  .ffprd-process-step,.ffprd-process-step:not(:last-child),.ffprd-process-step:nth-child(even){border-right:0;border-bottom:1px solid rgba(255,255,255,.14);margin:0;padding:20px 0 22px;display:grid;grid-template-columns:58px 1fr;column-gap:17px;}
  .ffprd-process-step:last-child{border-bottom:0;}
  .ffprd-process-number{width:52px;height:52px;border-width:5px;margin:0;grid-row:1/3;font-size:14px;}
  .ffprd-process-step h3{font-size:19px;margin:2px 0 7px;}
  .ffprd-process-step p{font-size:13px;}
}
.ffprd-feature-card{display:block;text-decoration:none!important;color:inherit!important;transition:transform .2s ease,box-shadow .2s ease;}
a.ffprd-feature-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(17,46,88,.11);}

/* ========================================================================== 
   FFPRD Elementor Studio — Federation visual system 1.6
   Reference: MAQUETTE-FEDERATION-REFERENCE.png
   ========================================================================== */
.ffprd-btn-blue{background:var(--ffprd-navy)!important;color:#fff!important;border-color:var(--ffprd-navy)!important}.ffprd-btn-blue:hover{background:#0c4d9f!important;border-color:#0c4d9f!important}

/* Interior hero: intentionally different from homepage hero. */
.ffprd-fedhero{position:relative;overflow:hidden;background:linear-gradient(110deg,#fff 0%,#f7faff 54%,#eaf3fd 100%);border-bottom:1px solid #e7eef7}
.ffprd-fedhero-grid{min-height:430px;display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);align-items:stretch}
.ffprd-fedhero-copy{padding:54px 0 48px;align-self:center;max-width:760px;position:relative;z-index:2}
.ffprd-fedhero-copy .ffprd-breadcrumb{margin-bottom:34px}
.ffprd-fedhero-copy h1{margin:0;color:var(--ffprd-navy);font-size:56px;line-height:1.05;letter-spacing:-.045em;font-weight:800;max-width:700px}
.ffprd-fedhero-rule{display:block;width:58px;height:4px;margin:20px 0 22px;background:var(--ffprd-red);border-radius:999px}
.ffprd-fedhero-copy>p{margin:0;max-width:600px;color:#2f4668;font-size:17px;line-height:1.65}
.ffprd-fedhero-art{position:relative;min-height:430px;overflow:hidden}
.ffprd-fedhero-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 52%,rgba(24,105,194,.08),transparent 28%),radial-gradient(circle at 34% 48%,rgba(24,105,194,.04),transparent 34%)}
.ffprd-fedhero-network{position:absolute;left:9%;top:18%;width:48%;height:64%;opacity:.6;background:linear-gradient(30deg,transparent 48%,rgba(64,124,192,.19) 49%,rgba(64,124,192,.19) 50%,transparent 51%),linear-gradient(146deg,transparent 49%,rgba(64,124,192,.16) 50%,transparent 51%),linear-gradient(86deg,transparent 49%,rgba(64,124,192,.13) 50%,transparent 51%)}
.ffprd-fedhero-arc{position:absolute;border-style:dashed;border-width:2px;border-radius:50%;border-left-color:transparent!important;border-bottom-color:transparent!important;transform:rotate(-18deg)}
.ffprd-fedhero-arc.a1{width:520px;height:520px;right:-110px;top:-82px;border-color:#2b78d0}
.ffprd-fedhero-arc.a2{width:390px;height:390px;right:-37px;top:16px;border-color:#65a0df}
.ffprd-fedhero-arc.a3{width:270px;height:270px;right:-3px;top:93px;border-color:var(--ffprd-red)}
.ffprd-fedhero-icon{position:absolute;right:5.5%;bottom:56px;width:132px;height:132px;display:grid;place-items:center}
.ffprd-fedhero-icon .ffprd-icon{width:112px;height:112px;opacity:.95}
.ffprd-fedhero-word{position:absolute;color:#0757bb;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;border-bottom:2px solid var(--ffprd-red);padding-bottom:5px;z-index:3}
.ffprd-fedhero-word.w1{right:28%;top:52px}.ffprd-fedhero-word.w2{right:20%;top:205px}.ffprd-fedhero-word.w3{right:10.8%;top:278px}
.ffprd-fedhero-art .n{position:absolute;width:10px;height:10px;border-radius:50%;background:#6da4df;box-shadow:0 0 0 6px rgba(86,147,215,.08)}
.ffprd-fedhero-art .n1{left:15%;top:43%}.ffprd-fedhero-art .n2{left:27%;top:34%}.ffprd-fedhero-art .n3{left:34%;top:55%}.ffprd-fedhero-art .n4{left:43%;top:23%}.ffprd-fedhero-art .n5{left:49%;top:48%}.ffprd-fedhero-art .n6{left:37%;top:69%}.ffprd-fedhero-art .n7{left:59%;top:35%;background:#2271ca}

/* Intro visual */
.ffprd-fedintro{padding:58px 0 48px;background:#fff}
.ffprd-fedintro-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:56px;align-items:center}
.ffprd-fedintro-photo{min-height:370px;border-radius:18px 18px 18px 52px;overflow:hidden;box-shadow:0 18px 50px rgba(20,49,88,.11)}
.ffprd-fedintro-photo img{width:100%;height:100%;min-height:370px;object-fit:cover;display:block}
.ffprd-fedintro-copy h2{margin:0;color:var(--ffprd-navy);font-size:36px;line-height:1.08;letter-spacing:-.035em;font-weight:800;max-width:520px}
.ffprd-fedintro-copy>.ffprd-standard-section-rule{display:block;width:44px;height:3px;margin:17px 0 24px;background:var(--ffprd-red);border-radius:99px}
.ffprd-fedintro-text{color:#304766;font-size:15px;line-height:1.68;max-width:650px}.ffprd-fedintro-text p{margin:0 0 15px}
.ffprd-fedintro-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:25px}
.ffprd-fedintro-badge{min-height:70px;padding:12px 16px;background:#fff;border:1px solid var(--ffprd-border);border-radius:10px;box-shadow:0 9px 24px rgba(17,46,88,.07);display:flex;align-items:center;gap:12px}
.ffprd-fedintro-badge .ffprd-icon{width:38px;height:38px}.ffprd-fedintro-badge strong{font-size:13px;color:var(--ffprd-navy)}

/* Four dimensions */
.ffprd-feddims{padding:28px 0 52px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.ffprd-feddims-title{text-align:center;margin:0 0 24px}.ffprd-feddims-title h2{margin:0;color:var(--ffprd-navy);font-size:21px;letter-spacing:.025em;font-weight:800}.ffprd-feddims-title span{display:block;width:38px;height:3px;margin:10px auto 0;background:var(--ffprd-red);border-radius:9px}
.ffprd-feddims-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ffprd-feddim-card{position:relative;min-height:176px;display:grid;grid-template-columns:76px minmax(0,1fr) 33%;align-items:center;gap:18px;padding:24px 0 24px 22px;border:1px solid #e6edf6;border-radius:13px;background:linear-gradient(108deg,#f7faff 0%,#fff 58%);overflow:hidden;text-decoration:none!important;box-shadow:0 8px 24px rgba(17,46,88,.05);transition:.22s ease}
.ffprd-feddim-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(17,46,88,.1)}
.ffprd-feddim-icon{width:68px;height:68px;border-radius:50%;background:#fff;border:1px solid #e5edf7;box-shadow:0 9px 22px rgba(17,46,88,.08);display:grid;place-items:center;z-index:2}.ffprd-feddim-icon .ffprd-icon{width:45px;height:45px}
.ffprd-feddim-copy{position:relative;z-index:2}.ffprd-feddim-copy h3{margin:0 0 9px;color:var(--ffprd-navy);font-size:20px;line-height:1.15}.ffprd-feddim-copy p{margin:0;color:#324a6a;font-size:13.2px;line-height:1.55;max-width:340px}
.ffprd-feddim-photo{position:absolute;right:0;top:0;bottom:0;width:36%;overflow:hidden}.ffprd-feddim-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.5) 26%,transparent 72%);z-index:1}.ffprd-feddim-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Story transition band */
.ffprd-fedtransition{min-height:260px;display:grid;grid-template-columns:48% 52%;background:linear-gradient(112deg,#073273 0%,#0756b9 100%);color:#fff;overflow:hidden;position:relative}
.ffprd-fedtransition-copy{display:flex;justify-content:flex-end;align-items:center;position:relative;z-index:2}.ffprd-fedtransition-inner{width:min(720px,calc(100% - 60px));padding:38px 50px 36px 0}.ffprd-fedtransition-inner h2{margin:0;color:#fff;font-size:32px;line-height:1.08;letter-spacing:-.03em}.ffprd-fedtransition-inner>span{display:block;width:42px;height:3px;background:var(--ffprd-red);margin:16px 0}.ffprd-fedtransition-inner p{margin:0;max-width:580px;font-size:14px;line-height:1.65;color:rgba(255,255,255,.92)}
.ffprd-fedtransition-photo{position:relative;min-height:260px;overflow:hidden}.ffprd-fedtransition-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0756b9 0%,rgba(7,86,185,.55) 17%,transparent 58%)}.ffprd-fedtransition-photo:before{content:"";position:absolute;z-index:2;width:410px;height:410px;left:-115px;bottom:-300px;border:2px dashed #3b8ae2;border-radius:50%;box-shadow:0 0 0 30px transparent}.ffprd-fedtransition-photo img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}

/* Historical tools */
.ffprd-fedtools{padding:44px 0 38px;background:#fff}.ffprd-fedtools-title{text-align:center;margin-bottom:24px}.ffprd-fedtools-title h2{margin:0;color:var(--ffprd-navy);font-size:22px;font-weight:800}.ffprd-fedtools-title span{display:block;width:42px;height:3px;background:var(--ffprd-red);margin:11px auto 0}
.ffprd-fedtools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ffprd-fedtool-card{display:flex;flex-direction:column;min-height:320px;background:#fff;border:1px solid #e5edf6;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(17,46,88,.06);text-decoration:none!important;transition:.22s ease}.ffprd-fedtool-card:hover{transform:translateY(-4px);box-shadow:0 17px 36px rgba(17,46,88,.11)}
.ffprd-fedtool-image{height:155px;overflow:hidden;background:#f5f8fc}.ffprd-fedtool-image img{width:100%;height:100%;object-fit:cover;display:block}.ffprd-fedtool-body{position:relative;display:block;padding:17px 18px 20px;flex:1}.ffprd-fedtool-body strong{display:block;color:var(--ffprd-navy);font-size:17px;margin-bottom:7px}.ffprd-fedtool-body p{margin:0;color:#354c6a;font-size:12.8px;line-height:1.55;padding-right:20px}.ffprd-fedtool-body b{position:absolute;right:18px;bottom:15px;color:var(--ffprd-red);font-size:18px}.ffprd-fedtools-action{text-align:center;margin-top:18px}

/* New risk fields */
.ffprd-fedrisks{position:relative;padding:38px 0 34px;background:linear-gradient(108deg,#edf5ff 0%,#fff 42%,#f4f8fd 100%);overflow:hidden}.ffprd-fedrisks:before{content:"";position:absolute;width:240px;height:240px;border:2px dashed #2271ca;border-radius:50%;left:-165px;bottom:-150px;box-shadow:0 0 0 28px transparent}.ffprd-fedrisks:after{content:"";position:absolute;width:190px;height:190px;border:2px dashed var(--ffprd-red);border-radius:50%;left:-138px;bottom:-126px}
.ffprd-fedrisks-heading{text-align:center;margin:0 auto 22px;max-width:880px}.ffprd-fedrisks-heading h2{margin:0;color:var(--ffprd-navy);font-size:21px;line-height:1.2;font-weight:800;letter-spacing:.025em}.ffprd-fedrisks-heading h2:before,.ffprd-fedrisks-heading h2:after{content:"";display:inline-block;width:28px;height:2px;background:var(--ffprd-red);vertical-align:middle;margin:0 12px 5px}.ffprd-fedrisks-heading p{margin:10px auto 0;color:#466080;font-size:13px}
.ffprd-fedrisks-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative;z-index:2}.ffprd-fedrisk-card{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:16px 10px;border:1px solid #e2ebf6;background:rgba(255,255,255,.92);border-radius:11px;box-shadow:0 8px 22px rgba(17,46,88,.05);text-decoration:none!important}.ffprd-fedrisk-card .ffprd-icon{width:56px;height:56px}.ffprd-fedrisk-card strong{color:var(--ffprd-navy);font-size:12px;line-height:1.28}.ffprd-fedrisks-action{text-align:center;margin-top:18px}

/* Federation final CTA */
.ffprd-fedcta{position:relative;padding:30px 0 28px;color:#fff;background:linear-gradient(110deg,#06377e 0%,#074d9f 100%);overflow:hidden}.ffprd-fedcta:after{content:"";position:absolute;inset:0 0 0 auto;width:42%;background:linear-gradient(90deg,#074d9f 0%,rgba(7,77,159,.36) 35%,rgba(6,55,126,.13) 100%),var(--ffprd-fedcta-bg);background-size:cover;background-position:center;opacity:.9}.ffprd-fedcta:before{content:"";position:absolute;width:240px;height:240px;right:-80px;bottom:-150px;border:2px dashed var(--ffprd-red);border-radius:50%;z-index:2}
.ffprd-fedcta .ffprd-container{position:relative;z-index:3}.ffprd-fedcta h2{margin:0;color:#fff;font-size:27px;font-weight:800}.ffprd-fedcta-rule{display:block;width:42px;height:3px;background:var(--ffprd-red);margin:10px 0 20px}.ffprd-fedcta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:68%;max-width:890px}.ffprd-fedcta-grid a{min-height:88px;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 18px;color:#fff;text-decoration:none!important;border-right:1px solid rgba(255,255,255,.32)}.ffprd-fedcta-grid a:last-child{border-right:0}.ffprd-fedcta-grid .ffprd-icon{width:42px;height:42px}.ffprd-fedcta-grid strong{font-size:14px;line-height:1.3}

@media(max-width:1100px){
  .ffprd-fedhero-grid{grid-template-columns:58% 42%}.ffprd-fedhero-copy h1{font-size:48px}.ffprd-fedhero-word{font-size:10px}.ffprd-fedhero-icon{right:2%;width:105px;height:105px}.ffprd-fedhero-icon .ffprd-icon{width:90px;height:90px}
  .ffprd-fedintro-grid{gap:34px}.ffprd-fedintro-copy h2{font-size:31px}.ffprd-fedintro-badges{grid-template-columns:1fr}
  .ffprd-feddim-card{grid-template-columns:65px 1fr 30%;padding-left:16px}.ffprd-feddim-copy h3{font-size:18px}
  .ffprd-fedtransition-inner{padding-right:28px}.ffprd-fedrisks-grid{grid-template-columns:repeat(3,1fr)}.ffprd-fedcta-grid{width:78%}
}
@media(max-width:820px){
  .ffprd-fedhero-grid{grid-template-columns:1fr;min-height:0}.ffprd-fedhero-copy{padding:40px 0 32px}.ffprd-fedhero-art{min-height:270px}.ffprd-fedhero-copy h1{font-size:43px}.ffprd-fedhero-copy>p{font-size:15px}.ffprd-fedhero-word.w1{right:30%;top:28px}.ffprd-fedhero-word.w2{right:29%;top:126px}.ffprd-fedhero-word.w3{right:15%;top:184px}.ffprd-fedhero-icon{bottom:30px}
  .ffprd-fedintro{padding:42px 0}.ffprd-fedintro-grid{grid-template-columns:1fr}.ffprd-fedintro-photo{min-height:320px}.ffprd-fedintro-photo img{min-height:320px}.ffprd-fedintro-badges{grid-template-columns:repeat(3,1fr)}
  .ffprd-feddims-grid{grid-template-columns:1fr}.ffprd-fedtransition{grid-template-columns:1fr}.ffprd-fedtransition-copy{justify-content:flex-start}.ffprd-fedtransition-inner{width:calc(100% - 50px);padding:36px 25px}.ffprd-fedtransition-photo{min-height:230px}
  .ffprd-fedtools-grid{grid-template-columns:1fr}.ffprd-fedtool-card{min-height:0}.ffprd-fedtool-image{height:220px}.ffprd-fedrisks-grid{grid-template-columns:repeat(2,1fr)}
  .ffprd-fedcta:after{width:100%;opacity:.22}.ffprd-fedcta-grid{width:100%;grid-template-columns:repeat(2,1fr)}.ffprd-fedcta-grid a:nth-child(2){border-right:0}.ffprd-fedcta-grid a{border-bottom:1px solid rgba(255,255,255,.2)}
}
@media(max-width:560px){
  .ffprd-fedhero-copy h1{font-size:36px}.ffprd-fedhero-copy .ffprd-breadcrumb{margin-bottom:22px}.ffprd-fedhero-art{min-height:220px}.ffprd-fedhero-arc.a1{width:350px;height:350px;right:-110px}.ffprd-fedhero-arc.a2{width:270px;height:270px}.ffprd-fedhero-arc.a3{width:190px;height:190px}.ffprd-fedhero-icon{width:80px;height:80px;right:4%}.ffprd-fedhero-icon .ffprd-icon{width:68px;height:68px}.ffprd-fedhero-word.w1{right:31%;top:25px}.ffprd-fedhero-word.w2{right:28%;top:105px}.ffprd-fedhero-word.w3{right:13%;top:158px}
  .ffprd-fedintro-photo,.ffprd-fedintro-photo img{min-height:240px}.ffprd-fedintro-copy h2{font-size:28px}.ffprd-fedintro-badges{grid-template-columns:1fr}.ffprd-feddim-card{grid-template-columns:58px 1fr;padding:18px 16px}.ffprd-feddim-photo{display:none}.ffprd-feddim-icon{width:56px;height:56px}.ffprd-feddim-icon .ffprd-icon{width:38px;height:38px}
  .ffprd-fedtransition-inner h2{font-size:26px}.ffprd-fedtools-title h2,.ffprd-fedrisks-heading h2{font-size:18px}.ffprd-fedtool-image{height:180px}.ffprd-fedrisks-grid{grid-template-columns:1fr}.ffprd-fedcta-grid{grid-template-columns:1fr}.ffprd-fedcta-grid a{border-right:0}.ffprd-fedcta h2{font-size:23px}
}

/* =========================================================
   V1.7 — Fédération : hero intérieur premium + netteté assets
   ========================================================= */
.ffprd-fedhero{background:linear-gradient(112deg,#fff 0%,#f8fbff 54%,#eaf4ff 100%)}
.ffprd-fedhero-grid{min-height:390px;grid-template-columns:minmax(0,51%) minmax(0,49%)}
.ffprd-fedhero-copy{padding:48px 0 44px;max-width:735px}
.ffprd-fedhero-copy .ffprd-breadcrumb{margin-bottom:28px}
.ffprd-fedhero-copy h1{font-size:54px;line-height:1.04;max-width:680px}
.ffprd-fedhero-copy>p{font-size:16.5px;line-height:1.62;max-width:600px}
.ffprd-fedhero-art{min-height:390px;overflow:visible}
.ffprd-fedhero-art:before,.ffprd-fedhero-network,.ffprd-fedhero-arc,.ffprd-fedhero-icon,.ffprd-fedhero-art .n{display:none!important}
.ffprd-fedhero-decoration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none}
.ffprd-fedhero-word{font-size:12px;letter-spacing:.015em;border-bottom:2px solid var(--ffprd-red);padding-bottom:5px;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.ffprd-fedhero-word.w1{right:23%;top:42px}
.ffprd-fedhero-word.w2{right:30%;top:178px}
.ffprd-fedhero-word.w3{right:19%;top:264px}

/* Images de démonstration V1.7 : rendu full-resolution, sans filtrage navigateur. */
.ffprd-fedintro-photo img,.ffprd-feddim-photo img,.ffprd-fedtransition-photo img,.ffprd-fedtool-image img{image-rendering:auto;filter:none;backface-visibility:hidden;transform:translateZ(0)}
.ffprd-fedintro-photo{min-height:390px}.ffprd-fedintro-photo img{min-height:390px}
.ffprd-fedtransition,.ffprd-fedtransition-photo{min-height:280px}.ffprd-fedtransition-photo img{min-height:280px}
.ffprd-fedtool-image{height:165px}

@media(max-width:1180px){
 .ffprd-fedhero-grid{grid-template-columns:57% 43%}.ffprd-fedhero-copy h1{font-size:47px}.ffprd-fedhero-word{font-size:10px}.ffprd-fedhero-word.w1{right:18%}.ffprd-fedhero-word.w2{right:25%}.ffprd-fedhero-word.w3{right:15%}
}
@media(max-width:900px){
 .ffprd-fedhero-grid{grid-template-columns:1fr}.ffprd-fedhero-copy{padding:38px 0 28px}.ffprd-fedhero-art{min-height:250px}.ffprd-fedhero-decoration{object-fit:contain;object-position:center right}.ffprd-fedhero-word.w1{right:23%;top:22px}.ffprd-fedhero-word.w2{right:29%;top:112px}.ffprd-fedhero-word.w3{right:17%;top:171px}
}
@media(max-width:620px){
 .ffprd-fedhero-copy h1{font-size:36px}.ffprd-fedhero-art{min-height:205px}.ffprd-fedhero-word{font-size:9px}.ffprd-fedhero-word.w1{right:20%;top:18px}.ffprd-fedhero-word.w2{right:28%;top:90px}.ffprd-fedhero-word.w3{right:15%;top:140px}
}

/* =========================================================
   V1.8 — Fédération “fidelity fix”
   Objectif : retrouver les proportions et la présence visuelle
   de MAQUETTE-FEDERATION-REFERENCE.png sans modifier la Home.
   ========================================================= */

/* Les pages Fédération utilisent un canevas un peu plus large que les composants génériques. */
.ffprd-fedintro .ffprd-container,
.ffprd-feddims .ffprd-container,
.ffprd-fedtools .ffprd-container,
.ffprd-fedrisks .ffprd-container,
.ffprd-fedcta .ffprd-container{width:min(1440px,calc(100% - 72px));}

/* Hero intérieur : pleine largeur réelle, davantage de hauteur et meilleure hiérarchie. */
.ffprd-fedhero .ffprd-container{width:100%;max-width:none;margin:0;}
.ffprd-fedhero-grid{min-height:500px;grid-template-columns:minmax(0,48%) minmax(0,52%);}
.ffprd-fedhero-copy{padding:66px 38px 58px clamp(48px,5vw,96px);max-width:none;align-self:center;}
.ffprd-fedhero-copy .ffprd-breadcrumb{margin-bottom:34px;font-size:13px;}
.ffprd-fedhero-copy .ffprd-page-eyebrow{font-size:13px;letter-spacing:.08em;margin-bottom:16px;font-weight:800;}
.ffprd-fedhero-copy h1{font-size:66px;line-height:1.045;letter-spacing:-.043em;max-width:720px;text-wrap:balance;}
.ffprd-fedhero-rule{width:58px;height:4px;margin:22px 0 24px;}
.ffprd-fedhero-copy>p{font-size:18px;line-height:1.58;max-width:620px;color:#223d62;}
.ffprd-fedhero-art{min-height:500px;overflow:hidden;}
.ffprd-fedhero-decoration{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;}
.ffprd-fedhero-word{font-size:13px;line-height:1;font-weight:800;letter-spacing:.018em;padding-bottom:6px;}
.ffprd-fedhero-word.w1{right:55%;top:52px;}
.ffprd-fedhero-word.w2{right:37%;top:202px;}
.ffprd-fedhero-word.w3{right:27%;top:300px;}

/* Intro : le visuel conserve son ratio natif au lieu d'être étiré verticalement. */
.ffprd-fedintro{padding:70px 0 62px;}
.ffprd-fedintro-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:64px;}
.ffprd-fedintro-photo{min-height:0;aspect-ratio:1.644/1;border-radius:20px 20px 20px 58px;box-shadow:0 20px 55px rgba(20,49,88,.115);}
.ffprd-fedintro-photo img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;display:block;transform:none!important;backface-visibility:visible!important;will-change:auto!important;}
.ffprd-fedintro-copy h2{font-size:40px;line-height:1.075;max-width:560px;}
.ffprd-fedintro-copy>.ffprd-standard-section-rule{width:48px;height:3px;margin:18px 0 26px;}
.ffprd-fedintro-text{font-size:16.5px;line-height:1.68;max-width:680px;}
.ffprd-fedintro-text p{margin-bottom:17px;}
.ffprd-fedintro-badges{gap:16px;margin-top:28px;}
.ffprd-fedintro-badge{min-height:82px;padding:15px 18px;border-radius:12px;box-shadow:0 10px 28px rgba(17,46,88,.075);}
.ffprd-fedintro-badge .ffprd-icon{width:43px;height:43px;}
.ffprd-fedintro-badge strong{font-size:14.5px;}

/* Quatre dimensions : ratio volontairement proche des cartes horizontales de la maquette. */
.ffprd-feddims{padding:34px 0 66px;}
.ffprd-feddims-title{margin-bottom:30px;}
.ffprd-feddims-title h2{font-size:24px;letter-spacing:.02em;}
.ffprd-feddims-title span{width:42px;margin-top:11px;}
.ffprd-feddims-grid{gap:16px;}
.ffprd-feddim-card{min-height:0;aspect-ratio:3.08/1;grid-template-columns:86px minmax(0,1fr) 37%;gap:20px;padding:26px 0 26px 24px;border-radius:15px;box-shadow:0 9px 27px rgba(17,46,88,.055);}
.ffprd-feddim-icon{width:74px;height:74px;}
.ffprd-feddim-icon .ffprd-icon{width:49px;height:49px;}
.ffprd-feddim-copy h3{font-size:21px;margin-bottom:10px;}
.ffprd-feddim-copy p{font-size:14.3px;line-height:1.55;max-width:380px;}
.ffprd-feddim-photo{width:39%;}
.ffprd-feddim-photo:before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.74) 22%,rgba(255,255,255,.16) 62%,transparent 100%);}
.ffprd-feddim-photo img{transform:none!important;backface-visibility:visible!important;will-change:auto!important;object-position:center;}

/* Rupture historique : plus haute et typographiquement plus proche de la référence. */
.ffprd-fedtransition{min-height:315px;grid-template-columns:48% 52%;}
.ffprd-fedtransition-inner{width:min(760px,calc(100% - 66px));padding:48px 54px 46px 0;}
.ffprd-fedtransition-inner h2{font-size:36px;line-height:1.08;}
.ffprd-fedtransition-inner>span{width:46px;margin:18px 0;}
.ffprd-fedtransition-inner p{font-size:15.5px;line-height:1.68;max-width:610px;}
.ffprd-fedtransition-photo{min-height:315px;}
.ffprd-fedtransition-photo img{min-height:0;height:100%;transform:none!important;backface-visibility:visible!important;will-change:auto!important;object-position:center;}
.ffprd-fedtransition-photo:after{background:linear-gradient(90deg,#0756b9 0%,rgba(7,86,185,.62) 16%,rgba(7,86,185,.14) 49%,transparent 72%);}

/* Outils historiques : cartes plus hautes, textes lisibles et images non étirées. */
.ffprd-fedtools{padding:52px 0 48px;}
.ffprd-fedtools-title{margin-bottom:28px;}
.ffprd-fedtools-title h2{font-size:24px;}
.ffprd-fedtools-grid{gap:22px;}
.ffprd-fedtool-card{min-height:0;aspect-ratio:1.32/1;border-radius:13px;box-shadow:0 9px 27px rgba(17,46,88,.065);}
.ffprd-fedtool-image{height:51%;flex:0 0 51%;}
.ffprd-fedtool-image img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none!important;backface-visibility:visible!important;will-change:auto!important;}
.ffprd-fedtool-body{padding:19px 20px 23px;}
.ffprd-fedtool-body strong{font-size:18.5px;margin-bottom:9px;}
.ffprd-fedtool-body p{font-size:13.7px;line-height:1.58;padding-right:24px;}
.ffprd-fedtool-body b{right:20px;bottom:17px;font-size:20px;}
.ffprd-fedtools-action{margin-top:21px;}
.ffprd-fedtools-action .ffprd-btn{min-height:46px;padding:0 24px;font-size:13px;}

/* Nouveaux enjeux : cartes presque carrées comme sur le mockup. */
.ffprd-fedrisks{padding:48px 0 44px;}
.ffprd-fedrisks-heading{margin-bottom:28px;max-width:980px;}
.ffprd-fedrisks-heading h2{font-size:23px;line-height:1.18;}
.ffprd-fedrisks-heading p{font-size:14.5px;line-height:1.55;margin-top:12px;}
.ffprd-fedrisks-grid{gap:16px;}
.ffprd-fedrisk-card{min-height:0;aspect-ratio:1.27/1;gap:12px;padding:18px 12px;border-radius:12px;}
.ffprd-fedrisk-card .ffprd-icon{width:64px;height:64px;}
.ffprd-fedrisk-card strong{font-size:13.1px;line-height:1.3;max-width:190px;}
.ffprd-fedrisks-action{margin-top:22px;}
.ffprd-fedrisks-action .ffprd-btn{min-height:46px;padding:0 26px;font-size:13px;}

/* CTA final : davantage de hauteur et de présence, sans modifier le footer global. */
.ffprd-fedcta{min-height:190px;padding:36px 0 34px;display:flex;align-items:center;}
.ffprd-fedcta:after{width:46%;background-position:center;}
.ffprd-fedcta h2{font-size:30px;}
.ffprd-fedcta-rule{margin:12px 0 22px;}
.ffprd-fedcta-grid{width:70%;max-width:980px;}
.ffprd-fedcta-grid a{min-height:104px;gap:16px;padding:12px 20px;}
.ffprd-fedcta-grid .ffprd-icon{width:48px;height:48px;}
.ffprd-fedcta-grid strong{font-size:15.5px;line-height:1.28;}

/* Anti-flou : aucune accélération 3D sur les photos de cette page. */
.ffprd-fedintro img,
.ffprd-feddims img,
.ffprd-fedtransition img,
.ffprd-fedtools img,
.ffprd-fedcta img{image-rendering:auto!important;filter:none!important;transform:none!important;-webkit-transform:none!important;backface-visibility:visible!important;will-change:auto!important;}

@media(max-width:1180px){
  .ffprd-fedhero-grid{min-height:450px;grid-template-columns:55% 45%;}
  .ffprd-fedhero-copy{padding-left:42px;}
  .ffprd-fedhero-copy h1{font-size:56px;}
  .ffprd-fedhero-copy>p{font-size:16.5px;}
  .ffprd-fedhero-art{min-height:450px;}
  .ffprd-fedhero-word{font-size:11px;}
  .ffprd-fedhero-word.w1{right:52%;top:46px}.ffprd-fedhero-word.w2{right:35%;top:182px}.ffprd-fedhero-word.w3{right:25%;top:272px}
  .ffprd-fedintro .ffprd-container,.ffprd-feddims .ffprd-container,.ffprd-fedtools .ffprd-container,.ffprd-fedrisks .ffprd-container,.ffprd-fedcta .ffprd-container{width:calc(100% - 56px);}
  .ffprd-fedintro-grid{gap:42px;}.ffprd-fedintro-copy h2{font-size:34px}.ffprd-fedintro-text{font-size:15px}
  .ffprd-feddim-card{aspect-ratio:2.8/1;grid-template-columns:72px 1fr 34%;padding-left:18px}.ffprd-feddim-icon{width:62px;height:62px}.ffprd-feddim-icon .ffprd-icon{width:42px;height:42px}.ffprd-feddim-copy h3{font-size:18px}.ffprd-feddim-copy p{font-size:12.7px}
  .ffprd-fedtool-body strong{font-size:16px}.ffprd-fedtool-body p{font-size:12.2px}.ffprd-fedrisk-card strong{font-size:11.7px}
  .ffprd-fedcta-grid{width:76%;}
}

@media(max-width:900px){
  .ffprd-fedhero-grid{grid-template-columns:1fr;min-height:0;}
  .ffprd-fedhero-copy{padding:42px 28px 32px;}
  .ffprd-fedhero-copy h1{font-size:48px;}
  .ffprd-fedhero-art{min-height:300px;}
  .ffprd-fedhero-decoration{object-fit:contain;object-position:center right;}
  .ffprd-fedhero-word.w1{right:54%;top:28px}.ffprd-fedhero-word.w2{right:37%;top:128px}.ffprd-fedhero-word.w3{right:25%;top:198px}
  .ffprd-fedintro .ffprd-container,.ffprd-feddims .ffprd-container,.ffprd-fedtools .ffprd-container,.ffprd-fedrisks .ffprd-container,.ffprd-fedcta .ffprd-container{width:calc(100% - 40px);}
  .ffprd-fedintro{padding:48px 0}.ffprd-fedintro-grid{grid-template-columns:1fr;}.ffprd-fedintro-photo{aspect-ratio:1.55/1}.ffprd-fedintro-copy h2{font-size:34px}.ffprd-fedintro-badges{grid-template-columns:repeat(3,1fr)}
  .ffprd-feddims-grid{grid-template-columns:1fr}.ffprd-feddim-card{aspect-ratio:3.1/1;}
  .ffprd-fedtransition{grid-template-columns:1fr;}.ffprd-fedtransition-copy{justify-content:flex-start}.ffprd-fedtransition-inner{width:100%;padding:38px 24px}.ffprd-fedtransition-photo{min-height:260px}
  .ffprd-fedtools-grid{grid-template-columns:1fr}.ffprd-fedtool-card{aspect-ratio:auto;min-height:430px}.ffprd-fedtool-image{height:235px;flex-basis:235px}
  .ffprd-fedrisks-grid{grid-template-columns:repeat(2,1fr)}.ffprd-fedrisk-card{aspect-ratio:1.45/1}
  .ffprd-fedcta:after{width:100%;opacity:.24}.ffprd-fedcta-grid{width:100%;grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){
  .ffprd-fedhero-copy{padding:34px 20px 26px}.ffprd-fedhero-copy h1{font-size:38px}.ffprd-fedhero-copy>p{font-size:15px}.ffprd-fedhero-art{min-height:230px}.ffprd-fedhero-word{font-size:9px}.ffprd-fedhero-word.w1{right:51%;top:18px}.ffprd-fedhero-word.w2{right:35%;top:94px}.ffprd-fedhero-word.w3{right:23%;top:148px}
  .ffprd-fedintro .ffprd-container,.ffprd-feddims .ffprd-container,.ffprd-fedtools .ffprd-container,.ffprd-fedrisks .ffprd-container,.ffprd-fedcta .ffprd-container{width:calc(100% - 28px)}
  .ffprd-fedintro-photo{aspect-ratio:1.38/1}.ffprd-fedintro-copy h2{font-size:29px}.ffprd-fedintro-badges{grid-template-columns:1fr}.ffprd-fedintro-badge{min-height:68px}
  .ffprd-feddim-card{aspect-ratio:auto;min-height:160px;grid-template-columns:58px 1fr;padding:18px 16px}.ffprd-feddim-photo{display:none}.ffprd-feddim-icon{width:54px;height:54px}.ffprd-feddim-icon .ffprd-icon{width:36px;height:36px}
  .ffprd-fedtransition-inner h2{font-size:28px}.ffprd-fedtransition-inner p{font-size:14px}
  .ffprd-fedtool-card{min-height:370px}.ffprd-fedtool-image{height:205px;flex-basis:205px}.ffprd-fedtools-title h2,.ffprd-fedrisks-heading h2{font-size:19px}
  .ffprd-fedrisks-grid{grid-template-columns:1fr}.ffprd-fedrisk-card{aspect-ratio:auto;min-height:145px}
  .ffprd-fedcta{min-height:0}.ffprd-fedcta-grid{grid-template-columns:1fr}.ffprd-fedcta-grid a{min-height:80px}.ffprd-fedcta h2{font-size:25px}
}

/* ========================================================================== 
   FFPRD Elementor Studio V2.0 — validated Home + global Header/Footer
   Reference: prevention_des_risques_culture_partagee.png
   ========================================================================== */
:root{--ffprd-home2-max:1540px;--ffprd-home2-radius:12px;--ffprd-home2-shadow:0 12px 34px rgba(8,47,115,.08)}
.ffprd-home2-container{width:min(var(--ffprd-home2-max),calc(100% - 72px));margin:0 auto;position:relative;z-index:2}

/* Global header V2 */
.ffprd-header-v2{background:#fff!important;box-shadow:0 1px 0 rgba(8,47,115,.09)!important;z-index:100}
.ffprd-header-v2 .ffprd-topbar{display:none!important}
.ffprd-header-v2 .ffprd-mainnav-inner{width:min(1580px,calc(100% - 52px));min-height:106px;display:grid;grid-template-columns:310px 1fr auto;gap:28px;align-items:center}
.ffprd-header-v2 .ffprd-brand img{width:285px;max-height:76px;object-fit:contain;object-position:left center}
.ffprd-header-v2 .ffprd-menu-list{gap:30px!important;justify-content:center!important}
.ffprd-header-v2 .ffprd-menu-list a{font-size:14px!important;line-height:1.2;font-weight:700!important;color:#082f73!important}
.ffprd-header-v2 .ffprd-menu-list a:hover{color:#e52a20!important}
.ffprd-header-v2-actions{display:flex;align-items:center;gap:18px}
.ffprd-header-v2 .ffprd-nav-cta{min-height:50px!important;padding:0 21px!important;font-size:13px!important;border-radius:7px!important}
.ffprd-search-btn{width:40px;height:40px;display:grid;place-items:center;color:#082f73!important;text-decoration:none!important}
.ffprd-search-btn svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.ffprd-header-sticky{position:sticky;top:0}
body.admin-bar .ffprd-header-sticky{top:32px}

/* Home hero V2 */
.ffprd-home2-hero{background:linear-gradient(100deg,#f7fbff 0%,#f5faff 48%,#eaf4fe 100%);overflow:hidden}
.ffprd-home2-hero-inner{min-height:620px;display:grid;grid-template-columns:44% 56%;align-items:stretch;position:relative}
.ffprd-home2-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:68px 40px 62px max(70px,calc((100vw - 1540px)/2 + 35px));position:relative;z-index:3}
.ffprd-home2-kicker{font-size:15px;line-height:1.25;font-weight:800;letter-spacing:.055em;color:#082f73;margin-bottom:26px}
.ffprd-home2-kicker::first-letter{color:#082f73}
.ffprd-home2-hero-copy h1{font-size:clamp(56px,4.25vw,76px)!important;line-height:1.03!important;letter-spacing:-.045em!important;font-weight:800!important;color:#082f73!important;margin:0 0 28px!important;max-width:700px}
.ffprd-home2-hero-copy p{max-width:560px;font-size:17px!important;line-height:1.58!important;color:#263f66!important;margin:0 0 28px!important}
.ffprd-home2-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 22px;border-radius:7px;background:#082f73;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:750;align-self:flex-start;box-shadow:0 8px 20px rgba(8,47,115,.15)}
.ffprd-home2-primary span{font-size:20px;line-height:1}
.ffprd-home2-primary-red{background:#e52a20}
.ffprd-home2-slider{position:absolute;left:max(70px,calc((100vw - 1540px)/2 + 35px));bottom:34px;display:flex;gap:6px}
.ffprd-home2-slider i{display:block;width:28px;height:7px;border-radius:8px;background:#fff;border:1px solid rgba(8,47,115,.07)}
.ffprd-home2-slider i:first-child{background:#e52a20;border-color:#e52a20}
.ffprd-home2-hero-art{position:relative;overflow:hidden;min-width:0}
.ffprd-home2-hero-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}

/* Five risk cards */
.ffprd-home2-risks{background:#fff;padding:54px 0 52px}
.ffprd-home2-risk-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ffprd-home2-risk{position:relative;min-height:318px;border:1px solid #dde7f2;border-radius:10px;background:#fff;padding:34px 28px 36px;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none!important;box-shadow:0 5px 18px rgba(8,47,115,.035);transition:.2s ease}
.ffprd-home2-risk:hover{transform:translateY(-4px);box-shadow:var(--ffprd-home2-shadow);border-color:#cbd8e8}
.ffprd-home2-risk .ffprd-icon{width:74px;height:74px;margin-bottom:22px}
.ffprd-home2-risk h3{font-size:17px!important;line-height:1.32!important;color:#082f73!important;font-weight:800!important;margin:0 0 15px!important;min-height:68px;display:flex;align-items:center;justify-content:center}
.ffprd-home2-risk p{font-size:13px!important;line-height:1.55!important;color:#4d6280!important;margin:0!important;max-width:235px}
.ffprd-home2-arrow{position:absolute;right:21px;bottom:18px;color:#e52a20;font-size:28px;line-height:1}

/* federation + intervention */
.ffprd-home2-intro{padding:0 0 56px;background:#fff}
.ffprd-home2-intro-grid{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(8,47,115,.06)}
.ffprd-home2-intro-left{min-height:420px;padding:52px 50px;background:linear-gradient(125deg,#fbfdff 0%,#f2f8ff 100%);position:relative}
.ffprd-home2-intro-left h2,.ffprd-home2-intro-right h2{font-size:35px!important;line-height:1.1!important;letter-spacing:-.035em!important;font-weight:800!important;margin:0 0 13px!important}
.ffprd-home2-intro-left h2{color:#082f73!important}.ffprd-home2-intro-right h2{color:#fff!important}
.ffprd-home2-redline{display:block;width:36px;height:3px;border-radius:3px;background:#e52a20;margin:0 0 20px}
.ffprd-home2-intro-left>p{font-size:14px!important;line-height:1.6!important;color:#3a5377!important;max-width:610px;margin:0 0 31px!important}
.ffprd-home2-points{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 35px}
.ffprd-home2-points span{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;min-height:70px;padding-right:18px;border-right:1px solid #b9c9dc}
.ffprd-home2-points span:last-child{border-right:0;padding-left:17px}.ffprd-home2-points span:nth-child(2){padding-left:17px}
.ffprd-home2-points .ffprd-icon{width:48px;height:48px}.ffprd-home2-points b{font-size:12px;line-height:1.35;color:#082f73}
.ffprd-home2-outline{display:inline-flex;align-items:center;gap:18px;min-height:49px;padding:0 18px;border:1.4px solid #42658f;border-radius:6px;color:#082f73!important;text-decoration:none!important;font-size:13px;font-weight:700;background:#fff}
.ffprd-home2-intro-right{min-height:420px;padding:60px 58px;background:linear-gradient(125deg,#07377e 0%,#06469b 100%);position:relative;overflow:hidden;color:#fff;display:flex;align-items:center}
.ffprd-home2-intro-right>div:first-child{position:relative;z-index:2;max-width:510px}
.ffprd-home2-intro-right p{font-size:14px!important;line-height:1.65!important;color:rgba(255,255,255,.92)!important;margin:0 0 34px!important;max-width:460px}
.ffprd-home2-arcs{position:absolute;right:-90px;bottom:-180px;width:500px;height:500px;border:2px dashed rgba(34,139,230,.95);border-radius:50%;opacity:.95}
.ffprd-home2-arcs:before,.ffprd-home2-arcs:after{content:"";position:absolute;border-radius:50%;inset:52px;border:2px dashed #e52a20}.ffprd-home2-arcs:after{inset:116px;border-color:rgba(255,255,255,.88)}

/* stats */
.ffprd-home2-stats{background:linear-gradient(100deg,#07347b 0%,#0759bd 100%);color:#fff;padding:0}
.ffprd-home2-stat-grid{min-height:170px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}
.ffprd-home2-stat{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:18px;min-height:92px;padding:0 28px;border-right:1px solid rgba(255,255,255,.23)}
.ffprd-home2-stat:last-child{border-right:0}
.ffprd-home2-stat .ffprd-icon{width:60px;height:60px}
.ffprd-home2-stat strong{display:block;font-size:32px;line-height:1;color:#fff;font-weight:800;margin-bottom:10px}
.ffprd-home2-stat span{display:block;font-size:12px;line-height:1.42;color:#fff;max-width:150px}

/* news */
.ffprd-home2-news{background:#fff;padding:58px 0 60px}
.ffprd-home2-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}
.ffprd-home2-heading h2{font-size:30px!important;line-height:1!important;color:#082f73!important;font-weight:800!important;margin:0 0 10px!important}.ffprd-home2-heading i{display:block;width:36px;height:3px;background:#e52a20;border-radius:3px}
.ffprd-home2-heading>a{font-size:12px;color:#082f73!important;text-decoration:none!important;font-weight:700}.ffprd-home2-heading>a span{color:#e52a20;font-size:20px;margin-left:7px}
.ffprd-home2-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ffprd-home2-news-card{border:1px solid #dfe8f2;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(8,47,115,.035);min-height:480px;display:flex;flex-direction:column}
.ffprd-home2-news-img{height:225px;display:block;overflow:hidden;background:#eef5fb}.ffprd-home2-news-img img{width:100%;height:100%;object-fit:cover;display:block}
.ffprd-home2-news-body{position:relative;padding:18px 19px 28px;flex:1}.ffprd-home2-news-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.ffprd-home2-news-meta span{font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:#3a6395;background:#eef4fa;padding:4px 7px}.ffprd-home2-news-meta time{font-size:8px;color:#56708e}
.ffprd-home2-news-card h3{font-size:16px!important;line-height:1.35!important;margin:0 0 14px!important;min-height:66px}.ffprd-home2-news-card h3 a{color:#082f73!important;text-decoration:none!important;font-weight:800}
.ffprd-home2-news-card p{font-size:12px!important;line-height:1.55!important;color:#50647e!important;margin:0!important}.ffprd-home2-arrowlink{position:absolute;right:19px;bottom:14px;font-size:25px;color:#e52a20!important;text-decoration:none!important}

/* supporters */
.ffprd-home2-supporters{background:linear-gradient(180deg,#f7fbff,#eef6fd);padding:27px 0 32px}
.ffprd-home2-supporters > .ffprd-home2-container > h2{text-align:center;font-size:17px!important;line-height:1.2!important;color:#082f73!important;margin:0 0 18px!important;font-weight:800!important}
.ffprd-home2-support-strip{min-height:118px;border-radius:58px;background:#fff;display:grid;grid-template-columns:52px repeat(6,1fr) 52px;align-items:center;gap:7px;padding:12px 16px;box-shadow:0 5px 22px rgba(8,47,115,.04)}
.ffprd-home2-support-strip a{height:80px;display:flex;align-items:center;justify-content:center;padding:5px 12px;text-decoration:none!important}.ffprd-home2-support-strip img{max-width:100%;max-height:74px;object-fit:contain}.ffprd-home2-chevron{font-size:42px;line-height:1;color:#0b4597;text-align:center;font-weight:300}

/* Footer V2 */
.ffprd-footer-v2{background:linear-gradient(105deg,#06285f 0%,#073c82 100%);color:#fff}
.ffprd-footer-v2-grid{display:grid;grid-template-columns:1.2fr .8fr 1.1fr .9fr 1.05fr;gap:42px;padding:48px 0 38px;align-items:start}
.ffprd-footer-v2 h3{font-size:14px!important;line-height:1.2!important;color:#fff!important;margin:0 0 14px!important;font-weight:800!important}
.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:12px!important;line-height:1.65!important;color:rgba(255,255,255,.94)!important;text-decoration:none!important}
.ffprd-footer-v2-brand img{width:235px;max-width:100%;height:auto;margin-bottom:18px}.ffprd-footer-v2-brand>p{max-width:235px;margin:0 0 16px!important;font-weight:600}.ffprd-footer-v2-social{display:flex;gap:16px}.ffprd-footer-v2-social a{font-size:15px!important;font-weight:800}
.ffprd-footer-v2-links,.ffprd-footer-v2-contact,.ffprd-footer-v2-docs{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.ffprd-footer-v2-contact p{margin:0 0 8px!important}
.ffprd-footer-v2-news p{margin:0 0 14px!important;max-width:250px}.ffprd-footer-v2 .ffprd-newsletter-demo{display:flex;margin-top:11px}.ffprd-footer-v2 .ffprd-newsletter-demo input{height:48px;font-size:11px!important;padding:0 13px;border-radius:4px 0 0 4px}.ffprd-footer-v2 .ffprd-newsletter-demo button{height:48px;font-size:11px!important;padding:0 20px;border-radius:0 4px 4px 0}
.ffprd-footer-v2-members{display:inline-flex!important;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.8);border-radius:5px;padding:10px 16px;margin-top:16px;font-weight:700}.ffprd-footer-v2-members span{font-size:18px}
.ffprd-footer-v2-bottom{border-top:1px solid rgba(255,255,255,.15);padding:13px 0 16px}.ffprd-footer-v2-bottom>.ffprd-container{display:flex;justify-content:center;gap:25px;flex-wrap:wrap}.ffprd-footer-v2-bottom span{font-size:10px;color:rgba(255,255,255,.75)}

@media(max-width:1200px){
 .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:235px 1fr auto;gap:16px}.ffprd-header-v2 .ffprd-brand img{width:220px}.ffprd-header-v2 .ffprd-menu-list{gap:15px!important}.ffprd-header-v2 .ffprd-menu-list a{font-size:12px!important}.ffprd-header-v2 .ffprd-nav-cta{font-size:11px!important}
 .ffprd-home2-container{width:calc(100% - 48px)}.ffprd-home2-hero-inner{min-height:520px}.ffprd-home2-hero-copy{padding-left:48px}.ffprd-home2-risk{min-height:280px;padding:28px 18px}.ffprd-home2-risk h3{font-size:15px!important}.ffprd-home2-intro-left,.ffprd-home2-intro-right{padding:45px 38px}.ffprd-home2-stat{padding:0 18px}.ffprd-home2-stat strong{font-size:27px}.ffprd-footer-v2-grid{gap:25px}
}
@media(max-width:900px){
 .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:1fr auto auto;min-height:82px}.ffprd-header-v2 .ffprd-menu-toggle{display:block}.ffprd-header-v2 .ffprd-menu{display:none!important;position:absolute;top:78px;left:20px;right:20px;background:#fff;border:1px solid #dfe7f1;border-radius:10px;box-shadow:var(--ffprd-home2-shadow);padding:15px;z-index:50}.ffprd-header-v2 .ffprd-menu.is-open{display:block!important}.ffprd-header-v2 .ffprd-menu-list{display:block!important}.ffprd-header-v2 .ffprd-menu-list li{padding:7px}.ffprd-header-v2 .ffprd-nav-cta{display:none}.ffprd-header-v2 .ffprd-brand img{width:210px}
 .ffprd-home2-hero-inner{grid-template-columns:1fr}.ffprd-home2-hero-copy{padding:48px 28px 36px}.ffprd-home2-hero-art{height:420px}.ffprd-home2-slider{display:none}.ffprd-home2-risk-grid{grid-template-columns:repeat(2,1fr)}.ffprd-home2-risk:last-child{grid-column:1/-1}.ffprd-home2-intro-grid{grid-template-columns:1fr}.ffprd-home2-intro-left,.ffprd-home2-intro-right{min-height:0}.ffprd-home2-stat-grid{grid-template-columns:repeat(2,1fr);padding:18px 0}.ffprd-home2-stat{border-bottom:1px solid rgba(255,255,255,.15)}.ffprd-home2-news-grid{grid-template-columns:repeat(2,1fr)}.ffprd-home2-support-strip{grid-template-columns:42px repeat(3,1fr) 42px}.ffprd-home2-support-strip a:nth-of-type(n+4){display:none}.ffprd-footer-v2-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
 .ffprd-home2-container{width:calc(100% - 28px)}.ffprd-home2-hero-copy h1{font-size:42px!important}.ffprd-home2-kicker{font-size:11px}.ffprd-home2-hero-copy p{font-size:14px!important}.ffprd-home2-hero-art{height:300px}.ffprd-home2-risk-grid{grid-template-columns:1fr}.ffprd-home2-risk:last-child{grid-column:auto}.ffprd-home2-risk{min-height:230px}.ffprd-home2-points{grid-template-columns:1fr}.ffprd-home2-points span{border-right:0;border-bottom:1px solid #c9d6e5;padding:9px 0!important}.ffprd-home2-intro-left h2,.ffprd-home2-intro-right h2{font-size:29px!important}.ffprd-home2-stat-grid{grid-template-columns:1fr}.ffprd-home2-stat{border-right:0}.ffprd-home2-news-grid{grid-template-columns:1fr}.ffprd-home2-support-strip{grid-template-columns:32px 1fr 1fr 32px}.ffprd-home2-support-strip a:nth-of-type(n+3){display:none}.ffprd-footer-v2-grid{grid-template-columns:1fr}.ffprd-footer-v2-bottom>.ffprd-container{justify-content:flex-start;gap:12px}
}


/* ========================================================================== 
   FFPRD Elementor Studio V2.1 — coherence & fidelity pass
   Global header/footer readability + Home proportions aligned to validated mockup.
   ========================================================================== */

/* Global typography guardrails shared by Home and inner pages */
.ffprd-header-v2,.ffprd-footer-v2,.ffprd-home2-hero,.ffprd-home2-risks,.ffprd-home2-intro,.ffprd-home2-stats,.ffprd-home2-news,.ffprd-home2-supporters,
.ffprd-fedhero,.ffprd-fedintro,.ffprd-feddims,.ffprd-fedtransition,.ffprd-fedtools,.ffprd-fedrisks,.ffprd-fedcta{font-family:"Montserrat",Arial,sans-serif}

/* Header: same visual family, but no miniature navigation */
.ffprd-header-v2 .ffprd-mainnav-inner{width:min(1600px,calc(100% - 64px));min-height:116px;grid-template-columns:330px 1fr auto;gap:30px}
.ffprd-header-v2 .ffprd-brand img{width:305px;max-height:84px}
.ffprd-header-v2 .ffprd-menu-list{gap:30px!important}
.ffprd-header-v2 .ffprd-menu-list a{font-size:15.5px!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.01em}
.ffprd-header-v2 .ffprd-nav-cta{min-height:54px!important;padding:0 23px!important;font-size:14px!important}
.ffprd-header-v2-actions{gap:20px}.ffprd-search-btn{width:44px;height:44px}.ffprd-search-btn svg{width:27px;height:27px}

/* Hero: validated mockup = two-line title + full vector composition, not a cropped poster */
.ffprd-home2-hero-inner{min-height:660px;grid-template-columns:47% 53%}
.ffprd-home2-hero-copy{padding:78px 46px 72px max(72px,calc((100vw - 1540px)/2 + 35px))}
.ffprd-home2-kicker{font-size:15.5px;margin-bottom:28px}
.ffprd-home2-hero-copy h1{font-size:clamp(54px,3.55vw,66px)!important;line-height:1.055!important;letter-spacing:-.043em!important;max-width:760px;margin-bottom:30px!important}
.ffprd-home2-hero-copy p{max-width:590px;font-size:18px!important;line-height:1.62!important;margin-bottom:31px!important}
.ffprd-home2-primary{min-height:56px;padding:0 24px;font-size:15px}
.ffprd-home2-slider{bottom:32px}
.ffprd-home2-hero-art{min-height:660px;background:linear-gradient(100deg,#eef7ff,#e7f2fd)}
.ffprd-home2-hero-art img{width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important}

/* Risk cards: more presence and readable copy */
.ffprd-home2-risks{padding:56px 0 60px}
.ffprd-home2-risk-grid{gap:18px}
.ffprd-home2-risk{min-height:365px;padding:38px 30px 40px}
.ffprd-home2-risk .ffprd-icon{width:78px;height:78px;margin-bottom:25px}
.ffprd-home2-risk h3{font-size:18px!important;line-height:1.32!important;min-height:74px;margin-bottom:17px!important}
.ffprd-home2-risk p{font-size:14px!important;line-height:1.6!important;max-width:250px}

/* Federation / intervention: keep the validated split, give it proper breathing room */
.ffprd-home2-intro{padding-bottom:64px}
.ffprd-home2-intro-left,.ffprd-home2-intro-right{min-height:490px}
.ffprd-home2-intro-left{padding:61px 58px}.ffprd-home2-intro-right{padding:66px 64px}
.ffprd-home2-intro-left h2,.ffprd-home2-intro-right h2{font-size:38px!important;line-height:1.08!important}
.ffprd-home2-intro-left>p,.ffprd-home2-intro-right p{font-size:15.5px!important;line-height:1.67!important}
.ffprd-home2-points b{font-size:13.5px}.ffprd-home2-outline{font-size:14px;min-height:52px}

/* Statistics: match the weight of the approved blue band */
.ffprd-home2-stat-grid{min-height:210px}
.ffprd-home2-stat{grid-template-columns:72px 1fr;gap:20px;min-height:116px;padding:0 30px}
.ffprd-home2-stat .ffprd-icon{width:64px;height:64px}
.ffprd-home2-stat strong{font-size:35px;margin-bottom:11px}
.ffprd-home2-stat span{font-size:13px;line-height:1.45;max-width:170px}

/* News: curated FFPRD cards only, larger editorial typography */
.ffprd-home2-news{padding:64px 0 68px}
.ffprd-home2-heading{margin-bottom:28px}.ffprd-home2-heading h2{font-size:32px!important}.ffprd-home2-heading>a{font-size:13.5px}
.ffprd-home2-news-grid{gap:22px}.ffprd-home2-news-card{min-height:525px}
.ffprd-home2-news-img{height:245px}
.ffprd-home2-news-body{padding:20px 21px 31px}.ffprd-home2-news-meta span,.ffprd-home2-news-meta time{font-size:9.5px}
.ffprd-home2-news-card h3{font-size:17px!important;line-height:1.36!important;min-height:70px}
.ffprd-home2-news-card p{font-size:13.5px!important;line-height:1.6!important}

/* Supporters: logos must read like the reference, not like tiny favicons */
.ffprd-home2-supporters{padding:34px 0 40px}.ffprd-home2-supporters > .ffprd-home2-container > h2{font-size:19px!important;margin-bottom:21px!important}
.ffprd-home2-support-strip{min-height:140px;border-radius:70px;padding:14px 20px;grid-template-columns:58px repeat(6,1fr) 58px}
.ffprd-home2-support-strip a{height:98px;padding:7px 15px}.ffprd-home2-support-strip img{max-height:88px}

/* Footer: global readability standard for every page */
.ffprd-footer-v2-grid{grid-template-columns:1.2fr .86fr 1.12fr .95fr 1.08fr;gap:44px;padding:58px 0 48px}
.ffprd-footer-v2 h3{font-size:16px!important;line-height:1.25!important;margin-bottom:16px!important}
.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:14px!important;line-height:1.68!important}
.ffprd-footer-v2-brand img{width:255px;margin-bottom:20px}.ffprd-footer-v2-brand>p{max-width:270px;margin-bottom:18px!important}
.ffprd-footer-v2-social a{font-size:17px!important}.ffprd-footer-v2-links,.ffprd-footer-v2-contact,.ffprd-footer-v2-docs{gap:4px}
.ffprd-footer-v2-news p{max-width:280px}.ffprd-footer-v2 .ffprd-newsletter-demo input,.ffprd-footer-v2 .ffprd-newsletter-demo button{height:50px;font-size:13px!important}
.ffprd-footer-v2-members{padding:12px 18px;font-size:14px!important}
.ffprd-footer-v2-bottom{padding:15px 0 18px}.ffprd-footer-v2-bottom span{font-size:11.5px}

/* Inner page coherence: the approved Federation page remains the reference scale. */
.ffprd-fedhero-copy .ffprd-breadcrumb{font-size:14px}.ffprd-fedhero-copy .ffprd-page-eyebrow{font-size:13.5px}.ffprd-fedhero-copy>p{font-size:18px}
.ffprd-fedintro-text{font-size:17px}.ffprd-feddim-copy p{font-size:14.5px}.ffprd-fedtransition-inner p{font-size:16px}.ffprd-fedtool-body p{font-size:14px}.ffprd-fedrisk-card strong{font-size:13.5px}

@media(max-width:1280px){
 .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:250px 1fr auto;gap:18px;min-height:100px}.ffprd-header-v2 .ffprd-brand img{width:235px}.ffprd-header-v2 .ffprd-menu-list{gap:16px!important}.ffprd-header-v2 .ffprd-menu-list a{font-size:13.5px!important}.ffprd-header-v2 .ffprd-nav-cta{font-size:12.5px!important}
 .ffprd-home2-hero-inner{min-height:570px}.ffprd-home2-hero-copy{padding-left:48px}.ffprd-home2-hero-copy h1{font-size:54px!important}.ffprd-home2-hero-copy p{font-size:16px!important}.ffprd-home2-hero-art{min-height:570px}
 .ffprd-home2-risk{min-height:310px;padding:30px 19px}.ffprd-home2-risk h3{font-size:15.5px!important}.ffprd-home2-risk p{font-size:12.5px!important}
 .ffprd-home2-intro-left,.ffprd-home2-intro-right{min-height:435px;padding:48px 40px}.ffprd-home2-stat-grid{min-height:180px}.ffprd-home2-stat strong{font-size:29px}.ffprd-home2-stat span{font-size:11.5px}
 .ffprd-footer-v2-grid{gap:28px}.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:12.5px!important}.ffprd-footer-v2 h3{font-size:14.5px!important}
}
@media(max-width:900px){
 .ffprd-header-v2 .ffprd-mainnav-inner{min-height:88px}.ffprd-header-v2 .ffprd-brand img{width:220px}
 .ffprd-home2-hero-inner{min-height:0}.ffprd-home2-hero-copy{padding:52px 28px 38px}.ffprd-home2-hero-copy h1{font-size:48px!important}.ffprd-home2-hero-art{height:420px;min-height:0}.ffprd-home2-hero-art img{object-fit:contain!important}
 .ffprd-home2-risk{min-height:280px}.ffprd-home2-intro-left,.ffprd-home2-intro-right{min-height:0}.ffprd-home2-stat-grid{min-height:0}
 .ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:14px!important}.ffprd-footer-v2 h3{font-size:16px!important}
}

/* ========================================================================== 
   FFPRD Elementor Studio V2.2 — Home hero fidelity + global header/footer tuning
   ========================================================================== */

/* Slightly stronger global readability on all pages */
.ffprd-header-v2 .ffprd-mainnav-inner{width:min(1620px,calc(100% - 70px));min-height:118px;grid-template-columns:340px 1fr auto;gap:34px}
.ffprd-header-v2 .ffprd-brand img{width:315px;max-height:86px}
.ffprd-header-v2 .ffprd-menu-list{gap:32px!important}
.ffprd-header-v2 .ffprd-menu-list a{font-size:16px!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.01em}
.ffprd-header-v2 .ffprd-nav-cta{min-height:56px!important;padding:0 24px!important;font-size:14.5px!important}
.ffprd-header-v2-actions{gap:22px}
.ffprd-search-btn{width:46px;height:46px}.ffprd-search-btn svg{width:28px;height:28px}

.ffprd-footer-v2-grid{grid-template-columns:1.25fr .9fr 1.16fr .98fr 1.1fr;gap:46px;padding:62px 0 52px}
.ffprd-footer-v2 h3{font-size:17px!important;line-height:1.25!important;margin-bottom:16px!important}
.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:14.5px!important;line-height:1.72!important}
.ffprd-footer-v2-brand img{width:260px;margin-bottom:20px}
.ffprd-footer-v2-brand>p{max-width:290px;margin-bottom:18px!important}
.ffprd-footer-v2-social a{font-size:18px!important}
.ffprd-footer-v2 .ffprd-newsletter-demo input,.ffprd-footer-v2 .ffprd-newsletter-demo button{height:52px;font-size:13.5px!important}
.ffprd-footer-v2-members{padding:13px 18px;font-size:14.5px!important}
.ffprd-footer-v2-bottom{padding:14px 0 18px}.ffprd-footer-v2-bottom span{font-size:11px}

/* Home hero corrected to the approved home reference: photo-based, lighter left panel, centered slider dots */
.ffprd-home2-hero{background:linear-gradient(100deg,#f7fbff 0%,#f4f9fe 42%,#ebf4fd 100%);overflow:hidden}
.ffprd-home2-hero-inner{min-height:585px;display:grid;grid-template-columns:42% 58%;align-items:stretch;position:relative}
.ffprd-home2-hero-copy{padding:72px 44px 80px max(62px,calc((100vw - 1600px)/2 + 36px));}
.ffprd-home2-kicker{font-size:15px;margin-bottom:22px;letter-spacing:.065em;color:#113b7d}
.ffprd-home2-hero-copy h1{font-size:clamp(54px,3.75vw,70px)!important;line-height:1.03!important;letter-spacing:-.045em!important;max-width:700px;margin-bottom:24px!important;color:#082f73!important}
.ffprd-home2-hero-copy p{max-width:530px;font-size:16px!important;line-height:1.62!important;margin-bottom:28px!important;color:#2f4870!important}
.ffprd-home2-primary{min-height:54px;padding:0 24px;font-size:14px;border-radius:7px;box-shadow:0 10px 22px rgba(8,47,115,.14)}
.ffprd-home2-slider{left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:7px;z-index:5}
.ffprd-home2-slider i{width:20px;height:6px;border-radius:999px;background:#fff;border:1px solid rgba(8,47,115,.08)}
.ffprd-home2-slider i:first-child{background:#ef3a31;border-color:#ef3a31}
.ffprd-home2-slider i:nth-child(2),.ffprd-home2-slider i:nth-child(3){width:14px}
.ffprd-home2-hero-art{position:relative;overflow:hidden;min-width:0;min-height:585px;background:#e8f1fb}
.ffprd-home2-hero-art img{width:100%;height:100%;display:block;object-fit:cover!important;object-position:center center!important;position:relative;z-index:0}
.ffprd-home2-hero-art:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(245,250,255,1) 0%,rgba(245,250,255,.96) 9%,rgba(245,250,255,.76) 24%,rgba(245,250,255,.32) 42%,rgba(245,250,255,0) 56%), url('../images/motif-band.svg') 58% 18%/58% auto no-repeat;pointer-events:none}
.ffprd-home2-hero-art:after{content:"";position:absolute;inset:auto -4% -26px 4%;height:110px;background:linear-gradient(180deg,rgba(23,105,194,0) 0%,rgba(23,105,194,0) 35%,rgba(23,105,194,.96) 35%,rgba(23,105,194,.96) 64%,rgba(255,255,255,0) 64%), radial-gradient(120% 110px at 24% 0,#fff 0 3px,transparent 4px), radial-gradient(120% 110px at 52% 0,#fff 0 3px,transparent 4px), radial-gradient(120% 110px at 80% 0,#fff 0 3px,transparent 4px);background-size:auto,37% 100%,37% 100%,37% 100%;background-repeat:no-repeat;background-position:0 0,0 0,33% 0,66% 0;opacity:.98;z-index:2;pointer-events:none}

/* Home layout tweaks for closer parity */
.ffprd-home2-risks{padding:44px 0 46px}
.ffprd-home2-risk-grid{gap:16px}.ffprd-home2-risk{min-height:292px;padding:30px 24px 34px}
.ffprd-home2-risk .ffprd-icon{width:68px;height:68px;margin-bottom:20px}
.ffprd-home2-risk h3{font-size:16px!important;min-height:63px;margin-bottom:14px!important}
.ffprd-home2-risk p{font-size:12.5px!important;line-height:1.55!important;max-width:220px}

.ffprd-home2-intro{padding-bottom:48px}
.ffprd-home2-intro-left,.ffprd-home2-intro-right{min-height:368px}
.ffprd-home2-intro-left{padding:46px 44px}.ffprd-home2-intro-right{padding:48px 46px}
.ffprd-home2-intro-left h2,.ffprd-home2-intro-right h2{font-size:29px!important;line-height:1.08!important}
.ffprd-home2-intro-left>p,.ffprd-home2-intro-right p{font-size:13px!important;line-height:1.62!important}
.ffprd-home2-points{margin-bottom:28px}.ffprd-home2-points span{grid-template-columns:46px 1fr;min-height:58px;padding-right:12px}
.ffprd-home2-points .ffprd-icon{width:40px;height:40px}.ffprd-home2-points b{font-size:11.5px;line-height:1.32}
.ffprd-home2-outline{min-height:46px;padding:0 16px;font-size:12.5px}
.ffprd-home2-arcs{right:-100px;bottom:-165px;width:440px;height:440px}

.ffprd-home2-stat-grid{min-height:140px}.ffprd-home2-stat{grid-template-columns:58px 1fr;gap:15px;min-height:92px;padding:0 24px}.ffprd-home2-stat .ffprd-icon{width:50px;height:50px}.ffprd-home2-stat strong{font-size:30px;margin-bottom:7px}.ffprd-home2-stat span{font-size:11.5px;line-height:1.42;max-width:150px}

.ffprd-home2-news{padding:52px 0 56px}.ffprd-home2-heading{margin-bottom:24px}.ffprd-home2-heading h2{font-size:28px!important}.ffprd-home2-heading>a{font-size:12px}
.ffprd-home2-news-grid{gap:18px}.ffprd-home2-news-card{min-height:446px}.ffprd-home2-news-img{height:205px}.ffprd-home2-news-body{padding:17px 18px 28px}.ffprd-home2-news-meta span,.ffprd-home2-news-meta time{font-size:8.5px}.ffprd-home2-news-card h3{font-size:15.5px!important;line-height:1.34!important;min-height:58px}.ffprd-home2-news-card p{font-size:12px!important;line-height:1.55!important}

.ffprd-home2-supporters{padding:28px 0 34px}.ffprd-home2-supporters > .ffprd-home2-container > h2{font-size:18px!important;margin-bottom:18px!important}.ffprd-home2-support-strip{min-height:112px;border-radius:56px;padding:12px 16px}.ffprd-home2-support-strip a{height:84px;padding:6px 12px}.ffprd-home2-support-strip img{max-height:72px}

/* Keep mobile/responsive behaviour sane */
@media(max-width:1200px){
  .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:260px 1fr auto;min-height:96px;gap:18px}
  .ffprd-header-v2 .ffprd-brand img{width:240px}
  .ffprd-header-v2 .ffprd-menu-list a{font-size:13px!important}
  .ffprd-home2-hero-inner{min-height:520px;grid-template-columns:1fr}.ffprd-home2-hero-copy{padding:54px 28px 34px}.ffprd-home2-hero-art{min-height:380px}.ffprd-home2-slider{display:none}
}
@media(max-width:900px){
  .ffprd-footer-v2-grid{grid-template-columns:repeat(2,1fr);gap:26px;padding:42px 0 34px}
  .ffprd-footer-v2 h3{font-size:15px!important}.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:13px!important}
}
@media(max-width:560px){
  .ffprd-header-v2 .ffprd-brand img{width:190px}.ffprd-home2-hero-copy h1{font-size:42px!important}.ffprd-home2-hero-copy p{font-size:14px!important}.ffprd-home2-hero-art{min-height:260px}
  .ffprd-footer-v2-grid{grid-template-columns:1fr}.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:12.5px!important}
}

/*
   FFPRD Elementor Studio V2.3 — Home hero restored to approved reference
   + header/footer typography pass
*/
.ffprd-header-v2 .ffprd-mainnav-inner{width:min(1620px,calc(100% - 68px));min-height:120px;grid-template-columns:345px 1fr auto;gap:34px}
.ffprd-header-v2 .ffprd-brand img{width:325px;max-height:88px}
.ffprd-header-v2 .ffprd-menu-list{gap:30px!important}
.ffprd-header-v2 .ffprd-menu-list a{font-size:16.5px!important;line-height:1.26!important;font-weight:700!important;letter-spacing:-.01em}
.ffprd-header-v2 .ffprd-nav-cta{min-height:56px!important;padding:0 24px!important;font-size:15px!important;border-radius:7px!important}
.ffprd-header-v2-actions{gap:22px}.ffprd-search-btn{width:46px;height:46px}.ffprd-search-btn svg{width:28px;height:28px}

.ffprd-footer-v2-grid{grid-template-columns:1.25fr .92fr 1.18fr 1fr 1.12fr;gap:48px;padding:64px 0 54px}
.ffprd-footer-v2 h3{font-size:17.5px!important;line-height:1.24!important;margin:0 0 17px!important}
.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:15px!important;line-height:1.72!important}
.ffprd-footer-v2-brand img{width:266px;margin-bottom:20px}.ffprd-footer-v2-brand>p{max-width:300px;margin-bottom:19px!important}
.ffprd-footer-v2-social a{font-size:18px!important}.ffprd-footer-v2 .ffprd-newsletter-demo input,.ffprd-footer-v2 .ffprd-newsletter-demo button{height:52px;font-size:14px!important}.ffprd-footer-v2-members{padding:13px 18px;font-size:14.5px!important}.ffprd-footer-v2-bottom{padding:15px 0 19px}.ffprd-footer-v2-bottom span{font-size:11.5px}

.ffprd-home2-hero{background:linear-gradient(100deg,#f8fbff 0%,#f2f8fe 52%,#ecf4fc 100%);overflow:hidden}
.ffprd-home2-hero-inner{min-height:530px;display:grid;grid-template-columns:43% 57%;align-items:stretch;position:relative}
.ffprd-home2-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:56px 38px 70px max(64px,calc((100vw - 1600px)/2 + 32px));position:relative;z-index:3}
.ffprd-home2-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;line-height:1.2;font-weight:800;letter-spacing:.06em;color:#082f73;margin-bottom:18px;text-transform:uppercase}
.ffprd-home2-kicker .k1{color:#082f73}.ffprd-home2-kicker .k2{color:#2271ca}.ffprd-home2-kicker .k3{color:#e52a20}.ffprd-home2-kicker i{font-style:normal;color:#e52a20;font-size:10px;line-height:1;transform:translateY(-1px)}
.ffprd-home2-hero-copy h1{font-size:clamp(60px,4.2vw,76px)!important;line-height:1.02!important;letter-spacing:-.046em!important;font-weight:800!important;color:#082f73!important;margin:0 0 24px!important;max-width:620px}
.ffprd-home2-hero-copy p{max-width:500px;font-size:16px!important;line-height:1.68!important;color:#2d466b!important;margin:0 0 28px!important}
.ffprd-home2-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 22px;border-radius:7px;background:#082f73;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:750;align-self:flex-start;box-shadow:0 8px 20px rgba(8,47,115,.15)}
.ffprd-home2-slider{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px;z-index:4}
.ffprd-home2-slider i{display:block;width:24px;height:7px;border-radius:999px;background:#fff;border:1px solid rgba(8,47,115,.06)}
.ffprd-home2-slider i:first-child{background:#e52a20;border-color:#e52a20}.ffprd-home2-slider i:nth-child(2),.ffprd-home2-slider i:nth-child(3){width:15px}
.ffprd-home2-hero-art{position:relative;overflow:hidden;min-width:0;min-height:530px;background:transparent}
.ffprd-home2-hero-art img{width:100%;height:100%;display:block;object-fit:cover!important;object-position:center center!important}
.ffprd-home2-hero-art:before,.ffprd-home2-hero-art:after{display:none!important}

@media (max-width:1200px){
  .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:260px 1fr auto;gap:18px;min-height:100px}.ffprd-header-v2 .ffprd-brand img{width:240px}.ffprd-header-v2 .ffprd-menu-list a{font-size:13.5px!important}.ffprd-header-v2 .ffprd-nav-cta{font-size:12.5px!important}
  .ffprd-footer-v2-grid{gap:30px;padding:46px 0 38px}.ffprd-footer-v2 h3{font-size:15px!important}.ffprd-footer-v2 p,.ffprd-footer-v2 a{font-size:13px!important}
  .ffprd-home2-hero-inner{min-height:470px;grid-template-columns:44% 56%}.ffprd-home2-hero-copy{padding:46px 30px 58px 46px}.ffprd-home2-hero-copy h1{font-size:54px!important}.ffprd-home2-hero-copy p{font-size:14.5px!important}.ffprd-home2-hero-art{min-height:470px}
}
@media (max-width:767px){
  .ffprd-home2-hero-inner{grid-template-columns:1fr;min-height:0}.ffprd-home2-hero-copy{padding:44px 24px 28px}.ffprd-home2-hero-copy h1{font-size:42px!important;max-width:none}.ffprd-home2-hero-copy p{font-size:14px!important;max-width:none}.ffprd-home2-hero-art{min-height:260px}.ffprd-home2-slider{display:none}
}

/* =========================================================
   FFPRD Elementor Studio V4.0 — HOME ONLY
   Restaure le Hero photo validé. N'affecte ni Header/Footer,
   ni La Fédération, ni le Design System global.
   ========================================================= */
.ffprd-home2-hero-photo{position:relative;background:linear-gradient(110deg,#ffffff 0%,#fbfdff 47%,#eef6fe 100%)!important;overflow:hidden}
.ffprd-home2-hero-photo .ffprd-home2-hero-side-motif{position:absolute;left:-8px;top:44px;width:116px;height:360px;background:url('../images/motif-tricolor.svg') left center/contain no-repeat;opacity:.92;pointer-events:none;z-index:1}
.ffprd-home2-hero-photo .ffprd-home2-hero-inner{min-height:470px!important;display:grid!important;grid-template-columns:43% 57%!important;align-items:stretch!important;position:relative!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:58px 36px 58px max(92px,calc((100vw - 1600px)/2 + 44px))!important;position:relative!important;z-index:3!important}
.ffprd-home2-title-tricolor{margin:0 0 22px!important;max-width:640px!important;font-size:clamp(62px,4.25vw,78px)!important;line-height:1.02!important;letter-spacing:-.047em!important;font-weight:800!important;color:#082f73!important}
.ffprd-home2-title-tricolor span{font:inherit;letter-spacing:inherit}
.ffprd-home2-title-tricolor .t1{display:block;color:#082f73}
.ffprd-home2-title-tricolor .t2{display:inline;color:#1769c2}
.ffprd-home2-title-tricolor .t3{display:inline;color:#e52a20;margin-left:.18em}
.ffprd-home2-hero-photo .ffprd-home2-hero-copy>p{max-width:570px!important;margin:0 0 28px!important;font-size:17px!important;line-height:1.62!important;color:#2c4469!important;font-weight:500!important}
.ffprd-home2-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ffprd-home2-hero-photo .ffprd-home2-primary{min-height:54px!important;padding:0 22px!important;border-radius:7px!important;font-size:14px!important;font-weight:750!important;box-shadow:0 9px 22px rgba(229,42,32,.17)!important}
.ffprd-home2-hero-photo .ffprd-home2-primary-red{background:#e52a20!important}
.ffprd-home2-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 23px;border:1.6px solid #274f88;border-radius:7px;background:#fff;color:#082f73!important;text-decoration:none!important;font-size:14px;font-weight:750;transition:.2s ease}
.ffprd-home2-secondary:hover{background:#f5f9fd;color:#082f73!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-art{position:relative!important;min-height:470px!important;background:transparent!important;overflow:hidden!important;display:flex!important;align-items:stretch!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-art:before,.ffprd-home2-hero-photo .ffprd-home2-hero-art:after{display:none!important;content:none!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-art img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center center!important;position:relative!important;z-index:0!important}
.ffprd-home2-hero-photo .ffprd-home2-slider{display:none!important}

@media (max-width:1200px){
  .ffprd-home2-hero-photo .ffprd-home2-hero-inner{min-height:430px!important;grid-template-columns:46% 54%!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-copy{padding:48px 28px 48px 52px!important}
  .ffprd-home2-title-tricolor{font-size:56px!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-copy>p{font-size:15px!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:430px!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-side-motif{width:86px;height:300px}
}
@media (max-width:767px){
  .ffprd-home2-hero-photo .ffprd-home2-hero-side-motif{display:none}
  .ffprd-home2-hero-photo .ffprd-home2-hero-inner{grid-template-columns:1fr!important;min-height:0!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-copy{padding:42px 24px 30px!important}
  .ffprd-home2-title-tricolor{font-size:44px!important;max-width:none!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-copy>p{font-size:14px!important;max-width:none!important}
  .ffprd-home2-hero-actions{gap:12px}
  .ffprd-home2-hero-photo .ffprd-home2-primary,.ffprd-home2-secondary{min-height:48px!important;padding:0 17px!important;font-size:13px!important}
  .ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:245px!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.0 — DEUX MAQUETTES VALIDÉES
   Portée volontairement limitée aux corps de page Home + Fédération.
   Header / Footer existants : aucune règle V4 ne les modifie.
   ========================================================= */

/* HOME — Hero validé */
.ffprd-home2-hero-photo{background:linear-gradient(105deg,#fff 0%,#fbfdff 43%,#eef5fd 100%)!important;position:relative;overflow:hidden}
.ffprd-home2-hero-photo .ffprd-home2-hero-inner{min-height:520px!important;grid-template-columns:42% 58%!important;align-items:stretch!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-copy{padding:64px 34px 62px max(94px,calc((100vw - 1640px)/2 + 48px))!important;justify-content:center!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-side-motif{left:-5px!important;top:42px!important;width:122px!important;height:390px!important;opacity:.94!important}
.ffprd-home2-title-tricolor{font-size:clamp(66px,4.35vw,82px)!important;line-height:1.0!important;letter-spacing:-.048em!important;max-width:600px!important;margin:0 0 25px!important}
.ffprd-home2-title-tricolor .t1,.ffprd-home2-title-tricolor .t2,.ffprd-home2-title-tricolor .t3{display:block!important;margin:0!important}
.ffprd-home2-title-tricolor .t1{color:#082f73!important}.ffprd-home2-title-tricolor .t2{color:#1769c2!important}.ffprd-home2-title-tricolor .t3{color:#e52a20!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-copy>p{max-width:565px!important;font-size:17px!important;line-height:1.64!important;color:#294263!important;margin:0 0 29px!important}
.ffprd-home2-hero-actions{gap:18px!important}
.ffprd-home2-hero-photo .ffprd-home2-primary,.ffprd-home2-secondary{min-height:54px!important;padding:0 23px!important;font-size:14px!important;border-radius:7px!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:520px!important;background:transparent!important;overflow:hidden!important}
.ffprd-home2-hero-photo .ffprd-home2-hero-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;display:block!important;image-rendering:auto!important;filter:none!important;transform:none!important}

/* HOME — accès rapide */
.ffprd-home3-risks{padding:40px 0 46px!important}
.ffprd-home3-risk-heading{margin:0 0 20px}.ffprd-home3-risk-heading h2{font-size:29px!important;line-height:1.15!important;color:#082f73!important;font-weight:800!important;margin:0!important;letter-spacing:-.025em}.ffprd-home3-risk-heading i{display:block;width:38px;height:3px;background:#e52a20;border-radius:3px;margin-top:9px}
.ffprd-home3-risks .ffprd-home2-risk-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:13px!important}
.ffprd-home3-risks .ffprd-home2-risk{min-height:230px!important;padding:25px 18px 25px!important;border-radius:9px!important;justify-content:center!important;box-shadow:0 5px 18px rgba(8,47,115,.045)!important}
.ffprd-home3-risks .ffprd-home2-risk .ffprd-icon{width:64px!important;height:64px!important;margin-bottom:15px!important}
.ffprd-home3-risks .ffprd-home2-risk h3{font-size:14.7px!important;line-height:1.35!important;min-height:auto!important;margin:0!important}
.ffprd-home3-risks .ffprd-home2-risk p{display:none!important}
.ffprd-home3-risks .ffprd-home2-arrow{right:16px!important;bottom:13px!important;font-size:21px!important}
.ffprd-home3-risk-all{background:linear-gradient(135deg,#062b6c,#064ea8)!important;color:#fff!important;position:relative;overflow:hidden;border-color:#063a82!important}
.ffprd-home3-risk-all strong{color:#fff;font-size:16px;line-height:1.35;font-weight:700;position:relative;z-index:3;margin-top:20px}
.ffprd-home3-risk-all-arrow{width:48px;height:48px;border:1px solid rgba(255,255,255,.48);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:27px;position:relative;z-index:3}
.ffprd-home3-risk-rings{position:absolute;width:190px;height:190px;border:1.5px dashed #4b9df0;border-radius:50%;right:-80px;bottom:-70px}.ffprd-home3-risk-rings:before{content:"";position:absolute;inset:26px;border:1.5px dashed #e52a20;border-radius:50%}.ffprd-home3-risk-rings:after{content:"";position:absolute;inset:54px;border:1.5px dashed rgba(255,255,255,.72);border-radius:50%}
.ffprd-home3-risk-all .ffprd-home2-arrow{display:none!important}

/* HOME — Fédération + CTA */
.ffprd-home3-intro{padding-bottom:48px!important}.ffprd-home3-intro .ffprd-home2-intro-grid{grid-template-columns:1fr 1fr!important;border-radius:10px!important;box-shadow:0 7px 28px rgba(8,47,115,.055)!important}
.ffprd-home3-intro .ffprd-home2-intro-left,.ffprd-home3-intro .ffprd-home2-intro-right{min-height:360px!important;padding:42px 40px!important}
.ffprd-home3-intro .ffprd-home2-intro-left h2,.ffprd-home3-intro .ffprd-home2-intro-right h2{font-size:31px!important;line-height:1.08!important}
.ffprd-home3-intro .ffprd-home2-intro-left>p,.ffprd-home3-intro .ffprd-home2-intro-right p{font-size:13.2px!important;line-height:1.62!important}
.ffprd-home3-intro .ffprd-home2-points{grid-template-columns:repeat(4,1fr)!important;margin:22px 0 25px!important}.ffprd-home3-intro .ffprd-home2-points span{grid-template-columns:40px 1fr!important;gap:8px!important;min-height:58px!important;padding:0 10px!important;border-right:1px solid #c6d3e3!important}.ffprd-home3-intro .ffprd-home2-points span:first-child{padding-left:0!important}.ffprd-home3-intro .ffprd-home2-points span:last-child{border-right:0!important;padding-right:0!important}.ffprd-home3-intro .ffprd-home2-points .ffprd-icon{width:36px!important;height:36px!important}.ffprd-home3-intro .ffprd-home2-points b{font-size:10.8px!important;line-height:1.3!important}
.ffprd-home3-intro .ffprd-home2-outline{min-height:47px!important;font-size:12.5px!important}.ffprd-home3-cta-button{background:#082f73!important;box-shadow:none!important}
.ffprd-home3-intro .ffprd-home2-arcs{width:420px!important;height:420px!important;right:-120px!important;bottom:-220px!important}

/* HOME — chiffres, actualités, soutiens */
.ffprd-home2-stats .ffprd-home2-stat-grid{min-height:118px!important}.ffprd-home2-stats .ffprd-home2-stat{grid-template-columns:54px 1fr!important;gap:14px!important;min-height:84px!important;padding:0 22px!important}.ffprd-home2-stats .ffprd-home2-stat .ffprd-icon{width:46px!important;height:46px!important}.ffprd-home2-stats .ffprd-home2-stat strong{font-size:29px!important;margin-bottom:6px!important}.ffprd-home2-stats .ffprd-home2-stat span{font-size:10.7px!important;line-height:1.38!important;max-width:150px!important}
.ffprd-home3-news{padding:45px 0 48px!important}.ffprd-home3-news .ffprd-home2-heading{margin-bottom:18px!important}.ffprd-home3-news .ffprd-home2-heading h2{font-size:29px!important}.ffprd-home3-news .ffprd-home2-news-grid{gap:14px!important}.ffprd-home3-news .ffprd-home2-news-card{min-height:365px!important;border-radius:8px!important}.ffprd-home3-news .ffprd-home2-news-img{height:168px!important}.ffprd-home3-news .ffprd-home2-news-img img{image-rendering:auto!important;filter:none!important;transform:none!important}.ffprd-home3-news .ffprd-home2-news-body{padding:14px 15px 19px!important}.ffprd-home3-news .ffprd-home2-news-meta{margin-bottom:10px!important}.ffprd-home3-news .ffprd-home2-news-meta span,.ffprd-home3-news .ffprd-home2-news-meta time{font-size:8px!important}.ffprd-home3-news .ffprd-home2-news-card h3{font-size:14.5px!important;line-height:1.32!important;min-height:54px!important;margin-bottom:10px!important}.ffprd-home3-news .ffprd-home2-news-card p{font-size:11.2px!important;line-height:1.48!important;margin-bottom:15px!important}.ffprd-home3-readmore{display:inline-flex;align-items:center;gap:8px;color:#082f73!important;text-decoration:none!important;font-size:11px;font-weight:750}.ffprd-home3-readmore span{font-size:16px}
.ffprd-home2-supporters{padding:22px 0 28px!important}.ffprd-home2-supporters > .ffprd-home2-container > h2{font-size:17px!important;margin-bottom:14px!important}.ffprd-home2-support-strip{min-height:92px!important;border-radius:46px!important}.ffprd-home2-support-strip a{height:66px!important}.ffprd-home2-support-strip img{max-height:58px!important}

/* FÉDÉRATION — Hero exact de la maquette validée */
.ffprd-fedhero-v3{background:linear-gradient(110deg,#fff 0%,#fbfdff 48%,#f2f7fd 100%)!important;border-bottom:1px solid #e8eef6!important;overflow:hidden!important}
.ffprd-fedhero-v3 .ffprd-container{width:min(1680px,calc(100% - 72px))!important;max-width:none!important;margin:0 auto!important}
.ffprd-fedhero-v3-grid{min-height:360px;display:grid;grid-template-columns:41% 59%;align-items:stretch}
.ffprd-fedhero-v3-copy{display:flex;flex-direction:column;justify-content:center;padding:35px 34px 34px 0;position:relative;z-index:2}
.ffprd-fedhero-v3-copy .ffprd-breadcrumb{margin:0 0 14px!important;font-size:11.5px!important}.ffprd-fedhero-v3-copy .ffprd-page-eyebrow{font-size:11.5px!important;margin:0 0 12px!important;color:#123d7c!important;font-weight:800!important;letter-spacing:.06em!important}
.ffprd-fedhero-v3-copy h1{font-size:48px!important;line-height:1.04!important;letter-spacing:-.04em!important;color:#082f73!important;font-weight:800!important;margin:0!important;max-width:560px!important}
.ffprd-fedhero-v3-rule{display:block;width:48px;height:3px;background:#e52a20;border-radius:3px;margin:15px 0 15px}
.ffprd-fedhero-v3-copy>p{font-size:14.5px!important;line-height:1.58!important;color:#20395e!important;max-width:560px!important;margin:0 0 18px!important}
.ffprd-fedhero-v3-actions{display:flex;gap:12px;flex-wrap:wrap}.ffprd-fedhero-v3-primary,.ffprd-fedhero-v3-secondary{min-height:42px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;text-decoration:none!important;font-size:12px;font-weight:750}.ffprd-fedhero-v3-primary{background:#082f73;color:#fff!important}.ffprd-fedhero-v3-secondary{background:#fff;border:1.5px solid #224b86;color:#082f73!important}
.ffprd-fedhero-v3-art{min-height:360px;overflow:hidden;display:flex;align-items:stretch}.ffprd-fedhero-v3-art img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;image-rendering:auto!important;filter:none!important;transform:none!important}

/* FÉDÉRATION — corps plus proche des proportions de la maquette */
.ffprd-fedintro .ffprd-container,.ffprd-feddims .ffprd-container,.ffprd-fedtools .ffprd-container,.ffprd-fedrisks .ffprd-container,.ffprd-fedcta .ffprd-container{width:min(1680px,calc(100% - 72px))!important}
.ffprd-fedintro{padding:36px 0 30px!important}.ffprd-fedintro-grid{gap:42px!important}.ffprd-fedintro-photo{aspect-ratio:1.73/1!important;border-radius:12px!important;box-shadow:0 9px 28px rgba(20,49,88,.08)!important}.ffprd-fedintro-copy h2{font-size:31px!important}.ffprd-fedintro-copy>.ffprd-standard-section-rule{margin:11px 0 17px!important}.ffprd-fedintro-text{font-size:12.6px!important;line-height:1.55!important}.ffprd-fedintro-badges{gap:13px!important;margin-top:18px!important}.ffprd-fedintro-badge{min-height:58px!important;padding:10px 14px!important;border-radius:7px!important}.ffprd-fedintro-badge .ffprd-icon{width:34px!important;height:34px!important}.ffprd-fedintro-badge strong{font-size:11.5px!important}
.ffprd-feddims{padding:18px 0 34px!important}.ffprd-feddims-title{margin-bottom:17px!important}.ffprd-feddims-title h2{font-size:18px!important}.ffprd-feddims-grid{gap:7px!important}.ffprd-feddim-card{aspect-ratio:3.8/1!important;grid-template-columns:64px minmax(0,1fr) 38%!important;gap:12px!important;padding:14px 0 14px 14px!important;border-radius:7px!important}.ffprd-feddim-icon{width:52px!important;height:52px!important}.ffprd-feddim-icon .ffprd-icon{width:34px!important;height:34px!important}.ffprd-feddim-copy h3{font-size:15px!important;margin-bottom:6px!important}.ffprd-feddim-copy p{font-size:10.5px!important;line-height:1.45!important}.ffprd-feddim-photo{width:40%!important}
.ffprd-fedtransition{min-height:176px!important;grid-template-columns:48% 52%!important}.ffprd-fedtransition-inner{width:min(760px,calc(100% - 48px))!important;padding:26px 38px 24px 0!important}.ffprd-fedtransition-inner h2{font-size:25px!important}.ffprd-fedtransition-inner>span{margin:10px 0!important}.ffprd-fedtransition-inner p{font-size:11.5px!important;line-height:1.5!important}.ffprd-fedtransition-photo{min-height:176px!important}
.ffprd-fedtools{padding:24px 0 22px!important}.ffprd-fedtools-title{margin-bottom:15px!important}.ffprd-fedtools-title h2{font-size:18px!important}.ffprd-fedtools-grid{gap:14px!important}.ffprd-fedtool-card{min-height:250px!important;border-radius:7px!important}.ffprd-fedtool-image{height:122px!important;flex-basis:122px!important}.ffprd-fedtool-body{padding:11px 12px 15px!important}.ffprd-fedtool-body strong{font-size:13.5px!important}.ffprd-fedtool-body p{font-size:10.4px!important;line-height:1.42!important}.ffprd-fedtools-action{margin-top:11px!important}
.ffprd-fedrisks{padding:24px 0 22px!important}.ffprd-fedrisks-heading{margin-bottom:15px!important}.ffprd-fedrisks-heading h2{font-size:17.5px!important}.ffprd-fedrisks-heading p{font-size:10.5px!important;margin-top:7px!important}.ffprd-fedrisks-grid{gap:8px!important}.ffprd-fedrisk-card{min-height:112px!important;gap:7px!important;padding:10px 7px!important;border-radius:6px!important}.ffprd-fedrisk-card .ffprd-icon{width:46px!important;height:46px!important}.ffprd-fedrisk-card strong{font-size:9.5px!important;line-height:1.25!important}.ffprd-fedrisks-action{margin-top:11px!important}
.ffprd-fedcta{min-height:150px!important;padding:22px 0 20px!important}.ffprd-fedcta h2{font-size:23px!important}.ffprd-fedcta-rule{margin:8px 0 12px!important}.ffprd-fedcta-grid{width:68%!important;max-width:950px!important}.ffprd-fedcta-grid a{min-height:72px!important;gap:10px!important;padding:8px 14px!important}.ffprd-fedcta-grid .ffprd-icon{width:36px!important;height:36px!important}.ffprd-fedcta-grid strong{font-size:11.5px!important}

@media (max-width:1200px){
  .ffprd-home2-hero-photo .ffprd-home2-hero-inner{grid-template-columns:44% 56%!important}.ffprd-home2-title-tricolor{font-size:58px!important}.ffprd-home3-risks .ffprd-home2-risk-grid{grid-template-columns:repeat(3,1fr)!important}.ffprd-home3-intro .ffprd-home2-points{grid-template-columns:repeat(2,1fr)!important}.ffprd-home3-intro .ffprd-home2-points span:nth-child(2){border-right:0!important}
  .ffprd-fedhero-v3-grid{grid-template-columns:44% 56%;min-height:330px}.ffprd-fedhero-v3-copy h1{font-size:42px!important}.ffprd-fedhero-v3-art{min-height:330px}
}
@media (max-width:767px){
  .ffprd-home3-risks .ffprd-home2-risk-grid{grid-template-columns:1fr!important}.ffprd-home3-risks .ffprd-home2-risk{min-height:180px!important}.ffprd-home3-intro .ffprd-home2-points{grid-template-columns:1fr!important}.ffprd-home3-intro .ffprd-home2-points span{border-right:0!important;border-bottom:1px solid #d8e1ec!important}.ffprd-home3-intro .ffprd-home2-points span:last-child{border-bottom:0!important}
  .ffprd-fedhero-v3 .ffprd-container{width:calc(100% - 28px)!important}.ffprd-fedhero-v3-grid{grid-template-columns:1fr;min-height:0}.ffprd-fedhero-v3-copy{padding:28px 0 20px}.ffprd-fedhero-v3-copy h1{font-size:38px!important}.ffprd-fedhero-v3-copy>p{font-size:14px!important}.ffprd-fedhero-v3-art{min-height:220px}.ffprd-fedintro .ffprd-container,.ffprd-feddims .ffprd-container,.ffprd-fedtools .ffprd-container,.ffprd-fedrisks .ffprd-container,.ffprd-fedcta .ffprd-container{width:calc(100% - 28px)!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.0 — LOCKED PIXEL REFERENCES
   Scope: bodies of HOME + LA FÉDÉRATION only.
   Header / Footer Theme Builder intentionally untouched.
   References: /references/HOME-REFERENCE-PIXEL.png
               /references/FEDERATION-REFERENCE-PIXEL.png
   ========================================================= */
body.ffprd-page-home-v4,
body.ffprd-page-federation-v4{overflow-x:hidden}
body.ffprd-page-home-v4 .site-main,
body.ffprd-page-federation-v4 .site-main,
body.ffprd-page-home-v4 .elementor,
body.ffprd-page-federation-v4 .elementor{width:100%;max-width:none!important}

/* Shared reference width: 90% of the 1024px source composition. */
body.ffprd-page-home-v4 .ffprd-home2-container,
body.ffprd-page-federation-v4 .ffprd-container{width:min(1720px,calc(100% - 96px))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}

/* ---------------- HOME / 1024x1536 reference ---------------- */
body.ffprd-page-home-v4 .ffprd-home2-hero-photo{background:linear-gradient(110deg,#fff 0%,#fbfdff 44%,#eef6fe 100%)!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-inner{min-height:560px!important;grid-template-columns:41.5% 58.5%!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-copy{padding:68px 36px 64px max(96px,calc((100vw - 1720px)/2 + 62px))!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-side-motif{left:-8px!important;top:42px!important;width:132px!important;height:430px!important}
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor{font-size:clamp(70px,4.35vw,84px)!important;line-height:.99!important;letter-spacing:-.05em!important;max-width:590px!important;margin-bottom:27px!important}
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor .t1,
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor .t2,
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor .t3{display:block!important;margin:0!important}
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor .t1{color:#082f73!important}
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor .t2{color:#1769c2!important}
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor .t3{color:#e52a20!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-copy>p{max-width:555px!important;font-size:17.5px!important;line-height:1.64!important;margin:0 0 28px!important;color:#2a4264!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-actions{gap:18px!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-primary,
body.ffprd-page-home-v4 .ffprd-home2-secondary{min-height:54px!important;padding:0 23px!important;font-size:14.5px!important;border-radius:7px!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:560px!important;overflow:hidden!important;background:transparent!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;image-rendering:auto!important;filter:none!important;transform:none!important}

body.ffprd-page-home-v4 .ffprd-home3-risks{padding:54px 0 48px!important}
body.ffprd-page-home-v4 .ffprd-home3-risk-heading{margin-bottom:22px!important}
body.ffprd-page-home-v4 .ffprd-home3-risk-heading h2{font-size:30px!important;line-height:1.14!important;letter-spacing:-.025em!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:15px!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk{min-height:236px!important;padding:27px 17px 24px!important;border-radius:9px!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk .ffprd-icon{width:68px!important;height:68px!important;margin-bottom:16px!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk h3{font-size:15px!important;line-height:1.36!important;min-height:auto!important}
body.ffprd-page-home-v4 .ffprd-home3-risk-all strong{font-size:16.5px!important}

body.ffprd-page-home-v4 .ffprd-home3-intro{padding-bottom:50px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-grid{grid-template-columns:1fr 1fr!important;border-radius:10px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-left,
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-right{min-height:410px!important;padding:50px 44px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-left h2,
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-right h2{font-size:34px!important;line-height:1.08!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-left>p,
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-right p{font-size:14px!important;line-height:1.62!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points{grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin:30px 0 32px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points span{grid-template-columns:43px 1fr!important;min-height:64px!important;padding:0 12px!important;border-right:1px solid #cbd7e5!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points span:first-child{padding-left:0!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points span:last-child{border-right:0!important;padding-right:0!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points .ffprd-icon{width:38px!important;height:38px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points b{font-size:11px!important;line-height:1.28!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-outline{min-height:48px!important;font-size:13px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-arcs{width:430px!important;height:430px!important;right:-115px!important;bottom:-220px!important}

body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat-grid{min-height:154px!important}
body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat{grid-template-columns:58px 1fr!important;gap:15px!important;min-height:100px!important;padding:0 27px!important}
body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat .ffprd-icon{width:50px!important;height:50px!important}
body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat strong{font-size:31px!important;margin-bottom:7px!important}
body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat span{font-size:11.5px!important;line-height:1.4!important;max-width:155px!important}

body.ffprd-page-home-v4 .ffprd-home3-news{padding:50px 0 52px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-heading{margin-bottom:20px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-heading h2{font-size:29px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-grid{gap:18px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-card{min-height:385px!important;border-radius:8px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-img{height:182px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-body{padding:15px 16px 20px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-card h3{font-size:15px!important;line-height:1.34!important;min-height:58px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-card p{font-size:11.5px!important;line-height:1.48!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415){padding:24px 0 30px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) > .ffprd-home2-container > h2{font-size:18px!important;margin-bottom:15px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) .ffprd-home2-support-strip{min-height:100px!important;border-radius:50px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) .ffprd-home2-support-strip a{height:72px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) .ffprd-home2-support-strip img{max-height:64px!important}

/* ---------------- FÉDÉRATION / 1024x1536 reference ---------------- */
body.ffprd-page-federation-v4 .ffprd-fedhero-v3{background:linear-gradient(108deg,#fff 0%,#fbfdff 47%,#f2f7fd 100%)!important;border-bottom:1px solid #e8eef6!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3 .ffprd-container{width:min(1720px,calc(100% - 96px))!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-grid{min-height:480px!important;grid-template-columns:40.5% 59.5%!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy{padding:52px 40px 48px 18px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy .ffprd-breadcrumb{font-size:12.5px!important;margin-bottom:19px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy .ffprd-page-eyebrow{font-size:12.5px!important;margin-bottom:14px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy h1{font-size:56px!important;line-height:1.04!important;letter-spacing:-.042em!important;max-width:590px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-rule{width:50px!important;height:3px!important;margin:18px 0 17px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy>p{font-size:15px!important;line-height:1.58!important;max-width:565px!important;margin-bottom:20px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-primary,
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-secondary{min-height:44px!important;padding:0 20px!important;font-size:12.5px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art{min-height:480px!important}
body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art img{object-fit:cover!important;object-position:center center!important;image-rendering:auto!important;filter:none!important;transform:none!important}

body.ffprd-page-federation-v4 .ffprd-fedintro{padding:34px 0 32px!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-grid{grid-template-columns:49% 51%!important;gap:42px!important;align-items:center!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-photo{aspect-ratio:1.95/1!important;border-radius:11px!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-copy h2{font-size:32px!important;line-height:1.08!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-text{font-size:12.8px!important;line-height:1.56!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-badges{gap:14px!important;margin-top:22px!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-badge{min-height:62px!important;padding:11px 15px!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-badge .ffprd-icon{width:36px!important;height:36px!important}
body.ffprd-page-federation-v4 .ffprd-fedintro-badge strong{font-size:12px!important}

body.ffprd-page-federation-v4 .ffprd-feddims{padding:20px 0 38px!important}
body.ffprd-page-federation-v4 .ffprd-feddims-title{margin-bottom:22px!important}
body.ffprd-page-federation-v4 .ffprd-feddims-title h2{font-size:20px!important;line-height:1.2!important}
body.ffprd-page-federation-v4 .ffprd-feddims-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
body.ffprd-page-federation-v4 .ffprd-feddim-card{min-height:170px!important;aspect-ratio:auto!important;grid-template-columns:72px minmax(0,1fr) 39%!important;gap:15px!important;padding:18px 0 18px 17px!important;border-radius:8px!important}
body.ffprd-page-federation-v4 .ffprd-feddim-icon{width:60px!important;height:60px!important}
body.ffprd-page-federation-v4 .ffprd-feddim-icon .ffprd-icon{width:39px!important;height:39px!important}
body.ffprd-page-federation-v4 .ffprd-feddim-copy h3{font-size:16px!important;margin-bottom:7px!important}
body.ffprd-page-federation-v4 .ffprd-feddim-copy p{font-size:11px!important;line-height:1.46!important}
body.ffprd-page-federation-v4 .ffprd-feddim-photo{width:40%!important;height:100%!important;object-fit:cover!important}

body.ffprd-page-federation-v4 .ffprd-fedtransition{min-height:290px!important;grid-template-columns:48% 52%!important}
body.ffprd-page-federation-v4 .ffprd-fedtransition-inner{width:min(790px,calc(100% - 50px))!important;padding:44px 42px 40px 0!important}
body.ffprd-page-federation-v4 .ffprd-fedtransition-inner h2{font-size:30px!important;line-height:1.1!important}
body.ffprd-page-federation-v4 .ffprd-fedtransition-inner>span{margin:13px 0 14px!important}
body.ffprd-page-federation-v4 .ffprd-fedtransition-inner p{font-size:12.5px!important;line-height:1.55!important}
body.ffprd-page-federation-v4 .ffprd-fedtransition-photo{min-height:290px!important}

body.ffprd-page-federation-v4 .ffprd-fedtools{padding:28px 0 30px!important}
body.ffprd-page-federation-v4 .ffprd-fedtools-title{margin-bottom:18px!important}
body.ffprd-page-federation-v4 .ffprd-fedtools-title h2{font-size:20px!important}
body.ffprd-page-federation-v4 .ffprd-fedtools-grid{gap:16px!important}
body.ffprd-page-federation-v4 .ffprd-fedtool-card{min-height:272px!important;border-radius:8px!important}
body.ffprd-page-federation-v4 .ffprd-fedtool-image{height:138px!important;flex-basis:138px!important}
body.ffprd-page-federation-v4 .ffprd-fedtool-body{padding:12px 13px 17px!important}
body.ffprd-page-federation-v4 .ffprd-fedtool-body strong{font-size:14px!important}
body.ffprd-page-federation-v4 .ffprd-fedtool-body p{font-size:10.8px!important;line-height:1.44!important}
body.ffprd-page-federation-v4 .ffprd-fedtools-action{margin-top:13px!important}

body.ffprd-page-federation-v4 .ffprd-fedrisks{padding:27px 0 28px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisks-heading{margin-bottom:18px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisks-heading h2{font-size:19px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisks-heading p{font-size:11px!important;margin-top:8px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisks-grid{gap:10px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisk-card{min-height:124px!important;gap:8px!important;padding:12px 8px!important;border-radius:7px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisk-card .ffprd-icon{width:50px!important;height:50px!important}
body.ffprd-page-federation-v4 .ffprd-fedrisk-card strong{font-size:10px!important;line-height:1.27!important}
body.ffprd-page-federation-v4 .ffprd-fedrisks-action{margin-top:14px!important}

body.ffprd-page-federation-v4 .ffprd-fedcta{min-height:170px!important;padding:26px 0 22px!important}
body.ffprd-page-federation-v4 .ffprd-fedcta h2{font-size:25px!important}
body.ffprd-page-federation-v4 .ffprd-fedcta-rule{margin:9px 0 13px!important}
body.ffprd-page-federation-v4 .ffprd-fedcta-grid{width:70%!important;max-width:1030px!important}
body.ffprd-page-federation-v4 .ffprd-fedcta-grid a{min-height:78px!important;gap:11px!important;padding:9px 15px!important}
body.ffprd-page-federation-v4 .ffprd-fedcta-grid .ffprd-icon{width:39px!important;height:39px!important}
body.ffprd-page-federation-v4 .ffprd-fedcta-grid strong{font-size:12px!important}

/* Avoid accidental legacy transforms / low-res rendering. */
body.ffprd-page-home-v4 img,
body.ffprd-page-federation-v4 img{image-rendering:auto!important;filter:none!important;transform:none!important;backface-visibility:visible!important}

@media (max-width:1200px){
  body.ffprd-page-home-v4 .ffprd-home2-container,
  body.ffprd-page-federation-v4 .ffprd-container{width:calc(100% - 54px)!important}
  body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-inner{grid-template-columns:44% 56%!important;min-height:470px!important}
  body.ffprd-page-home-v4 .ffprd-home2-title-tricolor{font-size:58px!important}
  body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk-grid{grid-template-columns:repeat(3,1fr)!important}
  body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points{grid-template-columns:repeat(2,1fr)!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-grid{grid-template-columns:44% 56%!important;min-height:420px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy h1{font-size:48px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art{min-height:420px!important}
}
@media (max-width:767px){
  body.ffprd-page-home-v4 .ffprd-home2-container,
  body.ffprd-page-federation-v4 .ffprd-container{width:calc(100% - 28px)!important}
  body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-inner,
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-grid{grid-template-columns:1fr!important;min-height:0!important}
  body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-copy{padding:40px 22px 28px!important}
  body.ffprd-page-home-v4 .ffprd-home2-title-tricolor{font-size:44px!important}
  body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:245px!important}
  body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk-grid{grid-template-columns:1fr!important}
  body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-grid{grid-template-columns:1fr!important}
  body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points{grid-template-columns:1fr!important}
  body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-grid{grid-template-columns:1fr!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy{padding:28px 0 20px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy h1{font-size:38px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art{min-height:220px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-grid,
  body.ffprd-page-federation-v4 .ffprd-feddims-grid{grid-template-columns:1fr!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition{grid-template-columns:1fr!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid{width:100%!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.1 — Fidelity / sharpness correction
   Targets the two locked reference bodies. Header/Footer remain global.
   ========================================================= */

/* HOME: bring proportions closer to the 1024x1536 approved reference. */
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-inner{min-height:690px!important;grid-template-columns:41.5% 58.5%!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-copy{padding:82px 42px 76px max(98px,calc((100vw - 1720px)/2 + 60px))!important}
body.ffprd-page-home-v4 .ffprd-home2-title-tricolor{font-size:clamp(78px,5.0vw,96px)!important;line-height:.98!important;max-width:620px!important;margin-bottom:28px!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-copy>p{font-size:18px!important;line-height:1.62!important;max-width:555px!important;margin-bottom:30px!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:690px!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-art img{object-fit:cover!important;object-position:center center!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-side-motif{height:500px!important;width:150px!important;top:58px!important}

body.ffprd-page-home-v4 .ffprd-home3-risks{padding:42px 0 40px!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk{min-height:210px!important;padding:22px 15px 20px!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk .ffprd-icon{width:62px!important;height:62px!important;margin-bottom:13px!important}
body.ffprd-page-home-v4 .ffprd-home3-risks .ffprd-home2-risk h3{font-size:14.5px!important;line-height:1.32!important}

body.ffprd-page-home-v4 .ffprd-home3-intro{padding-bottom:40px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-left,
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-right{min-height:360px!important;padding:42px 40px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-left h2,
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-intro-right h2{font-size:31px!important}
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points{margin:24px 0 25px!important}

body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat-grid{min-height:132px!important}
body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat{min-height:82px!important;padding:0 24px!important}
body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat strong{font-size:29px!important}

body.ffprd-page-home-v4 .ffprd-home3-news{padding:40px 0 42px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-card{min-height:315px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-img{height:142px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-body{padding:13px 15px 16px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-card h3{font-size:14.5px!important;line-height:1.3!important;min-height:48px!important;margin-bottom:8px!important}
body.ffprd-page-home-v4 .ffprd-home3-news .ffprd-home2-news-card p{font-size:10.8px!important;line-height:1.42!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415){padding:18px 0 22px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) .ffprd-home2-support-strip{min-height:82px!important;border-radius:42px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) .ffprd-home2-support-strip a{height:58px!important}
body.ffprd-page-home-v4 .ffprd-home2-supporters:not(.ffprd-partners-v415) .ffprd-home2-support-strip img{max-height:52px!important}

/* FEDERATION: current frontend was ~38% taller than the locked composition.
   These values follow the visual rhythm of the approved 1024x1536 reference. */
@media (min-width:768px){
  body.ffprd-page-federation-v4 .ffprd-container{width:min(1660px,calc(100% - 72px))!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-grid{min-height:315px!important;grid-template-columns:41% 59%!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy{padding:25px 28px 24px 10px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy .ffprd-breadcrumb{font-size:11px!important;margin-bottom:12px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy .ffprd-page-eyebrow{font-size:11px!important;margin-bottom:9px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy h1{font-size:42px!important;line-height:1.02!important;max-width:510px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-rule{margin:11px 0 10px!important;width:42px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy>p{font-size:12px!important;line-height:1.48!important;max-width:500px!important;margin-bottom:12px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-primary,
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-secondary{min-height:34px!important;padding:0 15px!important;font-size:10.5px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art{min-height:315px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}

  body.ffprd-page-federation-v4 .ffprd-fedintro{padding:20px 0 18px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-grid{grid-template-columns:49% 51%!important;gap:28px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-photo{aspect-ratio:1.97/1!important;border-radius:9px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-copy h2{font-size:25px!important;line-height:1.05!important}
  body.ffprd-page-federation-v4 .ffprd-standard-section-rule{margin:8px 0 10px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-text{font-size:10.2px!important;line-height:1.45!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-text p{margin:0 0 8px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-badges{gap:9px!important;margin-top:12px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge{min-height:42px!important;padding:7px 10px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge .ffprd-icon{width:28px!important;height:28px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge strong{font-size:10px!important}

  body.ffprd-page-federation-v4 .ffprd-feddims{padding:10px 0 18px!important}
  body.ffprd-page-federation-v4 .ffprd-feddims-title{margin-bottom:10px!important}
  body.ffprd-page-federation-v4 .ffprd-feddims-title h2{font-size:16px!important}
  body.ffprd-page-federation-v4 .ffprd-feddims-grid{gap:6px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-card{min-height:108px!important;grid-template-columns:54px minmax(0,1fr) 38%!important;gap:10px!important;padding:10px 0 10px 11px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-icon{width:44px!important;height:44px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-icon .ffprd-icon{width:30px!important;height:30px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-copy h3{font-size:12.5px!important;margin-bottom:4px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-copy p{font-size:8.8px!important;line-height:1.34!important;margin:0!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-photo{width:38%!important;height:100%!important}

  body.ffprd-page-federation-v4 .ffprd-fedtransition{min-height:176px!important;grid-template-columns:40% 60%!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner{width:min(610px,calc(100% - 36px))!important;padding:25px 24px 22px 0!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner h2{font-size:21px!important;line-height:1.08!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner>span{margin:8px 0 8px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner p{font-size:9.4px!important;line-height:1.45!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-photo{min-height:176px!important}

  body.ffprd-page-federation-v4 .ffprd-fedtools{padding:16px 0 16px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtools-title{margin-bottom:9px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtools-title h2{font-size:16px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtools-grid{gap:12px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-card{min-height:164px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-image{height:68px!important;flex-basis:68px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-body{padding:7px 10px 10px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-body strong{font-size:11px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-body p{font-size:8.5px!important;line-height:1.34!important;margin-top:4px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtools-action{margin-top:8px!important}

  body.ffprd-page-federation-v4 .ffprd-fedrisks{padding:14px 0 15px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisks-heading{margin-bottom:9px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisks-heading h2{font-size:15px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisks-heading p{font-size:8.5px!important;margin-top:4px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisks-grid{gap:7px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card{min-height:93px!important;gap:5px!important;padding:8px 6px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card .ffprd-icon{width:38px!important;height:38px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card strong{font-size:7.8px!important;line-height:1.23!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisks-action{margin-top:7px!important}

  body.ffprd-page-federation-v4 .ffprd-fedcta{min-height:106px!important;padding:13px 0 10px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta h2{font-size:18px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-rule{margin:5px 0 8px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid{width:69%!important;max-width:820px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid a{min-height:52px!important;gap:7px!important;padding:6px 10px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid .ffprd-icon{width:28px!important;height:28px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid strong{font-size:9px!important}
}

/* Native-reference crops: never soften them with CSS effects. */
body.ffprd-page-home-v4 img[src*="ref-v410"],
body.ffprd-page-federation-v4 img[src*="ref-v410"]{filter:none!important;transform:none!important;opacity:1!important;image-rendering:auto!important;backface-visibility:visible!important}

/* V4.1b calibration for desktop browser zoom / high-density screenshots */
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-inner{min-height:640px!important}
body.ffprd-page-home-v4 .ffprd-home2-hero-photo .ffprd-home2-hero-art{min-height:640px!important}

@media (min-width:768px){
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-grid{min-height:405px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy{padding:36px 30px 32px 12px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy h1{font-size:50px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy>p{font-size:13.2px!important;line-height:1.5!important;margin-bottom:15px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-primary,
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-secondary{min-height:38px!important;font-size:11.2px!important}
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art{min-height:405px!important}

  body.ffprd-page-federation-v4 .ffprd-fedintro{padding:22px 0 20px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-grid{gap:32px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-copy h2{font-size:27px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-text{font-size:10.8px!important}
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge{min-height:48px!important}

  body.ffprd-page-federation-v4 .ffprd-feddims{padding:13px 0 22px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-card{min-height:145px!important;grid-template-columns:60px minmax(0,1fr) 39%!important;padding:13px 0 13px 13px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-icon{width:50px!important;height:50px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-copy h3{font-size:14px!important}
  body.ffprd-page-federation-v4 .ffprd-feddim-copy p{font-size:9.8px!important;line-height:1.4!important}

  body.ffprd-page-federation-v4 .ffprd-fedtransition{min-height:245px!important;grid-template-columns:42% 58%!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner{padding:35px 30px 30px 0!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner h2{font-size:25px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner p{font-size:10.8px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtransition-photo{min-height:245px!important}

  body.ffprd-page-federation-v4 .ffprd-fedtools{padding:18px 0 19px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-card{min-height:190px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-image{height:82px!important;flex-basis:82px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-body strong{font-size:11.5px!important}
  body.ffprd-page-federation-v4 .ffprd-fedtool-body p{font-size:9px!important}

  body.ffprd-page-federation-v4 .ffprd-fedrisks{padding:17px 0 18px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card{min-height:110px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card .ffprd-icon{width:44px!important;height:44px!important}
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card strong{font-size:8.6px!important}

  body.ffprd-page-federation-v4 .ffprd-fedcta{min-height:145px!important;padding:18px 0 15px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta h2{font-size:21px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid a{min-height:64px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid .ffprd-icon{width:32px!important;height:32px!important}
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid strong{font-size:10px!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.2 — FEDERATION ONLY calibration
   Home, Header and Footer intentionally untouched.
   Goal: larger typography, tighter vertical rhythm, proportions
   closer to the locked 1024x1536 Federation reference.
   ========================================================= */
@media (min-width:768px){
  body.ffprd-page-federation-v4 .ffprd-container,
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3 .ffprd-container{
    width:min(1640px,calc(100% - 96px))!important;
    max-width:none!important;
  }

  /* HERO */
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-grid{
    min-height:332px!important;
    grid-template-columns:39% 61%!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy{
    padding:26px 28px 24px 0!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy .ffprd-breadcrumb{
    font-size:13px!important;
    margin-bottom:12px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy .ffprd-page-eyebrow{
    font-size:13px!important;
    margin-bottom:10px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy h1{
    font-size:58px!important;
    line-height:1.01!important;
    letter-spacing:-.043em!important;
    max-width:540px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-rule{
    width:46px!important;
    height:3px!important;
    margin:11px 0 11px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-copy>p{
    font-size:15px!important;
    line-height:1.48!important;
    max-width:520px!important;
    margin-bottom:14px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-primary,
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-secondary{
    min-height:39px!important;
    padding:0 17px!important;
    font-size:12px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art{
    min-height:332px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedhero-v3-art img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* INTRO */
  body.ffprd-page-federation-v4 .ffprd-fedintro{
    padding:20px 0 18px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-grid{
    grid-template-columns:49% 51%!important;
    gap:34px!important;
    align-items:center!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-photo{
    aspect-ratio:1.90/1!important;
    border-radius:10px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-copy h2{
    font-size:34px!important;
    line-height:1.05!important;
  }
  body.ffprd-page-federation-v4 .ffprd-standard-section-rule{
    margin:9px 0 11px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-text{
    font-size:13.5px!important;
    line-height:1.48!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-text p{
    margin:0 0 9px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-badges{
    gap:10px!important;
    margin-top:13px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge{
    min-height:47px!important;
    padding:8px 11px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge .ffprd-icon{
    width:30px!important;
    height:30px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedintro-badge strong{
    font-size:12px!important;
  }

  /* 4 DIMENSIONS */
  body.ffprd-page-federation-v4 .ffprd-feddims{
    padding:9px 0 17px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddims-title{
    margin-bottom:10px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddims-title h2{
    font-size:20px!important;
    line-height:1.16!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddims-grid{
    gap:7px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddim-card{
    min-height:118px!important;
    aspect-ratio:auto!important;
    grid-template-columns:54px minmax(0,1fr) 38%!important;
    gap:11px!important;
    padding:10px 0 10px 11px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddim-icon{
    width:46px!important;
    height:46px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddim-icon .ffprd-icon{
    width:31px!important;
    height:31px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddim-copy h3{
    font-size:16px!important;
    margin-bottom:4px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddim-copy p{
    font-size:11.5px!important;
    line-height:1.35!important;
    margin:0!important;
  }
  body.ffprd-page-federation-v4 .ffprd-feddim-photo{
    width:38%!important;
    height:100%!important;
  }

  /* TRANSITION */
  body.ffprd-page-federation-v4 .ffprd-fedtransition{
    min-height:190px!important;
    grid-template-columns:41% 59%!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner{
    width:min(650px,calc(100% - 34px))!important;
    padding:28px 26px 24px 0!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner h2{
    font-size:28px!important;
    line-height:1.06!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner>span{
    margin:8px 0 9px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtransition-inner p{
    font-size:12px!important;
    line-height:1.45!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtransition-photo{
    min-height:190px!important;
  }

  /* HISTORICAL TOOLS — remove the giant empty cards */
  body.ffprd-page-federation-v4 .ffprd-fedtools{
    padding:14px 0 14px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtools-title{
    margin-bottom:9px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtools-title h2{
    font-size:20px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtools-grid{
    gap:14px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtool-card{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    display:flex!important;
    flex-direction:column!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtool-image{
    height:88px!important;
    flex:0 0 88px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtool-body{
    min-height:77px!important;
    padding:8px 10px 10px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtool-body strong{
    font-size:13px!important;
    line-height:1.25!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtool-body p{
    font-size:10px!important;
    line-height:1.35!important;
    margin:4px 24px 0 0!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtool-body b{
    right:9px!important;
    bottom:7px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedtools-action{
    margin-top:8px!important;
  }

  /* RISKS — compact cards, readable labels */
  body.ffprd-page-federation-v4 .ffprd-fedrisks{
    padding:13px 0 14px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisks-heading{
    margin-bottom:8px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisks-heading h2{
    font-size:18px!important;
    line-height:1.15!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisks-heading p{
    font-size:10.5px!important;
    margin-top:4px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisks-grid{
    gap:8px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card{
    min-height:94px!important;
    height:auto!important;
    aspect-ratio:auto!important;
    gap:6px!important;
    padding:9px 7px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card .ffprd-icon{
    width:42px!important;
    height:42px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisk-card strong{
    font-size:10.5px!important;
    line-height:1.24!important;
    max-width:155px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedrisks-action{
    margin-top:8px!important;
  }

  /* CTA */
  body.ffprd-page-federation-v4 .ffprd-fedcta{
    min-height:112px!important;
    padding:13px 0 10px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedcta h2{
    font-size:22px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedcta-rule{
    margin:5px 0 7px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid{
    width:70%!important;
    max-width:880px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid a{
    min-height:50px!important;
    gap:7px!important;
    padding:6px 10px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid .ffprd-icon{
    width:29px!important;
    height:29px!important;
  }
  body.ffprd-page-federation-v4 .ffprd-fedcta-grid strong{
    font-size:10.5px!important;
  }
}

/* =========================================================
   FFPRD Elementor Studio V4.3.0 — HOME HERO responsive HD
   Scope volontairement limité au Hero de la Home.
   ========================================================= */
body.ffprd-page-home-v4 .ffprd-home2-hero-v430,
.ffprd-home2-hero-v430{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(108deg,#fff 0%,#fbfdff 50%,#f3f8fd 100%)!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-inner,
.ffprd-home2-hero-v430 .ffprd-home2-hero-inner{
  display:grid!important;
  grid-template-columns:minmax(0,49%) minmax(0,51%)!important;
  align-items:center!important;
  min-height:0!important;
  width:100%!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy,
.ffprd-home2-hero-v430 .ffprd-home2-hero-copy{
  align-self:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:clamp(48px,4.2vw,82px) clamp(28px,3vw,54px) clamp(48px,4.2vw,82px) max(92px,calc((100vw - 1680px)/2 + 56px))!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor,
.ffprd-home2-hero-v430 .ffprd-home2-title-tricolor{
  max-width:680px!important;
  margin:0 0 24px!important;
  font-size:clamp(64px,4.6vw,88px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor .t1,
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor .t2,
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor .t3,
.ffprd-home2-hero-v430 .ffprd-home2-title-tricolor .t1,
.ffprd-home2-hero-v430 .ffprd-home2-title-tricolor .t2,
.ffprd-home2-hero-v430 .ffprd-home2-title-tricolor .t3{
  display:block!important;
  margin:0!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p,
.ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p{
  max-width:640px!important;
  margin:0 0 30px!important;
  font-size:17.5px!important;
  line-height:1.62!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-art,
.ffprd-home2-hero-v430 .ffprd-home2-hero-art{
  position:relative!important;
  align-self:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:1672 / 941!important;
  overflow:hidden!important;
  background:#f5f8fb!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-art img,
.ffprd-home2-hero-v430 .ffprd-home2-hero-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  image-rendering:auto!important;
  filter:none!important;
  transform:none!important;
}
body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-side-motif,
.ffprd-home2-hero-v430 .ffprd-home2-hero-side-motif{
  left:-10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:126px!important;
  height:390px!important;
  opacity:.78!important;
}

/* Large tablet / petit laptop : encore en 2 colonnes, mais texte prioritaire. */
@media (max-width:1280px){
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-inner,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-inner{
    grid-template-columns:minmax(0,48%) minmax(0,52%)!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-copy{
    padding:46px 28px 46px 54px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor,
  .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor{
    font-size:clamp(54px,5.2vw,70px)!important;
    max-width:560px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p{
    font-size:15.5px!important;
    max-width:520px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-side-motif,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-side-motif{
    width:92px!important;
    height:310px!important;
  }
}

/* Tablette : on empile proprement pour ne jamais écraser l'image ni le texte. */
@media (max-width:920px){
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-inner,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-inner{
    grid-template-columns:1fr!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-copy{
    padding:46px 34px 34px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor,
  .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor{
    font-size:clamp(52px,8.5vw,72px)!important;
    max-width:700px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p{
    max-width:650px!important;
    font-size:16px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-art,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-art{
    width:100%!important;
    aspect-ratio:1672 / 941!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-side-motif,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-side-motif{
    display:none!important;
  }
}

/* Mobile */
@media (max-width:600px){
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-copy{
    padding:34px 20px 26px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor,
  .ffprd-home2-hero-v430 .ffprd-home2-title-tricolor{
    font-size:clamp(43px,13vw,58px)!important;
    line-height:1!important;
    margin-bottom:20px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-copy>p{
    font-size:14.5px!important;
    line-height:1.58!important;
    margin-bottom:22px!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-hero-actions,
  .ffprd-home2-hero-v430 .ffprd-home2-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-primary,
  body.ffprd-page-home-v4 .ffprd-home2-hero-v430 .ffprd-home2-secondary,
  .ffprd-home2-hero-v430 .ffprd-home2-primary,
  .ffprd-home2-hero-v430 .ffprd-home2-secondary{
    width:100%!important;
    min-height:50px!important;
    justify-content:center!important;
    font-size:14px!important;
  }
}

/* =========================================================
   FFPRD Elementor Studio V4.5.0 — HOME Elementor Style controls
   Valeur par défaut plus lisible pour les piliers Fédération.
   ========================================================= */
body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points b,
.ffprd-home3-intro .ffprd-home2-points b{
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
@media (max-width:920px){
  body.ffprd-page-home-v4 .ffprd-home3-intro .ffprd-home2-points b,
  .ffprd-home3-intro .ffprd-home2-points b{font-size:13px!important;}
}

/* =========================================================
   FFPRD Elementor Studio V4.5.0 — Hero Home réellement empilable
   - Desktop : texte légèrement prioritaire (52/48 par défaut)
   - Tablette/petit laptop : image passe sous le texte
   - Image mobile optionnelle via <picture>
   ========================================================= */
body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art picture,
.elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art picture,
.ffprd-home2-hero-v450 .ffprd-home2-hero-art picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art img,
.elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art img,
.ffprd-home2-hero-v450 .ffprd-home2-hero-art img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Breakpoints sélectionnables depuis l'onglet Style.
   La spécificité élevée est volontaire pour prendre le dessus sur les styles
   responsive générés par Elementor pour la largeur desktop. */
@media (max-width:1200px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-1200 .ffprd-home2-hero-inner,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-1200 .ffprd-home2-hero-inner{
    grid-template-columns:1fr!important;
    display:grid!important;
  }
}
@media (max-width:1100px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-1100 .ffprd-home2-hero-inner,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-1100 .ffprd-home2-hero-inner{
    grid-template-columns:1fr!important;
    display:grid!important;
  }
}
@media (max-width:1024px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-1024 .ffprd-home2-hero-inner,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-1024 .ffprd-home2-hero-inner{
    grid-template-columns:1fr!important;
    display:grid!important;
  }
}
@media (max-width:920px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-920 .ffprd-home2-hero-inner,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450.ffprd-stack-920 .ffprd-home2-hero-inner{
    grid-template-columns:1fr!important;
    display:grid!important;
  }
}

/* Dès que le Hero est empilé, l'image devient une vraie seconde ligne pleine largeur. */
@media (max-width:1200px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1200) .ffprd-home2-hero-copy,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1200) .ffprd-home2-hero-copy{
    padding:46px clamp(24px,5vw,64px) 34px!important;
  }
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1200) .ffprd-home2-hero-art,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1200) .ffprd-home2-hero-art{
    width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1672/941!important;
  }
}
@media (max-width:1100px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1100) .ffprd-home2-hero-copy,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1100) .ffprd-home2-hero-copy{
    padding:46px clamp(24px,5vw,64px) 34px!important;
  }
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1100) .ffprd-home2-hero-art,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1100) .ffprd-home2-hero-art{
    width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1672/941!important;
  }
}
@media (max-width:1024px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1024) .ffprd-home2-hero-copy,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1024) .ffprd-home2-hero-copy{
    padding:44px clamp(22px,5vw,54px) 32px!important;
  }
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1024) .ffprd-home2-hero-art,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-1024) .ffprd-home2-hero-art{
    width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1672/941!important;
  }
}
@media (max-width:920px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-920) .ffprd-home2-hero-copy,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-920) .ffprd-home2-hero-copy{
    padding:42px clamp(20px,5vw,48px) 30px!important;
  }
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-920) .ffprd-home2-hero-art,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450:is(.ffprd-stack-920) .ffprd-home2-hero-art{
    width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1672/941!important;
  }
}

/* Mobile : image sous les CTA, pleine largeur, pas de hauteur fixe ni recadrage bizarre. */
@media (max-width:600px){
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-copy,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-copy{
    padding:32px 20px 26px!important;
  }
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art{
    aspect-ratio:1672/941!important;
    min-height:0!important;
    height:auto!important;
  }
  body.ffprd-page-home-v4 .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art picture,
  .elementor-widget-ffprd-home-hero-v2 .ffprd-home2-hero-v450 .ffprd-home2-hero-art picture{
    aspect-ratio:1672/941!important;
  }
}

/* =========================================================
   FFPRD Elementor Studio V4.7 — Responsive controls pass
   Footer + Soutiens carousel + Chiffres mobile
   ========================================================= */
.ffprd-home2-support-carousel{
  --ffprd-support-per-view:6;
  --ffprd-support-gap:14px;
  min-height:100px;
  border-radius:50px;
  background:#fff;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  box-shadow:0 5px 22px rgba(8,47,115,.04);
  overflow:hidden;
}
.ffprd-support-viewport{min-width:0;overflow:hidden;width:100%}
.ffprd-support-track{display:flex;align-items:center;gap:var(--ffprd-support-gap);will-change:transform;transition:transform .42s cubic-bezier(.2,.75,.25,1)}
.ffprd-support-item{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:86px;min-width:0;text-decoration:none!important;box-sizing:border-box}
.ffprd-support-item img{display:block;width:auto;height:auto;max-width:150px;max-height:68px;object-fit:contain}
.ffprd-support-item b{font-size:13px;color:#082f73;text-align:center}
.ffprd-support-nav{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#0b4597;font:inherit;font-size:38px;line-height:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer;padding:0;transition:opacity .2s ease,transform .2s ease}
.ffprd-support-nav:hover{transform:scale(1.08)}
.ffprd-support-nav:disabled{opacity:.22;cursor:default;transform:none}

/* Footer : structure sûre même avant génération du CSS Elementor responsive. */
.ffprd-footer-v2-grid>*{min-width:0}
.ffprd-footer-v2-brand img{display:inline-block;max-width:100%;height:auto}
.ffprd-footer-v2-news,.ffprd-footer-v2-news form{min-width:0}
.ffprd-footer-v2 .ffprd-newsletter-demo{display:flex;width:100%;max-width:100%}
.ffprd-footer-v2 .ffprd-newsletter-demo input{min-width:0;flex:1 1 auto;max-width:100%}
.ffprd-footer-v2 .ffprd-newsletter-demo button{flex:0 0 auto}
.ffprd-footer-v2-members{max-width:100%;box-sizing:border-box}

/* Chiffres : le padding mobile ne doit plus être écrasé par les anciennes règles. */
@media (max-width:1024px){
  .ffprd-footer-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:30px!important;row-gap:34px!important;padding:44px 0 38px!important}
  .ffprd-home2-support-carousel{--ffprd-support-per-view:3;--ffprd-support-gap:12px;grid-template-columns:38px minmax(0,1fr) 38px;border-radius:42px;padding:10px 12px}
  .ffprd-support-item{height:76px}.ffprd-support-item img{max-height:58px;max-width:135px}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px 0!important;min-height:0!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat{padding:18px 22px!important;min-height:100px!important}
}
@media (max-width:767px){
  .ffprd-footer-v2-grid{grid-template-columns:1fr!important;gap:30px!important;padding:36px 20px 30px!important;text-align:center!important}
  .ffprd-footer-v2-brand,.ffprd-footer-v2-news{display:block;text-align:center!important}
  .ffprd-footer-v2-brand img{width:min(190px,72vw)!important;margin-left:auto!important;margin-right:auto!important}
  .ffprd-footer-v2-brand>p{max-width:320px!important;margin-left:auto!important;margin-right:auto!important}
  .ffprd-footer-v2-social{justify-content:center!important}
  .ffprd-footer-v2-links,.ffprd-footer-v2-contact,.ffprd-footer-v2-docs{align-items:center!important}
  .ffprd-footer-v2 .ffprd-newsletter-demo{flex-direction:column!important;gap:8px!important;max-width:360px;margin-left:auto;margin-right:auto}
  .ffprd-footer-v2 .ffprd-newsletter-demo input,.ffprd-footer-v2 .ffprd-newsletter-demo button{width:100%!important;border-radius:5px!important}
  .ffprd-footer-v2-members{justify-content:center!important;margin-left:auto!important;margin-right:auto!important}
  .ffprd-footer-v2-bottom>.ffprd-container{justify-content:center!important;text-align:center!important;padding-left:18px;padding-right:18px}

  .ffprd-home2-supporters .ffprd-home2-container{width:calc(100% - 24px)!important}
  .ffprd-home2-support-carousel{--ffprd-support-per-view:2;--ffprd-support-gap:8px;grid-template-columns:32px minmax(0,1fr) 32px;min-height:88px;border-radius:34px;padding:8px}
  .ffprd-support-item{height:68px;padding:4px}.ffprd-support-item img{max-height:48px;max-width:110px}
  .ffprd-support-nav{font-size:30px}

  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-container{width:calc(100% - 24px)!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat-grid{grid-template-columns:1fr!important;padding:28px 0!important;min-height:0!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat{grid-template-columns:48px minmax(0,1fr)!important;gap:16px!important;padding:20px!important;min-height:96px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat:last-child{border-bottom:0!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat .ffprd-icon{width:48px!important;height:48px!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat strong{font-size:28px!important}
  body.ffprd-page-home-v4 .ffprd-home2-stats .ffprd-home2-stat span{font-size:12px!important;max-width:none!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.7 — Off-canvas menu + footer/newsletter
   + red interaction states
   ========================================================= */

/* Newsletter: the paragraph follows the full width/alignment of its column. */
.ffprd-footer-v2-news{width:100%;min-width:0}
.ffprd-footer-v2-news>p{width:100%!important;max-width:none!important;box-sizing:border-box;margin-left:auto!important;margin-right:auto!important}
.ffprd-footer-v2-news>h3{width:100%}
.ffprd-footer-v2-news .ffprd-newsletter-demo{margin-left:auto;margin-right:auto}

/* Strong FFPR red instead of pale/pink hover states. */
.ffprd-support-nav:not(:disabled):hover,
.ffprd-support-nav:not(:disabled):focus-visible{
  background:var(--ffprd-red,#e52a20)!important;
  color:#fff!important;
  border-radius:50%;
  transform:scale(1.04);
  outline:none;
}
.ffprd-menu-toggle:hover span,.ffprd-menu-toggle:focus-visible span{background:var(--ffprd-red,#e52a20)!important}
.ffprd-menu-toggle:focus-visible{outline:2px solid var(--ffprd-red,#e52a20);outline-offset:4px;border-radius:6px}

/* Off-canvas navigation shell: hidden on desktop. */
.ffprd-menu-overlay,.ffprd-mobile-drawer{display:none}
html.ffprd-drawer-open,body.ffprd-drawer-open{overflow:hidden!important}

@media (max-width:1024px){
  /* Desktop navigation disappears; hamburger remains in the header grid. */
  .ffprd-header-v2 .ffprd-menu-desktop{display:none!important}
  .ffprd-header-v2 .ffprd-menu-toggle{display:block!important;position:relative;z-index:100001}

  .ffprd-menu-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.66);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease,visibility .28s ease;
    z-index:99998;
  }
  .ffprd-menu-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}

  .ffprd-mobile-drawer{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:min(40vw,420px);
    max-width:420px;
    min-width:320px;
    height:100vh;
    height:100dvh;
    padding:26px;
    background:#fff;
    box-sizing:border-box;
    transform:translate3d(104%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .34s cubic-bezier(.22,.75,.2,1),visibility .34s ease;
    box-shadow:-18px 0 48px rgba(0,0,0,.2);
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:99999;
  }
  .ffprd-mobile-drawer.is-open{transform:translate3d(0,0,0);visibility:visible;pointer-events:auto}
  .ffprd-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:16px;border-bottom:1px solid #e1e8f2}
  .ffprd-mobile-drawer-title{margin:0;color:var(--ffprd-navy,#082f73);font-size:25px;line-height:1.15;font-weight:800;letter-spacing:-.02em}
  .ffprd-mobile-drawer-close{appearance:none;-webkit-appearance:none;width:42px;height:42px;flex:0 0 42px;border:1px solid #d9e2ee;border-radius:50%;background:#fff;color:var(--ffprd-navy,#082f73);font-size:31px;line-height:1;font-weight:400;display:grid;place-items:center;padding:0 0 4px;cursor:pointer;transition:.2s ease}
  .ffprd-mobile-drawer-close:hover,.ffprd-mobile-drawer-close:focus-visible{color:var(--ffprd-red,#e52a20);border-color:var(--ffprd-red,#e52a20);background:#fff;outline:none}
  .ffprd-mobile-drawer-nav{display:block;width:100%;padding:4px 0 24px}
  .ffprd-mobile-drawer .ffprd-menu-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%;margin:0!important;padding:0!important;list-style:none!important}
  .ffprd-mobile-drawer .ffprd-menu-list>li{display:block!important;width:100%;padding:0!important;margin:0 0 6px!important;border-bottom:1px solid #edf1f6}
  .ffprd-mobile-drawer .ffprd-menu-list>li>a{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%;box-sizing:border-box;padding:14px 2px!important;color:var(--ffprd-navy,#082f73)!important;font-size:16px!important;line-height:1.3!important;font-weight:700!important;text-decoration:none!important;transition:color .18s ease,padding-left .18s ease}
  .ffprd-mobile-drawer .ffprd-menu-list>li>a:hover,.ffprd-mobile-drawer .ffprd-menu-list>li>a:focus,.ffprd-mobile-drawer .ffprd-menu-list>.current-menu-item>a{color:var(--ffprd-red,#e52a20)!important;padding-left:6px!important}
  .ffprd-mobile-drawer .ffprd-menu-list .sub-menu{position:static!important;display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:0 0 10px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;list-style:none!important}
  .ffprd-mobile-drawer .ffprd-menu-list .sub-menu li{padding:0!important;margin:0!important}
  .ffprd-mobile-drawer .ffprd-menu-list .sub-menu a{display:block!important;padding:7px 0!important;color:#526783!important;font-size:13.5px!important;font-weight:600!important;text-decoration:none!important}
  .ffprd-mobile-drawer .ffprd-menu-list .sub-menu a:hover,.ffprd-mobile-drawer .ffprd-menu-list .sub-menu a:focus{color:var(--ffprd-red,#e52a20)!important}
}

@media (max-width:767px){
  /* On phones, a 33–40% drawer is too narrow for readable navigation.
     88vw with a 390px cap follows the common mobile drawer pattern. */
  .ffprd-mobile-drawer{width:min(88vw,390px);max-width:390px;min-width:0;padding:22px}
  .ffprd-mobile-drawer-title{font-size:23px}
  .ffprd-mobile-drawer .ffprd-menu-list>li>a{font-size:16px!important;padding:13px 2px!important}
  .ffprd-footer-v2-news>p{width:100%!important;max-width:none!important;text-align:center!important;padding-left:0!important;padding-right:0!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.8 — interaction + drawer hardening
   ========================================================= */

/* The FFPRD brand red must never inherit Elementor's Accent color.
   This prevents themes/global kits using pink/magenta from leaking into widgets. */
:root{--ffprd-red:var(--ffprd-fallback-red,#e52a20)!important}

/* Reset theme/global button skins. Only the arrow glyph changes color. */
.ffprd-support-nav,
.ffprd-support-nav:hover,
.ffprd-support-nav:focus,
.ffprd-support-nav:focus-visible,
.ffprd-support-nav:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
}
.ffprd-support-nav:not(:disabled):hover,
.ffprd-support-nav:not(:disabled):focus,
.ffprd-support-nav:not(:disabled):focus-visible,
.ffprd-support-nav:not(:disabled):active{
  color:var(--ffprd-red,#e52a20)!important;
  background:transparent!important;
  transform:scale(1.08);
}

/* Hamburger: no pink button surface from theme styles. */
.ffprd-menu-toggle,
.ffprd-menu-toggle:hover,
.ffprd-menu-toggle:focus,
.ffprd-menu-toggle:focus-visible,
.ffprd-menu-toggle:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  min-height:46px!important;
  padding:8px!important;
  margin:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:7px!important;
  box-shadow:none!important;
  outline:none!important;
}
.ffprd-menu-toggle:hover span,
.ffprd-menu-toggle:focus-visible span,
.ffprd-menu-toggle:active span{background:var(--ffprd-red,#e52a20)!important}

/* Drawer close: white circular control; only glyph/border become red. */
.ffprd-mobile-drawer-close,
.ffprd-mobile-drawer-close:focus{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0 0 4px!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:var(--ffprd-navy,#082f73)!important;
  border:1px solid #d9e2ee!important;
  border-radius:50%!important;
  box-shadow:none!important;
  outline:none!important;
}
.ffprd-mobile-drawer-close:hover,
.ffprd-mobile-drawer-close:focus-visible,
.ffprd-mobile-drawer-close:active{
  background:#fff!important;
  background-color:#fff!important;
  color:var(--ffprd-red,#e52a20)!important;
  border-color:var(--ffprd-red,#e52a20)!important;
  box-shadow:none!important;
}

@media (max-width:1024px){
  /* Keep the off-canvas above page content and footer. WordPress admin bar
     remains above because its z-index is 99999. */
  body.ffprd-drawer-open .elementor-location-header{
    position:relative!important;
    z-index:99990!important;
    overflow:visible!important;
  }
  body.ffprd-drawer-open .elementor-location-footer{z-index:1!important}
  body.ffprd-drawer-open .elementor-location-header .elementor-widget-ffprd-header,
  body.ffprd-drawer-open .elementor-location-header .elementor-widget-ffprd-header>.elementor-widget-container,
  body.ffprd-drawer-open .ffprd-header-wrap,
  body.ffprd-drawer-open .ffprd-mainnav{
    overflow:visible!important;
    z-index:99991!important;
  }
  .ffprd-menu-overlay{z-index:99992!important}
  .ffprd-mobile-drawer{z-index:99993!important}

  /* Explicitly neutralize any theme button colors while drawer is open. */
  .ffprd-header-v2 .ffprd-menu-toggle{background:transparent!important;background-color:transparent!important}
  .ffprd-mobile-drawer-close{background:#fff!important;background-color:#fff!important}
}


/* =========================================================
   FFPRD Elementor Studio V4.10 — Desktop dropdown navigation
   Modern, centered and aligned with the parent menu item.
   ========================================================= */
@media (min-width:1025px){
  .ffprd-header-v2 .ffprd-menu-desktop{
    overflow:visible!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{
    overflow:visible!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    align-self:stretch!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li>a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:46px;
    padding:12px 0!important;
  }

  /* Clean CSS chevron instead of the font glyph used by older versions. */
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>.menu-item-has-children>a:after{
    content:""!important;
    width:6px!important;
    height:6px!important;
    margin-left:9px!important;
    border-right:1.8px solid currentColor!important;
    border-bottom:1.8px solid currentColor!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transform-origin:center!important;
    transition:transform .2s ease!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>.menu-item-has-children:hover>a:after,
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>.menu-item-has-children:focus-within>a:after{
    transform:translateY(2px) rotate(225deg)!important;
  }

  /* Small red underline keeps the current/hover state anchored to the parent. */
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li>a:before{
    content:"";
    position:absolute;
    left:50%;
    bottom:3px;
    width:0;
    height:2px;
    border-radius:99px;
    background:var(--ffprd-red,#e52a20);
    transform:translateX(-50%);
    transition:width .2s ease;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li:hover>a:before,
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li:focus-within>a:before,
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>.current-menu-item>a:before,
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>.current-menu-parent>a:before,
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>.current-menu-ancestor>a:before{
    width:32px;
  }

  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu{
    display:block!important;
    position:absolute!important;
    top:calc(100% + 14px)!important;
    left:50%!important;
    right:auto!important;
    min-width:290px!important;
    width:290px!important;
    margin:0!important;
    padding:10px!important;
    box-sizing:border-box!important;
    list-style:none!important;
    background:#fff!important;
    border:1px solid #dce6f3!important;
    border-radius:14px!important;
    box-shadow:0 18px 50px rgba(8,47,115,.16),0 3px 10px rgba(8,47,115,.06)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,9px)!important;
    transform-origin:50% 0;
    transition:opacity .18s ease,transform .2s ease,visibility .18s ease!important;
    z-index:10020!important;
  }

  /* Invisible bridge prevents the dropdown from closing in the small gap. */
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
    background:transparent;
  }
  /* Brand accent: short red stroke, not a pink surface. */
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu:after{
    content:"";
    position:absolute;
    top:-1px;
    left:18px;
    width:46px;
    height:3px;
    border-radius:0 0 6px 6px;
    background:var(--ffprd-red,#e52a20);
  }

  .ffprd-header-v2 .ffprd-menu-desktop li:hover>.sub-menu,
  .ffprd-header-v2 .ffprd-menu-desktop li:focus-within>.sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0)!important;
  }

  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu li+li{
    margin-top:2px!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:44px!important;
    padding:10px 13px!important;
    box-sizing:border-box!important;
    border-radius:9px!important;
    color:var(--ffprd-navy,#082f73)!important;
    background:transparent!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:700!important;
    white-space:normal!important;
    text-align:left!important;
    transition:color .16s ease,background .16s ease,transform .16s ease!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu a:hover,
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu a:focus{
    color:var(--ffprd-red,#e52a20)!important;
    background:#eef5ff!important;
    transform:translateX(2px);
    outline:none!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop .sub-menu .current-menu-item>a{
    color:var(--ffprd-red,#e52a20)!important;
    background:#eef5ff!important;
    box-shadow:inset 3px 0 0 var(--ffprd-red,#e52a20);
  }
}

/* =========================================================
   FFPRD Elementor Studio V4.12 — client proposal refinements
   ========================================================= */

/* Header: more room for navigation when search is disabled. */
@media (min-width:1025px){
  .ffprd-header-v2 .ffprd-header-v2-actions{gap:0!important;flex:0 0 auto!important}
  .ffprd-header-v2 .ffprd-menu-desktop{flex:1 1 auto!important;min-width:0!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{justify-content:flex-end!important}
}

/* Cohesive, modern button motion. */
.ffprd-btn,.ffprd-home2-primary,.ffprd-home2-secondary,.ffprd-home2-outline,.ffprd-footer-v2-members,.ffprd-newsletter-demo button,
.ffprd-home3-readmore,.ffprd-home2-heading>a,.ffprd-home-tool-btn{
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .22s ease,transform .22s ease!important;
}
.ffprd-btn span,.ffprd-home2-primary span,.ffprd-home2-outline span,.ffprd-footer-v2-members span,.ffprd-home3-readmore span,.ffprd-home2-heading>a span{
  transition:transform .22s ease,color .2s ease!important;
}
.ffprd-btn-red:hover,.ffprd-btn-red:focus-visible,.ffprd-home2-primary-red:hover,.ffprd-home2-primary-red:focus-visible,
.ffprd-newsletter-demo button:hover,.ffprd-newsletter-demo button:focus-visible{
  background:#c9231b!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(229,42,32,.24)!important;
}
.ffprd-home3-cta-button:hover,.ffprd-home3-cta-button:focus-visible,.ffprd-home-tool-btn:hover,.ffprd-home-tool-btn:focus-visible{
  background:#1769c2!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(8,47,115,.20)!important;
}
.ffprd-home2-secondary:hover,.ffprd-home2-secondary:focus-visible,.ffprd-home2-outline:hover,.ffprd-home2-outline:focus-visible{
  background:#082f73!important;border-color:#082f73!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 10px 24px rgba(8,47,115,.14)!important;
}
.ffprd-footer-v2-members:hover,.ffprd-footer-v2-members:focus-visible{
  background:#e52a20!important;border-color:#e52a20!important;color:#fff!important;transform:translateY(-2px)!important;
}
.ffprd-btn:hover span,.ffprd-home2-primary:hover span,.ffprd-home2-outline:hover span,.ffprd-footer-v2-members:hover span,.ffprd-home3-readmore:hover span,.ffprd-home2-heading>a:hover span{transform:translateX(4px)!important}
.ffprd-home3-readmore:hover,.ffprd-home3-readmore:focus-visible,.ffprd-home2-heading>a:hover,.ffprd-home2-heading>a:focus-visible{color:#e52a20!important}

/* Discreet FFPRD blue-white-red signature replacing selected red strokes. */
.ffprd-home3-risk-heading i,.ffprd-home2-heading i,.ffprd-home2-redline,.ffprd-home-tool-rule{
  width:48px!important;height:4px!important;border-radius:99px!important;
  background:linear-gradient(90deg,#082f73 0 31%,#ffffff 31% 64%,#e52a20 64% 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(8,47,115,.12)!important;
}
.ffprd-home-tool-rule{display:block;margin:18px 0 22px!important}

/* New ludo-educational tool + video block. */
.ffprd-home-tool{padding:78px 0 88px;background:#f4f8fd;overflow:hidden;position:relative}
.ffprd-home-tool:before{content:"";position:absolute;width:420px;height:420px;border:1.5px dashed rgba(23,105,194,.22);border-radius:50%;left:-245px;bottom:-235px;pointer-events:none}
.ffprd-home-tool:after{content:"";position:absolute;width:315px;height:315px;border:1.5px dashed rgba(229,42,32,.2);border-radius:50%;left:-180px;bottom:-175px;pointer-events:none}
.ffprd-home-tool-grid{position:relative;z-index:2}
.ffprd-home-tool-copy{position:relative}
.ffprd-home-tool-eyebrow{display:flex;align-items:center;gap:12px;color:#1769c2;font-size:12px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;margin-bottom:14px}
.ffprd-home-tool-eyebrow>span{width:23px;height:23px;border-radius:50%;background:linear-gradient(135deg,#082f73 0 45%,#fff 45% 58%,#e52a20 58% 100%);box-shadow:0 4px 12px rgba(8,47,115,.12)}
.ffprd-home-tool h2{margin:0!important;color:#082f73;font-size:42px!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:800!important;max-width:650px}
.ffprd-home-tool-copy>p{max-width:660px;margin:0 0 24px!important;color:#294263;font-size:15px!important;line-height:1.7!important}
.ffprd-home-tool-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.ffprd-home-tool-badges span{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid #d7e3f2;border-radius:99px;background:#fff;color:#082f73;font-size:11.5px;font-weight:750;box-shadow:0 4px 13px rgba(8,47,115,.04)}
.ffprd-home-tool-video-wrap{position:relative}
.ffprd-home-tool-video{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#061f4d;box-shadow:0 24px 60px rgba(8,47,115,.2)}
.ffprd-home-tool-video:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:inherit;pointer-events:none;z-index:2}
.ffprd-home-tool-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ffprd-home-tool-video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;background:linear-gradient(135deg,#082f73,#1769c2)}
.ffprd-home-tool-video-placeholder span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e52a20;font-size:26px;padding-left:4px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.ffprd-home-tool-video-placeholder strong{font-size:16px}
/* V4.13: composition editoriale asymetrique, pour casser le rythme 50/50 de la Home. */
.ffprd-home-tool-layout-editorial{--ffprd-tool-overlap:54px;--ffprd-tool-video-width:62%;display:grid;grid-template-columns:minmax(0,var(--ffprd-tool-video-width)) minmax(320px,1fr);align-items:center;gap:0;padding:12px 0}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap{grid-column:1;grid-row:1;z-index:1;position:relative;padding:26px 26px 30px;background:linear-gradient(145deg,#082f73 0%,#0d438e 58%,#1769c2 100%);border-radius:24px;box-shadow:0 18px 50px rgba(8,47,115,.14);overflow:hidden}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap:before{content:"";position:absolute;width:220px;height:220px;border:1.5px dashed rgba(255,255,255,.2);border-radius:50%;left:-110px;bottom:-128px;pointer-events:none}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap:after{content:"";position:absolute;width:132px;height:6px;left:42px;bottom:11px;border-radius:99px;background:linear-gradient(90deg,#1769c2 0 36%,#fff 36% 64%,#e52a20 64% 100%);z-index:3;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-video{width:100%;max-width:none;position:relative;z-index:2;box-shadow:0 18px 44px rgba(0,0,0,.2)}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy{grid-column:2;grid-row:1;z-index:3;margin-left:calc(var(--ffprd-tool-overlap) * -1);background:#fff;border:1px solid rgba(8,47,115,.08);border-radius:18px;padding:40px 42px;box-shadow:0 22px 60px rgba(8,47,115,.14)}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy:before{content:"";position:absolute;left:0;top:30px;width:4px;height:72px;border-radius:0 99px 99px 0;background:linear-gradient(180deg,#1769c2 0 44%,#fff 44% 57%,#e52a20 57% 100%);box-shadow:0 0 0 1px rgba(8,47,115,.04)}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy>p{font-size:15.5px!important;line-height:1.72!important}
.ffprd-home-tool-layout-editorial .ffprd-home-tool-video{transform:translateZ(0)}
.ffprd-home-tool-layout-classic{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:52px;align-items:center}
.ffprd-home-tool-layout-classic .ffprd-home-tool-copy{padding:12px 0}
@media(max-width:1180px){.ffprd-home-tool-layout-editorial{--ffprd-tool-video-width:60%;--ffprd-tool-overlap:36px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy{padding:34px 34px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap{padding:22px 22px 26px}}
@media(max-width:1024px){.ffprd-home-tool{padding:58px 0 66px}.ffprd-home-tool-layout-editorial{display:grid;grid-template-columns:1fr;gap:22px;padding:0}.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap{grid-column:1;grid-row:1;width:100%;margin:0!important;padding:22px 22px 26px;border-radius:20px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy{grid-column:1;grid-row:2;width:100%;margin:0!important;padding:34px!important;border-radius:18px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap:after{left:36px;bottom:9px}.ffprd-home-tool-layout-classic{grid-template-columns:1fr;gap:34px}.ffprd-home-tool-layout-classic .ffprd-home-tool-copy{max-width:760px}.ffprd-home-tool-video{max-width:none}}
@media(max-width:767px){.ffprd-home-tool{padding:44px 0 48px}.ffprd-home-tool h2{font-size:30px!important}.ffprd-home-tool-copy>p{font-size:14px!important}.ffprd-home-tool-badges{gap:7px}.ffprd-home-tool-badges span{font-size:10.5px;padding:0 11px}.ffprd-home-tool-btn{width:100%;text-align:center}.ffprd-home-tool-video{border-radius:12px}.ffprd-home-tool-layout-editorial{gap:16px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap{width:100%;padding:14px 14px 18px!important;border-radius:16px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap:before{width:150px;height:150px;left:-75px;bottom:-95px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-video-wrap:after{left:26px;width:96px;height:5px;bottom:7px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy{width:100%;margin:0!important;padding:26px 24px!important;border-radius:15px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-copy:before{top:24px;height:58px}.ffprd-home-tool-layout-editorial .ffprd-home-tool-eyebrow{font-size:10.5px;line-height:1.4}}
/* ========================================================================== */
/* V4.15 — Partenaires institutionnels : majeurs + fédéraux                  */
/* ========================================================================== */
.ffprd-partners-v415{padding:64px 0 58px!important;background:linear-gradient(180deg,#fbfdff 0%,#f3f8fd 100%)!important}
.ffprd-partners-v415 .ffprd-home2-container{max-width:var(--ffprd-max);margin-inline:auto}
.ffprd-partners-heading{text-align:center;max-width:880px;margin:0 auto 38px}
.ffprd-partners-eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;color:#e52a20;margin-bottom:9px}
.ffprd-partners-headline{font-size:36px!important;line-height:1.12!important;letter-spacing:-.02em;margin:0!important;color:#082f73!important;font-weight:800!important}
.ffprd-partners-intro{max-width:760px;margin:14px auto 0!important;font-size:16px!important;line-height:1.65!important;color:#355070!important}
.ffprd-partners-group-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px}
.ffprd-partners-group-head h3{font-size:16px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.05em;margin:0!important;font-weight:800!important;color:#082f73!important}
.ffprd-partners-tricolor{display:grid;grid-template-columns:44px 22px 44px;align-items:center;height:4px;gap:0;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(8,47,115,.03)}
.ffprd-partners-tricolor i{display:block;height:4px}.ffprd-partners-tricolor i:nth-child(1){background:#1769c2}.ffprd-partners-tricolor i:nth-child(2){background:#fff}.ffprd-partners-tricolor i:nth-child(3){background:#e52a20}
.ffprd-partners-major{margin-bottom:32px}
.ffprd-partners-major-grid{--ffprd-major-cols:2;display:grid;grid-template-columns:repeat(var(--ffprd-major-cols),minmax(0,1fr));gap:20px}
.ffprd-partner-major-card{position:relative;display:flex;min-height:164px;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:26px 28px 22px;background:#fff;border:1px solid #dce7f3;border-radius:16px;text-decoration:none!important;overflow:hidden;box-shadow:0 9px 28px rgba(8,47,115,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.ffprd-partner-major-card:hover,.ffprd-partner-major-card:focus-visible{transform:translateY(-3px);box-shadow:0 15px 38px rgba(8,47,115,.10);border-color:#c6d9ed;text-decoration:none!important}
.ffprd-partner-major-accent{position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1769c2 0 33.333%,#fff 33.333% 66.666%,#e52a20 66.666% 100%)}
.ffprd-partner-major-logo{width:100%;min-height:82px;display:flex;align-items:center;justify-content:center}
.ffprd-partner-major-logo img{display:block;width:auto;height:auto;max-width:min(86%,320px);max-height:92px;object-fit:contain}
.ffprd-partner-major-name{font-size:26px;line-height:1.1;color:#082f73;text-align:center;font-weight:800}
.ffprd-partner-major-note{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#f4f8fd;color:#63758e;font-size:11px;line-height:1.1;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.ffprd-partners-federal{margin-top:4px}
.ffprd-partners-federal .ffprd-partners-group-head{margin-bottom:12px}
.ffprd-partners-v415 .ffprd-home2-support-carousel{border:1px solid #e1eaf4;box-shadow:0 7px 24px rgba(8,47,115,.04);min-height:104px}
.ffprd-partners-cta-wrap{text-align:center;margin-top:22px}
.ffprd-partners-cta{display:inline-flex;align-items:center;gap:9px;color:#082f73;font-size:14px;font-weight:800;text-decoration:none!important;padding:8px 2px;border-bottom:1px solid rgba(8,47,115,.24);transition:color .2s ease,border-color .2s ease}
.ffprd-partners-cta span{transition:transform .2s ease}.ffprd-partners-cta:hover,.ffprd-partners-cta:focus-visible{color:#e52a20;border-color:#e52a20}.ffprd-partners-cta:hover span,.ffprd-partners-cta:focus-visible span{transform:translateX(4px)}
@media(max-width:1024px){
  .ffprd-partners-v415{padding:50px 0 48px!important}.ffprd-partners-heading{margin-bottom:30px}.ffprd-partners-headline{font-size:31px!important}.ffprd-partners-major-grid{--ffprd-major-cols:2}.ffprd-partner-major-card{min-height:148px}.ffprd-partner-major-logo img{max-height:82px}
}
@media(max-width:767px){
  .ffprd-partners-v415{padding:38px 0 40px!important}.ffprd-partners-heading{text-align:left;margin-bottom:28px}.ffprd-partners-headline{font-size:28px!important}.ffprd-partners-intro{font-size:15px!important;line-height:1.58!important;margin-top:12px!important}.ffprd-partners-group-head{align-items:flex-end}.ffprd-partners-group-head h3{font-size:14px!important}.ffprd-partners-tricolor{grid-template-columns:26px 12px 26px}.ffprd-partners-major-grid{--ffprd-major-cols:1}.ffprd-partner-major-card{min-height:136px;padding:20px 18px 18px}.ffprd-partner-major-logo{min-height:68px}.ffprd-partner-major-logo img{max-height:74px}.ffprd-partner-major-name{font-size:22px}.ffprd-partners-major{margin-bottom:26px}.ffprd-partners-cta-wrap{margin-top:18px}
}

/* ==========================================================
   V4.16 — Partenaires : hiérarchie sobre, exhaustive, sans
   sur-utilisation de la signature bleu-blanc-rouge.
   ========================================================== */
.ffprd-partners-v416{
  padding:58px 0 52px!important;
  background:#fff!important;
}
.ffprd-partners-v416 .ffprd-home2-container{max-width:var(--ffprd-max);margin-inline:auto}
.ffprd-partners-v416 .ffprd-partners-heading{max-width:820px;margin:0 auto 34px;text-align:center}
.ffprd-partners-v416 .ffprd-partners-eyebrow{
  margin:0 0 7px!important;
  color:#66758a!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.ffprd-partners-v416 .ffprd-partners-headline{
  position:relative;
  margin:0!important;
  padding-bottom:14px;
  color:#082f73!important;
  font-size:36px!important;
  line-height:1.14!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
.ffprd-partners-v416 .ffprd-partners-headline:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:46px;
  height:3px;
  border-radius:99px;
  background:#e52a20;
  transform:translateX(-50%);
}
.ffprd-partners-v416 .ffprd-partners-intro{
  max-width:750px;
  margin:14px auto 0!important;
  color:#52657d!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.ffprd-partners-v416 .ffprd-partners-group-head{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin:0 0 15px;
}
.ffprd-partners-v416 .ffprd-partners-group-head h3{
  position:relative;
  margin:0!important;
  padding-left:15px;
  color:#082f73!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.ffprd-partners-v416 .ffprd-partners-group-head h3:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:18px;
  border-radius:99px;
  background:#e52a20;
  transform:translateY(-50%);
}
.ffprd-partners-v416 .ffprd-partners-tricolor,
.ffprd-partners-v416 .ffprd-partner-major-accent{display:none!important}

.ffprd-partners-v416 .ffprd-partners-major{margin:0 0 34px}
.ffprd-partners-v416 .ffprd-partners-major-grid{
  --ffprd-major-cols:4;
  display:grid;
  grid-template-columns:repeat(var(--ffprd-major-cols),minmax(0,1fr));
  gap:18px;
}
.ffprd-partners-v416 .ffprd-partner-major-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:184px;
  padding:24px 22px 20px;
  border:1px solid #e4eaf1;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
  color:#082f73;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ffprd-partners-v416 .ffprd-partner-major-card:hover,
.ffprd-partners-v416 .ffprd-partner-major-card:focus-visible{
  transform:translateY(-2px);
  border-color:#cfd9e5;
  box-shadow:0 10px 28px rgba(8,47,115,.07);
}
.ffprd-partners-v416 .ffprd-partner-major-logo{
  width:100%;
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ffprd-partners-v416 .ffprd-partner-major-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:92%;
  max-height:112px;
  object-fit:contain;
}
.ffprd-partners-v416 .ffprd-partner-major-name,
.ffprd-partners-v416 .ffprd-partner-fallback-name{
  color:#082f73;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  text-align:center;
}
.ffprd-partners-v416 .ffprd-partner-major-note{
  margin-top:9px;
  padding:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#6a7788!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:center;
}

.ffprd-partners-v416 .ffprd-partners-federal{margin-top:0}
.ffprd-partners-v416 .ffprd-partners-federal-grid{
  --ffprd-federal-cols:4;
  display:grid;
  grid-template-columns:repeat(var(--ffprd-federal-cols),minmax(0,1fr));
  gap:14px;
}
.ffprd-partners-v416 .ffprd-partner-federal-tile,
.ffprd-partners-v416 .ffprd-partner-federal-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  text-decoration:none!important;
}
.ffprd-partners-v416 .ffprd-partner-federal-tile{
  min-height:132px;
  padding:16px;
  border:1px solid #e8edf3;
  border-radius:10px;
  background:#fbfcfe;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.ffprd-partners-v416 .ffprd-partner-federal-tile:hover,
.ffprd-partners-v416 .ffprd-partner-federal-tile:focus-visible{
  transform:translateY(-2px);
  border-color:#d5deea;
  background:#fff;
}
.ffprd-partners-v416 .ffprd-partner-federal-tile img,
.ffprd-partners-v416 .ffprd-partner-federal-inner img{
  display:block;
  width:auto;
  height:auto;
  max-width:180px;
  max-height:92px;
  object-fit:contain;
}
.ffprd-partners-v416 .ffprd-partners-v416-carousel{
  min-height:118px;
  border:1px solid #e8edf3!important;
  border-radius:18px!important;
  background:#fbfcfe!important;
  box-shadow:none!important;
}
.ffprd-partners-v416 .ffprd-support-item{background:transparent!important}
.ffprd-partners-v416 .ffprd-support-nav{background:transparent!important;border:0!important;box-shadow:none!important;color:#0b4597!important}
.ffprd-partners-v416 .ffprd-support-nav:hover,
.ffprd-partners-v416 .ffprd-support-nav:focus-visible,
.ffprd-partners-v416 .ffprd-support-nav:active{background:transparent!important;color:#e52a20!important}
.ffprd-partners-v416 .ffprd-partners-cta-wrap{margin-top:22px;text-align:center}
.ffprd-partners-v416 .ffprd-partners-cta{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 2px;
  border-bottom:1px solid rgba(8,47,115,.22);
  color:#082f73;
  font-size:14px;
  font-weight:800;
  text-decoration:none!important;
  transition:color .2s ease,border-color .2s ease;
}
.ffprd-partners-v416 .ffprd-partners-cta span{transition:transform .2s ease}
.ffprd-partners-v416 .ffprd-partners-cta:hover,
.ffprd-partners-v416 .ffprd-partners-cta:focus-visible{color:#e52a20;border-color:#e52a20}
.ffprd-partners-v416 .ffprd-partners-cta:hover span,
.ffprd-partners-v416 .ffprd-partners-cta:focus-visible span{transform:translateX(4px)}

@media (max-width:1024px){
  .ffprd-partners-v416{padding:48px 0 46px!important}
  .ffprd-partners-v416 .ffprd-partners-heading{margin-bottom:30px}
  .ffprd-partners-v416 .ffprd-partners-headline{font-size:31px!important}
  .ffprd-partners-v416 .ffprd-partners-major-grid{--ffprd-major-cols:2}
  .ffprd-partners-v416 .ffprd-partners-federal-grid{--ffprd-federal-cols:2}
  .ffprd-partners-v416 .ffprd-partner-major-card{min-height:164px}
  .ffprd-partners-v416 .ffprd-partner-major-logo{min-height:98px}
  .ffprd-partners-v416 .ffprd-partner-major-logo img{max-height:100px}
  .ffprd-partners-v416 .ffprd-partner-federal-tile{min-height:120px}
  .ffprd-partners-v416 .ffprd-partner-federal-tile img{max-height:82px;max-width:160px}
}
@media (max-width:767px){
  .ffprd-partners-v416{padding:38px 0 40px!important}
  .ffprd-partners-v416 .ffprd-home2-container{width:calc(100% - 28px)!important}
  .ffprd-partners-v416 .ffprd-partners-heading{text-align:left;margin-bottom:28px}
  .ffprd-partners-v416 .ffprd-partners-headline{font-size:28px!important;padding-bottom:12px}
  .ffprd-partners-v416 .ffprd-partners-headline:after{left:0;transform:none;width:38px}
  .ffprd-partners-v416 .ffprd-partners-intro{font-size:15px!important;line-height:1.58!important;margin-top:12px!important}
  .ffprd-partners-v416 .ffprd-partners-group-head h3{font-size:15px!important}
  .ffprd-partners-v416 .ffprd-partners-major-grid{--ffprd-major-cols:2;gap:10px!important}
  .ffprd-partners-v416 .ffprd-partner-major-card{min-height:140px;padding:16px 12px 15px}
  .ffprd-partners-v416 .ffprd-partner-major-logo{min-height:76px}
  .ffprd-partners-v416 .ffprd-partner-major-logo img{max-height:78px;max-width:95%}
  .ffprd-partners-v416 .ffprd-partner-major-note{font-size:11px!important;margin-top:7px}
  .ffprd-partners-v416 .ffprd-partners-major{margin-bottom:28px}
  .ffprd-partners-v416 .ffprd-partners-federal-grid{--ffprd-federal-cols:2;gap:9px!important}
  .ffprd-partners-v416 .ffprd-partner-federal-tile{min-height:104px;padding:10px}
  .ffprd-partners-v416 .ffprd-partner-federal-tile img{max-height:68px;max-width:128px}
}
@media (max-width:420px){
  .ffprd-partners-v416 .ffprd-partners-major-grid{--ffprd-major-cols:1}
  .ffprd-partners-v416 .ffprd-partner-major-card{min-height:132px}
}


/* ==========================================================
   V4.17 — Partenaires : logos complets + libellés institutionnels
   sous chaque logo. La V4.11 reste la base éditoriale.
   ========================================================== */
.ffprd-partners-v417 .ffprd-partner-major-card{
  justify-content:flex-start;
  min-height:224px;
}
.ffprd-partners-v417 .ffprd-partner-major-logo{
  min-height:116px;
}
.ffprd-partners-v417 .ffprd-partner-major-label{
  display:block;
  width:100%;
  margin-top:10px;
  color:#082f73;
  font-size:13px;
  line-height:1.32;
  font-weight:700;
  text-align:center;
}
.ffprd-partners-v417 .ffprd-partner-major-note{
  margin-top:5px!important;
}
.ffprd-partners-v417 .ffprd-partner-federal-tile,
.ffprd-partners-v417 .ffprd-partner-federal-inner{
  flex-direction:column;
  gap:10px;
}
.ffprd-partners-v417 .ffprd-partner-federal-tile{
  min-height:166px;
  padding:18px 16px 14px;
}
.ffprd-partners-v417 .ffprd-partner-federal-tile img,
.ffprd-partners-v417 .ffprd-partner-federal-inner img{
  max-width:280px;
  max-height:92px;
}
.ffprd-partners-v417 .ffprd-partner-federal-label{
  display:block;
  width:100%;
  max-width:320px;
  margin:0 auto;
  color:#082f73;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  text-align:center;
}
.ffprd-partners-v417 .ffprd-support-item{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media (max-width:1024px){
  .ffprd-partners-v417 .ffprd-partner-major-card{min-height:202px}
  .ffprd-partners-v417 .ffprd-partner-federal-tile{min-height:150px}
  .ffprd-partners-v417 .ffprd-partner-federal-tile img,
  .ffprd-partners-v417 .ffprd-partner-federal-inner img{max-width:220px;max-height:82px}
}
@media (max-width:767px){
  .ffprd-partners-v417 .ffprd-partner-major-card{min-height:184px}
  .ffprd-partners-v417 .ffprd-partner-major-label{font-size:12px;line-height:1.28}
  .ffprd-partners-v417 .ffprd-partner-federal-tile{min-height:138px;padding:14px 10px 12px}
  .ffprd-partners-v417 .ffprd-partner-federal-tile img,
  .ffprd-partners-v417 .ffprd-partner-federal-inner img{max-width:150px;max-height:68px}
  .ffprd-partners-v417 .ffprd-partner-federal-label{font-size:11px;line-height:1.25}
}

/* =========================================================
   FFPRD Elementor Studio V4.18 — client navigation preview
   ========================================================= */
@media (min-width:1181px){
  .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:minmax(250px,300px) minmax(0,1fr) auto!important;gap:22px!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{gap:clamp(14px,1.25vw,24px)!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li>a{font-size:clamp(12px,1vw,15px)!important;white-space:nowrap!important}

  /* Long client sections become a clean two-column mega dropdown. */
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li.ffprd-menu-wide>.sub-menu{
    width:600px!important;
    min-width:600px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px 8px!important;
    padding:14px!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li.ffprd-menu-wide>.sub-menu li+li{margin-top:0!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li.ffprd-menu-wide>.sub-menu a{min-height:48px!important;padding:11px 14px!important}
}

/* With the full 7-item client menu we switch to the polished off-canvas sooner. */
@media (max-width:1180px){
  .ffprd-header-v2 .ffprd-mainnav-inner{grid-template-columns:1fr auto!important;gap:18px!important}
  .ffprd-header-v2 .ffprd-menu-desktop{display:none!important}
  .ffprd-header-v2 .ffprd-menu-toggle{display:block!important;position:relative;z-index:100001!important}
  .ffprd-header-v2 .ffprd-header-v2-actions{display:none!important}
}

.ffprd-menu-preview-page{padding:110px 0 130px;background:linear-gradient(180deg,#f8fbff 0%,#fff 65%);min-height:58vh}
.ffprd-menu-preview-page .ffprd-container{max-width:980px}
.ffprd-menu-preview-kicker{display:block;margin-bottom:16px;color:#e52a20;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ffprd-menu-preview-page h1{max-width:880px;margin:0 0 24px!important;color:#082f73!important;font-size:clamp(38px,5vw,66px)!important;line-height:1.04!important;letter-spacing:-.035em!important}
.ffprd-menu-preview-page p{max-width:760px;margin:0 0 34px!important;color:#355170!important;font-size:18px!important;line-height:1.7!important}
@media(max-width:767px){
  .ffprd-menu-preview-page{padding:70px 0 90px}
  .ffprd-menu-preview-page p{font-size:16px!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.19 — Header anti-chevauchement
   + CTA réseau. Home V4.17 remains frozen.
   ========================================================= */

/* Give the logo a real grid boundary: it can no longer visually invade nav. */
.ffprd-header-v2 .ffprd-brand{display:flex!important;align-items:center!important;min-width:0!important;overflow:visible!important}
.ffprd-header-v2 .ffprd-brand img{display:block!important;height:auto!important;object-fit:contain!important}
.ffprd-header-v2 .ffprd-nav-cta{white-space:nowrap!important}

/* Large desktop: preserve the full navigation, but reserve enough width for it. */
@media (min-width:1761px){
  .ffprd-header-v2 .ffprd-mainnav-inner{
    grid-template-columns:280px minmax(0,1fr) auto!important;
    gap:24px!important;
  }
  .ffprd-header-v2 .ffprd-brand img{max-width:270px!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{
    gap:clamp(13px,1vw,20px)!important;
    justify-content:flex-end!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li>a{
    font-size:clamp(12.5px,.76vw,14.5px)!important;
    white-space:nowrap!important;
  }
  .ffprd-header-v2 .ffprd-nav-cta{
    min-height:52px!important;
    padding:0 20px!important;
    font-size:13.5px!important;
  }
}

/* Compact desktop: keep a classical header while there is genuinely enough room. */
@media (min-width:1501px) and (max-width:1760px){
  .ffprd-header-v2 .ffprd-mainnav-inner{
    width:min(1680px,calc(100% - 36px))!important;
    grid-template-columns:220px minmax(0,1fr) auto!important;
    gap:12px!important;
  }
  .ffprd-header-v2 .ffprd-brand img{max-width:210px!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{
    gap:9px!important;
    justify-content:flex-end!important;
  }
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list>li>a{
    font-size:12px!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }
  .ffprd-header-v2 .ffprd-nav-cta{
    min-height:48px!important;
    padding:0 14px!important;
    font-size:12px!important;
  }
}

/* With seven first-level entries the drawer becomes the cleanest pattern below 1500px.
   This prevents any menu/logo collision instead of progressively crushing typography. */
@media (max-width:1500px){
  .ffprd-header-v2 .ffprd-mainnav-inner{
    width:min(100% - 36px,var(--ffprd-max,1600px))!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:18px!important;
  }
  .ffprd-header-v2 .ffprd-brand img{max-width:250px!important}
  .ffprd-header-v2 .ffprd-menu-desktop{display:none!important}
  .ffprd-header-v2 .ffprd-menu-toggle{display:block!important;position:relative;z-index:100001!important}
  .ffprd-header-v2 .ffprd-header-v2-actions{display:none!important}
}

/* The existing V4.7 off-canvas rules originally started at 1024px. Extend the same
   polished drawer to narrow laptops/desktops where V4.19 intentionally hides nav. */
@media (min-width:1025px) and (max-width:1500px){
  .ffprd-menu-overlay{
    display:block!important;position:fixed!important;inset:0!important;
    background:rgba(0,0,0,.66)!important;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .28s ease,visibility .28s ease;z-index:99992!important;
  }
  .ffprd-menu-overlay.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .ffprd-mobile-drawer{
    display:flex!important;flex-direction:column!important;position:fixed!important;
    top:0!important;right:0!important;bottom:0!important;
    width:min(420px,38vw)!important;max-width:460px!important;min-width:360px!important;
    height:100vh!important;height:100dvh!important;padding:28px 30px 34px!important;
    background:#fff!important;box-sizing:border-box!important;
    transform:translate3d(104%,0,0);visibility:hidden;pointer-events:none;
    transition:transform .34s cubic-bezier(.22,.75,.2,1),visibility .34s ease!important;
    box-shadow:-18px 0 48px rgba(0,0,0,.2)!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;z-index:99993!important;
  }
  .ffprd-mobile-drawer.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important}
  .ffprd-mobile-drawer-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding-bottom:20px!important;margin-bottom:16px!important;border-bottom:1px solid #e1e8f2!important}
  .ffprd-mobile-drawer-title{color:var(--ffprd-navy,#082f73)!important;font-size:25px!important;line-height:1.15!important;font-weight:800!important}
  .ffprd-mobile-drawer-nav{display:block!important;width:100%!important;padding:4px 0 24px!important}
  .ffprd-mobile-drawer .ffprd-menu-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important}
  .ffprd-mobile-drawer .ffprd-menu-list>li{display:block!important;width:100%!important;padding:0!important;margin:0 0 6px!important;border-bottom:1px solid #edf1f6!important}
  .ffprd-mobile-drawer .ffprd-menu-list>li>a{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;box-sizing:border-box!important;padding:14px 2px!important;color:var(--ffprd-navy,#082f73)!important;font-size:16px!important;line-height:1.3!important;font-weight:700!important;text-decoration:none!important}
  .ffprd-mobile-drawer .ffprd-menu-list .sub-menu{position:static!important;display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:0 0 10px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;list-style:none!important}
  .ffprd-mobile-drawer .ffprd-menu-list .sub-menu a{display:block!important;padding:7px 0!important;color:#526783!important;font-size:13.5px!important;font-weight:600!important;text-decoration:none!important}
  body.ffprd-drawer-open .elementor-location-header{position:relative!important;z-index:99990!important;overflow:visible!important}
  body.ffprd-drawer-open .elementor-location-footer{z-index:1!important}
  body.ffprd-drawer-open .elementor-location-header .elementor-widget-ffprd-header,
  body.ffprd-drawer-open .elementor-location-header .elementor-widget-ffprd-header>.elementor-widget-container,
  body.ffprd-drawer-open .ffprd-header-wrap,
  body.ffprd-drawer-open .ffprd-mainnav{overflow:visible!important;z-index:99991!important}
}

@media (max-width:767px){
  .ffprd-header-v2 .ffprd-mainnav-inner{width:calc(100% - 28px)!important;gap:10px!important}
  .ffprd-header-v2 .ffprd-brand img{max-width:min(230px,72vw)!important}
}


/* =========================================================
   FFPRD Elementor Studio V4.20 — Header breathing room
   Home V4.17 remains frozen.
   ========================================================= */
@media (min-width:1761px){
  .ffprd-header-v2 .ffprd-mainnav-inner{gap:30px!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{
    gap:clamp(22px,1.28vw,30px)!important;
  }
}
@media (min-width:1501px) and (max-width:1760px){
  .ffprd-header-v2 .ffprd-mainnav-inner{gap:16px!important}
  .ffprd-header-v2 .ffprd-menu-desktop>.ffprd-menu-list{gap:12px!important}
}


/* =========================================================
   FFPRD Elementor Studio V4.21 — Submenu signature accent
   Home V4.17 remains frozen.
   ========================================================= */
@media (min-width:1501px){
  /* A single restrained signature inspired by the FFPRD logo.
     The white centre is edged very lightly so it remains visible on the white dropdown. */
  .ffprd-header-v2.ffprd-submenu-accent-tricolor .ffprd-menu-desktop .sub-menu:after{
    width:78px!important;
    height:4px!important;
    top:-1px!important;
    left:28px!important;
    border-radius:0 0 5px 5px!important;
    background:linear-gradient(90deg,
      var(--ffprd-navy,#082f73) 0%,
      var(--ffprd-navy,#082f73) 32%,
      #fff 32%,
      #fff 66%,
      var(--ffprd-red,#e52a20) 66%,
      var(--ffprd-red,#e52a20) 100%
    )!important;
    box-shadow:0 0 0 1px rgba(8,47,115,.08)!important;
  }
  .ffprd-header-v2.ffprd-submenu-accent-red .ffprd-menu-desktop .sub-menu:after{
    width:46px!important;
    height:3px!important;
    left:18px!important;
    background:var(--ffprd-red,#e52a20)!important;
    box-shadow:none!important;
  }
  .ffprd-header-v2.ffprd-submenu-accent-none .ffprd-menu-desktop .sub-menu:after{display:none!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.23.1 — Footer top signature
   Robust full-width separator using a real child element.
   ========================================================= */
.ffprd-footer-v2{position:relative!important}
.ffprd-footer-top-accent{
  position:absolute;
  z-index:10;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:5px;
  display:block;
  pointer-events:none;
}
.ffprd-footer-v2.ffprd-footer-accent-tricolor .ffprd-footer-top-accent{
  background:linear-gradient(90deg,
    var(--ffprd-navy,#082f73) 0%,
    var(--ffprd-navy,#082f73) 33.333%,
    #fff 33.333%,
    #fff 66.666%,
    var(--ffprd-red,#e52a20) 66.666%,
    var(--ffprd-red,#e52a20) 100%
  );
  box-shadow:0 1px 0 rgba(8,47,115,.16),0 -1px 0 rgba(8,47,115,.06);
}
.ffprd-footer-v2.ffprd-footer-accent-red .ffprd-footer-top-accent{
  background:var(--ffprd-red,#e52a20);
  box-shadow:none;
}
.ffprd-footer-v2.ffprd-footer-accent-none .ffprd-footer-top-accent{display:none!important}


/* =========================================================
   FFPRD Elementor Studio V4.24 — Footer white HD identity
   ========================================================= */
.ffprd-footer-v2-brand img{
  display:block;
  width:260px;
  max-width:100%;
  height:auto;
  margin-bottom:12px!important;
}
@media (max-width:1024px){
  .ffprd-footer-v2-brand img{margin-bottom:10px!important}
}

/* =========================================================
   FFPRD Elementor Studio V4.25 — Mobile submenu accordion
   Home remains frozen. All drawer submenus are collapsed by default.
   ========================================================= */
@media (max-width:1500px){
  .ffprd-header-v2 .ffprd-mobile-drawer{
    overflow-x:hidden!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer-nav,
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list,
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li,
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list .sub-menu,
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list .sub-menu>li{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Parent rows: the label stays a real link; the chevron is an independent control. */
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children{
    position:relative!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children>a{
    padding-right:48px!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    max-width:100%!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children>a:after{
    display:none!important;
    content:none!important;
  }

  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-submenu-toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
    position:absolute!important;
    z-index:3!important;
    top:8px!important;
    right:0!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #e3eaf3!important;
    border-radius:10px!important;
    background:#f7f9fc!important;
    color:var(--ffprd-navy,#082f73)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-submenu-toggle:before{
    content:""!important;
    display:block!important;
    width:8px!important;
    height:8px!important;
    border-right:2px solid currentColor!important;
    border-bottom:2px solid currentColor!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transition:transform .2s ease!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-submenu-toggle:hover,
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-submenu-toggle:focus-visible{
    color:var(--ffprd-red,#e52a20)!important;
    border-color:rgba(229,42,32,.32)!important;
    background:#fff!important;
    outline:none!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer li.is-submenu-open>.ffprd-submenu-toggle{
    color:var(--ffprd-red,#e52a20)!important;
    border-color:rgba(229,42,32,.22)!important;
    background:#fff!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer li.is-submenu-open>.ffprd-submenu-toggle:before{
    transform:translateY(2px) rotate(225deg)!important;
  }

  /* Override every legacy display:block rule from previous versions. */
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children>.sub-menu{
    position:static!important;
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:2px 4px 12px 14px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    list-style:none!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children.is-submenu-open>.sub-menu{
    display:block!important;
    animation:ffprdSubmenuReveal .2s ease both!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list .sub-menu>li{
    width:100%!important;
    padding:0!important;
    margin:0!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list .sub-menu a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:7px 6px 7px 0!important;
    color:#526783!important;
    font-size:13.5px!important;
    line-height:1.42!important;
    font-weight:600!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto!important;
  }

  @keyframes ffprdSubmenuReveal{
    from{opacity:0;transform:translateY(-4px)}
    to{opacity:1;transform:translateY(0)}
  }
}

@media (max-width:767px){
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children>a{
    padding-right:46px!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-submenu-toggle{
    width:36px!important;
    height:36px!important;
    top:7px!important;
    border-radius:9px!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list>li.menu-item-has-children>.sub-menu{
    padding-left:12px!important;
    padding-right:2px!important;
  }
  .ffprd-header-v2 .ffprd-mobile-drawer .ffprd-menu-list .sub-menu a{
    font-size:13.5px!important;
    line-height:1.45!important;
  }
}
