/* ======================================================================
   POLICES AUTO-HEBERGEES
   Avant : 3 familles chargees depuis fonts.googleapis.com, en blocage
   d'affichage (2 180 ms d'apres PageSpeed). Marcellus etait chargee sans
   jamais servir. Ne restent que les 2 familles reellement utilisees, en
   version variable (400 a 800 en un seul fichier), latin uniquement,
   servies depuis le domaine du site.
   ====================================================================== */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap; src: url(fonts/bricolage-grotesque-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap; src: url(fonts/bricolage-grotesque.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: 'Inter'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(fonts/inter-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(fonts/inter.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; }

:root{
  --ink:#0B113E; --navy:#0B113E; --navy-2:#0e1730; --panel:#16203c; --panel-2:#1d2b4d;
  --gold:#D0A94F; --gold-text:#83672F; --gold-2:#dcc08c; --gold-d:#BC9640;
  --blue:#0e6b8f; --cyan:#0F9CBF;
  --bg-warm:#F7F4EF; --bg-warm-2:#FBF9F5;
  --font-display:'Bricolage Grotesque','Inter',sans-serif;
  --line:rgba(11,17,62,.10);
  --shadow-lg:0 30px 70px -28px rgba(11,17,62,.64);
  --shadow-md:0 18px 44px -22px rgba(11,17,62,.35);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
input,select,textarea{font-family:inherit;font-size:15px;}
::selection{background:var(--gold);color:var(--ink);}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px;}

.kkw-container{max-width:1200px;margin:0 auto;padding:0 24px;width:100%;}

/* Entrée animée — ROBUSTE : l'opacité reste à 1 au repos, seule une translation
   est animée. Dans tout contexte où la timeline d'animation est gelée (onglet en
   arrière-plan, impression, rendu non-peint), le contenu reste VISIBLE — jamais de
   page blanche. La translation se règle sur sa valeur finale via fill-mode both. */
.kkw-reveal{animation-name:kkwReveal;animation-duration:.8s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both;}
@keyframes kkwReveal{from{transform:translateY(var(--kkw-ry,22px));}to{transform:none;}}
@media (prefers-reduced-motion:reduce){.kkw-reveal{animation:none!important;}}

.kkw-section{padding:96px 0;}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.h2{font-family:var(--font-display);font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.08;margin:14px 0 0;letter-spacing:-.01em;}

/* ---------- Boutons ---------- */
.kkw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;border-radius:999px;padding:11px 22px;min-height:44px;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s;white-space:nowrap;}
.kkw-btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 8px 22px -10px var(--gold);}
.kkw-btn-gold:hover{background:var(--gold-d);transform:translateY(-1px);box-shadow:0 14px 30px -12px var(--gold);}
.kkw-btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(6px);}
.kkw-btn-ghost:hover{background:rgba(255,255,255,.14);}
.kkw-btn-lg{padding:15px 30px;min-height:52px;font-size:15px;}
.kkw-hero-cta-main{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:var(--ink);font-weight:700;font-size:15px;border-radius:999px;padding:16px 28px;min-height:54px;box-shadow:0 14px 34px -12px var(--gold);transition:transform .2s,box-shadow .2s,background .2s;}
.kkw-hero-cta-main:hover{transform:translateY(-2px);background:var(--gold-d);box-shadow:0 20px 44px -14px var(--gold);}

/* ---------- Header ---------- */
.kkw-header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s,box-shadow .3s,backdrop-filter .3s;}
.kkw-header.is-scrolled,.kkw-header--solide{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line),0 10px 30px -22px rgba(11,17,62,.62);}
/* Un header solide n'est jamais transparent : les regles "pas encore defile",
   qui mettent le logo et les liens en blanc, ne doivent pas s'y appliquer. */
.kkw-header--solide .kkw-nav-link{color:var(--ink) !important;}
.kkw-header--solide .kkw-phone{color:var(--ink) !important;}
.kkw-header--solide .kkw-burger{color:var(--ink) !important;}
.kkw-header--solide .kkw-nav-link.is-current{color:var(--gold) !important;}
.kkw-header-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.kkw-logo{display:flex;align-items:center;cursor:pointer;flex:0 0 auto;}
/* Le logo etait comprime par le flex du header : affiche en ratio 2,62 alors que
   le fichier fait 3,00, donc legerement ecrase. flex-shrink:0 empeche la
   compression, object-fit garantit le ratio en toute circonstance. */
.kkw-logo img{height:42px;width:auto;flex:0 0 auto;object-fit:contain;}
.kkw-nav{display:flex;align-items:center;gap:2px;}
.kkw-nav-link{font-size:14px;font-weight:500;color:var(--ink);padding:9px 13px;border-radius:9px;transition:color .2s,background .2s;}
.kkw-header:not(.is-scrolled) .kkw-nav-link{color:rgba(255,255,255,.92);}
.kkw-header:not(.is-scrolled) .kkw-phone{color:#fff;}
.kkw-nav-link:hover{color:var(--gold);background:rgba(11,17,62,.05);}
.kkw-header:not(.is-scrolled) .kkw-nav-link:hover{background:rgba(255,255,255,.12);color:#fff;}
.kkw-header-cta{display:flex;align-items:center;gap:14px;}
.kkw-phone{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink);transition:color .2s;white-space:nowrap;}
.kkw-phone:hover{color:var(--cyan);}
.kkw-burger{display:none;color:var(--ink);padding:6px;}
.kkw-header:not(.is-scrolled) .kkw-burger{color:#fff;}
.kkw-mobile-menu{display:none;background:rgba(8,14,30,.97);backdrop-filter:blur(14px);padding:14px 24px 22px;flex-direction:column;gap:4px;}
.kkw-mobile-link{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.88);font-size:16px;font-weight:500;padding:12px 4px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);}

/* ---------- Hero communs ---------- */
.kkw-hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;}
.kkw-h1{font-family:var(--font-display);font-size:clamp(34px,5.2vw,64px);font-weight:800;line-height:1.03;letter-spacing:-.02em;color:#fff;margin:18px 0 0;}
.kkw-h1 em{font-style:normal;color:var(--gold);}
.kkw-h1-xl{font-size:clamp(38px,6vw,76px);}
.kkw-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(208,169,79,.4);border-radius:999px;padding:7px 15px;background:rgba(11,17,62,.62);backdrop-filter:blur(6px);}
.kkw-hero-sub{color:rgba(255,255,255,.78);font-size:clamp(15px,1.5vw,18px);line-height:1.65;margin:22px 0 0;max-width:30em;text-wrap:pretty;}
.kkw-hero-sub-dark{color:rgba(11,17,62,.66);}
.kkw-hero-meta{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap;}
.kkw-hero-meta-div{width:1px;height:34px;background:rgba(255,255,255,.18);}
.kkw-hero-stat strong{display:block;font-family:var(--font-display);font-size:22px;font-weight:800;color:#fff;line-height:1;}
.kkw-hero-stat span{font-size:12px;color:rgba(255,255,255,.55);}
.kkw-hero-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.68);animation:kkwbob 1.8s ease-in-out infinite;}
@keyframes kkwbob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,7px);}}

/* Hero A — split */
.kkw-hero-split{background:var(--navy);}
.kkw-hero-bg{position:absolute;inset:0;background:
  radial-gradient(1200px 600px at 78% 18%,rgba(15,156,191,.16),transparent 60%),
  radial-gradient(900px 700px at 10% 90%,rgba(208,169,79,.12),transparent 60%),
  linear-gradient(135deg,#0a1124 0%,#0d1730 55%,#0a1228 100%);}
.kkw-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;padding-top:90px;padding-bottom:60px;}
.kkw-hero-cards{display:flex;flex-direction:column;gap:14px;}
.kkw-hero-cards-label{color:rgba(255,255,255,.68);font-size:13px;font-weight:600;letter-spacing:.04em;margin:0 0 2px;}
.kkw-entry{position:relative;display:block;height:118px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);text-align:left;transition:transform .25s,border-color .25s,box-shadow .25s;}
.kkw-entry img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.kkw-entry-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,28,.92) 0%,rgba(8,13,28,.62) 55%,rgba(8,13,28,.25) 100%);transition:background .25s;}
.kkw-entry.is-active{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 22px 46px -22px rgba(0,0,0,.7);}
.kkw-entry.is-active img{transform:scale(1.06);}
.kkw-entry.is-active .kkw-entry-veil{background:linear-gradient(90deg,rgba(10,15,32,.9) 0%,rgba(10,15,32,.45) 60%,rgba(208,169,79,.18) 100%);}
.kkw-entry-body{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:14px;padding:0 20px;}
.kkw-entry-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(208,169,79,.18);border:1px solid rgba(208,169,79,.4);color:var(--gold);}
.kkw-entry-title{font-family:var(--font-display);font-size:19px;font-weight:700;color:#fff;}
.kkw-entry-sub{font-size:13px;color:rgba(255,255,255,.6);margin-top:2px;}
.kkw-entry-go{margin-left:auto;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;transition:background .25s,transform .25s;}
.kkw-entry.is-active .kkw-entry-go{background:var(--gold);transform:translateX(3px);}
.kkw-hero-cta-main+*{}

/* Hero B — cinematic */
.kkw-hero-cine{background:#070c18;}
.kkw-cine-bg{position:absolute;inset:0;}
.kkw-cine-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity 1.3s ease,transform 6.5s ease;}
.kkw-cine-bg img.is-active{opacity:1;transform:scale(1);}
.kkw-cine-veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(7,12,24,.92) 0%,rgba(7,12,24,.74) 42%,rgba(7,12,24,.30) 100%),linear-gradient(0deg,rgba(7,12,24,.7),transparent 45%);}
.kkw-cine-content{position:relative;z-index:2;padding-top:96px;max-width:760px;}
.kkw-cine-content .kkw-aud-toggle{margin-bottom:24px;}
.kkw-cine-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.kkw-cine-meta{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap;}
.kkw-cine-dots{position:absolute;bottom:26px;right:30px;z-index:3;display:flex;gap:7px;}
.kkw-cine-dots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.4);cursor:pointer;transition:width .3s,background .3s;}
.kkw-cine-dots span.is-active{width:26px;background:var(--gold);}

/* Hero C — editorial */
.kkw-hero-edito{background:var(--bg-warm);min-height:auto;padding:118px 0 70px;}
.kkw-edito-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;}
.kkw-h1-edito{color:var(--ink);font-size:clamp(36px,5vw,62px);}
.kkw-h1-edito em{color:var(--gold);}
.kkw-edito-actions{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap;}
.kkw-edito-phone{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:15px;}
.kkw-edito-phone:hover{color:var(--cyan);}
.kkw-edito-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;border-top:1px solid var(--line);padding-top:24px;}
.kkw-edito-stat strong{display:block;font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--ink);line-height:1;}
.kkw-edito-stat span{font-size:12px;color:rgba(11,17,62,.66);margin-top:5px;display:block;}
.kkw-edito-right{position:relative;}
.kkw-edito-img{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;}
.kkw-edito-img img{width:100%;height:100%;object-fit:cover;}
.kkw-edito-badge{position:absolute;left:-22px;bottom:30px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:var(--shadow-md);}

/* AudienceToggle */
.kkw-aud-toggle{position:relative;display:inline-flex;background:rgba(11,17,62,.06);border:1px solid var(--line);border-radius:999px;padding:5px;gap:0;}
.kkw-aud-toggle.is-light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);backdrop-filter:blur(6px);}
.kkw-aud-toggle button{position:relative;z-index:2;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;color:rgba(11,17,62,.6);transition:color .25s;}
.kkw-aud-toggle.is-light button{color:rgba(255,255,255,.7);}
.kkw-aud-toggle button.is-active{color:#fff;}
.kkw-aud-glider{position:absolute;top:5px;left:5px;width:calc(50% - 5px);height:calc(100% - 10px);background:var(--gold);border-radius:999px;transition:transform .32s cubic-bezier(.7,0,.2,1);box-shadow:0 6px 16px -8px var(--gold);}

/* Google badge */
.kkw-google{display:inline-flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 15px;box-shadow:var(--shadow-md);}
.kkw-google-g{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:18px;background:conic-gradient(from -45deg,#4285F4,#34A853,#FBBC05,#EA4335,#4285F4);color:#fff;}

/* Trust strip */
.kkw-trust{background:var(--navy);border-top:1px solid rgba(255,255,255,.06);}
.kkw-trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:26px 24px;}
.kkw-trust-item{display:flex;align-items:center;gap:14px;justify-content:center;}
.kkw-trust-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(208,169,79,.14);border:1px solid rgba(208,169,79,.3);color:var(--gold);}
.kkw-trust-val{font-family:var(--font-display);font-size:21px;font-weight:800;color:#fff;line-height:1;}
.kkw-trust-lab{font-size:12.5px;color:rgba(255,255,255,.56);margin-top:3px;}

/* How it works */
.kkw-how{background:var(--bg-warm-2);}
.kkw-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;}
.kkw-how-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 28px 30px;box-shadow:var(--shadow-md);}
.kkw-how-n{position:absolute;top:24px;right:26px;font-family:var(--font-display);font-size:46px;font-weight:800;color:rgba(208,169,79,.16);line-height:1;}
.kkw-how-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);margin-bottom:18px;}
.kkw-how-card h3{font-family:var(--font-display);font-size:19px;font-weight:700;margin:0 0 8px;}
.kkw-how-card p{margin:0;color:rgba(11,17,62,.6);font-size:14.5px;line-height:1.6;}

/* Services */
.kkw-services{background:#fff;}
.kkw-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:54px;}
.kkw-service{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);transition:transform .3s,box-shadow .3s;}
.kkw-service:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.kkw-service.is-featured{border-color:rgba(208,169,79,.6);}
.kkw-service-media{position:relative;aspect-ratio:5/4;overflow:hidden;}
.kkw-service-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.kkw-service:hover .kkw-service-media img{transform:scale(1.07);}
.kkw-service-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,17,62,.32),transparent 55%);}
.kkw-service-match{position:absolute;top:13px;left:13px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--cyan);color:var(--ink);padding:5px 10px;border-radius:999px;white-space:nowrap;}
.kkw-service-pop{position:absolute;top:13px;right:13px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.04em;background:var(--gold);color:var(--ink);padding:5px 10px;border-radius:999px;white-space:nowrap;}
.kkw-service-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;}
.kkw-service-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.kkw-service-body h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 9px;line-height:1.2;}
.kkw-service-body p{margin:0 0 16px;color:rgba(11,17,62,.6);font-size:14px;line-height:1.55;flex:1;}
.kkw-service-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--gold-text);align-self:flex-start;transition:gap .2s;}
.kkw-service-link:hover{gap:11px;}

/* Estimateur + champs partagés */
.kkw-estim{background:var(--navy);}
.kkw-estim-card{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;margin-top:48px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:30px;box-shadow:var(--shadow-lg);}
.kkw-mini-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-bottom:11px;}
.kkw-pills{display:flex;flex-wrap:wrap;gap:9px;}
.kkw-pill{font-size:13.5px;font-weight:600;padding:10px 15px;min-height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:all .18s;display:inline-flex;align-items:center;gap:6px;}
.kkw-pills-dark .kkw-pill{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.82);}
.kkw-pill:hover{border-color:var(--gold);}
.kkw-pill.is-active{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 8px 20px -10px var(--gold);}
.kkw-pill-star{color:#fff;font-size:11px;}
.kkw-pills:not(.kkw-pills-dark) .kkw-pill.is-active .kkw-pill-star{color:#fff;}
.kkw-seg{display:flex;gap:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:5px;}
.kkw-seg:not(.kkw-seg-dark){background:rgba(11,17,62,.05);border-color:var(--line);}
.kkw-seg button{flex:1;font-size:13.5px;font-weight:600;padding:10px;min-height:42px;border-radius:9px;color:rgba(255,255,255,.7);transition:all .18s;}
.kkw-seg:not(.kkw-seg-dark) button{color:rgba(11,17,62,.6);}
.kkw-seg button.is-active{background:var(--gold);color:var(--ink);box-shadow:0 6px 16px -8px var(--gold);}
.kkw-feat{display:flex;flex-direction:column;gap:8px;}
.kkw-feat li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:rgba(11,17,62,.66);line-height:1.4;}
.kkw-estim-result .kkw-feat li,.kkw-estimate .kkw-feat li{color:rgba(255,255,255,.72);}
.kkw-estim-result{background:var(--navy);border:1px solid rgba(208,169,79,.28);border-radius:20px;padding:26px;display:flex;flex-direction:column;}
.kkw-estimate-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.68);}
.kkw-estim-price{font-family:var(--font-display);font-size:42px;font-weight:800;color:var(--gold-text);line-height:1;margin:8px 0 6px;}
.kkw-estimate-tag{font-size:13px;color:rgba(255,255,255,.55);}
.kkw-estim-note{font-size:11.5px;color:rgba(255,255,255,.4);text-align:center;margin:12px 0 0;}

/* Avant / Après */
.kkw-ba-section{background:var(--bg-warm-2);}
.kkw-ba-stage{margin-top:48px;max-width:880px;margin-left:auto;margin-right:auto;}
.kkw-ba{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);user-select:none;cursor:ew-resize;touch-action:none;}
.kkw-ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.kkw-ba-after{position:absolute;inset:0;}
.kkw-ba-tag{position:absolute;top:16px;z-index:3;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px);}
.kkw-ba-tag-before{right:16px;background:rgba(11,17,62,.72);color:#fff;}
.kkw-ba-tag-after{left:16px;background:var(--gold);color:var(--ink);}
.kkw-ba-handle{position:absolute;top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);z-index:4;box-shadow:0 0 0 1px rgba(11,17,62,.1);}
.kkw-ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--shadow-md);}
.kkw-ba-caption{text-align:center;font-size:14px;color:rgba(11,17,62,.6);margin:18px 0 0;font-weight:500;}
.kkw-ba-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:rgba(11,17,62,.64);margin:14px 0 0;}
.kkw-ba-note svg{color:var(--gold);}
.kkw-ba-thumbs{display:flex;gap:10px;justify-content:center;margin-top:16px;}
.kkw-ba-thumb{width:64px;height:48px;border-radius:11px;overflow:hidden;border:2px solid transparent;opacity:.6;transition:all .2s;}
.kkw-ba-thumb img{width:100%;height:100%;object-fit:cover;}
.kkw-ba-thumb.is-active{border-color:var(--gold);opacity:1;}

/* Abonnements */
.kkw-abo{background:var(--navy);}
.kkw-abo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px;align-items:stretch;}
.kkw-abo-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 24px;display:flex;flex-direction:column;}
.kkw-abo-card.is-popular{background:linear-gradient(180deg,#10192f,#0b1326);border:1px solid var(--gold);box-shadow:0 30px 60px -24px rgba(0,0,0,.7);transform:translateY(-10px);}
.kkw-abo-pop{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--gold);color:var(--ink);padding:6px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 18px -8px var(--gold);}
.kkw-abo-disc{align-self:flex-start;font-size:13px;font-weight:800;color:var(--gold);background:rgba(208,169,79,.12);border:1px solid rgba(208,169,79,.3);padding:3px 11px;border-radius:999px;}
.kkw-abo-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(15,156,191,.1);color:var(--cyan);margin:18px 0 12px;}
.kkw-abo-card.is-popular .kkw-abo-icon{background:rgba(208,169,79,.16);color:var(--gold);}
.kkw-abo-name{font-family:var(--font-display);font-size:24px;font-weight:800;margin:0;color:var(--ink);}
.kkw-abo-card.is-popular .kkw-abo-name{color:#fff;}
.kkw-abo-cadence{font-size:13px;color:rgba(11,17,62,.66);margin:4px 0 18px;}
.kkw-abo-card.is-popular .kkw-abo-cadence{color:rgba(255,255,255,.55);}
.kkw-abo-grid-3{grid-template-columns:repeat(3,1fr);max-width:1000px;margin-left:auto;margin-right:auto;}
.kkw-abo-tagline{font-size:14px;font-weight:600;line-height:1.4;color:var(--gold-d);margin:0 0 16px;text-wrap:pretty;}
.kkw-abo-card.is-popular .kkw-abo-tagline{color:var(--gold-2);}
.kkw-abo-feat{display:flex;flex-direction:column;gap:11px;flex:1;margin-bottom:22px;}
.kkw-abo-feat li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.4;color:rgba(11,17,62,.72);}
.kkw-abo-feat li svg{flex:0 0 auto;color:var(--cyan);margin-top:1px;}
.kkw-abo-card.is-popular .kkw-abo-feat li{color:rgba(255,255,255,.82);}
.kkw-abo-card.is-popular .kkw-abo-feat li svg{color:var(--gold);}
.kkw-abo-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:700;padding:13px;min-height:48px;border-radius:12px;border:1px solid var(--line);color:var(--ink);transition:all .2s;}
.kkw-abo-btn:hover{border-color:var(--gold);color:var(--gold);}
.kkw-abo-btn.is-gold{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.kkw-abo-btn.is-gold:hover{background:var(--gold-d);color:#fff;}

/* Avis */
.kkw-avis{background:#fff;}
.kkw-avis-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:46px;}
.kkw-avis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.kkw-avis-card{position:relative;background:var(--bg-warm-2);border:1px solid var(--line);border-radius:20px;padding:26px 24px;display:flex;flex-direction:column;gap:13px;}
.kkw-avis-quote{color:rgba(208,169,79,.3);position:absolute;top:20px;right:20px;}
.kkw-avis-text{font-size:14.5px;line-height:1.6;color:rgba(11,17,62,.78);margin:0;flex:1;text-wrap:pretty;}
.kkw-avis-author{display:flex;align-items:center;gap:12px;}
.kkw-avis-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:18px;color:#fff;}
.kkw-avis-name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px;}
.kkw-avis-pro{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--cyan);color:var(--ink);padding:2px 7px;border-radius:999px;}
.kkw-avis-meta{font-size:12.5px;color:rgba(11,17,62,.64);}
.kkw-partners{margin-top:70px;}
.kkw-partners-label{text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,17,62,.62);margin:0 0 26px;}
.kkw-marquee-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.kkw-marquee{display:flex;width:max-content;gap:54px;animation:kkwmarq 38s linear infinite;}
.kkw-marquee:hover{animation-play-state:paused;}
@keyframes kkwmarq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.kkw-partner{flex:0 0 auto;height:56px;display:flex;align-items:center;}
.kkw-partner img{height:100%;width:auto;object-fit:contain;opacity:1;transition:transform .3s;}
.kkw-partner img:hover{transform:scale(1.05);}

