/* Agencia IA | AIRA: tema universo oscuro. CSP estricta: sin estilos ni scripts en línea. */
:root{color-scheme:dark;--ink:#e6f5f9;--muted:#a9c2ce;--bg:#040a14;--glass:rgba(10,30,48,.78);--stroke:rgba(127,239,240,.3);--cyan:#2de2e6;--violet:#a79bff;--dark:#03202a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 "Segoe UI",system-ui,-apple-system,Roboto,sans-serif;position:relative;overflow-x:hidden}
a{color:#7fefef}a:hover{color:#fff}
:focus-visible{outline:3px solid #ffd27a;outline-offset:3px}
[hidden]{display:none!important}

/* Fondo universo */
.space{position:absolute;inset:0 0 auto 0;height:1500px;overflow:hidden;pointer-events:none;z-index:0}
.stars{position:absolute;inset:0;animation:twinkle 5s ease-in-out infinite;background-image:radial-gradient(1.5px 1.5px at 6% 12%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 14% 64%,#cfefff 50%,transparent 52%),radial-gradient(2px 2px at 22% 30%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 31% 82%,#fff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 38% 8%,#bfeaff 50%,transparent 52%),radial-gradient(1px 1px at 46% 46%,#fff 50%,transparent 52%),radial-gradient(2px 2px at 54% 90%,#cfefff 50%,transparent 52%),radial-gradient(1px 1px at 61% 20%,#fff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 68% 58%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 74% 6%,#bfeaff 50%,transparent 52%),radial-gradient(2px 2px at 81% 36%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 88% 74%,#cfefff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 93% 18%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 97% 52%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 9% 92%,#fff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 27% 56%,#cfefff 50%,transparent 52%),radial-gradient(1px 1px at 49% 70%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 78% 94%,#fff 50%,transparent 52%)}
.nebula{position:absolute;border-radius:50%}
.nebula-a{top:-260px;right:-200px;width:900px;height:900px;background:radial-gradient(circle,rgba(45,226,230,.22) 0,rgba(20,110,150,.1) 45%,rgba(4,10,20,0) 70%)}
.nebula-b{top:620px;left:-320px;width:800px;height:800px;background:radial-gradient(circle,rgba(70,60,200,.2) 0,rgba(30,40,120,.08) 50%,rgba(4,10,20,0) 72%)}

.shell{max-width:1080px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
.hero{position:relative;z-index:1;padding:44px 0 56px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.26em;font-size:13px;font-weight:700;color:var(--cyan)}
h1{font-size:clamp(30px,5vw,54px);line-height:1.1;letter-spacing:-.02em;margin:0 0 20px;font-weight:700}
.accent{color:var(--cyan)}
.lead{max-width:34rem;color:#bfd6df;font-size:19px;margin:0 0 28px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent}
.btn.primary{background:var(--cyan);color:var(--dark)}
.btn.primary:hover{background:#fff;color:var(--dark)}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(127,239,240,.55)}
.btn.ghost:hover{background:rgba(45,226,230,.12)}
.cta{margin:0;color:#9fbac6;font-size:15px}

/* Robot AIRA */
.robot-stage{position:relative;width:440px;max-width:100%;height:520px;justify-self:center}
.orbit{position:absolute;inset:0;width:100%;height:100%;animation:orbit 40s linear infinite;transform-origin:50% 50%}
.orbit-a{fill:none;stroke:rgba(45,226,230,.4);stroke-width:1.4}
.orbit-b{fill:none;stroke:rgba(130,120,255,.28);stroke-width:1.2;stroke-dasharray:3 9}
.dot-a{fill:#7fefef}.dot-b{fill:#a79bff}.dot-c{fill:#fff}
.robot-float{position:absolute;top:30px;left:50px;width:340px;animation:float 6s ease-in-out infinite}
.robot-btn{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:pointer;border-radius:28px}
.robot-tilt{display:block;transition:transform .15s ease-out}
.robot{display:block;width:100%;height:auto}
.eyes-happy,.cheeks,.smile-wide{display:none}
.is-happy .eyes-open,.is-happy .smile-calm{display:none}
.is-happy .eyes-happy,.is-happy .cheeks,.is-happy .smile-wide{display:inline}
.blink{animation:blink 5.2s infinite;transform-box:fill-box;transform-origin:center}
.beat{animation:beat 2.4s ease-in-out infinite}
.is-happy .beat{animation-duration:.6s}
.arm-wave{transform-origin:290px 300px}
.is-happy .arm-wave{animation:wave .7s ease-in-out infinite}
.robot-bubble{position:absolute;top:2px;left:-6px;max-width:230px;background:#e8fbfc;color:#06202e;border-radius:18px 18px 18px 4px;padding:12px 16px;font-size:15px;font-weight:600;line-height:1.35}
.robot-bubble a{display:block;margin-top:8px;color:#06505c;font-weight:700}
.chip{position:absolute;background:rgba(8,28,44,.88);border:1px solid rgba(127,239,240,.45);border-radius:14px;padding:9px 15px;font-size:14px;font-weight:600}
.chip-a{top:96px;right:-6px}
.chip-b{top:262px;left:-10px;border-color:rgba(167,155,255,.5)}
.chip-c{bottom:56px;right:4px}

/* Tarjetas */
main{position:relative;z-index:1;margin-top:0}
.card{background:var(--glass);border:1px solid var(--stroke);border-radius:20px;padding:26px 28px;margin-bottom:18px}
.card h2{font-size:24px;margin:0 0 10px;letter-spacing:-.01em}
.card ul{margin:0 0 12px;padding-left:22px}
.card p{margin:0}
.price{margin-top:14px!important;padding:16px 18px;background:rgba(45,226,230,.1);border:1px solid rgba(127,239,240,.55);border-radius:14px;font-size:19px}
.fine{color:#9fbac6;font-size:13px;padding-top:6px;padding-bottom:100px}
.card .fine{padding:0;margin:.8rem 0}

#cita-form label{display:block;margin:.8rem 0;font-weight:500}
#cita-form input:not([type=checkbox]):not([type=radio]),#cita-form select{display:block;width:100%;max-width:28rem;min-height:44px;padding:.5rem .8rem;margin-top:.3rem;border-radius:12px;border:1px solid rgba(127,239,240,.4);background:#06182a;color:var(--ink);font:inherit}
#cita-form .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:15px}
#cita-form button{margin-top:.9rem;min-height:48px;padding:0 1.6rem;border:0;border-radius:999px;background:var(--cyan);color:var(--dark);font:inherit;font-weight:600;cursor:pointer}
#cita-form button:disabled{opacity:.6;cursor:progress}
#cita-slots{border:0;padding:0;margin:0 0 .6rem}
#cita-slots legend{font-weight:600;margin-bottom:.4rem;padding:0}
#cita-slots label{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:0 .9rem;margin:.4rem 0;border:1px solid rgba(127,239,240,.28);border-radius:12px}
#cita-msg{min-height:1.4em;font-weight:600;color:#cfe9f0}

/* AIRA compañera */
.buddy{position:fixed;left:0;top:0;z-index:40;width:96px;height:96px;pointer-events:none;will-change:transform;opacity:0;transition:opacity .3s}
.buddy.is-visible{opacity:1}
.buddy-inner{position:relative;width:96px;height:96px}
.buddy.is-visible .buddy-inner{pointer-events:auto}
.buddy-tilt{display:block;width:96px;height:96px}
.buddy-btn{display:block;width:96px;height:96px;padding:0;margin:0;border:0;background:none;cursor:pointer;border-radius:50%}
.buddy-btn svg{display:block;width:96px;height:96px}
.buddy.is-engaged .eyes-happy,.buddy.is-engaged .cheeks,.buddy.is-engaged .smile-wide{display:inline}
.buddy.is-engaged .smile-calm{display:none}
.buddy-panel{position:absolute;top:0;left:90px;width:264px;background:rgba(7,26,43,.97);border:1px solid rgba(127,239,240,.5);border-radius:18px;padding:14px 14px 16px;font-size:15px}
.buddy.side-left .buddy-panel{left:auto;right:90px}
.buddy.go-up .buddy-panel{top:auto;bottom:0}
.buddy-hint{margin:0;font-size:13px;color:#a9c6d2;line-height:1.35}
.buddy-opt{display:flex;align-items:center;width:100%;min-height:44px;margin-top:8px;padding:0 14px;border-radius:12px;border:1px solid rgba(127,239,240,.3);background:none;color:var(--ink);font:inherit;text-decoration:none;text-align:left;cursor:pointer}
.buddy-opt.strong{margin-top:10px;background:rgba(45,226,230,.14);border-color:rgba(127,239,240,.45);font-weight:600}
.buddy-opt:hover{background:rgba(45,226,230,.2);color:#fff}
.buddy-dock{display:block;width:100%;min-height:40px;margin-top:10px;border-radius:12px;border:1px dashed rgba(167,155,255,.65);background:none;color:#cfc8ff;font:inherit;font-size:14px;cursor:pointer}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes twinkle{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes blink{0%,91%,100%{transform:scaleY(1)}94%{transform:scaleY(.08)}}
@keyframes beat{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-34deg)}}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.robot-stage{height:480px}}
@media(max-width:480px){.card{padding:20px}.chip-a{right:0}.chip-b{left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stars,.orbit,.robot-float,.blink,.beat,.is-happy .arm-wave,.buddy{animation:none;transition:none}}

.card a,.fine a{color:#8fe9ee}
h1{font-size:32px;margin:0 0 6px;letter-spacing:-.01em}
