/* Deciseo — styles du site deciseo.pf (charte v5.1) */
:root{--navy:#0A2031;--copper:#BD8051;--ink:#314855;--ivory:#F5F3EF;--line:#DCE3E7;--grey:#CAD6DC;--ease:cubic-bezier(0.22,1,0.36,1);--e:cubic-bezier(0.16,1,0.3,1);--io:cubic-bezier(0.65,0,0.35,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);font-family:Arial,"Liberation Sans",Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:24px}
h1,h2,h3,h4{color:var(--navy);text-wrap:balance;margin:0;font-weight:700}
p{text-wrap:pretty;margin:0}
a{color:var(--navy)}a:hover{color:var(--copper)}
img{display:block;max-width:100%}
strong{color:var(--navy)}
.dark strong{color:#FFFFFF}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#FFFFFF;padding:12px 16px;z-index:20;border-radius:0 0 8px 0}
.skip:focus{left:0;color:#FFFFFF}
.wrap{max-width:1120px;margin:0 auto}
.narrow{max-width:760px;margin:0 auto}
.sec{padding:96px 24px}
.sec-top{padding-top:80px}
.sec-sm{padding:64px 24px}
.white{background:#FFFFFF;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dark{background:var(--navy);color:rgba(255,255,255,0.82)}
.dark h1,.dark h2,.dark h3{color:#FFFFFF}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-24{gap:24px;align-items:flex-start}
.stack-lg{display:flex;flex-direction:column;gap:40px}
.row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.split{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.split>*{flex:1 1 420px;min-width:0}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:start}
.g2-24{gap:24px}
.head{max-width:680px}
.mw680{max-width:680px}
.mw760{max-width:760px}
.kicker{display:flex;align-items:center;gap:12px;font-size:14px;line-height:20px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy)}
.kicker::before{content:"";display:inline-block;flex:none;width:32px;height:2px;background:var(--copper)}
.dark .kicker{color:var(--copper)}
.h1{font-size:clamp(44px,6.5vw,72px);line-height:1;letter-spacing:-0.02em}
.h1-sm{font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-0.02em}
.h2{font-size:36px;line-height:40px}
.h3{font-size:24px;line-height:32px}
.h4{font-size:20px;line-height:28px;color:var(--navy);font-weight:700}
.lead{font-size:20px;line-height:28px}
.body-lg{font-size:18px;line-height:28px}
.small{font-size:14px;line-height:20px}
.tiny{font-size:12px;line-height:16px}
.label{font-size:12px;line-height:16px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy)}
.navy{color:var(--navy)}
.b{font-weight:700}
.card{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:16px}
.card-sm{padding:24px}
.card-navy{border-color:var(--navy)}
figure.card{margin:0}
figure.card blockquote{margin:0}
.soft{background:var(--ivory);border-radius:8px;padding:12px}
.line{display:block;width:32px;height:2px;background:var(--copper)}
.losange{display:block;flex:none;width:8px;height:8px;background:var(--copper);transform:rotate(45deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;background:var(--navy);color:#FFFFFF;border:0;border-radius:8px;font:700 16px Arial,"Liberation Sans",sans-serif;text-decoration:none;cursor:pointer;transition:transform 300ms var(--ease),background-color 300ms var(--ease)}
.btn:hover{color:#FFFFFF;transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn-sm{min-height:44px;padding:8px 16px;font-size:14px}
.btn-light{background:#FFFFFF;color:var(--navy)}
.btn-light:hover{color:var(--navy)}
.btn-line{background:#FFFFFF;color:var(--navy);border:1px solid var(--line)}
.btn-line:hover{color:var(--navy);border-color:var(--copper)}
.btn-full{width:100%}
.lnk{font-weight:700;text-underline-offset:4px}
.dark .lnk{color:#FFFFFF}
.btn:focus-visible,.lnk:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.hover-lift{transition:transform 500ms var(--ease),border-color 300ms var(--ease)}
.hover-lift:hover{transform:translateY(-4px);border-color:var(--copper)}
dl.ofr{margin:0;display:flex;flex-direction:column;gap:16px}
dl.ofr dd{margin:4px 0 0}
.card-foot{margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.steps li{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:2px solid var(--copper)}
.step-n{font-size:14px;line-height:20px;font-weight:700;color:var(--navy)}
.checks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;background:var(--copper);transform:rotate(45deg)}
.body-lg.checks li::before{margin-top:10px}
.faq{display:flex;flex-direction:column;gap:12px}
.faq details{background:#FFFFFF;border:1px solid var(--line);border-radius:8px;padding:16px 24px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:18px;line-height:28px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--copper);font-size:24px;transition:transform 300ms var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px}
.legal h2{font-size:24px;line-height:32px;margin-top:40px}
.legal p,.legal li{font-size:16px;line-height:24px}
.legal ul{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:8px}
.big{font-size:36px;line-height:40px;font-weight:700;color:var(--navy)}
.reperes{transform:translateY(-40px)}
.statement{margin:0 auto;max-width:880px;font-size:clamp(36px,5vw,60px);line-height:1.1;font-weight:700;letter-spacing:-0.01em;color:var(--navy);text-wrap:balance}
.panel{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:48px}
.panel-navy{background:var(--navy);border-radius:16px;padding:48px}
.panel-navy h2{color:#FFFFFF}
.panel-navy p{color:rgba(255,255,255,0.82)}
.grow0{flex:0 1 auto}

/* Menu */
.nav-wrap{position:relative;z-index:5;padding:16px 16px 0}
.nav{max-width:1168px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 12px 12px 24px;background:rgba(255,255,255,0.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(10,32,49,0.06)}
.nav-logo{display:flex;align-items:center;flex:none}
.nav-logo img{height:28px;width:auto}
.nav-links{display:flex;gap:24px;font-size:14px;line-height:20px;font-weight:700}
.nav-links a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a[aria-current="page"]{border-bottom-color:var(--copper)}
.nav-actions{display:flex;align-items:center;gap:8px}
.nav-menu{display:none;border:1px solid var(--line);min-width:44px;padding:8px 12px}
.lbl-short{display:none}
.nav-panel{max-width:1168px;margin:8px auto 0;padding:24px;background:rgba(255,255,255,0.97);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:4px}
.nav-panel[hidden]{display:none}
.nav-panel a{display:block;padding:12px 0;font-size:20px;line-height:28px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}
.nav-panel a:last-child{border-bottom:0}
@media (max-width:960px){.nav-links{display:none}.nav-menu{display:inline-flex}}
@media (max-width:520px){.lbl-long{display:none}.lbl-short{display:inline}.nav{padding-left:16px;gap:12px}}

/* Accueil */
.hero-home{padding:184px 24px 112px;margin-top:-104px}
.mock{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:24px;box-shadow:0 24px 48px rgba(10,32,49,0.12)}
.mock-520{max-width:520px}
.mock-480{max-width:480px}
.mock-16{gap:16px}
.mock-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mock-head p{font-weight:700;color:var(--navy)}
.tag{font-size:12px;line-height:16px;font-weight:700;background:var(--ivory);border-radius:8px;padding:4px 8px;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpi{display:flex;flex-direction:column;gap:4px}
.kpi-v{font-size:20px;line-height:28px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.kpi-u{font-size:12px;line-height:16px;font-weight:700;color:var(--navy)}
@media (max-width:520px){.kpis{grid-template-columns:1fr;gap:8px}.kpi{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:8px}.kpi .tiny{flex:1 1 auto}}
.bars{position:relative;height:140px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;border-bottom:1px solid var(--line);overflow:hidden}
.bars .dz-bar{background:var(--grey);border-radius:4px 4px 0 0}
.bars .dz-bar.last{background:var(--navy)}
.months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;text-align:center}
.alert{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--copper);border-radius:8px;background:#FFFFFF}
.alert .small{color:var(--navy)}
.pulse{position:relative;width:10px;height:10px;flex:none}
.pulse span{position:absolute;inset:0;border-radius:50%;background:var(--copper)}
.archipels{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:40px 32px 32px;display:flex;flex-direction:column;gap:24px}
.wave{position:relative;height:24px}
.wave svg{position:absolute;inset:0}
.iles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.ile{border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:4px}
.center{text-align:center}

/* Pages offres */
.fills{display:flex;flex-direction:column;gap:8px}
.fill{display:block;height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.fill>span{display:block;height:100%;width:100%;background:var(--navy)}
.decision{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px}
.decision .small{color:var(--navy)}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center;font-weight:700}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal span{display:block;aspect-ratio:1;border-radius:4px;border:1px solid var(--line);background:#FFFFFF}
.cal .on{background:var(--navy);border-color:var(--navy)}
.cal .low{background:var(--ivory);border-color:var(--copper)}
.between{display:flex;justify-content:space-between;gap:12px}
.flow{display:flex;align-items:center}
.flow-box{flex:1 1 0;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;text-align:center}
.flow-box .t{font-size:12px;line-height:16px;font-weight:700;color:var(--navy)}
.pipe{position:relative;flex:0 0 40px;height:2px;background:var(--line)}
.pipe-64{flex-basis:64px}

/* Méthode */
.schema{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:48px 32px;display:flex;flex-wrap:wrap;align-items:center;row-gap:24px;justify-content:center}
.sources{display:flex;flex-direction:column;gap:12px;flex:1 1 260px;max-width:320px}
.source{display:flex;align-items:center}
.source-box{flex:1 1 auto;border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-weight:700;color:var(--navy)}
.hub{flex:0 0 220px;background:var(--navy);color:#FFFFFF;border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.hub img{height:20px;width:auto}
.hub p{color:rgba(255,255,255,0.82)}
.result{flex:0 1 220px;border:2px solid var(--copper);border-radius:16px;padding:24px}
@media (max-width:700px){.schema>.pipe,.source .pipe{display:none}.hub,.result{flex:1 1 100%}.panel,.panel-navy{padding:32px 24px}.sec{padding:72px 20px}.hero-home{padding-left:20px;padding-right:20px}}

/* Contact */
.contact-card{padding:24px;gap:16px;box-shadow:0 24px 48px rgba(10,32,49,0.10)}
.coord{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:20px}

/* Pied de page */
.tapa{background:var(--navy);line-height:0}
.tapa svg{display:block}
.foot{background:var(--navy);padding:56px 24px 40px;color:rgba(255,255,255,0.82)}
.foot a{color:rgba(255,255,255,0.82)}
.foot a:hover{color:var(--copper)}
.foot-in{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.foot-cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;align-items:flex-start}
.foot-brand{display:flex;flex-direction:column;gap:12px;max-width:320px}
.foot-brand img{height:32px;width:auto;align-self:flex-start}
.foot-sign{font-weight:700;color:var(--copper)}
.foot-col{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:20px}
.foot-t{font-weight:700;color:#FFFFFF}
.foot-t2{margin-top:8px}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.16);font-size:12px;line-height:16px}
.foot-legal{display:flex;gap:24px}

/* Mouvement */
@keyframes dz-appear{from{opacity:0;transform:translateY(6px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
.dz-in{animation:dz-appear 800ms var(--e) both}
.d1{animation-delay:60ms}.d2{animation-delay:120ms}.d3{animation-delay:180ms}.d4{animation-delay:240ms}.d5{animation-delay:300ms}
@keyframes dz-card-in{from{opacity:0;transform:translateY(24px) scale(0.985);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.dz-pop-in{animation:dz-card-in 900ms var(--e) 360ms both}
.dz-js .dz-rv{opacity:0;transform:translateY(32px);transition:opacity 700ms var(--ease),transform 700ms var(--ease)}
.dz-js .dz-rv.on{opacity:1;transform:none}
.stag>.dz-rv:nth-child(2){transition-delay:90ms}.stag>.dz-rv:nth-child(3){transition-delay:180ms}.stag>.dz-rv:nth-child(4){transition-delay:270ms}.stag>.dz-rv:nth-child(5){transition-delay:360ms}.stag>.dz-rv:nth-child(6){transition-delay:450ms}
@keyframes dz-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes dz-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(0.86)}}
.dz-bar{transform-origin:50% 100%;animation:dz-grow 1100ms var(--io) both,dz-breathe 4200ms ease-in-out 2400ms infinite}
@keyframes dz-scan{0%{transform:translateX(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(var(--scan,300px));opacity:0}}
.dz-scan{position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--copper);--scan:440px;animation:dz-scan 6000ms var(--io) 2400ms infinite}
@keyframes dz-pop{0%,30%{opacity:0;transform:translateY(8px) scale(0.96);filter:blur(4px)}38%,88%{opacity:1;transform:none;filter:none}96%,100%{opacity:0;transform:translateY(-4px)}}
.dz-alert{animation:dz-pop 9000ms var(--e) 1800ms infinite both}
@keyframes dz-ring{0%{transform:scale(1);opacity:0.55}100%{transform:scale(2.6);opacity:0}}
.dz-ring{animation:dz-ring 2000ms ease-out infinite}
@keyframes dz-fill{0%,10%{transform:scaleX(0)}45%,85%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.dz-fill{transform-origin:0 50%;animation:dz-fill 7000ms var(--io) infinite}
@keyframes dz-travel{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
.dz-dot{position:absolute;top:50%;margin-top:-5px;width:10px;height:10px;border-radius:50%;background:var(--copper);animation:dz-travel 2400ms var(--io) infinite}
@keyframes dz-light{0%,40%{background:#FFFFFF;border-color:var(--line)}55%,85%{background:var(--ivory);border-color:var(--copper)}100%{background:#FFFFFF;border-color:var(--line)}}
.dz-light{animation:dz-light 4800ms var(--ease) infinite}
.w{transition:opacity 600ms var(--ease)}
.dz-js .w{opacity:0.28}
.dz-js .w.on{opacity:1}
@media (prefers-reduced-motion:reduce){.dz-in,.dz-pop-in,.dz-bar,.dz-scan,.dz-alert,.dz-ring,.dz-fill,.dz-dot,.dz-light{animation:none}.dz-js .dz-rv{opacity:1;transform:none;transition:none}.dz-js .w{opacity:1}.btn,.hover-lift,.w{transition:none}.btn:hover,.hover-lift:hover{transform:none}}
