/* BAC Inicio v1.3.0-J4 — Cómo y dónde trabajamos. */

.bac-home-work{
  background:var(--canvas);
  border-bottom:1px solid var(--line);
}

.bac-home-work__header{
  max-width:58rem;
  margin-bottom:clamp(2.2rem,5vw,4.8rem);
}

.bac-home-work-accordions{
  border-top:1px solid var(--ink);
}

.bac-home-work-card{
  border-bottom:1px solid var(--ink);
}

.bac-home-work-card__heading{
  margin:0;
}

.bac-home-work-card__toggle{
  appearance:none;
  width:100%;
  min-height:5.25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.2rem 0;
  border:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font-family:var(--display);
  font-size:clamp(1.42rem,2.4vw,2.25rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
  text-align:left;
}

.bac-home-work-card__toggle:hover,
.bac-home-work-card__toggle:focus-visible{
  color:var(--institutional);
}

.bac-home-work-card__chevron{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:2.75rem;
  height:2.75rem;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--institutional);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.bac-home-work-card__toggle:hover .bac-home-work-card__chevron,
.bac-home-work-card__toggle:focus-visible .bac-home-work-card__chevron{
  border-color:var(--institutional);
  background:var(--paper);
}

.bac-home-work-card__toggle[aria-expanded="true"] .bac-home-work-card__chevron{
  transform:rotate(180deg);
}

.bac-home-work-card__panel[hidden]{display:none!important}

.bac-home-work-card__panel-inner{
  padding:0 0 clamp(2.3rem,5vw,4.6rem);
}

.bac-home-work-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.35rem,3vw,2.5rem);
  margin:0;
  padding:0;
  list-style:none;
}

.bac-home-work-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-content:start;
  gap:1rem;
  padding-top:1.35rem;
  border-top:1px solid var(--line);
}

.bac-home-work-step__number{
  min-width:2rem;
  color:var(--accent);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.1em;
  line-height:1.65;
}

.bac-home-work-step h4{
  margin:0 0 .75rem;
  color:var(--institutional);
  font-family:var(--display);
  font-size:clamp(1.35rem,2vw,1.8rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.02em;
}

.bac-home-work-step p{
  margin:0;
  max-width:none;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.68;
}

.bac-home-contact-example{
  display:grid;
  gap:1rem;
  margin-top:clamp(2.25rem,5vw,4.5rem);
  padding-top:clamp(1.8rem,4vw,3rem);
  border-top:1px solid var(--ink);
}

.bac-home-contact-example h4{
  margin:0;
  color:var(--muted);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.bac-home-contact-example blockquote{
  position:relative;
  margin:0;
  padding:clamp(1.4rem,3vw,2.2rem) clamp(1.45rem,3vw,2.6rem);
  border-left:3px solid var(--accent);
  background:var(--paper);
}

.bac-home-contact-example blockquote p{
  margin:0;
  max-width:70ch;
  color:var(--ink);
  font-size:clamp(1rem,1.35vw,1.15rem);
  line-height:1.75;
}

.bac-home-office-gallery__title{
  max-width:25ch;
  margin:0 0 clamp(1.5rem,3vw,2.4rem);
  font-family:var(--display);
  font-size:clamp(1.8rem,3.5vw,3.25rem);
  font-weight:400;
  line-height:1.06;
  letter-spacing:-.035em;
}

.bac-home-office-gallery{
  position:relative;
  isolation:isolate;
  min-height:24rem;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--ink);
  outline:none;
}

.bac-home-office-gallery:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}

.bac-home-office-gallery__viewport{
  position:relative;
  min-height:inherit;
}

.bac-home-office-gallery__slide{
  position:relative;
  min-height:24rem;
  margin:0;
  background:var(--ink);
}

html[data-bac-home-j4-ready="true"] .bac-home-office-gallery__slide[hidden]{display:none!important}

.bac-home-office-gallery__image,
.bac-home-office-gallery__slide>img,
.bac-home-office-gallery__slide>.bac-home-media-placeholder{
  width:100%;
  height:clamp(24rem,56vw,42rem);
  min-height:24rem;
  object-fit:cover;
}

