/* García Cando Arquitectos · V90 K14.5
   Cortinillas públicas: conserva el editor K14 y recupera la geometría aprobada. */

.gc914-public-curtains{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.gc914-public-curtain{position:absolute;inset:0;opacity:0;overflow:hidden;transition:opacity 1.15s ease}
.gc914-public-curtain.active{opacity:1}
.gc914-public-curtain img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:inherit}
.gc914-public-fade{position:absolute;pointer-events:none}

/* R4.6: one full-width container and one unfiltered overlay. */
html body #estudio>.gc-k10-study-media{position:absolute!important;grid-area:auto!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border:0!important;box-shadow:none!important;z-index:0!important}
html body #estudio{position:relative!important;isolation:isolate;overflow:hidden}
html body #estudio>:not(.gc-k10-study-media):not(.gcv90-editorial-bg){position:relative;z-index:3}
html body #servicios>.gcv90-editorial-bg,html body #proceso>.gcv90-editorial-bg,html body #portal>.gcv90-editorial-bg,
html body #servicios>.gc914-public-fade,html body #proceso>.gc914-public-fade,html body #portal>.gc914-public-fade{inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important}
html body #estudio>.gc-k10-study-media.gc914-custom-fade:before,
html body #servicios.gc914-custom-fade>.gcv90-editorial-bg:after,
html body #proceso.gc914-custom-fade>.gcv90-editorial-bg:after,
html body #portal.gc914-custom-fade>.gcv90-editorial-bg:after,
html body .node-visual-sticky.gc914-custom-fade:before{display:none!important}
html body .hero:has(.gc914-home-fade-managed) .hero-slide img,
html body .hero:has(.gc914-home-fade-managed) .hero-media,
html body #estudio>.gc-k10-study-media img,
html body .gc914-custom-fade>.gcv90-editorial-bg img,
html body .gc914-custom-fade .node-photo{filter:none!important}
html body .node-shell{position:relative;isolation:isolate}
html body .node-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;z-index:0}
html body .node-visual-sticky{width:100%!important;height:100vh!important;position:sticky!important;top:0}
html body .node-content{background:transparent!important}
html body .node-visual-sticky.gc914-custom-fade .node-photo{transform:none!important}

/* Inicio: el fade administrable reemplaza solamente el overlay, no su caja. */
.hero-overlay.gc914-home-fade-managed{inset:0!important}

/* Estudio: fotografía, cortinillas y fade comparten exactamente la caja aprobada. */
#estudio>.gcv90-editorial-bg{display:none!important}
#estudio>.gc-k10-study-media.gc914-curtain-enabled>img{opacity:0!important}
#estudio>.gc-k10-study-media .gc914-public-curtains{z-index:1}
#estudio>.gc-k10-study-media .gc914-public-curtain img{filter:saturate(.90) contrast(1.03) brightness(1)!important}
#estudio>.gc-k10-study-media>.gc914-public-fade{inset:0;z-index:2}
#estudio>.gc-k10-study-media.gc914-custom-fade:before{display:none!important}

/* Base compartida: el medio administrable ocupa una caja real y no participa
   en el flujo. El contenido conserva su orden y queda siempre por encima. */
#servicios,#proceso,#portal{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#070809!important;
}
#servicios>.gcv90-editorial-bg,
#proceso>.gcv90-editorial-bg,
#portal>.gcv90-editorial-bg{
  position:absolute!important;
  display:block!important;
  overflow:hidden!important;
  z-index:0!important;
  background:#101213!important;
}
#servicios>.gcv90-editorial-bg>img,
#proceso>.gcv90-editorial-bg>img,
#portal>.gcv90-editorial-bg>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--gcv90-img-x,50%) var(--gcv90-img-y,50%)!important;
  transform:scale(var(--gcv90-img-z,1))!important;
  transform-origin:var(--gcv90-img-x,50%) var(--gcv90-img-y,50%)!important;
  filter:saturate(.90) contrast(1.02) brightness(1)!important;
}
.gcv90-editorial-bg.gc914-curtain-enabled>img{opacity:0!important}
.gcv90-editorial-bg.gc914-curtain-enabled .gc914-public-curtains{z-index:1}
.gcv90-editorial-bg.gc914-curtain-enabled .gc914-public-curtain img{filter:saturate(.90) contrast(1.02) brightness(1)!important}
#servicios>.services-head,
#proceso>.process-head,
#proceso>.process-track,
#portal>.portal-teaser-grid{position:relative!important;z-index:3!important}

