
  :root{
    --black:#0a0a0a;
    --black-pure:#000000;
    --black-2:#141414;
    --black-3:#1b1b1b;
    --white:#ffffff;
    --off:#141414;
    --silver:#b3b3b3;
    --silver-line:rgba(255,255,255,.16);
    --line:rgba(255,255,255,.14);
    --blue:#33779b;
    --blue-light:#5b9bbd;
    --coffee:#432818;
    --coffee-light:#6b4630;
    --green:#00a86b;
    --font: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font);
    background:var(--black);
    color:var(--white);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;max-width:100%;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-size:12px;letter-spacing:.22em;text-transform:uppercase;
    color:var(--blue-light);font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:10px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--blue-light);display:inline-block;}
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.on{opacity:1;transform:translateY(0);}

  /* NAV */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(10,10,10,.9);backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1180px;margin:0 auto;}
  .logo{display:flex;align-items:center;gap:14px;}
  .logo-img{height:60px;width:auto;display:block;}
  .logo-text{color:var(--white);font-size:18px;letter-spacing:.2em;line-height:1.2;font-weight:500;}
  .logo-text b{display:block;font-weight:700;}
  .nav-links{display:flex;gap:30px;font-size:14px;color:var(--silver);}
  .nav-links a:hover{color:var(--white);}
  .nav-cta{
    background:var(--blue);color:var(--white);padding:10px 20px;border-radius:2px;
    font-size:13px;font-weight:700;letter-spacing:.03em;
  }
  .nav-cta:hover{background:var(--blue-light);}
  .burger{display:none;color:var(--white);font-size:22px;cursor:pointer;}
  @media(max-width:860px){
    .nav-links{display:none;}
    .burger{display:block;}
  }

  /* HERO */
  .hero{
    background:var(--black);color:var(--white);
    padding:170px 0 110px;position:relative;overflow:hidden;
  }
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:.34;filter:grayscale(35%) contrast(1.05);}
  .hero-bg::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.88) 55%, var(--black) 100%);
  }
  .hero-logo-intro{position:relative;z-index:2;display:flex;justify-content:flex-start;padding:0 0 50px;}
  .hero-logo-intro img{width:460px;max-width:80%;height:auto;display:block;}
  @media(max-width:700px){.hero-logo-intro{padding:0 0 30px;}.hero-logo-intro img{width:260px;}}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:2;}
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}
  .hero h1{
    font-size:clamp(34px,5vw,58px);font-weight:700;line-height:1.05;letter-spacing:-.01em;margin-bottom:22px;
  }
  .hero h1 em{font-style:normal;color:var(--blue-light);}
  .hero p.lead{font-size:18px;color:var(--silver);max-width:520px;line-height:1.6;margin-bottom:34px;font-weight:300;}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font-size:14px;font-weight:700;
    letter-spacing:.02em;border-radius:2px;transition:.2s;cursor:pointer;border:1px solid transparent;
  }
  .btn-primary{background:var(--blue);color:var(--white);}
  .btn-primary:hover{background:var(--blue-light);transform:translateY(-1px);}
  .btn-ghost{border-color:rgba(255,255,255,.35);color:var(--white);}
  .btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06);}
  .hero-sphere{position:relative;height:420px;}
  .hero-photo{
    width:100%;height:100%;object-fit:cover;object-position:top center;
    filter:grayscale(35%) contrast(1.05) brightness(.9);border:none;
    -webkit-mask-image:radial-gradient(ellipse 72% 72% at center, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image:radial-gradient(ellipse 72% 72% at center, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
  }
  @media(max-width:900px){.hero-sphere{height:340px;}}
  .trust-strip{
    border-top:1px solid rgba(255,255,255,.1);margin-top:64px;padding-top:26px;
    display:flex;gap:44px;flex-wrap:wrap;font-size:13px;color:var(--silver);letter-spacing:.02em;
  }
  .trust-strip strong{color:var(--white);font-size:20px;display:block;font-weight:700;}

  /* NETWORK BG decorative */
  .bg-nodes{position:absolute;inset:0;opacity:.5;z-index:1;}

  section{padding:100px 0;}
  .section-white{background:var(--black);}
  .section-off{background:var(--black-2);}
  h2.big{
    font-size:clamp(28px,4vw,42px);font-weight:700;line-height:1.12;letter-spacing:-.01em;max-width:680px;color:var(--white);
  }
  p.sub{font-size:16px;color:var(--silver);max-width:600px;margin-top:16px;line-height:1.65;font-weight:300;}

  /* PATH DIAGRAM */
  .path-diagram{margin:70px 0 50px;}
  .path-line-wrap{position:relative;height:70px;}
  .path-line{position:absolute;top:50%;left:8%;right:8%;height:2px;background:var(--silver-line);}
  .path-line-fill{position:absolute;top:50%;left:8%;width:0%;height:2px;background:var(--blue);transition:width 1.4s ease;}
  .path-line-fill.on{width:84%;}
  .path-node{
    position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;
    background:var(--black);border:2px solid var(--blue);z-index:2;
  }
  .path-node.n1{left:8%;} .path-node.n2{left:50%;} .path-node.n3{left:92%;}
  .path-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--silver);margin-top:10px;letter-spacing:.02em;}
  .path-labels span{max-width:33%;text-align:center;}
  @media(max-width:700px){.path-labels span{font-size:10px;}}

  /* COURSE CARDS */
  .courses{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--line);margin-top:10px;}
  @media(max-width:1000px){.courses{grid-template-columns:1fr;}}
  .course{padding:44px 40px;position:relative;}
  .course + .course{border-left:1px solid var(--line);}
  @media(max-width:1000px){.course + .course{border-left:none;border-top:1px solid var(--line);}}
  .course.inicial{background:var(--black);}
  .course.entry{background:var(--black-2);}
  .course.master{background:var(--black-3);color:var(--white);}
  .course.inicial .course-tag{color:var(--silver);border-color:var(--silver);}
  .course-pending-note{
    font-size:12px;color:var(--silver);border:1px dashed var(--line);padding:14px 16px;margin:16px 0;line-height:1.6;
  }
  .course-tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:inline-block;padding:5px 10px;border:1px solid currentColor;}
  .course.entry .course-tag{color:var(--blue-light);}
  .course.master .course-tag{color:var(--blue-light);}
  .course h3{font-size:26px;font-weight:700;line-height:1.2;margin-bottom:6px;color:var(--white);}
  .course .level{font-size:13px;color:var(--silver);margin-bottom:26px;}
  .course.master .level{color:var(--silver);}
  .meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;font-size:13px;}
  .meta-grid div span{display:block;color:#9a9a9a;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
  .course.master .meta-grid div span{color:#8a8a8a;}
  .meta-grid div b{font-size:16px;font-weight:700;color:var(--white);}
  .course-blocks{list-style:none;margin:22px 0;font-size:14px;line-height:2;color:#dcdcdc;}
  .course.master .course-blocks{color:#dcdcdc;}
  .course-blocks li{padding-left:18px;position:relative;}
  .course-blocks li::before{content:"—";position:absolute;left:0;color:var(--blue-light);}
  .plazas{font-size:12px;color:#e0a94e;margin:18px 0;font-weight:700;}
  .course.master .plazas{color:var(--blue-light);}
  .course .btn{width:100%;justify-content:center;margin-top:10px;}
  .course.entry .btn{background:var(--blue);color:var(--white);}
  .course.entry .btn:hover{background:var(--blue-light);}
  .req-note{font-size:12px;color:var(--silver);margin-top:14px;line-height:1.5;}

  /* CERT LEVELS */
  .cert-wrap{display:flex;gap:0;margin-top:60px;flex-wrap:wrap;}
  .cert-step{flex:1;min-width:220px;position:relative;padding:0 22px 0 0;}
  .cert-step .num{
    width:38px;height:38px;border-radius:50%;border:2px solid var(--silver);display:flex;align-items:center;
    justify-content:center;font-weight:700;font-size:14px;margin-bottom:18px;color:var(--white);
  }
  .cert-step:last-child .num{border-color:var(--blue-light);color:var(--blue-light);}
  .cert-step h4{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--white);}
  .cert-step p{font-size:13px;color:var(--silver);line-height:1.6;}
  .cert-connector{position:absolute;top:19px;left:38px;right:-22px;height:2px;background:var(--silver-line);}
  .cert-step:last-child .cert-connector{display:none;}
  @media(max-width:860px){.cert-wrap{flex-direction:column;gap:30px;}.cert-connector{display:none;}}
  .route-box{
    margin-top:50px;border:1px solid var(--line);padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:30px;
  }
  @media(max-width:700px){.route-box{grid-template-columns:1fr;}}
  .route-box div span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-light);font-weight:700;}
  .route-box div p{font-size:14px;color:var(--silver);margin-top:8px;line-height:1.6;}

  /* FOUNDER */
  .founder{background:var(--black-2);color:var(--white);}
  .founder-grid{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:start;}
  @media(max-width:860px){.founder-grid{grid-template-columns:1fr;}}
  .founder-badge{
    border:1px solid rgba(255,255,255,.18);padding:0 0 34px;position:sticky;top:110px;overflow:hidden;
  }
  .founder-photo{
    width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
    filter:grayscale(35%) contrast(1.05) brightness(.9);
    -webkit-mask-image:radial-gradient(ellipse 72% 72% at center, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image:radial-gradient(ellipse 72% 72% at center, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
  }
  .founder-photo-pending{
    width:100%;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;text-align:center;
    padding:20px;font-size:12px;color:var(--silver);border-bottom:1px dashed rgba(255,255,255,.25);
  }
  .founder-badge-body{padding:26px 34px 0;}
  .founder-badge h3{font-size:22px;font-weight:700;margin-bottom:4px;color:var(--white);}
  .founder-badge .role{font-size:13px;color:var(--silver);margin-bottom:22px;}
  .founder-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .founder-stats div b{display:block;font-size:24px;font-weight:700;color:var(--blue-light);}
  .founder-stats div span{font-size:11px;color:var(--silver);text-transform:uppercase;letter-spacing:.06em;}
  .founder-note{
    background:#faf9f6;color:#1c1c1c;border-radius:3px;padding:30px 32px;
    box-shadow:0 25px 60px rgba(0,0,0,.4);position:sticky;top:110px;
  }
  .founder-note p{font-family:'Caveat',cursive;font-size:19px;line-height:1.4;margin-bottom:10px;font-weight:500;}
  .founder-note .fq{font-family:'Caveat',cursive;font-size:24px;font-weight:700;color:var(--blue);margin:13px 0;line-height:1.3;}
  .founder-note .sign{font-family:'Caveat',cursive;font-size:19px;font-weight:700;text-align:right;margin-top:6px;}

  /* RETREAT GALLERY */
  .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:8px;margin-top:50px;}
  .gallery-grid a{overflow:hidden;display:block;position:relative;}
  .gallery-grid img{
    width:100%;height:100%;object-fit:cover;display:block;
    filter:grayscale(35%) contrast(1.05) brightness(.88);transition:filter .3s, transform .5s;
    -webkit-mask-image:radial-gradient(ellipse 82% 82% at center, rgba(255,255,255,1) 58%, rgba(255,255,255,0) 100%);
    mask-image:radial-gradient(ellipse 82% 82% at center, rgba(255,255,255,1) 58%, rgba(255,255,255,0) 100%);
  }
  .gallery-grid a:hover img{filter:grayscale(0%) brightness(1) contrast(1);transform:scale(1.05);}
  .g-tall{grid-row:span 2;}
  .g-wide{grid-column:span 2;}
  @media(max-width:860px){
    .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}
  }

  /* CAMBIOS REALES */
  .case-block{margin-top:60px;}
  .case-block:first-child{margin-top:50px;}
  .case-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:14px;}
  .case-head h3{font-size:20px;font-weight:700;color:var(--white);}
  .case-head span{font-size:12px;color:var(--silver);text-transform:uppercase;letter-spacing:.08em;}
  .case-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
  .case-photos.cols-4{grid-template-columns:repeat(4,1fr);}
  .case-photos.cols-2{grid-template-columns:repeat(2,1fr);max-width:640px;}
  .case-photos img{width:100%;display:block;border:1px solid var(--line);}
  .case-feature{margin-bottom:14px;}
  .case-feature img{width:100%;max-width:340px;display:block;border:1px solid var(--line);margin:0 auto;}
  .case-feature .cap{text-align:center;font-size:12px;color:var(--silver);margin-top:8px;}
  .case-timeline{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .case-timeline img{width:100%;display:block;border:1px solid var(--line);}
  @media(max-width:760px){
    .case-photos{grid-template-columns:1fr 1fr;}
    .case-photos.cols-4{grid-template-columns:1fr 1fr;}
    .case-photos img:first-child{grid-column:1/-1;}
    .case-timeline{grid-template-columns:1fr;}
  }
  .case-pending{
    margin-top:60px;border:1px dashed rgba(255,255,255,.25);padding:40px;text-align:center;color:var(--silver);font-size:13px;
  }

  /* CASE QUOTE (testimonio dentro de cada caso de Cambios Reales) */
  .case-quote{
    margin-top:22px;position:relative;padding:32px 34px 30px 64px;background:var(--black-2);
    border-left:3px solid var(--blue-light);
  }
  .case-quote .qmark{
    position:absolute;top:18px;left:20px;font-size:44px;line-height:1;color:var(--blue-light);
    font-family:Georgia,serif;font-weight:700;opacity:.85;
  }
  .case-quote p{font-size:17px;line-height:1.6;color:#f1f1f1;font-weight:300;font-style:italic;}
  .case-quote .qwho{margin-top:16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-light);font-weight:700;font-style:normal;}

  /* LENS TAGS */
.lens-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;}
.lens-tags span{font-size:13px;color:#dcdcdc;border:1px solid var(--line);padding:9px 16px;}

/* HEALTH / MENTALITY base layout (was missing) */
.health-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;margin-top:10px;}
@media(max-width:860px){.health-grid{grid-template-columns:1fr;}}
.health-grid p{font-size:15px;color:var(--silver);line-height:1.75;margin-bottom:14px;}
.health-note{border:1px solid var(--line);padding:22px;font-size:13px;color:var(--silver);line-height:1.6;}

.mentality-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);margin-top:40px;}
@media(max-width:860px){.mentality-cards{grid-template-columns:1fr;}}
.mentality-card{background:var(--black-2);padding:28px;}
.mentality-card h4{font-size:15px;font-weight:700;color:var(--white);margin-bottom:10px;}
.mentality-card p{font-size:13px;color:var(--silver);line-height:1.65;}

