.home-page{
  background:#d8c4ad;
}

.home-page nav{
  background:rgba(169,123,122,.9);
}

.home-page .nav-links{
  gap:1rem;
}

.home-page .nav-links a.nav-cta{
  padding:.65rem 1rem;
  border-radius:6px;
  background:var(--button-bg);
  color:var(--button-text);
  border-bottom:0;
}

.home-page .nav-links a.nav-cta:hover{
  background:var(--button-hover);
  text-decoration:none;
}

.home-page main#contenu{
  overflow:hidden;
}

#concept-texte,
#deroulement{
  scroll-margin-top:118px;
}

.home-hero{
  position:relative;
  min-height:clamp(620px,92svh,820px);
  padding:clamp(7rem,12vw,9rem) 0 clamp(4.5rem,9vw,6.5rem);
  display:grid;
  align-items:center;
}

.home-hero__image{
  position:absolute;
  inset:0;
  z-index:0;
}

.home-hero__image picture,
.home-hero__image img{
  display:block;
  width:100%;
  height:100%;
}

.home-hero__image img{
  object-fit:cover;
  object-position:center right;
}

.home-hero__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(243,234,220,.28) 0%,rgba(243,234,220,.13) 36%,rgba(243,234,220,0) 64%),
    linear-gradient(0deg,rgba(47,33,29,.08),rgba(47,33,29,0));
}

.home-hero__content{
  position:relative;
  z-index:1;
  max-width:590px;
}

.home-kicker{
  display:block;
  margin-bottom:.7rem;
  color:var(--color-1);
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-hero h1{
  max-width:10ch;
  margin:0;
  font-size:clamp(3.2rem,7vw,6.2rem);
  color:var(--dark);
}

.home-hero h1 span{
  display:block;
  color:var(--color-1);
}

.home-hero .lead{
  max-width:34rem;
  margin-top:1.1rem;
  color:#4a3027;
  font-size:1.12rem;
}

.home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.8rem;
}

.home-actions .btn-secondary{
  background:rgba(243,234,220,.86);
  color:var(--color-1);
  border:1px solid rgba(134,78,55,.45);
}

.home-actions .btn-secondary:hover{
  background:#fff8ed;
}

.home-facts{
  position:relative;
  z-index:2;
  width:min(1120px,94%);
  margin:-2.7rem auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.15rem;
  padding:.7rem .85rem;
  border:1px solid rgba(134,78,55,.12);
  border-radius:10px;
  background:rgba(255,250,242,.92);
  box-shadow:0 18px 40px rgba(47,33,29,.12);
  backdrop-filter:blur(10px);
}

.home-fact{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.5rem;
  align-items:center;
  min-height:48px;
  padding:.35rem .45rem;
}

.home-fact__icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  color:#6f6559;
}

.home-fact__icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-fact strong{
  display:block;
  color:var(--dark);
  font-size:.58rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1.15;
}

.home-fact__copy span{
  display:block;
  margin-top:.15rem;
  color:var(--color-1);
  font-size:.62rem;
  line-height:1.25;
}

.home-section{
  padding:clamp(4rem,8vw,6.5rem) 0;
}

.home-section--soft{
  background:#e3d2bf;
}

.home-section--light{
  background:var(--white);
}

.home-section__head{
  max-width:620px;
  margin:0 auto 2rem;
  text-align:center;
}

.home-section__head h2{
  margin-bottom:.65rem;
}

.split-section{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center;
}

.split-copy{
  max-width:470px;
}

.split-copy p + p{
  margin-top:.85rem;
}

.text-link{
  display:inline-flex;
  margin-top:1.2rem;
  color:var(--color-1);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}

.text-link:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

.home-gift-section{
  padding:0 0 clamp(4rem,8vw,6rem);
  background:var(--white);
}

.home-gift-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:clamp(1rem,4vw,2.4rem);
  align-items:center;
  padding:clamp(1.25rem,4vw,2rem);
  border:1px solid rgba(134,78,55,.16);
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(134,78,55,.1),rgba(243,234,220,.92)),
    var(--white);
  box-shadow:0 16px 34px rgba(47,33,29,.1);
}

.home-gift-card h2{
  margin-bottom:.5rem;
}

.home-gift-card p:not(.home-kicker){
  max-width:52rem;
}

.image-panel{
  overflow:hidden;
  border-radius:8px;
  box-shadow:0 18px 38px rgba(47,33,29,.14);
  background:var(--surface);
}

.image-panel img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}

.step-grid,
.occasion-grid,
.review-grid{
  display:grid;
  gap:1.1rem;
}

.step-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.step-card,
.occasion-card,
.review-card{
  min-width:0;
}

.step-card{
  position:relative;
  text-align:center;
}

.occasion-card img{
  display:block;
  width:min(100%,230px);
  aspect-ratio:1;
  margin:0 auto;
  object-fit:contain;
  border-radius:0;
  background:transparent;
}

.step-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  padding:clamp(1rem,2.3vw,1.35rem);
  border:1px solid rgba(143,78,55,.18);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,250,242,.86),rgba(245,232,213,.72));
  box-shadow:0 12px 28px rgba(47,33,29,.08);
}

.step-number{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--color-1);
  color:var(--button-text);
  font-weight:600;
  box-shadow:0 10px 18px rgba(47,33,29,.16);
}

.step-card h3,
.occasion-card h3{
  margin:.9rem 0 .35rem;
  font-family:"Jost",sans-serif;
  font-size:.94rem;
  font-weight:600;
  color:var(--dark);
}