/* 03 · Servicios: imagen a la izquierda; información y CTA a la derecha. */
#servicios.services{
  min-height:100svh!important;
  padding:clamp(126px,14vh,174px) var(--gcv90-pad) clamp(92px,10vh,128px)!important;
  display:flex!important;
  align-items:center!important;
}
#servicios>.gcv90-editorial-bg,
#servicios>.gc914-public-fade{
  left:var(--gcv90-pad)!important;
  top:clamp(190px,23vh,232px)!important;
  bottom:clamp(112px,14vh,150px)!important;
  width:min(52vw,960px)!important;
}
#servicios>.gcv90-editorial-bg:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,5,5,.02) 0%,rgba(3,5,5,.06) 70%,rgba(3,5,5,.96) 100%),linear-gradient(180deg,rgba(3,5,5,.08),rgba(3,5,5,.26));
}
#servicios.gc914-custom-fade>.gcv90-editorial-bg:after{display:none}
#servicios>.gc914-public-fade{z-index:2!important}
#servicios>.services-head{
  display:grid!important;
  grid-template-columns:minmax(0,52vw) minmax(330px,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:end!important;
  width:100%!important;
  gap:26px 0!important;
  margin:0!important;
}
#servicios>.services-head>div{grid-column:2!important;grid-row:1!important}
#servicios>.services-head .micro:before{
  content:"";
  display:block;
  width:82px;
  height:1px;
  margin:0 0 36px 76px;
  background:rgba(255,255,255,.42);
}
#servicios .section-title{max-width:none!important;margin:0!important;font-size:clamp(74px,7vw,132px)!important;line-height:.88!important}
#servicios .section-intro{max-width:39ch!important;margin:34px 0 0!important;font-size:clamp(15px,1.05vw,19px)!important;line-height:1.82!important}
#servicios .gc-services-summary-cta{
  grid-column:2!important;
  grid-row:2!important;
  justify-self:end!important;
  width:min(100%,315px)!important;
  margin-top:2px!important;
}

/* 05 · Proceso: franja fotográfica superior y contenido editorial inferior. */
#proceso.process{min-height:118svh!important;padding:clamp(390px,43vh,500px) var(--gcv90-pad) clamp(96px,10vh,132px)!important}
#proceso>.gcv90-editorial-bg,
#proceso>.gc914-public-fade{
  left:var(--gcv90-pad)!important;
  right:var(--gcv90-pad)!important;
  top:0!important;
  height:clamp(330px,40vh,455px)!important;
}
#proceso>.gcv90-editorial-bg:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,5,5,.05) 0%,rgba(3,5,5,.14) 68%,rgba(3,5,5,.88) 100%);
}
#proceso.gc914-custom-fade>.gcv90-editorial-bg:after{display:none}
#proceso>.gc914-public-fade{z-index:2!important}
#proceso>.process-head{
  display:grid!important;
  grid-template-columns:minmax(280px,.64fr) minmax(0,1.36fr)!important;
  align-items:start!important;
  gap:clamp(48px,7vw,130px)!important;
  margin:0 0 clamp(72px,8vh,104px)!important;
}
#proceso .process-head .micro{grid-column:1!important;grid-row:1!important}
#proceso .process-head .section-title{
  grid-column:2!important;
  grid-row:1!important;
  max-width:none!important;
  margin:0!important;
  font-size:clamp(72px,7vw,132px)!important;
  line-height:.88!important;
}
#proceso .process-head .section-intro{
  grid-column:1!important;
  grid-row:2!important;
  max-width:25ch!important;
  margin:clamp(100px,13vh,158px) 0 0!important;
  font-size:clamp(21px,1.75vw,31px)!important;
  line-height:1.45!important;
}

