.elementor-6947 .elementor-element.elementor-element-01a998f{--display:flex;--padding-top:26px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6947 .elementor-element.elementor-element-418d6b5{--display:flex;--min-height:530px;--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6947 .elementor-element.elementor-element-418d6b5:not(.elementor-motion-effects-element-type-background), .elementor-6947 .elementor-element.elementor-element-418d6b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F5F4;}.elementor-6947 .elementor-element.elementor-element-563d0b3{--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;--justify-content:center;--align-items:center;}.elementor-6947 .elementor-element.elementor-element-acb7173{--display:flex;--min-height:44px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:20px 20px 20px 20px;}.elementor-6947 .elementor-element.elementor-element-acb7173:not(.elementor-motion-effects-element-type-background), .elementor-6947 .elementor-element.elementor-element-acb7173 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-6947 .elementor-element.elementor-element-4c01da9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;color:#EB6D10;}.elementor-6947 .elementor-element.elementor-element-a0f49c5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;}.elementor-6947 .elementor-element.elementor-element-84adedd{text-align:center;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;}.elementor-6947 .elementor-element.elementor-element-796c586{--display:flex;--min-height:879px;--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6947 .elementor-element.elementor-element-796c586:not(.elementor-motion-effects-element-type-background), .elementor-6947 .elementor-element.elementor-element-796c586 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F5F4;}.elementor-6947 .elementor-element.elementor-element-cd46981{--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;}.elementor-6947 .elementor-element.elementor-element-c9d937d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;}.elementor-6947 .elementor-element.elementor-element-4cb8c92{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;}.elementor-6947 .elementor-element.elementor-element-c868d4f{--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;}.elementor-6947 .elementor-element.elementor-element-fef4ee3 img{width:75%;border-radius:15px 15px 15px 15px;}.elementor-6947 .elementor-element.elementor-element-2b07096{--display:flex;--min-height:1061px;--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6947 .elementor-element.elementor-element-2b07096:not(.elementor-motion-effects-element-type-background), .elementor-6947 .elementor-element.elementor-element-2b07096 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F5F4;}.elementor-6947 .elementor-element.elementor-element-021b00c{--display:flex;--min-height:0px;--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:flex-start;}.elementor-6947 .elementor-element.elementor-element-6931126 img{width:86%;max-width:100%;height:500px;}.elementor-6947 .elementor-element.elementor-element-6d0b248{--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;}.elementor-6947 .elementor-element.elementor-element-b96fc6c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;}.elementor-6947 .elementor-element.elementor-element-a27400c{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;}.elementor-6947 .elementor-element.elementor-element-ae23a0d{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;}.elementor-6947 .elementor-element.elementor-element-75827eb{--display:flex;--min-height:801px;--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6947 .elementor-element.elementor-element-75827eb:not(.elementor-motion-effects-element-type-background), .elementor-6947 .elementor-element.elementor-element-75827eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F5F4;}.elementor-6947 .elementor-element.elementor-element-f26a5bd{--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;}.elementor-6947 .elementor-element.elementor-element-efc74b2 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;}.elementor-6947 .elementor-element.elementor-element-5bc1eef{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;}.elementor-6947 .elementor-element.elementor-element-4279558{--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;}.elementor-6947 .elementor-element.elementor-element-b3385ed{--display:grid;--min-height:400px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6947 .elementor-element.elementor-element-bab96bc img{border-radius:15px 15px 15px 15px;}.elementor-6947 .elementor-element.elementor-element-ece3c16 > .elementor-widget-container{margin:44px 0px 0px 0px;}.elementor-6947 .elementor-element.elementor-element-ece3c16 img{border-radius:15px 15px 15px 15px;}.elementor-6947 .elementor-element.elementor-element-b1937bc{--display:flex;}.elementor-6947 .elementor-element.elementor-element-b1937bc:not(.elementor-motion-effects-element-type-background), .elementor-6947 .elementor-element.elementor-element-b1937bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D68552;}:root{--page-title-display:none;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(max-width:1024px){.elementor-6947 .elementor-element.elementor-element-418d6b5{--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:center;}.elementor-6947 .elementor-element.elementor-element-563d0b3{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-6947 .elementor-element.elementor-element-a0f49c5{text-align:center;}.elementor-6947 .elementor-element.elementor-element-84adedd{text-align:center;}.elementor-6947 .elementor-element.elementor-element-b3385ed{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-6947 .elementor-element.elementor-element-418d6b5{--justify-content:center;}.elementor-6947 .elementor-element.elementor-element-acb7173{--width:300px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-6947 .elementor-element.elementor-element-a0f49c5 .elementor-heading-title{font-size:24px;}.elementor-6947 .elementor-element.elementor-element-84adedd{font-size:14px;}.elementor-6947 .elementor-element.elementor-element-796c586{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-6947 .elementor-element.elementor-element-cd46981{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-6947 .elementor-element.elementor-element-c9d937d .elementor-heading-title{font-size:24px;}.elementor-6947 .elementor-element.elementor-element-4cb8c92{text-align:center;}.elementor-6947 .elementor-element.elementor-element-c868d4f{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-6947 .elementor-element.elementor-element-2b07096{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;}.elementor-6947 .elementor-element.elementor-element-021b00c{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-6947 .elementor-element.elementor-element-b96fc6c{text-align:center;}.elementor-6947 .elementor-element.elementor-element-b96fc6c .elementor-heading-title{font-size:24px;}.elementor-6947 .elementor-element.elementor-element-a27400c{text-align:center;font-size:14px;}.elementor-6947 .elementor-element.elementor-element-ae23a0d{text-align:center;}.elementor-6947 .elementor-element.elementor-element-efc74b2{text-align:center;}.elementor-6947 .elementor-element.elementor-element-efc74b2 .elementor-heading-title{font-size:24px;}.elementor-6947 .elementor-element.elementor-element-5bc1eef{text-align:center;font-size:14px;}.elementor-6947 .elementor-element.elementor-element-b3385ed{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6947 .elementor-element.elementor-element-ece3c16 > .elementor-widget-container{margin:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-6947 .elementor-element.elementor-element-563d0b3{--width:100%;}.elementor-6947 .elementor-element.elementor-element-cd46981{--width:50%;}.elementor-6947 .elementor-element.elementor-element-c868d4f{--width:50%;}.elementor-6947 .elementor-element.elementor-element-021b00c{--width:50%;}.elementor-6947 .elementor-element.elementor-element-6d0b248{--width:50%;}.elementor-6947 .elementor-element.elementor-element-f26a5bd{--width:50%;}.elementor-6947 .elementor-element.elementor-element-4279558{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-6947 .elementor-element.elementor-element-563d0b3{--width:500px;}.elementor-6947 .elementor-element.elementor-element-acb7173{--width:160px;}}/* Start custom CSS for html, class: .elementor-element-bcc56dc */*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{margin:0;padding:0;background:#0a0a0a;overflow-x:hidden}
:root{--naranja:#D68552}
.hi{position:relative;width:100vw;max-width:100vw;height:45vh;min-height:320px;margin:0;margin-left:calc(-50vw + 50%);padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;background:#0a0a0a}
.hi::before{content:'';position:absolute;top:-5px;left:0;right:0;height:6px;background:#0a0a0a;z-index:10}
.hi-bg{position:absolute;inset:0;z-index:0;background:url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1600&q=80') center 40%/cover no-repeat;transform:scale(1.08);animation:hiZoom 8s cubic-bezier(0.23,1,0.32,1) forwards}
.hi-overlay{position:absolute;inset:0;z-index:2;background:radial-gradient(circle at center,rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.82) 100%),linear-gradient(to bottom,rgba(0,0,0,0.4) 0%,rgba(0,0,0,0.1) 40%,rgba(0,0,0,0.75) 100%)}
.hi-contenido{position:relative;z-index:3;text-align:center;padding:0 24px;max-width:900px;display:flex;flex-direction:column;align-items:center}
.hi-bread{font-size:0.52rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:14px;opacity:0;animation:fadeUp 0.8s ease 0.3s forwards}
.hi-bread .actual{color:var(--naranja)}
.hi-tag{font-size:0.65rem;font-weight:800;letter-spacing:0.35em;text-transform:uppercase;color:rgba(255,255,255,0.9);margin-bottom:18px;opacity:0;animation:fadeUp 0.8s ease 0.5s forwards}
.hi-titulo{font-family:'Montserrat',sans-serif;font-size:clamp(2.2rem,6vw,4rem);font-weight:900;color:#fff;letter-spacing:-0.02em;line-height:0.95;margin-bottom:16px;text-shadow:0 10px 30px rgba(0,0,0,0.5);opacity:0;animation:fadeUp 0.8s ease 0.7s forwards}
.hi-linea{width:0;height:3px;background:linear-gradient(90deg,var(--naranja),#fff);border-radius:2px;margin:0 auto 20px;animation:lineaExpand 0.8s ease 1s forwards}
.hi-desc{font-size:0.9rem;font-weight:500;color:rgba(255,255,255,0.8);line-height:1.8;max-width:600px;margin:0 auto;opacity:0;animation:fadeUp 0.8s ease 1.2s forwards}
@keyframes hiZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes lineaExpand{from{width:0}to{width:70px}}
@media(max-width:768px){.hi{height:40vh;min-height:280px}.hi-titulo{font-size:2.2rem}.hi-desc{font-size:0.85rem}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-01a998f *//* ════════════════════════════════════════
   HERO PARA PÁGINAS INTERNAS (Más bajito)
════════════════════════════════════════ */
.hero-interna {
  position: relative !important; width: 100vw !important; max-width: 100vw !important;
  height: 50vh !important; min-height: 380px !important; /* Más pequeño que el inicio */
  margin-top: -25px !important; margin-left: calc(-50vw + 50%) !important;
  padding: 0 !important; overflow: hidden;
  display: flex !important; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif; background: #0a0a0a;
}

.hero-interna *, .hero-interna *::before, .hero-interna *::after { box-sizing: border-box; }

.hero-interna-bg {
  position: absolute; inset: 0; z-index: 1;
  width: 100%; height: 100%; object-fit: cover; display: block;
}

.hero-interna-overlay {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%);
}

.hero-interna-contenido {
  position: relative; z-index: 3; text-align: center;
  padding: 0 24px; max-width: 900px;
  /* Centrado perfecto, sin empujar hacia abajo porque aquí no hay botones */
  display: flex; flex-direction: column; align-items: center;
}

/* Reutilizamos los estilos de tus letras, pero un poco más pequeñas */
.hero-interna .hero-titulo {
  font-family: 'Montserrat', sans-serif; font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 900; color: #fff; letter-spacing: -0.02em; line-height: 0.95; margin-bottom: 20px;
  text-shadow: 0 10px 30px rgba(0,0,0,0.5);
  opacity: 0; animation: fadeUp 0.8s ease 0.4s forwards;
}

.hero-interna .hero-tag {
  font-size: 0.65rem; font-weight: 800; letter-spacing: 0.35em; text-transform: uppercase;
  color: rgba(255,255,255,0.9); margin-bottom: 20px;
  opacity: 0; animation: fadeUp 0.8s ease 0.2s forwards;
}

.hero-interna .hero-linea {
  width: 0; height: 3px; background: linear-gradient(90deg, var(--naranja), #fff);
  border-radius: 2px; margin: 0 auto;
  animation: lineaExpand 0.8s ease 0.6s forwards;
}

@media (max-width: 768px) {
  .hero-interna { height: 40vh !important; min-height: 300px !important; }
  .hero-interna .hero-titulo { font-size: 2.5rem; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-418d6b5 *//* ── Tag ── */
.elementor-6947 .elementor-element.elementor-element-418d6b5 .proyecto-tag,
.elementor-6947 .elementor-element.elementor-element-418d6b5 .elementor-widget-heading .proyecto-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: #D68552 !important;
  display: block !important;
  margin-bottom: 12px !important;
}
/* ── H2 título ── */
.elementor-6947 .elementor-element.elementor-element-418d6b5 h2.elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  font-weight: 900 !important;
  color: #111 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 18px !important;
  margin-bottom: 20px !important;
}
/* ── Línea naranja CENTRADA con animación ── */
.elementor-6947 .elementor-element.elementor-element-418d6b5 h2.elementor-heading-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 44px !important;
  height: 4px !important;
  background: #D68552 !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 10px rgba(214,133,82,0.5) !important;
  transition: width 0.4s cubic-bezier(0.23,1,0.32,1) !important;
}
/* Crece al pasar el cursor */
.elementor-6947 .elementor-element.elementor-element-418d6b5:hover h2.elementor-heading-title::after {
  width: 110px !important;
}
/* ── Párrafos ── */
.elementor-6947 .elementor-element.elementor-element-418d6b5 .elementor-text-editor p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #555 !important;
  line-height: 1.95 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 18px !important;
}
.elementor-6947 .elementor-element.elementor-element-418d6b5 .elementor-text-editor strong {
  font-weight: 700 !important;
  color: #03586A !important;
}
/* ── Responsive ── */
@media (max-width: 768px) {
  .elementor-6947 .elementor-element.elementor-element-418d6b5 h2.elementor-heading-title { font-size: 1.7rem !important; }
  .elementor-6947 .elementor-element.elementor-element-418d6b5 .elementor-text-editor p   { font-size: 0.86rem !important; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-fef4ee3 *//* Contenedor de la imagen */
.elementor-6947 .elementor-element.elementor-element-fef4ee3 {
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* Capa invisible para el destello de luz */
.elementor-6947 .elementor-element.elementor-element-fef4ee3::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%) !important;
  transform: skewX(-25deg) !important; /* Inclinación de la luz */
  z-index: 2 !important;
  transition: left 0.7s ease !important;
  pointer-events: none !important;
}

/* Al pasar el mouse: se levanta y la luz cruza la foto */
.elementor-6947 .elementor-element.elementor-element-fef4ee3:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 30px rgba(0,0,0,0.2) !important;
}

.elementor-6947 .elementor-element.elementor-element-fef4ee3:hover::before {
  left: 150% !important; /* La luz viaja de izquierda a derecha */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-796c586 *//* ── Tag ── */
.elementor-6947 .elementor-element.elementor-element-796c586 .proyecto-tag,
.elementor-6947 .elementor-element.elementor-element-796c586 .elementor-widget-heading .proyecto-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: #D68552 !important;
  display: block !important;
  margin-bottom: 12px !important;
}
/* ── H2 título ── */
.elementor-6947 .elementor-element.elementor-element-796c586 h2.elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  font-weight: 900 !important;
  color: #111 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 18px !important;
  margin-bottom: 20px !important;
}
/* ── Línea naranja a la IZQUIERDA con animación ── */
.elementor-6947 .elementor-element.elementor-element-796c586 h2.elementor-heading-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 44px !important;
  height: 4px !important;
  background: #D68552 !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 10px rgba(214,133,82,0.5) !important;
  transition: width 0.4s cubic-bezier(0.23,1,0.32,1) !important;
}
/* Crece al pasar el cursor */
.elementor-6947 .elementor-element.elementor-element-796c586:hover h2.elementor-heading-title::after {
  width: 110px !important;
}
/* ── Párrafos ── */
.elementor-6947 .elementor-element.elementor-element-796c586 .elementor-text-editor p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #555 !important;
  line-height: 1.95 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 18px !important;
}
.elementor-6947 .elementor-element.elementor-element-796c586 .elementor-text-editor strong {
  font-weight: 700 !important;
  color: #03586A !important;
}

@media (max-width: 768px) {
  .elementor-6947 .elementor-element.elementor-element-796c586 h2.elementor-heading-title { 
    font-size: 1.7rem !important; 
    text-align: center !important;  /* ← agrega esto */
  }
  .elementor-6947 .elementor-element.elementor-element-796c586 .elementor-text-editor p { 
    font-size: 0.86rem !important; 
    text-align: center !important;  /* ← agrega esto */
  }
  .elementor-6947 .elementor-element.elementor-element-796c586 .elementor-image::after  { width: 40px !important; height: 40px !important; }
  .elementor-6947 .elementor-element.elementor-element-796c586 .proyecto-tag            { text-align: center !important; } /* ← centra el tag naranja también */

  .elementor-6947 .elementor-element.elementor-element-796c586 h2.elementor-heading-title::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6931126 *//* 1. Contenedor base con tamaño controlado */
.elementor-6947 .elementor-element.elementor-element-6931126 {
  max-width: 520px !important;
  margin: 30 auto !important;
  position: relative !important;
  border-radius: 15px !important;
  overflow: hidden !important;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* 2. La primera imagen (la que pones en Elementor normalmente) */
.elementor-6947 .elementor-element.elementor-element-6931126 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transition: opacity 0.8s ease !important;
}

/* 3. La segunda imagen escondida encima */
.elementor-6947 .elementor-element.elementor-element-6931126::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  
  /* ---> AQUÍ DEBES PEGAR EL ENLACE DE TU SEGUNDA FOTO <--- */
  background-image: url('https://artelavictoria.com/wp-content/uploads/2026/01/IMG_9553-scaled.jpg') !important;
  
  background-size: cover !important; /* Asegura que la foto llene el espacio */
  background-position: center !important; /* Centra la foto */
  opacity: 0 !important; /* Empieza totalmente transparente/invisible */
  transition: opacity 0.8s ease !important; /* Transición lenta y elegante */
  z-index: 2 !important;
  border-radius: 12px !important;
}

/* 4. Al pasar el mouse: la primera foto se oscurece y la segunda aparece */
.elementor-6947 .elementor-element.elementor-element-6931126:hover::after {
  opacity: 1 !important; /* La segunda foto se vuelve 100% visible */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b07096 *//* ── Tag ── */
.elementor-6947 .elementor-element.elementor-element-2b07096 .proyecto-tag,
.elementor-6947 .elementor-element.elementor-element-2b07096 .elementor-widget-heading .proyecto-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: #D68552 !important;
  display: block !important;
  margin-bottom: 12px !important;
}
/* ── H2 título ── */
.elementor-6947 .elementor-element.elementor-element-2b07096 h2.elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  font-weight: 900 !important;
  color: #111 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 18px !important;
  margin-bottom: 20px !important;
}
/* ── Línea naranja a la IZQUIERDA con animación ── */
.elementor-6947 .elementor-element.elementor-element-2b07096 h2.elementor-heading-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 44px !important;
  height: 4px !important;
  background: #D68552 !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 10px rgba(214,133,82,0.5) !important;
  transition: width 0.4s cubic-bezier(0.23,1,0.32,1) !important;
}
/* Crece al pasar el cursor */
.elementor-6947 .elementor-element.elementor-element-2b07096:hover h2.elementor-heading-title::after {
  width: 110px !important;
}
/* ── Párrafos ── */
.elementor-6947 .elementor-element.elementor-element-2b07096 .elementor-text-editor p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #555 !important;
  line-height: 1.95 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 18px !important;
}
.elementor-6947 .elementor-element.elementor-element-2b07096 .elementor-text-editor strong {
  font-weight: 700 !important;
  color: #03586A !important;
}

