/* ═══════════════════════════════════════════════════════════════════════════
   PSYFIELD · hoja de estilo propia. Identidad oscura: negro profundo, grafito,
   azul petróleo, violeta oscuro; cian controlado y magenta ocasional.
   La página es oscura en ambos temas del sitio (el campo necesita el negro).
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --bg:#04070b; --bg2:#060a10; --graf:#0b1017; --graf2:#0f1620; --pet:#0b3140; --pet2:#0f4a5c;
  --vio:#2a1d52; --cian:#46c8e8; --cian2:#8fe6f5; --lila:#9d8bff; --mag:#e2589b;
  --ink:#e8eef5; --ink2:#c5cfdb; --mut:#8c99a9; --dim:#5d6a7a; --linea:rgba(150,185,215,.12); --linea2:rgba(150,185,215,.22);
  --sans:'Space Grotesk',Helvetica,Arial,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --ancho:min(1240px,calc(100% - 96px));
}
html{scroll-padding-top:70px}
html,body{background:var(--bg)!important;color:var(--ink);overflow-x:clip}
body{margin:0;font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
#pf *{box-sizing:border-box}
:where(#pf) :where(h1,h2,h3,p){margin:0}
#pf a{color:inherit}
#pf h2{font-weight:400;font-size:clamp(38px,4.8vw,70px);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
#pf h2 em{display:inline}
#pf h2 em,#pf h1 em{font-style:normal;background:linear-gradient(95deg,var(--cian2) 0%,var(--cian) 60%,#3aa6d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
#pf h3{font-weight:500;font-size:21px;letter-spacing:-.02em;line-height:1.2}
.pf-rotulo{font:500 11px/1.4 var(--mono);letter-spacing:.14em;color:var(--cian)}
.pf-nota{font:10px/1.5 var(--mono);letter-spacing:.1em;color:var(--dim)}
.pf-skip{position:fixed;top:-80px;left:16px;z-index:200;background:var(--ink);color:var(--bg);padding:8px 12px}
.pf-skip:focus{top:12px}
.pf-progreso{position:fixed;left:0;right:0;top:0;height:2px;z-index:120;pointer-events:none}
.pf-progreso i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--pet2),var(--cian),var(--lila))}
.pf-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:500;font-size:15px;color:#031018!important;background:linear-gradient(95deg,var(--cian2),var(--cian));box-shadow:0 0 0 1px rgba(143,230,245,.4),0 10px 40px -12px rgba(70,200,232,.55);transition:transform .25s,box-shadow .25s}
.pf-btn:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(143,230,245,.7),0 14px 50px -12px rgba(70,200,232,.7)}
.pf-link{text-decoration:none;color:var(--ink2);font-size:15px}
.pf-link span{color:var(--cian);margin-left:6px}
.pf-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:22px 28px;margin-top:34px}
.pf-demo{font:10px var(--mono);letter-spacing:.14em;color:#ffcfe5;background:rgba(226,88,155,.14);border:1px solid rgba(226,88,155,.35);padding:3px 8px;border-radius:999px}
.pf-ancho{width:var(--ancho);margin:0 auto}
.pf-sec{position:relative;padding:clamp(96px,13vw,170px) 0;border-top:1px solid var(--linea)}
.pf-cabeza{max-width:980px;margin-bottom:clamp(40px,5vw,64px)}
.pf-cabeza h2{margin-top:18px}
.pf-cabeza>p:not(.pf-rotulo){margin-top:24px;color:var(--mut);font-size:clamp(16px,1.35vw,18px);line-height:1.65;max-width:680px}
.pf-cabeza-2{max-width:980px}
.pf-cabeza-2>div>h2{margin-top:18px}
.pf-cabeza-2>p{margin-top:24px!important;color:var(--mut);font-size:clamp(16px,1.35vw,18px);line-height:1.65;max-width:680px}
.pf-cabeza strong,.pf-aviso strong{color:var(--ink);font-weight:500}

/* ── HERO ─────────────────────────────────────────────────────────────── */
.pf-hero{position:relative;height:max(760px,100svh);overflow:hidden;background:
  radial-gradient(60% 55% at 62% 48%,rgba(15,74,92,.42),transparent 70%),
  radial-gradient(40% 40% at 78% 70%,rgba(42,29,82,.55),transparent 70%),
  radial-gradient(35% 35% at 20% 20%,rgba(11,49,64,.35),transparent 70%),var(--bg)}
.pf-hero-campo,.pf-hero-campo canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pf-hero-cerebro{position:absolute;top:43%;left:63%;width:min(58vw,800px);aspect-ratio:1.25;transform:translate(-50%,-50%) translateY(calc(var(--h,0)*-60px)) scale(calc(1 - var(--h,0)*.18));opacity:calc(1 - var(--h,0)*.85);z-index:2;cursor:grab;touch-action:pan-y}
.pf-hero-cerebro:active{cursor:grabbing}
.pf-hero-cerebro>div[hidden]{display:none}
.pf-hero-cerebro>div:not([hidden]){position:absolute;left:0;top:0;font:10px var(--mono);letter-spacing:.12em;padding:4px 8px;border:1px solid;border-radius:999px;background:rgba(4,7,11,.8);pointer-events:none;white-space:nowrap}
.pf-hero-red{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:calc(1 - var(--h,0)*1.4)}
.pf-hero-red g{opacity:0;transition:opacity .8s}
.pf-hero-red.on g{opacity:calc(var(--vis,1)*.9)}
.pf-hero-red line{stroke:rgba(143,230,245,.35);stroke-width:1}
.pf-hero-red .a{fill:var(--cian2);filter:drop-shadow(0 0 4px var(--cian))}
.pf-hero-red .o{fill:none;stroke:var(--cian2);stroke-width:1;opacity:0}
.pf-hero-red g.act line{stroke:rgba(143,230,245,.85)}
.pf-hero-red g.act .a{r:4.5px}
.pf-hero-red g.act .o{animation:pf-onda 1.7s ease-out infinite}
@keyframes pf-onda{0%{r:4px;opacity:.9}100%{r:26px;opacity:0}}
.pf-hero-vars{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:calc(1 - var(--h,0)*1.4)}
.pf-hero-vars span{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;font:500 10.5px/1.2 var(--mono);letter-spacing:.16em;color:var(--ink2);padding:6px 10px;border:1px solid var(--linea2);border-radius:10px;background:rgba(4,7,11,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .6s,border-color .35s,color .35s,background .35s;white-space:nowrap;will-change:transform}
.pf-hero-vars span.izq{align-items:flex-end;text-align:right}
.pf-hero-vars span.on{opacity:calc(.25 + var(--vis,1)*.75)}
.pf-hero-vars span small{display:none;max-height:0;overflow:hidden;font:400 10px/1.3 var(--sans);letter-spacing:0;color:var(--mut);transition:max-height .4s,margin .4s;text-transform:none}
.pf-hero-vars span.act{color:var(--ink);border-color:rgba(143,230,245,.7);background:rgba(8,40,52,.72);box-shadow:0 0 24px -6px rgba(70,200,232,.6)}
.pf-hero-vars span.act small{display:block;max-height:20px;margin-top:4px}
.pf-hero-vars span.hot:not(.act){color:var(--cian2);border-color:rgba(70,200,232,.45)}
.pf-hero-texto{position:absolute;left:max(48px,calc((100% - 1240px)/2));bottom:clamp(90px,14vh,150px);z-index:5;max-width:560px;transform:translateY(calc(var(--h,0)*-40px));opacity:calc(1 - var(--h,0)*1.2)}
.pf-marca{font:600 clamp(64px,9.2vw,146px)/.86 var(--sans);letter-spacing:-.05em;margin:22px 0 18px!important}
.pf-marca span{display:inline-block;opacity:0;transform:translateY(22px);animation:pf-entra 1.2s cubic-bezier(.2,.7,.2,1) forwards}
.pf-marca span:first-child{animation-delay:1.3s;color:var(--ink)}
.pf-marca span:last-child{animation-delay:1.55s;background:linear-gradient(100deg,var(--cian2) 10%,var(--cian) 45%,var(--lila) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pf-lema{font:500 12px/1.5 var(--mono);letter-spacing:.3em;color:var(--ink2);opacity:0;animation:pf-aparece 1s 1.9s forwards}
.pf-bajada{margin-top:22px!important;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:var(--mut);opacity:0;animation:pf-aparece 1s 2.2s forwards}
.pf-hero-texto .pf-acciones{opacity:0;animation:pf-aparece 1s 2.5s forwards}
.pf-hero-texto .pf-rotulo{opacity:0;animation:pf-aparece 1s .9s forwards}
@keyframes pf-entra{to{opacity:1;transform:none}}
@keyframes pf-aparece{to{opacity:1}}
.pf-estado{position:absolute;right:max(48px,calc((100% - 1240px)/2));bottom:clamp(56px,8vh,90px);z-index:5;width:min(380px,40vw);opacity:calc(1 - var(--h,0)*1.4)}
.pf-estado-t{display:flex;justify-content:space-between;gap:10px;font:10px var(--mono);letter-spacing:.14em;color:var(--mut)}
.pf-estado-t em{font-style:normal;color:var(--dim);letter-spacing:.06em}
.pf-estado-b{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px;border:1px solid var(--linea2);border-radius:14px;overflow:hidden;background:rgba(6,10,16,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pf-estado-b button{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;text-align:left;padding:10px 12px 8px;background:none;border:0;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);color:var(--mut);cursor:pointer;transition:background .3s,color .3s;-webkit-tap-highlight-color:transparent}
.pf-estado-b button:nth-child(3n){border-right:0}
.pf-estado-b button:nth-child(n+4){border-bottom:0}
.pf-estado-b button span{font:10px var(--mono);color:var(--dim)}
.pf-estado-b button b{font:500 13px var(--sans);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-estado-b button svg{grid-column:1/-1;width:100%;height:14px;margin-top:6px;overflow:visible}
.pf-estado-b button path{fill:none;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.45}
.pf-estado-b button:hover{color:var(--ink);background:rgba(255,255,255,.025)}
.pf-estado-b button[aria-pressed="true"]{color:var(--cian2);background:linear-gradient(180deg,rgba(70,200,232,.16),rgba(70,200,232,.04))}
.pf-estado-b button[aria-pressed="true"] b{color:var(--ink)}
.pf-estado-b button[aria-pressed="true"] span{color:var(--cian)}
.pf-estado-b button[aria-pressed="true"] path{opacity:1;filter:drop-shadow(0 0 3px rgba(70,200,232,.8))}
.pf-estado-b button[aria-pressed="true"]::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--cian),var(--lila))}
.pf-estado-d{margin-top:12px!important;font-size:13px;line-height:1.5;color:var(--mut);min-height:40px}
.pf-estado-n{display:none;margin-top:10px!important;letter-spacing:.04em;line-height:1.5}
.pf-hero-pie{position:absolute;left:0;right:0;bottom:26px;z-index:5;display:flex;justify-content:space-between;width:var(--ancho);margin:0 auto;font:10px var(--mono);letter-spacing:.14em;color:var(--dim)}
.pf-hero-pie i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cian);box-shadow:0 0 10px var(--cian);margin-right:8px;animation:pf-late 2.4s infinite}
@keyframes pf-late{50%{opacity:.35}}

