.elementor-2609 .elementor-element.elementor-element-bcdde78{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:128px;--padding-bottom:150px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-bcdde78:not(.elementor-motion-effects-element-type-background), .elementor-2609 .elementor-element.elementor-element-bcdde78 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B0B0D;}.elementor-2609 .elementor-element.elementor-element-a641b17{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:8px 18px;--row-gap:8px;--column-gap:18px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-a816909{text-align:start;}.elementor-2609 .elementor-element.elementor-element-c43adaa .elementor-icon-list-icon{width:14px;}.elementor-2609 .elementor-element.elementor-element-c43adaa .elementor-icon-list-icon i{font-size:14px;}.elementor-2609 .elementor-element.elementor-element-c43adaa .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-2609 .elementor-element.elementor-element-4d056b2{text-align:start;}.elementor-2609 .elementor-element.elementor-element-03a10a2{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-03a10a2:not(.elementor-motion-effects-element-type-background), .elementor-2609 .elementor-element.elementor-element-03a10a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2609 .elementor-element.elementor-element-fff7360{text-align:start;}.elementor-2609 .elementor-element.elementor-element-e49e348{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:72px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-e49e348:not(.elementor-motion-effects-element-type-background), .elementor-2609 .elementor-element.elementor-element-e49e348 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2609 .elementor-element.elementor-element-e995cc5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 72px;--row-gap:0px;--column-gap:72px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-c20f549{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-2771acd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:12px 16px;--row-gap:12px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-209457f{text-align:start;}.elementor-2609 .elementor-element.elementor-element-8af7472{text-align:start;}.elementor-2609 .elementor-element.elementor-element-6d9e556{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-54d9680{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-300fbdb .elementor-toc__header-title{text-align:start;}.elementor-2609 .elementor-element.elementor-element-300fbdb .elementor-toc__header{flex-direction:row;}.elementor-2609 .elementor-element.elementor-element-300fbdb{--item-text-hover-decoration:underline;}.elementor-2609 .elementor-element.elementor-element-b7fdce3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-2609 .elementor-element.elementor-element-1f4ff0b{text-align:start;}.elementor-2609 .elementor-element.elementor-element-8ac1c61{text-align:start;}.elementor-2609 .elementor-element.elementor-element-8c0adee{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-a84f5d4 .elementor-button{background-color:#DAA520;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:600;line-height:1.2em;fill:#111111;color:#111111;border-radius:6px 6px 6px 6px;padding:18px 30px 18px 30px;}.elementor-2609 .elementor-element.elementor-element-a84f5d4 .elementor-button:hover, .elementor-2609 .elementor-element.elementor-element-a84f5d4 .elementor-button:focus{background-color:#EBBB3E;color:#111111;}.elementor-2609 .elementor-element.elementor-element-a84f5d4 .elementor-button:hover svg, .elementor-2609 .elementor-element.elementor-element-a84f5d4 .elementor-button:focus svg{fill:#111111;}.elementor-2609 .elementor-element.elementor-element-a7187b2 .elementor-button{background-color:rgba(255,255,255,0);font-family:"Poppins", Sans-serif;font-size:15px;font-weight:600;line-height:1.2em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.28);border-radius:6px 6px 6px 6px;padding:17px 29px 17px 29px;}.elementor-2609 .elementor-element.elementor-element-a7187b2 .elementor-button:hover, .elementor-2609 .elementor-element.elementor-element-a7187b2 .elementor-button:focus{background-color:rgba(255,255,255,0.04);color:#FFFFFF;border-color:rgba(218,165,32,0.65);}.elementor-2609 .elementor-element.elementor-element-a7187b2 .elementor-button:hover svg, .elementor-2609 .elementor-element.elementor-element-a7187b2 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2609 .elementor-element.elementor-element-727f275{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:88px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-727f275:not(.elementor-motion-effects-element-type-background), .elementor-2609 .elementor-element.elementor-element-727f275 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F4F0;}.elementor-2609 .elementor-element.elementor-element-bfa6362{text-align:start;}.elementor-2609 .elementor-element.elementor-element-2124967{text-align:start;}.elementor-2609 .elementor-element.elementor-element-46b047f{--grid-row-gap:36px;--grid-column-gap:24px;}.elementor-2609 .elementor-element.elementor-element-46b047f .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.625 * 100% );}.elementor-2609 .elementor-element.elementor-element-46b047f:after{content:"0.625";}.elementor-2609 .elementor-element.elementor-element-46b047f .elementor-post__thumbnail__link{width:100%;}.elementor-2609 .elementor-element.elementor-element-46b047f .elementor-post__meta-data span + span:before{content:"·";}.elementor-2609 .elementor-element.elementor-element-46b047f.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-2609 .elementor-element.elementor-element-46b047f.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-2609 .elementor-element.elementor-element-46b047f.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-2609 .elementor-element.elementor-element-67ae303{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:104px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-67ae303:not(.elementor-motion-effects-element-type-background), .elementor-2609 .elementor-element.elementor-element-67ae303 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B0B0D;}.elementor-2609 .elementor-element.elementor-element-2503a12{text-align:start;}.elementor-2609 .elementor-element.elementor-element-a557be8{text-align:start;}.elementor-2609 .elementor-element.elementor-element-2505c7c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2609 .elementor-element.elementor-element-def1de5 .elementor-button{background-color:#DAA520;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:600;line-height:1.2em;fill:#111111;color:#111111;border-radius:6px 6px 6px 6px;padding:18px 30px 18px 30px;}.elementor-2609 .elementor-element.elementor-element-def1de5 .elementor-button:hover, .elementor-2609 .elementor-element.elementor-element-def1de5 .elementor-button:focus{background-color:#EBBB3E;color:#111111;}.elementor-2609 .elementor-element.elementor-element-def1de5 .elementor-button:hover svg, .elementor-2609 .elementor-element.elementor-element-def1de5 .elementor-button:focus svg{fill:#111111;}.elementor-2609 .elementor-element.elementor-element-92cc260 .elementor-button{background-color:rgba(255,255,255,0);font-family:"Poppins", Sans-serif;font-size:15px;font-weight:600;line-height:1.2em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.28);border-radius:6px 6px 6px 6px;padding:17px 29px 17px 29px;}.elementor-2609 .elementor-element.elementor-element-92cc260 .elementor-button:hover, .elementor-2609 .elementor-element.elementor-element-92cc260 .elementor-button:focus{background-color:rgba(255,255,255,0.04);color:#FFFFFF;border-color:rgba(218,165,32,0.65);}.elementor-2609 .elementor-element.elementor-element-92cc260 .elementor-button:hover svg, .elementor-2609 .elementor-element.elementor-element-92cc260 .elementor-button:focus svg{fill:#FFFFFF;}@media(max-width:1024px){.elementor-2609 .elementor-element.elementor-element-bcdde78{--padding-top:112px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-03a10a2{--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-e49e348{--padding-top:56px;--padding-bottom:88px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-e995cc5{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:40px 0px;--row-gap:40px;--column-gap:0px;}.elementor-2609 .elementor-element.elementor-element-727f275{--padding-top:72px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-2609 .elementor-element.elementor-element-46b047f{--grid-row-gap:28px;--grid-column-gap:20px;}.elementor-2609 .elementor-element.elementor-element-67ae303{--padding-top:88px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}}@media(max-width:767px){.elementor-2609 .elementor-element.elementor-element-bcdde78{--padding-top:104px;--padding-bottom:92px;--padding-left:20px;--padding-right:20px;}.elementor-2609 .elementor-element.elementor-element-03a10a2{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-2609 .elementor-element.elementor-element-e49e348{--padding-top:40px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-2609 .elementor-element.elementor-element-e995cc5{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:32px 0px;--row-gap:32px;--column-gap:0px;}.elementor-2609 .elementor-element.elementor-element-c20f549{--width:100%;}.elementor-2609 .elementor-element.elementor-element-2771acd{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;}.elementor-2609 .elementor-element.elementor-element-6d9e556{--width:100%;}.elementor-2609 .elementor-element.elementor-element-b7fdce3{--padding-top:22px;--padding-bottom:22px;--padding-left:20px;--padding-right:20px;}.elementor-2609 .elementor-element.elementor-element-727f275{--padding-top:52px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-2609 .elementor-element.elementor-element-46b047f{--grid-row-gap:22px;--grid-column-gap:0px;}.elementor-2609 .elementor-element.elementor-element-46b047f .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-2609 .elementor-element.elementor-element-46b047f:after{content:"0.5";}.elementor-2609 .elementor-element.elementor-element-46b047f .elementor-post__thumbnail__link{width:100%;}.elementor-2609 .elementor-element.elementor-element-67ae303{--padding-top:64px;--padding-bottom:72px;--padding-left:20px;--padding-right:20px;}.elementor-2609 .elementor-element.elementor-element-2505c7c{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;}}@media(min-width:768px){.elementor-2609 .elementor-element.elementor-element-bcdde78{--content-width:1240px;}.elementor-2609 .elementor-element.elementor-element-03a10a2{--content-width:1240px;}.elementor-2609 .elementor-element.elementor-element-e49e348{--content-width:1240px;}.elementor-2609 .elementor-element.elementor-element-c20f549{--width:64%;}.elementor-2609 .elementor-element.elementor-element-6d9e556{--width:36%;}.elementor-2609 .elementor-element.elementor-element-727f275{--content-width:1240px;}.elementor-2609 .elementor-element.elementor-element-67ae303{--content-width:1240px;}}@media(max-width:1024px) and (min-width:768px){.elementor-2609 .elementor-element.elementor-element-c20f549{--width:100%;}.elementor-2609 .elementor-element.elementor-element-6d9e556{--width:100%;}}/* Start custom CSS *//* =========================================================================
   SteelArk — Blog IA v2 · plantilla «Entrada del blog» (Theme Builder, single-post)
   -------------------------------------------------------------------------
   Mismos tokens de la familia IA v2. Hilo propio: LA LÁMINA. La imagen
   destacada se solapa con la cabecera oscura como una lámina sobre la mesa,
   con la marca de encuadre dorada. El cuerpo se lee a 68ch con un lateral fijo
   (índice + tarjeta de consulta). La ficha de la obra dentro del texto usa el
   cajetín de Proyectos.

   TRES REGLAS DURAS: estado base visible; rangos de una fase; sin animación
   ligada al scroll en móvil. Red de seguridad: <html class="bs-safe">.
   ALCANCE: .bs- (propio) y .sa- (compartido). Sin body.elementor-page-2609es de tipo sueltos
   fuera de `.bs-content` (contenido del editor clásico, donde son necesarios).
   ========================================================================= */

/* ======================= 1. BASE HEREDADA DEL SISTEMA ======================= */
.sa-sec{ position: relative; }
.sa-sec > .e-con-inner{ position: relative; z-index: 2; }
.sa-grid{ overflow: hidden; overflow: clip; }
.sa-grid::after{
  content: ""; position: absolute; inset: 0; width: auto; height: auto; pointer-events: none; z-index: 1;
  background-image:
    linear-gradient(to right,  rgba(218,165,32,.13) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(218,165,32,.13) 1px, transparent 1px);
  background-size: 92px 92px;
  -webkit-mask-image: radial-gradient(110% 80% at 12% 10%, #000 0%, transparent 72%);
          mask-image: radial-gradient(110% 80% at 12% 10%, #000 0%, transparent 72%);
}
.sa-grid.sa-glow::after{
  background-image:
    radial-gradient(46vw 46vw at 10% 8%, rgba(218,165,32,.19) 0%, rgba(218,165,32,0) 62%),
    linear-gradient(to right,  rgba(218,165,32,.13) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(218,165,32,.13) 1px, transparent 1px);
  background-size: 100% 100%, 92px 92px, 92px 92px; background-repeat: no-repeat, repeat, repeat;
}
.bs-end.sa-grid::after{
  -webkit-mask-image: radial-gradient(110% 80% at 88% 90%, #000 0%, transparent 72%);
          mask-image: radial-gradient(110% 80% at 88% 90%, #000 0%, transparent 72%);
}
.bs-end.sa-grid.sa-glow::after{
  background-image:
    radial-gradient(46vw 46vw at 88% 92%, rgba(218,165,32,.19) 0%, rgba(218,165,32,0) 62%),
    linear-gradient(to right,  rgba(218,165,32,.13) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(218,165,32,.13) 1px, transparent 1px);
}
.sa-kicker .elementor-heading-title{
  position: relative; display: inline-block; padding-left: 40px;
  font-family: "Poppins", sans-serif; font-size: 12px; font-weight: 600; line-height: 1.3;
  letter-spacing: 2.4px; text-transform: uppercase; color: #DAA520;
}
.sa-kicker .elementor-heading-title::before{
  content: ""; position: absolute; left: 0; top: 50%; width: 28px; height: 1px; background: #DAA520; transform-origin: left center;
}
.bs-kicker-dark .elementor-heading-title{ color: #7A5D0F; }
.bs-kicker-dark .elementor-heading-title::before{ background: #7A5D0F; }
.sa-btn .elementor-button{
  position: relative; overflow: hidden;
  transition: transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}
.sa-btn .elementor-button > *{ position: relative; z-index: 1; }
.sa-btn .elementor-button::after{
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(100deg, transparent 22%, rgba(255,255,255,.34) 50%, transparent 78%);
  transform: translateX(-135%); transition: transform .75s cubic-bezier(.2,.7,.3,1);
}
.sa-btn .elementor-button:hover::after{ transform: translateX(135%); }
.sa-btn .elementor-button:hover{ transform: translateY(-3px); box-shadow: 0 16px 30px -14px rgba(218,165,32,.6); }
.sa-btn-ghost .elementor-button::after{ background: linear-gradient(100deg, transparent 22%, rgba(218,165,32,.30) 50%, transparent 78%); }
.sa-btn-ghost .elementor-button:hover{ box-shadow: 0 16px 30px -16px rgba(0,0,0,.7); border-color: rgba(218,165,32,.65); }
.sa-btn .elementor-button:active{ transform: translateY(0) scale(.97); transition-duration: .1s; }
.sa-btn .elementor-button:focus-visible{ outline: 2px solid #DAA520; outline-offset: 3px; }

.bs-topline, .bs-cols, .bs-main, .bs-aside, .bs-tocbox, .bs-cardbtns, .bs-foot, .bs-btnrow{ padding-left: 0; padding-right: 0; }

/* ============================= 2. CABECERA ============================= */
.bs-back .elementor-heading-title a{ color: inherit; text-decoration: none; transition: color .2s ease; }
.bs-back .elementor-heading-title a:hover{ color: #FFFFFF; }
.bs-back .elementor-heading-title a:focus-visible{ outline: 2px solid #DAA520; outline-offset: 4px; }
.bs-meta .elementor-inline-items{ display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; }
.bs-meta .elementor-icon-list-item{
  font-family: "Poppins", sans-serif; font-size: 12px; font-weight: 500; letter-spacing: .6px; color: #9C9CA5;
  font-variant-numeric: tabular-nums; padding: 0;
}
.bs-meta .elementor-icon-list-item a{ color: #9C9CA5; text-decoration: none; }
.bs-meta .elementor-icon-list-item a:hover{ color: #FFFFFF; }
.bs-meta .elementor-icon-list-item::before{ content: "\2022"; color: #DAA520; margin-right: 14px; }
.bs-meta .elementor-icon-list-item:first-child::before{ content: none; }
.bs-hero .bs-h1 .elementor-heading-title{
  font-family: "Poppins", sans-serif; font-size: 52px; font-weight: 700; line-height: 1.08; letter-spacing: -1.8px;
  color: #FFFFFF; max-width: 22ch; margin-top: 22px; text-wrap: balance;
}
.bs-lead{ font-family: "Roboto", sans-serif; font-size: 19px; line-height: 1.62; color: #D6D6DC; max-width: 60ch; margin-top: 22px; }
.bs-lead p, .bs-lead .elementor-widget-container{ margin: 0; text-wrap: pretty; }

/* ======================= 3. LA LÁMINA (imagen destacada) ======================= */
.bs-figsec{ z-index: 3; }
.bs-fig{ position: relative; margin-top: -86px; }
.bs-fig img{
  display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover;
  box-shadow: 0 40px 80px -36px rgba(0,0,0,.6);
}
.bs-fig::before{ content: ""; position: absolute; top: 0; left: 0; z-index: 2; width: 3px; height: 72px; background: #DAA520; }
.bs-fig::after{ content: ""; position: absolute; top: 0; left: 0; z-index: 2; width: 72px; height: 3px; background: #DAA520; }

/* ============================ 4. CUERPO ============================ */
.bs-aside{ position: relative; }
.bs-content{
  font-family: "Roboto", sans-serif; font-size: 17.5px; line-height: 1.74; color: #2E2E33;
}
.elementor.elementor .e-con > .elementor-widget.bs-content{ max-width: 68ch; }
.bs-content p{ margin: 0 0 20px; text-wrap: pretty; }
.bs-content p.sa-lead{
  font-family: "Poppins", sans-serif; font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: -.3px; color: #111111;
  margin-bottom: 28px;
}
.bs-content h2, .bs-content h3{ font-family: "Poppins", sans-serif; color: #111111; text-wrap: balance; scroll-margin-top: 96px; }
.bs-content h2{ font-size: 30px; font-weight: 700; line-height: 1.18; letter-spacing: -.9px; margin: 48px 0 16px; }
.bs-content h3{ font-size: 21px; font-weight: 600; line-height: 1.3; letter-spacing: -.4px; margin: 32px 0 12px; }
/* Numeración de los H2 en un índice técnico: el número lo lleva el propio texto («1. …»). */
.bs-content h2 + p, .bs-content h3 + p{ margin-top: 0; }
.bs-content ul, .bs-content ol{ margin: 0 0 22px; padding-left: 22px; }
.bs-content li{ margin: 0 0 8px; text-wrap: pretty; }
.bs-content li::marker{ color: #7A5D0F; font-weight: 600; }
.bs-content strong{ color: #111111; font-weight: 600; }
.bs-content a{
  color: #111111; text-decoration: underline; text-decoration-color: rgba(218,165,32,.85);
  text-decoration-thickness: 1px; text-underline-offset: 3px; transition: text-decoration-color .2s ease;
}
.bs-content a:hover{ color: #111111; text-decoration-color: #111111; }
.bs-content a:focus-visible{ outline: 2px solid #DAA520; outline-offset: 3px; }
.bs-content figure{ position: relative; margin: 36px 0; max-width: none; }
.bs-content figure img{ display: block; width: 100%; height: auto; }
.bs-content figure::before{ content: ""; position: absolute; top: 0; left: 0; z-index: 2; width: 3px; height: 52px; background: #DAA520; }
.bs-content figcaption{
  position: relative; margin: 12px 0 0; padding-left: 26px; text-align: left;
  font-family: "Poppins", sans-serif; font-size: 12.5px; font-weight: 500; line-height: 1.5; letter-spacing: .3px; color: #5C5C64; text-wrap: pretty;
}
.bs-content figcaption::before{ content: ""; position: absolute; left: 0; top: .72em; width: 16px; height: 1px; background: #DAA520; }

/* La ficha de la obra: cajetín de plano dentro del texto. */
.bs-content .sa-ficha{ margin: 8px 0 40px; }
.bs-content .sa-ficha h2{
  margin: 0; padding: 11px 16px; background: #111111; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-size: 10.5px; font-weight: 600; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; color: #DAA520;
}
.bs-content .sa-ficha h2::after{
  content: ""; flex: none; width: 40px; height: 6px; border: 1px solid currentColor;
  background: linear-gradient(90deg, currentColor 0 25%, transparent 25% 50%, currentColor 50% 75%, transparent 75%);
}
.bs-content .sa-ficha dl{
  margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgba(17,17,17,.22); border-top: 0;
}
.bs-content .sa-ficha div{
  padding: 13px 16px 14px; border-right: 1px solid rgba(17,17,17,.14); border-bottom: 1px solid rgba(17,17,17,.14);
  font-size: 15px; line-height: 1.45; color: #2E2E33; text-wrap: pretty;
}
.bs-content .sa-ficha div:nth-child(2n){ border-right: 0; }
.bs-content .sa-ficha div:last-child{ border-bottom: 0; }
.bs-content .sa-ficha div:nth-last-child(2):nth-child(odd){ border-bottom: 0; }
.bs-content .sa-ficha div:last-child:nth-child(odd){ grid-column: 1 / -1; border-right: 0; }
.bs-content .sa-ficha dt{
  margin: 0 0 5px; font-family: "Poppins", sans-serif; font-size: 10.5px; font-weight: 600; line-height: 1.3;
  letter-spacing: 1.8px; text-transform: uppercase; color: #7A5D0F;
}
.bs-content .sa-ficha dd{ margin: 0; }

/* Enlaces de cierre del artículo. */
.bs-content p.sa-cta{
  margin: 36px 0 0; padding-top: 24px; border-top: 1px solid rgba(17,17,17,.12);
  font-family: "Poppins", sans-serif; font-size: 15px; font-weight: 600; line-height: 2;
}
.bs-content p.sa-cta a:first-child{
  display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px; margin-right: 10px;
  background: #111111; color: #FFFFFF; text-decoration: none; border-radius: 6px; transition: background-color .2s ease, color .2s ease;
}
.bs-content p.sa-cta a:first-child:hover{ background: #DAA520; color: #111111; }

.bs-foot{ margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(17,17,17,.12); }
.bs-backlink .elementor-heading-title a{
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
  font-family: "Poppins", sans-serif; font-size: 14.5px; font-weight: 600; color: #3C3C42; text-decoration: none; transition: color .2s ease;
}
.bs-backlink .elementor-heading-title a::before{ content: "\2190"; color: #7A5D0F; transition: transform .2s cubic-bezier(.23,1,.32,1); }
.bs-backlink .elementor-heading-title a:hover{ color: #111111; }
.bs-backlink .elementor-heading-title a:hover::before{ transform: translateX(-3px); }
.bs-backlink .elementor-heading-title a:focus-visible{ outline: 2px solid #DAA520; outline-offset: 4px; }

/* ---------- Lateral: índice ---------- */
.bs-tocbox{ border: 1px solid rgba(17,17,17,.12); background: #F6F4F0; }
.bs-toc .elementor-toc__header{
  padding: 14px 18px; background: #111111; border: 0;
  font-family: "Poppins", sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #DAA520;
}
.bs-toc .elementor-toc__header-title{ font-size: inherit; font-weight: inherit; color: inherit; }
.bs-toc .elementor-toc__toggle-button{ color: #DAA520; }
.bs-toc .elementor-toc__body{ padding: 14px 18px 18px; max-height: calc(100vh - 360px); overflow: auto; }
.bs-toc .elementor-toc__list-wrapper{ margin: 0; padding: 0; }
.bs-toc .elementor-toc__list-item{ margin: 0; }
.bs-toc .elementor-toc__list-item-text{
  display: block; padding: 7px 0 7px 32px; position: relative;
  font-family: "Roboto", sans-serif; font-size: 14.5px; line-height: 1.4; color: #3C3C42; text-decoration: none;
  transition: color .2s ease;
}
.bs-toc .elementor-toc__list-item-text:hover, .bs-toc .elementor-toc__list-item-text.elementor-item-active{ color: #111111; }
.bs-toc .elementor-toc__list-item-text.elementor-item-active{ font-weight: 600; }
.bs-toc .elementor-toc__list-item-text:focus-visible{ outline: 2px solid #DAA520; outline-offset: 2px; }
.bs-toc .elementor-toc__list-items--collapsible .elementor-toc__list-item-text{ padding-left: 32px; }
.bs-toc .elementor-toc__list-item-text-wrapper{ display: block; }
/* Marcador propio: un filete dorado. Los H2 ya llevan su número en el texto
   («1. …»), así que no se numera dos veces; la numeración nativa se anula. */
.bs-toc .elementor-toc__list-item-text-wrapper::before{ display: none; }
.bs-toc .elementor-toc__list-item-text::before{
  content: ""; position: absolute; left: 0; top: 1.05em; width: 16px; height: 1px; background: #7A5D0F;
  transition: width .2s cubic-bezier(.23,1,.32,1);
}
.bs-toc .elementor-toc__list-item-text:hover::before, .bs-toc .elementor-toc__list-item-text.elementor-item-active::before{ width: 22px; background: #DAA520; }
.bs-toc .elementor-toc__list-items .elementor-toc__list-items .elementor-toc__list-item-text{ padding-left: 32px; font-size: 13.5px; color: #5C5C64; }
.bs-toc .elementor-toc__list-items .elementor-toc__list-items .elementor-toc__list-item-text::before{ width: 8px; }

/* ---------- Lateral: tarjeta ---------- */
.bs-card{ margin-top: 20px; background: #0B0B0D; color: #FFFFFF; position: relative; overflow: hidden; }
.bs-card::after{
  content: ""; position: absolute; inset: 0; width: auto; height: auto; pointer-events: none; z-index: 0;
  background-image:
    radial-gradient(60% 60% at 100% 0%, rgba(218,165,32,.22) 0%, rgba(218,165,32,0) 70%),
    linear-gradient(to right,  rgba(218,165,32,.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(218,165,32,.12) 1px, transparent 1px);
  background-size: 100% 100%, 48px 48px, 48px 48px; background-repeat: no-repeat, repeat, repeat;
  -webkit-mask-image: radial-gradient(120% 90% at 90% 10%, #000 0%, transparent 70%);
          mask-image: radial-gradient(120% 90% at 90% 10%, #000 0%, transparent 70%);
}
.bs-card > *{ position: relative; z-index: 1; }
.bs-cardttl .elementor-heading-title{
  margin-top: 14px; font-family: "Poppins", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.15; letter-spacing: -.7px; color: #FFFFFF; text-wrap: balance;
}
.bs-cardtx{ margin-top: 12px; font-family: "Roboto", sans-serif; font-size: 15px; line-height: 1.6; color: #C9C9D0; }
.bs-cardtx p{ margin: 0; text-wrap: pretty; }
.bs-cardbtns{ margin-top: 22px; }
.bs-cardbtn .elementor-button{ width: 100%; justify-content: center; }
.bs-cardwa{ margin-top: 16px; font-family: "Poppins", sans-serif; font-size: 14px; font-weight: 600; }
.bs-cardwa p{ margin: 0; }
.bs-cardwa a{ color: #FFFFFF; text-decoration: underline; text-decoration-color: rgba(218,165,32,.85); text-underline-offset: 4px; }
.bs-cardwa a:hover{ text-decoration-color: #FFFFFF; }

/* ========================== 5. RELACIONADAS ========================== */
.bs-h2 .elementor-heading-title{
  font-family: "Poppins", sans-serif; font-size: 38px; font-weight: 700; line-height: 1.1; letter-spacing: -1.2px; color: #111111;
  max-width: 24ch; margin-top: 16px; text-wrap: balance;
}
.bs-posts{ margin-top: 40px; }
.bs-posts .elementor-post{
  position: relative; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid rgba(17,17,17,.1); overflow: hidden;
  transition: transform .42s cubic-bezier(.2,.7,.3,1), border-color .42s ease, box-shadow .42s ease;
}
.bs-posts .elementor-post::after{
  content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; z-index: 4; background: #DAA520;
  transform: scaleX(0); transform-origin: left center; transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.bs-posts .elementor-post:hover, .bs-posts .elementor-post:focus-within{ transform: translateY(-6px); border-color: rgba(218,165,32,.5); box-shadow: 0 36px 64px -34px rgba(0,0,0,.45); }
.bs-posts .elementor-post:hover::after, .bs-posts .elementor-post:focus-within::after{ transform: scaleX(1); }
.bs-posts .elementor-post__thumbnail__link{ order: 1; position: relative; display: block; overflow: hidden; margin: 0; }
.bs-posts .elementor-post__thumbnail__link::before{ content: ""; position: absolute; top: 0; left: 0; z-index: 2; width: 3px; height: 48px; background: #DAA520; }
.bs-posts .elementor-post__thumbnail__link::after{ content: ""; position: absolute; top: 0; left: 0; z-index: 2; width: 48px; height: 3px; background: #DAA520; }
.bs-posts .elementor-post__thumbnail img{ transition: transform .7s cubic-bezier(.2,.7,.3,1); }
.bs-posts .elementor-post:hover .elementor-post__thumbnail img{ transform: scale(1.04); }
.bs-posts .elementor-post__meta-data{
  order: 2; margin: 0; padding: 20px 24px 0; font-family: "Poppins", sans-serif; font-size: 11.5px; font-weight: 600;
  line-height: 1.3; letter-spacing: 1.8px; text-transform: uppercase; color: #7A5D0F; font-variant-numeric: tabular-nums;
}
.bs-posts .elementor-post__text{ order: 3; padding: 10px 24px 24px; display: flex; flex-direction: column; flex: 1 1 auto; }
.bs-posts .elementor-post__title{ margin: 0; font-family: "Poppins", sans-serif; font-size: 21px; font-weight: 700; line-height: 1.18; letter-spacing: -.6px; text-wrap: balance; }
.bs-posts .elementor-post__title a{ color: #111111; text-decoration: none; }
.bs-posts .elementor-post__title a::after{ content: ""; position: absolute; inset: 0; z-index: 3; }
.bs-posts .elementor-post:has(.elementor-post__title a:focus-visible){ outline: 2px solid #DAA520; outline-offset: 4px; }
.bs-posts .elementor-post__excerpt{ margin-top: 12px; }
.bs-posts .elementor-post__excerpt p{ margin: 0; font-family: "Roboto", sans-serif; font-size: 15px; line-height: 1.6; color: #5C5C64; text-wrap: pretty; }
.bs-posts .elementor-post__read-more{
  position: relative; z-index: 4; display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 22px;
  font-family: "Poppins", sans-serif; font-size: 14px; font-weight: 600; color: #111111; text-decoration: none;
}
.bs-posts .elementor-post__read-more::after{ content: "\2192"; font-size: 17px; line-height: 1; color: #7A5D0F; transition: transform .2s cubic-bezier(.23,1,.32,1); }
.bs-posts .elementor-post:hover .elementor-post__read-more::after{ transform: translateX(4px); }

/* ============================ 6. CIERRE ============================ */
.bs-end .bs-endtitle .elementor-heading-title{
  font-family: "Poppins", sans-serif; font-size: 44px; font-weight: 700; line-height: 1.1; letter-spacing: -1.4px; color: #FFFFFF;
  max-width: 20ch; margin-top: 16px; text-wrap: balance;
}
.elementor.elementor .e-con-inner > .elementor-widget.bs-endtx{ max-width: 60ch; }
.bs-endtx{ font-family: "Roboto", sans-serif; font-size: 18px; line-height: 1.66; color: #C9C9D0; margin-top: 20px; }
.bs-endtx p{ margin: 0; text-wrap: pretty; }
.bs-btnrow{ margin-top: 36px; }
.bs-guard{ position: absolute; width: 0; height: 0; overflow: hidden; }

/* ============================ 7. MOVIMIENTO ============================ */
@keyframes bs-rise{ from{ opacity: 0; transform: translate3d(0, 18px, 0); } to{ opacity: 1; transform: none; } }
@keyframes bs-in  { from{ opacity: 0; transform: translate3d(0, 24px, 0); } to{ opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference){
  .bs-in{ animation: bs-rise .7s cubic-bezier(.23,1,.32,1) both; }
  .bs-d0{ animation-delay: .04s; } .bs-d1{ animation-delay: .1s; } .bs-d2{ animation-delay: .18s; } .bs-d3{ animation-delay: .28s; }
}
@supports (animation-timeline: view()){
  @media (min-width: 768px) and (prefers-reduced-motion: no-preference){
    .bs-posts .elementor-post{ animation: bs-in linear both; animation-timeline: view(); animation-range: entry 4% entry 46%; }
    .bs-posts .elementor-post:nth-child(2){ animation-range: entry 10% entry 52%; }
    .bs-posts .elementor-post:nth-child(3){ animation-range: entry 16% entry 58%; }
  }
}
@media (hover: none), (pointer: coarse){
  .bs-posts .elementor-post:hover{ transform: none; box-shadow: none; border-color: rgba(17,17,17,.1); }
  .bs-posts .elementor-post:hover::after{ transform: scaleX(0); }
  .bs-posts .elementor-post:hover .elementor-post__thumbnail img{ transform: none; }
  .sa-btn .elementor-button:hover{ transform: none; box-shadow: none; }
  .sa-btn .elementor-button:hover::after{ transform: translateX(-135%); }
}
.bs-safe .bs-in, .bs-safe .bs-posts .elementor-post{ animation: none !important; opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce){
  .bs-in, .bs-posts .elementor-post{ animation: none !important; opacity: 1 !important; transform: none !important; }
  .bs-posts .elementor-post, .bs-posts .elementor-post::after, .bs-posts .elementor-post__thumbnail img,
  .sa-btn .elementor-button, .sa-btn .elementor-button::after{ transition: none !important; }
}

/* ======================== 8. TABLET (768–1024) ======================== */
@media (min-width: 768px) and (max-width: 1024px){
  .sa-grid::after{ background-size: 76px 76px; }
  .sa-grid.sa-glow::after{ background-size: 100% 100%, 76px 76px, 76px 76px; }
  .bs-hero .bs-h1 .elementor-heading-title{ font-size: 42px; letter-spacing: -1.3px; max-width: 20ch; }
  .bs-lead{ font-size: 18px; }
  .bs-fig{ margin-top: -70px; }
  .bs-fig img{ aspect-ratio: 16 / 9; }
  .elementor.elementor .e-con > .elementor-widget.bs-content{ max-width: none; }
  .bs-content{ font-size: 17px; }
  .bs-content h2{ font-size: 27px; }
  /* El lateral sube antes del texto: el índice primero, la tarjeta al final. */
  .bs-cols{ flex-direction: column; }
  .bs-aside{ order: -1; }
  .bs-aside .bs-card{ display: none; }
  .bs-h2 .elementor-heading-title{ font-size: 32px; letter-spacing: -1px; }
  .bs-end .bs-endtitle .elementor-heading-title{ font-size: 36px; letter-spacing: -1px; }
}

/* ========================== 9. MÓVIL (<=767) ========================== */
@media (max-width: 767px){
  .sa-grid::after{ background-size: 64px 64px; }
  .sa-grid.sa-glow::after{ background-size: 100% 100%, 64px 64px, 64px 64px; }
  .bs-meta .elementor-icon-list-item{ font-size: 11.5px; }
  .bs-hero .bs-h1 .elementor-heading-title{ font-size: 31px; line-height: 1.12; letter-spacing: -.9px; max-width: none; margin-top: 16px; }
  .bs-lead{ font-size: 16.5px; line-height: 1.6; margin-top: 14px; }
  .bs-fig{ margin-top: -52px; }
  .bs-fig img{ aspect-ratio: 4 / 3; }
  .bs-fig::before{ height: 48px; } .bs-fig::after{ width: 48px; }
  .elementor.elementor .e-con > .elementor-widget.bs-content{ max-width: none; }
  .bs-content{ font-size: 16.5px; line-height: 1.7; }
  .bs-content p.sa-lead{ font-size: 18px; }
  .bs-content h2{ font-size: 24px; letter-spacing: -.7px; margin: 36px 0 12px; scroll-margin-top: 80px; }
  .bs-content h3{ font-size: 19px; }
  .bs-content figure{ margin: 28px 0; }
  .bs-content .sa-ficha dl{ grid-template-columns: 1fr; }
  .bs-content .sa-ficha div{ border-right: 0; padding: 12px 14px; font-size: 14.5px; }
  .bs-content .sa-ficha div:nth-last-child(2):nth-child(odd){ border-bottom: 1px solid rgba(17,17,17,.14); }
  .bs-content .sa-ficha div:last-child{ border-bottom: 0; }
  .bs-content p.sa-cta{ font-size: 14.5px; }
  .bs-content p.sa-cta a:first-child{ display: flex; justify-content: center; margin: 0 0 12px; }
  .bs-cols{ flex-direction: column; }
  .bs-aside{ order: -1; }
  .bs-aside .bs-card{ display: none; }
  .bs-toc .elementor-toc__body{ max-height: none; }
  .bs-h2 .elementor-heading-title{ font-size: 26px; letter-spacing: -.7px; max-width: none; }
  .bs-posts{ margin-top: 28px; }
  .bs-posts .elementor-post:hover{ transform: none; }
  .bs-posts .elementor-post__meta-data{ padding: 16px 18px 0; }
  .bs-posts .elementor-post__text{ padding: 8px 18px 20px; }
  .bs-end .bs-endtitle .elementor-heading-title{ font-size: 27px; letter-spacing: -.7px; max-width: none; }
  .bs-endtx{ font-size: 16.5px; }
  .bs-btnrow .elementor-widget-button, .bs-btnrow .elementor-button{ width: 100%; }
  .bs-btnrow .elementor-button{ justify-content: center; }
  .bs-posts .elementor-post{ animation: none !important; opacity: 1 !important; transform: none !important; }
}/* End custom CSS */