/* Ajuste final de Home: reglas aisladas para no afectar interiores. */
.home-page{overflow-x:hidden;background:var(--cream)}
.home-page .home-masthead{
  width:100%;
  max-width:none;
  margin:0;
  min-height:64px;
  margin:0 auto;
  padding:10px 0 9px;
  border-bottom:1px solid var(--wine);
}
.home-page .home-masthead .brand{min-width:0;margin-left:max(32px,calc((100% - 1180px)/2))}
.home-page .home-masthead .brand span{
  margin:0;
  color:var(--ink);
  font:700 12px/1.2 Lato,Arial,sans-serif;
  letter-spacing:.055em;
}
.home-page .home-masthead nav{gap:12px;margin-right:max(32px,calc((100% - 1180px)/2))}
.home-page .home-masthead nav>a,.home-page .home-masthead summary{font-size:9px}
.home-menu-toggle{display:none}

.home-page .home-hero{
  position:relative;
  width:100%;
  min-height:390px;
  margin:0;
  padding:0;
  border-bottom:2px solid var(--wine);
  overflow:hidden;
  color:var(--ink);
  background:var(--cream);
}
.home-page .home-hero::before,.home-page .home-hero::after{display:none}
.home-page .hero-inner{
  width:min(1180px,calc(100% - 64px));
  min-height:390px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  align-items:end;
  gap:30px;
  position:relative;
  z-index:1;
}
.home-page .hero-copy{
  width:auto;
  min-height:0;
  padding:49px 0 38px;
  display:block;
}
.home-page .hero h1{
  margin:0;
  color:var(--wine);
  font-size:clamp(39px,5.1vw,67px);
  line-height:1.06;
  letter-spacing:.055em;
  text-shadow:none;
  -webkit-text-stroke:.28px currentColor;
}
.home-page .hero .concept{
  margin:17px 0 26px;
  color:#372c2a;
  font:700 clamp(20px,2.05vw,29px)/1.28 'Julius Sans One',sans-serif;
  letter-spacing:.065em;
  text-shadow:none;
  -webkit-text-stroke:.28px currentColor;
}
.home-page .hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}
.home-page .hero-actions>a:not(.hero-whatsapp){
  padding:12px 14px;
  background:var(--wine);
  color:#fff;
  font-size:10px;
}
.home-page .hero-whatsapp{
  width:38px;
  height:38px;
  border-color:var(--wine);
  color:var(--wine)!important;
}
.home-page .hero-whatsapp-mobile,.home-page .hero-actions-mobile{display:none}
.home-page .hero-portrait{
  position:relative;
  right:auto;
  bottom:auto;
  z-index:1;
  width:min(100%,430px);
  height:auto;
  max-width:100%;
  max-height:382px;
  margin:0 auto 0 0;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  filter:none;
}

.home-page .strategy{
  width:min(1180px,calc(100% - 64px));
  margin:0 auto;
  padding:14px 0 23px;
  text-align:center;
  font-size:clamp(19px,2.35vw,31px);
  line-height:1.28;
}
.home-page .strategy p:first-child{color:var(--wine)}

.home-page .section.work{
  width:min(1120px,calc(100% - 64px));
  padding:28px 0 40px;
}
.home-page .work-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:19px 34px;
}
.home-page .work-card-link{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:15px;
  align-items:center;
  padding:8px 6px;
}
.home-page .work-card-link img{
  width:110px!important;
  height:88px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  mix-blend-mode:multiply;
}
.home-page .work-card-link h3{
  width:100%;
  max-width:100%;
  margin:0 0 6px!important;
  font-size:15px!important;
  text-align:center;
  text-decoration:none!important;
  padding-bottom:0!important;
  border-bottom:0!important;
}
.home-page .work-card-link p{
  margin:0;
  color:var(--ink);
  font:400 16px/1.52 Lato,Arial,sans-serif;
  letter-spacing:normal;
  text-transform:none;
}

.home-page .about{
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:58px;
  padding-top:62px;
  padding-bottom:64px;
  background:var(--cream);
}
.home-page .about img{
  max-height:300px;
  mix-blend-mode:multiply;
}
.home-page .about h2{
  margin:0 0 25px;
  text-align:center;
}
.home-page .about p{
  max-width:650px;
  margin:0 0 17px;
  font-size:17px;
  line-height:1.72;
}
.home-page .about .quote{
  max-width:650px;
  margin:30px 0 25px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--wine);
  font-size:19px;
  line-height:1.52;
  -webkit-text-stroke:.22px currentColor;
}
.home-page .about a{
  display:inline-block;
  margin-top:1px;
  padding:12px 15px;
  background:var(--wine);
  color:#fff;
  font:700 10px/1.1 'Julius Sans One',sans-serif;
  letter-spacing:.05em;
  text-align:center;
  text-decoration:none;
}
@media(min-width:701px){
  .home-page .about>img{width:80%;justify-self:center;align-self:center}
  .home-page .about>div>a{display:block;width:max-content;margin-left:auto;margin-right:auto}
}

