[class*="elementor-widget-unitec_"] { margin-bottom: 0 !important; --kit-widget-spacing: 0px; }
[class*="elementor-widget-unitec_"] > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

:root {
  --unitec-bg: #030303;
  --unitec-panel: #0d0b0f;
  --unitec-panel-2: #131116;
  --unitec-purple: #8b00ff;
  --unitec-purple-2: #a74bff;
  --unitec-cyan: #4bc7ef;
  --unitec-white: #f7f7f7;
  --unitec-muted: #d4d0d8;
}

.unitec-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.unitec-header, .unitec-hero, .unitec-stats, .unitec-section-heading, .unitec-solutions, .unitec-prestations, .unitec-partners, .unitec-instagram, .unitec-contact, .unitec-footer { box-sizing: border-box; font-family: Montserrat, Arial, Helvetica, sans-serif; }
.unitec-header *, .unitec-hero *, .unitec-stats *, .unitec-section-heading *, .unitec-solutions *, .unitec-prestations *, .unitec-partners *, .unitec-instagram *, .unitec-contact *, .unitec-footer * { box-sizing: border-box; }

.unitec-header { position: relative; z-index: 50; color: #fff; background: #000; border-radius: 0 0 36px 36px; box-shadow: 0 22px 26px -20px rgba(255,255,255,.7); }
.unitec-header__inner { min-height: 155px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.unitec-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.unitec-brand__logo { width: min(330px, 58vw); max-height: 80px; object-fit: contain; object-position: left center; }
.unitec-brand__tagline { font-size: clamp(18px, 2.2vw, 28px); letter-spacing: .01em; }
.unitec-logo-placeholder { border: 1px dashed #555; padding: 12px 24px; font-weight: 800; }
.unitec-menu-toggle { width: 52px; height: 52px; border: 0; background: transparent; display: flex; flex-direction: column; justify-content: center; gap: 8px; cursor: pointer; padding: 6px; }
.unitec-menu-toggle span { height: 3px; border-radius: 2px; background: #fff; width: 100%; display: block; transition: .25s ease; }
.unitec-nav { position: absolute; top: 100%; right: 20px; width: min(360px, calc(100vw - 40px)); border: 1px solid var(--unitec-menu-border, #8b00ff); border-radius: 18px; padding: 18px; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease; box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.unitec-header.is-menu-open .unitec-nav { opacity: 1; visibility: visible; transform: translateY(8px); }
.unitec-menu-list { list-style: none; padding: 0; margin: 0; }
.unitec-menu-list li + li { border-top: 1px solid rgba(255,255,255,.08); }
.unitec-menu-list a { display: block; color: #fff; text-decoration: none; padding: 14px 10px; font-weight: 700; }

.unitec-hero { position: relative; min-height: 760px; background: #15121c; color: #fff; overflow: hidden; --unitec-hero-bg-x:50%; --unitec-hero-bg-y:50%; --unitec-hero-bg-scale:1; --unitec-hero-copy-width:630px; --unitec-hero-copy-x:0px; --unitec-hero-copy-y:0px; }
.unitec-hero__bg { position:absolute; inset:0; z-index:0; background-color:#15121c; background-position:var(--unitec-hero-bg-x) var(--unitec-hero-bg-y); background-size:cover; background-repeat:no-repeat; transform:scale(var(--unitec-hero-bg-scale)); transform-origin:center center; will-change:transform; }
.unitec-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.48) 52%, rgba(0,0,0,.26) 100%), linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.35)); }
.unitec-hero__content { position: relative; z-index: 2; padding-top: 62px; padding-bottom: 60px; max-width: 1160px; }
.unitec-hero__copy { width:min(var(--unitec-hero-copy-width),100%); max-width:100%; transform:translate3d(var(--unitec-hero-copy-x),var(--unitec-hero-copy-y),0); }
.unitec-hero__badge { display: inline-flex; align-items: center; gap: 10px; border: 2px solid var(--unitec-purple); border-radius: 999px; padding: 12px 20px; font-size: 14px; font-weight: 800; }
.unitec-hero__badge span { width: 14px; height: 14px; background: var(--unitec-purple); transform: rotate(45deg); display: inline-block; }
.unitec-hero__title { max-width: 100%; margin: 28px 0 4px; font-size: clamp(38px, 5vw, 66px); line-height: 1.08; color: #fff; font-weight: 800; }
.unitec-hero__accent { color: var(--unitec-purple-2); font-size: clamp(38px, 5vw, 64px); line-height: 1.08; font-weight: 800; max-width: 100%; }
.unitec-mini-line { width: 74px; height: 3px; background: var(--unitec-purple); margin: 24px 0; border-radius: 5px; }
.unitec-hero__description { max-width: 100%; font-size: clamp(19px, 2.4vw, 27px); line-height: 1.55; color: #f0edf3; margin: 0 0 28px; }
.unitec-hero__buttons { display: flex; flex-direction: column; gap: 15px; width: min(430px,100%); }
.unitec-btn { border: 0; text-decoration: none !important; display: inline-flex; align-items: center; justify-content: center; min-height: 68px; border-radius: 10px; font-weight: 900; color: #fff !important; padding: 14px 28px; text-align: center; cursor: pointer; transition: transform .2s ease, filter .2s ease; }
.unitec-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.unitec-btn--purple { background: linear-gradient(90deg, #7d00ff, #9800ff); }
.unitec-btn--cyan { background: #4cc4eb; color: #050505 !important; }

.unitec-stats { background: #020202; color: #fff; padding: 34px 0; }
.unitec-stats__grid { display: grid; grid-template-columns: repeat(3,1fr); }
.unitec-stat { text-align: center; min-height: 130px; padding: 10px 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
.unitec-stat + .unitec-stat { border-left: 2px solid var(--unitec-purple); }
.unitec-stat__icon { width: 54px; height: 54px; object-fit: contain; filter: grayscale(1) brightness(2); }
.unitec-stat__icon-placeholder { font-size: 32px; }
.unitec-stat strong { font-size: clamp(15px,2.1vw,21px); }
.unitec-stat span { color: #ddd; font-size: clamp(12px,1.8vw,17px); }

.unitec-section-heading { background: radial-gradient(circle at 50% 10%, rgba(88,25,110,.16), transparent 48%), #050505; color:#fff; text-align:center; padding: 72px 20px 84px; }
.unitec-section-heading__eyebrow { color: var(--unitec-purple-2); font-weight: 800; letter-spacing: .16em; font-size: 18px; text-transform: uppercase; }
.unitec-section-heading h2 { margin: 17px 0 10px; color:#fff; font-size: clamp(36px,5vw,54px); line-height:1.1; }
.unitec-section-heading p { margin:0; color:#eee; font-size: clamp(20px,2.6vw,28px); }
.unitec-star { color: var(--unitec-purple); font-size: 32px; margin-bottom: 20px; }

.unitec-solutions { background:#050505; color:#fff; }
.unitec-solution { display:grid; grid-template-columns: 1fr 1.05fr; min-height: 470px; background:#111014; }
.unitec-solution:nth-child(even) { background:#080809; }
.unitec-solution__content { display:flex; align-items:center; justify-content:center; padding: 45px 36px; }
.unitec-solution__content-inner { width:min(440px,100%); }
.unitec-solution__icon, .unitec-solution__icon-placeholder { width:68px; height:68px; border-radius:12px; background:linear-gradient(135deg,#6b00ef,#9d00ff); display:flex; align-items:center; justify-content:center; object-fit:contain; padding:10px; font-size:30px; }
.unitec-solution h3 { color:#fff; font-size:clamp(30px,4vw,42px); margin:28px 0 0; }
.unitec-solution ul, .unitec-solution p { font-size:clamp(16px,2.1vw,20px); line-height:1.55; color:#eee; }
.unitec-solution ul { padding-left:20px; }
.unitec-solution__image { position:relative; min-height:470px; overflow:hidden; background:#111; }
.unitec-solution__image > img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.unitec-solution__arrow { position:absolute; right:28px; top:50%; transform:translateY(-50%); font-size:70px; line-height:1; color:#fff !important; text-decoration:none !important; text-shadow:0 0 12px #fff; }
.unitec-image-placeholder { width:100%; height:100%; min-height:180px; display:flex; align-items:center; justify-content:center; color:#888; border:1px dashed #333; background:linear-gradient(135deg,#111,#1d1424); font-weight:800; letter-spacing:.08em; }

.unitec-prestations { background:#050505; color:#fff; padding:25px 0 110px; }
.unitec-prestations__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.unitec-prestation { min-height:310px; text-align:center; padding:30px 26px; border-radius:22px; background: radial-gradient(circle at 50% 0%, rgba(114,20,197,.35), rgba(12,11,15,.72) 48%), linear-gradient(135deg,#17121c,#080809); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow: inset 0 0 28px rgba(0,0,0,.6); }
.unitec-prestation--purple { border:4px solid var(--unitec-purple); }
.unitec-prestation--cyan { border:4px solid var(--unitec-cyan); }
.unitec-prestation__icon { width:78px; height:78px; object-fit:contain; margin-bottom:16px; }
.unitec-prestation__icon-placeholder { font-size:52px; margin-bottom:14px; }
.unitec-prestation h3 { color:#fff; margin:8px 0 14px; font-size:22px; }
.unitec-prestation p { color:#eee; margin:0; line-height:1.45; font-size:15px; }

.unitec-partners { background:#050505; color:#fff; padding:35px 0 70px; overflow:hidden; }
.unitec-partners__panel { border:4px solid var(--unitec-cyan); border-radius:22px; background:linear-gradient(180deg,rgba(35,32,58,.95),rgba(5,5,7,.95)); padding:30px 0; box-shadow:inset 0 0 45px rgba(121,72,255,.25); overflow:hidden; }
.unitec-partners__viewport { width:100%; overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%); }
.unitec-partners__viewport.is-static { overflow-x:auto; scrollbar-width:none; -webkit-mask-image:none; mask-image:none; }
.unitec-partners__viewport.is-static::-webkit-scrollbar { display:none; }
.unitec-partners__track { display:block; width:100%; overflow:visible; }
.unitec-partners__group { display:flex; align-items:flex-start; gap:30px; width:max-content; min-width:100%; padding:0 26px; will-change:transform; transform:translate3d(0,0,0); }
.unitec-partners__group--clone { display:none !important; }
.unitec-partner { text-decoration:none !important; color:#ddd !important; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:10px; width:140px; flex:0 0 140px; min-width:0; }
.unitec-partner img { width:84px; height:84px; object-fit:contain; border-radius:12px; background:#fff; padding:10px; transition:transform .25s ease, box-shadow .25s ease; }
.unitec-partner:hover img { transform:translateY(-3px) scale(1.03); box-shadow:0 8px 24px rgba(93,210,255,.14); }
.unitec-partner span { font-size:12px; line-height:1.25; text-align:center; }
.unitec-partner--placeholder { min-height:95px; border:1px dashed #666; border-radius:12px; color:#777; justify-content:center; }

.unitec-instagram { background:#050505; color:#fff; padding:30px 0 130px; }
.unitec-instagram__profile { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.unitec-instagram__avatar { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,#8213a5,#f0f); display:flex; align-items:center; justify-content:center; font-weight:900; }
.unitec-instagram__profile strong, .unitec-instagram__profile span { display:block; }
.unitec-instagram__profile span { color:#b54eb7; font-size:12px; margin-top:3px; }
.unitec-instagram__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.unitec-instagram__live-feed { width:100%; overflow:hidden; }
.unitec-instagram__live-feed iframe, .unitec-instagram__live-feed img { max-width:100%; }
.unitec-instagram__live-feed .sbi_photo { border-radius:0; }
.unitec-instagram__item { position:relative; aspect-ratio:1/1; overflow:hidden; background:#111; display:block; }
.unitec-instagram__item img { width:100%; height:100%; object-fit:cover; display:block; }
.unitec-play { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); color:#fff; font-size:44px; text-shadow:0 3px 12px rgba(0,0,0,.7); }
.unitec-instagram__cta { text-align:center; margin-top:55px; }
.unitec-btn--instagram { min-width:min(420px,100%); font-size:18px; }
.unitec-instagram__custom-button { display:inline-block; max-width:min(420px,100%); line-height:0; transition:transform .2s ease, filter .2s ease; }
.unitec-instagram__custom-button:hover { transform:translateY(-2px); filter:brightness(1.05); }
.unitec-instagram__custom-button img { display:block; width:100%; height:auto; max-width:100%; }

.unitec-contact { background:#050505; color:#fff; padding:70px 0 55px; }
.unitec-contact__heading { text-align:center; margin-bottom:60px; }
.unitec-contact__heading h2 { color:#fff; font-size:clamp(38px,5vw,58px); line-height:1.15; margin:0 0 24px; }
.unitec-contact__heading p { color:#ddd; font-size:clamp(18px,2vw,24px); }
.unitec-contact__panel { width:min(850px,100%); margin:auto; border:4px solid var(--unitec-purple); border-radius:24px; background:linear-gradient(rgba(16,14,20,.92),rgba(12,11,16,.96)); background-size:cover; background-position:center; padding:34px 55px 36px; box-shadow:0 0 35px rgba(255,255,255,.16) inset; }
.unitec-contact__form { display:flex; flex-direction:column; gap:18px; }
.unitec-contact__form label { font-weight:900; font-size:18px; color:#fff; }
.unitec-contact__form input, .unitec-contact__form textarea { display:block; width:100%; margin-top:8px; border-radius:20px; background:rgba(12,12,15,.86); color:#fff; border:4px solid var(--unitec-cyan); min-height:78px; padding:15px 22px; font:inherit; font-weight:400; font-size:20px; outline:none; box-shadow:inset 0 0 24px rgba(255,255,255,.05); }
.unitec-contact__form label:nth-of-type(even) input { border-color: var(--unitec-purple); }
.unitec-contact__form textarea { min-height:210px; resize:vertical; }
.unitec-contact__submit { display:flex; justify-content:flex-end; padding-top:10px; }
.unitec-contact__submit .unitec-btn { min-width:370px; }
.unitec-form-message { width:min(850px,100%); margin:0 auto 18px; padding:14px 18px; border-radius:10px; }
.unitec-form-message--ok { background:#12361c; }
.unitec-form-message--error { background:#471818; }

.unitec-footer { background:#050505; color:#fff; text-align:center; padding:28px 0 55px; }
.unitec-footer__socials { display:flex; justify-content:center; gap:26px; margin-bottom:26px; }
.unitec-footer__socials a { color:#fff !important; text-decoration:none !important; font-size:34px; font-weight:900; }
.unitec-footer__logo { max-width:190px; max-height:60px; object-fit:contain; margin:0 auto 18px; display:block; }
.unitec-footer__logo-placeholder { display:inline-block; border:1px dashed #555; padding:8px 18px; margin-bottom:18px; font-weight:900; }
.unitec-footer__contact, .unitec-footer__address { font-size:14px; font-weight:700; line-height:1.8; }

.unitec-whatsapp {
  --unitec-whatsapp-bg:#6918D7;
  --unitec-whatsapp-hover:#7D2AF0;
  --unitec-whatsapp-icon:#fff;
  position:fixed;
  right:34px;
  bottom:34px;
  z-index:999;
  width:76px;
  height:76px;
  border-radius:50%;
  background:var(--unitec-whatsapp-bg);
  color:var(--unitec-whatsapp-icon) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 24px rgba(105,24,215,.32), 0 10px 25px rgba(0,0,0,.32);
  text-decoration:none !important;
  transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.unitec-whatsapp:hover {
  background:var(--unitec-whatsapp-hover);
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 10px 30px rgba(105,24,215,.42), 0 12px 28px rgba(0,0,0,.34);
}
.unitec-whatsapp:focus-visible { outline:3px solid rgba(255,255,255,.9); outline-offset:4px; }
.unitec-whatsapp svg { width:42px; height:42px; display:block; }


/* Encabezados integrados en widgets para que no haya que agregar títulos aparte en Elementor */
.unitec-embedded-heading { text-align:center; padding:58px 0 44px; color:#fff; }
.unitec-embedded-heading__eyebrow { color:var(--unitec-purple-2); font-weight:800; letter-spacing:.16em; text-transform:uppercase; font-size:16px; margin-bottom:14px; }
.unitec-embedded-heading h2 { color:#fff; margin:0; font-size:clamp(34px,4.3vw,52px); line-height:1.08; font-weight:800; }
.unitec-embedded-heading p { color:#eee; margin:13px 0 0; font-size:clamp(18px,2.2vw,25px); line-height:1.35; }
.unitec-solutions > .unitec-embedded-heading { padding-top:72px; padding-bottom:62px; }
.unitec-prestations > .unitec-embedded-heading { padding-top:20px; }
.unitec-partners > .unitec-embedded-heading { padding-top:14px; }
.unitec-instagram .unitec-embedded-heading { padding-top:0; }

@media (max-width: 980px) {
  .unitec-container { width:min(calc(100% - 34px), 900px); }
  .unitec-header__inner { min-height:150px; }
  .unitec-hero { min-height:660px; }
  .unitec-hero__content { padding-top:42px; }
  .unitec-prestations__grid { grid-template-columns:repeat(2,1fr); gap:24px; }
  .unitec-solution { grid-template-columns: 1fr 1.03fr; min-height:430px; }
  .unitec-solution__image { min-height:430px; }
}

@media (max-width: 700px) {
  .unitec-container { width:calc(100% - 28px); }
  .unitec-header { border-radius:0 0 28px 28px; }
  .unitec-header__inner { min-height:122px; padding-top:10px; padding-bottom:10px; }
  .unitec-brand__logo { max-height:56px; width:min(255px,62vw); }
  .unitec-brand__tagline { font-size:16px; }
  .unitec-menu-toggle { width:42px; height:42px; }
  .unitec-nav { right:14px; }

  .unitec-hero { min-height:620px; }
  .unitec-hero__overlay { background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3)),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.32)); }
  .unitec-hero__content { padding-top:28px; padding-bottom:26px; }
  .unitec-hero__badge { font-size:10px; padding:8px 12px; }
  .unitec-hero__badge span { width:10px; height:10px; }
  .unitec-hero__title, .unitec-hero__accent { font-size:30px; max-width:320px; }
  .unitec-mini-line { width:55px; margin:16px 0; }
  .unitec-hero__description { font-size:16px; max-width:330px; line-height:1.55; }
  .unitec-hero__buttons { width:300px; max-width:100%; gap:10px; }
  .unitec-btn { min-height:50px; font-size:13px; border-radius:8px; padding:10px 16px; }

  .unitec-stats { padding:18px 0; }
  .unitec-stat { padding:8px 7px; min-height:105px; }
  .unitec-stat__icon { width:36px; height:36px; }
  .unitec-stat strong { font-size:12px; }
  .unitec-stat span { font-size:10px; }

  .unitec-section-heading { padding:54px 14px 64px; }
  .unitec-section-heading__eyebrow { font-size:13px; }
  .unitec-section-heading h2 { font-size:30px; }
  .unitec-section-heading p { font-size:18px; }

  .unitec-solution { grid-template-columns: 1fr 1.05fr; min-height:330px; }
  .unitec-solution__content { padding:22px 12px 22px 18px; }
  .unitec-solution__content-inner { width:100%; }
  .unitec-solution__icon, .unitec-solution__icon-placeholder { width:46px; height:46px; border-radius:10px; padding:8px; }
  .unitec-solution h3 { font-size:20px; margin-top:18px; }
  .unitec-solution ul, .unitec-solution p { font-size:11px; line-height:1.45; padding-left:15px; }
  .unitec-solution__image { min-height:330px; }
  .unitec-solution__arrow { right:10px; font-size:44px; }

  .unitec-prestations { padding:10px 0 70px; }
  .unitec-prestations__grid { grid-template-columns:repeat(2,1fr); gap:14px; }
  .unitec-prestation { min-height:210px; border-width:3px; border-radius:16px; padding:16px 10px; }
  .unitec-prestation__icon { width:48px; height:48px; }
  .unitec-prestation__icon-placeholder { font-size:34px; }
  .unitec-prestation h3 { font-size:15px; margin:6px 0 9px; }
  .unitec-prestation p { font-size:10.5px; }

  .unitec-partners { padding:18px 0 50px; }
  .unitec-partners__panel { padding:18px 0; border-width:3px; border-radius:16px; }
  .unitec-partners__group { gap:14px; padding:0 14px; }
  .unitec-partner { width:78px; flex-basis:78px; gap:6px; }
  .unitec-partner img { width:52px; height:52px; padding:5px; border-radius:8px; }
  .unitec-partner span { font-size:8px; }

  .unitec-instagram { padding:20px 0 90px; }
  .unitec-instagram__grid { grid-template-columns:repeat(4,1fr); gap:3px; }
  .unitec-play { font-size:26px; }
  .unitec-instagram__cta { margin-top:38px; }
  .unitec-btn--instagram { min-width:250px; }

  .unitec-contact { padding:54px 0 35px; }
  .unitec-contact__heading { margin-bottom:38px; }
  .unitec-contact__heading h2 { font-size:30px; }
  .unitec-contact__heading p { font-size:15px; }
  .unitec-contact__panel { border-width:3px; border-radius:16px; padding:22px 18px 22px; }
  .unitec-contact__form { gap:13px; }
  .unitec-contact__form label { font-size:13px; }
  .unitec-contact__form input, .unitec-contact__form textarea { min-height:58px; border-width:3px; border-radius:14px; padding:10px 14px; font-size:15px; }
  .unitec-contact__form textarea { min-height:160px; }
  .unitec-contact__submit .unitec-btn { min-width:210px; }
  .unitec-footer__contact, .unitec-footer__address { font-size:10px; }
  .unitec-whatsapp { width:58px; height:58px; right:18px; bottom:18px; }
  .unitec-whatsapp svg { width:32px; height:32px; }
}

@media (max-width: 420px) {
  .unitec-brand__tagline { font-size:13px; }
  .unitec-hero__title, .unitec-hero__accent { font-size:27px; }
  .unitec-prestations__grid { gap:10px; }
  .unitec-prestation { min-height:195px; }
}


@media (max-width: 700px) {
  .unitec-embedded-heading { padding:42px 0 30px; }
  .unitec-embedded-heading__eyebrow { font-size:12px; letter-spacing:.15em; margin-bottom:10px; }
  .unitec-embedded-heading h2 { font-size:28px; }
  .unitec-embedded-heading p { font-size:16px; margin-top:9px; }
  .unitec-solutions > .unitec-embedded-heading { padding-top:44px; padding-bottom:40px; }
  .unitec-prestations > .unitec-embedded-heading { padding-top:26px; padding-bottom:34px; }
  .unitec-partners > .unitec-embedded-heading { padding-top:24px; padding-bottom:32px; }
  .unitec-instagram .unitec-embedded-heading { padding-top:0; padding-bottom:28px; }
}

/* === v1.2: Header + Hero más integrados === */
.unitec-header {
  z-index: 80;
  overflow: visible;
  border-radius: 0 0 32px 32px;
  box-shadow: 0 18px 22px -16px rgba(255,255,255,.72), 0 24px 34px -24px rgba(0,0,0,.95);
}

.unitec-header__inner {
  min-height: 138px;
  padding-top: 14px;
  padding-bottom: 14px;
}

.unitec-brand {
  gap: 7px;
}

.unitec-brand__logo {
  width: min(280px, 48vw);
  max-height: 68px;
}

.unitec-brand__tagline {
  font-size: clamp(16px, 1.55vw, 22px);
  line-height: 1.2;
}

/* El fondo del hero continúa debajo del borde redondeado del header. */
.unitec-hero {
  margin-top: -24px;
  padding-top: 24px;
}

.unitec-hero__content {
  padding-top: 68px;
}

.unitec-menu-toggle {
  width: 48px;
  height: 48px;
  gap: 7px;
}

.unitec-menu-toggle span {
  height: 3px;
}

/* === v1.2: Footer social === */
.unitec-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.unitec-footer__socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 0 0 22px;
}

.unitec-footer__social {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  text-decoration: none !important;
  opacity: 1;
  transition: transform .18s ease, opacity .18s ease;
}

.unitec-footer__social svg {
  width: 31px;
  height: 31px;
  display: block;
}

.unitec-footer__social:hover {
  transform: translateY(-2px);
  opacity: .82;
}

.unitec-footer__social--inactive {
  cursor: default;
}

.unitec-footer__logo {
  margin-top: 0;
}

@media (max-width: 980px) {
  .unitec-header__inner {
    min-height: 132px;
  }

  .unitec-hero {
    margin-top: -22px;
    padding-top: 22px;
  }

  .unitec-hero__content {
    padding-top: 58px;
  }
}

@media (max-width: 700px) {
  .unitec-header {
    border-radius: 0 0 28px 28px;
    box-shadow: 0 16px 20px -15px rgba(255,255,255,.82), 0 20px 28px -22px rgba(0,0,0,.95);
  }

  .unitec-header__inner {
    min-height: 118px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .unitec-brand {
    gap: 5px;
  }

  .unitec-brand__logo {
    width: min(245px, 62vw);
    max-height: 54px;
  }

  .unitec-brand__tagline {
    font-size: 14px;
  }

  .unitec-hero {
    margin-top: -20px;
    padding-top: 20px;
  }

  .unitec-hero__content {
    padding-top: 38px;
  }

  .unitec-menu-toggle {
    width: 40px;
    height: 40px;
    gap: 6px;
  }

  .unitec-footer__socials {
    gap: 16px;
    margin-bottom: 20px;
  }

  .unitec-footer__social {
    width: 34px;
    height: 34px;
  }

  .unitec-footer__social svg {
    width: 28px;
    height: 28px;
  }
}


/* === v1.3: Header sticky + translúcido al hacer scroll === */
.unitec-header-spacer {
  height: 0;
  pointer-events: none;
}

.unitec-header {
  transition: background-color .28s ease, box-shadow .28s ease, backdrop-filter .28s ease, border-radius .28s ease;
}

.unitec-header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99999;
}

.unitec-header.is-scrolled {
  background: rgba(2, 2, 3, .28);
  -webkit-backdrop-filter: blur(11px) saturate(125%);
  backdrop-filter: blur(11px) saturate(125%);
  box-shadow: 0 12px 28px -22px rgba(255,255,255,.72), 0 18px 34px -24px rgba(0,0,0,.95);
}

.unitec-header.is-scrolled .unitec-header__inner {
  min-height: 96px;
  padding-top: 8px;
  padding-bottom: 8px;
  transition: min-height .28s ease, padding .28s ease;
}

.unitec-header.is-scrolled .unitec-brand__logo {
  width: min(235px, 44vw);
  max-height: 54px;
  transition: width .28s ease, max-height .28s ease;
}

.unitec-header.is-scrolled .unitec-brand__tagline {
  font-size: clamp(14px, 1.2vw, 18px);
  transition: font-size .28s ease;
}

.unitec-header.is-scrolled .unitec-menu-toggle {
  width: 44px;
  height: 44px;
}

/* === v1.3: Fondo del formulario como el boceto === */
.unitec-contact__panel {
  --unitec-contact-base: #100d18;
  --unitec-contact-purple: #7d00ff;
  --unitec-contact-cyan: #4bc7ef;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 96%, color-mix(in srgb, var(--unitec-contact-purple) 58%, transparent) 0%, transparent 46%),
    radial-gradient(ellipse at 62% 48%, color-mix(in srgb, var(--unitec-contact-purple) 36%, transparent) 0%, transparent 43%),
    radial-gradient(ellipse at 18% 15%, color-mix(in srgb, var(--unitec-contact-cyan) 13%, transparent) 0%, transparent 34%),
    linear-gradient(180deg, rgba(24,19,35,.90), rgba(7,7,11,.96) 72%),
    var(--unitec-contact-base);
  box-shadow:
    inset 0 0 42px rgba(255,255,255,.11),
    inset 0 -65px 80px color-mix(in srgb, var(--unitec-contact-purple) 18%, transparent),
    0 0 28px rgba(139,0,255,.12);
}

.unitec-contact__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .42;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.9));
}

.unitec-contact__panel::after {
  content: '';
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: -90px;
  height: 220px;
  z-index: -1;
  border-radius: 50%;
  background: var(--unitec-contact-purple);
  opacity: .24;
  filter: blur(55px);
  pointer-events: none;
}

.unitec-contact__panel.has-background-image {
  background-image:
    radial-gradient(ellipse at 50% 96%, color-mix(in srgb, var(--unitec-contact-purple) 48%, transparent) 0%, transparent 46%),
    linear-gradient(rgba(8,8,12,.68), rgba(6,6,10,.84)),
    var(--unitec-contact-image);
  background-size: auto, auto, cover;
  background-position: center, center, center;
}

.unitec-contact__form {
  position: relative;
  z-index: 1;
}

.unitec-contact__form input,
.unitec-contact__form textarea {
  background:
    linear-gradient(90deg, rgba(11,12,16,.92), rgba(23,19,29,.86)),
    rgba(10,10,14,.88);
  box-shadow:
    inset 0 0 26px rgba(255,255,255,.045),
    0 0 18px rgba(75,199,239,.055);
}

.unitec-contact__form label:nth-of-type(even) input {
  background:
    linear-gradient(90deg, rgba(16,11,22,.92), rgba(28,18,37,.84)),
    rgba(10,10,14,.88);
  box-shadow:
    inset 0 0 26px rgba(139,0,255,.07),
    0 0 18px rgba(139,0,255,.07);
}

.unitec-contact__form textarea {
  background:
    radial-gradient(ellipse at 54% 100%, rgba(125,0,255,.13), transparent 56%),
    linear-gradient(90deg, rgba(12,13,18,.93), rgba(25,20,32,.87));
}

.unitec-contact__form input:focus,
.unitec-contact__form textarea:focus {
  box-shadow: 0 0 0 1px currentColor, 0 0 24px rgba(75,199,239,.16), inset 0 0 24px rgba(255,255,255,.04);
}

@media (max-width: 700px) {
  .unitec-header.is-scrolled .unitec-header__inner {
    min-height: 82px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .unitec-header.is-scrolled .unitec-brand__logo {
    width: min(200px, 58vw);
    max-height: 45px;
  }

  .unitec-header.is-scrolled .unitec-brand__tagline {
    font-size: 12px;
  }

  .unitec-contact__panel::after {
    left: 8%;
    right: 8%;
    bottom: -70px;
    height: 180px;
    filter: blur(42px);
  }
}

/* === v1.8: Animaciones de entrada === */
/* Se activan solamente cuando JS está disponible para evitar contenido oculto si JS falla. */
html.unitec-motion-ready .unitec-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1),
    filter .72s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--unitec-reveal-delay, 0ms);
  will-change: opacity, transform;
}

html.unitec-motion-ready .unitec-reveal--soft {
  transform: translate3d(0, 18px, 0);
}

html.unitec-motion-ready .unitec-reveal--image {
  transform: translate3d(0, 22px, 0) scale(.965);
  filter: brightness(.82);
}

html.unitec-motion-ready .unitec-reveal--logo {
  transform: translate3d(0, 12px, 0) scale(.90);
}

html.unitec-motion-ready .unitec-reveal--left {
  transform: translate3d(-34px, 0, 0);
}

html.unitec-motion-ready .unitec-reveal--right {
  transform: translate3d(34px, 0, 0);
}

html.unitec-motion-ready .unitec-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

/* Los logos del carrusel mantienen su animación de entrada sin interferir con el movimiento del track. */
html.unitec-motion-ready .unitec-partner.unitec-reveal {
  transition-duration: .58s;
}

/* En el editor de Elementor dejamos todo visible para editar con comodidad. */
body.elementor-editor-active .unitec-reveal,
.elementor-editor-active .unitec-reveal {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.unitec-motion-ready .unitec-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* === v1.12: Icono editable en botón Instagram === */
.unitec-btn--instagram {
  gap: 14px;
}

.unitec-instagram__button-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
}

.unitec-instagram__button-icon svg,
.unitec-instagram__button-icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.unitec-instagram__button-icon img {
  object-fit: contain;
}

.unitec-instagram__button-text {
  display: inline-block;
}

@media (max-width: 700px) {
  .unitec-btn--instagram {
    gap: 10px;
  }
}

/* === v1.16: Controles visuales ampliados === */
/* Hero: overlay configurable desde Elementor sin perder el degradado. */
.unitec-hero {
  --unitec-hero-overlay-color:#000000;
  --unitec-hero-overlay-opacity:.82;
}
.unitec-hero__overlay {
  background:
    linear-gradient(90deg,
      var(--unitec-hero-overlay-color) 0%,
      color-mix(in srgb, var(--unitec-hero-overlay-color) 58%, transparent) 52%,
      color-mix(in srgb, var(--unitec-hero-overlay-color) 32%, transparent) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.35));
  opacity:var(--unitec-hero-overlay-opacity);
}

/* Soluciones: cada foto puede tener foco y zoom independientes. */
.unitec-solution {
  --unitec-solution-img-x:50%;
  --unitec-solution-img-y:50%;
  --unitec-solution-img-scale:1;
  --unitec-solution-img-x-mobile:var(--unitec-solution-img-x);
  --unitec-solution-img-y-mobile:var(--unitec-solution-img-y);
  --unitec-solution-img-scale-mobile:var(--unitec-solution-img-scale);
}
.unitec-solution__image > .unitec-solution__photo {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--unitec-solution-img-x) var(--unitec-solution-img-y);
  position:absolute;
  inset:0;
  transform:scale(var(--unitec-solution-img-scale));
  transform-origin:center center;
  will-change:transform;
}

/* Instagram manual: mismo concepto de foco que el Hero. */
.unitec-instagram {
  --unitec-instagram-img-x:50%;
  --unitec-instagram-img-y:50%;
  --unitec-instagram-img-scale:1;
}
.unitec-instagram__item img {
  object-position:var(--unitec-instagram-img-x) var(--unitec-instagram-img-y);
  transform:scale(var(--unitec-instagram-img-scale));
  transform-origin:center center;
}

/* Contacto: la imagen opcional usa una capa real para poder moverla y hacer zoom. */
.unitec-contact__panel {
  --unitec-contact-bg-x:50%;
  --unitec-contact-bg-y:50%;
  --unitec-contact-bg-scale:1;
}
.unitec-contact__image-layer {
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:var(--unitec-contact-bg-x) var(--unitec-contact-bg-y);
  transform:scale(var(--unitec-contact-bg-scale));
  transform-origin:center center;
  opacity:.5;
  pointer-events:none;
}
.unitec-contact__panel::before {
  z-index:1;
  background-image:
    linear-gradient(180deg, rgba(8,8,12,.34), rgba(6,6,10,.68)),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:auto, 26px 26px, 26px 26px;
}
.unitec-contact__panel::after { z-index:1; }
.unitec-contact__form { z-index:2; }

/* Evita que las animaciones de entrada pisen el zoom configurado en las fotos. */
html.unitec-motion-ready .unitec-solution__image.unitec-reveal--image {
  transform:translate3d(0,22px,0) scale(.965);
}
html.unitec-motion-ready .unitec-solution__image.unitec-reveal--image.is-visible {
  transform:translate3d(0,0,0) scale(1);
}

@media (max-width:700px) {
  .unitec-solution__image > .unitec-solution__photo {
    object-position:var(--unitec-solution-img-x-mobile) var(--unitec-solution-img-y-mobile);
    transform:scale(var(--unitec-solution-img-scale-mobile));
  }
}
\n\n/* === v1.18: carruseles de fotos en Servicios Integrales === */
.unitec-solution__carousel { isolation:isolate; }
.unitec-solution__slides { position:absolute; inset:0; overflow:hidden; z-index:0; }
.unitec-solution__slide {
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity var(--unitec-solution-carousel-transition,650ms) ease, visibility var(--unitec-solution-carousel-transition,650ms) ease;
  pointer-events:none;
}
.unitec-solution__slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:1; }
.unitec-solution__photo {
  width:100%; height:100%; object-fit:var(--unitec-solution-img-fit, contain);
  object-position:var(--unitec-solution-img-x) var(--unitec-solution-img-y);
  position:absolute; inset:0;
  transform:scale(var(--unitec-solution-img-scale));
  transform-origin:center center;
  will-change:transform;
}
.unitec-solution__nav {
  position:absolute; z-index:4; top:50%; transform:translateY(-50%);
  width:48px; height:64px; border:0; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; cursor:pointer; line-height:1; padding:0;
  text-shadow:0 0 12px rgba(255,255,255,.9);
  transition:background .2s ease, transform .2s ease, opacity .2s ease;
  -webkit-appearance:none; appearance:none;
}
.unitec-solution__nav:hover { transform:translateY(-50%) scale(1.05); }
.unitec-solution__nav--prev { left:18px; }
.unitec-solution__nav--next { right:18px; }
.unitec-solution__dots {
  position:absolute; z-index:4; left:50%; bottom:18px; transform:translateX(-50%);
  display:flex; gap:8px; align-items:center; justify-content:center;
  padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.24);
}
.unitec-solution__dot {
  width:8px; height:8px; padding:0; border:0; border-radius:50%; opacity:.45;
  cursor:pointer; transition:opacity .2s ease, transform .2s ease;
  -webkit-appearance:none; appearance:none;
}
.unitec-solution__dot.is-active { opacity:1; transform:scale(1.35); }
.unitec-solution__link {
  position:absolute; z-index:5; right:18px; top:18px;
  width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.38); color:#fff !important; text-decoration:none !important;
  font-size:22px; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
}
@media (max-width:700px) {
  .unitec-solution__nav { width:36px; height:52px; border-radius:9px; }
  .unitec-solution__nav--prev { left:7px; }
  .unitec-solution__nav--next { right:7px; }
  .unitec-solution__dots { bottom:10px; gap:6px; padding:5px 8px; }
  .unitec-solution__dot { width:6px; height:6px; }
  .unitec-solution__link { right:10px; top:10px; width:34px; height:34px; font-size:18px; }
  .unitec-solution__photo {
    object-fit:var(--unitec-solution-img-fit-mobile, var(--unitec-solution-img-fit, contain));
    object-position:var(--unitec-solution-img-x-mobile) var(--unitec-solution-img-y-mobile);
    transform:scale(var(--unitec-solution-img-scale-mobile));
  }
}
@media (prefers-reduced-motion: reduce) {
  .unitec-solution__slide { transition:none !important; }
}


/* === v1.19: ajuste de imágenes de Servicios Integrales === */
.unitec-solution {
  --unitec-solution-img-fit:contain;
  --unitec-solution-img-fit-mobile:var(--unitec-solution-img-fit);
}
/* 'contain' muestra la imagen completa dentro de la columna. El fondo del panel
   queda visible cuando la proporción de la foto no coincide con la columna. */
.unitec-solution__slide { display:flex; align-items:center; justify-content:center; }


/* === v1.20: modo "Foto completa" realmente sin recorte ===
   En versiones anteriores, un Zoom guardado (>1) podía volver a cortar la foto
   aunque object-fit estuviera en contain. En este modo el zoom se ignora a
   propósito y se fuerza contain para garantizar que se vea el 100% de la imagen. */
@media (min-width:701px) {
  .unitec-solution--fit-contain-desktop .unitec-solution__photo {
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:var(--unitec-solution-img-x) var(--unitec-solution-img-y) !important;
    transform:none !important;
  }
}
@media (max-width:700px) {
  .unitec-solution--fit-contain-mobile .unitec-solution__photo {
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:var(--unitec-solution-img-x-mobile) var(--unitec-solution-img-y-mobile) !important;
    transform:none !important;
  }
}


/* === v1.21: ajuste manual sin franjas negras ===
   - Foto completa mantiene X/Y/Zoom visibles.
   - A zoom 1 se conserva la foto completa.
   - El fondo difuminado opcional rellena el panel detrás de la foto sin deformarla.
*/
.unitec-solution__photo-bg {
  position:absolute;
  inset:-8%;
  width:116%;
  height:116%;
  object-fit:cover;
  object-position:center center;
  filter:blur(22px) brightness(.55) saturate(1.08);
  transform:scale(1.08);
  opacity:0;
  z-index:0;
  pointer-events:none;
}
.unitec-solution__photo {
  z-index:1;
  transform-origin:var(--unitec-solution-img-x) var(--unitec-solution-img-y);
}
@media (min-width:701px) {
  .unitec-solution--blur-fill.unitec-solution--fit-contain-desktop .unitec-solution__photo-bg {
    opacity:1;
  }
  .unitec-solution--fit-contain-desktop .unitec-solution__photo {
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:var(--unitec-solution-img-x) var(--unitec-solution-img-y) !important;
    transform:scale(var(--unitec-solution-img-scale)) !important;
    transform-origin:var(--unitec-solution-img-x) var(--unitec-solution-img-y) !important;
  }
}
@media (max-width:700px) {
  .unitec-solution--blur-fill.unitec-solution--fit-contain-mobile .unitec-solution__photo-bg {
    opacity:1;
  }
  .unitec-solution--fit-contain-mobile .unitec-solution__photo {
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:var(--unitec-solution-img-x-mobile) var(--unitec-solution-img-y-mobile) !important;
    transform:scale(var(--unitec-solution-img-scale-mobile)) !important;
    transform-origin:var(--unitec-solution-img-x-mobile) var(--unitec-solution-img-y-mobile) !important;
  }
}

/* === v1.23: ajuste responsive mobile ===
   En pantallas chicas priorizamos lectura, carruseles utilizables y ausencia de desbordes.
   El widget Soluciones permite elegir entre Apilado y Dos columnas desde Elementor.
*/
.unitec-solutions { --unitec-solutions-mobile-image-height:330px; }

@media (max-width: 600px) {
  /* Evita desbordes accidentales producidos por zooms, textos largos o controles externos. */
  .unitec-header,
  .unitec-hero,
  .unitec-stats,
  .unitec-section-heading,
  .unitec-solutions,
  .unitec-prestations,
  .unitec-partners,
  .unitec-instagram,
  .unitec-contact,
  .unitec-footer { max-width:100%; overflow-x:clip; }

  .unitec-container { width:calc(100% - 30px); }

  /* Header más compacto en teléfonos sin perder el look redondeado. */
  .unitec-header__inner { min-height:96px; padding-top:8px; padding-bottom:8px; }
  .unitec-brand { gap:3px; min-width:0; }
  .unitec-brand__logo { width:min(210px,64vw); max-height:46px; }
  .unitec-brand__tagline { font-size:12px; line-height:1.18; white-space:normal; }
  .unitec-menu-toggle { width:38px; height:38px; flex:0 0 38px; }
  .unitec-nav { width:min(330px,calc(100vw - 28px)); right:14px; }

  /* Hero: aprovecha mejor el ancho útil. Los controles de foco/zoom siguen mandando. */
  .unitec-hero__content { padding-top:34px; padding-bottom:34px; }
  .unitec-hero__copy { max-width:100%; }
  .unitec-hero__badge { max-width:100%; white-space:normal; line-height:1.2; }
  .unitec-hero__title,
  .unitec-hero__accent { max-width:100%; overflow-wrap:anywhere; }
  .unitec-hero__description { max-width:100%; }
  .unitec-hero__buttons { width:100%; max-width:330px; }
  .unitec-hero__buttons .unitec-btn { width:100%; }

  /* Servicios Integrales: en mobile apilado deja respirar texto e imagen. */
  .unitec-solutions--mobile-stacked .unitec-solution {
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  .unitec-solutions--mobile-stacked .unitec-solution__content {
    min-width:0;
    padding:28px 22px;
  }
  .unitec-solutions--mobile-stacked .unitec-solution__content-inner { width:100%; max-width:none; }
  .unitec-solutions--mobile-stacked .unitec-solution h3 { font-size:clamp(24px,7vw,30px); margin-top:20px; overflow-wrap:anywhere; }
  .unitec-solutions--mobile-stacked .unitec-solution ul,
  .unitec-solutions--mobile-stacked .unitec-solution p { font-size:15px; line-height:1.55; }
  .unitec-solutions--mobile-stacked .unitec-solution ul { padding-left:20px; }
  .unitec-solutions--mobile-stacked .unitec-solution__icon,
  .unitec-solutions--mobile-stacked .unitec-solution__icon-placeholder { width:58px; height:58px; }
  .unitec-solutions--mobile-stacked .unitec-solution__image {
    min-height:0 !important;
    height:var(--unitec-solutions-mobile-image-height,330px) !important;
    width:100%;
  }
  .unitec-solutions--mobile-image-first .unitec-solution__image { order:1; }
  .unitec-solutions--mobile-image-first .unitec-solution__content { order:2; }
  .unitec-solutions--mobile-text-first .unitec-solution__content { order:1; }
  .unitec-solutions--mobile-text-first .unitec-solution__image { order:2; }

  /* Si se elige Dos columnas, se conserva el look compacto pero con proporciones menos extremas. */
  .unitec-solutions--mobile-split .unitec-solution { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); min-height:300px; }
  .unitec-solutions--mobile-split .unitec-solution__content { padding:20px 12px 20px 16px; min-width:0; }
  .unitec-solutions--mobile-split .unitec-solution h3 { font-size:19px; overflow-wrap:anywhere; }
  .unitec-solutions--mobile-split .unitec-solution ul,
  .unitec-solutions--mobile-split .unitec-solution p { font-size:11px; line-height:1.45; }
  .unitec-solutions--mobile-split .unitec-solution__image { min-height:300px; }

  /* Flechas siempre dentro de la foto y cómodas para tocar. */
  .unitec-solution__nav { width:40px; height:48px; border-radius:10px; font-size:34px; }
  .unitec-solution__nav--prev { left:8px; }
  .unitec-solution__nav--next { right:8px; }
  .unitec-solution__dots { max-width:calc(100% - 90px); flex-wrap:wrap; }

  /* Prestaciones conservan dos columnas como el boceto, pero sin texto pegado. */
  .unitec-prestations__grid { gap:12px; }
  .unitec-prestation { min-width:0; padding:18px 10px; }
  .unitec-prestation h3,
  .unitec-prestation p { overflow-wrap:anywhere; }

  /* Partners e Instagram no deben forzar ancho de página. */
  .unitec-partners__panel,
  .unitec-partners__viewport,
  .unitec-instagram__feed,
  .unitec-instagram__shortcode { max-width:100%; }
  .unitec-instagram__shortcode * { max-width:100%; }

  /* Formulario y footer con ancho aprovechable en celular. */
  .unitec-contact__panel { padding-left:16px; padding-right:16px; }
  .unitec-contact__submit { display:flex; }
  .unitec-contact__submit .unitec-btn { width:100%; min-width:0; }
  .unitec-footer__contact,
  .unitec-footer__address { overflow-wrap:anywhere; line-height:1.5; }
}

@media (max-width: 380px) {
  .unitec-container { width:calc(100% - 24px); }
  .unitec-brand__logo { width:min(190px,62vw); }
  .unitec-brand__tagline { font-size:11px; }
  .unitec-hero__badge { font-size:9px; padding:7px 10px; }
  .unitec-stats__grid { gap:0; }
  .unitec-stat { padding-inline:4px; }
  .unitec-prestations__grid { gap:9px; }
}

/* === v1.24: menú mobile robusto ===
   El desplegable pasa a position:fixed en teléfonos para evitar que
   Elementor/Blocksy/Safari lo recorten por overflow de contenedores padre.
*/
.elementor-widget-unitec_header,
.elementor-widget-unitec_header > .elementor-widget-container,
.unitec-header,
.unitec-header__inner {
  overflow: visible !important;
}

.unitec-menu-toggle {
  position: relative;
  z-index: 100003;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.unitec-nav {
  pointer-events: none;
  z-index: 100002;
}
.unitec-header.is-menu-open .unitec-nav { pointer-events: auto; }

/* Feedback visual del hamburger al abrir. */
.unitec-header.is-menu-open .unitec-menu-toggle span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.unitec-header.is-menu-open .unitec-menu-toggle span:nth-child(2) {
  opacity: 0;
}
.unitec-header.is-menu-open .unitec-menu-toggle span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

@media (max-width: 700px) {
  /* Sobrescribe el overflow-x:clip agregado en v1.23 solo para el header. */
  .unitec-header { overflow: visible !important; }

  .unitec-nav {
    position: fixed !important;
    top: var(--unitec-mobile-menu-top, 104px) !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - var(--unitec-mobile-menu-top, 104px) - 14px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    transform: translateY(-8px) scale(.985);
    transform-origin: top right;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 18px 48px rgba(0,0,0,.58);
  }

  .unitec-header.is-menu-open .unitec-nav {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
  }

  .unitec-menu-list a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 13px 14px;
  }
}


/* === v1.25: fondo del menú inspirado en el formulario ===
   Replica el panel oscuro con luces violeta/celeste del formulario de contacto.
   Los colores se pueden modificar desde Unitec - Header > Estilo > Menú.
*/
.unitec-nav {
  --unitec-menu-base: #100d18;
  --unitec-menu-purple: #7d00ff;
  --unitec-menu-cyan: #4bc7ef;
  --unitec-menu-border: #8b00ff;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 50% 112%, color-mix(in srgb, var(--unitec-menu-purple) 62%, transparent) 0%, transparent 50%),
    radial-gradient(ellipse at 82% 38%, color-mix(in srgb, var(--unitec-menu-purple) 30%, transparent) 0%, transparent 45%),
    radial-gradient(ellipse at 10% 8%, color-mix(in srgb, var(--unitec-menu-cyan) 17%, transparent) 0%, transparent 38%),
    linear-gradient(180deg, rgba(24,19,35,.92), rgba(7,7,11,.97) 76%),
    var(--unitec-menu-base);
  border-color: var(--unitec-menu-border);
  box-shadow:
    inset 0 0 38px rgba(255,255,255,.08),
    inset 0 -52px 70px color-mix(in srgb, var(--unitec-menu-purple) 16%, transparent),
    0 18px 48px rgba(0,0,0,.58),
    0 0 24px color-mix(in srgb, var(--unitec-menu-purple) 14%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}

.unitec-nav::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  opacity: .38;
  background-image:
    linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.017) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), rgba(0,0,0,.92));
}

.unitec-nav::after {
  content: '';
  position: absolute;
  left: 14%;
  right: 14%;
  bottom: -72px;
  height: 150px;
  z-index: -1;
  border-radius: 50%;
  background: var(--unitec-menu-purple);
  opacity: .22;
  filter: blur(45px);
  pointer-events: none;
}

.unitec-menu-list {
  position: relative;
  z-index: 2;
}

@media (max-width:700px) {
  .unitec-nav {
    border-width: 2px;
    border-radius: 20px;
    padding: 14px 16px;
  }
  .unitec-menu-list li + li {
    border-top-color: rgba(255,255,255,.10);
  }
  .unitec-menu-list a {
    border-radius: 11px;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
  }
  .unitec-menu-list a:active {
    background: color-mix(in srgb, var(--unitec-menu-purple) 18%, transparent);
    transform: translateX(2px);
  }
}


/* Cloudflare Turnstile - formulario Unitec */
.unitec-contact__turnstile {
  width:100%;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
  padding-top:4px;
}
.unitec-contact__turnstile .cf-turnstile {
  width:min(100%, 520px);
  max-width:100%;
}
@media (max-width:767px) {
  .unitec-contact__turnstile { justify-content:center; }
  .unitec-contact__turnstile .cf-turnstile { width:100%; }
}
