*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Inter',sans-serif;background:#faf8f5;color:#222;line-height:1.7;}

/* HEADER */
.header{background:#2C3835;padding:18px 20px;}
.header-inner{max-width:1100px;margin:auto;display:flex;align-items:center;gap:18px;}
.logo{max-width:120px;}
.header-text{color:#fff;display:flex;flex-direction:column;}
.header-text .name{font-family:'Ibarra Real Nova',serif;font-size:1.25rem;font-weight:600;text-align:center;}
.header-text .subtitle{font-size:.95rem;text-align:center;opacity:.9;}

/* INTRO */
.intro{background:#f2ede7;padding:60px 20px;}
.intro-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;}
.intro-text{text-align:center;color:#2C3835;}
.lead{margin-bottom:14px;}
.headline{font-family:'Ibarra Real Nova',serif;font-size:2.3rem;margin-top:10px;}
.intro-img{width:100%;border-radius:18px;box-shadow:0 8px 20px rgba(0,0,0,.08);}

/* APPROACHES */
.approaches{background:#9bb79f;padding:80px 20px;}
.approaches-inner{max-width:1100px;margin:auto;}
.approaches-title{
  font-family:'Ibarra Real Nova',serif;
  font-size:2.4rem;
  text-align:center;
  margin-bottom:50px;
  color:#2C3835;
}
.approaches-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.approach-card{
  background:#ffffff;
  border-radius:14px;
  padding:16px;
  text-align:center;
}
.approach-card img{
  width:100%;
  border-radius:12px;
  margin-bottom:14px;
}
.approach-card h3{
  font-family:'Ibarra Real Nova',serif;
  font-size:1.2rem;
  margin-bottom:8px;
  color:#2C3835;
}
.approach-card p{font-size:0.92rem;}

.approaches-conclusion{
  margin-top:50px;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  font-size:1rem;
  color:#2C3835;
}

/* FOOTER */
.footer{text-align:center;padding:30px;font-size:.9rem;color:#666;}

@media(max-width:900px){
  .approaches-grid{grid-template-columns:1fr;}
  .intro-inner{grid-template-columns:1fr;}
}


/* REVIEWS */
.reviews{
  background:#D2A96B;
  padding:80px 20px;
}
.reviews-inner{
  max-width:1100px;
  margin:auto;
}
.reviews-title{
  font-family:'Ibarra Real Nova',serif;
  font-size:2.4rem;
  text-align:center;
  margin-bottom:50px;
  color:#2C3835;
}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
}
.review h3{
  font-family:'Ibarra Real Nova',serif;
  font-size:1.3rem;
  margin-bottom:10px;
  color:#2C3835;
}
.review p{
  font-size:0.95rem;
  color:#2C3835;
}

@media (max-width: 900px){
  .reviews-grid{grid-template-columns:1fr;}
}


/* REVIEWS ADJUSTMENTS */
.review{
  text-align:center;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
}
.review h3{
  text-align:center;
}
.review p{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

/* CONTACT SECTION */
.contact-section{
  background:#faf8f5;
  padding:90px 20px;
}
.contact-inner{
  max-width:700px;
  margin:auto;
  text-align:center;
}
.contact-title{
  font-family:'Ibarra Real Nova', serif;
  font-size:2.4rem;
  color:#2C3835;
  margin-bottom:18px;
}
.contact-subtitle{
  font-size:1rem;
  color:#2C3835;
  margin-bottom:40px;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid #ccc;
  font-family:'Inter', sans-serif;
  font-size:0.95rem;
}
.contact-form textarea{
  resize:vertical;
}

/* CONTACT BUTTON ADJUSTMENT */
.contact-form .btn{
  align-self:center;
  padding:12px 36px;
  border-radius:999px;
}

/* HEADER CENTERED */
.header-centered{
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.header-centered .logo{
  margin-bottom:12px;
}
.header-centered .header-text{
  align-items:center;
}

/* HEADER LOGO LEFT + TEXT RIGHT, CENTERED */
.header-inner{
  justify-content:center;
}
.header-inner{
  gap:16px;
}
.header-text{
  align-items:flex-start;
  text-align:left;
}

/* FORCE LOGO VISIBILITY */
.logo{
  width:90px;
  height:auto;
  display:block;
}

/* DEFINITIVE LOGO FIX */
.site-header .header-inner{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
}
.site-header .logo{
  width:120px;
  height:auto;
  display:block;
}
.site-header .header-text{
  text-align:left;
}

/* HEADER FINAL ADJUSTMENTS */
.site-header{
  background:#2C3835;
}

.site-header .logo{
  width:70px;
  height:auto;
}

/* HEADER NAME SIZE ADJUSTMENT */
.site-header .header-text h1{
  font-size:1.6rem;
}

/* HEADER PADDING ADJUSTMENT */
.site-header{
  padding:28px 20px;
}

/* LOGO SIZE (slightly larger) */
.site-header .logo{ width:110px; }

/* HEADER NAV BUTTON */
.header-actions{ margin-left:16px; display:flex; align-items:center; }
.nav-btn{
  display:inline-block; padding:10px 18px; border-radius:999px;
  border:1px solid rgba(255,255,255,.55); color:#ffffff; text-decoration:none;
  font-family:'Inter', sans-serif; font-size:0.95rem; line-height:1;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.nav-btn:hover{
  transform:translateY(-1px); background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.85);
}
@media (max-width: 700px){
  .site-header .header-inner{ gap:14px; padding-left:10px; padding-right:10px; }
  .nav-btn{ font-size:0.9rem; padding:9px 14px; }
}

/* HYCIE PAGE LAYOUT */
.hycie-hero{ background:#9BB79F; padding:70px 20px; }
.hycie-hero-inner{ max-width:1100px; margin:auto; display:grid; grid-template-columns:1fr 1.1fr; gap:28px; align-items:center; }
.hycie-hero img{ width:100%; border-radius:18px; box-shadow:0 8px 20px rgba(0,0,0,.08); }
.hycie-hero h2{ font-family:'Ibarra Real Nova', serif; font-size:2.2rem; color:#2C3835; margin-bottom:14px; }
.hycie-hero p{ color:#2C3835; font-size:1rem; }

.hycie-section2{ background:#D2A96B; padding:70px 20px; }
.hycie-section2-inner{ max-width:1100px; margin:auto; display:grid; grid-template-columns:1fr 1.2fr; gap:28px; align-items:start; }
.hycie-section2 h2{ font-family:'Ibarra Real Nova', serif; font-size:2.0rem; color:#2C3835; margin-bottom:16px; }
.hycie-section2 .left-col img{ width:100%; border-radius:16px; margin-top:14px; box-shadow:0 8px 20px rgba(0,0,0,.08); }
.hycie-section2 .right-col{ color:#2C3835; font-size:1rem; line-height:1.8; }

.hycie-footer{ background:#faf8f5; padding:26px 20px; text-align:center; color:#666; font-size:.9rem; }

@media (max-width: 900px){
  .hycie-hero-inner, .hycie-section2-inner{ grid-template-columns:1fr; }
}

/* HYCIE SYMMETRY ADJUSTMENTS */
.hycie-hero-inner,
.hycie-section2-inner{
  grid-template-columns:1fr 1fr;
}

.hycie-hero img,
.hycie-section2 .left-col img{
  max-width:520px;
  margin:auto;
  display:block;
}

/* CTA CONTACT BUTTON */
.hycie-cta{
  background:#D2A96B;
  padding:50px 20px;
  text-align:center;
}
.hycie-cta .cta-btn{
  display:inline-block;
  margin-top:10px;
  padding:14px 34px;
  border-radius:999px;
  background:#2C3835;
  color:#ffffff;
  text-decoration:none;
  font-family:'Inter', sans-serif;
  font-size:1rem;
  transition:transform .15s ease, background .15s ease;
}
.hycie-cta .cta-btn:hover{
  transform:translateY(-2px);
  background:#1f2926;
}

/* ALIGN TEXT WITH IMAGE IN HYCIE SECTION 2 */
.hycie-section2-inner{
  align-items:flex-start;
}
.hycie-section2 .right-col{
  padding-top:6px;
}

/* =========================
   RESPONSIVE + TRANSITIONS
   ========================= */

/* Smooth anchor navigation */
html{ scroll-behavior:smooth; }

/* Better default typography on small screens */
body{
  -webkit-text-size-adjust:100%;
}

/* Keep media responsive */
img{ max-width:100%; height:auto; }

/* Header: wrap nicely on phones */
.site-header .header-inner{
  flex-wrap:wrap;
  padding-left:14px;
  padding-right:14px;
}
.site-header .header-text h1{ line-height:1.05; }
.site-header .header-text p{ margin-top:6px; }

/* Keep button from overflowing */
.header-actions{ margin-left:0; }

/* Generic section padding adjustments */
@media (max-width: 900px){
  .intro{ padding:70px 18px; }
  .approaches{ padding:70px 18px; }
  .reviews{ padding:70px 18px; }
  .contact-section{ padding:70px 18px; }
}

@media (max-width: 600px){
  /* Header stack-ish but still centered block */
  .site-header .header-inner{
    justify-content:center;
    gap:12px;
  }
  .site-header .logo{ width:84px; }
  .site-header .header-text h1{ font-size:1.35rem; }
  .site-header .header-text p{ font-size:0.95rem; }

  /* Intro: ensure comfortable reading */
  .intro-inner{ gap:22px; }
  .headline{ font-size:2.05rem; }

  /* Approaches cards: 1 column */
  .approaches-grid{ grid-template-columns:1fr; }

  /* Reviews: 1 column already, tighten spacing */
  .reviews-grid{ gap:22px; }

  /* Contact: reduce input padding slightly */
  .contact-form input,
  .contact-form textarea{ padding:13px 14px; }
}

/* Subtle UI transitions */
a, button{ transition:transform .14s ease, opacity .14s ease, background .14s ease, color .14s ease, border-color .14s ease; }
a:active, button:active{ transform:translateY(1px); }

/* Reveal-on-scroll animation */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
  will-change:opacity, transform;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  a, button{ transition:none; }
}

/* =========================
   HYCIE MOBILE OPTIMIZATION
   ========================= */
@media (max-width: 900px){
  /* Stack image + text so the copy uses full width */
  .hycie-hero-inner,
  .hycie-section2-inner{
    grid-template-columns:1fr !important;
    gap:18px;
  }

  /* Make images look good when stacked */
  .hycie-hero img,
  .hycie-section2 .left-col img{
    max-width:100% !important;
    border-radius:16px;
  }

  /* Optional: place text before image in section #2 for better reading */
  .hycie-section2 .left-col{ order:2; }
  .hycie-section2 .right-col{ order:1; }

  /* Align text nicely */
  .hycie-section2 .right-col,
  .hycie-hero .right-col{
    padding-top:0 !important;
  }
}

/* HOME PRIMARY CTA */
.cta-primary{
  display:inline-block;
  margin-top:24px;
  padding:14px 36px;
  border-radius:999px;
  background:#2C3835;
  color:#ffffff;
  text-decoration:none;
  font-family:'Inter', sans-serif;
  font-size:1rem;
  transition:transform .15s ease, background .15s ease;
}
.cta-primary:hover{
  background:#1f2926;
  transform:translateY(-2px);
}

/* PHONE BUTTON IN CONTACT SECTION */
.phone-btn{
  display:inline-block;
  margin:18px 0 30px 0;
  padding:14px 36px;
  border-radius:999px;
  background:#9BB79F;
  color:#2C3835;
  text-decoration:none;
  font-family:'Inter', sans-serif;
  font-size:1rem;
  font-weight:600;
  transition:transform .15s ease, background .15s ease;
}
.phone-btn:hover{
  background:#88a992;
  transform:translateY(-2px);
}

/* FIX MOBILE ORDER - HYCIE SECTION 2 */
@media (max-width: 900px){
  .hycie-section2 .left-col{
    order:1 !important;
  }
  .hycie-section2 .right-col{
    order:2 !important;
  }
}

/* VERTICAL CENTERING - HYCIE SECTION 2 */
.hycie-section2-inner{
  align-items: center !important;
}

/* CENTER REVIEWS SECTION VERTICALLY */
.reviews{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.reviews .reviews-inner{
  margin:auto;
}


/* Falling leaves background */
#leaf-container{
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

body{
  position: relative;
}

/* Ensure page content stays above the leaves */
body > *:not(#leaf-container){
  position: relative;
  z-index: 1;
}

.leaf{
  position: absolute;
  top: -15vh;
  left: 0;
  width: var(--size, 56px);
  height: auto;
  opacity: var(--opacity, 0.35);
  transform: translate3d(0,0,0) rotate(var(--rot, 0deg));
  will-change: transform;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.08));
  animation: leaf-fall var(--dur, 14s) linear var(--delay, 0s) infinite;
}

@keyframes leaf-fall{
  0%   { transform: translate3d(var(--x, 0px), -20vh, 0) rotate(0deg); }
  50%  { transform: translate3d(calc(var(--x, 0px) + var(--drift, 40px)), 50vh, 0) rotate(180deg); }
  100% { transform: translate3d(var(--x, 0px), 120vh, 0) rotate(360deg); }
}


/* LEAF ONLY ON NAV BUTTONS (Hypnose HYCIE & Accueil) */
.nav-btn::before{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  margin-right:8px;
  background-image:url("../assets/images/leaf-nav.png");
  background-size:contain;
  background-repeat:no-repeat;
  opacity:0.85;
  transform:translateY(1px);
}

/* =========================
   REVIEWS SECTION REFINEMENT
   ========================= */

/* Move title slightly higher and give more breathing room */
.reviews{
  padding-top:110px;
  padding-bottom:110px;
}

/* Increase spacing between title and grid */
.reviews-title{
  margin-bottom:50px;
}

/* Spread out the review cards more naturally */
.reviews-grid{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  gap:50px 60px;
}

/* Slightly increase line height for readability */
.review p{
  line-height:1.8;
}

/* Justify text in HYCIE sections */
.hycie-section1 p,
.hycie-section2 p{
  text-align: justify;
}

/* THANK YOU PAGE */
.thanks-page{
  min-height: calc(100vh - 180px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 60px 20px;
  background: #f7f5ef;
}
.thanks-card{
  width: min(760px, 100%);
  background: #ffffff;
  border-radius: 22px;
  padding: 42px 34px;
  box-shadow: 0 12px 34px rgba(0,0,0,0.08);
  text-align: center;
}
.thanks-card h1{
  margin: 0 0 10px 0;
  color: #2C3835;
  font-family: "Ibarra Real Nova", serif;
  font-size: 2.2rem;
}
.thanks-card p{
  margin: 12px auto;
  color: #2C3835;
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
  max-width: 56ch;
}
.thanks-actions{
  margin-top: 22px;
  display:flex;
  gap: 14px;
  justify-content:center;
  flex-wrap: wrap;
}
.thanks-note{
  opacity: 0.85;
  font-size: 0.95rem;
}