/* 06 · Tu Espacio: fotografía izquierda; manifiesto y acceso a la derecha. */
#portal.portal-teaser{
  min-height:100svh!important;
  padding:clamp(126px,14vh,174px) var(--gcv90-pad) clamp(92px,10vh,128px)!important;
  display:flex!important;
  align-items:center!important;
}
#portal>.gcv90-editorial-bg,
#portal>.gc914-public-fade{
  left:var(--gcv90-pad)!important;
  top:clamp(138px,17vh,178px)!important;
  bottom:clamp(120px,15vh,158px)!important;
  width:min(52vw,980px)!important;
}
#portal>.gcv90-editorial-bg:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,5,5,.02) 0%,rgba(3,5,5,.05) 70%,rgba(3,5,5,.97) 100%),linear-gradient(180deg,rgba(3,5,5,.08),rgba(3,5,5,.28));
}
#portal.gc914-custom-fade>.gcv90-editorial-bg:after{display:none}
#portal>.gc914-public-fade{z-index:2!important}
#portal:before{display:none!important}
#portal>.portal-teaser-grid{
  display:grid!important;
  grid-template-columns:minmax(0,52vw) minmax(270px,.48fr) minmax(300px,.52fr)!important;
  gap:0!important;
  align-items:center!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
}
#portal>.portal-teaser-grid>div:first-child{grid-column:2!important}
#portal>.portal-teaser-grid>.portal-actions{grid-column:3!important;margin-left:clamp(18px,2vw,38px)!important}
#portal .portal-teaser-grid h2{max-width:7ch!important;margin:24px 0 28px!important;font-size:clamp(70px,6.7vw,128px)!important;line-height:.88!important}
#portal .portal-teaser-grid p{max-width:32ch!important;font-size:clamp(14px,.95vw,17px)!important;line-height:1.9!important;text-align:justify!important}
#portal .portal-action{width:100%!important}

/* Node conserva su sticky y composición; cambia únicamente la fotografía. */
.node-photo.gc914-node-curtain-enabled{background-image:none!important}
.node-photo>.gc914-public-curtains{z-index:0}
.node-photo>.gc914-public-curtains .gc914-public-curtain img{filter:saturate(.82) contrast(1.04)!important}

@media(max-width:1100px){
  #servicios>.gcv90-editorial-bg,
  #servicios>.gc914-public-fade,
  #portal>.gcv90-editorial-bg,
  #portal>.gc914-public-fade{width:50%!important}
  #servicios>.services-head{grid-template-columns:minmax(0,50%) minmax(330px,1fr)!important}
  #portal>.portal-teaser-grid{grid-template-columns:minmax(0,50%) minmax(0,50%)!important}
  #portal>.portal-teaser-grid>div:first-child{grid-column:2!important;grid-row:1!important}
  #portal>.portal-teaser-grid>.portal-actions{grid-column:2!important;grid-row:2!important;margin:28px 0 0!important}
}

