.elementor-7349 .elementor-element.elementor-element-c90582a{--display:flex;--margin-top:16px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7349 .elementor-element.elementor-element-8f4333d{--display:flex;--min-height:363px;--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-7349 .elementor-element.elementor-element-dcc52b2{text-align:start;}.elementor-7349 .elementor-element.elementor-element-dcc52b2 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:42px;font-weight:900;letter-spacing:1.3px;}.elementor-7349 .elementor-element.elementor-element-c91dcbe{text-align:center;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;letter-spacing:0.6px;}.elementor-7349 .elementor-element.elementor-element-c91dcbe p{margin-block-end:0px;}.elementor-7349 .elementor-element.elementor-element-8514bfe{--display:flex;}.elementor-7349 .elementor-element.elementor-element-e69a0d3{--display:flex;}.elementor-7349 .elementor-element.elementor-element-78eb35f{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-7349 .elementor-element.elementor-element-598ba66{--display:flex;}:root{--page-title-display:none;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(min-width:768px){.elementor-7349 .elementor-element.elementor-element-8f4333d{--content-width:724px;}}@media(max-width:1024px){.elementor-7349 .elementor-element.elementor-element-dcc52b2{text-align:center;}.elementor-7349 .elementor-element.elementor-element-dcc52b2 .elementor-heading-title{font-size:32px;letter-spacing:1.4px;}}@media(max-width:767px){.elementor-7349 .elementor-element.elementor-element-dcc52b2 .elementor-heading-title{font-size:24px;}}/* Start custom CSS for container, class: .elementor-element-8f4333d *//* ── Tag ── */
.elementor-7349 .elementor-element.elementor-element-8f4333d .proyecto-tag,
.elementor-7349 .elementor-element.elementor-element-8f4333d .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-7349 .elementor-element.elementor-element-8f4333d h2.elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.8rem, 10vw, 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-7349 .elementor-element.elementor-element-8f4333d 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-7349 .elementor-element.elementor-element-8f4333d:hover h2.elementor-heading-title::after {
  width: 110px !important;
}
/* ── Párrafos ── */
.elementor-7349 .elementor-element.elementor-element-8f4333d .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-7349 .elementor-element.elementor-element-8f4333d .elementor-text-editor strong {
  font-weight: 700 !important;
  color: #03586A !important;
}
/* ── Responsive ── */
@media (max-width: 768px) {
  .elementor-7349 .elementor-element.elementor-element-8f4333d h2.elementor-heading-title { font-size: 1.7rem !important; }
  .elementor-7349 .elementor-element.elementor-element-8f4333d .elementor-text-editor p   { font-size: 0.86rem !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8514bfe */.vic-cards-op1 {
  display: flex; flex-wrap: wrap; gap: 24px; justify-content: center;
  max-width: 1080px; margin: 0 auto; padding: 48px 24px 32px;
  font-family: 'Montserrat', sans-serif;
}
.op1-card {
  flex: 1; min-width: 260px; max-width: 320px;
  background: #fff; border-radius: 14px;
  padding: 0 28px 32px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.07);
  text-align: center;
  transition: transform 0.35s cubic-bezier(0.23,1,0.32,1), box-shadow 0.35s ease;
  position: relative; overflow: hidden;
}
.op1-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}
.op1-card::before {
  content: '';
  display: block; height: 4px; border-radius: 0 0 3px 3px;
  background: #D68552;
  width: 60px; margin: 0 auto 32px;
  transition: width 0.35s ease;
}
.op1-card:hover::before { width: 100%; border-radius: 0; }
.op1-icono {
  width: 64px; height: 64px;
  background: rgba(214,133,82,0.10); border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  transition: background 0.3s;
}
.op1-card:hover .op1-icono { background: rgba(214,133,82,0.20); }
.op1-icono svg { width: 30px; height: 30px; fill: #D68552; }
.op1-card h3 {
  font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 900;
  color: #111; letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 12px;
}
.op1-card p {
  font-family: 'Montserrat', sans-serif; font-size: 0.88rem; font-weight: 500;
  color: #555; line-height: 1.85; margin: 0;
}
@media (max-width: 768px) { .op1-card { min-width: 220px; } }
@media (max-width: 560px) {
  .vic-cards-op1 { flex-direction: column; align-items: center; }
  .op1-card { width: 100%; max-width: 100%; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78eb35f */*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #f0ede8; margin: 0 !important; padding: 0 !important; }
.elementor-widget-html, .elementor-widget-html .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.comunidad-bloque,
.comunidad-bloque * { font-family: 'Montserrat', sans-serif !important; }
.comunidad-bloque {
display: flex; align-items: center; gap: 64px;
max-width: 1100px; margin: 0 auto; padding: 60px 40px;
}
.comunidad-texto { flex: 0 0 360px; max-width: 360px; }
.comunidad-tag {
font-size: 0.55rem !important; font-weight: 800 !important;
letter-spacing: 0.4em !important; text-transform: uppercase !important;
color: #D68552 !important; display: block; margin-bottom: 16px;
opacity: 0; animation: fadeDown 0.7s ease 0.1s forwards;
}
.comunidad-texto h2 {
font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
font-weight: 900 !important; color: #4B3B2E !important;
line-height: 1.15 !important; letter-spacing: -0.03em !important;
margin-bottom: 20px !important;
opacity: 0; animation: fadeDown 0.7s ease 0.3s forwards;
}
.comunidad-texto h2 span { color: #03586A !important; font-weight: 900 !important; }
.comunidad-linea {
width: 48px; height: 3px;
background: linear-gradient(90deg, #D68552, #03586A);
border-radius: 2px; margin-bottom: 24px;
animation: fadeDown 0.7s ease 0.45s both;
}
.comunidad-texto p {
font-size: 0.92rem !important; font-weight: 500 !important;
color: #777 !important; line-height: 1.9 !important; margin-bottom: 0 !important;
opacity: 0; animation: fadeDown 0.7s ease 0.55s forwards;
}
.comunidad-texto p strong { color: #4B3B2E !important; font-weight: 700 !important; }
.comunidad-cards { flex: 1; }
.vic-cards-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.grid-card {
background: #fff; border-radius: 16px; padding: 0 28px 32px;
box-shadow: 0 2px 16px rgba(0,0,0,0.06); text-align: center;
transition: transform 0.35s cubic-bezier(0.23,1,0.32,1), box-shadow 0.35s ease;
position: relative; overflow: hidden;
}
.grid-card:hover { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(0,0,0,0.11); }
.grid-card::before {
content: ''; display: block; height: 4px;
border-radius: 0 0 3px 3px; background: #03586A;
width: 50px; margin: 0 auto 28px; transition: width 0.35s ease;
}
.grid-card:hover::before { width: 100%; border-radius: 0; }
.grid-icono {
width: 52px; height: 52px;
display: flex; align-items: center; justify-content: center;
margin: 0 auto 16px;
}
.grid-icono svg {
width: 38px; height: 38px; fill: none;
stroke: #03586A; stroke-width: 1.6;
stroke-linecap: round; stroke-linejoin: round;
}
.grid-card h3 {
font-size: 1rem !important; font-weight: 900 !important;
color: #03586A !important; letter-spacing: -0.02em !important; margin-bottom: 10px !important;
}
.grid-card p {
font-size: 0.83rem !important; font-weight: 500 !important;
color: #888 !important; line-height: 1.75 !important; margin: 0 !important;
}
@keyframes fadeDown {
from { opacity: 0; transform: translateY(-30px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeDownCard {
from { opacity: 0; transform: translateY(-20px); }
to   { opacity: 1; transform: translateY(0); }
}
.grid-card:nth-child(1) { opacity: 0; animation: fadeDownCard 0.6s ease 0.3s forwards; }
.grid-card:nth-child(2) { opacity: 0; animation: fadeDownCard 0.6s ease 0.45s forwards; }
.grid-card:nth-child(3) { opacity: 0; animation: fadeDownCard 0.6s ease 0.6s forwards; }
.grid-card:nth-child(4) { opacity: 0; animation: fadeDownCard 0.6s ease 0.75s forwards; }
@media (max-width: 900px) {
.comunidad-bloque { flex-direction: column; gap: 40px; }
.comunidad-texto { flex: unset; max-width: 100%; }
}
@media (max-width: 480px) {
.vic-cards-grid { grid-template-columns: 1fr; }
body { padding: 48px 20px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-598ba66 */.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%);}}
/* ── Oscuro ── */
.vic-d{background:#111;}
.vic-d::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;}
.vic-d .vic-tag{color:rgba(255,255,255,.45);}
.vic-d h2{color:#fff;}
.vic-d h2::after{background:#D68552;box-shadow:0 3px 10px rgba(214,133,82,.5);}
.vic-d p{color:rgba(255,255,255,.62);}
.vic-d .vic-btn{background:#D68552;color:#fff!important;box-shadow:0 6px 22px rgba(214,133,82,.35);}
.vic-d .vic-btn:hover{background:#c0703e!important;box-shadow:0 14px 32px rgba(214,133,82,.48);}
@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 */