/* Final CTA */
.kkw-final{background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);position:relative;overflow:hidden;}
.kkw-final::after{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 80% 10%,rgba(208,169,79,.18),transparent 60%);pointer-events:none;}
.kkw-final-inner{position:relative;z-index:2;text-align:center;max-width:680px;}
.kkw-final-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:13px;font-weight:600;letter-spacing:.04em;}
.kkw-final-title{font-family:var(--font-display);font-size:clamp(30px,4vw,46px);font-weight:800;color:#fff;margin:16px 0 0;letter-spacing:-.01em;line-height:1.08;}
.kkw-final-sub{color:rgba(255,255,255,.7);font-size:16px;margin:18px 0 0;}
.kkw-final-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:34px;flex-wrap:wrap;}
.kkw-final-cta{font-size:16px;padding:17px 32px;}
.kkw-final-phone{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:16px;}
.kkw-final-phone:hover{color:var(--gold);}
.kkw-wa-fab{position:fixed;right:22px;bottom:22px;z-index:58;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#1FA855;color:#fff;border-radius:50%;box-shadow:0 16px 36px -12px rgba(31,168,85,.75),0 4px 12px -4px rgba(0,0,0,.3);transition:transform .2s,background .2s,box-shadow .2s;}
.kkw-wa-fab:hover{background:#178f47;transform:translateY(-2px);box-shadow:0 22px 46px -14px rgba(31,168,85,.85);}
.kkw-wa-fab svg{flex-shrink:0;}

/* Footer */
.kkw-footer{background:#070c18;padding:64px 0 28px;}
.kkw-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.kkw-footer-logo{height:64px;width:auto;margin-bottom:16px;}
.kkw-footer-about{color:rgba(255,255,255,.68);font-size:14px;line-height:1.65;margin:0 0 18px;max-width:30ch;}
.kkw-footer-social{display:flex;gap:10px;}
.kkw-footer-social a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;transition:background .2s;}
.kkw-footer-social a:hover{background:var(--gold);}
.kkw-footer h3{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;}
.kkw-footer ul li{color:rgba(255,255,255,.68);font-size:14px;padding:5px 0;}
.kkw-footer ul li a{display:inline-flex;align-items:center;gap:7px;transition:color .2s;}
.kkw-footer ul li a:hover{color:#fff;}
.kkw-footer-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07);margin-top:48px;padding-top:24px;color:rgba(255,255,255,.55);font-size:12.5px;}

/* Floating CTA mobile */
.kkw-floating{display:none;position:fixed;bottom:0;left:0;right:0;z-index:55;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;background:rgba(8,13,28,.94);backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.1);}
.kkw-floating-call,.kkw-floating-devis{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;padding:14px;min-height:50px;border-radius:13px;}
.kkw-floating-call{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);}
.kkw-floating-devis{background:var(--gold);color:var(--ink);}

/* ---------- Devis modal ---------- */
.kkw-overlay{position:fixed;inset:0;z-index:80;background:rgba(6,10,22,.66);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:34px 18px;overflow-y:auto;animation:kkwfade .25s ease;}
@keyframes kkwfade{from{opacity:0;}to{opacity:1;}}
.kkw-modal{position:relative;width:100%;max-width:560px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);animation:kkwpop .32s cubic-bezier(.22,1,.36,1);margin:auto;}
.kkw-modal.is-express{max-width:860px;}
@keyframes kkwpop{from{opacity:0;transform:translateY(20px) scale(.98);}to{opacity:1;transform:none;}}
.kkw-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;background:var(--navy);color:#fff;}
.kkw-modal-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.kkw-modal-brand strong{display:block;font-family:var(--font-display);font-size:17px;font-weight:700;margin-top:3px;}
.kkw-modal-x{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.1);transition:background .2s;}
.kkw-modal-x:hover{background:rgba(255,255,255,.2);}
.kkw-modal-progress{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 0;}
.kkw-dots{display:flex;gap:7px;}
.kkw-dot{width:30px;height:5px;border-radius:999px;background:rgba(11,17,62,.12);transition:background .3s;}
.kkw-dot.is-active{background:var(--gold);}
.kkw-dot.is-done{background:var(--cyan);}
.kkw-step-count{font-size:12px;font-weight:600;color:rgba(11,17,62,.64);}
.kkw-modal-body{padding:22px 24px 8px;}
.kkw-step-title{font-family:var(--font-display);font-size:23px;font-weight:700;margin:0;}
.kkw-step-sub{color:rgba(11,17,62,.66);font-size:14px;margin:6px 0 20px;}
.kkw-step-anim{animation:kkwstep .35s ease;}
@keyframes kkwstep{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:none;}}
.kkw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.kkw-choice{display:flex;align-items:center;gap:13px;padding:16px;border-radius:15px;border:1.5px solid var(--line);background:#fff;transition:all .2s;text-align:left;width:100%;}
.kkw-choice:hover{border-color:var(--gold);}
.kkw-choice.is-active{border-color:var(--gold);background:rgba(208,169,79,.06);}
.kkw-choice-t{display:block;font-weight:700;font-size:15px;line-height:1.3;}
.kkw-choice-s{display:block;font-size:12.5px;color:rgba(11,17,62,.66);margin-top:3px;line-height:1.35;}
.kkw-choice-radio{margin-left:auto;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;transition:all .2s;}
.kkw-choice.is-active .kkw-choice-radio{background:var(--gold);border-color:var(--gold);}
.kkw-field{display:block;margin-top:14px;}
.kkw-field-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:rgba(11,17,62,.6);margin-bottom:6px;}
.kkw-input{width:100%;padding:12px 14px;min-height:46px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);transition:border-color .2s;}
.kkw-input:focus{outline:none;border-color:var(--gold);}
textarea.kkw-input{resize:vertical;min-height:auto;}
.kkw-presta{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;}
.kkw-estimate{background:var(--navy);border-radius:18px;padding:22px;display:flex;flex-direction:column;justify-content:center;}
.kkw-estimate-price{font-family:var(--font-display);font-size:36px;font-weight:800;color:var(--gold);line-height:1;margin:6px 0;}
.kkw-estimate-cat{font-size:13px;color:rgba(255,255,255,.7);font-weight:600;}
.kkw-estimate-note{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.55);margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px;}
.kkw-estimate-inline{border-radius:16px;}
.kkw-recap{display:flex;align-items:center;gap:9px;background:rgba(208,169,79,.1);border:1px solid rgba(208,169,79,.3);border-radius:12px;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.kkw-upload{display:flex;align-items:center;gap:10px;width:100%;margin-top:14px;padding:13px 14px;border-radius:12px;border:1.5px dashed var(--line);background:rgba(11,17,62,.02);font-size:13.5px;color:rgba(11,17,62,.6);transition:border-color .2s;text-align:left;}
.kkw-upload:hover{border-color:var(--gold);}
.kkw-consent{display:flex;align-items:flex-start;gap:9px;margin-top:16px;font-size:12.5px;color:rgba(11,17,62,.6);line-height:1.45;cursor:pointer;}
.kkw-consent input{margin-top:2px;width:17px;height:17px;accent-color:var(--gold);flex:0 0 auto;}
.kkw-consent a{color:var(--gold);text-decoration:underline;}
.kkw-err{margin-top:12px;font-size:13px;font-weight:600;color:#c0392b;background:#fdecea;border-radius:10px;padding:9px 12px;}
.kkw-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px 24px;}
.kkw-back{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:rgba(11,17,62,.6);padding:8px 6px;}
.kkw-back:hover{color:var(--ink);}
.kkw-reassure{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:rgba(11,17,62,.66);}
.kkw-mini-label+.kkw-grid-2,.kkw-mini-label+.kkw-pills,.kkw-mini-label+.kkw-seg{margin-top:0;}
.kkw-express-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;}
.kkw-express-col .kkw-mini-label{margin-top:14px;}
.kkw-express-col .kkw-mini-label:first-child{margin-top:0;}
.kkw-success{padding:40px 30px 36px;text-align:center;}
.kkw-success-icon{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(31,138,91,.1);color:#1F8A5B;margin:0 auto 18px;}
.kkw-success h3{font-family:var(--font-display);font-size:24px;font-weight:700;margin:0 0 10px;}
.kkw-success p{color:rgba(11,17,62,.6);font-size:14.5px;line-height:1.6;margin:0 auto 18px;max-width:38ch;}
.kkw-success-recap{display:inline-block;background:rgba(208,169,79,.1);border:1px solid rgba(208,169,79,.3);border-radius:12px;padding:9px 16px;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:24px;}
.kkw-success-actions{display:flex;flex-direction:column;align-items:center;gap:14px;}
.kkw-success-call{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:rgba(11,17,62,.6);}
.kkw-success-call:hover{color:var(--gold);}

/* Note de conception */
.kkw-note-fab{position:fixed;left:18px;bottom:18px;z-index:58;display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;padding:11px 16px;border-radius:999px;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.12);transition:transform .2s;}
.kkw-note-fab:hover{transform:translateY(-2px);}
.kkw-note-fab svg{color:var(--gold);}
.kkw-note-overlay{position:fixed;inset:0;z-index:82;background:rgba(6,10,22,.6);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;animation:kkwfade .2s ease;}
.kkw-note{position:relative;background:#fff;border-radius:22px;max-width:760px;width:100%;max-height:86vh;overflow-y:auto;padding:34px 36px;box-shadow:var(--shadow-lg);}
.kkw-note-intro{color:rgba(11,17,62,.66);font-size:15px;line-height:1.6;margin:14px 0 24px;max-width:60ch;}
.kkw-note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.kkw-note-grid h4{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:15px;font-weight:700;margin:0 0 12px;color:var(--ink);}
.kkw-note-grid h4 svg{color:var(--gold);}
.kkw-note-grid ul li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.5;color:rgba(11,17,62,.66);margin-bottom:9px;}
.kkw-note-grid ul li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--gold);}
.kkw-note-foot{display:flex;align-items:center;gap:9px;margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:rgba(11,17,62,.6);}
.kkw-note-foot svg{color:var(--gold);flex:0 0 auto;}
.kkw-note code,.kkw-note-foot code{background:rgba(11,17,62,.06);padding:1px 6px;border-radius:5px;font-size:12px;}

/* ===== Nav dropdowns (multi-volets) ===== */
.kkw-nav-item{position:relative;}
.kkw-nav-link{display:inline-flex;align-items:center;gap:5px;}
.kkw-nav-link.is-current{color:var(--gold);}
.kkw-header:not(.is-scrolled) .kkw-nav-link.is-current{color:var(--gold);}
.kkw-nav-chev{transition:transform .2s;opacity:.7;}
.kkw-nav-chev.is-open{transform:rotate(180deg);}
.kkw-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:248px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;z-index:60;animation:kkwDrop .18s ease;}
@keyframes kkwDrop{from{opacity:0;transform:translate(-50%,-6px);}to{opacity:1;transform:translate(-50%,0);}}
.kkw-dropdown::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.kkw-dropdown-link{display:block;width:100%;text-align:left;font-size:13.5px;font-weight:500;color:var(--ink);padding:10px 12px;border-radius:9px;transition:background .15s,color .15s;}
.kkw-dropdown-link:hover{background:var(--navy);color:#fff;}

/* Menu large "Notre Savoir-Faire" : deux colonnes, une ligne de presentation
   par entree. Ancre a gauche de l'onglet et non centre : un panneau de 720 px
   centre sur le 2e onglet sortirait de l'ecran a gauche. */
.kkw-mega{left:0;transform:none;width:720px;max-width:calc(100vw - 32px);padding:16px 16px 12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;}
.kkw-mega-col{display:flex;flex-direction:column;min-width:0;}

/* Reservation, etape "quand" : les trois moments de la journee. Meme brique
   que .kkw-choice (etape 1), en plus compact puisqu'il y en a trois. */
.kkw-moments{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.kkw-choice-mini.is-pris{opacity:.42;cursor:not-allowed;}
.kkw-choice-mini.is-pris .kkw-choice-s{color:#b4432f;}

/* Le calendrier : une grille mensuelle, semaine commencant le lundi. Les cases
   font 44 px de haut au minimum, la taille en dessous de laquelle une cible
   devient penible a viser au doigt (77 % des visiteurs sont sur telephone). */
.kkw-mois{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px 12px 14px;background:#fff;}
.kkw-mois-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.kkw-mois-nom{font-family:var(--font-display);font-size:16px;font-weight:700;text-transform:capitalize;}
.kkw-mois-fleche{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);transition:border-color .15s,color .15s;}
.kkw-mois-fleche:hover:not(:disabled){border-color:var(--gold);color:var(--gold);}
.kkw-mois-fleche:disabled{opacity:.3;cursor:not-allowed;}
.kkw-mois-entetes,.kkw-mois-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.kkw-mois-entetes{margin-bottom:4px;}
.kkw-mois-entetes span{text-align:center;font-size:11px;font-weight:700;color:rgba(11,17,62,.66);}
.kkw-mois-jour{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;border:1px solid transparent;background:var(--bg-warm-2);font-size:14.5px;font-weight:600;color:var(--ink);transition:background .15s,color .15s,border-color .15s;}
button.kkw-mois-jour:hover{border-color:var(--gold);}
.kkw-mois-jour.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}
/* Un jour non proposable reste lisible mais clairement eteint : le barrer
   ferait croire a une erreur, l'effacer casserait la grille. */
.kkw-mois-jour.is-hors{background:transparent;color:rgba(11,17,62,.22);font-weight:500;}
.kkw-mois-vide{min-height:44px;}
.kkw-mois-choisi{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 13px;border-radius:11px;background:var(--bg-warm-2);font-size:13.5px;font-weight:600;color:var(--ink);text-transform:capitalize;}
.kkw-mois-choisi svg{color:var(--gold);flex:0 0 auto;}
.kkw-field-aide{margin:-6px 0 12px;font-size:12px;line-height:1.5;color:rgba(11,17,62,.66);}

/* Recapitulatif permanent de la page /reserver. Il vit dans la colonne de
   droite sur ordinateur ; sous 900 px la colonne passe sous le formulaire et
   il se lit comme un pave normal. */
.kkw-recap-resa{background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);border-radius:16px;padding:16px 18px;margin-bottom:16px;color:#fff;}
.kkw-recap-titre{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:11px;}
.kkw-recap-vide{margin:0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.6);}
.kkw-recap-ligne{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid rgba(255,255,255,.1);}
.kkw-recap-ligne:first-of-type{border-top:none;padding-top:0;}
.kkw-recap-ligne span{font-size:11.5px;color:rgba(255,255,255,.55);flex:0 0 auto;}
.kkw-recap-ligne strong{font-size:12.5px;font-weight:600;text-align:right;text-wrap:pretty;}
.kkw-recap-fort{font-family:var(--font-display);font-size:17px !important;color:var(--gold);}
.kkw-recap-note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.5);}
@media (min-width:901px){ .kkw-recap-resa{position:sticky;top:96px;} }

/* Entre 860 et 1180 px les six onglets ne tiennent plus sur une ligne et le menu
   passe sur deux lignes, ce qui fait grossir tout le bandeau. On resserre au
   lieu de basculer en menu burger : les onglets restent atteignables. */
.kkw-nav-link{white-space:nowrap;}
@media (max-width:1180px){
  .kkw-nav{gap:0;}
  .kkw-nav-link{font-size:13px;padding:8px 8px;}
  /* Le numero ecrit en toutes lettres coute 150 px. L icone reste cliquable. */
  .kkw-phone span{display:none;}
  .kkw-phone{padding:6px;}
}
.kkw-choice-mini{padding:11px 14px;}
.kkw-choice-mini .kkw-choice-t{font-size:14px;}
.kkw-choice-mini .kkw-choice-s{font-size:12px;}
input.kkw-input[type="date"]{appearance:none;-webkit-appearance:none;min-height:46px;}
.kkw-mega-link{display:block;padding:9px 11px;border-radius:10px;transition:background .15s;}
.kkw-mega-link:hover{background:var(--navy);}
.kkw-mega-t{display:block;font-size:13.5px;font-weight:600;color:var(--ink);transition:color .15s;}
.kkw-mega-d{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:rgba(11,17,62,.66);text-wrap:pretty;transition:color .15s;}
.kkw-mega-link:hover .kkw-mega-t{color:#fff;}
.kkw-mega-link:hover .kkw-mega-d{color:rgba(255,255,255,.72);}
.kkw-mega-foot{grid-column:1 / -1;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);}
.kkw-mega-foot a{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;font-size:13px;font-weight:700;color:var(--gold);border-radius:8px;transition:background .15s;}
.kkw-mega-foot a:hover{background:rgba(11,17,62,.05);}
/* Ecrans etroits (le menu reste visible jusqu'a 860 px) : une seule colonne. */
@media (max-width:1180px){
  .kkw-mega{width:400px;grid-template-columns:1fr;}
}
.kkw-mobile-group{border-bottom:1px solid rgba(255,255,255,.07);}
.kkw-mobile-row{display:flex;align-items:center;justify-content:space-between;}
.kkw-mobile-row .kkw-mobile-link{border-bottom:none;flex:1;}
.kkw-mobile-link.is-current{color:var(--gold);}
.kkw-mobile-exp{padding:10px;color:rgba(255,255,255,.6);}
.kkw-mobile-sub{display:flex;flex-direction:column;padding:2px 0 10px 12px;border-left:2px solid rgba(208,169,79,.3);margin-left:4px;}
.kkw-mobile-sublink{text-align:left;font-size:14px;color:rgba(255,255,255,.62);padding:8px 6px;}
.kkw-mobile-sublink:hover{color:#fff;}
.kkw-footer-navbtn{display:inline-block;color:rgba(255,255,255,.68);font-size:14px;text-align:left;transition:color .2s;cursor:pointer;}
.kkw-footer-navbtn:hover{color:#fff;}

/* ===== Hero motion / vidéo ===== */
/* ---------- Hero photo (remplace le hero video) ----------
   Le texte est cale a GAUCHE via max-width sur le bloc de contenu, et le voile
   est un degrade horizontal : sombre a gauche pour la lisibilite, transparent a
   droite pour laisser voir le vehicule. */
.kkw-hero-photo{background:#070c18;}
.kkw-hero-photo-bg{position:absolute;inset:0;overflow:hidden;z-index:0;}
.kkw-hero-photo-bg picture,.kkw-hero-photo-bg img{display:block;width:100%;height:100%;}
/* Couche de profondeur (parallaxe, 16/10) : doit remplir le fond, sinon picture/img perdent leur hauteur et la photo s'affiche brute, ancree en haut. */
.kkw-hero-depth{position:absolute;inset:0;}
.kkw-hero-photo-bg img{object-fit:cover;object-position:50% 50%;}
/* Photo du stand (14/10/2026) : photo entiere. La partie droite (barnum) est
   FLOUTEE dans le fichier webp lui-meme, et le texte se pose dessus, a DROITE. */
.kkw-hero-photo-veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(7,12,24,.6) 0%,transparent 16%),
  linear-gradient(100deg,rgba(7,12,24,.18) 0%,rgba(7,12,24,.22) 40%,rgba(7,12,24,.62) 62%,rgba(7,12,24,.78) 100%),
  linear-gradient(0deg,rgba(7,12,24,.75),transparent 48%);}
/* Le bloc porte aussi la classe .kkw-container, qui est centree avec une largeur
   max. On ne touche donc PAS a sa largeur (sinon tout le bloc se recentre au
   milieu de l'ecran) : on limite la largeur de chaque enfant, ce qui cale le
   texte a gauche du conteneur. */
/* Le bloc de texte est colle au bord DROIT de l'ecran (pas du conteneur 1200px) :
   Remy est au centre de la photo et doit rester visible. */
.kkw-hero-photo-content{position:relative;z-index:2;padding-top:96px;padding-bottom:64px;max-width:none;padding-left:clamp(16px,4vw,64px);padding-right:clamp(16px,4vw,64px);}
/* min() et pas 600px sec : sur un telephone de 390px, un max-width fixe de 600px
   fait deborder la page horizontalement.
   margin-left:auto cale le bloc a DROITE : le sujet de la photo (Remy et le
   vehicule) reste degage a gauche. */
.kkw-hero-photo-content > *{max-width:min(600px,100%);margin-left:auto;}

.kkw-hero-motion{background:#070c18;}
.kkw-motion-bg{position:absolute;inset:0;overflow:hidden;}
.kkw-motion-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:blur(34px) brightness(.5) saturate(1.15);transform:scale(1.18);}
.kkw-motion-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;filter:brightness(1.08) saturate(1.04);}
.kkw-motion-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity 1.3s ease;animation:kkwKen 9s ease-out forwards;z-index:0;}
.kkw-motion-img.is-active{opacity:1;z-index:0;}
@keyframes kkwKen{from{transform:scale(1.14);}to{transform:scale(1);}}
.kkw-motion-sweep{position:absolute;top:0;bottom:0;left:0;width:40%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.08) 45%,rgba(15,156,191,.08) 55%,transparent);transform:skewX(-12deg);animation:kkwSweep 6.5s ease-in-out infinite;}
@keyframes kkwSweep{0%{left:-45%;}55%,100%{left:115%;}}
.kkw-motion-veil{position:absolute;inset:0;z-index:3;background:linear-gradient(100deg,rgba(7,12,24,.82) 0%,rgba(7,12,24,.42) 38%,rgba(7,12,24,0) 72%),linear-gradient(0deg,rgba(7,12,24,.72),transparent 52%);}
.kkw-motion-content{position:relative;z-index:4;padding-top:96px;max-width:780px;}
.kkw-live-dot{width:8px;height:8px;border-radius:50%;background:#3fd07a;box-shadow:0 0 0 0 rgba(63,208,122,.6);animation:kkwPulse 1.8s infinite;}
@keyframes kkwPulse{0%{box-shadow:0 0 0 0 rgba(63,208,122,.5);}70%{box-shadow:0 0 0 8px rgba(63,208,122,0);}100%{box-shadow:0 0 0 0 rgba(63,208,122,0);}}
.kkw-cine-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.kkw-cine-meta{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap;}
.kkw-motion-dots{position:absolute;bottom:26px;right:30px;z-index:5;display:flex;gap:7px;}
.kkw-motion-dots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.4);cursor:pointer;transition:width .3s,background .3s;}
.kkw-motion-dots span.is-active{width:26px;background:var(--gold);}