/* Text + photo editorial blocks (Mirada / Salud / Mentalidad) */
.section-media{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;margin-top:40px;}
@media(max-width:860px){.section-media{grid-template-columns:1fr;}}
.section-media .media-text{order:1;}
.section-media .media-photo{order:2;}
.section-media.media-left .media-text{order:2;}
.section-media.media-left .media-photo{order:1;}
.section-media .media-photo img{
  width:100%;display:block;object-fit:cover;
  filter:grayscale(35%) contrast(1.05) brightness(.9);border:none;
  -webkit-mask-image:radial-gradient(ellipse 75% 75% at center, rgba(255,255,255,1) 52%, rgba(255,255,255,0) 100%);
  mask-image:radial-gradient(ellipse 75% 75% at center, rgba(255,255,255,1) 52%, rgba(255,255,255,0) 100%);
}

/* QUE ESPERAS CONSEGUIR — interactive category picker */
.build-toggle{display:flex;gap:10px;margin-top:44px;flex-wrap:wrap;}
.build-toggle button{
  flex:1;min-width:200px;text-align:left;padding:18px 22px;border-radius:8px;border:1px solid var(--line);
  background:var(--black-2);cursor:pointer;transition:.2s;font-family:var(--font);
}
.build-toggle button .bt-num{display:block;font-size:11px;color:var(--silver);letter-spacing:.08em;margin-bottom:6px;}
.build-toggle button .bt-title{display:block;font-size:16px;font-weight:700;color:var(--white);}
.build-toggle button.active{background:var(--blue);border-color:var(--blue);}
.build-toggle button.active .bt-num{color:rgba(255,255,255,.75);}
.build-toggle button:not(.active):hover{background:var(--black-3);}

