/* BAC Inicio v1.3.0-J2 — Hero + orientador de servicios. */

.bac-home-section{
  position:relative;
  padding-block:clamp(4.75rem,9vw,8.75rem);
  scroll-margin-top:calc(var(--bac-admin-bar-height,0px) + var(--bac-stage-bar-height,0px) + var(--bac-header-height,96px) + 1.5rem);
}

.bac-home-section__header{
  max-width:58rem;
  margin-bottom:clamp(2.5rem,5vw,4.75rem);
}

.bac-home-section__header h2{margin-bottom:1.4rem}
.bac-home-section__header>p:last-child{
  margin-bottom:0;
  color:var(--muted);
  font-size:clamp(1rem,1.5vw,1.22rem);
}

/* Hero */
.bac-home-hero{
  min-height:min(850px,calc(100svh - var(--bac-header-height,96px) - var(--bac-stage-bar-height,0px)));
  display:flex;
  align-items:center;
  background:var(--institutional);
  color:var(--paper);
  border-bottom:1px solid color-mix(in srgb,var(--paper) 18%,transparent);
  overflow:hidden;
}

.bac-home-hero::after{
  content:"";
  position:absolute;
  inset:auto -10% 8% 45%;
  height:1px;
  background:color-mix(in srgb,var(--paper) 18%,transparent);
  transform:rotate(-16deg);
  transform-origin:center;
  pointer-events:none;
}

.bac-home-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(21rem,.78fr);
  grid-template-areas:
    "content routes"
    "contact routes";
  column-gap:clamp(3.5rem,8vw,8rem);
  row-gap:2.25rem;
  align-items:end;
}

.bac-home-hero__content{grid-area:content;max-width:58rem}
.bac-home-hero__eyebrow{color:#f0b9a8}
.bac-home-hero h1{
  margin-bottom:clamp(1.5rem,3vw,2.25rem);
  max-width:13ch;
  font-size:clamp(3.35rem,6.4vw,6.9rem);
}
.bac-home-hero__statement{
  margin-bottom:1rem;
  max-width:43rem;
  color:#f3f5f4;
  font-size:clamp(1.08rem,1.6vw,1.34rem);
  line-height:1.55;
}
.bac-home-hero__instruction{
  margin-bottom:0;
  max-width:43rem;
  color:#c7d4d9;
  font-size:clamp(.96rem,1.25vw,1.08rem);
}

.bac-home-route-map{
  grid-area:routes;
  border-top:1px solid color-mix(in srgb,var(--paper) 28%,transparent);
}

.bac-home-route{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.5rem;
  align-items:center;
  min-height:9.4rem;
  padding:1.55rem 0;
  color:var(--paper);
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--paper) 22%,transparent);
  transition:padding .18s ease,background .18s ease,color .18s ease;
}

.bac-home-route:hover,
.bac-home-route:focus-visible{
  padding-inline:1.1rem;
  background:var(--paper);
  color:var(--institutional);
}

