/*
 * Kozman — design de la piste B « Éditorial clair » (maquette validée, octobre 2026).
 * Généré à partir de la maquette : toutes les règles sont rattachées à body.kz.
 * Polices hébergées sur le site (Lexend, Lato : licence SIL OFL).
 */
@font-face{font-family:'Lexend';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/lexend-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lexend';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/lexend-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/lato-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/lato-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/lato-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/lato-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Base (la remise à zéro de Hello est désactivée) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body.kz img{max-width:100%;height:auto}
.kz button{font:inherit}
.kz .kz-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 18px;border-radius:999px;background:var(--nuit);color:#fff;font-family:Lexend,sans-serif;font-weight:600;text-decoration:none}
.kz .kz-skip:focus{top:12px}
.kz :focus-visible{outline:3px solid #CD4B13;outline-offset:3px}
.admin-bar.kz .hdr{top:32px}
@media (max-width:782px){.admin-bar.kz .hdr{top:46px}}
@media (max-width:600px){.admin-bar.kz .hdr{top:0}}
/* Les blocs Kozman Kit occupent toute la largeur : les conteneurs Elementor qui les portent ne doivent rien ajouter. */
.kz .e-con.kz-flush{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--content-width:100%;--width:100%}
.kz .e-con.kz-flush>.e-con-inner{max-width:none;padding:0;gap:0}
.kz-js .kz [data-kk-item].kk-off{display:none}

/* Design de la maquette */

body{margin:0;background:#FEF9EF}
.kz a{color:#1F6884}.kz a:hover{color:#B8441A}
body.kz{--nuit:#14394A;--petrole:#1F6884;--turq:#00A19F;--turq-f:#007C7A;--terra:#EB652B;--terra-f:#B8441A;--peche:#F5B295;--peche-l:#FBE3D7;--dore:#FAC05B;--creme:#FEF9EF;--sable:#F6EEE2;--anth:#393A3A;--gris:#5E5F5F;font-family:Lato,system-ui,sans-serif;color:var(--anth);background:var(--creme);font-size:17px;line-height:1.65;overflow-x:clip}
.kz h1,.kz h2,.kz h3,.kz .lx{font-family:Lexend,system-ui,sans-serif;color:var(--nuit)}
.kz h1,.kz h2,.kz h3,.kz p{margin:0}
.kz .wrap{max-width:1244px;margin:0 auto;padding:0 32px}
.kz .kicker{font-family:Lexend,sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--turq-f)}
.kz .h2{font-size:clamp(28px,3.2vw,44px);font-weight:600;letter-spacing:-.015em;line-height:1.15}
.kz .lead{color:var(--gris);max-width:640px;margin-top:14px}
.kz .btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;font-family:Lexend,sans-serif;font-weight:600;font-size:16px;text-decoration:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.kz .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,57,74,.15)}
.kz .btn .ar{transition:transform .2s ease}.kz .btn:hover .ar{transform:translateX(4px)}
.kz .btn-main{background:var(--terra-f);color:#fff}.kz .btn-main:hover{background:#9E3A15;color:#fff}
.kz .btn-line{border:2px solid var(--nuit);color:var(--nuit);background:#fff}.kz .btn-line:hover{border-color:var(--terra-f);color:var(--terra-f)}
.kz .btn-light{background:var(--creme);color:var(--nuit)}.kz .btn-light:hover{background:#fff;color:var(--terra-f)}
.kz.btn-orange .btn-main{background:#CD4B13}.kz.btn-orange .btn-main:hover{background:#B04011}
.kz.line-clear .btn-line{background:transparent}
.kz .dark .kicker{color:#FFD98A}
.kz .go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;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 .go::after{content:"";position:absolute;inset:0;border-radius:inherit}
.kz .go .ar{transition:transform .2s ease}
.kz .lift:hover .go .ar{transform:translateX(5px)}
.kz .lift:hover .go{color:#9E3A15}
.kz .hdr{position:sticky;top:0;z-index:30;background:rgba(254,249,239,.95);backdrop-filter:blur(8px)}
.kz .hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.kz .nav{display:flex;gap:26px}
.kz .nav a{font-family:Lexend,sans-serif;font-weight:500;font-size:15px;color:var(--anth);text-decoration:none}
.kz .nav a:hover{color:var(--terra-f)}
.kz .mnav{display:none;position:relative}
.kz .mnav summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-radius:999px;border:2px solid var(--nuit);font-family:Lexend,sans-serif;font-weight:600;color:var(--nuit)}
.kz .mnav summary::-webkit-details-marker{display:none}
.kz .mnav .panel{position:absolute;right:0;top:56px;background:#fff;border-radius:18px;box-shadow:0 20px 40px rgba(20,57,74,.18);padding:12px;display:flex;flex-direction:column;min-width:240px}
.kz .mnav .panel a{padding:12px 14px;border-radius:12px;font-family:Lexend,sans-serif;font-weight:500;color:var(--nuit);text-decoration:none}
.kz .mnav .panel a:hover{background:var(--sable)}
.kz .hero{position:relative;padding:64px 0 88px;overflow:hidden}
.kz .hero-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center;position:relative}
.kz .hero h1{font-size:clamp(34px,4.2vw,56px);font-weight:600;line-height:1.08;letter-spacing:-.02em}
.kz .hl{background-image:linear-gradient(var(--dore),var(--dore));background-repeat:no-repeat;background-position:0 88%;background-size:100% .32em}
.kz .leaf{position:absolute;border-radius:0 100% 0 100%;pointer-events:none}
.kz .lf1{width:200px;height:200px;background:#BEE1DF;right:-50px;top:30px;transform:rotate(20deg)}
.kz .lf2{width:120px;height:120px;background:var(--peche-l);left:-40px;bottom:40px;transform:rotate(-15deg)}
.kz .lf3{width:70px;height:70px;background:#FDEFD3;left:46%;top:24px;transform:rotate(60deg)}
.kz .chip{display:inline-flex;align-items:center;gap:8px;font-family:Lexend,sans-serif;font-size:13px;font-weight:500;padding:6px 14px;border-radius:999px;background:#fff;color:var(--nuit);box-shadow:0 1px 3px rgba(20,57,74,.1);align-self:flex-start}
.kz .chip i{width:8px;height:8px;border-radius:50%;background:var(--turq-f);display:inline-block}
.kz .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 .lift{position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
.kz .lift:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,57,74,.14)}
.kz .side{position:relative;max-width:470px;width:100%;justify-self:end;display:flex;flex-direction:column;gap:18px;padding-top:40px}
.kz .badge{position:absolute;width:150px;height:150px;left:-60px;top:-30px;z-index:2}
.kz .badge>svg{width:100%;height:100%;display:block}
.kz .badge img{position:absolute;width:74px;height:74px;left:38px;top:38px}
.kz .rdv{padding:30px 30px 30px 110px;display:flex;flex-direction:column;gap:6px}
.kz .dark{background:var(--petrole);color:var(--creme);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:8px}
.kz .dark h3{color:#fff}
.kz .dark .go{color:#FFD98A}
.kz .band{background:#00A19F;color:#fff;font-family:Lexend,sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.03em;padding:18px 0}
.kz .mq{overflow:hidden;white-space:nowrap}
.kz .mq-track{display:inline-flex}
.kz .mq-item{display:inline-flex;align-items:center;gap:36px;padding-right:36px}
.kz .dot{width:10px;height:10px;border-radius:50%;background:var(--dore);display:inline-block}
.kz .trust{position:relative;display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap;padding-top:30px;font-family:Lexend,sans-serif;font-weight:500;color:var(--gris);font-size:15px}
.kz .trust b{color:var(--nuit);font-weight:600;margin-right:8px}
.kz .logos img{display:block;width:auto;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.kz .logos img:hover{transform:scale(1.06)}
.kz .sec{padding:96px 0}
.kz .alt{background:var(--sable)}
.kz .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.kz .tabs{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 28px;padding:6px;background:#fff;border-radius:999px;box-shadow:0 1px 3px rgba(20,57,74,.08);width:fit-content;max-width:100%}
.kz .tab{min-height:46px;padding:0 22px;border-radius:999px;border:0;background:transparent;color:var(--nuit);font-family:Lexend,sans-serif;font-weight:600;font-size:15px;cursor:pointer;transition:background .25s ease,color .25s ease}
.kz .tab.is-on{background:var(--nuit);color:#fff}
.kz .svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px}
.kz .svc .card{padding:28px;display:flex;flex-direction:column;gap:8px}
.kz .svc .n{font-family:Lexend,sans-serif;font-weight:700;font-size:15px;color:#CD4A12}
.kz .svc .go{color:#CD4A12}.kz .svc .lift:hover .go{color:#B04011}
.kz .svc h3{font-size:21px;font-weight:600;line-height:1.25}
.kz .svc p{font-size:15px;color:var(--gris)}
.kz .from{font-family:Lexend,sans-serif;font-size:14px;font-weight:600;color:var(--nuit);background:var(--sable);border-radius:999px;padding:4px 12px;align-self:flex-start;margin-top:6px}
.kz .pills{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 30px}
.kz .pill{min-height:44px;padding:0 18px;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:14px;cursor:pointer}
.kz .pill.is-on{background:var(--nuit);border-color:var(--nuit);color:#fff}
.kz .r-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px}
.kz .rc{overflow:hidden;display:flex;flex-direction:column}
.kz .rc .ph{aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--sable)}
.kz .rc img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.kz .rc:hover img{transform:scale(1.06)}
.kz .rc .ph .chip{position:absolute;left:14px;top:14px}
.kz .rc .bd{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.kz .rc h3{font-size:20px;font-weight:600}
.kz .rc p{font-size:15px;color:var(--gris);margin-top:2px}
.kz .who{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px;margin-top:40px}
.kz .who .card{padding:26px 24px;display:flex;flex-direction:column}
.kz .ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:16px;transition:transform .3s ease}
.kz .who .card:hover .ic{transform:rotate(-8deg) scale(1.08)}
.kz .who h3{font-size:18px;font-weight:600;line-height:1.3;margin-bottom:6px}
.kz .who p{font-size:15px;color:var(--gris)}
.kz .who small{display:block;margin-top:10px;font-size:13px;font-weight:700;color:var(--turq-f)}
.kz .steps-wrap{position:relative;margin-top:48px}
.kz .track{position:absolute;left:0;right:0;top:22px;height:4px;border-radius:4px;background:rgba(20,57,74,.1)}
.kz .track i{position:absolute;inset:0;border-radius:4px;background:var(--dore);transform-origin:left;display:block}
.kz .steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative}
.kz .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:18px;box-shadow:0 0 0 6px var(--sable)}
.kz .st h3{font-size:18px;font-weight:600;margin-bottom:6px}
.kz .st p{font-size:15px;color:var(--gris)}
.kz .zones{background:var(--petrole);color:var(--creme);overflow:hidden;padding:88px 0}
.kz .zones h2{color:#fff}
.kz .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}
.kz .cities .o{color:var(--petrole);-webkit-text-stroke:4px var(--creme);paint-order:stroke fill}
.kz .posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;margin-top:40px}
.kz .post{padding:26px;display:flex;flex-direction:column;gap:10px}
.kz .post h3{font-size:20px;font-weight:600;line-height:1.3}
.kz .post p{font-size:15px;color:var(--gris)}
.kz .post .k2{font-family:Lexend,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--turq-f)}
.kz .faq{display:flex;flex-direction:column;gap:12px;margin-top:36px;max-width:860px}
.kz .faq details{padding:0 24px}
.kz .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-family:Lexend,system-ui,sans-serif;font-weight:600;font-size:18px;color:var(--nuit)}
.kz .faq summary::-webkit-details-marker{display:none}
.kz .faq summary::after{content:"+";font-size:26px;color:var(--terra-f);transition:transform .25s ease}
.kz .faq details[open] summary::after{transform:rotate(45deg)}
.kz .faq details p{padding:0 0 20px;color:var(--gris)}
.kz #rdv{padding-top:96px}
.kz .cta{background:var(--petrole);color:var(--creme);border-radius:28px;padding:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px;align-items:center;position:relative;overflow:hidden}
.kz .cta h2{color:#fff}
.kz .cta img{width:170px;justify-self:end}
.kz .swipe{display:none;font-family:Lexend,sans-serif;font-size:13px;font-weight:600;color:var(--gris);margin:-8px 0 12px}
.kz .foot{position:relative;background:var(--creme);padding:72px 0 0;font-size:15px;overflow:hidden}
.kz .foot a{color:var(--nuit);text-decoration:none}.kz .foot a:hover{color:var(--terra-f);text-decoration:underline}
.kz .foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:32px;position:relative;z-index:1}
.kz .foot h3{font-family:Lexend,sans-serif;font-size:14px;font-weight:600;color:var(--terra-f);margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em}
.kz .foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.kz .legal{position:relative;z-index:1;margin-top:40px;font-size:13px;color:var(--gris)}
.kz .leaves{display:block;width:100%;height:auto;margin-top:-6%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 45%);mask-image:linear-gradient(to bottom,transparent 0%,#000 45%)}
@media (prefers-reduced-motion:no-preference){
.kz:not(.kz-still) .mq-track{animation:mq 36s linear infinite}
.kz:not(.kz-still) .mq-rev .mq-track{animation-direction:reverse;animation-duration:44s}
.kz:not(.kz-still) .hero h1{animation:fade .9s cubic-bezier(.2,.8,.2,1) both}
.kz:not(.kz-still) .hero .lead,.kz:not(.kz-still) .hero .ctas{animation:fade .9s .15s cubic-bezier(.2,.8,.2,1) both}
.kz:not(.kz-still) .hl{animation:surligne 1s .7s cubic-bezier(.6,0,.2,1) both}
.kz:not(.kz-still) .side .rdv{animation:pop .8s .25s cubic-bezier(.2,.8,.2,1) both}
.kz:not(.kz-still) .side .dark{animation:pop .8s .4s cubic-bezier(.2,.8,.2,1) both}
.kz:not(.kz-still) .badge>svg{animation:tourne 22s linear infinite}
.kz:not(.kz-still) .badge{animation:pop .8s .55s cubic-bezier(.2,.8,.2,1) both}
.kz:not(.kz-still) .lf1{animation:flotte 9s ease-in-out infinite}
.kz:not(.kz-still) .lf2{animation:flotte 11s 1s ease-in-out infinite}
.kz:not(.kz-still) .lf3{animation:flotte 7s .5s ease-in-out infinite}
@supports (animation-timeline:view()){
.kz:not(.kz-still) .rv{animation:fade linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.kz:not(.kz-still) .rv2{animation:fade linear both;animation-timeline:view();animation-range:entry 10% entry 60%}
.kz:not(.kz-still) .rc .ph img{animation:devoile linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
.kz:not(.kz-still) .track i{animation:trace linear both;animation-timeline:view();animation-range:entry 40% cover 55%}
.kz:not(.kz-still) .cta{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}
}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes fade{from{opacity:0;transform:translateY(28px)}}
@keyframes pop{from{opacity:0;transform:translateY(30px) scale(.96)}}
@keyframes surligne{from{background-size:0% .32em}}
@keyframes tourne{to{transform:rotate(360deg)}}
@keyframes flotte{0%,100%{translate:0 0}50%{translate:0 -16px}}
@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 .steps{grid-template-columns:minmax(0,1fr)}.kz .track{left:22px;right:auto;top:0;bottom:0;width:4px;height:auto}.kz .track i{transform-origin:top}.kz .st{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 18px}.kz .st b{margin:0;grid-row:span 2}}
@media (max-width:820px){.kz .nav,.kz .hdr .btn-main{display:none}.kz .mnav{display:block}}
@media (max-width:720px){
.kz .wrap{padding:0 20px}
.kz .sec{padding:64px 0}
.kz .side{justify-self:stretch;padding-top:24px}
.kz .badge{width:110px;height:110px;left:auto;right:-6px;top:-20px}
.kz .badge img{width:54px;height:54px;left:28px;top:28px}
.kz .rdv{padding:24px}
.kz .snap{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:4px 20px 14px;scrollbar-width:none}
.kz .snap>*{flex:0 0 84%;scroll-snap-align:start}
.kz .swipe{display:block}
.kz #rdv{padding-top:64px}
.kz .cta{padding:36px 24px}.kz .cta img{justify-self:start;width:110px}
.kz .tabs{border-radius:22px}
}
.kz .badge .tc,.kz .cta .tc{display:none}
.kz.toucan-on .badge img,.kz.toucan-on .cta>img{display:none}
.kz.toucan-on .badge .tc{display:block;position:absolute;inset:19%}
.kz.toucan-on .cta .tc{display:block;width:240px;aspect-ratio:1;justify-self:end;margin:-10px 0}
.kz.toucan-on .cta .tc-svg{filter:drop-shadow(0 14px 26px rgba(10,30,40,.35))}
.kz.toucan-on .badge{width:196px;height:196px;left:-78px;top:-58px}
.kz.toucan-on .rdv{padding-left:140px}
.kz .tc-svg{width:100%;height:100%;display:block;overflow:visible}
.kz .tc-svg g,.kz .tc-svg circle{transform-box:view-box}
.kz .tc-disque{transform-origin:250px 250px}
.kz .tc-fond{transform-origin:439px 221px}
.kz .tc-avant{transform-origin:380px 440px}
.kz .tc-monstera{transform-origin:200px 447px}
.kz .tc-palmes{transform-origin:180px 55px}
.kz .tc-o{transform-origin:240px 470px}
.kz .tc-oeil{transform-origin:256px 206px}
.kz .tc-cercle{transform-origin:250px 250px}
.kz .tc .tc-o{transition:translate .5s cubic-bezier(.2,.8,.2,1),scale .5s cubic-bezier(.2,.8,.2,1)}
.kz .badge:hover .tc-o,.kz .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.toucan-on:not(.kz-still) .tc .tc-o{animation:tc-tete 7s 3s ease-in-out infinite}
.kz.toucan-on:not(.kz-still) .tc .tc-oeil{animation:tc-cligne 4.8s 2.4s infinite}
.kz.toucan-on:not(.kz-still) .badge .tc-cercle{animation:tc-cercle 1s .5s cubic-bezier(.2,.8,.2,1) both}
.kz.toucan-on:not(.kz-still) .badge .tc-fond{animation:tc-apparait .8s .6s ease-out both}
.kz.toucan-on:not(.kz-still) .badge .tc-palmes{animation:tc-apparait .8s .6s ease-out both}
.kz.toucan-on:not(.kz-still) .badge .tc-monstera{animation:tc-apparait .8s .6s ease-out both}
.kz.toucan-on:not(.kz-still) .badge .tc-avant{animation:tc-apparait .8s .6s ease-out both}
.kz.toucan-on:not(.kz-still) .badge .tc-o{animation:tc-monte 1s 1.25s cubic-bezier(.2,.8,.2,1) both,tc-tete 7s 3s ease-in-out infinite}
@supports (animation-timeline:view()){
.kz.toucan-on .cta{view-timeline-name:--cta}
.kz.toucan-on:not(.kz-still) .cta .tc-disque{animation:tc-cercle linear both;animation-timeline:--cta;animation-range:entry 5% entry 60%}
.kz.toucan-on:not(.kz-still) .cta .tc-cercle{animation:tc-cercle linear both;animation-timeline:--cta;animation-range:entry 10% entry 70%}
.kz.toucan-on:not(.kz-still) .cta .tc-fond{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz.toucan-on:not(.kz-still) .cta .tc-palmes{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz.toucan-on:not(.kz-still) .cta .tc-monstera{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz.toucan-on:not(.kz-still) .cta .tc-avant{animation:tc-apparait linear both;animation-timeline:--cta;animation-range:entry 10% entry 60%}
.kz.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.toucan-on .badge{width:130px;height:130px;left:auto;right:-6px;top:0}.kz.toucan-on .side{padding-top:96px}.kz.toucan-on .rdv{padding-left:24px}.kz .trust{padding-top:44px}.kz.toucan-on .cta .tc{width:150px;justify-self:start;margin:0}}
.kz .narr{display:none}
.kz.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}
.kz.narr-on .steps-wrap{display:none}
.kz .n-steps{list-style:none;padding:0;margin:0}
.kz .ns{position:relative;min-height:300px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 22px;align-content:center}
.kz .ns::before{content:"";position:absolute;left:21px;top:0;bottom:0;width:6px;background:rgba(20,57,74,.1)}
.kz .ns:first-child::before{top:50%}.kz .ns:last-child::before{bottom:50%}
.kz .ns::after{content:"";position:absolute;left:21px;top:0;bottom:0;width:6px;background:var(--dore);transform-origin:top}
.kz .ns:first-child::after{top:50%}.kz .ns:last-child::after{bottom:50%}
.kz .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 .ns h3{font-size:22px;font-weight:600;margin-bottom:6px}
.kz .ns p{color:var(--gris)}
.kz .ns1{view-timeline-name:--n1}.kz .ns2{view-timeline-name:--n2}.kz .ns3{view-timeline-name:--n3}.kz .ns4{view-timeline-name:--n4}.kz .ns5{view-timeline-name:--n5}
.kz .n-stage{position:sticky;top:130px;container-type:inline-size;aspect-ratio:100/70;overflow-x:clip}
.kz .n-in{position:absolute;inset:0;font-family:Lexend,sans-serif;perspective:1600px}
.kz .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 .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 .n-bar{display:flex;align-items:center;gap:1cqw;padding:1.6cqw 2cqw;background:#F1EBE1}
.kz .n-bar>i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#D8CFC2}
.kz .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 .n-url-t{display:inline-block}
.kz .n-url svg{width:1.8cqw;height:1.8cqw;color:#0B5554;flex:none}
.kz .n-page{flex:1;display:flex;flex-direction:column;gap:1.6cqw;padding:1.8cqw 2.4cqw 2.4cqw}
.kz .n-nav{display:flex;align-items:center;gap:2cqw}
.kz .n-logo{margin-right:auto;width:4.4cqw;height:4.4cqw;border-radius:50%;background:center/cover no-repeat url("../img/toucan.webp")}
.kz .n-l{width:7cqw;height:1.2cqw;border-radius:1cqw;background:#D8CFC2}
.kz .n-cta{width:11cqw;height:3.2cqw;border-radius:2cqw;background:#CD4B13}
.kz .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 .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 .n-bars i{display:block;height:2.6cqw;border-radius:1cqw;background:#D8CFC2}
.kz .n-bars i:nth-child(2){width:70%}
.kz .n-bars i:nth-child(3){width:34%;height:3.2cqw;border-radius:2cqw}
.kz .n-title{font-size:4.2cqw;font-weight:700;line-height:1.08;color:#fff;letter-spacing:-.02em}
.kz .n-title span{background-image:linear-gradient(var(--dore),var(--dore));background-repeat:no-repeat;background-position:0 88%;background-size:100% .3em}
.kz .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 .n-leaf{position:absolute;right:-3cqw;top:-3cqw;width:16cqw;height:16cqw;border-radius:0 100% 0 100%;background:#00A19F;rotate:20deg}
.kz .n-cards{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6cqw}
.kz .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 .n-c1{background:var(--peche)}.kz .n-c2{background:#00A19F}.kz .n-c3{background:var(--dore)}
.kz .n-c em{font-style:normal;opacity:0}
.kz .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 .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 .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 .n-rdv svg{width:2.6cqw;height:2.6cqw;color:var(--dore)}
.kz .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 .n-palette i{width:3cqw;height:3cqw;border-radius:50%}
.kz .n-palette b{font-size:2.4cqw;font-weight:700;color:var(--nuit);margin-left:.6cqw}
.kz .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 .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 .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 .n-screen .s2{height:2.6cqw;width:60%;border-radius:2cqw;background:#CD4B13}
.kz .n-screen .s3{flex:1;border-radius:1.2cqw;background:var(--peche)}
.kz .n-chips{position:absolute;left:4cqw;bottom:9cqw;display:flex;flex-wrap:wrap;gap:1cqw;width:60cqw}
.kz .n-chips span{padding:.9cqw 1.8cqw;border-radius:3cqw;background:var(--nuit);color:#fff;font-size:1.8cqw;font-weight:600}
.kz .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 .n-live i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#7FE0C9}
.kz .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 .n-f{position:absolute;left:24cqw;top:30cqw;width:4.4cqw;height:4.4cqw;border-radius:0 100% 0 100%;opacity:0}
.kz .n-f1,.kz .n-f6{background:var(--dore)}.kz .n-f2,.kz .n-f7{background:#00A19F}.kz .n-f3,.kz .n-f8{background:var(--peche)}.kz .n-f4,.kz .n-f9{background:#CD4B13}.kz .n-f5,.kz .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-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.narr-on:not(.kz-still) .ns>div{animation:n-actif linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
.kz.narr-on:not(.kz-still) .ns b{animation:n-num linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
.kz.narr-on:not(.kz-still) .ns h3{animation:n-h3 linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
.kz.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;animation-timeline:--n1,--n2,--n3,--n4,--n5;animation-range:cover 15% cover 35%,cover 25% cover 45%,cover 25% cover 45%,cover 25% cover 45%,cover 25% cover 45%}
.kz.narr-on:not(.kz-still) .ns::after{animation:n-rail linear both;animation-timeline:view();animation-range:cover 20% cover 50%}
.kz.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.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.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.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.narr-on:not(.kz-still) .n-nav{animation:n-in linear both;animation-timeline:--n2;animation-range:cover 42% cover 50%}
.kz.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.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.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.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.narr-on:not(.kz-still) .n-title,.kz.narr-on:not(.kz-still) .n-btn{animation:n-in linear both;animation-timeline:--n3;animation-range:cover 36% cover 50%}
.kz.narr-on:not(.kz-still) .n-leaf{animation:n-pop linear both;animation-timeline:--n3;animation-range:cover 42% cover 54%}
.kz.narr-on:not(.kz-still) .n-l,.kz.narr-on:not(.kz-still) .n-cta{animation:n-gris linear both;animation-timeline:--n3;animation-range:cover 30% cover 42%}
.kz.narr-on:not(.kz-still) .n-logo{animation:n-pop linear both;animation-timeline:--n3;animation-range:cover 30% cover 42%}
.kz.narr-on:not(.kz-still) .n-palette{animation:n-in linear both;animation-timeline:--n3;animation-range:cover 42% cover 54%}
.kz.narr-on:not(.kz-still) .n-phone{animation:n-tel linear both;animation-timeline:--n4;animation-range:cover 30% cover 48%}
.kz.narr-on:not(.kz-still) .n-chips span{animation:n-pop linear both;animation-timeline:--n4}
.kz.narr-on:not(.kz-still) .n-chips span:nth-child(1){animation-range:cover 42% cover 50%}
.kz.narr-on:not(.kz-still) .n-chips span:nth-child(2){animation-range:cover 45% cover 53%}
.kz.narr-on:not(.kz-still) .n-chips span:nth-child(3){animation-range:cover 48% cover 56%}
.kz.narr-on:not(.kz-still) .n-url-t,.kz.narr-on:not(.kz-still) .n-url svg{animation:n-url linear both;animation-timeline:--n5;animation-range:cover 30% cover 44%}
.kz.narr-on:not(.kz-still) .n-live{animation:n-pop linear both;animation-timeline:--n5;animation-range:cover 40% cover 50%}
.kz.narr-on:not(.kz-still) .n-forma{animation:n-pop linear both;animation-timeline:--n5;animation-range:cover 46% cover 56%}
.kz.narr-on:not(.kz-still) .n-f1{animation:n-vole1 linear both;animation-timeline:--n5;animation-range:cover 40% cover 60%}
.kz.narr-on:not(.kz-still) .n-f2{animation:n-vole2 linear both;animation-timeline:--n5;animation-range:cover 41% cover 62%}
.kz.narr-on:not(.kz-still) .n-f3{animation:n-vole3 linear both;animation-timeline:--n5;animation-range:cover 42% cover 60%}
.kz.narr-on:not(.kz-still) .n-f4{animation:n-vole4 linear both;animation-timeline:--n5;animation-range:cover 43% cover 64%}
.kz.narr-on:not(.kz-still) .n-f5{animation:n-vole5 linear both;animation-timeline:--n5;animation-range:cover 44% cover 62%}
.kz.narr-on:not(.kz-still) .n-f6{animation:n-vole6 linear both;animation-timeline:--n5;animation-range:cover 40% cover 59%}
.kz.narr-on:not(.kz-still) .n-f7{animation:n-vole7 linear both;animation-timeline:--n5;animation-range:cover 41% cover 60%}
.kz.narr-on:not(.kz-still) .n-f8{animation:n-vole8 linear both;animation-timeline:--n5;animation-range:cover 42% cover 61%}
.kz.narr-on:not(.kz-still) .n-f9{animation:n-vole9 linear both;animation-timeline:--n5;animation-range:cover 43% cover 62%}
.kz.narr-on:not(.kz-still) .n-f10{animation:n-vole10 linear both;animation-timeline:--n5;animation-range:cover 44% cover 63%}
}
}
@media (max-width:900px){
.kz.narr-on .narr{grid-template-columns:minmax(0,1fr);gap:0}
.kz .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 .ns{min-height:240px}
.kz .ns h3{font-size:19px}
}

/* Ajustements propres au site (après la maquette) */
/* Le site compte les marges intérieures dans la largeur : .wrap garde 1180 px utiles, comme la maquette. */
@media (max-width:820px){.kz .mnav .panel .btn-main{display:inline-flex}}

/* Menu principal : sous-menus (Services en colonnes par famille, Pour qui, Zones), au survol ou au clavier ; accordéons sur mobile. */
.kz .nav{align-items:center}
.kz .nav .has-sub{position:relative}
.kz .nav .has-sub>a{display:inline-flex;align-items:center;gap:6px;padding:26px 0}
.kz .nav .caret{transition:transform .2s ease}
.kz .nav .has-sub:hover .caret,.kz .nav .has-sub:focus-within .caret{transform:rotate(180deg)}
.kz .nav .sub{position:absolute;top:100%;left:-18px;min-width:280px;padding:12px;background:#fff;border-radius:18px;box-shadow:0 20px 40px rgba(20,57,74,.16);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility 0s .18s;z-index:40}
.kz .nav .has-sub:hover .sub,.kz .nav .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease}
.kz .nav .sub a{padding:10px 14px;border-radius:12px;font-size:15px;color:var(--nuit);white-space:nowrap}
.kz .nav .sub a:hover,.kz .nav .sub a:focus-visible{background:var(--sable);color:var(--terra-f)}
.kz .nav .sub a[aria-current="page"],.kz .mnav .panel a[aria-current="page"]{color:var(--terra-f)}
.kz .nav .sub-cols{flex-direction:row;gap:8px;padding:18px 14px;left:-24px}
.kz .nav .sub-col{display:flex;flex-direction:column;min-width:210px}
.kz .nav .sub-h{font-family:Lexend,sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--turq-f);padding:4px 14px 8px}
.kz .mnav .panel{max-height:calc(100vh - 120px);overflow-y:auto}
.kz .mnav .msub summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:0;padding:12px 14px;border:0;border-radius:12px;font-family:Lexend,sans-serif;font-weight:500;color:var(--nuit)}
.kz .mnav .msub summary:hover{background:var(--sable)}
.kz .mnav .msub a{display:block}
.kz .mnav .msub summary::-webkit-details-marker{display:none}
.kz .mnav .msub[open] summary .caret{transform:rotate(180deg)}
.kz .mnav .msub a{padding-left:28px;font-size:15px}
.kz .nav a,.kz .hdr .btn-main{white-space:nowrap}
@media (max-width:1100px){.kz .nav{display:none}.kz .mnav{display:block}.kz .hdr-in>.btn-main{margin-left:auto}}

/* Menu en pilule (18/10/2026, à la manière de Calepin) : la barre flotte au-dessus de la page,
   blanche et légèrement transparente (le contenu se devine dessous au défilement). */
.kz .hdr{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:14px 0 0;pointer-events:none}
.kz .hdr-in{pointer-events:auto;width:calc(100% - 32px);max-width:1244px;min-height:64px;margin:0 auto;padding:8px 8px 8px 32px;box-sizing:border-box;border-radius:999px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(20,57,74,.08);box-shadow:0 1px 2px rgba(20,57,74,.06),0 10px 30px rgba(20,57,74,.08);transition:box-shadow .3s ease,background .3s ease}
.kz .hdr.is-scrolled .hdr-in{background:rgba(255,255,255,.66);box-shadow:0 1px 2px rgba(20,57,74,.08),0 14px 36px rgba(20,57,74,.14)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.kz .hdr-in,.kz .hdr.is-scrolled .hdr-in{background:rgba(255,255,255,.96)}}
/* Liens du menu : petites pilules au survol. */
.kz .nav{gap:2px}
.kz .nav>a,.kz .nav .has-sub>a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;transition:background .2s ease,color .2s ease}
.kz .nav>a:hover,.kz .nav .has-sub:hover>a,.kz .nav .has-sub:focus-within>a{background:rgba(20,57,74,.06);color:var(--terra-f)}
.kz .nav>a[aria-current="page"]{background:var(--peche-l);color:#8A3412}
/* Sous-menus : détachés de la pilule ; une bande invisible garde le survol entre les deux. */
.kz .nav .sub{top:calc(100% + 18px)}
.kz .nav .sub::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.kz .hdr .btn-main{min-height:46px}
.kz .mnav summary{border-width:1px;border-color:rgba(20,57,74,.25);min-height:46px}
.kz .mnav .panel{top:62px;right:-8px}
@media (max-width:720px){.kz .hdr{padding-top:10px}.kz .hdr-in{width:calc(100% - 20px);min-height:58px;padding:6px 6px 6px 18px}.kz .mnav .panel{right:-6px;top:56px;max-width:calc(100vw - 20px)}}