/* ===== Double entrée ===== */
.kkw-dual{background:var(--bg-warm-2);}
.kkw-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px;}
.kkw-dual-card{position:relative;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);transition:transform .3s,box-shadow .3s,border-color .3s;}
.kkw-dual-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.kkw-dual-card.is-active{border-color:var(--gold);}
.kkw-dual-media{position:relative;aspect-ratio:16/8;overflow:hidden;}
.kkw-dual-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.kkw-dual-card:hover .kkw-dual-media img{transform:scale(1.06);}
.kkw-dual-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,17,62,.66),transparent 60%);}
.kkw-dual-icon{position:absolute;right:22px;bottom:18px;width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--ink);box-shadow:var(--shadow-md);z-index:3;}
.kkw-dual-body{padding:26px 28px 28px;}
.kkw-dual-body h3{font-family:var(--font-display);font-size:23px;font-weight:700;margin:0 0 8px;}
.kkw-dual-body p{margin:0 0 20px;color:rgba(11,17,62,.6);font-size:14.5px;line-height:1.6;}
.kkw-dual-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.kkw-dual-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--ink);transition:gap .2s,color .2s;}
.kkw-dual-link:hover{gap:11px;color:var(--gold);}

/* ===== Avant/Après slot ===== */
.kkw-ba-slot{display:block;width:100%;height:100%;}
.kkw-ba .kkw-ba-after image-slot{pointer-events:auto;}

/* ===== Page hero ===== */
.kkw-pagehero{position:relative;min-height:46vh;display:flex;align-items:center;overflow:hidden;background:var(--navy);padding:120px 0 60px;}
.kkw-pagehero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kkwKen 12s ease-out forwards;}
.kkw-pagehero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,12,24,.92),rgba(7,12,24,.66) 60%,rgba(7,12,24,.4)),linear-gradient(0deg,rgba(7,12,24,.7),transparent 60%);}
.kkw-pagehero-inner{position:relative;z-index:2;}
.kkw-pagehero .kkw-h1{font-size:clamp(32px,4.6vw,54px);}
/* Page Amboise : la CLA en plein fond, voiture visible a droite, voile limite au texte. */
.kkw-pagehero--amboise{min-height:62vh;}
.kkw-pagehero--amboise .kkw-pagehero-bg{object-position:center 62%;}
.kkw-pagehero--amboise .kkw-pagehero-veil{background:linear-gradient(95deg,rgba(7,12,24,.88) 0%,rgba(7,12,24,.6) 40%,rgba(7,12,24,.12) 75%,rgba(7,12,24,0)),linear-gradient(0deg,rgba(7,12,24,.45),transparent 40%);}
@media (max-width:620px){.kkw-pagehero--amboise .kkw-pagehero-veil{background:rgba(7,12,24,.62);}}

/* ===== Savoir-faire (prestations) ===== */
.kkw-presta-page{background:#fff;}
.kkw-presta-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:46px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px;}
.kkw-presta-row:last-child{border-bottom:none;}
.kkw-presta-row.is-rev .kkw-presta-media{order:2;}
.kkw-presta-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-md);}
.kkw-presta-media img{width:100%;height:100%;object-fit:cover;}
.kkw-presta-badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;background:var(--gold);color:var(--ink);padding:6px 12px;border-radius:999px;}
.kkw-presta-icon{display:inline-flex;width:50px;height:50px;border-radius:14px;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);margin-bottom:16px;}
.kkw-presta-desc{color:rgba(11,17,62,.66);font-size:15px;line-height:1.65;margin:10px 0 18px;}
.kkw-presta-feat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.kkw-presta-feat li{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:rgba(11,17,62,.72);line-height:1.4;}
.kkw-presta-feat li svg{color:var(--cyan);flex:0 0 auto;margin-top:1px;}

/* ===== Tarifs ===== */
.kkw-pricing{background:var(--bg-warm-2);}
.kkw-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;}
.kkw-price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;}
.kkw-price-card.is-popular{border-color:var(--gold);}
.kkw-price-anchor{position:absolute;top:-90px;}
.kkw-price-pop{align-self:flex-start;font-size:11px;font-weight:700;background:var(--gold);color:var(--ink);padding:4px 11px;border-radius:999px;margin-bottom:10px;}
.kkw-price-card h3{font-family:var(--font-display);font-size:19px;font-weight:700;margin:0 0 4px;}
.kkw-price-ex{font-size:13px;color:rgba(11,17,62,.66);margin:0 0 16px;}
.kkw-price-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.kkw-price-rows div{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;background:var(--bg-warm-2);border-radius:10px;font-size:13.5px;}
.kkw-price-rows span{color:rgba(11,17,62,.6);}
.kkw-price-rows strong{color:var(--ink);font-weight:700;}
.kkw-price-card .kkw-abo-btn{margin-top:auto;}
.kkw-pricelegend{margin-top:46px;}
.kkw-pricelegend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.kkw-pricelegend-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-md);}
.kkw-pricelegend-card h4{font-family:var(--font-display);font-size:17px;font-weight:700;margin:0 0 12px;color:var(--gold);}
.kkw-pricelegend-card ul{display:flex;flex-direction:column;gap:8px;}
.kkw-pricelegend-card li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:rgba(11,17,62,.66);line-height:1.4;}

/* ===== Pro ===== */
.kkw-pro{background:#fff;}
.kkw-pro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.kkw-pro-card{background:var(--bg-warm-2);border:1px solid var(--line);border-radius:18px;padding:26px 22px;}
.kkw-pro-icon{display:inline-flex;width:48px;height:48px;border-radius:13px;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);margin-bottom:16px;}
.kkw-pro-card h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 7px;}
.kkw-pro-card p{margin:0;font-size:14px;color:rgba(11,17,62,.6);line-height:1.55;}
.kkw-pro-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:34px;background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);border-radius:24px;padding:38px 40px;}
.kkw-avis-grid-3{grid-template-columns:repeat(3,1fr);}

/* Pro — secteurs + journée entreprise */
.kkw-prosectors{margin-top:40px;text-align:center;}
.kkw-prosectors-label{font-family:var(--font-display);font-size:clamp(18px,2vw,22px);font-weight:600;color:var(--ink);max-width:760px;margin:0 auto 22px;line-height:1.35;text-wrap:pretty;}
.kkw-prosectors-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.kkw-prosector{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);background:var(--bg-warm-2);border:1px solid var(--line);border-radius:999px;padding:9px 16px;}
.kkw-prosector svg{color:var(--gold);}
.kkw-jentreprise{display:grid;grid-template-columns:1.02fr .98fr;gap:0;margin-top:44px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);}
.kkw-jentreprise-media{position:relative;min-height:340px;}
.kkw-jentreprise-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Pro — bloc partenaire fort + étapes */
.kkw-partner-strong{margin-top:44px;border-radius:26px;padding:44px 44px 40px;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);text-align:center;}
.kkw-partner-strong-head{max-width:680px;margin:0 auto;}
.kkw-partner-strong-intro{color:rgba(255,255,255,.7);font-size:15.5px;line-height:1.65;margin:16px auto 0;max-width:60ch;text-wrap:pretty;}
.kkw-partner-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0 34px;text-align:left;}
.kkw-partner-step{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:26px 24px;}
.kkw-partner-step-n{font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--gold);letter-spacing:.04em;}
.kkw-partner-step-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(208,169,79,.16);color:var(--gold);margin:12px 0 14px;}
.kkw-partner-step h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.2;}
.kkw-partner-step p{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.66);text-wrap:pretty;}

/* Pro — secondaire "pour aller plus loin" */
.kkw-pro-more{margin-top:40px;}
.kkw-pro-more-head{margin-bottom:20px;}
.kkw-pro-more-title{font-family:var(--font-display);font-size:24px;font-weight:700;margin:8px 0 0;letter-spacing:-.01em;}
.kkw-pro-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.kkw-pro-more-card{background:var(--bg-warm-2);border:1px solid var(--line);border-radius:18px;padding:26px 24px;}
.kkw-pro-more-card h4{font-family:var(--font-display);font-size:18px;font-weight:700;margin:14px 0 8px;}
.kkw-pro-more-card p{margin:0;font-size:14px;line-height:1.6;color:rgba(11,17,62,.62);text-wrap:pretty;}

/* Histoire — timeline parcours */
.kkw-parcours{background:var(--bg-warm);}
.kkw-timeline{position:relative;max-width:760px;margin:50px auto 0;padding-left:8px;}
.kkw-timeline::before{content:"";position:absolute;left:27px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,rgba(208,169,79,.15),var(--gold) 18%,var(--gold) 82%,rgba(208,169,79,.15));}
.kkw-tl-item{position:relative;display:grid;grid-template-columns:56px 1fr;gap:20px;padding-bottom:30px;}
.kkw-tl-item:last-child{padding-bottom:0;}
.kkw-tl-marker{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--gold);color:var(--gold-d);box-shadow:var(--shadow-md);}
.kkw-tl-item.is-highlight .kkw-tl-marker{background:linear-gradient(150deg,var(--gold),var(--gold-d));color:#fff;border-color:var(--gold);box-shadow:0 14px 30px -10px var(--gold);}
.kkw-tl-body{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;box-shadow:var(--shadow-md);}
.kkw-tl-item.is-highlight .kkw-tl-body{border-color:rgba(208,169,79,.5);box-shadow:0 26px 50px -26px rgba(208,169,79,.7);}
.kkw-tl-year{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-d);margin-bottom:6px;}
.kkw-tl-title{font-family:var(--font-display);font-size:21px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em;line-height:1.2;}
.kkw-tl-desc{margin:0;font-size:14.5px;line-height:1.62;color:rgba(11,17,62,.66);text-wrap:pretty;}

/* ===== Galeries ===== */
.kkw-gallery{background:#fff;scroll-margin-top:80px;}
.kkw-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px;}
.kkw-gallery-item{border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-md);}
.kkw-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.kkw-gallery-item:hover img{transform:scale(1.07);}

/* ===== Showroom carrousels ===== */
.kkw-showroom{background:#fff;scroll-margin-top:80px;}
.kkw-showroom-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:34px;}
.kkw-showroom-filter{font-size:13.5px;font-weight:600;padding:9px 16px;min-height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;color:rgba(11,17,62,.7);transition:all .18s;}
.kkw-showroom-filter:hover{border-color:var(--gold);color:var(--ink);}
.kkw-showroom-filter.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}
.kkw-showroom-filtersep{width:1px;align-self:stretch;background:var(--line);margin:4px 4px;}
.kkw-showroom-filter.is-focus{border-style:dashed;}
.kkw-showroom-filter.is-focus.is-active{background:var(--gold);border-color:var(--gold);border-style:solid;color:var(--navy);}

/* ===== Galerie : grille de vignettes cliquables ===== */
.kkw-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;}
.kkw-gallery-empty{text-align:center;margin-top:40px;color:rgba(11,17,62,.66);font-size:15px;}
.kkw-gcard{display:flex;flex-direction:column;text-align:left;background:var(--bg-warm-2);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-md);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,border-color .25s;cursor:pointer;}
.kkw-gcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(208,169,79,.45);}
.kkw-gcard:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.kkw-gcard-media{position:relative;aspect-ratio:16/11;overflow:hidden;background:#0b1326;}
.kkw-gcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.kkw-gcard:hover .kkw-gcard-media img{transform:scale(1.06);}
.kkw-gcard-count{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#fff;background:rgba(11,17,62,.62);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;}
.kkw-gcard-focus{position:absolute;top:12px;right:12px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:rgba(208,169,79,.95);padding:5px 10px;border-radius:999px;}
.kkw-gcard-open{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;font-size:13.5px;font-weight:700;color:#fff;background:linear-gradient(to top,rgba(11,17,62,.92),rgba(11,17,62,0));transform:translateY(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);}
.kkw-gcard:hover .kkw-gcard-open,.kkw-gcard:focus-visible .kkw-gcard-open{transform:translateY(0);}
.kkw-gcard-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;}
.kkw-gcard-name{font-family:var(--font-display);font-size:18.5px;font-weight:800;margin:0;color:var(--ink);line-height:1.2;}
.kkw-gcard-tag{margin:0;font-size:13.5px;color:rgba(11,17,62,.6);line-height:1.45;}
.kkw-gcard-place{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--gold);margin-top:4px;}

/* ===== Lightbox galerie ===== */
.kkw-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,12,26,.86);backdrop-filter:blur(8px);animation:kkwFade .25s ease;}
@keyframes kkwFade{from{opacity:0;}to{opacity:1;}}
.kkw-lightbox-panel{width:min(1040px,100%);max-height:92vh;display:flex;flex-direction:column;background:var(--bg-warm-2);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 40px 90px rgba(0,0,0,.5);overflow:hidden;animation:kkwPop .3s cubic-bezier(.2,.8,.2,1);}
@keyframes kkwPop{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
.kkw-lightbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.kkw-lightbox-headmeta{display:flex;align-items:center;gap:12px;}
.kkw-lightbox-close{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;transition:background .2s,transform .2s;}
.kkw-lightbox-close:hover{background:#000;transform:rotate(90deg);}
.kkw-lightbox-stage{aspect-ratio:auto;height:min(58vh,600px);}
.kkw-carousel{background:var(--bg-warm-2);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-md);scroll-margin-top:96px;}
.kkw-carousel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.kkw-carousel-name{font-family:var(--font-display);font-size:22px;font-weight:800;margin:0;color:var(--ink);}
.kkw-carousel-tag{margin:4px 0 0;font-size:14px;color:rgba(11,17,62,.6);}
.kkw-carousel-place{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--gold);background:rgba(208,169,79,.1);border:1px solid rgba(208,169,79,.3);padding:6px 12px;border-radius:999px;white-space:nowrap;}
.kkw-carousel-stage{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:#0b1326;box-shadow:var(--shadow-md);}
.kkw-carousel-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.7,0,.2,1);}
.kkw-carousel-slide{flex:0 0 100%;height:100%;}
.kkw-carousel-slide img{width:100%;height:100%;object-fit:cover;}
.kkw-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:var(--shadow-md);transition:background .2s,transform .2s;z-index:2;}
.kkw-carousel-arrow:hover{background:#fff;}
.kkw-carousel-arrow.is-prev{left:14px;}
.kkw-carousel-arrow.is-prev svg{transform:rotate(90deg);}
.kkw-carousel-arrow.is-next{right:14px;}
.kkw-carousel-arrow.is-next svg{transform:rotate(-90deg);}
.kkw-carousel-count{position:absolute;bottom:14px;right:14px;z-index:2;font-size:12.5px;font-weight:700;color:#fff;background:rgba(11,17,62,.6);backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px;}
.kkw-carousel-thumbs{display:flex;gap:9px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;}
.kkw-carousel-thumb{flex:0 0 auto;width:84px;height:60px;border-radius:11px;overflow:hidden;border:2px solid transparent;opacity:.55;transition:opacity .2s,border-color .2s;}
.kkw-carousel-thumb img{width:100%;height:100%;object-fit:cover;}
.kkw-carousel-thumb.is-active{border-color:var(--gold);opacity:1;}

/* ===== Ambitions (Histoire) ===== */
.kkw-ambitions{background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);position:relative;overflow:hidden;}
.kkw-ambitions::after{content:"";position:absolute;inset:0;background:radial-gradient(700px 360px at 85% 0%,rgba(208,169,79,.16),transparent 60%);pointer-events:none;}
.kkw-ambitions-head{position:relative;z-index:2;max-width:680px;}
.kkw-ambitions-intro{color:rgba(255,255,255,.7);font-size:16px;line-height:1.65;margin:16px 0 0;text-wrap:pretty;}
.kkw-ambitions-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;}
.kkw-ambition-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 26px;}
.kkw-ambition-step{font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--gold);line-height:1;}
.kkw-ambition-card h3{font-family:var(--font-display);font-size:19px;font-weight:700;color:#fff;margin:14px 0 8px;}
.kkw-ambition-card p{margin:0;color:rgba(255,255,255,.66);font-size:14.5px;line-height:1.6;text-wrap:pretty;}

/* ===== À propos + FAQ ===== */
.kkw-about{background:var(--bg-warm-2);scroll-margin-top:80px;}
.kkw-about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.kkw-about-text .h2{margin:12px 0 0;}
.kkw-about-text p{color:rgba(11,17,62,.68);font-size:15px;line-height:1.7;margin:16px 0 0;}
.kkw-about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px;border-top:1px solid var(--line);padding-top:24px;}
.kkw-about-stats strong{display:block;font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--ink);}
.kkw-about-stats span{font-size:12.5px;color:rgba(11,17,62,.66);}
.kkw-about-media{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;}
.kkw-about-media img{width:100%;height:100%;object-fit:cover;}
.kkw-faq{background:#fff;scroll-margin-top:80px;}
.kkw-faq-list{margin-top:38px;display:flex;flex-direction:column;gap:12px;}
.kkw-faq-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s;}
.kkw-faq-item.is-open{border-color:rgba(208,169,79,.5);}
.kkw-faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:18px 22px;font-size:15.5px;font-weight:600;color:var(--ink);}
.kkw-faq-a{overflow:hidden;transition:max-height .3s ease;}
.kkw-faq-a p{margin:0;padding:0 22px 20px;color:rgba(11,17,62,.66);font-size:14.5px;line-height:1.6;}

/* ===== Pack Vente ===== */
.kkw-packvente{background:var(--bg-warm-2);}
.kkw-packvente-card{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#0a1124,#11203c 60%,#0a1228);}
.kkw-packvente-media{position:relative;min-height:340px;}
.kkw-packvente-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.kkw-packvente-badge{position:absolute;top:16px;left:16px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--gold);color:var(--ink);padding:6px 13px;border-radius:999px;box-shadow:0 8px 18px -8px var(--gold);}
.kkw-packvente-body{padding:38px 40px;}
.kkw-packvente-desc{color:rgba(255,255,255,.7);font-size:15px;line-height:1.65;margin:14px 0 20px;max-width:48ch;text-wrap:pretty;}
.kkw-packvente-feat{display:flex;flex-direction:column;gap:11px;margin:0 0 26px;}
.kkw-packvente-feat li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.86);}
.kkw-packvente-feat li svg{flex:0 0 auto;color:var(--gold);margin-top:1px;}
.kkw-packvente-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.kkw-packvente-price{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--gold);}

/* ===== Mentions légales ===== */
.kkw-legal{background:#fff;}
.kkw-legal-block{margin-bottom:38px;scroll-margin-top:100px;}
.kkw-legal-block:last-of-type{margin-bottom:0;}
.kkw-legal-body p{color:rgba(11,17,62,.7);font-size:15px;line-height:1.7;margin:0 0 12px;text-wrap:pretty;}
.kkw-legal-body a{color:var(--gold);text-decoration:underline;}
.kkw-legal-list{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;}
.kkw-legal-list li{position:relative;padding-left:18px;color:rgba(11,17,62,.7);font-size:14.5px;line-height:1.5;}
.kkw-legal-list li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold);}
.kkw-legal-note{font-size:13.5px;color:rgba(11,17,62,.66);font-style:italic;}
.kkw-footer-legal{display:inline-flex;align-items:center;gap:9px;}
.kkw-footer-legal .kkw-footer-navbtn{font-size:12.5px;}

/* ---------- Nos différences ---------- */
.kkw-diff{background:var(--bg-warm);}
.kkw-diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;}
.kkw-diff-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 26px;box-shadow:var(--shadow-md);}
.kkw-diff-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(150deg,var(--gold),var(--gold-d));color:#fff;margin-bottom:18px;}
.kkw-diff-card h3{font-family:var(--font-display);font-size:20px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em;}
.kkw-diff-card p{color:rgba(11,17,62,.66);font-size:14.5px;line-height:1.62;margin:0;text-wrap:pretty;}
.kkw-compare{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 22px 18px;box-shadow:var(--shadow-md);overflow:hidden;}
.kkw-compare-head,.kkw-compare-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;align-items:center;}
.kkw-compare-head{padding:18px 0 14px;border-bottom:1px solid var(--line);}
.kkw-compare-head .kkw-compare-col{font-size:12.5px;font-weight:700;line-height:1.2;color:rgba(11,17,62,.66);text-transform:uppercase;letter-spacing:.04em;}
.kkw-compare-head .kkw-compare-col.is-kkw{color:var(--gold-text);}
.kkw-compare-row{padding:14px 0;border-bottom:1px solid var(--line);}
.kkw-compare-row:last-child{border-bottom:none;}
.kkw-compare-rowlabel{font-size:14.5px;font-weight:600;color:var(--ink);padding-right:12px;}
.kkw-compare-col{text-align:center;display:flex;justify-content:center;}
.kkw-compare-col.is-kkw{background:rgba(208,169,79,.07);border-radius:10px;padding:8px 0;}
.kkw-cmp-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:800;font-size:14px;}
.kkw-cmp-mark.is-yes{background:rgba(15,156,191,.12);color:var(--blue);}
.kkw-cmp-mark.is-mid{background:rgba(11,17,62,.06);color:rgba(11,17,62,.64);}
.kkw-cmp-mark.is-no{background:rgba(11,17,62,.05);color:rgba(11,17,62,.28);}
.kkw-diff-cta{text-align:center;margin-top:36px;}

