:root{
    --teal-950:#0A2C28;
    --teal-900:#0E3B36;
    --teal-800:#12504A;
    --teal-600:#177E71;
    --teal-500:#1E9A89;
    --mint-100:#E3F1EC;
    --mint-50:#F3F9F6;
    --cream:#FBF8F2;
    --ink:#12211D;
    --ink-soft:#4E5F5A;
    --ink-mute:#7C8B86;
    --coral:#E2894F;
    --coral-dark:#C96F38;
    --blood:#D65B4A;
    --line:rgba(18,80,74,0.14);
  }
  h1,h2,h3{
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    letter-spacing:-0.01em;
  }
  .wrap{
    max-width:1160px;
    margin:0 auto;
    position:relative;
    z-index:2;
  }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Manrope',sans-serif;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--teal-700,#146a5f);
    background:var(--mint-100);
    border:1px solid rgba(20,122,105,0.22);
    padding:7px 16px 7px 12px;
    border-radius:99px;
  }
  .eyebrow::before{
    content:"";
    width:6px;height:6px;border-radius:50%;
    background:var(--coral);
    flex:none;
  }
  .head-block{
    text-align:center;
    max-width:640px;
    margin:0 auto 64px;
  }
  .head-block .eyebrow{ margin-bottom:22px; }
  .head-block h2 { font-size: 2.25rem; font-weight: 800; line-height: 1.25; color: #1c1917; } @media (min-width: 768px) { .head-block h2 { font-size: 3rem; } }
  .head-block h2 em { font-style: normal; color: rgb(12, 136, 121); }
  .head-block p{
    margin:20px auto 0;
    font-size:16.5px;
    line-height:1.65;
    color:var(--ink-soft);
    max-width:480px;
  }

  /* ---------- decorative bg ---------- */
  .bg-organic{
    position:absolute; inset:0;
    z-index:0;
    pointer-events:none;
  }

  /* ================= SECTION A ================= */
  .sec-consulta{
    position:relative;
    padding:110px 24px;
    overflow:hidden;
    background:
      radial-gradient(600px 340px at 12% -10%, var(--mint-100) 0%, transparent 70%),
      radial-gradient(700px 420px at 108% 10%, rgba(226,137,79,0.10) 0%, transparent 65%),
      var(--cream);
  }

  .path-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
    counter-reset:step;
  }
  .path-card{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:38px 30px 32px;
    box-shadow:0 1px 2px rgba(18,60,52,0.04);
    transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease, border-color .35s ease;
    text-align:center;
  }
  .path-card::before{
    content:"";
    position:absolute; left:30px; right:30px; top:0;
    height:3px; border-radius:0 0 3px 3px;
    background:linear-gradient(90deg,var(--card-accent,var(--teal-500)),transparent 130%);
    opacity:0;
    transition:opacity .3s ease;
  }
  .path-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 40px -20px rgba(14,59,54,0.28);
    border-color:transparent;
  }
  .path-card:hover::before{ opacity:1; }
  .path-card .num{
    position:absolute; top:26px; right:28px;
    font-family:'Fraunces',serif;
    font-style:italic;
    font-size:14px;
    color:var(--ink-mute);
    opacity:.6;
  }
  .icon-blob{
    width:56px; height:56px;
    border-radius:16px 16px 20px 16px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
    background:var(--icon-bg);
  }
  .icon-blob svg{ width:26px; height:26px; }
  .icon-blob.icon-blob--img{
    width:100px; height:100px;
    border-radius:50%;
    overflow:hidden;
    background: linear-gradient(145deg, #f0fdfa 0%, #ccfbf1 50%, #e0f7f3 100%);
    padding:4px;
    position:relative;
    /* Layered 3D shadows for depth */
    box-shadow:
      0 2px 4px rgba(13,148,136,.10),
      0 6px 14px rgba(13,148,136,.12),
      0 16px 32px -8px rgba(13,148,136,.18),
      inset 0 1px 2px rgba(255,255,255,.8);
    border: none;
    /* Gradient ring effect */
    background-image: linear-gradient(160deg, #5eead4 0%, #0d9488 40%, #14b8a6 70%, #99f6e4 100%);
    transition: transform .4s cubic-bezier(.2,.7,.3,1),
                box-shadow .4s ease;
    margin:0 auto 22px;
  }
  /* Inner container for the image - creates the white ring gap */
  .icon-blob--img img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    border-radius:50%;
    /* Subtle 3D inner shadow on the image */
    filter: brightness(1.02) contrast(1.03);
    transition: transform .4s cubic-bezier(.2,.7,.3,1),
                filter .3s ease;
  }
  /* Soft glow pseudo-element behind the circle */
  .icon-blob.icon-blob--img::before{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:50%;
    background: radial-gradient(circle, rgba(20,184,166,.15) 0%, transparent 70%);
    z-index:-1;
    transition: opacity .4s ease, transform .4s ease;
    opacity:.7;
  }
  /* Hover: lift + grow + enhance glow */
  .path-card:hover .icon-blob.icon-blob--img{
    transform: translateY(-4px) scale(1.06);
    box-shadow:
      0 4px 8px rgba(13,148,136,.12),
      0 12px 24px rgba(13,148,136,.16),
      0 24px 48px -12px rgba(13,148,136,.22),
      inset 0 1px 3px rgba(255,255,255,.9);
  }
  .path-card:hover .icon-blob--img img{
    filter: brightness(1.06) contrast(1.05);
  }
  .path-card:hover .icon-blob.icon-blob--img::before{
    opacity:1;
    transform: scale(1.15);
  }
  .path-card h3{
    font-size:19px;
    font-weight:600;
    color:var(--teal-950);
    line-height:1.3;
    margin-bottom:10px;
  }
  .path-card p{
    font-size:14.5px;
    line-height:1.65;
    color:var(--ink-soft);
    margin:0;
  }

  .card-a{ --icon-bg:#E7F1FB; --card-accent:#3E7FC1; }
  .card-a svg{ stroke:#2F6BAA; }
  .card-b{ --icon-bg:#FCEDDE; --card-accent:var(--coral); }
  .card-b svg{ stroke:var(--coral-dark); }
  .card-c{ --icon-bg:var(--mint-100); --card-accent:var(--teal-600); }
  .card-c svg{ stroke:var(--teal-700,#116a5d); }

  .protocol-band{
    margin-top:44px;
    position:relative;
    border-radius:28px;
    padding:46px 48px;
    background:
      radial-gradient(480px 260px at 88% -20%, rgba(255,255,255,0.10), transparent 60%),
      linear-gradient(120deg,var(--teal-950) 0%, var(--teal-800) 100%);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    overflow:hidden;
    box-shadow:0 30px 60px -30px rgba(10,44,40,0.55);
  }
  .protocol-band .molecules{
    position:absolute; inset:0; opacity:.5;
  }
  .protocol-copy{ position:relative; z-index:1; max-width:560px; }
  .badge-pill{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.22);
    color:#CFEAE2;
    font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    padding:6px 14px; border-radius:99px;
    margin-bottom:20px;
  }
  .badge-pill svg{ width:13px; height:13px; }
  .protocol-copy h3{
    color:#fff; font-size:29px; font-weight:500; line-height:1.28;
    margin-bottom:14px;
  }
  .protocol-copy p{
    color:rgba(255,255,255,0.72);
    font-size:15px; line-height:1.7; margin:0;
    max-width:460px;
  }
  .btn-cta{
    position:relative; z-index:1;
    flex:none;
    display:inline-flex; align-items:center; gap:10px;
    background:linear-gradient(135deg,var(--coral),var(--coral-dark));
    color:#fff;
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:15px;
    padding:16px 26px;
    border-radius:14px;
    text-decoration:none;
    box-shadow:0 14px 26px -10px rgba(201,111,56,0.65);
    transition:transform .25s ease, box-shadow .25s ease;
    white-space:nowrap;
  }
  .btn-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 30px -10px rgba(201,111,56,0.75); }
  .btn-cta svg{ width:16px; height:16px; }

  /* ================= SECTION B ================= */
  .sec-diabetes{
    position:relative;
    padding:110px 24px;
    overflow:hidden;
    background:var(--mint-50);
  }
  .sec-diabetes .head-block{ margin-bottom:48px; }

  .intro-panel{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:26px;
    overflow:hidden;
    margin-bottom:30px;
    box-shadow:0 1px 2px rgba(18,60,52,0.04);
  }
  .intro-text{
    padding:46px 46px;
  }
  .intro-text h3{
    font-size:23px;
    font-weight:500;
    color:var(--teal-950);
    line-height:1.35;
    margin-bottom:16px;
  }
  .intro-text p{
    font-size:15px;
    line-height:1.75;
    color:var(--ink-soft);
    margin:0 0 26px;
    max-width:420px;
  }
  .stat-row{ display:flex; gap:28px; }
  .stat{ }
  .stat .n{
    font-family:'Fraunces',serif;
    font-size:30px;
    font-weight:500;
    color:var(--teal-700,#0F5B51);
    line-height:1;
  }
  .stat .l{
    font-size:12px;
    color:var(--ink-mute);
    margin-top:6px;
    line-height:1.4;
    max-width:120px;
  }

  .intro-visual{
    position:relative;
    background:radial-gradient(120% 120% at 30% 20%, var(--teal-800) 0%, var(--teal-950) 75%);
    min-height:320px;
    display:flex; align-items:center; justify-content:center;
  }
  .glucose-graphic{ width:220px; height:220px; }
  .glucose-graphic .ring{
    fill:none; stroke-width:1.4; stroke:rgba(255,255,255,0.22);
  }
  .glucose-graphic .ring-2{ stroke:rgba(255,255,255,0.14); }
  .glucose-graphic .dot{ fill:#EFE6D8; }
  .glucose-graphic .core{ fill:var(--coral); }
  .pulse{
    transform-origin:center;
    animation:pulse 3.2s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{ transform:scale(1); opacity:1; }
    50%{ transform:scale(1.08); opacity:.85; }
  }
  @media (prefers-reduced-motion: reduce){
    .pulse{ animation:none; }
  }

  .features-grid{
    display:grid;
    grid-template-columns:1fr 1fr 0.86fr;
    gap:22px;
    align-items:stretch;
  }
  .feat-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:30px 28px;
    position:relative;
  }
  .feat-card .tag{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px;
    border-radius:11px;
    background:var(--mint-100);
    margin-bottom:18px;
  }
  .feat-card .tag svg{ width:19px; height:19px; stroke:var(--teal-700,#0F5B51); }
  .feat-card h4{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:18px;
    color:var(--teal-950);
    margin:0 0 10px;
  }
  .feat-card p{
    font-size:14px;
    line-height:1.65;
    color:var(--ink-soft);
    margin:0;
  }

  .feat-highlight{
    grid-row:span 2;
    background:linear-gradient(160deg,var(--mint-100) 0%, #DDF0E7 100%);
    border:1px solid rgba(20,122,105,0.20);
    border-radius:20px;
    padding:36px 30px;
    display:flex; flex-direction:column; align-items:center; text-align:center;
    justify-content:center;
    gap:6px;
  }
  .drop-icon{
    width:56px; height:56px;
    border-radius:50%;
    background:linear-gradient(135deg,#EF7A63,var(--blood));
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;
    box-shadow:0 14px 24px -10px rgba(214,91,74,0.55);
  }
  .drop-icon svg{ width:24px; height:24px; fill:#fff; }
  .feat-highlight h4{
    font-family:'Fraunces',serif;
    font-size:20px; font-weight:500;
    color:var(--teal-950);
    margin:0 0 10px;
  }
  .feat-highlight p{
    font-size:14px; line-height:1.7;
    color:var(--teal-800,#134941);
    margin:0;
  }

  @media (max-width:860px){
    .sec-consulta, .sec-diabetes { padding:70px 18px; }
    .head-block h2 { font-size: 2.25rem; font-weight: 800; line-height: 1.25; color: #1c1917; } @media (min-width: 768px) { .head-block h2 { font-size: 3rem; } }
    .path-grid{ grid-template-columns:1fr; }
    .protocol-band{ flex-direction:column; align-items:flex-start; padding:34px 28px; }
    .intro-panel{ grid-template-columns:1fr; }
    .features-grid{ grid-template-columns:1fr; }
    .feat-highlight{ grid-row:auto; }
  }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            font-size: 18px;
            background-color: #fafaf9;
            color: #292524;
            scroll-behavior: smooth;
        }

        .chart-container {
            position: relative;
            width: 100%;
            max-width: 500px;
            margin-left: auto;
            margin-right: auto;
            height: 300px;
            max-height: 400px;
        }

        @media (min-width: 768px) {
            .chart-container {
                height: 350px;
            }
        }

        .cell-representation {
            transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.05);
        }

        .cell-inflamed {
            background-color: #ffe4e6;
            border: 6px dashed #f43f5e;
            transform: scale(0.95);
        }

        .cell-optimized {
            background-color: #f0fdfa;
            border: 6px solid #14b8a6;
            transform: scale(1.05);
            border-radius: 50%;
        }

        .mitochondria {
            transition: all 0.5s ease;
        }

        .cell-inflamed .mitochondria {
            background-color: #fb7185;
            width: 40px;
            height: 18px;
            border-radius: 10px;
            opacity: 0.5;
            filter: blur(1px);
        }

        .cell-optimized .mitochondria {
            background-color: #0d9488;
            width: 50px;
            height: 22px;
            border-radius: 12px;
            opacity: 1;
            box-shadow: 0 0 12px #2dd4bf;
        }

        .logo-img {
            height: 60px;
            width: auto;
            object-fit: contain;
        }

        .logo-footer {
            height: 90px;
            width: auto;
            margin-bottom: 1.5rem;
        }

        .card-hover:hover {
            transform: translateY(-8px);
            transition: transform 0.3s ease;
        }

        input:focus,
        textarea:focus {
            outline: none;
            border-color: #14b8a6;
            box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
        }

        /* Modal Styles */
        .modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(41, 37, 36, 0.8);
            backdrop-filter: blur(4px);
            z-index: 100;
            align-items: center;
            justify-content: center;
        }

        .modal-overlay.active {
            display: flex;
        }

        .max-w-2xl {
            padding-top: 122px;
        }

        .text-teal-400 {
            --tw-text-opacity: 1;
            color: rgb(17, 95, 85);
        }

        /* ── Plan Personalizado ── */
        #plan-personalizado {
            --primary-teal: #15847d;
            --light-teal: #e6f4f3;
            --accent-green: #2ecc71;
            --glass-bg: rgba(255, 255, 255, 0.7);
            --glass-border: rgba(255, 255, 255, 0.4);
            font-family: 'Poppins', sans-serif;
            background: url('https://images.unsplash.com/photo-1490818387583-1baba5e638af?auto=format&fit=crop&q=80&w=2000') no-repeat center center fixed;
            background-size: cover;
            color: #333;
        }

        #plan-personalizado .overlay {
            background: rgba(255, 255, 255, 0.4);
            padding: 60px 20px;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        #plan-personalizado .badge {
            background: var(--light-teal);
            color: var(--primary-teal);
            padding: 5px 20px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
            text-transform: uppercase;
            border: 1px solid var(--primary-teal);
            margin-bottom: 20px;
        }

        #plan-personalizado h1 {
            text-align: center;
            font-size: 2.5rem;
            margin-bottom: 30px;
            max-width: 800px;
        }

        #plan-personalizado h1 span {
            color: var(--primary-teal);
        }

        /* Banner Resaltado */
        #plan-personalizado .highlight-banner {
            background: rgba(21, 132, 125, 0.15);
            backdrop-filter: blur(10px);
            border: 2px solid white;
            border-radius: 15px;
            padding: 20px 40px;
            text-align: center;
            max-width: 700px;
            margin-bottom: 50px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        }

        #plan-personalizado .highlight-banner p {
            margin: 0;
            font-size: 1.1rem;
        }

        #plan-personalizado .highlight-banner b {
            color: var(--accent-green);
        }

        /* Contenedor de Tarjetas */
        #plan-personalizado .cards-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 20px;
            width: 100%;
            max-width: 1100px;
            margin-bottom: 50px;
        }

        #plan-personalizado .card {
            background: var(--glass-bg);
            backdrop-filter: blur(8px);
            border: 1px solid var(--glass-border);
            border-radius: 20px;
            padding: 30px 20px;
            text-align: center;
            transition: transform 0.3s ease;
        }

        #plan-personalizado .card:hover {
            transform: translateY(-10px);
        }

        #plan-personalizado .icon-box {
            width: 80px;
            height: 80px;
            margin: 0 auto 20px;
            background: #eee;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
        }

        #plan-personalizado .card h3 {
            font-size: 1rem;
            margin-bottom: 15px;
            color: #222;
        }

        #plan-personalizado .card ul {
            list-style: none;
            padding: 0;
            font-size: 0.85rem;
            color: #555;
        }

        /* Footer CTA */
        #plan-personalizado .cta-footer {
            background: rgba(0, 0, 0, 0.7);
            color: white;
            width: 100%;
            max-width: 900px;
            padding: 30px;
            border-radius: 25px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            backdrop-filter: blur(10px);
        }

        #plan-personalizado .cta-text {
            max-width: 60%;
        }

        #plan-personalizado .cta-text p {
            margin: 5px 0;
            font-size: 0.9rem;
        }

        #plan-personalizado .btn-cta {
            background: var(--primary-teal);
            color: white;
            padding: 15px 30px;
            border-radius: 12px;
            text-decoration: none;
            font-weight: bold;
            transition: background 0.3s;
        }

        #plan-personalizado .btn-cta:hover {
            background: #0e635e;
        }

        @media (max-width: 768px) {
            #plan-personalizado .cta-footer {
                flex-direction: column;
                text-align: center;
                gap: 20px;
            }
            #plan-personalizado .cta-text { max-width: 100%; }
        }
