/* AgudApp — public marketing CSS (extraído de index.html en Fase 4G, 2026-05-29). Compartido por Home + páginas dedicadas del mini-sitio. */
        :root {
            --navy: #12224f;
            --navy-deep: #0b1737;
            --navy-soft: #1b3576;
            --blue: #2786db;
            --blue-light: #67c0ff;
            --red: #d94334;
            --red-soft: #ff7a67;
            --ink: #10203f;
            --muted: #5b6882;
            --line: #e4ecf7;
            --bg: #f6f9fd;
            --white: #ffffff;
            --hero: linear-gradient(135deg, #081325 0%, #112451 38%, #19407e 70%, #0e1d42 100%);
            --accent: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%);
            --card: linear-gradient(180deg, rgba(39, 134, 219, .06) 0%, rgba(217, 67, 52, .04) 100%);
            --shadow: 0 18px 50px rgba(18, 34, 79, .10);
            --shadow-strong: 0 25px 70px rgba(8, 19, 37, .22);
        }
        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--ink); background: var(--white); overflow-x: hidden; }
        a { text-decoration: none; }
        img { max-width: 100%; }

        .navbar-agud { background: rgba(8,19,37,.86); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.08); padding: .9rem 0; transition: .3s ease; }
        .navbar-agud.scrolled { background: rgba(8,19,37,.96); box-shadow: 0 14px 40px rgba(0,0,0,.18); }
        /* NAVBAR-1 fix: preserve logo aspect ratio + prevent brand compression by crowded menu */
        .navbar-brand { flex-shrink: 0; display: flex; align-items: center; padding: 0; margin-right: 1.2rem; }
        .navbar-brand img { height: 48px; width: auto; max-width: 100%; display: block; object-fit: contain; flex-shrink: 0; }
        .navbar-agud .navbar-collapse { min-width: 0; }
        .navbar-agud .nav-link { color: rgba(255,255,255,.78) !important; font-weight: 600; padding: .55rem .8rem !important; font-size: .9rem; white-space: nowrap; }
        .navbar-agud .nav-link:hover { color: #fff !important; }
        .navbar-toggler { border-color: rgba(255,255,255,.18); }
        .navbar-toggler:focus { box-shadow: none; }
        .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

        /* NAVBAR-LANG 2026-05-28: language selector moved out of the top navbar to a floating bottom-right pill, freeing horizontal space in the navbar and keeping it visible during scroll. */
        .lang-fab { position: fixed; bottom: 22px; right: 22px; z-index: 1030; display: inline-flex; align-items: center; gap: .25rem; padding: .35rem .5rem .35rem .7rem; border-radius: 999px; background: rgba(8,19,37,.78); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 10px 28px rgba(0,0,0,.22); transition: opacity .2s ease, transform .2s ease; }
        .lang-fab .lang-fab-icon { color: rgba(255,255,255,.55); font-size: .92rem; margin-right: .15rem; line-height: 1; }
        .lang-fab .lang-btn { border: 0; background: transparent; color: rgba(255,255,255,.7); font-weight: 700; font-size: .78rem; letter-spacing: .04em; padding: .32rem .58rem; border-radius: 999px; transition: .22s ease; cursor: pointer; }
        .lang-fab .lang-btn:hover { color: #fff; background: rgba(255,255,255,.08); }
        .lang-fab .lang-btn.active { background: var(--accent); color: #fff; box-shadow: 0 6px 16px rgba(39,134,219,.28); }
        .lang-fab .lang-btn.active:hover { background: var(--accent); }

        .btn-nav-login, .btn-nav-register { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 1.1rem; border-radius: 999px; font-weight: 700; font-size: .88rem; transition: .25s ease; }
        .btn-nav-login { color: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
        .btn-nav-login:hover { color: #fff; background: rgba(255,255,255,.14); }
        .btn-nav-register { color: #fff; background: var(--accent); border: none; box-shadow: 0 8px 20px rgba(39,134,219,.2); animation: pulse-glow 2s ease-in-out infinite; }
        .btn-nav-register:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 12px 28px rgba(39,134,219,.3); animation: none; }
        @keyframes pulse-glow { 0%,100% { box-shadow: 0 8px 20px rgba(39,134,219,.2);} 50% { box-shadow: 0 8px 30px rgba(39,134,219,.5),0 0 12px rgba(255,122,103,.3);} }

        .hero { min-height: 100vh; background: var(--hero); position: relative; overflow: hidden; padding: 8rem 0 5rem; display: flex; align-items: center; }
        .hero::before, .hero::after { content: ""; position: absolute; border-radius: 50%; }
        .hero::before { width: 700px; height: 700px; right: -220px; top: -180px; background: radial-gradient(circle, rgba(103,192,255,.18) 0%, transparent 66%); filter: blur(10px); }
        .hero::after { width: 560px; height: 560px; left: -120px; bottom: -200px; background: radial-gradient(circle, rgba(255,122,103,.14) 0%, transparent 70%); filter: blur(14px); }
        .hero-badge { display: inline-flex; align-items: center; gap: .55rem; padding: .52rem 1rem; border-radius: 999px; background: rgba(103,192,255,.10); color: #d8eeff; border: 1px solid rgba(103,192,255,.24); font-size: .88rem; font-weight: 700; margin-bottom: 1.1rem; }
        .hero h1 { color: #fff; font-size: clamp(2.6rem, 5.5vw, 4.6rem); line-height: 1.04; font-weight: 800; margin-bottom: 1.2rem; letter-spacing: -.03em; }
        .hero h1 .accent { background: linear-gradient(135deg, #7fd2ff 0%, #ff957f 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
        .hero p { color: rgba(255,255,255,.82); font-size: 1.06rem; line-height: 1.75; max-width: 670px; margin-bottom: 1.8rem; }
        .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
        /* Fase 4E.5 — Hero feature pills (AI visible from top) */
        .hero-feature-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.6rem; max-width: 670px; }
        .hero-feature-pill { display: inline-flex; align-items: center; gap: .4rem; padding: .42rem .85rem; border-radius: 999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: .82rem; font-weight: 600; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
        .hero-feature-pill:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.42); color: #fff; text-decoration: none; transform: translateY(-1px); }
        .hero-feature-pill i { font-size: .95rem; color: #89d4ff; }
        .hero-feature-pill.is-ai i { color: #c9b4ff; }
        .hero-feature-pill.is-risk i { color: #ffb09c; }
        .hero-feature-pill.is-docs i { color: #7ee0d0; }
        .hero-feature-pill.is-quoter i { color: #a8c1ff; }
        .hero-feature-pill.is-sync i { color: #7de8f5; }

        .btn-primary-agud, .btn-secondary-agud { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; padding: .95rem 1.45rem; border-radius: 999px; font-weight: 700; transition: .25s ease; }
        .btn-primary-agud { color: #fff; background: var(--accent); box-shadow: 0 16px 35px rgba(39,134,219,.22); }
        .btn-primary-agud:hover { color: #fff; transform: translateY(-2px); }
        .btn-secondary-agud { color: #fff; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.06); }
        .btn-secondary-agud:hover { color: #fff; background: rgba(255,255,255,.1); }

        .hero-points { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .9rem; max-width: 640px; }
        .hero-point { color: #dcecff; display: flex; align-items: flex-start; gap: .7rem; font-size: .96rem; }
        .hero-point i { color: #89d4ff; font-size: 1rem; margin-top: .12rem; }

        .hero-panel { position: relative; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 30px; box-shadow: var(--shadow-strong); overflow: hidden; }
        .hero-panel-top { display: flex; gap: .45rem; padding: 1rem 1.15rem; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(8,19,37,.28); }
        .hero-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.42); }
        .hero-panel-body { padding: 1.3rem; background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.05) 100%); }
        .dashboard-card { background: rgba(255,255,255,.94); border-radius: 24px; padding: 1.25rem; box-shadow: 0 18px 45px rgba(10,18,40,.14); }
        .dash-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; margin-bottom: .9rem; }
        .dash-stat { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 1rem; }
        .dash-stat small { display: block; color: var(--muted); font-size: .8rem; margin-bottom: .35rem; }
        .dash-stat strong { display: block; color: var(--navy); font-size: 1.05rem; }
        .feed-card { background: #f8fbff; border: 1px solid var(--line); border-radius: 20px; padding: 1rem; }
        .feed-item { display: flex; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
        .feed-item:last-child { border-bottom: 0; padding-bottom: 0; }
        .feed-icon { width: 42px; height: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(39,134,219,.12) 0%, rgba(217,67,52,.10) 100%); color: var(--navy-soft); flex-shrink: 0; }
        .feed-item h6 { margin: 0 0 .25rem; font-weight: 700; font-size: .92rem; color: var(--navy); }
        .feed-item p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.55; }

        section { padding: 5.5rem 0; }
        .section-eyebrow { color: var(--red); font-size: .82rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; margin-bottom: .9rem; display: inline-block; }
        .section-title { font-size: clamp(1.9rem, 3.8vw, 2.8rem); line-height: 1.1; color: var(--navy); font-weight: 800; margin-bottom: 1rem; letter-spacing: -.03em; }
        .section-copy { color: var(--muted); font-size: 1.02rem; line-height: 1.75; max-width: 760px; }
        .bg-soft { background: var(--bg); }
        .bg-deep { background: linear-gradient(135deg, #0d1d40 0%, #143164 50%, #19407e 100%); color: #fff; }
        .bg-deep .section-title { color: #fff; }
        .bg-deep .section-copy { color: rgba(255,255,255,.82); }
        .bg-deep .section-eyebrow { color: #ff957f; }

        .info-card, .feature-card, .scenario-card, .compare-card, .brand-card, .testimonial-card, .pricing-card, .referral-card { height: 100%; border-radius: 26px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); padding: 1.5rem; }
        .icon-pill { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(39,134,219,.13) 0%, rgba(217,67,52,.10) 100%); color: var(--navy-soft); font-size: 1.3rem; margin-bottom: 1rem; }
        .info-card h3, .feature-card h3, .scenario-card h3, .compare-card h3, .brand-card h3, .testimonial-card h4, .pricing-card h3, .referral-card h3 { font-size: 1.18rem; color: var(--navy); margin-bottom: .75rem; font-weight: 800; }
        .info-card p, .feature-card p, .scenario-card p, .compare-card p, .brand-card p, .pricing-card p, .referral-card p { color: var(--muted); line-height: 1.7; margin-bottom: 0; }

        .feature-list { list-style: none; margin: 0; padding: 0; }
        .feature-list li { display: flex; gap: .7rem; align-items: flex-start; color: var(--muted); line-height: 1.65; padding: .35rem 0; font-size: .94rem; }
        .feature-list i { color: var(--red); margin-top: .25rem; flex-shrink: 0; }

        .scenario-step { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px; background: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%); color: #fff; font-weight: 800; margin-bottom: 1rem; }

        .compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
        .compare-card.crm { background: #f5f7fb; border: 1px solid var(--line); }
        .compare-card.crm .compare-tag { display: inline-block; padding: .25rem .65rem; border-radius: 999px; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: rgba(91,104,130,.12); color: var(--muted); margin-bottom: .9rem; }
        .compare-card.agud { background: linear-gradient(180deg, rgba(39,134,219,.07), rgba(217,67,52,.05)); border: 1px solid rgba(39,134,219,.2); }
        .compare-card.agud .compare-tag { display: inline-block; padding: .25rem .65rem; border-radius: 999px; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: rgba(39,134,219,.15); color: var(--navy-soft); margin-bottom: .9rem; }

        .security-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
        .security-item { display: flex; gap: .9rem; align-items: flex-start; padding: 1rem; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
        .security-item i { color: var(--navy-soft); font-size: 1.3rem; flex-shrink: 0; margin-top: .15rem; }
        .security-item p { color: var(--muted); font-size: .9rem; margin: 0; line-height: 1.55; }

        /* Testimonials */
        .testimonial-card { background: #fff; padding: 1.6rem 1.8rem; position: relative; }
        .testimonial-quote { color: var(--ink); font-size: 1.02rem; line-height: 1.7; margin: 0 0 1rem; font-weight: 500; }
        .testimonial-author { display: flex; align-items: center; gap: .8rem; padding-top: 1rem; border-top: 1px solid var(--line); }
        .testimonial-author-avatar { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; }
        .testimonial-author-info strong { display: block; color: var(--navy); font-size: .92rem; font-weight: 800; }
        .testimonial-author-info small { color: var(--muted); font-size: .82rem; }
        .testimonial-card::before { content: "\201C"; position: absolute; top: .4rem; right: 1.4rem; font-size: 4rem; color: rgba(39,134,219,.1); font-family: Georgia, serif; line-height: 1; }
        /* 4H-preG6: testimonios OneDatApp — estrellas, fecha y disclaimer de privacidad */
        .testimonial-stars { display: inline-flex; gap: .12rem; color: #f5a623; font-size: .95rem; margin-bottom: .85rem; }
        .testimonial-date { display: block; color: var(--muted); font-size: .76rem; margin-top: .15rem; }
        .testimonials-disclaimer { max-width: 820px; margin: 2rem auto 0; color: var(--muted); font-size: .85rem; line-height: 1.6; text-align: center; }

        /* Pricing */
        .pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }
        .pricing-card { background: #fff; display: flex; flex-direction: column; }
        .pricing-card.featured { background: linear-gradient(180deg, rgba(39,134,219,.08), rgba(217,67,52,.04)); border: 2px solid rgba(39,134,219,.35); position: relative; }
        .pricing-card.featured::before { content: attr(data-tag); position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--accent); color: #fff; padding: .25rem .9rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
        .pricing-card .pricing-price { color: var(--navy); font-size: 1.6rem; font-weight: 800; margin: .8rem 0 .4rem; }
        .pricing-card .pricing-price small { color: var(--muted); font-size: .85rem; font-weight: 600; }
        .pricing-card .pricing-features { list-style: none; margin: 1rem 0; padding: 0; flex-grow: 1; }
        .pricing-card .pricing-features li { display: flex; gap: .55rem; align-items: flex-start; color: var(--muted); padding: .3rem 0; font-size: .92rem; line-height: 1.5; }
        .pricing-card .pricing-features li i { color: var(--blue); margin-top: .2rem; flex-shrink: 0; }
        .pricing-cta { display: inline-block; padding: .7rem 1.2rem; border-radius: 999px; background: var(--accent); color: #fff; font-weight: 700; text-align: center; transition: .25s; margin-top: auto; }
        .pricing-cta:hover { color: #fff; transform: translateY(-1px); }
        .pricing-note { text-align: center; color: var(--muted); font-size: .88rem; margin-top: 2rem; font-style: italic; }
        .pricing-addons-box { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 1.5rem; margin-top: 2rem; }
        .pricing-addons-box h4 { color: var(--navy); font-size: 1.1rem; font-weight: 800; margin-bottom: 1rem; }
        .pricing-addons-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; }
        .pricing-addon-chip { display: flex; gap: .55rem; align-items: center; padding: .65rem .9rem; background: var(--bg); border-radius: 14px; color: var(--ink); font-size: .9rem; font-weight: 600; }
        .pricing-addon-chip i { color: var(--blue); }

        /* Referral */
        .referral-card { background: linear-gradient(135deg, #fff 0%, rgba(39,134,219,.04) 100%); display: flex; gap: 1.5rem; align-items: center; padding: 2rem; }
        .referral-icon { width: 80px; height: 80px; border-radius: 24px; background: var(--accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 2rem; flex-shrink: 0; }
        .referral-card h3 { margin-bottom: .5rem; }
        .referral-card p { margin-bottom: .8rem; }
        .referral-cta { display: inline-flex; align-items: center; gap: .5rem; color: var(--navy-soft); font-weight: 700; font-size: .92rem; }
        /* Fase 4F — single-plan pricing (AgudApp Core), terms box, OneDatApp note */
        .pricing-core-wrap { display: flex; justify-content: center; }
        .pricing-core { max-width: 560px; width: 100%; }
        .pricing-core .pricing-price { font-size: 2.1rem; }
        .pricing-onedat-note { display: flex; gap: .7rem; align-items: flex-start; max-width: 820px; margin: 1.6rem auto 0; padding: 1rem 1.2rem; background: rgba(39,134,219,.06); border: 1px solid var(--line); border-radius: 14px; color: var(--ink); font-size: .9rem; line-height: 1.55; }
        .pricing-onedat-note i { color: var(--blue); font-size: 1.1rem; flex-shrink: 0; margin-top: .1rem; }
        .referral-soon-badge { display: inline-block; margin: .15rem 0 .5rem; padding: .25rem .8rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: rgba(212,160,23,.12); color: #b58610; border: 1px solid rgba(212,160,23,.35); }
        .referral-terms { margin: .6rem 0 .4rem; }
        .referral-soon-note { color: var(--muted); font-size: .82rem; font-style: italic; margin: .2rem 0 .8rem; }

        /* Quoter highlight grid */
        .quoter-points { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
        .quoter-point { display: flex; gap: .7rem; align-items: flex-start; padding: .9rem 1rem; background: rgba(39,134,219,.05); border: 1px solid rgba(39,134,219,.15); border-radius: 14px; color: var(--ink); font-size: .92rem; line-height: 1.4; }
        .quoter-point i { color: var(--blue); font-size: 1.1rem; flex-shrink: 0; margin-top: .15rem; }

        /* Smart Health Quoter section */
        .quoter-hero { text-align: center; max-width: 920px; margin: 0 auto 2.8rem; }
        .quoter-hero h2 { font-size: clamp(2rem, 4.4vw, 3.1rem); line-height: 1.06; color: var(--navy); font-weight: 800; margin-bottom: 1rem; letter-spacing: -.02em; }
        .quoter-hero h2 strong { background: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
        .quoter-hero p { color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
        .quoter-problem-card { background: linear-gradient(135deg, rgba(217,67,52,.05), rgba(255,122,103,.04)); border: 1px solid rgba(217,67,52,.18); border-radius: 22px; padding: 1.4rem 1.6rem; max-width: 920px; margin: 0 auto 2.5rem; display: flex; gap: 1rem; align-items: flex-start; }
        .quoter-problem-card i { color: var(--red); font-size: 1.6rem; flex-shrink: 0; margin-top: .15rem; }
        .quoter-problem-card p { margin: 0; color: var(--ink); font-size: .98rem; line-height: 1.65; }
        .quoter-modes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-bottom: 2.5rem; }
        .quoter-mode-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 1.6rem 1.4rem; box-shadow: var(--shadow); display: flex; flex-direction: column; }
        .quoter-mode-card .mode-badge { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .85rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: rgba(39,134,219,.12); color: var(--navy-soft); margin-bottom: .9rem; align-self: flex-start; }
        .quoter-mode-card.winner .mode-badge { background: linear-gradient(135deg, rgba(39,134,219,.18), rgba(217,67,52,.12)); color: var(--navy); }
        .quoter-mode-card h3 { font-size: 1.2rem; color: var(--navy); font-weight: 800; margin-bottom: .65rem; }
        .quoter-mode-card .mode-tagline { color: var(--blue); font-size: .88rem; font-weight: 700; margin-bottom: .8rem; }
        .quoter-mode-card p { color: var(--muted); font-size: .92rem; line-height: 1.6; margin: 0; }
        .quoter-mode-card.winner { border: 2px solid rgba(39,134,219,.35); position: relative; }
        .quoter-mode-card.winner::before { content: "★"; position: absolute; top: -10px; right: 1.2rem; background: var(--accent); color: #fff; padding: .15rem .6rem; border-radius: 999px; font-size: .9rem; font-weight: 800; }
        .quoter-intel { background: linear-gradient(135deg, #0d1d40 0%, #143164 50%, #19407e 100%); color: #fff; border-radius: 26px; padding: 2rem 1.8rem; margin-bottom: 2.5rem; }
        .quoter-intel h3 { color: #fff; font-size: 1.6rem; font-weight: 800; margin-bottom: 1.2rem; }
        .quoter-intel-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
        .quoter-intel-item { display: flex; gap: .9rem; align-items: flex-start; padding: 1rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; }
        .quoter-intel-item i { color: #8fd6ff; font-size: 1.4rem; flex-shrink: 0; margin-top: .1rem; }
        .quoter-intel-item h4 { color: #fff; font-size: .98rem; font-weight: 800; margin: 0 0 .3rem; }
        .quoter-intel-item p { color: rgba(255,255,255,.78); font-size: .86rem; line-height: 1.55; margin: 0; }
        .quoter-agency-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; }
        .quoter-agency-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 1.2rem; box-shadow: 0 8px 24px rgba(18,34,79,.06); }
        .quoter-agency-card .icon-pill { width: 44px; height: 44px; font-size: 1.1rem; margin-bottom: .7rem; }
        .quoter-agency-card h4 { color: var(--navy); font-size: 1rem; font-weight: 800; margin-bottom: .4rem; line-height: 1.3; }
        .quoter-agency-card p { color: var(--muted); font-size: .86rem; line-height: 1.55; margin: 0; }
        .quoter-cta-strong { text-align: center; padding: 2rem 1.5rem; }
        .quoter-cta-strong h3 { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; color: var(--navy); margin-bottom: 1.2rem; letter-spacing: -.02em; }
        .quoter-cta-strong h3 strong { background: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
        .quoter-disclaimer { text-align: center; max-width: 880px; margin: 1.5rem auto 0; padding: 1rem 1.2rem; background: rgba(91,104,130,.06); border-radius: 12px; color: var(--muted); font-size: .78rem; line-height: 1.55; font-style: italic; }
        /* Smart Health Quoter — Future Vision (Open Enrollment) — Fase 4D.1 */
        .quoter-vision { background: linear-gradient(135deg, #0d1d40 0%, #143164 50%, #19407e 100%); color: #fff; border-radius: 26px; padding: 2.2rem 1.8rem; margin: 2.5rem 0 1.5rem; box-shadow: 0 14px 40px rgba(13,29,64,.18); }
        .quoter-vision .vision-intro-line { color: #ffd166; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: .92rem; margin: 0 0 .6rem; }
        .quoter-vision .vision-badge { display: inline-flex; align-items: center; gap: .45rem; background: rgba(255,255,255,.12); color: #ffd166; border: 1px solid rgba(255,209,102,.4); border-radius: 999px; padding: .35rem .9rem; font-size: .78rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; margin-bottom: .9rem; }
        .quoter-vision .vision-badge i { font-size: .95rem; }
        .quoter-vision h3 { color: #fff; font-size: clamp(1.4rem, 2.6vw, 1.85rem); font-weight: 800; line-height: 1.25; margin-bottom: .9rem; letter-spacing: -.01em; }
        .quoter-vision .vision-lead { color: rgba(255,255,255,.85); font-size: .98rem; line-height: 1.65; margin-bottom: 1.6rem; max-width: 980px; }
        .quoter-vision .vision-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.4rem; }
        .quoter-vision .vision-pillar { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 1.2rem; }
        .quoter-vision .vision-pillar-icon { width: 42px; height: 42px; border-radius: 12px; background: rgba(143,214,255,.14); color: #8fd6ff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: .7rem; }
        .quoter-vision .vision-pillar h4 { color: #fff; font-size: 1rem; font-weight: 800; line-height: 1.3; margin-bottom: .4rem; }
        .quoter-vision .vision-pillar p { color: rgba(255,255,255,.78); font-size: .86rem; line-height: 1.6; margin: 0; }
        .quoter-vision .vision-close { color: #ffd166; font-size: 1.05rem; font-weight: 700; text-align: center; margin: 1.4rem auto .8rem; max-width: 880px; line-height: 1.4; }
        .quoter-vision .vision-disclaimer { color: rgba(255,255,255,.6); font-size: .76rem; line-height: 1.55; font-style: italic; text-align: center; max-width: 980px; margin: 0 auto; padding-top: .6rem; border-top: 1px solid rgba(255,255,255,.1); }
        /* Agent Education / Compliance Training — Vision pillar (Fase 4D.2) */
        .agented-vision { background: linear-gradient(135deg, #0d1d40 0%, #143164 50%, #19407e 100%); color: #fff; border-radius: 26px; padding: 2.2rem 1.8rem; margin: 0 0 1.5rem; box-shadow: 0 14px 40px rgba(13,29,64,.18); }
        .agented-vision .vision-badge { display: inline-flex; align-items: center; gap: .45rem; background: rgba(143,214,255,.12); color: #8fd6ff; border: 1px solid rgba(143,214,255,.4); border-radius: 999px; padding: .35rem .9rem; font-size: .78rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; margin-bottom: .9rem; }
        .agented-vision .vision-badge i { font-size: .95rem; }
        .agented-vision h2 { color: #fff; font-size: clamp(1.5rem, 2.8vw, 2rem); font-weight: 800; line-height: 1.25; margin-bottom: .9rem; letter-spacing: -.01em; }
        .agented-vision .vision-lead { color: rgba(255,255,255,.85); font-size: .98rem; line-height: 1.65; margin-bottom: 1.6rem; max-width: 980px; }
        .agented-topics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; margin-bottom: 1.4rem; }
        .agented-topic { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 1.1rem; }
        .agented-topic-icon { width: 40px; height: 40px; border-radius: 11px; background: rgba(143,214,255,.14); color: #8fd6ff; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; margin-bottom: .65rem; }
        .agented-topic h4 { color: #fff; font-size: .98rem; font-weight: 800; line-height: 1.3; margin-bottom: .4rem; }
        .agented-topic p { color: rgba(255,255,255,.78); font-size: .85rem; line-height: 1.55; margin: 0; }
        .agented-vision .vision-close { color: #8fd6ff; font-size: 1.05rem; font-weight: 700; text-align: center; margin: 1.4rem auto .8rem; max-width: 880px; line-height: 1.4; }
        .agented-vision .vision-disclaimer { color: rgba(255,255,255,.6); font-size: .76rem; line-height: 1.55; font-style: italic; text-align: center; max-width: 980px; margin: 0 auto; padding-top: .6rem; border-top: 1px solid rgba(255,255,255,.1); }

        /* Methodology section */
        .methodology-headline { font-size: clamp(2rem, 4.4vw, 3.1rem); line-height: 1.08; color: var(--navy); font-weight: 800; margin-bottom: 1.2rem; letter-spacing: -.02em; text-align: center; max-width: 920px; margin-left: auto; margin-right: auto; }
        .methodology-headline strong { background: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
        .methodology-copy { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
        .methodology-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; }
        .methodology-item { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 1.2rem 1.1rem; box-shadow: 0 8px 24px rgba(18,34,79,.06); display: flex; flex-direction: column; gap: .5rem; }
        .methodology-step { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, var(--blue) 0%, var(--red-soft) 100%); color: #fff; font-weight: 800; font-size: .85rem; margin-bottom: .3rem; }
        .methodology-item h4 { font-size: .98rem; font-weight: 800; color: var(--navy); margin: 0; line-height: 1.3; }
        .methodology-item p { font-size: .86rem; color: var(--muted); margin: 0; line-height: 1.5; }
        .methodology-footnote { text-align: center; padding: 1.1rem 1.6rem; background: linear-gradient(135deg, rgba(39,134,219,.06), rgba(217,67,52,.04)); border: 1px solid var(--line); border-radius: 16px; max-width: 820px; margin: 0 auto; color: var(--navy); font-weight: 600; font-size: .98rem; line-height: 1.55; }
        .methodology-footnote i { color: var(--red); margin-right: .4rem; }

        .cta-card { background: linear-gradient(135deg, #0d1d40 0%, #143164 45%, #1a4b8b 100%); color: #fff; padding: 2.2rem; border-radius: 26px; position: relative; overflow: hidden; }
        .cta-card::before { content: ""; position: absolute; width: 420px; height: 420px; right: -120px; top: -140px; border-radius: 50%; background: radial-gradient(circle, rgba(103,192,255,.18) 0%, transparent 70%); }
        .cta-card h3 { color: #fff; font-size: 2rem; margin-bottom: .9rem; }
        .cta-card p { color: rgba(255,255,255,.82); line-height: 1.7; max-width: 760px; }
        .check-list { list-style: none; margin: 0; padding: 0; }
        .check-list li { display: flex; gap: .7rem; align-items: flex-start; color: rgba(255,255,255,.9); line-height: 1.6; padding: .35rem 0; font-size: .96rem; }
        .check-list i { color: #8fd6ff; margin-top: .2rem; }
        .contact-item { display: inline-flex; align-items: center; gap: .6rem; color: #fff; margin-right: 1.3rem; margin-top: .8rem; font-weight: 600; font-size: .92rem; }
        .contact-item i { color: #8fd6ff; }
        .contact-item a { color: #fff; }

        .footer { background: #081325; color: rgba(255,255,255,.72); padding: 2.5rem 0 1.5rem; border-top: 1px solid rgba(255,255,255,.08); }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; margin-bottom: 1.8rem; }
        .footer-brand img { height: 44px; width: auto; max-width: 100%; display: block; object-fit: contain; margin-bottom: .8rem; }
        .footer-brand p { font-size: .88rem; color: rgba(255,255,255,.62); line-height: 1.6; margin: 0; max-width: 320px; }
        /* 4H-preH: redes sociales en footer (LinkedIn + YouTube) */
        .footer-social { margin-top: 1.1rem; }
        .footer-social-label { display: block; color: #fff; font-size: .82rem; font-weight: 700; letter-spacing: .02em; margin-bottom: .55rem; }
        .footer-social-icons { display: flex; gap: .6rem; }
        .footer-social-link { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.82); font-size: 1.1rem; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
        .footer-social-link:hover { background: rgba(255,255,255,.16); color: #fff; border-color: rgba(255,255,255,.3); transform: translateY(-2px); }
        .footer-social-link:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; color: #fff; }
        .footer-col h6 { color: #fff; font-size: .82rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; margin-bottom: 1rem; }
        .footer-col ul { list-style: none; padding: 0; margin: 0; }
        .footer-col ul li { padding: .25rem 0; }
        .footer-col ul li a { color: rgba(255,255,255,.72); font-size: .88rem; transition: color .2s; }
        .footer-col ul li a:hover { color: #9fdcff; }
        .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 1.2rem; display: flex; flex-direction: column; gap: .6rem; align-items: center; text-align: center; }
        .footer-bottom .tag { font-size: .82rem; color: rgba(255,255,255,.52); }
        /* AI Document Review reinforcement (Fase 4E.4 — badge + connection card + discreet disclaimer) */
        .ai-eyebrow-row { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-bottom: .9rem; }
        .ai-eyebrow-row .section-eyebrow { margin-bottom: 0; }
        .ai-powered-badge { display: inline-flex; align-items: center; gap: .35rem; background: rgba(39,134,219,.1); color: var(--accent); border: 1px solid rgba(39,134,219,.3); border-radius: 999px; padding: .25rem .7rem; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
        .ai-powered-badge i { font-size: .82rem; }
        .ai-connection-card { display: flex; gap: 1.2rem; align-items: flex-start; max-width: 980px; margin: 2.4rem auto 0; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 14px; box-shadow: 0 8px 22px rgba(18,34,79,.05); }
        .ai-connection-icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; background: rgba(39,134,219,.1); color: var(--accent); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }
        .ai-connection-content h4 { color: var(--navy); font-size: 1.05rem; font-weight: 800; line-height: 1.3; margin: 0 0 .4rem; }
        .ai-connection-content p { color: var(--muted); font-size: .88rem; line-height: 1.6; margin: 0; }
        .ai-disclaimer-home { text-align: center; max-width: 880px; margin: 1.2rem auto 0; color: var(--muted); font-size: .76rem; line-height: 1.55; font-style: italic; }
        /* Fase 4E.6 — Signatures connection card (teal accent) + discreet disclaimer */
        .sign-connection-card { display: flex; gap: 1.2rem; align-items: flex-start; max-width: 980px; margin: 2.4rem auto 0; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid var(--line); border-left: 4px solid #0d9488; border-radius: 14px; box-shadow: 0 8px 22px rgba(18,34,79,.05); }
        .sign-connection-icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; background: rgba(13,148,136,.1); color: #0d9488; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }
        .sign-connection-content h4 { color: var(--navy); font-size: 1.05rem; font-weight: 800; line-height: 1.3; margin: 0 0 .4rem; }
        .sign-connection-content p { color: var(--muted); font-size: .88rem; line-height: 1.6; margin: 0; }
        .sign-disclaimer-home { text-align: center; max-width: 880px; margin: 1.2rem auto 0; color: var(--muted); font-size: .76rem; line-height: 1.55; font-style: italic; }
        /* Pro Tagline Banner (Fase 4E.3 — strong single banner placement between Hero and Problem, replaces 3 subtle placements of Fase 4E) */
        .pro-tagline-banner-section { padding: 3.2rem 0; background: linear-gradient(135deg, #0d1d40 0%, #143164 50%, #19407e 100%); }
        .pro-tagline-banner { max-width: 980px; margin: 0 auto; text-align: center; padding: 2.4rem 2rem; border-radius: 22px; border: 2px solid rgba(255,209,102,.4); background: rgba(255,255,255,.04); box-shadow: 0 18px 50px rgba(0,0,0,.25); position: relative; }
        .pro-tagline-banner::before { content: ''; display: block; width: 56px; height: 3px; background: #ffd166; margin: 0 auto 1.1rem; border-radius: 2px; }
        .pro-tagline-banner p { color: #fff; font-size: clamp(1.2rem, 2.5vw, 1.85rem); font-weight: 800; line-height: 1.4; letter-spacing: -.01em; margin: 0; }
        .pro-tagline-banner p strong { color: #ffd166; font-weight: 800; }
        /* Scope & Multi-line Vision (Fase 4E.1) — compact banner, NOT power-pillar */
        .scope-banner { max-width: 980px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 2rem 1.8rem; box-shadow: 0 10px 28px rgba(18,34,79,.06); }
        .scope-banner .scope-head { margin-bottom: 1.4rem; }
        .scope-banner .scope-title { color: var(--navy); font-size: clamp(1.3rem, 2.4vw, 1.75rem); font-weight: 800; line-height: 1.3; margin: .4rem 0 .8rem; letter-spacing: -.01em; }
        .scope-banner .scope-copy { color: var(--muted); font-size: .95rem; line-height: 1.65; max-width: 820px; margin: 0 auto; }
        .scope-chips { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-bottom: 1.2rem; }
        .scope-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .42rem .85rem; border-radius: 999px; font-size: .82rem; font-weight: 700; letter-spacing: .01em; border: 1px solid transparent; }
        .scope-chip i { font-size: .95rem; }
        .scope-chip-current { background: rgba(59,89,152,.1); color: var(--navy); border-color: rgba(59,89,152,.25); }
        .scope-chip-coming { background: rgba(212,160,23,.1); color: #b58610; border-color: rgba(212,160,23,.35); }
        .scope-chip-vision { background: rgba(91,104,130,.08); color: var(--muted); border-color: rgba(91,104,130,.2); }
        .scope-banner .scope-close { color: var(--navy); font-size: .95rem; font-weight: 700; text-align: center; margin: 0; max-width: 820px; margin: 0 auto; padding-top: 1rem; border-top: 1px solid var(--line); }
        /* Capabilities Hub (Fase 4E.2) — visual navigation grid */
        .capabilities-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; max-width: 1180px; margin: 0 auto; }
        .capability-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem 1.1rem; text-decoration: none; color: inherit; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; position: relative; }
        .capability-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(18,34,79,.1); border-color: rgba(59,89,152,.35); text-decoration: none; color: inherit; }
        .capability-card .capability-icon { width: 42px; height: 42px; border-radius: 12px; background: rgba(59,89,152,.1); color: var(--navy); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: .8rem; }
        .capability-card h4 { color: var(--navy); font-size: .98rem; font-weight: 800; line-height: 1.3; margin: 0 0 .4rem; }
        .capability-card p { color: var(--muted); font-size: .82rem; line-height: 1.5; margin: 0; flex: 1 1 auto; }
        .capability-card::after { content: '\2192'; position: absolute; top: 1rem; right: 1rem; font-size: 1.1rem; color: rgba(59,89,152,.35); opacity: 0; transition: opacity .22s ease, transform .22s ease; }
        .capability-card:hover::after { opacity: 1; transform: translateX(3px); }
        .capability-card-feature { background: linear-gradient(180deg, #fff 0%, #fff 60%, rgba(229,77,77,.06) 100%); border-color: rgba(229,77,77,.35); }
        .capability-card-feature .capability-icon { background: rgba(229,77,77,.1); color: var(--red); }
        .capability-card-feature h4 { color: var(--red); }
        .capability-card-feature:hover { border-color: var(--red); box-shadow: 0 14px 32px rgba(229,77,77,.18); }
        /* Fase 4E.5 — AI card highlighted as primary pillar (blue/violet accent, distinct from Risk red) */
        .capability-card-ai { background: linear-gradient(180deg, #fff 0%, #fff 60%, rgba(124,92,255,.07) 100%); border-color: rgba(124,92,255,.32); }
        .capability-card-ai .capability-icon { background: rgba(124,92,255,.12); color: #5a3fdb; }
        .capability-card-ai h4 { color: #4a2fb8; }
        .capability-card-ai:hover { border-color: #7c5cff; box-shadow: 0 14px 32px rgba(124,92,255,.18); }
        .capability-card-ai .cap-ai-badge { position: absolute; top: .65rem; right: .85rem; font-size: .62rem; font-weight: 800; letter-spacing: .08em; padding: .18rem .42rem; border-radius: 6px; background: linear-gradient(135deg, #7c5cff 0%, #5a3fdb 100%); color: #fff; text-transform: uppercase; box-shadow: 0 2px 6px rgba(124,92,255,.32); }
        .capability-card-ai:hover::after { color: #7c5cff; }
        /* Fase 4E.6 — Document Builder + E-Signature card highlighted as primary pillar (teal accent, distinct from AI violet / Risk red) */
        .capability-card-docs { background: linear-gradient(180deg, #fff 0%, #fff 60%, rgba(13,148,136,.07) 100%); border-color: rgba(13,148,136,.32); }
        .capability-card-docs .capability-icon { background: rgba(13,148,136,.12); color: #0d9488; }
        .capability-card-docs h4 { color: #0b7a70; }
        .capability-card-docs:hover { border-color: #0d9488; box-shadow: 0 14px 32px rgba(13,148,136,.18); }
        .capability-card-docs .cap-docs-badge { position: absolute; top: .65rem; right: .85rem; font-size: .62rem; font-weight: 800; letter-spacing: .08em; padding: .18rem .42rem; border-radius: 6px; background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%); color: #fff; text-transform: uppercase; box-shadow: 0 2px 6px rgba(13,148,136,.32); }
        .capability-card-docs:hover::after { color: #0d9488; }
        /* Fase 4E.7 — Smart Health Quoter card highlighted as primary pillar (navy premium accent, brand-aligned, distinct from teal Docs / violet AI / red Risk / cyan Sync) */
        .capability-card-quoter { background: linear-gradient(180deg, #fff 0%, #fff 60%, rgba(59,89,152,.08) 100%); border-color: rgba(59,89,152,.32); }
        .capability-card-quoter .capability-icon { background: rgba(59,89,152,.12); color: #3b5998; }
        .capability-card-quoter h4 { color: #2d4575; }
        .capability-card-quoter:hover { border-color: #3b5998; box-shadow: 0 14px 32px rgba(59,89,152,.2); }
        .capability-card-quoter .cap-quoter-badge { position: absolute; top: .65rem; right: .85rem; font-size: .62rem; font-weight: 800; letter-spacing: .08em; padding: .18rem .42rem; border-radius: 6px; background: linear-gradient(135deg, #4d6db5 0%, #3b5998 100%); color: #fff; text-transform: uppercase; box-shadow: 0 2px 6px rgba(59,89,152,.34); }
        .capability-card-quoter:hover::after { color: #3b5998; }
        /* Fase 4E.7 — Smart Sync card highlighted as primary pillar (cyan electric accent, reconciliation/data-flow, distinct from navy Quoter / teal Docs / violet AI / red Risk) */
        .capability-card-sync { background: linear-gradient(180deg, #fff 0%, #fff 60%, rgba(6,182,212,.08) 100%); border-color: rgba(6,182,212,.32); }
        .capability-card-sync .capability-icon { background: rgba(6,182,212,.12); color: #06b6d4; }
        .capability-card-sync h4 { color: #0e7490; }
        .capability-card-sync:hover { border-color: #06b6d4; box-shadow: 0 14px 32px rgba(6,182,212,.2); }
        .capability-card-sync .cap-sync-badge { position: absolute; top: .65rem; right: .85rem; font-size: .62rem; font-weight: 800; letter-spacing: .08em; padding: .18rem .42rem; border-radius: 6px; background: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%); color: #fff; text-transform: uppercase; box-shadow: 0 2px 6px rgba(6,182,212,.34); }
        .capability-card-sync:hover::after { color: #06b6d4; }

        /* NAVBAR-1: small-desktop breakpoint (992-1199px) — reduce nav padding for crowded layout (7 items + auth). Post-NAVBAR-LANG: language selector is floating bottom-right; .lang-switch rules removed (selector ya no vive en el navbar). */
        @media (min-width: 992px) and (max-width: 1199.98px) {
            .navbar-agud .nav-link { padding: .55rem .55rem !important; font-size: .85rem; }
            .navbar-brand { margin-right: .6rem; }
            .navbar-brand img { height: 42px; }
            .btn-nav-login, .btn-nav-register { padding: .45rem .85rem; font-size: .82rem; }
        }
        @media (max-width: 991.98px) {
            .hero { min-height: auto; padding-top: 7rem; }
            .hero-panel { margin-top: 2rem; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .pricing-grid { grid-template-columns: 1fr; }
            .pricing-addons-grid { grid-template-columns: 1fr 1fr; }
            .methodology-grid { grid-template-columns: repeat(2, 1fr); }
            .quoter-modes-grid { grid-template-columns: 1fr; }
            .quoter-agency-grid { grid-template-columns: repeat(2, 1fr); }
            .quoter-vision .vision-pillars { grid-template-columns: 1fr; }
            .agented-topics { grid-template-columns: repeat(2, 1fr); }
            .capabilities-grid { grid-template-columns: repeat(3, 1fr); }
        }
        @media (max-width: 767.98px) {
            .hero-points, .dash-grid, .security-grid, .compare-grid, .quoter-points, .methodology-grid, .quoter-intel-grid, .quoter-agency-grid { grid-template-columns: 1fr; }
            .quoter-vision { padding: 1.8rem 1.2rem; }
            .quoter-vision .vision-pillars { grid-template-columns: 1fr; }
            .agented-vision { padding: 1.8rem 1.2rem; }
            .agented-topics { grid-template-columns: 1fr; }
            .capabilities-grid { grid-template-columns: repeat(2, 1fr); }
            .ai-connection-card, .sign-connection-card { flex-direction: column; padding: 1.2rem 1.1rem; }
            .ai-connection-icon, .sign-connection-icon { margin-bottom: .4rem; }
            .hero h1 { font-size: 2.3rem; }
            .section-title { font-size: 1.9rem; }
            .methodology-headline { font-size: 1.9rem; }
            .cta-card h3 { font-size: 1.6rem; }
            .footer-grid { grid-template-columns: 1fr; }
            .pricing-addons-grid { grid-template-columns: 1fr; }
            .referral-card { flex-direction: column; text-align: center; }
            /* NAVBAR-LANG mobile: pill un poco más compacta y ligeramente más arriba para no chocar con bottom safe-area en iOS */
            .lang-fab { bottom: 14px; right: 14px; padding: .28rem .42rem .28rem .58rem; }
            .lang-fab .lang-btn { font-size: .72rem; padding: .26rem .48rem; }
            .lang-fab .lang-fab-icon { font-size: .82rem; }
        }

/* ===== Fase 4G — mini-sitio: page hero, pricing calculator, daily cards, diff block, onedat card ===== */
.page-hero { background: var(--hero); color: #fff; padding: 8.5rem 0 3.5rem; position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; width: 560px; height: 560px; right: -180px; top: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(103,192,255,.16) 0%, transparent 66%); }
.page-hero .container { position: relative; z-index: 2; }
.page-hero .page-eyebrow { color: #ff957f; font-size: .82rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; display: inline-block; margin-bottom: .8rem; }
.page-hero h1 { color: #fff; font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.08; font-weight: 800; letter-spacing: -.02em; margin-bottom: 1rem; max-width: 900px; }
.page-hero h1 .accent { background: linear-gradient(135deg, #7fd2ff 0%, #ff957f 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.page-hero p.lead { color: rgba(255,255,255,.85); font-size: 1.08rem; line-height: 1.7; max-width: 760px; margin-bottom: 1.4rem; }
.page-back { display: inline-flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.7); font-weight: 600; font-size: .86rem; margin-bottom: 1.2rem; }
.page-back:hover { color: #fff; }
.page-media { background: rgba(255,255,255,.06); border: 1px dashed rgba(255,255,255,.25); border-radius: 22px; min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; color: rgba(255,255,255,.7); text-align: center; padding: 2rem; }
.page-media i { font-size: 2.4rem; color: #8fd6ff; }
.page-media .media-label { font-weight: 700; letter-spacing: .02em; }

/* Differentiation / compliance block */
.diff-block { background: linear-gradient(135deg, #0d1d40 0%, #143164 50%, #19407e 100%); color: #fff; border-radius: 26px; padding: 2.4rem 2rem; box-shadow: 0 18px 50px rgba(13,29,64,.18); }
.diff-block .section-eyebrow { color: #ffd166; }
.diff-block h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 800; line-height: 1.2; margin-bottom: 1rem; letter-spacing: -.02em; }
.diff-block p { color: rgba(255,255,255,.86); font-size: 1rem; line-height: 1.7; max-width: 920px; margin-bottom: .9rem; }
.diff-punches { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.diff-punch { display: inline-flex; align-items: center; gap: .45rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: .5rem 1rem; font-size: .9rem; font-weight: 700; color: #fff; }
.diff-punch i { color: #ffd166; }

/* Pricing calculator */
.calc-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 1.8rem; box-shadow: var(--shadow); }
.calc-card h3 { color: var(--navy); font-weight: 800; font-size: 1.25rem; margin-bottom: 1.2rem; }
.calc-field { margin-bottom: 1rem; }
.calc-field label { font-weight: 700; font-size: .9rem; color: #444; margin-bottom: .35rem; display: block; }
.calc-toggle { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; }
.calc-toggle button { border: 0; background: #fff; color: var(--muted); font-weight: 700; font-size: .85rem; padding: .5rem 1.1rem; cursor: pointer; transition: .2s; }
.calc-toggle button.active { background: var(--accent); color: #fff; }
.calc-result { background: var(--bg); border-radius: 16px; padding: 1.2rem 1.3rem; }
.calc-line { display: flex; justify-content: space-between; align-items: baseline; padding: .35rem 0; color: var(--muted); font-size: .92rem; border-bottom: 1px dashed var(--line); }
.calc-line:last-of-type { border-bottom: 0; }
.calc-line strong { color: var(--ink); }
.calc-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: .6rem; padding-top: .8rem; border-top: 2px solid var(--line); }
.calc-total span { color: var(--navy); font-weight: 700; }
.calc-total .calc-amount { font-size: 1.8rem; font-weight: 800; color: var(--navy); }
.calc-sub { color: var(--muted); font-size: .85rem; margin-top: .5rem; }
.calc-savings { color: #0b7a70; font-weight: 700; }
.calc-warn { color: var(--red); font-size: .82rem; margin-top: .5rem; display: none; }
.calc-warn.show { display: block; }

/* Daily comparison cards */
.daily-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.daily-card { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 1.6rem 1.4rem; text-align: center; box-shadow: var(--shadow); }
.daily-card .daily-icon { width: 54px; height: 54px; border-radius: 16px; margin: 0 auto 1rem; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; background: linear-gradient(135deg, rgba(39,134,219,.13) 0%, rgba(217,67,52,.10) 100%); color: var(--navy-soft); }
.daily-card .daily-value { color: var(--navy); font-size: 1.5rem; font-weight: 800; margin-bottom: .4rem; }
.daily-card .daily-label { color: var(--muted); font-size: .92rem; line-height: 1.5; margin: 0; }

/* OneDatApp transition card (prominent) */
.onedat-card { background: linear-gradient(135deg, #0d1d40 0%, #143164 60%, #19407e 100%); color: #fff; border-radius: 24px; padding: 2.2rem 2rem; display: flex; gap: 1.5rem; align-items: center; box-shadow: 0 18px 50px rgba(13,29,64,.2); }
.onedat-card .onedat-icon { width: 72px; height: 72px; border-radius: 20px; flex-shrink: 0; background: rgba(143,214,255,.14); color: #8fd6ff; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.onedat-card .onedat-eyebrow { color: #8fd6ff; font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.onedat-card h3 { color: #fff; font-weight: 800; font-size: 1.4rem; margin: .3rem 0 .5rem; }
.onedat-card p { color: rgba(255,255,255,.85); margin: 0 0 1rem; line-height: 1.6; }
.onedat-card .onedat-cta { display: inline-flex; align-items: center; gap: .5rem; background: var(--accent); color: #fff; font-weight: 700; padding: .6rem 1.2rem; border-radius: 999px; }
.balance-tagline { font-weight: 700; color: #fff; font-size: clamp(1rem,2vw,1.25rem); }
@media (max-width: 991.98px) { .daily-grid { grid-template-columns: 1fr; } .onedat-card { flex-direction: column; text-align: center; } }

/* ===== Fase 4G.4 — daily card title + document-builder comparison emphasis ===== */
.daily-card .daily-title { color: var(--navy); font-size: 1rem; font-weight: 800; margin: 0 0 .35rem; }
.doc-compare { display: grid; grid-template-columns: 1fr 1.15fr; gap: 1.25rem; align-items: stretch; }
.doc-compare .compare-card { height: 100%; }
.doc-compare .compare-card.generic-only { background: #f5f7fb; border: 1px solid var(--line); opacity: .92; }
.doc-compare .compare-card.generic-only .compare-tag { background: rgba(91,104,130,.12); color: var(--muted); }
.doc-compare .compare-card.agud-op { background: linear-gradient(180deg, #fff 0%, #fff 55%, rgba(13,148,136,.08) 100%); border: 2px solid #0d9488; box-shadow: 0 16px 38px rgba(13,148,136,.16); position: relative; }
.doc-compare .compare-card.agud-op .compare-tag { background: rgba(13,148,136,.14); color: #0b7a70; }
.doc-compare .compare-card.agud-op h3 { color: #0b7a70; }
.doc-compare .compare-card.agud-op::before { content: '\2713'; position: absolute; top: -12px; right: 1.1rem; width: 30px; height: 30px; border-radius: 50%; background: #0d9488; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; box-shadow: 0 4px 12px rgba(13,148,136,.35); }
@media (max-width: 767.98px) { .doc-compare { grid-template-columns: 1fr; } }
/* MICRO-FIX 4hsigncmp: comparacion Firma aislada vs Flujo conectado — lista visual con iconos */
.compare-copy { margin-top: .35rem; }
.compare-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.compare-list li { position: relative; padding-left: 1.7rem; font-size: .9rem; line-height: 1.5; color: var(--muted); }
.compare-list li::before { position: absolute; left: 0; top: -.02em; width: 1.15rem; height: 1.15rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; line-height: 1; }
.compare-list-neg li::before { content: '\2715'; background: rgba(180,66,58,.12); color: #b4423a; }
.compare-list-pos li { color: #28406b; }
.compare-list-pos li::before { content: '\2713'; background: rgba(13,148,136,.15); color: #0b7a70; }
@media (max-width: 767.98px) { .compare-list li { font-size: .92rem; } }
/* MICRO-FIX 4hsignpos: card unica positiva (sin comparacion) — full width + bullets en 2 columnas */
.doc-compare.doc-single { grid-template-columns: 1fr; }
.doc-compare.doc-single .compare-card { max-width: 940px; width: 100%; margin: 0 auto; padding: 1.9rem 2rem; }
.compare-intro { color: var(--muted); line-height: 1.7; font-size: .98rem; margin: 0 0 1.1rem; }
.doc-compare.doc-single .compare-list { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1.75rem; }
@media (max-width: 575.98px) { .doc-compare.doc-single .compare-list { grid-template-columns: 1fr; } .doc-compare.doc-single .compare-card { padding: 1.4rem 1.2rem; } }

/* ===== Fase 4G.4 complemento — cards de contacto/CTA clickeables completas ===== */
.card-link { text-decoration: none; color: inherit; cursor: pointer; }
.card-link:hover, .card-link:focus { text-decoration: none; color: inherit; }
.info-card.card-link { display: flex; flex-direction: column; gap: .15rem; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.info-card.card-link:hover { transform: translateY(-3px); box-shadow: var(--shadow-strong); border-color: rgba(59,89,152,.35); }
.info-card.card-link .referral-cta { margin-top: auto; }
.info-card.card-link:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.onedat-card.card-link { transition: transform .2s ease, box-shadow .2s ease; }
.onedat-card.card-link:hover { transform: translateY(-3px); box-shadow: 0 24px 60px rgba(13,29,64,.28); }
.onedat-card.card-link:focus-visible { outline: 3px solid #8fd6ff; outline-offset: 3px; }

/* ===== Fase 4G.5 — page kicker más visible (identificador de página) ===== */
.page-hero .page-eyebrow { font-size: 1rem; letter-spacing: .12em; display: inline-flex; align-items: center; gap: .55rem; margin-bottom: .7rem; }
.page-hero .page-eyebrow::before { content: ""; width: 30px; height: 3px; background: #ff957f; border-radius: 2px; display: inline-block; flex-shrink: 0; }
@media (max-width: 575.98px) { .page-hero .page-eyebrow { font-size: .92rem; } }

/* ===== Fase 4G.6 — botón menú mobile explícito ("Menú/Cerrar") + panel mobile ===== */
.navbar-toggler-labeled { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid rgba(255,255,255,.30); background: rgba(255,255,255,.10); color: #fff; border-radius: 999px; padding: .42rem .95rem; font-weight: 700; font-size: .92rem; line-height: 1; }
.navbar-toggler-labeled:hover { background: rgba(255,255,255,.18); color: #fff; }
.navbar-toggler-labeled:focus, .navbar-toggler-labeled:focus-visible { outline: none; box-shadow: 0 0 0 .2rem rgba(103,192,255,.40); }
.navbar-toggler-labeled .nav-toggler-glyph { font-size: 1.15rem; line-height: 1; }
.navbar-toggler-labeled .navbar-toggler-text { letter-spacing: .02em; }
.nav-mobile-title { display: block; color: rgba(255,255,255,.5); font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 800; padding: .4rem .8rem .1rem; }
@media (max-width: 991.98px) {
    .navbar-agud .navbar-collapse { background: rgba(8,19,37,.96); border: 1px solid rgba(255,255,255,.10); border-radius: 16px; margin-top: .6rem; padding: .5rem .5rem .8rem; }
    .navbar-agud .navbar-nav .nav-link { font-size: 1.05rem; padding: .7rem .85rem !important; }
    .navbar-agud .btn-nav-login, .navbar-agud .btn-nav-register { width: 100%; justify-content: center; margin-top: .4rem; }
}
@media (min-width: 992px) { .nav-mobile-title { display: none !important; } }

/* ===== Fase 4G.5 complemento — card Referral de Home clickeable completa ===== */
.referral-card.card-link { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.referral-card.card-link:hover { transform: translateY(-3px); box-shadow: var(--shadow-strong); }
.referral-card.card-link:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

/* ===== Fase 4H-pre — banner pre-lanzamiento (Home hero) ===== */
.prelaunch-banner { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem 1rem; max-width: 940px; margin: 0 auto 2rem; padding: .9rem 1.2rem; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.prelaunch-banner .prelaunch-pill { display: inline-flex; align-items: center; gap: .4rem; background: var(--accent); color: #fff; font-weight: 800; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; padding: .32rem .75rem; border-radius: 999px; }
.prelaunch-banner .prelaunch-title { color: #fff; font-size: 1.05rem; font-weight: 800; }
.prelaunch-banner .prelaunch-sub { color: rgba(255,255,255,.85); font-size: .94rem; line-height: 1.45; flex: 1 1 280px; }
.prelaunch-banner .prelaunch-cta { display: inline-flex; align-items: center; gap: .4rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); color: #fff; font-weight: 700; font-size: .9rem; padding: .5rem 1.05rem; border-radius: 999px; white-space: nowrap; transition: background .2s ease; }
.prelaunch-banner .prelaunch-cta:hover { background: rgba(255,255,255,.2); color: #fff; }
.prelaunch-banner .prelaunch-cta:focus-visible { outline: 3px solid rgba(103,192,255,.5); outline-offset: 2px; }
@media (max-width: 575.98px) { .prelaunch-banner { flex-direction: column; align-items: flex-start; } .prelaunch-banner .prelaunch-cta { width: 100%; justify-content: center; } }

/* ===== Fase 4H-preB — borde "láser" coral animado en banner pre-launch (CSS-only) ===== */
@property --pl-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.prelaunch-banner { position: relative; box-shadow: 0 0 0 1px rgba(255,122,103,.22), 0 12px 34px rgba(255,122,103,.12); animation: pl-glow 3.4s ease-in-out infinite; }
.prelaunch-banner > * { position: relative; z-index: 1; }
.prelaunch-banner::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 2px; pointer-events: none; z-index: 0;
    background: conic-gradient(from var(--pl-angle), rgba(255,122,103,0) 0deg, rgba(255,122,103,0) 250deg, rgba(255,122,103,.55) 312deg, #ffd9cf 346deg, #ff7a67 360deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    animation: pl-laser 4.2s linear infinite;
}
@keyframes pl-laser { to { --pl-angle: 360deg; } }
@keyframes pl-glow {
    0%, 100% { box-shadow: 0 0 0 1px rgba(255,122,103,.20), 0 12px 32px rgba(255,122,103,.10); }
    50% { box-shadow: 0 0 0 1px rgba(255,122,103,.46), 0 16px 44px rgba(255,122,103,.24); }
}
/* Reduced motion / fallback: borde glow coral estático elegante, sin animación */
@media (prefers-reduced-motion: reduce) {
    .prelaunch-banner { animation: none; box-shadow: 0 0 0 1px rgba(255,122,103,.42), 0 12px 34px rgba(255,122,103,.18); }
    .prelaunch-banner::before { animation: none; background: conic-gradient(from 300deg, rgba(255,122,103,0) 0deg, rgba(255,122,103,.5) 322deg, #ff7a67 360deg); }
}

/* ===== Fase 4H-preC — capabilities: cards-botón a modal + modal informativo premium ===== */
/* Botón estilizado como card (reset para igualar a los <a> capability-card) */
button.capability-card { appearance: none; -webkit-appearance: none; font: inherit; text-align: left; width: 100%; cursor: pointer; }
.capability-card .cap-card-more { display: inline-flex; align-items: center; gap: .2rem; margin-top: .7rem; color: var(--blue); font-size: .78rem; font-weight: 800; letter-spacing: .02em; }
.capability-card .cap-card-more i { font-size: 1.1rem; transition: transform .2s ease; }
.cap-card-modal:hover .cap-card-more i, .cap-card-modal:focus-visible .cap-card-more i { transform: translateX(3px); }
.cap-card-modal:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.capability-card::after { display: none; } /* 4H-preF: todas las cards llevan CTA “Saber más” explícito; se retira la flecha ::after hover para no duplicar */
.cap-vision-badge { position: absolute; top: .65rem; right: .85rem; font-size: .62rem; font-weight: 800; letter-spacing: .08em; padding: .18rem .42rem; border-radius: 6px; background: linear-gradient(135deg, #ff957f 0%, #ff7a67 100%); color: #fff; text-transform: uppercase; box-shadow: 0 2px 6px rgba(255,122,103,.32); }

/* Overlay + modal singleton */
.cap-modal-overlay { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1.2rem; background: rgba(10,20,42,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .2s ease; }
.cap-modal-overlay[hidden] { display: none; }
.cap-modal-overlay.show { opacity: 1; }
.cap-modal { position: relative; width: 100%; max-width: min(1040px, 94vw); max-height: 90vh; overflow-y: auto; -webkit-overflow-scrolling: touch; background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%); border: 1px solid rgba(59,89,152,.16); border-radius: 22px; box-shadow: 0 30px 80px rgba(10,20,42,.32); padding: 2.2rem 2.2rem 1.8rem; transform: translateY(12px) scale(.98); transition: transform .22s ease; }
/* 4H-preF: bloques de texto con ancho de lectura cómodo aunque el modal sea ancho; las imágenes van full-width */
.cap-modal-head, .cap-modal-body, .cap-modal-list, .cap-modal-example, .cap-modal-why { max-width: 780px; }
.cap-modal-overlay.show .cap-modal { transform: translateY(0) scale(1); }
.cap-modal-close { position: absolute; top: .9rem; right: .9rem; display: inline-flex; align-items: center; gap: .35rem; background: rgba(59,89,152,.08); border: 1px solid rgba(59,89,152,.16); color: var(--navy); font-weight: 700; font-size: .82rem; padding: .35rem .7rem; border-radius: 999px; cursor: pointer; }
.cap-modal-close:hover { background: rgba(59,89,152,.16); }
.cap-modal-close:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.cap-modal-head { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin: .3rem 0 1rem; padding-right: 4.5rem; }
.cap-modal-icon { width: 48px; height: 48px; flex-shrink: 0; border-radius: 14px; background: linear-gradient(135deg, rgba(39,134,219,.14), rgba(255,122,103,.12)); color: var(--navy); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.cap-modal-head h3 { margin: 0; color: var(--navy); font-weight: 800; font-size: 1.25rem; line-height: 1.25; }
.cap-modal-vision { font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .2rem .5rem; border-radius: 6px; background: linear-gradient(135deg, #ff957f, #ff7a67); color: #fff; box-shadow: 0 2px 6px rgba(255,122,103,.3); }
.cap-modal-body { color: var(--ink); font-size: .95rem; line-height: 1.65; margin: 0 0 1rem; }
.cap-modal-list { list-style: none; margin: 0 0 1.3rem; padding: 0; display: grid; gap: .55rem; }
.cap-modal-list li { position: relative; padding-left: 1.7rem; color: var(--ink); font-size: .9rem; line-height: 1.5; }
.cap-modal-list li::before { content: '\2713'; position: absolute; left: .2rem; top: 0; color: #0d9488; font-weight: 800; }
.cap-modal-foot { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; border-top: 1px solid var(--line); padding-top: 1.1rem; }
.cap-modal-foot .btn-primary-agud, .cap-modal-foot .btn-secondary-agud { flex: 0 1 auto; }
body.cap-modal-open { overflow: hidden; }
@media (max-width: 575.98px) {
    .cap-modal { padding: 1.6rem 1.2rem 1.2rem; border-radius: 18px; }
    .cap-modal-head h3 { font-size: 1.12rem; }
    .cap-modal-foot { flex-direction: column; align-items: stretch; }
    .cap-modal-foot .btn-primary-agud, .cap-modal-foot .btn-secondary-agud { width: 100%; justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .cap-modal-overlay, .cap-modal { transition: none; }
    .cap-modal { transform: none; }
}

/* ===== Fase 4H-preE-IMG / 4H-preF — capturas reales (datos ficticios) apiladas y grandes en modales Tasks/Audit ===== */
.cap-modal-figure { margin: .4rem 0 1.4rem; }
.cap-modal-shot-stack { display: flex; flex-direction: column; gap: 1rem; }
.cap-modal-shot { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: 12px; background: #fff; object-fit: contain; }
.cap-modal-shot-main { box-shadow: 0 16px 40px rgba(18,34,79,.18); }
.cap-modal-shot-secondary { max-width: 90%; margin: 0 auto; box-shadow: 0 10px 26px rgba(18,34,79,.12); }
.cap-modal-caption { margin: .8rem 0 0; font-size: .82rem; line-height: 1.5; color: var(--muted, #5b6b8c); font-style: italic; }

/* ===== Fase 4H-preF — estructura ejemplo-primero + por qué importa en modales ===== */
.cap-modal-example { margin: 0 0 1rem; padding: .8rem 1rem; border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; background: rgba(39,134,219,.07); color: var(--ink); font-size: .9rem; line-height: 1.6; }
.cap-modal-example .cap-modal-eg-label { display: inline; font-weight: 800; color: var(--navy); letter-spacing: .01em; }
.cap-modal-why { margin: 0 0 1.2rem; font-size: .9rem; line-height: 1.6; color: var(--ink); }
.cap-modal-why strong { color: var(--navy); }

/* ===== Fase 4H-preF — pasos de Methodology clickeables (card-botón) + CTA ===== */
button.methodology-item { appearance: none; -webkit-appearance: none; font: inherit; text-align: left; width: 100%; cursor: pointer; }
.methodology-item-modal { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.methodology-item-modal:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(18,34,79,.1); }
.methodology-item-modal:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.meth-card-more { display: inline-flex; align-items: center; gap: .2rem; margin-top: .7rem; color: var(--blue); font-size: .78rem; font-weight: 800; letter-spacing: .02em; }
.meth-card-more i { font-size: 1.1rem; transition: transform .2s ease; }
.methodology-item-modal:hover .meth-card-more i, .methodology-item-modal:focus-visible .meth-card-more i { transform: translateX(3px); }

@media (max-width: 640px) {
    .cap-modal { padding: 1.6rem 1.2rem 1.2rem; }
    .cap-modal-shot-secondary { max-width: 100%; }
}

/* ===== Fase 4H-preG — FAQ (accordion Bootstrap con marca AgudApp) ===== */
.faq-wrap { max-width: 920px; }
.faq-section { margin-bottom: 2.2rem; }
.faq-section-title { color: var(--navy); font-size: 1.18rem; font-weight: 800; letter-spacing: .01em; margin: 0 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid rgba(39,134,219,.18); }
.faq-accordion .accordion-item { border: 1px solid var(--line); border-radius: 12px !important; margin-bottom: .7rem; overflow: hidden; background: #fff; }
.faq-accordion .accordion-header { margin: 0; }
.faq-accordion .accordion-button { font-family: inherit; font-weight: 700; color: var(--navy); background: #fff; font-size: .96rem; line-height: 1.4; padding: 1rem 1.15rem; }
.faq-accordion .accordion-button:not(.collapsed) { color: #fff; background: var(--navy, #12224f); box-shadow: none; }
.faq-accordion .accordion-button:not(.collapsed)::after { filter: brightness(0) invert(1); }
.faq-accordion .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(39,134,219,.25); border-color: transparent; outline: none; }
.faq-accordion .accordion-button:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.faq-accordion .accordion-body { color: var(--ink); font-size: .92rem; line-height: 1.65; padding: 1.05rem 1.15rem 1.2rem; }
.faq-link-inline { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; color: var(--blue); text-decoration: none; }
.faq-link-inline:hover { text-decoration: underline; }
@media (max-width: 640px) {
    .faq-accordion .accordion-button { font-size: .9rem; padding: .85rem .95rem; }
}

/* ===== Fase 4H-preG (visual) — Methodology: cards premium con número badge + icono descriptivo ===== */
.methodology-top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .9rem; }
.methodology-item-modal { border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 1.3rem 1.2rem; text-align: left; }
.methodology-item-modal:hover { border-color: rgba(59,89,152,.35); }
.methodology-item-modal h4 { color: var(--navy); }
.methodology-item-modal .methodology-step { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem; padding: 0 .55rem; border-radius: 10px; background: linear-gradient(135deg, #ff957f, #ff7a67); color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .02em; box-shadow: 0 4px 12px rgba(255,122,103,.28); margin: 0; line-height: 1; }
.methodology-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: linear-gradient(135deg, rgba(39,134,219,.14), rgba(18,34,79,.10)); color: var(--navy); font-size: 1.25rem; flex-shrink: 0; }
.methodology-item-modal .meth-card-more { margin-top: .9rem; }
@media (max-width: 480px) { .methodology-icon, .methodology-item-modal .methodology-step { width: 2.1rem; height: 2.1rem; min-width: 2.1rem; font-size: .95rem; } }

/* ===== Fase 4H-preG-FIX — botón flotante de acceso a FAQ (junto al selector de idioma) ===== */
.faq-fab { position: fixed; right: 1.5rem; bottom: 5rem; z-index: 1000; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .85rem; border-radius: 999px; background: linear-gradient(135deg, var(--navy, #12224f), #1c2f63); color: #fff; font-weight: 800; font-size: .8rem; letter-spacing: .02em; text-decoration: none; box-shadow: 0 8px 22px rgba(18,34,79,.28); border: 1px solid rgba(255,255,255,.14); transition: transform .18s ease, box-shadow .18s ease; }
.faq-fab i { font-size: 1rem; line-height: 1; }
.faq-fab:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(18,34,79,.34); color: #fff; text-decoration: none; }
.faq-fab:focus-visible { outline: 3px solid #2786db; outline-offset: 2px; }
@media (max-width: 767.98px) { .faq-fab { bottom: 4.15rem; right: 14px; padding: .42rem .72rem; font-size: .74rem; } }

/* 4H-Capabilities-Modals-Parity: link secundario "Ver más detalles" dentro del modal */
.cap-modal-more { margin: .2rem 0 0; }
.cap-modal-more a { display: inline-flex; align-items: center; gap: .25rem; color: var(--blue); font-weight: 700; font-size: .88rem; text-decoration: none; }
.cap-modal-more a:hover { text-decoration: underline; }
.cap-modal-more a:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }

/* 4H-Capabilities-Full-Content-Modals: sección profunda dentro del modal (contenido migrado de páginas dedicadas) */
.cap-modal-deep { max-width: 780px; margin: .2rem 0 1.2rem; border-top: 1px solid var(--line); padding-top: 1.1rem; }
.cap-modal-subhead { font-size: .95rem; font-weight: 800; color: var(--navy); margin: 0 0 .7rem; }
.cap-modal-minirows { display: grid; gap: .7rem; }
.cap-modal-minirow { background: #f5f8fd; border: 1px solid var(--line); border-radius: 10px; padding: .7rem .85rem; }
.cap-modal-minirow h5 { margin: 0 0 .25rem; font-size: .88rem; font-weight: 800; color: var(--navy); }
.cap-modal-minirow p { margin: 0; font-size: .85rem; line-height: 1.55; color: var(--ink); }
.cap-modal-more.cap-modal-more-secondary { margin-top: 1rem; opacity: .85; font-size: .82rem; }

/* 4H-FULL-PAGE-CONTENT-IN-MODALS: modal ancho + secciones migradas completas */
.cap-modal { max-width: min(1180px, 96vw); }
.cap-modal-minirows { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-bottom: 1.1rem; }
.cap-modal-mini-tag { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--blue); margin: 0 0 .2rem; }
.cap-modal-problem { background: #fff8ec; border: 1px solid #f3d79a; border-radius: 10px; padding: .7rem .9rem; font-size: .88rem; line-height: 1.55; color: #8a5a00; margin: 0 0 1.1rem; }
.cap-modal-visionblock { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px dashed var(--line); }
.cap-modal-visionblock > p { font-size: .9rem; line-height: 1.6; color: var(--ink); }
.cap-modal-compare { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: 1rem; }
.cap-modal-baa { margin: 1rem 0 0; font-weight: 700; color: var(--navy); font-size: .88rem; }

/* ===== 4H-FULL-PAGE-MODALS-REALES: modal casi full-screen con layout nativo de página ===== */
.cap-modal { max-width: min(1280px, 96vw); padding-top: 1.2rem; }
/* botón cerrar fijo arriba mientras se hace scroll interno */
.cap-modal-close { position: sticky; top: 0; float: right; z-index: 8; margin: -0.6rem -0.6rem 0 0; }
/* paneles full-page: el contenido ocupa todo el ancho del modal (sin la columna de 780px) */
.cap-modal-fullpage .cap-modal-head { max-width: none; }
.cap-modal-fullpage .quoter-hero,
.cap-modal-fullpage .quoter-hero h2 { max-width: none; }
.cap-modal-fullpage > .row,
.cap-modal-fullpage > .doc-compare,
.cap-modal-fullpage > .quoter-modes-grid,
.cap-modal-fullpage > .quoter-agency-grid,
.cap-modal-fullpage > .quoter-intel,
.cap-modal-fullpage > .quoter-vision,
.cap-modal-fullpage > .sign-connection-card,
.cap-modal-fullpage > .ai-connection-card { max-width: none; width: 100%; }
.cap-modal-fullpage .cap-modal-figure { margin: .4rem 0 1rem; max-width: none; }
.cap-modal-fullpage .cap-modal-shot-main { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--line); box-shadow: 0 16px 40px rgba(18,34,79,.18); }
.cap-modal-fullpage .cap-modal-demo-note { max-width: 820px; margin: 0 auto 1.4rem; text-align: center; font-size: .82rem; font-style: italic; color: var(--muted); }
.cap-modal-fullpage .section-title.cap-modal-h { margin-top: 1.6rem; }
.cap-modal-fullpage .cap-modal-baa { margin: .6rem 0 0; font-weight: 700; color: var(--navy); font-size: .88rem; text-align: center; }
.cap-modal-fullpage img { max-width: 100%; }
@media (max-width: 600px) {
  .cap-modal { padding-left: 1.1rem; padding-right: 1.1rem; }
}

/* 4H-FullPageModals-Visual-Parity: bloque "por qué/visión" al final + cards de punto en grid */
.cap-modal-whyblock { margin: 1.4rem 0 .4rem; background: linear-gradient(135deg, rgba(39,134,219,.07), rgba(13,148,136,.06)); border: 1px solid rgba(39,134,219,.2); border-radius: 12px; padding: 1rem 1.1rem; }
.cap-modal-whyblock p { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--ink); }
.cap-modal-whyblock strong { color: var(--navy); }
.cap-modal-fullpage .quoter-agency-card { text-align: left; }
.cap-modal-fullpage .quoter-agency-card p { margin: 0; font-size: .88rem; line-height: 1.5; color: var(--ink); }
.cap-modal-fullpage .ai-eyebrow-row { margin-bottom: .6rem; }

/* ===== Promo "Sitio Web de Regalo" (4promo2) — banner hero, modal premium, página. Paleta existente. ===== */
/* Banner home: card hero horizontal con acento de marca */
.promo-banner { background: linear-gradient(135deg, rgba(39,134,219,.10), rgba(217,67,52,.06)); border: 1px solid rgba(39,134,219,.22); border-radius: 22px; padding: 1.8rem 2rem; display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; box-shadow: var(--shadow); }
.promo-banner-badge { display: inline-flex; align-items: center; gap: .4rem; background: var(--red); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .3rem .7rem; border-radius: 999px; }
.promo-banner-eyebrow { display: block; color: var(--navy-soft); font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; margin: .8rem 0 .3rem; }
.promo-banner h3 { color: var(--navy); font-size: 1.45rem; font-weight: 800; line-height: 1.25; margin: 0 0 .5rem; }
.promo-banner p { color: var(--ink); line-height: 1.6; margin: 0 0 .8rem; max-width: 620px; }
.promo-banner-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .2rem; }
.promo-chip { display: inline-flex; align-items: center; gap: .35rem; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: .35rem .8rem; font-size: .82rem; font-weight: 700; color: var(--navy); }
.promo-chip i { color: var(--blue); }
.promo-banner-actions { display: flex; flex-direction: column; gap: .6rem; min-width: 190px; }
@media (max-width: 767.98px) { .promo-banner { grid-template-columns: 1fr; padding: 1.4rem 1.2rem; } .promo-banner-actions { min-width: 0; } }

/* Modal promo: reusa .cap-modal-* y añade hero interno + bullets */
.promo-modal-hero { background: linear-gradient(135deg, rgba(39,134,219,.10), rgba(217,67,52,.06)); border-radius: 14px; padding: 1.1rem 1.2rem; margin-bottom: 1rem; }
.promo-modal-bullets { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.promo-modal-bullets li { position: relative; padding-left: 1.7rem; font-size: .9rem; line-height: 1.5; color: var(--ink); }
.promo-modal-bullets li::before { content: '\2713'; position: absolute; left: 0; top: 0; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: rgba(13,148,136,.15); color: #0b7a70; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; }

/* Página promotions.html */
.promo-incl-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (max-width: 767.98px) { .promo-incl-grid { grid-template-columns: 1fr; } }
.promo-incl-card { display: flex; gap: .9rem; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem 1.2rem; box-shadow: var(--shadow); }
.promo-incl-card i { color: var(--blue); font-size: 1.3rem; flex-shrink: 0; }
.promo-incl-card p { margin: 0; color: var(--ink); line-height: 1.5; font-size: .92rem; }
.promo-honesty { background: linear-gradient(135deg, rgba(39,134,219,.07), rgba(13,148,136,.06)); border: 1px solid rgba(39,134,219,.2); border-left: 4px solid var(--blue); border-radius: 12px; padding: 1.1rem 1.3rem; }
.promo-honesty p { margin: 0; color: var(--ink); line-height: 1.6; }
.promo-cmp-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }
.promo-cmp-grid > div { padding: .85rem 1rem; border-bottom: 1px solid var(--line); font-size: .88rem; line-height: 1.45; }
.promo-cmp-head { background: var(--navy); color: #fff; font-weight: 800; }
.promo-cmp-head.agud { background: var(--blue); }
.promo-cmp-label { font-weight: 700; color: var(--navy); background: #f5f7fb; }
.promo-cmp-agud { color: var(--ink); background: rgba(39,134,219,.05); }
.promo-cmp-other { color: var(--muted); }
.promo-cmp-grid > div:nth-last-child(-n+3) { border-bottom: 0; }
@media (max-width: 575.98px) { .promo-cmp-grid { grid-template-columns: 1fr; } .promo-cmp-grid > div { border-bottom: 1px solid var(--line); } .promo-cmp-label { margin-top: .2rem; } }
.promo-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: .9rem; counter-reset: pstep; }
@media (max-width: 900px) { .promo-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .promo-steps { grid-template-columns: 1fr; } }
.promo-step { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem; box-shadow: var(--shadow); position: relative; }
.promo-step::before { counter-increment: pstep; content: counter(pstep); display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 800; margin-bottom: .6rem; }
.promo-step p { margin: 0; font-size: .88rem; line-height: 1.5; color: var(--ink); }
.promo-terms-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.promo-terms-list li { position: relative; padding-left: 1.5rem; font-size: .85rem; line-height: 1.55; color: var(--muted); }
.promo-terms-list li::before { content: '\2022'; position: absolute; left: .3rem; color: var(--blue); font-weight: 800; }
