
.casos-page{background:#fff}

/* Hero: same reusable hero-lines technique as the home/services heroes, recolored to blue. */
.casos-hero{background:linear-gradient(165deg,#57abf5 0%,#1f79e6 55%,#0d5fd1 100%)}
.casos-hero-copy{position:absolute;top:30%;left:8%;max-width:44%;color:#fff;z-index:2;transform-origin:left center;animation:casos-arrive .85s ease-out both}
.casos-hero .casos-hero-copy h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.1;letter-spacing:-.045em;font-weight:650}
.casos-hero-copy p{font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.5;margin-top:20px;max-width:480px;opacity:.92}
.casos-hero .hero-lines>g>path{fill:none;stroke-width:46;stroke-linecap:butt}
@keyframes casos-arrive{from{opacity:.15;transform:scale(.9)}to{opacity:1;transform:scale(1)}}

/* Historias de impacto */
.stories{border-radius:48px;background:#fff;padding:110px 0 100px;position:relative;margin-top:-1px;z-index:2}
.stories-intro{width:80%;max-width:900px;margin:0 auto 60px}
.stories-intro h2{font-size:clamp(1.9rem,3.4vw,3rem)}
.stories-intro p{color:var(--muted);margin-top:20px;font-size:1.05rem;max-width:760px}
.story-grid{width:85%;max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.story-card{display:block}
.story-thumb{position:relative;aspect-ratio:4/3;border-radius:18px;background:#e6e6e6;color:#9a9a9a;display:flex;align-items:flex-end;justify-content:center;padding:16px;overflow:hidden;transition:transform .3s}
.story-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-card:hover .story-thumb{transform:translateY(-4px)}
.story-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 8px 20px #0002}
.story-play svg{width:18px;height:18px;fill:var(--red);margin-left:3px}
.story-name{display:block;margin-top:16px;color:var(--blue);font-weight:700;font-size:1.05rem}

/* Premios y reconocimientos */
.awards{background:#dcedfb;padding:120px 0 100px;position:relative;overflow:hidden;isolation:isolate}
.awards-ring{position:absolute;top:-260px;left:50%;transform:translateX(-50%);width:900px;height:900px;border-radius:50%;border:60px solid #c3e0f7;opacity:.7;z-index:0;pointer-events:none}
.awards-intro{position:relative;z-index:1;text-align:center;max-width:760px;margin:0 auto 70px}
.awards-intro .eyebrow{color:#4d7ea8}
.awards-intro h2{font-size:clamp(1.9rem,3.2vw,3rem);margin-top:20px}
.awards-intro p{color:#4d7ea8;margin-top:18px;font-size:1.05rem}
.awards-carousel{position:relative;z-index:1;width:85%;max-width:1160px;margin:auto}
.awards-window{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.awards-window::-webkit-scrollbar{display:none}
.awards-track{display:flex;gap:28px}
.award-card{flex:0 0 calc(33.333% - 19px);scroll-snap-align:start;background:#fff;border-radius:20px;padding:34px 28px;display:flex;flex-direction:column;gap:20px;min-height:210px}
.award-badge{height:150px;width:auto;max-width:100%;object-fit:contain;display:block;align-self:flex-start}
.award-badge svg{width:30px;height:30px}
.award-card strong{font-size:1.05rem;line-height:1.3}
.award-card span{color:var(--muted);font-size:.92rem;line-height:1.4}
.awards-dots{display:flex;justify-content:center;gap:12px;margin-top:40px;position:relative;z-index:1}
@media(min-width:901px){.awards-dots{display:none}}
.awards-dots button{width:10px;height:10px;border:0;border-radius:20px;background:#a9cceb;padding:0;transition:width .25s,background .25s;box-sizing:content-box;border:7px solid transparent;background-clip:padding-box}
.awards-dots button[aria-pressed=true]{width:28px;background-color:var(--blue)}

/* Closing statement + clients (reuses .clients from styles.css) */
.casos-statement{padding:110px 0 40px;text-align:center}
.casos-statement h2{font-size:clamp(1.7rem,3vw,2.7rem);max-width:900px;margin:0 auto;font-weight:400;line-height:1.25}
.casos-statement em{color:var(--blue);font-weight:650}
.casos-statement>p{color:var(--muted);margin-top:26px;font-size:1.05rem}
.clients-statement{width:80%;max-width:900px;margin:0 auto 50px;text-align:center}
.clients-statement h2{font-size:clamp(1.9rem,3.4vw,3rem)}
.clients-statement p{color:var(--muted);margin-top:20px;font-size:1.05rem}

@media(max-width:900px){
  .casos-hero-copy{max-width:70%}
  .story-grid{grid-template-columns:repeat(2,1fr);width:88%}
  .award-card{flex:0 0 calc(50% - 14px)}
}
@media(max-width:640px){
  .casos-hero{aspect-ratio:auto;min-height:560px}
  .casos-hero-copy{left:24px;top:26%;max-width:80%}
  .casos-hero .casos-hero-copy h1{font-size:2.6rem}
  .stories{border-radius:30px;padding:65px 0}
  .stories-intro{width:88%}
  .clients-statement{width:88%}
  .story-grid{grid-template-columns:1fr;width:88%;gap:22px}
  .awards{padding:80px 0 70px}
  .awards-ring{width:600px;height:600px;top:-160px}
  .awards-intro{width:88%;margin-bottom:45px}
  .award-card{flex:0 0 100%}
  .awards-carousel{width:88%}
  .casos-statement{padding:70px 0 20px}
}
@media(prefers-reduced-motion:reduce){.casos-hero-copy{animation:none}}

/* Casos de éxito — layout aligned with supplied PDF. */
.casos-page{background:#ff3c2d}
.casos-hero{background:#63bfff}
.casos-hero-copy{top:28%;max-width:43%}
.casos-hero .casos-hero-copy h1{font-size:clamp(38px,4.2vw,62px);max-width:610px;line-height:1.06}
.casos-hero-copy p{font-size:clamp(17px,1.75vw,24px);line-height:1.18;max-width:570px;margin-top:32px;opacity:1}
.casos-page .stories{padding:140px 0;border-radius:48px;margin-bottom:-1px}
.stories-intro{width:84%;max-width:1210px;margin-bottom:60px}
.stories-intro h2{font-size:42px;letter-spacing:-.035em}
.stories-intro p{max-width:none;font-size:24px;line-height:1.3;margin-top:20px}
.story-grid{width:88%;max-width:1260px;gap:12px 16px}
.story-card{border:1px solid #d3d3d3;border-radius:16px;padding:7px;overflow:hidden;background:#fff}
.story-thumb{aspect-ratio:1.87;border-radius:10px;background:#d9d9d9;padding:0}
.story-play{background:none;box-shadow:none;width:60px;height:60px}
.story-play svg{fill:#fff;width:48px;height:48px}
.story-name{font-size:24px;font-weight:400;margin:22px 14px 16px;color:#087cff}
.casos-page .awards{background:#afebfc;margin-top:-48px;padding:255px 0 65px;z-index:1}
.awards-flow{position:absolute;top:0;left:0;width:100%;height:auto;pointer-events:none}
.awards-intro{max-width:1220px;width:86%;margin-bottom:48px}
.awards-intro .eyebrow{color:#161616;font-size:20px}
.awards-intro h2{color:#087cff;font-size:42px;letter-spacing:-.035em}
.awards-intro p{font-size:24px;color:#087cff;line-height:1.25}
.awards-carousel{width:90%;max-width:1300px}
.awards-track{gap:14px}
.award-card{flex:0 0 calc(33.333% - 10px);min-height:320px;border-radius:16px;padding:24px 30px;text-align:center;align-items:center;gap:4px}
.award-badge{height:200px;width:100%;align-self:center;margin-bottom:12px}
.award-card strong{font-size:19px;line-height:1.12}
.award-card span{font-size:19px;line-height:1.1}
.awards-dots{display:flex;margin-top:48px;gap:2px}
.awards-dots button{background-color:transparent;outline:1px solid #087cff;outline-offset:-7px;width:10px;height:10px}
.awards-dots button[aria-pressed=true]{width:10px;background-color:#087cff}
.casos-clients-panel{position:relative;z-index:2;border-radius:48px;background:#fff;overflow:hidden}
.casos-statement{padding:140px 8% 70px}
.casos-statement h2{max-width:1100px;font-size:42px;font-weight:600;line-height:1.1}
.casos-statement>p{max-width:800px;margin:28px auto 0;font-size:24px;color:#202020;line-height:1.25}
.casos-page .clients{padding:0 0 140px}
.casos-page .clients-viewport{margin:30px 0 60px}
.casos-page .client-group{gap:65px;padding-right:65px}
.casos-page .client-list{animation-play-state:paused}
.casos-page .clients.in-view .client-list{animation-play-state:running}
.casos-page .clients-viewport:nth-child(2) .client-list{animation-direction:reverse}
.casos-page .clients-viewport:hover .client-list{animation-play-state:paused}
@media(max-width:900px){.casos-hero-copy{max-width:65%}.story-name{font-size:18px}.stories-intro h2{font-size:32px}.stories-intro p,.awards-intro p,.casos-statement>p{font-size:18px}.award-card{flex-basis:calc(50% - 7px)}.awards-intro h2,.casos-statement h2{font-size:32px}.casos-page .awards{padding-top:190px}}
@media(max-width:640px){.casos-hero-copy{top:24%;max-width:80%}.casos-hero-copy p{font-size:17px;line-height:1.3;margin-top:22px}.casos-page .stories{padding:65px 0}.story-grid{grid-template-columns:1fr}.story-name{margin:16px 10px 12px}.stories-intro{margin-bottom:30px}.casos-page .awards{padding-top:140px}.awards-intro .eyebrow{font-size:12px}.award-card{flex-basis:100%;min-height:300px}.awards-intro h2{font-size:28px}.casos-statement{padding:65px 6% 25px}.casos-statement h2{font-size:27px}.casos-page .clients{padding-bottom:35px}.casos-page .clients-viewport{margin:22px 0 32px}.casos-page .client-group{gap:35px;padding-right:35px}}

.casos-page main{background:#afebfc}
.casos-hero .casos-hero-copy h1{font-size:clamp(38px,3.9vw,56px)}
.stories-intro p{font-size:22px}
@media(max-width:640px){.casos-hero .casos-hero-copy h1{font-size:36px}.stories-intro p{font-size:17px}}

.story-thumb img{display:block;width:100%;height:100%;object-fit:cover}.story-play{filter:drop-shadow(0 2px 5px #0009)}
