/* COM · Jerarquía de soluciones IIOS y tipografía resistente a recortes.
   Solo CSS estático: no filtros SVG, no JS adicional, no parallax nuevo. */

/* Solución definitiva: los textos pueden ocupar sus columnas y romper línea;
   el PNG del hero conserva su transparencia y máscara de bordes. */
.pc-hero .pc-container{min-width:0;max-width:100%}
.pc-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);
  gap:clamp(16px,3vw,46px);
  align-items:center;
  min-height:0;
}
.pc-hero__grid > *{min-width:0;max-width:100%}
.pc-hero__text{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  width:100%;
  overflow:visible;
  padding:clamp(18px,3vw,45px) 0 clamp(15px,2vw,30px) clamp(0px,1.5vw,19px);
}
.pc-hero h1{
  display:block;
  max-width:100%;
  width:100%;
  font-size:clamp(34px,5.1vw,74px);
  line-height:1.085;
  letter-spacing:-.058em;
  white-space:normal!important;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:break-word;
}
.pc-hero h1 span{display:inline}
.pc-hero__subtitle,.pc-hero__copy,.pc-hero__modernization,
.pc-hero__solution-link,.pc-hero__benefits{
  max-width:100%;
  min-width:0;
  white-space:normal;
  overflow-wrap:break-word;
}
.pc-hero__solution-link{align-items:center;flex-wrap:wrap}
.pc-hero__benefits{flex-wrap:wrap;gap:6px}
.pc-hero__benefits span{flex:0 1 auto;max-width:190px;white-space:normal;min-width:0}
.pc-sculpture{max-width:100%;min-width:0}
.pc-photo{object-fit:contain}