.build-panel{display:none;margin-top:30px;}
.build-panel.active{display:block;animation:mfade .35s ease;}
.build-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);}
@media(max-width:760px){.build-cards{grid-template-columns:1fr;}}
.build-card{background:var(--black-2);padding:30px;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;}
.build-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.3);background:var(--black-3);}
.build-card .bc-num{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--blue-light);color:var(--blue-light);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-bottom:16px;
}
.build-card h4{font-size:15px;font-weight:700;color:var(--white);margin-bottom:10px;}
.build-card p{font-size:13px;color:var(--silver);line-height:1.65;}

/* COMPARATIVA DE NIVELES (Inicial / Intermedio / Avanzado) */
.levels-toggle{display:flex;gap:10px;margin-top:44px;flex-wrap:wrap;}
.levels-toggle button{
  flex:1;min-width:200px;text-align:left;padding:18px 22px;border-radius:8px;border:1px solid var(--line);
  background:var(--black-2);cursor:pointer;transition:.2s;font-family:var(--font);
}
.levels-toggle button .lt-num{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--silver);margin-bottom:6px;}
.levels-toggle button .lt-title{display:block;font-size:17px;font-weight:700;color:var(--white);}
.levels-toggle button.active{background:var(--blue);border-color:var(--blue);}
.levels-toggle button.active .lt-num{color:rgba(255,255,255,.75);}
.levels-toggle button:not(.active):hover{background:var(--black-3);}

