/*! mad.ceo · Mascota "Cthulhito" v2 · ternura que acecha · estilos (sin dependencias) */

.mad-mascot {
  --mc-size: 46px;
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: var(--mc-size);
  height: var(--mc-size);
  transition: width .45s cubic-bezier(.16, 1, .3, 1), height .45s cubic-bezier(.16, 1, .3, 1);
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}
.mad-mascot > svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* Integración con mad.ceo: header, footer y marca de agua de los "statement" */
.site-header.is-scrolled .mad-mascot { --mc-size: 36px; }
.brand-lg .mad-mascot { --mc-size: 58px; }
.statement .mad-mascot.statement-mark {
  --mc-size: 260px; position: absolute; right: -1.5rem; bottom: -3rem;
  opacity: .16; cursor: default; color: inherit;
}
@media (max-width: 480px) { .site-header .mad-mascot { --mc-size: 40px; } .site-header.is-scrolled .mad-mascot { --mc-size: 34px; } }

.mc {
  --mc-tent: #234538;
  --mc-tent-back: #132A22;
  --mc-sucker: #7FB59A;
  --mc-cyan: #90E0EF;
  --mc-wing-speed: 4.2s;
  --mc-tent-speed: 4.6s;
  --mc-float-speed: 5.2s;
}
.mc * { transform-box: fill-box; }

