  :root{
    --bg:#0E0B16;
    --surface:#17111F;
    --surface-2:#211830;
    --violet:#7B5CF0;
    --violet-deep:#5A3ADB;
    --cyan:#00D4C8;
    --magenta:#FF2DA6;
    --acid:#D4FF3D;
    --line:rgba(255,255,255,.12);
    --muted:#B7AFD6;
    --muted-dim:#847CA0;
    --font-display:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
    --font-body:"Inter","Helvetica Neue",Arial,sans-serif;
    --font-mono:"JetBrains Mono",ui-monospace,monospace;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0; background:var(--bg); color:#fff; font-family:var(--font-body); -webkit-font-smoothing:antialiased;}
  h1,h2,h3{font-family:var(--font-display); margin:0; text-wrap:balance;}
  p{margin:0;}
  a{color:inherit;}
  .wrap{max-width:1100px; margin:0 auto; padding:0 44px;}
  .tag{font-family:var(--font-mono); font-weight:700; font-size:12px; letter-spacing:.02em; color:var(--acid);}
  .tag::before{content:"{ ";} .tag::after{content:" }";}

  /* ---------------- reveal / motion system ---------------- */
  .reveal{opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-list{list-style:none; margin:30px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(92px,1fr)); gap:22px 10px; justify-items:center;}
  .reveal-list li{opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease;}
  .reveal-list.in li{opacity:1; transform:translateY(0);}
  .reveal-list.in li:nth-child(1){transition-delay:.02s} .reveal-list.in li:nth-child(2){transition-delay:.08s}
  .reveal-list.in li:nth-child(3){transition-delay:.14s} .reveal-list.in li:nth-child(4){transition-delay:.2s}
  .reveal-list.in li:nth-child(5){transition-delay:.26s} .reveal-list.in li:nth-child(6){transition-delay:.32s}
  .tilt{transition:transform .35s cubic-bezier(.2,.7,.3,1); transform-style:preserve-3d; will-change:transform;}
  @media (prefers-reduced-motion:reduce){
    .reveal, .reveal-list li{opacity:1 !important; transform:none !important; transition:none !important;}
    .tilt{transition:none !important;}
  }

  /* ---------------- hero ---------------- */
  .hero{position:relative; overflow:hidden;}
  .hero-bg{position:fixed; top:0; left:0; width:100vw; height:100vh; object-fit:cover; opacity:.4; filter:saturate(1.25); z-index:0; will-change:clip-path;}
  .hero-bg-tint{position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,11,22,.5), var(--bg) 94%);}
  #sparks{position:absolute; inset:0; width:100%; height:100%;}
  html{scroll-padding-top:84px;}
  section[id], div[id]{scroll-margin-top:84px;}
  .site-nav{position:fixed; top:0; left:0; width:100%; z-index:50; background:rgba(14,11,22,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}
  .nav-inner{display:flex; align-items:center; gap:28px; padding:18px 44px;}
  .logo{display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0;}
  .logo svg{width:34px; height:34px; display:block; flex-shrink:0;}
  .logo-word{font-family:var(--font-display); font-weight:800; font-size:15.5px; line-height:1; color:#fff;}
  .logo-word span{display:block; font-family:var(--font-body); font-weight:700; font-size:9px; letter-spacing:.22em; color:var(--cyan); margin-top:3px;}

  .nav-links-desktop{display:flex; align-items:center; gap:26px; font-size:13.5px; font-weight:600; margin-left:8px;}
  .nav-links-desktop > a{text-decoration:none; color:var(--muted); transition:color .15s; white-space:nowrap;}
  .nav-links-desktop > a:hover{color:#fff;}
  .nav-cta-desktop{margin-left:auto; padding:10px 18px; font-size:13.5px;}
  .nav-cta-mobile{display:none !important;}
  .nav-hamburger{display:none; background:none; border:none; padding:6px; cursor:pointer; margin-left:auto;}

  .nav-dropdown{position:relative;}
  .nav-dropdown-btn{
    display:flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer;
    font-family:var(--font-body); font-weight:600; font-size:13.5px; color:var(--muted); padding:0;
  }
  .nav-dropdown-btn svg{transition:transform .2s ease;}
  .nav-dropdown:hover .nav-dropdown-btn, .nav-dropdown-btn:hover, .nav-dropdown-btn[aria-expanded="true"]{color:#fff;}
  .nav-dropdown:hover .nav-dropdown-btn svg, .nav-dropdown-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
  .nav-dropdown-menu{
    position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%);
    background:var(--surface-2); border:1px solid var(--line); border-radius:12px; padding:10px;
    display:flex; flex-direction:column; gap:2px; min-width:230px;
    opacity:0; visibility:hidden; transform:translateX(-50%) translateY(-6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
    box-shadow:0 20px 40px -12px rgba(0,0,0,.5);
  }
  .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown-menu:hover, .nav-dropdown-btn:focus + .nav-dropdown-menu{
    opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
  }
  .nav-dropdown-menu a{text-decoration:none; color:var(--muted); font-size:13.5px; font-weight:600; padding:9px 12px; border-radius:8px; transition:background .15s ease, color .15s ease;}
  .nav-dropdown-menu a:hover{background:rgba(255,255,255,.06); color:#fff;}

  .nav-mobile-panel{
    display:none; flex-direction:column; padding:0 24px;
    max-height:0; overflow:hidden; transition:max-height .3s ease, padding .2s ease;
  }
  .nav-mobile-panel.open{max-height:600px; padding:10px 24px 26px;}
  .nav-mobile-panel a{text-decoration:none; color:var(--muted); font-size:14.5px; font-weight:600; padding:11px 0; border-bottom:1px solid var(--line);}
  .nav-mobile-panel a:hover{color:#fff;}
  .nav-mobile-panel .nav-mobile-group{font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--acid); padding:14px 0 4px;}
  .nav-mobile-panel a.nav-mobile-sub{padding-left:14px; font-size:13.5px; font-weight:500;}

  @media (max-width:960px){
    .nav-links-desktop, .nav-cta-desktop{display:none !important;}
    .nav-hamburger, .nav-mobile-panel{display:flex !important;}
    .nav-cta-mobile{display:inline-flex !important; padding:7px 13px !important; font-size:12.5px !important;}
    .nav-inner{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:21px 20px 16px; gap:0;}
    .nav-hamburger{grid-column:1; grid-row:1; justify-self:start; align-self:center; min-width:0; margin-left:0 !important;}
    .logo{grid-column:2; grid-row:1; justify-self:center; align-self:center;}
    .nav-cta-mobile{grid-column:3; grid-row:1; justify-self:end; align-self:center; margin-left:0 !important; min-width:0;}
  }

  .hero-main{position:relative; z-index:2; padding:160px 0 84px;}
  @media (max-width:960px){
    .hero{margin-top:74px;}
    .hero-main{padding-top:40px !important; padding-bottom:100px !important;}
  }
  .hero-main h1{font-size:clamp(40px,6vw,74px); font-weight:800; line-height:1.04; letter-spacing:-0.015em; max-width:15ch;}
  .hero-main h1 .word{display:inline-block; opacity:0; transform:translateY(22px) rotate(1.5deg); animation:wordIn .7s cubic-bezier(.2,.7,.3,1) forwards; animation-delay:calc(var(--i) * 0.05s);}
  .hero-main h1 em{font-style:normal; background:linear-gradient(90deg,var(--cyan),var(--magenta)); -webkit-background-clip:text; background-clip:text; color:transparent;}
  @keyframes wordIn{to{opacity:1; transform:translateY(0) rotate(0);}}
  .hero-sub{margin-top:26px; font-size:18px; line-height:1.6; color:var(--muted); max-width:46ch; opacity:0; animation:fadeUp .8s cubic-bezier(.2,.7,.3,1) forwards; animation-delay:.5s;}
  .hero-actions{margin-top:38px; display:flex; gap:14px; flex-wrap:wrap; opacity:0; animation:fadeUp .8s cubic-bezier(.2,.7,.3,1) forwards; animation-delay:.65s;}
  @keyframes fadeUp{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
  @media (prefers-reduced-motion:reduce){
    .hero-main h1 .word{animation:none; opacity:1; transform:none;}
    .hero-sub, .hero-actions{animation:none; opacity:1;}
  }
  .btn{display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-family:var(--font-body); font-weight:700; font-size:13.5px; padding:11px 19px; border-radius:8px; transition:.15s ease; cursor:pointer; border:none;}
  .btn-solid{background:linear-gradient(90deg, var(--violet), var(--cyan)); color:#fff; box-shadow:0 6px 18px -6px rgba(123,92,240,.5);}
  .btn-solid:hover{filter:brightness(1.12); transform:translateY(-2px);}
  .btn-line{border:1.5px solid #4a4557; color:#fff; background:transparent;}
  .btn-line:hover{border-color:#fff; transform:translateY(-2px);}

  /* ---------------- marquee ---------------- */
  .marquee{position:relative; z-index:2; background:var(--surface); border-top:1px solid var(--line); overflow:hidden; padding:16px 0;}
  .marquee-track{display:flex; white-space:nowrap; animation:scroll 34s linear infinite; width:max-content;}
  .marquee-track span{font-family:var(--font-display); font-weight:700; font-size:15px; letter-spacing:.02em; color:var(--muted); padding:0 22px; display:inline-flex; align-items:center; gap:22px;}
  .marquee-track span b{color:#fff; font-weight:700;}
  .marquee-track span i{font-style:normal; color:var(--magenta);}
  @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.marquee-track{animation:none;} #sparks{display:none;}}

  /* ---------------- positioning ---------------- */
  .positioning{padding:96px 0 76px; background:var(--surface); position:relative; overflow:hidden;}
  .positioning-video{position:fixed; top:0; left:0; width:100vw; height:100vh; object-fit:cover; opacity:.12; z-index:0; will-change:clip-path;}
  .positioning-video-tint{position:absolute; inset:0; background:var(--surface); opacity:.55;}
  .positioning-grid{position:relative; z-index:1; display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:center;}
  .lede{font-size:clamp(26px,3.2vw,38px); font-weight:700; line-height:1.28; letter-spacing:-0.01em; margin-top:20px;}
  .lede .accent{background:linear-gradient(90deg,var(--violet),var(--magenta)); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .positioning-note{margin-top:28px; font-size:15.5px; line-height:1.65; color:var(--muted); max-width:56ch;}
  .cabeza-wrap{position:relative; display:flex; justify-content:center; perspective:900px;}
  .cabeza-glow{position:absolute; inset:-20%; background:radial-gradient(circle, rgba(123,92,240,.35), transparent 65%); filter:blur(30px);}
  .cabeza-wrap img{position:relative; width:100%; max-width:500px; pointer-events:none;}
  @media (max-width:820px){.positioning-grid{grid-template-columns:1fr;} .cabeza-wrap{order:-1; max-width:340px; margin:0 auto;}}

  .stats{margin-top:64px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line);}
  .stat{padding:30px 28px 6px 0; border-right:1px solid var(--line);}
  .stat:last-child{border-right:none;}
  .stat-num{font-family:var(--font-display); font-weight:800; font-size:42px; font-variant-numeric:tabular-nums; line-height:1;}
  .stat:nth-child(1) .stat-num{color:var(--cyan);}
  .stat:nth-child(2) .stat-num{color:var(--magenta);}
  .stat:nth-child(3) .stat-num{color:var(--acid);}
  .stat-label{margin-top:10px; font-size:13.5px; color:var(--muted); line-height:1.5; max-width:24ch;}
  @media (max-width:700px){.stats{grid-template-columns:1fr;} .stat{border-right:none; border-bottom:1px solid var(--line); padding-bottom:24px;}}

  /* ---------------- departamentos ---------------- */
  .departamentos-head{position:relative; padding:90px 0 10px; text-align:center; overflow:hidden;}
  .departamentos-video{position:fixed; top:0; left:0; width:100vw; height:100vh; object-fit:cover; opacity:.18; z-index:0; will-change:clip-path;}
  .departamentos-video-tint{position:absolute; inset:0; background:linear-gradient(180deg, var(--bg), rgba(14,11,22,.75));}
  .departamentos-head .wrap{position:relative; z-index:1;}
  .departamentos-head .tag{display:block;}
  .departamentos-head h2{font-size:clamp(28px,3.6vw,42px); font-weight:800; margin-top:16px; max-width:24ch; margin-left:auto; margin-right:auto;}
  .departamentos-head p{margin-top:16px; font-size:15px; color:var(--muted); max-width:56ch; margin-left:auto; margin-right:auto;}

  .dept{position:relative; padding:90px 0; overflow:hidden;}
  .dept:nth-child(odd){background:var(--bg);}
  .dept:nth-child(even){background:var(--surface);}
  .dept-video{position:fixed; top:0; left:0; width:100vw; height:100vh; object-fit:cover; opacity:.3; z-index:0; will-change:clip-path;}
  .dept-video-tint{position:absolute; inset:0; background:linear-gradient(100deg, var(--bg) 25%, rgba(14,11,22,.55) 70%);}
  .dept-inner{position:relative; z-index:1; display:flex; flex-direction:column; gap:52px;}
  .dept-top{display:flex; align-items:center; gap:64px;}
  .dept:nth-child(even) .dept-top{flex-direction:row-reverse;}
  .dept-visual{position:relative; flex:0 0 46%; display:flex; justify-content:center;}
  .dept-visual-glow{position:absolute; inset:-25%; filter:blur(36px); opacity:.6; transition:opacity .35s ease;}
  .dept-visual:hover .dept-visual-glow{opacity:.9;}
  .dept-copy{flex:1;}
  .dept-index{font-family:var(--font-mono); font-size:13px; color:var(--muted-dim); margin-bottom:14px;}
  .dept-title{font-size:clamp(24px,3vw,32px); font-weight:800; max-width:16ch;}
  .dept-intro{margin-top:18px; font-size:15px; line-height:1.65; color:var(--muted); max-width:50ch;}

  .dept-list{width:100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(120px,1fr)); gap:26px 14px; justify-items:center; border-top:1px solid var(--line); padding-top:40px;}
  .dept-list li{display:flex; flex-direction:column; align-items:center; text-align:center; gap:13px;}
  .dept-list li .ico{
    width:76px; height:76px; border-radius:19px;
    background:rgba(255,255,255,.05); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    transition:transform .25s cubic-bezier(.2,.7,.3,1), background .25s ease, border-color .25s ease;
  }
  .dept-list li:hover .ico{transform:translateY(-5px) scale(1.06); background:rgba(255,255,255,.1);}
  .dept-list li .ico svg{width:34px; height:34px; flex-shrink:0;}
  .dept-list li .lbl{
    font-family:var(--font-display); font-weight:700; font-size:12.5px;
    text-transform:uppercase; letter-spacing:.03em; line-height:1.35;
    color:#EDE9FF; max-width:12.5ch;
  }

  @keyframes floatY{0%,100%{transform:translateY(0);} 50%{transform:translateY(-16px);}}
  .dept-visual img{
    position:relative; width:100%; max-width:640px; pointer-events:none;
    animation:floatY 7s ease-in-out infinite;
    will-change:filter;
  }
  .dept:nth-child(even) .dept-visual img{animation-delay:-3.5s;}
  .elementos-img{will-change:filter;}
  @media (prefers-reduced-motion:reduce){.dept-visual img{animation:none;} .elementos-img{filter:none !important;}}

  @media (max-width:900px){
    .dept-top{flex-direction:column !important;}
    .dept-visual{flex:none;}
    .dept-visual img{max-width:380px;}
    .dept-list{grid-template-columns:repeat(3, 1fr);}
  }

  /* ---------------- process ---------------- */
  .process{padding:88px 0 112px; background:var(--bg);}
  .process h2{font-size:clamp(26px,3vw,34px); font-weight:800; max-width:16ch; margin-bottom:56px; margin-top:16px;}
  .process-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start;}
  .pstep{background:var(--surface-2); border-radius:16px; padding:30px 26px; border:1px solid var(--line); position:relative; overflow:visible; transition:transform .3s ease, border-color .3s ease; min-height:196px;}
  .pstep:hover{transform:translateY(-6px); border-color:var(--violet);}
  .pstep-num{font-family:var(--font-display); font-weight:800; font-size:15px; color:#0E0B16; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
  .pstep:nth-child(1) .pstep-num{background:var(--cyan);}
  .pstep:nth-child(2) .pstep-num{background:var(--magenta); color:#fff;}
  .pstep:nth-child(3) .pstep-num{background:var(--acid);}
  .pstep h3{font-size:18px; font-weight:700; margin-bottom:10px; color:#fff;}
  .pstep p{font-size:14px; line-height:1.6; color:var(--muted); max-width:26ch;}
  .pstep-chess{position:absolute; right:-18px; bottom:-28px; width:120px; opacity:.95; pointer-events:none; filter:drop-shadow(0 12px 20px rgba(0,0,0,.45)); animation:floatY 6s ease-in-out infinite;}
  @media (prefers-reduced-motion:reduce){.pstep-chess{animation:none;}}
  @media (max-width:760px){.process-steps{grid-template-columns:1fr;} .pstep{margin-bottom:14px;}}

  /* ---------------- clients ---------------- */
  .clients{padding:80px 0; background:var(--surface); position:relative; overflow:hidden;}
  .clients-video{position:fixed; top:0; left:0; width:100vw; height:100vh; object-fit:cover; opacity:.15; z-index:0; will-change:clip-path;}
  .clients-video-tint{position:absolute; inset:0; background:var(--surface); opacity:.72;}
  .clients .eyebrow{margin-bottom:26px; text-align:center; display:block;}
  .client-row{display:flex; justify-content:center; align-items:center; gap:56px; flex-wrap:wrap;}
  .client-row span{font-family:var(--font-display); font-weight:700; font-size:21px; color:var(--muted); letter-spacing:.01em; transition:color .2s;}
  .client-row span:hover{color:var(--cyan);}

  /* ---------------- cta ---------------- */
  .cta{background:linear-gradient(135deg,var(--violet-deep),var(--violet) 55%,var(--magenta)); color:#fff; padding:90px 0; position:relative; overflow:hidden;}
  .cta-video{position:fixed; top:0; left:0; width:100vw; height:100vh; object-fit:cover; opacity:.35; mix-blend-mode:screen; z-index:0; will-change:clip-path;}
  .cta-inner{position:relative; z-index:1;}
  .cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .cta h2{font-size:clamp(30px,4.2vw,50px); font-weight:800; max-width:14ch; letter-spacing:-0.01em;}
  .cta p{margin-top:18px; font-size:16.5px; color:#F1E9FF; max-width:44ch;}
  .cta-actions{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap;}
  .cta .btn-solid{background:#fff; color:var(--violet-deep);}
  .cta .btn-solid:hover{background:var(--acid); color:#1a1a05;}
  .cta .btn-line{border-color:rgba(255,255,255,.5); color:#fff;}
  .cta .btn-line:hover{border-color:#fff;}
  .cta-spark{position:absolute; opacity:.6; z-index:1;}
  .cta-potion{position:absolute; right:-30px; bottom:-30px; width:280px; opacity:.9; z-index:1; pointer-events:none; animation:floatY 8s ease-in-out infinite;}
  .clients-potion{width:80px; margin:0 auto 18px; display:block; position:relative; z-index:1; animation:floatY 6s ease-in-out infinite;}
  @media (prefers-reduced-motion:reduce){.cta-potion, .clients-potion{animation:none;}}
  @media (max-width:820px){.cta-potion{width:170px; right:-20px; bottom:-20px; opacity:.5;}}
  @media (max-width:820px){.cta-grid{grid-template-columns:1fr;}}

  .cta-form{background:rgba(14,11,22,.35); border:1px solid rgba(255,255,255,.25); border-radius:16px; padding:28px; backdrop-filter:blur(6px);}
  .cta-form .row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .cta-form label{display:block; font-size:12px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:#EAE1FF; margin-bottom:6px;}
  .cta-form input, .cta-form select, .cta-form textarea{
    width:100%; padding:11px 13px; border-radius:8px; border:1px solid rgba(255,255,255,.3);
    background:rgba(255,255,255,.08); color:#fff; font-family:var(--font-body); font-size:14px; margin-bottom:16px;
  }
  .cta-form input::placeholder, .cta-form textarea::placeholder{color:rgba(255,255,255,.55);}
  .cta-form textarea{min-height:80px; resize:vertical;}
  .cta-form select option{color:#111;}
  .cta-form .form-submit{width:100%; justify-content:center; background:#fff; color:var(--violet-deep); font-size:15px;}
  .cta-form .form-submit:hover{background:var(--acid); color:#1a1a05;}
  .form-success{display:none; background:rgba(212,255,61,.15); border:1px solid var(--acid); color:#fff; padding:14px 16px; border-radius:10px; font-size:14px; margin-bottom:16px;}
  .form-success.show{display:block;}
  @media (max-width:520px){.cta-form .row{grid-template-columns:1fr;}}

  footer{padding:44px 0 44px; background:var(--bg); border-top:1px solid var(--line);}
  .foot-links{display:flex; flex-wrap:wrap; gap:8px 26px; margin-bottom:18px;}
  .foot-links a{font-size:13.5px; font-weight:600; color:var(--muted); text-decoration:none; transition:color .15s;}
  .foot-links a:hover{color:#fff;}
  .foot-legal{font-size:13px; line-height:1.6; color:var(--muted); max-width:62ch; margin-bottom:22px;}
  .foot-row{display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:11.5px; color:var(--muted-dim); flex-wrap:wrap; gap:8px;}

  @media (max-width:720px){
    .wrap{padding:0 24px;}
  }


  /* ---------------- legal pages ---------------- */
  .legal{padding:150px 0 96px; position:relative; overflow:hidden; background:var(--bg);}
  .legal::before{content:""; position:absolute; top:-180px; left:50%; width:900px; height:520px; transform:translateX(-50%); background:radial-gradient(ellipse at center, rgba(123,92,240,.22), transparent 68%); pointer-events:none;}
  .legal-inner{position:relative; max-width:820px;}
  .legal .tag{display:inline-block; margin-bottom:16px;}
  .legal h1{font-size:clamp(32px,4.6vw,52px); font-weight:800; letter-spacing:-0.015em; line-height:1.08;}
  .legal .meta{margin-top:16px; font-family:var(--font-mono); font-size:12.5px; color:var(--muted-dim);}
  .legal h2{font-size:clamp(19px,2.2vw,23px); font-weight:700; margin-top:44px; padding-top:28px; border-top:1px solid var(--line);}
  .legal p, .legal li{font-size:15.5px; line-height:1.75; color:var(--muted);}
  .legal p{margin-top:14px;}
  .legal .meta + p{margin-top:28px;}
  .legal strong{color:#fff; font-weight:600;}
  .legal ul{margin:14px 0 0; padding-left:22px; display:flex; flex-direction:column; gap:9px;}
  .legal li::marker{color:var(--cyan);}
  .legal a{color:var(--cyan); text-decoration:underline; text-decoration-color:rgba(0,212,200,.4); text-underline-offset:3px; transition:color .15s, text-decoration-color .15s;}
  .legal a:hover{color:#fff; text-decoration-color:#fff;}
  .legal .box{margin-top:18px; padding:6px 26px 22px; background:var(--surface-2); border:1px solid rgba(123,92,240,.45); border-radius:16px;}
  .legal .box p:first-child{margin-top:20px;}
  @media (max-width:720px){
    .legal{padding:120px 0 72px;}
    .legal h2{margin-top:34px; padding-top:22px;}
    .legal .box{padding:4px 20px 18px;}
  }

  /* narrow phones (375px and below): keep logo, menu and CTA on one line without overlap */
  @media (max-width:420px){
    .nav-inner{padding:21px 14px 16px;}
    .logo{gap:8px;}
    .logo svg{width:28px; height:28px;}
    .logo-word{font-size:13px;}
    .logo-word span{font-size:8px;}
    .nav-cta-mobile{padding:6px 10px !important; font-size:11.5px !important;}
  }

  /* ===== Guía de correo corporativo ===== */
  .guide .cfg{margin-top:32px; padding:22px 26px 24px; background:var(--surface-2); border:1px solid rgba(123,92,240,.45); border-radius:16px;}
  .guide .cfg-title{margin:0; padding:0; border:0; font-size:18px;}
  .guide .cfg-grid{display:grid; grid-template-columns:minmax(0,420px); gap:14px; margin-top:16px;}
  .guide .cfg label{display:flex; flex-direction:column; gap:6px; font-size:12.5px; font-weight:600; color:var(--muted);}
  .guide .cfg input{font:inherit; font-size:14px; font-weight:500; color:#fff; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:10px 12px; min-width:0;}
  .guide .cfg input:focus{outline:none; border-color:var(--cyan);}
  .guide .cfg-ports{margin-top:16px; font-size:14px;}
  .guide .cfg-ports li{font-size:14px;}
  .guide .cfg-actions{margin-top:18px;}
  .guide .btn{font-size:14px; cursor:pointer;}
  .mg-tabs{display:flex; flex-wrap:wrap; gap:10px; margin-top:36px;}
  .mg-tab{font:inherit; font-size:14px; font-weight:600; color:var(--muted); background:transparent; border:1px solid var(--line); border-radius:999px; padding:9px 20px; cursor:pointer; transition:color .15s, border-color .15s;}
  .mg-tab:hover{color:#fff; border-color:rgba(255,255,255,.3);}
  .mg-tab.on{color:#fff; border-color:transparent; background:linear-gradient(90deg,var(--violet),var(--cyan));}
  .mg-panel{display:none; margin-top:18px; padding:8px 26px 26px; background:var(--surface); border:1px solid var(--line); border-radius:16px;}
  .mg-panel.on{display:block;}
  .guide .mg-panel h2{margin-top:20px; padding-top:0; border-top:0;}
  .badge{display:inline-block; margin-top:10px; font-family:var(--font-mono); font-size:11.5px; font-weight:700; color:#B9A6FF; background:rgba(123,92,240,.16); border-radius:8px; padding:4px 10px;}
  .steps{list-style:none; counter-reset:s; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .steps li{counter-increment:s; position:relative; padding-left:42px; font-size:15.5px; line-height:1.9;}
  .steps li::before{content:counter(s); position:absolute; left:0; top:4px; width:26px; height:26px; border-radius:8px; background:var(--surface-2); border:1px solid var(--line); color:#fff; font-size:12.5px; font-weight:700; display:flex; align-items:center; justify-content:center; line-height:1;}
  .chip{display:inline-flex; align-items:center; gap:8px; margin:0 2px; padding:1px 4px 1px 10px; background:var(--surface-2); border:1px solid var(--line); border-radius:8px; font-family:var(--font-mono); font-size:12.5px; color:#fff; line-height:1.7; word-break:break-all;}
  .chip .copy{font:inherit; font-size:11px; color:var(--cyan); background:none; border:0; padding:3px 6px; cursor:pointer;}
  .chip .copy:hover{color:#fff;}
  .guide .help{margin-top:28px;}
  .guide .dl{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
  .guide .dl .btn, .guide .cfg-actions .btn{text-decoration:none;}
  @media (max-width:720px){
    .guide .cfg{padding:18px 16px 20px;}
    .guide .cfg-grid{grid-template-columns:1fr;}
    .mg-panel{padding:4px 16px 20px;}
    .steps li{padding-left:38px; font-size:15px;}
  }


  /* ===== Guía de correo: identidad Alquimia Digital ===== */
  .guide.legal{padding:0;}
  .guide.legal::before{display:none;}
  .mg-hero{position:relative; overflow:hidden; padding:150px 0 80px; border-bottom:1px solid var(--line);}
  .mg-hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; filter:saturate(1.25);}
  .mg-hero-tint{position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,11,22,.55), var(--bg) 96%);}
  .mg-hero-in{position:relative; max-width:1100px;}
  .mg-hero h1{max-width:14ch; font-size:clamp(38px,6.4vw,76px);}
  .mg-hero h1 em{font-style:normal; background:linear-gradient(90deg,var(--cyan),var(--magenta)); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .mg-lead{max-width:52ch; font-size:17px !important; margin-top:22px !important; color:#D8D2EE !important;}
  .mg-pills{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
  .guide .mg-pills a{font-size:13px; font-weight:600; color:#fff; text-decoration:none; padding:9px 16px; border-radius:999px; background:rgba(23,17,31,.6); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); transition:border-color .15s, transform .15s;}
  .guide .mg-pills a:hover{border-color:var(--cyan); transform:translateY(-2px);}
  .mg-hero-img{position:absolute; right:-10px; top:50%; width:min(38%,400px); height:auto; transform:translateY(-46%); filter:drop-shadow(0 30px 60px rgba(123,92,240,.45)); animation:mgFloat 7s ease-in-out infinite; pointer-events:none;}
  @keyframes mgFloat{0%,100%{transform:translateY(-46%) rotate(-2deg);}50%{transform:translateY(-52%) rotate(2deg);}}
  .mg-body{padding-top:56px; padding-bottom:96px; max-width:900px;}
  .guide .cfg{margin-top:0; background:linear-gradient(var(--surface-2),var(--surface-2)) padding-box, linear-gradient(135deg,var(--violet),var(--cyan)) border-box; border:1px solid transparent;}
  .guide .cfg-title::before{content:"{ datos }"; display:block; margin-bottom:6px; font-family:var(--font-mono); font-size:12px; color:var(--acid);}
  .mg-tab{display:inline-flex; align-items:center; gap:9px;}
  .mg-tab svg{flex:none;}
  .mg-panel{background:linear-gradient(180deg,var(--surface),var(--bg)); border-radius:20px;}
  .guide .mg-panel h2.mg-h{display:flex; align-items:center; gap:12px;}
  .steps li::before{background:linear-gradient(135deg,var(--violet),var(--cyan)); border:0; box-shadow:0 4px 14px rgba(123,92,240,.35);}
  .guide .help{border-color:rgba(0,212,200,.4);}
  .mg-cta{display:flex; align-items:center; gap:28px; margin-top:40px; padding:28px 32px; border-radius:20px; background:linear-gradient(120deg,rgba(123,92,240,.28),rgba(0,212,200,.14)); border:1px solid rgba(123,92,240,.45);}
  .mg-cta img{width:120px; height:auto; flex:none; filter:drop-shadow(0 16px 30px rgba(123,92,240,.5));}
  .guide .mg-cta h2{margin:0; padding:0; border:0;}
  .guide .mg-cta .dl{margin-top:18px;}
  @media (max-width:720px){
    .mg-hero{padding:120px 0 56px;}
    .mg-hero-img{position:relative; display:block; right:auto; top:auto; width:58%; margin:28px auto 0; transform:none; animation:none;}
    .mg-hero h1{max-width:none;}
    .mg-cta{flex-direction:column; text-align:center; padding:24px 18px;}
    .mg-cta img{width:96px;}
    .guide .mg-cta .dl{justify-content:center;}
  }
  @media (prefers-reduced-motion:reduce){.mg-hero-img{animation:none;}}


  /* ===== PDF de la guía: mismo branding oscuro del sitio ===== */
  @media print{
    @page{size:A4; margin:0;}
    html, body{background:var(--bg) !important; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
    *{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
    .site-nav, .no-print, .chip .copy, .mg-pills, .mg-hero-bg, .mg-hero-tint{display:none !important;}
    .mg-hero{padding:36px 0 30px; background:linear-gradient(180deg,rgba(14,11,22,.55),var(--bg) 96%), url(/assets/videos/liquido-violeta-magenta-poster.jpg) center/cover;}
    .mg-hero-img{animation:none; width:190px; right:20px;}
    .mg-hero h1{font-size:40px;}
    .mg-body{padding:20px 40px 30px; max-width:none;}
    .mg-panel{display:block !important; margin-top:14px; break-inside:avoid;}
    .guide .cfg, .mg-panel, .legal .box{break-inside:avoid;}
    .mg-cta, .guide .cfg-grid{display:none;}
    footer{padding:20px 40px;}
  }

  .print-only{display:none;}
  @media print{
    .print-brand{display:flex; align-items:center; justify-content:space-between; padding:22px 40px; border-bottom:1px solid var(--line); background:var(--bg);}
    .print-brand .pb-logo{display:flex; align-items:center; gap:12px;}
    .print-brand svg{width:40px; height:40px;}
    .print-brand .pb-side{font-family:var(--font-mono); font-size:11px; color:var(--muted-dim);}
    .print-contact{display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:26px; padding:24px 28px; border-radius:18px; break-inside:avoid; background:linear-gradient(120deg,rgba(123,92,240,.32),rgba(0,212,200,.16)); border:1px solid rgba(123,92,240,.5);}
    .guide .print-contact h2{margin:0; padding:0; border:0; font-size:20px;}
    .print-contact ul{margin:0; padding:0; list-style:none; gap:6px;}
    .print-contact li{font-size:13px;}
    .mg-hero{padding-top:28px;}
  }
