/* Home Julian Cohecha: capa de cristal (requiere jc-fx.css) */
:root{ --cream:#071423; --ink:#EAF0F7; --muted:#9FB0C3; --line:rgba(255,255,255,.12); }
body{ color:var(--ink); }
.page{ background:transparent; box-shadow:none; position:relative; z-index:1; }

/* ---------- Cristal base ---------- */
.hero,.itemcard,.install-card,.top-notice-banner,.public-notice-card,.private-compose-card,.navbar,.dest{
  -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5); }
.itemcard,.install-card,.top-notice-banner,.public-notice-card,.private-compose-card{
  position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(150deg,var(--glass-a),var(--glass-b));
  border:1px solid var(--glass-edge);
  box-shadow:0 22px 44px -26px rgba(0,0,0,.75), inset 0 1px 0 var(--glass-hi); }
/* luz que sigue el dedo/cursor */
.hero::before,.itemcard::before,.install-card::before,.dest::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0; transition:opacity .35s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%), rgba(255,255,255,.22), transparent 62%); }
.hero:hover::before,.itemcard:hover::before,.install-card:hover::before,.dest:hover::before,
.itemcard.lit::before,.dest.lit::before{ opacity:1; }
/* brillo que cruza periódicamente */
.itemcard::after,.install-card::after{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.10) 50%,transparent 62%);
  transform:translateX(-130%); animation:sheen 8s ease-in-out infinite; }
.col-gap .itemcard:nth-child(2)::after{ animation-delay:1.2s; } .col-gap .itemcard:nth-child(3)::after{ animation-delay:2.4s; }
@keyframes sheen{ 0%,62%{ transform:translateX(-130%); } 100%{ transform:translateX(130%); } }