@media (max-width: 768px) {
  .elementor-6947 .elementor-element.elementor-element-2b07096 h2.elementor-heading-title { 
    font-size: 1.7rem !important; 
    text-align: center !important;  /* ← agrega esto */
  }
  .elementor-6947 .elementor-element.elementor-element-2b07096 .elementor-text-editor p { 
    font-size: 0.86rem !important; 
    text-align: center !important;  /* ← agrega esto */
  }
  .elementor-6947 .elementor-element.elementor-element-2b07096 .elementor-image::after  { width: 40px !important; height: 40px !important; }
  .elementor-6947 .elementor-element.elementor-element-2b07096 .proyecto-tag            { text-align: center !important; } /* ← centra el tag naranja también */

  .elementor-6947 .elementor-element.elementor-element-2b07096 h2.elementor-heading-title::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-bab96bc *//* Contenedor de la imagen */
.elementor-6947 .elementor-element.elementor-element-bab96bc {
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* Capa invisible para el destello de luz */
.elementor-6947 .elementor-element.elementor-element-bab96bc::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%) !important;
  transform: skewX(-25deg) !important; /* Inclinación de la luz */
  z-index: 2 !important;
  transition: left 0.7s ease !important;
  pointer-events: none !important;
}

/* Al pasar el mouse: se levanta y la luz cruza la foto */
.elementor-6947 .elementor-element.elementor-element-bab96bc:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 30px rgba(0,0,0,0.2) !important;
}

