  /* Todo scopeado bajo #fmplanes para convivir con Astra */
  #fmplanes{
    --bg:#070b09; --bg2:#0b1410; --panel:#101a15; --panel2:#0c130f;
    --line:#1d2a23; --line2:#26362c;
    --green:#22c55e; --green-2:#4ade80; --green-d:#16a34a; --green-glow:rgba(34,197,94,.18);
    --gold:#d7a93b; --gold-2:#e9c66a; --gold-glow:rgba(215,169,59,.16);
    --ink:#eaf3ee; --muted:#9fb3a8; --muted-2:#6f857a;
    --r:18px; --shadow:0 24px 60px -28px rgba(0,0,0,.85);
    font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    color:var(--ink); line-height:1.55; position:relative;
    background:
      radial-gradient(900px 460px at 18% -8%, var(--green-glow), transparent 60%),
      radial-gradient(800px 460px at 92% 4%, var(--gold-glow), transparent 60%),
      linear-gradient(180deg,var(--bg) 0%, var(--bg2) 100%);
    background-color:var(--bg);
    padding:clamp(28px,5vw,70px) clamp(14px,4vw,40px) 70px;
    margin:0; overflow:hidden;
  }
  #fmplanes *{box-sizing:border-box;}
  #fmplanes::before{ /* textura de rejilla sutil */
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:46px 46px; mask-image:radial-gradient(1200px 600px at 50% 0,#000,transparent 75%);
  }
  #fmplanes > *{position:relative; z-index:1;}

  /* ── Hero ── */
  #fmplanes .fmp-hero{max-width:820px; margin:0 auto clamp(30px,4vw,54px); text-align:center;}
  #fmplanes .fmp-kicker{display:inline-block; font-size:12.5px; letter-spacing:.28em; text-transform:uppercase;
    color:var(--green-2); font-weight:700; margin-bottom:14px;}
  #fmplanes .fmp-h1{font-family:'Sora',sans-serif; font-weight:800; line-height:1.05;
    font-size:clamp(30px,5.4vw,58px); margin:0 0 16px; letter-spacing:-.02em;}
  #fmplanes .fmp-h1 em{font-style:normal; color:var(--gold-2);
    text-shadow:0 0 32px rgba(233,198,106,.35);}
  #fmplanes .fmp-sub{color:var(--muted); font-size:clamp(14px,1.6vw,17px); max-width:640px; margin:0 auto;}

  /* ── Sección de línea ── */
  #fmplanes .fmp-linea{max-width:1240px; margin:0 auto clamp(34px,5vw,58px);}
  #fmplanes .fmp-linea-head{margin:0 0 22px; padding-left:4px;}
  #fmplanes .fmp-linea-head h2{font-family:'Sora',sans-serif; font-weight:700; font-size:clamp(20px,2.6vw,28px); margin:0;}
  #fmplanes .fmp-linea-head h2 strong{color:var(--green-2);}
  #fmplanes .fmp-linea--gold .fmp-linea-head h2 strong{color:var(--gold-2);}
  #fmplanes .fmp-linea-head p{color:var(--muted); margin:6px 0 0; font-size:14px;}

  /* ── Fila de planes con flechas de ascenso ── */
  #fmplanes .fmp-row{display:flex; gap:0; align-items:stretch; flex-wrap:wrap; justify-content:center;}
  #fmplanes .fmp-card{
    flex:1 1 215px; max-width:262px; min-width:210px;
    background:linear-gradient(180deg,var(--panel) 0%, var(--panel2) 100%);
    border:1px solid var(--line); border-radius:var(--r);
    padding:22px 20px 20px; display:flex; flex-direction:column; position:relative;
    transition:transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s, box-shadow .28s;
    margin:0 6px 12px;
  }
  #fmplanes .fmp-card:hover{transform:translateY(-7px); border-color:var(--line2); box-shadow:var(--shadow);}
  #fmplanes .fmp-card.is-popular{border-color:var(--green-d);
    box-shadow:0 0 0 1px var(--green-d), 0 24px 60px -30px var(--green);}
  #fmplanes .fmp-linea--gold .fmp-card.is-premium,
  #fmplanes .fmp-card.is-premium{border-color:rgba(215,169,59,.5);}

  /* Flecha de ascenso entre tarjetas */
  #fmplanes .fmp-arrow{flex:0 0 30px; align-self:center; display:flex; align-items:center; justify-content:center;
    color:var(--muted-2); font-size:22px; user-select:none;}
  #fmplanes .fmp-arrow svg{width:24px; height:24px; opacity:.6;}
  @media(max-width:980px){ #fmplanes .fmp-arrow{display:none;} }

  #fmplanes .fmp-badge{display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
    font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
    padding:5px 10px; border-radius:999px; margin-bottom:14px;
    background:rgba(34,197,94,.12); color:var(--green-2); border:1px solid rgba(34,197,94,.25);}
  #fmplanes .fmp-linea--gold .fmp-badge{background:rgba(215,169,59,.12); color:var(--gold-2); border-color:rgba(215,169,59,.3);}
  #fmplanes .fmp-card.is-free .fmp-badge{background:rgba(159,179,168,.12); color:var(--muted); border-color:rgba(159,179,168,.22);}
  #fmplanes .fmp-pop-tag{position:absolute; top:-11px; left:50%; transform:translateX(-50%);
    background:var(--green-d); color:#031006; font-size:10.5px; font-weight:800; letter-spacing:.12em;
    text-transform:uppercase; padding:5px 14px; border-radius:999px; white-space:nowrap;}

  #fmplanes .fmp-card h3{font-family:'Sora',sans-serif; font-size:20px; font-weight:700; margin:0 0 3px;}
  #fmplanes .fmp-card .fmp-who{color:var(--muted-2); font-size:12.5px; margin:0 0 16px; min-height:34px;}
  #fmplanes .fmp-price{display:flex; align-items:baseline; gap:6px; margin-bottom:4px;}
  #fmplanes .fmp-price .num{font-family:'Sora',sans-serif; font-weight:800; font-size:38px; letter-spacing:-.02em; line-height:1;}
  #fmplanes .fmp-price .cur{font-size:13px; color:var(--muted);}
  #fmplanes .fmp-price.is-free .num{color:var(--green-2);}
  #fmplanes .fmp-meta{font-size:12.5px; color:var(--muted); margin:8px 0 16px; display:flex; gap:6px; flex-wrap:wrap;}
  #fmplanes .fmp-meta b{color:var(--ink); font-weight:600;}
  #fmplanes .fmp-feats{list-style:none; padding:0; margin:0 0 18px; display:flex; flex-direction:column; gap:9px; flex:1;}
  #fmplanes .fmp-feats li{font-size:13px; color:#cfe0d6; display:flex; gap:9px; align-items:flex-start;}
  #fmplanes .fmp-feats li::before{content:"✓"; color:var(--green-2); font-weight:800; flex:0 0 auto;}
  #fmplanes .fmp-linea--gold .fmp-feats li::before{color:var(--gold-2);}
  #fmplanes .fmp-feats .more{color:var(--muted-2); font-size:12px;}
  #fmplanes .fmp-feats .more::before{content:"";}
  #fmplanes .fmp-inherit{font-size:11.5px; color:var(--muted-2); margin:-6px 0 12px; font-style:italic;}

  /* Botones */
  #fmplanes .fmp-card-actions{display:flex; flex-direction:column; gap:9px; margin-top:auto;}
  #fmplanes .fmp-btn{appearance:none; cursor:pointer; border:none; border-radius:11px; font-family:'Manrope',sans-serif;
    font-weight:700; font-size:14px; padding:12px 16px; text-decoration:none; text-align:center;
    display:inline-flex; align-items:center; justify-content:center; gap:7px; transition:.18s; line-height:1;}
  #fmplanes .fmp-btn-primary{background:linear-gradient(135deg,var(--green) 0%,var(--green-d) 100%); color:#031006;
    box-shadow:0 10px 26px -12px var(--green);}
  #fmplanes .fmp-btn-primary:hover{filter:brightness(1.07); transform:translateY(-1px);}
  #fmplanes .fmp-linea--gold .fmp-btn-primary{background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 100%); color:#1a1304; box-shadow:0 10px 26px -12px var(--gold);}
  #fmplanes .fmp-btn-outline{background:transparent; color:var(--ink); border:1px solid var(--line2);}
  #fmplanes .fmp-btn-outline:hover{border-color:var(--green-2); color:var(--green-2);}
  #fmplanes .fmp-linea--gold .fmp-btn-outline:hover{border-color:var(--gold-2); color:var(--gold-2);}
  #fmplanes .fmp-btn-ghost{background:rgba(34,197,94,.1); color:var(--green-2); border:1px solid rgba(34,197,94,.3);}
  #fmplanes .fmp-btn-ghost:hover{background:rgba(34,197,94,.18);}
  #fmplanes .fmp-btn-lg{padding:15px 26px; font-size:15px;}

  /* Franjas inferiores */
  #fmplanes .fmp-trust{max-width:1240px; margin:8px auto 18px; display:grid; gap:14px;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); padding:22px;
    background:var(--panel2); border:1px solid var(--line); border-radius:var(--r);}
  #fmplanes .fmp-trust-item{display:flex; gap:13px; align-items:center;}
  #fmplanes .fmp-trust-item span{font-size:22px; filter:saturate(1.2);}
  #fmplanes .fmp-trust-item b{display:block; font-size:14px;}
  #fmplanes .fmp-trust-item small{color:var(--muted); font-size:12px;}
  #fmplanes .fmp-help{max-width:1240px; margin:0 auto; display:flex; flex-wrap:wrap; gap:16px;
    align-items:center; justify-content:space-between; padding:22px 26px;
    background:linear-gradient(120deg,rgba(34,197,94,.08),rgba(215,169,59,.06)); border:1px solid var(--line); border-radius:var(--r);}
  #fmplanes .fmp-help b{display:block; font-family:'Sora',sans-serif; font-size:18px;}
  #fmplanes .fmp-help span{color:var(--muted); font-size:13.5px;}

  /* ── Modal ── */
  #fmplanes .fmp-modal{position:fixed; inset:0; z-index:99999; display:none;}
  #fmplanes .fmp-modal.is-open{display:block;}
  #fmplanes .fmp-modal-backdrop{position:absolute; inset:0; background:rgba(3,7,5,.78); backdrop-filter:blur(6px);}
  #fmplanes .fmp-modal-card{position:absolute; inset:0; margin:auto; width:min(960px,94vw); height:max-content;
    max-height:92vh; overflow:auto; background:linear-gradient(180deg,#0d1712,#0a120d);
    border:1px solid var(--line2); border-radius:22px; box-shadow:0 40px 100px -30px #000;
    animation:fmpPop .32s cubic-bezier(.2,.9,.2,1);}
  @keyframes fmpPop{from{opacity:0; transform:translateY(16px) scale(.98);}to{opacity:1;}}
  #fmplanes .fmp-modal-x{position:absolute; top:16px; right:16px; z-index:5; width:40px; height:40px; border-radius:12px;
    background:rgba(255,255,255,.06); border:1px solid var(--line2); color:var(--ink); font-size:16px; cursor:pointer; transition:.18s;}
  #fmplanes .fmp-modal-x:hover{background:#dc2626; border-color:#dc2626; color:#fff; transform:rotate(90deg);}
  #fmplanes .fmp-modal-body{padding:clamp(22px,3.4vw,40px);}

  /* Propuesta dentro del modal */
  #fmplanes .fmp-prop-head{display:flex; align-items:center; gap:16px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:24px;}
  #fmplanes .fmp-prop-mark{width:54px; height:54px; border-radius:14px; flex:0 0 auto;
    background:linear-gradient(135deg,var(--green),var(--green-d)); display:flex; align-items:center; justify-content:center;
    font-family:'Sora',sans-serif; font-weight:800; color:#031006; font-size:24px;}
  #fmplanes .fmp-prop-head.gold .fmp-prop-mark{background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#1a1304;}
  #fmplanes .fmp-prop-head h2{font-family:'Sora',sans-serif; font-size:clamp(22px,3vw,30px); margin:0; line-height:1.1;}
  #fmplanes .fmp-prop-head .tag{color:var(--green-2); font-weight:700; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;}
  #fmplanes .fmp-prop-head.gold .tag{color:var(--gold-2);}
  #fmplanes .fmp-prop-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:26px;}
  @media(max-width:760px){ #fmplanes .fmp-prop-grid{grid-template-columns:1fr;} }
  #fmplanes .fmp-prop h4{font-family:'Sora',sans-serif; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--green-2); margin:0 0 12px;}
  #fmplanes .fmp-prop-head.gold ~ .fmp-prop-grid h4{color:var(--gold-2);}
  #fmplanes .fmp-prop p{color:#c8d8ce; font-size:14.5px; margin:0 0 20px;}
  #fmplanes .fmp-prop .fmp-plist{list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:11px;}
  #fmplanes .fmp-prop .fmp-plist li{font-size:14px; color:#d6e6dc; display:flex; gap:10px; align-items:flex-start;}
  #fmplanes .fmp-prop .fmp-plist li::before{content:"✓"; color:var(--green-2); font-weight:800;}
  #fmplanes .fmp-prop-card{background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:22px; margin-bottom:18px;}
  #fmplanes .fmp-prop-card .price{display:flex; align-items:baseline; gap:7px; margin:6px 0 12px;}
  #fmplanes .fmp-prop-card .price .num{font-family:'Sora',sans-serif; font-weight:800; font-size:42px;}
  #fmplanes .fmp-prop-card .row{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
  #fmplanes .fmp-prop-card .row:last-child{border:none;}
  #fmplanes .fmp-prop-card .row span:first-child{color:var(--muted);}
  #fmplanes .fmp-prop-card .row b{font-weight:700;}
  #fmplanes .fmp-prop-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
  #fmplanes .fmp-prop-note{font-size:11.5px; color:var(--muted-2); margin-top:14px; text-align:center;}

  /* Animación de entrada escalonada de tarjetas */
  #fmplanes .fmp-card{opacity:0; transform:translateY(14px); animation:fmpIn .5s forwards;}
  @keyframes fmpIn{to{opacity:1; transform:none;}}
  @media (prefers-reduced-motion:reduce){ #fmplanes *{animation:none!important; transition:none!important;} }