/* ---------- Barras superiores ---------- */
.topbar-m{ background:linear-gradient(180deg,rgba(12,34,56,.78),rgba(12,34,56,.5));
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:0 10px 30px -22px rgba(0,0,0,.8); }
.topbar-m::after{ background:linear-gradient(90deg,transparent,var(--teal),var(--gold),var(--gold-2),transparent); background-size:200% 100%; animation:flow 7s linear infinite; }
@keyframes flow{ to{ background-position:200% 0; } }
.iconbtn{ -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
@media (min-width:1024px){
  .topbar-pc{ background:rgba(10,27,46,.55); -webkit-backdrop-filter:blur(20px) saturate(1.5); backdrop-filter:blur(20px) saturate(1.5); }
  .topbar-pc::after{ background:linear-gradient(90deg,transparent,var(--teal),var(--gold),var(--gold-2),transparent); background-size:200% 100%; animation:flow 7s linear infinite; }
}

/* ---------- Hero ---------- */
.hero{ background:radial-gradient(120% 130% at 12% -10%, rgba(13,30,66,.98) 0%, rgba(5,13,31,.985) 46%, rgba(2,7,18,.99) 100%);
  border:1px solid rgba(19,184,255,.3); box-shadow:0 30px 60px -30px rgba(0,0,0,.9), 0 0 80px -34px rgba(19,184,255,.45), inset 0 1px 0 rgba(255,255,255,.16);
  isolation:isolate; }
/* nebulosa que deriva despacio detras de las estrellas */
.hero::after{ content:""; position:absolute; inset:-25%; z-index:0; pointer-events:none;
  background:radial-gradient(38% 48% at 28% 38%, rgba(19,150,255,.14), transparent 70%), radial-gradient(34% 44% at 76% 62%, rgba(47,240,210,.09), transparent 70%);
  animation:nebula 18s ease-in-out infinite alternate; }
@keyframes nebula{ from{ transform:translate(-4%,-3%) scale(1); } to{ transform:translate(5%,4%) scale(1.15); } }
.hero .hrole,.hero .hcred{ text-shadow:0 1px 8px rgba(4,18,56,.85); }
.hero .pad{ z-index:2; } .hero .hairline{ position:relative; z-index:2; }.hero .jc svg circle{ stroke-width:2.4; stroke-dasharray:118 17; transform-origin:center; animation:spin 14s linear infinite; }
.hero .jc::before{ content:""; position:absolute; inset:2px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle at 35% 30%, #16376b 0%, #0b2150 70%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 6px 14px -6px rgba(0,0,0,.6); }
.hero .jc span{ color:#FFF1C9; font-weight:700; }.hero .hname{ background:linear-gradient(100deg,#fff 30%,#E2C783 55%,#fff 80%); background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:flow 9s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes halo{ 50%{ transform:scale(1.18); opacity:.55; } }
.hero .hairline,.hairline{ background:linear-gradient(90deg,var(--teal),var(--gold),var(--gold-2),var(--teal)); background-size:200% 100%; animation:flow 6s linear infinite; }

/* Botón dorado con destello */
.btn-gold{ position:relative; overflow:hidden; }
.btn-gold::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  transform:translateX(-130%); animation:sheen 4.8s ease-in-out infinite; }
.btn-ghost-d{ -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }

/* ---------- Accesos rápidos: carrusel que circula solo ---------- */
.fav-head .t{ color:#fff; letter-spacing:.01em; }
.fav-head .s{ color:var(--gold-2); }
.fav-row.marq{ display:block; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; padding:6px 0 10px; gap:0; scroll-behavior:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:none; -ms-overflow-style:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); }
.fav-row.marq::-webkit-scrollbar{ display:none; }
.marq-track{ display:flex; width:max-content; }
.marq .fav{ margin-right:18px; }

@media (min-width:1024px){ .marq .fav{ margin-right:30px; } }

.fav .ico{ position:relative; width:58px; height:58px; border-radius:19px; overflow:hidden;
  background:linear-gradient(150deg,rgba(255,255,255,.17),rgba(255,255,255,.05));
  border:1px solid var(--glass-edge); box-shadow:0 14px 26px -14px rgba(0,0,0,.8), inset 0 1px 0 var(--glass-hi);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  animation:bob 5.5s ease-in-out infinite; transition:transform .25s ease; }
.fav .ico::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 45%); }
.fav:nth-child(2n) .ico{ animation-delay:-1.4s; } .fav:nth-child(3n) .ico{ animation-delay:-2.9s; } .fav:nth-child(5n) .ico{ animation-delay:-4.1s; }
@keyframes bob{ 50%{ transform:translateY(-5px); } }
.fav .lbl{ color:rgba(234,240,247,.9); font-weight:600; letter-spacing:.01em; }
.fav .ico.gold{ color:#F0D690; } .fav .ico.teal{ color:#86DCC7; } .fav .ico.navy{ color:#A9C4EE; }
.fav .ico.gold{ box-shadow:0 14px 26px -14px rgba(200,162,76,.7), inset 0 1px 0 var(--glass-hi); }
.fav .ico.teal{ box-shadow:0 14px 26px -14px rgba(44,126,110,.9), inset 0 1px 0 var(--glass-hi); }
.fav .ico.navy{ box-shadow:0 14px 26px -14px rgba(86,128,214,.8), inset 0 1px 0 var(--glass-hi); }
.fav.premium .ico{ background:linear-gradient(150deg,#F2DDA0,#C8A24C); color:#2A2008; border-color:rgba(255,255,255,.4);
  box-shadow:0 14px 30px -12px rgba(200,162,76,.85), inset 0 1px 0 rgba(255,255,255,.5); }
.fav.premium .lbl{ color:var(--gold-2); }
.fav:hover .ico{ transform:translateY(-4px) scale(1.06); }
.tools-row .fav{ margin-right:0; }

/* ---------- Tarjetas grandes ---------- */
.dest-row{ perspective:900px; scroll-snap-type:x mandatory; padding-bottom:14px; }
.dest{ scroll-snap-align:center; isolation:isolate; color:#fff; border:1px solid var(--glass-edge);
  box-shadow:0 26px 44px -26px rgba(0,0,0,.85), inset 0 1px 0 var(--glass-hi);
  transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));
  transition:transform .28s ease, box-shadow .3s ease; }