@media(max-width:760px){
  #servicios.services,#portal.portal-teaser{min-height:auto!important;padding:100px 20px 78px!important;display:block!important}
  #servicios>.gcv90-editorial-bg,
  #portal>.gcv90-editorial-bg{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:clamp(300px,56vh,520px)!important;
    margin:0 0 34px!important;
  }
  #servicios>.gc914-public-fade,
  #portal>.gc914-public-fade{
    position:absolute!important;
    left:20px!important;
    right:20px!important;
    top:100px!important;
    bottom:auto!important;
    width:auto!important;
    height:clamp(300px,56vh,520px)!important;
    margin:0!important;
  }
  #servicios>.services-head,#portal>.portal-teaser-grid{display:grid!important;grid-template-columns:1fr!important;min-height:0!important;gap:24px!important}
  #servicios>.services-head>div,
  #servicios .gc-services-summary-cta,
  #portal>.portal-teaser-grid>div:first-child,
  #portal>.portal-teaser-grid>.portal-actions{grid-column:1!important;grid-row:auto!important}
  #servicios>.services-head .micro:before{margin:0 0 24px;width:54px}
  #servicios .section-title,#portal .portal-teaser-grid h2{font-size:clamp(52px,14vw,76px)!important;max-width:none!important}
  #servicios .gc-services-summary-cta{justify-self:stretch!important;width:100%!important}
  #portal .portal-teaser-grid p{text-align:left!important;max-width:100%!important}

  #proceso.process{min-height:auto!important;padding:calc(clamp(280px,45vh,430px) + 58px) 20px 82px!important}
  #proceso>.gcv90-editorial-bg,
  #proceso>.gc914-public-fade{left:20px!important;right:20px!important;top:0!important;height:clamp(280px,45vh,430px)!important}
  #proceso>.process-head{grid-template-columns:1fr!important;gap:22px!important;margin-bottom:54px!important}
  #proceso .process-head .micro,
  #proceso .process-head .section-title,
  #proceso .process-head .section-intro{grid-column:1!important;grid-row:auto!important}
  #proceso .process-head .section-title{font-size:clamp(52px,14vw,76px)!important}
  #proceso .process-head .section-intro{margin:20px 0 0!important;font-size:20px!important;max-width:30ch!important}
}

@media(prefers-reduced-motion:reduce){.gc914-public-curtain{transition:none}}

/* K14.6 · Servicios, Proceso y Tu Espacio vuelven a usar la fotografía como
   fondo del Hero. Se elimina la caja fotográfica superior/separada y el
   contenido se protege en el lado oscuro del fade. */
#servicios.services,
#proceso.process,
#portal.portal-teaser{
  min-height:100svh!important;
  padding:clamp(126px,14vh,174px) var(--gcv90-pad) clamp(92px,10vh,128px)!important;
  display:flex!important;
  align-items:center!important;
}
#servicios>.gcv90-editorial-bg,
#proceso>.gcv90-editorial-bg,
#portal>.gcv90-editorial-bg,
#servicios>.gc914-public-fade,
#proceso>.gc914-public-fade,
#portal>.gc914-public-fade{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
}
#servicios>.gcv90-editorial-bg:after,
#portal>.gcv90-editorial-bg:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(3,5,5,.98) 0%,rgba(3,5,5,.91) 34%,rgba(3,5,5,.62) 58%,rgba(3,5,5,.12) 88%),
    linear-gradient(180deg,rgba(3,5,5,.15),rgba(3,5,5,.62))!important;
}
#proceso>.gcv90-editorial-bg:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(3,5,5,.98) 0%,rgba(3,5,5,.88) 42%,rgba(3,5,5,.56) 68%,rgba(3,5,5,.20) 100%),
    linear-gradient(180deg,rgba(3,5,5,.18),rgba(3,5,5,.78))!important;
}
#servicios.gc914-custom-fade>.gcv90-editorial-bg:after,
#proceso.gc914-custom-fade>.gcv90-editorial-bg:after,
#portal.gc914-custom-fade>.gcv90-editorial-bg:after{display:block!important}

#servicios>.services-head{
  grid-template-columns:minmax(0,1fr) minmax(280px,.55fr)!important;
  grid-template-rows:auto auto!important;
  gap:26px clamp(32px,5vw,86px)!important;
}
#servicios>.services-head>div{grid-column:1!important;grid-row:1!important;max-width:720px!important}
#servicios>.services-head .micro:before{margin:0 0 30px!important}
#servicios .section-intro{max-width:42ch!important}
#servicios .gc-services-summary-cta{
  grid-column:1!important;
  grid-row:2!important;
  justify-self:start!important;
  margin:4px 0 0!important;
}