.level-panel{display:none;margin-top:30px;}
.level-panel.active{display:block;animation:mfade .35s ease;}
.level-spec{border:1px solid var(--line);background:var(--black-2);padding:34px;}
.ls-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;}
.ls-row:first-child{padding-top:0;}
.ls-row span{color:var(--silver);text-transform:uppercase;font-size:11px;letter-spacing:.06em;}
.ls-row b{color:var(--white);font-size:15px;font-weight:700;text-align:right;}
.ls-desc{margin-top:20px;font-size:14px;color:#dcdcdc;line-height:1.7;}

.levels-goal{
  margin-top:40px;border-left:3px solid var(--blue-light);background:var(--black-2);
  padding:24px 28px;font-size:14px;color:#dcdcdc;line-height:1.7;
}
.levels-goal strong{color:var(--white);}

/* PHASE STEPPER (Recorrido del máster) */
.phase-stepper{display:flex;margin-top:50px;position:relative;}
.ps-step{
  flex:1;background:none;border:none;cursor:pointer;text-align:left;
  padding:0 24px 0 0;position:relative;font-family:var(--font);
}
.ps-step:not(:last-child)::after{
  content:"";position:absolute;top:21px;left:44px;right:0;height:2px;background:var(--line);z-index:1;
}
.ps-step.done:not(:last-child)::after{background:var(--blue-light);}
.ps-circle{
  width:42px;height:42px;border-radius:50%;border:2px solid var(--line);color:var(--silver);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-bottom:16px;
  position:relative;z-index:2;background:var(--black-2);transition:.2s;
}
.ps-step.active .ps-circle{border-color:var(--blue);background:var(--blue);color:#fff;}
.ps-step.done .ps-circle{border-color:var(--blue-light);color:var(--blue-light);background:var(--black-2);}
.ps-title{display:block;font-size:14px;font-weight:700;color:var(--silver);line-height:1.4;padding-right:10px;transition:.2s;}
.ps-step.active .ps-title{color:var(--white);}
.ps-step:hover .ps-title{color:var(--white);}
@media(max-width:700px){
  .phase-stepper{flex-direction:column;gap:0;}
  .ps-step{padding:0 0 26px 0;display:flex;align-items:center;gap:16px;}
  .ps-circle{margin-bottom:0;flex-shrink:0;}
  .ps-step:not(:last-child)::after{top:0;bottom:0;left:20px;right:auto;width:2px;height:100%;}
}

.phase-detail{display:none;margin-top:36px;}
.phase-detail.active{display:block;animation:mfade .35s ease;}
.phase-card{border:1px solid var(--line);background:var(--black-2);padding:36px;}
.phase-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:22px;}
.phase-card-head h4{font-size:19px;font-weight:700;color:var(--white);}
.phase-checkpoint{
  display:inline-block;font-size:11px;color:var(--blue-light);border:1px solid var(--blue-light);
  padding:6px 14px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;white-space:nowrap;
}
.phase-points{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;}
@media(max-width:700px){.phase-points{grid-template-columns:1fr;}}
.phase-points li{
  padding-left:28px;position:relative;font-size:14px;color:#dcdcdc;line-height:1.6;
}
.phase-points li::before{
  content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;
  border:1.5px solid var(--blue-light);
}
.phase-points li::after{
  content:"";position:absolute;left:5px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--blue-light);
}
@media(max-width:860px){.section-media .media-text,.section-media .media-photo{order:initial;}}

