/* Electrum® — Design system compartido (paleta blanco/púrpura premium + acento oro Electrum) */
:root{--ex-purple:#4a148c;--ex-purple-l:#7c43bd;--ex-blue:#1565c0;--ex-dark:#1a1a1a;--ex-gold:#b8975a;--ex-gold-l:#d8c08a;--ex-gray:#f4f6f8}
body{overflow-x:hidden}
h1,h2,h3{letter-spacing:-0.02em}
.font-display{letter-spacing:-0.01em}

/* Botones */
.btn-primary{background:linear-gradient(90deg,#4a148c,#6a1b9a);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:all .3s ease;box-shadow:0 4px 15px rgba(74,20,140,.3);position:relative;overflow:hidden}
.btn-primary:after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:.6s}
.btn-primary:hover:after{left:100%}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(74,20,140,.4)}
.btn-outline{background:transparent;border:2px solid #4a148c;color:#4a148c;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:all .3s ease}
.btn-outline:hover{background:#4a148c;color:#fff}
.btn-gold{background:linear-gradient(90deg,#b8975a,#d8c08a);color:#1a1a1a;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:all .3s}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(184,151,90,.4)}

/* Tipografía utilitaria */
.ex-eyebrow{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:var(--ex-purple);margin-bottom:.9rem}
.ex-gold-rule{width:56px;height:2px;background:linear-gradient(90deg,var(--ex-gold),transparent);margin:1.25rem 0}
.ex-gradient-text{background:linear-gradient(90deg,#4a148c,#1565c0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ex-prose h2{font-size:1.75rem;font-weight:800;margin:2.5rem 0 1rem;color:var(--ex-dark)}
.ex-prose h3{font-size:1.2rem;font-weight:700;margin:1.75rem 0 .75rem;color:var(--ex-dark)}
.ex-prose p{margin-bottom:1rem;line-height:1.8;color:#4b5563}
.ex-prose ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem;color:#4b5563}
.ex-prose ol{list-style:decimal;padding-left:1.25rem;margin-bottom:1rem;color:#4b5563}
.ex-prose li{margin-bottom:.4rem;line-height:1.7}
.ex-prose a{color:var(--ex-purple);text-decoration:underline}
.ex-prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}
.ex-prose th,.ex-prose td{border:1px solid #e5e7eb;padding:.6rem .8rem;text-align:left;vertical-align:top}
.ex-prose th{background:var(--ex-gray);font-weight:700}

/* Tarjetas */
.ex-card{background:#fff;border:1px solid #eceef2;border-radius:14px;transition:all .35s ease}
.ex-card:hover{border-color:rgba(124,67,189,.35);box-shadow:0 20px 40px -12px rgba(74,20,140,.18);transform:translateY(-3px)}
.ex-program-card{position:relative;overflow:hidden;border-radius:18px;background:#fff;border:1px solid #eceef2;transition:all .4s cubic-bezier(.2,.8,.2,1)}
.ex-program-card:before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--ex-purple),var(--ex-gold));transform:scaleX(0);transform-origin:left;transition:transform .5s}
.ex-program-card:hover:before{transform:scaleX(1)}
.ex-program-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(74,20,140,.28)}
.corp-img-container{position:relative;overflow:hidden;border-radius:6px}
.corp-img{transition:transform .8s ease-out;width:100%;height:100%;object-fit:cover}
.corp-img-container:hover .corp-img{transform:scale(1.05)}

/* Header / mega-menú */
.ex-nav-link,.ex-dd-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .8rem;border-radius:8px;transition:color .2s,background .2s;cursor:pointer;background:none;border:0;font:inherit;color:inherit}
.ex-nav-link:hover,.ex-dd-btn:hover,.ex-dd:focus-within .ex-dd-btn{color:var(--ex-purple);background:rgba(74,20,140,.05)}
.ex-dd{position:relative}
.ex-mega{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);background:#fff;border:1px solid #eceef2;border-radius:16px;box-shadow:0 30px 60px -15px rgba(26,26,26,.2);padding:1.5rem;opacity:0;visibility:hidden;transition:all .25s ease;z-index:60}
.ex-mega-right{left:auto;right:0;transform:translate(0,8px)}
.ex-dd:hover .ex-mega,.ex-dd:focus-within .ex-mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ex-dd:hover .ex-mega-right,.ex-dd:focus-within .ex-mega-right{transform:translate(0,0)}
.ex-mega-title{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#9ca3af;margin-bottom:.75rem}
.ex-mega-link{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem .7rem;border-radius:10px;transition:background .2s}
.ex-mega-link i{font-size:1.4rem;color:var(--ex-purple);margin-top:.1rem}
.ex-mega-link strong{display:block;font-size:.85rem;color:var(--ex-dark);font-weight:700}
.ex-mega-link small{display:block;font-size:.72rem;color:#6b7280;line-height:1.35;margin-top:.1rem}
.ex-mega-link:hover{background:var(--ex-gray)}
.ex-mega-link:hover strong{color:var(--ex-purple)}
.ex-mega-feature{background:linear-gradient(150deg,#4a148c,#1a1a1a);border-radius:14px;padding:1.4rem;position:relative;overflow:hidden}
.ex-mega-feature:after{content:'';position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(216,192,138,.35),transparent 70%)}
.ex-header.scrolled .ex-topbar{display:none}
.ex-m-group{border-bottom:1px solid #f3f4f6}
.ex-m-group summary{list-style:none;padding:1rem 0;font-weight:700;display:flex;justify-content:space-between;cursor:pointer}
.ex-m-group summary::-webkit-details-marker{display:none}
.ex-m-group summary:after{content:'+';color:var(--ex-purple);font-weight:800}
.ex-m-group[open] summary:after{content:'–'}
.ex-m-group div{padding-bottom:.75rem}
.ex-m-group a{display:flex;gap:.5rem;align-items:center;padding:.55rem 0 .55rem .5rem;font-size:.9rem;color:#4b5563}
.ex-m-link{display:block;padding:1rem 0;font-weight:700;border-bottom:1px solid #f3f4f6}

/* WhatsApp + cookies */
.ex-wa{position:fixed;right:20px;bottom:20px;z-index:55;display:flex;align-items:center;gap:.5rem;background:#1a1a1a;color:#fff;padding:.7rem 1.1rem .7rem .8rem;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:.8rem;font-weight:700;transition:transform .2s}
.ex-wa i{font-size:1.5rem;color:#25d366}
.ex-wa:hover{transform:translateY(-3px)}
.ex-cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:70;max-width:920px;margin:0 auto;background:#fff;border:1px solid #eceef2;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);padding:1.1rem 1.25rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.ex-cookie.hidden{display:none}
@media(min-width:768px){.ex-cookie{flex-wrap:nowrap}}

/* Reveal on scroll (reemplazo ligero de AOS) */
.ex-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.ex-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ex-reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

/* FAQ */
.ex-faq details{border:1px solid #eceef2;border-radius:12px;background:#fff;transition:border-color .2s}
.ex-faq details[open]{border-color:rgba(124,67,189,.4);box-shadow:0 10px 30px -15px rgba(74,20,140,.2)}
.ex-faq summary{list-style:none;cursor:pointer;padding:1.1rem 1.25rem;font-weight:700;display:flex;justify-content:space-between;gap:1rem}
.ex-faq summary::-webkit-details-marker{display:none}
.ex-faq summary:after{content:'+';color:var(--ex-purple);font-size:1.25rem;line-height:1}
.ex-faq details[open] summary:after{content:'–'}
.ex-faq .ex-faq-a{padding:0 1.25rem 1.25rem;color:#4b5563;line-height:1.75;font-size:.95rem}

/* Signature Index */
.ex-opt{display:block;width:100%;text-align:left;border:1px solid #e5e7eb;border-radius:12px;padding:1rem 1.1rem;transition:all .2s;background:#fff;font-size:.92rem}
.ex-opt:hover{border-color:var(--ex-purple-l);background:#faf7ff}
.ex-opt.selected{border-color:var(--ex-purple);background:linear-gradient(90deg,rgba(74,20,140,.08),rgba(184,151,90,.08));box-shadow:0 0 0 3px rgba(74,20,140,.12)}
.ex-progress{height:4px;background:#eceef2;border-radius:99px;overflow:hidden}
.ex-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--ex-purple),var(--ex-gold));transition:width .4s}
