/* ==========================================================
   KAZAMOI - HOME.CSS
   Bloc 2 Hero + base sections homepage
   ========================================================== */

/* -------------------------
   Base homepage
-------------------------- */

.kz-home{
  width:100%;
  background:#FFFFFF;
}

.kz-home-section{
  position:relative;
  width:100%;
}

.kz-home-orientation,
.kz-home-process,
.kz-home-biens,
.kz-home-pourquoi-kazamoi,
.kz-home-locataire,
.kz-home-proprietaire,
.kz-home-reassurance,
.kz-home-faq{
  background:#FFFFFF;
}


/* ==========================================================
   WRAPPERS HOMEPAGE
   ========================================================== */

.kz-home-hero > .kz-container,
.kz-home-orientation > .kz-container,
.kz-home-process > .kz-container,
.kz-home-biens > .kz-container,
.kz-home-pourquoi-kazamoi > .kz-container,
.kz-home-locataire > .kz-container,
.kz-home-proprietaire > .kz-container,
.kz-home-reassurance > .kz-container,
.kz-home-faq > .kz-container{
  width:100%;
  max-width:1440px;
  margin-inline:auto;
  padding-left:72px;
  padding-right:72px;
}

@media (max-width: 1180px){
  .kz-home-hero > .kz-container,
  .kz-home-orientation > .kz-container,
  .kz-home-process > .kz-container,
  .kz-home-biens > .kz-container,
  .kz-home-pourquoi-kazamoi > .kz-container,
  .kz-home-locataire > .kz-container,
  .kz-home-proprietaire > .kz-container,
  .kz-home-reassurance > .kz-container,
  .kz-home-faq > .kz-container{
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }
}

@media (max-width: 640px){
  .kz-home-hero > .kz-container,
  .kz-home-orientation > .kz-container,
  .kz-home-process > .kz-container,
  .kz-home-biens > .kz-container,
  .kz-home-pourquoi-kazamoi > .kz-container,
  .kz-home-locataire > .kz-container,
  .kz-home-proprietaire > .kz-container,
  .kz-home-reassurance > .kz-container,
  .kz-home-faq > .kz-container{
    padding-left:18px;
    padding-right:18px;
  }
}
/* ==========================================================
   BLOC 2 - HERO
   ========================================================== */

.kz-home-hero{
  padding:32px 0 72px;
  background:#FFFFFF;
}

.kz-hero{
  display:grid;
  grid-template-columns:52% 48%;
  align-items:start;
  gap:64px;
  min-height:0;
}

.kz-hero__content{
  max-width:620px;
}

.kz-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 16px;
  margin-bottom:18px;
  border-radius:12px;
  background:#EAF7F5;
  color:var(--kz-accent);
  font-size:14px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}

.kz-hero__title{
  margin:0 0 24px;
  font-size:56px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.03em;
  color:var(--kz-text);
}

.kz-hero__text{
  margin:0 0 32px;
  max-width:620px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5A5A5A;
}

.kz-hero__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin-bottom:28px;
}

.kz-hero__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 28px;
  border-radius:14px;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  line-height:1;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease,
    border-color .2s ease,
    color .2s ease;
}

.kz-hero__cta--primary{
  background:var(--kz-accent);
  color:#FFFFFF;
  box-shadow:0 8px 20px rgba(62,164,157,.18);
}

.kz-hero__cta--primary:hover{
  background:#35938d;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(62,164,157,.22);
}

.kz-hero__cta--secondary{
  background:#FFFFFF;
  color:var(--kz-dark);
  border:1px solid #DDE7E5;
}

.kz-hero__cta--secondary:hover{
  background:#F8FBFA;
  border-color:#C9DAD6;
}

/* -------------------------
   Hero benefits
-------------------------- */

.kz-hero__benefits{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 20px;
  margin:0;
  padding:24px 0 0;
  list-style:none;
  border-top:1px solid #EAEAEA;
}

.kz-hero__benefit{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:28px;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  color:#4F4F4F;
}

