/* ═══════════════════════════════════════════════════════════
   CUNDASIA™ — Selector de portales 2026
   Usa los tokens de brand-2026.css (claro por defecto / oscuro).
═══════════════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.ps-i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ps-wrap{max-width:1220px;margin:0 auto;padding:0 28px;width:100%}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:8px}

/* ── Barra ── */
#nav.ps-nav{position:sticky;top:0;z-index:50;background:rgb(var(--bg-rgb) / .78);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line)}
.ps-nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:72px}
.ps-brand{display:flex;align-items:center;gap:12px}
.ps-brand .nav-logo-img{width:40px;height:40px;object-fit:contain}
.ps-brand .nav-logo-text{font-size:1.1rem}
.nav-right{display:flex;align-items:center;gap:10px}
.ps-seg{display:flex;padding:3px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}
.ps-seg a{font-size:.72rem;font-weight:800;letter-spacing:.06em;padding:.38em .62em;border-radius:7px;color:var(--text-3)}
.ps-seg a.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(13,23,41,.08)}
.ps-back{display:inline-flex;align-items:center;gap:.45em;font-size:.85rem;font-weight:700;color:var(--text-2);padding:.6em 1em;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);transition:color .2s,border-color .2s}
.ps-back:hover{color:var(--brand-ink);border-color:var(--brand)}

/* ── Hero ── */
.ps-main{flex:1;position:relative;overflow:hidden;padding:72px 0 80px}
.ps-main::before{content:'';position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(45% 50% at 50% 0%,rgba(41,177,211,.20),transparent 70%),
  radial-gradient(35% 45% at 100% 80%,rgba(25,105,214,.16),transparent 70%),
  radial-gradient(30% 40% at 0% 70%,rgba(45,212,191,.10),transparent 70%)}
.ps-main::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgb(var(--fg-rgb) / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--fg-rgb) / .045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 60% at 50% 20%,#000 30%,transparent 80%);mask-image:radial-gradient(70% 60% at 50% 20%,#000 30%,transparent 80%)}
.ps-main>.ps-wrap{position:relative;z-index:1}
.ps-head{text-align:center;max-width:720px;margin:0 auto 52px}
.ps-eyebrow{display:inline-flex;align-items:center;gap:.6em;font-size:.78rem;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent);padding:.45em .95em;border-radius:999px;margin-bottom:22px}
.ps-pulse{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:psPulse 2.4s infinite}
@keyframes psPulse{0%{box-shadow:0 0 0 0 var(--brand-glow)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.ps-head h1{font-family:var(--display);font-weight:500!important;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.03em;color:var(--text)}
.ps-head h1 span{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ── Tarjetas de portal ── */
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.ps-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--card-shadow);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s;opacity:0;transform:translateY(18px);animation:psIn .9s cubic-bezier(.16,1,.3,1) forwards}
.ps-card:nth-child(2){animation-delay:.1s}.ps-card:nth-child(3){animation-delay:.2s}
@keyframes psIn{to{opacity:1;transform:none}}
.ps-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.ps-card.hl{border:1.5px solid var(--brand);box-shadow:0 0 0 4px var(--brand-soft),var(--shadow)}
.ps-media{position:relative;aspect-ratio:16/9.5;overflow:hidden}
.ps-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.ps-card:hover .ps-media img{transform:scale(1.05)}
.ps-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,10,22,.5))}
.ps-badge{position:absolute;left:16px;top:16px;z-index:2;font-size:.72rem;font-weight:800;color:#fff;background:rgba(5,10,22,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);padding:.4em .85em;border-radius:999px}
.ps-ic{position:absolute;left:22px;bottom:-26px;z-index:3;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:var(--brand-grad);box-shadow:0 12px 24px -10px rgba(25,105,214,.7),0 0 0 4px var(--surface)}
.ps-body{display:flex;flex-direction:column;flex:1;padding:44px 26px 26px}
.ps-num{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:8px}
.ps-body h2{font-family:var(--display);font-weight:500!important;font-size:1.75rem;line-height:1.15;color:var(--text);margin-bottom:10px}
.ps-body p{color:var(--text-2);font-size:.93rem;margin-bottom:18px}
.ps-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.ps-pills span{font-size:.75rem;font-weight:700;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);padding:.32em .75em;border-radius:999px}
.ps-cta{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.55em;font-weight:800;font-size:.92rem;padding:.85em 1em;border-radius:12px;border:1px solid var(--line-2);color:var(--text);background:var(--surface);transition:background .25s,color .25s,border-color .25s}
.ps-cta .ps-i{transition:transform .25s cubic-bezier(.16,1,.3,1)}
.ps-card:hover .ps-cta{border-color:var(--brand);color:var(--brand-ink)}
.ps-card:hover .ps-cta .ps-i{transform:translateX(3px)}
.ps-card.hl .ps-cta{background:var(--brand-grad);color:#fff;border:0;box-shadow:0 10px 24px -10px rgba(25,105,214,.65)}
.ps-card.hl:hover .ps-cta{color:#fff}
.ps-ext .ps-i{transform:rotate(-45deg)}
.ps-card:hover .ps-ext .ps-i{transform:rotate(-45deg) translateX(3px)}

/* ── Pie ── */
.ps-foot{border-top:1px solid var(--line);padding:22px 0;color:var(--text-3);font-size:.84rem}
.ps-foot .ps-wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ps-foot nav{display:flex;gap:18px}
.ps-foot a:hover{color:var(--brand-ink)}

@media (max-width:980px){.ps-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}}
@media (max-width:560px){
  .ps-wrap{padding:0 18px}
  .ps-back span{display:none}
  .ps-brand .nav-logo-text{font-size:.95rem}
  .ps-main{padding:48px 0 60px}
}
@media (prefers-reduced-motion:reduce){.ps-card{animation:none;opacity:1;transform:none}}
/* el ícono sobresale de la imagen: la imagen ya no recorta */
.ps-media{overflow:visible}
.ps-media img{border-radius:0}
.ps-card:hover .ps-media img{transform:none}
.ps-card:hover .ps-media img{filter:saturate(1.08) brightness(1.03)}
