
    :root{
      --black:#070707;--card:#0f0f0f;--soft:#131313;
      --silver:#c2c2c2;--silver-l:#e2e2dc;--silver-d:#6e6e6e;
      --gold:#b8963e;--gold-l:#d4af5a;--gold-d:#7a6228;
      --white:#eeeeea;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{
      background:var(--black);color:var(--silver-l);
      font-family:"Montserrat",sans-serif;font-weight:300;
      overflow-x:hidden;cursor:none;
    }

    /* ── CUSTOM CURSOR ── */
    #cursor-ring{
      position:fixed;width:36px;height:36px;
      border:1px solid rgba(184,150,62,0.6);border-radius:50%;
      pointer-events:none;z-index:99999;
      transform:translate(-50%,-50%);
      transition:width .25s,height .25s,border-color .25s,background .25s;
      mix-blend-mode:normal;
    }
    #cursor-dot{
      position:fixed;width:5px;height:5px;
      background:var(--gold-l);border-radius:50%;
      pointer-events:none;z-index:99999;
      transform:translate(-50%,-50%);
      transition:transform .08s;
    }
    body:has(a:hover) #cursor-ring,
    body:has(button:hover) #cursor-ring{
      width:56px;height:56px;
      border-color:rgba(184,150,62,0.9);
      background:rgba(184,150,62,0.06);
    }

    /* ── NOISE ── */
    body::before{
      content:"";position:fixed;inset:0;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
      pointer-events:none;z-index:9998;
    }

    /* ── PARTICLES CANVAS ── */
    #particles{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.45;}

    /* ── SCROLL LINE ── */
    #sline{
      position:fixed;top:0;left:0;height:1px;
      background:linear-gradient(90deg,var(--gold-d),var(--gold-l));
      width:0%;z-index:1000;transition:width .06s;
    }

    /* ── NAV ── */
    nav{
      position:fixed;top:0;left:0;right:0;z-index:500;
      display:flex;justify-content:space-between;align-items:center;
      padding:20px 56px;
      transition:background .4s,backdrop-filter .4s,border-color .4s;
      border-bottom:1px solid transparent;
    }
    nav.scrolled{
      background:rgba(7,7,7,.92);backdrop-filter:blur(16px);
      border-bottom-color:rgba(184,150,62,.07);
    }
    .nav-logo{height:38px;}
    .nav-links{display:flex;gap:36px;list-style:none;}
    .nav-links a{
      font-size:8.5px;letter-spacing:4px;text-transform:uppercase;
      color:var(--silver-d);text-decoration:none;transition:color .3s;
    }
    .nav-links a:hover{color:var(--gold-l);}

    /* ── HERO ── */
    .hero{
      min-height:100vh;display:flex;flex-direction:column;
      align-items:center;justify-content:center;
      position:relative;text-align:center;padding:0 32px;
      overflow:hidden;
    }
    .hero-glow{
      position:absolute;inset:0;
      background:
        radial-gradient(ellipse 65% 50% at 50% 55%,rgba(184,150,62,.055) 0%,transparent 70%),
        radial-gradient(ellipse 25% 18% at 12% 12%,rgba(200,200,200,.02) 0%,transparent 55%);
      pointer-events:none;
    }
    /* animated grid lines */
    .hero-grid{
      position:absolute;inset:0;pointer-events:none;overflow:hidden;
    }
    .hero-grid::before{
      content:"";position:absolute;inset:0;
      background-image:
        linear-gradient(rgba(184,150,62,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(184,150,62,.04) 1px,transparent 1px);
      background-size:60px 60px;
      animation:gridShift 20s linear infinite;
    }
    @keyframes gridShift{from{transform:translate(0,0);}to{transform:translate(60px,60px);}}

    .h-line{
      width:1px;height:64px;
      background:linear-gradient(to bottom,transparent,rgba(184,150,62,.5));
      margin-bottom:40px;animation:fdDown 1.1s ease .2s both;
    }
    .h-logo{
      height:96px;margin-bottom:32px;
      animation:fdUp 1.3s ease .4s both;
      filter:drop-shadow(0 0 28px rgba(184,150,62,.14));
    }
    .h-name{
      font-family:"Cormorant Garamond",serif;font-weight:300;
      font-size:clamp(12px,1.7vw,16px);letter-spacing:14px;text-transform:uppercase;
      color:var(--silver);margin-bottom:12px;animation:fdUp 1.2s ease .6s both;
    }
    .h-divider{
      width:50px;height:1px;
      background:linear-gradient(to right,transparent,var(--gold),transparent);
      margin:0 auto 14px;animation:fdUp 1.2s ease .7s both;
    }
    .h-title{
      font-family:"Cormorant Garamond",serif;font-weight:300;font-style:italic;
      font-size:clamp(13px,1.5vw,16px);letter-spacing:3px;color:var(--silver-d);
      margin-bottom:7px;animation:fdUp 1.2s ease .78s both;
    }
    .h-sub{
      font-size:8px;letter-spacing:4px;text-transform:uppercase;
      color:var(--gold-d);margin-bottom:48px;animation:fdUp 1.2s ease .86s both;
    }
    .h-cta{display:flex;gap:16px;justify-content:center;animation:fdUp 1.2s ease .96s both;}
    .btn{
      display:inline-block;padding:12px 38px;
      font-size:8.5px;letter-spacing:4px;text-transform:uppercase;
      text-decoration:none;transition:all .35s;cursor:none;
    }
    .btn-g{border:1px solid var(--gold-d);color:var(--gold-l);}
    .btn-g:hover{border-color:var(--gold-l);background:rgba(184,150,62,.06);color:var(--white);}
    .btn-s{border:1px solid rgba(200,200,200,.14);color:var(--silver-d);}
    .btn-s:hover{border-color:var(--silver);color:var(--silver-l);}
    .h-scroll{
      position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
      display:flex;flex-direction:column;align-items:center;gap:7px;
      animation:fdIn 1.5s ease 1.4s both;
    }
    .h-scroll span{font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--silver-d);}
    .h-pulse{width:1px;height:32px;background:linear-gradient(to bottom,rgba(184,150,62,.6),transparent);animation:pulse 2.2s ease-in-out infinite;}

    /* ── SECTIONS ── */
    .sw{padding:100px 56px;max-width:1180px;margin:0 auto;}
    .slabel{font-size:8px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:block;}
    .stitle{
      font-family:"Cormorant Garamond",serif;font-weight:300;
      font-size:clamp(32px,5vw,54px);color:var(--silver-l);line-height:1.1;margin-bottom:44px;
    }
    .stitle em{font-style:italic;color:var(--gold-l);}

    /* ── ABOUT ── */
    .about-g{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center;}
    .about-text p{font-size:12.5px;line-height:2.1;color:var(--silver-d);margin-bottom:18px;letter-spacing:.3px;}
    .about-text p strong{color:var(--silver);font-weight:400;}
    .badges{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 32px;}
    .badge{
      padding:6px 16px;border:1px solid rgba(184,150,62,.22);
      font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-d);
    }
    .stats{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
    .stat{border-left:1px solid var(--gold-d);padding-left:18px;}
    .stat-n{
      font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:300;
      color:var(--gold-l);line-height:1;margin-bottom:5px;
    }
    .stat-l{font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--silver-d);}

    /* ── SKILLS ── */
    .skills-outer{background:var(--soft);padding:100px 0;position:relative;}
    .skills-outer::before,.skills-outer::after{
      content:"";position:absolute;left:0;right:0;height:1px;
      background:linear-gradient(to right,transparent,var(--gold-d),transparent);
    }
    .skills-outer::before{top:0;}.skills-outer::after{bottom:0;}
    .skills-inner{max-width:1180px;margin:0 auto;padding:0 56px;}
    .skills-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:52px;}
    .sk-card{
      padding:40px 32px;background:var(--card);
      border:1px solid rgba(255,255,255,.04);
      transition:all .4s;position:relative;overflow:hidden;
    }
    .sk-card::before{
      content:"";position:absolute;top:0;left:0;right:0;height:1px;
      background:linear-gradient(90deg,transparent,var(--gold-d),transparent);
      transform:scaleX(0);transition:transform .4s;
    }
    .sk-card:hover::before{transform:scaleX(1);}
    .sk-card:hover{background:rgba(15,13,9,.96);}
    .sk-n{
      font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:300;
      color:rgba(184,150,62,.06);position:absolute;top:10px;right:22px;line-height:1;
    }
    .sk-title{
      font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;
      color:var(--silver-l);margin-bottom:10px;letter-spacing:.4px;
    }
    .sk-desc{font-size:11px;line-height:1.9;color:var(--silver-d);}
    .sk-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px;}
    .sk-tag{
      font-size:7px;letter-spacing:2px;text-transform:uppercase;
      color:var(--gold-d);border:1px solid rgba(184,150,62,.13);padding:3px 9px;
    }

    /* ── TIMELINE (Experiencia) ── */
    .tl-outer{background:var(--black);padding:100px 0;}
    .tl-inner{max-width:1180px;margin:0 auto;padding:0 56px;}
    .timeline{position:relative;margin-top:52px;padding-left:32px;}
    .timeline::before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:1px;
      background:linear-gradient(to bottom,var(--gold-d),rgba(184,150,62,.08));
    }
    .tl-item{
      position:relative;margin-bottom:44px;padding:28px 32px;
      background:var(--card);border:1px solid rgba(255,255,255,.04);
      transition:border-color .35s;
    }
    .tl-item:hover{border-color:rgba(184,150,62,.18);}
    .tl-item::before{
      content:"";position:absolute;left:-37px;top:34px;
      width:9px;height:9px;border-radius:50%;
      background:var(--gold-d);border:1px solid var(--gold-l);
    }
    .tl-item.active::before{background:var(--gold-l);box-shadow:0 0 10px rgba(184,150,62,.4);}
    .tl-period{
      font-size:7.5px;letter-spacing:3px;text-transform:uppercase;
      color:var(--gold-d);margin-bottom:8px;
    }
    .tl-role{
      font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:400;
      color:var(--silver-l);margin-bottom:4px;
    }
    .tl-company{font-size:11px;letter-spacing:2px;color:var(--silver-d);margin-bottom:6px;}
    .tl-location{font-size:10px;color:rgba(110,110,110,.7);letter-spacing:1px;}
    .tl-desc{font-size:11px;line-height:1.85;color:var(--silver-d);margin-top:10px;}
    .tl-badge-current{
      display:inline-block;padding:3px 12px;
      border:1px solid rgba(184,150,62,.35);
      font-size:7px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-l);
      margin-left:12px;vertical-align:middle;
    }

    /* ── EDUCACIÓN + CERTS ── */
    .edu-outer{background:var(--soft);padding:100px 0;position:relative;}
    .edu-outer::before,.edu-outer::after{
      content:"";position:absolute;left:0;right:0;height:1px;
      background:linear-gradient(to right,transparent,var(--gold-d),transparent);
    }
    .edu-outer::before{top:0;}.edu-outer::after{bottom:0;}
    .edu-inner{max-width:1180px;margin:0 auto;padding:0 56px;}
    .edu-g{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:52px;}
    .edu-col-title{
      font-size:8px;letter-spacing:4px;text-transform:uppercase;
      color:var(--gold-d);margin-bottom:24px;
      padding-bottom:12px;border-bottom:1px solid rgba(184,150,62,.12);
    }
    .edu-item{
      display:flex;gap:18px;align-items:flex-start;
      padding:20px 0;border-bottom:1px solid rgba(255,255,255,.04);
      transition:border-color .3s;
    }
    .edu-item:hover{border-bottom-color:rgba(184,150,62,.14);}
    .edu-item:last-child{border-bottom:none;}
    .edu-icon{
      width:34px;height:34px;flex-shrink:0;
      border:1px solid rgba(184,150,62,.18);
      display:flex;align-items:center;justify-content:center;margin-top:2px;
    }
    .edu-icon svg{width:14px;height:14px;stroke:var(--gold-d);fill:none;stroke-width:1.5;}
    .edu-name{
      font-family:"Cormorant Garamond",serif;font-size:16px;font-weight:400;
      color:var(--silver-l);margin-bottom:3px;line-height:1.3;
    }
    .edu-sub{font-size:10.5px;color:var(--silver-d);letter-spacing:.4px;margin-bottom:3px;}
    .edu-date{font-size:8px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-d);}
    .edu-note{font-size:9px;color:var(--silver-d);margin-top:3px;font-style:italic;}

    /* CERTS — easy to add more: just add a .cert-item div */
    .certs-list{display:flex;flex-direction:column;gap:0;}
    .cert-item{
      display:flex;gap:18px;align-items:flex-start;
      padding:18px 0;border-bottom:1px solid rgba(255,255,255,.04);
      transition:border-color .3s;cursor:default;
    }
    .cert-item:hover{border-bottom-color:rgba(184,150,62,.14);}
    .cert-item:last-child{border-bottom:none;}
    .cert-badge{
      width:34px;height:34px;flex-shrink:0;
      border:1px solid rgba(184,150,62,.18);
      display:flex;align-items:center;justify-content:center;
      font-family:"Cormorant Garamond",serif;font-size:11px;
      font-weight:600;color:var(--gold-d);
    }
    .cert-name{
      font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:400;
      color:var(--silver-l);margin-bottom:3px;line-height:1.3;
    }
    .cert-org{font-size:10px;color:var(--silver-d);letter-spacing:.5px;margin-bottom:2px;}
    .cert-date{font-size:7.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-d);}
    .cert-add-hint{
      margin-top:20px;padding:14px 20px;
      border:1px dashed rgba(184,150,62,.15);
      font-size:9px;letter-spacing:2px;text-transform:uppercase;
      color:rgba(110,110,110,.4);text-align:center;
      /* Para añadir un certificado nuevo: duplica .cert-item arriba de esta línea */
    }

    /* ── AUTODIDACTA ── */
    .auto-outer{background:var(--black);padding:100px 0;}
    .auto-inner{max-width:1180px;margin:0 auto;padding:0 56px;}
    .auto-g{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
    .auto-items{display:flex;flex-direction:column;gap:12px;}
    .auto-item{
      display:flex;align-items:flex-start;gap:18px;padding:22px;
      background:var(--card);border:1px solid rgba(255,255,255,.04);transition:border-color .3s;
    }
    .auto-item:hover{border-color:rgba(184,150,62,.17);}
    .aico{
      width:33px;height:33px;flex-shrink:0;
      border:1px solid rgba(184,150,62,.17);
      display:flex;align-items:center;justify-content:center;
    }
    .aico svg{width:14px;height:14px;stroke:var(--gold-d);fill:none;stroke-width:1.5;}
    .ai-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--silver);margin-bottom:4px;}
    .ai-desc{font-size:10.5px;line-height:1.8;color:var(--silver-d);}

    /* ── CONTACTO ── */
    .ct-outer{background:var(--soft);padding:100px 0;position:relative;}
    .ct-outer::before{
      content:"";position:absolute;top:0;left:0;right:0;height:1px;
      background:linear-gradient(to right,transparent,var(--gold-d),transparent);
    }
    .ct-inner{max-width:1180px;margin:0 auto;padding:0 56px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
    .ct-info p{font-size:12.5px;line-height:2;color:var(--silver-d);margin-bottom:32px;}
    .ct-links{display:flex;flex-direction:column;}
    .ct-link{
      display:flex;align-items:center;gap:14px;text-decoration:none;
      color:var(--silver-d);font-size:11px;letter-spacing:1.5px;
      padding:16px 0;border-bottom:1px solid rgba(255,255,255,.05);transition:color .3s;cursor:none;
    }
    .ct-link:hover{color:var(--gold-l);}
    .cl-ico{
      width:32px;height:32px;border:1px solid rgba(184,150,62,.17);
      display:flex;align-items:center;justify-content:center;flex-shrink:0;
    }
    .cl-ico svg{width:12px;height:12px;fill:currentColor;}
    .ct-form{display:flex;flex-direction:column;gap:20px;}
    .fg label{display:block;font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px;}
    .fg input,.fg textarea{
      width:100%;background:transparent;border:none;
      border-bottom:1px solid rgba(200,200,200,.1);
      padding:10px 0;font-family:"Montserrat",sans-serif;font-weight:300;
      font-size:12px;color:var(--silver-l);outline:none;
      transition:border-color .3s;letter-spacing:.3px;
    }
    .fg input:focus,.fg textarea:focus{border-bottom-color:var(--gold-d);}
    .fg textarea{resize:none;height:84px;}
    .fbtn{
      padding:12px 38px;border:1px solid var(--gold-d);background:transparent;
      font-family:"Montserrat",sans-serif;font-weight:300;
      font-size:8.5px;letter-spacing:4px;text-transform:uppercase;
      color:var(--gold-l);cursor:none;transition:all .35s;align-self:flex-start;
    }
    .fbtn:hover{background:rgba(184,150,62,.07);border-color:var(--gold-l);color:var(--white);}

    /* ── FOOTER ── */
    footer{
      padding:44px 56px;display:flex;justify-content:space-between;align-items:center;
      border-top:1px solid rgba(255,255,255,.04);
    }
    .f-logo{height:26px;opacity:.38;}
    .f-txt{font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:rgba(110,110,110,.4);}
    .f-links{display:flex;gap:24px;}
    .f-links a{
      font-size:7.5px;letter-spacing:3px;text-transform:uppercase;
      color:rgba(110,110,110,.4);text-decoration:none;transition:color .3s;cursor:none;
    }
    .f-links a:hover{color:var(--gold-d);}

    /* ── ANIMATIONS ── */
    @keyframes fdUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
    @keyframes fdDown{from{opacity:0;transform:translateY(-16px);}to{opacity:1;transform:none;}}
    @keyframes fdIn{from{opacity:0;}to{opacity:1;}}
    @keyframes pulse{0%,100%{opacity:.25;}50%{opacity:1;}}
    .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease;}
    .reveal.visible{opacity:1;transform:none;}

    /* ── RESPONSIVE ── */
    @media(max-width:900px){
      nav{padding:16px 20px;}
      .nav-links{display:none;}
      .sw,.skills-inner,.tl-inner,.edu-inner,.auto-inner,.ct-inner{padding:72px 20px;}
      .about-g,.auto-g,.ct-inner,.edu-g{grid-template-columns:1fr;gap:40px;}
      .skills-g{grid-template-columns:1fr;}
      footer{flex-direction:column;gap:16px;text-align:center;padding:32px 20px;}
      .f-links{flex-wrap:wrap;justify-content:center;}
      body{cursor:auto;}
      #cursor-ring,#cursor-dot{display:none;}
    }
  