/* La portada del catálogo ya no es un mosaico uniforme. */
.pc-solutions{padding:clamp(57px,7vw,105px) 0 clamp(60px,7vw,94px)}
.pc-solutions .pc-container{min-width:0;max-width:100%}
.pc-solutions__head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  column-gap:clamp(32px,5vw,95px);
  align-items:end;
  margin:0 0 30px;
}
.pc-solutions__head > *, .pc-solutions__headline{min-width:0;max-width:100%}
.pc-solutions h2{
  max-width:100%;
  font-size:clamp(35px,4.45vw,65px);
  letter-spacing:-.048em;
  line-height:1.12;
  text-wrap:balance;
  white-space:normal!important;
  overflow-wrap:break-word;
  word-break:normal;
}
.pc-solutions h2 span{display:block;margin-top:5px;color:#d5f9a4}
.pc-solutions__intro{
  max-width:460px;
  min-width:0;
  color:#d8e9df;
  font-size:clamp(14px,1.25vw,17px);
  line-height:1.7;
  margin:0 0 5px;
}
.pc-solutions__eyebrow{margin-bottom:19px;letter-spacing:.18em}

/* Una sola banda narrativa con tres beneficios, no tres tarjetas repetidas. */
.pc-solutions__pillars{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border:1px solid rgba(220,255,201,.28);
  background:linear-gradient(105deg,rgba(198,248,164,.13),rgba(242,255,240,.045) 65%);
  border-radius:24px;
  margin:0 0 clamp(54px,6.4vw,91px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 18px 32px rgba(0,18,14,.15);
}
.pc-solutions__pillar{
  display:flex;
  gap:19px;
  align-items:flex-start;
  padding:clamp(19px,2.5vw,34px);
  min-width:0;
}
.pc-solutions__pillar:not(:last-child){border-right:1px solid rgba(221,255,211,.22)}
.pc-sector-icon{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:53px;height:53px;border-radius:17px;
  color:#dfffaf;background:linear-gradient(144deg,rgba(218,250,175,.18),rgba(182,230,202,.06));
  border:1px solid rgba(216,255,199,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.19);
}
.pc-sector-icon svg{
  display:block;width:27px;height:27px;
  stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;
}
.pc-solutions__pillar-label{
  display:block;color:#bcef8f;font-size:10px;font-weight:900;
  letter-spacing:.14em;line-height:1.4;margin-bottom:8px;
}
.pc-solutions__pillar h3{
  font-size:clamp(18px,1.8vw,25px);line-height:1.17;letter-spacing:-.043em;
  font-weight:850;color:#fff;margin:0 0 8px;
}
.pc-solutions__pillar p{color:#d4e7db;font-size:13px;line-height:1.6;margin:0}

/* Cabezal de categorías con numeración, divisor y títulos claros. */
.pc-solutions__subhead{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin:0 0 23px;
  border-bottom:1px solid rgba(216,250,209,.25);
  padding-bottom:17px;
}
.pc-solutions__subhead > *{min-width:0}
.pc-solutions__section-kicker{
  display:block;color:#c9f889;letter-spacing:.18em;font-size:10px;font-weight:900;
  margin-bottom:9px;
}
.pc-solutions__subhead h3{
  font-size:clamp(26px,2.6vw,38px);
  line-height:1.15;letter-spacing:-.05em;
  color:#fff;margin:0;
}
.pc-solutions__subhead p{
  max-width:310px;
  text-align:right;
  font-size:13px;
  line-height:1.45;
  color:#b6d9c2;
  margin:0;
  white-space:normal;
}
.pc-solutions__grid--crm{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
}
.pc-solutions__grid--crm>.pc-solutions__card{grid-column:span 4}
.pc-solutions__grid--crm>.pc-solutions__card:nth-child(-n+2){grid-column:span 6}
.pc-solutions__grid--crm>.pc-solutions__card:nth-last-child(-n+2){grid-column:span 6}
.pc-solutions__card{
  display:flex;
  flex-direction:column;
  position:relative;
  min-width:0;
  max-width:100%;
  height:auto;
  min-height:205px;
  gap:0;
  padding:clamp(20px,2vw,29px);
  overflow:visible;
  border-radius:22px;
  border:1px solid rgba(220,255,205,.25);
  background:linear-gradient(140deg,rgba(244,255,241,.12),rgba(224,253,230,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.19),0 12px 25px rgba(0,22,13,.13);
}
.pc-solutions__card::after{display:none}
.pc-solutions__card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  margin-bottom:20px;
}
.pc-solutions__card .pc-sector-icon{
  width:56px;height:56px;
  border-radius:18px;color:#d6ffb3;
  background:linear-gradient(155deg,rgba(211,251,178,.2),rgba(246,255,233,.06));
}
.pc-solutions__card .pc-sector-icon svg{width:30px;height:30px}
.pc-solutions__category{
  padding:7px 10px;
  border:1px solid rgba(221,255,191,.22);
  border-radius:100px;
  color:#d3fba5;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.085em;
  text-transform:uppercase;
  text-align:right;
}
.pc-solutions__card h4{
  color:#fff;
  max-width:100%;
  font-size:clamp(20px,1.75vw,26px);
  font-weight:850;
  letter-spacing:-.035em;
  line-height:1.24;
  margin:0 0 10px;
  white-space:normal;
  overflow-wrap:break-word;
}
.pc-solutions__card p{
  color:#d9ebdb;
  max-width:100%;
  font-size:14px;
  line-height:1.65;
  margin:0;
  white-space:normal;
  overflow-wrap:break-word;
}
.pc-solutions__card--featured{
  min-height:278px;
  padding:clamp(23px,2.8vw,38px);
  background:linear-gradient(135deg,#e7f7d8 0%,#eaf5e3 54%,#cde7d1 100%);
  border:1px solid rgba(255,255,239,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 17px 37px rgba(0,14,9,.26);
}
.pc-solutions__card--featured:nth-child(2){
  background:linear-gradient(142deg,#d4ebdf 0%,#e8f1e3 57%,#b9dbcd 100%);
}
.pc-solutions__card--featured h4{
  color:#093f30;
  font-size:clamp(25px,2.3vw,34px);
  margin-bottom:10px;
  line-height:1.17;
}
.pc-solutions__card--featured p{
  color:#315a48;
  font-size:clamp(14px,1.2vw,16px);
  max-width:520px;
}
.pc-solutions__card--featured .pc-sector-icon{
  background:rgba(17,96,58,.11);
  border-color:rgba(23,97,55,.15);
  color:#07603e;
  width:67px;height:67px;
}
.pc-solutions__card--featured .pc-sector-icon svg{width:36px;height:36px}
.pc-solutions__card--featured .pc-solutions__category{
  color:#236344;
  background:rgba(255,255,255,.48);
  border-color:rgba(30,111,64,.17);
}
.pc-solutions__chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:19px;
}
.pc-solutions__chips span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:99px;
  color:#255d40;
  background:rgba(255,255,255,.63);
  border:1px solid rgba(38,103,65,.13);
  font-size:11px;
  font-weight:800;
}
.pc-solutions__systems{
  margin-top:clamp(55px,6.5vw,86px);
  padding-top:clamp(35px,3.6vw,50px);
  border-top:1px solid rgba(197,251,165,.32);
  position:relative;
}
.pc-solutions__systems::before{
  content:"";position:absolute;top:-1px;left:0;width:115px;height:3px;background:#c6f806;border-radius:10px;
}
.pc-solutions__grid--systems{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.pc-solutions__card--suite{
  min-height:236px;
  background:linear-gradient(145deg,rgba(227,255,203,.15),rgba(238,255,229,.045));
  border-top:2px solid rgba(203,250,157,.52);
}
.pc-solutions__card--suite .pc-solutions__category{color:#efffb2}
.pc-solutions__footer{margin-top:clamp(38px,5vw,65px);align-items:center}

/* El contenido largo no queda oculto en pantallas medianas. */
@media(max-width:1120px){
  .pc-solutions__head{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:25px;align-items:start}
  .pc-solutions h2{font-size:clamp(32px,4.45vw,56px)}
  .pc-solutions__pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pc-solutions__pillar{flex-direction:column;gap:13px}
  .pc-solutions__grid--systems{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pc-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
}
@media(max-width:900px){
  .pc-solutions__head{display:block}
  .pc-solutions__intro{margin:16px 0 0;max-width:680px}
  .pc-solutions__grid--crm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pc-solutions__grid--crm>.pc-solutions__card{grid-column:span 1!important}
  .pc-solutions__grid--crm>.pc-solutions__card--featured{min-height:270px}
  .pc-solutions__pillars{grid-template-columns:1fr}
  .pc-solutions__pillar{flex-direction:row}
  .pc-solutions__pillar:not(:last-child){border-right:0;border-bottom:1px solid rgba(221,255,211,.22)}
  .pc-hero h1{font-size:clamp(35px,5.15vw,50px)}
}
@media(max-width:760px){
  .pc-hero__grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .pc-hero__text{width:100%;max-width:100%;padding:16px 3px 12px}
  .pc-hero h1{font-size:clamp(34px,8.5vw,57px)}
  .pc-hero h1 span{display:inline}
  .pc-solutions__subhead{align-items:start;flex-direction:column;gap:8px}
  .pc-solutions__subhead p{text-align:left;max-width:100%}
  .pc-solutions h2{font-size:clamp(34px,7.2vw,53px)}
  .pc-solutions__grid--crm,.pc-solutions__grid--systems{gap:12px}
  .pc-solutions__card{padding:21px;min-height:0}
}
@media(max-width:610px){
  .pc-solutions__grid--crm,.pc-solutions__grid--systems{grid-template-columns:minmax(0,1fr)}
  .pc-solutions__grid--crm>.pc-solutions__card{grid-column:1/-1!important}
  .pc-solutions__card--featured{min-height:0}
  .pc-solutions__card--suite{min-height:0}
  .pc-solutions__pillars{margin-bottom:50px}
  .pc-solutions__card-top{margin-bottom:13px}
  .pc-solutions h2{font-size:clamp(33px,9vw,44px)}
  .pc-hero__benefits{flex-wrap:wrap}
}
@media(max-width:390px){
  .pc-hero h1{font-size:clamp(29px,8vw,38px);letter-spacing:-.06em}
  .pc-hero__modernization{font-size:11px}
  .pc-solutions h2{font-size:clamp(30px,8.6vw,37px)}
  .pc-solutions__pillar{padding:17px;gap:12px}
  .pc-solutions__pillar .pc-sector-icon{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){
  .pc-solutions__card,.pc-solutions__pillar{transition:none!important;animation:none!important}
}

/* Logotipo Inventiva, tamaño discreto sobre el encabezado de soluciones. */
.pc-solutions__mini-brand{display:inline-flex;align-items:center;justify-content:flex-start;max-width:126px;margin:0 0 18px;text-decoration:none!important}
.pc-solutions__mini-brand img{display:block;width:126px;max-width:100%;height:auto;object-fit:contain;opacity:.92}
.pc-solutions__mini-brand:hover img{opacity:1}
@media(max-width:610px){.pc-solutions__mini-brand{margin-bottom:14px}.pc-solutions__mini-brand img{width:111px}}