.home-page .home-areas{
  width:min(1120px,calc(100% - 64px));
  padding:54px 0 52px;
  background:var(--cream);
}
.home-page .home-areas h2{margin-bottom:24px}
.home-page .home-area-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 48px;
}
.home-page .home-area-grid article{
  min-width:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-page .area-card-link{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:15px;
  align-items:center;
  min-height:153px;
  padding:16px 0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-page .area-card-link>img{
  display:block;
  width:102px;
  height:102px;
  object-fit:contain;
}
.home-page .area-card-link h3{
  width:max-content;
  max-width:100%;
  margin:0 0 7px!important;
  font-size:15px!important;
  line-height:1.32;
}
.home-page .area-card-link p{
  margin:0;
  color:var(--ink);
  font:400 16px/1.5 Lato,Arial,sans-serif;
  letter-spacing:normal;
  text-transform:none;
}
.home-page .home-area-grid .calculator .area-card-link{
  /* La calculadora forma parte de la misma familia visual que las demás áreas. */
  grid-template-columns:112px minmax(0,1fr);
  min-height:153px;
  padding:15px 12px;
  margin:8px 0;
  /* Recuadro explícito para separarla de las tres áreas jurídicas. */
  border:1px solid var(--wine)!important;
  background:#f5ece2!important;
  box-shadow:none!important;
}
.home-page .home-area-grid .calculator img{
  display:block;
  width:102px;
  height:102px;
  object-fit:contain;
}

.home-page .home-guides{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:42px max(32px,calc((100% - 1120px)/2)) 44px;
  background:#eee2d3;
}
.home-page .home-guides .prejudicial-heading{width:min(1120px,100%);margin:0 auto 21px}
.home-page .home-guides .prejudicial-heading h2{margin:0}
.home-page .home-guides .prejudicial-heading h2 span{display:inline}
.home-page .guide-grid{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 48px;
}
.home-page .guide-tile{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:15px;
  align-items:center;
  min-height:116px;
  color:var(--wine);
  text-decoration:none;
  border:0;
}
.home-page .private-mediation-home{display:block;width:min(420px,100%);margin:22px auto 0;padding:15px 18px;background:var(--wine);color:#fff;text-align:center;text-decoration:none;font:700 14px/1.2 Lato,Arial,sans-serif;letter-spacing:.06em}
.home-page .guide-tile img{
  display:block;
  width:94px;
  height:94px;
  object-fit:contain;
}
.home-page .guide-tile h3{
  margin:0;
  font:700 15px/1.35 'Julius Sans One',sans-serif;
  letter-spacing:.045em;
}
.home-page .guide-tile:hover h3,.home-page .guide-tile:focus-visible h3{text-decoration:underline}

.home-page .global-footer{padding:36px 0!important}
.home-page .global-footer h2,.home-page .footer-brand{-webkit-text-stroke:0!important;text-shadow:none!important}

@media(max-width:900px){
  .home-page .home-masthead{width:calc(100% - 40px)}
  .home-page .home-masthead nav{gap:9px;justify-content:flex-end}
  .home-page .home-masthead nav>a,.home-page .home-masthead summary{font-size:8px}
  .home-page .hero-inner,.home-page .strategy,.home-page .section.work,.home-page .home-areas{width:calc(100% - 48px)}
  .home-page .hero-inner{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:15px}
  .home-page .hero-portrait{max-height:355px}
  .home-page .work-card-link{grid-template-columns:90px minmax(0,1fr)}
  .home-page .work-card-link img{width:90px!important;height:74px!important}
  .home-page .home-area-grid,.home-page .guide-grid{gap:0 28px}
}
@media(max-width:700px){
  .home-page .home-hero{border:0;overflow:visible}
  .home-page .home-masthead{
    width:100%;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 18px 10px;
  }
  .home-page .home-masthead .brand{display:block;margin:0}
  .home-menu-toggle{display:block;border:1px solid var(--wine);padding:7px 9px;background:transparent;color:var(--wine);font:700 10px/1 Lato,Arial,sans-serif}
  .home-page .home-masthead nav{display:none;position:absolute;z-index:30;top:54px;left:18px;right:18px;padding:15px;background:var(--cream);border:1px solid #d9cfc4;justify-content:flex-start;gap:11px;flex-wrap:wrap}
  .home-page .home-masthead nav.is-open{display:flex}
  .home-page .home-masthead nav>a,.home-page .home-masthead summary{font-size:8px}
  .home-page .home-masthead details div{left:0;right:auto}
  .home-page .hero-inner{
    width:calc(100% - 40px);
    min-height:450px;
    grid-template-columns:1fr;
    position:relative;
    align-items:start;
  }
  .home-page .hero-copy{position:relative;z-index:2;padding:34px 0 20px;width:100%}
  .home-page .hero h1{font-size:clamp(34px,10vw,48px)}
  .home-page .hero .concept{font-size:15px;margin:10px 0 13px}
  .home-page .hero-portrait{
    position:absolute;
    right:-6px;
    bottom:0;
    width:60%;
    max-height:324px;
    margin:0;
    object-position:right bottom;
  }
  .home-page .hero-actions{display:none}
  .home-page .hero-whatsapp-mobile{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid var(--wine);border-radius:50%;color:var(--wine);background:var(--cream)}
  .home-page .hero-whatsapp-mobile svg{width:21px;height:21px;fill:currentColor}
  .home-page .hero-actions-mobile{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%;padding:7px 20px;background:var(--wine)}
  .home-page .hero-actions-mobile a{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;padding:7px 5px;border:1px solid rgba(255,255,255,.6);color:#fff;text-align:center;text-decoration:none;font:700 8px/1.2 Lato,Arial,sans-serif;letter-spacing:.02em}
  .home-page .strategy{width:calc(100% - 40px);padding:19px 0 22px;font-size:20px}
  .home-page .section.work,.home-page .home-areas{width:calc(100% - 24px)}
  .home-page .section.work{padding-top:22px;padding-bottom:31px}
  .home-page .work-grid{grid-template-columns:1fr;gap:11px}
  .home-page .work-card-link{grid-template-columns:60px minmax(0,1fr);padding:8px 0}
  .home-page .work-card-link img{width:64px!important;height:62px!important}
  .home-page .work-card-link p{font-size:15px}
  .home-page .work-card-link{gap:4px}
  .home-page .work-card-link h3{font-size:14px!important;text-align:center}
  /* El acceso debe ocupar todo el ancho: la regla editorial anterior lo encogía
     al centrarlo como ítem flex y desplazaba visualmente el texto a la derecha. */
  .home-page .work-card-link{align-self:stretch;width:100%;grid-template-columns:58px minmax(0,1fr);column-gap:4px}
  .home-page .work-card-link>div{min-width:0;width:100%;text-align:left}
  .home-page .work-card-link img{justify-self:start;width:58px!important;height:56px!important}
  .home-page .work-card-link>div h3{width:100%;text-align:center}
  .home-page .work-card-link>div p{text-align:left}
  /* La regla móvil original convierte el article en una grilla y ubica el
     enlace completo en su segunda columna. Aquí el enlace ya contiene su
     propia grilla (ícono + texto), por eso el article debe ocupar una sola. */
  .home-page .work article{display:block;width:100%}
  .home-page .work article>.work-card-link{grid-column:auto!important}
  .home-page .about{grid-template-columns:1fr;gap:24px;padding-top:47px;padding-bottom:49px}
  .home-page .about img{max-height:240px}
  .home-page .about p{font-size:16px;line-height:1.68}
  .home-page .about .quote{font-size:18px;margin-top:25px}
  .home-page .about a{display:block;width:max-content;margin:0 auto}
  .home-page .home-areas{padding-top:42px;padding-bottom:40px}
  .home-page .home-area-grid{grid-template-columns:1fr;gap:0}
  .home-page .home-area-grid article{border:0!important}
  .home-page .area-card-link{grid-template-columns:78px minmax(0,1fr);min-height:0;padding:17px 0}
  .home-page .area-card-link>img{width:74px;height:74px}
  .home-page .home-area-grid .calculator .area-card-link{grid-template-columns:78px minmax(0,1fr);min-height:0;margin:8px 0;padding:15px 12px!important}
  .home-page .home-area-grid .calculator img{width:74px;height:74px}
  .home-page .home-guides{padding:36px 16px 38px}
  .home-page .home-guides .prejudicial-heading h2 span{display:block}
  .home-page .guide-grid{grid-template-columns:1fr;gap:0}
  .home-page .guide-tile{grid-template-columns:78px minmax(0,1fr);gap:8px;min-height:98px}
  .home-page .guide-tile img{width:76px;height:76px}
}