.pf-nav{position:sticky;top:52px;z-index:40;display:flex;gap:28px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:14px max(24px,calc((100% - 1240px)/2));background:rgba(4,7,11,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-block:1px solid var(--linea);font-size:13px}
.pf-nav::-webkit-scrollbar{display:none}
.pf-nav a{text-decoration:none;color:var(--mut);transition:color .2s}
.pf-nav a:hover,.pf-nav a.on{color:var(--cian2)}

/* ── FRAGMENTACIÓN (sticky, guiada por scroll) ────────────────────────── */
.pf-frag-caja{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--linea);border-radius:22px;overflow:hidden;background:var(--bg2)}
.pf-frag-pasos{list-style:none;margin:0;padding:10px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--linea);background:rgba(4,7,11,.4)}
.pf-frag-pasos button{position:relative;width:100%;display:grid;grid-template-columns:34px 1fr;gap:2px 10px;text-align:left;padding:16px 16px 18px;border:0;border-radius:14px;background:none;color:var(--mut);cursor:pointer;overflow:hidden;transition:background .3s,color .3s}
.pf-frag-pasos button span{grid-row:span 2;font:500 12px var(--mono);color:var(--dim);padding-top:3px}
.pf-frag-pasos button b{font:500 18px var(--sans);letter-spacing:-.01em;color:var(--ink2)}
.pf-frag-pasos button small{font-size:13.5px;line-height:1.45;color:var(--dim)}
.pf-frag-pasos button i{position:absolute;left:16px;right:16px;bottom:8px;height:2px;border-radius:2px;background:var(--linea);overflow:hidden}
.pf-frag-pasos button i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--cian),var(--lila));transform-origin:0 50%;transform:scaleX(var(--k,0))}
.pf-frag-pasos button:hover{background:rgba(255,255,255,.02)}
.pf-frag-pasos button[aria-selected="true"]{background:linear-gradient(90deg,rgba(70,200,232,.1),transparent)}
.pf-frag-pasos button[aria-selected="true"] span{color:var(--cian)}
.pf-frag-pasos button[aria-selected="true"] b{color:var(--ink)}
.pf-frag-pasos button[aria-selected="true"] small{color:var(--mut)}
.pf-frag-lienzo{position:relative;height:clamp(420px,42vw,540px);background:radial-gradient(80% 70% at 50% 40%,rgba(11,49,64,.35),transparent 70%)}
.pf-frag-lienzo canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-frag-lienzo .pf-nota{position:absolute;right:16px;bottom:10px}
.pf-frag-leyenda{display:none}

/* ── CAMPO ────────────────────────────────────────────────────────────── */
.pf-campo{background:linear-gradient(180deg,var(--bg),#050910 40%,var(--bg))}
.pf-campo-escena{position:relative;height:clamp(460px,62vw,700px);border:1px solid var(--linea);border-radius:22px;overflow:hidden;background:radial-gradient(70% 60% at 50% 55%,rgba(15,74,92,.35),transparent 70%),radial-gradient(40% 40% at 80% 20%,rgba(42,29,82,.45),transparent 70%),#03060a;cursor:grab;touch-action:pan-y}
.pf-campo-escena:active{cursor:grabbing}
.pf-campo-escena canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-campo-lectura{position:absolute;left:22px;top:20px;font:11px/1.7 var(--mono);color:var(--mut);pointer-events:none;max-width:320px}
.pf-campo-lectura b{display:block;font:500 28px/1.1 var(--sans);letter-spacing:-.03em;color:var(--ink);margin:2px 0 8px}
.pf-campo-lectura .fila{display:flex;justify-content:space-between;gap:18px}
.pf-campo-lectura .fila em{font-style:normal;color:var(--ink2)}
.pf-campo-ley{position:absolute;left:22px;bottom:18px;display:flex;flex-wrap:wrap;gap:6px 18px;font:10px var(--mono);letter-spacing:.06em;color:var(--dim)}
.pf-campo-ley i{display:inline-block;width:16px;height:2px;margin-right:7px;vertical-align:3px}
.c-pos{background:var(--cian)}.c-neg{background:var(--mag)}
.pf-nota-esq{position:absolute;right:20px;top:18px}
.pf-reloj{display:grid;grid-template-columns:auto 1fr minmax(180px,280px);gap:22px;align-items:center;margin-top:22px}
.pf-play{width:44px;height:44px;border-radius:50%;border:1px solid var(--linea2);background:var(--graf);color:var(--cian2);font-size:14px;cursor:pointer}
.pf-play:hover{border-color:var(--cian)}
.pf-reloj-riel{position:relative}
.pf-reloj input[type=range]{width:100%;-webkit-appearance:none;appearance:none;background:transparent;height:28px;margin:0}
.pf-reloj input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--pet2),var(--cian),var(--lila))}
.pf-reloj input[type=range]::-moz-range-track{height:2px;background:linear-gradient(90deg,var(--pet2),var(--cian),var(--lila))}
.pf-reloj input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--cian2);margin-top:-8px;box-shadow:0 0 16px rgba(70,200,232,.6)}
.pf-reloj input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--cian2)}
.pf-reloj-meses{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.1em;color:var(--dim);margin-top:2px}
.pf-reloj-meses span.on{color:var(--cian2)}
.pf-reloj-ev{font-size:13px;color:var(--mut);line-height:1.45;min-height:40px}
.pf-reloj-ev b{display:block;font:10px var(--mono);letter-spacing:.12em;color:var(--mag);font-weight:400}