.kz-hero__benefit-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#F1F8F7;
  color:var(--kz-accent);
  flex-shrink:0;
}

.kz-hero__benefit-icon svg{
  width:14px;
  height:14px;
  stroke:currentColor;
}

/* -------------------------
   Hero media
-------------------------- */

.kz-hero__media{
  position:relative;
}

.kz-hero__visual-card{
  position:relative;
  border-radius:24px;
  background:linear-gradient(180deg, #FFFFFF 0%, #F8FBFA 100%);
  box-shadow:0 18px 40px rgba(21, 34, 33, 0.10);
  overflow:hidden;
  padding:0;
}

.kz-hero__image-wrap{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  min-height:560px;
  background:#F8FBFA;
}

.kz-hero__image{
  display:block;
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  object-position:center;
}

/* -------------------------
   Floating cards
-------------------------- */

.kz-hero__floating{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:14px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(21,34,33,.12);
  color:var(--kz-text);
}

.kz-hero__floating--top{
  top:20px;
  right:20px;
}

.kz-hero__floating--bottom{
  right:20px;
  bottom:20px;
  padding:0;
  background:transparent;
  box-shadow:none;
}

.kz-hero__floating-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#F1F8F7;
  color:var(--kz-accent);
  flex-shrink:0;
}

.kz-hero__floating-badge svg{
  width:18px;
  height:18px;
  stroke:currentColor;
}

.kz-hero__floating > span:last-child{
  font-size:15px;
  font-weight:600;
  color:var(--kz-text);
  line-height:1.2;
}

/* -------------------------
   Status card
-------------------------- */

.kz-hero__status-card{
  min-width:220px;
  padding:16px 18px;
  border-radius:14px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(21,34,33,.12);
}

.kz-hero__status-title{
  margin-bottom:10px;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  color:var(--kz-text);
}

.kz-hero__status-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

.kz-hero__status-list li{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:500;
  line-height:1.35;
  color:#4F4F4F;
}

.kz-hero__status-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:6px;
  background:#EAF7F5;
  color:var(--kz-accent);
  font-size:12px;
  font-weight:700;
  flex-shrink:0;
}

/* ==========================================================
   Placeholders utiles pour les prochains blocs
   ========================================================== */

.kz-home-orientation,
.kz-home-process,
.kz-home-biens,
.kz-home-pourquoi-kazamoi,
.kz-home-locataire,
.kz-home-proprietaire,
.kz-home-reassurance,
.kz-home-faq{
  padding:88px 0;
}

/* ==========================================================
   Responsive
   ========================================================== */

@media (max-width: 1180px){

  .kz-home-hero{
    padding:72px 0 64px;
  }

  .kz-hero{
    gap:40px;
    min-height:auto;
  }

  .kz-hero__title{
    font-size:48px;
  }

  .kz-hero__image-wrap,
  .kz-hero__image{
    min-height:500px;
  }
}

@media (max-width: 980px){

  .kz-home-hero{
    padding:56px 0;
  }

  .kz-hero{
    grid-template-columns:1fr;
    gap:36px;
    min-height:auto;
  }

  .kz-hero__content{
    max-width:none;
  }

  .kz-hero__title{
    font-size:42px;
  }

  .kz-hero__media{
    order:2;
  }

  .kz-hero__image-wrap,
  .kz-hero__image{
    min-height:460px;
  }

  .kz-home-orientation,
  .kz-home-process,
  .kz-home-biens,
  .kz-home-pourquoi-kazamoi,
  .kz-home-locataire,
  .kz-home-proprietaire,
  .kz-home-reassurance,
  .kz-home-faq{
    padding:72px 0;
  }
}

