
:root {
  --bg: #f5f7fb;
  --surface: #ffffff;
  --text: #0d1726;
  --muted: #667085;
  --line: #e5e9f0;
  --navy: #071725;
  --blue: #0e63f4;
  --cyan: #35bff4;
  --radius: 22px;
  --shadow: 0 18px 60px rgba(10, 32, 68, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", system-ui, sans-serif;
  color: var(--text);
  background: var(--bg);
}
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 40px)); margin: auto; }

.nav {
  position: sticky; top: 0; z-index: 30;
  background: rgba(7, 23, 37, .90);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav-inner { height: 76px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 12px; color: white; }
.brand-mark {
  width: 42px; height: 42px; border-radius: 13px;
  display: grid; place-items: center;
  font-weight: 800; font-size: 20px;
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  box-shadow: 0 8px 24px rgba(14,99,244,.35);
}
.brand-name { display: block; font-size: 17px; font-weight: 800; letter-spacing: .08em; }
.brand-tag { display: block; color: #99a9ba; font-size: 11px; margin-top: 2px; }
.menu { display: flex; align-items: center; gap: 30px; color: #cbd5df; font-size: 14px; }
.menu a:hover { color: white; }
.menu-btn { display: none; background: transparent; border: 0; color: white; font-size: 25px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 22px; border-radius: 13px;
  color: white; background: linear-gradient(135deg, var(--blue), #247cf7);
  font-weight: 700; font-size: 14px;
  box-shadow: 0 10px 30px rgba(14,99,244,.24);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(14,99,244,.34); }
.btn-sm { min-height: 40px; padding: 0 17px; }
.btn-ghost { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); box-shadow: none; }

.hero {
  position: relative; overflow: hidden;
  color: white; background:
    radial-gradient(circle at 70% 25%, rgba(14,99,244,.24), transparent 35%),
    linear-gradient(135deg, #071725 0%, #0b2032 60%, #071725 100%);
  padding: 92px 0 86px;
}
.hero-glow {
  position: absolute; width: 520px; height: 520px; border-radius: 50%;
  right: -220px; top: -180px; background: rgba(53,191,244,.08); filter: blur(10px);
}
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.eyebrow { color: #4bc6ff; font-weight: 800; letter-spacing: .14em; font-size: 12px; }
.hero h1 { font-size: clamp(44px, 6vw, 76px); line-height: .98; letter-spacing: -.05em; margin: 18px 0 24px; max-width: 760px; }
.hero h1 span { color: #55caff; }
.hero p { color: #b9c6d2; font-size: 18px; line-height: 1.7; max-width: 700px; }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
.hero-proof div { border-top: 1px solid rgba(255,255,255,.14); padding-top: 16px; }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof strong { font-size: 13px; margin-bottom: 5px; }
.hero-proof span { color: #8597a9; font-size: 11px; line-height: 1.4; }

.hero-panel {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(18px);
  border-radius: 28px; padding: 24px;
  box-shadow: 0 35px 100px rgba(0,0,0,.28);
}
.panel-top, .chat-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #97a9ba; }
.status { display: flex; align-items: center; gap: 7px; }
.status i { width: 8px; height: 8px; background: #2bd98b; border-radius: 50%; box-shadow: 0 0 14px #2bd98b; }
.metric-main { padding: 52px 8px 30px; }
.metric-main small, .metric-main strong { display: block; }
.metric-main small { color: #90a2b3; }
.metric-main strong { font-size: 33px; line-height: 1.1; margin: 10px 0; }
.metric-main p { margin: 0; font-size: 13px; line-height: 1.5; }
.mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mini-grid article { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); padding: 17px; border-radius: 16px; }
.mini-grid span, .mini-grid strong, .mini-grid small { display: block; }
.mini-grid span { color: #92a5b8; font-size: 11px; }
.mini-grid strong { font-size: 20px; margin: 7px 0 3px; }
.mini-grid small { color: #6f8397; font-size: 10px; }

.logos-strip { background: white; border-bottom: 1px solid var(--line); }
.strip-inner { padding: 18px 0; text-align: center; color: #687386; font-size: 13px; }

.section { padding: 100px 0; }
.section-heading { max-width: 760px; margin-bottom: 45px; }
.section-heading h2, .split h2, .cta h2 { font-size: clamp(34px, 4vw, 52px); letter-spacing: -.04em; line-height: 1.08; margin: 12px 0 16px; }
.section-heading p, .lead, .about-copy { color: var(--muted); line-height: 1.75; font-size: 17px; }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.card {
  background: white; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px; min-height: 270px; box-shadow: 0 5px 20px rgba(15,23,42,.035);
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card.featured { background: linear-gradient(145deg, #0a2034, #0d2b45); color: white; border-color: #173a55; }
.icon {
  width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center;
  background: #edf5ff; color: var(--blue); font-weight: 800; font-size: 12px;
}
.featured .icon { background: rgba(53,191,244,.12); color: #55caff; }
.card h3 { margin: 42px 0 10px; font-size: 20px; }
.card p { color: #6f7a8d; line-height: 1.65; font-size: 14px; }
.featured p { color: #a7b6c5; }
.card a { display: inline-block; margin-top: 12px; color: #55caff; font-weight: 700; font-size: 13px; }

.dark-section { background: var(--navy); color: white; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 78px; align-items: center; }
.dark-section .lead { color: #aebdca; }
.check-list { list-style: none; padding: 0; margin: 28px 0 0; }
.check-list li { padding: 12px 0 12px 30px; color: #c1ccd6; position: relative; }
.check-list li:before { content: "✓"; position: absolute; left: 0; color: #52caff; font-weight: 800; }

.ai-chat {
  background: #0c2133; border: 1px solid rgba(255,255,255,.09);
  border-radius: 25px; padding: 24px; box-shadow: 0 30px 80px rgba(0,0,0,.25);
}
.chat-head { padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.chat-head span { color: white; font-weight: 700; }
.bubble { max-width: 88%; border-radius: 17px; padding: 15px 17px; margin: 20px 0; font-size: 13px; line-height: 1.6; }
.bubble.user { margin-left: auto; background: #1668e8; }
.bubble.bot { background: rgba(255,255,255,.07); color: #c3cfda; }
.bubble.bot strong { display: block; color: white; margin-top: 10px; }
.chat-input { background: #081827; border: 1px solid rgba(255,255,255,.09); padding: 15px 17px; border-radius: 14px; color: #74889a; font-size: 12px; display: flex; justify-content: space-between; }

.industry-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.industry-grid article { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 26px; }
.industry-grid strong, .industry-grid span { display: block; }
.industry-grid strong { font-size: 19px; margin-bottom: 10px; }
.industry-grid span { color: var(--muted); font-size: 13px; line-height: 1.6; }

.about { background: white; }
.about-copy p:first-child { margin-top: 0; }

.cta { background: linear-gradient(135deg, #0866f5, #0b8ff2); color: white; padding: 76px 0; }
.cta-inner { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.cta .eyebrow { color: rgba(255,255,255,.75); }
.cta h2 { max-width: 700px; margin-bottom: 12px; }
.cta p { color: rgba(255,255,255,.78); margin: 0; }
.cta-actions { display: flex; flex-direction: column; gap: 10px; min-width: 285px; }
.btn.light { background: white; color: #0b63e5; box-shadow: none; }
.btn-outline-light { background: transparent; border: 1px solid rgba(255,255,255,.5); box-shadow: none; }

footer { background: #06131f; color: #a3b1bf; padding: 30px 0; font-size: 12px; }
.footer-inner { display: flex; justify-content: space-between; gap: 30px; align-items: center; }
.footer-inner strong { display: block; color: white; letter-spacing: .08em; margin-bottom: 5px; }

@media (max-width: 900px) {
  .hero-grid, .split { grid-template-columns: 1fr; gap: 45px; }
  .cards { grid-template-columns: 1fr 1fr; }
  .industry-grid { grid-template-columns: 1fr 1fr; }
  .cta-inner { flex-direction: column; align-items: flex-start; }
  .cta-actions { width: 100%; }
}
@media (max-width: 720px) {
  .menu-btn { display: block; }
  .menu {
    display: none; position: absolute; top: 76px; left: 0; right: 0;
    background: #071725; padding: 20px; flex-direction: column; align-items: stretch;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .menu.open { display: flex; }
  .hero { padding-top: 66px; }
  .hero-proof, .cards, .industry-grid { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
}


/* Identidad oficial ORTISOFT */
.brand-logo {
  background: white;
  border-radius: 12px;
  padding: 5px 12px;
  height: 55px;
  overflow: hidden;
}
.brand-logo img {
  display: block;
  height: 45px;
  width: auto;
  object-fit: contain;
}

.ia-logo {
  display: block;
  width: min(100%, 520px);
  max-height: 190px;
  object-fit: contain;
  object-position: left center;
  border-radius: 18px;
  margin-bottom: 28px;
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  min-width: 430px;
}
.contact-block {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 18px;
  padding: 22px;
  backdrop-filter: blur(10px);
}
.contact-block strong {
  display: block;
  margin-bottom: 12px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.contact-block a {
  display: block;
  color: white;
  font-size: 13px;
  line-height: 1.8;
  word-break: break-word;
}
.contact-block a:hover {
  text-decoration: underline;
}
.contact-wa {
  font-size: 16px !important;
  font-weight: 700;
}

.footer-brand img {
  width: 180px;
  max-height: 55px;
  object-fit: contain;
  object-position: left center;
  background: white;
  border-radius: 10px;
  padding: 4px 8px;
  margin-bottom: 8px;
}

@media (max-width: 900px) {
  .contact-grid { min-width: 0; width: 100%; }
}
@media (max-width: 720px) {
  .brand-logo { max-width: 210px; }
  .brand-logo img { width: 100%; height: auto; max-height: 45px; }
  .contact-grid { grid-template-columns: 1fr; }
  .ia-logo { max-height: 150px; }
}


/* Nuestros clientes */
.clients-section {
  padding: 82px 0 88px;
  background:
    linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,.97)),
    radial-gradient(circle at 15% 10%, rgba(14,99,244,.10), transparent 30%);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.clients-heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
}
.clients-heading h2 {
  margin-bottom: 10px;
}
.clients-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.client-card {
  min-height: 132px;
  background: #fff;
  border: 1px solid #e4e8ef;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  box-shadow: 0 7px 24px rgba(15,23,42,.055);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.client-card:hover {
  transform: translateY(-4px);
  border-color: #c9dcfa;
  box-shadow: 0 14px 34px rgba(15,23,42,.10);
}
.client-card img {
  display: block;
  width: 100%;
  max-width: 190px;
  max-height: 78px;
  object-fit: contain;
}
.client-note {
  margin-top: 24px;
  background: linear-gradient(135deg, #071725, #0b2540);
  color: white;
  border-radius: 18px;
  padding: 20px 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  box-shadow: 0 16px 38px rgba(7,23,37,.15);
}
.client-note strong {
  font-size: 17px;
}
.client-note span {
  color: #9eb1c2;
  font-size: 12px;
  text-align: right;
}
@media (max-width: 1050px) {
  .clients-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 800px) {
  .clients-grid { grid-template-columns: repeat(3, 1fr); }
  .client-note { flex-direction: column; align-items: flex-start; }
  .client-note span { text-align: left; }
}
@media (max-width: 560px) {
  .clients-grid { grid-template-columns: repeat(2, 1fr); }
  .client-card { min-height: 110px; padding: 14px; }
}


/* V4 - Sección de clientes con enfoque ejecutivo */
.clients-section {
  position: relative;
  overflow: hidden;
  padding: 96px 0 92px;
  color: #fff;
  background:
    radial-gradient(circle at 50% 14%, rgba(16, 117, 255, .18), transparent 30%),
    radial-gradient(circle at 12% 78%, rgba(0, 153, 255, .12), transparent 26%),
    radial-gradient(circle at 88% 72%, rgba(0, 153, 255, .11), transparent 25%),
    linear-gradient(180deg, #06111f 0%, #071a2b 52%, #05111d 100%);
  border-top: 1px solid rgba(42,145,255,.45);
  border-bottom: 1px solid rgba(42,145,255,.28);
}

.clients-section::before,
.clients-section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.clients-section::before {
  background:
    linear-gradient(120deg, transparent 0 8%, rgba(20,129,255,.20) 8.1% 8.25%, transparent 8.35% 100%),
    linear-gradient(60deg, transparent 0 92%, rgba(20,129,255,.18) 92.1% 92.25%, transparent 92.35% 100%);
  opacity: .8;
}
.clients-section::after {
  background-image:
    linear-gradient(rgba(35,116,214,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(35,116,214,.07) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(to top, rgba(0,0,0,.9), transparent 82%);
  opacity: .6;
}

.clients-section .container {
  position: relative;
  z-index: 2;
}
.clients-heading {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 42px;
}
.clients-heading .eyebrow {
  color: #2aa2ff;
  position: relative;
  display: inline-block;
  padding: 0 52px;
}
.clients-heading .eyebrow::before,
.clients-heading .eyebrow::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 36px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #2497ff);
}
.clients-heading .eyebrow::before { left: 0; }
.clients-heading .eyebrow::after { right: 0; transform: rotate(180deg); }
.clients-heading h2 {
  color: #fff;
  font-size: clamp(38px, 4.6vw, 62px);
  line-height: 1.02;
  letter-spacing: -.045em;
  margin: 14px 0 18px;
}
.clients-heading .accent-word {
  color: #299cff;
}
.clients-heading p {
  color: #9fb3c6;
  font-size: 16px;
  line-height: 1.7;
}

.clients-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.client-card {
  min-height: 124px;
  background: linear-gradient(180deg, rgba(15,38,59,.96), rgba(9,28,45,.96));
  border: 1px solid rgba(74,139,202,.30);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 17px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 24px rgba(0,0,0,.20);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.client-card:hover {
  transform: translateY(-4px);
  border-color: rgba(42,157,255,.80);
  box-shadow:
    0 0 0 1px rgba(42,157,255,.16),
    0 14px 34px rgba(0,75,155,.23);
}
.client-card img {
  width: 100%;
  max-width: 182px;
  max-height: 76px;
  object-fit: contain;
  filter: saturate(.96) contrast(1.04);
}

.executive-note {
  margin-top: 28px;
  background: linear-gradient(135deg, rgba(10,35,57,.97), rgba(8,24,39,.98));
  border: 1px solid rgba(35,151,255,.55);
  border-radius: 18px;
  padding: 19px 25px;
  box-shadow: 0 14px 42px rgba(0,0,0,.24);
}
.partner-copy {
  display: flex;
  align-items: center;
  gap: 16px;
}
.partner-copy strong {
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: .01em;
}
.partner-copy em {
  color: #279cff;
  font-style: normal;
}
.partner-icon {
  width: 50px;
  height: 50px;
  border: 1px solid rgba(42,157,255,.65);
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #2aa2ff;
  font-size: 28px;
  box-shadow: inset 0 0 18px rgba(22,111,211,.16);
}
.partner-points {
  margin-left: auto;
  display: grid;
  grid-template-columns: repeat(4, auto);
  align-items: center;
  gap: 0;
}
.partner-points span {
  padding: 2px 22px;
  color: #b9c9d7;
  font-size: 11px;
  white-space: nowrap;
  border-left: 1px solid rgba(255,255,255,.10);
}
.partner-points span:first-child {
  border-left: 0;
}
.client-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 1100px) {
  .clients-grid { grid-template-columns: repeat(4, 1fr); }
  .partner-points { grid-template-columns: repeat(2, 1fr); }
  .partner-points span:nth-child(3) { border-left: 0; }
}
@media (max-width: 820px) {
  .clients-grid { grid-template-columns: repeat(3, 1fr); }
  .client-note { flex-direction: column; align-items: flex-start; }
  .partner-points { margin-left: 0; width: 100%; }
}
@media (max-width: 560px) {
  .clients-section { padding: 72px 0; }
  .clients-grid { grid-template-columns: repeat(2, 1fr); }
  .client-card { min-height: 104px; padding: 12px; }
  .partner-points { grid-template-columns: 1fr; }
  .partner-points span {
    padding: 9px 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .partner-points span:first-child { border-top: 0; }
}


/* V5 - ORTISOFT BI + Dashboards */
.bi-section {
  background:
    radial-gradient(circle at 80% 12%, rgba(14,99,244,.09), transparent 30%),
    linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%);
}
.bi-heading { max-width: 840px; }
.dashboard-showcase {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.dashboard-card {
  background: linear-gradient(145deg, #071725, #0b2945);
  border: 1px solid rgba(42,145,255,.22);
  color: white;
  border-radius: 22px;
  padding: 20px;
  min-height: 335px;
  box-shadow: 0 20px 55px rgba(7,23,37,.18);
}
.dash-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.dash-head span, .dash-head small { display: block; }
.dash-head span { font-weight: 700; font-size: 15px; }
.dash-head small { color: #7f96ab; font-size: 10px; margin-top: 4px; }
.dash-head b { color: #36baf8; font-size: 10px; letter-spacing: .08em; }
.dash-kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 16px 0;
}
.dash-kpis div {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 12px;
}
.dash-kpis small, .dash-kpis strong, .dash-kpis em { display: block; }
.dash-kpis small { color: #8fa3b7; font-size: 9px; }
.dash-kpis strong { font-size: 19px; margin: 5px 0; }
.dash-kpis em { color: #37d799; font-size: 9px; font-style: normal; }

.dash-chart {
  height: 150px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 100% 30px;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.line-chart .line {
  position: absolute;
  height: 3px;
  background: linear-gradient(90deg, #1979ff, #39c6ff);
  transform-origin: left center;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(49,184,255,.45);
}
.l1{left:5%;bottom:28%;width:13%;transform:rotate(-10deg)}
.l2{left:17%;bottom:38%;width:13%;transform:rotate(-5deg)}
.l3{left:29%;bottom:44%;width:13%;transform:rotate(10deg)}
.l4{left:41%;bottom:36%;width:13%;transform:rotate(-18deg)}
.l5{left:52%;bottom:53%;width:13%;transform:rotate(5deg)}
.l6{left:64%;bottom:48%;width:13%;transform:rotate(-9deg)}
.l7{left:76%;bottom:57%;width:12%;transform:rotate(10deg)}
.l8{left:87%;bottom:49%;width:10%;transform:rotate(-24deg)}

.donut-wrap {
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
.donut {
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background: conic-gradient(#1597ff 0 46%, #25c2e8 46% 74%, #173e69 74% 100%);
  position: relative;
}
.donut::after {
  content:"";
  position:absolute;
  inset:24px;
  background:#092137;
  border-radius:50%;
}
.legend { display:flex; flex-direction:column; gap:8px; }
.legend span { color:#9bb0c2; font-size:10px; }

.dash-bars { height: 150px; margin-top: 10px; }

.attendance-list {
  display: grid;
  gap: 8px;
}
.attendance-list span {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  gap: 10px;
  align-items: center;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 10px;
  padding: 10px 12px;
  color: #9fb2c2;
  font-size: 10px;
}
.attendance-list b { color: white; }
.attendance-list em { color: #33d598; font-style: normal; }

.integrations-section {
  background: #fff;
}
.integration-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 15px;
}
.integration-grid article {
  background: linear-gradient(180deg,#fff,#f7faff);
  border: 1px solid #dfe7f1;
  border-radius: 18px;
  padding: 24px;
  min-height: 145px;
}
.integration-grid strong,
.integration-grid span { display:block; }
.integration-grid strong { font-size:18px; margin-bottom:9px; }
.integration-grid span { color:#6b7788; font-size:13px; line-height:1.6; }

@media(max-width:900px){
  .dashboard-showcase{grid-template-columns:1fr}
  .integration-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .dash-kpis{grid-template-columns:1fr}
  .integration-grid{grid-template-columns:1fr}
}


/* V6 - Trabajos reales ORTISOFT */
.real-work-section {
  background:
    radial-gradient(circle at 85% 10%, rgba(17,119,255,.13), transparent 28%),
    radial-gradient(circle at 15% 80%, rgba(0,183,255,.08), transparent 24%),
    linear-gradient(180deg,#07121f 0%,#081a2c 55%,#06111d 100%);
  color: white;
  position: relative;
  overflow: hidden;
}
.real-work-section::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(53,143,230,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(53,143,230,.045) 1px,transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}
.real-work-section .container { position:relative; z-index:1; }
.real-work-heading { max-width:860px; }
.real-work-heading h2 { color:#fff; }
.real-work-heading p { color:#9fb1c3; }
.real-work-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.work-card {
  background:linear-gradient(180deg,rgba(15,34,55,.96),rgba(8,24,40,.98));
  border:1px solid rgba(64,130,194,.26);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.20);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.work-card:hover {
  transform:translateY(-4px);
  border-color:rgba(44,158,255,.62);
  box-shadow:0 25px 62px rgba(0,67,133,.22);
}
.work-wide { grid-column:span 1; }
.work-image {
  background:#0c1423;
  aspect-ratio:16/9;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.work-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.work-copy { padding:22px 23px 25px; }
.work-tag {
  display:inline-block;
  color:#32b7ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  margin-bottom:9px;
}
.work-copy h3 {
  margin:0 0 9px;
  font-size:20px;
}
.work-copy p {
  margin:0;
  color:#94a8bb;
  font-size:13px;
  line-height:1.65;
}
.attendance-card {
  display:grid;
  grid-template-columns:190px 1fr;
}
.attendance-card .work-image {
  aspect-ratio:auto;
  min-height:320px;
  border-bottom:0;
  border-right:1px solid rgba(255,255,255,.06);
}
.phone-shot img {
  object-fit:cover;
  object-position:center top;
}
.attendance-card .work-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.privacy-note {
  margin-top:24px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding:18px 22px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
}
.privacy-note strong { font-size:15px; }
.privacy-note span {
  color:#8fa3b6;
  font-size:11px;
  max-width:720px;
  line-height:1.6;
  text-align:right;
}
@media(max-width:900px){
  .real-work-grid{grid-template-columns:1fr}
  .attendance-card{grid-template-columns:170px 1fr}
}
@media(max-width:620px){
  .attendance-card{display:block}
  .attendance-card .work-image{
    min-height:0;
    aspect-ratio:4/3;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .privacy-note{flex-direction:column;align-items:flex-start}
  .privacy-note span{text-align:left}
}

/* V7 - Caso real ORTISOFT IA */
.ia-real-card{
  grid-column:1 / -1;
  background:radial-gradient(circle at 80% 15%,rgba(125,76,255,.16),transparent 28%),linear-gradient(180deg,rgba(17,27,48,.98),rgba(9,20,36,.99));
  border-color:rgba(126,82,255,.35);
}
.ia-real-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.05)}
.ia-real-gallery .work-image{aspect-ratio:16/9;border-bottom:1px solid rgba(255,255,255,.06)}
.ia-real-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.ia-tag{color:#ad82ff}
.ia-capabilities{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.ia-capabilities span{background:rgba(125,76,255,.10);border:1px solid rgba(147,98,255,.28);color:#cdbdff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:700}
@media(max-width:760px){.ia-real-gallery{grid-template-columns:1fr}}


/* V8 - Corrección tarjeta Checador ORTISOFT + WhatsApp */
.attendance-card {
  display: block !important;
  grid-template-columns: none !important;
}

.attendance-card .work-image {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(32, 138, 255, .10), transparent 60%),
    #07111d !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.attendance-card .phone-shot img {
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.attendance-card .work-copy {
  display: block !important;
  padding: 22px 23px 25px !important;
}

@media(max-width:620px){
  .attendance-card .work-image{
    aspect-ratio: 4 / 3 !important;
    padding: 12px;
  }
}

/* V9 - Especialización en industria del calzado */
.footwear-specialty{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 82% 12%,rgba(36,139,255,.16),transparent 30%),
    radial-gradient(circle at 12% 72%,rgba(12,208,174,.08),transparent 28%),
    #071421;
  color:#fff;
}
.footwear-specialty:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:linear-gradient(rgba(70,145,220,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(70,145,220,.16) 1px,transparent 1px);
  background-size:44px 44px;
}
.footwear-specialty .container{position:relative;z-index:1}
.footwear-head{max-width:900px;margin:0 auto 30px;text-align:center}
.footwear-head h2{font-size:clamp(34px,5vw,64px);line-height:1.02;margin:10px 0 18px;color:#fff}
.footwear-head .section-lead{color:#afc3d8;max-width:860px;margin:auto}
.footwear-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px auto 38px}
.footwear-flow span{padding:10px 14px;border:1px solid rgba(77,169,255,.24);border-radius:999px;background:rgba(12,31,51,.72);font-size:12px;font-weight:800;color:#dceeff}
.footwear-flow b{color:#2f9cff}
.footwear-showcase{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:16px}
.footwear-main{grid-row:span 2;border:1px solid rgba(85,166,242,.22);border-radius:22px;overflow:hidden;background:rgba(11,28,46,.92)}
.footwear-screen{aspect-ratio:16/10;background:#0b1725;overflow:hidden}
.footwear-screen img{width:100%;height:100%;object-fit:cover;display:block}
.footwear-copy{padding:24px}
.footwear-copy span{font-size:10px;letter-spacing:.18em;font-weight:900;color:#38a9ff}
.footwear-copy h3{font-size:24px;margin:7px 0 9px;color:#fff}
.footwear-copy p{color:#a9bfd3;margin:0;line-height:1.65}
.footwear-mini{border:1px solid rgba(85,166,242,.20);border-radius:18px;overflow:hidden;background:rgba(11,28,46,.88)}
.footwear-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#fff}
.footwear-mini div{padding:15px 17px 18px}
.footwear-mini strong{display:block;color:#fff;font-size:14px;margin-bottom:5px}
.footwear-mini small{display:block;color:#91abc2;line-height:1.45}
.footwear-proof{margin-top:22px;padding:22px 25px;border:1px solid rgba(36,149,255,.30);border-radius:18px;background:linear-gradient(90deg,rgba(22,88,145,.20),rgba(10,26,43,.88));display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}
.footwear-proof strong{color:#fff}.footwear-proof span{color:#9fc4e5}
.footwear-privacy{max-width:900px;margin:18px auto 0;text-align:center;color:#7895ad!important}
.wa-contact{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-weight:800}
.wa-contact:hover{text-decoration:underline}
@media(max-width:980px){.footwear-showcase{grid-template-columns:1fr 1fr}.footwear-main{grid-column:1/-1;grid-row:auto}}
@media(max-width:650px){.footwear-showcase{grid-template-columns:1fr}.footwear-main{grid-column:auto}.footwear-flow b{display:none}}

/* V10 - Icono WhatsApp en teléfonos */
.wa-contact .wa-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:inline-block;
  vertical-align:middle;
  filter:drop-shadow(0 2px 5px rgba(37,211,102,.18));
}

/* V11 - WhatsApp visible en bloque de contacto */
.wa-contact{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  width:max-content;
  max-width:100%;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800 !important;
  line-height:1.4;
  margin:5px 0;
}
.wa-contact .wa-icon{
  display:block !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  flex:0 0 22px !important;
  overflow:visible !important;
}
.wa-contact:hover span{
  text-decoration:underline;
}


/* V15 REDISEÑO PREMIUM ORTISOFT */
body{background:#030b16}.nav{background:rgba(3,11,22,.94)!important;border-bottom:1px solid rgba(73,150,230,.16)!important}
.brand-logo{background:transparent!important;padding:0!important;height:58px!important}.brand-logo img{height:52px!important;width:auto!important;background:transparent!important}
.menu{color:#d3e0ec!important}.menu .btn{background:linear-gradient(135deg,#2466e9,#1ed9ff)!important}
.hero-premium{position:relative;overflow:hidden;min-height:680px;padding:92px 0 76px;color:#fff;background:radial-gradient(circle at 73% 44%,rgba(19,118,255,.17),transparent 27%),radial-gradient(circle at 50% -10%,rgba(26,113,255,.10),transparent 40%),linear-gradient(135deg,#020812 0%,#041224 52%,#020914 100%)}
.hero-grid-bg{position:absolute;inset:0;opacity:.34;background-image:linear-gradient(rgba(41,128,218,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(41,128,218,.06) 1px,transparent 1px);background-size:54px 54px}
.hero-premium-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .92fr;gap:56px;align-items:center}
.hero-premium-copy h1{font-size:clamp(52px,6.4vw,86px);line-height:.94;letter-spacing:-.055em;margin:18px 0 24px;max-width:760px}
.hero-premium-copy h1 span{display:block;background:linear-gradient(90deg,#4f83ff,#24d8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-premium-copy p{max-width:690px;color:#b9c8d7;font-size:18px;line-height:1.75}
.hero-primary{min-width:220px;background:linear-gradient(90deg,#245fe8,#1ddafc)!important}.hero-secondary{min-width:220px;background:transparent!important;border:1px solid rgba(255,255,255,.48)!important;box-shadow:none!important}
.hero-feature-row{display:flex;flex-wrap:wrap;gap:26px;margin-top:34px;color:#d4e1ed;font-size:12px}.hero-feature-row span{position:relative;padding-left:17px}.hero-feature-row span:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:#26a8ff;box-shadow:0 0 12px #26a8ff}
.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.hero-logo-core{position:relative;z-index:3;width:min(420px,80%);aspect-ratio:1/1;display:grid;place-items:center}
.hero-logo-core img{width:72%;max-width:310px;background:#fff;padding:14px 18px;border-radius:20px;box-shadow:0 0 0 1px rgba(111,195,255,.28),0 0 55px rgba(39,135,255,.34),0 25px 70px rgba(0,0,0,.35)}
.hero-logo-glow{position:absolute;inset:7%;border:1px solid rgba(80,167,255,.45);border-radius:28%;transform:rotate(30deg);box-shadow:0 0 28px rgba(46,150,255,.35),inset 0 0 40px rgba(38,125,255,.10)}
.hero-orbit{position:absolute;border:1px solid rgba(62,157,255,.28);border-radius:50%}.orbit-a{width:430px;height:160px;bottom:46px}.orbit-b{width:520px;height:220px;bottom:16px;opacity:.46}
.hero-circuit-lines{position:absolute;width:100%;height:70%;background:linear-gradient(90deg,transparent 0 10%,rgba(40,139,255,.22) 10.3% 10.45%,transparent 10.6% 100%),linear-gradient(90deg,transparent 0 88%,rgba(40,139,255,.22) 88.2% 88.35%,transparent 88.5% 100%)}
.hero-circuit-lines:before,.hero-circuit-lines:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#77d6ff;box-shadow:0 0 18px #27a6ff}.hero-circuit-lines:before{left:9%;top:34%}.hero-circuit-lines:after{right:9%;bottom:28%}
.trust-strip-premium{background:#06111e;border-top:1px solid rgba(46,132,219,.22);border-bottom:1px solid rgba(46,132,219,.18)}.trust-strip-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.trust-strip-inner strong{display:block;color:#fff;font-size:15px;margin-bottom:5px}.trust-strip-inner span{color:#6f8da7;font-size:11px}.trust-strip-inner a{color:#35b8ff;font-size:12px;font-weight:800}
.section{background:#06111e}.section-heading h2,.split h2{color:#f7fbff}.section-heading p,.lead,.about-copy{color:#8da7bd}
.card,.dashboard-card,.work-card,.integration-grid article,.industry-grid article{background:linear-gradient(180deg,#0a1a2d,#071322)!important;border:1px solid rgba(59,139,219,.20)!important;color:#fff!important;box-shadow:0 16px 36px rgba(0,0,0,.16)!important}
.card p,.integration-grid span,.industry-grid span{color:#91a9bc!important}.card .icon{background:rgba(43,139,255,.12)!important;color:#45bbff!important;border:1px solid rgba(46,148,255,.18)}
.clients-section{background:radial-gradient(circle at 50% 0%,rgba(24,105,222,.12),transparent 30%),linear-gradient(180deg,#04101d 0%,#061527 100%)!important}.clients-heading h2{color:#fff!important}.clients-heading p{color:#8da5b9!important}
.client-card{background:linear-gradient(180deg,#09192b,#061321)!important;border:1px solid rgba(69,145,220,.20)!important;box-shadow:none!important}.client-card img{filter:none!important;background:#fff;border-radius:8px;padding:6px}
.bi-section,.integrations-section,.about{background:#06111e!important}.footwear-specialty{background:radial-gradient(circle at 75% 15%,rgba(22,122,255,.12),transparent 28%),linear-gradient(180deg,#030c18,#06172a)!important}
.footwear-main,.footwear-mini{border-color:rgba(55,145,235,.22)!important}.about-copy p{color:#92a9bc}.cta{background:radial-gradient(circle at 85% 50%,rgba(24,217,255,.22),transparent 30%),linear-gradient(90deg,#0b2f68,#0a63c5)!important}
footer{background:#020914!important;border-top:1px solid rgba(57,133,211,.18)}
@media(max-width:960px){.hero-premium-grid{grid-template-columns:1fr}.hero-visual{min-height:390px}.hero-premium{padding-top:70px}}
@media(max-width:720px){.hero-premium-copy h1{font-size:58px}.hero-visual{min-height:320px}.hero-logo-core{width:300px}.orbit-a{width:300px;height:120px}.orbit-b{width:360px;height:150px}.trust-strip-inner{flex-direction:column;align-items:flex-start;padding:20px 0}}
@media(max-width:520px){.hero-premium-copy h1{font-size:47px}.hero-premium-copy p{font-size:16px}.hero-actions{flex-direction:column}.hero-primary,.hero-secondary{width:100%}}

/* V16 - Nuevo logotipo premium ORTISOFT */
.brand-logo{
  background:transparent!important;
  padding:0!important;
  height:60px!important;
  display:flex!important;
  align-items:center!important;
}
.brand-logo img{
  height:52px!important;
  width:auto!important;
  max-width:270px!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}

/* Portada: usar el nuevo logotipo sin caja blanca */
.hero-logo-core img{
  width:88%!important;
  max-width:420px!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:0 0 55px rgba(39,135,255,.18)!important;
}

/* Footer */
.footer-brand img{
  width:245px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  margin-bottom:10px!important;
}

/* Si el logo aparece sobre fondos oscuros, mantener integración visual */
.nav .brand-logo img,
footer .footer-brand img{
  filter:none!important;
}

@media(max-width:720px){
  .brand-logo{
    height:54px!important;
    max-width:230px!important;
  }
  .brand-logo img{
    max-width:220px!important;
    height:46px!important;
  }
  .hero-logo-core img{
    max-width:300px!important;
  }
}


/* V17 RESPONSIVE PC / TABLET / MOVIL */
html{scroll-padding-top:90px}
body{overflow-x:hidden}
img,svg{max-width:100%}
.container{width:min(1180px,calc(100% - 40px))}

.floating-whatsapp{
  position:fixed;right:20px;bottom:20px;z-index:80;
  display:flex;align-items:center;gap:9px;
  padding:10px 14px 10px 10px;border-radius:999px;
  background:rgba(7,22,18,.96);
  border:1px solid rgba(37,211,102,.42);
  color:#fff;font-size:12px;font-weight:800;
  box-shadow:0 14px 36px rgba(0,0,0,.35);
  backdrop-filter:blur(12px)
}
.floating-whatsapp svg{width:28px;height:28px;flex:0 0 28px}

@media (min-width:1101px){
  .hero-premium-grid{min-height:560px}
  .clients-grid{grid-template-columns:repeat(5,1fr)!important}
  .dashboard-showcase{grid-template-columns:repeat(2,1fr)!important}
  .real-work-grid{grid-template-columns:repeat(2,1fr)!important}
  .footwear-showcase{grid-template-columns:1.45fr 1fr 1fr!important}
}

@media (min-width:721px) and (max-width:1100px){
  .container{width:min(calc(100% - 32px),980px)}
  .nav-inner{height:70px}
  .menu{gap:18px;font-size:13px}
  .hero-premium{padding:72px 0 58px!important;min-height:auto!important}
  .hero-premium-grid{grid-template-columns:1.05fr .95fr!important;gap:28px!important}
  .hero-premium-copy h1{font-size:clamp(46px,6vw,64px)!important}
  .hero-premium-copy p{font-size:16px!important}
  .hero-visual{min-height:390px!important}
  .hero-logo-core{width:min(340px,85%)!important}
  .cards{grid-template-columns:repeat(2,1fr)!important}
  .clients-grid{grid-template-columns:repeat(4,1fr)!important}
  .integration-grid,.industry-grid{grid-template-columns:repeat(2,1fr)!important}
  .dashboard-showcase{grid-template-columns:1fr 1fr!important}
  .footwear-showcase{grid-template-columns:1fr 1fr!important}
  .footwear-main{grid-column:1/-1!important}
}

@media (max-width:720px){
  html{scroll-padding-top:72px}
  .container{width:calc(100% - 28px)!important}
  .nav-inner{height:68px!important}
  .brand-logo{max-width:200px!important;height:52px!important}
  .brand-logo img{max-width:195px!important;height:44px!important}

  .menu-btn{
    width:42px;height:42px;border-radius:12px;
    display:grid!important;place-items:center;
    background:rgba(255,255,255,.05)!important;
    border:1px solid rgba(255,255,255,.08)!important
  }
  .menu{
    top:68px!important;max-height:calc(100vh - 68px);overflow:auto;
    gap:5px!important;padding:12px 14px 20px!important;
    background:rgba(3,11,22,.98)!important;backdrop-filter:blur(16px)
  }
  .menu a{padding:12px 10px;border-radius:10px}

  .hero-premium{min-height:auto!important;padding:54px 0 42px!important}
  .hero-premium-grid{display:flex!important;flex-direction:column!important;gap:22px!important}
  .hero-premium-copy{order:1}
  .hero-premium-copy h1{
    font-size:clamp(42px,13vw,58px)!important;
    line-height:.98!important;margin:14px 0 18px!important
  }
  .hero-premium-copy p{font-size:15px!important;line-height:1.65!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:24px!important}
  .hero-primary,.hero-secondary{width:100%!important;min-width:0!important;min-height:50px!important}
  .hero-feature-row{display:grid!important;grid-template-columns:1fr 1fr;gap:12px 14px!important;margin-top:24px!important}
  .hero-feature-row span{font-size:11px}
  .hero-visual{order:2;min-height:270px!important}
  .hero-logo-core{width:260px!important}
  .hero-logo-core img{width:90%!important;max-width:250px!important}
  .orbit-a{width:265px!important;height:95px!important;bottom:46px!important}
  .orbit-b{width:310px!important;height:125px!important;bottom:28px!important}

  .trust-strip-inner{min-height:auto!important;padding:18px 0!important}
  .section,.clients-section,.footwear-specialty{padding:68px 0!important}
  .section-heading,.clients-heading,.footwear-head{margin-bottom:28px!important}
  .section-heading h2,.clients-heading h2,.footwear-head h2,.split h2{
    font-size:clamp(32px,10vw,44px)!important;line-height:1.05!important
  }
  .section-heading p,.clients-heading p,.footwear-head p,.lead,.about-copy{font-size:15px!important}

  .cards,.integration-grid,.industry-grid,.split{grid-template-columns:1fr!important}
  .cards{gap:13px!important}
  .card{min-height:0!important;padding:22px!important}
  .card h3{margin-top:28px!important}

  .mobile-scroll{
    display:flex!important;overflow-x:auto!important;gap:12px!important;
    scroll-snap-type:x mandatory;scroll-padding-left:2px;padding-bottom:10px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .mobile-scroll::-webkit-scrollbar{display:none}
  .mobile-scroll>*{scroll-snap-align:start;flex:0 0 84%;min-width:84%}

  .clients-grid.mobile-scroll>.client-card{
    flex-basis:58%!important;min-width:58%!important;min-height:108px!important
  }
  .client-card img{max-width:170px!important;max-height:68px!important}

  .dashboards-scroll>.dashboard-card{flex-basis:92%!important;min-width:92%!important}
  .dashboard-card{min-height:315px!important}
  .dash-kpis{grid-template-columns:repeat(3,1fr)!important;gap:7px!important}
  .dash-kpis strong{font-size:16px!important}

  .works-scroll>.work-card{flex-basis:92%!important;min-width:92%!important}
  .ia-real-gallery{grid-template-columns:1fr!important}

  .footwear-flow{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:24px 0 30px!important}
  .footwear-flow b{display:none!important}
  .footwear-flow span{text-align:left;padding:11px 14px!important}
  .footwear-scroll>*{flex-basis:92%!important;min-width:92%!important}
  .footwear-main,.footwear-mini{grid-column:auto!important;grid-row:auto!important}
  .footwear-proof{align-items:flex-start!important;text-align:left!important}

  .cta{padding:58px 0!important}
  .cta-inner{display:block!important}
  .cta-actions,.contact-grid{
    width:100%!important;min-width:0!important;grid-template-columns:1fr!important;margin-top:24px
  }
  .contact-block{padding:18px!important}

  footer{padding:28px 0 84px!important}
  .footer-inner{gap:20px!important}
  .footer-brand img{width:220px!important}

  .floating-whatsapp{
    right:14px;bottom:max(14px,env(safe-area-inset-bottom));
    padding:9px;width:50px;height:50px;justify-content:center;border-radius:50%
  }
  .floating-whatsapp span{display:none}
  .floating-whatsapp svg{width:30px;height:30px}
}

@media (max-width:390px){
  .container{width:calc(100% - 22px)!important}
  .hero-premium-copy h1{font-size:40px!important}
  .hero-feature-row{grid-template-columns:1fr!important}
  .clients-grid.mobile-scroll>.client-card{flex-basis:72%!important;min-width:72%!important}
}


/* =========================
   V19 CORPORATIVA + SEO UI
   ========================= */

/* Evita empalmes del hero en PC y móvil */
.hero-safe{
  padding-top:132px!important;
}
.hero-safe .hero-premium-copy{
  position:relative;
  z-index:5;
}
.hero-safe .hero-premium-copy h1{
  margin-top:22px!important;
}
@media(max-width:960px){
  .hero-safe{padding-top:112px!important}
}
@media(max-width:720px){
  .hero-safe{padding-top:100px!important}
  .hero-safe .hero-premium-copy h1{
    margin-top:14px!important;
  }
}

/* Equipo */
.team-section{
  background:
    radial-gradient(circle at 50% 0%,rgba(31,119,255,.10),transparent 28%),
    linear-gradient(180deg,#06111e 0%,#04101c 100%)!important;
}
.team-heading{
  max-width:850px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.team-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:38px;
}
.team-card{
  padding:26px 18px;
  border:1px solid rgba(67,151,235,.20);
  border-radius:20px;
  background:linear-gradient(180deg,#0a1b2e,#071421);
  text-align:center;
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}
.team-avatar{
  width:80px;
  height:80px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.17),transparent 28%),
    linear-gradient(135deg,#1855c7,#20c9ee);
  color:#fff;
  font-size:23px;
  font-weight:900;
  letter-spacing:.04em;
  border:1px solid rgba(112,206,255,.30);
  box-shadow:0 0 30px rgba(34,140,255,.18);
}
.team-card h3{
  color:#fff;
  font-size:17px;
  margin:0 0 7px;
  line-height:1.25;
}
.team-card strong{
  display:block;
  color:#46bfff;
  font-size:12px;
  line-height:1.4;
  min-height:34px;
}
.team-card p{
  color:#8ea7bb;
  font-size:12px;
  line-height:1.58;
  margin:12px 0 0;
}
@media(max-width:1050px){
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .team-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){
  .team-grid{grid-template-columns:1fr}
  .team-card{max-width:350px;width:100%;margin:auto}
}

/* Contacto por correo */
.contact-block a[href^="mailto:"]{
  display:flex!important;
  align-items:center;
  gap:9px;
}
.mail-svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
  color:#45bfff;
  filter:drop-shadow(0 2px 5px rgba(35,156,255,.18));
}
