/* Accueil v59 — photo nette, véritable fondu vers le blanc, aucune sphère. */
body.farhan-v54 .hero{
  min-height:clamp(760px,82vh,940px);
  padding-top:104px;
  overflow:hidden;
  background:#fff;
  color:#14261c;
  border-bottom:1px solid #e4e9e1;
}

body.farhan-v54 .hero::before,
body.farhan-v54 .hero::after{content:none!important;display:none!important}

body.farhan-v54 .hero-copy{
  position:relative;
  z-index:3;
  min-height:clamp(690px,76vh,850px);
  padding-top:clamp(112px,13vh,170px);
  padding-bottom:108px;
}

body.farhan-v54 .hero-copy>*{max-width:46%}
body.farhan-v54 .hero-copy .eyebrow{color:#315f45;letter-spacing:.17em}

body.farhan-v54 .hero h1{
  max-width:700px;
  margin:31px 0 28px;
  color:#14261c;
  font-size:clamp(64px,6.25vw,106px);
  line-height:.87;
  letter-spacing:-.052em;
}

body.farhan-v54 .hero h1 em{
  display:inline-block;
  color:transparent;
  background:linear-gradient(110deg,#173d2b 5%,#4d7942 55%,#86a850 100%);
  -webkit-background-clip:text;
  background-clip:text;
}

body.farhan-v54 .hero h1>span{color:#14261c}
body.farhan-v54 .hero-copy>p{max-width:520px;color:#5f6d63;font-size:17px;line-height:1.7}
body.farhan-v54 .hero .button.outline{color:#173d2b;border-color:#bfcac0;background:rgba(255,255,255,.8)}
body.farhan-v54 .hero .button.green{background:#173d2b;color:#fff;border-color:#173d2b}
body.farhan-v54 .hero-specs{margin-top:54px;border-color:#dfe6df}
body.farhan-v54 .hero-specs span{color:#667269;border-color:#dfe6df}
body.farhan-v54 .hero-specs b{color:#517b45}

/* Le panneau reste rectangulaire. Ces propriétés neutralisent explicitement
   tout ancien masque circulaire conservé par un navigateur mobile. */
body.farhan-v54 .hero-photo-panel{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  width:62%;
  height:calc(100% - 66px);
  margin:0;
  overflow:hidden;
  contain:paint;
  background:#fff;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.farhan-v54 .hero-photo-panel::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:2;
  inset:0;
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #fff 0%,
      #fff 12%,
      rgba(255,255,255,.98) 22%,
      rgba(255,255,255,.88) 34%,
      rgba(255,255,255,.62) 45%,
      rgba(255,255,255,.28) 56%,
      rgba(255,255,255,0) 70%),
    linear-gradient(0deg,#fff 0%,rgba(255,255,255,.8) 5%,rgba(255,255,255,0) 19%);
}

body.farhan-v54 .hero-photo-panel::after{content:none!important;display:none!important}

body.farhan-v54 .hero-photo-panel .hero-photo{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:56% center;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  filter:saturate(.94) contrast(1.025) brightness(1.025)!important;
  transform:scale(1.012);
  animation:heroPhotoReveal59 1.15s cubic-bezier(.2,.75,.2,1) both;
}

body.farhan-v54 .hero-bottom{position:relative;z-index:4;color:#718077;border-color:#e4e9e1;background:#fff}
body.farhan-v54 .hero-bottom a{color:#315f45}

@keyframes heroPhotoReveal59{
  from{opacity:0;transform:scale(1.045)}
  to{opacity:1;transform:scale(1.012)}
}

@media (min-width:801px){
  body.farhan-v54 .site-header,
  body.farhan-v54 .site-header.is-scrolled{
    border-color:rgba(67,91,74,.18);
    background:rgba(255,255,253,.9);
    color:#173d2b;
    box-shadow:0 20px 58px rgba(22,50,31,.12);
  }
  body.farhan-v54 .site-header nav>a,
  body.farhan-v54 .site-header nav>button{color:#2f4939}
  body.farhan-v54 .site-header nav>a:hover,
  body.farhan-v54 .site-header nav>button:hover,
  body.farhan-v54 .site-header nav a.active{color:#5b8343}
  body.farhan-v54 .brand-name small{color:#708078}
  body.farhan-v54 .site-search input{background:#f1f5ef;color:#173d2b;border-color:#dbe3d9}
  body.farhan-v54 .site-search input::placeholder{color:#728078}
  body.farhan-v54 .language-switch{border-color:#d5ded3;background:#eef3ec}
  body.farhan-v54 .language-switch button{color:#597064}
  body.farhan-v54 .language-switch button[aria-pressed=true]{background:#173d2b;color:#fff}
}

@media (max-width:1180px) and (min-width:801px){
  body.farhan-v54 .hero-copy>*{max-width:49%}
  body.farhan-v54 .hero h1{font-size:clamp(55px,6.2vw,76px)}
  body.farhan-v54 .hero-photo-panel{width:59%}
}

@media (max-width:800px){
  body.farhan-v54 .site-intro::before,
  body.farhan-v54 .site-intro::after{content:none!important;display:none!important}

  body.farhan-v54 .site-header,
  body.farhan-v54 .site-header.is-scrolled{
    position:fixed!important;
    top:calc(8px + env(safe-area-inset-top))!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
    height:66px!important;
    margin:0!important;
    z-index:60;
  }

  body.farhan-v54 .hero{
    min-height:0;
    padding-top:calc(82px + env(safe-area-inset-top));
    background:#fff;
  }

  body.farhan-v54 .hero-copy{min-height:0;padding:30px 14px 22px}
  body.farhan-v54 .hero-copy>*{max-width:100%}
  body.farhan-v54 .hero-copy .eyebrow{color:#42644e;font-size:9px}
  body.farhan-v54 .hero h1{max-width:100%;margin:18px 0 18px;color:#14261c;font-size:clamp(43px,13vw,61px);line-height:.9}
  body.farhan-v54 .hero-copy>p{color:#5f6d63;font-size:15px;line-height:1.55}
  body.farhan-v54 .hero-specs{margin-top:28px}

  body.farhan-v54 .hero-photo-panel{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    height:clamp(330px,50svh,470px)!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:0!important;
  }

  body.farhan-v54 .hero-photo-panel::before{
    border-radius:0!important;
    background:
      linear-gradient(180deg,#fff 0%,rgba(255,255,255,.94) 8%,rgba(255,255,255,.58) 15%,rgba(255,255,255,0) 29%,rgba(255,255,255,0) 82%,rgba(255,255,255,.62) 93%,#fff 100%),
      linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,0) 30%);
  }

  body.farhan-v54 .hero-photo-panel .hero-photo{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:54% center!important;
    border-radius:0!important;
    transform:scale(1.005);
  }

  body.farhan-v54 .hero-bottom{width:calc(100% - 28px);margin-inline:auto;background:#fff}
}

@media (max-width:430px){
  body.farhan-v54 .hero-copy{padding-top:24px}
  body.farhan-v54 .hero h1{font-size:clamp(40px,12.3vw,52px)}
  body.farhan-v54 .hero-copy>p{font-size:14px}
  body.farhan-v54 .hero-photo-panel{height:360px!important}
}

@media (max-width:370px){
  body.farhan-v54 .hero h1{font-size:40px}
  body.farhan-v54 .hero-photo-panel{height:330px!important}
}

@media (prefers-reduced-motion:reduce){
  body.farhan-v54 .hero-photo-panel .hero-photo{animation:none}
}
