
  :root{
    --bg:#f3f6fa; --surface:#ffffff; --surface-2:#eef2f7;
    --ink:#0f1e3d; --muted:#586277; --line:#e3e8ef;
    --navy:#0e1c38; --navy-2:#16294d;
    --accent:#157a5b; --accent-2:#0f6349; --accent-soft:#e7f2ec;
    --gold:#c19a3f;
    --shadow:0 12px 34px rgba(15,30,61,.08);
    --radius:16px;
  }
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      --bg:#0a1020; --surface:#121a2e; --surface-2:#182339;
      --ink:#eef2f8; --muted:#a6b0c3; --line:#26324c;
      --navy:#0a1526; --navy-2:#12244a;
      --accent:#3fae86; --accent-2:#5cc09b; --accent-soft:#14283a;
      --gold:#d6b25a;
      --shadow:0 14px 40px rgba(0,0,0,.45);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0a1020; --surface:#121a2e; --surface-2:#182339;
    --ink:#eef2f8; --muted:#a6b0c3; --line:#26324c;
    --navy:#0a1526; --navy-2:#12244a;
    --accent:#3fae86; --accent-2:#5cc09b; --accent-soft:#14283a;
    --gold:#d6b25a;
    --shadow:0 14px 40px rgba(0,0,0,.45);
  }

  *{box-sizing:border-box}
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:"Fraunces",Georgia,"Times New Roman",serif; line-height:1.1; text-wrap:balance; margin:0}
  p{margin:0}
  a{color:inherit; text-decoration:none}
  .wrap{max-width:1120px; margin:0 auto; padding-inline:20px}
  .eyebrow{font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--accent)}

  /* Buttons */
  .btn{display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.98rem;
    padding:.85rem 1.4rem; border-radius:999px; cursor:pointer; border:1px solid transparent; transition:transform .12s ease, background .2s ease}
  .btn:hover{transform:translateY(-1px)}
  .btn-primary{background:var(--accent); color:#fff}
  .btn-primary:hover{background:var(--accent-2)}
  .btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
  .btn-ghost:hover{background:rgba(255,255,255,.1)}
  .btn-dark{background:var(--navy); color:#fff}
  .btn-outline{background:var(--surface); color:var(--ink); border-color:var(--line)}
  .btn-lg{padding:1rem 1.7rem; font-size:1.05rem}

  /* Header */
  header.site{position:sticky; top:0; z-index:50; background:var(--navy);
    border-bottom:1px solid rgba(255,255,255,.08)}
  .nav{display:flex; align-items:center; justify-content:space-between; padding-block:16px}
  .brand{display:flex; flex-direction:column; line-height:1.05; color:#fff; font-family:"Fraunces",serif; font-weight:600}
  .brand b{font-weight:700; font-size:1.18rem; letter-spacing:.2px}
  .brand span{font-size:1.18rem; color:#8fb6e6; font-weight:500}
  .nav-links{display:flex; align-items:center; gap:18px; flex-wrap:nowrap}
  .nav-links a{color:#cfd8e6; font-weight:600; font-size:.88rem; white-space:nowrap}
  .nav-links a:hover{color:#fff}
  .nav-cta{display:flex; gap:10px; align-items:center; flex-shrink:0}
  @media (max-width:960px){ .nav-links{gap:14px} .nav-links a{font-size:.84rem} }
  @media (max-width:820px){
    .nav{flex-wrap:wrap}
    .nav-links{width:100%; order:3; flex-wrap:wrap; gap:10px 16px; margin-top:8px; justify-content:flex-start}
    .nav-links a{font-size:.95rem}
  }

  /* Hero */
  .hero{background:linear-gradient(180deg,var(--navy) 0%, var(--navy) 58%, transparent 58%)}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; padding-block:56px 64px}
  .hero-copy .eyebrow{color:#7fc9ad}
  .hero h1{color:#fff; font-size:clamp(2.4rem,5.2vw,3.8rem); font-weight:600; margin:14px 0 0}
  .hero h1 b{font-weight:700}
  .hero .lead{color:#cdd8e8; font-size:1.12rem; max-width:34ch; margin-top:20px}
  .hero .cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
  .hero .microtrust{margin-top:20px; color:#9fb0c8; font-size:.9rem; display:flex; align-items:center; gap:8px}

  .hero-card{background:linear-gradient(160deg,#12274d,#0c1a34); border:1px solid rgba(255,255,255,.1);
    border-radius:24px; padding:30px; color:#fff; box-shadow:0 30px 60px rgba(3,10,25,.45)}
  .shield{width:100%; height:auto; display:block}
  .hero-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px}
  .stat{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:14px 12px; text-align:center}
  .stat b{display:block; font-family:"Fraunces",serif; font-size:1.5rem; color:#fff}
  .stat span{font-size:.72rem; color:#a9bad3; letter-spacing:.04em}

  /* Section */
  section.block{padding-block:64px}
  .sec-head{max-width:60ch; margin:0 auto 40px; text-align:center}
  .sec-head h2{font-size:clamp(1.8rem,3.6vw,2.5rem); font-weight:600}
  .sec-head p{color:var(--muted); margin-top:12px; font-size:1.06rem}

  /* Trust strip */
  .trust{background:var(--surface); border-block:1px solid var(--line)}
  .trust-row{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 34px; padding-block:22px; color:var(--muted); font-weight:600; font-size:.92rem}
  .trust-row .pill{display:inline-flex; align-items:center; gap:8px}
  .dot{width:7px; height:7px; border-radius:50%; background:var(--accent)}

  /* Cards grid */
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
  .card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow)}
  .card .ic{width:46px; height:46px; border-radius:12px; background:var(--accent-soft); color:var(--accent);
    display:grid; place-items:center; margin-bottom:16px}
  .card h3{font-size:1.28rem; font-weight:600; margin-bottom:8px}
  .card p{color:var(--muted); font-size:.98rem}

  /* Tipos */
  .tipos .card{display:flex; flex-direction:column; gap:6px}
  .tipos .tag{font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent)}
  .tipos a.more{margin-top:12px; color:var(--accent); font-weight:700; font-size:.92rem}

  /* Steps */
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; counter-reset:s}
  .step{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:relative}
  .step .num{font-family:"Fraunces",serif; font-size:1rem; font-weight:700; width:38px; height:38px; border-radius:50%;
    background:var(--navy); color:#fff; display:grid; place-items:center; margin-bottom:14px}
  .step h3{font-size:1.16rem; font-weight:600; margin-bottom:6px}
  .step p{color:var(--muted); font-size:.96rem}

  /* Testimonial */
  .quote{background:var(--navy); color:#fff; border-radius:24px; padding:48px; text-align:center; box-shadow:var(--shadow)}
  .quote p{font-family:"Fraunces",serif; font-size:clamp(1.3rem,2.6vw,1.9rem); line-height:1.35; max-width:48ch; margin:0 auto}
  .quote .who{margin-top:20px; color:#9fb6d6; font-weight:600; font-size:.95rem; letter-spacing:.02em}

  /* Cotizador */
  .cotiza{background:var(--surface-2)}
  .cotiza-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center}
  .cotiza h2{font-size:clamp(1.9rem,3.6vw,2.5rem); font-weight:600}
  .cotiza .lead{color:var(--muted); margin-top:14px; font-size:1.06rem; max-width:42ch}
  .benefits{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:12px}
  .benefits li{display:flex; gap:10px; align-items:flex-start; color:var(--ink); font-weight:600}
  .benefits svg{flex:none; margin-top:3px; color:var(--accent)}
  form.card{padding:28px}
  .field{margin-bottom:16px}
  .field label{display:block; font-size:.85rem; font-weight:700; margin-bottom:6px}
  .field input, .field select{width:100%; padding:.8rem .9rem; border:1px solid var(--line); border-radius:12px;
    background:var(--surface); color:var(--ink); font:inherit; font-size:1rem}
  .field input:focus, .field select:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
  .form-note{font-size:.82rem; color:var(--muted); margin-top:6px}
  .form-ok{background:var(--accent-soft); color:var(--accent-2); border:1px solid var(--accent);
    border-radius:12px; padding:14px; font-weight:600; font-size:.95rem; margin-top:14px}

  /* FAQ */
  .faq{max-width:760px; margin:0 auto; display:grid; gap:12px}
  details{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:2px 20px}
  summary{cursor:pointer; font-weight:700; font-size:1.05rem; padding:18px 0; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+"; font-family:"Fraunces",serif; font-size:1.5rem; color:var(--accent); transition:transform .2s}
  details[open] summary::after{transform:rotate(45deg)}
  details p{color:var(--muted); padding-bottom:18px}

  /* Final CTA */
  .final{background:linear-gradient(160deg,var(--navy),var(--navy-2)); color:#fff; border-radius:26px; padding:56px; text-align:center; box-shadow:var(--shadow)}
  .final h2{color:#fff; font-size:clamp(1.9rem,3.8vw,2.6rem); font-weight:600}
  .final p{color:#c9d5e8; margin:14px auto 26px; max-width:46ch}
  .final .cta-row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}

  /* Footer */
  footer.site{background:var(--navy); color:#c7d2e3; padding-block:40px; margin-top:8px}
  .foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px}
  footer.site h4{color:#fff; font-family:"Manrope",sans-serif; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 12px}
  footer.site a{color:#c7d2e3; display:block; padding:4px 0; font-size:.95rem}
  footer.site a:hover{color:#fff}
  .legal{border-top:1px solid rgba(255,255,255,.12); margin-top:30px; padding-top:20px; font-size:.82rem; color:#93a2bd; line-height:1.6}

  /* WhatsApp float */
  .wa-float{position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:60;
    background:#25d366; color:#053b1e; width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
    box-shadow:0 10px 24px rgba(0,0,0,.25); border:none; cursor:pointer}
  .wa-float:hover{transform:translateY(-2px)}

  @media (max-width:820px){
    .hero{background:linear-gradient(180deg,var(--navy) 0%, var(--navy) 72%, transparent 72%)}
    .hero-grid{grid-template-columns:1fr; gap:28px; padding-block:40px}
    .grid-3, .steps{grid-template-columns:1fr}
    .cotiza-grid{grid-template-columns:1fr; gap:26px}
    .foot-grid{grid-template-columns:1fr 1fr}
    .final{padding:40px 24px}
    .quote{padding:34px 22px}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}

  .hero-card .portrait{border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.14); box-shadow:0 14px 34px rgba(0,0,0,.4)}
  .hero-card .portrait img{display:block; width:100%; height:auto; aspect-ratio:840/1029; object-fit:cover}
  .herencia{display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center; background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:40px; box-shadow:var(--shadow)}
  .herencia h2{font-size:clamp(1.6rem,3vw,2.2rem); font-weight:600; margin:12px 0 14px}
  .herencia p{color:var(--muted); font-size:1.05rem; margin-bottom:22px; max-width:46ch}
  .herencia-points{list-style:none; padding:0; margin:0; display:grid; gap:12px}
  .herencia-points li{position:relative; padding:14px 16px 14px 46px; background:var(--surface-2); border:1px solid var(--line); border-radius:12px; font-weight:600; color:var(--ink)}
  .herencia-points li::before{content:"\2713"; position:absolute; left:16px; top:13px; color:var(--accent); font-weight:800}
  @media (max-width:820px){ .herencia{grid-template-columns:1fr; padding:28px 22px} }

  html{scroll-behavior:smooth}
  :where(section[id],main[id]){scroll-margin-top:86px}

  .page[hidden]{display:none!important}
  .mp-hero{background:var(--surface); border-bottom:1px solid var(--line); padding:96px 0 40px}
  .mp-hero h1{font-size:clamp(2rem,4.4vw,3rem); font-weight:600; margin:12px 0 0}
  .mp-lead{color:var(--muted); font-size:1.12rem; max-width:60ch; margin-top:16px}
  .mp-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
  .mp-body{max-width:760px}
  .mp-body h2{font-family:"Fraunces",Georgia,serif; font-size:1.5rem; font-weight:600; margin:34px 0 12px}
  .mp-body p{color:var(--ink); margin-bottom:12px}
  .mp-body ul{color:var(--ink); padding-left:1.2rem; margin:0 0 14px}
  .mp-body li{margin-bottom:8px}
  .mp-body table{width:100%; border-collapse:collapse; margin:8px 0 8px}
  .mp-body th,.mp-body td{border:1px solid var(--line); padding:10px 12px; text-align:left; font-size:.98rem}
  .mp-body th{background:var(--surface-2)}
  .mp-body .muted{color:var(--muted); font-size:.9rem}
  .mp-cta{background:var(--accent-soft); border:1px solid var(--line); border-radius:18px; padding:28px; margin-top:32px}
  .mp-cta h3{font-family:"Fraunces",Georgia,serif;font-size:1.4rem;font-weight:600;margin-bottom:6px}
  .mp-cta p{color:var(--ink)}
  .mp-cta .cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
  .mp-back{margin-top:24px}
  .mp-back a{color:var(--accent);font-weight:700}

  .dd{position:relative}
  .dd>summary{list-style:none; cursor:pointer; color:#cfd8e6; font-weight:600; font-size:.88rem; white-space:nowrap; display:inline-flex; align-items:center; gap:6px}
  .dd>summary::-webkit-details-marker{display:none}
  .dd>summary::after{content:"\25BE"; font-size:.7rem; opacity:.8}
  .dd>summary:hover{color:#fff}
  .dd[open]>summary{color:#fff}
  .dd-menu{position:absolute; top:calc(100% + 14px); left:0; background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 40px rgba(3,10,25,.28); padding:8px; min-width:236px; display:grid; gap:2px; z-index:70}
  .dd-menu a{color:var(--ink); font-weight:600; font-size:.92rem; padding:9px 12px; border-radius:9px; display:block}
  .dd-menu a:hover{background:var(--surface-2); color:var(--accent)}

  .foot-sources{margin-top:28px; font-size:.86rem; color:#9fb0c8}
  .foot-sources a{display:inline; color:#c7d2e3; text-decoration:underline; padding:0 3px}
  .foot-sources a:hover{color:#fff}

  .plan-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:8px}
  .plan-card{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:var(--shadow); display:flex; flex-direction:column}
  .plan-card h3{font-family:"Fraunces",Georgia,serif; font-size:1.35rem; font-weight:600; margin:0}
  .plan-tag{font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin:6px 0 10px}
  .plan-card>p{color:var(--muted); font-size:.97rem; margin-bottom:12px}
  .plan-card ul{margin:0 0 16px; padding-left:1.1rem; color:var(--ink); font-size:.95rem}
  .plan-card li{margin-bottom:7px}
  .plan-actions{margin-top:auto; display:flex; flex-wrap:wrap; gap:10px}
  .plan-actions .btn{font-size:.9rem; padding:.7rem 1.1rem}
  @media (max-width:820px){ .plan-grid{grid-template-columns:1fr} }

  .reco{background:var(--accent-soft); border:1px solid var(--line); border-radius:16px; padding:24px; margin:18px 0 8px}
  .reco h3{font-family:"Fraunces",Georgia,serif; font-size:1.3rem; font-weight:600; margin-bottom:10px}
  .reco ul{margin:0 0 16px; padding-left:1.1rem}
  .reco li{margin-bottom:7px}

  img{max-width:100%;height:auto}
  [hidden]{display:none!important}

  /* Redes sociales en el pie */
  .foot-social{display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin:0 0 14px}
  .foot-social a{display:inline-flex; align-items:center; gap:7px; color:#c7d2e3; font-weight:600; font-size:.92rem}
  .foot-social a:hover{color:#fff}
  .foot-social svg{width:20px; height:20px; flex-shrink:0}

  /* Suscripción del blog */
  .sub-box{background:var(--surface-2); border:1px solid var(--line); border-radius:18px; padding:28px; text-align:center}
  .sub-box h3{font-family:"Fraunces",Georgia,serif; font-size:1.5rem; font-weight:600; margin-bottom:8px}
  .sub-box p{color:var(--muted); max-width:52ch; margin:0 auto 16px}
  .sub-form{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:640px; margin:0 auto}
  .sub-form input{flex:1 1 200px; padding:.8rem .9rem; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); font:inherit}
  .sub-form input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
  .sub-form .btn{flex:0 0 auto}
  .sub-note{font-size:.82rem; color:var(--muted); margin-top:10px}
  .sub-ok{background:var(--accent-soft); color:var(--accent-2); border:1px solid var(--accent); border-radius:10px; padding:10px 12px; margin-top:12px; font-weight:600}

  /* Video embed responsivo */
  .video-embed{position:relative; width:100%; padding-top:56.25%; border-radius:16px; overflow:hidden; border:1px solid var(--line); background:#000}
  .video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0}

  /* Página Tarjeta Plata */
  .plata-card{background:linear-gradient(135deg,#1a1a2e,#2b2b4a); color:#fff; border-radius:20px; padding:34px; box-shadow:var(--shadow); max-width:420px}
  .plata-card .pc-brand{font-family:"Fraunces",Georgia,serif; font-size:1.7rem; font-weight:700; letter-spacing:.5px}
  .plata-card .pc-num{font-variant-numeric:tabular-nums; letter-spacing:3px; margin-top:26px; color:#c9c9e0}
  .plata-benefits{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:8px 0}
  @media (max-width:640px){ .plata-benefits{grid-template-columns:1fr} }
  .plata-benefits .b{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px}
  .plata-benefits .b b{display:block; font-family:"Fraunces",Georgia,serif; font-size:1.15rem; color:var(--accent-2)}

/* ===== Privacidad: enlaces legales, aviso simplificado y barra de cookies ===== */
footer.site .legal-links{border-top:0;margin-top:8px;padding-top:0}
footer.site .legal-links a{display:inline;padding:0;font-size:inherit;color:#c7d2e3;text-decoration:underline;text-underline-offset:2px}
footer.site .legal a{display:inline;padding:0;font-size:inherit;color:inherit;text-decoration:underline}
footer.site .foot-sources a{display:inline;padding:0 3px}
.privacy-note{font-size:.78rem !important;line-height:1.5;color:var(--muted);margin-top:10px}
.privacy-note a{color:var(--accent);text-decoration:underline}
.legal-doc h3{font-size:1.08rem;margin:20px 0 8px}
.legal-doc .toc{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:6px 0 22px}
.legal-doc .toc b{display:block;margin-bottom:8px}
.legal-doc .toc ol{margin:0;padding-left:1.3rem}
.legal-doc .toc li{margin:4px 0}
.legal-doc .note{border-left:4px solid var(--accent);background:var(--surface-2);padding:14px 18px;border-radius:0 12px 12px 0;margin:16px 0}
.legal-doc .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.legal-doc ol{padding-left:1.3rem}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:720px;margin:0 auto;background:#0e1c38;color:#e6ecf5;border-radius:16px;padding:16px 18px;box-shadow:0 14px 40px rgba(0,0,0,.35);display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.9rem;line-height:1.5}
.cookie-bar p{margin:0;flex:1 1 320px}
.cookie-bar a{color:#9fe0c6;text-decoration:underline}
.cookie-bar .cb-btns{display:flex;gap:8px;flex-wrap:wrap}
.cookie-bar button{border:0;border-radius:999px;padding:9px 16px;font:inherit;font-weight:700;cursor:pointer}
.cookie-bar .cb-ok{background:#157a5b;color:#fff}
.cookie-bar .cb-no{background:transparent;color:#e6ecf5;border:1px solid rgba(255,255,255,.35)}
/* Ajuste celular: evita scroll horizontal por el correo largo del pie y la columna del hero */
.foot-grid>*,.hero-grid>*,.cotiza-grid>*{min-width:0}
footer.site a{overflow-wrap:anywhere}
main a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
