:root{--ink:#101828;--navy:#071a39;--blue:#0b78d0;--cyan:#27bfd1;--purple:#7057e8;--paper:#f6f3ee;--line:#d9dde5;--muted:#697386;--white:#fff;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif}body.modal-open{overflow:hidden}a{text-decoration:none;color:inherit}img{display:block;width:100%}button{font:inherit}.topbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;padding:16px max(24px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(217,221,229,.8)}.identity{display:flex;align-items:center;gap:12px}.identity-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:white;font-weight:800}.identity>span:last-child{display:grid;line-height:1.15}.identity strong{font-size:14px}.identity small{color:var(--muted);font-size:11px;margin-top:4px}.main-nav{display:flex;justify-content:center;gap:26px;font-size:14px;font-weight:600}.main-nav a:hover{color:var(--blue)}.nav-toggle{display:none}.hero{min-height:760px;display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:center;padding:100px max(24px,calc((100vw - var(--max))/2));background:radial-gradient(circle at 80% 18%,rgba(39,191,209,.13),transparent 22%),radial-gradient(circle at 92% 75%,rgba(112,87,232,.10),transparent 25%),linear-gradient(180deg,#fbfcfe,#f5f8fc)}.kicker{margin:0 0 16px;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}h1,h2,h3{font-family:"Manrope",sans-serif}h1{max-width:900px;margin:0 0 28px;color:var(--navy);font-size:clamp(52px,6.5vw,92px);line-height:.98;letter-spacing:-.055em}h1 em{font-style:normal;background:linear-gradient(90deg,var(--cyan),var(--purple));-webkit-background-clip:text;color:transparent}.hero-lead{max-width:720px;color:#526078;font-size:20px;line-height:1.7}.hero-actions{display:flex;gap:12px;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:.25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--navy);color:#fff}.btn-ghost{border-color:#bec8d5;background:#fff;color:var(--navy)}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-outline-light{border-color:rgba(255,255,255,.45);color:#fff}.hero-proof{display:flex;flex-wrap:wrap;gap:8px}.hero-proof span{padding:9px 12px;border:1px solid #dce3ec;border-radius:999px;background:#fff;font-size:12px;font-weight:700;color:#536174}.hero-panel{border-radius:32px;background:var(--navy);color:#fff;padding:34px;box-shadow:0 34px 90px rgba(7,26,57,.2)}.hero-panel-top{padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.16)}.hero-panel-top p{margin:0 0 9px;color:#83dce5;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.hero-panel-top strong{font-size:27px;line-height:1.25}.hero-panel-grid{display:grid;grid-template-columns:1fr 1fr}.hero-panel-grid div{padding:24px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.hero-panel-grid div:nth-child(odd){border-right:1px solid rgba(255,255,255,.12)}.hero-panel-grid div:nth-last-child(-n+2){border-bottom:0}.hero-panel-grid strong{display:block;font-size:32px}.hero-panel-grid span{font-size:12px;color:#bac9da}.statement{padding:42px max(24px,calc((100vw - var(--max))/2));background:var(--paper)}.statement p{max-width:1100px;margin:auto;font-family:"Manrope";font-size:clamp(28px,4vw,48px);line-height:1.25;color:#2f3745}.statement strong{color:var(--navy)}.case-study,.projects,.profile{padding:110px max(24px,calc((100vw - var(--max))/2))}.section-label{padding-bottom:18px;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--muted)}.case-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;padding:56px 0}.case-intro h2,.section-heading h2,.profile-copy h2{margin:0;color:var(--navy);font-size:clamp(38px,5vw,64px);line-height:1.06;letter-spacing:-.04em}.case-intro>p{margin:0;color:var(--muted);font-size:18px;line-height:1.75}.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden}.case-metrics article{padding:26px;border-right:1px solid var(--line)}.case-metrics article:last-child{border-right:0}.case-metrics span{display:block;margin-bottom:9px;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.case-metrics strong{color:var(--navy);font-size:18px;line-height:1.35}.case-chapter{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;padding:100px 0;border-bottom:1px solid var(--line)}.case-chapter.reverse{grid-template-columns:1.2fr .8fr}.case-chapter.reverse .chapter-text{order:2}.chapter-index{display:block;color:#ccd4de;font-family:"Manrope";font-size:60px;font-weight:800}.chapter-text h3{margin:0 0 18px;color:var(--navy);font-size:36px;line-height:1.15}.chapter-text p{color:var(--muted);font-size:17px;line-height:1.75}.chapter-text ul{padding-left:20px;color:#445268;line-height:1.8}.chapter-image{margin:0;border-radius:24px;overflow:hidden;background:#eef2f7;box-shadow:0 26px 60px rgba(7,26,57,.12)}.chapter-image img{aspect-ratio:1/1;object-fit:cover}.chapter-image figcaption{padding:14px 18px;background:#fff;color:var(--muted);font-size:11px}.impact-box{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:74px;padding:48px;border-radius:28px;background:linear-gradient(135deg,#071a39,#124b7b);color:#fff}.impact-box h3{margin:0;font-size:38px;line-height:1.12}.impact-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.impact-list span{padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.05);font-size:13px}.projects{background:var(--paper)}.section-heading{max-width:850px;margin-bottom:52px}.section-heading>p:last-child{max-width:720px;color:var(--muted);font-size:17px;line-height:1.75}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid #dedbd5;display:grid;grid-template-columns:.9fr 1.1fr;min-height:390px}.project-card.project-large{grid-column:1/-1;grid-template-columns:1.15fr .85fr}.project-card.project-wide{grid-column:1/-1;grid-template-columns:1.1fr .9fr}.project-card img{height:100%;object-fit:cover}.project-copy{padding:30px;align-self:end}.project-copy>span{color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.project-copy h3{margin:12px 0;color:var(--navy);font-size:28px;line-height:1.15}.project-copy p{color:var(--muted);line-height:1.65}.project-copy button{padding:0;border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.book-download{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:32px;padding:34px;border-radius:24px;background:#fff;border:1px solid #dedbd5}.book-download h3{margin:0;color:var(--navy);font-size:28px}.method{padding:110px max(24px,calc((100vw - var(--max))/2));background:var(--navy);color:#fff}.section-heading.light h2{color:#fff}.method-track{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.method-track article{min-height:270px;padding:26px 18px;border-right:1px solid rgba(255,255,255,.18)}.method-track article:last-child{border-right:0}.method-track span{color:#63d6e2;font-size:12px;font-weight:800}.method-track h3{margin:72px 0 12px;font-size:23px}.method-track p{color:#b7c5d5;font-size:13px;line-height:1.65}.profile{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.profile-image{overflow:hidden;border-radius:28px;background:#f2f4f7;box-shadow:0 26px 70px rgba(7,26,57,.12)}.profile-image img{aspect-ratio:1/1;object-fit:cover}.profile-copy>p:not(.kicker){color:var(--muted);font-size:17px;line-height:1.75}.skills{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.skills span{padding:10px 13px;border-radius:999px;background:#f2f5f8;color:#4f5d70;font-size:12px;font-weight:700}.contact{padding:100px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(135deg,#0a1d3d,#153e72);color:#fff}.contact h2{max-width:950px;margin:0;font-size:clamp(42px,5.5vw,72px);line-height:1.04;letter-spacing:-.04em}.contact>p:not(.kicker){max-width:820px;color:#c8d4e3;font-size:18px;line-height:1.7}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}footer{display:flex;justify-content:space-between;padding:25px max(24px,calc((100vw - var(--max))/2));color:var(--muted);font-size:12px;border-top:1px solid var(--line)}dialog{width:min(860px,calc(100% - 32px));border:0;border-radius:28px;padding:42px;box-shadow:0 40px 100px rgba(7,26,57,.35)}dialog::backdrop{background:rgba(7,18,38,.72);backdrop-filter:blur(8px)}.modal-close{position:absolute;right:20px;top:18px;width:42px;height:42px;border:0;border-radius:50%;font-size:28px;background:#f0f3f7;cursor:pointer}dialog h2{margin:0;color:var(--navy);font-size:42px;line-height:1.1}.modal-lead{color:var(--muted);font-size:18px;line-height:1.7}.modal-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.modal-details div{padding:20px;border-radius:18px;background:#f4f6f9}.modal-details span{display:block;margin-bottom:10px;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.modal-details p{margin:0;color:#59667a;line-height:1.6;font-size:14px}@media(max-width:980px){.topbar{grid-template-columns:1fr auto}.main-nav{position:absolute;left:20px;right:20px;top:78px;display:none;flex-direction:column;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(7,26,57,.16)}.main-nav.open{display:flex}.nav-toggle{display:grid;gap:6px;place-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff}.nav-toggle span{display:block;width:20px;height:2px;background:var(--navy)}.hero,.case-intro,.case-chapter,.case-chapter.reverse,.impact-box,.profile{grid-template-columns:1fr}.case-chapter.reverse .chapter-text{order:0}.method-track{grid-template-columns:repeat(3,1fr)}.method-track article:nth-child(3){border-right:0}.method-track article:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.18)}}@media(max-width:720px){.hero{padding-top:72px}h1{font-size:48px}.hero-actions{flex-direction:column}.case-metrics,.project-grid,.modal-details{grid-template-columns:1fr}.case-metrics article{border-right:0;border-bottom:1px solid var(--line)}.case-metrics article:last-child{border-bottom:0}.project-card,.project-card.project-large,.project-card.project-wide{grid-column:auto;grid-template-columns:1fr}.project-card img{height:280px}.book-download{align-items:flex-start;flex-direction:column}.method-track{grid-template-columns:1fr 1fr}.method-track article,.method-track article:nth-child(3){border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.method-track article:nth-child(even){border-right:0}.impact-list{grid-template-columns:1fr}footer{flex-direction:column;gap:8px}}
.btn-whatsapp{
  background:#25D366;
  color:#ffffff;
  border-color:#25D366;
  gap:10px;
}
.btn-whatsapp img{
  width:22px;
  height:22px;
  border-radius:50%;
  background:#ffffff;
  padding:2px;
}
.btn-whatsapp:hover{
  box-shadow:0 16px 38px rgba(37,211,102,.28);
}
.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:60;
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  border-radius:50%;
  background:#25D366;
  box-shadow:0 18px 45px rgba(37,211,102,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(37,211,102,.42);
}
.whatsapp-float img{
  width:34px;
  height:34px;
  display:block;
}
@media(max-width:720px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    width:58px;
    height:58px;
  }
  .whatsapp-float img{
    width:30px;
    height:30px;
  }
}

