/* Override de HERO para servicios de El Menú.
   Replica únicamente la composición visual del HERO de Sectores.
   No cambia la fuente global de los H. */

.site-header,
.service-detail-page .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 120 !important;
    width: 100% !important;
    background: transparent !important;
    border-bottom: 1px solid transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background .28s ease, backdrop-filter .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.service-detail-page .service-detail-hero{
  min-height:92vh;
  display:grid;
  align-items:center;
  padding:8rem 0 5rem;
  background:var(--service-cream,#fffdf7);
}

.service-detail-page .service-detail-hero-video,
.service-detail-page .service-detail-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-4;
  transform:scale(1.02);
  opacity:1;
  filter:none;
}

.service-detail-page .service-detail-veil{
  z-index:-3;
  background:
    radial-gradient(circle at 78% 24%,rgba(200,255,90,.18),transparent 24rem),
    linear-gradient(90deg,rgba(255,253,247,.93) 0%,rgba(255,253,247,.72) 44%,rgba(32,37,27,.18) 100%);
}

.service-detail-page .service-detail-gradient{
  z-index:-2;
  background:linear-gradient(180deg,rgba(255,253,247,0) 68%,var(--service-cream,#fffdf7) 100%);
}

.service-detail-page .service-detail-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.48fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:end;
}

.service-detail-page .service-detail-copy{
  max-width:900px;
}

.service-detail-page .service-detail-back,
.service-detail-page .service-detail-kicker,
.service-detail-page .service-card-label{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  border:1px solid rgba(79,98,57,.18);
  border-radius:999px;
  background:rgba(255,253,247,.76);
  color:var(--service-olive-dark,#27311f);
  font-size:.78rem;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
  padding:.62rem .86rem;
  text-decoration:none;
}

.service-detail-page .service-detail-kicker{
  margin-left:.5rem;
  background:rgba(200,255,90,.24);
}

.service-detail-page .service-detail-copy h1{
  margin:1.2rem 0 1.35rem;
  max-width:1050px;
  color:var(--service-ink,#20251b);
  font-family:var(--font-serif,"Playfair Display",Georgia,serif);
  font-weight:800;
  font-size:clamp(3rem,7vw,6.9rem);
  line-height:.88;
  letter-spacing:-.075em;
  text-wrap:balance;
}

.service-detail-page .service-detail-copy p{
  max-width:760px;
  margin:0;
  color:var(--service-muted,#5f6655);
  font-size:clamp(1.05rem,1.8vw,1.36rem);
  line-height:1.62;
  font-weight:400 !important;
  background:transparent;
}

.service-detail-page .service-detail-hero-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,253,247,.52);
  border-radius:2rem;
  background:rgba(255,253,247,.8);
  box-shadow:var(--service-shadow,0 28px 90px rgba(32,37,27,.16));
  -webkit-backdrop-filter:blur(22px);
  backdrop-filter:blur(22px);
  padding:clamp(1.4rem,2.8vw,2rem);
}

.service-detail-page .service-detail-hero-card::before{
  content:"";
  position:absolute;
  inset:auto -18% -28% auto;
  width:15rem;
  aspect-ratio:1;
  border-radius:999px;
  background:rgba(200,255,90,.34);
  filter:blur(8px);
}

.service-detail-page .service-detail-hero-card h2{
  position:relative;
  margin:1rem 0 1.25rem;
  color:var(--service-ink,#20251b);
  font-family:var(--font-serif,"Playfair Display",Georgia,serif);
  font-weight:800;
  font-size:clamp(1.42rem,2.1vw,2rem);
  line-height:1.1;
  letter-spacing:-.035em;
}

.service-detail-page .service-three-card-layout{
  display:block;
}

.service-detail-page .service-main-content{
  width:100%;
}

.service-detail-page .service-main-content > .service-section-kicker{
  margin-bottom:1.4rem;
}

.service-detail-page .service-three-card-section{
  margin-top:0;
}

.service-detail-page .service-three-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.45rem);
  align-items:stretch;
}

.service-detail-page .service-ficha-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  border:1px solid rgba(79,98,57,.13);
  border-radius:2rem;
  background:rgba(255,253,247,.86);
  box-shadow:0 22px 70px rgba(32,37,27,.08);
  padding:clamp(1.55rem,2.6vw,2.4rem);
}

