.cs-sec{padding:96px 0; scroll-margin-top:150px;}
.cs-sec--plain{background:#fff;}
.cs-sec--mist{background:var(--mist); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.cs-head{max-width:680px; margin:0 auto 52px; text-align:center;}
.cs-head .eyebrow{color:var(--teal);}
.cs-head h2{font-size:clamp(1.75rem,3vw,2.35rem); color:var(--navy); margin-top:10px; line-height:1.18;}
.cs-head p{color:var(--steel); margin-top:16px; line-height:1.72; font-size:1rem;}
.cs-head h2,
.cs-head p,
.cs-cta h2,
.cs-principle p,
.cs-result span,
.cs-figure-label{text-wrap:balance;}
.cs-cta p,
.cs-note,
.cs-results-close{text-wrap:pretty;}
.cs-faces{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.cs-face{border-radius:20px; padding:42px 38px; position:relative; overflow:hidden;}
.cs-face--dark{background-color:var(--brand-navy); background-image:var(--ph-gradient); color:#fff;}
.cs-face--light{background:var(--mist); border:1px solid var(--line);}
.cs-face > :not(.hero-particles){position:relative; z-index:2;}
.cs-face-num{
  width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1.02rem; margin-bottom:20px;
}
.cs-face--dark .cs-face-num{background:var(--brand-blue); color:var(--navy);}
.cs-face--light .cs-face-num{background:var(--navy); color:#fff;}
.cs-face-tag{font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; display:block; margin-bottom:8px;}
.cs-face--dark .cs-face-tag{color:var(--teal-light);}
.cs-face--light .cs-face-tag{color:var(--teal);}
.cs-face h3{font-size:1.4rem; line-height:1.28; margin-bottom:14px;}
.cs-face--dark h3{color:#fff;}
.cs-face--light h3{color:var(--navy);}
.cs-face p{font-size:.96rem; line-height:1.68; margin:0;}
.cs-face--dark p{color:#cbd5e1;}
.cs-face--light p{color:var(--steel);}
.cs-principle{
  margin-top:24px; border-radius:20px; padding:40px 38px; text-align:center;
  background-color:var(--brand-navy); background-image:var(--ph-gradient);
  position:relative; overflow:hidden;
}
.cs-principle > :not(.hero-particles){position:relative; z-index:2;}
.cs-principle span{
  display:block; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  font-weight:700; color:var(--teal-light); margin-bottom:12px;
}
.cs-principle p{
  font-size:clamp(1.05rem,1.9vw,1.3rem); line-height:1.5; color:#fff;
  font-style:italic; max-width:44rem; margin:0 auto;
}
.cs-pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.cs-pillar{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px 24px 26px;
  position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cs-pillar::before{
  content:''; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--teal),var(--teal-light));
  transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
.cs-pillar:hover{transform:translateY(-8px); box-shadow:0 24px 44px -18px rgba(8,12,65,.35); border-color:var(--teal);}
.cs-pillar:hover::before{transform:scaleX(1);}
.cs-pillar-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px;}
.cs-pillar-icon{
  width:42px; height:42px; border-radius:12px; background:var(--navy); color:var(--teal-light);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.cs-pillar-icon svg{width:19px; height:19px;}
.cs-pillar-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.45rem; color:var(--line);}
.cs-pillar h3{font-size:1rem; color:var(--navy); line-height:1.3; margin-bottom:8px;}
.cs-pillar p{font-size:.85rem; color:var(--steel); line-height:1.58; margin:0;}
.cs-pillar p{hyphenate-limit-chars:5 2 2;}
.cs-results{
  margin-top:32px; border-radius:20px; padding:44px 40px;
  background-color:var(--brand-navy); background-image:var(--ph-gradient);
  position:relative; overflow:hidden;
}
.cs-results > :not(.hero-particles){position:relative; z-index:2;}
.cs-results h3{font-size:1.2rem; color:#fff; text-align:center; line-height:1.3;}
.cs-results-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:30px 0 26px;}
.cs-result{text-align:center; padding:0 20px; position:relative;}
.cs-result:not(:last-child)::after{content:''; position:absolute; right:0; top:4px; bottom:4px; width:1px; background:rgba(255,255,255,.16);}
.cs-result b{display:block; font-family:'Poppins',sans-serif; font-size:1.1rem; font-weight:700; color:var(--teal-light); line-height:1.3; margin-bottom:8px;}
.cs-result span{display:block; font-size:.86rem; color:#cbd5e1; line-height:1.55;}
.cs-results-close{text-align:center; font-size:.94rem; line-height:1.68; color:#dbe6ec; max-width:48rem; margin:0 auto;}
.cs-figures{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:44px;}
.cs-figure{text-align:center; padding:32px 20px; border-radius:16px; background:var(--mist); border:1px solid var(--line);}
.cs-figure-num{
  font-family:'Poppins',sans-serif; font-weight:800; letter-spacing:-.02em; line-height:1;
  font-size:clamp(1.9rem,3.2vw,2.5rem); color:var(--teal);
}
.cs-figure-label{margin-top:12px; font-size:.82rem; color:var(--steel); line-height:1.5;}

.cs-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.cs-card{
  display:flex; gap:18px; padding:26px; border-radius:16px;
  border:1px solid var(--line); background:#fff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cs-card:hover{transform:translateY(-4px); box-shadow:0 20px 38px -20px rgba(8,12,65,.35); border-color:var(--teal);}
.cs-card-icon{
  width:44px; height:44px; min-width:44px; border-radius:12px; background:var(--navy); color:var(--teal-light);
  display:flex; align-items:center; justify-content:center;
}
.cs-card-icon svg{width:20px; height:20px;}
.cs-card h3{font-size:1rem; color:var(--navy); margin-bottom:7px; line-height:1.3;}
.cs-card p{font-size:.88rem; color:var(--steel); line-height:1.62; margin:0;}
.cs-note{max-width:48rem; margin:32px auto 0; text-align:center; font-size:.94rem; line-height:1.72; color:var(--steel);}
.cs-links{margin-top:32px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center;}
.cs-link{
  display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:30px;
  border:1.5px solid var(--line); color:var(--navy); font-size:.88rem; font-weight:600;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.cs-link svg{width:15px; height:15px;}
.cs-link:hover{background:var(--teal); border-color:var(--teal); color:#fff;}
.cs-sec .photo-gallery{margin:0;}
.cs-sec .photo-gallery img{height:300px;}
.cs-cta{
  padding:88px 0; position:relative; overflow:hidden;
  background-color:var(--brand-navy); background-image:var(--ph-gradient);
}
.cs-cta .container{position:relative; z-index:2;}
.cs-cta-inner{max-width:720px; margin:0 auto; text-align:center;}
.cs-cta h2{font-size:clamp(1.6rem,2.8vw,2.15rem); color:#fff; line-height:1.24;}
.cs-cta p{color:#dbe6ec; font-size:1rem; line-height:1.72; margin:18px auto 28px; max-width:44rem;}
.cs-cta-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
.cs-cta .lema{
  display:block; margin-top:30px; font-family:'Poppins',sans-serif; font-size:.72rem;
  font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--teal-light);
}
.cs-face .hero-particles,
.cs-principle .hero-particles,
.cs-results .hero-particles,
.cs-cta .hero-particles{position:absolute; inset:0; z-index:1; pointer-events:none;}
.cs-face .particle,
.cs-principle .particle,
.cs-results .particle{--rise:420px;}
@media (max-width:980px){
  .cs-sec{padding:72px 0;}
  .cs-head{margin-bottom:40px;}
  .cs-faces{grid-template-columns:1fr;}
  .cs-pillars{grid-template-columns:1fr 1fr;}
  .cs-figures{grid-template-columns:1fr 1fr;}
  .cs-cards{grid-template-columns:1fr;}
  .cs-results-grid{grid-template-columns:1fr; gap:26px;}
  .cs-result{padding:0;}
  .cs-result:not(:last-child)::after{right:auto; left:15%; width:70%; top:auto; bottom:-13px; height:1px;}
  .cs-sec .photo-gallery img{height:250px;}
}
@media (max-width:640px){
  .cs-sec{padding:56px 0;}
  .cs-face{padding:32px 24px;}
  .cs-principle{padding:32px 22px;}
  .cs-results{padding:34px 22px;}
  .cs-pillars{grid-template-columns:1fr;}
  .cs-figures{grid-template-columns:1fr;}
  .cs-card{flex-direction:column; gap:14px;}
  .cs-cta{padding:64px 0;}
}