/* Carrusel del proyecto Portal PyME */
.pyme-project{grid-template-columns:1.05fr .95fr;align-items:stretch}
.project-main-image{min-height:100%;overflow:hidden;background:#050505}
.project-main-image img{width:100%;height:100%;object-fit:cover}
.project-right-column{display:flex;flex-direction:column;min-width:0}
.project-right-column .project-copy{margin-top:auto}
.project-carousel{position:relative;margin:20px 20px 0;border-radius:18px;overflow:hidden;background:#eef2f7;aspect-ratio:31/19;box-shadow:0 12px 30px rgba(7,26,57,.10)}
.carousel-viewport{position:relative;width:100%;height:100%}
.carousel-slide{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#eef2f7;opacity:0;pointer-events:none;transition:opacity .35s ease;cursor:zoom-in}
.carousel-slide.is-active{opacity:1;pointer-events:auto}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:rgba(7,26,57,.72);color:#fff;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.carousel-arrow:hover{background:var(--blue)}
.carousel-prev{left:12px}.carousel-next{right:12px}
.carousel-dots{position:absolute;z-index:5;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(7,26,57,.55)}
.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.carousel-dots button.is-active{background:#fff;transform:scale(1.25)}
.image-lightbox{width:min(1200px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:20px;border:0;border-radius:24px;background:#07101f;color:#fff;box-shadow:0 40px 120px rgba(0,0,0,.55)}
.image-lightbox::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.image-lightbox figure{margin:0;display:grid;gap:10px}
.image-lightbox figure img{display:block;width:100%;max-height:82vh;object-fit:contain;border-radius:14px;background:#000}
.image-lightbox figcaption{text-align:center;color:#c8d3e1;font-size:13px}
.lightbox-close{position:absolute;right:16px;top:14px;z-index:6;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#071a39;font-size:28px;cursor:pointer}
.lightbox-nav{position:absolute;top:50%;z-index:6;transform:translateY(-50%);width:50px;height:50px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#071a39;font-size:34px;cursor:pointer}
.lightbox-prev{left:16px}.lightbox-next{right:16px}
@media(max-width:900px){.pyme-project{grid-template-columns:1fr}.project-main-image{height:360px}.project-carousel{margin-top:20px}}
@media(max-width:720px){.project-main-image{height:260px}.project-carousel{margin:16px 16px 0}.carousel-arrow{width:36px;height:36px}.lightbox-nav{width:42px;height:42px}.image-lightbox{padding:12px}}
