:root{
 --navy:#041428;--ink:#eaf3ff;--muted:#a3b9d6;--cyan:#00c2ff;
 --line:rgba(255,255,255,.14);--ease:cubic-bezier(.22,.8,.2,1);
 --px:0;--py:0;
 font-family:Manrope,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-synthesis:none;color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--navy);color:var(--ink);overflow:hidden;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:12px}

/* ---------- Tarjeta: siempre una sola pantalla ---------- */
.card{
 position:relative;isolation:isolate;overflow:hidden;
 height:100vh;height:100dvh;min-height:520px;
 display:grid;grid-template-columns:minmax(0,1fr);
 grid-template-rows:auto minmax(0,1fr) auto;
 grid-template-areas:"top" "stage" "panel";
 padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
.bg,.net,.shade{position:absolute;inset:0;pointer-events:none}
.bg{z-index:-3;overflow:hidden}
.bg img{width:100%;height:100%;object-fit:cover;opacity:.55;transform:scale(1.1) translate(calc(var(--px)*8px),calc(var(--py)*8px));animation:kenburns 28s ease-in-out infinite alternate}
@keyframes kenburns{from{scale:1}to{scale:1.12}}
.net{z-index:-2;width:100%;height:100%}
.shade{z-index:-1;background:
 radial-gradient(120% 70% at 50% 30%,transparent 0,rgba(4,20,40,.55) 70%),
 linear-gradient(180deg,rgba(4,20,40,.75) 0,rgba(4,20,40,.25) 18%,rgba(4,20,40,.55) 55%,var(--navy) 78%)}

/* ---------- Barra superior ---------- */
.top{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 6px;position:relative;z-index:5}
.mono{font-size:24px;font-weight:800;letter-spacing:-1.5px}
.mono i{color:var(--cyan);font-style:normal}
@keyframes spin3d{0%{transform:rotateY(0)}22%{transform:rotateY(360deg)}100%{transform:rotateY(360deg)}}
.top-note{display:none;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--muted)}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,194,255,.7)}70%,100%{box-shadow:0 0 0 9px rgba(0,194,255,0)}}

/* ---------- Retrato ---------- */
.photo{grid-area:stage;position:relative;margin:0;z-index:1;pointer-events:none;
 transform:translate(calc(var(--px)*-14px),calc(var(--py)*-8px));transition:transform .6s var(--ease)}
.photo img{position:absolute;bottom:0;left:50%;height:100%;width:auto;max-width:none;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;
 translate:-50% 0;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));
 animation:rise 1.4s var(--ease) .2s both,float 7s ease-in-out 1.6s infinite}
@keyframes rise{from{opacity:0;transform:translateY(60px) scale(.94)}to{opacity:1;transform:none}}
@keyframes float{50%{transform:translateY(-7px)}}
.photo::after{content:"";position:absolute;inset:auto 0 0;height:62%;background:linear-gradient(180deg,transparent,rgba(4,20,40,.75) 45%,var(--navy))}
.halo{position:absolute;left:50%;top:40%;width:min(88vw,58svh);aspect-ratio:1;translate:-50% -50%;border-radius:50%;
 background:radial-gradient(circle,rgba(0,194,255,.38),rgba(10,124,255,.12) 45%,transparent 68%);animation:breathe 5s ease-in-out infinite}
@keyframes breathe{50%{scale:1.08;opacity:.75}}
.orbit{position:absolute;left:50%;top:36%;width:min(72vw,46svh);aspect-ratio:1;translate:-50% -50%;border-radius:50%;
 border:1px dashed rgba(0,194,255,.35);animation:spin 26s linear infinite}
.orbit span{position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px 3px rgba(0,194,255,.8)}
@keyframes spin{to{rotate:360deg}}