/* ── TRAYECTORIA ──────────────────────────────────────────────────────── */
.pf-tray-caja,.pf-app,.pf-pat-caja,.pf-ia-caja{border:1px solid var(--linea);border-radius:18px;background:linear-gradient(180deg,rgba(15,22,32,.9),rgba(8,12,18,.95));box-shadow:0 30px 80px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.03)}
.pf-tray-top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--linea);font:10px var(--mono);letter-spacing:.12em;color:var(--mut)}
.pf-tray-cuerpo{display:grid;grid-template-columns:1fr 280px}
.pf-tray-cuerpo canvas{width:100%;height:clamp(420px,46vw,560px);display:block}
.pf-tray-panel{border-left:1px solid var(--linea);padding:22px;font-size:14px;color:var(--mut)}
.pf-tray-panel .sem{font:500 30px/1 var(--sans);letter-spacing:-.03em;color:var(--ink)}
.pf-tray-panel .sub{font:10px var(--mono);letter-spacing:.12em;color:var(--dim);margin:8px 0 18px}
.pf-tray-panel .fila{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 0;border-top:1px solid var(--linea);font:12px var(--mono);align-items:baseline}
.pf-tray-panel .fila i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}
.pf-tray-panel .fila span:nth-child(2){color:var(--ink)}
.pf-tray-panel .up{color:#ffb3d4}.pf-tray-panel .down{color:var(--cian2)}
.pf-tray-panel .ev{margin-top:16px;padding:12px;border:1px solid rgba(226,88,155,.3);border-radius:10px;background:rgba(226,88,155,.06);font-size:13px;color:var(--ink2)}
.pf-tray-panel .ev b{display:block;font:10px var(--mono);letter-spacing:.12em;color:var(--mag);font-weight:400;margin-bottom:4px}
.pf-tray-panel .ses{margin-top:10px;padding:12px;border:1px solid rgba(70,200,232,.25);border-radius:10px;background:rgba(70,200,232,.05);font-size:13px;color:var(--ink2)}
.pf-tray-panel .ses b{display:block;font:10px var(--mono);letter-spacing:.12em;color:var(--cian);font-weight:400;margin-bottom:4px}
.pf-tray-panel .asoc{margin-top:14px;font-size:12px;line-height:1.5;color:var(--mut)}
.pf-tray-panel .asoc b{color:var(--lila);font-weight:500}

/* ── APP (mockups) ────────────────────────────────────────────────────── */
.pf-app{overflow:hidden}
.pf-app-barra{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--linea);font:11px var(--mono);color:var(--dim);background:rgba(4,7,11,.6)}
.pf-app-barra i{width:10px;height:10px;border-radius:50%;background:#1b2430}
.pf-app-barra span{margin-left:12px}
.pf-app-barra em{margin-left:auto;font-style:normal;color:#ffcfe5;letter-spacing:.12em;font-size:10px}
.pf-app-cuerpo{display:grid;grid-template-columns:220px 1fr;min-height:620px}
.pf-app-menu{display:flex;flex-direction:column;gap:4px;padding:22px 16px;border-right:1px solid var(--linea);background:rgba(4,7,11,.35)}
.pf-app-menu strong{font:600 14px var(--sans);letter-spacing:.22em;margin:0 8px 24px}
.pf-app-menu button{text-align:left;font:14px var(--sans);color:var(--mut);background:none;border:0;border-radius:10px;padding:10px 12px;cursor:pointer;transition:.2s}
.pf-app-menu button:hover{color:var(--ink);background:rgba(255,255,255,.03)}
.pf-app-menu button[aria-selected="true"]{color:var(--ink);background:linear-gradient(90deg,rgba(70,200,232,.14),transparent);box-shadow:inset 2px 0 0 var(--cian)}
.pf-app-menu small{margin-top:auto;font:10px/1.7 var(--mono);color:var(--dim);padding:0 8px}
.pf-app-vista{padding:26px;min-width:0;animation:pf-aparece .4s}
.pf-v-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.pf-v-cab h3{font-size:24px}
.pf-v-cab p{font:11px var(--mono);letter-spacing:.08em;color:var(--dim);margin-top:6px!important}
.pf-pill{font:10px var(--mono);letter-spacing:.1em;padding:5px 10px;border-radius:999px;border:1px solid var(--linea2);color:var(--ink2)}
.pf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pf-kpi{border:1px solid var(--linea);border-radius:14px;padding:14px;background:rgba(255,255,255,.015)}
.pf-kpi span{font:10px var(--mono);letter-spacing:.12em;color:var(--dim)}
.pf-kpi b{display:block;font:500 26px/1.1 var(--sans);letter-spacing:-.03em;margin:8px 0 2px}
.pf-kpi small{font:11px var(--mono)}
.pf-kpi canvas{width:100%;height:42px;display:block;margin-top:10px}
.pf-v-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-top:12px}
.pf-v-box{border:1px solid var(--linea);border-radius:14px;padding:16px;background:rgba(255,255,255,.015);min-width:0}
.pf-v-box h4{margin:0 0 12px;font:10px var(--mono);letter-spacing:.14em;color:var(--dim);font-weight:400}
.pf-v-box canvas{width:100%;display:block}
.pf-lista{list-style:none;margin:0;padding:0}
.pf-lista li{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--linea);font-size:13px;color:var(--ink2)}
.pf-lista li:first-child{border-top:0}
.pf-lista li span{font:10px var(--mono);color:var(--dim);padding-top:3px}
.pf-meta{margin-top:12px}
.pf-meta p{display:flex;justify-content:space-between;font-size:13px;color:var(--ink2)}
.pf-meta p b{font:11px var(--mono);color:var(--cian2);font-weight:400}
.pf-barra{height:4px;border-radius:4px;background:rgba(255,255,255,.06);margin:8px 0 14px;overflow:hidden}
.pf-barra i{display:block;height:100%;background:linear-gradient(90deg,var(--pet2),var(--cian))}
.pf-v-full{position:relative;height:540px;border:1px solid var(--linea);border-radius:14px;overflow:hidden;background:radial-gradient(70% 60% at 50% 55%,rgba(15,74,92,.3),transparent 70%),#03060a}
.pf-v-full canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-chat{display:grid;gap:14px}
.pf-msg{max-width:78%;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.55}
.pf-msg.yo{justify-self:end;background:rgba(70,200,232,.12);border:1px solid rgba(70,200,232,.25);color:var(--ink)}
.pf-msg.ia{background:rgba(255,255,255,.025);border:1px solid var(--linea);color:var(--ink2);max-width:100%}
.pf-msg.ia canvas{width:100%;height:150px;display:block;margin:12px 0 8px}
.pf-refs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pf-refs span{font:10px var(--mono);letter-spacing:.06em;padding:4px 8px;border-radius:999px;border:1px solid rgba(157,139,255,.35);color:#cfc6ff}
.pf-entrada{display:flex;gap:10px;margin-top:6px;padding:12px 14px;border:1px solid var(--linea2);border-radius:12px;color:var(--dim);font-size:14px}
.pf-entrada span:last-child{margin-left:auto;font:10px var(--mono);color:var(--cian)}

/* ── PATRONES ─────────────────────────────────────────────────────────── */
.pf-pat-controles{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:16px}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px}
.pf-chips button{display:inline-flex;align-items:center;gap:8px;font:13px var(--sans);color:var(--mut);background:var(--graf);border:1px solid var(--linea2);border-radius:999px;padding:8px 14px;cursor:pointer;transition:.2s}
.pf-chips button i{width:8px;height:8px;border-radius:50%;opacity:.35}
.pf-chips button[aria-pressed="true"]{color:var(--ink);border-color:rgba(255,255,255,.28)}
.pf-chips button[aria-pressed="true"] i{opacity:1;box-shadow:0 0 8px currentColor}
.pf-seg{display:inline-flex;border:1px solid var(--linea2);border-radius:999px;padding:3px;background:var(--graf)}
.pf-seg button{font:500 12px var(--mono);letter-spacing:.06em;color:var(--mut);background:none;border:0;border-radius:999px;padding:7px 14px;cursor:pointer}
.pf-seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.pf-pat-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}
.pf-pat-caja{padding:18px;min-width:0}
.pf-caja-t{font:10px var(--mono);letter-spacing:.12em;color:var(--dim);margin-bottom:12px!important}
.pf-pat-caja canvas{width:100%;height:300px;display:block}
.pf-matriz{display:grid;gap:3px}
.pf-matriz button{position:relative;aspect-ratio:1;border:0;border-radius:6px;cursor:pointer;font:500 12px var(--mono);color:var(--ink);display:grid;place-content:center;gap:2px;transition:outline .15s;outline:1px solid transparent;outline-offset:1px;padding:0}
.pf-matriz button small{font-size:8.5px;color:rgba(232,238,245,.72);font-weight:400}
.pf-matriz button.sel{outline-color:var(--ink)}
.pf-matriz button[disabled]{cursor:default}
.pf-matriz .eti{font:10px var(--mono);color:var(--mut);display:grid;place-content:center;text-align:center;letter-spacing:.02em}
.pf-pat-lectura{font:12px/1.6 var(--mono);color:var(--mut);margin-top:10px!important}
.pf-pat-lectura b{color:var(--ink);font-weight:500}
.pf-aviso{margin-top:20px!important;padding:18px 20px;border-left:2px solid var(--mag);background:rgba(226,88,155,.05);color:var(--mut);font-size:15px;max-width:880px}

/* ── IA ───────────────────────────────────────────────────────────────── */
.pf-ia-caja{padding:22px}
.pf-ia-preguntas{display:flex;flex-wrap:wrap;gap:8px}
.pf-ia-preguntas button{font:14px var(--sans);text-align:left;color:var(--ink2);background:rgba(255,255,255,.02);border:1px solid var(--linea2);border-radius:12px;padding:10px 14px;cursor:pointer;transition:.2s}
.pf-ia-preguntas button:hover{border-color:rgba(157,139,255,.5);color:var(--ink)}
.pf-ia-preguntas button[aria-pressed="true"]{border-color:var(--lila);background:rgba(157,139,255,.1);color:var(--ink)}
.pf-ia-respuesta{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-top:20px}
.pf-ia-respuesta canvas{width:100%;height:340px;display:block;border:1px solid var(--linea);border-radius:14px;background:#03060a}
.pf-ia-texto{font-size:16px;line-height:1.6;color:var(--ink2);min-height:200px}
.pf-ia-texto .q{font:11px var(--mono);letter-spacing:.1em;color:var(--lila);margin-bottom:10px}
.pf-ia-texto .cur{display:inline-block;width:8px;height:16px;background:var(--cian);vertical-align:-2px;margin-left:2px;animation:pf-late 1s infinite}
.pf-ia-texto b{color:var(--ink);font-weight:500}
.pf-ia-nota{margin-top:18px!important;letter-spacing:.04em}

/* ── PROCESO ──────────────────────────────────────────────────────────── */
.pf-proc-escena{position:relative;height:clamp(380px,36vw,460px);border:1px solid var(--linea);border-radius:22px;overflow:hidden;background:radial-gradient(60% 70% at 50% 50%,rgba(11,49,64,.3),transparent 70%),#03060a}
.pf-proc-escena canvas{position:absolute;inset:0;width:100%;height:100%}

/* ── PRIVACIDAD ───────────────────────────────────────────────────────── */
.pf-capas{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}
.pf-capa{border:1px solid var(--linea);border-radius:18px;padding:26px}
.pf-capa h3{margin:12px 0 10px}
.pf-capa p:not(.pf-rotulo){color:var(--mut);font-size:15px}
.pf-capa-exp{background:linear-gradient(160deg,rgba(15,74,92,.35),rgba(8,12,18,.9))}
.pf-capa-cli{background:rgba(255,255,255,.015)}
.pf-capa-cli .pf-rotulo{color:var(--mut)}
.pf-capa-puente{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font:10px/1.5 var(--mono);letter-spacing:.08em;color:var(--dim);text-align:center}
.pf-capa-puente i{width:1px;flex:1;min-height:30px;background:repeating-linear-gradient(var(--linea2) 0 4px,transparent 4px 8px)}
.pf-flujo{position:relative;margin-top:56px}
.pf-flujo ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative;z-index:1}
.pf-flujo li{border:1px solid var(--linea);border-radius:14px;padding:16px 14px;background:var(--graf);transition:border-color .3s,box-shadow .3s}
.pf-flujo li b{display:block;font-weight:500;font-size:15px}
.pf-flujo li span{display:block;font-size:12px;line-height:1.45;color:var(--mut);margin-top:6px}
.pf-flujo li.on{border-color:rgba(70,200,232,.55);box-shadow:0 0 0 1px rgba(70,200,232,.2),0 0 30px -10px rgba(70,200,232,.5)}
.pf-flujo li:nth-child(5){background:linear-gradient(160deg,rgba(15,74,92,.5),var(--graf))}
.pf-flujo-riel{position:absolute;left:4%;right:4%;top:50%;height:1px;background:var(--linea2)}
.pf-flujo-riel i{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--cian2);box-shadow:0 0 12px var(--cian);left:var(--x,0%)}
.pf-controles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0;margin:48px 0 0;border-top:1px solid var(--linea)}
.pf-controles div{padding:20px 20px 20px 0;border-bottom:1px solid var(--linea)}
.pf-controles dt{font:500 11px var(--mono);letter-spacing:.12em;color:var(--cian);text-transform:uppercase}
.pf-controles dd{margin:8px 0 0;font-size:14px;color:var(--mut);padding-right:14px}
.pf-chile{margin-top:48px;padding:26px 28px;border:1px solid var(--linea);border-radius:18px;background:rgba(255,255,255,.015)}
.pf-chile p:not(.pf-rotulo){margin-top:12px!important;color:var(--mut);font-size:15px;max-width:920px}
.pf-chile a{color:var(--cian2)}