.bac-home-office-gallery .bac-home-media-placeholder{
  color:color-mix(in srgb,var(--paper) 75%,var(--muted));
  background:
    linear-gradient(135deg,transparent 49.7%,color-mix(in srgb,var(--paper) 18%,transparent) 50%,transparent 50.3%),
    color-mix(in srgb,var(--institutional) 86%,var(--ink));
}

.bac-home-office-gallery .bac-home-media-placeholder::before{
  border-color:color-mix(in srgb,var(--paper) 28%,transparent);
}

.bac-home-office-gallery .bac-home-media-placeholder strong{
  color:var(--paper);
}

.bac-home-office-gallery__slide::after,
.bac-home-exterior::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(to bottom,transparent,rgba(7,24,35,.82));
  pointer-events:none;
  z-index:1;
}

.bac-home-office-gallery__slide figcaption,
.bac-home-exterior figcaption{
  position:absolute;
  z-index:2;
  left:clamp(1rem,3vw,2rem);
  right:clamp(1rem,3vw,2rem);
  bottom:clamp(1rem,2.5vw,1.75rem);
  margin:0;
  color:#fff;
  font-size:clamp(.86rem,1.5vw,1rem);
  font-weight:760;
  line-height:1.4;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}

.bac-home-office-gallery__close,
.bac-home-exterior__close,
.bac-home-office-gallery__control{
  appearance:none;
  position:absolute;
  z-index:5;
  display:grid;
  place-items:center;
  width:2.75rem;
  height:2.75rem;
  padding:0;
  border:1px solid rgba(255,255,255,.58);
  border-radius:999px;
  background:rgba(7,24,35,.74);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(7px);
}

.bac-home-office-gallery__close,
.bac-home-exterior__close{
  top:1rem;
  right:1rem;
}

.bac-home-office-gallery__control{
  top:50%;
  transform:translateY(-50%);
}

.bac-home-office-gallery__control--previous{left:1rem}
.bac-home-office-gallery__control--next{right:1rem}

.bac-home-office-gallery__control:hover,
.bac-home-office-gallery__control:focus-visible,
.bac-home-office-gallery__close:hover,
.bac-home-office-gallery__close:focus-visible,
.bac-home-exterior__close:hover,
.bac-home-exterior__close:focus-visible{
  border-color:#fff;
  background:var(--institutional);
}

.bac-home-office-gallery__control:disabled{
  opacity:.28;
  cursor:not-allowed;
}

.bac-home-office-gallery__status{
  position:absolute;
  z-index:4;
  top:1.2rem;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  padding:.38rem .7rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(7,24,35,.68);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  backdrop-filter:blur(7px);
}

/* Progressive enhancement: controls only become relevant after J4 initializes. */
html:not([data-bac-home-j4-ready="true"]) .bac-home-office-gallery__control,
html:not([data-bac-home-j4-ready="true"]) .bac-home-office-gallery__close,
html:not([data-bac-home-j4-ready="true"]) .bac-home-office-gallery__status,
html:not([data-bac-home-j4-ready="true"]) .bac-home-exterior__close{
  display:none;
}

html:not([data-bac-home-j4-ready="true"]) .bac-home-office-gallery__slide+ .bac-home-office-gallery__slide{
  margin-top:1rem;
}

.bac-home-directions{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(1.6rem,4vw,4rem);
  align-items:start;
}

.bac-home-directions__address{
  display:grid;
  gap:.3rem;
  margin:0;
  color:var(--ink);
  font-style:normal;
}

.bac-home-directions__address strong{
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.9rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.04em;
}

.bac-home-directions__address span{
  color:var(--muted);
  font-size:1rem;
}

.bac-home-directions__actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}

.bac-home-directions__maps,
.bac-home-directions__exterior-trigger{
  min-height:3.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.8rem 1rem;
  border:1px solid var(--institutional);
  background:var(--institutional);
  color:var(--paper);
  cursor:pointer;
  font-size:.82rem;
  font-weight:800;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
}

.bac-home-directions__exterior-trigger{
  background:transparent;
  color:var(--institutional);
}

.bac-home-directions__maps:hover,
.bac-home-directions__maps:focus-visible{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.bac-home-directions__exterior-trigger:hover,
.bac-home-directions__exterior-trigger:focus-visible,
.bac-home-directions__exterior-trigger[aria-expanded="true"]{
  background:var(--paper);
}

.bac-home-exterior{
  position:relative;
  grid-column:1/-1;
  min-height:20rem;
  margin:clamp(1rem,3vw,2rem) 0 0;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--ink);
}