@media (max-width: 640px){

  .kz-home-hero{
    padding:44px 0;
  }

  .kz-hero__title{
    font-size:36px;
  }

  .kz-hero__text{
    font-size:17px;
  }

  .kz-hero__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .kz-hero__cta{
    width:100%;
  }

  .kz-hero__benefits{
    grid-template-columns:1fr;
  }

  .kz-hero__floating--top{
    top:16px;
    right:16px;
  }

  .kz-hero__floating--bottom{
    right:16px;
    bottom:16px;
  }

  .kz-hero__status-card{
    min-width:190px;
  }

  .kz-hero__image-wrap,
  .kz-hero__image{
    min-height:380px;
  }

  .kz-home-orientation,
  .kz-home-process,
  .kz-home-biens,
  .kz-home-pourquoi-kazamoi,
  .kz-home-locataire,
  .kz-home-proprietaire,
  .kz-home-reassurance,
  .kz-home-faq{
    padding:56px 0;
  }
}
 /* ==========================================================
   BLOC 3 - ORIENTATION DES PARCOURS
   ========================================================== */

.kz-home-orientation{
  padding:88px 0;
  background:#FFFFFF;
}

.kz-orientation{
  width:100%;
}

.kz-orientation__head{
  max-width:760px;
  margin:0 auto 56px;
  text-align:center;
}

.kz-orientation__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-orientation__subtitle{
  margin:0 auto;
  max-width:760px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-orientation__grid{
  display:grid;
  grid-template-columns:1.08fr 1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.kz-orientation__card{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:30px;
  border:1px solid #E7EFED;
  border-radius:22px;
  background:#FFFFFF;
  box-shadow:0 10px 28px rgba(19, 37, 35, 0.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kz-orientation__card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(19, 37, 35, 0.08);
  border-color:#DCE9E6;
}

.kz-orientation__card--primary{
  background:#F7FCFB;
  border-color:#CFE7E2;
}

.kz-orientation__icon-wrap{
  margin-bottom:20px;
}

.kz-orientation__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:#F3F8F7;
  color:var(--kz-dark);
}

.kz-orientation__card--primary .kz-orientation__icon{
  background:#EAF7F5;
  color:var(--kz-accent);
}

.kz-orientation__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}

.kz-orientation__card-title{
  margin:0 0 14px;
  font-size:22px;
  font-weight:700;
  line-height:1.20;
  color:var(--kz-text);
}

.kz-orientation__card-text{
  margin:0;
  font-size:16px;
  font-weight:400;
  line-height:1.65;
  color:#5F5F5F;
}

.kz-orientation__actions{
  margin-top:auto;
  padding-top:24px;
}

.kz-orientation__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border-radius:12px;
  text-decoration:none;
  font-size:15px;
  line-height:1;
  white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}

.kz-orientation__cta--primary{
  background:var(--kz-accent);
  color:#FFFFFF;
  font-weight:700;
  box-shadow:0 8px 18px rgba(62,164,157,.18);
}

.kz-orientation__cta--primary:hover{
  background:#35938d;
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(62,164,157,.22);
}

.kz-orientation__cta--secondary{
  background:#FFFFFF;
  color:var(--kz-dark);
  border:1px solid #D8E5E2;
  font-weight:600;
}

.kz-orientation__cta--secondary:hover{
  background:#F8FBFA;
  border-color:#C8DAD5;
}

.kz-orientation__card--portal .kz-orientation__card-text{
  margin-bottom:24px;
}

.kz-orientation__portal-actions{
  margin-top:auto;
  display:grid;
  gap:12px;
}

.kz-orientation__portal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:12px;
  background:#F7FAF9;
  border:1px solid #DDE7E5;
  text-decoration:none;
  color:var(--kz-dark);
  font-size:15px;
  font-weight:600;
  line-height:1;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.kz-orientation__portal-btn:hover{
  background:#FFFFFF;
  border-color:#C8DAD5;
  transform:translateY(-1px);
}

@media (max-width: 1180px){
  .kz-home-orientation{
    padding:72px 0;
  }

  .kz-orientation__title{
    font-size:38px;
  }

  .kz-orientation__grid{
    gap:22px;
  }

  .kz-orientation__card{
    padding:26px;
  }
}

@media (max-width: 980px){
  .kz-orientation__grid{
    grid-template-columns:1fr 1fr;
  }

  .kz-orientation__card--portal{
    grid-column:1 / -1;
  }
}

