:root{
    --coral:#E14761; --coral-dark:#B93A50; --coral-tint:#FBEAEE;
    --carbon:#1A1A1A; --gray:#2D2D2D; --paper:#FAFAF9; --line:#E7E5E2; --muted:#8A8782;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{overflow-x:hidden;max-width:100%;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper);color:var(--carbon);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
  a{color:inherit;} img,svg{display:block;}

  /* NAV */
  nav{position:sticky;top:0;background:var(--paper);z-index:50;border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s;}
  nav.scrolled{border-bottom-color:var(--line);box-shadow:0 2px 14px -6px rgba(26,26,26,0.12);}
  .navrow{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
  .logo{display:flex;align-items:center;gap:10px;cursor:pointer;}
  .logo-word{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;letter-spacing:-0.02em;}
  .navlinks{display:flex;gap:28px;align-items:center;}
  .navlinks a{color:var(--gray);text-decoration:none;font-size:13.5px;font-weight:500;padding-bottom:3px;border-bottom:2px solid transparent;cursor:pointer;}
  .navlinks a:hover{color:var(--carbon);}
  .navlinks a.active{color:var(--carbon);border-bottom-color:var(--coral);font-weight:600;}
  .cta{background:var(--carbon);color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;}
  .cta.coral{background:var(--coral);}
  .cta.coral:hover{background:var(--coral-dark);}
  .navtoggle{display:none;}

  /* VIEW SYSTEM */
  .view{display:none;}
  .view.active{display:block;animation:fadeIn .3s ease;}
  @keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

  .page-hero{padding:56px 0 44px;border-bottom:1px solid var(--line);}
  .page-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--coral-dark);background:var(--coral-tint);display:inline-block;padding:6px 12px;border-radius:6px;margin-bottom:18px;font-weight:500;}
  .page-hero h1{font-family:'Poppins',sans-serif;font-weight:700;font-size:38px;letter-spacing:-0.02em;}
  .page-hero h1 span{color:var(--coral);}
  .page-hero p{margin-top:14px;color:var(--gray);font-size:15.5px;max-width:560px;}

  /* HERO (home) */
  .hero{position:relative;overflow:hidden;padding:80px 0 64px;}
  .hero-pattern{position:absolute;inset:0;opacity:0.045;pointer-events:none;}
  .hero-grid{position:relative;display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center;}
  .eyebrow{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--coral-dark);background:var(--coral-tint);display:inline-block;padding:6px 12px;border-radius:6px;margin-bottom:22px;font-weight:500;}
  h1{font-family:'Poppins',sans-serif;font-weight:700;font-size:48px;line-height:1.1;letter-spacing:-0.02em;color:var(--carbon);}
  h1 span{color:var(--coral);}
  .hero p.sub{margin-top:20px;font-size:16.5px;color:var(--gray);max-width:460px;}
  .hero-ctas{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}
  .btn-primary{background:var(--coral);color:#fff;padding:14px 26px;border-radius:8px;font-weight:600;text-decoration:none;font-size:14.5px;display:inline-block;cursor:pointer;border:none;}
  .btn-primary:hover{background:var(--coral-dark);}
  .btn-secondary{border:1.5px solid var(--carbon);color:var(--carbon);padding:14px 26px;border-radius:8px;font-weight:600;text-decoration:none;font-size:14.5px;display:inline-block;cursor:pointer;background:none;}
  .btn-secondary:hover{background:var(--carbon);color:#fff;}
  .mark-hero{width:100%;max-width:290px;justify-self:end;}
  .mark-hero .branch{stroke-dasharray:140;stroke-dashoffset:140;animation:draw 1.1s ease forwards;}
  .mark-hero .branch.b2{animation-delay:.15s;} .mark-hero .branch.b3{animation-delay:.3s;}
  @keyframes draw{to{stroke-dashoffset:0;}}
  .mark-hero .pulse-dot{animation:pulse 2.4s ease-in-out 1.5s infinite;transform-origin:148px 164px;}
  @keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.18);}}

  /* TRUST BAR */
  .trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;}
  .trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
  .trust-num{font-family:'Poppins',sans-serif;font-weight:700;font-size:26px;}
  .trust-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:0.04em;margin-top:4px;}

  /* SECTION SHARED */
  .section{padding:72px 0;}
  .section-head{max-width:580px;margin-bottom:44px;}
  .section-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--coral-dark);font-weight:500;margin-bottom:10px;}
  h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:30px;letter-spacing:-0.01em;}
  .section-head p{margin-top:14px;color:var(--gray);font-size:15px;}
  .section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .section-foot{margin-top:36px;}

  /* CARDS - services */
  .cardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .card{border:1px solid var(--line);border-radius:16px;padding:26px 22px;background:#fff;transition:border-color .18s,transform .18s,box-shadow .18s;}
  .card:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:0 14px 30px -12px rgba(26,26,26,0.18);}
  .card-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(160deg,#232323,var(--carbon));display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 6px 14px -4px rgba(26,26,26,0.35);transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
  .card:hover .card-mark{transform:scale(1.1) rotate(-6deg);}
  .card-mark svg{transition:transform .25s ease;}
  .card h3{font-family:'Poppins',sans-serif;font-size:15.5px;font-weight:600;margin-bottom:8px;}
  .card p{font-size:13px;color:var(--muted);line-height:1.55;}

  /* PROCESS */
  .process{position:relative;}
  .process-line{position:absolute;top:19px;left:60px;right:60px;height:2px;background:var(--line);}
  .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;}
  .process-node{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--carbon);display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;margin-bottom:18px;position:relative;z-index:1;}
  .process-step:nth-child(odd) .process-node{border-color:var(--coral);color:var(--coral);}
  .process-step h4{font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;margin-bottom:6px;}
  .process-step p{font-size:13px;color:var(--muted);}

  /* PRODUCTS */
  .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .product-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;}
  .product-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -14px rgba(26,26,26,0.2);border-color:var(--coral);}
  .product-top{padding:26px 22px 20px;border-bottom:1px solid var(--line);}
  .product-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(160deg,#232323,var(--carbon));display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 6px 14px -4px rgba(26,26,26,0.35);transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
  .product-card:hover .product-icon{transform:scale(1.1) rotate(-6deg);}
  .status{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:5px;margin-bottom:10px;}
  .status.dev{background:var(--coral-tint);color:var(--coral-dark);}
  .status.planned{background:#EFEFEC;color:var(--muted);}
  .product-card h3{font-family:'Poppins',sans-serif;font-size:16.5px;font-weight:600;margin-bottom:8px;}
  .product-card p{font-size:13px;color:var(--muted);line-height:1.55;}
  .product-bottom{padding:16px 22px;display:flex;gap:6px;flex-wrap:wrap;}
  .tag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--gray);background:var(--paper);border:1px solid var(--line);padding:3px 8px;border-radius:5px;}

  /* TECH GRID */
  .tech-group{margin-bottom:36px;}
  .tech-group h4{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);letter-spacing:0.05em;margin-bottom:16px;}
  .tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
  .tech-badge{border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px 10px;text-align:center;transition:border-color .18s,transform .18s,box-shadow .18s;}
  .tech-badge:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:0 12px 26px -12px rgba(26,26,26,0.18);}
  .tech-mono{width:38px;height:38px;border-radius:10px;background:linear-gradient(160deg,#232323,var(--carbon));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-family:'Poppins',sans-serif;font-weight:700;font-size:12px;box-shadow:0 6px 14px -4px rgba(26,26,26,0.35);transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
  .tech-badge:hover .tech-mono{transform:scale(1.12) rotate(-6deg);}
  .tech-badge span{display:block;font-size:12px;font-weight:600;color:var(--carbon);}

  /* PORTFOLIO */
  .portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .pf-card{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .18s,box-shadow .18s;}
  .pf-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -14px rgba(26,26,26,0.2);}
  .pf-thumb{height:190px;background:var(--carbon);position:relative;overflow:hidden;}
  .pf-thumb svg{position:absolute;opacity:0.55;}
  .pf-body{padding:20px;}
  .pf-tag{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--coral-dark);margin-bottom:8px;display:block;}
  .pf-body h3{font-family:'Poppins',sans-serif;font-size:15.5px;font-weight:600;margin-bottom:6px;}
  .pf-body p{font-size:13px;color:var(--muted);line-height:1.5;}

  /* TESTIMONIAL */
  .testimonial{background:var(--carbon);border-radius:20px;padding:52px 56px;position:relative;overflow:hidden;}
  .testimonial svg{position:absolute;opacity:0.06;}
  .testimonial p{position:relative;font-family:'Poppins',sans-serif;font-size:21px;font-weight:600;color:#fff;line-height:1.4;max-width:620px;}
  .testimonial .who{position:relative;margin-top:20px;font-size:13px;color:#9C9A96;}

  /* CTA STRIP */
  .ctastrip{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
  .ctastrip h3{font-family:'Poppins',sans-serif;font-size:25px;font-weight:700;max-width:440px;line-height:1.25;}
  .ctastrip h3 span{color:var(--coral);}

  /* PORTAL CLIENTES */
  .portal-shell{display:grid;grid-template-columns:0.85fr 1.15fr;gap:28px;align-items:start;}
  .login-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:32px 28px;}
  .login-card h3{font-family:'Poppins',sans-serif;font-size:18px;font-weight:600;margin-bottom:6px;}
  .login-card p{font-size:13px;color:var(--muted);margin-bottom:22px;}
  .field{margin-bottom:14px;}
  .field label{display:block;font-size:12px;font-weight:600;color:var(--gray);margin-bottom:6px;}
  .field input{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-size:13.5px;font-family:'Inter',sans-serif;background:var(--paper);}
  .login-note{margin-top:16px;font-size:11.5px;color:var(--muted);text-align:center;}
  .portal-modules{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .module-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px;}
  .module-card .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);margin-bottom:10px;}
  .module-card h4{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;margin-bottom:5px;}
  .module-card p{font-size:12px;color:var(--muted);line-height:1.5;}
  .base-note{margin-top:22px;padding:16px 18px;background:var(--coral-tint);border-radius:10px;font-size:12.5px;color:var(--coral-dark);}

  /* BRANDING SHOWCASE */
  .brand-shell{display:grid;grid-template-columns:0.95fr 1.05fr;gap:44px;align-items:center;}
  .brand-mark-wrap{background:var(--carbon);border-radius:20px;padding:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
  .brand-mark-wrap svg.bgpat{position:absolute;inset:0;opacity:0.06;}
  .brand-points{list-style:none;margin:20px 0 26px;}
  .brand-points li{font-size:14px;color:var(--gray);padding:8px 0 8px 24px;position:relative;border-bottom:1px solid var(--line);}
  .brand-points li:last-child{border-bottom:none;}
  .brand-points li:before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--coral);}
  .swatches{display:flex;gap:10px;margin-top:22px;}
  .swatch{width:40px;height:40px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.06);}

  /* CONTACTO */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px;}
  .contact-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:30px 26px;transition:transform .18s,box-shadow .18s;}
  .contact-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -14px rgba(26,26,26,0.2);}
  .contact-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(160deg,#232323,var(--carbon));display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 6px 14px -4px rgba(26,26,26,0.35);transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
  .contact-card:hover .contact-icon{transform:scale(1.1) rotate(-6deg);}
  .contact-card h3{font-family:'Poppins',sans-serif;font-size:16.5px;font-weight:600;margin-bottom:8px;}
  .contact-card p{font-size:13px;color:var(--muted);margin-bottom:18px;line-height:1.55;}

  /* FOOTER */
  footer{background:var(--carbon);padding:52px 0 28px;color:#B9B7B3;position:relative;overflow:hidden;}
  .foot-pattern{position:absolute;inset:0;opacity:0.05;pointer-events:none;}
  .foot-grid{position:relative;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
  .foot-word{font-family:'Poppins',sans-serif;font-weight:700;color:#fff;font-size:18px;margin-bottom:8px;}
  .foot-tag{font-size:13px;color:#8A8782;max-width:260px;}
  .foot-links{display:flex;gap:52px;flex-wrap:wrap;}
  .foot-col h5{font-family:'JetBrains Mono',monospace;font-size:11px;color:#6B6965;letter-spacing:0.06em;margin-bottom:12px;}
  .foot-col a{display:block;color:#B9B7B3;text-decoration:none;font-size:13.5px;margin-bottom:10px;cursor:pointer;}
  .foot-col a:hover{color:#fff;}
  .foot-bottom{border-top:1px solid #333;margin-top:40px;padding-top:20px;font-size:12px;color:#6B6965;position:relative;}

  /* MOBILE NAV TOGGLE */
  .navtoggle{display:none;background:none;border:none;cursor:pointer;padding:6px;width:34px;height:34px;align-items:center;justify-content:center;}
  .navtoggle span{display:block;width:20px;height:2px;background:var(--carbon);position:relative;transition:background .2s;}
  .navtoggle span:before,.navtoggle span:after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--carbon);transition:transform .2s;}
  .navtoggle span:before{top:-6px;} .navtoggle span:after{top:6px;}
  .navtoggle.open span{background:transparent;}
  .navtoggle.open span:before{transform:translateY(6px) rotate(45deg);}
  .navtoggle.open span:after{transform:translateY(-6px) rotate(-45deg);}

  @media (max-width:860px){
    .navtoggle{display:flex;}
    .navlinks{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 18px;border-bottom:1px solid var(--line);box-shadow:0 14px 26px -18px rgba(26,26,26,0.25);transform:translateY(-10px);opacity:0;pointer-events:none;transition:all .2s ease;}
    .navlinks.open{transform:translateY(0);opacity:1;pointer-events:auto;}
    .navlinks a{width:100%;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
    .navlinks a.cta{margin-top:14px;text-align:center;border-bottom:none;border-radius:8px;}
    .hero-grid{grid-template-columns:1fr;} .mark-hero{display:none;}
    .cardgrid,.process-grid,.portfolio-grid,.trustgrid,.product-grid,.contact-grid,.portal-shell,.portal-modules,.tech-grid,.brand-shell{grid-template-columns:repeat(2,1fr);}
    h1{font-size:34px;}
    .process-line{display:none;}
  }
  @media (max-width:560px){
    .wrap{padding:0 20px;}
    .cardgrid,.process-grid,.portfolio-grid,.trustgrid,.product-grid,.contact-grid,.portal-shell,.portal-modules,.brand-shell{grid-template-columns:1fr;}
    .tech-grid{grid-template-columns:repeat(2,1fr);}
    h1{font-size:28px;} .page-hero h1{font-size:26px;}
    .hero{padding:56px 0 44px;} .section{padding:52px 0;}
    .testimonial{padding:34px 24px;}
    .testimonial p{font-size:18px;}
    .ctastrip{flex-direction:column;align-items:flex-start;}
    .brand-mark-wrap{padding:28px;}
    .hero-ctas{flex-direction:column;align-items:stretch;}
    .hero-ctas a{text-align:center;}
  }


/* LANGUAGE SWITCH */
.lang-switch{position:relative;margin-left:4px;}
.lang-current{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--carbon);cursor:pointer;}
.lang-current:hover{border-color:var(--coral);}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px -12px rgba(26,26,26,0.25);padding:6px;min-width:150px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:all .15s ease;z-index:60;}
.lang-menu.open{opacity:1;transform:translateY(0);pointer-events:auto;}
.lang-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;text-align:left;padding:9px 10px;border-radius:6px;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--gray);cursor:pointer;}
.lang-menu button:hover{background:var(--paper);color:var(--carbon);}
.lang-menu button.active{color:var(--coral-dark);font-weight:600;}
.lang-menu button .lc{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);}
@media (max-width:860px){
  .navrow{flex-wrap:nowrap;}
  .lang-switch{order:2;margin-left:auto;margin-right:8px;}
  .navtoggle{order:3;}
}
