:root{
  --orange:#C48543;
  --cream:#F3EFE7;
  --dark:#0a0a0a;
  --body:#cfc9c0;
}

*{ box-sizing:border-box; margin:0; padding:0; }

body{
  font-family:'Poppins', sans-serif;
  background:var(--dark);
}

/* ---------- HERO ---------- */

.hero{
  position:relative;
  width:100%;
  aspect-ratio: 1920 / 1080;
  display:flex;
  background:var(--dark);
}

.hero__text{
  position:relative;
  z-index:2;
  width:42%;
  flex-shrink:0;
  padding: 6.2vw 3vw 0 3.6vw;
  display:flex;
  flex-direction:column;
}

.hero__photo{
  position:relative;
  flex:1;
  background-image:url('assets/images/hero.jpg');
  background-size:cover;
  background-position: 62% 22%;
}

.hero__photo::after{
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height:22%;
  background:linear-gradient(to bottom, rgba(10,10,10,0) 0%, rgba(10,10,10,0.9) 100%);
}

.hero__seam{
  position:absolute;
  top:0; bottom:0;
  left:42%;
  width:13vw;
  background:linear-gradient(to right,
    rgba(10,10,10,1) 0%,
    rgba(10,10,10,0.75) 30%,
    rgba(10,10,10,0.4) 55%,
    rgba(10,10,10,0.12) 75%,
    rgba(10,10,10,0) 100%);
  z-index:2;
}

.logo-foco{
  font-weight:800;
  font-size:clamp(40px, 8.4vw, 129px);
  line-height:0.85;
  color:var(--orange);
  letter-spacing:-2px;
}

.logo-sub{
  font-weight:500;
  font-size:clamp(10px, 1.45vw, 22px);
  letter-spacing:0.32em;
  color:var(--orange);
  margin-top:0.5em;
}

.divider{
  width:3.9vw;
  max-width:60px;
  height:3px;
  background:var(--orange);
  margin:1.8vw 0;
}

h1{
  font-weight:300;
  font-size:clamp(24px, 3.8vw, 58px);
  line-height:1.02;
  color:var(--cream);
  margin-bottom:1.8vw;
}
h1 b{ font-weight:700; }

p.lead{
  font-weight:400;
  font-size:clamp(13px, 1.78vw, 27px);
  line-height:1.4;
  color:var(--body);
  max-width:30ch;
  margin-bottom:2.2vw;
}
p.lead b{ color:var(--orange); font-weight:600; }

.cta{
  display:inline-flex;
  align-items:center;
  gap:0.9vw;
  width:fit-content;
  border:1.5px solid var(--orange);
  border-radius:8px;
  padding:1.15vw 1.9vw;
  font-weight:600;
  font-size:clamp(11px, 1.25vw, 19px);
  letter-spacing:0.02em;
  color:var(--cream);
  text-decoration:none;
  background:rgba(0,0,0,0.15);
  transition: background 0.2s ease;
}
.cta:hover{ background:rgba(196,133,67,0.15); }

.cta .wa-icon{
  width:2.1vw; height:2.1vw;
  min-width:22px; min-height:22px;
  border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.cta .wa-icon svg{ width:60%; height:60%; }
.cta .arrow{ color:var(--orange); font-size:1.2em; }

/* ---------- QUOTE / ABOUT STRIP ---------- */

.quote{
  position:relative;
  background:#0d0d0e;
  padding:5.2vw 4vw;
  text-align:center;
  overflow:hidden;
}

.quote__corner{
  position:absolute;
  right:0; bottom:0;
  width:min(420px, 34vw);
  height:100%;
  background-image:url('assets/images/quote-corner.jpg');
  background-size:cover;
  background-position:left center;
  opacity:0.9;
}

.quote__corner::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(13,13,14,0.55) 0%, rgba(13,13,14,0) 30%);
}

.quote__fade{
  position:absolute; inset:0;
  background:linear-gradient(to right,
    rgba(13,13,14,1) 0%,
    rgba(13,13,14,0.95) 45%,
    rgba(13,13,14,0.75) 62%,
    rgba(13,13,14,0.35) 78%,
    rgba(13,13,14,0) 100%);
}

.quote__inner{
  position:relative;
  z-index:2;
  max-width:900px;
  margin:0 auto;
}

.quote h2{
  font-weight:600;
  font-size:clamp(15px, 1.95vw, 30px);
  letter-spacing:0.05em;
  color:var(--orange);
  line-height:1.5;
}

.quote .rule{
  width:4.6vw;
  max-width:70px;
  height:2px;
  background:var(--orange);
  margin:1.4vw auto;
}

.quote p{
  font-weight:400;
  font-size:clamp(12px, 1.32vw, 20px);
  line-height:1.6;
  color:var(--cream);
}
.quote p b{ font-weight:700; }
.quote p .accent{ color:var(--orange); }

