
    :root {
      --navy: #07123f;
      --navy-2: #111a54;
      --pink: #ee2f78;
      --pink-2: #ff4d72;
      --magenta: #c635c9;
      --violet: #5924c8;
      --violet-2: #7b4ce4;
      --yellow: #ffd12a;
      --orange: #ff6b00;
      --white: #fff;
      --paper: #fff7fb;
      --soft: #fbedf5;
      --muted: #626b8b;
      --line: rgba(13, 22, 69, .12);
      --shadow: 0 22px 70px rgba(44, 24, 97, .13);
      --shadow-2: 0 14px 30px rgba(7,18,63,.12);
      --radius: 28px;
      --radius-sm: 18px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--navy);
      background:
        radial-gradient(circle at 90% 4%, rgba(91, 36, 200, .20), transparent 28rem),
        radial-gradient(circle at 7% 18%, rgba(238, 47, 120, .12), transparent 24rem),
        linear-gradient(180deg, #fff8fb 0%, #fff 34%, #fbf4ff 100%);
      overflow-x: hidden;
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        repeating-radial-gradient(circle at 7% 14%, rgba(238,47,120,.11) 0 1px, transparent 1px 9px),
        repeating-radial-gradient(circle at 94% 72%, rgba(91,36,200,.10) 0 1px, transparent 1px 10px),
        linear-gradient(115deg, transparent 0 50%, rgba(255,255,255,.55) 50% 51%, transparent 51%);
      opacity: .55;
      z-index: -3;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; display: block; }
    .container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--pink);
      font-size: .82rem;
    }
    .eyebrow::after { content: ""; width: 56px; height: 3px; border-radius: 99px; background: linear-gradient(90deg, var(--pink), var(--violet)); }
    .gradient-text { background: linear-gradient(105deg, var(--pink), var(--magenta), var(--violet)); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right:5px}
    .mark { color: var(--pink); }
    .small { font-size: .93rem; color: var(--muted); line-height: 1.65; }

    .nav-wrap { position: sticky; top: 0; z-index: 100; padding: 14px 0; backdrop-filter: blur(16px); background: rgba(255,248,252,.74); border-bottom: 1px solid rgba(255,255,255,.55); }
    .nav { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
    .brand { display: flex; align-items: center; gap: 14px; min-width: 240px; }
    .brand img { width: 190px; object-fit: contain; transform: translateY(2px); }
    .nav-links { display: flex; align-items: center; gap: 18px; color: rgba(7,18,63,.82); font-size: .94rem; font-weight: 750; margin-right:auto; }
    .nav-links a:hover { color: var(--pink); }
    .nav-cta { display: flex; gap: 10px; align-items: center; margin-right: 10px;}
    .btn {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 20px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 900;
      color: #fff;
      cursor: pointer;
      background: linear-gradient(100deg, var(--pink), var(--magenta), var(--violet));
      box-shadow: 0 14px 30px rgba(238,47,120,.24);
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
      white-space: nowrap;
    }
    .btn:hover { transform: translateY(-2px); box-shadow: 0 20px 36px rgba(238,47,120,.30); filter: saturate(1.05); }
    .btn.secondary { color: var(--navy); background: rgba(255,255,255,.72); border-color: rgba(7,18,63,.12); box-shadow: none; }
    .btn.dark { background: linear-gradient(100deg, var(--navy), var(--violet)); box-shadow: 0 14px 30px rgba(7,18,63,.20); }
    .btn.ghost { color: var(--pink); background: rgba(255,255,255,.84); border-color: rgba(238,47,120,.25); box-shadow: none; }

    .hero { position: relative; padding: 78px 0 64px; overflow: hidden; }
    .hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 36px; }
    .hero-card { position: relative; z-index: 2; }
    .hero-logo { width: 430px; max-width: 88%; margin-bottom: 34px; filter: drop-shadow(0 18px 34px rgba(238,47,120,.10)); }
    h1 { font-size: clamp(3rem, 7vw, 6.7rem); line-height: .94; letter-spacing: -.07em; margin: 0; font-weight: 950; color: var(--navy); }
    .hero h1 span { display: block; }
    .hero-sub { margin: 28px 0 0; max-width: 680px; font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.52; color: var(--navy-2); font-weight: 520; }
    .hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 14px; }
    .hero-pills { margin-top: 34px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 780px; }
    .pill-card { background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.85); border-radius: 18px; padding: 16px 16px; box-shadow: 0 12px 26px rgba(7,18,63,.06); display:flex; gap: 12px; align-items:flex-start; }
    .pill-card b { display: block; font-size: .96rem; }
    .pill-card small { display: block; color: var(--muted); line-height: 1.45; margin-top: 4px; }
    .mini-icon { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 14px; display: grid; place-items: center; color: var(--pink); background: linear-gradient(135deg, rgba(238,47,120,.10), rgba(91,36,200,.10)); border: 1px solid rgba(255,255,255,.7); }
    .hero-visual { position: relative; min-height: 560px; display: grid; place-items: center; }
    .hero-visual::before { content:""; position:absolute; width: 102%; aspect-ratio: 1/1; border-radius: 50%; background: radial-gradient(circle, rgba(238,47,120,.20), transparent 58%); filter: blur(10px); }
    .hero-visual::after { content:""; position:absolute; width: 86%; aspect-ratio: 1/1; border-radius: 50%; border: 1px solid rgba(91,36,200,.12); box-shadow: inset 0 0 0 36px rgba(255,255,255,.22); transform: rotate(-12deg); }
    .hero-symbol { position: relative; z-index: 2; width: min(520px, 88vw); filter: drop-shadow(0 44px 50px rgba(91,36,200,.23)); animation: float 7s ease-in-out infinite; }
    @keyframes float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-18px) rotate(1deg); } }
    .orbit-note { position: absolute; z-index: 4; background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.9); box-shadow: var(--shadow-2); border-radius: 22px; padding: 16px 18px; max-width: 230px; backdrop-filter: blur(18px); }
    .orbit-note strong { display: block; font-size: 1rem; }
    .orbit-note span { color: var(--muted); font-size: .9rem; }
    .note-1 { top: 84px; right: 18px; }
    .note-2 { bottom: 74px; left: 24px; }
    .note-3 { bottom: 48px; right: 72px; }

    .section { padding: 78px 0; position: relative; }
    .section-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; }
    .section h2 { font-size: clamp(2.25rem, 4.5vw, 4.75rem); line-height: .98; letter-spacing: -.055em; margin: 12px 0 0; color: var(--navy); }
    .section-head p { max-width: 480px; margin: 0; color: var(--muted); line-height: 1.7; font-size: 1.08rem; }

    .wide-panel { background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.82); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; position: relative; }
    .wide-panel::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 92% 8%, rgba(91,36,200,.16), transparent 35%), radial-gradient(circle at 8% 100%, rgba(238,47,120,.12), transparent 30%); pointer-events:none; }
    .panel-inner { position: relative; z-index: 2; padding: clamp(24px, 4.2vw, 58px); }
    .split { display: grid; grid-template-columns: .95fr 1.05fr; gap: 34px; align-items: center; }
    .lead { font-size: 1.28rem; line-height: 1.7; color: var(--navy-2); margin: 0; }
    .feature-list { display: grid; gap: 14px; margin: 24px 0 0; }
    .feature-item { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.68); border: 1px solid rgba(7,18,63,.06); }
    .feature-item .dot { flex:0 0 34px; width:34px; height:34px; border-radius: 50%; display:grid; place-items:center; background:linear-gradient(140deg, var(--pink), var(--violet)); color:#fff; font-weight:900; }
    .feature-item p { margin: 0; line-height: 1.55; color: var(--navy-2); }
    .big-quote { border-left: 4px solid var(--pink); padding-left: 22px; margin: 26px 0 0; font-size: 1.4rem; line-height: 1.45; font-weight: 850; }

    .age-visual { min-height: 370px; position: relative; display: grid; place-items: center; }
    .age-line { width: 92%; height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--pink), var(--violet)); box-shadow: 0 16px 36px rgba(91,36,200,.22); }
    .age-card { position: absolute; background: rgba(255,255,255,.83); border: 1px solid rgba(255,255,255,.92); border-radius: 24px; padding: 20px 22px; min-width: 180px; text-align: center; box-shadow: var(--shadow-2); }
    .age-card b { display: block; font-size: 1.25rem; }
    .age-card span { color: var(--muted); font-weight: 700; }
    .age-a { left: 2%; top: 88px; }
    .age-b { right: 2%; bottom: 74px; }
    .age-center { position:absolute; background: linear-gradient(100deg, rgba(238,47,120,.96), rgba(91,36,200,.96)); color: white; border-radius: 999px; padding: 20px 30px; font-weight: 950; box-shadow: 0 20px 44px rgba(91,36,200,.28); }

    .cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .card { background: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.92); border-radius: 24px; padding: 26px; box-shadow: 0 14px 34px rgba(7,18,63,.07); position: relative; overflow: hidden; }
    .card::after { content:""; position:absolute; width:130px; height:130px; border-radius:50%; right:-56px; top:-56px; background: radial-gradient(circle, rgba(238,47,120,.15), transparent 67%); }
    .card h3 { margin: 16px 0 10px; font-size: 1.25rem; letter-spacing: -.02em; }
    .card p { margin: 0; line-height: 1.65; color: var(--muted); }
    .card .card-icon { width: 58px; height: 58px; border-radius: 20px; display:grid; place-items:center; background:linear-gradient(135deg, var(--pink), var(--violet)); color:#fff; font-size: 1.65rem; box-shadow: 0 16px 28px rgba(238,47,120,.22); }

    .law-panel { display:grid; grid-template-columns: 1fr .86fr; gap: 22px; align-items: stretch; }
    .law-main { padding: 34px; border-radius: 26px; background: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.9); }
    .law-main h3 { margin: 0 0 18px; font-size: 1.7rem; }
    .law-main p { line-height: 1.7; color: var(--navy-2); margin: 0 0 16px; }
    .law-facts { display:grid; gap: 12px; }
    .law-fact { display:flex; gap: 12px; align-items:flex-start; padding:16px; border-radius:20px; background: linear-gradient(135deg, rgba(91,36,200,.08), rgba(238,47,120,.06)); border:1px solid rgba(7,18,63,.06); }
    .law-fact b { display:block; }
    .law-fact span { color: var(--muted); }

    .test-wrap { display: grid; grid-template-columns: .42fr .58fr; gap: 24px; align-items: start; }
    .test-aside { position: sticky; top: 105px; }
    .test-aside .wide-panel { background: linear-gradient(150deg, rgba(255,255,255,.88), rgba(252,238,248,.78)); }
    .test-progress { display:grid; gap: 10px; margin-top: 20px; }
    .progress-row { display:flex; align-items:center; gap: 10px; color: var(--muted); font-weight: 750; font-size: .95rem; }
    .progress-dot { width: 26px; height: 26px; border-radius: 50%; display:grid; place-items:center; background: rgba(7,18,63,.08); color: var(--navy); font-size: .78rem; font-weight: 950; }
    .progress-row.active .progress-dot { background: linear-gradient(135deg, var(--pink), var(--violet)); color:#fff; }
    .progress-row.done .progress-dot { background: rgba(238,47,120,.16); color: var(--pink); }
    .test-card { position: relative; background: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.9); border-radius: 30px; box-shadow: var(--shadow); overflow: hidden; }
    .test-card::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 95% 0%, rgba(91,36,200,.15), transparent 34%), radial-gradient(circle at 0% 95%, rgba(238,47,120,.10), transparent 33%); pointer-events:none; }
    .test-content { position:relative; z-index: 2; padding: clamp(24px, 4vw, 48px); }
    .step-label { display:inline-flex; align-items:center; gap: 12px; color: var(--pink); font-weight: 950; text-transform: uppercase; letter-spacing:.09em; font-size: .85rem; }
    .question { margin: 18px 0 0; font-size: clamp(1.85rem, 3vw, 3.2rem); line-height: 1.06; letter-spacing: -.045em; font-weight: 950; }
    .answer-actions { display:flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
    .answer { flex: 1 1 190px; min-height: 72px; border: 0; border-radius: 22px; cursor:pointer; font-size:1.1rem; font-weight: 950; color: var(--navy); background: rgba(255,255,255,.88); border:1px solid rgba(7,18,63,.12); transition:.18s; }
    .answer:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(7,18,63,.10); }
    .answer.yes { color:#fff; background: linear-gradient(100deg, var(--pink), var(--magenta)); border:0; }
    .answer.no { background: var(--navy); color:#fff; border:0; }
    .test-note { margin-top: 20px; color: var(--muted); line-height: 1.65; }
    .result-box { display:none; }
    .result-badge { display:inline-flex; align-items:center; gap:10px; padding: 10px 14px; border-radius:999px; color:#fff; font-weight:950; background: linear-gradient(100deg, var(--pink), var(--violet)); }
    .result-box h3 { margin: 20px 0 12px; font-size: clamp(2rem, 4vw, 4rem); line-height: .98; letter-spacing:-.055em; }
    .result-box p { font-size: 1.08rem; line-height: 1.7; color: var(--navy-2); }
    .result-actions { margin-top: 26px; display:flex; flex-wrap:wrap; gap: 12px; }
    .result-summary { margin-top: 26px; padding: 18px; border-radius: 20px; background: rgba(255,255,255,.68); border: 1px dashed rgba(238,47,120,.35); color: var(--muted); line-height:1.6; }

    .levels { margin-top: 22px; display:grid; gap: 12px; }
    .level-mini { display:grid; grid-template-columns: 74px 1fr; gap: 16px; align-items:center; padding: 16px; border-radius: 20px; background: rgba(255,255,255,.7); border: 1px solid rgba(7,18,63,.06); }
    .level-number { height:54px; border-radius:18px; display:grid; place-items:center; color:#fff; font-weight:950; }
    .lvl1 { background: linear-gradient(135deg, var(--pink), var(--magenta)); } .lvl2 { background: linear-gradient(135deg, var(--orange), #ff9a1f); } .lvl3 { background: linear-gradient(135deg, #f5c400, #ffd84d); color: var(--navy)!important; } .lvl4 { background: linear-gradient(135deg, var(--navy), #05091f); }
    .level-mini b { display:block; } .level-mini span { color:var(--muted); font-size:.94rem; line-height:1.45; }

    .process { display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; counter-reset: step; }
    .process-card { counter-increment: step; padding: 24px 20px; border-radius: 24px; background: rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.9); box-shadow: 0 14px 30px rgba(7,18,63,.06); }
    .process-card::before { content: counter(step); width: 42px; height:42px; border-radius:50%; display:grid; place-items:center; margin-bottom: 16px; background: linear-gradient(135deg, var(--pink), var(--violet)); color:#fff; font-weight:950; }
    .process-card h3 { margin: 0 0 8px; font-size: 1.08rem; }
    .process-card p { margin: 0; color: var(--muted); line-height:1.55; font-size: .95rem; }

    .risk-grid { display:grid; grid-template-columns: .95fr 1.05fr; gap: 24px; align-items: stretch; }
    .risk-card-main { min-height: 420px; display:flex; flex-direction:column; justify-content:space-between; }
    .risk-icon-big { width: 150px; height:150px; border-radius: 50%; display:grid; place-items:center; margin: 0 auto 18px; background: linear-gradient(135deg, rgba(238,47,120,.16), rgba(91,36,200,.18)); color: var(--pink); font-size: 4rem; }
    .risk-list { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
    .risk-item { padding: 28px; border-radius: 26px; background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 14px 30px rgba(7,18,63,.06); }
    .risk-item b { font-size: 1.12rem; color: var(--pink); }
    .risk-item p { color:var(--muted); line-height:1.6; margin-bottom:0; }

    .faq-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    details { background: rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.9); border-radius: 22px; padding: 20px 22px; box-shadow: 0 12px 28px rgba(7,18,63,.06); }
    details[open] { border-color: rgba(238,47,120,.26); }
    summary { cursor:pointer; font-weight: 950; font-size: 1.07rem; list-style:none; display:flex; align-items:center; justify-content:space-between; gap: 18px; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:"+"; width: 34px; height:34px; border-radius:50%; display:grid; place-items:center; background: rgba(238,47,120,.12); color:var(--pink); font-weight:950; flex:0 0 34px; }
    details[open] summary::after { content:"–"; }
    details p { color: var(--muted); line-height:1.7; margin: 14px 0 0; }

    .contact-panel { display:grid; grid-template-columns: .82fr 1.18fr; gap: 26px; align-items:stretch; }
    .contact-info { padding: 38px; border-radius: 30px; color:#fff; background: linear-gradient(138deg, var(--navy), var(--violet), var(--pink)); box-shadow: var(--shadow); position:relative; overflow:hidden; }
    .contact-info::after { content:""; position:absolute; width: 420px; height:420px; border-radius:50%; right:-190px; bottom:-230px; background: rgba(255,255,255,.12); }
    .contact-info img { width: 220px; margin-bottom: 26px; filter: brightness(0) invert(1); opacity:.96; }
    .contact-info h2 { color:#fff; margin:0 0 16px; }
    .contact-info p { line-height:1.7; color: rgba(255,255,255,.82); }
    .contact-lines { display:grid; gap: 12px; margin-top: 28px; position:relative; z-index:2; }
    .contact-line { display:flex; gap: 12px; align-items:center; padding: 13px 0; border-top:1px solid rgba(255,255,255,.18); font-weight:850; }
    form { background: rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.92); border-radius: 30px; padding: clamp(24px,4vw,42px); box-shadow: var(--shadow); }
    .form-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .field { display:grid; gap: 7px; }
    .field.full { grid-column: 1/-1; }
    label { font-weight: 850; font-size: .92rem; }
    input, select, textarea { width: 100%; min-height: 52px; border: 1px solid rgba(7,18,63,.15); border-radius: 16px; padding: 13px 15px; font: inherit; color: var(--navy); background: rgba(255,255,255,.85); outline: none; }
    input:focus, select:focus, textarea:focus { border-color: rgba(238,47,120,.55); box-shadow: 0 0 0 4px rgba(238,47,120,.10); }
    textarea { min-height: 120px; resize: vertical; }
    .privacy { margin-top: 16px; font-size:.86rem; color: var(--muted); line-height:1.55; }

    footer { padding: 34px 0 80px; border-top:1px solid rgba(7,18,63,.08); }
    .ep-footer-links{margin:38px auto 0;padding-top:22px;border-top:1px solid rgba(233,190,215,.65);display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#7b6072;font-size:13px;font-weight:850;}
    .ep-footer-link{border:0;background:transparent;padding:0;color:#7b6072;text-decoration:none;cursor:pointer;font-weight:900;letter-spacing:.015em;}
    .ep-footer-link:hover{color:#ff2d6f;text-decoration:underline;text-underline-offset:4px;}
    .ep-company-meta{margin:16px auto 0;max-width:820px;text-align:center;color:#8b7283;font-size:11px;line-height:1.6;}
    .ep-company-meta strong{font-weight:900;color:#7a6071;}
    .ep-legal-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:18px 0 12px;}
    .ep-legal-phone{margin:8px 0 0;text-align:center;font-size:15px;color:#5d4456;font-weight:800;}
    .ep-map-embed{margin-top:16px;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);}
    .ep-map-embed iframe{display:block;width:100%;height:280px;border:0;}


    .floating-cta { position: fixed; right: 18px; bottom: 62px; z-index: 101; display:none; }

    @media (max-width: 1040px) {
      .hero-grid, .split, .law-panel, .test-wrap, .risk-grid, .contact-panel { grid-template-columns: 1fr; }
      .hero-visual { min-height: 420px; }
      .test-aside { position: static; }
      .process { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .nav-links { display:none; }
      .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    }
    @media (max-width: 740px) {
      .container { width: min(100% - 28px, var(--max)); }
      .brand img { width: 155px; }
      .hero { padding: 45px 0 42px; }
      .hero-logo { width: 300px; margin-bottom: 24px; }
      .hero-pills, .cards-grid, .faq-grid, .risk-list, .form-grid { grid-template-columns: 1fr; }
      .section { padding: 52px 0; }
      .section-head { display:block; }
      .section-head p { margin-top:18px; }
      .process { grid-template-columns: 1fr; }
      .contact-info { padding: 28px; }
      .footer-inner { display:grid; gap:16px; }
      .floating-cta { display:block; }
      .note-1, .note-2, .note-3 { display:none; }
      .hero-visual { min-height: 310px; }
      .hero-symbol { width: 300px; }
      .age-visual { min-height: 300px; }
      .age-card { position: static; margin: 10px; }
      .age-line, .age-center { display:none; }
    }


    /* === Refinamiento visual v2: lectura más ligera + test más limpio === */
    body { font-size: 15px; }
    .container { width: min(var(--max), calc(100% - 48px)); }
    .nav-wrap { padding: 10px 0; background: rgba(255,248,252,.82); }
    .brand { position: relative; z-index: 5; min-width: 230px; }
    .brand img { width: 178px; }
    .nav-links { font-size: .83rem; gap: 15px; }
    .btn { min-height: 44px; padding: 0 18px; font-size: .88rem; box-shadow: 0 12px 24px rgba(238,47,120,.20); }

    .hero { padding: 62px 0 54px; }
    .hero-logo { width: 360px; margin-bottom: 26px; position: relative; z-index: 6; }
    h1 { font-size: clamp(2.45rem, 5.25vw, 5.25rem); line-height: .98; letter-spacing: -.055em; }
    .hero-sub { max-width: 610px; font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.62; }
    .hero-pills { gap: 10px; margin-top: 28px; }
    .pill-card { padding: 14px; border-radius: 16px; }
    .pill-card b { font-size: .9rem; }
    .pill-card small { font-size: .78rem; }
    .mini-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 13px; }
    .hero-visual { min-height: 500px; }
    .hero-symbol { width: min(470px, 86vw); }
    .orbit-note { padding: 13px 15px; border-radius: 18px; max-width: 205px; }
    .orbit-note strong { font-size: .92rem; }
    .orbit-note span { font-size: .8rem; }

    .section { padding: 66px 0; }
    .section + .section { border-top: 1px solid rgba(7,18,63,.045); }
    .section-head { margin-bottom: 28px; align-items: center; }
    .section h2 { font-size: clamp(1.9rem, 3.45vw, 3.55rem); line-height: 1.05; letter-spacing: -.043em; }
    .section-head p { max-width: 440px; font-size: .95rem; line-height: 1.65; }
    .eyebrow { font-size: .72rem; letter-spacing: .13em; }
    .small { font-size: .85rem; }
    .panel-inner { padding: clamp(22px, 3.4vw, 44px); }
    .wide-panel { border-radius: 24px; box-shadow: 0 18px 54px rgba(44,24,97,.10); backdrop-filter: blur(12px); }
    .lead { font-size: 1.05rem; line-height: 1.62; }
    .feature-item { padding: 12px 14px; border-radius: 16px; }
    .feature-item p { font-size: .92rem; }
    .big-quote { font-size: 1.13rem; line-height: 1.45; }

    .cards-grid { gap: 14px; }
    .card { padding: 22px; border-radius: 20px; }
    .card h3 { font-size: 1.06rem; margin: 14px 0 8px; }
    .card p { font-size: .9rem; line-height: 1.58; }
    .card .card-icon { width: 50px; height: 50px; border-radius: 17px; font-size: 1.35rem; }
    .law-main { padding: 28px; border-radius: 22px; }
    .law-main h3 { font-size: 1.42rem; }
    .law-main p, .law-fact span { font-size: .94rem; }
    .law-fact { padding: 14px; border-radius: 17px; }

    /* Test: árbol de decisión más moderno y legible */
    .test-wrap { grid-template-columns: .35fr .65fr; gap: 20px; align-items: start; }
    .test-aside { top: 88px; }
    .test-aside .wide-panel { background: linear-gradient(150deg, rgba(255,255,255,.91), rgba(252,238,248,.76)); overflow: hidden; }
    .test-aside .panel-inner { padding: 24px; }
    .test-aside img { width: 220px !important; max-width: 100%; margin-bottom: 16px !important; position: relative; z-index: 4; }
    .test-aside .lead { font-size: .94rem !important; line-height: 1.55; }
    .test-progress { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; margin-top: 18px; padding: 10px; border-radius: 18px; background: rgba(255,255,255,.62); border: 1px solid rgba(7,18,63,.06); }
    .progress-row { display: none; }
    .progress-chip { min-width: 0; display: grid; place-items: center; gap: 4px; padding: 7px 4px; border-radius: 14px; color: rgba(7,18,63,.55); font-weight: 900; font-size: .68rem; line-height: 1; text-transform: uppercase; background: transparent; }
    .progress-chip small { display: none; }
    .progress-dot { width: 28px; height: 28px; border-radius: 50%; display:grid; place-items:center; background: rgba(7,18,63,.08); color: var(--navy); font-size: .74rem; font-weight: 950; }
    .progress-chip.active { color: var(--pink); background: rgba(238,47,120,.07); }
    .progress-chip.active .progress-dot { background: linear-gradient(135deg, var(--pink), var(--violet)); color:#fff; box-shadow: 0 10px 20px rgba(238,47,120,.22); }
    .progress-chip.done { color: var(--pink); }
    .progress-chip.done .progress-dot { background: rgba(238,47,120,.16); color: var(--pink); }
    .levels { margin-top: 18px; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
    .level-mini { grid-template-columns: 42px 1fr; gap: 10px; padding: 11px; border-radius: 16px; }
    .level-number { height: 42px; border-radius: 14px; font-size: .78rem; }
    .level-mini b { font-size: .82rem; line-height: 1.18; }
    .level-mini span { font-size: .75rem; line-height: 1.25; }

    .test-card { border-radius: 28px; box-shadow: 0 22px 60px rgba(44,24,97,.12); }
    .test-card::before { background: radial-gradient(circle at 96% 0%, rgba(91,36,200,.12), transparent 33%), radial-gradient(circle at 0% 100%, rgba(238,47,120,.10), transparent 32%); }
    .test-card::after { content: ""; position:absolute; left:0; top:0; right:0; height: 6px; background: linear-gradient(90deg, var(--pink), var(--magenta), var(--violet)); z-index:3; }
    .test-content { padding: clamp(24px, 3vw, 38px); }
    .step-label { padding: 8px 12px; border-radius: 999px; background: rgba(238,47,120,.10); border: 1px solid rgba(238,47,120,.16); font-size: .72rem; letter-spacing: .11em; }
    .question { margin-top: 20px; max-width: 780px; font-size: clamp(1.55rem, 2.45vw, 2.45rem); line-height: 1.14; letter-spacing: -.035em; }
    .answer-actions { gap: 12px; margin-top: 24px; }
    .answer { flex: 1 1 220px; min-height: 66px; padding: 12px 18px; border-radius: 18px; font-size: 1rem; text-align: left; display: grid; align-content: center; box-shadow: 0 10px 24px rgba(7,18,63,.06); }
    .answer span { display:block; font-size: 1.05rem; line-height: 1; font-weight: 950; }
    .answer small { display:block; margin-top: 6px; font-size: .76rem; line-height: 1.25; font-weight: 800; opacity: .78; }
    .answer.yes { background: linear-gradient(100deg, var(--pink), var(--magenta)); }
    .answer.no { background: linear-gradient(100deg, var(--navy), #111a54); }
    .test-note { margin-top: 16px; font-size: .9rem; line-height: 1.55; }
    .result-badge { padding: 9px 13px; font-size: .83rem; }
    .result-box h3 { margin: 18px 0 10px; font-size: clamp(1.75rem, 3vw, 3rem); letter-spacing: -.045em; }
    .result-box p { font-size: .96rem; line-height: 1.62; }
    .result-summary { margin-top: 20px; padding: 15px; border-radius: 17px; font-size: .88rem; line-height: 1.55; }
    .result-actions { margin-top: 22px; }

    .process { gap: 12px; }
    .process-card { padding: 21px 18px; border-radius: 20px; }
    .process-card h3 { font-size: .98rem; }
    .process-card p { font-size: .86rem; }
    .risk-item { padding: 22px; border-radius: 22px; }
    .risk-item b { font-size: 1.02rem; }
    .risk-item p { font-size: .9rem; }
    details { padding: 18px 20px; border-radius: 19px; }
    summary { font-size: .98rem; }
    details p { font-size: .9rem; }
    .contact-info { padding: 32px; border-radius: 26px; }
    .contact-info img { width: 230px; position: relative; z-index: 3; }
    form { border-radius: 26px; }
    label { font-size: .86rem; }
    input, select, textarea { min-height: 48px; border-radius: 14px; font-size: .93rem; }

    @media (max-width: 1040px) {
      .test-wrap { grid-template-columns: 1fr; }
      .test-aside { position: static; }
      .levels { grid-template-columns: repeat(4, minmax(0,1fr)); }
    }
    @media (max-width: 740px) {
      .container { width: min(100% - 28px, var(--max)); }
      .brand img { width: 148px; }
      .hero-logo { width: 285px; }
      h1 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
      .hero-sub { font-size: .98rem; }
      .section h2 { font-size: clamp(2rem, 9vw, 2.8rem); }
      .levels { grid-template-columns: 1fr; }
      .test-progress { grid-template-columns: repeat(3, minmax(0,1fr)); }
      .question { font-size: clamp(1.45rem, 7vw, 2rem); }
      .answer { flex-basis: 100%; }
    }

  

    /* === Ajuste final premium === */
    .nav-wrap {
      padding: 12px 0;
      background: linear-gradient(180deg, rgba(255,250,253,.90), rgba(255,250,253,.68));
      border-bottom: 0;
      backdrop-filter: blur(20px);
    }
    .nav {
      position: relative;
      min-height: 66px;
      padding: 9px 12px 9px 16px;
      border-radius: 999px;
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(255,255,255,.88);
      box-shadow: 0 18px 48px rgba(44,24,97,.10), inset 0 0 0 1px rgba(238,47,120,.05);
      overflow: hidden;
    }
    .nav::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background: radial-gradient(circle at 12% 50%, rgba(238,47,120,.12), transparent 28%), radial-gradient(circle at 100% 50%, rgba(91,36,200,.10), transparent 34%);
    }
    .brand, .nav-links, .nav-cta { position: relative; z-index: 2; }
    .brand { min-width: 238px; }
    .brand img { width: 190px; max-height: 48px; object-fit: contain; }
    .nav-links { padding: 0 16px; height: 42px; border-radius: 999px; background: rgba(255,255,255,.54); border: 1px solid rgba(7,18,63,.05); }
    .nav-links a { display:inline-flex; align-items:center; height: 42px; }
    .nav-cta .btn { min-height: 42px; }

    .hero-visual { isolation:isolate; }
    .hero-visual::before { width: 92%; opacity:.9; }
    .hero-visual::after { width: 74%; opacity:.65; }
    .hero-symbol { animation: float 7s ease-in-out infinite; }
    .orbit-note { display:none !important; }

    .final-test-wrap { grid-template-columns: .40fr .60fr; gap: 22px; }
    .test-side-panel { border-radius: 28px; }
    .final-test-aside .panel-inner { padding: 24px; }
    .final-test-aside .test-logo { width: 230px !important; max-height: 62px; object-fit: contain; margin-bottom: 18px !important; }
    .test-side-title { display:inline-flex; align-items:center; gap:8px; padding: 8px 12px; border-radius: 999px; background: rgba(238,47,120,.10); color: var(--pink); font-weight: 950; font-size:.78rem; text-transform: uppercase; letter-spacing:.11em; margin-bottom: 12px; }
    .decision-route { margin-top: 14px; display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .decision-route div { padding: 9px 10px; border-radius: 14px; background: rgba(255,255,255,.66); border: 1px solid rgba(7,18,63,.06); display:flex; gap: 8px; align-items:center; min-width:0; }
    .decision-route b { flex:0 0 auto; width: 28px; height: 28px; border-radius: 50%; display:grid; place-items:center; color:#fff; font-size:.72rem; background: linear-gradient(135deg, var(--pink), var(--violet)); }
    .decision-route span { font-size:.74rem; line-height:1.22; color: var(--navy-2); font-weight: 850; }
    .final-levels { margin-top: 14px; grid-template-columns: 1fr; }
    .final-levels .level-mini { grid-template-columns: 46px 1fr; }
    .final-levels .level-mini span { font-size:.78rem; }

    .final-test-card { min-height: 100%; display:flex; align-items:stretch; }
    .final-test-card .test-content { width:100%; }
    .test-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom: 14px; color: var(--muted); font-weight: 850; }
    .test-kicker span { color: #fff; background: linear-gradient(135deg, var(--pink), var(--magenta)); padding: 7px 12px; border-radius: 999px; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; }
    .test-kicker strong { color: var(--navy); font-size:.94rem; }
    .final-test-card .question { font-size: clamp(1.6rem, 2.25vw, 2.35rem); line-height: 1.16; max-width: 760px; }
    .final-test-card .answer-actions { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .final-test-card .answer { min-height: 82px; border-radius: 20px; text-align:left; position:relative; overflow:hidden; }
    .final-test-card .answer::after { content:""; position:absolute; right:14px; top:50%; width:26px; height:26px; transform: translateY(-50%); border-radius:50%; border:1px solid rgba(255,255,255,.45); opacity:.72; }
    .final-test-card .answer span { font-size: 1.12rem; }
    .final-test-card .answer small { max-width: calc(100% - 42px); }
    .result-summary ul { display:grid; gap:6px; }

    .risk-final-grid { display:grid; grid-template-columns: .92fr 1.08fr; gap: 22px; align-items:stretch; }
    .risk-intro-panel { min-height: auto; border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(252,238,248,.74)); }
    .risk-intro-panel .lead { margin-bottom: 0; }
    .risk-warning-strip { margin-top: 26px; display:flex; gap: 16px; align-items:center; padding: 18px; border-radius: 22px; background: rgba(255,255,255,.70); border: 1px solid rgba(238,47,120,.14); box-shadow: 0 14px 28px rgba(7,18,63,.05); }
    .risk-warning-strip span { flex:0 0 54px; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; color:#fff; font-size: 1.7rem; font-weight:950; background: linear-gradient(135deg, var(--pink), var(--violet)); }
    .risk-warning-strip b { display:block; font-size: 1.02rem; color: var(--navy); }
    .risk-warning-strip small { display:block; margin-top: 4px; color: var(--muted); line-height: 1.45; font-weight: 650; }
    .risk-impact-list { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .risk-impact { display:flex; gap: 14px; align-items:flex-start; min-height: 0; padding: 18px; border-radius: 22px; background: rgba(255,255,255,.80); border: 1px solid rgba(255,255,255,.92); box-shadow: 0 14px 30px rgba(7,18,63,.065); }
    .risk-ico { flex:0 0 48px; width:48px; height:48px; border-radius: 17px; display:grid; place-items:center; color:#fff; font-size:1.22rem; font-weight:950; background: linear-gradient(135deg, var(--pink), var(--violet)); box-shadow: 0 12px 22px rgba(238,47,120,.16); }
    .risk-impact small { display:block; color: var(--pink); font-weight: 950; text-transform: uppercase; letter-spacing:.08em; font-size:.67rem; margin-bottom: 5px; }
    .risk-impact b { display:block; color: var(--navy); font-size:1.02rem; margin-bottom: 6px; }
    .risk-impact p { margin: 0; color: var(--muted); font-size:.88rem; line-height:1.48; }
    .risk-bottom-callout { margin: 18px auto 0; max-width: 940px; display:flex; gap: 14px; align-items:center; justify-content:center; padding: 16px 20px; border-radius: 999px; background: linear-gradient(100deg, rgba(91,36,200,.96), rgba(238,47,120,.90)); color:#fff; box-shadow: 0 16px 38px rgba(91,36,200,.18); }
    .risk-bottom-callout span { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background: rgba(255,255,255,.16); }
    .risk-bottom-callout p { margin:0; font-weight: 850; }
    .risk-bottom-callout b { color:#fff; }

    @media (max-width: 1040px) {
      .nav { border-radius: 28px; }
      .brand { min-width:auto; }
      .brand img { width: 160px !important; max-height: 68px !important; }
      .final-test-wrap, .risk-final-grid { grid-template-columns: 1fr; }
      .final-levels { grid-template-columns: repeat(4, minmax(0,1fr)); }
    }
    @media (max-width: 740px) {
      .nav { min-height: 58px; border-radius: 24px; }
      .brand img { width: 152px; max-height: 42px; }
      .hero-visual::before, .hero-visual::after { transform: scale(.9); }
      .decision-route { grid-template-columns: 1fr; }
      .final-levels { grid-template-columns: 1fr; }
      .final-test-card .answer-actions, .risk-impact-list { grid-template-columns: 1fr; }
      .risk-bottom-callout { border-radius: 24px; align-items:flex-start; justify-content:flex-start; }
    }


    /* ===== ÚLTIMA REVISIÓN ESPHINGE ===== */
    .nav-wrap { padding: 10px 0; }
    .nav { min-height: 78px; }
    .brand { min-width: 330px; }
    .brand img {
      width: 285px !important;
      max-height: 74px !important;
      object-fit: contain !important;
      transform: none !important;
      display: block;
    }
    .nav-links { font-size: .9rem; gap: 16px; }
    .nav-cta .btn { min-height: 44px; padding-inline: 18px; }

    .decision-route div:last-child {
      background: linear-gradient(135deg, rgba(238,47,120,.10), rgba(91,36,200,.10));
      border-color: rgba(238,47,120,.22);
    }
    .decision-route div:last-child b { background: linear-gradient(135deg, var(--pink), var(--violet)); color: #fff; box-shadow: 0 12px 24px rgba(238,47,120,.16); }

    .contact-info > img {
      display: block !important;
      width: min(300px, 82%) !important;
      max-height: 120px !important;
      object-fit: contain !important;
      margin: 0 auto 30px auto !important;
      position: relative;
      z-index: 3;
      filter: brightness(0) invert(1) !important;
      opacity: .98 !important;
    }
    .contact-whatsapp-cta {
      position: relative;
      z-index: 3;
      margin-top: 18px;
      padding: 18px 18px;
      border-radius: 200px;
      display: grid;
      grid-template-columns: 48px 1fr;
      column-gap: 14px;
      align-items: center;
      color: var(--navy);
      background: rgba(255,255,255,.96);
      border: 1px solid rgba(255,255,255,.86);
      box-shadow: 0 18px 38px rgba(0,0,0,.15);
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .contact-whatsapp-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 24px 48px rgba(0,0,0,.20);
      filter: saturate(1.05);
    }
    .contact-whatsapp-cta span {
      grid-row: span 2;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #fff;
      font-size: 1.2rem;
      background: linear-gradient(135deg, #25D366, #13b954);
      box-shadow: 0 12px 26px rgba(37,211,102,.28);
    }
    .contact-whatsapp-cta strong {
      display: block;
      font-size: 1rem;
      line-height: 43px;
      letter-spacing: -.02em;
    }
    @media (max-width: 1040px) {
		.contact-whatsapp-cta strong {
			line-height: initial; 
		}
	}
    .contact-whatsapp-cta small {
      display: block;
      margin-top: 4px;
      color: rgba(7,18,63,.66);
      font-weight: 750;
      line-height: 1.3;
    }

    @media (max-width: 1040px) {
      .brand { min-width: auto; }
      .brand img { width: 250px !important; max-height: 68px !important; }
      .nav { min-height: 74px; }
    }
    @media (max-width: 740px) {
      .brand img { width: 190px !important; max-height: 54px !important; }
      .nav { min-height: 62px; gap: 12px; }
      .nav-cta .btn { min-height: 40px; padding: 0 14px; }
      .contact-info > img { width: min(250px, 86%) !important; margin-bottom: 24px !important; }
      .contact-whatsapp-cta { grid-template-columns: 42px 1fr; padding: 16px; }
      .contact-whatsapp-cta span { width: 42px; height: 42px; }
    }

  

    /* ===== ÚLTIMA VERSIÓN TEST ESPHINGE ===== */
    .test-premium-section {
      overflow: hidden;
      padding-top: 92px;
      padding-bottom: 96px;
    }
    .test-premium-section::before {
      content:"";
      position:absolute;
      inset: 20px 0 auto 0;
      height: 620px;
      background:
        radial-gradient(circle at 20% 16%, rgba(238,47,120,.10), transparent 34%),
        radial-gradient(circle at 82% 10%, rgba(91,36,200,.12), transparent 38%),
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0));
      pointer-events:none;
    }
    .test-premium-head {
      position: relative;
      z-index: 2;
      align-items: end;
    }
    .test-lab {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(330px, .42fr) minmax(0, .58fr);
      gap: 24px;
      align-items: stretch;
    }
    .test-compass-card,
    .test-question-panel {
      position: relative;
      overflow: hidden;
      border-radius: 34px;
      border: 1px solid rgba(255,255,255,.82);
      background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(252,240,249,.72));
      box-shadow: 0 26px 70px rgba(7,18,63,.12);
      backdrop-filter: blur(18px);
    }
    .test-compass-card::before,
    .test-question-panel::before {
      content:"";
      position:absolute;
      inset: 0;
      background:
        radial-gradient(circle at 90% 8%, rgba(91,36,200,.17), transparent 28%),
        radial-gradient(circle at 6% 94%, rgba(238,47,120,.12), transparent 30%);
      pointer-events:none;
    }
    .test-compass-card {
      height: 100%;
      padding: 30px;
    }
    .test-compass-card .test-logo {
      width: min(270px, 86%) !important;
      display: block;
      margin: 0 auto 24px !important;
      position: relative;
      z-index: 2;
    }
    .compass-eyebrow {
      position: relative;
      z-index: 2;
      display: inline-flex;
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(238,47,120,.10);
      color: var(--pink);
      font-size: .78rem;
      font-weight: 950;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .test-compass-card h3 {
      position: relative;
      z-index: 2;
      margin: 14px 0 10px;
      font-size: clamp(1.32rem, 2vw, 1.85rem);
      line-height: 1.08;
      letter-spacing: -.04em;
      color: var(--navy);
    }
    .test-compass-card p {
      position: relative;
      z-index: 2;
      margin: 0 0 22px;
      color: var(--muted);
      line-height: 1.55;
      font-size: .98rem;
    }
    .decision-ladder {
      position: relative;
      z-index: 2;
      display: grid;
      gap: 10px;
    }
    .ladder-row {
      display: grid;
      grid-template-columns: 42px 1fr;
      column-gap: 12px;
      align-items: center;
      padding: 13px 14px;
      border-radius: 20px;
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(7,18,63,.06);
      transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
    }
    .ladder-row b {
      grid-row: span 2;
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 16px;
      color: var(--navy);
      background: rgba(7,18,63,.08);
      font-weight: 950;
    }
    .ladder-row span {
      color: var(--navy);
      font-weight: 900;
      font-size: .93rem;
      line-height: 1.15;
    }
    .ladder-row small {
      color: var(--muted);
      font-weight: 800;
      font-size: .78rem;
      line-height: 1.2;
    }
    .ladder-row.active {
      transform: translateX(4px);
      background: rgba(255,255,255,.9);
      border-color: rgba(238,47,120,.30);
      box-shadow: 0 14px 30px rgba(238,47,120,.10);
    }
    .ladder-row.active b,
    .ladder-row.done b {
      color: #fff;
      background: linear-gradient(135deg, var(--pink), var(--violet));
      box-shadow: 0 12px 24px rgba(238,47,120,.18);
    }
    .test-stage {
      position: relative;
      display: grid;
      gap: 18px;
      min-width: 0;
    }
    .test-progress-orbit {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 9px;
    }
    .progress-chip {
      min-height: 60px;
      padding: 10px 8px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      text-align: center;
      background: rgba(255,255,255,.58);
      border: 1px solid rgba(7,18,63,.07);
      color: var(--muted);
      box-shadow: 0 10px 24px rgba(7,18,63,.05);
    }
    .progress-chip .progress-dot {
      width: 26px;
      height: 26px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: rgba(7,18,63,.08);
      color: var(--navy);
      font-size: .78rem;
      font-weight: 950;
      margin-bottom: 4px;
    }
    .progress-chip span:not(.progress-dot) {
      font-weight: 950;
      font-size: .75rem;
      line-height: 1;
    }
    .progress-chip small {
      display: none;
    }
    .progress-chip.active {
      background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,238,247,.9));
      border-color: rgba(238,47,120,.32);
      color: var(--navy);
    }
    .progress-chip.active .progress-dot,
    .progress-chip.done .progress-dot {
      background: linear-gradient(135deg, var(--pink), var(--violet));
      color: #fff;
    }
    .progress-chip.done {
      border-color: rgba(238,47,120,.18);
      color: var(--pink);
    }
    .test-question-panel {
      min-height: 540px;
      display: grid;
      align-content: center;
      padding: clamp(30px, 4.2vw, 58px);
    }
    .test-question-panel > * {
      position: relative;
      z-index: 2;
    }
    .test-topline {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 26px;
    }
    .test-chip,
    .test-topline .step-label {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      min-height: 36px;
      padding: 9px 13px;
      border-radius: 999px;
      font-size: .78rem;
      font-weight: 950;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .test-chip {
      color: #fff;
      background: linear-gradient(135deg, var(--pink), var(--violet));
      box-shadow: 0 14px 30px rgba(238,47,120,.18);
    }
    .test-topline .step-label {
      color: var(--pink);
      background: rgba(238,47,120,.09);
    }
    .question-number {
      width: 86px;
      height: 86px;
      display: grid;
      place-items: center;
      border-radius: 28px;
      color: #fff;
      font-size: 2.1rem;
      font-weight: 950;
      letter-spacing: -.06em;
      background: linear-gradient(135deg, var(--pink), var(--violet));
      box-shadow: 0 20px 42px rgba(238,47,120,.22);
      margin-bottom: 22px;
    }
    .test-question-panel .question {
      margin: 0;
      max-width: 760px;
      font-size: clamp(1.65rem, 3.1vw, 3.05rem);
      line-height: 1.08;
      letter-spacing: -.045em;
      color: var(--navy);
    }
    .test-question-panel .test-note {
      max-width: 710px;
      margin: 16px 0 0;
      color: var(--muted);
      line-height: 1.6;
      font-size: 1rem;
    }
    .premium-answer-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 28px;
    }
    .premium-answer-actions .answer {
      position: relative;
      min-height: 122px;
      border-radius: 28px;
      padding: 22px;
      display: grid;
      align-content: center;
      justify-items: start;
      text-align: left;
      overflow: hidden;
      border: 0;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .premium-answer-actions .answer::after {
      content:"";
      position:absolute;
      width: 150px;
      height: 150px;
      border-radius: 50%;
      right: -60px;
      top: -70px;
      background: rgba(255,255,255,.16);
    }
    .premium-answer-actions .answer:hover {
      transform: translateY(-4px);
      box-shadow: 0 24px 48px rgba(7,18,63,.14);
      filter: saturate(1.06);
    }
    .premium-answer-actions .answer span {
      position: relative;
      z-index: 2;
      font-size: 1.42rem;
      line-height: 1;
      font-weight: 950;
      letter-spacing: -.03em;
    }
    .premium-answer-actions .answer small {
      position: relative;
      z-index: 2;
      display: block;
      margin-top: 10px;
      font-size: .9rem;
      line-height: 1.25;
      font-weight: 850;
      opacity: .88;
    }
    .premium-answer-actions .answer.yes {
      color: #fff;
      background: linear-gradient(135deg, var(--pink), var(--magenta));
    }
    .premium-answer-actions .answer.no {
      color: #fff;
      background: linear-gradient(135deg, var(--navy), #111c59);
    }
    .micro-trust {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 22px;
    }
    .micro-trust span {
      padding: 9px 12px;
      border-radius: 999px;
      background: rgba(255,255,255,.68);
      color: var(--navy-2);
      font-size: .86rem;
      font-weight: 850;
      border: 1px solid rgba(7,18,63,.05);
    }
    .premium-result-box {
      min-height: 540px;
      align-content: start;
    }
    .premium-result-box .result-badge {
      width: fit-content;
    }
    .premium-result-box h3 {
      margin: 20px 0 12px;
      font-size: clamp(2.1rem, 4.6vw, 4.45rem);
      line-height: .96;
      letter-spacing: -.065em;
    }
    .premium-result-box p {
      font-size: 1.04rem;
      line-height: 1.65;
    }
    .urgent-result {
      display: none;
      grid-template-columns: 58px 1fr auto;
      gap: 16px;
      align-items: center;
      margin: 22px 0;
      padding: 18px;
      border-radius: 24px;
      color: #fff;
      background: linear-gradient(135deg, var(--pink), var(--violet));
      box-shadow: 0 24px 50px rgba(238,47,120,.20);
    }
    .urgent-result.show {
      display: grid;
    }
    .urgent-icon {
      width: 58px;
      height: 58px;
      border-radius: 20px;
      display: grid;
      place-items: center;
      background: rgba(255,255,255,.18);
      font-size: 2rem;
      font-weight: 950;
    }
    .urgent-result strong {
      display: block;
      font-size: 1.08rem;
      line-height: 1.15;
    }
    .urgent-result p {
      margin: 5px 0 0;
      color: rgba(255,255,255,.88);
      font-size: .94rem;
      line-height: 1.35;
    }
    .whatsapp-urgent {
      white-space: nowrap;
      background: #25D366 !important;
      color: #fff !important;
      box-shadow: 0 14px 34px rgba(37,211,102,.26) !important;
    }
    .premium-result-box.lvl-1-active {
      border-color: rgba(238,47,120,.42);
      box-shadow: 0 30px 84px rgba(238,47,120,.17);
    }

    /* Contacto: más contraste y CTA más limpio */
    .contact-info h2 {
      color: #fff !important;
      text-shadow: 0 4px 18px rgba(0,0,0,.24);
      font-weight: 950;
    }
    .contact-info p {
      color: rgba(255,255,255,.95) !important;
      text-shadow: 0 2px 12px rgba(0,0,0,.16);
    }
    .contact-line {
      color: #fff !important;
      text-shadow: 0 2px 12px rgba(0,0,0,.18);
    }
    .contact-whatsapp-cta {
      grid-template-columns: 48px 1fr !important;
      color: #fff !important;
      background: linear-gradient(135deg, #25D366, #13b954) !important;
      border-color: rgba(255,255,255,.24) !important;
    }
    .contact-whatsapp-cta span {
      background: rgba(255,255,255,.18) !important;
      box-shadow: none !important;
    }
    .contact-whatsapp-cta strong {
      color: #fff !important;
      font-size: 1.05rem !important;
      text-shadow: 0 2px 12px rgba(0,0,0,.16);
    }
    .contact-whatsapp-cta small {
      display: none !important;
    }

    @media (max-width: 1080px) {
      .test-lab { grid-template-columns: 1fr; }
      .test-compass { order: 2; }
      .test-stage { order: 1; }
      .decision-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 680px) {
      .test-premium-section { padding-top: 70px; padding-bottom: 72px; }
      .test-question-panel { min-height: auto; padding: 26px 20px; border-radius: 26px; }
      .test-compass-card { padding: 22px; border-radius: 26px; }
      .test-progress-orbit { grid-template-columns: repeat(3, 1fr); }
      .premium-answer-actions { grid-template-columns: 1fr; }
      .question-number { width: 70px; height: 70px; border-radius: 22px; font-size: 1.75rem; }
      .urgent-result { grid-template-columns: 46px 1fr; }
      .urgent-result .btn { grid-column: 1 / -1; width: 100%; justify-content: center; }
      .decision-ladder { grid-template-columns: 1fr; }
    }



    /* ===== TEST PERFECTO: explicación horizontal + preguntas una a una ===== */
    .test-perfect-section {
      padding-top: 96px;
      padding-bottom: 104px;
    }
    .test-perfect-head {
      margin-bottom: 28px;
    }
    .test-perfect-lab {
      position: relative;
      z-index: 3;
      display: grid;
      gap: 22px;
    }
    .test-perfect-intro {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(230px, .23fr) minmax(320px, .37fr) minmax(420px, .40fr);
      gap: 20px;
      align-items: center;
      padding: 22px;
      border-radius: 34px;
      background:
        radial-gradient(circle at 95% 0%, rgba(91,36,200,.14), transparent 32%),
        radial-gradient(circle at 0% 100%, rgba(238,47,120,.12), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.88), rgba(252,240,249,.76));
      border: 1px solid rgba(255,255,255,.86);
      box-shadow: 0 24px 70px rgba(7,18,63,.11);
      backdrop-filter: blur(18px);
    }
    .test-perfect-intro::after {
      content:"";
      position:absolute;
      left: 26px;
      right: 26px;
      bottom: 0;
      height: 5px;
      border-radius: 999px 999px 0 0;
      background: linear-gradient(90deg, var(--pink), var(--magenta), var(--violet));
      opacity: .88;
    }
    .test-intro-brand {
      position: relative;
      z-index: 2;
      min-height: 122px;
      border-radius: 26px;
      display: grid;
      place-items: center;
      padding: 18px;
      background: rgba(255,255,255,.58);
      border: 1px solid rgba(7,18,63,.05);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
    }
    .test-intro-logo {
      display: block;
      width: min(300px, 100%) !important;
      max-height: 96px;
      object-fit: contain;
      margin: 0 !important;
    }
    .test-intro-copy {
      position: relative;
      z-index: 2;
    }
    .test-intro-copy h3 {
      margin: 12px 0 8px;
      font-size: clamp(1.42rem, 2vw, 2rem);
      line-height: 1.05;
      letter-spacing: -.045em;
      color: var(--navy);
    }
    .test-intro-copy p {
      margin: 0;
      max-width: 560px;
      color: var(--muted);
      line-height: 1.55;
      font-size: .98rem;
    }
    .test-intro-steps {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .intro-step {
      min-height: 122px;
      padding: 16px;
      border-radius: 24px;
      background: rgba(255,255,255,.68);
      border: 1px solid rgba(7,18,63,.06);
      box-shadow: 0 12px 28px rgba(7,18,63,.06);
      display: grid;
      align-content: center;
      gap: 5px;
    }
    .intro-step b {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      color: #fff;
      background: linear-gradient(135deg, var(--pink), var(--violet));
      box-shadow: 0 12px 24px rgba(238,47,120,.16);
      font-weight: 950;
    }
    .intro-step span {
      color: var(--navy);
      font-weight: 950;
      font-size: 1rem;
      line-height: 1.1;
    }
    .intro-step small {
      color: var(--muted);
      font-weight: 800;
      line-height: 1.25;
      font-size: .8rem;
    }
    .test-perfect-stage {
      display: grid;
      gap: 16px;
    }
    .test-perfect-progress {
      width: min(760px, 100%);
      margin: 0 auto;
      padding: 10px;
      border-radius: 24px;
      background: rgba(255,255,255,.56);
      border: 1px solid rgba(7,18,63,.05);
      box-shadow: 0 16px 34px rgba(7,18,63,.06);
    }
    .test-perfect-question-panel,
    .test-perfect-result-box {
      width: min(980px, 100%);
      margin: 0 auto;
      min-height: 480px;
      text-align: center;
      align-content: center;
      padding: clamp(30px, 4vw, 54px);
    }
    .test-perfect-question-panel .test-topline {
      justify-content: center;
      margin-bottom: 20px;
    }
    .test-perfect-question-panel .question-number {
      margin: 0 auto 22px;
    }
    .test-perfect-question-panel .question {
      margin: 0 auto;
      max-width: 810px;
      font-size: clamp(1.8rem, 3.05vw, 3.15rem);
    }
    .test-perfect-question-panel .test-note {
      margin-left: auto;
      margin-right: auto;
      max-width: 650px;
    }
    .test-perfect-question-panel .premium-answer-actions {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
    }
    .test-perfect-question-panel .premium-answer-actions .answer {
      text-align: center;
      justify-items: center;
      min-height: 104px;
    }
    .test-perfect-trust {
      justify-content: center;
    }
    .test-perfect-result-box .result-badge,
    .test-perfect-result-box .urgent-result,
    .test-perfect-result-box .result-actions {
      margin-left: auto;
      margin-right: auto;
    }
    .test-perfect-result-box .result-actions {
      justify-content: center;
    }
    .test-perfect-result-box .result-summary {
      max-width: 760px;
      margin-left: auto;
      margin-right: auto;
      text-align: left;
    }

    @media (max-width: 1100px) {
      .test-perfect-intro {
        grid-template-columns: 1fr;
        text-align: center;
      }
      .test-intro-brand { min-height: 104px; }
      .test-intro-copy p { margin-left: auto; margin-right: auto; }
      .test-intro-steps { max-width: 760px; margin: 0 auto; width: 100%; }
    }
    @media (max-width: 680px) {
      .test-perfect-section { padding-top: 72px; padding-bottom: 78px; }
      .test-perfect-intro { padding: 18px; border-radius: 28px; }
      .test-intro-steps { grid-template-columns: 1fr; }
      .intro-step { min-height: auto; grid-template-columns: 42px 1fr; text-align: left; align-items: center; }
      .intro-step small { grid-column: 2; }
      .test-perfect-progress { grid-template-columns: repeat(3, minmax(0,1fr)); border-radius: 20px; }
      .test-perfect-question-panel,
      .test-perfect-result-box { min-height: auto; border-radius: 28px; }
      .test-perfect-question-panel .premium-answer-actions { grid-template-columns: 1fr; }
    }
	
    /* === Botón flotante "¿Demasiado texto?" (estilo WhatsApp) === */
    .ep-help-fab{position:fixed;right:20px;bottom:20px;z-index:9998;display:flex;align-items:center;gap:12px;max-width:330px;padding:12px 23px 12px 19px;border-radius:999px;background:linear-gradient(100deg, var(--pink), var(--magenta), var(--violet));color:#fff;box-shadow:0 14px 34px rgba(18,185,84,.34);text-decoration:none;font-weight:800;line-height:1.2;transition:transform .18s ease, box-shadow .18s ease;cursor:pointer;border:0;}
    .ep-help-fab:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(18,185,84,.42);}
    .ep-help-fab svg{flex:0 0 auto;width:30px;height:30px;fill:#fff;}
    .ep-help-fab .ep-help-fab-text{font-size:14px;font-weight:850;}
    .ep-help-fab .ep-help-fab-text small{display:block;font-size:12px;font-weight:650;opacity:.92;}
    .ep-help-fab-close{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#fff;color:#128C3E;border:0;font-size:15px;font-weight:900;line-height:22px;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.18);}
    @media (max-width:620px){
      .ep-help-fab{right:12px;bottom:12px;max-width:calc(100% - 24px);padding:11px 15px 11px 12px;}
      .ep-help-fab .ep-help-fab-text{font-size:13px;}
      .ep-help-fab .ep-help-fab-text small{font-size:11px;}
    }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

@media (max-width: 740px) {
  html { scroll-padding-top: 60px; }
}
#resultBox {
  scroll-margin-top: 40px; /* altura del nav + aire */
}




/* Contenedor de varios FAB apilados. Los .ep-help-fab individuales
   dejan de ser position:fixed y pasan a apilarse dentro del wrapper. */
.ep-fab-stack {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
.ep-fab-stack .ep-help-fab {
  position: relative;
  right: auto;
  bottom: auto;
}
@media (max-width: 620px) {
  .ep-fab-stack {
    right: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
  }
  .ep-fab-stack .ep-help-fab {
    max-width: 100%;
  }
}