:root{
    --green:#5F795C;
    --green-light:#8FAF8B;
    --green-pale:#DCE6D9;
    --green-dark:#334033;
    --black:#0B0D0B;
    --charcoal:#151815;
    --panel:#1B1F1B;
    --white:#FFFFFF;
    --offwhite:#F3F5F1;
    --gray:#A6ADA3;
    --gray-dim:#6E756B;
    --maxw:1180px;
    --radius:4px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;width:100%;}
  body{
    font-family:'Lora', Georgia, serif;
    background:var(--black);
    color:var(--offwhite);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
  }
  h1,h2,h3,h4,.brand,nav a,.btn,.tag,.eyebrow,.nav-lang{
    font-family:'Poppins', Helvetica, Arial, sans-serif;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  section{padding:120px 0;position:relative;}
  .eyebrow{
    color:var(--green-light);
    letter-spacing:3px;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--green-light);}
  h2.section-title{
    font-size:clamp(28px,4vw,42px);
    font-weight:700;
    color:var(--white);
    margin-bottom:44px;
    letter-spacing:-0.5px;
  }
  /* ============ NAV ============ */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(11,13,11,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,0.06);
  }
  .navwrap{
    max-width:var(--maxw);margin:0 auto;padding:0 32px;
    display:flex;align-items:center;justify-content:space-between;
    height:80px;
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:38px;height:38px;border:1.5px solid var(--green-light);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:13px;color:var(--green-light);
    letter-spacing:0.5px;
  }
  .brand-text{line-height:1.25;}
  .brand-text .b1{font-size:13px;font-weight:700;color:var(--white);letter-spacing:1px;}
  .brand-text .b2{font-size:10px;font-weight:400;color:var(--gray);letter-spacing:1.5px;text-transform:uppercase;}
  nav{display:flex;align-items:center;gap:38px;}
  nav a{
    font-size:13px;font-weight:500;color:var(--gray);
    letter-spacing:0.5px;transition:color .25s;
    position:relative;
  }
  nav a.nav-back{padding-left:24px;border-left:1px solid rgba(255,255,255,0.14);color:var(--green-light);}
  nav a:hover{color:var(--white);}
  nav a::after{
    content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;
    background:var(--green-light);transition:width .25s;
  }
  nav a:hover::after{width:100%;}
  .nav-right{display:flex;align-items:center;gap:22px;}
  .nav-whatsapp{
    width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);
    display:flex;align-items:center;justify-content:center;color:var(--gray);transition:all .25s;
  }
  .nav-whatsapp:hover{border-color:var(--green-light);color:var(--green-light);}
  .fval-link{color:var(--green-light);border-bottom:1px solid rgba(143,175,139,0.4);padding-bottom:1px;}
  .fval-link:hover{color:var(--white);}
  .lang-toggle{display:flex;border:1px solid rgba(255,255,255,0.18);border-radius:20px;overflow:hidden;}
  .lang-toggle button{
    background:transparent;border:none;color:var(--gray);
    font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:600;
    padding:6px 13px;cursor:pointer;letter-spacing:0.5px;transition:all .2s;
  }
  .lang-toggle button.active{background:var(--green);color:var(--white);}
  .navtoggle{display:none;flex-direction:column;gap:5px;cursor:pointer;}
  .navtoggle span{width:22px;height:2px;background:var(--white);}

  /* ============ HERO ============ */
  .hero{
    min-height:100vh;display:flex;align-items:center;
    padding-top:80px;
    background:
      radial-gradient(circle at 82% 30%, rgba(95,121,92,0.28), transparent 55%),
      linear-gradient(160deg, #0B0D0B 0%, #10130F 55%, #182018 100%);
    overflow:hidden;
    position:relative;
    width:100%;
  }
  .hero::before{
    content:"";position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size:46px 46px;
    mask-image:radial-gradient(circle at 75% 40%, black, transparent 65%);
    pointer-events:none;
    z-index:0;
  }
  .hero-bg{
    position:absolute;inset:0;width:100%;z-index:1;overflow:hidden;
  }
  .hero-bg img{
    width:100%;height:100%;object-fit:cover;object-position:58% center;
    filter:grayscale(15%) contrast(1.08) brightness(0.72) saturate(0.9);
    -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,0.35) 20%, black 62%);
    mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,0.35) 20%, black 62%);
  }
  .hero-bg-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to right, var(--black) 0%, rgba(11,13,11,0.88) 22%, rgba(11,13,11,0.55) 45%, rgba(11,13,11,0.18) 70%, rgba(11,13,11,0.32) 100%);
  }
  .hero-bg-overlay-bottom{
    position:absolute;left:0;right:0;bottom:0;height:30%;
    background:linear-gradient(to top, var(--black), rgba(11,13,11,0));
  }
  .hero-grid{
    position:relative;z-index:2;width:100%;
  }
  .hero-copy{max-width:640px;}
  .hero-title{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:clamp(38px,5.6vw,68px);
    line-height:1.04;
    color:var(--white);
    letter-spacing:-1px;
  }
  .hero-title .accent{color:var(--green-light);}
  .hero-role{
    margin-top:22px;font-size:clamp(16px,2vw,21px);
    font-family:'Poppins',sans-serif;font-weight:400;
    color:var(--green-light);letter-spacing:0.3px;
  }
  .hero-lead{
    margin-top:24px;max-width:520px;color:var(--gray);
    font-size:16.5px;line-height:1.85;
  }
  .hero-meta{
    display:flex;gap:28px;margin-top:34px;flex-wrap:wrap;
  }
  .hero-meta div{font-family:'Poppins',sans-serif;}
  .hero-meta .num{font-size:26px;font-weight:700;color:var(--white);}
  .hero-meta .lbl{font-size:11px;color:var(--gray);letter-spacing:1px;text-transform:uppercase;margin-top:2px;}
  .hero-cta{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;}
  .btn{
    font-size:13.5px;font-weight:600;letter-spacing:0.5px;
    padding:15px 30px;border-radius:2px;cursor:pointer;
    display:inline-flex;align-items:center;gap:10px;
    transition:all .25s;border:1px solid transparent;
  }
  .btn-primary{background:var(--green);color:var(--white);}
  .btn-primary:hover{background:var(--green-light);}
  .btn-outline{border-color:rgba(255,255,255,0.3);color:var(--white);}
  .btn-outline:hover{border-color:var(--green-light);color:var(--green-light);}
  .hero-social{display:flex;gap:16px;margin-top:46px;}
  .hero-social a{
    width:36px;height:36px;border:1px solid rgba(255,255,255,0.2);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--gray);transition:all .25s;font-size:14px;
  }
  .hero-social a:hover{border-color:var(--green-light);color:var(--green-light);}
  .fade-b{position:absolute;left:0;right:0;bottom:0;height:55%;
    background:linear-gradient(to top, #0B0D0B 0%, rgba(11,13,11,0) 100%);z-index:2;}
  .fade-l{position:absolute;top:0;bottom:0;left:0;width:35%;
    background:linear-gradient(to right, #0B0D0B 0%, rgba(11,13,11,0) 100%);z-index:2;}
  .fade-r{position:absolute;top:0;bottom:0;right:0;width:20%;
    background:linear-gradient(to left, #0B0D0B 0%, rgba(11,13,11,0) 100%);z-index:2;}
  .scroll-cue{
    position:absolute;bottom:28px;left:32px;font-size:11px;color:var(--gray-dim);
    letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px;z-index:3;
  }
  .scroll-cue::after{content:"";width:1px;height:34px;background:linear-gradient(var(--green-light),transparent);}

  /* ============ PHOTO PLACEHOLDER ============ */
  .photo-placeholder{
    position:relative;width:100%;height:100%;overflow:hidden;
    background:
      radial-gradient(circle at 30% 20%, rgba(143,175,139,0.16), transparent 55%),
      linear-gradient(155deg, var(--panel) 0%, var(--charcoal) 55%, var(--green-dark) 145%);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:280px;
  }
  .photo-placeholder::before{
    content:"";position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:34px 34px;
    mask-image:radial-gradient(circle at 50% 40%, black, transparent 70%);
  }
  .photo-placeholder .ph-ring{
    position:relative;width:104px;height:104px;border:1.5px solid rgba(143,175,139,0.5);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
  }
  .photo-placeholder .ph-initials{
    font-family:'Poppins',sans-serif;font-weight:700;font-size:30px;
    color:var(--green-light);letter-spacing:0.5px;
  }
  .photo-placeholder .ph-label{
    position:relative;margin-top:16px;font-family:'Poppins',sans-serif;font-size:10px;
    letter-spacing:1.2px;text-transform:uppercase;color:var(--gray-dim);text-align:center;padding:0 24px;
  }

  /* ============ ABOUT ============ */
  .about{background:var(--black);}
  .about-grid{display:grid;grid-template-columns:0.78fr 1.22fr;gap:64px;align-items:center;}
  .about-photo{position:relative;}
  .about-photo-inner{position:relative;overflow:hidden;background:var(--black);aspect-ratio:3/4;}
  .about-photo-inner img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(100%) contrast(1.08) brightness(0.98);}
  .about-photo .fade-b{height:40%;}
  .about-photo .fade-l{width:22%;background:linear-gradient(to right, var(--black) 0%, rgba(11,13,11,0) 100%);}
  .about-photo .fade-r{width:22%;background:linear-gradient(to left, var(--black) 0%, rgba(11,13,11,0) 100%);}
  .about-photo-caption{
    margin-top:18px;display:flex;justify-content:space-between;
    font-family:'Poppins',sans-serif;font-size:11px;color:var(--gray-dim);
    letter-spacing:1px;text-transform:uppercase;border-top:1px solid rgba(255,255,255,0.08);padding-top:14px;
  }
  .about-copy p{color:var(--gray);font-size:16px;margin-bottom:18px;max-width:640px;}
  .about-facts{
    margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px;
  }
  .fact{border-left:2px solid var(--green);padding-left:16px;min-width:0;}
  .fact .flbl{font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--green-light);margin-bottom:5px;}
  .fact .fval{font-family:'Poppins',sans-serif;font-size:14.5px;color:var(--white);font-weight:500;overflow-wrap:break-word;word-break:break-word;}

  /* ============ EXPERIENCE ============ */
  .experience{background:var(--charcoal);position:relative;overflow:hidden;}
  .exp-photo{
    position:absolute;top:0;right:0;width:46%;height:100vh;z-index:0;overflow:hidden;
  }
  .exp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;filter:grayscale(25%) contrast(1.05) brightness(0.85) saturate(0.9);}
  .exp-photo::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(to right, var(--charcoal) 0%, rgba(21,24,21,0) 42%),
      linear-gradient(to bottom, var(--charcoal) 0%, rgba(21,24,21,0) 42%);
  }
  .exp-photo::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:1;
    background:linear-gradient(to top, var(--charcoal) 0%, rgba(21,24,21,0) 100%);
  }
  .experience .container{position:relative;z-index:1;}
  .timeline{position:relative;max-width:660px;}
  .timeline::before{
    content:"";position:absolute;left:120px;top:6px;bottom:6px;width:1px;
    background:linear-gradient(var(--green), rgba(95,121,92,0.08));
  }
  .tl-item{display:grid;grid-template-columns:120px 1fr;gap:0;position:relative;padding-bottom:52px;}
  .tl-item:last-child{padding-bottom:0;}
  .tl-date{
    font-family:'Poppins',sans-serif;font-size:12px;color:var(--green-light);
    font-weight:600;padding-right:36px;text-align:right;letter-spacing:0.3px;line-height:1.5;
  }
  .tl-dot{
    position:absolute;left:116px;top:4px;width:9px;height:9px;border-radius:50%;
    background:var(--black);border:2px solid var(--green-light);
  }
  .tl-body{padding-left:36px;}
  .tl-role{font-family:'Poppins',sans-serif;font-size:17px;font-weight:600;color:var(--white);}
  .tl-org{font-family:'Poppins',sans-serif;font-size:13px;color:var(--green-light);margin-top:3px;margin-bottom:12px;}
  .tl-body ul{margin-top:8px;}
  .tl-body li{
    color:var(--gray);font-size:14.5px;padding-left:18px;position:relative;margin-bottom:7px;
  }
  .tl-body li::before{content:"—";position:absolute;left:0;color:var(--gray-dim);}

  /* ============ SKILLS ============ */
  .skills{background:var(--black);}
  .skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 60px;}
  .skill-cat h4{
    font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--white);
    letter-spacing:0.5px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.09);
  }
  .tagcloud{display:flex;flex-wrap:wrap;gap:9px;}
  .tag{
    font-size:12px;font-weight:500;color:var(--offwhite);
    background:var(--panel);border:1px solid rgba(255,255,255,0.08);
    padding:8px 14px;border-radius:20px;letter-spacing:0.2px;
  }
  .lang-section{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .side-h4{font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--white);letter-spacing:0.5px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.09);}
  .edu-list li{margin-bottom:16px;}
  .edu-deg{font-family:'Poppins',sans-serif;font-size:14px;color:var(--white);font-weight:500;}
  .edu-sub{font-size:13px;color:var(--gray);margin-top:2px;}
  .cert-list{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
  .cert-list li{font-size:13.5px;color:var(--gray);padding-left:16px;position:relative;}
  .cert-list li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--green-light);border-radius:50%;}

  /* ============ ORGANIZATIONS ============ */
  .clients{background:var(--charcoal);}
  .clients-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;
    background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.07);
  }
  .client-chip{
    background:var(--charcoal);padding:26px 18px;text-align:center;
    font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:600;
    color:var(--gray);letter-spacing:0.3px;transition:all .25s;
  }
  .client-chip:hover{color:var(--green-light);background:var(--panel);}

  /* ============ CONTACT ============ */
  .contact{background:linear-gradient(160deg,#10130F,#1B221B);text-align:center;}
  .contact h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(28px,4vw,44px);color:var(--white);max-width:680px;margin:0 auto 20px;}
  .contact p{color:var(--gray);max-width:560px;margin:0 auto 40px;}
  .contact-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:20px;}
  .contact-info{display:flex;justify-content:center;gap:38px;flex-wrap:wrap;margin-top:44px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--gray);}
  .contact-info div{display:flex;align-items:center;gap:9px;}
  .contact-info .ic{color:var(--green-light);}

  footer{
    background:var(--black);padding:34px 0;border-top:1px solid rgba(255,255,255,0.07);
  }
  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .footer-inner p{font-size:12px;color:var(--gray-dim);}
  .footer-inner .brand{opacity:0.8;}

  .mockup-badge{
    position:fixed;bottom:18px;right:18px;z-index:200;
    background:rgba(11,13,11,0.9);border:1px solid rgba(143,175,139,0.4);
    color:var(--green-light);font-family:'Poppins',sans-serif;font-size:10.5px;
    letter-spacing:1px;text-transform:uppercase;padding:9px 14px;border-radius:20px;
    backdrop-filter:blur(6px);
  }

  [data-lang="en"]{display:none;}
  body.lang-en [data-lang="en"]{display:inline;}
  body.lang-en [data-lang="es"]{display:none;}
  body.lang-en [data-lang-block="en"]{display:block;}
  body.lang-en [data-lang-block="es"]{display:none;}
  [data-lang-block="en"]{display:none;}

  @media (max-width:900px){
    .hero-copy{max-width:100%;}
    .hero-bg img{
      -webkit-mask-image:none;mask-image:none;
      filter:grayscale(15%) contrast(1.08) brightness(0.5) saturate(0.9);
    }
    .hero-bg-overlay{background:linear-gradient(180deg, rgba(11,13,11,0.55) 0%, rgba(11,13,11,0.85) 55%, var(--black) 100%);}
    .about-grid{grid-template-columns:1fr;}
    .about-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
    .skills-grid{grid-template-columns:1fr;}
    .lang-section{grid-template-columns:1fr;}
    .nav-phone,.nav-whatsapp{display:none;}
    nav{
      display:none;position:absolute;top:80px;left:0;right:0;
      background:rgba(11,13,11,0.98);flex-direction:column;gap:0;
      border-top:1px solid rgba(255,255,255,0.08);
      border-bottom:1px solid rgba(255,255,255,0.08);
    }
    nav.open{display:flex;}
    nav a{padding:16px 32px;width:100%;border-bottom:1px solid rgba(255,255,255,0.05);}
    .navtoggle{display:flex;}
    .timeline::before{left:14px;}
    .tl-item{grid-template-columns:1fr;}
    .tl-date{text-align:left;padding-right:0;padding-left:36px;margin-bottom:6px;}
    .tl-dot{left:10px;}
    .tl-body{padding-left:36px;}
    .timeline{max-width:100%;}
    .exp-photo{position:relative;width:100%;height:42vh;}
    .exp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;filter:grayscale(25%) contrast(1.05) brightness(0.85) saturate(0.9);}
  .exp-photo::before{background:linear-gradient(to bottom, rgba(21,24,21,0) 0%, var(--charcoal) 100%);}
    .experience{padding-top:0;}
    .experience .container{padding-top:56px;}
    section{padding:80px 0;}
    .mockup-badge{left:18px;right:18px;text-align:center;}
  }