.step-card p,
.occasion-card p{
  max-width:25ch;
  margin:0 auto;
  font-size:.9rem;
}

.occasion-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.occasion-card{
  text-align:center;
}

.ambiance-grid{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
}

.ambiance-mosaic{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  grid-template-rows:repeat(2,180px);
  gap:.85rem;
}

.ambiance-mosaic img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  filter:drop-shadow(0 14px 20px rgba(47,33,29,.1));
}

.ambiance-mosaic img:first-child{
  grid-row:1 / span 2;
}

.review-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.review-grid--waiting{
  grid-template-columns:1fr;
}

.review-card{
  min-height:190px;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  justify-content:space-between;
  padding:1.2rem;
  border:1px solid rgba(134,78,55,.16);
  border-radius:8px;
  background:rgba(243,234,220,.74);
  box-shadow:0 12px 24px rgba(47,33,29,.08);
}

.review-card--waiting{
  min-height:auto;
  align-items:center;
  padding:clamp(1.6rem,4vw,2.4rem);
  text-align:center;
  background:linear-gradient(135deg,rgba(134,78,55,.1),rgba(243,234,220,.88));
}

.review-card--waiting .home-kicker{
  margin-bottom:.45rem;
}

.review-card--waiting h3{
  margin:0;
  color:var(--color-1);
  font-size:clamp(2rem,4vw,3rem);
}

.review-card--waiting p{
  max-width:42rem;
  margin:0 auto;
}

.review-stars{
  color:var(--color-1);
  letter-spacing:.08em;
  font-size:.94rem;
}

.review-card strong{
  color:var(--dark);
}

.google-score{
  align-items:center;
  text-align:center;
}

.google-score .score{
  color:var(--dark);
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.1rem,3vw,2.9rem);
  line-height:1;
}

.home-cta{
  padding:0 0 clamp(3.5rem,7vw,5rem);
  background:var(--white);
}

.home-cta__inner{
  display:grid;
  grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
  padding:clamp(1.2rem,4vw,2.2rem);
  border-radius:8px;
  background:var(--color-1);
  color:var(--button-text);
  overflow:hidden;
}

.home-cta__image{
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  border:8px solid rgba(243,234,220,.25);
}

.home-cta__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-cta h2,
.home-cta p{
  color:var(--button-text);
}

.home-cta p{
  max-width:38rem;
}

.home-cta .btn{
  margin-top:1.1rem;
  background:var(--button-text);
  color:var(--color-1);
}

.home-cta .btn:hover{
  background:var(--white);
}

@media (max-width:1120px){
  .home-page .nav-toggle{
    display:inline-flex;
  }

  .home-page .nav-links-wrap{
    position:absolute;
    top:72px;
    left:0;
    right:0;
    transform:none;
    background:rgba(169,123,122,.98);
    border-bottom:0;
    box-shadow:0 18px 32px rgba(47,33,29,.16);
    display:none;
  }

  .home-page .nav-links-wrap.open{
    display:block;
  }

  .home-page .nav-links{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:.3rem;
    padding:.8rem 1rem 1rem;
  }

  .home-page .nav-links a{
    font-size:.78rem;
    letter-spacing:.06em;
    padding:.45rem 0;
  }
}

@media (max-width:980px){
  .home-page .nav-links-wrap{
    top:66px;
  }

  .step-grid,
  .occasion-grid,
  .review-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .review-grid--waiting{
    grid-template-columns:1fr;
  }

  .split-section,
  .ambiance-grid{
    grid-template-columns:1fr;
  }

  .split-copy{
    max-width:620px;
  }
}

@media (max-width:768px){
  #concept-texte,
  #deroulement{
    scroll-margin-top:92px;
  }

  .home-page .nav-links a.nav-cta{
    margin-top:.25rem;
  }

  .home-hero{
    min-height:auto;
    padding:7.6rem 0 5.8rem;
  }

  .home-hero__image::after{
    background:
      linear-gradient(180deg,rgba(243,234,220,.22) 0%,rgba(243,234,220,.12) 52%,rgba(243,234,220,.34) 100%),
      linear-gradient(0deg,rgba(47,33,29,.08),rgba(47,33,29,0));
  }

  .home-hero__image img{
    object-position:center center;
  }

  .home-hero h1{
    max-width:9ch;
  }

  .home-facts{
    margin-top:-2.4rem;
  }

  .image-panel img{
    min-height:280px;
  }

  .ambiance-mosaic{
    grid-template-rows:repeat(2,150px);
  }

  .home-cta__inner{
    grid-template-columns:1fr;
    text-align:left;
  }

  .home-gift-card{
    grid-template-columns:1fr;
  }

  .home-cta__image{
    width:min(220px,70vw);
  }
}

@media (max-width:720px){
  .home-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:.7rem;
  }
}

@media (max-width:560px){
  .home-hero{
    padding:7.2rem 0 5rem;
  }

  .home-actions{
    display:grid;
  }

  .home-actions .btn{
    width:100%;
  }

  .home-facts,
  .step-grid,
  .occasion-grid,
  .review-grid{
    grid-template-columns:1fr;
  }

  .home-fact{
    border-right:0;
    border-bottom:1px solid rgba(134,78,55,.14);
  }

  .home-fact:last-child{
    border-bottom:0;
  }

  .ambiance-mosaic{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }

  .ambiance-mosaic img,
  .ambiance-mosaic img:first-child{
    grid-row:auto;
    aspect-ratio:4/3;
  }
}