/* ---------- Piezas ---------- */
.mc-t-arm { fill: none; stroke: var(--mc-tent); stroke-width: 5.4; stroke-linecap: round; stroke-linejoin: round; transition: stroke .6s; }
.mc-t-back { fill: none; stroke: var(--mc-tent-back); stroke-width: 6.6; stroke-linecap: round; stroke-linejoin: round; transition: stroke .6s; }
.mc-sucker { fill: var(--mc-sucker); opacity: .4; }
.mc-vein { fill: none; stroke: #0E0B1F; stroke-width: .7; opacity: .7; }
.mc-rim { fill: none; stroke: #6FB096; stroke-width: 1.3; stroke-linecap: round; opacity: .55; }
.mc-ridge { fill: none; stroke: #0B1A15; stroke-width: .9; stroke-linecap: round; opacity: .4; }
.mc-cheek { fill: #8E5E8C; opacity: .3; transition: opacity .6s; }
.mc-sock-rim { fill: none; stroke: #050B09; stroke-width: .7; opacity: .6; }
.mc-iris { fill: none; stroke: #4A78A8; stroke-width: 1; stroke-dasharray: 2.6 1.4; opacity: .6; transform-origin: 50% 50%; animation: mc-spin 14s linear infinite; transition: stroke .5s, opacity .5s, stroke-width .5s; }
@keyframes mc-spin { to { transform: rotate(360deg); } }
.mc-pupil-glow { opacity: 0; transform-origin: 50% 50%; transition: opacity .3s, transform .4s; }
.mc-head { stroke: rgba(111, 176, 150, .38); stroke-width: .9; }
.mc-head-abyss { stroke: rgba(157, 139, 214, .55); stroke-width: .9; }
.mc-ed { fill: #C9F4FF; transform-origin: 50% 50%; animation: mc-float-dust 2.6s ease-in-out infinite; }
.mc-ed:nth-child(2n) { animation-delay: -1.3s; } .mc-ed:nth-child(3n) { animation-delay: -.7s; } .mc-ed:nth-child(5n) { animation-delay: -2s; }
@keyframes mc-float-dust { 0%, 100% { transform: translateY(1.5px) scale(.4) rotate(0); opacity: .3; } 50% { transform: translateY(-2px) scale(1) rotate(45deg); opacity: 1; } }
.mc-pupil { fill: #020205; }
.mc-eye-star { fill: #C9F4FF; opacity: .75; animation: mc-blinkstar 1.8s ease-in-out infinite; }
.mc-eye-star:nth-of-type(odd) { animation-delay: -.9s; }
@keyframes mc-blinkstar { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
.mc-shine { fill: #F2F2EE; }
.mc-shine-sm { opacity: .85; }
.mc-lid-edge { fill: none; stroke: #050B09; stroke-width: 1.5; stroke-linecap: round; }
.mc-third-lid { fill: none; stroke: #0B1A15; stroke-width: 1.3; stroke-linecap: round; opacity: .75; }
.mc-star { fill: var(--mc-cyan); }
.mc-moon { fill: var(--mc-cyan); }

/* ---------- Bucles lentos: flota como algo que no tiene prisa ---------- */
.mc-float { animation: mc-float var(--mc-float-speed) ease-in-out infinite; }
@keyframes mc-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2.5px); } }
.mc-tilt, .mc-squash { transform-origin: 50% 100%; transition: transform .6s cubic-bezier(.16, 1, .3, 1); }

.mc-tentacles { transform-origin: 50% 0%; transition: transform .45s cubic-bezier(.16, 1, .3, 1); }
.mc-t { transform-origin: 50% 0%; animation: mc-wig var(--mc-tent-speed) ease-in-out infinite; }
.mc-t1 { animation-delay: -.5s; } .mc-t2 { animation-delay: -1.7s; animation-direction: reverse; }
.mc-t3 { animation-delay: -2.4s; } .mc-t4 { animation-delay: -3.3s; animation-direction: reverse; }
.mc-t5 { animation-delay: -1.1s; animation-name: mc-wig-wide; } .mc-t6 { animation-delay: -2.9s; animation-direction: reverse; }
.mc-t7 { animation-delay: -.2s; } .mc-t8 { animation-delay: -3.8s; animation-name: mc-wig-wide; animation-direction: reverse; }
@keyframes mc-wig { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(6deg); } }
@keyframes mc-wig-wide { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(8deg); } }

.mc-wing-l { transform-origin: 100% 85%; animation: mc-flap-l var(--mc-wing-speed) ease-in-out infinite; }
.mc-wing-r { transform-origin: 0% 85%; animation: mc-flap-r var(--mc-wing-speed) ease-in-out infinite; }
@keyframes mc-flap-l { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(12deg); } }
@keyframes mc-flap-r { 0%, 100% { transform: rotate(3deg); } 50% { transform: rotate(-12deg); } }

/* Ojos: el párpado decide la emoción (nunca sonríe) */
.mc-lid { transform-origin: 50% 0%; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.mc.is-blink .mc-lid { transform: translateY(17px) !important; transition-duration: .08s; }
.mc-eye-size { transform-origin: 50% 50%; transition: transform .4s cubic-bezier(.16, 1, .3, 1); }
.mc-pupil { transform-origin: 50% 50%; transition: transform .4s cubic-bezier(.16, 1, .3, 1); }

/* Capa cósmica (oculta en reposo) */
.mc-cosmos > *, .mc-moons, .mc-head-abyss, .mc-third-open, .mc-closed, .mc-lid-full, .mc-eye-dust, .mc-orbit-front { opacity: 0; transition: opacity .6s; }
.mc-closed { fill: none; stroke: #050B09; stroke-width: 1.6; stroke-linecap: round; }
.mc-aura { transform-origin: 50% 50%; }
.mc-star { transform-origin: 50% 50%; animation: mc-twinkle 2.4s ease-in-out infinite; }
.mc-star:nth-child(2) { animation-delay: -.6s; } .mc-star:nth-child(3) { animation-delay: -1.2s; }
.mc-star:nth-child(4) { animation-delay: -1.8s; } .mc-star:nth-child(5) { animation-delay: -.9s; } .mc-star:nth-child(6) { animation-delay: -1.5s; }
@keyframes mc-twinkle { 0%, 100% { transform: scale(.35) rotate(0); opacity: .4; } 50% { transform: scale(1) rotate(45deg); opacity: 1; } }
.mc-orbit { transform-box: view-box; transform-origin: 50px 40px; transform: rotate(-12deg); }
.mc-planet { transition: opacity .25s; }
.mc-third-open { transform-origin: 50% 50%; transform: scaleY(0); transition: opacity .3s, transform .5s cubic-bezier(.16, 1, .3, 1); }

/* ---------- Estados de ánimo cósmicos ---------- */
/* contemplación (hover sobre el logo) */
.mc:is([data-mood="happy"], [data-mood="wave"]) .mc-lid { transform: translateY(-2px); }
.mc:is([data-mood="happy"], [data-mood="wave"]) :is(.mc-stars, .mc-eye-dust) { opacity: 1; }
.mc:is([data-mood="happy"], [data-mood="wave"]) .mc-iris { stroke-width: 1.6; }
.mc:is([data-mood="happy"], [data-mood="wave"]) .mc-pupil-glow { opacity: .35; }
.mc:is([data-mood="happy"], [data-mood="wave"]) .mc-aura { opacity: .7; }
.mc:is([data-mood="happy"], [data-mood="wave"], [data-mood="excited"], [data-mood="summon"]) .mc-iris { stroke: var(--mc-cyan); opacity: .9; }
.mc:is([data-mood="happy"], [data-mood="wave"]) .mc-cheek { opacity: .5; }
.mc[data-mood="wave"] .mc-t8 { animation: mc-wave 1.1s ease-in-out infinite; transform-origin: 0% 0%; }
@keyframes mc-wave { 0%, 100% { transform: rotate(-18deg); } 50% { transform: rotate(-48deg); } }

/* asombro cósmico (clic, despertar): ojos abiertos de par en par, pupila en un punto */
.mc[data-mood="surprised"] .mc-lid { transform: translateY(-17px); }
.mc[data-mood="surprised"] .mc-pupil { transform: scale(.3); }
.mc[data-mood="surprised"] .mc-pupil-glow { opacity: 1; transform: scale(.42); }
.mc[data-mood="surprised"] .mc-iris { stroke: #F2F2EE; opacity: .85; }
.mc[data-mood="surprised"] .mc-eye-size { transform: scale(1.06); }
.mc[data-mood="surprised"] .mc-stars { opacity: 1; }

/* curiosidad (menú, sección Soluciones): inclina la cabeza y un párpado sube */
.mc[data-mood="curious"] .mc-tilt { transform: rotate(-8deg); }
.mc[data-mood="curious"] .mc-sock-l .mc-lid { transform: translateY(-3.5px); }
.mc[data-mood="curious"] .mc-eye-size { transform: scale(1.08); }
.mc[data-mood="curious"] .mc-iris { opacity: .9; }

/* cálculo de eones (sección Método): un planeta orbita su cabeza */
.mc[data-mood="thinking"] .mc-orbit { opacity: 1; }
.mc[data-mood="thinking"] .mc-iris { stroke: var(--mc-cyan); opacity: .8; }
.mc[data-mood="thinking"] .mc-lid { transform: translateY(1px); }
.mc[data-mood="thinking"] .mc-tilt { transform: rotate(4deg); }

/* resonancia (hover en "Iniciar invocación"): el aura late y levita */
.mc[data-mood="excited"] { --mc-wing-speed: 1.4s; --mc-tent-speed: 1.8s; }
.mc[data-mood="excited"] .mc-aura { opacity: 1; animation: mc-pulse 1.6s ease-in-out infinite; }
.mc[data-mood="excited"] .mc-stars { opacity: 1; }
.mc[data-mood="excited"] .mc-float { animation: mc-levitate 2.4s ease-in-out infinite; }
.mc[data-mood="excited"] .mc-lid { transform: translateY(-1.5px); }
@keyframes mc-pulse { 0%, 100% { transform: scale(.9); } 50% { transform: scale(1.08); } }
@keyframes mc-levitate { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(-7px); } }

/* invocación (sección CTA): el tercer ojo despierta */
.mc:is([data-mood="summon"], [data-mood="abyss"]) .mc-third-open { opacity: 1; transform: scaleY(1); }
.mc:is([data-mood="summon"], [data-mood="abyss"]) .mc-third-lid { opacity: 0; }
.mc[data-mood="summon"] .mc-aura { opacity: .8; }

/* modo abismo (5 clics): vacío púrpura, ojos que brillan */
.mc[data-mood="abyss"] { --mc-tent: #3A2F6E; --mc-tent-back: #1E1840; --mc-sucker: #90E0EF; --mc-tent-speed: 1.4s; --mc-wing-speed: 1.1s; }
.mc[data-mood="abyss"] .mc-head-abyss { opacity: 1; }
.mc[data-mood="abyss"] :is(.mc-aura, .mc-stars, .mc-orbit, .mc-eye-dust) { opacity: 1; }
.mc[data-mood="abyss"] .mc-aura { animation: mc-pulse 2.2s ease-in-out infinite; }
.mc[data-mood="abyss"] .mc-pupil { fill: var(--mc-cyan); transform: scale(.7); }
.mc[data-mood="abyss"] .mc-pupil-glow { opacity: .8; }
.mc[data-mood="abyss"] .mc-iris { stroke: var(--mc-cyan); opacity: 1; }
.mc[data-mood="abyss"] .mc-lid { transform: translateY(-3px); }
.mc[data-mood="abyss"] .mc-cheek { opacity: 0; }
.mc[data-mood="abyss"] .mc-rim { stroke: #9D8BD6; }
.mad-mascot > svg.mc[data-mood="abyss"] { filter: drop-shadow(0 0 7px rgba(144, 224, 239, .45)); }

/* somnolencia y sueño (inactividad): sueña con lunas */
.mc[data-mood="sleepy"] { --mc-float-speed: 7s; --mc-tent-speed: 8s; --mc-wing-speed: 9s; }
.mc[data-mood="sleepy"] .mc-lid { transform: translateY(8px); transition-duration: 1.2s; }
.mc[data-mood="asleep"] { --mc-float-speed: 7s; --mc-tent-speed: 9s; }
.mc[data-mood="asleep"] .mc-lid { transform: translateY(17px); transition-duration: 1.4s; }
.mc[data-mood="asleep"] :is(.mc-moons, .mc-closed, .mc-lid-full) { opacity: 1; }
.mc[data-mood="asleep"] .mc-sock-rim { opacity: 0; }
.mc[data-mood="asleep"] .mc-wing { animation-play-state: paused; }
.mc-moon { transform-origin: 50% 50%; animation: mc-drift 3.6s ease-in-out infinite; }
.mc-moon2 { animation-delay: -1.8s; }
@keyframes mc-drift { 0% { transform: translate(-3px, 4px) scale(.6); opacity: 0; } 30% { opacity: 1; } 100% { transform: translate(4px, -8px) scale(1); opacity: 0; } }

/* Nadando con el scroll */
.mc[data-swim="down"] .mc-tentacles { transform: scale(.9, 1.16); }
.mc[data-swim="up"] .mc-tentacles { transform: scale(1.1, .84); }
.mc:is([data-swim="down"], [data-swim="up"]) { --mc-wing-speed: .9s; }
.mc[data-swim="down"] .mc-lid { transform: translateY(1.5px); }

/* Golpecito (clic): se comprime, sin perder la compostura */
.mc.is-poke .mc-squash { animation: mc-squash .6s cubic-bezier(.3, 1.3, .5, 1); }
@keyframes mc-squash {
  0% { transform: scale(1, 1); } 20% { transform: scale(1.08, .88); } 48% { transform: scale(.95, 1.06); }
  72% { transform: scale(1.02, .99); } 100% { transform: scale(1, 1); }
}

/* Polvo de estrellas */
.mc-dust { fill: #C9F4FF; animation: mc-dust 1.1s ease-out forwards; transform-origin: 50% 50%; }
@keyframes mc-dust { 0% { transform: translate(0, 0) scale(.3) rotate(0); opacity: 1; } 100% { transform: translate(var(--dx, 0), var(--dy, -26px)) scale(1) rotate(90deg); opacity: 0; } }

/* Entrada: emerge despacio desde el abismo */
.mad-mascot > svg.is-enter { animation: mc-enter 1.4s cubic-bezier(.2, .9, .3, 1) both; transform-origin: 50% 100%; }
@keyframes mc-enter {
  0% { transform: translateY(55%) scale(.5); opacity: 0; filter: brightness(0); }
  60% { transform: translateY(-4%) scale(1.03, .97); opacity: 1; filter: brightness(.6); }
  100% { transform: none; opacity: 1; filter: none; }
}

/* El punto de "mad.ceo" salta cuando lo tocas */
.mc-dot { display: inline-block; }
.mc-dot.is-hop { animation: mc-hop .6s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes mc-hop { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-.45em); } }

/* Globo de diálogo: oscuro, voz cósmica */
.mc-say {
  position: absolute; top: calc(100% + 8px); left: 50%; z-index: 5;
  padding: .45em .75em; border-radius: 4px;
  background: #0B0D0C; color: #90E0EF; border: 1px solid rgba(144, 224, 239, .45);
  box-shadow: 0 8px 24px -10px rgba(75, 63, 114, .9);
  font: 500 11px/1.25 'JetBrains Mono', ui-monospace, Menlo, monospace; letter-spacing: .02em; white-space: nowrap;
  pointer-events: none; opacity: 0; transform: translate(-22%, -4px); transform-origin: 22% 0;
  transition: opacity .3s, transform .5s cubic-bezier(.16, 1, .3, 1);
}
.mc-say::before {
  content: ""; position: absolute; top: -5px; left: 22%; width: 8px; height: 8px;
  background: #0B0D0C; border-left: 1px solid rgba(144, 224, 239, .45); border-top: 1px solid rgba(144, 224, 239, .45);
  transform: translateX(-50%) rotate(45deg);
}
.mc-say.is-on { opacity: 1; transform: translate(-22%, 0); }

/* Sin animación: preferencia del sistema o botón "Pausar animaciones" */
.mad-mascot.mc-still, .mad-mascot.mc-still * { animation: none !important; transition: none !important; }
