: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:12.5px;
  --kicker-color:#c68b3c;
  --secondary-bg:#f7f0e6;
  --hero-image-opacity:1;
  --hero-image-saturation:90%;
  --hero-image-contrast:97%;
  --hero-image-brightness:100%;
  --hero-image-grayscale:0%;
  --hero-image-sepia:0%;
  --hero-image-blur:0px;
  --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:180px;
  --footer-logo-height:72px;
  --nav-offset-x:0px;
  --approach-subnav-height:72px;
  --approach-subnav-font-size:13px;
  --method-label-font-size:11px;
  --method-bubble-picto-gap:32px;
  --distinction-body-font-size:14.72px;
  --distinction-body-font-family:var(--sans);
}
*{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 .nav-links-group{display:flex;align-items:center;gap:30px;transform:translateX(var(--nav-offset-x));}
.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;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))}
.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:var(--secondary-bg);background:linear-gradient(90deg,var(--secondary-bg),color-mix(in srgb,var(--secondary-bg) 45%,white 55%))}
.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{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))}.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:165px;
  --contact-button-height:48px;
  --contact-button-font-size:13px;
  --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)}

.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)}

.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}


@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)}
}

/* =========================================================
   PAGE NOTRE APPROCHE — V1
   Base commune : Homepage AVELTIA V6.2
   Les styles ci-dessous sont strictement scopes a .approach-page
   pour ne pas modifier Header / Hero / Contact / Footer.
   ========================================================= */
