/* =========================================================
   Nozha v1.16.5 / v31 — approved layout stability layer
   ========================================================= */

/* Homepage section titles are structural content, never reveal-hidden. */
body.home .home-services__heading,
body.home .home-services__heading h2,
body.home .why-title-row,
body.home .why-title-row h2,
body.home .home-blog__heading,
body.home .home-blog__heading h2{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
}
body.home .home-services__heading h2,
body.home .home-blog__heading h2{color:#173f2b!important;}
body.home .why-title-row h2{color:#fff!important;}
body.home .home-services__heading,
body.home .home-blog__top{margin-bottom:26px!important;}

/* Consultation badge: cancel legacy vertical transform that clipped it. */
body.home .consult-badge{
  transform:none!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
}

/* Hero closer to sticky header, with a safe head clearance. */
body.home .home-hero.home-hero--cinematic{padding-top:calc(var(--nozha-header-height) + 18px)!important;}
body.admin-bar.home .home-hero.home-hero--cinematic{padding-top:calc(var(--nozha-header-height) + 50px)!important;}

/* Footer: right brand, center services, left contact, all aligned. */
.footer-glass.footer-glass--simplified{
  display:grid!important;
  grid-template-columns:1.05fr .86fr 1.36fr!important;
  gap:58px!important;
  align-items:start!important;
  padding:38px 44px!important;
  direction:ltr!important;
}
.footer-glass.footer-glass--simplified .footer-brand{
  grid-column:3!important;
  grid-row:1!important;
  direction:rtl!important;
  text-align:right!important;
  align-self:start!important;
}
.footer-glass.footer-glass--simplified .footer-services{
  grid-column:2!important;
  grid-row:1!important;
  direction:rtl!important;
  text-align:right!important;
  align-self:start!important;
}
.footer-glass.footer-glass--simplified .footer-contact{
  grid-column:1!important;
  grid-row:1!important;
  direction:rtl!important;
  text-align:right!important;
  align-self:start!important;
}
.footer-glass.footer-glass--simplified .footer-logo-badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 14px!important;
  margin:0 0 18px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 28px rgba(7,28,17,.10)!important;
  backdrop-filter:blur(14px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(125%)!important;
}
.footer-glass.footer-glass--simplified .footer-logo-badge img{
  display:block!important;
  width:auto!important;
  max-width:220px!important;
  max-height:68px!important;
  margin:0!important;
  object-fit:contain!important;
}
.footer-glass.footer-glass--simplified .footer-brand p{margin:0 0 18px!important;max-width:390px!important;}
.footer-glass.footer-glass--simplified .footer-services h3,
.footer-glass.footer-glass--simplified .footer-contact h3{margin-top:4px!important;}

@media(max-width:980px){
  .footer-glass.footer-glass--simplified{
    grid-template-columns:1fr 1fr!important;
    gap:30px!important;
    direction:rtl!important;
  }
  .footer-glass.footer-glass--simplified .footer-brand{grid-column:1/-1!important;grid-row:1!important;}
  .footer-glass.footer-glass--simplified .footer-services{grid-column:2!important;grid-row:2!important;}
  .footer-glass.footer-glass--simplified .footer-contact{grid-column:1!important;grid-row:2!important;}
}

@media(max-width:767px){
  /* Services stay two-column on mobile. */
  body.home .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  body.home .home-service-grid .service-card--home-reference{min-height:292px!important;border-radius:18px!important;}
  body.home .service-card--home-reference .service-card-home-media{height:132px!important;min-height:132px!important;flex-basis:132px!important;}
  body.home .service-card--home-reference .service-card-content{padding:11px 10px 12px!important;min-height:150px!important;}
  body.home .service-card--home-reference .service-card-content h3{font-size:13px!important;line-height:1.55!important;margin-bottom:5px!important;}
  body.home .service-card--home-reference .service-card-content p{font-size:8.5px!important;line-height:1.8!important;min-height:42px!important;}
  body.home .service-card--home-reference .service-card-footer{padding-top:7px!important;}
  body.home .service-card--home-reference .service-card-more{font-size:8.5px!important;gap:5px!important;}
  body.home .service-card--home-reference .service-card-more__icon{width:27px!important;height:27px!important;font-size:11px!important;}
  body.home .service-card--home-reference .service-no{top:8px!important;left:8px!important;min-width:30px!important;height:30px!important;font-size:10px!important;}
  body.home .home-hero.home-hero--cinematic{padding-top:calc(var(--nozha-header-height) + 10px)!important;}
  body.admin-bar.home .home-hero.home-hero--cinematic{padding-top:calc(var(--nozha-header-height) + 56px)!important;}
  .footer-glass.footer-glass--simplified{grid-template-columns:1fr!important;gap:26px!important;padding:28px 22px!important;}
  .footer-glass.footer-glass--simplified .footer-brand,
  .footer-glass.footer-glass--simplified .footer-services,
  .footer-glass.footer-glass--simplified .footer-contact{grid-column:1!important;grid-row:auto!important;}
}

/* =========================================================
   Nozha v1.16.5 — spacing / mobile footer / card CTA / hero motion fixes
   ========================================================= */

/* Hero sits immediately below the fixed header with only a small safety gap. */
body.home .home-hero.home-hero--cinematic{
  padding-top:calc(var(--nozha-header-height) + 4px)!important;
}
body.admin-bar.home .home-hero.home-hero--cinematic{
  padding-top:calc(var(--nozha-header-height) + 4px)!important;
}

/* Cleaner hero-model entrance: no clipping wipe, only a soft delayed settle. */
body.home .home-hero__model-wrap{
  clip-path:none!important;
  opacity:0!important;
  transform:translate3d(-18px,8px,0) scale(.99)!important;
  transition:opacity 1.05s ease .48s,transform 1.25s cubic-bezier(.19,1,.22,1) .48s!important;
}
body.home.site-ready .home-hero__model-wrap{
  opacity:1!important;
  transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1)!important;
}
body.home .home-hero__model{
  height:calc(100% - 44px)!important;
  margin-top:44px!important;
  align-self:flex-end!important;
}

/* Footer desktop: three equal physical zones, brand right / services center / contact left. */
body .footer-glass.footer-glass--simplified{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:40px!important;
  align-items:start!important;
  justify-items:stretch!important;
  padding:36px 46px!important;
  direction:ltr!important;
}
body .footer-glass.footer-glass--simplified .footer-brand,
body .footer-glass.footer-glass--simplified .footer-services,
body .footer-glass.footer-glass--simplified .footer-contact{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:start!important;
  direction:rtl!important;
  text-align:right!important;
}
body .footer-glass.footer-glass--simplified .footer-brand{grid-column:3!important;justify-self:stretch!important;}
body .footer-glass.footer-glass--simplified .footer-services{grid-column:2!important;justify-self:stretch!important;}
body .footer-glass.footer-glass--simplified .footer-contact{grid-column:1!important;justify-self:stretch!important;}
body .footer-glass.footer-glass--simplified .footer-brand p{
  max-width:none!important;
  width:100%!important;
}
body .footer-glass.footer-glass--simplified .footer-logo-badge{
  margin-right:0!important;
  margin-left:auto!important;
}

@media(max-width:980px){
  body.home .home-hero.home-hero--cinematic{
    padding-top:calc(var(--nozha-header-height) + 3px)!important;
  }
  body.admin-bar.home .home-hero.home-hero--cinematic{
    padding-top:calc(var(--nozha-header-height) + 3px)!important;
  }
  body.home .home-hero__model-wrap{
    clip-path:none!important;
    transform:translate3d(-50%,12px,0) scale(.99)!important;
  }
  body.home.site-ready .home-hero__model-wrap{
    transform:translate3d(calc(-50% + var(--hero-x,0px)),var(--hero-y,0px),0) scale(1)!important;
  }

  body .footer-glass.footer-glass--simplified{
    grid-template-columns:1fr 1fr!important;
    gap:28px!important;
    padding:32px 30px!important;
  }
  body .footer-glass.footer-glass--simplified .footer-brand{
    grid-column:1/-1!important;
    grid-row:1!important;
  }
  body .footer-glass.footer-glass--simplified .footer-services{
    grid-column:2!important;
    grid-row:2!important;
  }
  body .footer-glass.footer-glass--simplified .footer-contact{
    grid-column:1!important;
    grid-row:2!important;
  }
}

@media(max-width:767px){
  body.home .home-hero.home-hero--cinematic{
    padding-top:calc(var(--nozha-header-height) + 2px)!important;
  }
  body.admin-bar.home .home-hero.home-hero--cinematic{
    padding-top:calc(var(--nozha-header-height) + 2px)!important;
  }

  /* Cancel the legacy fixed 190px mobile height that clipped the CTA. */
  body.home .home-service-grid .service-card--home-reference{
    height:auto!important;
    min-height:320px!important;
    overflow:hidden!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-link{
    height:auto!important;
    min-height:320px!important;
  }
  body.home .service-card--home-reference .service-card-content{
    min-height:178px!important;
    padding:12px 10px 14px!important;
    overflow:visible!important;
  }
  body.home .service-card--home-reference .service-card-footer{
    display:flex!important;
    flex:0 0 auto!important;
    margin-top:auto!important;
    padding:10px 0 2px!important;
    overflow:visible!important;
  }
  body.home .service-card--home-reference .service-card-more{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:32px!important;
    gap:6px!important;
    font-size:9px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  body.home .service-card--home-reference .service-card-more__text{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:nowrap!important;
  }
  body.home .service-card--home-reference .service-card-more__icon{
    flex:0 0 29px!important;
    width:29px!important;
    height:29px!important;
  }

  /* Mobile footer is a clean RTL stack, aligned to the right edge. */
  body .footer-glass.footer-glass--simplified{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:28px 22px 32px!important;
    direction:rtl!important;
    justify-items:stretch!important;
  }
  body .footer-glass.footer-glass--simplified .footer-brand,
  body .footer-glass.footer-glass--simplified .footer-services,
  body .footer-glass.footer-glass--simplified .footer-contact{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    justify-self:stretch!important;
    align-self:start!important;
    direction:rtl!important;
    text-align:right!important;
  }
  body .footer-glass.footer-glass--simplified .footer-logo-badge{
    display:inline-flex!important;
    margin-right:0!important;
    margin-left:auto!important;
  }
  body .footer-glass.footer-glass--simplified .social-links{
    justify-content:flex-start!important;
    direction:rtl!important;
  }
  body .footer-glass.footer-glass--simplified .footer-contact p{
    justify-content:flex-start!important;
    direction:rtl!important;
    text-align:right!important;
  }
}

/* =========================================================
   Nozha v1.16.6 — continuous hero + stable service cards
   Canonical final rules; no new stylesheet layer.
   ========================================================= */
:root{
  --nozha-hero-model-safe-top:calc(var(--nozha-header-height) + 22px);
}

/* Start the hero visual at the very top so the background continues behind the glass header. */
body.home .home-hero.home-hero--cinematic,
body.admin-bar.home .home-hero.home-hero--cinematic{
  padding-top:0!important;
  margin-top:0!important;
  background:transparent!important;
}
body.home .home-hero__stage{
  margin-top:0!important;
  background:linear-gradient(100deg,#eef3ef 0%,#f7f8f6 52%,#f2f5f2 100%)!important;
}
body.home .home-hero__background{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
/* Keep the model clear of the header without moving the whole hero down. */
body.home .home-hero__model-wrap{
  top:var(--nozha-hero-model-safe-top)!important;
  bottom:0!important;
  height:auto!important;
  overflow:hidden!important;
}
body.admin-bar.home .home-hero__model-wrap{
  top:calc(var(--nozha-hero-model-safe-top) + 32px)!important;
}
body.home .home-hero__model{
  width:100%!important;
  height:100%!important;
  margin-top:0!important;
  object-fit:contain!important;
  object-position:left bottom!important;
}

/* Service cards: full-bleed cover image, flexible body and CTA that never clips/turns into a green bar. */
body.home .home-service-grid .service-card--home-reference{
  height:auto!important;
  min-height:382px!important;
  padding:0!important;
  overflow:hidden!important;
}
body.home .home-service-grid .service-card--home-reference .service-card-link{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:382px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
body.home .service-card--home-reference .service-card-home-media{
  width:100%!important;
  height:195px!important;
  min-height:195px!important;
  flex:0 0 195px!important;
  margin:0!important;
  padding:0!important;
  border-radius:24px 24px 0 0!important;
  overflow:hidden!important;
  line-height:0!important;
}
body.home .service-card--home-reference .service-card-home-media>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
}
body.home .service-card--home-reference .service-card-content{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  padding:24px 18px 17px!important;
  overflow:visible!important;
}
body.home .service-card--home-reference .service-card-footer{
  position:static!important;
  display:flex!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  margin-top:auto!important;
  padding:14px 0 0!important;
  overflow:visible!important;
}
body.home .service-card--home-reference .service-card-more,
body.home .service-card--home-reference:hover .service-card-more{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-height:36px!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#77907d!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body.home .service-card--home-reference .service-card-more__text{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  color:inherit!important;
}
body.home .service-card--home-reference .service-card-more__icon{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  background:#eff4ef!important;
  color:#54755d!important;
}

@media(max-width:767px){
  :root{--nozha-hero-model-safe-top:calc(var(--nozha-header-height) + 10px);}
  body.admin-bar.home .home-hero__model-wrap{
    top:calc(var(--nozha-hero-model-safe-top) + 46px)!important;
  }
  body.home .home-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.home .home-service-grid .service-card--home-reference{
    height:auto!important;
    min-height:300px!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-link{
    height:100%!important;
    min-height:300px!important;
  }
  body.home .service-card--home-reference .service-card-home-media{
    height:132px!important;
    min-height:132px!important;
    flex-basis:132px!important;
    border-radius:18px 18px 0 0!important;
  }
  body.home .service-card--home-reference .service-card-content{
    min-height:158px!important;
    padding:11px 10px 12px!important;
  }
  body.home .service-card--home-reference .service-card-footer{
    padding-top:8px!important;
  }
  body.home .service-card--home-reference .service-card-more,
  body.home .service-card--home-reference:hover .service-card-more{
    min-height:30px!important;
    gap:5px!important;
    font-size:8.5px!important;
  }
  body.home .service-card--home-reference .service-card-more__icon{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
    font-size:11px!important;
  }
}

/* =========================================================
   Nozha v1.16.7 — hero continuity + mobile copy separation + service CTA stability
   ========================================================= */

/* The old theme layers still carry fixed hero heights. Neutralize them so the
   section ends exactly at its stage instead of leaving an empty band below. */
body.home .home-hero.home-hero--cinematic{
  height:auto!important;
  min-height:0!important;
  margin-bottom:16px!important;
  padding-bottom:0!important;
}
body.home .home-hero__stage{
  margin-bottom:0!important;
}

/* Service CTA remains a simple editorial action in every state. Legacy hover
   rules used to turn it into a solid green pill on only the hovered card. */
body.home .home-service-grid .service-card--home-reference .service-card-content{
  padding-bottom:18px!important;
}
body.home .home-service-grid .service-card--home-reference .service-card-footer{
  position:static!important;
  width:100%!important;
  margin-top:auto!important;
  padding:12px 0 0!important;
  padding-left:0!important;
  overflow:visible!important;
}
body.home .home-service-grid .service-card--home-reference .service-card-more,
body.home .home-service-grid .service-card--home-reference:hover .service-card-more{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  gap:8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#77907d!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
body.home .home-service-grid .service-card--home-reference:hover .service-card-more__text{
  color:#58705e!important;
}
body.home .home-service-grid .service-card--home-reference .service-card-more__icon{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
}

@media(max-width:767px){
  /* The model owns a bounded upper visual zone. Copy starts below the face,
     while a soft continuation keeps the hero reading as one background. */
  body.home .home-hero__stage{
    height:700px!important;
    min-height:700px!important;
  }
  body.home .home-hero__model-wrap{
    top:calc(var(--nozha-header-height) + 8px)!important;
    bottom:auto!important;
    left:50%!important;
    width:min(100vw,520px)!important;
    height:330px!important;
    transform:translate3d(-50%,8px,0) scale(.99)!important;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 88%,rgba(0,0,0,.78) 94%,transparent 100%)!important;
    mask-image:linear-gradient(180deg,#000 0%,#000 88%,rgba(0,0,0,.78) 94%,transparent 100%)!important;
  }
  body.home.site-ready .home-hero__model-wrap{
    transform:translate3d(calc(-50% + var(--hero-x,0px)),var(--hero-y,0px),0) scale(1)!important;
  }
  body.home .home-hero__model{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:left bottom!important;
  }
  body.home .home-hero__overlay{
    align-items:stretch!important;
    justify-content:center!important;
    padding:0 8px 14px!important;
  }
  body.home .home-hero__content{
    width:100%!important;
    max-width:none!important;
    min-height:100%!important;
    margin:0!important;
    padding:360px 10px 10px!important;
    padding-top:360px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
    background:linear-gradient(180deg,rgba(247,249,247,0) 0%,rgba(247,249,247,.22) 42%,rgba(247,249,247,.92) 55%,rgba(247,249,247,.98) 100%)!important;
  }
  body.home .home-hero__content h1,
  body.home .home-hero__subtitle{
    text-align:center!important;
  }
  body.home .home-hero.home-hero--cinematic{
    margin-bottom:10px!important;
  }

  /* Two-column mobile cards stay readable and the CTA remains inside the card. */
  body.home .home-service-grid .service-card--home-reference{
    min-height:306px!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-link{
    min-height:306px!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-content{
    min-height:164px!important;
    padding:11px 10px 12px!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-footer{
    padding-top:8px!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-more,
  body.home .home-service-grid .service-card--home-reference:hover .service-card-more{
    min-height:29px!important;
    font-size:8.5px!important;
    gap:5px!important;
  }
  body.home .home-service-grid .service-card--home-reference .service-card-more__icon{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
  }
}