.elementor-6947 .elementor-element.elementor-element-bab96bc:hover::before {
  left: 150% !important; /* La luz viaja de izquierda a derecha */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-ece3c16 *//* Contenedor de la imagen */
.elementor-6947 .elementor-element.elementor-element-ece3c16 {
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* Capa invisible para el destello de luz */
.elementor-6947 .elementor-element.elementor-element-ece3c16::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%) !important;
  transform: skewX(-25deg) !important; /* Inclinación de la luz */
  z-index: 2 !important;
  transition: left 0.7s ease !important;
  pointer-events: none !important;
}

/* Al pasar el mouse: se levanta y la luz cruza la foto */
.elementor-6947 .elementor-element.elementor-element-ece3c16:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 30px rgba(0,0,0,0.2) !important;
}

.elementor-6947 .elementor-element.elementor-element-ece3c16:hover::before {
  left: 150% !important; /* La luz viaja de izquierda a derecha */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-75827eb *//* ── Tag ── */
.elementor-6947 .elementor-element.elementor-element-75827eb .proyecto-tag,
.elementor-6947 .elementor-element.elementor-element-75827eb .elementor-widget-heading .proyecto-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: #D68552 !important;
  display: block !important;
  margin-bottom: 12px !important;
}
/* ── H2 título ── */
.elementor-6947 .elementor-element.elementor-element-75827eb h2.elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  font-weight: 900 !important;
  color: #111 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 18px !important;
  margin-bottom: 20px !important;
}
/* ── Línea naranja a la IZQUIERDA con animación ── */
.elementor-6947 .elementor-element.elementor-element-75827eb h2.elementor-heading-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 44px !important;
  height: 4px !important;
  background: #D68552 !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 10px rgba(214,133,82,0.5) !important;
  transition: width 0.4s cubic-bezier(0.23,1,0.32,1) !important;
}
/* Crece al pasar el cursor */
.elementor-6947 .elementor-element.elementor-element-75827eb:hover h2.elementor-heading-title::after {
  width: 110px !important;
}
/* ── Párrafos ── */
.elementor-6947 .elementor-element.elementor-element-75827eb .elementor-text-editor p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #555 !important;
  line-height: 1.95 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 18px !important;
}
.elementor-6947 .elementor-element.elementor-element-75827eb .elementor-text-editor strong {
  font-weight: 700 !important;
  color: #03586A !important;
}