.bac-home-route__copy{display:grid;gap:.55rem}
.bac-home-route strong{
  font-family:var(--display);
  font-size:clamp(1.55rem,2.5vw,2.35rem);
  font-weight:400;
  line-height:1.05;
}
.bac-home-route__copy>span:last-child{
  max-width:33rem;
  color:#c7d4d9;
  font-size:.94rem;
  line-height:1.5;
}
.bac-home-route:hover .bac-home-route__copy>span:last-child,
.bac-home-route:focus-visible .bac-home-route__copy>span:last-child{color:var(--muted)}
.bac-home-route__arrow{color:#f0b9a8;font-size:1.7rem;transition:transform .18s ease}
.bac-home-route:hover .bac-home-route__arrow,
.bac-home-route:focus-visible .bac-home-route__arrow{transform:translateX(.35rem);color:var(--accent)}

.bac-home-hero__contact{grid-area:contact}
.bac-home-contact-trigger{
  appearance:none;
  min-height:48px;
  padding:.25rem 0;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--paper) 60%,transparent);
  background:transparent;
  color:var(--paper);
  cursor:pointer;
  font-size:.87rem;
  font-weight:700;
  text-align:left;
}
.bac-home-contact-trigger:hover{border-color:#f0b9a8;color:#f0b9a8}

/* Services navigator */
.bac-home-services{background:var(--canvas)}
.bac-home-services__header{max-width:52rem}
.bac-home-area-list{border-top:1px solid var(--ink)}
.bac-home-area{border-bottom:1px solid var(--line)}
.bac-home-area__heading,.bac-home-penal-group__heading{margin:0}

.bac-home-area__toggle,
.bac-home-penal-group__toggle{
  width:100%;
  min-height:5.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.15rem 0;
  border:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  text-align:left;
}

.bac-home-area__toggle>span:first-child{
  font-family:var(--display);
  font-size:clamp(1.85rem,3.5vw,3.55rem);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1;
}

.bac-home-disclosure__chevron{
  flex:0 0 auto;
  color:var(--accent);
  transition:transform .18s ease;
}
[aria-expanded="true"]>.bac-home-disclosure__chevron{transform:rotate(180deg)}

.bac-home-area__toggle:hover>span:first-child,
.bac-home-area__toggle:focus-visible>span:first-child{color:var(--institutional)}

.bac-home-area__panel{overflow:clip}
.bac-home-area__panel-inner{
  padding:0 0 clamp(2.4rem,5vw,4.5rem);
}
.bac-home-area__intro{
  margin:0 0 clamp(2rem,4vw,3.25rem);
  max-width:64rem;
  color:var(--muted);
  font-size:clamp(1rem,1.4vw,1.17rem);
}

.bac-home-service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(2rem,5vw,5rem);
}
.bac-home-service{
  min-width:0;
  padding:1.8rem 0 2rem;
  border-top:1px solid var(--line);
}
.bac-home-service h4{
  margin-bottom:.9rem;
  font-family:var(--display);
  font-size:clamp(1.35rem,2vw,1.85rem);
  font-weight:400;
  line-height:1.1;
}
.bac-home-service p{margin-bottom:1.15rem;color:var(--muted);font-size:.96rem}
.bac-home-service__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.65rem 1rem;
}
.bac-home-service__primary{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  color:var(--accent);
  font-size:.87rem;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}
.bac-home-service__primary:hover{color:var(--institutional)}
.bac-home-service__contact{
  appearance:none;
  min-height:44px;
  margin-left:auto;
  padding:.35rem 0;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:.77rem;
  font-weight:650;
  line-height:1.25;
  text-align:right;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:.28rem;
}
.bac-home-service__contact:hover,
.bac-home-service__contact:focus-visible{
  color:var(--institutional);
  text-decoration-color:currentColor;
}

.bac-home-penal-groups{border-top:1px solid var(--line)}
.bac-home-penal-group{border-bottom:1px solid var(--line)}
.bac-home-penal-group__toggle{min-height:4.5rem;padding:1rem 0}
.bac-home-penal-group__toggle>span:first-child{
  font-family:var(--sans);
  font-size:1rem;
  font-weight:750;
  letter-spacing:.01em;
}
.bac-home-penal-group__panel{padding:0 0 2.25rem}
.bac-home-penal-group__intro{color:var(--muted);margin:0 0 1.5rem}

.bac-home-area__notice{
  margin:2rem 0 0;
  max-width:58rem;
  padding:1rem 1.1rem;
  border-left:3px solid var(--accent);
  background:color-mix(in srgb,var(--paper) 72%,transparent);
  color:var(--ink);
  font-size:.92rem;
}

.bac-home-area__exit{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:center;
  margin-top:clamp(2.2rem,4vw,3.6rem);
  padding-top:1.6rem;
  border-top:1px solid var(--ink);
}
.bac-home-area__exit p{margin:0;max-width:52rem}
.bac-home-area__contact{
  min-height:48px;
  padding:.7rem 1rem;
  border:1px solid var(--institutional);
  background:transparent;
  color:var(--institutional);
  cursor:pointer;
  font-size:.84rem;
  font-weight:750;
}
.bac-home-area__contact:hover{background:var(--institutional);color:var(--paper)}