/* ---------- Formules packagées ---------- */
.kkw-formules{background:var(--bg-warm);}
.kkw-formules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px;align-items:stretch;}
.kkw-formule-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 28px;box-shadow:var(--shadow-md);}
.kkw-formule-card.is-popular{border:1.5px solid var(--gold);box-shadow:0 36px 70px -28px rgba(208,169,79,.6);transform:translateY(-10px);}
.kkw-formule-pop{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--gold);color:var(--ink);padding:6px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 22px -10px var(--gold);}
.kkw-formule-name{font-family:var(--font-display);font-size:26px;font-weight:800;margin:0;letter-spacing:-.01em;}
.kkw-formule-tag{font-size:14px;font-weight:600;color:var(--gold-d);margin:5px 0 18px;}
.kkw-formule-price{display:flex;flex-direction:column;line-height:1;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.kkw-formule-price span{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(11,17,62,.64);}
.kkw-formule-price strong{font-family:var(--font-display);font-size:40px;font-weight:800;color:var(--ink);margin-top:6px;}
.kkw-formule-incl{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:13px;font-weight:700;color:var(--gold-d);background:rgba(208,169,79,.1);border:1px solid rgba(208,169,79,.28);border-radius:999px;padding:6px 12px;margin:0 0 16px;}
.kkw-formule-incl svg{flex-shrink:0;}
.kkw-formule-desc{font-size:14px;line-height:1.6;color:rgba(11,17,62,.66);margin:0 0 18px;text-wrap:pretty;}
.kkw-formule-feat{display:flex;flex-direction:column;gap:11px;flex:1;margin-bottom:24px;}
.kkw-formule-feat li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.4;color:rgba(11,17,62,.78);}
.kkw-formule-feat li svg{color:var(--gold);flex-shrink:0;margin-top:1px;}
.kkw-formule-note{display:flex;align-items:flex-start;gap:13px;max-width:760px;margin:34px auto 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;box-shadow:var(--shadow-md);}
.kkw-formule-note svg{color:var(--gold);flex-shrink:0;margin-top:1px;}
.kkw-formule-note p{margin:0;font-size:14px;line-height:1.6;color:rgba(11,17,62,.72);text-wrap:pretty;}
.kkw-formule-note strong{color:var(--ink);}

/* ---------- Bannière cookies ---------- */
.kkw-cookie{position:fixed;left:20px;bottom:20px;z-index:1200;width:min(420px,calc(100vw - 40px));background:var(--navy);color:#E7EAF2;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:20px 22px;box-shadow:0 24px 60px -16px rgba(0,0,0,.55);animation:kkwCookieIn .45s cubic-bezier(.2,.8,.2,1);}
@keyframes kkwCookieIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
.kkw-cookie-body{display:flex;gap:14px;align-items:flex-start;}
.kkw-cookie-icon{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(208,169,79,.16);color:var(--gold);}
.kkw-cookie-text h4{font-family:var(--font-display);font-size:16.5px;font-weight:700;color:#fff;margin:2px 0 6px;}
.kkw-cookie-text p{margin:0;font-size:13.5px;line-height:1.6;color:rgba(231,234,242,.82);text-wrap:pretty;}
.kkw-cookie-text a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;}
.kkw-cookie-actions{display:flex;gap:10px;margin-top:16px;}
.kkw-cookie-btn{flex:1;font-size:14px;font-weight:700;padding:11px 16px;min-height:44px;border-radius:999px;transition:all .18s;}
.kkw-cookie-btn.is-ghost{background:transparent;border:1px solid rgba(255,255,255,.24);color:#E7EAF2;}
.kkw-cookie-btn.is-ghost:hover{border-color:rgba(255,255,255,.68);background:rgba(255,255,255,.06);}
.kkw-cookie-btn.is-solid{background:var(--gold);border:1px solid var(--gold);color:var(--navy);}
.kkw-cookie-btn.is-solid:hover{background:#d4b27a;border-color:#d4b27a;}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .kkw-hero-grid,.kkw-edito-grid{grid-template-columns:1fr;gap:36px;}
  .kkw-edito-right{max-width:440px;}
  .kkw-services-grid,.kkw-abo-grid,.kkw-avis-grid{grid-template-columns:repeat(2,1fr);}
  .kkw-estim-card{grid-template-columns:1fr;}
  .kkw-footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .kkw-pro-grid,.kkw-gallery-grid,.kkw-pricing-grid,.kkw-pricelegend-grid,.kkw-avis-grid-3{grid-template-columns:repeat(2,1fr);}
  .kkw-diff-grid{grid-template-columns:1fr;}
  .kkw-formules-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto;}
  .kkw-formule-card.is-popular{transform:none;}
  .kkw-abo-grid-3{grid-template-columns:1fr;max-width:440px;}
}
@media (max-width:860px){
  /* --- Premier ecran mobile allege ---
     On garde l'essentiel : accroche, promesse, bouton devis, avis Google.
     On retire le second bouton, la statistique et la fleche de defilement, qui
     poussent le bouton principal hors de l'ecran sur un telephone. */
  .kkw-hero-photo{min-height:auto;}
  /* Le header fait 72px et il est en position fixed par-dessus le hero. Le badge
     d'accroche passe sur deux lignes en telephone : sans marge suffisante il
     recouvrait le logo. */
  .kkw-hero-photo-content{padding-top:118px;padding-bottom:44px;}
  .kkw-hero-photo-content > *{max-width:none;}
  .kkw-hero-photo-bg img{object-position:50% 42%;}
  .kkw-hero-photo-veil{background:
    linear-gradient(180deg,rgba(7,12,24,.9) 0%,rgba(7,12,24,.72) 42%,rgba(7,12,24,.93) 100%);}
  .kkw-hero-photo .kkw-btn-ghost,
  .kkw-hero-photo .kkw-hero-stat,
  .kkw-hero-photo .kkw-hero-scroll{display:none;}
  .kkw-hero-photo .kkw-hero-sub{margin-top:16px;}
  .kkw-hero-photo .kkw-cine-actions{margin-top:24px;}
  .kkw-hero-photo .kkw-cine-actions .kkw-hero-cta-main{width:100%;}
  .kkw-hero-photo .kkw-cine-meta{margin-top:22px;}

  .kkw-nav{display:none;}
  .kkw-burger{display:flex;}
  .kkw-phone{display:none;}
  .kkw-header.is-open .kkw-mobile-menu,.kkw-mobile-menu{display:flex;}
  .kkw-section{padding:68px 0;}
  .kkw-how-grid{grid-template-columns:1fr;}
  .kkw-trust-row{grid-template-columns:1fr 1fr;gap:18px;}
  .kkw-edito-stats{grid-template-columns:1fr 1fr;}
  /* Barre d'actions : masquee au premier ecran (le bouton du hero suffit),
     elle glisse en place des que le visiteur commence a defiler. */
  .kkw-floating{display:flex;transform:translateY(105%);transition:transform .28s ease;}
  body.kkw-a-defile .kkw-floating{transform:translateY(0);}
  .kkw-wa-fab{bottom:80px;right:16px;width:52px;height:52px;}
  .kkw-presta{grid-template-columns:1fr;}
  .kkw-express-body{grid-template-columns:1fr;}
  .kkw-note-grid{grid-template-columns:1fr;}
  .kkw-avis-head{margin-bottom:32px;}
  .kkw-dual-grid{grid-template-columns:1fr;}
  .kkw-presta-row{grid-template-columns:1fr;gap:26px;padding:36px 0;}
  .kkw-presta-row.is-rev .kkw-presta-media{order:0;}
  .kkw-about-grid{grid-template-columns:1fr;gap:32px;}
  .kkw-about-media{max-width:420px;aspect-ratio:4/3;}
  .kkw-pro-cta{flex-direction:column;align-items:flex-start;padding:30px 26px;}
  .kkw-ambitions-grid{grid-template-columns:1fr;}
  .kkw-carousel-stage{aspect-ratio:4/3;}
  .kkw-lightbox{padding:12px;}
  .kkw-lightbox-panel{padding:16px;max-height:94vh;}
  .kkw-lightbox-stage{height:min(46vh,420px);}
  .kkw-packvente-card{grid-template-columns:1fr;}
  .kkw-partner-steps{grid-template-columns:1fr;}
  .kkw-pro-more-grid{grid-template-columns:1fr;}
  .kkw-partner-strong{padding:32px 24px 30px;}
  .kkw-packvente-media{min-height:240px;}
  .kkw-packvente-body{padding:30px 26px;}
  .kkw-cookie{left:12px;right:12px;width:auto;bottom:84px;padding:18px 18px;}
  body{padding-bottom:0;}
}
@media (max-width:560px){
  .kkw-container{padding-left:18px;padding-right:18px;}
  .kkw-services-grid,.kkw-abo-grid,.kkw-avis-grid{grid-template-columns:1fr;}
  .kkw-abo-card.is-popular{transform:none;}
  .kkw-grid-2{grid-template-columns:1fr;}
  .kkw-header-cta .kkw-btn-gold{display:none;}
  .kkw-modal-foot{flex-direction:column-reverse;align-items:stretch;}
  .kkw-modal-foot .kkw-hero-cta-main{width:100%;}
  .kkw-note{padding:26px 22px;}
  .kkw-footer-grid{grid-template-columns:1fr;}
  .kkw-final-actions{flex-direction:column;}
  .kkw-note-fab span{display:none;}
  .kkw-pro-grid,.kkw-gallery-grid,.kkw-pricing-grid,.kkw-pricelegend-grid,.kkw-avis-grid-3{grid-template-columns:1fr;}
  .kkw-presta-feat{grid-template-columns:1fr;}
  .kkw-trust-row{grid-template-columns:1fr 1fr;}
  /* Tableau comparatif : 4 colonnes ne tiennent pas sous 560px sans reduire le
     texte a 10,5px. On le laisse a sa largeur lisible et on le fait defiler
     horizontalement, plutot que de le compresser. */
  .kkw-compare{padding:6px 12px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .kkw-compare-head,.kkw-compare-row{min-width:440px;}
  .kkw-compare-rowlabel{font-size:13.5px;}
  .kkw-compare-head .kkw-compare-col{font-size:11.5px;}
  .kkw-timeline{padding-left:0;}
  .kkw-timeline::before{left:23px;}
  .kkw-tl-item{grid-template-columns:46px 1fr;gap:14px;}
  .kkw-tl-marker{width:46px;height:46px;}
  .kkw-tl-body{padding:18px 20px;}
  .kkw-compare-head,.kkw-compare-row{grid-template-columns:1.4fr .8fr .8fr .9fr;}
  .kkw-compare-rowlabel{font-size:13px;}
  .kkw-compare-head .kkw-compare-col{font-size:10.5px;}
}

/* Textes a deux versions : la longue sur ordinateur, la courte sur telephone.
   Ces regles doivent rester AVANT la media query, sinon elles l'ecrasent. */
.kkw-sur-tel{display:none;}
.kkw-sur-ordi{display:inline;}


/* Intitules de groupe dans les menus deroulants : reperes non cliquables qui
   separent les prestations ayant leur propre page des soins qui sont des
   sections de la page Savoir-Faire. */
.kkw-dropdown-titre{display:block;padding:12px 16px 5px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(11,17,62,.66);}
.kkw-dropdown-titre:first-child{padding-top:8px;}
.kkw-dropdown-titre + .kkw-dropdown-link{border-top:none;}
.kkw-mobile-subtitre{display:block;padding:12px 0 4px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);}

/* ======================================================================
   ECHELLE TELEPHONE
   Le site etait calibre pour un ecran d'ordinateur. Passer les grilles en
   une colonne ne suffisait pas : les titres, boutons, cartes et espacements
   gardaient des tailles pensees pour 1400px de large, ce qui donnait des
   blocs enormes sur un ecran de 390px. Ce bloc reduit l'echelle globale.
   Il ne change rien au rendu ordinateur.
   ====================================================================== */
@media (max-width:620px){
  /* --- Titres --- */
  .kkw-h1{font-size:clamp(25px,7.2vw,31px);line-height:1.12;}
  .kkw-h1-xl{font-size:clamp(27px,7.8vw,33px);}
  .kkw-h1-edito{font-size:clamp(24px,6.8vw,30px);}
  .kkw-pagehero .kkw-h1{font-size:clamp(23px,6.6vw,29px);}
  .h2{font-size:clamp(20px,5.4vw,25px);line-height:1.18;}
  .kkw-dual-body h3,.kkw-diff-card h3,.kkw-service-card h3{font-size:17.5px;}

  /* --- Textes courants --- */
  .kkw-hero-sub{font-size:14.5px;line-height:1.55;margin-top:14px;}
  .kkw-hero-eyebrow{font-size:9.5px;letter-spacing:.09em;padding:6px 12px;line-height:1.35;}
  .kkw-dual-body p,.kkw-diff-card p{font-size:14.5px;}

  /* --- Espacements : le site respirait comme sur un 27 pouces --- */
  .kkw-section{padding:46px 0;}
  .kkw-container{padding-left:16px;padding-right:16px;}

  /* --- Boutons : ils faisaient presque la largeur ET la hauteur d'un doigt
         de haut. On reste au-dessus du seuil tactile de 44px. --- */
  .kkw-btn{font-size:13.5px;padding:10px 18px;min-height:44px;}
  .kkw-btn-lg{font-size:14px;padding:12px 22px;min-height:46px;}
  .kkw-hero-cta-main{font-size:14.5px;padding:13px 22px;min-height:48px;}
  .kkw-floating-call,.kkw-floating-devis{font-size:14px;padding:11px;min-height:46px;}

  /* --- Medias : des blocs de 340px de haut mangeaient un demi-ecran --- */
  .kkw-jentreprise-media,.kkw-packvente-media{min-height:190px;}

  /* --- Pastilles d'icones : elles gardaient leur taille d'ordinateur (42 a
         52px) sur un ecran trois fois plus etroit, d'ou l'impression de gros
         carres qui mangent la place. --- */
  .kkw-diff-icon,.kkw-how-icon,.kkw-presta-icon{width:38px;height:38px;border-radius:11px;}
  .kkw-pro-icon,.kkw-partner-step-icon{width:38px;height:38px;border-radius:11px;}
  .kkw-dual-icon{width:40px;height:40px;}
  .kkw-abo-icon,.kkw-entry-icon,.kkw-cookie-icon{width:34px;height:34px;}
  .kkw-tl-marker{width:40px;height:40px;}
  .kkw-success-icon{width:56px;height:56px;}
  .kkw-diff-icon svg,.kkw-how-icon svg,.kkw-presta-icon svg,.kkw-pro-icon svg{width:18px;height:18px;}

  /* --- Cartes : 30px de marge interieure sur 390px d'ecran, c'est 15% de la
         largeur perdue de chaque cote. --- */
  .kkw-diff-card{padding:20px 18px;}
  .kkw-how-card{padding:22px 18px 20px;}
  .kkw-pro-card{padding:20px 18px;}
  .kkw-abo-card{padding:22px 18px;}
  .kkw-diff-grid,.kkw-pro-grid,.kkw-how-grid{gap:12px;}

  /* --- Miniatures avant/apres : en flex sans flex-shrink, les 10 vignettes
         etaient compressees en fines bandes verticales. --- */
  .kkw-ba-thumbs{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .kkw-ba-thumb{flex:0 0 auto;}

  /* --- La note sous les miniatures etait en flex : le <strong> devenait un
         bloc separe et la phrase se cassait en trois morceaux. --- */
  .kkw-ba-note{display:block;text-align:center;font-size:12px;line-height:1.45;}
  .kkw-ba-note svg{display:none;}

  /* --- Accroche : version courte sur telephone --- */
  .kkw-sur-ordi{display:none;}
  .kkw-sur-tel{display:inline;}

  /* --- Le voile assombrissait tant la photo qu'on ne voyait plus le vehicule.
         On l'allege : le metier de Remy doit se voir. --- */
  .kkw-hero-photo-veil{background:
    linear-gradient(180deg,rgba(7,12,24,.86) 0%,rgba(7,12,24,.5) 38%,rgba(7,12,24,.62) 70%,rgba(7,12,24,.9) 100%);}
  .kkw-hero-photo .kkw-hero-sub{color:rgba(255,255,255,.9);}

  /* --- Trois appels a l'action empiles en bas, c'etait trop : la barre fixe
         offre deja Appeler et Devis. On retire la pastille WhatsApp flottante,
         qui chevauchait le contenu et jurait avec le dore. --- */
  .kkw-wa-fab{display:none;}

  /* --- La bande de chiffres repetait "5/5 - 31 avis Google", deja affiche dans
         le hero juste au-dessus. On retire le doublon. --- */
  .kkw-trust-item:first-child{display:none;}
  /* Les 3 chiffres restants passent sur une seule ligne, icone au-dessus :
     en pile ils mangeaient un demi-ecran pour trois informations courtes. */
  .kkw-trust-row{grid-template-columns:repeat(3,1fr);gap:8px;}
  .kkw-trust-item{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:0;}
  .kkw-trust-icon{width:34px;height:34px;}
  .kkw-trust-val{font-size:16px;}
  .kkw-trust-lab{font-size:11px;line-height:1.3;}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.05ms!important;}
  .kkw-marquee{animation:none;}
}
/* --- Page /devis : le meme formulaire que la fenetre, pose dans la page --- */
.kkw-devis-page{padding-top:120px;}
/* Le titre de ces deux pages se pose sur du blanc, pas sur une photo : il lui
   faut l'encre foncee. Sans ca, seul le mot en italique dore reste lisible. */
.kkw-devis-page .kkw-h1{color:var(--ink);}
/* Meme raison pour la pastille : son fond sombre translucide n'a de sens que
   par-dessus une image. */
.kkw-devis-page .kkw-hero-eyebrow{background:rgba(208,169,79,.1);border-color:rgba(208,169,79,.5);backdrop-filter:none;}
.kkw-devis-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;margin-top:34px;}
.kkw-modal-inline{max-width:none;box-shadow:0 18px 50px -28px rgba(0,0,0,.3);border:1px solid var(--line);animation:none;}
.kkw-modal-inline .kkw-modal-head{border-radius:0;}
.kkw-devis-repli{padding:26px 24px 30px;}
.kkw-devis-aside{display:flex;flex-direction:column;gap:14px;}
.kkw-devis-aside .kkw-diff-card{margin:0;}
.kkw-devis-direct{background:var(--navy);color:#fff;border-radius:18px;padding:20px;text-align:center;}
.kkw-devis-direct p{margin:0 0 10px;font-size:14px;opacity:.8;}
.kkw-devis-direct span{display:block;margin-top:8px;font-size:12px;color:var(--gold);}
@media (max-width:900px){.kkw-devis-layout{grid-template-columns:1fr;}.kkw-devis-page{padding-top:96px;}}

/* =====================================================================
   PAGE /reserver — aux couleurs de la charte graphique (18/09/2026)
   Marine #0B113E · Cyan #0F9CBF · Or clair #D0A94F (sur marine) ·
   Or fonce #A8822C (sur blanc) · Creme #F4F2EE. Aucun degrade : aplats.
   Tout est confine a .kkw-resa : le reste du site garde ses teintes
   actuelles tant qu'il n'est pas realigne d'un bloc.
   ===================================================================== */
.kkw-resa{--r-m:#0B113E;--r-c:#0F9CBF;--r-oc:#D0A94F;--r-of:#A8822C;--r-cr:#F4F2EE;--r-l:rgba(11,17,62,.12);
  background:var(--r-cr);padding:112px 0 72px;color:var(--r-m);}
.kkw-resa *{min-width:0;}

.kkw-resa-intro{max-width:640px;}
.kkw-resa-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--r-of);}
.kkw-resa-h1{font-family:var(--font-display);font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.08;letter-spacing:-.02em;color:var(--r-m);margin:10px 0 0;}
.kkw-resa-h1 em{font-style:normal;color:var(--r-c);}
.kkw-resa-sub{margin:10px 0 0;font-size:15.5px;line-height:1.55;color:rgba(11,17,62,.68);}

.kkw-resa-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;margin-top:28px;}