@media (max-width: 640px){
  .kz-home-orientation{
    padding:56px 0;
  }

  .kz-orientation__head{
    margin-bottom:36px;
  }

  .kz-orientation__title{
    font-size:32px;
  }

  .kz-orientation__subtitle{
    font-size:17px;
  }

  .kz-orientation__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-orientation__card--portal{
    grid-column:auto;
  }

  .kz-orientation__card{
    padding:22px;
  }

  .kz-orientation__cta,
  .kz-orientation__portal-btn{
    width:100%;
  }
}
/* ==========================================================
   BLOC 4 - COMMENT CA MARCHE
   ========================================================== */

.kz-home-process{
  padding:96px 0;
  background:#F8FBFA;
}

.kz-process{
  position:relative;
  width:100%;
}

.kz-process__head{
  max-width:780px;
  margin:0 auto 52px;
  text-align:center;
}

.kz-process__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-process__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-process__timeline{
  position:absolute;
  top:126px;
  left:12.5%;
  right:12.5%;
  height:2px;
  background:#DCE9E6;
  z-index:0;
}

.kz-process__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.kz-process__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(19, 37, 35, 0.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.kz-process__card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(19, 37, 35, 0.07);
  border-color:#D7E6E2;
}

.kz-process__card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}

.kz-process__step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:999px;
  background:#EAF7F5;
  color:var(--kz-accent);
  font-size:15px;
  font-weight:700;
  line-height:1;
  flex-shrink:0;
}

.kz-process__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:#F3F8F7;
  color:var(--kz-dark);
  flex-shrink:0;
}

.kz-process__icon svg{
  width:20px;
  height:20px;
  stroke:currentColor;
}

.kz-process__card-title{
  margin:0 0 12px;
  font-size:22px;
  font-weight:700;
  line-height:1.25;
  color:var(--kz-text);
}

.kz-process__card-text{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  color:#5F5F5F;
}

.kz-process__footer{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.kz-process__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:1px solid #D8E5E2;
  border-radius:12px;
  background:#FFFFFF;
  color:var(--kz-dark);
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  line-height:1;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.kz-process__cta:hover{
  background:#F7FAF9;
  border-color:#C8DAD5;
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(19, 37, 35, 0.05);
}

@media (max-width: 1180px){
  .kz-home-process{
    padding:72px 0;
  }

  .kz-process__title{
    font-size:38px;
  }

  .kz-process__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }

  .kz-process__timeline{
    display:none;
  }
}

@media (max-width: 640px){
  .kz-home-process{
    padding:56px 0;
  }

  .kz-process__head{
    margin-bottom:36px;
  }

  .kz-process__title{
    font-size:32px;
  }

  .kz-process__subtitle{
    font-size:17px;
  }

  .kz-process__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-process__card{
    padding:22px;
  }

  .kz-process__cta{
    width:100%;
  }
}

/* ==========================================================
   BLOC 5 - BIENS À LA UNE
   ========================================================== */

.kz-home-biens{
  padding:96px 0;
  background:#FFFFFF;
}

.kz-biens{
  width:100%;
}

.kz-biens__head{
  max-width:780px;
  margin:0 auto 52px;
  text-align:center;
}

.kz-biens__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-biens__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-biens__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
}

.kz-biens__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border:1px solid #E7EFED;
  border-radius:22px;
  overflow:hidden;
  background:#FFFFFF;
  box-shadow:0 12px 28px rgba(19, 37, 35, 0.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.kz-biens__card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(19, 37, 35, 0.08);
  border-color:#DCE9E6;
}

.kz-biens__media{
  position:relative;
  aspect-ratio:4 / 3;
  background:#F5F8F7;
  overflow:hidden;
}

.kz-biens__image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.kz-biens__badge{
  position:absolute;
  top:16px;
  left:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
}

.kz-biens__badge--rent{
  background:#EAF7F5;
  color:var(--kz-accent);
}

.kz-biens__badge--sale{
  background:#EEF3F8;
  color:#355C7D;
}

