:root{
  --navy:#0b2f58;
  --navy-2:#123f70;
  --teal:#1f8ca7;
  --gold:#c68b3c;
  --gold-soft:#e2c69f;
  --cream:#f7f3ed;
  --paper:#fffdfa;
  --ink:#102944;
  --muted:#5d6b79;
  --line:#d8dfe4;
  --shadow:0 18px 50px rgba(7,37,69,.10);
  --serif:Perpetua,"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:"Century Gothic","Avenir Next",Avenir,"Trebuchet MS",Arial,sans-serif;
  --heading-color:#0b2f58;
  --h1-size:91px;
  --h2-size:55px;
  --h3-size:22px;
  --intro-size:29px;
  --body-size:16px;
  --kicker-size:13.5px;
  --kicker-color:#c68b3c;
  --section-spacing:100px;
  --container-width:1180px;
  --header-height:92px;
  --header-opacity:90;
  --header-fade-height:148px;
  --header-fade-width:100%;
  --header-blur:8px;
  --header-fade-blur:3.6px;
  --header-white:rgba(255,255,255,.90);
  --header-white-mid:rgba(255,255,255,.74);
  --header-white-low:rgba(255,255,255,.31);
  --header-nav-color:#0b2f58;
  --header-cta-color:#0b2f58;
  --hero-height:650px;
  --hero-content-offset:20px;
  --hero-copy-width:760px;
  --hero-image-x:50%;
  --hero-image-y:50%;
  --hero-image-scale:1;
  --header-logo-x:0px;
  --header-logo-y:0px;
  --hero-dot-x:0px;
  --hero-dot-y:0px;
  --hero-fade-solid:30%;
  --hero-fade-width:70%;
  --hero-asset-width:100%;
  --hero-asset-height:100%;
  --footer-logo-width:240px;
  --footer-logo-height:139px;
  --solutions-cta-bg:#0b2f58;
  --solutions-cta-text:#fff;
  --solutions-cta-hover:#123f70;
  --objectives-intro-body-size:18px;
  --objectives-intro-accent-size:clamp(1.25rem,1.65vw,1.55rem);
  --objectives-intro-copy-offset-x:0px;
  --objectives-intro-divider-x:0px;
  --objectives-intro-divider-height:100%;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--body-size);line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(var(--container-width),calc(100% - 48px));margin:0 auto}
.narrow{width:100%}