/* ── LÍMITES ──────────────────────────────────────────────────────────── */
.pf-lim-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}
.pf-lim-col{border:1px solid var(--linea);border-radius:18px;padding:26px}
.pf-lim-col h3{margin-bottom:16px}
.pf-lim-col ul{list-style:none;margin:0;padding:0}
.pf-lim-col li{padding:9px 0 9px 26px;border-top:1px solid var(--linea);color:var(--ink2);font-size:15px;position:relative}
.pf-lim-col li::before{content:'';position:absolute;left:2px;top:17px;width:10px;height:2px;background:var(--cian)}
.pf-lim-no li::before{background:var(--mag);transform:rotate(45deg);box-shadow:0 0 0 0 transparent}
.pf-lim-no li::after{content:'';position:absolute;left:2px;top:17px;width:10px;height:2px;background:var(--mag);transform:rotate(-45deg)}
.pf-lim-vis{background:linear-gradient(160deg,rgba(42,29,82,.35),transparent)}
.pf-lim-vis p{color:var(--mut);font-size:15px;margin-top:12px!important}
.pf-lim-vis strong{color:var(--ink);font-weight:500}

/* ── CIERRE ───────────────────────────────────────────────────────────── */
.pf-cierre{min-height:78vh;display:flex;align-items:center;overflow:hidden}
.pf-cierre canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-cierre-in{position:relative;z-index:1}
.pf-cierre h2{font-size:clamp(46px,7vw,104px)!important;margin-top:20px}
.pf-cierre p:not(.pf-rotulo){margin-top:28px!important;color:var(--mut);font-size:18px;max-width:640px}
.pf-pie{width:var(--ancho);margin:0 auto;padding:40px 0 56px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--linea);font-size:13px;color:var(--dim)}
.pf-pie strong{display:block;letter-spacing:.22em;color:var(--ink);font-size:14px}
.pf-pie p{font:10px var(--mono);letter-spacing:.1em}
.pf-pie a{color:var(--mut);text-decoration:none}

/* ── APARICIÓN ─────────────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--rv,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--rv,0ms)}
.rv.in{opacity:1;transform:none}
.pf-credito{position:absolute;right:14px;bottom:10px;font:9.5px var(--mono);letter-spacing:.06em;color:rgba(232,238,245,.55);z-index:3;margin:0}

/* ── LA CONSULTA ──────────────────────────────────────────────────────── */
.pf-cons{padding:0;min-height:min(92vh,900px);display:grid;align-items:center;overflow:hidden}
.pf-cons-foto{position:absolute;inset:0 0 0 30%;overflow:hidden}
.pf-cons-foto img{width:100%;height:100%;object-fit:cover;object-position:40% 45%;filter:saturate(.78) contrast(1.04) brightness(.8);transform:scale(1.06);transition:transform 2.4s cubic-bezier(.2,.7,.2,1)}
.pf-cons.vivo .pf-cons-foto img{transform:scale(1)}
.pf-cons-velo{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(4,7,11,.86) 18%,rgba(4,7,11,.25) 50%,rgba(4,7,11,.1) 75%,rgba(4,7,11,.55) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 22%,transparent 80%,var(--bg) 100%),radial-gradient(60% 60% at 70% 50%,transparent 40%,rgba(11,49,64,.35) 100%);mix-blend-mode:normal}
.pf-cons-foto::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(15,74,92,.35),rgba(42,29,82,.25));mix-blend-mode:color}
.pf-cons-chips span{position:absolute;left:var(--x);top:var(--y);z-index:2;font:500 11px var(--mono);letter-spacing:.06em;color:var(--ink);padding:7px 11px;border-radius:999px;border:1px solid rgba(143,230,245,.4);background:rgba(4,7,11,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .7s calc(.5s + var(--d)*.35s),transform .7s calc(.5s + var(--d)*.35s);white-space:nowrap}
.pf-cons.vivo .pf-cons-chips span{opacity:1;transform:none}
.pf-cons-chips .c-c{border-color:rgba(70,200,232,.6);color:var(--cian2)}
.pf-cons-chips .c-m{border-color:rgba(226,88,155,.55);color:#ffc2dc}
.pf-cons-chips .c-l{border-color:rgba(157,139,255,.55);color:#d9d1ff}
.pf-cons-chips .c-q{border-style:dashed;color:var(--ink2);font-style:italic}
.pf-cons-texto{position:relative;z-index:2;padding:clamp(100px,12vw,160px) 0}
.pf-cons-texto>*{max-width:520px}
.pf-cons-texto h2{margin-top:18px}
.pf-cons-bajada{margin-top:24px!important;color:var(--ink2);font-size:clamp(17px,1.4vw,19px)}
.pf-cons-momentos{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea2)}
.pf-cons-momentos li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--linea)}
.pf-cons-momentos b{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cian);padding-top:3px}
.pf-cons-momentos span{color:var(--mut);font-size:15px}