/* --- la carte du formulaire --- */
.kkw-resa .kkw-modal-inline{max-width:none;border-radius:18px;border:1px solid var(--r-l);box-shadow:0 1px 2px rgba(11,17,62,.04);animation:none;background:#fff;}
.kkw-resa .kkw-modal-body{padding:22px 26px 6px;}
.kkw-resa .kkw-modal-foot{padding:14px 26px 24px;}
.kkw-resa .kkw-step-title{font-size:21px;color:var(--r-m);}
.kkw-resa .kkw-step-sub{color:rgba(11,17,62,.62);font-size:14px;margin:5px 0 18px;}
.kkw-resa .kkw-step-anim{animation:none;}

/* etapes nommees */
.kkw-resa-steps{display:flex;gap:6px;list-style:none;margin:0;padding:18px 26px 0;}
.kkw-resa-steps li{flex:1;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--r-l);font-size:12.5px;font-weight:600;color:rgba(11,17,62,.66);}
.kkw-resa-steps li.is-active{border-color:var(--r-c);color:var(--r-m);}
.kkw-resa-steps li.is-done{border-color:var(--r-m);color:var(--r-m);}
.kkw-resa-steps-n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:1.5px solid currentColor;font-size:11px;font-weight:800;}
.kkw-resa-steps li.is-active .kkw-resa-steps-n{background:var(--r-c);border-color:var(--r-c);color:#fff;}
.kkw-resa-steps li.is-done .kkw-resa-steps-n{background:var(--r-m);border-color:var(--r-m);color:#fff;}
.kkw-resa-steps-n svg{width:12px;height:12px;}

/* choix, pastilles, segments : le marine marque la selection */
.kkw-resa .kkw-choice{border:1.5px solid var(--r-l);border-radius:13px;}
.kkw-resa .kkw-choice:hover:not(:disabled){border-color:var(--r-c);}
.kkw-resa .kkw-choice.is-active{border-color:var(--r-m);background:var(--r-cr);}
.kkw-resa .kkw-choice.is-active .kkw-choice-radio{background:var(--r-m);border-color:var(--r-m);}
.kkw-resa .kkw-pill{border-color:var(--r-l);}
.kkw-resa .kkw-pill:hover{border-color:var(--r-c);}
.kkw-resa .kkw-pill.is-active{background:var(--r-m);border-color:var(--r-m);color:#fff;box-shadow:none;}
.kkw-resa .kkw-seg:not(.kkw-seg-dark){background:var(--r-cr);border-color:var(--r-l);}
.kkw-resa .kkw-seg button.is-active{background:var(--r-m);color:#fff;box-shadow:none;}
.kkw-resa .kkw-estimate{background:var(--r-m);}
.kkw-resa .kkw-estimate-price{color:var(--r-oc);}
.kkw-resa .kkw-input{border-color:var(--r-l);}
.kkw-resa .kkw-input:focus{border-color:var(--r-c);outline:none;}
.kkw-resa .kkw-recap{background:var(--r-cr);border:1px solid var(--r-l);color:var(--r-m);font-weight:500;}
.kkw-resa .kkw-recap svg{color:var(--r-c);}

/* bouton principal : le cyan, seule couleur qui appelle l'action */
.kkw-resa .kkw-hero-cta-main{background:var(--r-c);color:#fff;box-shadow:none;min-height:48px;padding:13px 24px;font-size:14.5px;}
.kkw-resa .kkw-hero-cta-main:hover:not(:disabled){background:#0d89a8;transform:none;}
.kkw-resa .kkw-hero-cta-main:disabled{background:rgba(11,17,62,.14);color:rgba(11,17,62,.45);cursor:not-allowed;}
.kkw-resa .kkw-back{color:rgba(11,17,62,.6);}

/* calendrier */
.kkw-resa .kkw-mois{border-color:var(--r-l);}
.kkw-resa .kkw-mois-jour{background:#fff;border-color:var(--r-l);color:var(--r-m);}
.kkw-resa button.kkw-mois-jour:hover{border-color:var(--r-c);color:var(--r-c);}
.kkw-resa .kkw-mois-jour.is-active{background:var(--r-m);border-color:var(--r-m);color:#fff;}
.kkw-resa .kkw-mois-jour.is-hors{background:transparent;border-color:transparent;color:rgba(11,17,62,.2);}
.kkw-resa .kkw-mois-fleche:hover:not(:disabled){border-color:var(--r-c);color:var(--r-c);}
.kkw-resa .kkw-mois-choisi{background:var(--r-cr);}
.kkw-resa .kkw-mois-choisi svg{color:var(--r-c);}

/* --- colonne de droite --- */
.kkw-resa-aside{display:flex;flex-direction:column;gap:12px;}
@media (min-width:901px){ .kkw-resa-aside{position:sticky;top:92px;} }
.kkw-resa .kkw-recap-resa{background:var(--r-m);border-radius:16px;padding:18px 18px 16px;margin:0;position:static;}
.kkw-resa .kkw-recap-titre{color:var(--r-oc);}
.kkw-resa .kkw-recap-fort{color:var(--r-oc);}
.kkw-resa-garanties{list-style:none;margin:0;padding:6px 16px;background:#fff;border:1px solid var(--r-l);border-radius:16px;}
.kkw-resa-garanties li{display:flex;gap:11px;padding:11px 0;border-top:1px solid var(--r-l);font-size:12.5px;line-height:1.45;color:rgba(11,17,62,.62);}
.kkw-resa-garanties li:first-child{border-top:none;}
.kkw-resa-garanties strong{display:block;font-size:13.5px;color:var(--r-m);margin-bottom:1px;}
.kkw-resa-gico{flex:0 0 auto;color:var(--r-c);padding-top:1px;}
.kkw-resa-tel{display:flex;align-items:center;gap:11px;padding:13px 16px;background:#fff;border:1px solid var(--r-l);border-radius:16px;color:var(--r-c);font-size:12.5px;transition:border-color .15s;}
.kkw-resa-tel:hover{border-color:var(--r-c);}
.kkw-resa-tel span{color:rgba(11,17,62,.62);}
.kkw-resa-tel strong{display:block;font-size:15px;color:var(--r-m);}

/* --- comment ca se passe --- */
.kkw-resa-etapes{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.kkw-resa-etapes li{background:#fff;border:1px solid var(--r-l);border-radius:16px;padding:18px;}
.kkw-resa-etapes strong{display:block;font-size:15px;color:var(--r-m);margin-top:10px;}
.kkw-resa-etapes p{margin:4px 0 0;font-size:13.5px;line-height:1.55;color:rgba(11,17,62,.62);}
.kkw-resa-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--r-m);color:var(--r-oc);font-weight:800;font-size:13px;}

/* --- telephone --- */
@media (max-width:900px){
  .kkw-resa{padding:92px 0 48px;}
  .kkw-resa-grid{grid-template-columns:minmax(0,1fr);}
  .kkw-resa-etapes{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .kkw-resa .kkw-modal-body{padding:18px 16px 4px;}
  .kkw-resa .kkw-modal-foot{padding:12px 16px 18px;}
  .kkw-resa-steps{padding:14px 16px 0;gap:4px;}
  /* sur petit ecran, seul le nom de l'etape en cours s'affiche */
  .kkw-resa-steps li:not(.is-active) .kkw-resa-steps-t{display:none;}
  .kkw-resa-steps li{flex:0 0 auto;}
  .kkw-resa-steps li.is-active{flex:1;}
  .kkw-resa .kkw-mois{padding:10px 8px 12px;}
  .kkw-resa .kkw-mois-entetes,.kkw-resa .kkw-mois-grille{gap:3px;}
}

/* Etape Date : calendrier et moments cote a cote sur ordinateur. Le calendrier
   est borne en largeur, sinon ses cases s'etirent en tableau de 100 px. */
.kkw-cal-duo{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:22px;align-items:start;margin-top:4px;}
.kkw-cal-duo .kkw-mois{margin-top:0;}
.kkw-cal-duo .kkw-mois-choisi{margin-top:0;}
.kkw-cal-invite{margin:0;padding:18px;border:1.5px dashed rgba(11,17,62,.14);border-radius:13px;font-size:13.5px;line-height:1.5;color:rgba(11,17,62,.66);}
/* « jeudi 24 septembre » : seule la premiere lettre prend la majuscule. */
.kkw-mois-choisi{text-transform:none;}
@media (max-width:720px){ .kkw-cal-duo{grid-template-columns:minmax(0,1fr);gap:14px;} }

/* Etape Prestation : sur ordinateur, l'estimation est deja affichee en direct
   dans le recapitulatif de droite ; le pave marine la repetait en double. Sur
   telephone le recapitulatif passe sous le formulaire : l'estimation reste
   donc visible pendant le choix, en format compact. */
.kkw-resa .kkw-estimate-inline{align-self:start;padding:16px 18px;}
@media (min-width:901px){
  .kkw-resa .kkw-presta{grid-template-columns:minmax(0,1fr);}
  .kkw-resa .kkw-estimate-inline{display:none;}
}
/* La phrase sous le champ email ne doit pas mordre sur le champ. */
.kkw-resa .kkw-field-aide{margin:6px 0 14px;}

/* Nombre de vehicules d'un pro : trois boutons compacts, pas trois cartes. */
.kkw-resa .kkw-nbveh{max-width:340px;}

/* Bandeau : « Reserver mon creneau » est plus long que « Devis gratuit » et le
   bouton sortait de l'ecran a droite (vu le 19/09 sur une capture a 1440 px).
   On resserre les onglets, et sous 1320 px le numero ecrit en toutes lettres
   laisse place a sa seule icone, toujours cliquable. */
.kkw-header-inner{gap:12px;}
.kkw-nav-link{padding:9px 9px;}
.kkw-header-cta{gap:10px;}
@media (max-width:1320px){
  .kkw-phone span{display:none;}
  .kkw-phone{padding:6px;}
}

/* Panier du 08/10/2026 : commune, prochains creneaux, etat du vehicule. */
.kkw-commune-ok{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:13.5px;font-weight:600;color:#1F8A5B;}
.kkw-commune-liste{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.kkw-commune-liste button{padding:7px 12px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--ink);}
.kkw-commune-liste button span{color:rgba(11,17,62,.66);font-weight:500;}
.kkw-commune-liste button:hover{border-color:var(--gold);}
.kkw-commune-aide{margin:8px 0 0;font-size:12.5px;line-height:1.45;color:rgba(11,17,62,.66);}
.kkw-rapides{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;}
.kkw-rapide{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;text-align:left;}
.kkw-rapide strong{font-size:13.5px;color:var(--ink);}
.kkw-rapide span{font-size:12.5px;color:rgba(11,17,62,.66);}
.kkw-rapide.is-active{border-color:var(--gold);background:rgba(208,169,79,.1);}
.kkw-resa .kkw-rapide.is-active,.kkw-resa .kkw-commune-liste button:hover{border-color:var(--r-m);}
.kkw-resa .kkw-rapide.is-active{background:rgba(11,17,62,.06);}
.kkw-seg{flex-wrap:wrap;}

/* ==== Reservation, refonte du 10/10/2026 : on voit ce qu'on achete ==== */
.kkw-modal{--k-m:var(--r-m,#0B113E);--k-c:var(--r-c,#0F9CBF);--k-l:var(--r-l,rgba(11,17,62,.12));--k-cr:var(--r-cr,#F4F2EE);--k-o:var(--r-oc,#D0A94F);}
/* Titres de section numerotes */
.kkw-sec{display:flex;align-items:center;gap:9px;margin:22px 0 10px;}
.kkw-sec-n{width:22px;height:22px;border-radius:50%;background:var(--k-m);color:#fff;font-size:11.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.kkw-sec-t{font-size:14.5px;font-weight:700;color:var(--k-m);}
.kkw-sec-note{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,17,62,.66);background:var(--k-cr);padding:3px 8px;border-radius:999px;}
/* Vehicules : cartes avec exemples de modeles */
.kkw-vehs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.kkw-veh{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--k-l);background:#fff;text-align:left;transition:border-color .15s,background .15s;}
.kkw-veh strong{font-size:14px;color:var(--k-m);}
.kkw-veh span{font-size:12px;color:rgba(11,17,62,.66);line-height:1.35;}
.kkw-veh:hover{border-color:var(--k-c);}
.kkw-veh.is-active{border-color:var(--k-m);background:var(--k-m);}
.kkw-veh.is-active strong{color:#fff;}
.kkw-veh.is-active span{color:rgba(255,255,255,.7);}
/* Prestations : une carte par zone */
.kkw-pcards{display:flex;flex-direction:column;gap:8px;}
.kkw-pcard{border:1.5px solid var(--k-l);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .15s;}
.kkw-pcard:hover{border-color:var(--k-c);}
.kkw-pcard.is-on{border-color:var(--k-m);}
.kkw-pcard-tete{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;text-align:left;background:none;}
.kkw-pcard-check{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--k-l);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:transparent;}
.kkw-pcard-check svg{width:14px;height:14px;}
.kkw-pcard.is-on .kkw-pcard-check{background:var(--k-m);border-color:var(--k-m);color:#fff;}
.kkw-pcard-txt{flex:1 1 auto;min-width:0;}
.kkw-pcard-txt strong{display:block;font-size:15px;color:var(--k-m);}
.kkw-pcard-txt span{display:block;font-size:12.5px;color:rgba(11,17,62,.66);margin-top:2px;}
.kkw-pcard-prix{font-size:13px;font-weight:700;color:var(--k-m);white-space:nowrap;}
.kkw-pcard-corps{padding:0 16px 16px;border-top:1px solid var(--k-l);background:var(--k-cr);}
.kkw-gammes{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;padding-top:14px;}
.kkw-gamme{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:11px;border:1.5px solid var(--k-l);background:#fff;text-align:left;}
.kkw-gamme strong{font-size:13.5px;color:var(--k-m);}
.kkw-gamme span{font-size:11.5px;color:rgba(11,17,62,.66);}
.kkw-gamme em{font-style:normal;font-size:14px;font-weight:800;color:var(--k-m);margin-top:4px;}
.kkw-gamme:hover{border-color:var(--k-c);}
.kkw-gamme.is-active{border-color:var(--k-m);box-shadow:inset 0 0 0 1px var(--k-m);}
.kkw-inclus-t{margin-top:14px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,17,62,.66);}
.kkw-inclus{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;}
.kkw-inclus li{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.4;color:rgba(11,17,62,.75);}
.kkw-inclus li svg{width:13px;height:13px;flex:0 0 auto;margin-top:2px;color:var(--k-c);}
/* Etat du vehicule */
.kkw-option{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1.5px solid var(--k-l);border-radius:12px;background:#fff;margin-top:8px;cursor:pointer;}
.kkw-option input{width:17px;height:17px;accent-color:var(--k-m);flex:0 0 auto;}
.kkw-option-t{flex:1 1 auto;font-size:13.5px;font-weight:600;color:var(--k-m);}
.kkw-option-p{font-size:12.5px;font-weight:700;color:rgba(11,17,62,.6);}
.kkw-option:has(input:checked){border-color:var(--k-m);}
/* Le ticket : detail chiffre */
.kkw-recu{margin-top:4px;}
.kkw-recu-l{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;}
.kkw-recu-l span{color:rgba(11,17,62,.7);}
.kkw-recu-l b{font-weight:700;color:var(--k-m);white-space:nowrap;}
.kkw-recu-l.is-remise b{color:#1F8A5B;}
.kkw-recu-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;padding-top:10px;border-top:1.5px solid var(--k-l);}
.kkw-recu-total span{font-size:13px;font-weight:700;color:var(--k-m);}
.kkw-recu-total b{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--k-m);}
.kkw-recu-sombre{padding:10px 0 4px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);margin:4px 0 8px;}
.kkw-recu-sombre .kkw-recu-l span{color:rgba(255,255,255,.62);font-size:12px;}
.kkw-recu-sombre .kkw-recu-l b{color:#fff;font-size:12.5px;}
.kkw-recu-sombre .kkw-recu-l.is-remise b{color:#7FD3A8;}
.kkw-recu-sombre .kkw-recu-total{border-top-color:rgba(255,255,255,.18);}
.kkw-recu-sombre .kkw-recu-total span{color:#fff;}
.kkw-recu-sombre .kkw-recu-total b{color:var(--r-oc,#D0A94F);}
/* Etape finale : verification avant envoi */
.kkw-verif{border:1.5px solid var(--k-l);border-radius:14px;padding:14px 16px;background:var(--k-cr);margin-bottom:6px;}
.kkw-verif-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.kkw-verif-tete strong{font-size:14.5px;color:var(--k-m);}
.kkw-verif-veh{font-size:12.5px;color:rgba(11,17,62,.6);margin:2px 0 6px;}
.kkw-verif-mod{font-size:12.5px;font-weight:700;color:var(--k-c);text-decoration:underline;text-underline-offset:3px;}
.kkw-verif-creneau{margin-top:10px;padding-top:10px;border-top:1px solid var(--k-l);}
.kkw-verif-creneau span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--k-m);}
@media (max-width:560px){
  .kkw-inclus{grid-template-columns:minmax(0,1fr);}
  .kkw-pcard-tete{padding:13px 14px;}
  .kkw-pcard-corps{padding:0 14px 14px;}
}
/* Sur /reserver, la barre « Appeler / Réserver » du bas masquait le formulaire
   et proposait de réserver à quelqu'un qui réserve déjà. Le téléphone reste
   dans le formulaire (carte « Vous préférez appeler ? »). */
body:has(.kkw-resa) .kkw-floating{display:none !important;}
/* Etape Supplements (10/10/2026) */
.kkw-option-txt{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;}
.kkw-option-d{font-size:12px;color:rgba(11,17,62,.66);line-height:1.35;}
.kkw-option-p{flex:0 0 auto;max-width:34%;text-align:right;line-height:1.3;}
.kkw-option-aucun{background:var(--k-cr);}
/* Atouts d'une option (diffuseurs, 11/10/2026) */
.kkw-option-atouts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;}
.kkw-option-atouts span{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--k-m);}
.kkw-option-atouts svg{width:12px;height:12px;color:var(--k-c);}
/* Page Tarifs : les petits plus */
.kkw-plus{margin-top:34px;}
.kkw-plus-titre{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--ink);margin:0;text-align:center;}
.kkw-plus-sub{text-align:center;color:rgba(11,17,62,.6);font-size:14px;margin:6px 0 18px;}
.kkw-plus-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;max-width:820px;margin:0 auto;}
.kkw-plus-carte{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;}
.kkw-plus-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.kkw-plus-tete h4{margin:0;font-size:15.5px;color:var(--ink);}
.kkw-plus-tete strong{font-family:var(--font-display);font-size:18px;color:var(--ink);white-space:nowrap;}
.kkw-plus-carte p{margin:6px 0 10px;font-size:13.5px;color:rgba(11,17,62,.65);line-height:1.5;}
.kkw-plus-carte ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.kkw-plus-carte li{display:flex;align-items:center;gap:7px;font-size:13px;color:rgba(11,17,62,.75);}
.kkw-plus-carte li svg{color:var(--gold);flex:0 0 auto;}
/* Etape Supplements sobre (11/10/2026) : informer, ne pas pousser. */
.kkw-oui-non{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}
.kkw-oui-non button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--k-l);background:#fff;font-size:14px;font-weight:600;color:var(--k-m);}
.kkw-oui-non button svg{width:15px;height:15px;display:none;}
.kkw-oui-non button:hover{border-color:var(--k-c);}
.kkw-oui-non button.is-active{border-color:var(--k-m);background:var(--k-m);color:#fff;}
.kkw-oui-non button.is-active svg{display:inline;}
.kkw-tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
.kkw-tuile{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;border:1.5px solid var(--k-l);background:#fff;cursor:pointer;transition:border-color .15s,background .15s;}
.kkw-tuile:hover{border-color:var(--k-c);}
.kkw-tuile input{position:absolute;opacity:0;pointer-events:none;}
.kkw-tuile-coche{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--k-l);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:transparent;}
.kkw-tuile-coche svg{width:13px;height:13px;}
.kkw-tuile.is-on{border-color:var(--k-m);background:var(--k-cr);}
.kkw-tuile.is-on .kkw-tuile-coche{background:var(--k-m);border-color:var(--k-m);color:#fff;}
.kkw-tuile input:focus-visible + .kkw-tuile-coche{outline:2px solid var(--k-c);outline-offset:2px;}
.kkw-tuile-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
.kkw-tuile-t{font-size:13.5px;font-weight:600;color:var(--k-m);}
.kkw-tuile-d{font-size:11.5px;color:rgba(11,17,62,.66);margin-top:1px;}
.kkw-tuile-p{font-size:12px;font-weight:600;color:rgba(11,17,62,.66);white-space:nowrap;}
.kkw-plus-bloc{margin-top:22px;border-top:1px solid var(--k-l);padding-top:14px;}
.kkw-plus-bascule{display:flex;justify-content:space-between;align-items:center;width:100%;padding:4px 0;font-size:14px;font-weight:600;color:var(--k-m);text-align:left;}
.kkw-plus-bascule em{font-style:normal;font-size:12px;font-weight:500;color:rgba(11,17,62,.66);margin-left:6px;}
.kkw-plus-bascule::after{content:"+";font-size:20px;font-weight:400;line-height:1;color:var(--k-c);margin-left:10px;}
.kkw-plus-bloc.is-ouvert .kkw-plus-bascule::after{content:"−";}
.kkw-plus-compte{margin-left:auto;font-size:12px;font-weight:600;color:var(--k-c);}
@media (max-width:560px){
  .kkw-tuiles{grid-template-columns:minmax(0,1fr);}
  .kkw-oui-non button{font-size:13.5px;}
}
/* Profil dans l'etape Prestation (11/10/2026) : 4 etapes au lieu de 5. */
.kkw-tete-presta{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.kkw-profil{display:inline-flex;padding:4px;border-radius:11px;background:var(--k-cr);border:1px solid var(--k-l);flex:0 0 auto;}
.kkw-profil button{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;color:rgba(11,17,62,.6);}
.kkw-profil button.is-active{background:#fff;color:var(--k-m);box-shadow:0 1px 3px rgba(11,17,62,.15);}
.kkw-pro-bloc{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--k-cr);}
.kkw-pro-bloc > span{display:block;font-size:13px;font-weight:600;color:var(--k-m);margin-bottom:8px;}
.kkw-pro-bloc .kkw-seg{background:#fff;}
/* Les 3 formules tiennent sur une ligne, meme sur telephone. */
.kkw-gammes{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));}
@media (max-width:560px){ .kkw-gamme{padding:9px 10px;} .kkw-gamme strong{font-size:13px;} }
/* Adresse du vehicule (11/10/2026) */
.kkw-adr-liste{display:flex;flex-direction:column;margin-top:6px;border:1px solid var(--k-l);border-radius:12px;overflow:hidden;background:#fff;}
.kkw-adr-liste button{text-align:left;padding:10px 14px;font-size:13.5px;color:var(--k-m);border-top:1px solid var(--k-l);}
.kkw-adr-liste button:first-child{border-top:none;}
.kkw-adr-liste button:hover{background:var(--k-cr);}
.kkw-commune-plus{font-weight:500;color:rgba(11,17,62,.66);}
.kkw-verif-ou{display:flex;flex-direction:column;gap:4px;}
/* Notre histoire, « Trois convictions » : 3 colonnes sur ordinateur, mais le
   style ecrit en dur empechait le passage a 1 colonne sur telephone (debordait
   de 59 px, en ligne aussi). */
.kkw-pro-grid-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:860px){ .kkw-pro-grid-3{grid-template-columns:1fr;} }
/* Accueil (13/10/2026) : la pastille flottante est remplacee par une ligne de
   texte simple, placee DANS le titre H1 pour le referencement local. */
.kkw-h1-lieu{display:block;font-family:var(--font-body,inherit);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;line-height:1.5;}
@media (max-width:620px){ .kkw-h1-lieu{font-size:10.5px;letter-spacing:.1em;margin-bottom:10px;} }
/* Le vrai logo « G » de Google, sur pastille blanche. */
.kkw-google-g{background:#fff !important;border:1px solid rgba(11,17,62,.08);}
/* Ligne des villes plus visible (Remy, 13/10/2026). */
.kkw-h1-lieu{font-size:17px;letter-spacing:.1em;margin-bottom:18px;}
@media (max-width:620px){ .kkw-h1-lieu{font-size:13px;letter-spacing:.07em;margin-bottom:12px;} }
/* Sur grand ecran, la ligne des villes tient d'un seul tenant (sinon « Blois » restait seul). */
@media (min-width:1100px){ .kkw-h1-lieu{white-space:nowrap;letter-spacing:.07em;} }

/* =====================================================================
   Espace pro, lot 1 (15/10/2026)
   ===================================================================== */
/* Ce qui est compris, developpe : un intertitre par niveau de formule. */
.kkw-feat-groupe{display:block!important;grid-column:1/-1;margin-top:6px;font-size:10.5px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text)!important;}
.kkw-feat-groupe:first-child{margin-top:0;}
.kkw-estim-result .kkw-feat-groupe,.kkw-estimate .kkw-feat-groupe{color:var(--gold)!important;}
.kkw-inclus .kkw-feat-groupe{color:rgba(11,17,62,.66)!important;margin-top:4px;}

/* Pour qui : quatre profils */
.kkw-proprofils{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px;}
.kkw-proprofil{background:var(--bg-warm-2);border:1px solid var(--line);border-radius:18px;padding:24px 22px;}
.kkw-proprofil h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0 0 10px;}
.kkw-proprofil ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.kkw-proprofil li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;color:rgba(11,17,62,.68);}
.kkw-proprofil li svg{flex:0 0 auto;margin-top:3px;color:var(--gold);}

/* Tarifs pros */
.kkw-protarifs{background:var(--bg-warm);}
.kkw-protarifs-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:34px;align-items:start;}
.kkw-protarifs-bloc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-md);}
.kkw-protarifs-bloc h3{font-family:var(--font-display);font-size:19px;font-weight:700;margin:0 0 14px;}
.kkw-protable-wrap{overflow-x:auto;}
.kkw-protable{width:100%;border-collapse:collapse;font-size:14px;}
.kkw-protable th,.kkw-protable td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);}
.kkw-protable thead th{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,17,62,.66);}
.kkw-protable tbody th{font-weight:600;color:var(--ink);}
.kkw-protable td{color:rgba(11,17,62,.6);white-space:nowrap;}
.kkw-protable .kkw-protable-prix{text-align:right;font-weight:800;color:var(--ink);}
.kkw-protable thead th:last-child{text-align:right;}
.kkw-protarifs-tva{margin:12px 0 0;font-size:13px;color:rgba(11,17,62,.6);}
.kkw-protarifs-note{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:rgba(11,17,62,.66);}
.kkw-protarifs-cta{margin-top:18px;}
@media (max-width:1080px){ .kkw-proprofils{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:860px){ .kkw-protarifs-grid{grid-template-columns:minmax(0,1fr);} }
@media (max-width:560px){
  .kkw-proprofils{grid-template-columns:minmax(0,1fr);}
  .kkw-protarifs-bloc{padding:18px 16px;}
  .kkw-protable{font-size:13px;}
  .kkw-protable th,.kkw-protable td{padding:9px 5px;}
}

/* Formulaire : six tailles de flotte, sur deux lignes au besoin */
.kkw-resa .kkw-nbveh{max-width:none;flex-wrap:wrap;}
.kkw-nbveh button{flex:1 0 auto;min-width:64px;}

/* Ligne pro a la place du total */
.kkw-recu-pro{flex-wrap:wrap;}
.kkw-recu-pro span{font-weight:600;color:var(--k-m,#0B113E);}
.kkw-lien-grille{font-size:12.5px;font-weight:700;color:var(--k-c,#0F9CBF);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.kkw-recu-sombre .kkw-recu-pro span{color:#fff;}
.kkw-estimate-pro{color:rgba(255,255,255,.8)!important;}

/* Panier compact : la selection reste visible jusqu'aux coordonnees */
.kkw-panier{background:var(--k-cr,#F4F2EE);border:1px solid var(--k-l,rgba(11,17,62,.12));border-radius:14px;padding:12px 14px;margin:0 0 16px;}
.kkw-panier[hidden]{display:none;}
.kkw-panier--etape2{margin:16px 0 0;}
.kkw-panier-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:4px;}
.kkw-panier-t{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--k-m,#0B113E);}
.kkw-panier-t svg{width:13px;height:13px;color:var(--k-c,#0F9CBF);}
.kkw-panier-veh{font-size:12.5px;color:rgba(11,17,62,.6);flex:1;}
.kkw-panier .kkw-recu-l{padding:4px 0;font-size:12.5px;}
.kkw-resa .kkw-estimate-inline{display:none;}
@media (min-width:901px){ .kkw-panier--etape2{display:none;} }
@media (max-width:560px){ .kkw-panier-veh{flex-basis:100%;order:3;} }

/* =====================================================================
   Lot 1 bis (15/10/2026)
   ===================================================================== */
/* Interrupteur Particulier / Pro : deux grands boutons, actif en marine. */
.kkw-profil-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px;}
.kkw-profil-btn{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;min-height:64px;border-radius:14px;background:#fff;border:2px solid var(--k-l,rgba(11,17,62,.12));color:var(--k-m,#0B113E);transition:background .15s,border-color .15s,color .15s;}
.kkw-profil-btn:hover{border-color:var(--k-m,#0B113E);}
.kkw-profil-ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:var(--k-cr,#F4F2EE);color:var(--k-m,#0B113E);}
.kkw-profil-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.kkw-profil-txt strong{font-size:15px;font-weight:800;line-height:1.2;}
.kkw-profil-txt span{font-size:12.5px;line-height:1.3;color:rgba(11,17,62,.6);}
.kkw-profil-btn.is-active{background:var(--k-m,#0B113E);border-color:var(--k-m,#0B113E);color:#fff;box-shadow:0 8px 20px -10px rgba(11,17,62,.6);}
.kkw-profil-btn.is-active .kkw-profil-ico{background:rgba(255,255,255,.14);color:#fff;}
.kkw-profil-btn.is-active .kkw-profil-txt span{color:rgba(255,255,255,.8);}
@media (max-width:560px){
  .kkw-profil-duo{gap:8px;margin-bottom:14px;}
  .kkw-profil-btn{flex-direction:column;align-items:flex-start;gap:8px;padding:12px;}
  .kkw-profil-ico{width:34px;height:34px;flex-basis:34px;}
  .kkw-profil-txt strong{font-size:14px;}
  .kkw-profil-txt span{font-size:12px;}
}

/* Telephone et e-mail des l'etape Supplements */
.kkw-contact-tot{border:1.5px solid var(--k-c,#0F9CBF);border-radius:14px;padding:12px 14px 4px;margin:0 0 18px;background:#fff;}
.kkw-contact-tot-t{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--k-m,#0B113E);margin-bottom:8px;}
.kkw-contact-tot-champs{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.kkw-contact-tot .kkw-field{margin-bottom:6px;}
.kkw-contact-tot .kkw-field-aide{margin:0 0 8px;}
.kkw-champ-err{display:block;margin-top:4px;font-size:12px;color:#B42318;}
.kkw-champ-err[hidden]{display:none;}
.kkw-contact-rappel{margin-bottom:14px;}
@media (max-width:560px){ .kkw-contact-tot-champs{grid-template-columns:minmax(0,1fr);} }

/* =====================================================================
   CORRECTIFS DE L'AUDIT UI/UX DU 15/10/2026
   (livrables/site-internet/2026-10-15_audit-ui-ux-seo.md, phase 2)
   Aucun changement de mise en page : contraste, cibles tactiles, tailles
   de texte, focus clavier. Les couleurs viennent de la charte : marine
   #0B113E, cyan #0F9CBF, or clair #D0A94F, et leurs versions foncees
   reservees au TEXTE sur fond clair (meme logique que l'or fonce).
   ===================================================================== */

/* -- Clavier : lien d'evitement + focus visible partout (3:1 sur blanc ET
      sur marine : le cyan passe des deux cotes, l'or clair non) -- */
.kkw-skip{position:absolute;left:12px;top:-80px;z-index:2000;background:var(--ink);color:#fff;font-weight:700;font-size:15px;padding:12px 18px;border-radius:10px;}
.kkw-skip:focus{top:12px;}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}
.kkw-input:focus,.kkw-resa .kkw-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(15,156,191,.28);}

/* -- Champs a 16 px : en dessous, iOS zoome la page a chaque saisie -- */
input,select,textarea,.kkw-input{font-size:16px;}

/* -- Or en texte sur fond clair : or fonce (#83672F, 4,8:1 sur la creme).
      L'or clair reste pour les aplats, filets et fonds marine -- */
.kkw-header.is-scrolled .kkw-nav-link.is-current,.kkw-header--solide .kkw-nav-link.is-current{color:var(--gold-text)!important;}
.kkw-gcard-place,.kkw-tl-year,.kkw-formule-tag,.kkw-formule-incl,.kkw-pricelegend-card h4,.kkw-legal-body a,.kkw-abo-tagline{color:var(--gold-text);}
.kkw-resa-eyebrow{color:var(--gold-text);}
/* Mot accent du titre /reserver : cyan fonce de lecture (3,7:1 sur la creme) */
.kkw-resa-h1 em{color:#0B87A6;}
/* Pastille d'etape active : chiffre marine sur cyan (5,6:1) au lieu de blanc (3,2:1) */
.kkw-resa-steps li.is-active .kkw-resa-steps-n{color:var(--r-m);}
.kkw-estim-note{color:rgba(255,255,255,.66);}
.kkw-cmp-mark.is-no{color:rgba(11,17,62,.5);}

/* -- Plus aucun texte sous 12 px -- */
.kkw-hero-eyebrow,.kkw-service-match,.kkw-service-pop,.kkw-avis-pro,.kkw-recap-titre,.kkw-estim-note,.kkw-mini-label,
.kkw-sec-n,.kkw-gamme span,.kkw-tuile-d,.kkw-recap-note,.kkw-abo-pop,.kkw-ba-tag,.kkw-estimate-eyebrow,.kkw-formule-pop,
.kkw-gcard-focus,.kkw-inclus-t,.kkw-packvente-badge,.kkw-presta-badge,.kkw-price-pop,.kkw-resa-eyebrow,.kkw-resa-steps-n,
.kkw-sec-note,.kkw-mois-entetes span,.kkw-protable thead th,.kkw-dropdown-titre,.kkw-contact-tot-t,.kkw-google span{font-size:12px;}
.kkw-feat-groupe{font-size:12px!important;}
.kkw-compare-head .kkw-compare-col{font-size:12px;}
@media (max-width:560px){ .kkw-compare-head .kkw-compare-col{font-size:12px;letter-spacing:0;} }

/* -- Cibles tactiles : 44 x 44 minimum (WCAG 2.5.5, Apple HIG) -- */
.kkw-burger{padding:10px;}
.kkw-mobile-exp{padding:14px;}
.kkw-mobile-sublink{display:flex;align-items:center;min-height:44px;}
.kkw-footer-social a{width:44px;height:44px;}
.kkw-phone,.kkw-final-phone,.kkw-service-link,.kkw-dual-link{min-height:44px;}
.kkw-phone{min-width:44px;justify-content:center;}
.kkw-pill,.kkw-seg button{min-height:44px;}
.kkw-footer ul li{padding:0;min-height:32px;display:flex;align-items:center;}
.kkw-footer ul li a,.kkw-footer-navbtn{display:inline-flex;align-items:center;min-height:32px;}
@media (pointer:coarse),(max-width:768px){ .kkw-footer ul li,.kkw-footer ul li a,.kkw-footer-navbtn{min-height:44px;} }

/* -- Mouvement reduit : pas de defilement anime vers les ancres -- */
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
main:focus{outline:none;}

/* ==========================================================================
   SITE DYNAMIQUE (16/10/2026, v3 « dense et percutant »)
   Toutes les regles sont sous .kkw-dyn (classe posee par generate.js sur
   toutes les pages sauf /reserver et /mentions-legales, qui ne changent pas).
   Charte conservee : marine #0B113E, cyan #0F9CBF, or des boutons,
   Bricolage Grotesque + Inter. Formes variees (obliques, demi-cercles, arches,
   pastilles longues, ronds), une seule grille de cartes par page au plus.
   Rien ici ne met d'opacite nulle sur du contenu : sans JS tout est visible.
   ========================================================================== */

/* --------------------------------------------------------------------------
   A. Base commune a tout le site dynamique
   -------------------------------------------------------------------------- */
.kkw-dyn .kkw-section{padding:56px 0;}
.kkw-dyn .kkw-reveal{animation:none;}           /* le mouvement passe par GSAP */
.kkw-w{display:inline-block;}

/* Hero des pages interieures : plus court, photo dans une couche de parallaxe */
.kkw-dyn .kkw-pagehero{min-height:0;padding:118px 0 48px;}
.kkw-pagehero-couche{position:absolute;inset:-8% 0;will-change:transform;}
.kkw-dyn [data-hero-texte]{will-change:transform;}
.kkw-dyn .kkw-pagehero--amboise{min-height:0;padding:150px 0 70px;}

/* Grilles de cartes devenues formes legeres (une seule grille de cartes par page) */
.kkw-dyn .kkw-diff-grid,.kkw-dyn .kkw-how-grid,.kkw-dyn .kkw-ambitions-grid{margin-top:28px;gap:18px 28px;}
.kkw-dyn .kkw-diff-grid,.kkw-dyn .kkw-how-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.kkw-dyn .kkw-diff-card{background:none;border:0;box-shadow:none;border-radius:0;border-left:3px solid var(--cyan);padding:2px 0 2px 18px;}
.kkw-dyn .kkw-diff-card h3{margin-top:0;}
.kkw-dyn .kkw-diff-icon{width:44px;height:44px;border-radius:50%;margin-bottom:12px;}
.kkw-dyn .kkw-how-card{background:none;border:0;box-shadow:none;padding:0;}
.kkw-dyn .kkw-how-n{display:none;}
.kkw-dyn .kkw-how-icon{width:46px;height:46px;border-radius:50%;margin-bottom:12px;color:var(--cyan);font-family:var(--font-display);font-weight:800;}
.kkw-dyn .kkw-pro-grid{gap:18px 28px;}
.kkw-dyn .kkw-pro-card,.kkw-dyn .kkw-pro-more-card,.kkw-dyn .kkw-proprofil{background:none;border:0;border-radius:0;border-top:2px solid var(--line);padding:18px 0 0;}
.kkw-dyn .kkw-pro-icon{border-radius:50%;}
.kkw-dyn .kkw-ambition-card{background:none;border:0;border-left:3px solid var(--gold);border-radius:0;padding:2px 0 2px 18px;}
.kkw-dyn .kkw-presta-icon{border-radius:50%;}

/* Photos : formes variees, alternees */
.kkw-dyn .kkw-presta-row{padding:28px 0;gap:40px;}
.kkw-dyn .kkw-presta-media{aspect-ratio:16/11;border-radius:0;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);}
.kkw-dyn .kkw-presta-row.is-rev .kkw-presta-media{clip-path:none;border-radius:9999px 0 0 9999px;}
.kkw-dyn .kkw-about-media{border-radius:999px 999px 28px 28px / 42% 42% 28px 28px;}
.kkw-dyn .kkw-presta-media,.kkw-dyn .kkw-about-media,.kkw-dyn .kkw-gcard-media{will-change:transform;}

/* Pied de page plus compact sur telephone (2 colonnes) */
@media (max-width:560px){
  .kkw-dyn .kkw-footer{padding:40px 0 24px;}
  .kkw-dyn .kkw-footer-grid{grid-template-columns:1fr 1fr;gap:26px 16px;}
  .kkw-dyn .kkw-footer-grid > :first-child{grid-column:1 / -1;}
  .kkw-dyn .kkw-footer h3{margin-bottom:8px;}
  .kkw-dyn .kkw-footer ul li{font-size:13.5px;}
  .kkw-dyn .kkw-footer-bottom{margin-top:26px;}
}
@media (max-width:760px){
  .kkw-dyn .kkw-section{padding:36px 0;}
  .kkw-dyn .kkw-pagehero{padding:96px 0 32px;}
  .kkw-dyn .kkw-pagehero--amboise{padding:110px 0 40px;}
  .kkw-dyn .kkw-presta-row{padding:22px 0;gap:18px;}
  .kkw-dyn .kkw-presta-media{aspect-ratio:16/9;clip-path:polygon(0 0,100% 0,100% 86%,0 100%);}
  .kkw-dyn .kkw-presta-row.is-rev .kkw-presta-media{border-radius:90px 0 0 0;}
  .kkw-dyn .kkw-about-media{aspect-ratio:16/11;border-radius:160px 160px 24px 24px / 80px 80px 24px 24px;}
  .kkw-dyn .kkw-diff-grid,.kkw-dyn .kkw-how-grid{gap:16px;}
  /* Savoir-faire : photo en bandeau, pastille decorative retiree (le texte reste entier) */
  .kkw-dyn .kkw-presta-media{aspect-ratio:21/9;}
  .kkw-dyn .kkw-presta-icon{display:none;}
  .kkw-dyn .kkw-presta-feat{gap:6px;margin-bottom:14px;}
  /* Showroom : la galerie (la grille de la page) passe a 2 colonnes */
  .kkw-dyn .kkw-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;}
  .kkw-dyn .kkw-gcard{border-radius:18px;}
  .kkw-dyn .kkw-gcard-body{padding:10px 12px 12px;gap:3px;}
  .kkw-dyn .kkw-gcard-name{font-size:15px;}
  .kkw-dyn .kkw-gcard-tag{font-size:12.5px;}
  .kkw-dyn .kkw-gcard-focus{font-size:12px;padding:4px 8px;top:8px;right:8px;}
}

/* --------------------------------------------------------------------------
   B. Accueil
   -------------------------------------------------------------------------- */
/* Hero plus court : les entrees Particulier / Pro se voient sans defiler */
.kkw-accueil .kkw-hero-photo{min-height:min(100svh,660px);}
.kkw-accueil .kkw-hero-photo-content{padding-top:104px;padding-bottom:92px;}
.kkw-accueil .kkw-hero-scroll{display:none;}

/* 1. Qui etes-vous ? deux grandes entrees en pastilles longues */
.kkw-entrees{position:relative;z-index:5;margin-top:-62px;}
.kkw-entrees-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.kkw-entree{display:flex;align-items:center;gap:16px;height:100%;min-height:104px;padding:18px 20px 18px 18px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:var(--shadow-lg);border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease;}
.kkw-entree:hover{transform:translateY(-3px);box-shadow:0 34px 70px -28px rgba(11,17,62,.7);}
.kkw-entree.is-pro{background:var(--navy);color:#fff;border-color:transparent;}
.kkw-entree-ic{flex:0 0 58px;width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-warm);color:var(--blue);}
.kkw-entree.is-pro .kkw-entree-ic{background:rgba(15,156,191,.18);color:var(--cyan);}
.kkw-entree-txt{display:flex;flex-direction:column;min-width:0;flex:1;}
.kkw-entree-txt strong{font-family:var(--font-display);font-size:21px;font-weight:800;line-height:1.1;}
.kkw-entree-sous{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-top:3px;}
.kkw-entree.is-pro .kkw-entree-sous{color:var(--cyan);}
.kkw-entree-p{font-size:14px;line-height:1.45;color:rgba(11,17,62,.72);margin-top:5px;}
.kkw-entree.is-pro .kkw-entree-p{color:rgba(255,255,255,.78);}
.kkw-entree-go{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--ink);transition:transform .2s ease;}
.kkw-entree:hover .kkw-entree-go{transform:translateX(3px);}

/* 2. Preuves : chiffres et logos dans une seule bande compacte */
.kkw-preuves{background:#fff;padding:26px 0 22px;}
.kkw-preuves-in{display:flex;align-items:center;gap:36px;}
.kkw-preuves-ligne{display:flex;align-items:center;gap:22px;margin:0;flex:0 0 auto;}
.kkw-pl-item{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);}
.kkw-pl-num{font-family:var(--font-display);font-weight:800;font-size:clamp(34px,4.4vw,58px);line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:color .25s ease;}
.kkw-pl-plus{color:var(--cyan);}
a.kkw-pl-item:hover .kkw-pl-num{color:var(--blue);}
.kkw-pl-lab{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:600;color:rgba(11,17,62,.72);white-space:nowrap;}
.kkw-pl-sep{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--gold);}
.kkw-preuves-logos{flex:1;min-width:0;}
.kkw-preuves-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,17,62,.66);margin:0 0 10px;text-align:center;}
.kkw-marquee--accueil{list-style:none;margin:0;padding:0;gap:44px;}
.kkw-marquee--accueil .kkw-partner{height:42px;}
.kkw-marquee-wrap:hover .kkw-marquee--accueil,.kkw-marquee-wrap:focus-within .kkw-marquee--accueil{animation-play-state:paused;}

/* 3. Avant/apres : plus serre */
.kkw-accueil #avant-apres .kkw-ba-note{display:none;}
/* Sur ordinateur : le titre a gauche, le curseur a droite (la section perd 40 % de hauteur) */
@media (min-width:1025px){
  .kkw-accueil #avant-apres .kkw-container{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:56px;align-items:center;}
  .kkw-accueil #avant-apres .kkw-container > div:first-child{text-align:left!important;margin:0!important;max-width:none!important;}
  .kkw-accueil #avant-apres .kkw-container > div:first-child > span[style*="height:2px"]{margin:16px 0 0!important;}
  .kkw-accueil #avant-apres .kkw-ba-stage{margin-top:0;}
}
@media (max-width:1024px){ .kkw-accueil #avant-apres .kkw-ba-stage{margin-top:22px;} }

/* 4. Chapitres denses : photo 340 px max, titre, une phrase, prix, bouton */
.kkw-chapitres{position:relative;background:#fff;overflow-x:clip;}
.kkw-chap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4.5vw,64px);align-items:center;margin-top:40px;}
.kkw-chap.is-droite{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);}
.kkw-chap.is-droite .kkw-chap-media{order:2;}
.kkw-chap-media{position:relative;}
.kkw-chap.is-gauche .kkw-chap-media{margin-left:calc(-1 * max(24px, (100vw - 1200px) / 2 + 24px));}
.kkw-chap.is-droite .kkw-chap-media{margin-right:calc(-1 * max(24px, (100vw - 1200px) / 2 + 24px));}
.kkw-chap-tilt{position:relative;height:clamp(260px,26vw,340px);overflow:hidden;background:var(--navy);box-shadow:var(--shadow-lg);will-change:transform;}
.kkw-chap.is-gauche .kkw-chap-tilt{clip-path:polygon(0 0,100% 0,92% 100%,0 100%);}
.kkw-chap.is-droite .kkw-chap-tilt{border-radius:9999px 0 0 9999px;}
.kkw-chap-tilt::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.28),transparent 55%);opacity:0;transition:opacity .3s ease;}
.kkw-chap-tilt:hover::after{opacity:1;}
.kkw-chap-reveal{position:absolute;inset:0;overflow:hidden;}
.kkw-chap-reveal img{position:absolute;left:0;top:-6%;width:100%;height:112%;max-width:none;object-fit:cover;}
.kkw-chap-rond{position:absolute;z-index:3;bottom:-22px;display:flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:var(--navy);color:var(--gold);border:5px solid #fff;font-family:var(--font-display);font-size:24px;font-weight:800;box-shadow:var(--shadow-md);}
.kkw-chap.is-gauche .kkw-chap-rond{right:13%;}
.kkw-chap.is-droite .kkw-chap-rond{left:9%;background:var(--cyan);color:var(--ink);}
.kkw-chap-tag{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);}
.kkw-chap-texte h3{font-family:var(--font-display);font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:8px 0 0;color:var(--ink);}
.kkw-chap-texte p{margin:12px 0 0;font-size:16px;line-height:1.55;color:rgba(11,17,62,.74);max-width:42ch;}
.kkw-chap-pied{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px;}
.kkw-chap-prix{display:inline-flex;align-items:baseline;gap:6px;padding:9px 18px;border-radius:999px;background:var(--bg-warm);font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--ink);}
.kkw-chap-prix small{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:rgba(11,17,62,.66);}
.kkw-chap-lien{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;font-size:14.5px;box-shadow:0 10px 24px -14px rgba(11,17,62,.7);transition:transform .2s ease,box-shadow .2s ease,gap .2s ease;}
.kkw-chap-lien:hover{transform:translateY(-2px);gap:14px;}
.kkw-chap-aussi{list-style:none;margin:48px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.kkw-chap-aussi a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:14.5px;transition:border-color .2s ease,background .2s ease,gap .2s ease;}
.kkw-chap-aussi a:hover{border-color:var(--cyan);background:rgba(15,156,191,.07);gap:14px;}

/* 5. Comment ca marche : 3 etapes sur une ligne */
.kkw-etapes{background:var(--bg-warm-2);}
.kkw-etapes-tete{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;}
.kkw-etapes-tete .h2{margin:0;}
.kkw-etapes-list{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.kkw-etape{display:flex;align-items:flex-start;gap:14px;}
.kkw-etape-n{flex:0 0 46px;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--cyan);font-family:var(--font-display);font-size:19px;font-weight:800;}
.kkw-etape h3{font-family:var(--font-display);font-size:18px;font-weight:800;margin:0;padding-top:2px;color:var(--ink);}
.kkw-etape p{margin:4px 0 0;font-size:14.5px;line-height:1.5;color:rgba(11,17,62,.72);}

/* 6. Zone : la seule diagonale de la page */
.kkw-zone{background:linear-gradient(180deg,var(--bg-warm-2) 50%,#fff 50%);}
.kkw-zone-bande{position:relative;background:radial-gradient(600px 300px at 88% 18%,rgba(15,156,191,.26),transparent 70%),var(--navy);color:#fff;clip-path:polygon(0 3vw,100% 0,100% calc(100% - 3vw),0 100%);padding:calc(44px + 3vw) 0;}
.kkw-zone-ligne{margin:18px 0 0;font-family:var(--font-display);font-size:clamp(18px,2vw,26px);font-weight:700;line-height:1.55;color:#fff;}
.kkw-zone-ligne a{color:var(--gold-2);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;}
.kkw-zone-ligne a:hover{color:var(--gold);}
.kkw-zone-c{white-space:nowrap;}
.kkw-zone-point{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cyan);margin:0 .45em;vertical-align:middle;}
.kkw-zone-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px;}
.kkw-zone-horaires{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);font-weight:600;font-size:14.5px;color:rgba(255,255,255,.9);}
.kkw-zone-horaires svg{color:var(--cyan);}
.kkw-zone-google{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;font-size:15px;color:#fff;text-decoration:underline;text-underline-offset:4px;transition:gap .2s ease,color .2s ease;}
.kkw-zone-google:hover{color:var(--gold);gap:12px;}
.kkw-zone-sub{margin:14px 0 0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.72);}

/* 7. Avis : rail au doigt (et qui avance avec la page sur ordinateur) */
.kkw-avis--accueil{overflow-x:clip;}
.kkw-avis--accueil .kkw-avis-head{margin-bottom:22px;align-items:flex-end;}
.kkw-avis--accueil .kkw-avis-head .h2{margin-top:8px;}
.kkw-avis-nav{display:flex;gap:10px;}
.kkw-avis-fleche{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);transition:transform .2s ease,border-color .2s ease;}
.kkw-avis-fleche:hover{transform:translateY(-2px);border-color:var(--cyan);}
.kkw-avis-rail{list-style:none;margin:0;padding:10px 4px 18px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;}
.kkw-avis-rail:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:28px;}
.kkw-avis--accueil .kkw-avis-card{scroll-snap-align:start;border-radius:28px;padding:22px 22px;}
.kkw-avis--accueil .kkw-avis-card:nth-child(odd){transform:rotate(-1deg);}
.kkw-avis--accueil .kkw-avis-card:nth-child(even){transform:rotate(.8deg) translateY(8px);}
.kkw-avis--accueil .kkw-avis-card:nth-child(3n){background:var(--navy);border-color:transparent;}
.kkw-avis--accueil .kkw-avis-card:nth-child(3n) .kkw-avis-text,.kkw-avis--accueil .kkw-avis-card:nth-child(3n) .kkw-avis-name{color:#fff;}
.kkw-avis--accueil .kkw-avis-card:nth-child(3n) .kkw-avis-meta{color:rgba(255,255,255,.7);}
.kkw-avis--accueil.is-scrub .kkw-avis-rail{overflow:visible;scroll-snap-type:none;will-change:transform;}
.kkw-avis--accueil.is-scrub .kkw-avis-nav{display:none;}
.kkw-avis-tous{text-align:center;margin:10px 0 0;}
.kkw-avis-tous a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;font-size:15px;color:var(--blue);transition:gap .2s ease;}
.kkw-avis-tous a:hover{gap:12px;}
.kkw-accueil #faq .kkw-faq-list{margin-top:22px;}

/* -- Tablette -- */
@media (max-width:1024px){
  .kkw-preuves-in{flex-direction:column;gap:18px;}
  .kkw-preuves-logos{width:100%;}
  .kkw-chap,.kkw-chap.is-droite{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;}
  .kkw-avis-rail{grid-auto-columns:calc((100% - 24px) / 2);}
  .kkw-entree{border-radius:28px;}
}
/* -- Telephone -- */
@media (max-width:760px){
  .kkw-accueil .kkw-hero-photo{min-height:0;}
  .kkw-accueil .kkw-hero-photo-content{padding-top:104px;padding-bottom:52px;}
  .kkw-entrees{margin-top:-26px;}
  .kkw-entrees-grid{gap:10px;}
  .kkw-entree{flex-direction:column;align-items:flex-start;gap:8px;min-height:0;padding:14px;border-radius:22px;position:relative;}
  .kkw-entree-ic{flex:0 0 auto;width:40px;height:40px;}
  .kkw-entree-txt strong{font-size:17px;}
  .kkw-entree-p{font-size:13px;line-height:1.4;}
  .kkw-entree-go{position:absolute;top:14px;right:14px;width:40px;height:40px;flex:0 0 auto;}
  .kkw-preuves{padding:20px 0 16px;}
  .kkw-preuves-ligne{gap:10px;justify-content:center;width:100%;}
  .kkw-pl-num{font-size:clamp(30px,9.6vw,40px);}
  .kkw-pl-lab{font-size:12px;white-space:normal;line-height:1.25;margin-top:4px;}
  .kkw-pl-etoiles{display:none;}
  .kkw-pl-sep{width:7px;height:7px;}
  .kkw-marquee--accueil{gap:32px;}
  .kkw-marquee--accueil .kkw-partner{height:34px;}
  /* Chapitres en ligne : photo a cote du texte, prix et bouton dessous */
  .kkw-chap,.kkw-chap.is-droite{margin-top:26px;gap:4px 14px;grid-template-columns:128px minmax(0,1fr);grid-template-areas:"media tag" "media titre" "media txt" "pied pied";align-items:start;}
  .kkw-chap.is-droite{grid-template-columns:minmax(0,1fr) 128px;grid-template-areas:"tag media" "titre media" "txt media" "pied pied";}
  .kkw-chap-texte{display:contents;}
  .kkw-chap-media{grid-area:media;}
  .kkw-chap.is-gauche .kkw-chap-media{margin-left:-16px;margin-right:0;}
  .kkw-chap.is-droite .kkw-chap-media{margin-right:-16px;margin-left:0;order:0;}
  .kkw-chap-tilt{height:150px;}
  .kkw-chap.is-gauche .kkw-chap-tilt{clip-path:polygon(0 0,100% 0,86% 100%,0 100%);}
  .kkw-chap.is-droite .kkw-chap-tilt{border-radius:9999px 0 0 9999px;}
  .kkw-chap-rond{width:42px;height:42px;font-size:14px;border-width:3px;bottom:-12px;}
  .kkw-chap.is-gauche .kkw-chap-rond{right:10px;}
  .kkw-chap.is-droite .kkw-chap-rond{left:6px;}
  .kkw-chap-tag{grid-area:tag;font-size:12px;letter-spacing:.12em;}
  .kkw-chap-texte h3{grid-area:titre;font-size:20px;margin:2px 0 0;}
  .kkw-chap-texte p{grid-area:txt;font-size:14px;line-height:1.45;margin:4px 0 0;}
  .kkw-chap-pied{grid-area:pied;margin-top:14px;gap:10px;flex-wrap:nowrap;}
  .kkw-chap-prix{font-size:17px;padding:8px 14px;flex:0 0 auto;}
  .kkw-chap-lien{flex:1;justify-content:center;font-size:14px;padding:0 14px;min-height:44px;}
  .kkw-chap-aussi{margin-top:28px;}
  .kkw-chap-aussi li{width:100%;}
  .kkw-chap-aussi a{width:100%;justify-content:space-between;}
  .kkw-etapes-tete .kkw-hero-cta-main{width:100%;}
  .kkw-etapes-list{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:20px;}
  .kkw-etape-n{flex-basis:40px;width:40px;height:40px;font-size:17px;}
  .kkw-etape h3{font-size:16.5px;}
  .kkw-etape p{font-size:14px;}
  .kkw-zone-bande{clip-path:polygon(0 18px,100% 0,100% calc(100% - 18px),0 100%);padding:52px 0;}
  .kkw-zone-ligne{font-size:16.5px;line-height:1.65;}
  .kkw-zone-point{width:5px;height:5px;margin:0 .35em;}
  .kkw-avis-rail{grid-auto-columns:84%;gap:14px;}
  .kkw-avis-nav{display:none;}
  .kkw-avis--accueil .kkw-avis-card{padding:18px;}
}
/* -- Mouvement reduit : etat final -- */
@media (prefers-reduced-motion:reduce){
  .kkw-marquee--accueil{animation:none;width:auto;flex-wrap:wrap;justify-content:center;gap:14px 30px;}
  .kkw-marquee--accueil .is-dup{display:none;}
  .kkw-preuves .kkw-marquee-wrap{-webkit-mask-image:none;mask-image:none;}
  .kkw-avis-rail{scroll-behavior:auto;}
  .kkw-chap-lien:hover,.kkw-entree:hover{transform:none;}
}

/* ==========================================================================
   ECHELLE TELEPHONE v2 (16/10/2026, retour de Remy sur iPhone)
   Le bloc ECHELLE TELEPHONE d'origine visait l'ancien site. Les blocs
   .kkw-dyn et les pages ajoutees depuis gardaient des cartes au format
   ordinateur (une carte par ecran). Regle appliquee partout a 620 px et moins :
   titres de carte 17-18 px, texte 14,5-15 px, prix 30-34 px au plus, marge
   interieure 16-18 px, icones 36 px, 12 px entre cartes, et aucune carte plus
   haute que 60 % d'un ecran 390 x 844. Rien ici ne touche l'ordinateur.
   ========================================================================== */
@media (max-width:620px){
  /* --- Titres de section : un cran plus bas --- */
  .kkw-dyn .h2{font-size:clamp(21px,5.8vw,24px);}
  .kkw-dyn .kkw-section{padding:32px 0;}

  /* --- Espace pro : l'approche (3 etapes) --- */
  .kkw-dyn .kkw-partner-strong{margin-top:28px;padding:24px 16px 20px;border-radius:20px;}
  .kkw-dyn .kkw-partner-strong .h2{font-size:22px!important;line-height:1.18;}
  .kkw-dyn .kkw-partner-strong-intro{font-size:14.5px;line-height:1.55;margin-top:10px;}
  .kkw-dyn .kkw-partner-steps{gap:12px;margin:20px 0 20px;}
  .kkw-dyn .kkw-partner-step{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center;padding:14px 16px;border-radius:16px;}
  .kkw-dyn .kkw-partner-step-n{grid-column:2;grid-row:1;font-size:12px;line-height:1;}
  .kkw-dyn .kkw-partner-step-icon{grid-column:1;grid-row:1 / span 2;width:36px;height:36px;margin:0;border-radius:50%;}
  .kkw-dyn .kkw-partner-step-icon svg{width:17px;height:17px;}
  .kkw-dyn .kkw-partner-step h3{grid-column:2;grid-row:2;font-size:17px;margin:2px 0 0;}
  .kkw-dyn .kkw-partner-step p{grid-column:1 / -1;font-size:14.5px;line-height:1.5;margin-top:8px;}
  .kkw-dyn .kkw-proprofils{gap:12px;}
  .kkw-dyn .kkw-proprofil{padding:14px 0 0;}
  .kkw-dyn .kkw-proprofil h3,.kkw-dyn .kkw-pro-more-card h4,.kkw-dyn .kkw-pro-card h3{font-size:17px;margin-bottom:6px;}
  .kkw-dyn .kkw-proprofil li,.kkw-dyn .kkw-pro-more-card p,.kkw-dyn .kkw-pro-card p{font-size:14.5px;line-height:1.5;}
  .kkw-dyn .kkw-pro-icon{width:36px;height:36px;}
  .kkw-dyn .kkw-pro-more-grid,.kkw-dyn .kkw-pro-grid{gap:12px;}
  .kkw-dyn .kkw-pro-more-card{padding-top:14px;}
  .kkw-dyn .kkw-protarifs-bloc{padding:16px;}
  .kkw-dyn .kkw-protarifs-bloc h3{font-size:17px;margin-bottom:8px;}
  .kkw-dyn .kkw-protarifs-grid{gap:12px;}

  /* --- Tarifs : formules conseillees --- */
  .kkw-dyn .kkw-formules-grid{gap:12px;}
  .kkw-dyn .kkw-formule-card{padding:18px 16px 16px;border-radius:18px;}
  .kkw-dyn .kkw-formule-card.is-popular{margin-top:10px;}
  .kkw-dyn .kkw-formule-name{font-size:18px;}
  .kkw-dyn .kkw-formule-tag{font-size:13px;margin:2px 0 10px;}
  .kkw-dyn .kkw-formule-price{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-bottom:10px;margin-bottom:10px;}
  .kkw-dyn .kkw-formule-price span{font-size:11.5px;}
  .kkw-dyn .kkw-formule-price strong{font-size:32px;margin-top:0;}
  .kkw-dyn .kkw-formule-incl{font-size:12.5px;padding:4px 10px;margin-bottom:10px;}
  .kkw-dyn .kkw-formule-desc{font-size:14.5px;line-height:1.5;margin-bottom:10px;}
  .kkw-dyn .kkw-formule-feat{gap:5px;margin-bottom:14px;}
  .kkw-dyn .kkw-formule-feat li{font-size:14px;line-height:1.4;}
  .kkw-dyn .kkw-formule-note{font-size:13px;}
  /* Tarifs : carte par vehicule, legende, abonnements, options */
  .kkw-dyn .kkw-pricing-grid,.kkw-dyn .kkw-abo-grid,.kkw-dyn .kkw-pricelegend-grid,.kkw-dyn .kkw-plus-grille{gap:12px;}
  .kkw-dyn .kkw-price-card{padding:16px;border-radius:16px;}
  .kkw-dyn .kkw-price-card h3{font-size:17px;}
  .kkw-dyn .kkw-pricelegend-card{padding:16px;}
  .kkw-dyn .kkw-pricelegend-card h4{font-size:17px;margin-bottom:8px;}
  .kkw-dyn .kkw-pricelegend-card ul{gap:5px;}
  .kkw-dyn .kkw-pricelegend-card li{font-size:14px;}
  .kkw-dyn .kkw-abo-card{padding:18px 16px;}
  .kkw-dyn .kkw-abo-name{font-size:18px;}
  .kkw-dyn .kkw-abo-feat{gap:5px;}
  .kkw-dyn .kkw-abo-feat li{font-size:14px;}
  .kkw-dyn .kkw-abo-icon{width:36px;height:36px;}
  .kkw-dyn .kkw-plus-carte{padding:14px 16px;}
  .kkw-dyn .kkw-plus-carte h4{font-size:16.5px;}
  .kkw-dyn .kkw-plus-carte p{font-size:14.5px;}
  /* Estimateur : un outil, pas une carte ; on resserre */
  .kkw-dyn .kkw-estim-card{margin-top:22px;padding:16px;gap:16px;border-radius:18px;}
  .kkw-dyn .kkw-estim-card .kkw-pills{gap:6px;}
  .kkw-dyn .kkw-estim-card .kkw-pill{padding:8px 12px;font-size:13.5px;min-height:40px;}
  .kkw-dyn .kkw-estim-result{padding:16px;}
  .kkw-dyn .kkw-estim-price{font-size:32px;margin:4px 0;}
  .kkw-dyn .kkw-estim-result .kkw-feat{gap:4px;}
  .kkw-dyn .kkw-estim-result .kkw-feat li{font-size:13.5px;}
  .kkw-dyn .kkw-mini-label{margin-bottom:8px;}
  .kkw-dyn .kkw-packvente-media{min-height:120px;}
  .kkw-dyn .kkw-packvente-body{padding:16px;}
  .kkw-dyn .kkw-packvente-body .h2{font-size:21px;}
  .kkw-dyn .kkw-packvente-desc{font-size:14.5px;line-height:1.5;margin:8px 0 12px;}
  .kkw-dyn .kkw-packvente-feat{gap:5px;margin-bottom:14px;}
  .kkw-dyn .kkw-packvente-feat li{font-size:14px;}
  .kkw-dyn .kkw-packvente-actions{gap:12px;flex-wrap:nowrap;}
  .kkw-dyn .kkw-packvente-actions .kkw-hero-cta-main,.kkw-dyn .kkw-packvente-actions .kkw-btn{padding:11px 14px;font-size:13.5px;}
  .kkw-dyn .kkw-packvente-price{font-size:24px;white-space:nowrap;}
  /* Estimateur : le cadre exterieur s'efface (les choix posent sur le fond),
     seule l'estimation reste une carte */
  .kkw-dyn .kkw-estim-card{background:none;border:0;box-shadow:none;padding:0;}

  /* --- Avis (toutes pages) --- */
  .kkw-dyn .kkw-avis-grid{gap:12px;}
  .kkw-dyn .kkw-avis-card{padding:16px;gap:10px;border-radius:16px;}
  .kkw-dyn .kkw-avis-text{font-size:14.5px;line-height:1.55;}
  .kkw-dyn .kkw-avis-head{margin-bottom:18px;}

  /* --- FAQ --- */
  .kkw-dyn .kkw-faq-list{gap:10px;}
  .kkw-dyn .kkw-faq-q{padding:14px 16px;font-size:15px;}
  .kkw-dyn .kkw-faq-a{font-size:14.5px;}

  /* --- Lignes photo + texte (savoir-faire, villes, landings pro) --- */
  .kkw-dyn .kkw-presta-row{padding:16px 0;gap:14px;}
  .kkw-dyn .kkw-presta-row h2,.kkw-dyn .kkw-presta-row h3{font-size:21px!important;line-height:1.2;}
  .kkw-dyn .kkw-presta-desc{font-size:14.5px;line-height:1.55;}
  .kkw-dyn .kkw-presta-feat li{font-size:14px;}
  .kkw-dyn .kkw-presta-row p{font-size:14.5px;line-height:1.55;}
  .kkw-dyn .kkw-presta-media{aspect-ratio:3/1;}
  /* Raisons (filet cyan), etapes en ronds, ambitions */
  .kkw-dyn .kkw-diff-grid,.kkw-dyn .kkw-how-grid,.kkw-dyn .kkw-ambitions-grid{gap:12px;margin-top:18px;}
  .kkw-dyn .kkw-diff-card{padding:0 0 0 14px;}
  .kkw-dyn .kkw-diff-card h3,.kkw-dyn .kkw-how-card h3,.kkw-dyn .kkw-ambition-card h3{font-size:17px;}
  .kkw-dyn .kkw-diff-card p,.kkw-dyn .kkw-how-card p,.kkw-dyn .kkw-ambition-card p{font-size:14.5px;line-height:1.5;}
  .kkw-dyn .kkw-diff-icon,.kkw-dyn .kkw-how-icon{width:36px;height:36px;margin-bottom:8px;}
  .kkw-dyn .kkw-tl-body{padding:14px 16px;}
  .kkw-dyn .kkw-tl-body h3{font-size:17px;}
  .kkw-dyn .kkw-tl-body p{font-size:14.5px;}
  /* Bandes de chiffres */
  .kkw-dyn .kkw-edito-stats{gap:10px;}
  .kkw-dyn .kkw-trust-val{font-size:18px;}
  /* Appel final : une bande, pas un ecran */
  .kkw-dyn .kkw-section.kkw-final{padding:30px 0;}
  .kkw-dyn .kkw-final-title{font-size:24px;margin-top:10px;}
  .kkw-dyn .kkw-final-sub{font-size:14.5px;margin-top:8px;}
  .kkw-dyn .kkw-final-actions{margin-top:16px;gap:8px;}

  /* --- Pied de page : zone et contact en lignes qui se suivent --- */
  .kkw-dyn .kkw-footer{padding-top:32px;}
  .kkw-dyn .kkw-footer-logo{height:48px;margin-bottom:10px;}
  .kkw-dyn .kkw-footer-about{margin-bottom:12px;}
  .kkw-dyn .kkw-footer-grid{gap:20px 16px;}
  .kkw-dyn .kkw-footer-grid > :nth-child(4),.kkw-dyn .kkw-footer-grid > :nth-child(5){grid-column:1 / -1;}
  .kkw-dyn .kkw-footer-grid > :nth-child(4) ul,.kkw-dyn .kkw-footer-grid > :nth-child(5) ul{display:flex;flex-wrap:wrap;column-gap:18px;}
  .kkw-dyn .kkw-footer-grid > :first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;}
  .kkw-dyn .kkw-footer-grid > :first-child .kkw-footer-about{grid-column:1 / -1;grid-row:2;margin:10px 0 0;max-width:none;}
  .kkw-dyn .kkw-footer-logo{margin-bottom:0;}
  .kkw-dyn .kkw-footer-social{justify-content:flex-end;}
  .kkw-dyn .kkw-footer-bottom{margin-top:18px;padding-top:14px;}
  .kkw-dyn .kkw-footer ul li,.kkw-dyn .kkw-footer ul li a,.kkw-dyn .kkw-footer-navbtn{min-height:38px;}
  .kkw-dyn .kkw-footer h3{margin-bottom:4px;}
}

/* Barre collante Appeler / Reserver : le dernier bloc ne passe plus dessous.
   Hauteur de la barre (bouton 46 a 50 px + 20 px de marge) + safe-area. */
@media (max-width:860px){
  body:not(:has(.kkw-resa)) .kkw-footer{padding-bottom:calc(86px + env(safe-area-inset-bottom));}
}

/* --------------------------------------------------------------------------
   ACCUEIL TELEPHONE (<= 620 px) : attirer, pas tout dire. L'ordinateur ne
   bouge pas. Aucun texte utile a Google n'est cache : on reorganise.
   -------------------------------------------------------------------------- */
@media (max-width:620px){
  /* Hero : la photo se voit, le voile ne couvre que le bas (le texte) */
  /* La photo (600 x 810) est posee en haut a sa taille exacte : la voiture et Remy
     restent nets et entiers ; le texte commence sur le sol, la ou le degrade
     rejoint le marine du hero. Aucun voile sur la voiture (0,35 au plus en haut,
     pour lire le logo). */
  .kkw-accueil .kkw-hero-photo{min-height:0;background:#0B113E;}
  .kkw-accueil .kkw-hero-photo-bg{bottom:auto;height:135vw;}
  .kkw-accueil .kkw-hero-photo-bg img{object-position:50% 0;}
  .kkw-accueil .kkw-hero-photo-veil{background:linear-gradient(180deg,rgba(7,12,24,.35) 0%,rgba(7,12,24,0) 14%,rgba(11,17,62,0) 50%,rgba(11,17,62,.6) 68%,#0B113E 100%);}
  .kkw-accueil .kkw-hero-photo-content{padding-top:76vw;padding-bottom:18px;}
  .kkw-accueil .kkw-hero-photo .kkw-h1-xl{font-size:clamp(26px,7.4vw,30px);}
  .kkw-accueil .kkw-hero-photo .kkw-h1{text-shadow:0 2px 14px rgba(0,0,0,.45);}
  .kkw-accueil .kkw-hero-photo .kkw-h1-lieu{margin-bottom:6px;}
  .kkw-accueil .kkw-hero-photo .kkw-hero-sub{margin-top:8px;font-size:14px;text-shadow:0 1px 8px rgba(0,0,0,.5);}
  .kkw-accueil .kkw-hero-photo .kkw-cine-actions{margin-top:14px;}
  .kkw-accueil .kkw-hero-photo .kkw-cine-meta{margin-top:10px;}

  /* Particulier / Pro : juste sous le hero, sur fond clair (plus de chevauchement sombre) */
  .kkw-entrees{margin-top:0;padding-top:14px;}

  /* Preuves : chiffres sur une ligne, logos sur une ligne fine */
  .kkw-preuves{padding:16px 0 12px;}
  .kkw-preuves-in{gap:10px;}
  .kkw-preuves-label{font-size:10.5px;margin-bottom:6px;}
  .kkw-marquee--accueil .kkw-partner{height:26px;}

  /* Prestations : liste compacte (vignette 72 px, titre, phrase, prix, chevron) */
  .kkw-chapitres .kkw-chap,.kkw-chapitres .kkw-chap.is-droite{position:relative;margin-top:6px;padding:10px 0;border-bottom:1px solid var(--line);
    grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"media titre titre" "media txt txt" "media prix go";gap:2px 12px;align-items:center;}
  .kkw-chapitres .kkw-chap-media,.kkw-chapitres .kkw-chap.is-gauche .kkw-chap-media,.kkw-chapitres .kkw-chap.is-droite .kkw-chap-media{margin:0;order:0;align-self:start;}
  .kkw-chapitres .kkw-chap-tilt,.kkw-chapitres .kkw-chap.is-gauche .kkw-chap-tilt,.kkw-chapitres .kkw-chap.is-droite .kkw-chap-tilt{width:72px;height:72px;border-radius:16px;clip-path:none;box-shadow:none;}
  .kkw-chapitres .kkw-chap-rond{display:none;}
  .kkw-chapitres .kkw-chap-tag{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .kkw-chapitres .kkw-chap-texte h3{font-size:17px;margin:0;padding-top:2px;line-height:1.2;}
  .kkw-chapitres .kkw-chap-texte p{font-size:13.5px;line-height:1.4;margin:2px 0 0;}
  .kkw-chapitres .kkw-chap-pied{display:contents;}
  .kkw-chapitres .kkw-chap-prix{grid-area:prix;justify-self:start;padding:2px 10px;font-size:14.5px;white-space:nowrap;margin-top:4px;}
  .kkw-chapitres .kkw-chap-prix small{font-size:12px;}
  .kkw-chapitres .kkw-chap-lien{grid-area:go;width:36px;height:36px;min-height:36px;padding:0;justify-content:center;border-radius:50%;font-size:0;gap:0;box-shadow:none;}
  .kkw-chapitres .kkw-chap-lien svg{width:16px;height:16px;}
  .kkw-chapitres .kkw-chap-lien{justify-self:end;margin-top:4px;}
  .kkw-chapitres .kkw-chap-lien::after{content:"";position:absolute;inset:0;}
  .kkw-chapitres .kkw-chap-aussi{margin-top:16px;justify-content:flex-start;gap:8px;}
  .kkw-chapitres .kkw-chap-aussi li{width:auto;}
  .kkw-chapitres .kkw-chap-aussi{gap:6px;}
  .kkw-chapitres .kkw-chap-aussi a{width:auto;min-height:40px;padding:0 11px;font-size:13px;gap:6px;}
  .kkw-chapitres .kkw-chap-aussi a svg{display:none;}

  /* Comment ca marche : 3 lignes */
  .kkw-etapes-tete .kkw-hero-cta-main{display:none;}
  .kkw-etapes-list{gap:10px;margin-top:14px;}
  .kkw-etape{gap:12px;align-items:center;}
  .kkw-etape-n{flex-basis:32px;width:32px;height:32px;font-size:15px;}
  .kkw-etape h3{display:inline;font-size:15.5px;padding:0;}
  .kkw-etape p{display:inline;font-size:13.5px;margin:0;}
  .kkw-etape h3::after{content:"\00B7";color:var(--cyan);font-weight:800;margin:0 6px;}

  /* Zone : fond creme, un paragraphe, bouton fiche Google (la bande marine reste l'appel final) */
  .kkw-zone{background:var(--bg-warm-2);}
  .kkw-zone-bande{background:none;color:var(--ink);clip-path:none;padding:30px 0 34px;}
  .kkw-zone-bande .h2{color:var(--ink)!important;}
  .kkw-zone-bande .eyebrow{color:var(--blue)!important;}
  .kkw-zone-ligne{color:var(--ink);font-size:15px;line-height:1.6;font-weight:600;margin-top:10px;}
  .kkw-zone-ligne a{color:var(--blue);text-decoration-thickness:1.5px;text-underline-offset:3px;}
  .kkw-zone-c{white-space:normal;}
  .kkw-zone-actions{margin-top:14px;gap:10px;}
  .kkw-zone-horaires{color:var(--ink);border-color:var(--line);font-size:13.5px;min-height:40px;}
  .kkw-zone-google{color:#fff;background:var(--navy);text-decoration:none;padding:0 18px;border-radius:999px;font-size:14px;}
  .kkw-zone-google:hover{color:var(--gold);}
  .kkw-zone-sub{color:rgba(11,17,62,.7);font-size:13.5px;margin-top:10px;}

  /* Avis : 2 avis l'un sous l'autre, le lien vers tous les autres sur Google */
  .kkw-avis--accueil .kkw-avis-rail{display:flex;flex-direction:column;gap:12px;overflow:visible;padding:0;scroll-snap-type:none;transform:none!important;}
  .kkw-avis--accueil .kkw-avis-card:not(:nth-child(3)):not(:nth-child(8)){display:none;}
  .kkw-avis--accueil .kkw-avis-card:nth-child(3n){background:var(--bg-warm-2);border-color:var(--line);}
  .kkw-avis--accueil .kkw-avis-card:nth-child(3n) .kkw-avis-text,.kkw-avis--accueil .kkw-avis-card:nth-child(3n) .kkw-avis-name{color:var(--ink);}
  .kkw-avis--accueil .kkw-avis-card:nth-child(3n) .kkw-avis-meta{color:rgba(11,17,62,.6);}
  .kkw-avis--accueil .kkw-avis-card,.kkw-avis--accueil .kkw-avis-card:nth-child(odd),.kkw-avis--accueil .kkw-avis-card:nth-child(even){transform:none;padding:16px;border-radius:18px;}
  .kkw-avis--accueil .kkw-avis-head{margin-bottom:14px;}
  .kkw-avis-tous{margin-top:6px;}

  .kkw-accueil #faq .kkw-faq-list{margin-top:14px;}
  .kkw-accueil .kkw-section{padding:24px 0;}
  /* Hero : le bouton et la note Google sur la meme ligne */
  .kkw-accueil .kkw-hero-photo-content{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;}
  .kkw-accueil .kkw-hero-photo-content > *{flex:1 1 100%;}
  .kkw-accueil .kkw-hero-photo-content > .kkw-hero-in:nth-child(3){flex:0 1 auto;}
  .kkw-accueil .kkw-hero-photo-content > .kkw-hero-in:nth-child(4){flex:1 1 0;min-width:0;}
  .kkw-accueil .kkw-hero-photo .kkw-cine-actions .kkw-hero-cta-main{width:auto;padding:12px 16px;font-size:14px;}
  .kkw-accueil .kkw-hero-photo .kkw-cine-meta{margin-top:14px;}
  .kkw-accueil .kkw-hero-photo .kkw-google{padding:6px 10px;gap:8px;}
  /* Zone : horaires en simple ligne */
  .kkw-zone-horaires{border:0;padding:0;min-height:0;}
  .kkw-zone-actions{flex-direction:column;align-items:flex-start;}
  .kkw-accueil .kkw-hero-photo .kkw-google [style*="display:inline-flex"]{display:none!important;}  /* etoiles decoratives : 5,0 et +50 avis restent */
  .kkw-accueil .kkw-hero-photo .kkw-google{max-width:100%;}
  .kkw-chapitres .kkw-chap:not(:has(.kkw-chap-prix)){grid-template-areas:"media titre titre" "media txt go";}
  /* Logos partenaires : masques sur telephone (decoratifs, l'espace pro les montre) */
  .kkw-accueil .kkw-preuves-logos{display:none;}
  /* Filets dores sous les titres : decoratifs */
  .kkw-accueil .kkw-section .h2 + span[style*="height:2px"]{display:none!important;}
  .kkw-accueil .kkw-ba-caption{margin-top:10px;font-size:13px;}
  .kkw-accueil .kkw-ba-thumbs{margin-top:10px;}
  .kkw-accueil .kkw-final-actions .kkw-hero-cta-main{padding:12px 16px;font-size:14px;}
  .kkw-accueil .kkw-final-actions{column-gap:14px;}
  .kkw-avis--accueil .kkw-avis-card,.kkw-avis--accueil .kkw-avis-card:nth-child(odd),.kkw-avis--accueil .kkw-avis-card:nth-child(even){padding:14px 16px;gap:8px;}
  .kkw-accueil .kkw-zone-bande{padding:24px 0 26px;}
  /* Deux consignes d'interface (pas du contenu) : « glissez le curseur » est deja
     dans le titre, « appelez-nous » est dans la barre du bas. */
  .kkw-accueil #avant-apres .h2 ~ p[style],.kkw-accueil #faq .h2 ~ p[style]{display:none;}
  .kkw-accueil #faq .kkw-faq-q{padding:12px 14px;font-size:14.5px;}
  /* Titres de section : filet dore et paragraphe d'intro resserres */
  .kkw-accueil .kkw-section .h2 + span[style*="height:2px"]{margin-top:10px!important;}
  .kkw-accueil .kkw-section .h2 ~ p[style]{margin-top:10px!important;font-size:14px!important;line-height:1.5!important;}
  .kkw-accueil .kkw-ba-stage{margin-top:16px;}
  /* Appel final : bouton et telephone sur une ligne */
  .kkw-accueil .kkw-final-eyebrow{font-size:11px;}
  .kkw-accueil .kkw-final-actions{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;}
}

/* ==========================================================================
   v4 ORDINATEUR (16/10/2026 soir, retour de Remy sur ordinateur)
   « Trop de boutons, Particulier / Pro pas en premiere page, plus assez de 3D,
   l'espace pro c'est le bazar ». Le telephone (<= 620 px) est valide : rien
   ici ne le touche, sauf le bloc « Pour qui » de l'espace pro (nouveau HTML,
   echelle telephone en fin de bloc).
   ========================================================================== */

/* -- Entrees Particulier / Pro : photo et texte du bouton, masques par defaut -- */
.kkw-entree-photo,.kkw-entree-go-txt{display:none;}

/* -- Espace pro, « Pour qui » : 4 lignes alternees (toutes largeurs) -- */
.kkw-pq{display:flex;flex-direction:column;gap:clamp(28px,4vw,56px);margin-top:36px;}
.kkw-pq-ligne{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center;}
.kkw-pq-ligne.is-droite{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.kkw-pq-ligne.is-droite .kkw-pq-media{order:2;}
.kkw-pq-media{position:relative;height:clamp(260px,24vw,330px);overflow:hidden;border-radius:28px;background:var(--navy);box-shadow:var(--shadow-lg);will-change:transform;}
.kkw-pq-ligne.is-gauche .kkw-pq-media{border-radius:28px 160px 28px 28px;}
.kkw-pq-ligne.is-droite .kkw-pq-media{border-radius:160px 28px 28px 28px;}
.kkw-pq-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.kkw-pq-media::after,.kkw-entree-photo::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.28),transparent 55%);opacity:0;transition:opacity .3s ease;}
.kkw-pq-media:hover::after,.kkw-entree:hover .kkw-entree-photo::after{opacity:1;}
.kkw-pq-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--gold);}
.kkw-pq-texte h3{font-family:var(--font-display);font-size:clamp(24px,2.6vw,34px);font-weight:800;line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0;}
.kkw-pq-texte p{margin:12px 0 0;font-size:17px;line-height:1.55;color:rgba(11,17,62,.74);max-width:40ch;}
.kkw-pq-lien{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:10px;padding:0;background:none;border:0;font:inherit;font-weight:700;font-size:15.5px;color:var(--blue);cursor:pointer;text-align:left;transition:gap .2s ease,color .2s ease;}
.kkw-pq-lien:hover{gap:13px;color:var(--ink);}
@media (max-width:620px){
  .kkw-pq{gap:26px;margin-top:20px;}
  .kkw-pq-ligne,.kkw-pq-ligne.is-droite{grid-template-columns:minmax(0,1fr);gap:12px;}
  .kkw-pq-ligne.is-droite .kkw-pq-media{order:0;}
  .kkw-pq-media{height:140px;border-radius:22px;}
  .kkw-pq-ligne.is-gauche .kkw-pq-media{border-radius:22px 90px 22px 22px;}
  .kkw-pq-ligne.is-droite .kkw-pq-media{border-radius:90px 22px 22px 22px;}
  .kkw-pq-texte{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center;}
  .kkw-pq-ic{width:36px;height:36px;}
  .kkw-pq-ic svg{width:18px;height:18px;}
  .kkw-pq-texte h3{font-size:18px;margin:0;}
  .kkw-pq-texte p,.kkw-pq-lien{grid-column:1 / -1;}
  .kkw-pq-texte p{font-size:14.5px;margin-top:8px;}
  .kkw-pq-lien{font-size:14.5px;margin-top:2px;}
}

/* -- Tablette (621-860) : les pastilles ne chevauchent plus le hero -- */
@media (min-width:621px) and (max-width:860px){
  .kkw-entrees{margin-top:0;padding-top:22px;}
}

@media (min-width:861px){
  /* 1. Le hero occupe tout le premier ecran, un seul bouton */
  .kkw-accueil .kkw-hero-photo{min-height:clamp(640px,100svh,900px);height:clamp(640px,100svh,900px);perspective:1200px;}
  .kkw-accueil .kkw-hero-photo-content{padding-top:92px;padding-bottom:64px;transform-style:preserve-3d;}
  .kkw-accueil .kkw-hero-depth{inset:-26px;will-change:transform;}
  .kkw-accueil .kkw-cine-actions{margin-top:32px;}
  .kkw-accueil .kkw-cine-meta{margin-top:22px;}
  .kkw-accueil .kkw-hero-scroll{display:inline-flex;align-items:center;justify-content:center;z-index:3;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);color:#fff;background:rgba(7,12,24,.25);backdrop-filter:blur(4px);transition:border-color .2s ease,background .2s ease;}
  .kkw-accueil .kkw-hero-scroll:hover{border-color:var(--gold);background:rgba(7,12,24,.5);}
  /* Un seul bouton plein par ecran : le bouton du menu attend qu'on quitte le haut de l'accueil et de l'espace pro */
  .kkw-app:is(:has(.kkw-accueil),:has(#pour-qui)) .kkw-header:not(.is-scrolled) .kkw-header-cta .kkw-btn-gold{opacity:0;visibility:hidden;}
  .kkw-app:is(:has(.kkw-accueil),:has(#pour-qui)) .kkw-header-cta .kkw-btn-gold{transition:opacity .3s ease,visibility .3s ease;}

  /* 2. Particulier / Pro : premiere section, fond creme, deux grands blocs photo */
  .kkw-entrees{margin-top:0;background:var(--bg-warm);padding:64px 0;}
  .kkw-entrees-grid{gap:28px;}
  .kkw-entree{flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:28px;overflow:hidden;min-height:0;position:relative;box-shadow:var(--shadow-lg);will-change:transform;}
  .kkw-entree:hover{transform:none;}
  .kkw-entree-photo{display:block;position:relative;height:clamp(220px,19vw,280px);overflow:hidden;background:var(--navy);}
  .kkw-entree-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .kkw-entree-ic{position:absolute;left:30px;top:calc(clamp(220px,19vw,280px) - 31px);z-index:3;flex:none;width:62px;height:62px;border:4px solid #fff;box-shadow:var(--shadow-md);}
  .kkw-entree.is-pro .kkw-entree-ic{border-color:var(--navy);background:#16205a;}
  .kkw-entree-txt{padding:44px 32px 0;}
  .kkw-entree-txt strong{font-size:clamp(24px,2.2vw,30px);}
  .kkw-entree-p{font-size:16px;margin-top:10px;max-width:44ch;}
  .kkw-entree-go{align-self:flex-start;flex:none;width:auto;height:auto;min-height:48px;margin:20px 32px 30px;padding:0 22px;gap:10px;border-radius:999px;background:transparent;border:1.5px solid var(--ink);color:var(--ink);font-weight:700;font-size:15px;transition:gap .2s ease;}
  .kkw-entree.is-pro .kkw-entree-go{border-color:rgba(255,255,255,.55);color:#fff;}
  .kkw-entree:hover .kkw-entree-go{transform:none;gap:14px;background:rgba(15,156,191,.1);}
  .kkw-entree-go-txt{display:inline;}

  /* 3. Moins de boutons : les liens des chapitres deviennent du texte avec fleche */
  .kkw-chap-lien,.kkw-chap-aussi a{min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--blue);font-weight:700;}
  .kkw-chap-lien:hover,.kkw-chap-aussi a:hover{transform:none;background:none;color:var(--ink);}
  .kkw-chap-aussi{gap:8px 34px;margin-top:40px;}
}
/* Ordinateur etroit (861-1180) : Remy passe a gauche, voile plus dense sous le texte */
@media (min-width:861px) and (max-width:1180px){
  .kkw-accueil .kkw-hero-photo-bg img{object-position:85% 50%;}
  .kkw-accueil .kkw-hero-photo-content > *{max-width:min(470px,100%);}
  .kkw-accueil .kkw-hero-photo .kkw-h1-xl{font-size:clamp(40px,5.2vw,58px);}
  .kkw-accueil .kkw-h1-lieu{white-space:normal;}
  .kkw-accueil .kkw-hero-photo-veil{background:linear-gradient(180deg,rgba(7,12,24,.6) 0%,transparent 16%),linear-gradient(90deg,rgba(7,12,24,.1) 0%,rgba(7,12,24,.5) 42%,rgba(7,12,24,.86) 100%),linear-gradient(0deg,rgba(7,12,24,.75),transparent 48%);}
}
@media (min-width:861px) and (prefers-reduced-motion:reduce){
  .kkw-accueil .kkw-hero-scroll{animation:none;}
}