/* ---------- MOBILE ---------- */

@media (max-width:820px){
  .hero{ aspect-ratio:auto; flex-direction:column; }
  .hero__text{ width:100%; order:2; padding:32px 24px 40px; }
  .hero__photo{ order:1; width:100%; aspect-ratio:4/3; background-position:50% 20%; }
  .hero__seam{ display:none; }
  .quote__corner{ display:none; }
}

/* ---------- SOBRE FOCO ---------- */

.about{
  background:#F7F6F4;
}

.about__photo{
  width:100%;
  aspect-ratio: 1536 / 417;
  background-image:url('assets/images/s2.jpg');
  background-size:cover;
  background-position:center;
}

.about__content{
  padding: 2.4vw 6.1vw 4vw;
}

.about__top{
  display:flex;
  gap:4vw;
  margin-bottom: 3vw;
}

.about__headline{
  flex:0 0 42%;
}

.about__label{
  font-family:'Poppins', sans-serif;
  font-weight:600;
  font-size:clamp(11px, 1.05vw, 16px);
  letter-spacing:0.12em;
  color:#8B3E16;
  margin-bottom:0.9em;
}

.about__rule{
  width:1.6vw;
  max-width:24px;
  height:3px;
  background:#8B3E16;
  margin-bottom:1.1vw;
}