.kz-biens__content{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:22px;
}

.kz-biens__meta{
  margin:0 0 10px;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  color:var(--kz-dark);
}

.kz-biens__price{
  margin:0 0 14px;
  font-size:28px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-biens__infos{
  margin:0;
  font-size:15px;
  font-weight:500;
  line-height:1.5;
  color:#5F5F5F;
}

.kz-biens__actions{
  margin-top:auto;
  padding-top:24px;
}

.kz-biens__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border:1px solid #D8E5E2;
  border-radius:12px;
  background:#FFFFFF;
  color:var(--kz-dark);
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.kz-biens__cta:hover{
  background:#F7FAF9;
  border-color:#C8DAD5;
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(19, 37, 35, 0.05);
}

.kz-biens__footer{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.kz-biens__cta-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 26px;
  border-radius:12px;
  background:var(--kz-accent);
  color:#FFFFFF;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 22px rgba(62, 164, 157, 0.18);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.kz-biens__cta-all:hover{
  background:#35938d;
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(62, 164, 157, 0.22);
}

.kz-biens__empty{
  padding:28px;
  border:1px dashed #D8E5E2;
  border-radius:18px;
  background:#FAFCFB;
  text-align:center;
  font-size:16px;
  color:#5F5F5F;
}

@media (max-width: 1180px){
  .kz-home-biens{
    padding:72px 0;
  }

  .kz-biens__title{
    font-size:38px;
  }

  .kz-biens__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:22px;
  }
}

@media (max-width: 640px){
  .kz-home-biens{
    padding:56px 0;
  }

  .kz-biens__head{
    margin-bottom:36px;
  }

  .kz-biens__title{
    font-size:32px;
  }

  .kz-biens__subtitle{
    font-size:17px;
  }

  .kz-biens__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-biens__content{
    padding:20px;
  }

  .kz-biens__price{
    font-size:26px;
  }

  .kz-biens__cta,
  .kz-biens__cta-all{
    width:100%;
  }
}

/* ==========================================================
   BLOC 6 - POURQUOI KAZAMOI
   ========================================================== */

.kz-home-pourquoi-kazamoi{
  padding:96px 0;
  background:#F8FBFA;
}

.kz-pourquoi{
  width:100%;
}

.kz-pourquoi__head{
  max-width:780px;
  margin:0 auto 52px;
  text-align:center;
}

.kz-pourquoi__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-pourquoi__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-pourquoi__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.kz-pourquoi__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(19, 37, 35, 0.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kz-pourquoi__card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(19, 37, 35, 0.07);
  border-color:#D7E6E2;
}

.kz-pourquoi__card--highlight{
  background:#F7FCFB;
  border-color:#D6EAE5;
}

.kz-pourquoi__icon-wrap{
  margin-bottom:18px;
}

.kz-pourquoi__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:#F1F8F7;
  color:var(--kz-dark);
}

.kz-pourquoi__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}

.kz-pourquoi__card-title{
  margin:0 0 12px;
  font-size:22px;
  font-weight:700;
  line-height:1.25;
  color:var(--kz-text);
}

.kz-pourquoi__card-text{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  color:#5F5F5F;
}

@media (max-width: 1180px){
  .kz-home-pourquoi-kazamoi{
    padding:72px 0;
  }

  .kz-pourquoi__title{
    font-size:38px;
  }

  .kz-pourquoi__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }
}

@media (max-width: 640px){
  .kz-home-pourquoi-kazamoi{
    padding:56px 0;
  }

  .kz-pourquoi__head{
    margin-bottom:36px;
  }

  .kz-pourquoi__title{
    font-size:32px;
  }

  .kz-pourquoi__subtitle{
    font-size:17px;
  }

  .kz-pourquoi__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-pourquoi__card{
    padding:22px;
  }
  
}


/* ==========================================================
   BLOC 7 - ESPACE LOCATAIRE
   ========================================================== */

.kz-home-locataire{
  padding:96px 0;
  background:#FFFFFF;
}

.kz-locataire{
  width:100%;
}