/* ---------- Nombre, frase y estudios ---------- */
.intro{grid-area:stage;align-self:end;position:relative;z-index:3;padding:0 20px 14px}
.eyebrow{display:none;align-items:center;gap:9px;margin:0 0 10px;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.eyebrow span{width:22px;height:2px;border-radius:2px;background:var(--cyan)}
.name{margin:0;font-size:clamp(40px,min(12.5vw,7svh),112px);line-height:.95;letter-spacing:-.045em;font-weight:800;cursor:default}
.w{display:block}
.blue{color:var(--cyan)}
.l{display:inline-block;will-change:transform}
.blue .l{animation:tint 4s ease-in-out infinite;animation-delay:calc(var(--i)*.14s)}
@keyframes tint{0%,100%{color:#00d9ff;text-shadow:0 0 0 rgba(0,194,255,0)}50%{color:#1a7dff;text-shadow:0 0 22px rgba(0,194,255,.35)}}
.name.wave .l{animation:wave .9s var(--ease) both;animation-delay:calc(var(--i)*45ms)}
.name.wave .blue .l{animation:wave .9s var(--ease) both,tint 4s ease-in-out infinite;animation-delay:calc(var(--i)*45ms),calc(var(--i)*.14s)}
@keyframes wave{40%{transform:translateY(-.16em) rotate(-4deg)}}
.rotator{margin:10px 0 0;font-size:clamp(15px,min(4.4vw,2.5svh),24px);font-weight:600;color:#cfe0f5}
.rot{display:inline-block;position:relative;vertical-align:bottom;height:1.3em;overflow:hidden;transition:width .5s var(--ease)}
.rot b{position:absolute;left:0;top:0;white-space:nowrap;color:var(--cyan);font-weight:800;transform:translateY(110%);opacity:0;transition:transform .55s var(--ease),opacity .55s}
.rot b.on{transform:none;opacity:1}
.rot b.off{transform:translateY(-110%);opacity:0}
.studies{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.studies li{display:flex;align-items:center;gap:11px}
.seal{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;padding:5px;
 box-shadow:0 6px 18px rgba(0,0,0,.3),0 0 0 2px rgba(255,255,255,.12);transition:transform .4s var(--ease)}
.seal img{width:100%;height:100%;object-fit:contain}
.studies li:hover .seal{transform:rotate(-8deg) scale(1.08)}
.studies b{display:block;font-size:14px;font-weight:700;line-height:1.25;color:#fff}
.studies small{display:block;margin-top:1px;font-size:11.5px;font-weight:600;letter-spacing:.3px;color:var(--muted)}

/* ---------- Panel: Fundador, Docente, Experiencia ---------- */
.panel{grid-area:panel;position:relative;z-index:4;margin:0 12px 12px;padding:10px;border-radius:24px;
 background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid var(--line);
 backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tab{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;height:46px;border-radius:14px;
 font-size:14px;font-weight:700;color:var(--muted);overflow:hidden;transition:background .35s,color .35s}
.tab svg{width:18px;height:18px}
.tab:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.tab[aria-selected=true]{color:#fff;background:rgba(0,194,255,.14)}
.tab[aria-selected=true] svg{color:var(--cyan)}
.bar{position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.bar i{display:block;height:100%;width:100%;background:var(--cyan);transform:scaleX(0);transform-origin:left}
.tab[aria-selected=true] .bar i{animation:fill 7s linear forwards}
.panel.paused .tab[aria-selected=true] .bar i{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.tabpanel{padding:12px 8px 6px;min-height:calc(4 * 1.4 * 17px + 94px)}
.tp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 4px}
.tp-link{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:4px 10px;border-radius:99px;font-size:12.5px;font-weight:700;color:#fff;
 background:rgba(0,194,255,.16);border:1px solid rgba(0,194,255,.45);transition:background .3s}
.tp-link svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.tp-link:hover{background:rgba(0,194,255,.3)}
.tp-link:hover svg{transform:translate(2px,-2px)}
.tp-link[hidden]{display:none}
.tp-label{margin:0;min-width:0;white-space:nowrap;font-size:12.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--cyan)}
.tp-text{margin:0;font-size:14px;line-height:1.4;font-weight:500;color:#e6effa}
.tabpanel.swap .tp-label,.tabpanel.swap .tp-text{animation:swap .55s var(--ease) both}
.tp-body{display:flex;align-items:center;gap:14px}
.tp-body .tp-text{flex:1;min-width:0}
.tp-logo{flex-shrink:0;display:flex;justify-content:center;align-items:center;perspective:600px}
.lg{display:none;line-height:0;animation:spin3d 6s cubic-bezier(.65,0,.35,1) .5s infinite}
.tabpanel[data-tab="0"] .lg-0,.tabpanel[data-tab="1"] .lg-1{display:block}
.tabpanel[data-tab="2"] .tp-logo{display:none}
.lg-0{width:44px;height:44px;padding:6px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(246,200,40,.28)}
.lg img{display:block;transition:scale .3s var(--ease)}
.lg:hover img{scale:1.08}
.lg:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.tp-text b{font-weight:800;color:#fff}
.lg-0 img{width:100%;height:100%;object-fit:contain}
.lg-1 img{height:22px;width:auto;filter:drop-shadow(0 4px 14px rgba(207,22,25,.45))}
.tabpanel.swap .tp-text{animation-delay:.06s}
@keyframes swap{from{opacity:0;transform:translateY(8px);filter:blur(3px)}}

/* ---------- WhatsApp y LinkedIn: círculos con logos oficiales ---------- */
.dock{position:absolute;z-index:6;right:calc(16px + env(safe-area-inset-right));top:37%;display:flex;flex-direction:column;gap:14px}
.orb{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;color:#fff;
 box-shadow:0 12px 28px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25);transition:scale .3s var(--ease),box-shadow .3s}
.orb::before{content:"";position:absolute;inset:0;border-radius:50%;
 background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);pointer-events:none}
.orb::after{content:"";position:absolute;inset:0;border-radius:50%;animation:ring 3s ease-out infinite;pointer-events:none}
.brand{position:relative;width:52%;height:52%;fill:currentColor;stroke:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.li .brand{width:44%;height:44%}
.orb:hover{scale:1.08;box-shadow:0 16px 36px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.25)}
.orb:active{scale:.94}
.wa{background:#25d366}
.wa::after{color:rgba(37,211,102,.55);animation-delay:2s}
.li{background:#0a66c2}
.li::after{color:rgba(10,102,194,.6);animation-delay:3.5s}
@keyframes ring{0%{box-shadow:0 0 0 0 currentColor}70%,100%{box-shadow:0 0 0 14px transparent}}
.tip{position:absolute;right:calc(100% + 12px);top:50%;translate:8px -50%;padding:6px 11px;border-radius:9px;background:#fff;color:var(--navy);
 font-size:13px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,translate .3s var(--ease)}
.orb:hover .tip,.orb:focus-visible .tip{opacity:1;translate:0 -50%}

/* ---------- Entradas ---------- */
.in{animation:enter .8s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes enter{from{opacity:0;transform:translateY(18px);filter:blur(6px)}}
.orb.in{animation:enter .8s var(--ease) both;animation-delay:var(--d,0s)}

/* ---------- Celulares bajos (iPhone SE, etc.) ---------- */
@media (max-width:819px) and (max-height:740px){
 .rotator{margin-top:7px}
 .studies{margin-top:10px;gap:6px}
 .seal{width:34px;height:34px;padding:4px}
 .studies b{font-size:13px}
 .studies small{font-size:10.5px}
 .tab{height:40px;font-size:13.5px}
 .tabpanel{padding:9px 6px 4px;min-height:calc(3 * 1.36 * 15.5px + 76px)}
 .lg-0{width:38px;height:38px;padding:5px}
 .lg-1 img{height:19px}
 .tp-label{font-size:11.5px}
 .tp-text{font-size:13px;line-height:1.36}
 .orb{width:56px;height:56px}
}
@media (max-width:819px) and (max-height:620px){
 .studies small{display:none}
 .tabpanel{min-height:0}
}
@media (max-width:359px){
 .tab{font-size:13px;gap:5px}
 .tp-text{font-size:12.5px}
}

/* ---------- Escritorio y tablets horizontales ---------- */
@media (min-width:820px) and (min-aspect-ratio:1/1){
 .card{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,1fr);
  grid-template-areas:"top top" ". photo" "intro photo" "panel photo" ". photo";
  padding-left:max(5vw,calc((100vw - 1280px)/2));padding-right:max(3vw,calc((100vw - 1280px)/2))}
 .shade{background:
  linear-gradient(90deg,var(--navy) 0,rgba(4,20,40,.88) 32%,rgba(4,20,40,.35) 62%,rgba(4,20,40,.15)),
  linear-gradient(0deg,rgba(4,20,40,.9),transparent 30%)}
 .top{padding:22px 0 0}
 .top-note{display:inline-flex}
 .eyebrow{display:flex}
 .photo{grid-area:photo;margin-top:10px}
 .photo img{height:min(97%,calc(100vw * .62))}
 .photo::after{height:22%}
 .halo{top:44%;width:min(46vw,78vh)}
 .orbit{top:40%;width:min(38vw,62vh)}
 .intro{grid-area:intro;align-self:auto;padding:0 0 22px}
 .name{font-size:clamp(56px,min(7.6vw,12vh),118px)}
 .rotator{margin-top:16px}
 .studies{margin-top:20px;grid-template-columns:auto auto;justify-content:start;gap:12px 28px}
 .seal{width:50px;height:50px;padding:6px}
 .studies b{font-size:15px}
 .studies small{font-size:12.5px}
 .panel{grid-area:panel;margin:0;max-width:620px;padding:12px}
 .tab{height:52px;font-size:16.5px}
 .tab svg{width:21px;height:21px}
 .tabpanel{padding:14px 10px 8px;min-height:calc(2 * 1.45 * 19px + 104px)}
 .tp-body{gap:22px}
 .lg-0{width:52px;height:52px;padding:7px}
 .lg-1 img{height:30px}
 .tp-label{font-size:13px}
 .tp-text{font-size:16px;line-height:1.45}
 .dock{top:64%;translate:0 -50%;right:max(2.5vw,calc((100vw - 1280px)/2 - 60px));gap:18px}
 .orb{width:76px;height:76px}
}
/* Pantallas de escritorio bajas */
@media (min-width:820px) and (min-aspect-ratio:1/1) and (max-height:760px){
 .eyebrow{display:none}
 .name{font-size:clamp(44px,min(6.4vw,11vh),90px)}
 .intro{padding-bottom:14px}
 .rotator{margin-top:10px}
 .studies{margin-top:12px}
 .seal{width:40px;height:40px;padding:5px}
 .tab{height:42px;font-size:15px}
 .tabpanel{padding:10px 8px 4px;min-height:0}
 .tp-text{font-size:15px}
 .orb{width:66px;height:66px}
}
/* Celulares en horizontal */
@media (max-height:519px) and (min-aspect-ratio:1/1){
 .card{min-height:0;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,1fr);
  grid-template-areas:"top top" ". photo" "intro photo" "panel photo" ". photo";
  padding-inline:max(4vw,env(safe-area-inset-left)) max(2vw,env(safe-area-inset-right))}
 .shade{background:linear-gradient(90deg,var(--navy) 0,rgba(4,20,40,.85) 50%,rgba(4,20,40,.3))}
 .top{padding:8px 0 0}
 .top-note,.eyebrow,.rotator,.tp-label{display:none}
 .photo{grid-area:photo}
 .photo img{left:0;width:100%;height:100%;translate:none;object-fit:contain;object-position:center bottom}
 .photo::after{height:18%}
 .intro{grid-area:intro;align-self:auto;padding:0 0 8px}
 .name{font-size:clamp(28px,9vh,46px)}
 .studies{margin-top:8px;grid-template-columns:auto auto;justify-content:start;gap:6px 16px}
 .seal{width:30px;height:30px;padding:3px}
 .studies b{font-size:12px}
 .studies small{font-size:10px}
 .panel{grid-area:panel;margin:0 0 8px;padding:6px;border-radius:18px}
 .tab{height:32px;font-size:13px}
 .tabpanel{padding:6px 6px 2px;min-height:0}
 .tp-text{font-size:11.5px;line-height:1.28}
 .tp-body{gap:10px}
 .lg-0{width:30px;height:30px;padding:4px}
 .lg-1 img{height:15px}
 .dock{top:60%;translate:0 -50%;gap:10px}
 .orb{width:52px;height:52px}
}

@media (hover:none){.tip{display:none}}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .tab[aria-selected=true] .bar i{transform:scaleX(1)}
}