.bac-home-exterior[hidden]{display:none!important}

.bac-home-exterior__image,
.bac-home-exterior>img,
.bac-home-exterior>.bac-home-media-placeholder{
  width:100%;
  height:clamp(20rem,48vw,36rem);
  object-fit:cover;
}

.bac-home-exterior .bac-home-media-placeholder{
  color:color-mix(in srgb,var(--paper) 75%,var(--muted));
  background:color-mix(in srgb,var(--institutional) 86%,var(--ink));
}

.bac-home-exterior .bac-home-media-placeholder strong{color:var(--paper)}

.bac-home-final-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin-top:clamp(2.8rem,6vw,5.6rem);
  padding-top:clamp(1.7rem,4vw,3rem);
  border-top:1px solid var(--ink);
}

.bac-home-final-action{
  min-height:3.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.9rem 1.1rem;
  border:1px solid var(--institutional);
  background:var(--institutional);
  color:var(--paper);
  cursor:pointer;
  font-size:.85rem;
  font-weight:820;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
}

.bac-home-final-action--team{
  background:transparent;
  color:var(--institutional);
}

.bac-home-final-action--contact{
  grid-column:1/-1;
  justify-self:start;
  min-height:2.75rem;
  padding:.65rem 0;
  border:0;
  background:transparent;
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.28em;
}

.bac-home-final-action:hover,
.bac-home-final-action:focus-visible{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.bac-home-final-action--contact:hover,
.bac-home-final-action--contact:focus-visible{
  background:transparent;
  color:var(--institutional);
}

@media(max-width:1023px){
  .bac-home-work-steps{grid-template-columns:1fr}
  .bac-home-work-step{grid-template-columns:2.2rem minmax(0,1fr)}
  .bac-home-directions{grid-template-columns:1fr}
  .bac-home-directions__actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bac-home-exterior{grid-column:auto}
}

@media(max-width:767px){
  .bac-home-work-card__toggle{
    min-height:4.65rem;
    padding:1rem 0;
    font-size:clamp(1.3rem,6vw,1.7rem);
  }

  .bac-home-work-card__chevron{
    width:2.5rem;
    height:2.5rem;
  }

  .bac-home-work-step{
    grid-template-columns:1.75rem minmax(0,1fr);
    gap:.65rem;
  }

  .bac-home-office-gallery{
    min-height:40vh;
    max-height:45vh;
  }

  .bac-home-office-gallery__viewport,
  .bac-home-office-gallery__slide{
    min-height:40vh;
    max-height:45vh;
  }

  .bac-home-office-gallery__image,
  .bac-home-office-gallery__slide>img,
  .bac-home-office-gallery__slide>.bac-home-media-placeholder{
    height:40vh;
    min-height:40vh;
    max-height:45vh;
  }

  .bac-home-office-gallery__control{
    width:2.55rem;
    height:2.55rem;
  }

  .bac-home-office-gallery__control--previous{left:.55rem}
  .bac-home-office-gallery__control--next{right:.55rem}
  .bac-home-office-gallery__close{top:.55rem;right:.55rem}
  .bac-home-office-gallery__status{top:.72rem}

  .bac-home-directions__actions,
  .bac-home-final-actions{
    grid-template-columns:1fr;
  }

  .bac-home-final-action--contact{
    grid-column:auto;
    justify-self:stretch;
    justify-content:flex-start;
  }
}

@media(max-width:430px){
  .bac-home-work-card__toggle{gap:.85rem}
  .bac-home-office-gallery__slide figcaption,
  .bac-home-exterior figcaption{right:4.1rem}
  .bac-home-directions__address strong{font-size:2.4rem}
}

@media(prefers-reduced-motion:reduce){
  .bac-home-work-card__chevron{transition:none}
}

@media(forced-colors:active){
  .bac-home-office-gallery__close,
  .bac-home-exterior__close,
  .bac-home-office-gallery__control,
  .bac-home-office-gallery__status{
    forced-color-adjust:auto;
    border:1px solid ButtonText;
    background:Canvas;
    color:ButtonText;
  }
}