.kz-locataire__head{
  max-width:780px;
  margin:0 auto 52px;
  text-align:center;
}

.kz-locataire__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-locataire__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-locataire__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.kz-locataire__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(19, 37, 35, 0.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kz-locataire__card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(19, 37, 35, 0.07);
  border-color:#D7E6E2;
}

.kz-locataire__card--highlight{
  background:#F7FCFB;
  border-color:#D6EAE5;
}

.kz-locataire__icon-wrap{
  margin-bottom:18px;
}

.kz-locataire__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:#F1F8F7;
  color:var(--kz-dark);
}

.kz-locataire__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}

.kz-locataire__card-title{
  margin:0 0 12px;
  font-size:22px;
  font-weight:700;
  line-height:1.25;
  color:var(--kz-text);
}

.kz-locataire__card-text{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  color:#5F5F5F;
}

.kz-locataire__footer{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.kz-locataire__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 26px;
  border-radius:12px;
  background:var(--kz-accent);
  color:#FFFFFF;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 22px rgba(62, 164, 157, 0.18);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.kz-locataire__cta:hover{
  background:#35938d;
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(62, 164, 157, 0.22);
}

@media (max-width: 1180px){
  .kz-home-locataire{
    padding:72px 0;
  }

  .kz-locataire__title{
    font-size:38px;
  }

  .kz-locataire__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }
}

@media (max-width: 640px){
  .kz-home-locataire{
    padding:56px 0;
  }

  .kz-locataire__head{
    margin-bottom:36px;
  }

  .kz-locataire__title{
    font-size:32px;
  }

  .kz-locataire__subtitle{
    font-size:17px;
  }

  .kz-locataire__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-locataire__card{
    padding:22px;
  }

  .kz-locataire__cta{
    width:100%;
  }
}

/* ==========================================================
   BLOC 8 - ESPACE PROPRIETAIRE
   ========================================================== */

.kz-home-proprietaire{
  padding:96px 0;
  background:#F8FBFA;
}

.kz-proprietaire{
  width:100%;
}

.kz-proprietaire__head{
  max-width:780px;
  margin:0 auto 52px;
  text-align:center;
}

.kz-proprietaire__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-proprietaire__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-proprietaire__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.kz-proprietaire__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(19, 37, 35, 0.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kz-proprietaire__card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(19, 37, 35, 0.07);
  border-color:#D7E6E2;
}

.kz-proprietaire__card--highlight{
  background:#F7FCFB;
  border-color:#D6EAE5;
}

.kz-proprietaire__icon-wrap{
  margin-bottom:18px;
}

.kz-proprietaire__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:#F1F8F7;
  color:var(--kz-dark);
}

.kz-proprietaire__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}

.kz-proprietaire__card-title{
  margin:0 0 12px;
  font-size:22px;
  font-weight:700;
  line-height:1.25;
  color:var(--kz-text);
}

.kz-proprietaire__card-text{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  color:#5F5F5F;
}

.kz-proprietaire__footer{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.kz-proprietaire__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 26px;
  border-radius:12px;
  background:var(--kz-accent);
  color:#FFFFFF;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 22px rgba(62, 164, 157, 0.18);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.kz-proprietaire__cta:hover{
  background:#35938d;
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(62, 164, 157, 0.22);
}

@media (max-width: 1180px){
  .kz-home-proprietaire{
    padding:72px 0;
  }

  .kz-proprietaire__title{
    font-size:38px;
  }

  .kz-proprietaire__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }
}

@media (max-width: 640px){
  .kz-home-proprietaire{
    padding:56px 0;
  }

  .kz-proprietaire__head{
    margin-bottom:36px;
  }

  .kz-proprietaire__title{
    font-size:32px;
  }

  .kz-proprietaire__subtitle{
    font-size:17px;
  }

  .kz-proprietaire__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-proprietaire__card{
    padding:22px;
  }

  .kz-proprietaire__cta{
    width:100%;
  }
}
/* ==========================================================
   BLOC 9 - RÉASSURANCE / PREUVES
   ========================================================== */