.service-detail-page .service-ficha-card::after{
  content:"";
  position:absolute;
  right:-5rem;
  bottom:-5.4rem;
  width:13rem;
  aspect-ratio:1;
  border-radius:999px;
  background:rgba(200,255,90,.2);
  filter:blur(2px);
  pointer-events:none;
}

.service-detail-page .service-ficha-card > *{
  position:relative;
  z-index:1;
}

.service-detail-page .service-ficha-number{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:2.45rem !important;
  height:2.45rem !important;
  margin:0 0 1.45rem !important;
  border-radius:999px !important;
  background:#20251b !important;
  color:#fffdf7 !important;
  font-size:.78rem !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  font-weight:800 !important;
}

.service-detail-page .service-ficha-card .service-section-kicker{
  margin-bottom:1.1rem;
}

.service-detail-page .service-ficha-card h2{
  max-width:9em;
  margin:0 0 1.15rem;
  color:var(--service-ink,#20251b);
  font-family:var(--font-serif,"Playfair Display",Georgia,serif);
  font-weight:800;
  font-size:clamp(2.1rem,3.05vw,3.4rem);
  line-height:.94;
  letter-spacing:-.058em;
  text-wrap:balance;
}

.service-detail-page .service-ficha-card p{
  margin:0 0 1.05rem;
  color:var(--service-muted,#5f6655);
  font-size:clamp(.98rem,1.05vw,1.08rem);
  line-height:1.64;
  font-weight:400 !important;
}

.service-detail-page .service-ficha-card p:last-child{
  margin-bottom:0;
}

.service-detail-page .service-ficha-card ul{
  display:grid;
  gap:.82rem;
  margin:0;
  padding:0;
  list-style:none;
}

.service-detail-page .service-ficha-card li{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  color:var(--service-muted,#5f6655);
  font-size:clamp(.98rem,1.02vw,1.05rem);
  line-height:1.45;
  font-weight:400;
}

.service-detail-page .service-ficha-card li::before{
  content:"";
  flex:0 0 .55rem;
  width:.55rem;
  height:.55rem;
  margin-top:.46rem;
  border-radius:999px;
  background:var(--service-lime,#c8ff5a);
  box-shadow:0 0 0 5px rgba(200,255,90,.18);
}

.service-detail-page .service-ficha-card-cata .service-section-kicker,
.service-detail-page .service-ficha-card-cata .btn,
.service-detail-page .service-ficha-card-cata .service-ficha-number{
  position:relative;
  z-index:1;
}

.service-detail-page .service-ficha-card-cata .service-section-kicker{
  display:none;
}

.service-detail-page .service-ficha-card-cata .btn{
  width:100%;
  justify-content:center;
  margin-top:1.45rem;
}

.service-detail-page .service-ficha-card-cata h2{
  max-width:8em;
}

@media(max-width:1180px){
  .service-detail-page .service-three-card-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:980px){
  .service-detail-page .service-detail-hero{
    min-height:auto;
    padding:7.5rem 0 4rem;
  }

  .service-detail-page .service-detail-hero-inner{
    grid-template-columns:1fr;
  }

  .service-detail-page .service-detail-copy h1{
    font-size:clamp(3rem,13vw,5.2rem);
  }

  .service-detail-page .service-detail-hero-card{
    position:static;
  }

  .service-detail-page .service-detail-veil{
    background:
      radial-gradient(circle at 80% 14%,rgba(200,255,90,.16),transparent 18rem),
      linear-gradient(180deg,rgba(255,253,247,.94) 0%,rgba(255,253,247,.74) 62%,rgba(255,253,247,.9) 100%);
  }
}

@media(max-width:640px){
  .service-detail-page .service-detail-hero{
    padding-top:6.5rem;
  }

  .service-detail-page .service-detail-back,
  .service-detail-page .service-detail-kicker,
  .service-detail-page .service-card-label{
    font-size:.68rem;
    padding:.52rem .7rem;
  }

  .service-detail-page .service-detail-kicker{
    margin-left:0;
    margin-top:.45rem;
  }

  .service-detail-page .service-ficha-card{
    border-radius:1.45rem;
    padding:1.35rem;
  }

  .service-detail-page .service-ficha-card h2{
    font-size:clamp(2.15rem,11vw,3.2rem);
  }
}
