/* home — estilos de página */
.main-box{background:#08211f;color:#e7f2f2;overflow-x:hidden}
.top-sec{position:relative;height:100vh;height:100dvh;min-height:598.4px;display:flex;align-items:flex-end;justify-content:flex-start;text-align:left;overflow:hidden;padding:0 334.4px 79.2px 28.2px}
.top-box{position:absolute;inset:0;z-index:0}
.top-video{width:100%;height:100%;object-fit:cover;display:block}
.top-box-2{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.38) 45%,rgba(0,0,0,0.12) 100%),linear-gradient(180deg,rgba(0,0,0,0.34) 0%,rgba(0,0,0,0.04) 35%,rgba(0,0,0,0.80) 100%)}
.top-box-3{position:relative;z-index:2;width:100%;max-width:809.6px;animation:eqtRise .8s ease both}
.top-title{font-family:'DM Sans';font-weight:800;font-size:clamp(30.5px,4.6vw,60.4px);line-height:1.05;letter-spacing:-0.03em;margin:0;text-wrap:balance}
.top-text{margin:22.9px 0 0;max-width:580.8px;font-size:19px;line-height:1.55;color:rgba(231,242,242,0.85);font-weight:300;text-wrap:pretty}
.top-box-4{margin-top:31.7px;display:flex;justify-content:flex-start}
.top-link{background:#127c7a;color:#ffffff;font-weight:700;font-size:16.4px;padding:15.8px 37px;border-radius:999px;white-space:nowrap}
.top-link:hover{background:#0e6361;color:#ffffff}
.top-panel{position:absolute;z-index:3;right:28.2px;bottom:31.7px;width:272.8px;background:rgba(6,24,22,0.52);backdrop-filter:blur(48px) saturate(115%);-webkit-backdrop-filter:blur(48px) saturate(115%);border:1px solid rgba(231,242,242,0.20);box-shadow:inset 0 1px 0 rgba(255,255,255,0.16);border-radius:16px;padding:10.6px;text-align:left;animation:eqtRise .9s .2s ease both}
.top-box-5{display:flex;align-items:center;gap:7px;padding:3.5px 5.3px 10.6px}
.top-txt{width:6.2px;height:6.2px;border-radius:50%;background:#A4F6FF;display:block;animation:eqtPulse 1.6s infinite}
.top-txt-2{font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#A4F6FF}
.top-box-6{position:relative;height:132px;border-radius:10px;overflow:hidden}
.top-box-7{width:100%;height:100%;background:rgba(18,124,122,0.12);box-shadow:inset 0 0 0 1px rgba(18,124,122,0.28)}
.top-box-8{padding:12.3px 5.3px 5.3px}
.top-box-9{font-family:'DM Sans';font-weight:800;font-size:18.1px;line-height:1.1;color:#ffffff;text-shadow:0 1px 10px rgba(0,0,0,0.5)}
.top-box-10{font-size:15.4px;color:rgba(231,242,242,0.86);margin-top:5.3px;text-shadow:0 1px 10px rgba(0,0,0,0.45)}
.top-link-2{display:inline-flex;align-items:center;gap:6.2px;margin-top:10.6px;font-size:15.4px;font-weight:600;color:#A4F6FF}
.main-box-2{background-color:#e7f2f2;background-image:linear-gradient(rgba(6,17,15,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(6,17,15,0.028) 1px,transparent 1px);background-size:88px 88px}
.quiebre-sec{background:radial-gradient(110% 75% at 6% 0%,rgba(18,124,122,0.13) 0%,rgba(231,242,242,0) 55%);color:#06110f;padding:96.8px 28.2px 61.6px}
.quiebre-box{max-width:1196.8px;margin:0 auto}
.quiebre-box-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:61.6px;align-items:start;margin-bottom:45.8px}
.quiebre-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:#0e6361}
.quiebre-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(25.2px,3.4vw,42.8px);line-height:1.06;letter-spacing:-0.025em;margin:15.8px 0 0;text-wrap:balance}
.quiebre-text{font-size:18.1px;line-height:1.62;color:rgba(6,17,15,0.7);font-weight:300;margin:0;padding-top:35.2px}
.quiebre-box-3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17.6px}
.quiebre-box-4{background:#ffffff;border-top:4px solid #c2e598;padding:26.4px 24.6px 29.9px;min-height:202.4px;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(21px,2vw,30px)}
.quiebre-box-4:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(6,17,15,0.10)}
.quiebre-txt-2{font-family:'DM Sans';font-weight:800;font-size:12.3px;color:#0e6361;letter-spacing:0.08em}
.quiebre-sub{font-family:'DM Sans';font-weight:700;font-size:18.5px;line-height:1.2;margin:0 0 8.8px}
.quiebre-text-2{margin:0;font-size:15.9px;line-height:1.55;color:rgba(6,17,15,0.65)}
.quiebre-box-5{background:#ffffff;border-top:4px solid #a3f6ff;padding:26.4px 24.6px 29.9px;min-height:202.4px;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(21px,2vw,30px)}
.quiebre-box-5:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(6,17,15,0.10)}
.quiebre-box-6{background:#ffffff;border-top:4px solid #aecbff;padding:26.4px 24.6px 29.9px;min-height:202.4px;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(21px,2vw,30px)}
.quiebre-box-6:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(6,17,15,0.10)}
.quiebre-box-7{background:#ffffff;border-top:4px solid #ffaeae;padding:26.4px 24.6px 29.9px;min-height:202.4px;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(21px,2vw,30px)}
.quiebre-box-7:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(6,17,15,0.10)}
.ruta-sec{background:radial-gradient(85% 60% at 94% 4%,rgba(163,246,255,0.28) 0%,rgba(231,242,242,0) 58%);color:#06110f;padding:61.6px 28.2px}
.ruta-box{max-width:1196.8px;margin:0 auto}
.ruta-box-2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28.2px,5vw,70.4px);align-items:end;margin-bottom:clamp(42.2px,4.6vw,59.8px)}
.ruta-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:#0e6361}
.ruta-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(27px,3.8vw,48.1px);line-height:1.02;letter-spacing:-0.03em;margin:15.8px 0 0;text-wrap:balance}
.ruta-text{font-size:17.7px;line-height:1.6;color:rgba(6,17,15,0.68);font-weight:300;margin:0}
.ruta-box-3{position:relative}
.ruta-box-4{position:absolute;left:0;right:0;top:7px;height:1px;background:linear-gradient(90deg,rgba(6,17,15,0.06),rgba(194,229,152,0.9),rgba(163,246,255,0.9),rgba(174,203,255,0.9),rgba(6,17,15,0.06));background-size:200% 100%;animation:eqtRail 11s linear infinite;pointer-events:none}
.ruta-box-5{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto auto auto auto auto;column-gap:clamp(22.9px,3.2vw,49.3px);align-items:start}
.ruta-box-6{grid-column:1;grid-row:1;position:relative;height:15.8px;display:flex;align-items:center}
.ruta-txt-2{width:12.3px;height:12.3px;background:#c2e598;display:block;transform:rotate(45deg);border-radius:2px;animation:eqtHalo 2.8s ease-out infinite}
.ruta-box-7{grid-column:1;grid-row:2;width:1px;height:38.7px;margin-left:5.7px;background:linear-gradient(to bottom,#c2e598,rgba(6,17,15,0.08))}
.ruta-box-8{grid-column:1;grid-row:3;display:flex;align-items:center;gap:14.1px;padding-bottom:14.1px}
.ruta-txt-3{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:clamp(51px,5.4vw,66.9px);height:clamp(51px,5.4vw,66.9px);border-radius:16px;background:#c2e598;font-family:'DM Sans';font-weight:800;font-size:clamp(23.4px,2.8vw,32.2px);line-height:1;letter-spacing:-0.04em;color:#06110f}
.ruta-txt-4{font-size:11px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:#0e6361}
.ruta-sub{grid-column:1;grid-row:4;position:relative;font-family:'DM Sans';font-weight:800;font-size:clamp(21.7px,2.7vw,32.2px);line-height:1.02;letter-spacing:-0.03em;margin:0 0 12.3px}
.ruta-text-2{grid-column:1;grid-row:6;margin:0 0 19.4px;font-size:15.9px;line-height:1.6;color:rgba(6,17,15,0.68);font-weight:300;max-width:334.4px}
.ruta-link{grid-column:1;grid-row:7;align-self:start;justify-self:start;font-weight:700;font-size:15.4px;color:#0e6361;border-bottom:1px solid transparent;padding-bottom:3px;margin-bottom:22.9px}
.ruta-link:hover{border-bottom-color:#127c7a;padding-left:3.5px}
.ruta-box-9{grid-column:1;grid-row:8;position:relative;aspect-ratio:16/11;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px rgba(6,17,15,0.06)}
.ruta-box-9:hover{transform:translateY(-8px);box-shadow:0 26px 54px rgba(6,17,15,0.18),0 0 0 2px #c2e598}
.ruta-box-10{width:100%;height:100%;background:rgba(18,124,122,0.12);box-shadow:inset 0 0 0 1px rgba(18,124,122,0.28)}
.ruta-box-11{grid-column:2;grid-row:1;position:relative;height:15.8px;display:flex;align-items:center}
.ruta-txt-5{width:12.3px;height:12.3px;background:#a3f6ff;display:block;transform:rotate(45deg);border-radius:2px}
.ruta-box-12{grid-column:2;grid-row:2;width:1px;height:38.7px;margin-left:5.7px;background:linear-gradient(to bottom,#a3f6ff,rgba(6,17,15,0.08))}
.ruta-box-13{grid-column:2;grid-row:3;display:flex;align-items:center;gap:14.1px;padding-bottom:14.1px}
.ruta-txt-6{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:clamp(51px,5.4vw,66.9px);height:clamp(51px,5.4vw,66.9px);border-radius:16px;background:#a3f6ff;font-family:'DM Sans';font-weight:800;font-size:clamp(23.4px,2.8vw,32.2px);line-height:1;letter-spacing:-0.04em;color:#06110f}
.ruta-sub-2{grid-column:2;grid-row:4;position:relative;font-family:'DM Sans';font-weight:800;font-size:clamp(21.7px,2.7vw,32.2px);line-height:1.02;letter-spacing:-0.03em;margin:0 0 12.3px}
.ruta-text-3{grid-column:2;grid-row:6;margin:0 0 19.4px;font-size:15.9px;line-height:1.6;color:rgba(6,17,15,0.68);font-weight:300;max-width:334.4px}
.ruta-link-2{grid-column:2;grid-row:7;align-self:start;justify-self:start;font-weight:700;font-size:15.4px;color:#0e6361;border-bottom:1px solid transparent;padding-bottom:3px;margin-bottom:22.9px}
.ruta-link-2:hover{border-bottom-color:#127c7a;padding-left:3.5px}
.ruta-box-14{grid-column:2;grid-row:8;position:relative;aspect-ratio:16/11;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px rgba(6,17,15,0.06)}
.ruta-box-14:hover{transform:translateY(-8px);box-shadow:0 26px 54px rgba(6,17,15,0.18),0 0 0 2px #a3f6ff}
.ruta-box-15{grid-column:3;grid-row:1;position:relative;height:15.8px;display:flex;align-items:center}
.ruta-txt-7{width:12.3px;height:12.3px;background:#aecbff;display:block;transform:rotate(45deg);border-radius:2px}
.ruta-box-16{grid-column:3;grid-row:2;width:1px;height:38.7px;margin-left:5.7px;background:linear-gradient(to bottom,#aecbff,rgba(6,17,15,0.08))}
.ruta-box-17{grid-column:3;grid-row:3;display:flex;align-items:center;gap:14.1px;padding-bottom:14.1px}
.ruta-txt-8{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:clamp(51px,5.4vw,66.9px);height:clamp(51px,5.4vw,66.9px);border-radius:16px;background:#aecbff;font-family:'DM Sans';font-weight:800;font-size:clamp(23.4px,2.8vw,32.2px);line-height:1;letter-spacing:-0.04em;color:#06110f}
.ruta-sub-3{grid-column:3;grid-row:4;position:relative;font-family:'DM Sans';font-weight:800;font-size:clamp(21.7px,2.7vw,32.2px);line-height:1.02;letter-spacing:-0.03em;margin:0 0 12.3px}
.ruta-text-4{grid-column:3;grid-row:6;margin:0 0 19.4px;font-size:15.9px;line-height:1.6;color:rgba(6,17,15,0.68);font-weight:300;max-width:334.4px}
.ruta-link-3{grid-column:3;grid-row:7;align-self:start;justify-self:start;font-weight:700;font-size:15.4px;color:#0e6361;border-bottom:1px solid transparent;padding-bottom:3px;margin-bottom:22.9px}
.ruta-link-3:hover{border-bottom-color:#127c7a;padding-left:3.5px}
.ruta-box-18{grid-column:3;grid-row:8;position:relative;aspect-ratio:16/11;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px rgba(6,17,15,0.06)}
.ruta-box-18:hover{transform:translateY(-8px);box-shadow:0 26px 54px rgba(6,17,15,0.18),0 0 0 2px #aecbff}
.resenas-sec{background:radial-gradient(85% 65% at 50% 78%,rgba(18,124,122,0.09) 0%,rgba(231,242,242,0) 62%);color:#06110f;padding:61.6px 0;overflow:hidden}
.resenas-box{max-width:1196.8px;margin:0 auto 47.5px;padding:0 28.2px;display:flex;justify-content:space-between;align-items:flex-end;gap:35.2px;flex-wrap:wrap}
.resenas-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:rgba(6,17,15,0.82)}
.resenas-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(27px,3.6vw,46.3px);line-height:1.02;letter-spacing:-0.025em;margin:15.8px 0 0}
.resenas-text{max-width:572px;font-size:17.2px;line-height:1.7;color:rgba(6,17,15,0.68);font-weight:300;margin:0}
.resenas-txt-2{font-weight:700;color:#06110f;background:#DAFFA9;padding:2px 7px;border-radius:3px}
.resenas-box-2{max-width:1196.8px;margin:0 auto 47.5px;padding:0 28.2px}
.resenas-link{display:inline-flex;align-items:center;gap:8.8px;background:#127c7a;color:#ffffff;font-weight:700;font-size:15.4px;padding:14.1px 29.9px;border-radius:999px;white-space:nowrap}
.resenas-link:hover{background:#0e6361;color:#ffffff}
.resenas-txt-3{font-size:15px;line-height:1}
.resenas-box-3{display:flex;flex-direction:column;gap:15.8px}
/* Controles del carrusel: solo existen en vertical */
.resenas-nav{display:none}
.resenas-box-4{overflow:hidden}
.resenas-box-5{display:flex;gap:15.8px;width:max-content;animation:eqtMarqLeft 64s linear infinite}
.resenas-box-6{flex:0 0 auto;display:flex}
.resenas-box-7{position:relative;width:352px;height:378.4px;border-radius:14px;overflow:hidden}
.resenas-img{width:100%;height:100%;object-fit:cover;display:block}
.resenas-link-2{width:352px;height:378.4px;background:#ffffff;border:1px solid rgba(163,246,255,0.30);border-radius:14px;padding:29.9px 28.2px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none}
.resenas-link-2:hover{border-color:#127c7a;transform:translateY(-4px);box-shadow:0 20px 44px rgba(6,17,15,0.10)}
.resenas-box-8{display:flex;align-items:center;justify-content:space-between;gap:10.6px}
.resenas-txt-4{color:#f5b400;font-size:14.6px;line-height:1;letter-spacing:0.06em}
.resenas-txt-5{font-size:11px;font-weight:600;letter-spacing:0.06em;color:rgba(6,17,15,0.62)}
.resenas-text-2{margin:0;font-size:15.4px;line-height:1.6;color:rgba(6,17,15,0.82);font-weight:400;text-wrap:pretty;overflow:hidden}
.resenas-box-9{display:flex;align-items:center;gap:12.3px}
.resenas-img-2{width:40.5px;height:40.5px;flex:0 0 40.5px;border-radius:50%;object-fit:cover;background:#127c7a}
.resenas-box-10{min-width:0}
.resenas-box-11{font-weight:700;font-size:15.4px;color:#06110f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resenas-box-12{font-size:14.6px;color:#0e6361;font-weight:600}
.resenas-box-13{display:flex;gap:15.8px;width:max-content;animation:eqtMarqRight 72s linear infinite}
.metodologia-sec{background:radial-gradient(80% 60% at 8% 92%,rgba(174,203,255,0.20) 0%,rgba(231,242,242,0) 62%);color:#06110f;padding:61.6px 28.2px 96.8px}
.metodologia-box{max-width:1196.8px;margin:0 auto}
.metodologia-box-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:66.9px;align-items:center;margin-bottom:66.9px}
.metodologia-box-3{position:relative;aspect-ratio:3/2;border-radius:20px;overflow:hidden}
.metodologia-box-4{width:100%;height:100%;background:rgba(18,124,122,0.12);box-shadow:inset 0 0 0 1px rgba(18,124,122,0.28)}
.metodologia-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:#0e6361}
.metodologia-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(25.2px,3.4vw,42.8px);line-height:1.04;letter-spacing:-0.025em;margin:15.8px 0 21.1px;text-wrap:balance}
.metodologia-text{font-size:18.1px;line-height:1.62;color:rgba(6,17,15,0.72);font-weight:300;margin:0 0 17.6px}
.metodologia-strong{font-weight:700;color:#06110f}
.metodologia-text-2{font-size:18.1px;line-height:1.62;color:rgba(6,17,15,0.72);font-weight:300;margin:0 0 22px}
.metodologia-quote{margin:0 0 22px;padding-left:16px;border-left:3px solid #a3f6ff;font-family:'DM Sans';font-weight:700;font-size:19px;line-height:1.42;letter-spacing:-0.018em;color:#0e6361}
.metodologia-text-4{font-size:16.8px;line-height:1.62;color:rgba(6,17,15,0.7);font-weight:300;margin:0 0 28.2px}
.metodologia-link{display:inline-block;border:1.5px solid #06110f;color:#06110f;font-weight:700;font-size:15.4px;padding:14.1px 33.4px;border-radius:999px;white-space:nowrap}
.metodologia-link:hover{background:#127c7a;border-color:#127c7a;color:#ffffff}
.metodologia-box-5{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(17.6px,3vw,38.7px);margin-top:clamp(42.2px,4.5vw,56.3px);padding-top:31.7px;border-top:1px solid rgba(6,17,15,0.16)}
.metodologia-box-6{display:flex;flex-direction:column;gap:11px}
.metodologia-bar{width:26px;height:2px;background:#127c7a;display:block}
.metodologia-txt-2{font-family:'DM Sans';font-weight:800;font-size:clamp(15.8px,1.7vw,19.4px);line-height:1.12;letter-spacing:-0.02em;color:#0e6361;margin:0;min-height:2.24em}
.metodologia-txt-3{font-size:15.4px;line-height:1.52;color:rgba(6,17,15,0.68);font-weight:300;margin:0}
.metodologia-box-7{display:none;border-top:1px solid rgba(6,17,15,0.14);padding-top:38.7px}
.metodologia-box-8{font-size:11px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;color:rgba(6,17,15,0.62);margin-bottom:28.2px}
.metodologia-box-9{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21.1px}
.metodologia-card{display:flex;flex-direction:column}
.metodologia-box-10{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:rgba(6,17,15,0.06)}
.metodologia-box-11{display:flex;gap:12.3px;margin-top:17.6px}
.metodologia-txt-4{width:3px;flex:0 0 3px;background:#DAFFA9;display:block}
.metodologia-sub{font-family:'DM Sans';font-weight:800;font-size:16.7px;line-height:1.15;margin:0 0 5.3px}
.metodologia-text-3{margin:0;font-size:15.4px;line-height:1.5;color:rgba(6,17,15,0.62)}
.metodologia-txt-5{width:3px;flex:0 0 3px;background:#A4F6FF;display:block}
.metodologia-txt-6{width:3px;flex:0 0 3px;background:#FFAEAE;display:block}
.metodologia-txt-7{width:3px;flex:0 0 3px;background:#AECBFF;display:block}
.main-box-3{background-color:#092726;background-image:radial-gradient(85% 42% at 50% 26%,rgba(18,124,122,0.55) 0%,rgba(9,39,38,0) 70%),radial-gradient(60% 30% at 92% 52%,rgba(255,174,174,0.13) 0%,rgba(9,39,38,0) 62%),radial-gradient(55% 26% at 4% 78%,rgba(174,203,255,0.12) 0%,rgba(9,39,38,0) 62%),linear-gradient(rgba(163,246,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(163,246,255,0.05) 1px,transparent 1px);background-size:auto,auto,auto,88px 88px,88px 88px}
.entrenamientos-sec{padding:105.6px 28.2px 79.2px}
.entrenamientos-box{max-width:1196.8px;margin:0 auto}
.entrenamientos-box-2{display:flex;justify-content:space-between;align-items:flex-end;gap:35.2px;flex-wrap:wrap;margin-bottom:45.8px}
.entrenamientos-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:oklch(0.72 0.09 190)}
.entrenamientos-title{font-family:'DM Sans';font-weight:800;font-size:clamp(27px,3.6vw,46.3px);line-height:1.02;letter-spacing:-0.025em;margin:15.8px 0 0;max-width:560px;text-wrap:balance}
.entrenamientos-head-b{max-width:520px}
.entrenamientos-text{font-size:17.2px;line-height:1.6;color:rgba(231,242,242,0.68);font-weight:300;margin:0 0 12px}
.entrenamientos-text-3{margin:0;font-family:'DM Sans';font-weight:700;font-size:15.9px;line-height:1.5;letter-spacing:-0.01em;color:#A4F6FF}
.entrenamientos-box-3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:61.6px;align-items:start}
.entrenamientos-box-4{display:flex;flex-direction:column}
.entrenamientos-txt-2{display:flex;flex-direction:column;gap:4px}
.entrenamientos-label{font-size:11px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase}
.entrenamientos-txt-3{font-size:15.4px;font-weight:400;color:rgba(231,242,242,0.68)}
.entrenamientos-box-5{border-top:1px solid rgba(231,242,242,0.16);padding-top:26.4px;margin-top:5.3px}
.entrenamientos-link{display:inline-block;border:1.5px solid rgba(231,242,242,0.4);color:#e7f2f2;font-weight:700;font-size:15.4px;padding:14.1px 31.7px;border-radius:999px;white-space:nowrap}
.entrenamientos-link:hover{background:#127c7a;border-color:#127c7a;color:#ffffff}
.entrenamientos-box-6{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden}
.entrenamientos-box-7{position:absolute;inset:0}
.entrenamientos-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;opacity:0;transition:opacity .34s ease}
.entrenamientos-img.is-on{opacity:1}
.entrenamientos-box-8{width:100%;height:100%;background:rgba(18,124,122,0.12);box-shadow:inset 0 0 0 1px rgba(18,124,122,0.28)}
.entrenamientos-box-9{margin-top:22.9px;display:flex;gap:14.1px;align-items:flex-start;animation:eqtTxtIn .6s .1s cubic-bezier(.22,.61,.36,1) both}
.entrenamientos-panel{min-width:0}
.entrenamientos-sub{font-family:'DM Sans';font-weight:800;font-size:18.5px;line-height:1.15;margin:0 0 8px}
.entrenamientos-text-2{margin:0;font-size:15.9px;line-height:1.55;color:rgba(231,242,242,0.68);font-weight:300;max-width:440px}
.entrenamientos-subs{display:flex;flex-direction:column;margin-top:16px;border-top:1px solid rgba(231,242,242,0.16)}
.entrenamientos-item{display:flex;flex-direction:column;gap:2px;padding:11px 0;border-bottom:1px solid rgba(231,242,242,0.12)}
.entrenamientos-item:hover{padding-left:8px}
.entrenamientos-item:hover .entrenamientos-item:hover .entrenamientos-link-2{display:inline-block;margin-top:18px;font-weight:700;font-size:15.4px;color:#A4F6FF;border-bottom:1px solid transparent;padding-bottom:2px}
.entrenamientos-link-2:hover{color:#ffffff;border-bottom-color:#ffffff}
.fechas-sec{padding:105.6px 28.2px 105.6px}
.fechas-box{max-width:1196.8px;margin:0 auto}
.fechas-box-2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24.6px,4vw,63.4px);align-items:end;margin-bottom:clamp(35.2px,4vw,49.3px)}
.fechas-head-a{align-self:end}
.fechas-head-b{align-self:end}
.fechas-datecol{display:flex;align-items:baseline;gap:8px}
.fechas-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:#DAFFA9}
.fechas-title{font-family:'DM Sans';font-weight:800;font-size:clamp(27px,3.6vw,46.3px);line-height:1.02;letter-spacing:-0.028em;margin:15.8px 0 0;color:#e7f2f2;text-wrap:balance}
.fechas-text{font-size:16.8px;line-height:1.62;color:rgba(231,242,242,0.78);font-weight:300;margin:0 0 21.1px;max-width:387.2px}
.fechas-box-3{display:flex;flex-direction:column;max-width:387.2px}
.fechas-box-4{padding:14.1px 0;border-top:1px solid rgba(231,242,242,0.18);border-bottom:1px solid rgba(231,242,242,0.18);display:flex;align-items:baseline;justify-content:space-between;gap:14.1px}
.fechas-txt-2{font-size:11px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:rgba(231,242,242,0.72)}
.fechas-txt-3{font-size:15.4px;font-weight:600;color:#e7f2f2;text-align:right}
.fechas-box-5{padding:14.1px 0;border-bottom:1px solid rgba(231,242,242,0.18);display:flex;align-items:baseline;justify-content:space-between;gap:14.1px}
.fechas-link{font-size:15.4px;font-weight:700;color:#e7f2f2;text-align:right}
.fechas-link:hover{color:#A4F6FF}
.fechas-box-6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14.1px,1.8vw,19.4px);align-items:stretch}
.fechas-card{position:relative;border-radius:18px;background:rgba(231,242,242,0.05);box-shadow:inset 0 0 0 1px rgba(231,242,242,0.14);padding:clamp(22.9px,2.6vw,29.9px) clamp(21.1px,2.4vw,26.4px);display:flex;flex-direction:column;overflow:hidden}
.fechas-box-7{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:74px;padding-bottom:19.4px;margin-bottom:19.4px;border-bottom:1px solid rgba(231,242,242,0.14)}
.fechas-txt-4{font-family:'DM Sans';font-weight:800;font-size:clamp(28.7px,3.2vw,39.3px);line-height:0.9;letter-spacing:-0.05em;color:#ffffff}
.fechas-txt-5{font-size:11.9px;font-weight:600;color:rgba(231,242,242,0.72)}
.fechas-tba{font-family:'DM Sans';font-weight:800;font-size:clamp(19px,2vw,24px);line-height:1.12;letter-spacing:-0.028em;max-width:230px;text-wrap:balance}
.fechas-box-8{flex:1}
.fechas-box-9{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:42px;margin-bottom:10.6px}
.fechas-txt-6{display:none}
.fechas-sub{font-family:'DM Sans';font-weight:800;font-size:clamp(19.9px,2.5vw,28.7px);line-height:1.06;letter-spacing:-0.03em;margin:0 0 10.6px;color:#ffffff}
.fechas-text-2{margin:0;font-size:15.4px;line-height:1.58;color:rgba(231,242,242,0.74);font-weight:300;text-wrap:pretty}
.fechas-box-10{margin-top:22.9px;padding-top:19.4px;border-top:1px solid rgba(231,242,242,0.14);display:flex;align-items:center;justify-content:space-between;gap:15.8px;flex-wrap:wrap;row-gap:12.3px}
.fechas-txt-7{display:flex;align-items:flex-start;gap:7.9px;min-width:0;flex:1 1 auto}
.faq-sec{background-color:#e7f2f2;background-image:linear-gradient(rgba(6,17,15,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(6,17,15,0.028) 1px,transparent 1px);background-size:88px 88px;color:#06110f;padding:96.8px 28.2px}
.faq-box{max-width:1196.8px;margin:0 auto;display:grid;grid-template-columns:minmax(0,0.72fr) minmax(0,1.28fr);gap:70.4px;align-items:start}
.faq-box-2{position:sticky;top:96.8px}
.faq-txt{font-size:11px;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:#0e6361}
.faq-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(25.2px,3.2vw,41px);line-height:1.04;letter-spacing:-0.025em;margin:15.8px 0 19.4px;text-wrap:balance}
.faq-text{font-size:16.8px;line-height:1.62;color:rgba(6,17,15,0.68);font-weight:300;margin:0 0 28.2px;max-width:299.2px}
.faq-link{display:inline-block;background:#127c7a;color:#ffffff;font-weight:700;font-size:15.4px;padding:14.1px 29.9px;border-radius:999px;white-space:nowrap}
.faq-link:hover{background:#0e6361;color:#ffffff}
.faq-box-3{margin-top:35.2px;padding-top:24.6px;border-top:1px solid rgba(6,17,15,0.16);display:flex;align-items:center;gap:14.1px;max-width:299.2px}
.faq-box-4{flex:0 0 auto;width:clamp(42.2px,4.4vw,51px);height:clamp(42.2px,4.4vw,51px);display:flex;align-items:center;justify-content:center}
.faq-icon{width:100%;height:100%;object-fit:contain;display:block}
.faq-box-5{width:100%;height:100%;background:rgba(18,124,122,0.12);box-shadow:inset 0 0 0 1px rgba(18,124,122,0.28)}
.faq-box-6{font-family:'DM Sans';font-weight:700;font-size:15.4px;line-height:1.25;margin-bottom:3.5px}
.faq-box-7{font-size:14.2px;color:rgba(6,17,15,0.62);font-weight:300}
.faq-box-8{display:flex;flex-direction:column}
.faq-box-9{border-top:1px solid rgba(6,17,15,0.16)}
.faq-btn{width:100%;text-align:left;background:transparent;border:0;padding:22.9px 14.1px 22.9px 0;cursor:pointer;display:flex;align-items:center;gap:19.4px}
.faq-btn:hover{background:rgba(18,124,122,0.06);padding-left:12.3px;padding-right:12.3px}
.faq-box-10{min-height:0}
.faq-text-2{margin:0 0 26.4px;padding-left:50.2px;padding-right:49.3px;font-size:16.4px;line-height:1.65;color:rgba(6,17,15,0.66);font-weight:300;max-width:563.2px;white-space:pre-line}
.faq-box-11{border-top:1px solid rgba(6,17,15,0.16);display:flex;align-items:center;justify-content:space-between;gap:21.1px;flex-wrap:wrap;padding:26.4px 0 0}
.faq-box-12{display:flex;align-items:baseline;gap:12.3px}
.faq-txt-2{font-family:'DM Sans';font-weight:800;font-size:11.4px;letter-spacing:0.08em;color:#0e6361}
.faq-txt-3{font-family:'DM Sans';font-weight:700;font-size:clamp(15px,1.55vw,19.4px);line-height:1.3;color:rgba(6,17,15,0.72)}
.faq-link-2:hover{border-bottom-color:#127c7a}
.sec-sec{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:105.6px 28.2px;overflow:hidden}
.sec-box{position:absolute;inset:0;z-index:0}
.sec-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%;display:block}
.sec-box-3{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0.62) 0%,rgba(0,0,0,0.52) 45%,rgba(0,0,0,0.86) 100%)}
.sec-box-4{position:relative;z-index:2;max-width:968px}
.sec-title{font-family:'DM Sans';font-weight:800;font-size:clamp(28.7px,4.4vw,58px);line-height:1.08;letter-spacing:-0.03em;margin:0;text-wrap:pretty}
.sec-text{margin:24px auto 29.9px;max-width:620px;font-size:19px;line-height:1.5;color:#ffffff;font-weight:500;text-shadow:0 1px 18px rgba(0,0,0,0.55)}
.sec-link{display:inline-block;background:#127c7a;color:#ffffff;font-weight:700;font-size:15.9px;padding:16.7px 40.5px;border-radius:999px;white-space:nowrap}
.sec-link:hover{background:#0e6361;color:#ffffff}

/* Trilogía — encabezado ampliado */
.ruta-text-lead{margin:14px 0 0;font-size:16.8px;line-height:1.62;color:rgba(6,17,15,0.78);font-weight:400}
.ruta-kicker{display:inline-block;margin-top:18px;font-size:11px;font-weight:800;letter-spacing:0.22em;text-transform:uppercase;color:#0e6361}

/* Trilogía — frase de apertura de cada entrenamiento */
.ruta-lead{grid-column:1;grid-row:5;margin:0 0 12px;font-family:'DM Sans';font-weight:700;font-size:18.1px;line-height:1.34;letter-spacing:-0.018em;color:#0e6361;max-width:334.4px}
.ruta-lead-2{grid-column:2;grid-row:5;margin:0 0 12px;font-family:'DM Sans';font-weight:700;font-size:18.1px;line-height:1.34;letter-spacing:-0.018em;color:#0e6361;max-width:334.4px}
.ruta-lead-3{grid-column:3;grid-row:5;margin:0 0 12px;font-family:'DM Sans';font-weight:700;font-size:18.1px;line-height:1.34;letter-spacing:-0.018em;color:#0e6361;max-width:334.4px}

/* Trilogía — cierre */
.ruta-cierre{margin-top:clamp(44px,4.4vw,62px);padding-top:clamp(30px,3vw,40px);border-top:1px solid rgba(6,17,15,0.16);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,3.6vw,58px);align-items:start}
.ruta-cierre-title{font-family:'DM Sans';font-weight:800;font-size:clamp(22.8px,2.9vw,36.8px);line-height:1.04;letter-spacing:-0.032em;margin:0 0 14px;color:#0e6361;text-wrap:balance}
.ruta-cierre-arrow{color:#127c7a;font-weight:400}
.ruta-cierre-lead{margin:0;font-family:'DM Sans';font-weight:700;font-size:18.1px;line-height:1.4;letter-spacing:-0.018em;color:rgba(6,17,15,0.82)}
.ruta-cierre-text{margin:0 0 14px;font-size:16.8px;line-height:1.62;color:rgba(6,17,15,0.7);font-weight:300}
.ruta-cierre-text-2{margin:0 0 22px;font-family:'DM Sans';font-weight:800;font-size:18.1px;line-height:1.4;letter-spacing:-0.02em;color:#0e6361}
.ruta-cierre-btn{display:inline-block;background:#127c7a;color:#ffffff;font-weight:700;font-size:15.4px;padding:14.1px 29.9px;border-radius:999px;white-space:nowrap}
.ruta-cierre-btn:hover{background:#0e6361;color:#ffffff;padding-left:35px;padding-right:35px}

.fechas-help{grid-column:1 / -1;margin-top:clamp(10px,1.2vw,16px);border-radius:18px;background:rgba(231,242,242,0.05);box-shadow:inset 0 0 0 1px rgba(231,242,242,0.14);padding:clamp(22px,2.4vw,30px) clamp(24px,2.6vw,34px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;row-gap:16px}
.fechas-help:hover{background:rgba(231,242,242,0.08)}
.fechas-help-txt{display:flex;flex-direction:column;gap:5px;min-width:0}
.fechas-help-title{font-family:'DM Sans';font-weight:800;font-size:clamp(16.5px,1.7vw,21px);line-height:1.15;letter-spacing:-0.022em;color:#ffffff}
.fechas-help-note{font-size:15.9px;line-height:1.5;color:rgba(231,242,242,0.72);font-weight:300}
.fechas-help-link{flex:0 0 auto;font-weight:700;font-size:16.4px;color:#e7f2f2;box-shadow:inset 0 0 0 1.5px rgba(231,242,242,0.45);padding:14px 30px;border-radius:999px;white-space:nowrap}
.fechas-help-link:hover{background:#127c7a;color:#ffffff;box-shadow:inset 0 0 0 1.5px #127c7a}
.fechas-cta{display:block;text-align:center;padding:14px 22px;border-radius:999px;text-wrap:balance}
.fechas-box-10 .fechas-txt-7>span:first-child{flex:0 0 7px;margin-top:6px}
.faq-text-3{margin:0 0 22px;font-size:15.9px;line-height:1.58;color:rgba(6,17,15,0.68);font-weight:300;max-width:400px}
.faq-link-2{display:inline-block;margin-top:14px;font-weight:700;font-size:15.4px;color:#0e6361;border-bottom:1px solid transparent;padding-bottom:2px}
.faq-link-2:hover{border-bottom-color:#0e6361;padding-left:3px}
.fechas-sede{margin:0;font-size:14.6px;line-height:1.5;font-weight:600;color:#A4F6FF}

.ruta-img{width:100%;height:100%;object-fit:cover;display:block}
.top-img-evento{width:100%;height:100%;object-fit:cover;display:block}
.metodologia-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}

@keyframes eqtFade { from { opacity: 0; } to { opacity: 1; } }

/* Acordeón de programas: solo visible en móvil (ver bloque @media) */
.entrenamientos-row{display:contents}
.entrenamientos-chevron{display:none}
.entrenamientos-drawer{display:none;overflow:hidden;grid-template-rows:0fr}

/* ---------- Móvil (<= 720px) ---------- */
@media (max-width: 720px) {
  .quiebre-box-2, .quiebre-box-3, .ruta-box-2, .ruta-box-5, .metodologia-box-2, .metodologia-box-5, .metodologia-box-9, .entrenamientos-box-3, .fechas-box-2, .fechas-box-6, .faq-box, .ruta-cierre {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-box-2 {
    position: static;
  }

  .metodologia-box-10 {
    aspect-ratio: 4 / 3;
  }

  .ruta-box-5 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    row-gap: 0;
  }

  .ruta-box-4, .ruta-box-5, .ruta-box-6, .ruta-box-7, .ruta-box-8, .ruta-box-9, .ruta-box-10, .ruta-box-11, .ruta-box-12, .ruta-box-13, .ruta-box-14, .ruta-box-15, .ruta-box-16, .ruta-box-17, .ruta-box-18, .ruta-sub, .ruta-sub-2, .ruta-sub-3, .ruta-lead, .ruta-lead-2, .ruta-lead-3, .ruta-text-2, .ruta-text-3, .ruta-text-4, .ruta-link, .ruta-link-2, .ruta-link-3 {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .ruta-box-4 {
    display: none;
  }

  .ruta-box-7, .ruta-box-12, .ruta-box-16 {
    display: none;
  }

  /* En vertical la foto abre cada nivel: el bloque de texto se lee menos
     saturado cuando la imagen entra primero. Se reordena con order,
     sin alterar el DOM ni el orden de lectura en escritorio. */
  .ruta-box-9  { order: 1; }
  .ruta-box-6, .ruta-box-7, .ruta-box-8, .ruta-sub,
  .ruta-lead, .ruta-text-2, .ruta-link { order: 2; }

  .ruta-box-14 { order: 3; }
  .ruta-box-11, .ruta-box-12, .ruta-box-13, .ruta-sub-2,
  .ruta-lead-2, .ruta-text-3, .ruta-link-2 { order: 4; }

  .ruta-box-18 { order: 5; }
  .ruta-box-15, .ruta-box-16, .ruta-box-17, .ruta-sub-3,
  .ruta-lead-3, .ruta-text-4, .ruta-link-3 { order: 6; }

  /* La foto ya no cierra el bloque: el aire pasa debajo del enlace */
  .ruta-box-9, .ruta-box-14, .ruta-box-18 {
    margin-bottom: 22px;
  }
  .ruta-link, .ruta-link-2 {
    margin-bottom: 40px;
  }
  .ruta-link-3 {
    margin-bottom: 16px;
  }



  .ruta-text-2, .ruta-text-3, .ruta-text-4, .ruta-lead, .ruta-lead-2, .ruta-lead-3 {
    max-width: none;
  }

  .top-panel {
    position: static;
    width: auto;
    margin-top: 18px;
    right: auto;
    bottom: auto;
    padding: 14px 0 0;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 14px;
  }

  /* Hero partido: en vertical, el recorte `cover` del video 16:9 solo dejaba
     ver el 22% de su ancho. Ahora ocupa su proporción real bajo la cabecera
     (56.25vw = 16:9 exacto, sin recorte ni franjas) y el contenido va debajo. */
  .top-sec {
    height: auto;
    min-height: 100dvh;
    padding: calc(68px + 56.25vw) 18px 36px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }

  .top-box {
    top: 68px;
    bottom: auto;
    height: 56.25vw;
    background: #08211f;
  }

  .top-box-3 {
    max-width: none;
    margin-top: 28px;
  }

  .quiebre-sec, .ruta-sec, .resenas-sec, .metodologia-sec, .fechas-sec, .entrenamientos-sec, .faq-sec, .sec-sec {
    padding-left: 18px;
    padding-right: 18px;
  }

  .resenas-sec {
    padding-left: 0;
    padding-right: 0;
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .resenas-box, .resenas-box-2 {
    padding-left: 18px;
    padding-right: 18px;
  }

  .metodologia-box-2 {
    grid-template-columns: minmax(0,1fr);
    gap: 28px;
  }

  .metodologia-link {
    display: block;
    white-space: normal;
    text-align: center;
    padding-left: 18px;
    padding-right: 18px;
  }

  /* Testimonios en vertical: dos marquesinas automaticas obligan a leer un
     texto en movimiento y no se pueden controlar con el dedo. Se convierten
     en un solo carrusel tactil con ajuste de posicion. */
  .resenas-box-3 {
    --dia-alto: 352px;
    display: flex;
    flex-direction: row;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 18px;
    padding: 4px 18px 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .resenas-box-3::-webkit-scrollbar { display: none; }

  /* Las filas dejan de ser cajas: sus tarjetas pasan a ser hijas del carrusel */
  .resenas-box-4, .resenas-box-5, .resenas-box-13 {
    display: contents;
  }

  /* Sin animacion: el gesto manda */
  .resenas-box-5, .resenas-box-13 {
    animation: none;
  }

  /* Fuera solo el set duplicado del bucle: las 6 resenas y sus fotos se quedan */
  .resenas-box-5 > .resenas-box-6:nth-child(n+7),
  .resenas-box-13 > .resenas-box-6:nth-child(n+7) { display: none; }

  /* Misma medida que la tarjeta: el carrusel avanza en pasos iguales y la
     foto queda casi cuadrada. Alto y ancho explicitos porque aspect-ratio
     con ancho automatico y align-self:stretch entra en bucle de dimensionado. */
  .resenas-box-7 {
    width: 82vw;
    max-width: 340px;
    height: var(--dia-alto);
    flex: 0 0 auto;
  }

  .resenas-box-6 {
    scroll-snap-align: start;
  }

  /* La tarjeta cabe entera y se insinua la siguiente */
  .resenas-link-2 {
    width: 82vw;
    max-width: 340px;
    height: var(--dia-alto);
    padding: 24px 22px;
    gap: 16px;
  }

  /* Flechas y pista de gesto sobre el carrusel */
  .resenas-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 18px 14px;
  }
  .resenas-btn {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(6,17,15,0.24);
    background: #ffffff;
    color: #0e6361;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .resenas-btn:hover {
    background: #127c7a;
    border-color: #127c7a;
    color: #ffffff;
  }
  .resenas-nav-txt {
    font-size: 12.4px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(6,17,15,0.62);
  }

  /* La cita se acota a 9 lineas: el enlace lleva a la resena completa en Google */
  .resenas-text-2 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .ruta-link, .ruta-link-2, .ruta-link-3, .entrenamientos-link-2, .faq-link-2, .top-link-2 {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .ruta-link, .ruta-link-2, .ruta-link-3, .entrenamientos-link-2, .faq-link-2 {
    border-bottom-color: transparent;
    text-decoration-line: underline;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
  }

  .ruta-link:hover, .ruta-link-2:hover, .ruta-link-3:hover, .entrenamientos-link-2:hover, .faq-link-2:hover {
    border-bottom-color: transparent;
    text-decoration-color: #127c7a;
  }

  /* El velo solo cubre el video y se funde con el fondo de la sección:
     el texto ya no se apoya sobre la imagen. */
  .top-box-2 {
    top: 68px;
    bottom: auto;
    height: calc(56.25vw + 34px);
    background: linear-gradient(180deg,
      rgba(0,0,0,0.30) 0%,
      rgba(0,0,0,0.04) 34%,
      rgba(8,33,31,0.55) 82%,
      #08211f 100%);
  }

  .top-title {
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -0.03em;
  }

  .top-text {
    margin-top: 14px;
    font-size: 15.5px;
    line-height: 1.5;
    max-width: 34ch;
  }

  .top-box-4 {
    margin-top: 20px;
  }

  .top-link {
    width: 100%;
    text-align: center;
    padding: 16px 24px;
  }

  .top-box-5 {
    flex: 1 0 100%;
    padding: 0 0 6px;
  }

  .top-box-6 {
    display: none;
  }

  .top-box-8 {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
  }

  .top-box-9 {
    font-size: 15px;
  }

  .top-box-10 {
    font-size: 15.4px;
    margin-top: 2px;
  }

  .top-link-2 {
    flex: 0 0 auto;
    margin-top: 0;
    min-height: 44px;
    min-width: 44px;
    justify-content: flex-end;
  }

  .entrenamientos-row {
    display: block;
  }

  .entrenamientos-box-3 {
    display: block;
    gap: 26px;
  }

  .entrenamientos-box-6 {
    display: none;
  }

  .entrenamientos-box-9 {
    display: none;
  }

  .entrenamientos-chevron {
    display: block;
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 15px;
    line-height: 1;
    color: rgba(231,242,242,0.72);
    transition: transform .34s cubic-bezier(.22,.61,.36,1);
  }

  .entrenamientos-drawer {
    display: grid;
    transition: grid-template-rows .42s cubic-bezier(.22,.61,.36,1),opacity .32s ease;
  }

  .entrenamientos-drawer-in {
    min-height: 0;
    padding: 0;
  }

  .entrenamientos-drawer-media, .entrenamientos-drawer-text, .entrenamientos-drawer-item, .entrenamientos-drawer-cta {
    margin-left: 21px;
  }

  .entrenamientos-drawer-cta {
    margin-bottom: 22px;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 12px;
    font-weight: 700;
    font-size: 15.4px;
    color: #A4F6FF;
  }

  .entrenamientos-drawer-media {
    display: none;
    aspect-ratio: 16/10;
    border-radius: 12px;
    margin-bottom: 16px;
    background-color: rgba(18,124,122,0.12);
    background-size: cover;
    background-position: center;
  }

  .entrenamientos-drawer-media.is-mentorias {
    display: block;
    background-image: url("../uploads/testimonial07.jpg");
  }

  .entrenamientos-drawer-media.is-teens {
    display: block;
    background-image: url("../uploads/teens-kids-v2.jpg");
  }

  .entrenamientos-drawer-media.is-abundancia {
    display: block;
    background-image: url("../uploads/elemental-media-14.jpg");
  }

  .entrenamientos-drawer-media.is-empoderamiento {
    display: block;
    background-image: url("../uploads/entrenamientos-de-empoderamiento.jpg");
  }

  .entrenamientos-drawer-media.is-samurai {
    display: block;
    background-image: url("../uploads/samurai.jpg");
  }

  .entrenamientos-drawer-text {
    margin: 0 0 0 21px;
    font-size: 14.5px;
    line-height: 1.55;
    color: rgba(231,242,242,0.72);
    font-weight: 300;
  }

  .entrenamientos-drawer-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(231,242,242,0.14);
    min-height: 44px;
    justify-content: center;
  }

  .entrenamientos-drawer-item:last-child {
    margin-bottom: 22px;
  }

  .entrenamientos-drawer-text:last-child {
    margin-bottom: 22px;
  }

  .entrenamientos-drawer-item-name {
    font-family: 'DM Sans';
    font-weight: 800;
    font-size: 15.4px;
    color: #FFAEAE;
  }

  .entrenamientos-drawer-item-cta {
    font-weight: 700;
    font-size: 15px;
    color: #A4F6FF;
  }

  .quiebre-title, .ruta-title, .resenas-title, .metodologia-title, .entrenamientos-title, .fechas-title, .faq-title, .sec-title {
    font-size: 23.5px;
    line-height: 1.12;
    letter-spacing: -0.022em;
  }

  .ruta-cierre-title {
    font-size: 21px;
    line-height: 1.16;
  }

  .ruta-sub, .ruta-sub-2, .ruta-sub-3 {
    font-size: 25px;
    line-height: 1.08;
  }

  .quiebre-sec {
    padding-top: 56px;
    padding-bottom: 44px;
  }

  .ruta-sec {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .metodologia-sec {
    padding-top: 44px;
    padding-bottom: 56px;
  }

  .fechas-sec {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .entrenamientos-sec {
    padding-top: 56px;
    padding-bottom: 48px;
  }

  .faq-sec {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .sec-sec {
    padding-top: 56px;
    padding-bottom: 56px;
    min-height: 0;
  }

  .quiebre-box-2 {
    gap: 26px;
  }

  .entrenamientos-box-2 {
    gap: 24px;
  }

  .faq-box {
    gap: 30px;
  }

  .resenas-box {
    gap: 22px;
  }

  .ruta-box-2 {
    gap: 22px;
  }

  .ruta-cierre {
    margin-top: 36px;
    padding-top: 26px;
    gap: 22px;
  }

  .quiebre-text, .ruta-text, .resenas-text, .metodologia-text, .entrenamientos-text, .fechas-text, .faq-text {
    max-width: 42ch;
  }

  .quiebre-box, .ruta-box, .resenas-box-2, .metodologia-box, .entrenamientos-box, .fechas-box {
    max-width: none;
  }
}

/* ---------- Celulares estrechos (<= 340px) ---------- */
@media (max-width: 340px) {
  /* Con el hero partido, la franja de evento caía 26px bajo el pliegue:
     se recupera ajustando el titular y el ritmo vertical. */
  .top-title { font-size: 26.5px; }
  .top-box-3 { margin-top: 20px; }
  .top-sec { padding-bottom: 28px; }
}

/* ---------- Móvil: fondos fotográficos (solo celular) ----------
   Con mucho contenido: la foto va en banda arriba y el texto debajo, sobre fondo sólido.
   Con una sola frase: la foto se queda de fondo, el texto baja y el velo solo oscurece la parte inferior. */
@media (max-width: 720px) {
  .sec-sec{min-height:0;display:block;padding:calc(62.5vw + 30px) 18px 48px;background:#08211f}
  .sec-box{top:0;bottom:auto;height:62.5vw}
  .sec-box-3{top:0;bottom:auto;height:calc(62.5vw + 1px);background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 58%,#08211f 100%)}
}

/* Enlace al perfil de Google Reviews en las secciones de testimonios */
.google-resenas-fila{display:flex;align-items:center;gap:10px 28px;flex-wrap:wrap;margin-top:clamp(18px,2vw,26px)}
.google-resenas{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15.4px;font-weight:700;color:#0e6361;text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:4px}
.google-resenas:hover{text-decoration-color:#0e6361;gap:14px}
.google-resenas-estrellas{color:#f5b400;font-size:14px;letter-spacing:0.06em}