@media (max-width: 768px) {
  .elementor-6947 .elementor-element.elementor-element-75827eb h2.elementor-heading-title { 
    font-size: 1.7rem !important; 
    text-align: center !important;  /* ← agrega esto */
  }
  .elementor-6947 .elementor-element.elementor-element-75827eb .elementor-text-editor p { 
    font-size: 0.86rem !important; 
    text-align: center !important;  /* ← agrega esto */
  }
  .elementor-6947 .elementor-element.elementor-element-75827eb .elementor-image::after  { width: 40px !important; height: 40px !important; }
  .elementor-6947 .elementor-element.elementor-element-75827eb .proyecto-tag            { text-align: center !important; } /* ← centra el tag naranja también */

  .elementor-6947 .elementor-element.elementor-element-75827eb h2.elementor-heading-title::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b1937bc */.vic-bloque{width:100vw;margin-left:calc(-50vw + 50%);padding:80px 24px;text-align:center;font-family:'Montserrat',sans-serif;position:relative;overflow:hidden;box-sizing:border-box;}
.vic-bloque .vic-inner{max-width:780px;margin:0 auto;position:relative;z-index:1;}
.vic-bloque .vic-tag{font-size:.5rem;font-weight:800;letter-spacing:.35em;text-transform:uppercase;display:block;margin-bottom:14px;opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.vic-bloque.visible .vic-tag{opacity:1;transform:translateY(0);}
.vic-bloque h2{font-family:'Montserrat',sans-serif!important;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900!important;line-height:1.1;letter-spacing:-.03em;display:inline-block;position:relative;padding-bottom:16px;margin-bottom:20px;opacity:0;transform:translateY(22px);transition:opacity .7s ease .1s,transform .7s ease .1s;}
.vic-bloque.visible h2{opacity:1;transform:translateY(0);}
.vic-bloque h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:4px;border-radius:2px;transition:width .7s cubic-bezier(.23,1,.32,1) .5s;}
.vic-bloque.visible h2::after{width:60px;}
.vic-bloque:hover h2::after{width:90px;}
.vic-bloque p{font-size:.95rem;font-weight:500;line-height:1.85;max-width:640px;margin:0 auto 36px;opacity:0;transform:translateY(18px);transition:opacity .7s ease .18s,transform .7s ease .18s;}
.vic-bloque.visible p{opacity:1;transform:translateY(0);}
.vic-bloque p strong{font-weight:700;}
.vic-bloque .vic-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:opacity .7s ease .28s,transform .7s ease .28s;}
.vic-bloque.visible .vic-btns{opacity:1;transform:translateY(0);}
.vic-bloque .vic-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border-radius:50px;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;position:relative;overflow:hidden;transition:background .25s,transform .3s cubic-bezier(.23,1,.32,1),box-shadow .25s;}
.vic-bloque .vic-btn::before{content:'';position:absolute;top:-60%;left:-80%;width:55%;height:220%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:skewX(-15deg);opacity:0;}
.vic-bloque .vic-btn:hover::before{animation:vic-shine .6s ease forwards;}
.vic-bloque .vic-btn:hover{transform:translateY(-4px)!important;}
.vic-bloque .vic-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s;flex-shrink:0;}
.vic-bloque .vic-btn:hover svg{transform:translateX(4px);}
@keyframes vic-shine{0%{opacity:0;transform:skewX(-15deg) translateX(0);}15%{opacity:1;}100%{opacity:0;transform:skewX(-15deg) translateX(450%);}}
.vic-n{background:#D68552;}
.vic-n .vic-tag{color:rgba(255,255,255,.6);}
.vic-n h2{color:#fff;}
.vic-n h2::after{background:rgba(255,255,255,.55);}
.vic-n p{color:rgba(255,255,255,.9);}
.vic-n .vic-btn{background:rgba(255,255,255,.95);color:#c0703e!important;box-shadow:0 6px 20px rgba(0,0,0,.18);}
.vic-n .vic-btn:hover{background:#fff!important;box-shadow:0 14px 28px rgba(0,0,0,.22);}
@media(max-width:600px){.vic-bloque{padding:60px 20px;}.vic-bloque h2{font-size:1.75rem!important;}.vic-bloque p{font-size:.88rem;}.vic-btns{flex-direction:column;align-items:center;}.vic-bloque .vic-btn{width:100%;max-width:320px;justify-content:center;}}/* End custom CSS */