.approach-page .approach-intro{background:#fff}
.approach-page .approach-intro-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);gap:92px;align-items:start}
.approach-page .approach-intro-heading{padding-top:6px}
.approach-page .approach-intro-heading h2{font-size:clamp(2.45rem,3.8vw,var(--h2-size));line-height:1.08;margin:0;max-width:510px}
.approach-page .intro-accent{width:92px;height:1px;background:var(--gold);margin-top:30px}
.approach-page .approach-intro-copy{border-left:1px solid color-mix(in srgb,var(--gold) 45%,white 55%);padding-left:46px;max-width:760px}
.approach-page .approach-intro-copy p{color:#435568;margin:0 0 18px;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.approach-page .approach-intro-copy .approach-lead{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.72rem);line-height:1.42;color:var(--heading-color);margin-bottom:26px;text-align:left!important}

.approach-page .method-section{background:var(--secondary-bg);background:linear-gradient(120deg,var(--secondary-bg),color-mix(in srgb,var(--secondary-bg) 40%,white 60%));position:relative;overflow:hidden}
.approach-page .method-section::after{content:"";position:absolute;right:-220px;top:-230px;width:520px;height:520px;border:1px solid rgba(31,140,167,.12);border-radius:50%;box-shadow:0 0 0 72px rgba(198,139,60,.025),0 0 0 144px rgba(31,140,167,.018);pointer-events:none}
.approach-page .method-section .container{position:relative;z-index:1}
.approach-page .method-section .section-heading{margin-bottom:62px}
.approach-page .method-grid{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 54px minmax(0,1fr);gap:16px;align-items:stretch}
.approach-page .method-card{background:rgba(255,255,255,.88);border:1px solid rgba(11,47,88,.08);box-shadow:0 16px 40px rgba(7,37,69,.07);padding:36px 34px 34px;min-height:340px;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.approach-page .method-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(7,37,69,.095)}
.approach-page .method-card-top{display:flex;align-items:center;gap:14px;margin-bottom:0}
.approach-page .method-section.center-step-headers .method-card-top{justify-content:center;text-align:center}
.approach-page .method-card .step-number{margin:0;flex:0 0 auto}
.approach-page .method-label{font-size:var(--method-label-font-size);line-height:1.25;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.approach-page .method-card h3{font-size:clamp(1.65rem,2.25vw,2.12rem);line-height:1.08;margin:0 0 18px;color:var(--heading-color)}
.approach-page .method-card p{margin:0;color:#4c5d6e;font-size:.92rem;line-height:1.75;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.approach-page .method-arrow{align-self:center}

.approach-page .distinction-section{background:#fff}
.approach-page .distinction-heading{max-width:900px;margin-bottom:58px}
.approach-page .distinction-heading h2{font-size:clamp(2.35rem,3.5vw,var(--h2-size));line-height:1.1;margin-bottom:22px}
.approach-page .distinction-heading>p:not(.section-kicker){margin:0;color:var(--muted);max-width:760px}
.approach-page .distinction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.approach-page .distinction-item{padding:34px 34px 38px;border-right:1px solid var(--line)}
.approach-page .distinction-item:last-child{border-right:0}
.approach-page .distinction-rule{width:42px;height:2px;background:var(--gold);margin-bottom:24px}
.approach-page .distinction-item h3{font-size:clamp(1.32rem,1.7vw,1.62rem);line-height:1.17;margin:0 0 15px}
.approach-page .distinction-item p{margin:0;color:#536273;font-family:var(--distinction-body-font-family);font-size:var(--distinction-body-font-size);line-height:1.75;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}

@media (max-width:980px){
  .approach-page .approach-intro-grid{grid-template-columns:1fr;gap:42px}
  .approach-page .approach-intro-heading h2{max-width:720px}
  .approach-page .approach-intro-copy{border-left:0;border-top:1px solid color-mix(in srgb,var(--gold) 45%,white 55%);padding:34px 0 0;max-width:820px}
  .approach-page .method-grid{grid-template-columns:1fr;gap:10px;max-width:760px;margin:0 auto}
  .approach-page .method-arrow{height:42px;transform:rotate(90deg)}
  .approach-page .method-card{min-height:0}
  .approach-page .distinction-grid{grid-template-columns:1fr}
  .approach-page .distinction-item{border-right:0;border-bottom:1px solid var(--line)}
  .approach-page .distinction-item:last-child{border-bottom:0}
}
@media (max-width:760px){
  .approach-page .approach-intro-grid{gap:30px}
  .approach-page .approach-intro-copy{padding-top:28px}
  .approach-page .method-section .section-heading{margin-bottom:42px}
  .approach-page .method-card{padding:30px 24px}
  .approach-page .distinction-heading{margin-bottom:38px}
  .approach-page .distinction-item{padding:30px 10px 32px}
}

/* Notre approche V1.4 — sous-navigation, pictogrammes et réglages des cartouches */
.approach-subnav{height:var(--approach-subnav-height);background:var(--paper);border-bottom:1px solid rgba(11,47,88,.09);position:relative;z-index:15}
.approach-subnav.is-sticky{position:sticky;top:0}
.approach-subnav-inner{height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:auto;scrollbar-width:none}
.approach-subnav a{padding:10px 34px;white-space:nowrap;color:var(--navy);font-size:var(--approach-subnav-font-size);font-weight:700;position:relative}
.approach-subnav a+a{border-left:1px solid rgba(198,139,60,.35)}
.approach-subnav a:hover{color:var(--teal)}
.approach-subnav .subnav-rule{position:absolute;bottom:8px;left:50%;margin:0;transform:translate(calc(-50% + var(--intro-rule-x)),var(--intro-rule-y))}
.method-picto{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:var(--method-bubble-picto-gap) auto 22px;background:var(--cream);border:1px solid #eadcc9;position:relative;transform:translate(var(--asset-x,0px),var(--asset-y,0px))}
.method-picto .icon-fallback,.method-picto .custom-icon{display:grid;place-items:center;width:var(--asset-w,56px);height:var(--asset-h,56px);margin:auto;object-fit:contain}
.method-picto .icon-fallback svg{width:100%;height:100%;fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.method-picto .icon-fallback[hidden],.method-picto .custom-icon[hidden]{display:none!important}
.method-picto .custom-icon:not([hidden]){display:block!important}

@media (max-width:980px){.main-nav .nav-links-group{gap:16px}.approach-subnav{height:auto}.approach-subnav-inner{justify-content:flex-start}.approach-subnav a{padding:15px 20px}}
@media (max-width:760px){.main-nav .nav-links-group{display:flex;flex-direction:column;align-items:stretch;gap:5px;transform:none}}
