/** Shopify CDN: Minification failed

Line 16:0 Unexpected "{"
Line 16:1 Unexpected "{"
Line 16:11 Expected ":"
Line 17:4 Unexpected "{"
Line 17:5 Unexpected "{"
Line 17:21 Expected ":"
Line 18:4 Unexpected "{"
Line 18:5 Unexpected "{"
Line 18:23 Expected ":"
Line 19:4 Unexpected "{"
... and 5 more hidden warnings

**/
{{ settings.type_body_font | font_face: font_display: 'swap' }}
    {{ body_font_bold | font_face: font_display: 'swap' }}
    {{ body_font_italic | font_face: font_display: 'swap' }}
    {{ body_font_bold_italic | font_face: font_display: 'swap' }}
    {{ settings.type_header_font | font_face: font_display: 'swap' }}

    /* ─────────────────────────────────────────────
       DESIGN TOKENS - PALETA ZENTROSPRO GLOBAL
    ───────────────────────────────────────────── */
    :root {
      /* Fuentes */
      --font-body-family:    'Outfit', sans-serif;
      --font-body-style:     normal;
      --font-body-weight:    400;
      --font-heading-family: 'Outfit', sans-serif;
      --font-heading-style:  normal;
      --font-heading-weight: 700;

      /* SOBRESCRITURA DE COLORES SHOPIFY PARA USAR LA PALETA ZENTROSPRO EN TODA LA WEB */
      --color-primary:       #E8B94A;       /* Dorado Zentrospro */
      --color-secondary:     #38D4F2;       /* Cyan Zentrospro */
      --color-accent:        #F5D06A;       /* Dorado Claro */
      --color-background:    #070B11;       /* Fondo Negro Principal */
      --color-text:          #ECF1FA;       /* Texto Blanco/Hielo */
      --color-text-light:    #7E8EAB;       /* Texto Gris Azulado */
      --color-border:        rgba(255,255,255,0.08); /* Bordes sutiles */
      
      --page-width:          1400px;

      /* Variables Especificas Zentrospro (Consistencia) */
      --zp-bg:         #070B11;
      --zp-surface:    #0E1520;
      --zp-surface-2:  #141D2C;
      --zp-surface-3:  #1B2538;
      --zp-gold:       #E8B94A;
      --zp-gold-2:     #F5D06A;
      --zp-cyan:       #38D4F2;
      --zp-text:       #ECF1FA;
      --zp-text-2:     #7E8EAB;
      --zp-text-3:     rgb(255, 255, 255);
      --zp-border:     rgba(255,255,255,0.055);
      --zp-border-hi:  rgba(255,255,255,0.10);
      --zp-glow-a:     rgba(232,185,74,0.15);
      --zp-glow-b:     rgba(56,212,242,0.10);
      --zp-r:          12px;
      --zp-r-lg:       20px;
      --zp-ease:       cubic-bezier(0.4, 0, 0.2, 1);
      --font-ui:       'Outfit', sans-serif;
      --font-mono:     'Space Mono', monospace;
    }

    /* ─────────────────────────────────────────────
       BASE RESET & GLOBAL STYLES
    ───────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; }

    html {
      font-size: calc(var(--font-body-scale, 1) * 62.5%);
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--font-ui);
      color: var(--zp-text);
      background: var(--zp-bg);
      margin: 0;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    /* Titulos globales forzados a la paleta */
    h1,h2,h3,h4,h5,h6 { 
      font-family: var(--font-ui); 
      font-weight: 700; 
      margin: 0; 
      line-height: 1.1; 
      color: var(--zp-text); 
    }

    a   { color: inherit; text-decoration: none; transition: color 0.2s ease; }
    a:hover { color: var(--zp-gold); }
    
    img { max-width: 100%; height: auto; display: block; }
    button { cursor: pointer; font-family: inherit; }

    /* Film-grain overlay (Ruido de fondo global) */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 9999;
      opacity: 0.022;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 180px;
    }

    /* Scrollbar personalizada */
    ::-webkit-scrollbar       { width: 6px; }
    ::-webkit-scrollbar-track { background: var(--zp-bg); }
    ::-webkit-scrollbar-thumb { background: var(--zp-surface-3); border-radius: 3px; }
    ::-webkit-scrollbar-thumb:hover { background: var(--zp-gold); }

    /* Selection */
    ::selection { background: rgba(232,185,74,0.3); color: var(--zp-gold-2); }

    /* Skip link */
    .skip-to-content-link {
      position: absolute; top: -100%; left: 16px;
      background: var(--zp-gold); color: var(--zp-bg);
      font-family: var(--font-ui); font-size: 13px; font-weight: 600;
      padding: 8px 18px; border-radius: 6px; z-index: 10000;
      transition: top 0.2s ease;
    }
    .skip-to-content-link:focus { top: 16px; }

    .main-content { min-height: 50vh; }

    /* ══════════════════════════════════════════════
       NUEVO BANNER DE DESCUENTO (FIRST PURCHASE)
    ══════════════════════════════════════════════ */
    .zp-discount-banner {
      background: linear-gradient(90deg, var(--zp-surface) 0%, var(--zp-surface-2) 50%, var(--zp-surface) 100%);
      border-bottom: 1px solid var(--zp-border);
      border-top: 1px solid var(--zp-border);
      padding: 12px 20px;
      text-align: center;
      position: relative;
      overflow: hidden;
      z-index: 50; /* Por encima del contenido normal, debajo del header */
    }

    .zp-discount-banner::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: radial-gradient(circle at 50% 50%, rgba(232,185,74,0.08) 0%, transparent 70%);
      pointer-events: none;
    }

    .zp-discount-banner__content {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      position: relative;
      z-index: 1;
      flex-wrap: wrap;
    }

    .zp-discount-banner__text {
      font-size: 14px;
      font-weight: 500;
      color: var(--zp-text-2);
      letter-spacing: 0.02em;
    }

    .zp-discount-banner__highlight {
      font-family: var(--font-mono);
      font-size: 15px;
      font-weight: 700;
      color: var(--zp-gold);
      background: rgba(232,185,74,0.1);
      padding: 2px 8px;
      border-radius: 4px;
      border: 1px solid rgba(232,185,74,0.2);
      margin: 0 4px;
    }

    .zp-discount-banner__icon {
      color: var(--zp-gold);
      animation: zpPulse 2s ease-in-out infinite;
    }

    @keyframes zpPulse {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.1); opacity: 0.8; }
    }

    @media (max-width: 600px) {
      .zp-discount-banner { padding: 10px 16px; }
      .zp-discount-banner__text { font-size: 13px; }
      .zp-discount-banner__highlight { font-size: 14px; }
    }

    /* ══════════════════════════════════════════════
       SECCIONES PERSONALIZADAS (ABOUT & TESTIMONIALS)
    ══════════════════════════════════════════════ */

    .zp-about, .zp-testimonials {
      position: relative;
      padding: 96px 0 108px;
      background: var(--zp-bg);
      overflow: hidden;
      isolation: isolate;
    }

    /* Dot-grid background */
    .zp-about::before, .zp-testimonials::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);
      background-size: 44px 44px;
      pointer-events: none;
      z-index: 0;
      mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black 40%, transparent 100%);
    }

    /* Ambient glow orbs */
    .zp-orb {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
    }

    .zp-orb--a {
      top: -220px; right: -240px;
      width: 680px; height: 680px;
      background: radial-gradient(circle, var(--zp-glow-a) 0%, transparent 65%);
    }

    .zp-orb--b {
      bottom: -180px; left: -180px;
      width: 560px; height: 560px;
      background: radial-gradient(circle, var(--zp-glow-b) 0%, transparent 65%);
    }

    .zp-wrap {
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 32px;
      position: relative;
      z-index: 1;
    }

    /* ── Chip label ── */
    .zp-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--zp-gold);
      border: 1px solid rgba(232,185,74,0.25);
      padding: 7px 16px;
      border-radius: 100px;
      background: rgba(232,185,74,0.055);
      margin-bottom: 18px;
    }

    .zp-chip__dot {
      width: 5px; height: 5px;
      border-radius: 50%;
      background: var(--zp-gold);
      box-shadow: 0 0 9px var(--zp-gold);
      animation: zpBlink 2.5s ease-in-out infinite;
    }

    @keyframes zpBlink {
      0%,100% { opacity:1; transform:scale(1); }
      50%      { opacity:0.15; transform:scale(0.65); }
    }

    /* ── Section header ── */
    .zp-hero-header {
      text-align: center;
      margin-bottom: 80px;
    }

    .zp-overline {
      font-family: var(--font-mono);
      font-size: 10.5px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--zp-text-3);
      margin-bottom: 14px;
    }

    .zp-h1, .zp-h2-section {
      font-family: var(--font-ui);
      font-size: clamp(36px, 6vw, 72px);
      font-weight: 900;
      line-height: 1.0;
      letter-spacing: -0.045em;
      color: var(--zp-text);
      margin-bottom: 22px;
    }
    
    .zp-h2-section {
        text-align: center;
        margin-bottom: 16px;
    }

    .zp-h1 em, .zp-h2-section em {
      font-style: normal;
      background: linear-gradient(125deg, var(--zp-gold) 0%, var(--zp-gold-2) 45%, var(--zp-cyan) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .zp-lead {
      font-size: 17px;
      font-weight: 400;
      color: var(--zp-text-2);
      max-width: 600px;
      margin: 0 auto;
      line-height: 1.8;
    }

    /* ── Section label mono ── */
    .zp-mono-label {
      font-family: var(--font-mono);
      font-size: 10px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--zp-gold);
      margin-bottom: 12px;
    }

    /* ── Mission layout ── */
    .zp-mission {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
      margin-bottom: 80px;
    }

    .zp-mission__title {
      font-size: clamp(26px, 3.2vw, 40px);
      font-weight: 800;
      letter-spacing: -0.035em;
      color: var(--zp-text);
      line-height: 1.12;
      margin-bottom: 20px;
    }

    .zp-mission__title strong { color: var(--zp-gold); }

    .zp-body {
      font-size: 15px;
      color: var(--zp-text-2);
      line-height: 1.82;
      margin-bottom: 14px;
    }

    .zp-body b { color: var(--zp-text); font-weight: 500; }

    /* Stats row */
    .zp-stats {
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 1px;
      background: var(--zp-border);
      border-radius: var(--zp-r);
      overflow: hidden;
      margin-top: 36px;
    }

    .zp-stat {
      background: var(--zp-surface);
      padding: 22px 16px;
      text-align: center;
      transition: background 0.22s var(--zp-ease);
    }

    .zp-stat:hover { background: var(--zp-surface-2); }

    .zp-stat__num {
      font-family: var(--font-ui);
      font-size: 32px;
      font-weight: 900;
      letter-spacing: -0.04em;
      color: var(--zp-gold);
      line-height: 1;
      margin-bottom: 5px;
    }

    .zp-stat__lbl {
      font-family: var(--font-mono);
      font-size: 9.5px;
      letter-spacing: 0.08em;
      color: var(--zp-text-3);
      text-transform: uppercase;
    }

    /* ── Photo collage ── */
    .zp-collage {
      position: relative;
      height: 510px;
    }

    .zp-photo {
      position: absolute;
      border-radius: var(--zp-r-lg);
      overflow: hidden;
      border: 1px solid var(--zp-border-hi);
      box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.03) inset;
    }

    .zp-photo img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      filter: saturate(0.78) brightness(0.8);
      transition: transform 0.7s var(--zp-ease), filter 0.4s ease;
    }

    .zp-photo:hover img {
      transform: scale(1.055);
      filter: saturate(0.95) brightness(0.88);
    }

    .zp-photo::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent 55%, rgba(7,11,17,0.55) 100%);
      pointer-events: none;
    }

    .zp-photo--a { top:0;       left:0;   width:66%; height:328px; z-index:2; }
    .zp-photo--b { bottom:0;    right:0;  width:55%; height:265px; z-index:3; }
    .zp-photo--c { bottom:28px; left:0;   width:37%; height:192px; z-index:1; }

    /* Rating badge */
    .zp-badge {
      position: absolute;
      top: 20px; right: -18px;
      background: linear-gradient(145deg, var(--zp-surface-2), var(--zp-surface-3));
      border: 1px solid rgba(232,185,74,0.28);
      border-radius: var(--zp-r);
      padding: 16px 20px;
      z-index: 10;
      text-align: center;
      box-shadow: 0 20px 56px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.04) inset, 0 0 24px rgba(232,185,74,0.08);
      backdrop-filter: blur(16px);
    }

    .zp-badge__stars { font-size: 11px; letter-spacing: 3px; color: var(--zp-gold); margin-bottom: 5px; }
    .zp-badge__score { font-family: var(--font-ui); font-size: 30px; font-weight: 900; letter-spacing: -0.04em; color: var(--zp-text); line-height: 1; margin-bottom: 4px; }
    .zp-badge__label { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; color: var(--zp-text-3); text-transform: uppercase; }

    /* ── Thin divider ── */
    .zp-divider {
      display: flex;
      align-items: center;
      gap: 18px;
      margin: 72px 0 64px;
    }
    .zp-divider::before, .zp-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(to right, transparent, var(--zp-border-hi), transparent);
    }
    .zp-divider__mark {
      font-family: var(--font-mono);
      font-size: 11px;
      color: var(--zp-text-3);
      letter-spacing: 0.12em;
      flex-shrink: 0;
      padding: 6px 14px;
      border: 1px solid var(--zp-border-hi);
      border-radius: 100px;
    }

    /* ── Values ── */
    .zp-values-wrap { margin-bottom: 72px; }
    .zp-values-head { margin-bottom: 40px; }
    .zp-values-title {
      font-size: clamp(24px, 3vw, 38px);
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--zp-text);
      margin-top: 8px;
      line-height: 1.15;
    }
    .zp-values-grid {
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 16px;
    }
    .zp-val {
      background: var(--zp-surface);
      border: 1px solid var(--zp-border);
      border-radius: var(--zp-r-lg);
      padding: 38px 32px;
      position: relative;
      overflow: hidden;
      transition: border-color 0.3s ease, transform 0.32s var(--zp-ease), box-shadow 0.3s ease;
    }
    .zp-val::before {
      content: '';
      position: absolute;
      top: 0; left: 16px; right: 16px;
      height: 1.5px;
      background: linear-gradient(90deg, transparent, var(--zp-gold), transparent);
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .zp-val::after {
      content: '';
      position: absolute;
      top: -100px; left: -100px;
      width: 260px; height: 260px;
      border-radius: 50%;
      background: radial-gradient(circle, var(--zp-glow-a), transparent 65%);
      opacity: 0;
      transition: opacity 0.45s ease;
      pointer-events: none;
    }
    .zp-val:hover {
      border-color: rgba(232,185,74,0.2);
      transform: translateY(-5px);
      box-shadow: 0 24px 64px rgba(0,0,0,0.5), 0 0 0 1px rgba(232,185,74,0.06) inset;
    }
    .zp-val:hover::before { opacity: 1; }
    .zp-val:hover::after  { opacity: 1; }
    .zp-val__icon {
      width: 50px; height: 50px;
      border-radius: 13px;
      background: rgba(232,185,74,0.07);
      border: 1px solid rgba(232,185,74,0.16);
      display: flex; align-items: center; justify-content: center;
      font-size: 22px;
      margin-bottom: 22px;
      position: relative; z-index: 1;
    }
    .zp-val__title { font-size: 18px; font-weight: 700; color: var(--zp-text); margin-bottom: 11px; letter-spacing: -0.01em; position: relative; z-index: 1; }
    .zp-val__text { font-size: 14px; color: var(--zp-text-2); line-height: 1.78; position: relative; z-index: 1; }

    /* ── Trust bar ── */
    .zp-trust {
      display: grid;
      grid-template-columns: repeat(4,1fr);
      gap: 1px;
      background: var(--zp-border);
      border-radius: var(--zp-r-lg);
      overflow: hidden;
      border: 1px solid var(--zp-border);
    }
    .zp-trust-item {
      background: var(--zp-surface);
      padding: 26px 22px;
      display: flex;
      align-items: center;
      gap: 14px;
      transition: background 0.22s ease;
    }
    .zp-trust-item:hover { background: var(--zp-surface-2); }
    .zp-trust-item__ico {
      width: 44px; height: 44px;
      flex-shrink: 0;
      border-radius: 11px;
      background: rgba(56,212,242,0.065);
      border: 1px solid rgba(56,212,242,0.13);
      display: flex; align-items: center; justify-content: center;
      font-size: 19px;
    }
    .zp-trust-item__name { font-size: 13.5px; font-weight: 600; color: var(--zp-text); margin-bottom: 2px; }
    .zp-trust-item__sub { font-size: 12px; color: var(--zp-text-3); }

    /* ══════════════════════════════════════════════
       TESTIMONIOS — ZENTROSPRO PREMIUM
    ══════════════════════════════════════════════ */
    
    .zp-testimonials-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 24px;
        margin-top: 40px;
    }

    .zp-testimonial-card {
        background: var(--zp-surface);
        border: 1px solid var(--zp-border);
        border-radius: var(--zp-r-lg);
        padding: 32px;
        position: relative;
        transition: transform 0.3s var(--zp-ease), border-color 0.3s ease;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .zp-testimonial-card:hover {
        transform: translateY(-5px);
        border-color: rgba(232,185,74,0.2);
        background: var(--zp-surface-2);
    }

    .zp-testimonial-stars {
      color: var(--zp-gold);
      font-size: 14px;
      letter-spacing: 2px;
      margin-bottom: 16px;
    }

    .zp-testimonial-text {
        font-size: 15px;
        line-height: 1.7;
        color: var(--zp-text-2);
        margin-bottom: 24px;
        flex-grow: 1;
        font-style: italic;
    }

    .zp-testimonial-author {
        display: flex;
        align-items: center;
        gap: 12px;
        border-top: 1px solid var(--zp-border);
        padding-top: 16px;
    }

    .zp-author-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--zp-surface-3);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        color: var(--zp-gold);
        font-size: 14px;
        border: 1px solid rgba(232,185,74,0.2);
    }

    .zp-author-info h4 {
        font-size: 14px;
        font-weight: 700;
        color: var(--zp-text);
        margin: 0;
    }

    .zp-author-info span {
        font-size: 12px;
        color: var(--zp-text-3);
        font-family: var(--font-mono);
    }

    /* ── Scroll reveal ── */
    .zp-reveal {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity 0.72s var(--zp-ease), transform 0.72s var(--zp-ease);
    }

    .zp-reveal.visible { opacity: 1; transform: translateY(0); }
    .zp-reveal.d1 { transition-delay: 0.08s; }
    .zp-reveal.d2 { transition-delay: 0.18s; }
    .zp-reveal.d3 { transition-delay: 0.28s; }
    .zp-reveal.d4 { transition-delay: 0.38s; }

    /* ── Responsive ── */
    @media (max-width: 960px) {
      .zp-mission     { grid-template-columns: 1fr; gap: 52px; }
      .zp-collage     { height: 370px; order: -1; }
      .zp-values-grid { grid-template-columns: 1fr 1fr; }
      .zp-trust       { grid-template-columns: 1fr 1fr; }
      .zp-testimonials-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 600px) {
      .zp-about, .zp-testimonials     { padding: 64px 0 76px; }
      .zp-wrap      { padding: 0 20px; }
      .zp-values-grid { grid-template-columns: 1fr; }
      .zp-trust     { grid-template-columns: 1fr; }
      .zp-photo--a  { width: 72%; }
      .zp-photo--b  { width: 62%; }
      .zp-badge     { right: 0; }
    }