.bac-home-section__continuation{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  min-height:5rem;
  margin-top:clamp(3.5rem,7vw,6rem);
  padding:1.2rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--institutional);
  text-decoration:none;
  font-family:var(--display);
  font-size:clamp(1.3rem,2.2vw,2rem);
}
.bac-home-section__continuation span:last-child{color:var(--accent)}
.bac-home-section__continuation:hover{color:var(--accent)}

@media(max-width:1023px){
  .bac-home-hero{min-height:auto}
  .bac-home-hero__inner{
    grid-template-columns:1fr;
    grid-template-areas:"content" "routes" "contact";
    gap:2.7rem;
  }
  .bac-home-hero h1{max-width:15ch}
  .bac-home-route{min-height:8rem}
}

@media(min-width:1024px){
  .bac-home-hero{
    min-height:auto;
    align-items:flex-start;
    padding-block:clamp(4.5rem,6.2vw,6.8rem);
  }
  .bac-home-hero__inner{
    grid-template-areas:
      "content routes"
      "content contact";
    row-gap:1.1rem;
    align-items:start;
  }
  .bac-home-route-map{
    align-self:start;
    margin-top:2.15rem;
  }
  .bac-home-route{
    min-height:7.35rem;
    padding:1.15rem 0;
  }
  .bac-home-hero__contact{
    justify-self:start;
  }
}

@media(max-width:767px){
  .bac-home-section{padding-block:4.5rem}
  .bac-home-hero{padding-block:4.6rem 5rem}
  .bac-home-hero::after{display:none}
  .bac-home-hero__inner{gap:2.35rem}
  .bac-home-hero h1{font-size:clamp(2.85rem,13.2vw,4.6rem);max-width:12ch}
  .bac-home-hero__statement{font-size:1.05rem}
  .bac-home-route{min-height:auto;padding:1.35rem 0;gap:1rem}
  .bac-home-route strong{font-size:1.65rem}
  .bac-home-route__copy>span:last-child{font-size:.88rem}
  .bac-home-route:hover,.bac-home-route:focus-visible{padding-inline:.65rem}
  .bac-home-area__toggle{min-height:4.8rem}
  .bac-home-area__toggle>span:first-child{font-size:2.05rem}
  .bac-home-service-list{grid-template-columns:1fr}
  .bac-home-service{padding:1.45rem 0 1.65rem}
  .bac-home-service__actions{align-items:flex-start}
  .bac-home-area__exit{grid-template-columns:1fr;gap:1.2rem}
  .bac-home-area__contact{width:100%}
  .bac-home-hero__contact{display:flex;justify-content:center}
  .bac-home-contact-trigger{text-align:center}
}

@media(max-width:430px){
  .bac-home-hero{padding-top:3.7rem}
  .bac-home-hero__eyebrow{font-size:.69rem}
  .bac-home-route__arrow{font-size:1.35rem}
  .bac-home-area__panel-inner{padding-bottom:2.7rem}
}

@media(prefers-reduced-motion:reduce){
  .bac-home-route,.bac-home-route__arrow,.bac-home-disclosure__chevron{transition:none}
}

@media(forced-colors:active){
  .bac-home-route,.bac-home-area,.bac-home-service,.bac-home-area__contact,.bac-home-section__continuation{border-color:CanvasText}
  .bac-home-route:hover,.bac-home-route:focus-visible{background:Canvas;color:CanvasText}
}


/* CHAT 13 — continuidad Inicio → Hub. */
.bac-home-area__hub-link{
  display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:48px;margin:.25rem 0 1.25rem;padding:.7rem .9rem;
  border:1px solid var(--line);border-radius:4px;background:var(--paper);
  color:var(--institutional);font-weight:700;text-decoration:none
}
.bac-home-area__hub-link:hover,.bac-home-area__hub-link:focus-visible{border-color:var(--institutional);box-shadow:0 0 0 2px color-mix(in srgb,var(--institutional) 18%,transparent)}
@media(forced-colors:active){.bac-home-area__hub-link{border-color:CanvasText}.bac-home-area__hub-link:focus-visible{outline:3px solid Highlight}}
