.kd,.ko-s{--ink:var(--kts-ink,#14161a);--sand:var(--kts-sand,#f4f0e8);--gray:var(--kts-gray,#6a6d72);--kiff:var(--kts-accent,#8ec5f0);--ease:cubic-bezier(.2,.7,.2,1);font-family:var(--f-body,"Inter Tight",system-ui,sans-serif);line-height:1.6;text-align:left}
.kd *,.kd *::before,.kd *::after,.ko-s *,.ko-s *::before,.ko-s *::after{box-sizing:border-box}
.kd{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:clip;color:#fff;isolation:isolate}
.kd h1,.kd p,.ko-s h2,.ko-s h3,.ko-s p,.ko-s ul{margin:0}
.kd a,.ko-s a{text-decoration:none}
.kd-w{max-width:1200px;margin:0 auto;padding:clamp(130px,17vh,180px) clamp(18px,4vw,36px) clamp(70px,10vh,110px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}
.kd-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--kiff);font:600 .78rem/1 var(--f-body,system-ui);letter-spacing:.14em;text-transform:uppercase}
.kd-eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.kd h1{font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;letter-spacing:-.02em;line-height:1.04;font-size:clamp(2.5rem,5.2vw,4.8rem);color:#fff;text-wrap:balance}
.kd h1 em{font-style:italic;color:var(--kiff);position:relative;white-space:nowrap}
.kd h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.09em;background:var(--kiff);border-radius:4px;transform:scaleX(0);transform-origin:left;animation:kd-under 1s .8s var(--ease) forwards}
@keyframes kd-under{to{transform:scaleX(1)}}
.kd-lead{margin-top:24px;max-width:540px;font-size:clamp(1.02rem,1.5vw,1.2rem);color:rgba(255,255,255,.74)}
.kd-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.kd-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;background:var(--kiff);border:1.5px solid var(--kiff);color:var(--ink)!important;font:700 1rem/1 var(--f-body,system-ui);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s}
.kd-btn i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--kiff);font-style:normal;transition:transform .35s var(--ease)}
.kd-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px var(--kiff)}
.kd-btn:hover i{transform:translateX(4px)}
.kd-btn--ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.35)}
.kd-btn--ghost i{background:rgba(255,255,255,.14);color:#fff}
.kd-btn--ghost:hover{background:rgba(255,255,255,.1);box-shadow:none}
.kd-btn--dark{background:var(--ink);border-color:var(--ink);color:#fff!important}
.kd-btn--dark i{background:var(--kiff);color:var(--ink)}
.kd-btn--dark:hover{box-shadow:0 18px 40px -16px color-mix(in srgb,var(--kts-ink,#14161a) 60%,transparent)}
.kd-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:.88rem;color:rgba(255,255,255,.62)}
.kd-trust span{display:inline-flex;align-items:center;gap:8px}
.kd-trust span::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 16%,transparent);color:var(--kiff);font-size:.72rem;font-weight:800}
.kd-js .kd-rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.kd-js .kd-rv.is-in{opacity:1;transform:none}

.kd-card{position:relative;max-width:440px;width:100%;margin-inline:auto;padding:26px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.2);box-shadow:0 50px 90px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.22)}
.kd-card h2{margin:0 0 4px;font:600 .74rem/1 var(--f-body,system-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kiff)}
.kd-card p{color:rgba(255,255,255,.62);font-size:.92rem}
.kd-off *,.kd-off *::before,.kd-off *::after{animation-play-state:paused!important}
.ko-chk{list-style:none;padding:0;display:grid;gap:13px;margin-top:20px}
.ko-chk li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:.97rem}
.ko-chk li::before{content:"✓";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 20%,transparent);color:var(--kiff);font-size:.72rem;font-weight:800}
.ko-s{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:clamp(64px,9vw,120px) clamp(18px,4vw,36px);overflow:clip}
.ko-s--sand{background:var(--sand);color:var(--ink)}
.ko-s--dark{background:var(--kts-dark,#0f1113);color:#fff}
.ko-s h2,.ko-s h3{color:inherit}
.ko-in{max-width:1180px;margin:0 auto;position:relative}
.ko-k{display:inline-block;margin-bottom:16px;font:700 .76rem/1 var(--f-body,system-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kts-accent-ink,#0b2a47)}
.ko-s--dark .ko-k{color:var(--kiff)}
.ko-h{font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;letter-spacing:-.02em;line-height:1.08;font-size:clamp(2rem,4vw,3.3rem);text-wrap:balance}
.ko-h em{font-style:italic;background:linear-gradient(transparent 62%,var(--kiff) 62%,var(--kiff) 92%,transparent 92%);padding:0 .08em}
.ko-s--dark .ko-h em{background:none;color:var(--kiff)}
.ko-s .ko-sub{margin-top:16px;max-width:640px;color:var(--gray);font-size:1.08rem}
.ko-s--dark .ko-sub{color:rgba(255,255,255,.68)}
.ko-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;align-items:stretch}
.ko-plan{position:relative;display:flex;flex-direction:column;padding:34px 30px 30px;border-radius:30px;background:#fff;border:1px solid color-mix(in srgb,var(--kts-ink,#14161a) 8%,transparent);box-shadow:0 34px 60px -42px color-mix(in srgb,var(--kts-ink,#14161a) 40%,transparent);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ko-plan:hover{transform:translateY(-6px);box-shadow:0 44px 70px -40px color-mix(in srgb,var(--kts-ink,#14161a) 50%,transparent)}
.ko-plan--pop{background:var(--kts-dark,#0f1113);color:#fff;border-color:transparent;transform:translateY(-14px);box-shadow:0 50px 80px -40px color-mix(in srgb,var(--kts-ink,#14161a) 70%,transparent)}
.ko-plan--pop:hover{transform:translateY(-20px)}
.ko-badge{position:absolute;top:-14px;left:30px;padding:8px 15px;border-radius:999px;background:var(--kiff);color:var(--ink);font:800 .7rem/1 var(--f-body,system-ui);letter-spacing:.1em;text-transform:uppercase}
.ko-name{font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;font-size:1.7rem;line-height:1.1}
.ko-s .ko-for{margin-top:6px;color:var(--gray);font-size:.95rem}
.ko-plan--pop .ko-for{color:rgba(255,255,255,.62)}
.ko-price{display:flex;align-items:baseline;gap:8px;margin:26px 0 4px;font-family:var(--f-heading,Fraunces,Georgia,serif);font-size:clamp(3rem,5vw,3.8rem);line-height:1;letter-spacing:-.03em}
.ko-price small{font:600 .85rem/1 var(--f-body,system-ui);letter-spacing:0;color:var(--gray)}
.ko-plan--pop .ko-price small{color:rgba(255,255,255,.6)}
.ko-time{font-size:.88rem;color:var(--gray)}
.ko-plan--pop .ko-time{color:rgba(255,255,255,.55)}
.ko-s .ko-list{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:12px;flex:1;font-size:.96rem}
.ko-list li{display:flex;gap:12px;align-items:flex-start}
.ko-list li::before{content:"✓";flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 60%,transparent);font-size:.68rem;font-weight:800}
.ko-plan--pop .ko-list li::before{background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 20%,transparent);color:var(--kiff)}
.ko-list li b{font-weight:700}
.ko-plan .kd-btn{justify-content:space-between;width:100%}
.ko-s .ko-note{margin-top:34px;text-align:center;color:var(--gray);font-size:.9rem}
.ko-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}
.ko-step{position:relative;padding:28px 24px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .4s var(--ease),background .3s}
.ko-step:hover{transform:translateY(-5px);background:rgba(255,255,255,.1)}
.ko-step b{display:block;font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;font-size:3rem;line-height:1;color:var(--kiff);margin-bottom:14px}
.ko-step h3{font:700 1.15rem/1.3 var(--f-body,system-ui);margin-bottom:8px}
.ko-step p{color:rgba(255,255,255,.66);font-size:.95rem}
.ko-step span{display:inline-block;margin-top:16px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 14%,transparent);color:var(--kiff);font-size:.78rem;font-weight:700}
.ko-two{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,64px);align-items:start;margin-top:48px}
.ko-opt{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid color-mix(in srgb,var(--kts-ink,#14161a) 13%,transparent)}
.ko-opt:first-child{border-top:1px solid color-mix(in srgb,var(--kts-ink,#14161a) 13%,transparent)}
.ko-opt span{display:block;font-weight:700}
.ko-opt small{display:block;color:var(--gray);font-size:.9rem;font-weight:400}
.ko-opt b{flex:none;font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;font-size:1.35rem;white-space:nowrap}
.ko-care{padding:32px 28px;border-radius:30px;background:var(--kts-dark,#0f1113);color:#fff;box-shadow:0 44px 70px -44px color-mix(in srgb,var(--kts-ink,#14161a) 70%,transparent)}
.ko-care h3{font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;font-size:1.6rem}
.ko-care .ko-price{margin:18px 0 4px}
.ko-care .ko-price small{color:rgba(255,255,255,.6)}
.ko-s .ko-care .ko-list{margin:20px 0 0}
.ko-care .ko-list li::before{background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 20%,transparent);color:var(--kiff)}
.ko-faq{margin-top:44px;display:grid;gap:12px;max-width:860px}
.ko-faq details{border-radius:22px;background:#fff;border:1px solid color-mix(in srgb,var(--kts-ink,#14161a) 8%,transparent);padding:0 26px;transition:box-shadow .3s}
.ko-faq details[open]{box-shadow:0 26px 50px -36px color-mix(in srgb,var(--kts-ink,#14161a) 50%,transparent)}
.ko-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-weight:700;font-size:1.05rem}
.ko-faq summary::-webkit-details-marker{display:none}
.ko-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sand);font-size:1.2rem;transition:transform .35s var(--ease),background .3s}
.ko-faq details[open] summary::after{transform:rotate(45deg);background:var(--kiff)}
.ko-faq details p{padding:0 0 24px;color:var(--gray)}
.ko-cta{text-align:center}
.ko-cta .ko-h{max-width:780px;margin:0 auto}
.ko-cta .ko-sub{margin-inline:auto}
.ko-cta .kd-cta{justify-content:center}
.ko-s .ko-tl{position:relative;margin-top:50px;display:grid;gap:34px;max-width:860px}
.ko-tl::before{content:"";position:absolute;left:21px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--kiff),color-mix(in srgb,var(--kts-ink,#14161a) 12%,transparent))}
.ko-ch{position:relative;padding-left:70px}
.ko-ch::before{content:attr(data-n);position:absolute;left:0;top:0;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--kiff);font:700 .95rem/1 var(--f-body,system-ui)}
.ko-ch h3{font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;font-size:1.6rem;line-height:1.2;margin-bottom:8px}
.ko-ch p{color:#4a4d52;font-size:1.04rem}
.ko-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.ko-val{padding:30px 26px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .4s var(--ease),background .3s}
.ko-val:hover{transform:translateY(-5px);background:rgba(255,255,255,.1)}
.ko-val i{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:14px;background:color-mix(in srgb,var(--kts-accent,#8ec5f0) 16%,transparent);font-style:normal;font-size:1.3rem}
.ko-val h3{font:700 1.15rem/1.3 var(--f-body,system-ui);margin-bottom:8px}
.ko-val p{color:rgba(255,255,255,.66);font-size:.96rem}
.ko-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.ko-chips span{padding:13px 20px;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--kts-ink,#14161a) 10%,transparent);font-weight:600;font-size:.97rem;transition:transform .3s var(--ease),background .3s}
.ko-chips span:hover{transform:translateY(-3px) rotate(-1.5deg);background:var(--kiff)}
.ko-me{position:relative;display:grid;place-items:center;width:150px;height:150px;margin:0 auto 22px}
.ko-me::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px dashed color-mix(in srgb,var(--kts-accent,#8ec5f0) 55%,transparent);animation:ko-spin 24s linear infinite}
@keyframes ko-spin{to{transform:rotate(360deg)}}
.ko-me b{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,#5fa4dc,var(--kiff));color:var(--ink);font-family:var(--f-heading,Fraunces,Georgia,serif);font-weight:500;font-size:4.4rem;line-height:1}
.ko-id{text-align:center}
.ko-id h2{margin:0 0 4px!important;font:600 1.5rem/1.2 var(--f-heading,Fraunces,Georgia,serif)!important;letter-spacing:0!important;text-transform:none!important;color:#fff!important}
.ko-id p{color:rgba(255,255,255,.62)}
.ko-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.ko-facts div{padding:12px 6px;border-radius:16px;background:rgba(255,255,255,.07);font-size:.8rem;color:rgba(255,255,255,.62);text-align:center;line-height:1.3}
.ko-facts b{display:block;font:500 1.5rem/1.1 var(--f-heading,Fraunces,Georgia,serif);color:var(--kiff)}
@media (max-width:980px){.kd-w{grid-template-columns:1fr}.kd-card{margin-top:10px}.ko-plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.ko-plan--pop{transform:none}.ko-plan--pop:hover{transform:translateY(-6px)}.ko-steps{grid-template-columns:1fr 1fr}.ko-two{grid-template-columns:1fr}.ko-vals{grid-template-columns:1fr}}
@media (max-width:620px){.kd-cta .kd-btn{width:100%;justify-content:space-between}.ko-steps{grid-template-columns:1fr}.ko-opt{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.kd *,.kd *::before,.kd *::after,.ko-s *,.ko-s *::before,.ko-s *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.kd-rv{opacity:1;transform:none}}
.ktsp-block{opacity:1!important;transform:none!important}
.ko-price--btn{cursor:pointer;border-radius:14px;transition:transform .3s var(--ease)}
.ko-price--btn:hover{transform:translateX(3px)}
.ko-price--btn:focus-visible{outline:2px solid var(--kiff);outline-offset:6px}
.ko-plan .ko-cust{align-self:flex-start;margin:6px 0 2px;padding:0;border:0;background:none;color:inherit;font:600 .85rem/1.2 var(--f-body,system-ui);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(127,127,127,.5);cursor:pointer;opacity:.8}
.ko-plan .ko-cust:hover{opacity:1}
.ko-plan .ko-cust i{font-style:normal}
.ko-lock{overflow:hidden}
.ko-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .25s}
.ko-modal[hidden]{display:none}
.ko-modal.is-on{opacity:1}
.ko-modal__bg{position:absolute;inset:0;background:color-mix(in srgb,var(--kts-dark,#0f1113) 55%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ko-modal__box{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;padding:34px 30px 28px;border-radius:30px;background:#fff;color:var(--kts-ink,#14161a);box-shadow:0 60px 100px -30px rgba(0,0,0,.6);transform:translateY(18px) scale(.97);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ko-modal.is-on .ko-modal__box{transform:none}
.ko-modal__x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:color-mix(in srgb,var(--kts-ink,#14161a) 7%,transparent);color:var(--kts-ink,#14161a);font-size:15px;cursor:pointer}
.ko-modal h3{margin:6px 0 4px;font-size:1.9rem;line-height:1.1;color:var(--kts-ink,#14161a)}
.ko-modal h3 em{font-style:italic}
.ko-modal .ko-k{display:block;font:700 .72rem/1 var(--f-body,system-ui);letter-spacing:.14em;text-transform:uppercase;color:#6b7280}
.ko-modal .ko-m-sub{margin:0 0 20px;color:#6b7280;font-size:.95rem}
.ko-m-row{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:14px}
.ko-m-b{width:52px;height:52px;border-radius:50%;border:1px solid color-mix(in srgb,var(--kts-ink,#14161a) 15%,transparent);background:#fff;color:var(--kts-ink,#14161a);font-size:26px;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.ko-m-b:hover{background:var(--kts-accent,#8ec5f0);transform:scale(1.06)}
.ko-m-n{min-width:92px;text-align:center}
.ko-m-n b{display:block;font-family:var(--f-heading,Fraunces,Georgia,serif);font-size:3.2rem;line-height:1;font-weight:600}
.ko-m-n span{font-size:.85rem;color:#6b7280}
#ko-m-r{width:100%;accent-color:var(--kts-ink,#14161a);margin:4px 0 6px}
.ko-modal .ko-m-inc{margin:6px 0 18px;text-align:center;color:#6b7280;font-size:.9rem;min-height:1.3em}
.ko-m-tot{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:18px;border-radius:20px;background:#f3f1ea}
.ko-m-tot small{font:600 .8rem/1 var(--f-body,system-ui);color:#6b7280;text-transform:uppercase;letter-spacing:.1em}
.ko-m-tot b{font-family:var(--f-heading,Fraunces,Georgia,serif);font-size:2.8rem;line-height:1;letter-spacing:-.02em}
.ko-m-tot span{font-weight:600;color:#6b7280}
.ko-modal .ko-m-note{margin:14px 0 18px;text-align:center;color:#6b7280;font-size:.82rem;line-height:1.45}
.ko-modal .kd-btn{width:100%;justify-content:space-between;background:var(--kts-ink,#14161a);color:#fff}
.ko-modal .kd-btn,.ko-modal .kd-btn i{color:#fff!important}.ko-modal .kd-btn:hover{background:#2a2e33}
.ko-m-tot{flex-wrap:wrap}.ko-m-tot span{white-space:nowrap}.ko-modal .kd-btn{text-decoration:none!important}

.ko-me img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* Le grand bandeau animé n'existe que dans le thème Ébène. Ailleurs : introduction simple. */
body:not(.kts-ebene) .kd,
body:not(.kts-ebene) .kh-hero { display: none !important; }
body:not(.kts-ebene) #kd-form .ktsd-hero,
body:not(.kts-ebene) #kd-form .ktsc__head { display: block !important; }
.ko-plain { max-width: 1100px; margin: 0 auto; padding: clamp(40px, 6vw, 80px) clamp(18px, 4vw, 36px) clamp(24px, 4vw, 48px); text-align: center; }
.ko-plain__t { margin: 0 0 16px; }
.ko-plain__lead { max-width: 680px; margin: 0 auto 24px; opacity: .8; font-size: 1.1em; }
.ko-plain__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.ko-plain__list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; margin: 28px 0 0; padding: 0; opacity: .75; font-size: .95em; }
.ko-plain__list li::before { content: "✓ "; font-weight: 700; }
.ko-plain { padding-top: calc(var(--header-only, 82px) + clamp(28px, 5vw, 64px)); }

/* 1.5.4 — bandeau défilant net : le défilement est piloté en JS (aucune couche graphique), le texte incliné est dessiné directement */
body .kh .kh-mq__t.is-js{animation:none;will-change:auto}
body .kh .kh-mq{-webkit-font-smoothing:antialiased}