#proceso>.process-head{
  grid-template-columns:minmax(0,1fr) minmax(280px,.70fr)!important;
  grid-template-rows:auto auto auto!important;
  align-items:start!important;
  gap:20px clamp(34px,5vw,90px)!important;
  width:100%!important;
  margin:0 0 clamp(66px,8vh,96px)!important;
}
#proceso .process-head .micro{grid-column:1!important;grid-row:1!important}
#proceso .process-head .section-title{
  grid-column:1!important;
  grid-row:2!important;
  max-width:9ch!important;
  margin:0!important;
}
#proceso .process-head .section-intro{
  grid-column:1!important;
  grid-row:3!important;
  max-width:27ch!important;
  margin:18px 0 0!important;
}

#portal>.portal-teaser-grid{
  grid-template-columns:minmax(0,1fr) minmax(310px,.62fr)!important;
  gap:clamp(42px,7vw,126px)!important;
  align-items:center!important;
}
#portal>.portal-teaser-grid>div:first-child{grid-column:1!important;grid-row:1!important;max-width:760px!important}
#portal>.portal-teaser-grid>.portal-actions{grid-column:2!important;grid-row:1!important;margin:0!important}
#portal .portal-teaser-grid h2{max-width:9ch!important}
#portal .portal-teaser-grid p{max-width:52ch!important}

@media(max-width:760px){
  #servicios.services,#proceso.process,#portal.portal-teaser{
    min-height:100svh!important;
    padding:112px 20px 82px!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  #servicios>.gcv90-editorial-bg,
  #proceso>.gcv90-editorial-bg,
  #portal>.gcv90-editorial-bg,
  #servicios>.gc914-public-fade,
  #proceso>.gc914-public-fade,
  #portal>.gc914-public-fade{
    position:absolute!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
  }
  #servicios>.gcv90-editorial-bg:after,
  #proceso>.gcv90-editorial-bg:after,
  #portal>.gcv90-editorial-bg:after{
    background:linear-gradient(180deg,rgba(3,5,5,.18) 0%,rgba(3,5,5,.58) 38%,rgba(3,5,5,.96) 72%,rgba(3,5,5,.99) 100%)!important;
  }
  #servicios>.services-head,
  #proceso>.process-head,
  #portal>.portal-teaser-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:24px!important}
  #servicios>.services-head>div,
  #servicios .gc-services-summary-cta,
  #proceso .process-head .micro,
  #proceso .process-head .section-title,
  #proceso .process-head .section-intro,
  #portal>.portal-teaser-grid>div:first-child,
  #portal>.portal-teaser-grid>.portal-actions{grid-column:1!important;grid-row:auto!important}
  #proceso .process-head .section-intro{margin:14px 0 0!important}
  #portal>.portal-teaser-grid>.portal-actions{margin-top:6px!important}
}

/* K14.7 · Proceso: el Hero conserva su fondo completo, pero el encabezado y
   las etapas vuelven a ocupar filas independientes. K14.6 convirtió por error
   ambos bloques en hijos flexibles de una misma fila y comprimió las tarjetas. */
#proceso.process{
  display:block!important;
}
#proceso>.process-head,
#proceso>.process-track{
  width:100%!important;
  min-width:0!important;
}
#proceso>.process-track{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
#proceso>.process-track>.step{
  width:auto!important;
  min-width:0!important;
}
@media(max-width:1050px){
  #proceso>.process-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #proceso.process{
    display:block!important;
    min-height:auto!important;
    padding:112px 20px 82px!important;
  }
  #proceso>.process-track{grid-template-columns:1fr!important}
}
