    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --mint:        #3ed5af;
      --mint-light:  #caf3e9;
      --blue:        #306D9E;
      --gray:        #D1D1D0;
      --yellow:      #fcfca5;
      --dark:        #343433;
      --navy:        #000080;
      --white:       #ffffff;
      --sp: clamp(80px, 10vw, 140px);
      --gradient-hero: linear-gradient(135deg,
        rgba(7,58,43,0.85) 0%, rgba(14,90,68,0.78) 30%,
        rgba(26,138,106,0.68) 60%, rgba(62,213,175,0.58) 85%,
        rgba(125,232,208,0.48) 100%);
    }
    html { scroll-behavior: smooth; }
    body { font-family: 'Raleway', sans-serif; background: var(--white); color: var(--dark); overflow-x: hidden; }
    h1,h2,h3,h4 { font-family: 'Nunito', sans-serif; }
    .subtitle,.section-label,.step-num { font-family: 'Anton', sans-serif; }
 
    /* ══ NAVBAR ══ */
    nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 20px 5%; display: flex; align-items: center; justify-content: space-between; transition: all 0.4s ease; }
    nav.scrolled { background: rgba(255,255,255,0.93); backdrop-filter: blur(20px); box-shadow: 0 4px 30px rgba(0,0,0,0.08); padding: 14px 5%; }
    .nav-logo { font-family: 'Nunito', sans-serif; font-weight: 900; font-size: 1.9rem; color: var(--white); text-decoration: none; transition: color 0.4s; letter-spacing: -0.02em; }
    nav.scrolled .nav-logo { color: var(--mint); }
    .nav-links { display: flex; gap: 2.5rem; list-style: none; }
    .nav-links a { font-weight: 600; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.85); text-decoration: none; transition: color 0.3s; position: relative; }
    .nav-links a::after { content:''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--mint); transition: width 0.3s; }
    .nav-links a:hover::after { width: 100%; }
    nav.scrolled .nav-links a { color: var(--dark); }
    .nav-links a:hover { color: var(--mint); }
    .nav-cta { background: var(--mint) !important; color: var(--dark) !important; padding: 10px 26px; border-radius: 50px; font-weight: 700 !important; transition: transform 0.2s, box-shadow 0.2s !important; }
    .nav-cta::after { display: none !important; }
    .nav-cta:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(62,213,175,0.45) !important; color: var(--dark) !important; }
    .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
    .hamburger span { width: 26px; height: 2px; background: var(--white); border-radius: 2px; transition: all 0.3s; }
    nav.scrolled .hamburger span { background: var(--dark); }
 
    /* ══ HERO ══ */
    #hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; }
    .video-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
    .video-background video { width: 100%; height: 100%; object-fit: cover; }
    .video-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--gradient-hero); }
    .hero-blob { position: absolute; border-radius: 50%; filter: blur(90px); opacity: 0.18; animation: floatBlob 10s ease-in-out infinite; z-index: 1; }
    .blob1 { width:650px; height:650px; background:var(--blue);  top:-220px; right:-80px;  animation-delay:0s; }
    .blob2 { width:450px; height:450px; background:var(--navy);  bottom:-120px; left:-80px; animation-delay:4s; }
    .blob3 { width:280px; height:280px; background:var(--yellow); top:40%; left:38%;        animation-delay:7s; }
    @keyframes floatBlob { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(25px,-35px) scale(1.06)} 66%{transform:translate(-25px,22px) scale(0.94)} }
    .particle { position: absolute; border-radius: 50%; background: rgba(255,255,255,0.55); animation: rise linear infinite; z-index: 1; }
    @keyframes rise { 0%{transform:translateY(110vh) scale(0);opacity:0} 8%{opacity:1} 92%{opacity:0.7} 100%{transform:translateY(-10px) scale(1);opacity:0} }
    .hero-content { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 130px 5% 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
    @keyframes fadeUp    { from{opacity:0;transform:translateY(36px)} to{opacity:1;transform:translateY(0)} }
    @keyframes fadeRight { from{opacity:0;transform:translateX(50px)} to{opacity:1;transform:translateX(0)} }
    .hero-badge { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,0.14); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.28); padding:9px 20px; border-radius:50px; margin-bottom:2rem; animation:fadeUp 0.8s ease 0.2s both; }
    .badge-dot { width:8px; height:8px; background:var(--yellow); border-radius:50%; animation:pulseDot 2s ease infinite; flex-shrink:0; }
    @keyframes pulseDot { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.5);opacity:0.5} }
    .hero-badge span { font-size:0.75rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--yellow); }
    .hero-title { font-size:clamp(3.8rem,7.5vw,6.4rem); font-weight:900; line-height:1.02; color:var(--white); margin-bottom:1.5rem; animation:fadeUp 0.8s ease 0.4s both; letter-spacing:-0.02em; }
    .hero-title .accent { color:var(--yellow); display:block; }
    .hero-tagline { font-size:clamp(1rem,1.4vw,1.15rem); color:rgba(255,255,255,0.72); line-height:1.75; margin-bottom:2.5rem; animation:fadeUp 0.8s ease 0.6s both; font-style:italic; }
    .hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp 0.8s ease 0.8s both; }
    .btn-primary { background:var(--yellow); color:var(--dark); padding:16px 38px; border-radius:50px; font-family:'Nunito',sans-serif; font-weight:800; font-size:1rem; text-decoration:none; transition:transform 0.25s,box-shadow 0.25s; border:none; cursor:pointer; display:inline-block; }
    .btn-primary:hover { transform:translateY(-4px); box-shadow:0 18px 44px rgba(252,252,165,0.5); }
    .btn-secondary { background:transparent; color:var(--white); padding:16px 38px; border-radius:50px; font-family:'Nunito',sans-serif; font-weight:700; font-size:1rem; text-decoration:none; border:2px solid rgba(255,255,255,0.45); transition:all 0.25s; display:inline-block; }
    .btn-secondary:hover { background:rgba(255,255,255,0.1); border-color:var(--white); }
    .hero-stats { display:flex; gap:3rem; margin-top:3.5rem; animation:fadeUp 0.8s ease 1s both; }
    .hero-stat-num { font-family:'Nunito',sans-serif; font-size:2.2rem; font-weight:900; color:var(--yellow); line-height:1; }
    .hero-stat-label { font-size:0.72rem; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:0.05em; margin-top:5px; }
    .hero-visual { animation:fadeRight 1s ease 0.7s both; }
    .hero-card-float { background:rgba(255,255,255,0.1); backdrop-filter:blur(22px); border:1px solid rgba(255,255,255,0.22); border-radius:28px; padding:2.5rem; position:relative; }
    .arm-svg-wrap { width:100%; max-width:360px; margin:0 auto; display:block; }
    .float-chip { position:absolute; background:rgba(255,255,255,0.95); border-radius:16px; padding:12px 16px; box-shadow:0 20px 60px rgba(0,0,0,0.22); animation:chipFloat 4s ease-in-out infinite; }
    .float-chip-1 { top:-18px; left:-36px; animation-delay:0s; }
    .float-chip-2 { bottom:18px; right:-30px; animation-delay:2.2s; }
    @keyframes chipFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
    .chip-icon { font-size:1.4rem; margin-bottom:3px; }
    .chip-label { font-family:'Nunito',sans-serif; font-weight:700; font-size:0.7rem; color:#888; }
    .chip-value { font-family:'Anton',sans-serif; font-size:1.05rem; color:var(--mint); }
    .hero-wave { position:absolute; bottom:-1px; left:0; width:100%; line-height:0; z-index:2; }
    .hero-wave svg { display:block; }
 
    /* ══ SECTION COMMONS ══ */
    .container { max-width:1200px; margin:0 auto; padding:0 5%; }
    .section-label { display:inline-block; font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--mint); margin-bottom:1rem; }
    .section-title { font-size:clamp(2rem,4vw,3rem); font-weight:900; line-height:1.1; margin-bottom:1.2rem; }
    .section-sub { font-size:1.05rem; color:#666; line-height:1.72; max-width:540px; }
    .reveal { opacity:0; transform:translateY(44px); transition:opacity 0.85s ease,transform 0.85s ease; }
    .reveal.visible { opacity:1; transform:translateY(0); }
    .d1{transition-delay:0.1s}.d2{transition-delay:0.2s}.d3{transition-delay:0.3s}.d4{transition-delay:0.4s}
 
    /* ══ QUÉ ES ══ */
    #que-es { padding:var(--sp) 0; background:var(--white); }
    .que-es-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
    .que-es-card { background:linear-gradient(145deg,var(--mint-light) 0%,rgba(62,213,175,0.12) 100%); border-radius:32px; padding:3rem; position:relative; overflow:hidden; }
    .que-es-card::before { content:''; position:absolute; top:-70px; right:-70px; width:200px; height:200px; background:var(--mint); border-radius:50%; opacity:0.14; }
    .icon-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
    .icon-item { background:var(--white); border-radius:20px; padding:1.6rem; text-align:center; transition:transform 0.3s,box-shadow 0.3s; cursor:default; }
    .icon-item:hover { transform:translateY(-5px); box-shadow:0 18px 44px rgba(62,213,175,0.18); }
    .icon-item .ico { font-size:2.4rem; margin-bottom:0.7rem; }
    .icon-item h4 { font-size:0.87rem; font-weight:700; color:var(--dark); line-height:1.3; }
    .stats-row { display:flex; gap:3rem; margin-top:3rem; flex-wrap:wrap; }
    .stat-num { font-family:'Nunito',sans-serif; font-size:2.6rem; font-weight:900; color:var(--mint); line-height:1; }
    .stat-label { font-size:0.82rem; color:#999; margin-top:6px; }
 
    /* ══ CÓMO FUNCIONA ══ */
    #como-funciona { padding:var(--sp) 0; background:var(--dark); position:relative; overflow:hidden; }
    #como-funciona .section-title { color:var(--white); }
    #como-funciona .section-label { color:var(--mint); }
    #como-funciona .section-sub   { color:var(--gray); }
    .steps-header { text-align:center; margin-bottom:4.5rem; }
    .steps-wrap { position:relative; }
    .steps-track { position:absolute; top:55px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,transparent,var(--mint) 30%,var(--blue) 70%,transparent); opacity:0.35; }
    .steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; position:relative; z-index:1; }
    .step-card { text-align:center; padding:2rem 1.4rem; }
    .step-num-circle { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,var(--mint),var(--blue)); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; font-family:'Anton',sans-serif; font-size:1.4rem; color:var(--white); box-shadow:0 10px 36px rgba(62,213,175,0.35); transition:transform 0.3s,box-shadow 0.3s; }
    .step-card:hover .step-num-circle { transform:scale(1.12); box-shadow:0 20px 52px rgba(62,213,175,0.55); }
    .step-ico { font-size:2rem; margin-bottom:1.1rem; }
    .step-title { font-family:'Nunito',sans-serif; font-size:1.05rem; font-weight:800; color:var(--white); margin-bottom:0.7rem; }
    .step-desc { font-size:0.88rem; color:#aaa; line-height:1.65; }
 
    /* ══ PICKABOT ══ */
    #pickabot { padding:var(--sp) 0; background:linear-gradient(145deg,#090f20 0%,var(--navy) 50%,#1a4a7a 100%); position:relative; overflow:hidden; }
    .pk-glow { position:absolute; border-radius:50%; filter:blur(110px); opacity:0.18; }
    .pk-glow-1 { width:520px; height:520px; background:var(--mint);   top:-200px; right:-80px; }
    .pk-glow-2 { width:320px; height:320px; background:var(--yellow); bottom:-80px; left:10%; }
    .pickabot-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
    #pickabot .section-title { color:var(--white); }
    #pickabot .section-label { color:var(--mint); }
    #pickabot .section-sub   { color:rgba(255,255,255,0.68); max-width:460px; }
    #pickabot .section-title .hl { color:var(--mint); }
    .pk-feats { display:flex; flex-direction:column; gap:1.1rem; margin-top:2.5rem; }
    .pk-feat { display:flex; align-items:flex-start; gap:1rem; background:rgba(255,255,255,0.055); border:1px solid rgba(255,255,255,0.1); border-radius:16px; padding:1.2rem 1.5rem; transition:all 0.3s; cursor:default; }
    .pk-feat:hover { background:rgba(62,213,175,0.1); border-color:rgba(62,213,175,0.3); transform:translateX(8px); }
    .pk-feat-ico { width:44px; height:44px; flex-shrink:0; border-radius:12px; background:linear-gradient(135deg,var(--mint),var(--blue)); display:flex; align-items:center; justify-content:center; font-size:1.2rem; }
    .pk-feat h4 { font-family:'Nunito',sans-serif; font-weight:700; font-size:0.92rem; color:var(--white); margin-bottom:3px; }
    .pk-feat p  { font-size:0.84rem; color:rgba(255,255,255,0.58); line-height:1.5; }
    .pk-visual { display:flex; align-items:center; justify-content:center; }
    .orbit-ring { width:320px; height:320px; border-radius:50%; border:1px solid rgba(62,213,175,0.3); position:relative; animation:spin 22s linear infinite; display:flex; align-items:center; justify-content:center; }
    .orbit-ring::before,.orbit-ring::after { content:''; position:absolute; border-radius:50%; border:1px solid rgba(62,213,175,0.15); }
    .orbit-ring::before { inset:24px; } .orbit-ring::after { inset:55px; }
    @keyframes spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
    .orbit-center { width:170px; height:170px; border-radius:50%; background:linear-gradient(135deg,rgba(62,213,175,0.18),rgba(48,109,158,0.28)); border:2px solid var(--mint); display:flex; align-items:center; justify-content:center; font-size:5rem; animation:spin 22s linear infinite reverse; box-shadow:0 0 70px rgba(62,213,175,0.28),inset 0 0 44px rgba(62,213,175,0.08); position:relative; z-index:2; }
    .orbit-dot { position:absolute; width:13px; height:13px; background:var(--mint); border-radius:50%; box-shadow:0 0 18px var(--mint); z-index:3; }
    .od1{top:-6px;left:50%;transform:translateX(-50%)} .od2{bottom:-6px;left:50%;transform:translateX(-50%)}
    .od3{left:-6px;top:50%;transform:translateY(-50%)}  .od4{right:-6px;top:50%;transform:translateY(-50%)}
 
    /* ══ TESTIMONIOS ══ */
    #testimonios { padding:var(--sp) 0; background:var(--mint-light); }
    .test-header { text-align:center; margin-bottom:4rem; }
    .test-header .section-sub { margin:0 auto; }
    .test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
    .test-card { background:var(--white); border-radius:24px; padding:2rem; position:relative; transition:transform 0.3s,box-shadow 0.3s; cursor:default; }
    .test-card:hover { transform:translateY(-7px); box-shadow:0 24px 65px rgba(62,213,175,0.14); }
    .test-card::before { content:'"'; position:absolute; top:14px; right:22px; font-family:'Nunito',sans-serif; font-size:6rem; color:var(--mint-light); line-height:1; font-weight:900; pointer-events:none; }
    .test-stars { display:flex; gap:4px; margin-bottom:1rem; font-size:1rem; color:#f5c518; }
    .test-text  { font-size:0.93rem; line-height:1.72; color:#555; margin-bottom:1.6rem; }
    .test-author { display:flex; align-items:center; gap:1rem; }
    .test-av { width:48px; height:48px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,var(--mint),var(--blue)); display:flex; align-items:center; justify-content:center; font-family:'Nunito',sans-serif; font-weight:800; color:var(--white); font-size:1.05rem; }
    .test-name { font-family:'Nunito',sans-serif; font-weight:800; font-size:0.93rem; color:var(--dark); }
    .test-role { font-size:0.78rem; color:#aaa; }
 
    /* ══ EQUIPO ══ */
    #equipo { padding:var(--sp) 0; background:var(--white); position:relative; }
    .equipo-header { text-align:center; margin-bottom:4rem; }
    .equipo-header .section-sub { margin:0 auto; }
    .equipo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.8rem; }
    .team-card { text-align:center; background:var(--white); border-radius:24px; padding:2rem 1.4rem; border:2px solid var(--mint-light); transition:all 0.3s; cursor:default; }
    .team-card:hover { border-color:var(--mint); transform:translateY(-7px); box-shadow:0 22px 65px rgba(62,213,175,0.14); }
    .team-av { width:100px; height:100px; border-radius:50%; margin:0 auto 1.2rem; background:linear-gradient(135deg,var(--mint-light),var(--mint)); display:flex; align-items:center; justify-content:center; font-family:'Nunito',sans-serif; font-weight:900; font-size:2rem; color:var(--blue); border:3px solid var(--white); box-shadow:0 10px 36px rgba(62,213,175,0.28); transition:transform 0.3s; }

    .team-av img {
        width: 100%;
    }
    .team-card:hover .team-av { transform:scale(1.09); }
    .team-name { font-family:'Nunito',sans-serif; font-weight:800; font-size:1.08rem; color:var(--dark); margin-bottom:4px; }
    .team-role { font-family:'Anton',sans-serif; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--mint); margin-bottom:0.8rem; }
    .team-desc { font-size:0.82rem; color:#999; line-height:1.55; }
 
    /* ══ CONTACTO ══ */
    #contacto { padding:var(--sp) 0; background:linear-gradient(160deg,var(--dark) 0%,#1a1a1a 100%); position:relative; overflow:hidden; }
    .ct-glow { position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(62,213,175,0.1) 0%,transparent 70%); top:-220px; right:-180px; border-radius:50%; }
    .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
    #contacto .section-title { color:var(--white); }
    #contacto .section-label { color:var(--mint); }
    #contacto .section-sub   { color:rgba(255,255,255,0.62); }
    .ct-feats { display:flex; flex-direction:column; gap:1rem; margin-top:2.5rem; }
    .ct-feat { display:flex; align-items:center; gap:1rem; color:rgba(255,255,255,0.8); font-size:0.93rem; }
    .ct-dot { width:10px; height:10px; background:var(--mint); border-radius:50%; flex-shrink:0; box-shadow:0 0 12px var(--mint); }
    .ct-form { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:24px; padding:2.5rem; }
    .form-group { margin-bottom:1.2rem; }
    .form-label { display:block; font-size:0.78rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.58); margin-bottom:8px; }
    .form-input { width:100%; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.14); border-radius:12px; padding:14px 16px; color:var(--white); font-family:'Raleway',sans-serif; font-size:0.93rem; outline:none; transition:border-color 0.25s; appearance:none; }
    .form-input:focus { border-color:var(--mint); }
    .form-input::placeholder { color:rgba(255,255,255,0.28); }
    textarea.form-input { resize:vertical; min-height:115px; }
    .btn-submit { width:100%; background:linear-gradient(135deg,var(--mint),var(--blue)); color:var(--white); padding:16px; border-radius:12px; font-family:'Nunito',sans-serif; font-weight:800; font-size:1rem; border:none; cursor:pointer; letter-spacing:0.04em; transition:transform 0.25s,box-shadow 0.25s; }
    .btn-submit:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(62,213,175,0.42); }
 
    /* ══ FOOTER ══ */
    footer { background:#090909; padding:3.5rem 5%; text-align:center; border-top:1px solid rgba(255,255,255,0.05); }
    .footer-logo { font-family:'Nunito',sans-serif; font-weight:900; font-size:2rem; color:var(--mint); margin-bottom:0.8rem; letter-spacing:-0.02em; }
    .footer-tag  { font-size:0.84rem; color:rgba(255,255,255,0.38); margin-bottom:1.8rem; font-style:italic; }
    .footer-links { display:flex; gap:2rem; justify-content:center; list-style:none; margin-bottom:2rem; flex-wrap:wrap; }
    .footer-links a { font-size:0.83rem; color:rgba(255,255,255,0.38); text-decoration:none; transition:color 0.2s; }
    .footer-links a:hover { color:var(--mint); }
    .footer-copy { font-size:0.78rem; color:rgba(255,255,255,0.18); }
    .wave-div { position:absolute; bottom:-1px; left:0; width:100%; line-height:0; overflow:hidden; }
    .wave-div svg { display:block; }
 
    /* ══ MOBILE MENU ══ */
    .mob-menu { display:none; position:fixed; inset:0; background:rgba(6,6,6,0.97); backdrop-filter:blur(20px); z-index:999; flex-direction:column; align-items:center; justify-content:center; gap:2rem; }
    .mob-menu.open { display:flex; }
    .mob-menu a { font-family:'Nunito',sans-serif; font-size:1.6rem; font-weight:700; color:var(--white); text-decoration:none; transition:color 0.2s; }
    .mob-menu a:hover { color:var(--mint); }
    .mob-close { position:absolute; top:24px; right:26px; font-size:2rem; color:rgba(255,255,255,0.7); background:none; border:none; cursor:pointer; line-height:1; }
 
    /* ══════════════════════════════════════
       ROBOT WIDGET
    ══════════════════════════════════════ */
    #robot-widget {
      position: fixed; bottom: 28px; right: 28px;
      z-index: 9000;
      display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
    }
 
    /* Speech bubble */
    #speech-bubble {
      max-width: 270px; min-width: 190px;
      background: var(--white);
      border: 2px solid var(--mint);
      border-radius: 20px 20px 6px 20px;
      padding: 14px 16px 14px 14px;
      box-shadow: 0 10px 44px rgba(62,213,175,0.3);
      position: relative;
      transform-origin: bottom right;
      animation: bubblePop 0.35s cubic-bezier(0.34,1.56,0.64,1) both;
    }
    #speech-bubble.hidden { display: none; }
    #speech-bubble::after {
      content: ''; position: absolute; bottom: -11px; right: 26px;
      border: 7px solid transparent; border-top-color: var(--mint);
    }
    @keyframes bubblePop { from{transform:scale(0.6);opacity:0} to{transform:scale(1);opacity:1} }
    #speech-text { font-family:'Nunito',sans-serif; font-size:0.81rem; line-height:1.55; color:var(--dark); font-weight:600; padding-right:14px; }
    .bubble-close { position:absolute; top:7px; right:9px; font-size:0.72rem; color:#ccc; cursor:pointer; background:none; border:none; line-height:1; transition:color 0.2s; }
    .bubble-close:hover { color:var(--dark); }
 
    /* Robot avatar */
    #robot-avatar {
      width: 82px; height: 82px;
      cursor: pointer;
      position: relative;
      filter: drop-shadow(0 8px 22px rgba(62,213,175,0.45));
      transition: filter 0.3s;
    }
    #robot-avatar:hover { filter: drop-shadow(0 12px 30px rgba(62,213,175,0.65)); }
 
    /* Idle: float */
    #robot-avatar.idle { animation: robotFloat 3.2s ease-in-out infinite; }
    @keyframes robotFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
 
    /* Talking: bounce */
    #robot-avatar.talking { animation: robotTalk 0.36s ease-in-out infinite alternate; }
    @keyframes robotTalk {
      from { transform: translateY(0) rotate(-2.5deg); filter: drop-shadow(0 8px 22px rgba(62,213,175,0.45)); }
      to   { transform: translateY(-6px) rotate(2.5deg); filter: drop-shadow(0 16px 36px rgba(62,213,175,0.75)); }
    }
 
    /* SVG path color overrides */
    #r-body  { fill: #3ed5af; }
    #r-face  { fill: #caf3e9; }
    #r-eye-l { fill: #306D9E; }
    #r-eye-r { fill: #306D9E; }
    #r-mouth { fill: #1a5a80; }
    #r-lower { fill: #2ab898; }
 
    /* Talking mouth animation */
    #robot-avatar.talking #r-mouth {
      animation: mouthOpen 0.22s ease-in-out infinite alternate;
      transform-box: fill-box;
      transform-origin: center;
    }
    @keyframes mouthOpen { from{transform:scaleY(1)} to{transform:scaleY(1.8)} }
 
    /* Blinking eyes when talking */
    #robot-avatar.talking #r-eye-l,
    #robot-avatar.talking #r-eye-r {
      animation: eyeBlink 2.8s ease-in-out infinite;
      transform-box: fill-box;
      transform-origin: center;
    }
    @keyframes eyeBlink { 0%,88%,100%{transform:scaleY(1)} 94%{transform:scaleY(0.08)} }
 
    /* Notification dot */
    #robot-notif {
      position: absolute; top: 3px; right: 3px;
      width: 15px; height: 15px; background: var(--yellow);
      border-radius: 50%; border: 2px solid var(--white);
      animation: pulseDot 1.6s ease infinite; display: none;
    }
    #robot-notif.show { display: block; }
 
    /* ══════════════════════════════════════
       CHAT MODAL
    ══════════════════════════════════════ */
    #chat-modal {
      position: fixed; bottom: 122px; right: 28px;
      width: 340px;
      background: var(--white);
      border-radius: 24px;
      box-shadow: 0 24px 90px rgba(0,0,0,0.22), 0 0 0 1px rgba(62,213,175,0.2);
      z-index: 8999;
      display: flex; flex-direction: column;
      overflow: hidden;
      transform-origin: bottom right;
      animation: chatIn 0.4s cubic-bezier(0.34,1.56,0.64,1) both;
    }
    #chat-modal.hidden { display: none; }
    @keyframes chatIn { from{transform:scale(0.72) translateY(28px);opacity:0} to{transform:scale(1) translateY(0);opacity:1} }
 
    .chat-header {
      background: linear-gradient(135deg, var(--mint), var(--blue));
      padding: 15px 18px;
      display: flex; align-items: center; gap: 12px;
    }
    .chat-hav {
      width: 42px; height: 42px; border-radius: 50%;
      background: rgba(255,255,255,0.2); flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
    }
    .chat-hav svg { width: 30px; height: 30px; }
    .chat-hinfo { flex: 1; }
    .chat-hname   { font-family:'Nunito',sans-serif; font-weight:800; font-size:0.95rem; color:var(--white); }
    .chat-hstatus { font-size:0.7rem; color:rgba(255,255,255,0.78); }
    .chat-hclose  { background:rgba(255,255,255,0.18); border:none; border-radius:50%; width:30px; height:30px; cursor:pointer; color:var(--white); font-size:1rem; display:flex; align-items:center; justify-content:center; transition:background 0.2s; }
    .chat-hclose:hover { background:rgba(255,255,255,0.32); }
 
    #chat-messages {
      flex: 1; overflow-y: auto; padding: 14px 14px 8px;
      display: flex; flex-direction: column; gap: 10px;
      max-height: 310px; min-height: 180px;
      scrollbar-width: thin; scrollbar-color: var(--mint-light) transparent;
    }
    .chat-msg { max-width: 82%; padding: 10px 14px; border-radius: 16px; font-family:'Nunito',sans-serif; font-size:0.84rem; line-height:1.5; animation: msgIn 0.22s ease both; }
    @keyframes msgIn { from{transform:scale(0.88);opacity:0} to{transform:scale(1);opacity:1} }
    .chat-msg.bot    { background:var(--mint-light); color:var(--dark); align-self:flex-start; border-bottom-left-radius:4px; }
    .chat-msg.user   { background:var(--mint); color:var(--white); align-self:flex-end; border-bottom-right-radius:4px; font-weight:600; }
    .chat-msg.typing { background:var(--mint-light); color:#999; align-self:flex-start; border-bottom-left-radius:4px; font-style:italic; }
 
    .chat-dots { display:inline-flex; gap:4px; align-items:center; }
    .chat-dots span { width:6px; height:6px; background:#aaa; border-radius:50%; animation:dotBounce 1.2s ease-in-out infinite; }
    .chat-dots span:nth-child(2) { animation-delay:0.2s; }
    .chat-dots span:nth-child(3) { animation-delay:0.4s; }
    @keyframes dotBounce { 0%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-5px)} }
 
    .chat-input-row {
      display:flex; gap:8px; padding:12px 14px;
      border-top:1px solid rgba(62,213,175,0.15);
      background:#fafffe;
    }
    #chat-input {
      flex:1; border:1.5px solid var(--mint-light); border-radius:24px;
      padding:10px 16px; font-family:'Nunito',sans-serif; font-size:0.85rem;
      outline:none; transition:border-color 0.2s; background:var(--white);
    }
    #chat-input:focus { border-color:var(--mint); }
    #chat-send {
      width:40px; height:40px; border-radius:50%; flex-shrink:0;
      background:linear-gradient(135deg,var(--mint),var(--blue));
      border:none; cursor:pointer; color:var(--white);
      display:flex; align-items:center; justify-content:center;
      transition:transform 0.2s,box-shadow 0.2s;
    }
    #chat-send:hover { transform:scale(1.12); box-shadow:0 6px 18px rgba(62,213,175,0.45); }
    #chat-send svg { width:17px; height:17px; }
 
    /* ══ RESPONSIVE ══ */
    @media (max-width:1100px) { .equipo-grid { grid-template-columns:repeat(2,1fr); } }
    @media (max-width:860px) {
      .nav-links{display:none} .hamburger{display:flex}
      .hero-content{grid-template-columns:1fr;text-align:center}
      .hero-ctas{justify-content:center} .hero-stats{justify-content:center;flex-wrap:wrap;gap:2rem}
      .hero-visual{display:none} .que-es-grid{grid-template-columns:1fr}
      .que-es-grid .reveal:first-child{order:2}
      .steps-grid{grid-template-columns:1fr 1fr} .steps-track{display:none}
      .pickabot-grid{grid-template-columns:1fr} .pk-visual{display:none}
      .test-grid{grid-template-columns:1fr} .equipo-grid{grid-template-columns:1fr 1fr}
      .contact-grid{grid-template-columns:1fr}
      #chat-modal{width:calc(100vw - 56px);right:28px}
    }
    @media (max-width:520px) {
      .steps-grid{grid-template-columns:1fr} .equipo-grid{grid-template-columns:1fr}
      .hero-stats{flex-direction:column;gap:1.2rem}
      #robot-widget{bottom:16px;right:16px}
      #chat-modal{bottom:110px;right:16px;left:16px;width:auto}
    }

    .que-es-card img {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
    }
    .social-links {
  display: flex;
  justify-content: center;
  gap: 30px; 
  flex-wrap: wrap;
}

.social-btn {
  text-decoration: none;
  color: #3ed5af; 
  font-size: 3rem; 
  transition: all 0.3s ease;
  backdrop-filter: blur(5px);

  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}


.social-btn.instagram:hover {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color: white;
  box-shadow: 0 0 20px rgba(214, 36, 159, 0.7);
  transform: translateY(-5px);
}
.social-btn.gmail:hover {
  /* Degradado usando el rojo oficial de Google y un tono ligeramente más oscuro */
  background: linear-gradient(135deg, #ea4335 0%, #c5221f 100%);
  color: white;
  /* Resplandor adaptado al tono rojo */
  box-shadow: 0 0 20px rgba(234, 67, 53, 0.7);
  transform: translateY(-5px);
}

.contactanos-rs {
    display: flex;
    justify-content: flex-start; /* O usa 'flex-start' si los quieres pegados a la izquierda */
    gap: 15px;
}

.pk-feat h1 {
    color: var(--mint);
}