.site-header{position:absolute;inset:0 0 auto 0;z-index:20;border-bottom:1px solid rgba(11,47,88,.05);background:transparent;isolation:isolate}
.site-header::before{content:"";position:absolute;left:0;right:auto;top:0;width:100%;height:var(--header-fade-height);z-index:-1;pointer-events:none;transition:background .2s ease,height .2s ease,width .2s ease,backdrop-filter .2s ease}
body[data-header-style="opaque"] .site-header::before{height:var(--header-height);background:var(--header-white);backdrop-filter:none}
body[data-header-style="translucent"] .site-header::before{height:var(--header-height);background:var(--header-white);backdrop-filter:blur(var(--header-blur))}
body[data-header-style="fade"] .site-header::before{width:var(--header-fade-width);background:linear-gradient(180deg,var(--header-white) 0%,var(--header-white-mid) 48%,var(--header-white-low) 76%,rgba(255,255,255,0) 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 78%,transparent 100%);backdrop-filter:blur(var(--header-fade-blur))}
body[data-header-mode="separate"] .site-header{position:relative;background:#fff}
body[data-header-mode="separate"] .site-header::before{width:100%;height:100%;background:var(--header-white);-webkit-mask-image:none;mask-image:none;backdrop-filter:blur(var(--header-blur))}
.nav-wrap{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:178px;height:70px;object-fit:contain;max-width:none;mix-blend-mode:multiply}.site-header .brand img{transform:translate(var(--header-logo-x),var(--header-logo-y))}
.main-nav{display:flex;align-items:center;gap:30px;font-size:.84rem;font-weight:700;letter-spacing:.01em;color:var(--header-nav-color)}
.main-nav a{position:relative;padding:10px 0}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--gold);transition:.25s}
.main-nav a:hover::after{width:100%}
.nav-cta{border:1px solid var(--header-cta-color);color:var(--header-cta-color);padding:10px 18px!important;border-radius:2px;transition:.25s}
.nav-cta:hover{background:var(--header-cta-color);color:#fff}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--header-nav-color);margin:5px 0}

.hero{position:relative;min-height:var(--hero-height);overflow:hidden;background:linear-gradient(90deg,#fffaf2 0%,#fffaf2 37%,rgba(255,250,242,.66) 52%,rgba(255,250,242,0) 66%),#dce7ee}
.hero-photo{position:absolute;inset:0;overflow:hidden;background:#dce7ee}
.hero-photo img{position:absolute;left:var(--hero-image-x);top:var(--hero-image-y);width:var(--hero-asset-width);height:var(--hero-asset-height);max-width:none;object-fit:cover;transform:translate(-50%,-50%) scale(var(--hero-image-scale));transform-origin:center center;filter:saturate(.9) contrast(.97)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,242,.98) 0%,rgba(255,250,242,.90) var(--hero-fade-solid),rgba(255,250,242,0) var(--hero-fade-width),rgba(255,255,255,0) 100%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.15));pointer-events:none}
.hero-inner{position:relative;z-index:2;min-height:var(--hero-height);display:flex;align-items:center;padding-top:calc(var(--header-height) + var(--hero-content-offset))}
body[data-header-mode="separate"] .hero-inner{padding-top:var(--hero-content-offset)}
.hero-copy{width:min(var(--hero-copy-width),72%);padding:40px 0 20px}
.eyebrow,.section-kicker{margin:0 0 14px;color:var(--kicker-color);font-size:var(--kicker-size);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.section-copy .section-kicker,.contact-grid .section-kicker{color:var(--kicker-color)}
h1,h2,h3{margin-top:0;color:var(--heading-color);font-family:var(--serif);font-weight:400}
h1{font-size:clamp(3.3rem,5.4vw,var(--h1-size));line-height:.98;letter-spacing:-.02em;margin-bottom:26px}
#hero-title::after{content:".";color:var(--gold);display:inline-block;transform:translate(var(--hero-dot-x),var(--hero-dot-y))}
.gold{color:var(--gold)}
.gold-rule{width:54px;height:2px;background:var(--gold);margin:0 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;font-size:.79rem;font-weight:700;letter-spacing:.02em;transition:.25s}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-2);transform:translateY(-1px)}
.btn-outline{border-color:rgba(11,47,88,.62);color:var(--navy);background:rgba(255,255,255,.55)}.btn-outline:hover{background:#fff}
.coordinates{position:absolute;right:2px;bottom:24px;color:#fff;font-size:.78rem;letter-spacing:.13em;text-shadow:0 1px 8px rgba(0,0,0,.45)}

.intro-statement{padding:42px 0 46px;background:#fff;text-align:center;border-bottom:1px solid #eee9e0}
.intro-statement p{margin:0 auto;color:var(--heading-color);font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2.2vw,var(--intro-size));line-height:1.45}
.tiny-rule{width:36px;height:1px;background:var(--gold);margin:18px auto 0}

.section{padding:var(--section-spacing) 0}
.cabinet{background:linear-gradient(90deg,#f7f0e6,#fbf8f3)}
.split-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:76px;align-items:center}
.media-card{overflow:hidden;box-shadow:var(--shadow);background:#fff;display:flex;justify-content:center;align-items:center}
.media-card img{width:100%;height:460px;max-width:none;object-fit:cover}
.section-copy h2,.section-heading h2{font-size:clamp(2.25rem,3.5vw,var(--h2-size));line-height:1.12;margin-bottom:26px}
.section-copy p:not(.section-kicker){margin:0 0 17px;color:#33465a}
.text-link{display:inline-flex;gap:10px;margin-top:10px;color:var(--navy);font-weight:700;font-size:.84rem;border-bottom:1px solid var(--gold-soft);padding-bottom:4px}

.approach{background:#fff}
.section-heading{max-width:100%;margin-bottom:54px}
.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}
.section-heading p:not(.section-kicker){color:var(--muted);margin:0 auto;max-width:780px}
.steps-grid{display:grid;grid-template-columns:1fr 54px 1fr 54px 1fr;align-items:center;gap:14px}
.step-card{text-align:center;padding:12px 26px}
.step-number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-size:.72rem;margin-bottom:12px}
.icon-circle{width:76px;height:76px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:#f7f3ed;border:1px solid #eadcc9}
.icon-circle svg,.line-icon svg{width:48px;height:48px;fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.step-card h3{font-size:var(--h3-size);margin-bottom:8px}.step-card p{font-size:.9rem;margin:0;color:#536273}
.step-arrow{font:300 3rem/1 var(--serif);color:var(--gold);text-align:center}

.objectives{background:linear-gradient(135deg,#0a2e55,#0d3b6e 65%,#0f416f);color:#fff;position:relative;overflow:hidden}
.objectives::after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(53,160,190,.18);border-radius:50%;right:-260px;top:-200px;box-shadow:0 0 0 65px rgba(255,255,255,.015),0 0 0 130px rgba(198,139,60,.025)}
.section-heading.light{position:relative;z-index:1}.section-heading.light h2,.section-heading.light p:not(.section-kicker){color:#fff}.section-heading.light .section-kicker{color:var(--kicker-color)}
.objective-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.objective-card{background:#fff;color:var(--ink);display:grid;grid-template-columns:78px 1fr;gap:20px;padding:28px 30px;border-radius:3px;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:.25s}
.objective-card:hover{transform:translateY(-3px)}
.line-icon{width:68px;height:68px;display:grid;place-items:center}.line-icon svg{stroke:var(--gold);width:55px;height:55px}
.objective-card h3{font-size:var(--h3-size);line-height:1.15;margin:0 0 8px}.objective-card p{font-size:.87rem;color:#4c5d6d;margin:0 0 9px}.objective-card a{color:var(--teal);font-size:.8rem;font-weight:700}

.solutions{background:#fff}
.solutions-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.solution-item{padding:32px 24px;text-align:center;min-height:255px;border-right:1px solid var(--line)}.solution-item:last-child{border-right:0}
.solution-icon{height:52px;color:var(--teal);font:400 2.4rem/1 var(--serif);margin-bottom:16px}
.solution-item h3{font:700 .86rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}.solution-item p{font-size:.82rem;color:#596979;margin:0}

.contact-band{padding:76px 0;background:linear-gradient(100deg,#f7f1e8 0%,#fff 55%,#e9eff3 100%);border-top:1px solid #e7e1d8;position:relative;overflow:hidden}
.contact-band::after{content:"";position:absolute;right:-80px;bottom:-170px;width:460px;height:330px;border:1px solid rgba(31,140,167,.24);border-radius:50%}
.contact-grid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;max-width:min(900px,calc(100% - 48px));position:relative;z-index:1;text-align:center}
.contact-grid>div:first-child{width:100%;display:flex;flex-direction:column;align-items:center}
.contact-grid h2{font-size:clamp(2.6rem,4vw,var(--h2-size));margin-bottom:12px;text-align:center}.contact-grid p:not(.section-kicker){margin:0 auto;color:#46596c;max-width:700px;text-align:center}
.contact-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%}.btn-gold{background:var(--navy);color:#fff;min-width:165px}.btn-gold:hover{background:var(--navy-2)}
.contact-details{display:grid;justify-items:center;text-align:center;gap:5px;font-size:.83rem;color:var(--navy)}

.site-footer{background:#08284a;color:#eaf0f6;padding:42px 0 16px}
.footer-grid{display:grid;grid-template-columns:1.15fr .75fr .9fr 1.3fr;gap:52px;align-items:start}
.footer-brand img{width:var(--footer-logo-width);height:var(--footer-logo-height);object-fit:contain;max-width:none;opacity:.95}.site-footer[data-logo-style="white"] .footer-brand img{filter:brightness(0) invert(1)}.site-footer[data-logo-style="original"] .footer-brand img{filter:none}.footer-brand p{font-size:.76rem;letter-spacing:.12em;color:#c7d3df}
.site-footer h3{font:700 .78rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#e3bd84;margin-bottom:16px}
.site-footer a{display:block;color:#d8e3ec;font-size:.8rem;margin:7px 0}.site-footer a:hover{color:#fff}
.footer-legal p{font-size:.8rem;line-height:2.2;color:#d8e3ec;margin:0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:14px;color:#9fb0c0;font-size:.72rem;text-align:center}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width:980px){
  .main-nav{gap:16px;font-size:.76rem}
  .hero-copy{width:68%}
  .split-grid{gap:40px}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}.solution-item:nth-child(2n){border-right:0}.solution-item:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  .container{width:min(100% - 32px,1180px)}
  .site-header{position:absolute}.nav-wrap{height:var(--header-height)}
  .menu-toggle{display:block;z-index:30}.main-nav{display:none;position:absolute;left:0;right:0;top:var(--header-height);background:rgba(255,255,255,.97);padding:18px 24px 24px;box-shadow:0 15px 35px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:5px}.main-nav.open{display:flex}.main-nav a{padding:10px 0}.nav-cta{text-align:center;margin-top:7px}
  .hero{min-height:max(var(--hero-height),680px);background:#f7f1e9}.hero-photo img{filter:none}.hero-photo::after{background:linear-gradient(180deg,rgba(255,250,242,.76) 0%,rgba(255,250,242,.48) 38%,rgba(8,40,74,.04) 70%,rgba(8,40,74,.12) 100%)}.hero-inner{min-height:max(var(--hero-height),680px);align-items:flex-start;padding-top:calc(var(--header-height) + var(--hero-content-offset) + 34px)}body[data-header-mode="separate"] .hero-inner{padding-top:calc(var(--hero-content-offset) + 34px)}.hero-copy{width:100%;padding:0}.hero-copy h1{font-size:clamp(3rem,13vw,4.2rem)}.coordinates{bottom:16px;right:16px;font-size:.65rem}
  .intro-statement{padding:36px 0}.section{padding:74px 0}
  .split-grid{grid-template-columns:1fr}.media-card{order:2}.section-copy{order:1}
  .steps-grid{grid-template-columns:1fr;gap:4px}.step-arrow{transform:rotate(90deg);font-size:2.5rem;height:36px}.step-card{padding:10px 20px 18px}
  .objective-grid{grid-template-columns:1fr}.objective-card{grid-template-columns:60px 1fr;padding:24px 20px}.line-icon{width:52px;height:52px}.line-icon svg{width:46px;height:46px}
  .solutions-grid{grid-template-columns:1fr}.solution-item{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.solution-item:last-child{grid-column:auto;border-bottom:0}
  .contact-grid{gap:24px;max-width:calc(100% - 32px)}.contact-actions{align-items:center}.contact-details{font-size:.9rem;text-align:center;justify-items:center}
  .footer-grid{grid-template-columns:1fr;gap:28px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* --- Prototype dynamique / éditeur local --- */
[data-editable]{white-space:pre-line}
.editable-preline{white-space:pre-line}
.custom-text-host:empty{display:none}
.custom-text-host{margin-top:14px}
.custom-text-zone{white-space:pre-line;max-width:100%;margin:10px 0}
.custom-text-zone.align-left{text-align:left;margin-right:auto}
.custom-text-zone.align-center{text-align:center;margin-left:auto;margin-right:auto}
.custom-text-zone.align-right{text-align:right;margin-left:auto}
.custom-text-zone.type-paragraph{font-family:var(--sans);font-size:var(--body-size);line-height:1.65;color:var(--ink)}
.custom-text-zone.type-title{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,calc(var(--h2-size) * .82));line-height:1.12;color:var(--heading-color)}
.custom-text-zone.type-kicker{font-family:var(--sans);font-size:var(--kicker-size);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kicker-color)}
.objectives .custom-text-zone.type-paragraph,.objectives .custom-text-zone.type-title{color:#fff}
.hero .custom-text-zone{color:var(--heading-color)}
.custom-text-zone[hidden]{display:none!important}
.asset-icon{position:relative;transform:translate(var(--asset-x,0px),var(--asset-y,0px))}
.asset-icon .icon-fallback{display:grid;place-items:center;width:var(--asset-w,74%);height:var(--asset-h,74%);margin:auto}
.asset-icon .custom-icon{display:block;width:var(--asset-w,74%);height:var(--asset-h,74%);object-fit:contain;margin:auto}
.asset-icon .icon-fallback svg{width:100%;height:100%}
.solution-icon.asset-icon .custom-icon,.solution-icon.asset-icon .icon-fallback{margin:0 auto}

.editor-toggle{position:fixed;right:20px;bottom:20px;z-index:1001;border:0;border-radius:999px;background:#0b2f58;color:#fff;padding:12px 17px;font:700 12px/1 var(--sans);letter-spacing:.02em;box-shadow:0 8px 28px rgba(0,0,0,.22);cursor:pointer}
.editor-toggle:hover{background:#123f70}
.editor-panel{position:fixed;z-index:1000;top:0;right:0;width:min(390px,94vw);height:100vh;background:#fff;color:#14283e;box-shadow:-16px 0 50px rgba(6,31,56,.18);transform:translateX(105%);transition:transform .25s ease;overflow:auto;font-family:Arial,sans-serif;font-size:13px;line-height:1.45}
.editor-panel.open{transform:translateX(0)}
.editor-head{position:sticky;top:0;z-index:2;background:#0b2f58;color:#fff;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.14)}
.editor-head h2{margin:0 0 4px;color:#fff;font:600 18px/1.2 Arial,sans-serif}
.editor-head p{margin:0;color:#cedae6;font-size:12px}
.editor-body{padding:14px 18px 90px}
.editor-panel details{border-bottom:1px solid #e7ebef;padding:10px 0}
.editor-panel summary{cursor:pointer;font-weight:700;color:#0b2f58;padding:6px 2px;user-select:none}
.editor-fields{display:grid;gap:10px;padding:9px 0 5px}
.editor-field{display:grid;grid-template-columns:1fr 112px;gap:12px;align-items:center}
.editor-field label{font-size:12px;color:#42566b}
.editor-field input[type="number"],.editor-field input[type="text"],.editor-field select{width:100%;border:1px solid #cad4de;border-radius:4px;padding:7px 8px;font:12px Arial,sans-serif;color:#162b40;background:#fff}
.editor-color{display:grid;grid-template-columns:38px 1fr;gap:6px}
.editor-color input[type="color"]{width:38px;height:32px;padding:2px;border:1px solid #cad4de;border-radius:4px;background:#fff}
.editor-actions{display:grid;gap:8px;margin-top:10px}
.editor-btn{border:1px solid #0b2f58;border-radius:4px;padding:9px 10px;background:#fff;color:#0b2f58;font:700 12px Arial,sans-serif;cursor:pointer;text-align:center}
.editor-btn.primary{background:#0b2f58;color:#fff}.editor-btn:hover{filter:brightness(.96)}
.editor-btn.danger{border-color:#a83a3a;color:#8f2929}
.editor-note{font-size:11px;color:#68798a;background:#f6f8fa;border-radius:4px;padding:9px 10px;margin:8px 0}
.editor-status{min-height:18px;color:#27704b;font-size:11px;padding-top:4px}
.asset-picker{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:6px 0}
.asset-picker span{font-size:12px;color:#42566b}
.asset-picker input{max-width:165px;font-size:10px}
.asset-reset{border:0;background:none;color:#8f2929;font-size:11px;cursor:pointer;padding:2px 0;text-align:left}

body.edit-mode [data-editable]{outline:1px dashed rgba(31,140,167,.55);outline-offset:3px;cursor:text;border-radius:2px}
body.edit-mode [data-editable]:hover{outline:2px solid rgba(31,140,167,.75);background:rgba(31,140,167,.055)}
body.edit-mode [data-editable]:focus{outline:2px solid #1f8ca7;background:rgba(255,255,255,.94);box-shadow:0 0 0 4px rgba(31,140,167,.12)}
body.edit-mode .objectives [data-editable]:focus{color:#0b2f58!important}

@media (max-width:760px){
  .editor-toggle{right:12px;bottom:12px;padding:11px 14px}
  .editor-panel{width:96vw}
}

.editor-subtitle{font-weight:700;color:#0b2f58;font-size:12px;margin:9px 0 2px}.editor-asset-card{border:1px solid #e2e8ee;border-radius:5px;padding:9px 10px;background:#fbfcfd}.asset-size-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.asset-size-row label{display:grid;grid-template-columns:1fr 64px;gap:5px;align-items:center;font-size:10.5px;color:#607184}.asset-size-row input{min-width:0;width:100%;border:1px solid #cad4de;border-radius:4px;padding:5px 6px;font:11px Arial,sans-serif}.editor-divider{height:1px;background:#e7ebef;margin:10px 0}.editor-inline{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-inline .editor-field{grid-template-columns:1fr}.editor-field.compact{grid-template-columns:1fr 100px}.editor-field select{cursor:pointer}

.editor-zone-card{border:1px solid #e2e8ee;border-radius:5px;padding:9px 10px;background:#fbfcfd;display:grid;gap:8px}.editor-zone-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:#29425c}.editor-zone-title strong{font-size:11.5px}.editor-zone-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.editor-zone-controls label{display:grid;gap:3px;font-size:10px;color:#607184}.editor-zone-controls input,.editor-zone-controls select,.custom-zone-form textarea,.custom-zone-form select,.custom-zone-form input{width:100%;border:1px solid #cad4de;border-radius:4px;padding:6px 7px;font:11px Arial,sans-serif;color:#162b40;background:#fff}.editor-zone-visible{display:flex!important;align-items:center;gap:5px!important;grid-template-columns:none!important;font-size:10.5px!important}.editor-zone-visible input{width:auto!important}.custom-zone-form{display:grid;gap:8px;border:1px dashed #bdcad6;border-radius:5px;padding:10px;background:#f8fafb}.custom-zone-form textarea{min-height:66px;resize:vertical}.custom-zone-list{display:grid;gap:8px;margin-top:10px}.custom-zone-card textarea{min-height:58px;resize:vertical}.editor-btn.small{padding:6px 8px;font-size:10.5px}.editor-btn.remove-zone{border-color:#b94a4a;color:#963737}.editor-help-inline{font-size:10px;color:#718294;margin-top:-4px}
/* ===== V6 — contrôles avancés ===== */
:root{
  --header-border-width:0px;
  --header-border-color:#d8dfe4;
  --header-shadow-opacity:0;
  --header-shadow-blur:18px;
  --header-overlap:0px;
  --header-overlap-neg:0px;

  --hero-rule-width:54px;
  --hero-rule-height:2px;
  --hero-rule-x:0px;
  --hero-rule-y:0px;
  --hero-rule-color:#c68b3c;
  --intro-rule-width:36px;
  --intro-rule-height:1px;
  --intro-rule-x:0px;
  --intro-rule-y:0px;
  --intro-rule-color:#c68b3c;

  --step-arrow-size:48px;
  --step-arrow-color:#c68b3c;
  --step-bubble-size:32px;
  --step-bubble-bg:#0b2f58;
  --step-bubble-text:#ffffff;

  --contact-button-x:0px;
  --contact-button-y:0px;
  --contact-button-width:168px;
  --contact-button-height:60px;
  --contact-button-font-size:15px;
  --contact-details-x:0px;
  --contact-details-y:0px;
  --contact-details-width:260px;
  --contact-details-font-size:13px;
  --contact-details-gap:5px;
}

.site-header{
  border-bottom:var(--header-border-width) solid var(--header-border-color);
  box-shadow:0 10px var(--header-shadow-blur) rgba(11,47,88,var(--header-shadow-opacity));
}
body[data-header-fusion="on"] .site-header{border-bottom-width:0!important;box-shadow:none!important}
body[data-header-mode="separate"] .hero{margin-top:var(--header-overlap-neg)}

.main-nav a.active:not(.nav-cta)::after{width:100%}
.main-nav .nav-label{display:inline-flex;align-items:center;gap:5px}
.main-nav .nav-chevron{display:inline-block;font-size:.72em;line-height:1;transform:translateY(-1px);opacity:.72}
.main-nav .nav-cta.active{box-shadow:inset 0 -2px 0 var(--gold)}

.gold-rule{
  width:var(--hero-rule-width);
  height:var(--hero-rule-height);
  background:var(--hero-rule-color);
  transform:translate(var(--hero-rule-x),var(--hero-rule-y));
}
.tiny-rule{
  width:var(--intro-rule-width);
  height:var(--intro-rule-height);
  background:var(--intro-rule-color);
  transform:translate(var(--intro-rule-x),var(--intro-rule-y));
}
.gold-rule[hidden],.tiny-rule[hidden]{display:none!important}

.step-number{
  width:var(--step-bubble-size);
  height:var(--step-bubble-size);
  background:var(--step-bubble-bg);
  color:var(--step-bubble-text);
  font-size:calc(var(--step-bubble-size) * .36);
  transform:translate(var(--decor-x,0px),var(--decor-y,0px));
}
.step-arrow{
  font-size:var(--step-arrow-size);
  color:var(--step-arrow-color);
  transform:translate(var(--decor-x,0px),var(--decor-y,0px));
}

.contact-actions .btn-gold{
  min-width:0;
  min-height:0;
  width:var(--contact-button-width);
  height:var(--contact-button-height);
  font-size:var(--contact-button-font-size);
  transform:translate(var(--contact-button-x),var(--contact-button-y));
}
.contact-details{
  width:var(--contact-details-width);
  max-width:100%;
  font-size:var(--contact-details-font-size);
  gap:var(--contact-details-gap);
  transform:translate(var(--contact-details-x),var(--contact-details-y));
}

/* Un pictogramme personnalisé remplace réellement le pictogramme de secours. */
.asset-icon .icon-fallback[hidden],
.asset-icon .custom-icon[hidden]{display:none!important}
.asset-icon .custom-icon:not([hidden]){display:block!important}

@media (max-width:760px){
  .step-arrow{transform:translate(var(--decor-x,0px),var(--decor-y,0px)) rotate(90deg)}
}

/* V6 — mise en forme des nouveaux contrôles de l'éditeur */
.editor-nav-list{display:grid;gap:8px}
.editor-nav-card,.editor-rule-card{border:1px solid #e2e8ee;border-radius:6px;background:#fbfcfd;padding:10px;display:grid;gap:8px}
.editor-nav-title{display:flex;align-items:center;justify-content:space-between;color:#29425c;font-size:11.5px}
.editor-nav-title span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf2f6;color:#5d6f81;font-size:10px}
.editor-nav-label{display:grid;grid-template-columns:82px 1fr;gap:8px;align-items:center;font-size:10.5px;color:#607184}
.editor-nav-label input{width:100%;border:1px solid #cad4de;border-radius:4px;padding:6px 7px;font:11px Arial,sans-serif;color:#162b40;background:#fff}
.editor-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.editor-btn:disabled{opacity:.38;cursor:not-allowed;filter:none}
.editor-rule-card{margin:9px 0}
.editor-decor-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:7px;align-items:end}
.editor-decor-row>strong{align-self:center;font-size:10.5px;color:#29425c}
.editor-decor-row label{display:grid;gap:3px;font-size:10px;color:#607184}
.editor-decor-row input{width:100%;min-width:0;border:1px solid #cad4de;border-radius:4px;padding:6px 7px;font:11px Arial,sans-serif;color:#162b40;background:#fff}

/* ======================================================================
   PAGE LE CABINET — V4
   Les styles Header, Hero, Contact et Pied de page ci-dessus sont ceux de
   la homepage V6.1, non redéfinis ici. Ce bloc ne vise que les sections
   spécifiques à la page Le cabinet.
   ====================================================================== */
:root{
  --cabinet-subnav-height:72px;
  --cabinet-subnav-font-size:13px;
  --cabinet-about-image-x:50%;
  --cabinet-about-image-y:50%;
  --cabinet-about-gap:90px;
  --cabinet-metrics-gap:1px;
  --cabinet-reg-cards-gap:28px;
  --cabinet-reg-trust-gap:46px;
  --cabinet-commit-min-height:300px;
  --cabinet-remuneration-gap:24px;
}
.cabinet-subnav{height:var(--cabinet-subnav-height);background:var(--paper);border-bottom:1px solid rgba(11,47,88,.09);position:relative;z-index:15}
.cabinet-subnav.is-sticky{position:sticky;top:0}
.cabinet-subnav-inner{height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:auto;scrollbar-width:none}
.cabinet-subnav a{padding:10px 34px;white-space:nowrap;color:var(--navy);font-size:var(--cabinet-subnav-font-size);font-weight:700;position:relative}
.cabinet-subnav a+a{border-left:1px solid rgba(198,139,60,.35)}
.cabinet-subnav a:hover{color:var(--teal)}
.cabinet-subnav .subnav-rule{position:absolute;bottom:8px;left:50%;margin:0;transform:translate(calc(-50% + var(--intro-rule-x)),var(--intro-rule-y))}

.cabinet-about{background:var(--paper)}
.cabinet-about-grid{display:grid;grid-template-columns:minmax(380px,620px) minmax(0,760px);gap:var(--cabinet-about-gap);align-items:center;justify-content:center}
.cabinet-about-media{overflow:hidden;box-shadow:var(--shadow);background:var(--cream)}
.cabinet-about-media img{max-width:none;object-fit:cover;object-position:var(--cabinet-about-image-x) var(--cabinet-about-image-y)}
.cabinet-about-copy h2,.cabinet-regulation h2,.cabinet-commitments h2,.cabinet-remuneration h2{font-size:clamp(2.25rem,3.5vw,var(--h2-size));line-height:1.12;margin-bottom:26px}
.cabinet-about-copy p:not(.section-kicker){color:#33465a;margin:0 0 17px}
.cabinet-page-lead{font-family:var(--serif);font-size:clamp(1.25rem,2vw,var(--intro-size))!important;line-height:1.38;color:var(--navy)!important;margin-bottom:24px!important}
.cabinet-metrics{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cabinet-metrics-gap);background:rgba(11,47,88,.09);border:1px solid rgba(11,47,88,.09)}
.cabinet-metric{background:var(--cream);padding:30px 31px;min-height:135px}
.cabinet-metric strong{display:block;font-family:var(--serif);color:var(--navy);font-size:35px;font-weight:400;line-height:1.1;margin-bottom:9px}
.cabinet-metric span{display:block;color:var(--muted);font-size:.82rem;line-height:1.5}

.cabinet-regulation{background:linear-gradient(90deg,var(--cabinet-reg-bg-start),var(--cabinet-reg-bg-end))}
.cabinet-page .section-heading>p:not(.section-kicker){font-size:clamp(15px,calc(var(--intro-size) * .62),20px);line-height:1.65}
.regulation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cabinet-reg-cards-gap)}
.regulation-card{background:var(--paper);border:1px solid rgba(11,47,88,.09);padding:40px 36px;min-height:330px}
.reg-topline{display:flex;align-items:center;gap:18px;margin-bottom:23px}
.regulation-icon{width:58px;height:58px;border:1px solid rgba(31,140,167,.35);display:grid;place-items:center;margin-bottom:0;color:var(--teal);flex:0 0 auto}
.regulation-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.reg-short{font-size:var(--cabinet-reg-short-size);line-height:1;letter-spacing:.12em;color:var(--gold);font-weight:700;margin:0}
.regulation-card h3{font-size:var(--h3-size);line-height:1.2;margin-bottom:13px}.regulation-card p{font-size:.86rem;color:var(--muted);margin:0}
.regulation-trust{margin-top:var(--cabinet-reg-trust-gap);background:var(--navy);padding:47px 53px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.regulation-trust h3{font-family:var(--serif);font-size:31px;color:#fff;font-weight:400;margin-bottom:10px}.regulation-trust p{font-size:.86rem;color:rgba(255,255,255,.75);margin:0}
.trust-data{display:grid;grid-template-columns:1fr 1.7fr;gap:1px;background:rgba(255,255,255,.16)}
.trust-item{background:rgba(255,255,255,.055);padding:20px 22px}.trust-item small{display:block;color:var(--gold-soft);font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.trust-item strong{font-size:.78rem;color:#fff;font-weight:500;line-height:1.5}

.cabinet-commitments{background:linear-gradient(135deg,#0a2e55,#0d3b6e 65%,#0f416f);color:#fff;position:relative;overflow:hidden}
.cabinet-commitments::after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(53,160,190,.18);border-radius:50%;right:-260px;top:-200px;box-shadow:0 0 0 65px rgba(255,255,255,.015),0 0 0 130px rgba(198,139,60,.025)}
.cabinet-commitments .section-heading{position:relative;z-index:1}.cabinet-commitments .section-heading.light .section-kicker{color:var(--kicker-color)}
.commit-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.commit{padding:41px 34px 45px;min-height:var(--cabinet-commit-min-height)}.commit+.commit{border-left:1px solid rgba(255,255,255,.18)}
.commit-number{display:block;font-family:var(--serif);font-size:25px;color:var(--gold-soft);margin-bottom:27px}.commit h3{color:#fff;font-size:var(--h3-size)}.commit p{font-size:.86rem;color:rgba(255,255,255,.72);margin:0}

.cabinet-remuneration{background:var(--paper)}
.remuneration-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(0,760px);gap:100px;align-items:start;justify-content:center}
.remuneration-intro>p:not(.section-kicker){color:var(--muted);font-size:clamp(15px,calc(var(--intro-size) * .62),20px);line-height:1.68}
.remuneration-rule{width:190px;height:1px;background:var(--gold);margin:0 0 28px}
.remuneration-side{display:grid;gap:28px}
.remuneration-models{display:grid;grid-template-columns:1fr 1fr;gap:var(--cabinet-remuneration-gap)}
.remuneration-card{border-top:1px solid var(--gold);background:var(--cream);padding:42px 30px 36px;min-height:250px}
.remun-number{display:block;color:var(--gold);font-family:var(--serif);font-size:25px;margin-bottom:26px}.remuneration-card h3{font-size:var(--h3-size)}.remuneration-card p{font-size:.86rem;color:var(--muted)}
.remuneration-disclosure{margin-top:0;border:1px solid rgba(11,47,88,.12);padding:28px 32px;background:#fff}.remuneration-disclosure h3{font-family:var(--serif);font-size:28px;font-weight:400}.remuneration-disclosure p{font-size:.86rem;color:var(--muted)}.remuneration-disclosure .note{margin:18px 0 0;padding:0;background:transparent;font-size:.86rem;color:var(--muted)}

@media (max-width:980px){
  .cabinet-about-grid,.remuneration-layout{gap:50px}
  .regulation-grid{gap:18px}
  .commit-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .cabinet-subnav{height:auto}.cabinet-subnav-inner{justify-content:flex-start}.cabinet-subnav a{padding:15px 20px}
  .cabinet-about-grid,.regulation-trust,.remuneration-layout{grid-template-columns:1fr}
  .cabinet-about-media{order:2}.cabinet-metrics,.regulation-grid,.commit-grid,.remuneration-models,.trust-data{grid-template-columns:1fr}
  .reg-topline{gap:14px}
  .remuneration-side{gap:22px}
  .commit+.commit{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
}

/* ===== V4 — réglages additionnels demandés ===== */
:root{
  --nav-offset-x:0px;
  --hero-image-opacity:1;
  --hero-image-saturation:.90;
  --hero-image-contrast:.97;
  --hero-image-brightness:1;
  --hero-image-blur:0px;
  --hero-image-temperature-overlay:rgba(255,255,255,0);
  --hero-overlay-opacity:1;
  --hero-intro-color:#33475b;
  --secondary-bg-start:#f7f0e6;
  --secondary-bg-end:#fbf8f3;
  --cabinet-reg-bg-start:#f7f0e6;
  --cabinet-reg-bg-end:#fbf8f3;
  --cabinet-reg-short-size:22px;
  --cabinet-hero-text-height:auto;
  --cabinet-hero-text-justify:center;
  --cabinet-hero-text-padding-top:40px;
  --cabinet-hero-text-padding-bottom:20px;
  --cabinet-commit-cell-opacity:.055;
}
/* Le groupe de liens peut être déplacé sans déplacer le bouton Contact. */
.main-nav .nav-links-group{display:flex;align-items:center;gap:30px;transform:translateX(var(--nav-offset-x));}
.cabinet-page .hero-photo img{
  opacity:var(--hero-image-opacity);
  filter:saturate(var(--hero-image-saturation)) contrast(var(--hero-image-contrast)) brightness(var(--hero-image-brightness)) blur(var(--hero-image-blur));
}
.cabinet-page .hero-photo::before{content:"";position:absolute;inset:0;background:var(--hero-image-temperature-overlay);pointer-events:none;z-index:1}
.cabinet-page .hero-photo::after{opacity:var(--hero-overlay-opacity);z-index:2}
.cabinet-page .hero-copy{height:var(--cabinet-hero-text-height);display:flex;flex-direction:column;justify-content:var(--cabinet-hero-text-justify);padding:var(--cabinet-hero-text-padding-top) 0 var(--cabinet-hero-text-padding-bottom)}
.about-signature{font-family:var(--serif);font-size:1.05rem;color:var(--navy)!important;text-align:right;margin-top:22px!important}
.cabinet-metrics[hidden]{display:none!important}
/* Présentation V2 : tableau bleu légèrement plus clair que son fond, en écho au bandeau ORIAS/CNCGP. */
.commit-grid{gap:1px;background:rgba(255,255,255,.16);border:0}
.commit{background:rgba(255,255,255,var(--cabinet-commit-cell-opacity))}
.commit+.commit{border-left:0}
@media (max-width:980px){.main-nav .nav-links-group{gap:16px}}
@media (max-width:760px){
  .main-nav .nav-links-group{display:flex;flex-direction:column;align-items:stretch;gap:5px;transform:none}
  .cabinet-page .hero-copy{height:auto;min-height:0;padding-top:var(--cabinet-hero-text-padding-top);padding-bottom:var(--cabinet-hero-text-padding-bottom)}
  .commit+.commit{border-left:0;border-top:0}
}


/* ======================================================================
   V4.3 — harmonisation typographique et alignements
   ====================================================================== */
/* Qui sommes-nous : paragraphes justifiés et signature alignée sur le texte. */
.cabinet-about-copy p[data-editable^="about.p"]{
  text-align:justify!important;
  text-justify:inter-word;
}
.about-signature{
  font-family:var(--sans)!important;
  font-size:var(--body-size)!important;
  line-height:1.65!important;
  font-weight:400!important;
  color:#33465a!important;
  text-align:right!important;
  max-width:720px!important;
  margin-left:0!important;
  margin-right:auto!important;
  margin-top:14px!important;
}

/* Statuts & Réglementation : suppression des cadres des pictos et centrage complet. */
.regulation-card{text-align:center}
.reg-topline{justify-content:center}
.regulation-icon{
  border:0!important;
  background:transparent!important;
}
.regulation-card h3,.regulation-card p{text-align:center}

/* Nos engagements : typographie plus lisible et rythme vertical resserré. */
.commit-number{margin-bottom:22px}
.commit h3{
  font-family:var(--sans);
  font-size:24px;
  line-height:1.25;
  font-weight:400;
  letter-spacing:-.01em;
  margin-bottom:9px;
}
.commit p{
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.58;
  color:rgba(255,255,255,.82);
  margin:0;
}

/* Notre rémunération : même logique typographique que les autres cartouches. */
.remuneration-card h3,
.remuneration-disclosure h3{
  font-family:var(--sans);
  font-size:22px;
  line-height:1.28;
  font-weight:400;
  letter-spacing:-.01em;
  margin-bottom:9px;
}
.remuneration-card p,
.remuneration-disclosure p{
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.58;
  color:var(--muted);
  margin:0;
}
.remuneration-disclosure .note{
  margin:10px 0 0;
  padding:0;
  background:transparent;
  font-size:15.5px;
  line-height:1.58;
  color:var(--teal);
}

@media (max-width:760px){
  .about-signature{max-width:100%!important}
  .commit h3{font-size:22px}
  .commit p,.remuneration-card p,.remuneration-disclosure p,.remuneration-disclosure .note{font-size:15px}
}


/* ======================================================================
   PAGE LE CABINET — V4.4
   Ajustements de lisibilité demandés : textes de cartouches légèrement
   réduits et justifiés, sans modifier les titres validés en V4.3.
   ====================================================================== */
/* Nos engagements — titres inchangés, paragraphes un cran plus petits. */
.commit p{
  font-size:14.5px;
  line-height:1.58;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

/* Notre rémunération — les 3 cartouches : titres inchangés, textes réduits et justifiés. */
.remuneration-card p,
.remuneration-disclosure p{
  font-size:14.5px;
  line-height:1.58;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
.remuneration-disclosure .note{
  font-size:14.5px;
  line-height:1.58;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  color:var(--teal);
}

/* Paragraphe d'introduction à gauche : taille V4.3 conservée, justification ajoutée. */
.remuneration-intro>p:not(.section-kicker){
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

@media (max-width:760px){
  .commit p,
  .remuneration-card p,
  .remuneration-disclosure p,
  .remuneration-disclosure .note{font-size:14px}
}


/* ======================================================================
   PAGE LE CABINET — V4.5
   Lisibilité web : alignement à gauche dans les blocs étroits afin
   d'éviter les césures et espacements irréguliers liés à la justification.
   ====================================================================== */
.commit p,
.remuneration-card p,
.remuneration-disclosure p,
.remuneration-disclosure .note,
.remuneration-intro>p:not(.section-kicker){
  text-align:left;
  text-justify:auto;
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}


/* ==========================================================
   PAGE VOS OBJECTIFS — V2.0
   Le Header, le Hero, la sous-navigation, Contact et Footer
   héritent volontairement des règles du benchmark Le cabinet V4.5.
   ========================================================== */
:root{
  --objective-layout-gap:100px;
  --objective-icon-size:112px;
  --objective-point-gap:14px;
  --objective-point-min-height:118px;
  --objective-text-max-width:720px;
  --objective-transition-max-width:980px;
}
.objectives-detail-page .hero-copy{width:min(var(--hero-copy-width),88%)}
.objectives-detail-page .hero-copy h1{max-width:var(--hero-copy-width);white-space:pre-line}
.objectives-detail-page .cabinet-subnav a{padding-left:30px;padding-right:30px}

.objectives-intro{background:var(--paper);padding-top:calc(var(--section-spacing) * .92);padding-bottom:calc(var(--section-spacing) * .92)}
.objectives-intro-grid{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr);gap:clamp(46px,6vw,110px);align-items:start}
.objectives-intro-title{padding-right:clamp(14px,2vw,28px)}
.objectives-intro-title h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.25rem,3.5vw,var(--h2-size));margin:10px 0 24px;max-width:700px;line-height:1.12}
.intro-editorial-rule{width:92px;height:1px;background:var(--gold);margin-top:0}
.objectives-intro-copy{position:relative;left:var(--objectives-intro-copy-offset-x);padding-left:clamp(28px,3vw,54px)}
.objectives-intro-copy::before{content:"";position:absolute;left:var(--objectives-intro-divider-x);top:50%;width:1px;height:var(--objectives-intro-divider-height);transform:translateY(-50%);background:rgba(198,139,60,.55)}
.objectives-intro-accent{font-family:var(--serif);font-size:var(--objectives-intro-accent-size);font-weight:400;line-height:1.45;color:var(--heading-color);margin:0 0 20px;max-width:760px}
.objectives-intro-paragraphs{display:grid;gap:15px}
.objectives-intro-text{font-size:var(--objectives-intro-body-size);line-height:1.75;color:#33465a;margin:0;max-width:760px;text-align:justify;hyphens:none;-webkit-hyphens:none}

.objective-detail{background:linear-gradient(90deg,var(--secondary-bg-start),var(--secondary-bg-end));scroll-margin-top:calc(var(--cabinet-subnav-height) + 10px);overflow:hidden}
.objective-detail-alt{background:var(--paper)}
.objective-detail-stack{display:flex;flex-direction:column;gap:0}
.objective-stage{display:grid;grid-template-columns:minmax(340px,.94fr) minmax(420px,1.06fr);align-items:stretch;position:relative}
.objective-detail-stack.reverse .objective-stage{grid-template-columns:minmax(420px,1.06fr) minmax(340px,.94fr)}
.objective-detail-stack.reverse .objective-copy-card{order:1;margin-left:0;margin-right:-86px}
.objective-detail-stack.reverse .objective-visual{order:2}
.objective-visual{min-height:420px;border:1px solid rgba(198,139,60,.18);background:linear-gradient(135deg,rgba(247,240,230,.78),rgba(255,252,248,.98));display:flex;align-items:stretch;justify-content:center;overflow:hidden;position:relative}
.objective-detail-alt .objective-visual{background:linear-gradient(135deg,rgba(255,251,246,.92),rgba(246,238,228,.95))}
.objective-visual svg{width:100%;height:100%;display:block}
.objective-visual-custom{position:absolute;left:50%;top:50%;width:100%;height:100%;max-width:none;object-fit:cover;transform:translate(-50%,-50%) scale(1);transform-origin:center center}
.objective-visual.has-custom-visual{background:transparent!important;border-color:transparent!important}
.objective-copy-card{position:relative;z-index:2;align-self:center;background:rgba(255,253,250,.96);border:1px solid rgba(11,47,88,.09);box-shadow:0 14px 34px rgba(10,45,82,.06);padding:34px clamp(24px,3vw,48px) 34px;max-width:900px;margin-left:-86px}
.objective-detail-alt .objective-copy-card{background:rgba(255,252,248,.98)}
.objective-heading-row{display:grid;grid-template-columns:var(--objective-icon-size) 1fr;gap:30px;align-items:center;margin-bottom:28px}
.objective-page-icon{width:var(--objective-icon-size);height:var(--objective-icon-size);border:1px solid rgba(198,139,60,.24);border-radius:2px;background:#fff}
.objective-detail:not(.objective-detail-alt) .objective-page-icon{background:linear-gradient(135deg,rgba(247,240,230,.72),rgba(255,253,250,.96))}
.objective-detail-alt .objective-page-icon{background:linear-gradient(135deg,rgba(255,251,246,.8),rgba(255,255,255,.96))}
.objective-heading-row .section-kicker{margin:0 0 8px}
.objective-heading-row h2{font-size:clamp(2.15rem,calc(var(--h2-size) * .82),3.25rem);line-height:1.04;margin:0;max-width:720px}
.objective-lead{font-size:clamp(16px,calc(var(--intro-size) * .56),18.5px);line-height:1.85;color:#33465a;margin:0 0 28px}
.objective-note{font-style:italic;color:#6d7c8b;font-size:clamp(15px,calc(var(--body-size) * 1.06),17px);line-height:1.8;border-left:3px solid var(--gold);padding-left:20px;margin:0}
.objective-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:-36px;position:relative;z-index:3;padding:0 clamp(22px,3.2vw,54px)}
.objective-point{display:grid;grid-template-columns:54px 1fr;gap:22px;align-items:start;min-height:var(--objective-point-min-height);padding:26px 28px;background:rgba(255,253,250,.97);border:1px solid rgba(11,47,88,.09);box-shadow:0 10px 28px rgba(10,45,82,.035)}
.objective-detail:not(.objective-detail-alt) .objective-point{background:rgba(255,255,255,.96)}
.objective-detail-alt .objective-point{background:rgba(255,252,248,.96)}
.objective-point>span{font-family:var(--serif);font-size:21px;line-height:1;color:var(--gold);padding-top:3px;letter-spacing:.03em}
.objective-point h3{font-size:clamp(18px,calc(var(--h3-size) * .92),22px);margin:0 0 8px;color:var(--navy);line-height:1.25}
.objective-point p{margin:0;color:#44576a;font-size:var(--body-size);line-height:1.65}


.objectives-transition{background:var(--navy);color:#fff;padding-top:calc(var(--section-spacing) * .82);padding-bottom:calc(var(--section-spacing) * .82)}
.objectives-transition-inner{max-width:var(--objective-transition-max-width);margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.objectives-transition .section-kicker{color:var(--gold-soft)}
.objectives-transition h2{color:#fff;margin:8px auto 18px;max-width:960px}
.objectives-transition p{color:rgba(255,255,255,.78);font-size:clamp(16px,calc(var(--intro-size) * .60),19px);line-height:1.7;margin:0 auto 30px;max-width:820px}
.transition-cta{display:inline-flex;align-items:center;justify-content:center;min-width:220px;background:var(--solutions-cta-bg);color:var(--solutions-cta-text)}
.transition-cta:hover{background:var(--solutions-cta-hover);color:var(--solutions-cta-text)}

@media (max-width:1100px){
  .objectives-intro-grid{grid-template-columns:1fr;gap:30px}
  .objectives-intro-title{padding-right:0}
  .objectives-intro-copy{padding-left:0;padding-top:28px}
  .objectives-intro-copy::before{left:0;top:0;transform:none;width:110px;height:1px;background:rgba(198,139,60,.55)}
  .objective-stage,.objective-detail-stack.reverse .objective-stage{grid-template-columns:1fr}
  .objective-detail-stack.reverse .objective-copy-card,.objective-copy-card{margin-left:0;margin-right:0}
  .objective-visual{min-height:320px}
  .objective-points{grid-template-columns:1fr;margin-top:0;padding:0}
  .objectives-detail-page .cabinet-subnav a{padding-left:20px;padding-right:20px}
}
@media (max-width:720px){
  .objective-heading-row{grid-template-columns:82px 1fr;gap:18px;align-items:start}
  .objective-page-icon{width:82px;height:82px}
  .objective-copy-card{padding:26px 22px 26px}
  .objective-point{grid-template-columns:40px 1fr;gap:14px;padding:22px 20px}
  .objective-note{font-size:13px}
  .objectives-detail-page .cabinet-subnav a{padding:14px 18px}
}


/* ===== PAGE NOS SOLUTIONS — V1 ===== */
.solutions-detail-page .hero-photo img{object-position:var(--hero-image-x) var(--hero-image-y)}
.solutions-detail-page .hero-copy h1{max-width:980px}
.solutions-detail-page .solutions-subnav .cabinet-subnav-inner{justify-content:center;gap:0}
.solutions-detail-page .solutions-subnav a{flex:1 1 20%;min-width:180px;text-align:center;padding-left:18px;padding-right:18px}
.solutions-detail-page .solutions-intro{background:var(--paper)}
.solutions-detail-page .objective-detail{padding-top:calc(var(--section-spacing) * .86);padding-bottom:calc(var(--section-spacing) * .86)}
.solutions-detail-page .objective-visual{min-height:410px}
.solutions-detail-page .objective-heading-row h2{max-width:760px}
.solutions-detail-page .objective-note{font-style:normal;background:transparent;padding:14px 18px 14px 20px;border-left-width:2px}
.solutions-detail-page .objective-page-icon .icon-fallback svg{fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.solutions-detail-page .solution-visual svg{width:100%;height:100%;min-height:410px}
.solutions-detail-page .contact-band{margin-top:0}

@media (max-width:1180px){
  .solutions-detail-page .solutions-subnav a{min-width:0;font-size:calc(var(--cabinet-subnav-font-size) * .9);padding-left:10px;padding-right:10px}
}
@media (max-width:900px){
  .solutions-detail-page .solutions-subnav{position:relative!important;top:auto!important}
  .solutions-detail-page .solutions-subnav .cabinet-subnav-inner{flex-wrap:wrap;height:auto;padding:6px 0}
  .solutions-detail-page .solutions-subnav a{flex:1 1 33%;padding:11px 8px}
}
@media (max-width:760px){
  .solutions-detail-page .solutions-subnav a{flex:1 1 100%;padding:9px 6px}
  .solutions-detail-page .objectives-intro-grid{grid-template-columns:1fr;gap:34px}
  .solutions-detail-page .objectives-intro-copy{padding-left:28px}
}

/* =========================================================
   AVELTIA — PAGE CONTACT V1
   ========================================================= */
:root{
  --contact-section-padding:92px;
  --contact-max-width:1280px;
  --contact-left-width:41%;
  --contact-panel-min-height:690px;
  --contact-panel-radius:2px;
  --contact-panel-border:#e6e0d7;
  --contact-shadow-opacity:.07;
  --contact-left-bg-start:#f7f0e6;
  --contact-left-bg-end:#fbf8f3;
  --contact-right-bg:#fff;
  --contact-panel-pad-x:54px;
  --contact-panel-pad-y:58px;
  --contact-info-gap:27px;
  --contact-icon-size:42px;
  --contact-icon-color:#c68b3c;
  --contact-input-bg:#f8f6f2;
  --contact-input-border:#ece7df;
  --contact-input-height:50px;
  --contact-message-height:152px;
  --contact-field-gap:20px;
  --contact-submit-width:192px;
  --contact-submit-height:50px;
  --contact-submit-bg:#0b2f58;
  --contact-submit-text:#fff;
  --contact-submit-hover:#123f70;
  --hero-image-opacity:1;
  --hero-image-saturation:.92;
  --hero-image-contrast:.98;
  --hero-image-brightness:1;
  --hero-image-grayscale:0%;
  --hero-image-sepia:0%;
  --hero-image-blur:0px;
  --hero-overlay-opacity:1;
  --nav-offset-x:-11px;
}
.contact-detail-page .main-nav a.active:not(.nav-cta)::after{width:100%}
.contact-detail-page .hero{background:#f7f1e9}
.contact-detail-page .hero-photo img{
  object-position:center;
  opacity:var(--hero-image-opacity);
  filter:saturate(var(--hero-image-saturation)) contrast(var(--hero-image-contrast)) brightness(var(--hero-image-brightness)) grayscale(var(--hero-image-grayscale)) sepia(var(--hero-image-sepia)) blur(var(--hero-image-blur));
}
.contact-detail-page .hero-photo::after{opacity:var(--hero-overlay-opacity)}
.contact-detail-page .hero-copy{width:min(var(--hero-copy-width),72%)}
.contact-detail-page .hero-copy h1{max-width:980px;white-space:pre-line}
.contact-detail-page .hero-lead{max-width:690px;margin:0;color:var(--hero-intro-color);font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.7}
.contact-detail-page .gold-rule{width:var(--hero-rule-width);height:var(--hero-rule-height);background:var(--hero-rule-color);transform:translate(var(--hero-rule-x),var(--hero-rule-y));margin-bottom:28px}

.contact-main{padding:var(--contact-section-padding) 0;background:var(--paper)}
.contact-page-container{max-width:var(--contact-max-width)}
.contact-shell{display:grid;grid-template-columns:var(--contact-left-width) minmax(0,1fr);min-height:var(--contact-panel-min-height);border:1px solid var(--contact-panel-border);border-radius:var(--contact-panel-radius);overflow:hidden;box-shadow:0 20px 55px rgba(7,37,69,var(--contact-shadow-opacity));background:#fff}
.contact-info-panel,.contact-form-panel{padding:var(--contact-panel-pad-y) var(--contact-panel-pad-x)}
.contact-info-panel{background:linear-gradient(145deg,var(--contact-left-bg-start),var(--contact-left-bg-end));border-right:1px solid var(--contact-panel-border);display:flex;flex-direction:column}
.contact-form-panel{background:var(--contact-right-bg)}
.contact-info-panel h2,.contact-form-panel h2{font-size:clamp(2.65rem,3.7vw,var(--h2-size));line-height:1.04;margin-bottom:24px}
.contact-intro{margin:0;color:#4a5a68;font-size:.93rem;line-height:1.75;max-width:500px}
.contact-list{display:grid;gap:var(--contact-info-gap);margin-top:52px}
.contact-item{display:grid;grid-template-columns:var(--contact-icon-size) 1fr;gap:18px;align-items:start}
.contact-item-icon{width:var(--contact-icon-size);height:var(--contact-icon-size);display:grid;place-items:center;color:var(--contact-icon-color)}
.contact-item-icon svg{width:72%;height:72%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-item>div:last-child{display:grid;gap:4px;padding-top:2px}
.contact-label{font-size:.76rem;font-weight:700;letter-spacing:.06em;color:var(--navy)}
.contact-item a,.contact-item>div:last-child>span:not(.contact-label){font-size:.89rem;color:#4c5b68;white-space:pre-line}
.contact-item a{width:max-content;border-bottom:1px solid rgba(198,139,60,.45)}
.contact-item a:hover{color:var(--navy);border-bottom-color:var(--gold)}
.contact-item-note{margin-top:4px;padding-top:26px;border-top:1px solid rgba(11,47,88,.09)}

.contact-form-panel>.section-kicker{margin-bottom:10px}
.contact-form-panel h2{margin-bottom:38px}
.contact-form{display:grid;gap:var(--contact-field-gap)}
.contact-form .form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:7px;color:#17344f;font-size:.78rem}
.contact-form label>span:first-child{font-weight:600}
.contact-form em{font-style:normal;color:var(--gold)}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea{
  width:100%;border:1px solid var(--contact-input-border);border-radius:1px;background:var(--contact-input-bg);color:var(--ink);font:400 .88rem/1.45 var(--sans);outline:none;transition:border-color .2s,box-shadow .2s,background .2s;
}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"]{height:var(--contact-input-height);padding:0 15px}
.contact-form textarea{min-height:var(--contact-message-height);padding:14px 15px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(198,139,60,.78);background:#fff;box-shadow:0 0 0 2px rgba(198,139,60,.08)}
.form-privacy-notice{margin:0;color:#526170;font:400 .72rem/1.55 var(--sans)}
.form-privacy-notice .privacy-link{color:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.form-privacy-notice .privacy-link:hover{color:var(--navy)}
.consent-row{grid-template-columns:16px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;margin-top:2px;color:#526170!important;font-size:.72rem!important;line-height:1.55}
.consent-row input{width:15px;height:15px;margin:2px 0 0;accent-color:var(--navy)}
.consent-row span{font-weight:400!important}

.consent-row .privacy-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.consent-row .privacy-link:hover{color:var(--navy)}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px}
.form-status{margin:0;color:#4f6173;font-size:.72rem;line-height:1.45;max-width:420px}
.form-status.success{color:#2f6a50}.form-status.error{color:#8b3d35}
.contact-submit{width:var(--contact-submit-width);height:var(--contact-submit-height);border:0;border-radius:1px;background:var(--contact-submit-bg);color:var(--contact-submit-text);font:700 .72rem/1 var(--sans);letter-spacing:.045em;cursor:pointer;transition:background .2s,transform .2s;flex:0 0 auto}
.contact-submit:hover{background:var(--contact-submit-hover);transform:translateY(-1px)}
.contact-detail-page [data-section][hidden]{display:none!important}

/* réglages V1 contact */
.editor-panel textarea{width:100%;min-height:70px;border:1px solid #cad4de;border-radius:4px;padding:7px 8px;font:12px/1.45 Arial,sans-serif;color:#162b40;background:#fff;resize:vertical}
.editor-field.stacked{grid-template-columns:1fr;gap:5px}
.editor-field input[type="range"]{width:100%}
.editor-check{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#42566b}
.editor-file{display:grid;gap:6px;padding:9px;border:1px solid #e2e8ee;border-radius:5px;background:#fbfcfd}
.editor-file input{font-size:11px}
.editor-small{font-size:10px;color:#718294}

@media (max-width:980px){
  .contact-shell{grid-template-columns:1fr;min-height:0}
  .contact-info-panel{border-right:0;border-bottom:1px solid var(--contact-panel-border)}
  .contact-info-panel,.contact-form-panel{padding:46px 38px}
  .contact-list{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .contact-detail-page .hero{min-height:max(var(--hero-height),600px)}
  .contact-detail-page .hero-inner{min-height:max(var(--hero-height),600px)}
  .contact-detail-page .hero-copy{width:100%}
  .contact-main{padding:58px 0}
  .contact-page-container{width:min(100% - 24px,1180px)}
  .contact-info-panel,.contact-form-panel{padding:38px 24px}
  .contact-info-panel h2,.contact-form-panel h2{font-size:clamp(2.3rem,11vw,3.25rem)}
  .contact-list{grid-template-columns:1fr;gap:23px;margin-top:38px}
  .contact-form .form-row.two-cols{grid-template-columns:1fr}
  .form-footer{align-items:stretch;flex-direction:column}
  .contact-submit{width:100%}
}


/* Menus déroulants du header — référence stricte HOME V6.6 */
.main-nav>.nav-item{position:relative;display:flex;align-items:center}
.main-nav>.nav-item>.nav-parent{white-space:nowrap}
.nav-dropdown{position:absolute;left:50%;top:100%;z-index:80;width:max-content;min-width:245px;max-width:360px;padding:8px 0;background:rgba(255,255,255,.985);border-top:1px solid var(--gold);box-shadow:0 16px 36px rgba(8,40,74,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.nav-item:hover>.nav-dropdown,.nav-item:focus-within>.nav-dropdown,.nav-item.open>.nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.main-nav .nav-dropdown a{display:block;padding:10px 18px;color:var(--navy);font-size:.76rem;font-weight:400;line-height:1.35;letter-spacing:0;white-space:normal}
.main-nav .nav-dropdown a::after{display:none!important}
.main-nav .nav-dropdown a:hover,.main-nav .nav-dropdown a:focus{background:rgba(198,139,60,.08);color:var(--navy)}

@media(max-width:760px){
  .main-nav>.nav-item{display:block;width:100%}
  .main-nav>.nav-item>.nav-parent{display:block;width:100%}
  .main-nav>.nav-item>.nav-parent[data-has-dropdown="true"]{padding-right:28px}
  .main-nav>.nav-item>.nav-parent[data-has-dropdown="true"] .nav-chevron{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:.9em}
  .nav-dropdown{position:static;width:100%;min-width:0;max-width:none;padding:2px 0 7px;margin:0;border-top:0;border-left:1px solid rgba(198,139,60,.45);box-shadow:none;background:transparent;display:none;opacity:1;visibility:visible;pointer-events:auto;transform:none!important}
  .nav-item.open>.nav-dropdown{display:block}
  .main-nav .nav-dropdown a{padding:8px 14px 8px 18px;font-size:.72rem;color:var(--muted)}
}


/* V1.4 — consentement : justification par défaut, modifiable via Personnaliser */
.consent-row span{text-align:justify;text-justify:inter-word}