/* ── PLATAFORMA ───────────────────────────────────────────────────────── */
.pf-lado{position:relative;display:inline-flex;gap:4px;padding:4px;border:1px solid var(--linea2);border-radius:18px;background:var(--graf);margin-bottom:22px}
.pf-lado button{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 20px 12px 14px;border:0;border-radius:14px;background:none;color:var(--mut);cursor:pointer;text-align:left;transition:color .3s}
.pf-lado button b{display:block;font:500 15px var(--sans);color:inherit}
.pf-lado button small{display:block;font:10px var(--mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.pf-lado button[aria-selected="true"]{color:var(--ink)}
.pf-lado button[aria-selected="true"] small{color:var(--cian)}
.pf-lado em{position:absolute;top:4px;bottom:4px;left:4px;border-radius:14px;background:linear-gradient(180deg,rgba(70,200,232,.18),rgba(70,200,232,.06));box-shadow:inset 0 0 0 1px rgba(143,230,245,.35);transition:transform .45s cubic-bezier(.2,.7,.2,1),width .45s}
.pf-lado i{width:34px;height:34px;border-radius:10px;border:1px solid var(--linea2);position:relative;flex:none}
.pf-lado .ic-web::before{content:'';position:absolute;inset:8px 6px 10px;border:1.5px solid currentColor;border-radius:3px}
.pf-lado .ic-web::after{content:'';position:absolute;left:12px;right:12px;bottom:7px;height:1.5px;background:currentColor}
.pf-lado .ic-app::before{content:'';position:absolute;inset:6px 11px;border:1.5px solid currentColor;border-radius:4px}
.pf-lado .ic-app::after{content:'';position:absolute;left:15px;right:15px;bottom:9px;height:1.5px;background:currentColor}
.pf-hoy{display:grid;grid-template-columns:minmax(260px,.9fr) 1.2fr;gap:14px}
.pf-agenda{list-style:none;margin:0;padding:0;display:grid;gap:8px;align-content:start}
.pf-agenda button{width:100%;display:grid;grid-template-columns:52px 1fr 76px;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--linea);background:rgba(255,255,255,.015);color:var(--ink2);cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.pf-agenda button:hover{border-color:var(--linea2);transform:translateX(2px)}
.pf-agenda button[aria-pressed="true"]{border-color:rgba(143,230,245,.5);background:linear-gradient(90deg,rgba(70,200,232,.1),rgba(70,200,232,.02))}
.pf-agenda time{font:500 13px var(--mono);color:var(--ink)}
.pf-agenda b{display:block;font-weight:500;color:var(--ink);font-size:15px}
.pf-agenda small{display:block;font:10.5px var(--mono);color:var(--dim);margin:2px 0 8px}
.pf-agenda em{display:flex;flex-wrap:wrap;gap:5px;font-style:normal}
.pf-agenda em i{font:10px var(--mono);font-style:normal;padding:3px 7px;border-radius:999px;border:1px solid var(--linea2);color:var(--mut)}
.pf-agenda .ch-ok{color:#9ff0d4;border-color:rgba(63,224,176,.4)}
.pf-agenda .ch-ojo{color:#ffc2dc;border-color:rgba(226,88,155,.45)}
.pf-agenda canvas{width:76px;height:32px}
.pf-brief{border:1px solid var(--linea);border-radius:16px;padding:22px;background:linear-gradient(160deg,rgba(15,74,92,.22),rgba(8,12,18,.6));min-width:0}
.pf-brief h4{margin:8px 0 12px;font:500 22px var(--sans);letter-spacing:-.02em}
.pf-brief-lista{margin:0;padding:0;list-style:none}
.pf-brief-lista li{position:relative;padding:8px 0 8px 20px;border-top:1px solid var(--linea);font-size:14px;color:var(--ink2)}
.pf-brief-lista li::before{content:'';position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--cian)}
.pf-brief-graf{margin-top:12px}
.pf-brief-graf canvas{width:100%;height:60px;display:block}
.pf-brief-graf small{font:10px var(--mono);color:var(--dim)}
.pf-brief-nota{margin-top:14px;padding:14px;border-radius:12px;background:rgba(242,179,94,.07);border:1px solid rgba(242,179,94,.3);font-size:15px;color:var(--ink);font-style:italic}
.pf-brief-nota b{display:block;font:500 10px var(--mono);letter-spacing:.12em;color:#f2b35e;font-style:normal;margin-bottom:6px}
.pf-brief-pie{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
.pf-consent{font:10.5px var(--mono);color:var(--mut)}
.pf-consent::before{content:'●';color:#3fe0b0;margin-right:6px}
.pf-mini-btn{font:500 13px var(--sans);padding:9px 14px;border-radius:10px;border:1px solid rgba(143,230,245,.45);background:rgba(70,200,232,.1);color:var(--cian2);cursor:pointer}
.pf-mini-btn[disabled]{opacity:.5;cursor:default}
.pf-brief-vacio{color:var(--mut);margin:6px 0 16px!important}


/* ── PANEL WEB DEL PROFESIONAL ───────────────────────────────────────── */
.pf-app{background:linear-gradient(180deg,rgba(13,19,28,.96),rgba(6,10,15,.98));box-shadow:0 60px 120px -60px rgba(0,0,0,.9),0 0 0 1px rgba(150,185,215,.1),0 0 140px -70px rgba(70,200,232,.45)}
.pf-app-cuerpo{grid-template-columns:232px 1fr!important;min-height:680px}
.pf-app-menu{gap:2px!important;padding:20px 12px!important;background:linear-gradient(180deg,rgba(8,12,18,.7),rgba(4,7,11,.4))!important}
.pf-app-menu strong{display:flex;align-items:center;gap:10px;margin:0 8px 22px!important}
.pf-logo-m{width:22px;height:22px;border-radius:7px;background:conic-gradient(from 200deg,#8fe6f5,#9d8bff,#46c8e8,#8fe6f5);box-shadow:0 0 16px -2px rgba(70,200,232,.8)}
.pf-menu-t{font:500 9.5px var(--mono);letter-spacing:.16em;color:var(--dim);margin:14px 12px 6px!important}
.pf-app-menu button{display:flex!important;align-items:center;gap:11px}
.pf-app-menu button svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.pf-app-menu button em{margin-left:auto;font:500 10px var(--mono);font-style:normal;padding:2px 7px;border-radius:999px;background:rgba(226,88,155,.18);color:#ffc2dc}
.pf-app-menu button[aria-selected="true"] svg{color:var(--cian2);opacity:1;filter:drop-shadow(0 0 5px rgba(70,200,232,.7))}
.pf-menu-yo{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 10px;border-top:1px solid var(--linea)}
.pf-menu-yo i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--sans);font-style:normal;color:#031018;background:linear-gradient(135deg,#e8eef5,#8c99a9)}
.pf-menu-yo b{display:block;font:500 13px var(--sans);color:var(--ink)}
.pf-menu-yo small{font:10px var(--mono);color:var(--dim)}
.pf-app-main{min-width:0;display:flex;flex-direction:column}
.pf-app-top{display:flex;align-items:center;gap:16px;padding:14px 26px;border-bottom:1px solid var(--linea)}
.pf-buscar{flex:1;max-width:420px;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;border:1px solid var(--linea2);background:rgba(255,255,255,.02)}
.pf-buscar svg{width:16px;height:16px;fill:none;stroke:var(--dim);stroke-width:1.8}
.pf-buscar input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--ink);font:14px var(--sans)}
.pf-buscar input::placeholder{color:var(--dim)}
.pf-buscar kbd{font:10px var(--mono);color:var(--dim);border:1px solid var(--linea2);border-radius:6px;padding:2px 6px}
.pf-app-fecha{margin-left:auto;font:11px var(--mono);letter-spacing:.06em;color:var(--mut)}
.pf-campana{position:relative;width:38px;height:38px;border-radius:12px;border:1px solid var(--linea2);background:none;color:var(--ink2);cursor:pointer;display:grid;place-items:center}
.pf-campana svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.pf-campana i{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--mag);box-shadow:0 0 8px var(--mag)}
.pf-dia{position:relative;height:74px;margin:-4px 0 14px;border:1px solid var(--linea);border-radius:14px;background:rgba(255,255,255,.012)}
.pf-dia canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-brief-cab{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pf-brief-orbe{flex:none;position:relative;width:128px;height:128px;margin:-12px -8px 4px 0}
.pf-brief-orbe canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-brief-orbe small{position:absolute;left:0;right:0;bottom:-2px;text-align:center;font:500 8.5px var(--mono);letter-spacing:.12em;color:var(--dim)}
.pf-paciente{display:flex;align-items:center;gap:14px}
.pf-paciente i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font:500 13px var(--mono);font-style:normal;color:#031018;background:linear-gradient(135deg,#8fe6f5,#9d8bff);box-shadow:0 0 22px -6px rgba(143,230,245,.8)}
.pf-kpi{position:relative;overflow:hidden;transition:border-color .3s,transform .3s}
.pf-kpi::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--kc);opacity:.7}
.pf-kpi:hover{border-color:var(--linea2);transform:translateY(-2px)}
.pf-kpi b em{font-style:normal}
.pf-v-col{display:grid;gap:12px;align-content:start}
.pf-v-col .pf-v-box{margin:0}
.pf-orbe-box{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}
.pf-orbe-lz{position:relative;width:120px;height:120px}
.pf-orbe-lz canvas{position:absolute;inset:0;width:100%;height:100%}
.pf-orbe-box h4{margin-bottom:6px!important}
.pf-orbe-box p{font-size:12.5px;line-height:1.5;color:var(--mut)}
.pf-anillos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-anillo{display:grid;justify-items:center;text-align:center;gap:4px;position:relative}
.pf-anillo svg{width:74px;height:74px;transform:rotate(-90deg)}
.pf-anillo circle{fill:none;stroke:rgba(255,255,255,.07);stroke-width:6}
.pf-anillo circle[data-p]{stroke:url(#gAnP);stroke:var(--cian);stroke-linecap:round;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 0 4px rgba(70,200,232,.7))}
.pf-anillo b{position:absolute;top:24px;font:500 15px var(--sans)}
.pf-anillo small{font-size:11.5px;line-height:1.35;color:var(--mut)}
.pf-agenda button{position:relative;overflow:hidden}
.pf-agenda button[aria-pressed="true"]::after{content:'';position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--cian),var(--lila));box-shadow:0 0 10px rgba(70,200,232,.8)}

/* ── ESCENA DEL PACIENTE ──────────────────────────────────────────────── */
.pf-escena{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(20px,4vw,64px);padding:clamp(40px,5vw,72px) clamp(20px,3vw,48px);border-radius:28px;border:1px solid var(--linea);overflow:hidden;isolation:isolate}
.pf-escena-fondo{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(38% 52% at 50% 50%,rgba(70,200,232,.22),transparent 70%),
  radial-gradient(30% 40% at 62% 68%,rgba(157,139,255,.2),transparent 70%),
  radial-gradient(28% 36% at 38% 30%,rgba(242,179,94,.08),transparent 70%),
  radial-gradient(rgba(150,185,215,.09) 1px,transparent 1.2px) 0 0/22px 22px,var(--bg2)}
.pf-escena-fondo::after{content:'';position:absolute;left:50%;top:50%;width:520px;height:520px;border-radius:50%;border:1px solid rgba(143,230,245,.12);transform:translate(-50%,-50%);box-shadow:0 0 0 70px rgba(143,230,245,.03),0 0 0 140px rgba(143,230,245,.02)}
.pf-feats{display:flex;flex-direction:column;gap:14px}
.pf-feat{position:relative;display:grid;grid-template-columns:40px 1fr;grid-template-areas:'ic n' 'ic b' 'ic s';align-items:start;gap:3px 14px;width:min(100%,340px);padding:18px 20px;border:1px solid transparent;border-radius:18px;background:none;color:var(--mut);text-align:left;cursor:pointer;transition:background .35s,border-color .35s,color .35s}
.pf-feats-izq{align-items:flex-end}.pf-feats-der{align-items:flex-start}
.pf-feats-izq .pf-feat{text-align:right;grid-template-columns:1fr 40px;grid-template-areas:'n ic' 'b ic' 's ic'}
.pf-feat .pf-feat-ic{grid-area:ic}.pf-feat .pf-feat-n{grid-area:n}.pf-feat b{grid-area:b}.pf-feat small{grid-area:s}
.pf-feat-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--linea2);color:var(--mut);transition:.35s}
.pf-feat-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pf-feat-n{font:500 10.5px var(--mono);letter-spacing:.14em;color:var(--dim)}
.pf-feat b{font:500 17px/1.25 var(--sans);letter-spacing:-.01em;color:var(--ink2)}
.pf-feat small{font-size:13.5px;line-height:1.5;color:var(--dim);max-height:0;overflow:hidden;opacity:0;transition:max-height .45s,opacity .45s}
.pf-feat-linea{position:absolute;top:50%;width:clamp(10px,3vw,48px);height:1px;background:linear-gradient(90deg,transparent,rgba(143,230,245,.7));opacity:0;transition:opacity .35s}
.pf-feats-izq .pf-feat-linea{right:calc(-1*clamp(10px,3vw,48px))}
.pf-feats-der .pf-feat-linea{left:calc(-1*clamp(10px,3vw,48px));transform:scaleX(-1)}
.pf-feat:hover{color:var(--ink)}
.pf-feat:hover b{color:var(--ink)}
.pf-feat[aria-pressed="true"]{background:linear-gradient(180deg,rgba(15,22,32,.85),rgba(8,12,18,.85));border-color:rgba(143,230,245,.35);box-shadow:0 20px 50px -30px rgba(70,200,232,.5)}
.pf-feat[aria-pressed="true"] b{color:var(--ink)}
.pf-feat[aria-pressed="true"] small{max-height:60px;opacity:1;color:var(--mut)}
.pf-feat[aria-pressed="true"] .pf-feat-n{color:var(--cian)}
.pf-feat[aria-pressed="true"] .pf-feat-ic{color:#031018;background:var(--cian2);border-color:var(--cian2);box-shadow:0 0 24px -4px rgba(70,200,232,.8)}
.pf-feat[aria-pressed="true"] .pf-feat-linea{opacity:1}
.pf-feat-desc{display:none}
.pf-tel-zona{position:relative}
.pf-notif{position:absolute;z-index:3;display:flex;gap:10px;align-items:center;width:250px;padding:11px 13px;border-radius:18px;background:rgba(16,24,34,.78);border:1px solid rgba(150,185,215,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#e8eef5;box-shadow:0 24px 50px -20px rgba(0,0,0,.7);animation:pf-flota 6s ease-in-out infinite}
.pf-notif i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#8fe6f5,#9d8bff);color:#031018}
.pf-notif i svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-notif b{display:block;font:600 11px var(--sans);letter-spacing:.02em;color:#8c99a9}
.pf-notif span{display:block;font:500 12.5px/1.35 var(--sans);color:#e8eef5}
.pf-notif-a{top:-26px;left:-196px}
.pf-notif-b{bottom:34px;right:-206px;animation-delay:-3s}
@keyframes pf-flota{50%{transform:translateY(-8px)}}

/* teléfono */
.pf-tel{position:relative;width:320px;height:664px;border-radius:54px;padding:12px;background:linear-gradient(150deg,#2b3542,#0b1017 40%,#1a222c);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.08),0 0 0 1px #05080c,0 50px 100px -30px rgba(0,0,0,.95),0 0 120px -40px rgba(70,200,232,.55)}
.pf-tel::before{content:'';position:absolute;inset:12px;border-radius:42px;background:#f5f2ec;z-index:0}
.pf-tel>*{position:relative;z-index:1}
.pf-tel-isla{position:absolute!important;top:22px;left:50%;transform:translateX(-50%);width:100px;height:29px;border-radius:20px;background:#05080c;z-index:4!important}
.pf-tel-estado{display:flex;justify-content:space-between;align-items:center;height:48px;padding:6px 26px 0 30px;font:600 14px var(--sans);color:#141a24}
.pf-tel-sis{display:flex;gap:5px;align-items:center}
.pf-tel-sis svg{height:11px;width:auto;fill:#141a24}
.pf-tel-pantalla{position:absolute!important;top:60px;left:12px;right:12px;bottom:92px;overflow:hidden auto;padding:6px 18px 16px;color:#141a24;font-family:var(--sans);scrollbar-width:none}
.pf-tel-pantalla::-webkit-scrollbar{display:none}
.pf-tel-tabs{position:absolute!important;left:12px;right:12px;bottom:12px;height:80px;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px 22px;border-radius:0 0 42px 42px;background:rgba(245,242,236,.94);backdrop-filter:blur(10px);border-top:1px solid rgba(20,26,36,.06)}
.pf-tel-tabs button{background:none;border:0;display:grid;justify-items:center;align-content:center;gap:3px;color:#9aa0a8;cursor:pointer;font:600 10px var(--sans)}
.pf-tel-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pf-tel-tabs button[aria-selected="true"]{color:#0e6f84}
.pf-tel-home{position:absolute!important;bottom:20px;left:50%;transform:translateX(-50%);width:110px;height:4px;border-radius:4px;background:#141a24;z-index:3!important}

/* app (modo oscuro) */
.pf-tel::before{background:radial-gradient(120% 60% at 50% 0%,#10233a 0%,#070b12 55%,#05080d 100%)!important}
.pf-tel-estado{color:#e8eef5!important}
.pf-tel-sis svg{fill:#e8eef5!important}
.pf-tel-tabs{background:rgba(8,12,18,.82)!important;border-top:1px solid rgba(150,185,215,.1)!important}
.pf-tel-tabs button{color:#5d6a7a!important}
.pf-tel-tabs button[aria-selected="true"]{color:#8fe6f5!important}
.pf-tel-tabs button[aria-selected="true"] svg{filter:drop-shadow(0 0 6px rgba(70,200,232,.8))}
.pf-tel-home{background:#e8eef5!important;opacity:.8}
.pf-tel-pantalla{color:#e8eef5!important}
.ta-top{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px}
.ta-top small{font:500 10px var(--mono);letter-spacing:.14em;color:#5d6a7a;text-transform:uppercase}
.ta-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--sans);color:#031018;background:linear-gradient(135deg,#8fe6f5,#9d8bff);box-shadow:0 0 16px -2px rgba(143,230,245,.6)}
.ta-h{font:500 24px/1.1 var(--sans);letter-spacing:-.035em;margin:0 0 4px;color:#f2f6fa}
.ta-p{font-size:13.5px;color:#8c99a9;margin:0 0 12px}
.ta-orbe{position:relative;height:210px;margin:0 -18px 10px}
.ta-orbe canvas{position:absolute;inset:0;width:100%;height:100%}
.ta-orbe-l{position:absolute;left:0;right:0;bottom:2px;text-align:center;font:500 9px/1.6 var(--mono);letter-spacing:.16em;color:#5d6a7a}
.ta-orbe-l b{font:500 12.5px var(--sans);letter-spacing:0;color:#dfe6ee}
.ta-ley{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin:10px 0 0;font:500 9.5px var(--mono);color:#5d6a7a}
.ta-card{background:linear-gradient(180deg,rgba(22,30,42,.85),rgba(12,17,25,.85));border:1px solid rgba(150,185,215,.1);border-radius:20px;padding:14px;margin-bottom:9px}
.ta-lbl{display:flex;justify-content:space-between;align-items:baseline;font:500 12.5px var(--sans);color:#c5cfdb;margin-bottom:11px}
.ta-lbl em{font-style:normal;font:500 11px var(--mono);letter-spacing:.04em;color:#8fe6f5}
.ta-animo{position:relative;height:40px}
.ta-animo::before{content:'';position:absolute;left:10px;right:10px;top:50%;height:4px;border-radius:4px;transform:translateY(-50%);background:linear-gradient(90deg,#5b5bd6,#46a8e8,#46c8e8,#8fe6c0,#f2b35e)}
.ta-animo button{position:absolute;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid #05080d;background:#1b2430;cursor:pointer;transition:transform .25s,background .25s,box-shadow .25s;padding:0}
.ta-animo button.on{transform:scale(1.35);background:#fff;box-shadow:0 0 0 3px rgba(143,230,245,.4),0 0 18px rgba(143,230,245,.9)}
.ta-animo-e{display:flex;justify-content:space-between;font:500 10px var(--sans);color:#5d6a7a;margin-top:2px}
.ta-sue{display:grid;grid-template-columns:40px 1fr 40px;align-items:center}
.ta-sue button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(150,185,215,.2);background:rgba(255,255,255,.03);color:#e8eef5;font:400 20px var(--sans);cursor:pointer}
.ta-arco{position:relative;height:74px}
.ta-arco svg{width:100%;height:100%;overflow:visible}
.ta-arco b{position:absolute;left:0;right:0;bottom:2px;text-align:center;font:500 26px/1 var(--sans);letter-spacing:-.03em}
.ta-arco b small{font-size:12px;color:#8c99a9;margin-left:2px}
.ta-niv{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.ta-niv button{height:26px;border-radius:8px;border:0;background:rgba(255,255,255,.05);cursor:pointer;transition:.3s}
.ta-niv button.on{background:var(--n);box-shadow:0 0 14px -2px var(--n)}
.ta-niv-e{display:flex;justify-content:space-between;font:500 10px var(--sans);color:#5d6a7a;margin-top:6px}
.ta-tags{display:flex;flex-wrap:wrap;gap:6px}
.ta-tags button{font:500 12px var(--sans);padding:7px 11px;border-radius:999px;border:1px solid rgba(150,185,215,.18);background:rgba(255,255,255,.02);color:#c5cfdb;cursor:pointer;transition:.2s}
.ta-tags button.on{background:rgba(143,230,245,.14);border-color:rgba(143,230,245,.6);color:#e8f9fc}
.ta-btn{width:100%;margin-top:4px;padding:14px;border:0;border-radius:16px;background:linear-gradient(95deg,#8fe6f5,#46c8e8 55%,#9d8bff);color:#031018;font:600 15px var(--sans);cursor:pointer;box-shadow:0 12px 30px -12px rgba(70,200,232,.8)}
.ta-ok{text-align:center;padding-top:6px}
.ta-ok h4{font:500 22px var(--sans);letter-spacing:-.02em;margin:0 0 6px;color:#f2f6fa}
.ta-ok p{font-size:13.5px;color:#8c99a9;margin:0 auto;max-width:230px}
.ta-racha{display:flex;justify-content:center;gap:9px;margin:20px 0 4px}
.ta-racha span{display:grid;justify-items:center;gap:6px;font:500 10.5px var(--sans);color:#5d6a7a}
.ta-racha i{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.06)}
.ta-racha .si i{background:linear-gradient(135deg,#8fe6f5,#46c8e8);box-shadow:0 0 12px -2px rgba(70,200,232,.8)}
.ta-racha .hoy i{background:linear-gradient(135deg,#f2d38f,#9d8bff);box-shadow:0 0 16px rgba(157,139,255,.9)}
.ta-link{margin-top:14px;background:none;border:0;color:#8fe6f5;font:500 13.5px var(--sans);cursor:pointer}
.ta-const{position:relative;height:200px;margin:0 -4px}
.ta-const canvas{position:absolute;inset:0;width:100%;height:100%}
.ta-dias{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font:500 10px var(--mono);color:#5d6a7a;margin-top:4px}
.ta-dos{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ta-dos .ta-card{margin:0}
.ta-dos b{display:block;font:500 22px var(--sans);letter-spacing:-.03em;color:#f2f6fa;margin:2px 0}
.ta-dos small{font-size:11px;color:#8c99a9}
.ta-nota{font-size:12px;line-height:1.5;color:#5d6a7a;margin:10px 4px 0}
.ta-cita{display:grid;grid-template-columns:74px 1fr;gap:14px;align-items:center}
.ta-anillo{position:relative;width:74px;height:74px}
.ta-anillo svg{width:100%;height:100%;transform:rotate(-90deg)}
.ta-anillo b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:500 18px/1 var(--sans)}
.ta-anillo b small{display:block;font:500 9px var(--mono);letter-spacing:.1em;color:#8c99a9;margin-top:3px}
.ta-cita p{margin:0;font:500 15px var(--sans);color:#f2f6fa}
.ta-cita span{font-size:12px;color:#8c99a9}
.ta-temas{list-style:none;margin:0 0 10px;padding:0}
.ta-temas li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(150,185,215,.08);font-size:13.5px;line-height:1.4;color:#dfe6ee;cursor:pointer}
.ta-temas li i{flex:none;width:20px;height:20px;border-radius:7px;border:1.5px solid rgba(150,185,215,.35);position:relative;margin-top:1px;transition:.2s}
.ta-temas li.ok{color:#5d6a7a;text-decoration:line-through}
.ta-temas li.ok i{background:#46c8e8;border-color:#46c8e8;box-shadow:0 0 10px rgba(70,200,232,.6)}
.ta-temas li.ok i::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #031018;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ta-add{display:flex;gap:8px}
.ta-add input{flex:1;min-width:0;border:1px solid rgba(150,185,215,.18);border-radius:13px;padding:10px 12px;font:16px var(--sans);color:#e8eef5;background:rgba(255,255,255,.03)}
.ta-add button{width:44px;border:0;border-radius:13px;background:#8fe6f5;color:#031018;font-size:20px;cursor:pointer}
.ta-flujo{position:relative;height:190px;margin:0 -4px}
.ta-flujo canvas{position:absolute;inset:0;width:100%;height:100%}
.ta-sw{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 0;border:0;border-bottom:1px solid rgba(150,185,215,.08);background:none;font:500 14px var(--sans);color:#e8eef5;cursor:pointer;text-align:left}
.ta-sw:last-child{border-bottom:0}
.ta-sw span{display:flex;align-items:center;gap:9px}
.ta-sw span i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.ta-sw small{display:block;font-size:11px;color:#5d6a7a;font-weight:400}
.ta-sw > i{flex:none;width:44px;height:26px;border-radius:26px;background:rgba(255,255,255,.1);position:relative;transition:background .25s}
.ta-sw > i::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#8c99a9;transition:transform .25s,background .25s}
.ta-sw.on > i{background:rgba(70,200,232,.35)}
.ta-sw.on > i::after{transform:translateX(18px);background:#8fe6f5;box-shadow:0 0 10px rgba(143,230,245,.9)}

/* ── LÍMITES (dúo) ────────────────────────────────────────────────────── */
.pf-duo{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.pf-duo-cab{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--linea);min-height:230px;display:flex;align-items:flex-end;gap:16px;padding:24px}
.pf-duo-cab h3{font-size:26px;margin-top:6px}
.pf-duo-maq{background:radial-gradient(70% 90% at 20% 30%,rgba(15,74,92,.55),transparent),var(--graf)}
.pf-duo-glifo{position:absolute;inset:0 0 auto auto;width:62%;height:100%;opacity:.9}
.pf-duo-glifo canvas{width:100%;height:100%;display:block}
.pf-duo-maq>div:last-child{position:relative}
.pf-duo-hum img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.62);object-position:50% 40%}
.pf-duo-hum::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,11,.92),rgba(4,7,11,.1) 70%),linear-gradient(120deg,rgba(242,179,94,.12),transparent);z-index:1}
.pf-duo-hum>div{position:relative;z-index:2}
.pf-duo-hum .pf-rotulo{color:#f2b35e}
.pf-duo-hum .pf-credito{top:10px;bottom:auto}
.pf-duo-filas{grid-column:1/-1;list-style:none;margin:14px 0 0;padding:0}
.pf-duo-filas li{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;min-height:62px;border-bottom:1px solid var(--linea)}
.pf-duo-filas li span{font-size:clamp(15px,1.4vw,19px);letter-spacing:-.01em;padding:10px 0}
.pf-duo-filas li span:first-child{color:var(--ink2);text-align:right}
.pf-duo-filas li span:last-child{color:var(--ink)}
.pf-duo-filas i{position:relative;height:100%;display:block}
.pf-duo-filas i::before{content:'';position:absolute;left:12px;right:12px;top:50%;height:1px;background:linear-gradient(90deg,var(--cian),#f2b35e)}
.pf-duo-filas i::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--bg);border:1.5px solid var(--ink2);transform:translate(-50%,-50%)}
.pf-duo-filas li.in i::before{animation:pf-cable .9s var(--rv,0ms) both}
@keyframes pf-cable{from{transform:scaleX(0)}}
.pf-fuera{margin-top:64px}
.pf-cinta{margin-top:16px;overflow:hidden;border-block:1px solid var(--linea2);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pf-cinta-in{display:flex;width:max-content;animation:pf-cinta 38s linear infinite}
.pf-cinta span{font:400 clamp(26px,3.4vw,46px)/1 var(--sans);letter-spacing:-.03em;color:var(--mut);padding:22px 28px;white-space:nowrap;position:relative}
.pf-cinta span::before{content:'';position:absolute;left:0;right:0;top:52%;height:2px;background:var(--mag);opacity:.75;transform:rotate(-2deg)}
.pf-cinta span::after{content:'·';position:absolute;right:-6px;color:var(--dim)}
@keyframes pf-cinta{to{transform:translateX(-50%)}}
.pf-etiquetas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.pf-etiquetas article{position:relative;padding:20px 18px 18px;border-radius:14px;border:1px dashed var(--linea2);background:rgba(255,255,255,.012)}
.pf-etiquetas article::before{content:'';position:absolute;top:14px;right:14px;width:9px;height:9px;border-radius:50%;border:1px solid var(--linea2)}
.pf-etiquetas b{display:block;font-weight:500;font-size:17px;margin:10px 0 6px}
.pf-etiquetas p:not(.pf-rotulo){color:var(--mut);font-size:13.5px;line-height:1.55}

/* ── RESPONSIVE ───────────────────────────────────────────────────────── */
@media (max-width:1100px){
  .pf-etiquetas{grid-template-columns:1fr 1fr}
  .pf-pat-grid{grid-template-columns:1fr 1fr}.pf-pat-grid>.pf-pat-caja:first-child{grid-column:1/-1}
  .pf-flujo ol{grid-template-columns:repeat(3,1fr)}.pf-flujo-riel{display:none}
  .pf-lim-grid{grid-template-columns:1fr 1fr}.pf-lim-vis{grid-column:1/-1}
  .pf-kpis{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .pf-app-cuerpo{grid-template-columns:1fr!important;min-height:0}
  .pf-app-menu .pf-menu-t,.pf-app-menu .pf-menu-yo,.pf-app-menu button em{display:none!important}
  .pf-app-menu button svg{width:16px;height:16px}
  .pf-app-top{padding:10px 14px;gap:10px}.pf-app-fecha,.pf-buscar kbd{display:none}
  .pf-dia{height:64px}
  .pf-brief-orbe{width:96px;height:96px}
  .pf-orbe-box{grid-template-columns:96px 1fr}.pf-orbe-lz{width:96px;height:96px}
  .pf-escena{grid-template-columns:1fr 1fr;padding:14px 8px 26px;gap:14px 4px;border-radius:24px}
  .pf-feats{flex-direction:row;gap:4px}
  .pf-feats-izq{grid-column:1;grid-row:1}.pf-feats-der{grid-column:2;grid-row:1}
  .pf-tel-zona{grid-column:1/-1;grid-row:2}
  .pf-feat,.pf-feats-izq .pf-feat{flex:1;min-width:0;grid-template-columns:1fr;justify-items:center;text-align:center;padding:10px 6px;gap:6px}
  .pf-feat,.pf-feats-izq .pf-feat{grid-template-areas:'ic' 'b';width:auto}
  .pf-feat .pf-feat-ic{grid-row:auto!important;width:36px;height:36px}
  .pf-feat b{font-size:12px;line-height:1.2}
  .pf-feat small,.pf-feat-n,.pf-feat-linea{display:none}
  .pf-feat-desc{display:block;margin:14px 4px 0!important;text-align:center;color:var(--mut);font-size:14.5px}
  .pf-tel-zona{justify-self:center}
  .pf-tel{transform:scale(.9);transform-origin:top center;margin-bottom:-66px}
  .pf-notif{display:none}
  .pf-escena-fondo::after{width:360px;height:360px}
  .pf-frag-caja{grid-template-columns:1fr}
  .pf-frag-leyenda{display:block;order:3;margin:0!important;padding:0 18px 16px;font-size:14px;color:var(--mut)}
  .pf-frag-pasos{order:2;flex-direction:row;border-right:0;border-top:1px solid var(--linea);padding:8px;gap:4px}
  .pf-frag-pasos li{flex:1;min-width:0}
  .pf-frag-pasos button{grid-template-columns:1fr;padding:10px 10px 14px;gap:2px}
  .pf-frag-pasos button span{grid-row:auto;padding:0;font-size:10px}
  .pf-frag-pasos button b{font-size:14px}
  .pf-frag-pasos button small{display:none}
  .pf-frag-pasos button i{left:10px;right:10px;bottom:6px}
  .pf-frag-lienzo{height:min(112vw,470px)}
  #pf h2{font-size:clamp(32px,9vw,44px);letter-spacing:-.04em}
  .pf-sec{padding:84px 0}
  .pf-cons{min-height:0;display:block}
  .pf-cons-foto{position:relative;inset:auto;height:min(118vw,520px)}
  .pf-cons-foto img{object-position:64% 30%}
  .pf-cons-velo{background:linear-gradient(0deg,var(--bg) 0%,rgba(4,7,11,.75) 30%,transparent 62%),linear-gradient(90deg,rgba(4,7,11,.7) 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,transparent 14%)}
  .pf-cons-chips{position:absolute;left:20px;right:20px;bottom:40px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
  .pf-cons-chips span{position:static;font-size:10.5px;padding:6px 11px;max-width:100%;white-space:normal}
  .pf-credito{bottom:8px}
  .pf-cons-texto{padding:6px 0 84px}
  .pf-cons-momentos li{grid-template-columns:1fr;gap:4px}
  .pf-lado{display:flex}.pf-lado button{flex:1;padding:10px}
  .pf-hoy{grid-template-columns:1fr}
  .pf-agenda{grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
  .pf-agenda::-webkit-scrollbar{display:none}
  .pf-agenda li{scroll-snap-align:start}
  .pf-agenda button{grid-template-columns:44px 1fr;height:100%}
  .pf-agenda canvas{display:none}
  .pf-brief{padding:18px}
  .pf-duo{grid-template-columns:1fr;gap:12px}
  .pf-duo-cab{min-height:180px}
  .pf-duo-filas li{grid-template-columns:1fr;gap:4px;padding:14px 0;border-bottom:1px solid var(--linea)}
  .pf-duo-filas li span{padding:0;text-align:left!important;font-size:16px}
  .pf-duo-filas li span:first-child{color:var(--cian2);font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
  .pf-duo-filas i{display:none}
  .pf-etiquetas{grid-template-columns:1fr}
  .pf-cinta span{padding:16px 20px}
  :root{--ancho:calc(100% - 40px)}
  .pf-cabeza-2{grid-template-columns:1fr;gap:22px}
  .pf-nav{display:none}
  html{scroll-padding-top:70px}
  .pf-hero{height:auto;min-height:100svh;display:flex;flex-direction:column;padding:78px 20px 56px}
  .pf-hero-cerebro{position:relative;left:auto;top:auto;transform:translateY(calc(var(--h,0)*-30px));width:calc(100% + 40px);margin:0 -20px;height:min(44vh,380px);aspect-ratio:auto}
  .pf-hero-texto{position:relative;left:auto;right:auto;bottom:auto;max-width:none}
  .pf-marca{font-size:clamp(58px,17vw,96px)}
  .pf-hero-texto{display:contents}
  .pf-hero-texto .pf-rotulo{order:1}.pf-marca,.pf-logo{order:2}.pf-lema{order:3}
  .pf-hero-cerebro{order:4}.pf-estado{order:5}.pf-bajada{order:6}.pf-hero-texto .pf-acciones{order:7}
  .pf-marca{margin:14px 0 10px!important}
  .pf-estado{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin-top:-18px;z-index:6}
  .pf-estado-t em{display:none}
  .pf-bajada{margin-top:30px!important}
  .pf-hero-cerebro,.pf-hero-texto,.pf-estado,.pf-hero-vars,.pf-hero-red{opacity:1!important}
  .pf-hero-cerebro,.pf-hero-texto{transform:none!important}
  .pf-estado-d{font-size:12.5px;margin-top:10px!important}
  .pf-estado-d{min-height:0}
  .pf-estado-n{display:block}
  .pf-hero-pie{display:none}
  .pf-bajada{font-size:16px}.pf-hero-texto .pf-acciones{margin-top:18px}
  .pf-reloj{grid-template-columns:auto 1fr}.pf-reloj-ev{grid-column:1/-1}
  .pf-reloj-meses span:nth-child(even){visibility:hidden}
  .pf-tray-cuerpo{grid-template-columns:1fr}.pf-tray-panel{border-left:0;border-top:1px solid var(--linea)}
  .pf-tray-cuerpo canvas{height:440px}
  .pf-app-cuerpo{grid-template-columns:1fr;min-height:0}
  .pf-app-menu{flex-direction:row;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid var(--linea);gap:2px}
  .pf-app-menu strong,.pf-app-menu small{display:none}
  .pf-app-menu button{white-space:nowrap;font-size:13px;padding:8px 12px}
  .pf-app-menu button[aria-selected="true"]{box-shadow:inset 0 -2px 0 var(--cian);background:none}
  .pf-app-vista{padding:16px}
  .pf-v-grid{grid-template-columns:1fr}
  .pf-v-full{height:420px}
  .pf-msg{max-width:92%}
  .pf-pat-grid{grid-template-columns:1fr}
  .pf-pat-caja canvas{height:240px}
  .pf-ia-respuesta{grid-template-columns:1fr}
  .pf-ia-respuesta canvas{height:260px}
  .pf-proc-escena{height:620px}
  .pf-capas{grid-template-columns:1fr}.pf-capa-puente{flex-direction:row}.pf-capa-puente i{height:1px;min-height:0;width:auto;flex:1;background:repeating-linear-gradient(90deg,var(--linea2) 0 4px,transparent 4px 8px)}
  .pf-flujo ol{grid-template-columns:1fr 1fr}
  .pf-lim-grid{grid-template-columns:1fr}
  .pf-campo-lectura{left:14px;top:14px;font-size:10px}.pf-campo-lectura b{font-size:22px}
  .pf-nota-esq{display:none}
  .pf-campo-ley{left:14px;bottom:12px;font-size:9px}
}
@media (max-width:520px){
  .pf-kpis{grid-template-columns:1fr 1fr}.pf-kpi b{font-size:21px}
  .pf-flujo ol{grid-template-columns:1fr}
  .pf-hero-vars span{font-size:8.5px;padding:4px 7px;letter-spacing:.1em}
  .pf-hero-vars span.act small{display:none}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}.pf-cinta-in{animation:none}.pf-cons-chips span{transition:none}
  .pf-marca span,.pf-lema,.pf-bajada,.pf-hero-texto .pf-acciones,.pf-hero-texto .pf-rotulo{animation:none;opacity:1;transform:none}
  .pf-hero-red line{transition:none}
}

.pf-logo{display:flex;align-items:center;gap:clamp(14px,2vw,26px);margin:26px 0 20px!important;opacity:0;animation:pf-aparece 1.2s 1.2s forwards}
.pf-logo canvas{width:clamp(96px,11vw,150px);aspect-ratio:1.7;flex:none;cursor:pointer;filter:drop-shadow(0 0 14px rgba(70,200,232,.35))}
.pf-logo img{width:clamp(200px,24vw,340px);height:auto}
@media (max-width:900px){.pf-logo{order:2;margin:16px 0 12px!important}.pf-logo canvas{width:88px}.pf-logo img{width:min(58vw,240px)}}
@media (prefers-reduced-motion:reduce){.pf-logo{animation:none;opacity:1}}

/* estado del modelo: entra animado cuando el cerebro termina de ensamblarse */
.pf-estado-t,.pf-estado-d,.pf-estado-n,.pf-estado-b button{opacity:0;transform:translateY(12px);animation:pf-entra .9s cubic-bezier(.2,.7,.2,1) forwards}
.pf-estado-t{animation-delay:2.5s}
.pf-estado-b button:nth-child(1){animation-delay:2.62s}.pf-estado-b button:nth-child(2){animation-delay:2.7s}.pf-estado-b button:nth-child(3){animation-delay:2.78s}
.pf-estado-b button:nth-child(4){animation-delay:2.86s}.pf-estado-b button:nth-child(5){animation-delay:2.94s}.pf-estado-b button:nth-child(6){animation-delay:3.02s}
.pf-estado-d{animation-delay:3.15s}.pf-estado-n{animation-delay:3.25s}
.pf-estado-b{animation:pf-borde 1.2s 2.5s both}
@keyframes pf-borde{from{border-color:transparent;background-color:transparent}}
@media (prefers-reduced-motion:reduce){.pf-estado-t,.pf-estado-d,.pf-estado-n,.pf-estado-b button,.pf-estado-b{animation:none;opacity:1;transform:none}}

/* ═══════════ MÓVIL · pasada de pulido ═══════════ */
@media (max-width:900px){
  .pf-sec{padding:68px 0}
  .pf-cabeza{margin-bottom:28px}
  .pf-cabeza>p:not(.pf-rotulo),.pf-cabeza-2>p{font-size:15.5px!important;margin-top:16px!important}
  #pf h2{font-size:clamp(30px,8.4vw,40px)}
  .pf-rotulo{font-size:10px}
  /* 02 */
  .pf-frag-lienzo{height:min(100vw,400px)}
  /* consulta */
  .pf-cons-texto{padding-bottom:64px}
  .pf-cons-momentos li{padding:12px 0}
  .pf-cons-momentos span{font-size:14.5px}
  /* panel web */
  .pf-app{border-radius:16px}
  .pf-app-barra{padding:9px 12px}.pf-app-barra .pf-url,.pf-app-barra em{display:none}
  .pf-app-top{display:none}
  .pf-app-vista{padding:14px}
  .pf-v-cab{margin-bottom:14px}.pf-v-cab h3{font-size:19px}.pf-v-cab p{font-size:9.5px}.pf-v-cab .pf-pill{display:none}
  .pf-dia{height:58px;margin-bottom:10px}
  .pf-agenda{grid-auto-columns:86%}
  .pf-agenda button{padding:12px}
  .pf-brief{padding:16px;border-radius:14px}.pf-brief h4{font-size:19px}
  .pf-brief-lista li{font-size:13.5px}
  .pf-kpi{padding:12px}.pf-kpi b{font-size:20px}.pf-kpi small{font-size:10px}
  .pf-v-box{padding:12px}
  .pf-lado button b{font-size:14px}
  /* campo / trayectoria */
  .pf-campo-escena{height:min(118vw,480px);border-radius:16px}
  .pf-tray-cuerpo canvas{height:400px}
  .pf-tray-panel{padding:16px}
  /* patrones */
  .pf-chips button{padding:7px 11px;font-size:12.5px}
  .pf-pat-caja{padding:14px}
  .pf-matriz button small{display:none}
  .pf-matriz button{font-size:11px;border-radius:5px}
  .pf-aviso{font-size:14px;padding:14px 16px}
  /* ia */
  .pf-ia-caja{padding:14px}
  .pf-ia-preguntas{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -14px;padding:0 14px 4px}
  .pf-ia-preguntas::-webkit-scrollbar{display:none}
  .pf-ia-preguntas button{flex:0 0 78%;scroll-snap-align:start;font-size:13.5px}
  .pf-ia-texto{font-size:15px;min-height:0}
  /* proceso */
  .pf-proc-escena{height:560px;border-radius:16px}
  /* privacidad */
  .pf-capa{padding:20px}
  .pf-flujo{margin-top:32px}
  .pf-flujo ol{grid-template-columns:1fr;gap:0;position:relative;padding-left:22px}
  .pf-flujo ol::before{content:'';position:absolute;left:6px;top:14px;bottom:14px;width:1px;background:linear-gradient(var(--cian),var(--lila))}
  .pf-flujo li{position:relative;display:flex;align-items:baseline;gap:10px;padding:10px 0;border:0;border-radius:0;background:none!important;box-shadow:none!important}
  .pf-flujo li::before{content:'';position:absolute;left:-20px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--cian)}
  .pf-flujo li.on::before{background:var(--cian);box-shadow:0 0 10px var(--cian)}
  .pf-flujo li b{font-size:15px;white-space:nowrap}.pf-flujo li span{margin:0;font-size:12.5px}
  .pf-controles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;border:0;margin:28px -20px 0;padding:0 20px 6px;scrollbar-width:none}
  .pf-controles::-webkit-scrollbar{display:none}
  .pf-controles div{flex:0 0 74%;scroll-snap-align:start;border:1px solid var(--linea);border-radius:14px;padding:16px}
  .pf-chile{padding:18px;margin-top:28px}.pf-chile p:not(.pf-rotulo){font-size:14px}
  /* límites */
  .pf-duo-cab h3{font-size:22px}
  .pf-fuera{margin-top:40px}
  .pf-etiquetas{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:36px -20px 0;padding:0 20px 6px;scrollbar-width:none}
  .pf-etiquetas::-webkit-scrollbar{display:none}
  .pf-etiquetas article{flex:0 0 76%;scroll-snap-align:start}
  /* cierre */
  .pf-cierre{min-height:0}
  .pf-cierre p:not(.pf-rotulo){font-size:15.5px}
}