.about__headline h2{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:clamp(32px, 5.3vw, 81px);
  line-height:1.0;
  color:#0a0a0a;
}
.about__headline h2 span{ color:#8B3E16; }

.about__lead{
  flex:1;
  font-family:'Poppins', sans-serif;
  font-weight:400;
  font-size:clamp(14px, 1.62vw, 25px);
  line-height:1.55;
  color:#535353;
  align-self:center;
}
.about__lead b{ color:#0a0a0a; font-weight:600; }

.about__row{
  display:flex;
  align-items:center;
  gap:2.6vw;
  margin-bottom:2.6vw;
}

.about__icons{
  display:flex;
  flex:1;
}

.about__icon{
  flex:1;
  padding: 0 1.6vw;
  border-right:1px solid #e2ddd6;
}
.about__icon:first-child{ padding-left:0; }
.about__icon:last-child{ border-right:none; }

.about__icon svg{
  width:clamp(24px, 2.7vw, 41px);
  height:clamp(24px, 2.7vw, 41px);
  color:#8B3E16;
  margin-bottom:0.9vw;
}

.about__icon h3{
  font-family:'Poppins', sans-serif;
  font-weight:600;
  font-size:clamp(13px, 1.3vw, 20px);
  color:#0a0a0a;
  margin-bottom:0.5vw;
}

.about__icon p{
  font-family:'Poppins', sans-serif;
  font-weight:400;
  font-size:clamp(10px, 1.02vw, 15.5px);
  line-height:1.5;
  color:#6b6b6b;
}

.about__cta{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:0.8vw;
  background:#8B3E16;
  color:#F7F6F4;
  font-family:'Poppins', sans-serif;
  font-weight:600;
  font-size:clamp(11px, 1.15vw, 17px);
  letter-spacing:0.03em;
  text-decoration:none;
  padding:1.15vw 2vw;
  border-radius:8px;
  white-space:nowrap;
}
.about__cta .arrow{ font-size:1.1em; }

.about__divider{
  height:1px;
  background:#e2ddd6;
  margin-bottom:2.6vw;
}

.about__footnote{
  display:flex;
  align-items:flex-start;
  gap:1vw;
}
.about__footnote svg{
  width:clamp(16px,1.5vw,22px);
  height:clamp(16px,1.5vw,22px);
  color:#8B3E16;
  flex-shrink:0;
  margin-top:0.3vw;
}
.about__footnote p{
  font-family:'Poppins', sans-serif;
  font-size:clamp(12px, 1.28vw, 19.5px);
  line-height:1.5;
  color:#535353;
  max-width:62ch;
}
.about__footnote p b{ color:#0a0a0a; font-weight:600; }

@media (max-width:820px){
  .about__content{ padding: 24px 24px 32px; }
  .about__top{ flex-direction:column; gap:12px; margin-bottom:20px; }
  .about__headline{ flex:none; }
  .about__headline h2{ font-size:30px; line-height:1.05; }
  .about__lead{ font-size:14px; line-height:1.4; }
  .about__row{ flex-direction:column; align-items:stretch; gap:16px; margin-bottom:16px; }
  .about__icons{ flex-wrap:wrap; }
  .about__icon{
    flex:0 0 50%;
    border-right:none;
    border-bottom:1px solid #e2ddd6;
    padding:10px 12px 12px 0;
  }
  .about__icon svg{ width:22px; height:22px; margin-bottom:6px; }
  .about__icon h3{ font-size:14px; margin-bottom:2px; }
  .about__icon p{ font-size:12px; line-height:1.35; }
  .about__icon:nth-child(2n){ padding-left:16px; }
  .about__cta{ justify-content:center; }
  .about__divider{ margin-bottom:16px; }
}

/* ---------- PROGRAMAS DE FORMACIÓN ---------- */

.programs{
  background:#000;
  padding: 2.6vw 2.2vw 3.4vw;
}

.programs__topbar{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:3.4vw;
}

.programs__logo{ display:flex; align-items:baseline; gap:0.8vw; }
.programs__logo-foco{
  font-family:'Poppins', sans-serif; font-weight:800;
  font-size:clamp(20px,2.4vw,37px); color:#E0812B; letter-spacing:-1px;
}
.programs__logo-sep{ width:1px; height:1.4vw; min-height:16px; background:#E0812B; opacity:0.6; }
.programs__logo-sub{
  font-family:'Poppins', sans-serif; font-weight:500;
  font-size:clamp(9px,0.85vw,13px); letter-spacing:0.25em; color:#E0812B;
}
.programs__badge{
  font-family:'Poppins', sans-serif; font-weight:500;
  font-size:clamp(9px,0.8vw,12.5px); letter-spacing:0.14em; color:#f0ede7;
}

.programs__body{
  display:flex;
  gap:2.2vw;
  align-items:stretch;
}

.programs__intro{
  flex:0 0 25.5%;
  padding-top:0.6vw;
}
.programs__label{
  font-family:'Poppins', sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.1em; color:#E0812B;
  margin-bottom:0.9em;
}
.programs__rule{ width:1.6vw; max-width:24px; height:3px; background:#E0812B; margin-bottom:1.3vw; }

.programs__intro h2{
  font-family:'Lora', serif;
  font-weight:600;
  font-size:clamp(28px,3.6vw,48px);
  line-height:1.18;
  color:#f5f2ec;
  margin-bottom:1.2vw;
}
.programs__intro h2 span{ color:#E0812B; }

.programs__lead{
  font-family:'Poppins', sans-serif;
  font-size:clamp(13px,1.25vw,18px);
  line-height:1.5;
  color:#c9c4bc;
  margin-bottom:1.8vw;
}
.programs__lead b{ color:#E0812B; font-weight:600; }

.programs__note{
  display:flex;
  align-items:flex-start;
  gap:1vw;
  padding-top:1.4vw;
}
.programs__note svg{ width:2.2vw; height:2.2vw; min-width:26px; min-height:26px; color:#E0812B; flex-shrink:0; }
.programs__note-rule{ width:1px; align-self:stretch; background:#3a3630; flex-shrink:0; }
.programs__note p{
  font-family:'Poppins', sans-serif;
  font-size:clamp(11.5px,1.05vw,15.5px);
  line-height:1.5;
  color:#e4e0d8;
}
.programs__note .accent{ color:#E0812B; }

.programs__cards{
  flex:1;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1vw;
}

.card{
  display:flex;
  flex-direction:column;
  border:1px solid #4a3f2f;
  border-radius:10px;
  padding:1.6vw 1.4vw;
  text-decoration:none;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.card:hover, .card:active{
  border-color:#E0812B;
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(224,129,43,0.18);
  background: rgba(224,129,43,0.05);
}
.card:active{ transform: scale(0.97); }
.card:hover .card__icon, .card:active .card__icon{ background:#E0812B; transform:scale(1.08); }
.card:hover .card__icon svg, .card:active .card__icon svg{ color:#0a0a0a; }
.card:hover .card__cta, .card:active .card__cta{ background:#f3974a; gap:0.4em; }
.card:hover .card__cta .arrow, .card:active .card__cta .arrow{ transform: translateX(4px); }

.card__icon{
  width:clamp(44px,4.4vw,68px);
  height:clamp(44px,4.4vw,68px);
  border:1.5px solid #E0812B;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.3vw;
  transition: background 0.25s ease, transform 0.25s ease;
}
.card__icon svg{ width:46%; height:46%; color:#E0812B; }

.card__tag{
  font-family:'Poppins', sans-serif; font-weight:600;
  font-size:clamp(10px,0.85vw,13px); letter-spacing:0.12em; color:#E0812B;
  margin-bottom:0.6vw;
}
.card h3{
  font-family:'Poppins', sans-serif; font-weight:600;
  font-size:clamp(16px,1.6vw,25px); line-height:1.2; color:#f5f2ec;
  margin-bottom:1vw;
}
.card__desc{
  font-family:'Poppins', sans-serif;
  font-size:clamp(11.5px,1.02vw,15px); line-height:1.5; color:#b7b2a9;
  margin-bottom:auto;
  padding-bottom:1.6vw;
}
.card__divider{ height:1px; background:#3a3630; margin-bottom:1.2vw; }
.card__status{
  font-family:'Poppins', sans-serif; font-weight:500;
  font-size:clamp(10px,0.85vw,13px); letter-spacing:0.08em; color:#7a7469;
}
.card__status--active{ color:#E0812B; }
.card__cta{
  margin-top:1vw;
  display:flex; align-items:center; justify-content:space-between;
  background:#E0812B;
  color:#0a0a0a;
  font-family:'Poppins', sans-serif; font-weight:700;
  font-size:clamp(11px,0.98vw,14.5px); line-height:1.3;
  padding:0.85vw 1.1vw;
  border-radius:7px;
  transition: background 0.25s ease, gap 0.25s ease;
}
.card__cta .arrow{ font-size:1.2em; transition: transform 0.25s ease; }

/* cards without active CTA get a little vertical breathing room at the bottom */
.card:not(.card--active){ padding-bottom:1.9vw; }

/* ---------- WHATSAPP STRIP ---------- */

.programs__whatsapp{
  display:flex;
  align-items:center;
  gap:1.6vw;
  margin-top:2.8vw;
  padding:1.6vw 2vw;
  border:1px solid #4a3f2f;
  border-radius:12px;
  text-decoration:none;
  transition: border-color 0.25s ease, background 0.25s ease;
}
.programs__whatsapp:hover{ border-color:#E0812B; background:rgba(224,129,43,0.04); }

.wa-bubble{ width:clamp(36px,3.3vw,52px); height:clamp(36px,3.3vw,52px); color:#E0812B; flex-shrink:0; }

.programs__whatsapp-text{ flex:0 0 30%; }
.programs__whatsapp-text .q{
  font-family:'Poppins', sans-serif; font-weight:600;
  font-size:clamp(14px,1.35vw,20px); color:#f5f2ec; margin-bottom:0.3em;
}
.programs__whatsapp-text .a{
  font-family:'Poppins', sans-serif;
  font-size:clamp(11.5px,1vw,14.5px); line-height:1.4; color:#b7b2a9;
}

.programs__whatsapp-btn{
  flex:1;
  display:flex; align-items:center; justify-content:center; gap:0.8vw;
  background:#2C6621;
  color:#f5f2ec;
  font-family:'Poppins', sans-serif; font-weight:700;
  font-size:clamp(12px,1.15vw,17px); letter-spacing:0.02em;
  padding:1vw 1.6vw;
  border-radius:9px;
  transition: background 0.25s ease, transform 0.25s ease;
}
.programs__whatsapp-btn svg{ width:1.5em; height:1.5em; }
.programs__whatsapp:hover .programs__whatsapp-btn{ background:#357a29; transform:scale(1.015); }

.programs__whatsapp-note{
  flex:0 0 16%;
  display:flex; align-items:flex-start; gap:0.6vw;
  font-family:'Poppins', sans-serif;
  font-size:clamp(11px,0.98vw,14.5px); line-height:1.4; color:#e4e0d8;
  border-left:1px solid #4a3f2f;
  padding-left:1.6vw;
}
.programs__whatsapp-note svg{ width:1.3em; height:1.3em; color:#3fbf5f; flex-shrink:0; margin-top:0.1em; }
.programs__whatsapp-note .accent{ color:#3fbf5f; }

@media (max-width:900px){
  .programs__body{ flex-direction:column; }
  .programs__intro{ flex:none; }
  .programs__cards{ grid-template-columns:repeat(2,1fr); }
  .programs__whatsapp{ flex-direction:column; align-items:flex-start; gap:16px; }
  .programs__whatsapp-text{ flex:none; }
  .programs__whatsapp-btn{ width:100%; }
  .programs__whatsapp-note{ border-left:none; padding-left:0; }
}

@media (max-width:560px){
  .programs__cards{ grid-template-columns:1fr; }
}

/* ---------- FOOTER ---------- */

.site-footer{
  background:#000;
  padding: 3vw 2.2vw 1.6vw;
  border-top:1px solid #2a2520;
}

.site-footer__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:2vw;
  flex-wrap:wrap;
  margin-bottom:2.2vw;
}

.site-footer__logo{ display:flex; align-items:baseline; gap:0.7vw; margin-bottom:0.6vw; }
.site-footer__logo-foco{
  font-family:'Poppins', sans-serif; font-weight:800;
  font-size:clamp(20px,2.1vw,32px); color:#E0812B; letter-spacing:-1px;
}
.site-footer__logo-sep{ width:1px; height:1.2vw; min-height:14px; background:#E0812B; opacity:0.6; }
.site-footer__logo-sub{
  font-family:'Poppins', sans-serif; font-weight:500;
  font-size:clamp(9px,0.75vw,11.5px); letter-spacing:0.22em; color:#E0812B;
}
.site-footer__tagline{
  font-family:'Poppins', sans-serif;
  font-size:clamp(12px,1vw,15px); color:#9b968d;
}

.site-footer__contact{
  display:flex;
  gap:2.4vw;
  flex-wrap:wrap;
}
.site-footer__link{
  display:flex; align-items:center; gap:0.6vw;
  font-family:'Poppins', sans-serif; font-weight:500;
  font-size:clamp(12px,1vw,15px);
  color:#e4e0d8;
  text-decoration:none;
  transition: color 0.2s ease;
}
.site-footer__link svg{ width:1.3em; height:1.3em; color:#E0812B; flex-shrink:0; }
a.site-footer__link:hover{ color:#E0812B; }
.site-footer__link--static{ color:#9b968d; }
.site-footer__link--static svg{ color:#9b968d; }

.site-footer__rule{ height:1px; background:#2a2520; margin-bottom:1.4vw; }

.site-footer__bottom p{
  font-family:'Poppins', sans-serif;
  font-size:clamp(10.5px,0.85vw,13px);
  color:#6f6a61;
  text-align:center;
}

@media (max-width:700px){
  .site-footer__top{ flex-direction:column; }
  .site-footer__contact{ flex-direction:column; gap:12px; }
}

/* ---------- PLACEHOLDER (cursos en preparación) ---------- */

.placeholder-page{
  min-height:100vh;
  background:#000;
  display:flex;
  flex-direction:column;
}
.placeholder-page__header{
  padding: 2vw 2.2vw;
}
.placeholder-page__logo{
  display:inline-flex; align-items:baseline; gap:0.6vw;
  text-decoration:none;
}
.placeholder-page__logo span:first-child{
  font-family:'Poppins',sans-serif; font-weight:800;
  font-size:clamp(20px,1.8vw,28px); color:#E0812B; letter-spacing:-1px;
}
.placeholder-page__logo span:last-child{
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(9px,0.7vw,11px); letter-spacing:0.22em; color:#9b968d;
}

.placeholder-page__main{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 4vw 6vw;
}
.placeholder-page__inner{ max-width:640px; }

.placeholder-page__tag{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.14em; color:#E0812B;
  margin-bottom:1em;
}
.placeholder-page__inner h1{
  font-family:'Poppins',sans-serif; font-weight:700;
  font-size:clamp(32px,4.2vw,58px); line-height:1.1; color:#f5f2ec;
  margin-bottom:0.6em;
}
.placeholder-page__inner p.desc{
  font-family:'Poppins',sans-serif; font-size:clamp(14px,1.4vw,20px);
  line-height:1.5; color:#b7b2a9; margin-bottom:1.8em;
}
.placeholder-page__status{
  display:inline-block;
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,14px); letter-spacing:0.1em; color:#7a7469;
  border:1px solid #4a3f2f; border-radius:20px;
  padding:0.5em 1.2em;
  margin-bottom:2em;
}
.placeholder-page__cta{
  display:inline-flex; align-items:center; gap:0.7vw;
  background:#2C6621; color:#f5f2ec; text-decoration:none;
  font-family:'Poppins',sans-serif; font-weight:700;
  font-size:clamp(13px,1.15vw,17px);
  padding:0.95vw 1.8vw; border-radius:9px;
  transition: background 0.25s ease, transform 0.25s ease;
}
.placeholder-page__cta svg{ width:1.4em; height:1.4em; }
.placeholder-page__cta:hover{ background:#357a29; transform:scale(1.02); }

.placeholder-page__back{
  display:block;
  margin-top:2.4em;
  font-family:'Poppins',sans-serif; font-size:clamp(12px,1vw,14.5px);
  color:#7a7469; text-decoration:none;
}
.placeholder-page__back:hover{ color:#E0812B; }

/* ---------- CURSO INICIAL — nav ---------- */

.course-nav{
  display:flex; justify-content:space-between; align-items:center;
  padding:2vw 2.2vw;
  background:#000;
}
.course-nav__logo{
  display:inline-flex; align-items:baseline; gap:0.6vw; text-decoration:none;
}
.course-nav__logo span:first-child{
  font-family:'Poppins',sans-serif; font-weight:800;
  font-size:clamp(18px,1.7vw,26px); color:#E0812B; letter-spacing:-1px;
}
.course-nav__logo span:last-child{
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(8px,0.68vw,10.5px); letter-spacing:0.22em; color:#E0812B;
}
.course-nav__back{
  font-family:'Poppins',sans-serif; font-size:clamp(11px,0.95vw,14px);
  color:#9b968d; text-decoration:none;
}
.course-nav__back:hover{ color:#E0812B; }

/* shared section label/rule (reused across course sections) */
.section-label{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.12em; color:#E0812B;
  margin-bottom:0.9em; text-align:center;
}
.section-rule{
  width:1.6vw; max-width:24px; height:3px; background:#E0812B;
  margin:0 auto 1.6vw;
}

/* ---------- HERO DEL CURSO ---------- */

.course-hero{
  background:#000;
  padding: 3vw 6vw 4vw;
  text-align:center;
}
.course-hero__label{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.14em; color:#E0812B;
  margin-bottom:0.8em;
}
.course-hero__rule{ width:1.6vw; max-width:24px; height:3px; background:#E0812B; margin:0 auto 1.4vw; }
.course-hero h1{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(36px,5.4vw,74px); line-height:1.08; color:#f5f2ec;
  margin-bottom:0.6em;
}
.course-hero h1 span{ color:#E0812B; }
.course-hero__lead{
  font-family:'Poppins',sans-serif; font-size:clamp(14px,1.5vw,21px);
  line-height:1.55; color:#b7b2a9; max-width:640px; margin:0 auto 2.6vw;
}

.course-facts{
  display:flex; justify-content:center; flex-wrap:wrap; gap:2vw;
  margin-bottom:2.8vw;
}
.course-fact{
  display:flex; align-items:center; gap:0.7vw;
  border:1px solid #2a2520; border-radius:10px;
  padding:0.9vw 1.4vw;
}
.course-fact svg{ width:1.7em; height:1.7em; color:#E0812B; flex-shrink:0; }
.course-fact__label{
  display:block; font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(9px,0.8vw,12px); letter-spacing:0.08em; color:#8a857c; text-align:left;
}
.course-fact__value{
  display:block; font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(12.5px,1.05vw,16px); color:#f0ede7; text-align:left;
}

.course-hero__cta{ display:flex; justify-content:center; gap:1.2vw; flex-wrap:wrap; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.6vw;
  font-family:'Poppins',sans-serif; font-weight:700;
  font-size:clamp(12.5px,1.1vw,16px);
  padding:1vw 2vw; border-radius:9px;
  text-decoration:none;
  transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}
.btn svg{ width:1.3em; height:1.3em; }
.btn--solid{ background:#E0812B; color:#0a0a0a; border:none; }
.btn--solid:hover{ background:#f3974a; transform:translateY(-2px); }
.btn--outline{ background:transparent; color:#f5f2ec; border:1.5px solid #E0812B; }
.btn--outline:hover{ background:rgba(224,129,43,0.08); transform:translateY(-2px); }
.btn--full{ width:100%; }

/* ---------- PARA QUIÉN ES ---------- */

.course-audience{ background:#0d0c0b; padding:3.4vw 6vw; }
.course-audience__inner{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2.4vw;
  max-width:1200px; margin:0 auto;
}
.course-audience__item{ text-align:center; }
.course-audience__item svg{ width:2.4vw; height:2.4vw; min-width:30px; min-height:30px; color:#E0812B; margin-bottom:1vw; }
.course-audience__item p{
  font-family:'Poppins',sans-serif; font-size:clamp(13px,1.15vw,17px);
  line-height:1.5; color:#d8d3c9;
}
.course-audience__item p b{ color:#f5f2ec; }

/* ---------- QUÉ TE LLEVÁS ---------- */

.course-includes{ background:#000; padding:4vw 6vw; }
.course-includes__head{ text-align:center; margin-bottom:2.8vw; }
.course-includes__head h2{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(28px,3.4vw,44px); color:#f5f2ec;
}
.course-includes__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.4vw;
  max-width:1300px; margin:0 auto;
}
.include-card{
  border:1px solid #2a2520; border-radius:10px; padding:1.8vw 1.4vw;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.include-card:hover{ border-color:#E0812B; transform:translateY(-4px); }
.include-card svg{ width:2vw; height:2vw; min-width:26px; min-height:26px; color:#E0812B; margin-bottom:1vw; }
.include-card h3{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(14px,1.25vw,18px); color:#f5f2ec; margin-bottom:0.5vw;
}
.include-card p{
  font-family:'Poppins',sans-serif; font-size:clamp(11.5px,1vw,14.5px);
  line-height:1.5; color:#a8a399;
}

/* ---------- TEMARIO ---------- */

.course-syllabus{ background:#0d0c0b; padding:4vw 6vw; }
.course-syllabus__head{ text-align:center; margin-bottom:3vw; }
.course-syllabus__head h2{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(28px,3.4vw,44px); color:#f5f2ec; margin-bottom:0.6vw;
}
.course-syllabus__lead{
  font-family:'Poppins',sans-serif; font-size:clamp(13px,1.2vw,17px);
  color:#b7b2a9; max-width:600px; margin:0 auto;
}
.syllabus-list{ max-width:900px; margin:0 auto; display:flex; flex-direction:column; }
.syllabus-item{
  display:flex; gap:1.8vw; padding:1.8vw 0; border-bottom:1px solid #2a2520;
}
.syllabus-item:last-child{ border-bottom:none; }
.syllabus-item__num{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(24px,2.6vw,34px); color:#E0812B; flex-shrink:0; width:2.2em;
}
.syllabus-item__body h3{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(16px,1.5vw,21px); color:#f5f2ec; display:inline;
}
.syllabus-item__range{
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(10.5px,0.9vw,13px); letter-spacing:0.05em; color:#8a857c;
  margin-left:0.8em;
}
.syllabus-item__body p{
  font-family:'Poppins',sans-serif; font-size:clamp(12.5px,1.05vw,15.5px);
  line-height:1.55; color:#a8a399; margin-top:0.5vw;
}

/* ---------- TESTIMONIOS placeholder ---------- */

.course-testimonials{
  background:#0d0c0b;
  padding:4vw 6vw;
  text-align:center;
}
.course-testimonials__label{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.12em; color:#E0812B;
  margin-bottom:0.9em;
}
.course-testimonials__card{
  max-width:620px; margin:0 auto;
  border:1px solid #2a2520; border-radius:14px;
  padding:2.6vw 2.4vw;
}
.course-testimonials svg{ width:2.2vw; height:2.2vw; min-width:26px; color:#E0812B; margin-bottom:1.1vw; }
.course-testimonials h3{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(18px,1.9vw,26px); color:#f5f2ec; margin-bottom:0.6vw;
}
.course-testimonials p{
  font-family:'Poppins',sans-serif; font-size:clamp(12.5px,1.05vw,15.5px);
  line-height:1.55; color:#a8a399; max-width:480px; margin:0 auto;
}

/* ---------- PRECIO + RESERVA ---------- */

.course-price{
  background:#0d0c0b; padding:4vw 6vw;
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:3vw;
  max-width:1300px; margin:0 auto;
}
.course-price__card{
  border:1px solid #2a2520; border-radius:14px; padding:2.4vw;
  text-align:center; align-self:start;
}
.course-price__amount{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(38px,4vw,54px); color:#f5f2ec; margin:0.3em 0 0.2em;
}
.course-price__amount span{
  font-family:'Poppins',sans-serif; font-weight:400;
  font-size:0.32em; color:#a8a399;
}
.course-price__note{
  font-family:'Poppins',sans-serif; font-size:clamp(11px,0.95vw,13.5px);
  color:#7a7469; margin-bottom:1.6vw;
}
.course-price__list{
  list-style:none; text-align:left; display:flex; flex-direction:column; gap:0.7vw;
}
.course-price__list li{
  font-family:'Poppins',sans-serif; font-size:clamp(12px,1.02vw,15px);
  color:#d8d3c9; padding-left:1.3em; position:relative;
}
.course-price__list li::before{
  content:'—'; position:absolute; left:0; color:#E0812B;
}

.course-form{ border:1px solid #2a2520; border-radius:14px; padding:2.4vw; }
.course-form h2{
  font-family:'Poppins',sans-serif; font-weight:700;
  font-size:clamp(20px,1.9vw,28px); color:#f5f2ec; margin-bottom:0.4vw;
}
.course-form__lead{
  font-family:'Poppins',sans-serif; font-size:clamp(12.5px,1.05vw,15.5px);
  color:#a8a399; margin-bottom:1.6vw;
}
.course-form form{ display:flex; flex-direction:column; gap:1vw; }
.course-form label{
  display:flex; flex-direction:column; gap:0.4vw;
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(11.5px,0.98vw,14px); color:#c9c4bc;
}
.course-form label .opt{ color:#7a7469; font-weight:400; }
.course-form input{
  font-family:'Poppins',sans-serif; font-size:clamp(13px,1.05vw,15px);
  background:#000; border:1px solid #3a342c; border-radius:7px;
  padding:0.85vw 1vw; color:#f5f2ec; outline:none;
  transition: border-color 0.2s ease;
}
.course-form input:focus{ border-color:#E0812B; }
.course-form__status{
  font-family:'Poppins',sans-serif; font-size:clamp(11.5px,0.98vw,14px);
  min-height:1.4em; margin-top:0.4vw;
}
.course-form__status.ok{ color:#3fbf5f; }
.course-form__status.err{ color:#e05a3f; }

/* ---------- FAQ ---------- */

.course-faq{ background:#000; padding:4vw 6vw; text-align:center; }
.faq-item{
  max-width:760px; margin:0 auto; text-align:left;
  padding:1.6vw 0; border-bottom:1px solid #2a2520;
}
.faq-item h3{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(14.5px,1.3vw,19px); color:#f5f2ec; margin-bottom:0.5vw;
}
.faq-item p{
  font-family:'Poppins',sans-serif; font-size:clamp(12.5px,1.05vw,15.5px);
  line-height:1.55; color:#a8a399;
}

@media (max-width:900px){
  .course-audience__inner{ grid-template-columns:1fr; gap:32px; }
  .course-includes__grid{ grid-template-columns:repeat(2,1fr); }
  .course-price{ grid-template-columns:1fr; }
  .course-hero__cta{ flex-direction:column; align-items:stretch; }
}
@media (max-width:560px){
  .course-includes__grid{ grid-template-columns:1fr; }
}

/* ---------- NAV COMPARTIDO (todas las páginas) ---------- */

.site-nav{
  display:flex; justify-content:space-between; align-items:center;
  padding:1.7vw 2.2vw;
  background:#000;
  border-bottom:1px solid #1a1712;
}
.site-nav__logo{
  display:inline-flex; align-items:baseline; gap:0.6vw; text-decoration:none;
}
.site-nav__logo span:first-child{
  font-family:'Poppins',sans-serif; font-weight:800;
  font-size:clamp(18px,1.7vw,26px); color:#E0812B; letter-spacing:-1px;
}
.site-nav__logo span:last-child{
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(8px,0.68vw,10.5px); letter-spacing:0.22em; color:#E0812B;
}
.site-nav__links{ display:flex; align-items:center; gap:2vw; }
.site-nav__links a{
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:clamp(12px,1vw,15px); color:#c9c4bc; text-decoration:none;
  transition: color 0.2s ease;
}
.site-nav__links a:hover{ color:#E0812B; }
.site-nav__links a.is-active{ color:#E0812B; }

@media (max-width:640px){
  .site-nav{ flex-direction:column; gap:12px; align-items:flex-start; }
  .site-nav__links{ gap:20px; }
}

/* ---------- CATÁLOGO DE PROGRAMAS ---------- */

.catalog-hero{
  background:#000; padding:3.6vw 6vw 2.4vw; text-align:center;
}
.catalog-hero h1{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(32px,4.4vw,58px); color:#f5f2ec; margin-bottom:0.5vw;
}
.catalog-hero p{
  font-family:'Poppins',sans-serif; font-size:clamp(13px,1.3vw,18px);
  color:#b7b2a9; max-width:560px; margin:0 auto;
}
.catalog-group{ background:#000; padding:0 6vw 4vw; }
.catalog-group__label{
  display:flex; align-items:center; gap:1vw;
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.12em; color:#E0812B;
  margin-bottom:1.6vw; padding-top:2vw;
}
.catalog-group__label::after{
  content:''; flex:1; height:1px; background:#2a2520;
}
.catalog-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.4vw;
}
.catalog-empty{
  border:1px dashed #2a2520; border-radius:10px; padding:2.4vw;
  text-align:center;
}
.catalog-empty p{
  font-family:'Poppins',sans-serif; font-style:italic;
  font-size:clamp(12.5px,1.1vw,16px); color:#7a7469;
}

@media (max-width:900px){ .catalog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .catalog-grid{ grid-template-columns:1fr; } }

/* ---------- BIO DEL INSTRUCTOR ---------- */

.instructor{
  background:#0d0c0b; padding:4vw 6vw;
  display:grid; grid-template-columns:0.55fr 1.45fr; gap:3vw; align-items:center;
  max-width:1200px; margin:0 auto;
}
.instructor__photo{
  width:100%; aspect-ratio:1/1; border-radius:12px; object-fit:cover;
  filter:grayscale(15%);
}
.instructor__label{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(11px,1vw,15px); letter-spacing:0.12em; color:#E0812B;
  margin-bottom:0.8em;
}
.instructor h2{
  font-family:'Lora',serif; font-weight:600;
  font-size:clamp(24px,2.6vw,36px); color:#f5f2ec; margin-bottom:0.6vw;
}
.instructor p{
  font-family:'Poppins',sans-serif; font-size:clamp(13px,1.15vw,17px);
  line-height:1.6; color:#b7b2a9; margin-bottom:1vw;
}
.instructor a{
  font-family:'Poppins',sans-serif; font-weight:600;
  font-size:clamp(12.5px,1.05vw,15.5px); color:#E0812B; text-decoration:none;
}
.instructor a:hover{ text-decoration:underline; }

@media (max-width:800px){
  .instructor{ grid-template-columns:1fr; text-align:center; }
  .instructor__photo{ max-width:220px; margin:0 auto; }
}
