/*
 * Kozman — pages offres (gabarit B-Offre de la maquette validée).
 * Chargée en plus de main.css sur les pages qui contiennent le widget « Kozman · Haut de page offre ».
 * Règles rattachées à body.kz-offre ; en-tête, pied de page et boutons restent ceux de main.css.
 */

.kz-offre h1,.kz-offre h2,.kz-offre h3,.kz-offre summary{font-family:Lexend,system-ui,sans-serif;color:var(--nuit)}
.kz-offre h1,.kz-offre h2,.kz-offre h3,.kz-offre p{margin:0}
.kz-offre .kicker{font-family:Lexend,sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--turq-f)}
.kz-offre .h2{font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.015em;line-height:1.15}
.kz-offre .lead{color:var(--gris);max-width:640px}
.kz-offre.line-clear .btn-line{background:transparent}
.kz-offre .go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-family:Lexend,sans-serif;font-weight:600;font-size:15px;color:var(--terra-f);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.kz-offre .go::after{content:"";position:absolute;inset:0;border-radius:inherit}
.kz-offre .go .ar{transition:transform .2s ease}
.kz-offre .lift{position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
.kz-offre .lift:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,57,74,.14)}
.kz-offre .lift:hover .go .ar{transform:translateX(5px)}
.kz-offre .card{background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(20,57,74,.06),0 12px 32px rgba(20,57,74,.07)}
.kz-offre .crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--gris)}
.kz-offre .hero{padding:44px 0 88px;position:relative;overflow:hidden}
.kz-offre .hero-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center}
.kz-offre .hero h1{font-size:clamp(34px,4.2vw,56px);font-weight:600;line-height:1.1;letter-spacing:-.02em}
.kz-offre .hl{background-image:linear-gradient(var(--dore),var(--dore));background-repeat:no-repeat;background-position:0 88%;background-size:100% .3em}
.kz-offre .leaf{position:absolute;border-radius:0 100% 0 100%;pointer-events:none}
.kz-offre .lf1{width:180px;height:180px;background:#BEE1DF;right:-50px;top:10px;transform:rotate(20deg)}
.kz-offre .lf2{width:90px;height:90px;background:var(--peche-l);left:-30px;bottom:30px;transform:rotate(-15deg)}
.kz-offre .side{display:flex;flex-direction:column;gap:18px;max-width:480px;width:100%;justify-self:end;position:relative}
.kz-offre .side .ph{border-radius:18px;overflow:hidden;aspect-ratio:16/10}
.kz-offre .side .ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.kz-offre .price{padding:24px 26px;display:flex;flex-direction:column;gap:6px}
.kz-offre .price strong{font-family:Lexend,sans-serif;font-size:30px;font-weight:700;color:var(--nuit)}
.kz-offre .sec{padding:88px 0}
.kz-offre .alt{background:var(--sable)}
.kz-offre .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.kz-offre .prob{background:var(--petrole);color:var(--creme);border-radius:24px;padding:48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px;align-items:center}
.kz-offre .prob h2{color:#fff}
.kz-offre .list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:0 40px;margin-top:36px;padding:16px 36px}
.kz-offre .li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(20,57,74,.08)}
.kz-offre .ck{flex:none;width:30px;height:30px;border-radius:50%;background:#D9EFEE;color:#0B5554;display:grid;place-items:center;margin-top:2px}
.kz-offre .steps-wrap{position:relative;margin-top:44px}
.kz-offre .track{position:absolute;left:0;right:0;top:22px;height:4px;border-radius:4px;background:rgba(20,57,74,.1)}
.kz-offre .track i{position:absolute;inset:0;border-radius:4px;background:var(--dore);transform-origin:left;display:block}
.kz-offre .steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;position:relative;list-style:none;padding:0;margin:0}
.kz-offre .st b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--nuit);color:#fff;font-family:Lexend,sans-serif;font-weight:700;font-size:18px;margin-bottom:16px;box-shadow:0 0 0 6px var(--creme)}
.kz-offre .st h3{font-size:17px;font-weight:600;line-height:1.35}
.kz-offre .r-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:18px;margin-top:36px}
.kz-offre .rc{overflow:hidden;display:flex;flex-direction:column}
.kz-offre .rc .ph{aspect-ratio:16/10;overflow:hidden}
.kz-offre .rc img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.kz-offre .rc:hover img{transform:scale(1.06)}
.kz-offre .rc .bd{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1}
.kz-offre .rc h3{font-size:19px;font-weight:600}
.kz-offre .rc p{font-size:15px;color:var(--gris);margin-top:2px}
.kz-offre .faq{display:flex;flex-direction:column;gap:12px;margin-top:36px;max-width:860px}
.kz-offre .faq details{padding:0 24px}
.kz-offre .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-weight:600;font-size:18px}
.kz-offre .faq summary::-webkit-details-marker{display:none}
.kz-offre .faq summary::after{content:"+";font-size:26px;color:var(--terra-f);transition:transform .25s ease}
.kz-offre .faq details[open] summary::after{transform:rotate(45deg)}
.kz-offre .faq details p{padding:0 0 20px;color:var(--gris)}
.kz-offre .cta{background:var(--petrole);color:var(--creme);border-radius:28px;padding:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px;align-items:center}
.kz-offre .cta h2{color:#fff}
.kz-offre .cta img{width:160px;justify-self:end}
.kz-offre .swipe{display:none;font-family:Lexend,sans-serif;font-size:13px;font-weight:600;color:var(--gris);margin-top:20px}
.kz-offre .mbar{display:none}
@media (prefers-reduced-motion:no-preference){
.kz-offre:not(.kz-still) .hero h1{animation:fade .9s cubic-bezier(.2,.8,.2,1) both}
.kz-offre:not(.kz-still) .hero .lead,.kz-offre:not(.kz-still) .hero .ctas{animation:fade .9s .15s cubic-bezier(.2,.8,.2,1) both}
.kz-offre:not(.kz-still) .hl{animation:surligne 1s .7s cubic-bezier(.6,0,.2,1) both}
.kz-offre:not(.kz-still) .side .ph{animation:pop .9s .2s cubic-bezier(.2,.8,.2,1) both}
.kz-offre:not(.kz-still) .side .price{animation:pop .9s .4s cubic-bezier(.2,.8,.2,1) both}
.kz-offre:not(.kz-still) .lf1{animation:flotte 9s ease-in-out infinite}
.kz-offre:not(.kz-still) .lf2{animation:flotte 11s 1s ease-in-out infinite}
@supports (animation-timeline:view()){
.kz-offre:not(.kz-still) .rv{animation:fade linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.kz-offre:not(.kz-still) .rv2{animation:fade linear both;animation-timeline:view();animation-range:entry 10% entry 60%}
.kz-offre:not(.kz-still) .rc .ph img{animation:devoile linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
.kz-offre:not(.kz-still) .track i{animation:trace linear both;animation-timeline:view();animation-range:entry 40% cover 55%}
.kz-offre:not(.kz-still) .cta{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}
}
@keyframes fade{from{opacity:0;transform:translateY(28px)}}
@keyframes pop{from{opacity:0;transform:translateY(30px) scale(.96)}}
@keyframes surligne{from{background-size:0% .3em}}
@keyframes flotte{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes devoile{from{clip-path:inset(0 0 100% 0);transform:scale(1.15)}}
@keyframes trace{from{transform:scaleX(0)}}
@keyframes zoom{from{opacity:.4;transform:scale(.94)}}
@media (max-width:900px){.kz-offre .steps{grid-template-columns:minmax(0,1fr)}.kz-offre .track{left:22px;right:auto;top:0;bottom:0;width:4px;height:auto}.kz-offre .track i{transform-origin:top}.kz-offre .st{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 18px;align-items:center}.kz-offre .st b{margin:0}}
@media (max-width:820px){}
@media (max-width:720px){
.kz-offre .sec{padding:60px 0}
.kz-offre .prob,.kz-offre .cta{padding:32px 24px}
.kz-offre .list{padding:8px 20px}
.kz-offre .cta img{justify-self:start;width:110px}
.kz-offre .side{justify-self:stretch}
.kz-offre .snap{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:20px -20px 0;padding:4px 20px 14px;scrollbar-width:none}
.kz-offre .snap>*{flex:0 0 84%;scroll-snap-align:start}
.kz-offre .swipe{display:block}
.kz-offre .mbar{display:flex;position:sticky;bottom:12px;z-index:25;margin:0 12px;padding:8px;border-radius:999px;background:var(--nuit);box-shadow:0 12px 30px rgba(20,57,74,.3)}
.kz-offre .mbar .btn{flex:1}
}
.kz-offre .badge .tc,.kz-offre .cta .tc{display:none}
.kz-offre.toucan-on .badge img,.kz-offre.toucan-on .cta>img{display:none}
.kz-offre.toucan-on .cta .tc{display:block;width:240px;aspect-ratio:1;justify-self:end;margin:-10px 0}
.kz-offre.toucan-on .cta .tc-svg{filter:drop-shadow(0 14px 26px rgba(10,30,40,.35))}
.kz-offre .tc-svg{width:100%;height:100%;display:block;overflow:visible}
.kz-offre .tc-svg g,.kz-offre .tc-svg circle{transform-box:view-box}
.kz-offre .tc-disque{transform-origin:250px 250px}
.kz-offre .tc-fond{transform-origin:439px 221px}
.kz-offre .tc-avant{transform-origin:380px 440px}
.kz-offre .tc-monstera{transform-origin:200px 447px}
.kz-offre .tc-palmes{transform-origin:180px 55px}
.kz-offre .tc-o{transform-origin:240px 470px}
.kz-offre .tc-oeil{transform-origin:256px 206px}
.kz-offre .tc-cercle{transform-origin:250px 250px}
.kz-offre .tc .tc-o{transition:translate .5s cubic-bezier(.2,.8,.2,1),scale .5s cubic-bezier(.2,.8,.2,1)}
.kz-offre .cta:hover .tc-o{translate:0 -10px}
@keyframes tc-cercle{from{opacity:0;transform:scale(.5) rotate(-120deg)}}
@keyframes tc-apparait{from{opacity:0}}
@keyframes tc-monte{from{opacity:0;transform:translateY(90px) rotate(12deg)}}
@keyframes tc-tete{0%,60%,100%{rotate:0deg}68%,78%{rotate:-7deg}86%{rotate:1.5deg}92%{rotate:0deg}}
@keyframes tc-cligne{0%,90%,96%,100%{scale:1 1}93%{scale:1 .08}}
@media (prefers-reduced-motion:no-preference){
.kz-offre.toucan-on:not(.kz-still) .tc .tc-o{animation:tc-tete 7s 3s ease-in-out infinite}
.kz-offre.toucan-on:not(.kz-still) .tc .tc-oeil{animation:tc-cligne 4.8s 2.4s infinite}
@supports (animation-timeline:view()){
.kz-offre.toucan-on .cta{view-timeline-name:--cta}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-disque{animation:tc-cercle linear both;animation-timeline:--cta;animation-range:entry 5% entry 60%}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-cercle{animation:tc-cercle linear both;animation-timeline:--cta;animation-range:entry 10% entry 70%}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-fond{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-palmes{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-monstera{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-avant{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz-offre.toucan-on:not(.kz-still) .cta .tc-o{animation:tc-monte linear both,tc-tete 7s ease-in-out infinite;animation-timeline:--cta,auto;animation-range:entry 45% cover 40%,normal}
}
}
@media (max-width:720px){.kz-offre.toucan-on .cta .tc{width:150px;justify-self:start;margin:0}}
.kz-offre .narr{display:none}
.kz-offre.narr-on .narr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;margin-top:40px;align-items:start;timeline-scope:--n1,--n2,--n3,--n4,--n5,--n6}
.kz-offre.narr-on .steps-wrap{display:none}
.kz-offre .n-steps{list-style:none;padding:0;margin:0}
.kz-offre .ns{position:relative;min-height:250px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 22px;align-content:center}
.kz-offre .ns::before{content:"";position:absolute;left:21px;top:0;bottom:0;width:6px;background:rgba(20,57,74,.1)}
.kz-offre .ns:first-child::before{top:50%}.kz-offre .ns:last-child::before{bottom:50%}
.kz-offre .ns::after{content:"";position:absolute;left:21px;top:0;bottom:0;width:6px;background:var(--dore);transform-origin:top}
.kz-offre .ns:first-child::after{top:50%}.kz-offre .ns:last-child::after{bottom:50%}
.kz-offre .ns b{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--nuit);color:#fff;font-family:Lexend,sans-serif;font-weight:700;font-size:18px;box-shadow:0 0 0 6px var(--sable)}
.kz-offre .ns h3{font-size:22px;font-weight:600;margin-bottom:6px}
.kz-offre .ns p{color:var(--gris)}
.kz-offre .ns1{view-timeline-name:--n1}.kz-offre .ns2{view-timeline-name:--n2}.kz-offre .ns3{view-timeline-name:--n3}.kz-offre .ns4{view-timeline-name:--n4}.kz-offre .ns5{view-timeline-name:--n5}.kz-offre .ns6{view-timeline-name:--n6}
.kz-offre .n-stage{position:sticky;top:130px;container-type:inline-size;aspect-ratio:100/70}
.kz-offre .n-in{position:absolute;inset:0;font-family:Lexend,sans-serif;perspective:1600px}
.kz-offre .n-blob{position:absolute;left:8cqw;top:-4cqw;width:82cqw;height:70cqw;border-radius:46% 54% 52% 48%/52% 46% 54% 48%;background:var(--petrole)}
.kz-offre .n-win{position:absolute;left:0;top:3cqw;width:84cqw;aspect-ratio:16/10.4;background:#fff;border-radius:2.2cqw;box-shadow:0 2cqw 5cqw rgba(20,57,74,.14);overflow:hidden;display:flex;flex-direction:column}
.kz-offre .n-bar{display:flex;align-items:center;gap:1cqw;padding:1.6cqw 2cqw;background:#F1EBE1}
.kz-offre .n-bar>i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#D8CFC2}
.kz-offre .n-url{margin-left:2cqw;flex:1;height:3.4cqw;border-radius:2cqw;background:#fff;display:flex;align-items:center;gap:.8cqw;padding:0 1.6cqw;font-size:1.9cqw;font-weight:500;color:var(--nuit)}
.kz-offre .n-url-t{display:inline-block}
.kz-offre .n-url svg{width:1.8cqw;height:1.8cqw;color:#0B5554;flex:none}
.kz-offre .n-page{flex:1;display:flex;flex-direction:column;gap:1.6cqw;padding:1.8cqw 2.4cqw 2.4cqw}
.kz-offre .n-nav{display:flex;align-items:center;gap:2cqw}
.kz-offre .n-logo{margin-right:auto;width:4.4cqw;height:4.4cqw;border-radius:50%;background:center/cover no-repeat url("../img/toucan.webp")}
.kz-offre .n-l{width:7cqw;height:1.2cqw;border-radius:1cqw;background:#D8CFC2}
.kz-offre .n-cta{width:11cqw;height:3.2cqw;border-radius:2cqw;background:#CD4B13}
.kz-offre .n-hero{position:relative;flex:1.25;border-radius:1.6cqw;background:var(--petrole);padding:3cqw 3.2cqw;display:flex;flex-direction:column;justify-content:center;gap:1.4cqw;overflow:hidden}
.kz-offre .n-bars{opacity:0;position:absolute;left:3.2cqw;top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:1.4cqw;width:60%}
.kz-offre .n-bars i{display:block;height:2.6cqw;border-radius:1cqw;background:#D8CFC2}
.kz-offre .n-bars i:nth-child(2){width:70%}
.kz-offre .n-bars i:nth-child(3){width:34%;height:3.2cqw;border-radius:2cqw}
.kz-offre .n-title{font-size:4.2cqw;font-weight:700;line-height:1.08;color:#fff;letter-spacing:-.02em}
.kz-offre .n-title span{background-image:linear-gradient(var(--dore),var(--dore));background-repeat:no-repeat;background-position:0 88%;background-size:100% .3em}
.kz-offre .n-btn{align-self:flex-start;padding:1cqw 2.2cqw;border-radius:2cqw;background:#CD4B13;color:#fff;font-size:1.7cqw;font-weight:600}
.kz-offre .n-leaf{position:absolute;right:-3cqw;top:-3cqw;width:16cqw;height:16cqw;border-radius:0 100% 0 100%;background:#00A19F;rotate:20deg}
.kz-offre .n-cards{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6cqw}
.kz-offre .n-c{position:relative;border-radius:1.4cqw;border:.3cqw dashed transparent;display:grid;place-items:center;font-size:1.7cqw;font-weight:600;color:var(--nuit);overflow:hidden}
.kz-offre .n-c1{background:var(--peche)}.kz-offre .n-c2{background:#00A19F}.kz-offre .n-c3{background:var(--dore)}
.kz-offre .n-c em{font-style:normal;opacity:0}
.kz-offre .n-dot{position:absolute;left:42cqw;top:30cqw;width:5cqw;height:5cqw;margin:-2.5cqw 0 0 -2.5cqw;border-radius:50%;background:var(--dore);opacity:0}
.kz-offre .n-bulle{position:absolute;left:46cqw;top:14cqw;padding:2cqw 3cqw;border-radius:3cqw 3cqw 3cqw .5cqw;background:#fff;box-shadow:0 1.4cqw 3.6cqw rgba(20,57,74,.14);font-size:3cqw;font-weight:600;color:var(--nuit);white-space:nowrap;opacity:0}
.kz-offre .n-rdv{position:absolute;left:14cqw;top:38cqw;display:flex;align-items:center;gap:1.2cqw;padding:1.4cqw 2.4cqw;border-radius:3cqw;background:var(--nuit);color:#fff;font-size:2.4cqw;font-weight:600;opacity:0}
.kz-offre .n-rdv svg{width:2.6cqw;height:2.6cqw;color:var(--dore)}
.kz-offre .n-palette{position:absolute;left:4cqw;bottom:0;display:flex;align-items:center;gap:1cqw;padding:1.2cqw 1.8cqw;border-radius:3cqw;background:#fff;box-shadow:0 1.2cqw 3cqw rgba(20,57,74,.14)}
.kz-offre .n-palette i{width:3cqw;height:3cqw;border-radius:50%}
.kz-offre .n-palette b{font-size:2.4cqw;font-weight:700;color:var(--nuit);margin-left:.6cqw}
.kz-offre .n-phone{position:absolute;right:0;top:15cqw;width:22cqw;aspect-ratio:9/18;border-radius:3.2cqw;background:var(--nuit);padding:1cqw;box-shadow:0 2cqw 5cqw rgba(20,57,74,.25)}
.kz-offre .n-screen{width:100%;height:100%;border-radius:2.4cqw;background:#fff;overflow:hidden;display:flex;flex-direction:column;gap:1cqw;padding:1.4cqw}
.kz-offre .n-screen .s1{height:40%;border-radius:1.2cqw;background:var(--petrole);display:flex;align-items:flex-end;padding:1.4cqw;font-size:2cqw;font-weight:700;color:#fff;line-height:1.1}
.kz-offre .n-screen .s2{height:2.6cqw;width:60%;border-radius:2cqw;background:#CD4B13}
.kz-offre .n-screen .s3{flex:1;border-radius:1.2cqw;background:var(--peche)}
.kz-offre .n-chips{position:absolute;left:4cqw;bottom:9cqw;display:flex;flex-wrap:wrap;gap:1cqw;width:60cqw}
.kz-offre .n-chips span{padding:.9cqw 1.8cqw;border-radius:3cqw;background:var(--nuit);color:#fff;font-size:1.8cqw;font-weight:600}
.kz-offre .n-live{position:absolute;right:20cqw;top:0;display:flex;align-items:center;gap:1cqw;padding:1.1cqw 2cqw;border-radius:3cqw;background:#0B5554;color:#fff;font-size:1.9cqw;font-weight:600}
.kz-offre .n-live i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#7FE0C9}
.kz-offre .n-forma{position:absolute;right:3cqw;bottom:2cqw;padding:1.1cqw 2cqw;border-radius:3cqw;background:#fff;color:var(--nuit);box-shadow:0 1.2cqw 3cqw rgba(20,57,74,.14);font-size:1.9cqw;font-weight:600}
.kz-offre .n-valide{opacity:0;position:absolute;left:30cqw;top:44cqw;display:flex;align-items:center;gap:1cqw;padding:1.2cqw 2.2cqw;border-radius:3cqw;background:#0B5554;color:#fff;font-size:2cqw;font-weight:600;box-shadow:0 1.2cqw 3cqw rgba(20,57,74,.2)}
.kz-offre .n-valide svg,.kz-offre .n-suivi svg{width:2.4cqw;height:2.4cqw;flex:none}
.kz-offre .n-suivi{position:absolute;left:31cqw;bottom:.5cqw;white-space:nowrap;display:flex;align-items:center;gap:1.4cqw;padding:1.6cqw 2.6cqw;border-radius:2cqw;background:#fff;color:var(--nuit);font-size:2cqw;font-weight:600;box-shadow:0 1.6cqw 4cqw rgba(20,57,74,.22)}
.kz-offre .n-suivi svg{color:#CD4B13}
.kz-offre .n-f{position:absolute;left:24cqw;top:30cqw;width:4.4cqw;height:4.4cqw;border-radius:0 100% 0 100%;opacity:0}
.kz-offre .n-f1,.kz-offre .n-f6{background:var(--dore)}.kz-offre .n-f2,.kz-offre .n-f7{background:#00A19F}.kz-offre .n-f3,.kz-offre .n-f8{background:var(--peche)}.kz-offre .n-f4,.kz-offre .n-f9{background:#CD4B13}.kz-offre .n-f5,.kz-offre .n-f10{background:#7FE0C9}
@keyframes n-actif{0%,100%{opacity:.38;translate:0 0}35%,65%{opacity:1;translate:12px 0}}
@keyframes n-h3{0%,100%{color:var(--nuit)}35%,65%{color:#B04011}}
@keyframes n-num{0%,100%{background:var(--nuit);scale:1}35%,65%{background:#CD4B13;scale:1.25}}
@keyframes n-rail{from{transform:scaleY(0)}}
@keyframes n-in{from{opacity:0;translate:0 7cqw;scale:.85}to{opacity:1;translate:0 0;scale:1}}
@keyframes n-pop{0%{opacity:0;scale:.2}60%{opacity:1;scale:1.2}100%{opacity:1;scale:1}}
@keyframes n-out{to{opacity:0;scale:.6}}
@keyframes n-trace{0%{opacity:0;scale:.04 .06;border-radius:50%}30%{opacity:1;scale:1 .06;border-radius:2cqw}100%{scale:1 1}}
@keyframes n-b1{from{opacity:0;scale:.2;rotate:-30deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes n-c2{from{background-color:#FBE3D7;border-radius:42% 58% 60% 40%/48% 42% 58% 52%;rotate:0deg}to{background-color:#D9EFEE;border-radius:58% 42% 45% 55%/40% 58% 42% 60%;rotate:12deg}}
@keyframes n-c3{to{background-color:#FDEFD3;border-radius:40% 60% 55% 45%/55% 45% 55% 45%;rotate:-8deg}}
@keyframes n-c4{to{background-color:#DCE8EE;border-radius:55% 45% 40% 60%/45% 60% 40% 55%;rotate:10deg}}
@keyframes n-c5{to{background-color:#1F6884;border-radius:46% 54% 52% 48%/52% 46% 54% 48%;rotate:0deg}}
@keyframes n-c6{to{background-color:#007C7A;border-radius:52% 48% 44% 56%/48% 54% 46% 52%;rotate:-6deg}}
@keyframes n-t4{to{rotate:y -16deg}}
@keyframes n-t5{to{rotate:y 0deg}}
@keyframes n-gris{from{background:#EEE7DB}}
@keyframes n-trait{from{border-color:#BFB4A5}}
@keyframes n-tel{0%{opacity:0;translate:40cqw 8cqw;rotate:28deg}70%{opacity:1;translate:-2cqw 0;rotate:-4deg}100%{translate:0 0;rotate:0deg}}
@keyframes n-url{from{clip-path:inset(0 100% 0 0)}}
@keyframes n-vole1{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:-27cqw -34cqw;rotate:-400deg}}
@keyframes n-vole6{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:27cqw -20cqw;rotate:400deg}}
@keyframes n-vole2{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:11cqw -46cqw;rotate:320deg}}
@keyframes n-vole7{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:36cqw 8cqw;rotate:-320deg}}
@keyframes n-vole3{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:38cqw -27cqw;rotate:480deg}}
@keyframes n-vole8{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:21cqw 28cqw;rotate:-480deg}}
@keyframes n-vole4{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:-38cqw -8cqw;rotate:-240deg}}
@keyframes n-vole9{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:6cqw -28cqw;rotate:240deg}}
@keyframes n-vole5{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:27cqw 8cqw;rotate:360deg}}
@keyframes n-vole10{0%{opacity:0;translate:0 0;rotate:0deg}8%{opacity:1}to{opacity:0;translate:-6cqw 20cqw;rotate:-360deg}}
@keyframes n-halo{0%{box-shadow:0 0 0 0 rgba(250,192,91,.8)}100%{box-shadow:0 0 0 6cqw rgba(250,192,91,0)}}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()) and (timeline-scope:--x){
.kz-offre.narr-on:not(.kz-still) .ns>div{animation:n-actif linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
.kz-offre.narr-on:not(.kz-still) .ns b{animation:n-num linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
.kz-offre.narr-on:not(.kz-still) .ns h3{animation:n-h3 linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
.kz-offre.narr-on:not(.kz-still) .n-blob{animation:n-b1 linear both,n-c2 linear both,n-c3 linear both,n-c4 linear both,n-c5 linear both,n-c6 linear both;animation-timeline:--n1,--n2,--n3,--n4,--n5,--n6;animation-range:cover 15% cover 35%,cover 25% cover 45%,cover 25% cover 45%,cover 25% cover 45%,cover 25% cover 45%,cover 25% cover 45%}
.kz-offre.narr-on:not(.kz-still) .ns::after{animation:n-rail linear both;animation-timeline:view();animation-range:cover 20% cover 50%}
.kz-offre.narr-on:not(.kz-still) .n-dot{animation:n-pop linear both,n-out linear both,n-halo 1.8s ease-in-out infinite;animation-timeline:--n1,--n2,auto;animation-range:cover 20% cover 34%,cover 28% cover 40%,normal}
.kz-offre.narr-on:not(.kz-still) .n-bulle{animation:n-pop linear both,n-out linear both;animation-timeline:--n1,--n2;animation-range:cover 28% cover 40%,cover 25% cover 38%}
.kz-offre.narr-on:not(.kz-still) .n-rdv{animation:n-pop linear both,n-out linear both;animation-timeline:--n1,--n2;animation-range:cover 34% cover 46%,cover 25% cover 38%}
.kz-offre.narr-on:not(.kz-still) .n-win{animation:n-trace linear both,n-t4 linear both,n-t5 linear both;animation-timeline:--n2,--n4,--n5;animation-range:cover 30% cover 48%,cover 25% cover 45%,cover 25% cover 45%}
.kz-offre.narr-on:not(.kz-still) .n-nav{animation:n-in linear both;animation-timeline:--n2;animation-range:cover 42% cover 50%}
.kz-offre.narr-on:not(.kz-still) .n-hero{animation:n-in linear both,n-gris linear both;animation-timeline:--n2,--n3;animation-range:cover 44% cover 52%,cover 30% cover 46%}
.kz-offre.narr-on:not(.kz-still) .n-bars{animation:n-in linear both,n-out linear both;animation-timeline:--n2,--n3;animation-range:cover 46% cover 54%,cover 28% cover 38%}
.kz-offre.narr-on:not(.kz-still) .n-c{animation:n-in linear both,n-gris linear both,n-trait linear both;animation-timeline:--n2,--n3,--n3;animation-range:cover 48% cover 56%,cover 34% cover 50%,cover 34% cover 50%}
.kz-offre.narr-on:not(.kz-still) .n-c em{animation:n-in linear both,n-out linear both;animation-timeline:--n2,--n3;animation-range:cover 50% cover 56%,cover 30% cover 40%}
.kz-offre.narr-on:not(.kz-still) .n-title,.kz-offre.narr-on:not(.kz-still) .n-btn{animation:n-in linear both;animation-timeline:--n3;animation-range:cover 36% cover 50%}
.kz-offre.narr-on:not(.kz-still) .n-leaf{animation:n-pop linear both;animation-timeline:--n3;animation-range:cover 42% cover 54%}
.kz-offre.narr-on:not(.kz-still) .n-l,.kz-offre.narr-on:not(.kz-still) .n-cta{animation:n-gris linear both;animation-timeline:--n3;animation-range:cover 30% cover 42%}
.kz-offre.narr-on:not(.kz-still) .n-logo{animation:n-pop linear both;animation-timeline:--n3;animation-range:cover 30% cover 42%}
.kz-offre.narr-on:not(.kz-still) .n-palette{animation:n-in linear both;animation-timeline:--n3;animation-range:cover 42% cover 54%}
.kz-offre.narr-on:not(.kz-still) .n-phone{animation:n-tel linear both;animation-timeline:--n4;animation-range:cover 30% cover 48%}
.kz-offre.narr-on:not(.kz-still) .n-chips span{animation:n-pop linear both;animation-timeline:--n4}
.kz-offre.narr-on:not(.kz-still) .n-chips span:nth-child(1){animation-range:cover 42% cover 50%}
.kz-offre.narr-on:not(.kz-still) .n-chips span:nth-child(2){animation-range:cover 45% cover 53%}
.kz-offre.narr-on:not(.kz-still) .n-chips span:nth-child(3){animation-range:cover 48% cover 56%}
.kz-offre.narr-on:not(.kz-still) .n-url-t,.kz-offre.narr-on:not(.kz-still) .n-url svg{animation:n-url linear both;animation-timeline:--n5;animation-range:cover 30% cover 44%}
.kz-offre.narr-on:not(.kz-still) .n-live{animation:n-pop linear both;animation-timeline:--n5;animation-range:cover 40% cover 50%}
.kz-offre.narr-on:not(.kz-still) .n-forma{animation:n-pop linear both;animation-timeline:--n5;animation-range:cover 46% cover 56%}
.kz-offre.narr-on:not(.kz-still) .n-f1{animation:n-vole1 linear both;animation-timeline:--n5;animation-range:cover 40% cover 60%}
.kz-offre.narr-on:not(.kz-still) .n-f2{animation:n-vole2 linear both;animation-timeline:--n5;animation-range:cover 41% cover 62%}
.kz-offre.narr-on:not(.kz-still) .n-f3{animation:n-vole3 linear both;animation-timeline:--n5;animation-range:cover 42% cover 60%}
.kz-offre.narr-on:not(.kz-still) .n-f4{animation:n-vole4 linear both;animation-timeline:--n5;animation-range:cover 43% cover 64%}
.kz-offre.narr-on:not(.kz-still) .n-f5{animation:n-vole5 linear both;animation-timeline:--n5;animation-range:cover 44% cover 62%}
.kz-offre.narr-on:not(.kz-still) .n-f6{animation:n-vole6 linear both;animation-timeline:--n5;animation-range:cover 40% cover 59%}
.kz-offre.narr-on:not(.kz-still) .n-f7{animation:n-vole7 linear both;animation-timeline:--n5;animation-range:cover 41% cover 60%}
.kz-offre.narr-on:not(.kz-still) .n-f8{animation:n-vole8 linear both;animation-timeline:--n5;animation-range:cover 42% cover 61%}
.kz-offre.narr-on:not(.kz-still) .n-f9{animation:n-vole9 linear both;animation-timeline:--n5;animation-range:cover 43% cover 62%}
.kz-offre.narr-on:not(.kz-still) .n-f10{animation:n-vole10 linear both;animation-timeline:--n5;animation-range:cover 44% cover 63%}
.kz-offre.narr-on:not(.kz-still) .n-valide{animation:n-pop linear both,n-out linear both;animation-timeline:--n3,--n4;animation-range:cover 46% cover 56%,cover 20% cover 32%}
.kz-offre.narr-on:not(.kz-still) .n-suivi{animation:n-pop linear both;animation-timeline:--n6;animation-range:cover 32% cover 48%}
}
}
@media (max-width:900px){
.kz-offre.narr-on .narr{grid-template-columns:minmax(0,1fr);gap:0}
.kz-offre .n-stage{order:-1;top:76px;z-index:5;background:var(--sable);padding:14px 0 10px;box-shadow:0 14px 14px -14px rgba(20,57,74,.25)}
.kz-offre .ns{min-height:240px}
.kz-offre .ns h3{font-size:19px}
}

/* Ajustements propres au site */
.kz-offre .kz-off-ref{margin-top:24px;color:var(--gris)}
.kz-offre .encart{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px 48px;align-items:center;padding:40px 44px}
.kz-offre .formules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;margin-top:36px}
.kz-offre .formules .card{padding:28px;display:flex;flex-direction:column;gap:10px}
.kz-offre .formules h3{font-size:21px;font-weight:600}
.kz-offre .formules p{font-size:15px;color:var(--gris)}
.kz-offre .formules .from{font-size:16px}
.kz-offre .list.num{counter-reset:kzn}
.kz-offre .list.num .ck{counter-increment:kzn;background:var(--nuit);color:#fff;font-family:Lexend,sans-serif;font-weight:700;font-size:14px}
.kz-offre .list.num .ck::before{content:counter(kzn)}
@media (max-width:720px){.kz-offre .encart{padding:28px 22px}}
@media (min-width:901px){.kz-offre .steps{grid-template-columns:repeat(var(--kz-n,6),minmax(0,1fr))}}

/* En détail (sous la FAQ) : titre et synthèse à gauche, sous-parties à droite. */
.kz-offre .detail{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px 72px;align-items:start}
.kz-offre .d-head{position:sticky;top:120px}
.kz-offre .syn{margin-top:24px;padding-left:20px;border-left:4px solid var(--dore);font-size:18px;line-height:1.6;color:var(--nuit)}
.kz-offre .d-body{max-width:680px}
.kz-offre .d-body h3{font-size:21px;font-weight:600;line-height:1.3;color:var(--petrole);margin-top:36px}
.kz-offre .d-body h3:first-child{margin-top:0}
.kz-offre .d-body p{margin-top:10px}
.kz-offre .d-body p a,.kz-offre .syn a,.kz-offre .faq p a,.kz-offre .li p a{color:var(--terra-f);text-decoration:underline;text-underline-offset:3px}
.kz-offre .d-body .d-voir{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(20,57,74,.1)}
.kz-offre .d-voir span{font-family:Lexend,sans-serif;font-weight:600;font-size:14px;color:var(--gris);margin-right:4px}
.kz-offre .d-body .d-voir a{padding:6px 14px;border-radius:999px;background:#fff;border:1px solid rgba(20,57,74,.14);font-family:Lexend,sans-serif;font-weight:600;font-size:14px;color:var(--nuit);text-decoration:none;transition:background .2s ease}
.kz-offre .d-body .d-voir a:hover{background:var(--peche-l)}
@media (max-width:900px){.kz-offre .detail{grid-template-columns:minmax(0,1fr)}.kz-offre .d-head{position:static}}

/* Crédit photo sur le visuel du haut de page. */
.kz-offre .side .ph{position:relative}
.kz-offre .side .ph .credit{position:absolute;right:10px;bottom:10px;padding:3px 9px;border-radius:6px;background:rgba(20,57,74,.62);color:#fff;font-size:12px;line-height:1.4}

/* Pages « Pour qui » (gabarit B-Cible) : encart logos, freins, offres par famille, guide gratuit, autres profils. */
.kz-offre .trustc{position:absolute;left:-48px;bottom:-36px;padding:20px 24px;max-width:300px;display:flex;flex-direction:column;gap:6px}
.kz-offre .trustc .kicker{font-size:13px}
.kz-offre .trustc .logos{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}
.kz-offre .logos img{display:block;width:auto;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.kz-offre .logos img:hover{transform:scale(1.06)}
.kz-offre .pains{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.kz-offre .pains li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:16px;align-items:baseline}
.kz-offre .pains li::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--dore);transform:translateY(1px)}
.kz-offre .pains strong{color:#fff;font-family:Lexend,sans-serif;font-weight:600}
.kz-offre .path{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;margin-top:40px}
.kz-offre .fam{display:flex;flex-direction:column;gap:14px}
.kz-offre .fam-h{display:flex;align-items:center;gap:12px;font-family:Lexend,sans-serif;font-weight:700;color:var(--nuit);font-size:18px}
.kz-offre .fam-h b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--nuit);color:var(--dore);font-size:15px}
.kz-offre .oc{padding:24px 24px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.kz-offre .oc h3{font-size:20px;font-weight:600;line-height:1.25}
.kz-offre .oc p{font-size:15px;color:var(--gris)}
.kz-offre .lm{background:var(--peche-l);border-radius:28px;padding:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:48px;align-items:center}
.kz-offre .cal{padding:22px;transform:rotate(-3deg);max-width:380px;width:100%;justify-self:center;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.kz-offre .lm:hover .cal{transform:rotate(0deg) scale(1.03)}
.kz-offre .cal-h{display:flex;justify-content:space-between;align-items:center;font-family:Lexend,sans-serif;font-weight:700;color:var(--nuit);margin-bottom:14px}
.kz-offre .cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.kz-offre .cal-g i{aspect-ratio:1;border-radius:8px;background:var(--sable);display:block}
.kz-offre .cal-g i.a{background:#BEE1DF}.kz-offre .cal-g i.b{background:var(--dore)}.kz-offre .cal-g i.c{background:var(--peche)}.kz-offre .cal-g i.d{background:var(--petrole)}
.kz-offre .lm .wpcf7 form,.kz-offre .lm-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:flex-end}
.kz-offre .lm .field{display:flex;flex-direction:column;gap:6px;flex:1 1 240px}
.kz-offre .lm .field label{font-family:Lexend,sans-serif;font-weight:600;font-size:14px;color:var(--nuit)}
.kz-offre .lm .wpcf7-form-control-wrap{display:block}
.kz-offre .lm input[type=email]{width:100%;min-height:50px;border-radius:999px;border:2px solid rgba(20,57,74,.25);padding:0 20px;font:inherit;background:#fff;color:var(--anth)}
.kz-offre .lm input[type=email]:focus{outline:3px solid var(--dore);outline-offset:2px;border-color:var(--nuit)}
.kz-offre .lm .wpcf7-submit{min-height:50px;cursor:pointer;border:0}
.kz-offre .lm .wpcf7-spinner{position:absolute}
.kz-offre .lm .wpcf7-response-output{flex-basis:100%;margin:6px 0 0;padding:10px 16px;border-radius:14px;font-size:15px}
.kz-offre .lm-note{margin-top:12px;font-size:14px;color:var(--gris)}
.kz-offre .lm-note a{color:var(--nuit);text-decoration:underline;text-underline-offset:3px}
.kz-offre .autres{padding-top:0}
.kz-offre .others{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.kz-offre .others a{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;border:2px solid rgba(20,57,74,.2);background:#fff;color:var(--nuit);font-family:Lexend,sans-serif;font-weight:500;font-size:15px;text-decoration:none;transition:border-color .2s ease,color .2s ease}
.kz-offre .others a:hover{border-color:var(--terra-f);color:var(--terra-f)}
@media (prefers-reduced-motion:no-preference){.kz-offre:not(.kz-still) .trustc{animation:pop .9s .45s cubic-bezier(.2,.8,.2,1) both}}
@media (max-width:720px){.kz-offre .lm{padding:32px 24px}.kz-offre .trustc{position:relative;left:auto;bottom:auto;margin:-28px 16px 0;max-width:none}}

/* Pages « Zones d'intervention » (gabarit B-Zone) : bandeau bleu pétrole, encart « Travailler ensemble », villes, offres de la zone, autres zones. */
.kz-offre .zhero{background:var(--petrole);color:var(--creme);padding:40px 0 0;position:relative;overflow:hidden}
.kz-offre .zhero h1{color:#fff;font-size:clamp(34px,4.4vw,58px);font-weight:600;line-height:1.1;letter-spacing:-.02em}
.kz-offre .zhero .crumbs{color:#D9EFEE}.kz-offre .zhero .crumbs a{color:var(--creme)}.kz-offre .zhero .crumbs a:hover{color:#FFD98A}
.kz-offre .zhero-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center;padding-bottom:56px;position:relative}
.kz-offre .lead-d{color:#E4F1F1}
.kz-offre .ul-d{background-image:linear-gradient(var(--dore),var(--dore));background-repeat:no-repeat;background-position:0 96%;background-size:100% .12em;padding-bottom:.04em}
.kz-offre .lfz{width:220px;height:220px;background:#2A7896;right:-70px;top:-40px;transform:rotate(20deg)}
.kz-offre .btn-ghost{border:2px solid var(--creme);color:var(--creme);background:transparent}
.kz-offre .btn-ghost:hover{background:var(--creme);color:var(--nuit)}
.kz-offre .meet{padding:30px;display:flex;flex-direction:column;gap:10px;max-width:440px;width:100%;justify-self:end;color:var(--anth)}
.kz-offre .meet-p{font-family:Lexend,sans-serif;font-weight:600;color:var(--nuit);font-size:20px;line-height:1.35}
.kz-offre .meet ul{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:10px}
.kz-offre .meet li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;font-size:16px}
.kz-offre .meet .ck{width:30px;height:30px;border-radius:50%;background:#D9EFEE;color:#0B5554;display:grid;place-items:center}
.kz-offre .cities{font-family:Lexend,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(38px,5.6vw,80px);line-height:1.2;letter-spacing:-.02em;padding-bottom:40px;color:var(--creme)}
.kz-offre .cities .o{color:var(--petrole);-webkit-text-stroke:4px var(--creme);paint-order:stroke fill}
.kz-offre .svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:36px}
.kz-offre .svc .card{padding:28px;display:flex;flex-direction:column;gap:8px}
.kz-offre .svc small{font-size:14px;font-weight:700;color:var(--turq-f);margin-top:4px}
.kz-offre .zgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;margin-top:28px}
.kz-offre .zc{padding:22px;display:flex;flex-direction:column;gap:4px;min-height:120px}
.kz-offre .zc h3{font-size:17px;font-weight:600;line-height:1.3}
@keyframes souligne{from{background-size:0 .12em}to{background-size:100% .12em}}
@media (prefers-reduced-motion:no-preference){.kz-offre:not(.kz-still) .zhero h1{animation:fade .9s cubic-bezier(.2,.8,.2,1) both}.kz-offre:not(.kz-still) .zhero .lead-d,.kz-offre:not(.kz-still) .zhero .ctas{animation:fade .9s .15s cubic-bezier(.2,.8,.2,1) both}.kz-offre:not(.kz-still) .meet{animation:pop .9s .3s cubic-bezier(.2,.8,.2,1) both}.kz-offre:not(.kz-still) .ul-d{animation:souligne 1s .7s cubic-bezier(.6,0,.2,1) both}.kz-offre:not(.kz-still) .lfz{animation:flotte 10s ease-in-out infinite}}
@media (max-width:720px){.kz-offre .meet{justify-self:stretch;padding:24px}}

/* Pages « L'agence » et « Contact » (17/10/2026). */
/* Haut de page sans visuel (Contact) : une colonne. */
.kz-offre .hero-in.solo{grid-template-columns:minmax(0,1fr)}
.kz-offre .hero-in.solo>div{max-width:760px}
/* Encart : encadré (« D'où vient le nom ? ») et pastilles de liens. */
.kz-offre .encart p a{color:var(--terra-f);text-decoration:underline;text-underline-offset:3px}
.kz-offre .e-note{margin-top:22px;padding:20px 22px;border-radius:16px;background:var(--peche-l);border-left:5px solid var(--terra)}
.kz-offre .e-note h3{font-size:18px;font-weight:600;color:var(--nuit);margin-bottom:6px}
.kz-offre .e-note p{font-size:16px;color:var(--anth)}
.kz-offre .e-liens{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.kz-offre .e-liens a,.kz-offre .cz-zl a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--sable);color:var(--nuit);font-family:Lexend,sans-serif;font-weight:500;font-size:14px;text-decoration:none;transition:background .2s ease,color .2s ease}
.kz-offre .sec.alt .e-liens a{background:var(--creme)}
.kz-offre .e-liens a:hover,.kz-offre .cz-zl a:hover{background:var(--peche-l);color:#8A3412}
/* L'équipe. */
.kz-offre .team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;margin-top:36px}
.kz-offre .tm{overflow:hidden;display:flex;flex-direction:column}
.kz-offre .tm-ph{aspect-ratio:1;overflow:hidden;background:var(--sable)}
.kz-offre .tm-ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.kz-offre .tm-net{display:grid;place-items:center;color:var(--turq-f);background:linear-gradient(135deg,#D9EFEE,var(--sable))}
.kz-offre .tm-net svg{width:96px;height:96px}
.kz-offre .tm-bd{padding:24px 26px 28px;display:flex;flex-direction:column;gap:8px;flex:1}
.kz-offre .tm-bd h3{font-size:22px;font-weight:600}
.kz-offre .tm-role{font-family:Lexend,sans-serif;font-weight:500;font-size:14px;color:var(--turq-f)}
.kz-offre .tm-bd p{font-size:15.5px}
.kz-offre .tm-bd p a{color:var(--terra-f);text-decoration:underline;text-underline-offset:3px}
/* Contact : formulaire à gauche, coordonnées à droite (maquette B-Contact). */
.kz-offre .cz{background:var(--sable);border-radius:56px 56px 0 0;padding:72px 0 96px;position:relative}
.kz-offre .cz-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}
.kz-offre .cz .box{padding:36px}
.kz-offre .cz .box>h2{font-size:clamp(24px,2.4vw,32px);font-weight:600;line-height:1.2;margin:10px 0 12px}
.kz-offre .cz .box>p{color:var(--gris)}
.kz-offre .where{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;position:sticky;top:110px}
.kz-offre .where h3{font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.kz-offre .where h3 svg{color:var(--terra-f);flex:none}
.kz-offre .where p{font-size:15px}
.kz-offre .where p a{color:var(--nuit);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.kz-offre .cz-res{display:flex;gap:16px;flex-wrap:wrap}
.kz-offre .cz-zl{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.kz-offre .cz-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin:32px 0 0;padding:0;list-style:none;counter-reset:czst}
.kz-offre .cz-step{padding:28px;display:flex;flex-direction:column;gap:8px}
.kz-offre .cz-step::before{counter-increment:czst;content:counter(czst);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--nuit);color:#fff;font-family:Lexend,sans-serif;font-weight:700;margin-bottom:6px}
.kz-offre .cz-step h3{font-size:19px;font-weight:600}
.kz-offre .cz-step p{font-size:15px;color:var(--gris)}
/* Formulaire en étapes. Sans JavaScript (pas de .kf-on), toutes les questions restent visibles. */
.kz-offre .kf .wpcf7 form{margin-top:18px}
.kz-offre .kf-step{border:0;margin:0 0 28px;padding:0;min-width:0}
.kz-offre .kf.kf-on .kf-step{margin:0}
.kz-offre .kf.kf-on .kf-step:not(.is-on){display:none}
.kz-offre .kf-step legend{font-family:Lexend,sans-serif;font-size:22px;font-weight:600;color:var(--nuit);line-height:1.25;margin-bottom:6px;padding:0}
.kz-offre .kf-step legend:focus{outline:none}
.kz-offre .kf-step legend small,.kz-offre .kf label small{font-weight:400;color:var(--gris);font-size:14px}
.kz-offre .kf-hint{font-size:14px;color:var(--gris);margin-bottom:14px}
.kz-offre .kf-prog{margin:4px 0 22px}
.kz-offre .kf-count{font-family:Lexend,sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--turq-f);margin-bottom:8px}
.kz-offre .kf-bar{height:6px;border-radius:999px;background:var(--sable);overflow:hidden}
.kz-offre .kf-bar i{display:block;height:100%;width:20%;border-radius:999px;background:var(--terra-f);transition:width .35s cubic-bezier(.2,.8,.2,1)}
.kz-offre .kf .wpcf7-form-control-wrap{display:block}
.kz-offre .kf .wpcf7-checkbox,.kz-offre .kf .wpcf7-radio{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px;margin-top:12px}
.kz-offre .kf .wpcf7-list-item{margin:0;display:block}
.kz-offre .kf .wpcf7-list-item label{display:flex;align-items:center;gap:12px;min-height:56px;height:100%;box-sizing:border-box;padding:12px 16px;border:2px solid rgba(20,57,74,.18);border-radius:14px;background:#fff;cursor:pointer;font-family:Lexend,sans-serif;font-weight:500;font-size:15px;line-height:1.3;color:var(--nuit);transition:border-color .2s ease,background .2s ease,transform .2s ease}
.kz-offre .kf .wpcf7-list-item label:hover{border-color:var(--nuit);transform:translateY(-1px)}
.kz-offre .kf .wpcf7-list-item input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--terra-f)}
.kz-offre .kf .wpcf7-list-item label:has(input:checked){border-color:var(--terra-f);background:var(--peche-l)}
.kz-offre .kf .wpcf7-list-item label:has(input:focus-visible){outline:3px solid var(--dore);outline-offset:2px}
.kz-offre .kf .fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;margin-top:14px}
.kz-offre .kf .field{display:flex;flex-direction:column;gap:6px}
.kz-offre .kf .field.full{grid-column:1/-1}
.kz-offre .kf .field>label{font-family:Lexend,sans-serif;font-weight:600;font-size:14px;color:var(--nuit)}
.kz-offre .kf input[type=text],.kz-offre .kf input[type=email],.kz-offre .kf input[type=tel],.kz-offre .kf textarea{width:100%;font:inherit;color:var(--anth);background:#fff;border:2px solid rgba(20,57,74,.25);border-radius:14px;padding:12px 16px;min-height:50px;box-sizing:border-box}
.kz-offre .kf textarea{min-height:130px;resize:vertical}
.kz-offre .kf input:focus,.kz-offre .kf textarea:focus{outline:3px solid var(--dore);outline-offset:2px;border-color:var(--nuit)}
.kz-offre .kf [aria-invalid=true]{border-color:var(--terra-f)}
.kz-offre .kf .pref{grid-column:1/-1;margin:6px 0 0;padding:0;border:0;min-width:0}
.kz-offre .kf-step .kf-q{font-family:Lexend,sans-serif;font-weight:600;font-size:14px;color:var(--nuit);margin:0;padding:0}
.kz-offre .kf .pref .wpcf7-radio{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.kz-offre .kf-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.kz-offre .kf .send{display:flex;flex-direction:column;gap:12px;margin-top:22px;align-items:flex-start}
.kz-offre .kf .send .kf-nav{margin-top:0;order:-1}
.kz-offre .kf .send-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.kz-offre .kf button.btn,.kz-offre .kf .wpcf7-submit{border:0;cursor:pointer}
.kz-offre .kf button.btn-line{border:2px solid var(--nuit)}
.kz-offre .kf .wpcf7-submit{display:inline-flex;align-items:center;min-height:50px;padding:0 26px;border-radius:999px;background:var(--terra-f);color:#fff;font-family:Lexend,sans-serif;font-weight:600;font-size:16px}
.kz-offre .kf .wpcf7-submit:hover{background:#9E3A15}
.kz-offre .kf .wpcf7-spinner{margin:0}
.kz-offre .kf-delai{font-family:Lexend,sans-serif;font-weight:600;font-size:14px;color:var(--turq-f)}
.kz-offre .kf-rgpd{font-size:14px;color:var(--gris)}
.kz-offre .kf-rgpd a{color:var(--nuit);text-decoration:underline;text-underline-offset:3px}
.kz-offre .kf-err:not(:empty){margin-top:14px;padding:10px 14px;border-radius:12px;background:#FDECE4;color:#8A3412;font-size:15px;font-weight:600}
.kz-offre .kf .wpcf7-not-valid-tip{color:#8A3412;font-size:14px;margin-top:4px}
.kz-offre .kf .wpcf7-response-output{margin:18px 0 0;padding:10px 16px;border-radius:14px;font-size:15px}
.kz-offre .kf.kf-sent form,.kz-offre .kf.kf-sent .kf-intro{display:none}
.kz-offre .kf-done{margin-top:18px;padding:28px;border-radius:18px;background:#D9EFEE}
.kz-offre .kf-done h3{font-size:24px;font-weight:600;color:var(--nuit);margin-bottom:8px}
.kz-offre .kf-done h3:focus{outline:none}
@media (prefers-reduced-motion:no-preference){.kz-offre .kf.kf-on .kf-step.is-on{animation:fade .45s cubic-bezier(.2,.8,.2,1) both}}
@media (max-width:900px){.kz-offre .cz-grid{grid-template-columns:minmax(0,1fr)}.kz-offre .where{position:static}}
@media (max-width:720px){.kz-offre .cz{border-radius:32px 32px 0 0;padding:48px 0 64px}.kz-offre .cz .box{padding:24px}.kz-offre .kf .fgrid{grid-template-columns:minmax(0,1fr)}.kz-offre .kf-step legend{font-size:20px}}
/* Six réalisations (page L'agence) : deux rangées de trois plutôt que cinq + une. */
.kz-offre .r-grid:has(>:nth-child(6):last-child){grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
/* Familles inégales (page Services : 4, 6 et 4 offres) : les cartes gardent leur hauteur au lieu de remplir la colonne. */
.kz-offre .path:has(.oc:nth-of-type(5)) .oc{flex:none}
/* Grand écran : grille de 3 colonnes ; chaque famille garde sa colonne, et les cartes au-delà de la 4e
   passent sur une dernière rangée, à partir de la gauche (page Services : les deux offres de publicité). */
@media (min-width:901px){
.kz-offre .path:has(.oc:nth-of-type(5)){grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;row-gap:14px}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam{display:contents}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam:nth-child(1)>*{grid-column:1}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam:nth-child(2)>*{grid-column:2}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam:nth-child(3)>*{grid-column:3}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam>.oc:nth-of-type(5){grid-column:1}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam>.oc:nth-of-type(6){grid-column:2}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam>.oc:nth-of-type(7){grid-column:3}
.kz-offre .path:has(.oc:nth-of-type(5)) .fam-h{margin-bottom:0}
}

/* Texte long (mentions légales, confidentialité) : une colonne lisible. */
.kz-offre .prose{max-width:760px}
.kz-offre .prose h2{font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.25;color:var(--nuit);margin:44px 0 14px}
.kz-offre .prose h2:first-child{margin-top:0}
.kz-offre .prose p,.kz-offre .prose li{font-size:17px;line-height:1.7}
.kz-offre .prose p+p{margin-top:12px}
.kz-offre .prose ul{margin:12px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.kz-offre .prose a{color:var(--terra-f);text-decoration:underline;text-underline-offset:3px}
.kz-offre .prose strong{color:var(--nuit)}
.kz-offre .sec:has(.prose){padding-top:8px}
.kz-offre .prose ul+p{margin-top:16px}
/* Page /realisations/ « Toutes les réalisations » (doc 18) : grille à 3 colonnes comme l'accueil, pas la grille serrée des pages offres. */
.kz-offre #toutes .r-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px}
.kz-offre #toutes .sec{padding-top:0}
