{"id":25,"date":"2026-05-25T09:54:19","date_gmt":"2026-05-25T09:54:19","guid":{"rendered":"https:\/\/personaltrainer.onsistems.com\/?page_id=25"},"modified":"2026-05-25T09:55:48","modified_gmt":"2026-05-25T09:55:48","slug":"servicios","status":"publish","type":"page","link":"https:\/\/personaltrainer.onsistems.com\/?page_id=25","title":{"rendered":"servicios"},"content":{"rendered":"<style>.kb-row-layout-id25_6ea9d6-a3 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id25_6ea9d6-a3 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id25_6ea9d6-a3 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id25_6ea9d6-a3 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id25_6ea9d6-a3 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id25_6ea9d6-a3 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id25_6ea9d6-a3 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column25_2b23b7-68 > .kt-inside-inner-col,.kadence-column25_2b23b7-68 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column25_2b23b7-68 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column25_2b23b7-68 > .kt-inside-inner-col{flex-direction:column;}.kadence-column25_2b23b7-68 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column25_2b23b7-68 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column25_2b23b7-68{position:relative;}@media all and (max-width: 1024px){.kadence-column25_2b23b7-68 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column25_2b23b7-68 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column25_2b23b7-68\"><div class=\"kt-inside-inner-col\">\n<!--\n  ============================================================\n  SECCI\u00d3N 1: PACKS DE ENTRENAMIENTO \u2014 TARJETAS CON FLIP 3D\n  Entrenador Personal - WordPress \/ Kadence Builder\n  ============================================================\n\n  QU\u00c9 HACE ESTA SECCI\u00d3N:\n  Tres tarjetas con animaci\u00f3n de giro 3D.\n  - Cara delantera: nombre del pack + caracter\u00edsticas\n  - Cara trasera: foto de gym + bot\u00f3n de contacto\n\n  C\u00d3MO FUNCIONA EL FLIP:\n  - Desktop: al pasar el rat\u00f3n (hover)\n  - M\u00f3vil: al hacer clic\/tap (toggle de clase con JS)\n\n  IM\u00c1GENES: Unsplash (gratuitas y libres de derechos)\n  Puedes cambiarlas por las tuyas en WordPress subiendo\n  a la Biblioteca de medios y pegando la URL aqu\u00ed.\n\n  SCHEMA.org: ItemList + Offer para SEO\n  ============================================================\n-->\n\n<!-- Google Fonts -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&#038;family=DM+Sans:ital,wght@0,300;0,400;0,600;1,300&#038;display=swap\" rel=\"stylesheet\">\n\n<!-- Schema.org en JSON-LD para Google -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"ItemList\",\n  \"name\": \"Packs de Entrenamiento Personal\",\n  \"description\": \"Programas de entrenamiento personalizado para todos los niveles.\",\n  \"numberOfItems\": 3,\n  \"itemListElement\": [\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"item\": {\n        \"@type\": \"Offer\",\n        \"name\": \"Pack Starter\",\n        \"description\": \"Plan de iniciaci\u00f3n ideal para quienes empiezan desde cero. Cardio, movilidad y h\u00e1bitos.\",\n        \"offeredBy\": { \"@type\": \"Person\", \"name\": \"Carlos Ruiz - Entrenador Personal\" },\n        \"availability\": \"https:\/\/schema.org\/InStock\"\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"item\": {\n        \"@type\": \"Offer\",\n        \"name\": \"Pack Performance\",\n        \"description\": \"Periodizaci\u00f3n, nutrici\u00f3n ajustada y seguimiento mensual para nivel intermedio.\",\n        \"offeredBy\": { \"@type\": \"Person\", \"name\": \"Carlos Ruiz - Entrenador Personal\" },\n        \"availability\": \"https:\/\/schema.org\/InStock\"\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"item\": {\n        \"@type\": \"Offer\",\n        \"name\": \"Pack Pro\",\n        \"description\": \"Programa \u00e9lite con seguimiento diario y soporte completo para atletas avanzados.\",\n        \"offeredBy\": { \"@type\": \"Person\", \"name\": \"Carlos Ruiz - Entrenador Personal\" },\n        \"availability\": \"https:\/\/schema.org\/InStock\"\n      }\n    }\n  ]\n}\n<\/script>\n\n<style>\n  \/* ============================================\n     VARIABLES Y RESET DE LA SECCI\u00d3N\n     ============================================ *\/\n  .pt-packs {\n    --lima:       #C5FF00;\n    --oscuro:     #0A0A0A;\n    --gris-card:  #111111;\n    --gris-sep:   #252525;\n    --blanco:     #F5F0E8;\n    --texto-gris: #909090;\n\n    --font-h: 'Bebas Neue', sans-serif;\n    --font-b: 'DM Sans', sans-serif;\n\n    \/* Duraci\u00f3n y curva del flip \u2014 m\u00e1s r\u00e1pido al inicio, frena al final *\/\n    --flip-dur:  0.72s;\n    --flip-ease: cubic-bezier(0.35, 0.1, 0.15, 1.0);\n\n    font-family: var(--font-b);\n    background-color: var(--oscuro);\n    color: var(--blanco);\n    padding: 80px 20px;\n    box-sizing: border-box;\n  }\n\n  \/* ============================================\n     CABECERA\n     ============================================ *\/\n  .pt-packs__header {\n    text-align: center;\n    margin-bottom: 64px;\n    max-width: 680px;\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  \/* Etiqueta peque\u00f1a de categor\u00eda *\/\n  .pt-packs__label {\n    display: inline-block;\n    font-size: 10px;\n    font-weight: 600;\n    letter-spacing: 0.22em;\n    text-transform: uppercase;\n    color: var(--lima);\n    border: 1px solid var(--lima);\n    padding: 6px 18px;\n    margin-bottom: 22px;\n  }\n\n  \/* T\u00edtulo principal con Bebas Neue *\/\n  .pt-packs__header h2 {\n    font-family: var(--font-h);\n    font-size: clamp(44px, 8vw, 84px);\n    font-weight: 400;\n    line-height: 0.92;\n    margin: 0 0 20px;\n    letter-spacing: 0.03em;\n    color: var(--blanco);\n  }\n\n  \/* La palabra en acento *\/\n  .pt-packs__header h2 em {\n    font-style: normal;\n    color: var(--lima);\n  }\n\n  .pt-packs__header p {\n    font-size: 15px;\n    font-weight: 300;\n    color: var(--texto-gris);\n    line-height: 1.75;\n    margin: 0;\n  }\n\n  \/* ============================================\n     HINT DE INTERACCI\u00d3N (solo visible en m\u00f3vil)\n     ============================================ *\/\n  .pt-packs__hint {\n    text-align: center;\n    font-size: 12px;\n    color: var(--texto-gris);\n    letter-spacing: 0.08em;\n    margin-bottom: 32px;\n    \/* En desktop lo ocultamos porque el hover ya es intuitivo *\/\n    display: none;\n  }\n\n  @media (hover: none) {\n    \/* Solo se muestra en dispositivos t\u00e1ctiles *\/\n    .pt-packs__hint { display: block; }\n  }\n\n  \/* ============================================\n     GRID DE LAS 3 TARJETAS\n     ============================================ *\/\n  .pt-packs__grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n    gap: 20px;\n    max-width: 1100px;\n    margin: 0 auto 60px;\n  }\n\n  \/* ============================================\n     CONTENEDOR DE CADA TARJETA (PERSPECTIVA 3D)\n\n     perspective: controla cu\u00e1nto se ve el efecto 3D.\n     Valor m\u00e1s bajo = efecto m\u00e1s dram\u00e1tico.\n     Usamos valores distintos en cada tarjeta para que\n     el conjunto se vea menos rob\u00f3tico\/igual.\n     ============================================ *\/\n  .pt-card-wrap {\n    perspective: 1100px;\n    height: 480px;\n    cursor: pointer;\n  }\n\n  \/* Tarjeta izquierda: perspectiva ligeramente a la derecha *\/\n  .pt-card-wrap:nth-child(1) { perspective-origin: 60% 50%; }\n  \/* Tarjeta central: perspectiva centrada *\/\n  .pt-card-wrap:nth-child(2) { perspective-origin: 50% 50%; }\n  \/* Tarjeta derecha: perspectiva ligeramente a la izquierda *\/\n  .pt-card-wrap:nth-child(3) { perspective-origin: 40% 50%; }\n\n  \/* ============================================\n     EL \"LIBRO\" QUE GIRA\n     transform-style: preserve-3d = necesario para que\n     el navegador renderice las dos caras en 3D real.\n     ============================================ *\/\n  .pt-card-inner {\n    position: relative;\n    width: 100%;\n    height: 100%;\n    transform-style: preserve-3d;\n    transition: transform var(--flip-dur) var(--flip-ease);\n    \/* Ligera rotaci\u00f3n inicial para que cada tarjeta \"respire\" distinto *\/\n  }\n\n  \/* Tarjeta central empieza con inclinaci\u00f3n m\u00ednima en X (est\u00e9tica) *\/\n  .pt-card-wrap:nth-child(2) .pt-card-inner {\n    transform: rotateX(1deg);\n  }\n\n  \/* Estado girado: rotamos 180 grados en Y *\/\n  .pt-card-wrap:hover .pt-card-inner,\n  .pt-card-wrap.is-flipped .pt-card-inner {\n    transform: rotateY(180deg);\n  }\n\n  \/* Peque\u00f1o rebote al terminar el giro \u2014 efecto \"peso f\u00edsico\" *\/\n  .pt-card-wrap:nth-child(2):hover .pt-card-inner,\n  .pt-card-wrap:nth-child(2).is-flipped .pt-card-inner {\n    transform: rotateY(180deg) rotateX(-1deg);\n  }\n\n  \/* ============================================\n     CARA COM\u00daN (delantera y trasera)\n     backface-visibility: hidden = la cara que mira\n     hacia atr\u00e1s no se ve durante el giro.\n     ============================================ *\/\n  .pt-card-front,\n  .pt-card-back {\n    position: absolute;\n    inset: 0; \/* Equivale a top\/right\/bottom\/left: 0 *\/\n    backface-visibility: hidden;\n    -webkit-backface-visibility: hidden; \/* Safari *\/\n    border-radius: 2px;\n    overflow: hidden;\n  }\n\n  \/* ============================================\n     CARA DELANTERA\n     ============================================ *\/\n  .pt-card-front {\n    background-color: var(--gris-card);\n    padding: 40px 32px;\n    display: flex;\n    flex-direction: column;\n    border: 1px solid var(--gris-sep);\n  }\n\n  \/* Tarjeta destacada (la del centro) tiene borde lima arriba *\/\n  .pt-card-wrap:nth-child(2) .pt-card-front {\n    border-top: 3px solid var(--lima);\n  }\n\n  \/* Badge \"M\u00e1s popular\" solo en la tarjeta del centro *\/\n  .pt-badge {\n    position: absolute;\n    top: 0;\n    right: 28px;\n    background: var(--lima);\n    color: var(--oscuro);\n    font-size: 9px;\n    font-weight: 600;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    padding: 5px 12px;\n  }\n\n  \/* N\u00famero grande de fondo (decorativo) *\/\n  .pt-front-num {\n    font-family: var(--font-h);\n    font-size: 88px;\n    line-height: 1;\n    color: var(--gris-sep);\n    position: absolute;\n    top: 20px;\n    right: 24px;\n    user-select: none;\n    pointer-events: none;\n    letter-spacing: -0.02em;\n  }\n\n  \/* Nombre del pack *\/\n  .pt-front-name {\n    font-family: var(--font-h);\n    font-size: 40px;\n    font-weight: 400;\n    color: var(--blanco);\n    margin: 0 0 6px;\n    letter-spacing: 0.04em;\n    position: relative; \/* Para que quede encima del n\u00famero *\/\n  }\n\n  \/* Tagline del nivel *\/\n  .pt-front-level {\n    font-size: 10px;\n    font-weight: 600;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--lima);\n    margin-bottom: 28px;\n    position: relative;\n  }\n\n  \/* Separador entre nivel y lista *\/\n  .pt-front-sep {\n    height: 1px;\n    background: var(--gris-sep);\n    margin-bottom: 28px;\n  }\n\n  \/* Lista de caracter\u00edsticas *\/\n  .pt-front-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    flex-grow: 1;\n  }\n\n  .pt-front-list li {\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n    font-size: 13px;\n    font-weight: 300;\n    color: var(--texto-gris);\n    line-height: 1.65;\n    padding-bottom: 11px;\n    margin-bottom: 11px;\n    border-bottom: 1px solid var(--gris-sep);\n  }\n\n  .pt-front-list li:last-child {\n    border-bottom: none;\n    padding-bottom: 0;\n    margin-bottom: 0;\n  }\n\n  \/* Icono check SVG *\/\n  .pt-chk {\n    width: 16px;\n    height: 16px;\n    flex-shrink: 0;\n    margin-top: 3px;\n    color: var(--gris-sep);\n  }\n\n  \/* En la tarjeta del medio el check es lima *\/\n  .pt-card-wrap:nth-child(2) .pt-chk {\n    color: var(--lima);\n  }\n\n  \/* Hint de \"dale la vuelta\" en la esquina inferior *\/\n  .pt-front-hint {\n    margin-top: 24px;\n    font-size: 10px;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n    color: var(--gris-sep);\n    display: flex;\n    align-items: center;\n    gap: 6px;\n  }\n\n  .pt-front-hint svg {\n    width: 14px;\n    height: 14px;\n    animation: pt-rotate 3s linear infinite;\n  }\n\n  \/* Animaci\u00f3n del icono de rotaci\u00f3n \u2014 CSS puro *\/\n  @keyframes pt-rotate {\n    0%   { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n  }\n\n  \/* ============================================\n     CARA TRASERA (imagen + overlay + CTA)\n     rotateY(180deg) = ya viene \"pre-girada\",\n     as\u00ed cuando el .card-inner gira 180deg,\n     esta cara queda mirando al frente.\n     ============================================ *\/\n  .pt-card-back {\n    transform: rotateY(180deg);\n    position: relative;\n  }\n\n  \/* Imagen de fondo (foto de gym) *\/\n  .pt-back-img {\n    position: absolute;\n    inset: 0;\n    background-size: cover;\n    background-position: center;\n    \/* Zoom ligero que se anima cuando aparece la cara trasera *\/\n    transform: scale(1.08);\n    transition: transform 0.9s var(--flip-ease);\n    will-change: transform;\n  }\n\n  \/* Cuando la tarjeta est\u00e1 girada, la imagen vuelve a escala normal\n     creando un efecto de \"revelado\" sutil *\/\n  .pt-card-wrap:hover .pt-back-img,\n  .pt-card-wrap.is-flipped .pt-back-img {\n    transform: scale(1.0);\n  }\n\n  \/*\n    Overlay diagonal \u2014 NO es un simple negro encima.\n    Usamos dos gradientes apilados:\n    1. De abajo hacia arriba (para leer el texto del footer)\n    2. Lateral diagonal (da profundidad y parece menos template)\n  *\/\n  .pt-back-overlay {\n    position: absolute;\n    inset: 0;\n    background:\n      linear-gradient(\n        to top,\n        rgba(0, 0, 0, 0.95) 0%,\n        rgba(0, 0, 0, 0.6)  45%,\n        rgba(0, 0, 0, 0.2)  70%,\n        rgba(0, 0, 0, 0.05) 100%\n      ),\n      linear-gradient(\n        135deg,\n        rgba(0, 0, 0, 0.4) 0%,\n        transparent        60%\n      );\n  }\n\n  \/* Contenido encima del overlay *\/\n  .pt-back-content {\n    position: absolute;\n    inset: 0;\n    padding: 32px;\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end; \/* Todo el texto en la parte baja *\/\n  }\n\n  \/* L\u00ednea de acento lima en la parte superior izquierda de la trasera *\/\n  .pt-back-content::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 48px;\n    height: 3px;\n    background: var(--lima);\n  }\n\n  \/* N\u00famero de pack en la trasera (grande y semitransparente) *\/\n  .pt-back-num {\n    font-family: var(--font-h);\n    font-size: 120px;\n    font-weight: 400;\n    color: rgba(197, 255, 0, 0.08);\n    line-height: 1;\n    position: absolute;\n    top: 16px;\n    right: 16px;\n    letter-spacing: -0.02em;\n    user-select: none;\n  }\n\n  \/* Tag de nivel en la trasera *\/\n  .pt-back-tag {\n    font-size: 10px;\n    font-weight: 600;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--lima);\n    margin-bottom: 10px;\n    \/* Entra con un peque\u00f1o desplazamiento cuando se gira *\/\n    transform: translateY(8px);\n    opacity: 0;\n    transition: transform 0.4s ease 0.4s, opacity 0.4s ease 0.4s;\n  }\n\n  .pt-card-wrap:hover .pt-back-tag,\n  .pt-card-wrap.is-flipped .pt-back-tag {\n    transform: translateY(0);\n    opacity: 1;\n  }\n\n  \/* Nombre del pack en la trasera *\/\n  .pt-back-name {\n    font-family: var(--font-h);\n    font-size: 52px;\n    font-weight: 400;\n    color: var(--blanco);\n    line-height: 0.95;\n    margin: 0 0 8px;\n    letter-spacing: 0.03em;\n    transform: translateY(10px);\n    opacity: 0;\n    transition: transform 0.4s ease 0.45s, opacity 0.4s ease 0.45s;\n  }\n\n  .pt-card-wrap:hover .pt-back-name,\n  .pt-card-wrap.is-flipped .pt-back-name {\n    transform: translateY(0);\n    opacity: 1;\n  }\n\n  \/* Descripci\u00f3n corta en la trasera *\/\n  .pt-back-desc {\n    font-size: 13px;\n    font-weight: 300;\n    color: rgba(245, 240, 232, 0.75);\n    line-height: 1.65;\n    margin: 0 0 24px;\n    transform: translateY(10px);\n    opacity: 0;\n    transition: transform 0.4s ease 0.5s, opacity 0.4s ease 0.5s;\n  }\n\n  .pt-card-wrap:hover .pt-back-desc,\n  .pt-card-wrap.is-flipped .pt-back-desc {\n    transform: translateY(0);\n    opacity: 1;\n  }\n\n  \/* Bot\u00f3n CTA en la trasera *\/\n  .pt-back-btn {\n    display: block;\n    width: 100%;\n    padding: 15px 20px;\n    background-color: var(--lima);\n    color: var(--oscuro);\n    text-align: center;\n    font-family: var(--font-b);\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n    text-decoration: none;\n    border: none;\n    cursor: pointer;\n    transform: translateY(12px);\n    opacity: 0;\n    transition: transform 0.4s ease 0.55s, opacity 0.4s ease 0.55s,\n                background-color 0.2s ease, color 0.2s ease;\n  }\n\n  .pt-card-wrap:hover .pt-back-btn,\n  .pt-card-wrap.is-flipped .pt-back-btn {\n    transform: translateY(0);\n    opacity: 1;\n  }\n\n  .pt-back-btn:hover {\n    background-color: var(--blanco);\n    color: var(--oscuro);\n  }\n\n  \/* ============================================\n     IM\u00c1GENES DE GYM POR TARJETA\n     Cada pack tiene su propia imagen de Unsplash.\n     Para cambiarlas en WordPress: sube la foto a la\n     Biblioteca de Medios y reemplaza la URL aqu\u00ed.\n     ============================================ *\/\n\n  \/* Pack Starter: cardio y fitness general *\/\n  .pt-img--starter {\n    background-image: url('https:\/\/images.unsplash.com\/photo-1571019613914-85f342c6a11e?w=700&q=80&auto=format&fit=crop');\n  }\n\n  \/* Pack Performance: barras y pesas *\/\n  .pt-img--performance {\n    background-image: url('https:\/\/images.unsplash.com\/photo-1534438327276-14e5300c3a48?w=700&q=80&auto=format&fit=crop');\n  }\n\n  \/* Pack Pro: levantamiento pesado *\/\n  .pt-img--pro {\n    background-image: url('https:\/\/images.unsplash.com\/photo-1526506118085-60ce8714f8c5?w=700&q=80&auto=format&fit=crop');\n  }\n\n  \/* ============================================\n     NOTA DE GARANT\u00cdA\n     ============================================ *\/\n  .pt-packs__footer {\n    text-align: center;\n    max-width: 500px;\n    margin: 0 auto;\n    font-size: 13px;\n    font-weight: 300;\n    color: var(--texto-gris);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n  }\n\n  .pt-packs__footer svg {\n    flex-shrink: 0;\n    color: var(--lima);\n  }\n\n  \/* ============================================\n     RESPONSIVE M\u00d3VIL\n     ============================================ *\/\n  @media (max-width: 680px) {\n    .pt-packs {\n      padding: 60px 16px;\n    }\n    .pt-card-wrap {\n      height: 440px;\n    }\n    .pt-packs__grid {\n      gap: 12px;\n    }\n  }\n<\/style>\n\n<!-- ============================================\n     HTML DE LA SECCI\u00d3N\n     ============================================ -->\n<section class=\"pt-packs\" aria-labelledby=\"packs-h2\">\n\n  <!-- Cabecera -->\n  <header class=\"pt-packs__header\">\n    <span class=\"pt-packs__label\" aria-label=\"Elige tu nivel\">Elige tu nivel<\/span>\n    <h2 id=\"packs-h2\">\n      DALE LA<br><em>VUELTA<\/em><br>A TU CUERPO\n    <\/h2>\n    <p>\n      Tres programas, un objetivo: que llegues donde quieres.\n      Pasa el rat\u00f3n (o toca) cada tarjeta para ver lo que te espera.\n    <\/p>\n  <\/header>\n\n  <!-- Hint para m\u00f3vil -->\n  <p class=\"pt-packs__hint\" aria-hidden=\"true\">\n    \u2195 Toca cada tarjeta para ver el pack\n  <\/p>\n\n  <!-- Grid de tarjetas -->\n  <div class=\"pt-packs__grid\" role=\"list\">\n\n    <!-- ==========================================\n         PACK 1 \u2014 STARTER\n         ========================================== -->\n    <div class=\"pt-card-wrap\" role=\"listitem\" tabindex=\"0\"\n         aria-label=\"Pack Starter \u2014 toca o pulsa Enter para ver el detalle\">\n\n      <div class=\"pt-card-inner\">\n\n        <!-- CARA DELANTERA -->\n        <div class=\"pt-card-front\" aria-label=\"Informaci\u00f3n del Pack Starter\">\n\n          <!-- N\u00famero decorativo -->\n          <span class=\"pt-front-num\" aria-hidden=\"true\">01<\/span>\n\n          <!-- Nombre y nivel -->\n          <h3 class=\"pt-front-name\">STARTER<\/h3>\n          <p class=\"pt-front-level\">Para principiantes<\/p>\n          <div class=\"pt-front-sep\" role=\"separator\"><\/div>\n\n          <!-- Lista de lo que incluye -->\n          <ul class=\"pt-front-list\" aria-label=\"Incluye\">\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Plan de entrenamiento 3 d\u00edas\/sem\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Gu\u00eda de alimentaci\u00f3n b\u00e1sica\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Check-in semanal por WhatsApp\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              V\u00eddeos de t\u00e9cnica de ejercicios\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Duraci\u00f3n: 8 semanas\n            <\/li>\n          <\/ul>\n\n          <!-- Hint interactivo -->\n          <p class=\"pt-front-hint\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n              <path d=\"M12 2v20M2 12l10 10 10-10\"\/>\n            <\/svg>\n            Dale la vuelta\n          <\/p>\n        <\/div><!-- fin front starter -->\n\n        <!-- CARA TRASERA -->\n        <div class=\"pt-card-back\" aria-label=\"Detalle del Pack Starter con foto de cardio\">\n\n          <!-- Foto de gym (cardio\/treadmill) -->\n          <div class=\"pt-back-img pt-img--starter\" role=\"img\" aria-label=\"Persona haciendo cardio en cinta de correr\"><\/div>\n\n          <!-- Overlay diagonal oscuro -->\n          <div class=\"pt-back-overlay\" aria-hidden=\"true\"><\/div>\n\n          <!-- Contenido sobre la imagen -->\n          <div class=\"pt-back-content\">\n            <span class=\"pt-back-num\" aria-hidden=\"true\">01<\/span>\n            <p class=\"pt-back-tag\">Nivel principiante<\/p>\n            <h3 class=\"pt-back-name\">STARTER<\/h3>\n            <p class=\"pt-back-desc\">\n              El primer paso es el m\u00e1s importante.\n              Cardio, movilidad y h\u00e1bitos s\u00f3lidos\n              para construir tu base desde cero.\n            <\/p>\n            <!-- Bot\u00f3n que lleva al formulario de contacto de la misma p\u00e1gina -->\n            <a href=\"#contacto\" class=\"pt-back-btn\"\n               aria-label=\"Solicitar informaci\u00f3n sobre el Pack Starter\">\n              Quiero empezar \u2192\n            <\/a>\n          <\/div>\n        <\/div><!-- fin back starter -->\n\n      <\/div><!-- fin card-inner -->\n    <\/div><!-- fin card-wrap starter -->\n\n\n    <!-- ==========================================\n         PACK 2 \u2014 PERFORMANCE (el destacado)\n         ========================================== -->\n    <div class=\"pt-card-wrap\" role=\"listitem\" tabindex=\"0\"\n         aria-label=\"Pack Performance \u2014 el m\u00e1s popular \u2014 toca para ver el detalle\">\n\n      <div class=\"pt-card-inner\">\n\n        <!-- CARA DELANTERA -->\n        <div class=\"pt-card-front\" aria-label=\"Informaci\u00f3n del Pack Performance\">\n\n          <!-- Badge -->\n          <span class=\"pt-badge\" aria-label=\"El m\u00e1s popular\">M\u00e1s popular<\/span>\n          <span class=\"pt-front-num\" aria-hidden=\"true\">02<\/span>\n\n          <h3 class=\"pt-front-name\">PERFORMANCE<\/h3>\n          <p class=\"pt-front-level\">Para intermedios<\/p>\n          <div class=\"pt-front-sep\" role=\"separator\"><\/div>\n\n          <ul class=\"pt-front-list\" aria-label=\"Incluye\">\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Plan de entrenamiento 5 d\u00edas\/sem\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Nutrici\u00f3n con calor\u00edas y macros\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Periodizaci\u00f3n progresiva mensual\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Videollamada de revisi\u00f3n mensual\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Duraci\u00f3n: 12 semanas\n            <\/li>\n          <\/ul>\n\n          <p class=\"pt-front-hint\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n              <path d=\"M12 2v20M2 12l10 10 10-10\"\/>\n            <\/svg>\n            Dale la vuelta\n          <\/p>\n        <\/div>\n\n        <!-- CARA TRASERA -->\n        <div class=\"pt-card-back\" aria-label=\"Detalle del Pack Performance con foto de pesas\">\n          <div class=\"pt-back-img pt-img--performance\" role=\"img\" aria-label=\"Barras y pesas en sala de pesas\"><\/div>\n          <div class=\"pt-back-overlay\" aria-hidden=\"true\"><\/div>\n          <div class=\"pt-back-content\">\n            <span class=\"pt-back-num\" aria-hidden=\"true\">02<\/span>\n            <p class=\"pt-back-tag\">Nivel intermedio<\/p>\n            <h3 class=\"pt-back-name\">PERFORMANCE<\/h3>\n            <p class=\"pt-back-desc\">\n              Ya entrenas. Hora de hacerlo de verdad.\n              Pesas, barra, t\u00e9cnica y planificaci\u00f3n\n              que empuja tus l\u00edmites cada semana.\n            <\/p>\n            <a href=\"#contacto\" class=\"pt-back-btn\"\n               aria-label=\"Solicitar informaci\u00f3n sobre el Pack Performance\">\n              Quiero mejorar \u2192\n            <\/a>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div><!-- fin card performance -->\n\n\n    <!-- ==========================================\n         PACK 3 \u2014 PRO\n         ========================================== -->\n    <div class=\"pt-card-wrap\" role=\"listitem\" tabindex=\"0\"\n         aria-label=\"Pack Pro nivel \u00e9lite \u2014 toca para ver el detalle\">\n\n      <div class=\"pt-card-inner\">\n\n        <!-- CARA DELANTERA -->\n        <div class=\"pt-card-front\" aria-label=\"Informaci\u00f3n del Pack Pro\">\n\n          <span class=\"pt-front-num\" aria-hidden=\"true\">03<\/span>\n\n          <h3 class=\"pt-front-name\">PRO<\/h3>\n          <p class=\"pt-front-level\">Para nivel \u00e9lite<\/p>\n          <div class=\"pt-front-sep\" role=\"separator\"><\/div>\n\n          <ul class=\"pt-front-list\" aria-label=\"Incluye\">\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Entrenamiento diario personalizado\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Nutrici\u00f3n y suplementaci\u00f3n \u00e9lite\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Soporte WhatsApp todos los d\u00edas\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Planificaci\u00f3n para competici\u00f3n\n            <\/li>\n            <li>\n              <svg class=\"pt-chk\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n              Renovaci\u00f3n mensual continua\n            <\/li>\n          <\/ul>\n\n          <p class=\"pt-front-hint\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n              <path d=\"M12 2v20M2 12l10 10 10-10\"\/>\n            <\/svg>\n            Dale la vuelta\n          <\/p>\n        <\/div>\n\n        <!-- CARA TRASERA -->\n        <div class=\"pt-card-back\" aria-label=\"Detalle del Pack Pro con foto de levantamiento\">\n          <div class=\"pt-back-img pt-img--pro\" role=\"img\" aria-label=\"Levantamiento de pesas pesadas estilo powerlifting\"><\/div>\n          <div class=\"pt-back-overlay\" aria-hidden=\"true\"><\/div>\n          <div class=\"pt-back-content\">\n            <span class=\"pt-back-num\" aria-hidden=\"true\">03<\/span>\n            <p class=\"pt-back-tag\">Nivel \u00e9lite<\/p>\n            <h3 class=\"pt-back-name\">PRO<\/h3>\n            <p class=\"pt-back-desc\">\n              Sin l\u00edmites. Kilaje m\u00e1ximo, t\u00e9cnica\n              perfecta, nutrici\u00f3n de competici\u00f3n\n              y un entrenador en tu bolsillo 24\/7.\n            <\/p>\n            <a href=\"#contacto\" class=\"pt-back-btn\"\n               aria-label=\"Solicitar informaci\u00f3n sobre el Pack Pro\">\n              Quiero el m\u00e1ximo \u2192\n            <\/a>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div><!-- fin card pro -->\n\n  <\/div><!-- fin grid -->\n\n  <!-- Nota de garant\u00eda -->\n  <p class=\"pt-packs__footer\">\n    <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n      <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/>\n    <\/svg>\n    Consulta gratuita de 20 minutos antes de decidir. Sin compromiso.\n  <\/p>\n\n<\/section><!-- fin section packs -->\n\n<!--\n  JAVASCRIPT DEL FLIP EN M\u00d3VIL\n\n  En desktop el hover CSS ya hace el trabajo.\n  En m\u00f3vil (dispositivos t\u00e1ctiles, hover: none) a\u00f1adimos\n  un clic que alterna la clase \"is-flipped\".\n  Tambi\u00e9n manejamos teclado (Enter\/Space) para accesibilidad.\n-->\n<script>\n  document.addEventListener('DOMContentLoaded', function () {\n\n    \/*\n      Buscamos todas las tarjetas de la secci\u00f3n de packs.\n      querySelectorAll devuelve una NodeList (parecida a un array).\n    *\/\n    var tarjetas = document.querySelectorAll('.pt-card-wrap');\n\n    \/*\n      Detectamos si el dispositivo tiene hover real (no t\u00e1ctil).\n      En un iPad o m\u00f3vil, matchMedia('(hover: none)') devuelve true.\n    *\/\n    var esTactil = window.matchMedia('(hover: none)').matches;\n\n    \/* Recorremos cada tarjeta *\/\n    tarjetas.forEach(function (tarjeta) {\n\n      \/* Solo en dispositivos t\u00e1ctiles a\u00f1adimos el click para girar *\/\n      if (esTactil) {\n\n        tarjeta.addEventListener('click', function () {\n\n          \/* Si la tarjeta ya est\u00e1 girada, la cerramos *\/\n          if (this.classList.contains('is-flipped')) {\n            this.classList.remove('is-flipped');\n            this.setAttribute('aria-expanded', 'false');\n          } else {\n            \/*\n              Primero cerramos TODAS las tarjetas abiertas\n              (no queremos dos giradas a la vez).\n            *\/\n            tarjetas.forEach(function (t) {\n              t.classList.remove('is-flipped');\n              t.setAttribute('aria-expanded', 'false');\n            });\n\n            \/* Luego abrimos la que toc\u00f3 el usuario *\/\n            this.classList.add('is-flipped');\n            this.setAttribute('aria-expanded', 'true');\n          }\n\n        }); \/* fin click *\/\n\n      } \/* fin if esTactil *\/\n\n      \/*\n        Accesibilidad de teclado: Enter y Space tambi\u00e9n giran la tarjeta.\n        Esto permite usarla sin rat\u00f3n ni pantalla t\u00e1ctil.\n      *\/\n      tarjeta.addEventListener('keydown', function (evento) {\n\n        \/* Comprobamos si la tecla pulsada es Enter (13) o Espacio (32) *\/\n        if (evento.key === 'Enter' || evento.key === ' ') {\n\n          \/* Evitamos el scroll de la p\u00e1gina con Espacio *\/\n          evento.preventDefault();\n\n          \/* Alternamos la clase flipped *\/\n          this.classList.toggle('is-flipped');\n          var abierta = this.classList.contains('is-flipped');\n          this.setAttribute('aria-expanded', abierta ? 'true' : 'false');\n\n        } \/* fin if tecla *\/\n\n      }); \/* fin keydown *\/\n\n    }); \/* fin forEach tarjetas *\/\n\n  }); \/* fin DOMContentLoaded *\/\n<\/script>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Elige tu nivel DALE LAVUELTAA TU CUERPO Tres programas, un objetivo: que llegues donde quieres. Pasa el rat\u00f3n (o toca) cada tarjeta para ver lo que te espera. \u2195 Toca cada tarjeta para ver el pack 01 STARTER Para principiantes Plan de entrenamiento 3 d\u00edas\/sem Gu\u00eda de alimentaci\u00f3n b\u00e1sica Check-in semanal por WhatsApp V\u00eddeos de&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"hide","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-25","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=\/wp\/v2\/pages\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25"}],"version-history":[{"count":3,"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=\/wp\/v2\/pages\/25\/revisions"}],"predecessor-version":[{"id":30,"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=\/wp\/v2\/pages\/25\/revisions\/30"}],"wp:attachment":[{"href":"https:\/\/personaltrainer.onsistems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}