.kz-home-preuves{
  padding:96px 0;
  background:#F8FBFA;
}

.kz-preuves{
  width:100%;
}

.kz-preuves__head{
  max-width:780px;
  margin:0 auto 52px;
  text-align:center;
}

.kz-preuves__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-preuves__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-preuves__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.kz-preuves__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#FFFFFF;
  box-shadow:0 10px 24px rgba(19, 37, 35, 0.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kz-preuves__card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(19, 37, 35, 0.07);
  border-color:#D7E6E2;
}

.kz-preuves__card--highlight{
  background:#F7FCFB;
  border-color:#D6EAE5;
}

.kz-preuves__icon-wrap{
  margin-bottom:18px;
}

.kz-preuves__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:#F1F8F7;
  color:var(--kz-dark);
}

.kz-preuves__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}

.kz-preuves__card-title{
  margin:0 0 12px;
  font-size:22px;
  font-weight:700;
  line-height:1.25;
  color:var(--kz-text);
}

.kz-preuves__card-text{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  color:#5F5F5F;
}

@media (max-width: 1180px){
  .kz-home-preuves{
    padding:72px 0;
  }

  .kz-preuves__title{
    font-size:38px;
  }

  .kz-preuves__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }
}

@media (max-width: 640px){
  .kz-home-preuves{
    padding:56px 0;
  }

  .kz-preuves__head{
    margin-bottom:36px;
  }

  .kz-preuves__title{
    font-size:32px;
  }

  .kz-preuves__subtitle{
    font-size:17px;
  }

  .kz-preuves__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-preuves__card{
    padding:22px;
  }
}


/* ==========================================================
   BLOC 10 - FAQ
   ========================================================== */

.kz-home-faq{
  padding:96px 0;
  background:#FFFFFF;
}

.kz-faq{
  width:100%;
}

.kz-faq__head{
  max-width:780px;
  margin:0 auto 44px;
  text-align:center;
}

.kz-faq__title{
  margin:0 0 14px;
  font-size:42px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--kz-text);
}