/* ACREDITACION */
  .route-section{margin-top:56px;}
  .route-section:first-child{margin-top:50px;}
  .route-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
  .route-title h3{font-size:22px;font-weight:700;color:var(--white);}
  .route-title .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-light);border:1px solid var(--blue-light);padding:4px 10px;font-weight:700;}
  .route-desc{font-size:15px;color:var(--silver);max-width:720px;line-height:1.65;margin-bottom:18px;}
  .access-list{list-style:none;font-size:13px;color:#dcdcdc;line-height:2;margin-bottom:10px;}
  .access-list li{padding-left:18px;position:relative;}
  .access-list li::before{content:"—";position:absolute;left:0;color:var(--blue-light);}
  .access-note{font-size:12px;color:var(--silver);margin-bottom:30px;}

  .level-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);margin-bottom:10px;}
  @media(max-width:860px){.level-cards{grid-template-columns:1fr;}}
  .level-card{background:var(--black-2);padding:26px 24px;}
  .level-card .lnum{
    width:32px;height:32px;border-radius:50%;border:2px solid var(--blue-light);color:var(--blue-light);
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-bottom:14px;
  }
  .level-card h4{font-size:16px;font-weight:700;color:var(--white);margin-bottom:2px;}
  .level-card .lsub{font-size:12px;color:var(--silver);margin-bottom:18px;display:block;}
  .level-card .col-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-light);font-weight:700;margin-bottom:6px;margin-top:16px;}
  .level-card .col-title:first-of-type{margin-top:0;}
  .level-card ul{list-style:none;font-size:13px;color:#dcdcdc;line-height:1.75;}
  .level-card ul li{padding-left:15px;position:relative;}
  .level-card ul li::before{content:"·";position:absolute;left:0;color:var(--silver);font-weight:700;}

  .tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
  .tag-row span{font-size:12px;color:var(--silver);border:1px solid var(--line);padding:7px 14px;}
  .tag-row-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--silver);margin-top:26px;margin-bottom:2px;}

  .collab-card{border:1px solid var(--blue-light);padding:34px;margin-top:56px;}
  .collab-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px;}
  @media(max-width:700px){.collab-grid{grid-template-columns:1fr;}}
  .collab-grid span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-light);font-weight:700;}
  .collab-grid ul{list-style:none;font-size:13px;color:#dcdcdc;line-height:1.9;margin-top:8px;}
  .collab-grid ul li{padding-left:16px;position:relative;}
  .collab-grid ul li::before{content:"·";position:absolute;left:0;color:var(--blue-light);font-weight:700;}

  /* TESTIMONIALS */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px;}
  @media(max-width:900px){.testi-grid{grid-template-columns:1fr;}}
  .testi-card{border:1px solid var(--line);background:var(--black);position:relative;overflow:hidden;aspect-ratio:9/16;}
  .testi-card video{width:100%;height:100%;object-fit:cover;display:block;}
  .testi-play{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;
    background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 100%);
  }
  .testi-play .circle{
    width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;
    transition:transform .2s;
  }
  .testi-card:hover .testi-play .circle{transform:scale(1.08);}
  .testi-play .circle svg{width:20px;height:20px;margin-left:3px;}
  .testi-card.playing .testi-play{display:none;}
  .testi-label{position:absolute;bottom:0;left:0;right:0;padding:16px;font-size:12px;color:#fff;letter-spacing:.03em;
    background:linear-gradient(0deg, rgba(0,0,0,.65), transparent);}
  .testi-card.playing .testi-label{display:none;}

  /* ECOSYSTEM */
  .eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:50px;background:var(--line);}
  @media(max-width:900px){.eco-grid{grid-template-columns:1fr 1fr;}}
  .eco-item{background:var(--black-2);padding:34px 26px;}
  .eco-item .ico{width:34px;height:34px;margin-bottom:18px;}
  .eco-item h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--white);}
  .eco-item p{font-size:13px;color:var(--silver);line-height:1.6;}

  /* FAQ */
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{padding:24px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:16px;color:var(--white);}
  .faq-q .plus{font-size:22px;color:var(--blue-light);transition:.25s;font-weight:300;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-a p{padding-bottom:24px;font-size:14px;color:var(--silver);line-height:1.7;max-width:680px;}

  /* FINAL CTA */
  .final-cta{background:var(--blue);color:var(--white);text-align:center;}
  .final-cta h2{font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:18px;}
  .final-cta p{color:#dbe9f0;max-width:520px;margin:0 auto 34px;font-size:15px;font-weight:300;line-height:1.6;}
  .final-cta .cta-row{justify-content:center;}
  .final-cta .btn-primary{background:var(--black);color:var(--white);}
  .final-cta .btn-primary:hover{background:var(--black-3);}
  .final-cta .btn-ghost{border-color:rgba(255,255,255,.4);}

  footer{background:var(--black-pure);color:var(--silver);padding:50px 0 30px;font-size:13px;}
  .foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08);}
  .foot-logo{display:flex;align-items:center;gap:10px;color:var(--white);font-size:14px;letter-spacing:.15em;}
  .foot-logo-img{height:24px;width:auto;display:block;}
  .foot-links{display:flex;gap:26px;}
  .foot-bottom{padding-top:22px;font-size:12px;color:#777;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  /* Sticky WhatsApp (kept universal WhatsApp green for recognizability) */
  .sticky-wa{
    position:fixed;bottom:22px;right:22px;z-index:99;background:#25D366;color:var(--white);
    width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,.4);
  }
  .sticky-wa:hover{background:#20bd5a;}

/* ============ PREMISA ============ */
.premise-lead{font-size:18px;color:#dcdcdc;line-height:1.7;max-width:720px;font-weight:300;margin-bottom:16px;}

/* ============ CAMBIO DE MIRADA (dos bloques independientes) ============ */
.shift-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px;}
@media(max-width:860px){.shift-grid{grid-template-columns:1fr;}}
.shift-card{
  border-radius:10px;padding:34px 32px;position:relative;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.shift-card:hover{transform:translateY(-4px);}
.shift-card.stuck{background:linear-gradient(155deg, #2a1c12 0%, var(--black-2) 55%);border:1px solid rgba(201,138,74,.35);}
.shift-card.stuck:hover{box-shadow:0 20px 40px rgba(201,138,74,.12);}
.shift-card.build{background:linear-gradient(155deg, #10262f 0%, var(--black-2) 55%);border:1px solid rgba(91,155,189,.4);}
.shift-card.build:hover{box-shadow:0 20px 40px rgba(91,155,189,.15);}
.shift-card .sc-icon{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:700;margin-bottom:18px;
}
.shift-card.stuck .sc-icon{background:rgba(201,138,74,.15);color:#d99a55;}
.shift-card.build .sc-icon{background:rgba(91,155,189,.18);color:var(--blue-light);}
.shift-card h4{font-size:17px;font-weight:700;margin-bottom:20px;color:var(--white);}
.shift-card ul{list-style:none;font-size:14px;line-height:2;color:#dcdcdc;}
.shift-card ul li{padding-left:24px;position:relative;}
.shift-card.stuck ul li::before{content:"×";position:absolute;left:0;color:#d99a55;font-weight:700;}
.shift-card.build ul li::before{content:"✓";position:absolute;left:0;color:var(--blue-light);font-weight:700;}

/* ============ PARA QUIEN ES (visual, interactivo) ============ */
.forwho-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;}
@media(max-width:860px){.forwho-cards{grid-template-columns:1fr;}}
.forwho-card{
  border-radius:10px;padding:30px 26px;background:var(--black-2);border-top:3px solid var(--accent-c);
  transition:transform .25s ease, box-shadow .25s ease;
}
.forwho-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,0,0,.35);}
.forwho-card:nth-child(1){--accent-c:#33779b;}
.forwho-card:nth-child(2){--accent-c:#8a6a52;}
.forwho-card:nth-child(3){--accent-c:#5b9bbd;}
.forwho-card .fw-icon{
  width:42px;height:42px;border-radius:50%;
  color:var(--accent-c);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;margin-bottom:16px;
}
.forwho-card:nth-child(1) .fw-icon{background:rgba(51,119,155,.22);}
.forwho-card:nth-child(2) .fw-icon{background:rgba(138,106,82,.22);}
.forwho-card:nth-child(3) .fw-icon{background:rgba(91,155,189,.22);}
.forwho-card h4{font-size:16px;font-weight:700;color:var(--white);margin-bottom:10px;}
.forwho-card p{font-size:13px;color:var(--silver);line-height:1.65;}

/* Interactive toggle: Sí / No es para ti */
.forwho-toggle{display:flex;gap:10px;margin-top:56px;margin-bottom:0;}
.forwho-toggle button{
  flex:1;padding:16px 20px;border-radius:8px;border:1px solid var(--line);background:var(--black-2);
  color:var(--silver);font-family:var(--font);font-size:14px;font-weight:700;cursor:pointer;transition:.2s;
}
.forwho-toggle button.active{background:var(--blue);color:var(--white);border-color:var(--blue);}
.forwho-toggle button:not(.active):hover{background:var(--black-3);color:var(--white);}
.forwho-panels{position:relative;margin-top:2px;}
.forwho-panel{
  display:none;background:var(--black-2);border-radius:0 0 10px 10px;padding:32px;
}
.forwho-panel.active{display:block;}
.forwho-panel ul{list-style:none;font-size:15px;line-height:2.1;color:#dcdcdc;}
.forwho-panel ul li{padding-left:26px;position:relative;}
.forwho-panel.no ul li::before{content:"×";position:absolute;left:0;color:#d99a55;font-weight:700;font-size:16px;}
.forwho-panel.yes ul li::before{content:"✓";position:absolute;left:0;color:var(--blue-light);font-weight:700;font-size:16px;}

/* ============ Generalized visual polish for card grids across the site ============ */
.metodo-card, .mentality-card, .level-card, .eco-item{
  transition:transform .25s ease, box-shadow .25s ease;
}
.metodo-card:hover, .mentality-card:hover, .level-card:hover, .eco-item:hover{
  transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.3);
}
.metodo-card:nth-child(1){border-top:3px solid #33779b;}
.metodo-card:nth-child(2){border-top:3px solid #8a6a52;}
.metodo-card:nth-child(3){border-top:3px solid #5b9bbd;}
.mentality-card:nth-child(1){border-top:3px solid #33779b;}
.mentality-card:nth-child(2){border-top:3px solid #8a6a52;}
.mentality-card:nth-child(3){border-top:3px solid #5b9bbd;}

/* Method toggle: Curso 2 meses / Máster 6 meses */
.method-toggle{display:flex;gap:10px;margin-top:44px;flex-wrap:wrap;}
.method-toggle button{
  flex:1;min-width:220px;text-align:left;padding:20px 24px;border-radius:8px;border:1px solid var(--line);
  background:var(--black-2);cursor:pointer;transition:.2s;font-family:var(--font);
}
.method-toggle button .mt-tag{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--silver);margin-bottom:6px;}
.method-toggle button .mt-title{display:block;font-size:18px;font-weight:700;color:var(--white);}
.method-toggle button.active{background:var(--blue);border-color:var(--blue);}
.method-toggle button.active .mt-tag{color:rgba(255,255,255,.75);}
.method-toggle button:not(.active):hover{background:var(--black-3);}

.method-panel{display:none;margin-top:34px;}
.method-panel.active{display:block;animation:mfade .35s ease;}
@keyframes mfade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

.method-modalidad{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--white);font-weight:700;
  border:1px solid var(--blue-light);border-radius:20px;padding:8px 18px;margin-bottom:28px;
}
.method-modalidad span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-light);font-weight:700;}

.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);}
@media(max-width:760px){.method-grid{grid-template-columns:1fr;}}
.method-feature{
  background:var(--black-2);padding:28px;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.method-feature:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.3);background:var(--black-3);}
.mf-icon{width:38px;height:38px;border-radius:50%;border:1px solid var(--blue-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.mf-icon svg{width:19px;height:19px;}
.method-feature h4{font-size:15px;font-weight:700;color:var(--white);margin-bottom:8px;}
.method-feature p{font-size:13px;color:var(--silver);line-height:1.65;}

/* ============ Page hero (sub-pages, smaller than homepage hero) ============ */
.page-hero{background:var(--black);color:var(--white);padding:150px 0 60px;}
.page-hero h1{font-size:clamp(30px,4.5vw,46px);font-weight:700;line-height:1.1;max-width:760px;}
.page-hero p{font-size:16px;color:var(--silver);max-width:620px;margin-top:16px;line-height:1.6;font-weight:300;}

/* ============ Nav active state ============ */
.nav-links a.active{color:var(--white);position:relative;}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--blue-light);}

/* ============ Mobile nav ============ */
@media(max-width:860px){
  .nav-links{
    display:none;position:fixed;top:80px;left:0;right:0;background:var(--black);
    flex-direction:column;gap:0;padding:10px 28px 20px;border-bottom:1px solid rgba(255,255,255,.1);
  }
  .nav-links.mobile-open{display:flex;}
  .nav-links a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-links a.active::after{display:none;}
}
