:root{
  --navy:#303747;
  --navy-deep:#242835;
  --gold:#69B994;
  --gold-light:#9BD3B7;
  --ivory:#F7F9F8;
  --stone:#6B7280;
  --line:#E3E7E4;
  --success:#4E9575;
  --danger:#B4534A;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--navy);
  background:var(--ivory);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Poppins', sans-serif;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-0.01em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
  text-transform:uppercase;letter-spacing:0.14em;font-size:12.5px;font-weight:700;color:var(--gold);
}

/* ---------- LOGO LOCKUP ---------- */
.logo-lockup{display:flex;align-items:center;gap:9px;}
.logo-lockup img{height:28px;width:auto;}
.logo-lockup span{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;color:var(--navy);}
.logo-lockup.on-dark span{color:#F7F9F8;}

/* ---------- HEADER ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(247,249,248,0.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1180px;margin:0 auto;}
.nav-logo img{height:38px;}
.nav-links{display:flex;gap:30px;align-items:center;}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--navy);}
.nav-links a:hover{color:var(--gold);}
.nav-cta{background:var(--navy);color:#fff;padding:10px 20px;border-radius:22px;font-size:14px;font-weight:600;}
.nav-cta:hover{background:var(--gold);}

main{min-height:60vh;}

/* ---------- BOTONES ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:22px;font-weight:600;font-size:14.5px;letter-spacing:0.01em;cursor:pointer;border:none;transition:all .2s;}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-light);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--gold);color:var(--navy-deep);}
.btn-outline{background:transparent;color:var(--navy);border:1px solid var(--line);}
.btn-outline:hover{border-color:var(--navy);}
.btn-block{width:100%;}
.btn-sm{padding:9px 16px;font-size:13px;}
.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);}

/* ---------- SECCIONES GENERALES ---------- */
.section{padding:70px 32px;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h1,.section-head h2{font-size:32px;margin-top:12px;}
.section-head p{color:var(--stone);margin-top:14px;font-size:15.5px;}

.hero{position:relative;padding:90px 32px 100px;background:var(--navy);color:#fff;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 700px 500px at 82% 8%, rgba(105,185,148,0.28), transparent 60%);}
.hero-inner{max-width:1180px;margin:0 auto;position:relative;}
.hero h1{font-size:44px;color:#fff;margin:16px 0 20px;max-width:640px;}
.hero p{font-size:16.5px;color:#C7CCD6;max-width:520px;margin-bottom:30px;}

/* Hero con logo grande al lado (portada) */
.hero-split{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
.hero-mark{aspect-ratio:1/1;border:1px solid rgba(155,211,183,0.3);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:60px;background:rgba(255,255,255,0.03);}
.hero-mark img{width:100%;filter:drop-shadow(0 20px 40px rgba(0,0,0,0.35));}
.hero-stats{display:flex;gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,0.14);padding-top:26px;max-width:600px;}
.hero-stat{flex:1;padding-right:24px;}
.hero-stat .num{font-family:'Poppins',sans-serif;font-weight:700;font-size:24px;color:var(--gold-light);}
.hero-stat .lbl{font-size:12.5px;color:#9AA1AE;margin-top:4px;}

/* ---------- DOS CAMINOS ("Elige tu punto de partida") ---------- */
.paths{padding:90px 32px;background:var(--ivory);}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.path-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;transition:transform .25s,box-shadow .25s;}
.path-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(48,55,71,0.08);}
.path-card .tag{display:inline-block;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-dark, var(--success));font-weight:700;margin-bottom:16px;}
.path-card h3{font-size:23px;margin-bottom:12px;}
.path-card p{color:var(--stone);font-size:14.5px;margin-bottom:22px;}
.path-card ul{list-style:none;margin-bottom:24px;}
.path-card li{font-size:14px;color:var(--navy);padding:8px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;}
.path-card li:first-child{border-top:none;}
.path-card li::before{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.path-link{font-weight:600;font-size:14px;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:2px;}
.path-link:hover{color:var(--success);}

/* ---------- CAMPUS (Ã¡rea privada, estilo oscuro tipo Netflix) ---------- */
.private{padding:90px 32px;background:var(--navy-deep);color:#fff;}
.private .section-head h2{color:#fff;}
.private .section-head p{color:#9AA1AE;}
.private .eyebrow{color:var(--gold-light);}
.dash-tabs{display:flex;gap:28px;border-bottom:1px solid rgba(255,255,255,0.12);margin-bottom:32px;}
.dash-tabs a{display:inline-block;padding-bottom:14px;font-size:14px;color:#8B92A0;font-weight:500;border-bottom:2px solid transparent;}
.dash-tabs a:hover{color:#fff;}
.dash-tabs a.on{color:#fff;border-bottom:2px solid var(--gold);}
.my-courses{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.mc-card{background:var(--navy);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden;}
.mc-thumb{height:100px;background-size:cover;background-position:center;position:relative;}
.mc-progress-wrap{height:4px;background:rgba(255,255,255,0.12);}
.mc-progress{height:100%;background:var(--gold);}
.mc-info{padding:16px;}
.mc-info .t{font-size:13.5px;font-weight:600;margin-bottom:6px;}
.mc-info .p{font-size:11.5px;color:#8B92A0;}
.mc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(36,40,53,0.35);}
.mc-play span{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.92);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:13px;}

/* ---------- SOBRE MÃ ---------- */
.about{padding:90px 32px;background:#fff;border-top:1px solid var(--line);}
.about-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:center;}
.about-photo{aspect-ratio:3/4;background:var(--navy);position:relative;overflow:hidden;border-radius:20px;}
.about-photo img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:55%;opacity:0.5;}
.about-text h2{font-size:30px;margin-bottom:18px;}
.about-text p{color:var(--stone);font-size:14.5px;margin-bottom:14px;}
.about-creds{display:flex;gap:32px;margin-top:24px;}
.about-creds div .num{font-family:'Poppins',sans-serif;font-weight:700;font-size:24px;color:var(--success);}
.about-creds div .lbl{font-size:12px;color:var(--stone);}

/* ---------- FAQ ---------- */
.faq{padding:90px 32px;background:var(--ivory);border-top:1px solid var(--line);}
.faq-wrap{max-width:760px;}
.faq-item{border-top:1px solid var(--line);padding:14px 0;}
.faq-item summary{cursor:pointer;font-size:14.5px;font-weight:500;color:var(--navy);list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";float:right;color:var(--success);font-size:18px;}
.faq-item[open] summary::after{content:"â€“";}
.faq-item p{font-size:13.5px;color:var(--stone);margin-top:10px;}

/* ---------- CTA FINAL ---------- */
.cta-band{padding:80px 32px;background:var(--navy);text-align:center;color:#fff;}
.cta-band h2{color:#fff;font-size:30px;margin-bottom:8px;}
.cta-band .tagline{font-family:'Poppins',sans-serif;font-style:italic;color:var(--gold-light);font-size:16px;margin-bottom:20px;}
.cta-band p{color:#C7CCD6;margin-bottom:28px;max-width:460px;margin-left:auto;margin-right:auto;}

/* ---------- TARJETAS DE CURSO ---------- */
.filter-bar{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap;}
.filter-btn{padding:9px 20px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:500;color:var(--stone);border-radius:20px;}
.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.course-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.course-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(48,55,71,0.08);}
.course-thumb{height:140px;position:relative;display:flex;align-items:flex-end;padding:14px;background-size:cover;}
.course-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(48,55,71,0) 40%,rgba(36,40,53,0.75));}
.course-thumb .lvl{position:relative;z-index:1;color:#fff;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;background:rgba(105,185,148,0.9);padding:4px 9px;}
.course-body{padding:22px;flex:1;display:flex;flex-direction:column;}
.course-body .cat{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:8px;}
.course-body h3{font-size:18px;margin-bottom:8px;}
.course-body p{font-size:13.5px;color:var(--stone);margin-bottom:16px;flex:1;}
.course-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:13px;}
.course-meta .price{font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;}

/* ---------- FORMULARIOS ---------- */
.auth-box{max-width:420px;margin:70px auto;padding:40px;background:#fff;border:1px solid var(--line);border-radius:16px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:6px;}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:14.5px;font-family:'Inter',sans-serif;background:#fff;color:var(--navy);
}
.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--gold);outline-offset:1px;}
.form-note{font-size:12.5px;color:var(--stone);margin-top:22px;text-align:center;}

.alert{padding:14px 18px;font-size:14px;margin-bottom:22px;border:1px solid;border-radius:10px;}
.alert-error{background:#FBEEEC;border-color:var(--danger);color:#7A362F;}
.alert-success{background:#EEF3EE;border-color:var(--success);color:#385640;}

/* ---------- PANEL / DASHBOARD ---------- */
.dash-header{background:var(--navy-deep);color:#fff;padding:50px 32px;}
.dash-header h1{color:#fff;font-size:30px;}
.dash-header p{color:#9AA1AE;margin-top:8px;}
.my-course-row{display:flex;gap:20px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;}
.my-course-row .thumb{width:96px;height:64px;flex-shrink:0;background-size:cover;background-position:center;}
.my-course-row .info{flex:1;}
.my-course-row .info h4{font-size:16px;margin-bottom:6px;}
.progress-wrap{height:6px;background:var(--line);width:100%;max-width:280px;}
.progress-bar{height:100%;background:var(--gold);}
.my-course-row .pct{font-size:12.5px;color:var(--stone);margin-top:5px;}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;}

.empty-state{text-align:center;padding:60px 20px;color:var(--stone);}

/* ---------- CURSO / LECCION ---------- */
.course-hero{background:var(--navy);color:#fff;padding:60px 32px;}
.course-hero .cat{color:var(--gold-light);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;}
.course-hero h1{color:#fff;font-size:32px;margin:10px 0 14px;}
.course-hero p{color:#C7CCD6;max-width:600px;}
.course-detail{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;padding:56px 32px;max-width:1180px;margin:0 auto;}
.course-detail h2{font-size:15px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gold);margin:26px 0 12px;}
.course-detail h2:first-child{margin-top:0;}
.course-detail ul{list-style:none;}
.course-detail li{padding:8px 0;font-size:14.5px;display:flex;gap:10px;border-bottom:1px solid var(--line);}
.lesson-row{display:flex;align-items:center;gap:10px;}
.lesson-row .lock{color:var(--stone);}
.lesson-row .check{color:var(--success);font-weight:700;}
.side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;align-self:start;position:sticky;top:90px;}
.side-card .price{font-family:'Poppins',sans-serif;font-size:30px;}
.side-card .price-note{font-size:13px;color:var(--stone);margin-bottom:20px;}

.lesson-layout{display:grid;grid-template-columns:1fr 320px;gap:0;max-width:1280px;margin:0 auto;}
.lesson-main{padding:36px;}
.lesson-video{aspect-ratio:16/9;background:#000;margin-bottom:24px;}
.lesson-video iframe{width:100%;height:100%;border:none;}
.lesson-sidebar{background:#fff;border-left:1px solid var(--line);padding:26px;}
.lesson-sidebar h4{font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gold);margin-bottom:16px;}
.lesson-list-item{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;}
.lesson-list-item.active{color:var(--navy);font-weight:600;}
.lesson-list-item a{display:flex;gap:10px;}

/* ---------- CERTIFICADO / FACTURA (imprimibles) ---------- */
.print-toolbar{background:var(--navy-deep);color:#fff;padding:14px 32px;display:flex;justify-content:space-between;align-items:center;}
.print-toolbar a{color:#C7CCD6;font-size:13.5px;}
.doc-sheet{max-width:900px;margin:40px auto;background:#fff;border:10px solid var(--navy);border-radius:8px;padding:70px 60px;text-align:center;}
.doc-sheet img.logo{margin:0 auto 20px;width:130px;}
.doc-sheet .name{font-family:'Poppins',sans-serif;font-size:38px;margin:20px 0;}
.doc-sheet .course{font-family:'Poppins',sans-serif;font-size:26px;font-weight:600;margin-bottom:16px;}
.doc-sheet .meta{font-size:13px;color:var(--stone);margin-top:40px;}

.invoice-sheet{max-width:840px;margin:40px auto;background:#fff;border-radius:12px;padding:50px;}
.invoice-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px;}
.invoice-head img{height:44px;}
.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:26px;}
.invoice-parties h5{font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
table.invoice-table{width:100%;border-collapse:collapse;margin-bottom:24px;}
table.invoice-table th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-size:12.5px;}
table.invoice-table td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;}
.invoice-totals{margin-left:auto;max-width:280px;}
.invoice-totals div{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;}
.invoice-totals .total{font-weight:700;font-size:19px;border-top:1px solid var(--line);padding-top:10px;margin-top:6px;}

@media print{
  header, .print-toolbar, footer{display:none !important;}
  body{background:#fff;}
  .doc-sheet, .invoice-sheet{margin:0;box-shadow:none;}
}

/* ---------- PÃGINAS LEGALES ---------- */
.legal-wrap{max-width:760px;}
.legal-wrap h2{font-size:19px;margin:32px 0 10px;}
.legal-wrap h2:first-child{margin-top:0;}
.legal-wrap p{color:var(--stone);font-size:14.5px;margin-bottom:12px;}
.legal-wrap ul{padding-left:20px;margin-bottom:12px;}
.legal-wrap li{color:var(--stone);font-size:14.5px;margin-bottom:6px;}
.legal-wrap strong{color:var(--navy);}
.legal-note{background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-size:13px;color:var(--stone);margin-bottom:30px;}
.legal-note strong{color:var(--navy);}
.legal-updated{font-size:12.5px;color:var(--stone);margin-bottom:30px;}

/* ---------- FOOTER ---------- */
footer{background:var(--navy-deep);color:#9AA1AE;padding:60px 32px 28px;margin-top:0;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;max-width:1180px;margin-left:auto;margin-right:auto;}
.foot-logo{margin-bottom:14px;}
.foot-grid p{font-size:13.5px;line-height:1.7;max-width:280px;}
.foot-col h6{color:#fff;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:16px;font-weight:600;}
.foot-col a{display:block;font-size:14px;color:#9AA1AE;padding:5px 0;}
.foot-col a:hover{color:var(--gold-light);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:22px;display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;max-width:1180px;margin:0 auto;}

@media (max-width:900px){
  .nav-links{display:none;}
  .course-grid{grid-template-columns:1fr;}
  .course-detail{grid-template-columns:1fr;}
  .lesson-layout{grid-template-columns:1fr;}
  .lesson-sidebar{border-left:none;border-top:1px solid var(--line);}
  .invoice-parties{grid-template-columns:1fr;}
  .doc-sheet{padding:40px 24px;}
  .hero-split{grid-template-columns:1fr;}
  .path-grid{grid-template-columns:1fr;}
  .my-courses{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}

/* ==========================================================
   AJUSTES DE LA PÃGINA PRINCIPAL
   Se aplica solo si main comienza con la secciÃ³n hero.
   ========================================================== */
body:has(> main > .hero) .hero { padding-top: 65px; padding-bottom: 65px; }
body:has(> main > .hero) .paths,
body:has(> main > .hero) .faq,
body:has(> main > .hero) .about { padding-top: 55px; padding-bottom: 55px; }
body:has(> main > .hero) .section { padding-top: 55px; padding-bottom: 55px; }
body:has(> main > .hero) .cta-band { padding-top: 55px; padding-bottom: 55px; }
body:has(> main > .hero) .section-head { margin-bottom: 28px; }
body:has(> main > .hero) .about-grid {
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: 45px;
  align-items: center;
}
body:has(> main > .hero) .about-photo {
  aspect-ratio: auto;
  height: 355px;
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
}
body:has(> main > .hero) .about-photo img { width: 55%; }
@media (max-width: 900px) {
  body:has(> main > .hero) .hero { padding-top: 50px; padding-bottom: 50px; }
  body:has(> main > .hero) .paths,
  body:has(> main > .hero) .faq,
  body:has(> main > .hero) .about,
  body:has(> main > .hero) .section,
  body:has(> main > .hero) .cta-band { padding-top: 42px; padding-bottom: 42px; }
  body:has(> main > .hero) .about-grid { grid-template-columns: 1fr; gap: 25px; }
  body:has(> main > .hero) .about-photo { width: 100%; max-width: 340px; height: 300px; }
}


/* AJUSTES DE LA PÁGINA PRINCIPAL */

/* Menos separación entre secciones */
.hero {
    padding-top: 55px;
    padding-bottom: 55px;
}

.paths,
.about,
.faq {
    padding-top: 45px;
    padding-bottom: 45px;
}

.section {
    padding-top: 45px;
    padding-bottom: 45px;
}

.section-head {
    margin-bottom: 25px;
}

.cta-band {
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Recuadro del logotipo de Sobre mí */
.about-grid {
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 45px;
    align-items: center;
}

.about-photo {
    aspect-ratio: auto;
    width: 300px;
    height: 310px;
    max-width: 100%;
    margin: 0;
}

.about-photo img {
    width: 55%;
}

/* Adaptación a móviles */
@media (max-width: 900px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .about-photo {
        width: 100%;
        max-width: 300px;
        height: 300px;
        margin: 0 auto;
    }
}

/* Evitar que el fondo decorativo bloquee los botones */

.hero::before {
    pointer-events: none;
}

.hero-split {
    position: relative;
    z-index: 1;
}

.hero .btn {
    position: relative;
    z-index: 2;
    cursor: pointer;
}


/* =====================================
   SHOULDBE - ANIMACIONES
   ===================================== */

/* Aparición al hacer scroll */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.2,.7,.2,1);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Variantes de entrada */
.reveal-left {
    transform: translateX(-35px);
}

.reveal-right {
    transform: translateX(35px);
}

.reveal-left.visible,
.reveal-right.visible {
    transform: translateX(0);
}

/* Portada */
.hero h1 {
    animation: heroEntrance 0.9s ease both;
}

@keyframes heroEntrance {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Logotipo flotante */
.hero-mark img {
    animation: logoFloat 6s ease-in-out infinite;
}

@keyframes logoFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Tarjetas interactivas */
.path-card,
.course-card {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

@media (hover: hover) {
    .path-card:hover,
    .course-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 36px rgba(48,55,71,.10);
        border-color: var(--gold-light);
    }

    .hero .btn:hover {
        transform: translateY(-3px);
    }
}

/* Botones */
.hero .btn {
    transition:
        transform 0.25s ease,
        background-color 0.25s ease;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .reveal,
    .hero h1,
    .hero-mark img,
    .path-card,
    .course-card,
    .hero .btn {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .reveal {
        opacity: 1 !important;
    }
}