.kz-faq__subtitle{
  margin:0 auto;
  max-width:780px;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-faq__wrap{
  max-width:920px;
  margin:0 auto;
}

.kz-faq__item{
  border:1px solid #E7EFED;
  border-radius:16px;
  background:#FFFFFF;
  overflow:hidden;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.kz-faq__item + .kz-faq__item{
  margin-top:14px;
}

.kz-faq__item:hover{
  background:#FAFCFB;
  border-color:#D7E6E2;
}

.kz-faq__item[open]{
  background:#F8FBFA;
  border-color:#D6EAE5;
  box-shadow:0 10px 24px rgba(19, 37, 35, 0.05);
}

.kz-faq__question{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  cursor:pointer;
  font-size:20px;
  font-weight:700;
  line-height:1.35;
  color:#1F1F1F;
}

.kz-faq__question::-webkit-details-marker{
  display:none;
}

.kz-faq__toggle{
  flex:0 0 auto;
  width:20px;
  height:20px;
  position:relative;
  color:var(--kz-dark);
}

.kz-faq__toggle::before,
.kz-faq__toggle::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:2px;
  background:currentColor;
  border-radius:999px;
  transform:translate(-50%, -50%);
  transition:transform .2s ease, opacity .2s ease;
}

.kz-faq__toggle::after{
  transform:translate(-50%, -50%) rotate(90deg);
}

.kz-faq__item[open] .kz-faq__toggle::after{
  opacity:0;
}

.kz-faq__answer{
  padding:0 24px 22px;
}

.kz-faq__answer p{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.7;
  color:#5F5F5F;
}

.kz-faq__footer{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.kz-faq__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border:1px solid #D8E5E2;
  border-radius:12px;
  background:#FFFFFF;
  color:var(--kz-dark);
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  line-height:1;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.kz-faq__cta:hover{
  background:#F7FAF9;
  border-color:#C8DAD5;
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(19, 37, 35, 0.05);
}

@media (max-width: 1180px){
  .kz-home-faq{
    padding:72px 0;
  }

  .kz-faq__title{
    font-size:38px;
  }
}

@media (max-width: 640px){
  
  
  .kz-home-faq{
  padding:96px 0 48px;
}

  .kz-faq__head{
    margin-bottom:36px;
  }

  .kz-faq__title{
    font-size:32px;
  }

  .kz-faq__subtitle{
    font-size:17px;
  }

  .kz-faq__question{
    padding:18px;
    font-size:18px;
  }

  .kz-faq__answer{
    padding:0 18px 18px;
  }
}

/* ==========================================================
   PATCH MOBILE FINAL - HOMEPAGE KAZAMOI
   ========================================================== */

@media (max-width: 767px){

  /* ---------- HEADER ---------- */

  .kz-site-header__inner{
    min-height:64px !important;
    gap:12px !important;
    grid-template-columns:1fr auto !important;
  }

  .kz-site-header__brand{
    max-width:none !important;
  }

  .kz-site-header__logo,
  .kz-site-header__logo-link{
    max-width:100% !important;
  }

  .kz-site-header__logo img,
  .kz-site-header__logo .custom-logo{
    max-width:170px !important;
    max-height:34px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .kz-site-header__tagline{
    display:none !important;
  }

  .kz-site-header__burger{
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
  }

  /* ---------- ESPACEMENTS DE SECTION ---------- */

  .kz-home-hero,
  .kz-home-orientation,
  .kz-home-process,
  .kz-home-biens,
  .kz-home-pourquoi-kazamoi,
  .kz-home-locataire,
  .kz-home-proprietaire,
  .kz-home-preuves,
  .kz-home-faq{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }

  /* ---------- TITRES / SOUS-TITRES ---------- */

  .kz-pourquoi__title,
  .kz-locataire__title,
  .kz-proprietaire__title,
  .kz-preuves__title,
  .kz-faq__title{
    font-size:30px !important;
    line-height:1.12 !important;
  }

  .kz-pourquoi__subtitle,
  .kz-locataire__subtitle,
  .kz-proprietaire__subtitle,
  .kz-preuves__subtitle,
  .kz-faq__subtitle{
    font-size:16px !important;
    line-height:1.6 !important;
    max-width:100% !important;
  }

  /* ---------- CARTES ---------- */

  .kz-pourquoi__card,
  .kz-locataire__card,
  .kz-proprietaire__card,
  .kz-preuves__card{
    padding:22px !important;
    border-radius:20px !important;
  }

  .kz-pourquoi__card-title,
  .kz-locataire__card-title,
  .kz-proprietaire__card-title,
  .kz-preuves__card-title{
    font-size:22px !important;
    line-height:1.2 !important;
  }

  .kz-pourquoi__card-text,
  .kz-locataire__card-text,
  .kz-proprietaire__card-text,
  .kz-preuves__card-text{
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .kz-pourquoi__icon,
  .kz-locataire__icon,
  .kz-proprietaire__icon,
  .kz-preuves__icon{
    width:48px !important;
    height:48px !important;
    border-radius:14px !important;
  }

  .kz-pourquoi__icon svg,
  .kz-locataire__icon svg,
  .kz-proprietaire__icon svg,
  .kz-preuves__icon svg{
    width:20px !important;
    height:20px !important;
  }

  /* ---------- CTA ---------- */

  .kz-locataire__cta,
  .kz-proprietaire__cta,
  .kz-faq__cta{
    width:100% !important;
    min-height:48px !important;
  }

  .kz-locataire__footer,
  .kz-proprietaire__footer,
  .kz-faq__footer{
    margin-top:24px !important;
  }

  /* ---------- FAQ ---------- */

  .kz-faq__question{
    padding:18px !important;
    font-size:18px !important;
    line-height:1.35 !important;
  }

  .kz-faq__answer{
    padding:0 18px 18px !important;
  }

  .kz-faq__answer p{
    font-size:15px !important;
    line-height:1.65 !important;
  }

 
