
/* PLATFORM v15 — composición limpia; todos los textos permanecen en HTML. */
.platform-page{--plat-max:var(--max)}
.platform-page .container{width:min(calc(100% - 48px),var(--plat-max))}
.platform-page .header-inner{min-height:104px;grid-template-columns:128px 1fr auto;gap:34px}
.platform-page .brand{width:92px;height:96px}.platform-page .brand img{width:82px;height:auto;max-height:92px}
.platform-page .main-nav{gap:38px;font-size:14px}.platform-page .header-cta{min-height:48px;font-size:14px;padding-inline:22px}

.plat-hero{padding:42px 0 38px;border-bottom:1px solid #e2eaf3}
.plat-hero-grid{display:grid;grid-template-columns:.44fr .56fr;gap:28px;align-items:center;min-height:420px}
.plat-hero .eyebrow{font-size:12px;font-weight:900;color:#0c59c7;letter-spacing:.02em;margin:0 0 14px}
.plat-hero h1{font-size:clamp(52px,5vw,68px);line-height:1.04;max-width:530px;margin:0 0 18px;color:#082f73}
.plat-hero .lead{font-size:16px;line-height:1.58;max-width:515px;color:#40536c;margin:0 0 18px}
.hero-checks{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px}
.hero-checks li{position:relative;padding-left:25px;font-size:13px;font-weight:750;color:#173a68}
.hero-checks li:before{content:"✓";position:absolute;left:0;top:-1px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#0c59c7;color:#fff;font-size:10px}

.hero-map{position:relative;min-height:420px;overflow:visible}
.hero-stack{position:absolute;left:50%;top:44%;width:310px;height:auto;transform:translate(-50%,-50%);z-index:2}
.hero-node{position:absolute;display:flex;align-items:flex-start;gap:9px;width:205px;color:#0b2f64;z-index:4}
.hero-node img{width:42px;height:42px;flex:0 0 42px}
.hero-node strong{display:block;font-size:14px;line-height:1.1;margin:2px 0 4px}
.hero-node span{display:block;font-size:11px;line-height:1.45;color:#40536c}
.hero-node-intelligence{left:2%;top:5%}.hero-node-apps{right:0;top:6%}.hero-node-data{left:0;top:39%}.hero-node-integration{right:-1%;top:39%}.hero-node-infrastructure{left:42%;bottom:0;width:235px}
.hero-line{position:absolute;z-index:1;border-top:1.5px dashed #8ab2e5}
.line-i{left:17%;top:24%;width:24%}.line-a{right:17%;top:24%;width:24%}.line-d{left:17%;top:51%;width:22%}.line-g{right:17%;top:51%;width:22%}.line-f{left:50%;top:67%;height:21%;border-top:0;border-left:1.5px dashed #8ab2e5}

.plat-capabilities{padding:32px 0 38px;background:#fbfdff}
.platform-page h2{color:#082f73}.plat-capabilities h2,.plat-tech h2{font-size:28px;text-align:center;margin:0 0 24px}
.cap-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.cap-grid article{min-height:225px;padding:18px 12px;background:#fff;border:1px solid #dbe5f1;border-radius:12px;box-shadow:0 5px 18px rgba(9,54,112,.06);display:flex;flex-direction:column;align-items:center;text-align:center}
.cap-grid img{width:58px;height:58px;object-fit:contain;margin:0 auto 11px}
.cap-grid h3{font-size:15px;line-height:1.17;margin:0 0 9px;color:#082f73}
.cap-grid p{font-size:11.5px;line-height:1.48;color:#40536c;margin:0}

.plat-tech{padding:26px 0 28px}
.plat-tech-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.plat-tech-grid article{text-align:center;min-height:150px;padding:8px 16px;border-right:1px solid #dce5ef}
.plat-tech-grid article:last-child{border-right:0}
.plat-tech-grid img{width:50px;height:50px;object-fit:contain;margin:0 auto 10px}
.plat-tech-grid h3{font-size:14px;line-height:1.15;color:#082f73;margin:0 0 8px}
.plat-tech-grid p{font-size:11px;line-height:1.45;color:#40536c;margin:0}

.plat-deep{padding:12px 0 22px}
.deep-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.integration-card,.security-card{min-height:310px;border:1px solid #e0e9f3;border-radius:16px;padding:22px;background:linear-gradient(135deg,#f4f9ff,#fbfdff)}
.security-card{background:linear-gradient(135deg,#f5fbff,#eefaf8)}
.integration-card h2,.security-card h2{font-size:23px;margin:0 0 8px}
.integration-card>p,.security-card>p{font-size:11.5px;line-height:1.5;color:#40536c;margin:0}
.integration-visual{position:relative;margin-top:12px;height:225px}
.integration-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.integration-visual .labels{position:absolute;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);text-align:center;gap:5px;font-size:9px;font-weight:800;color:#0b2f64}
.integration-top{top:56px}.integration-bottom{bottom:2px}
.platform-label{position:absolute;left:50%;top:122px;transform:translateX(-50%);font-size:15px;color:#0c59c7;white-space:nowrap}

.security-card ul{list-style:none;padding:0;margin:14px 0 16px;display:grid;gap:8px}
.security-card li{position:relative;padding-left:23px;font-size:11.5px;color:#2f4869}
.security-card li:before{content:"✓";position:absolute;left:0;color:#0c59c7;font-weight:900}
.trust-seals{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px}
.trust-seals span{width:86px;height:86px;border:1px solid #9fc3eb;border-radius:50%;display:grid;place-items:center;align-content:center;background:#fff;text-align:center;color:#0b4fa9}
.trust-seals img{width:28px;height:28px;margin-bottom:3px}.trust-seals b{font-size:9px;line-height:1}.trust-seals small{font-size:8px;color:#55708f}

.plat-cta{padding:24px 0;background:linear-gradient(105deg,#07387d,#07316d)}
.plat-cta .final-cta-inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:32px}
.plat-cta h2{font-size:28px;margin:0 0 5px}.plat-cta p{font-size:12px;line-height:1.45;margin:0}.plat-cta .btn{min-height:44px;font-size:13px}.plat-cta .email-link{font-size:12px}

.platform-page .sol-footer{padding:48px 0 20px}
.platform-page .sol-footer .footer-grid{grid-template-columns:1.3fr 1.2fr 1.2fr .8fr 1.15fr;gap:22px}
.platform-page .sol-footer .footer-brand img{width:78px;height:auto}.platform-page .sol-footer h3{font-size:12px}.platform-page .sol-footer a,.platform-page .sol-footer strong{font-size:12.5px}.platform-page .sol-footer .footer-bottom{font-size:12px}

@media(min-width:900px){.platform-page .main-nav{display:flex;position:static;background:transparent;border:0;padding:0;flex-direction:row}.platform-page .menu-toggle{display:none}}

@media(max-width:899px){
 .platform-page .container{width:min(calc(100% - 28px),var(--plat-max))}
 .platform-page .header-inner{min-height:84px;grid-template-columns:84px 1fr auto}
 .platform-page .brand{width:70px;height:78px}.platform-page .brand img{width:62px;max-height:76px}
 .plat-hero-grid,.deep-grid,.plat-cta .final-cta-inner{grid-template-columns:1fr}
 .plat-hero h1{font-size:46px}.hero-map{min-height:470px;max-width:720px;margin-inline:auto}
 .cap-grid{grid-template-columns:repeat(2,1fr)}
 .plat-tech-grid{grid-template-columns:repeat(2,1fr);row-gap:22px}.plat-tech-grid article:nth-child(even){border-right:0}
 .platform-page .sol-footer .footer-grid{grid-template-columns:1fr 1fr}.platform-page .sol-footer .footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
 .plat-hero{padding-top:28px}.plat-hero h1{font-size:40px}.plat-hero .lead{font-size:14px}
 .hero-map{min-height:610px}.hero-stack{top:43%;width:260px}
 .hero-node{width:170px}.hero-node span{font-size:10px}.hero-node img{width:36px;height:36px;flex-basis:36px}
 .hero-node-intelligence{left:0}.hero-node-apps{right:0}.hero-node-data{left:0;top:35%}.hero-node-integration{right:0;top:35%}.hero-node-infrastructure{left:30%;bottom:4%;width:200px}
 .cap-grid,.plat-tech-grid{grid-template-columns:1fr}.plat-tech-grid article{border-right:0;border-bottom:1px solid #e1e8f0;padding:16px}
 .integration-visual{height:260px}.integration-visual .labels{font-size:7.5px}.platform-label{font-size:12px}
}


/* PLATFORM v16 — auditoría visual: central hero and integration diagram are canonical images from approved mockup. */
.hero-stack-approved{
  width:260px !important;
  height:230px !important;
  object-fit:contain;
  image-rendering:auto;
  filter:none;
}
.integration-visual-approved{
  height:auto !important;
  min-height:0 !important;
  margin-top:18px;
}
.integration-visual-approved>img{
  position:static !important;
  display:block;
  width:100%;
  max-width:495px;
  height:auto !important;
  margin:0 auto;
  object-fit:contain !important;
}
.integration-visual-approved .labels,
.integration-visual-approved .platform-label{display:none !important;}

@media(min-width:900px){
  .hero-stack-approved{width:260px !important;height:230px !important;}
}
@media(max-width:620px){
  .hero-stack-approved{width:230px !important;height:auto !important;}
  .integration-visual-approved>img{max-width:100%;}
}

/* PLATFORM v16.1 — final correction after visual audit */
.hero-stack-approved{
  width:220px !important;
  height:195px !important;
}
.hero-map .hero-line{display:none !important;}
.hero-node-intelligence{left:3%;top:8%}
.hero-node-apps{right:1%;top:8%}
.hero-node-data{left:0;top:40%}
.hero-node-integration{right:0;top:40%}
.hero-node-infrastructure{left:41%;bottom:2%}
.integration-visual-approved>img{
  width:495px !important;
  max-width:100% !important;
  height:215px !important;
}
@media(max-width:620px){
  .hero-stack-approved{width:220px !important;height:195px !important;}
  .integration-visual-approved>img{width:100% !important;height:auto !important;}
}


/* PLATFORM v17 — hero visual atómico generado desde la maqueta aprobada. */
.hero-map-v17{
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.platform-hero-complete{
  display:block;
  width:100%;
  max-width:650px;
  height:auto;
  object-fit:contain;
  image-rendering:auto;
}
@media(max-width:899px){
  .hero-map-v17{min-height:0;margin-top:12px}
  .platform-hero-complete{max-width:720px}
}
@media(max-width:620px){
  .hero-map-v17{min-height:0}
  .platform-hero-complete{width:100%;max-width:100%}
}