.dest:hover{ --ty:-4px; }
.dest .title{ color:#fff; }
.dest:not(.smc)::after{ content:""; position:absolute; z-index:-1; width:150px; height:150px; right:-40px; bottom:-50px; border-radius:50%;
  background:radial-gradient(circle,var(--orb,rgba(255,255,255,.4)),transparent 68%); animation:orb 9s ease-in-out infinite alternate; }
@keyframes orb{ to{ transform:translate(-70px,-40px) scale(1.3); } }
.dest.gold{ --orb:rgba(240,214,144,.75); background:linear-gradient(150deg,rgba(226,199,131,.42),rgba(200,162,76,.10)); color:#fff; }
.dest.gold .sub{ color:rgba(255,246,222,.85); } .dest.gold .tag{ color:#F6E3AE; }
.dest.gold .badge,.dest.gold .cta{ background:rgba(255,255,255,.18); color:#fff; border:1px solid rgba(255,255,255,.22); }
.dest.teal{ --orb:rgba(108,200,178,.75); background:linear-gradient(150deg,rgba(44,126,110,.62),rgba(44,126,110,.12)); }
.dest.teal .badge,.dest.teal .cta{ border:1px solid rgba(255,255,255,.2); }
.dest.navy{ --orb:rgba(120,160,235,.7); background:linear-gradient(150deg,rgba(86,128,214,.40),rgba(23,51,82,.25)); }
.dest.navy .badge,.dest.navy .cta{ border:1px solid rgba(255,255,255,.2); }
.dest .badge{ -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.dest .cta{ transition:background .25s ease, transform .25s ease; } .dest:hover .cta{ background:rgba(255,255,255,.28); }
.dest .cta svg{ transition:transform .2s ease; } .dest:hover .cta svg{ transform:translateX(3px); }
/* la tarjeta Salud mental conserva su identidad */
.dest.smc{ background:rgba(6,16,15,.78); }
.dest.smc:hover{ --ty:-4px; }

/* ---------- Listas ---------- */
.seclabel span{ color:var(--gold-2); text-shadow:0 0 18px rgba(226,199,131,.35); }
.seclabel .rule{ background:linear-gradient(90deg,rgba(226,199,131,.6),transparent); }
.itemcard{ transition:transform .25s ease, border-color .25s ease, box-shadow .3s ease; }
.itemcard:hover{ transform:translateY(-3px); border-color:rgba(255,255,255,.3); box-shadow:0 26px 46px -24px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.3); }
.itemcard .kicker{ color:#86DCC7; } .itemcard .ititle{ color:#fff; } .itemcard .idesc{ color:var(--muted); }
.itemcard.free{ background:linear-gradient(150deg,rgba(31,168,85,.30),rgba(31,168,85,.06)); border-color:rgba(80,220,140,.35); }
.itemcard.free .kicker{ color:#7BEFA8; }
.chip{ border-radius:15px; border:1px solid var(--glass-edge); box-shadow:inset 0 1px 0 var(--glass-hi); }
.chip.gold{ background:linear-gradient(150deg,rgba(226,199,131,.38),rgba(200,162,76,.10)); color:#F2DD9F; }
.chip.teal{ background:linear-gradient(150deg,rgba(108,200,178,.36),rgba(44,126,110,.10)); color:#8FE3CE; }
.chip.navy{ background:linear-gradient(150deg,rgba(120,160,235,.34),rgba(86,128,214,.08)); color:#B6CEF3; }
.itemcard .chip{ animation:bob 6s ease-in-out infinite; }
.col-gap .itemcard:nth-child(2) .chip{ animation-delay:-2s; } .col-gap .itemcard:nth-child(3) .chip{ animation-delay:-4s; }
.muted-ic{ color:rgba(255,255,255,.4); transition:transform .25s ease,color .25s ease; } .itemcard:hover .muted-ic{ transform:translateX(4px); color:var(--gold-2); }

/* ---------- Avisos / formularios ---------- */
.top-notice-copy strong{ color:#fff; } .top-notice-copy span{ color:var(--muted); }
.top-notice-dismiss{ background:rgba(255,255,255,.1); color:#fff; }
.public-notice-card h3{ color:#fff; } .public-notice-date{ color:var(--gold-2); }
.private-compose-kicker{ color:var(--gold-2); } .private-compose-title{ color:#fff; }
.private-compose-field input,.private-compose-field textarea{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.18); }
.private-compose-submit{ background:linear-gradient(135deg,#2B5B8E,#173352); border:1px solid rgba(255,255,255,.2); }

/* ---------- Instalar / pie ---------- */
.install-card .title{ color:#fff; } .install-card .eyebrow{ color:var(--gold-2); }
.install-card{ box-shadow:0 30px 60px -30px rgba(0,0,0,.8), 0 0 70px -34px rgba(44,126,110,.7), inset 0 1px 0 var(--glass-hi); }
.app-foot{ color:var(--muted); } .app-foot .credit a{ color:var(--gold-2); }

/* ---------- Navegación inferior en cristal ---------- */
.bottomnav::before{ background:linear-gradient(180deg,rgba(3,6,13,0),#03060d 75%); }
.navbar{ background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.06)); border:1px solid var(--glass-edge);
  box-shadow:0 20px 40px -18px rgba(0,0,0,.85), inset 0 1px 0 var(--glass-hi); }
.navtab{ color:rgba(255,255,255,.55); } .navtab.on{ color:var(--gold-2); }
.navtab.on svg{ filter:drop-shadow(0 0 8px rgba(226,199,131,.7)); }
.fab{ animation:fabPulse 2.8s ease-out infinite; }
@keyframes fabPulse{ 0%{ box-shadow:0 16px 30px -12px rgba(31,168,85,.7), 0 0 0 0 rgba(31,168,85,.5); } 70%,100%{ box-shadow:0 16px 30px -12px rgba(31,168,85,.7), 0 0 0 16px rgba(31,168,85,0); } }

/* ---------- Accesibilidad ---------- */
@media (prefers-reduced-motion:reduce){
  .fav .ico,.itemcard .chip,.itemcard::after,.install-card::after,.btn-gold::after,
  .hero .jc svg circle,.hero::after,.hero .hname,.hairline,.topbar-m::after,.topbar-pc::after,.fab,.dest::after{ animation:none !important; }
  .fav-row.marq{ overflow-x:auto; }
}
/* ---------- Franja de tarjetas: solo se desplaza en horizontal; el scroll vertical es siempre de la pagina ---------- */
@media (max-width:1023.98px){
  .dest-row{ overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
    padding-top:6px; padding-bottom:14px; margin-top:16px; }
}
/* La aparicion al hacer scroll de las tarjetas no debe mover nada en vertical (solo opacidad) */
.js .dest.rv{ translate:none; scale:none; }
/* En pantallas tactiles el "hover" queda pegado tras tocar: no subir ni inclinar la tarjeta */
@media (hover:none){
  .dest:hover,.dest.smc:hover,.dest.mth:hover,.dest.eli:hover,.dest.pul:hover{ --ty:0px; --rx:0deg; --ry:0deg; }
  .dest.smc:hover:not(:active){ transform:perspective(800px) rotateX(0deg) rotateY(0deg) translateY(0); }
}
/* ---------- Herramientas disponibles: espacio para que los iconos floten sin recortarse y sin scroll vertical interno ---------- */
@media (max-width:1023.98px){
  .fav-row.tools-row{ overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; padding:12px 6px 12px; margin-top:-8px; }
}
@media (hover:none){ .fav:hover .ico{ transform:none; } }

/* ---------- Cerebro de particulas flotando al lado derecho de la tarjeta principal ---------- */
.hero .brain{ position:absolute; right:0; top:0; width:50%; height:100%; z-index:1; pointer-events:none; opacity:1;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, #000 52%, transparent 100%);
          mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, #000 52%, transparent 100%); }
@media (max-width:699.98px){
  .hero .brain{ width:112px; height:112px; right:8px; top:12px; opacity:1; }
}

/* ---------- Fondo: negro solido, fijo y estatico (sin animacion ni JS). Unos visos muy tenues viajan con la pagina al hacer scroll ---------- */
html{ background:#020305; }
.fx{ background:#020305; }
.page{ background:
    radial-gradient(70% 560px at 88% 300px, rgba(52,92,160,.085), rgba(52,92,160,0) 72%),
    radial-gradient(60% 560px at 8% 1250px, rgba(44,126,110,.07), rgba(44,126,110,0) 72%),
    radial-gradient(70% 560px at 92% 2250px, rgba(120,80,150,.06), rgba(120,80,150,0) 72%); }
.topbar-m{ background:linear-gradient(180deg,rgba(5,10,20,.88),rgba(5,10,20,.7)); }
@media (min-width:1024px){ .topbar-pc{ background:rgba(4,8,16,.72); } }

/* ---------- Celular: sin barra superior; solo queda la linea de color que circula. Campana y cuenta viven en la barra inferior ---------- */
@media (max-width:1023.98px){
  .topbar-m{ display:block; position:fixed; top:0; left:0; right:0; z-index:70; height:3px; padding:0; background:none; box-shadow:none;
    -webkit-backdrop-filter:none; backdrop-filter:none; pointer-events:none; }
  .topbar-m::after{ height:3px; opacity:1; }
  .canopy{ padding-top:calc(env(safe-area-inset-top, 0px) + 4px); }
  .navtab{ position:relative; min-width:0; }
  .navtab .lbl{ font-size:11px; white-space:nowrap; }
  .navtab .bell-dot{ top:3px; right:calc(50% - 18px); }
}

/* ---------- Escritorio: sin barra superior; el mismo dock flotante del celular, compacto y centrado abajo (dock en escritorio) ---------- */
@media (min-width:1024px){
  .topbar-pc{ display:none; }
  .topbar-m{ display:block; position:fixed; top:0; left:0; right:0; z-index:70; height:3px; padding:0; background:none; box-shadow:none;
    -webkit-backdrop-filter:none; backdrop-filter:none; pointer-events:none; }
  .topbar-m::after{ height:3px; opacity:1; }
  .bottomnav{ display:block; left:0; right:0; max-width:none; margin:0; padding:0 0 24px; }
  .bottomnav::before{ display:none; }
  .nav-row{ width:max-content; margin:0 auto; gap:12px; align-items:center; }
  .navbar{ flex:none; width:auto; height:64px; padding:0 8px; gap:4px; justify-content:center;
    box-shadow:0 22px 44px -18px rgba(0,0,0,.9), 0 0 50px -26px rgba(19,184,255,.45), inset 0 1px 0 var(--glass-hi); }
  .navtab{ position:relative; flex:none; width:96px; min-width:0; border-radius:16px; transition:background .2s ease, color .2s ease; }
  .navtab:hover{ background:rgba(255,255,255,.08); color:#fff; }
  .navtab.on:hover{ color:var(--gold-2); }
  .navtab .lbl{ font-size:11px; white-space:nowrap; }
  .navtab .bell-dot{ top:5px; right:calc(50% - 18px); }
  .fab{ transition:transform .2s ease, box-shadow .2s ease; }
  .fab:hover{ transform:translateY(-3px); }
  .page{ padding-bottom:140px; }
}

/* ---------- Tarjetas grandes: el texto de las tarjetas siempre se pinta (evita que el navegador del celular lo deje sin dibujar hasta tocar) ---------- */
.dest .top, .dest .title, .dest .sub, .dest .cta{ position:relative; z-index:1; }
/* las tarjetas no se aparecen con fundido: siempre estan listas (nunca "reveladas pero sin pintar") */
.js .dest.rv{ opacity:1; }
@media (hover:none){
  /* en pantallas tactiles no hay inclinacion 3D: la tarjeta no necesita una transformacion 3D permanente */
  .dest{ transform:none; }
  .dest.smc:hover:not(:active){ transform:none; }
  /* PULSO: sin mascara ni sombra animada en la linea de latido (lo mas costoso de repintar) */
  .dest.pul .trace{ -webkit-mask-image:none; mask-image:none; }
  .dest.pul .trace .scan{ filter:none; }
}

/* ==========================================================================
   Paleta sobria: negro + dorado champagne (negocio/marca) + verde azulado hielo (personas/clinico) + neutros.
   Dorado #C8A24C / #E2C783 · Hielo #7CC7C1 / #BDE8E4 / #4E9A96 · Texto #EAF0F7
   Todo lo de esta seccion puede borrarse para volver a la paleta anterior.
   ========================================================================== */
/* accesos rapidos y herramientas: solo dorado, hielo y neutro (antes dorado, verde y azul) */
.fav .ico.gold{ box-shadow:0 14px 26px -14px rgba(200,162,76,.45), inset 0 1px 0 var(--glass-hi); }
.fav .ico.teal{ color:#7CC7C1; box-shadow:0 14px 26px -14px rgba(124,199,193,.45), inset 0 1px 0 var(--glass-hi); }
.fav .ico.navy{ color:#C9D6DC; box-shadow:0 14px 26px -14px rgba(201,214,220,.30), inset 0 1px 0 var(--glass-hi); }
.chip.gold{ background:linear-gradient(150deg,rgba(226,199,131,.30),rgba(200,162,76,.08)); }
.chip.teal{ background:linear-gradient(150deg,rgba(124,199,193,.28),rgba(124,199,193,.07)); color:#9ED6D1; }
.chip.navy{ background:linear-gradient(150deg,rgba(201,214,220,.24),rgba(201,214,220,.06)); color:#C9D6DC; }
.itemcard .kicker{ color:#7CC7C1; }
.itemcard.free{ background:linear-gradient(150deg,rgba(124,199,193,.20),rgba(124,199,193,.05)); border-color:rgba(124,199,193,.30); }
.itemcard.free .kicker{ color:#BDE8E4; }
.seclabel span{ text-shadow:none; }
/* tarjeta principal: negro con filo dorado y un leve aliento hielo */
.hero{ background:radial-gradient(120% 130% at 12% -10%, rgba(22,26,34,.98) 0%, rgba(7,9,13,.985) 46%, rgba(2,4,7,.99) 100%);
  border:1px solid rgba(200,162,76,.30); box-shadow:0 30px 60px -30px rgba(0,0,0,.9), 0 0 80px -38px rgba(124,199,193,.30), inset 0 1px 0 rgba(255,255,255,.14); }
.hero::after{ background:radial-gradient(38% 48% at 28% 38%, rgba(124,199,193,.09), transparent 70%), radial-gradient(34% 44% at 76% 62%, rgba(200,162,76,.06), transparent 70%); }
/* WhatsApp: verde mas profundo y sin resplandor fuerte */
.fab{ background:linear-gradient(145deg,#2A8A57,#1D6A42); box-shadow:0 14px 28px -14px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.18); }
@keyframes fabPulse{ 0%{ box-shadow:0 14px 28px -14px rgba(0,0,0,.8), 0 0 0 0 rgba(42,138,87,.30); } 70%,100%{ box-shadow:0 14px 28px -14px rgba(0,0,0,.8), 0 0 0 14px rgba(42,138,87,0); } }
/* brillos de la barra inferior e instalacion en dorado discreto */
@media (min-width:1024px){ .navbar{ box-shadow:0 22px 44px -18px rgba(0,0,0,.9), 0 0 50px -28px rgba(200,162,76,.35), inset 0 1px 0 var(--glass-hi); } }
.install-card{ box-shadow:0 30px 60px -30px rgba(0,0,0,.8), 0 0 70px -36px rgba(200,162,76,.40), inset 0 1px 0 var(--glass-hi); }
/* visos del fondo al hacer scroll: dorado y hielo muy tenues (sin azul ni violeta) */
.page{ background:
    radial-gradient(70% 560px at 88% 300px, rgba(200,162,76,.055), rgba(200,162,76,0) 72%),
    radial-gradient(60% 560px at 8% 1250px, rgba(124,199,193,.045), rgba(124,199,193,0) 72%),
    radial-gradient(70% 560px at 92% 2250px, rgba(200,162,76,.035), rgba(200,162,76,0) 72%); }
/* ---------- Avisos: enlaces de texto discretos (13-nov-2026) ---------- */
html .public-notice-cta{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:0; border:0; border-radius:0; background:none; color:#E2C783; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; border-bottom:1px solid rgba(226,199,131,.35); padding-bottom:2px; transition:color .2s, border-color .2s; }
html .public-notice-cta::after{ content:"\2192"; font-size:12px; letter-spacing:0; transition:transform .2s; }
html .public-notice-cta:hover{ color:#fff; border-bottom-color:#E2C783; }
html .public-notice-cta:hover::after{ transform:translateX(3px); }
html .public-notices-toggle{ min-height:0; margin-top:10px; padding:4px 2px; border:0; border-radius:0; background:none; box-shadow:none; color:#9FB0C3; font:600 12px var(--sans); letter-spacing:.06em; text-decoration:underline; text-decoration-color:rgba(159,176,195,.35); text-underline-offset:4px; transition:color .2s, text-decoration-color .2s; }
html .public-notices-toggle:hover{ color:#E2C783; text-decoration-color:#E2C783; }