:root{
    --ink:#0e1726;
    --ink-soft:#3a4658;
    --paper:#f4f1ea;
    --paper-pure:#fbf9f4;
    --line:#d9d3c6;
    --amber:#e0792a;
    --amber-deep:#b85d18;
    --blue:#1f4e79;
    --blue-bright:#2e75b6;
    --teal:#0d6e6e;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:'Archivo',sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--amber);color:#fff}
  a{color:inherit;text-decoration:none}

  /* ---------- layout helpers ---------- */
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--amber-deep);font-weight:500;
  }
  h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;line-height:1.1;letter-spacing:-.01em}

  /* ---------- nav ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 32px;
    background:rgba(244,241,234,.82);
    backdrop-filter:blur(12px);
    border-bottom:1px solid transparent;
    transition:border-color .3s,padding .3s;
  }
  nav.scrolled{border-bottom-color:var(--line);padding:12px 32px}
  .logo{display:flex;align-items:center}
  .logo-img{height:42px;width:auto;display:block;transition:height .3s}
  nav.scrolled .logo-img{height:34px}
  .nav-links{display:flex;gap:34px;align-items:center}
  .nav-links a{
    font-size:.92rem;font-weight:500;color:var(--ink-soft);
    transition:color .2s;position:relative;
  }
  .nav-links a:hover{color:var(--ink)}
  .nav-cta{
    background:var(--ink);color:var(--paper-pure)!important;
    padding:9px 20px;border-radius:2px;font-size:.88rem;
    transition:background .2s;
  }
  .nav-cta:hover{background:var(--amber-deep)}
  .menu-btn{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--ink)}

  /* ---------- hero ---------- */
  header{
    position:relative;padding:190px 0 130px;overflow:hidden;
  }
  .grid-bg{
    position:absolute;inset:0;z-index:0;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),
                     linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:64px 64px;
    opacity:.4;
    -webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 0%,transparent 75%);
    mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 0%,transparent 75%);
  }
  .hero-glow{
    position:absolute;top:-120px;right:-160px;width:620px;height:620px;z-index:0;
    background:radial-gradient(circle,rgba(224,121,42,.18) 0%,transparent 68%);
  }
  .hero-inner{position:relative;z-index:2;max-width:780px}
  .hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}
  .hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(13,110,110,.15)}
  header h1{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:28px}
  header h1 em{font-style:italic;color:var(--amber-deep)}
  .hero-lead{
    font-size:1.18rem;color:var(--ink-soft);max-width:560px;margin-bottom:38px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
  .btn-primary{
    background:var(--amber-deep);color:#fff;
    padding:15px 30px;border-radius:2px;font-weight:600;font-size:.95rem;
    display:inline-flex;align-items:center;gap:10px;
    transition:transform .2s,box-shadow .2s;
    box-shadow:0 6px 20px rgba(184,93,24,.25);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(184,93,24,.34)}
  .btn-ghost{
    padding:15px 26px;font-weight:600;font-size:.95rem;color:var(--ink);
    border:1px solid var(--ink);border-radius:2px;transition:background .2s,color .2s;
  }
  .btn-ghost:hover{background:var(--ink);color:var(--paper-pure)}

  .hero-stats{
    position:relative;z-index:2;display:flex;gap:54px;flex-wrap:wrap;
    margin-top:84px;padding-top:36px;border-top:1px solid var(--line);
  }
  .stat .num{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:600;color:var(--ink);line-height:1}
  .stat .lbl{font-size:.86rem;color:var(--ink-soft);margin-top:6px;max-width:200px}

  /* ---------- section shell ---------- */
  section{position:relative;padding:104px 0}
  .sec-head{max-width:680px;margin-bottom:60px}
  .sec-head h2{font-size:clamp(2rem,4vw,3rem);margin:16px 0}
  .sec-head p{color:var(--ink-soft);font-size:1.08rem}

  /* ---------- about ---------- */
  #sobre{background:var(--paper-pure);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
  .about-text p{color:var(--ink-soft);margin-bottom:18px;font-size:1.05rem}
  .about-text p strong{color:var(--ink);font-weight:600}
  .about-card{
    background:var(--ink);color:var(--paper);padding:38px;border-radius:3px;
    position:relative;overflow:hidden;
  }
  .about-card::before{
    content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;
    background:radial-gradient(circle,rgba(224,121,42,.35),transparent 70%);
  }
  .about-card h3{color:#fff;font-size:1.4rem;margin-bottom:8px;position:relative}
  .about-card .since{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--amber);letter-spacing:.12em;margin-bottom:22px;position:relative}
  .about-card ul{list-style:none;position:relative}
  .about-card li{
    display:flex;gap:12px;padding:13px 0;font-size:.95rem;color:#cdd4de;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .about-card li:last-child{border-bottom:none}
  .about-card li svg{flex-shrink:0;margin-top:3px}

  /* ---------- capabilities ---------- */
  .cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .cap{
    background:var(--paper);padding:38px 32px;
    transition:background .25s,transform .25s;position:relative;
  }
  .cap:hover{background:var(--paper-pure)}
  .cap .idx{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--amber-deep);letter-spacing:.1em}
  .cap h3{font-size:1.32rem;margin:18px 0 10px}
  .cap p{font-size:.96rem;color:var(--ink-soft)}
  .cap .tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px}
  .cap .tags span{
    font-family:'JetBrains Mono',monospace;font-size:.7rem;
    background:rgba(31,78,121,.08);color:var(--blue);
    padding:4px 9px;border-radius:2px;
  }

  /* ---------- approach ---------- */
  #abordagem{background:var(--ink);color:var(--paper)}
  #abordagem .eyebrow{color:var(--amber)}
  #abordagem .sec-head h2{color:#fff}
  #abordagem .sec-head p{color:#aab3c0}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
  .step{position:relative;padding-top:28px;border-top:2px solid rgba(255,255,255,.16)}
  .step.active-line{border-top-color:var(--amber)}
  .step .st-num{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--amber);margin-bottom:12px}
  .step h3{color:#fff;font-size:1.18rem;margin-bottom:8px}
  .step p{font-size:.92rem;color:#aab3c0}

  /* ---------- clients ---------- */
  #clientes{text-align:center}
  .client-row{
    display:flex;justify-content:center;align-items:center;gap:20px;
    margin-top:36px;flex-wrap:wrap;
  }
  .client-badge{
    display:flex;align-items:center;gap:14px;
    background:var(--paper-pure);border:1px solid var(--line);
    padding:22px 34px;border-radius:3px;
  }
  .client-badge .cname{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:600}
  .client-badge .cdesc{font-size:.82rem;color:var(--ink-soft);text-align:left}
  .client-note{margin-top:26px;font-size:.92rem;color:var(--ink-soft)}

  /* ---------- contact ---------- */
  #contato{background:var(--paper-pure);border-top:1px solid var(--line)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .contact-left h2{font-size:clamp(2rem,4vw,3rem);margin:16px 0 20px}
  .contact-left p{color:var(--ink-soft);font-size:1.08rem;margin-bottom:30px}
  .contact-list{list-style:none}
  .contact-list li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start}
  .contact-list li:last-child{border-bottom:none}
  .contact-list .ic{
    width:38px;height:38px;flex-shrink:0;border-radius:2px;
    background:var(--ink);display:flex;align-items:center;justify-content:center;
  }
  .contact-list .ct-label{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep)}
  .contact-list .ct-val{font-size:.98rem;color:var(--ink);font-weight:500}
  .contact-cta{
    background:var(--ink);color:var(--paper);padding:46px;border-radius:3px;
    position:relative;overflow:hidden;
  }
  .contact-cta::after{
    content:"";position:absolute;bottom:-60px;left:-60px;width:220px;height:220px;
    background:radial-gradient(circle,rgba(46,117,182,.4),transparent 70%);
  }
  .contact-cta h3{color:#fff;font-size:1.7rem;margin-bottom:14px;position:relative}
  .contact-cta p{color:#aab3c0;font-size:.98rem;margin-bottom:28px;position:relative}
  .contact-cta a{
    position:relative;display:inline-flex;align-items:center;gap:10px;
    background:var(--amber-deep);color:#fff;padding:14px 26px;border-radius:2px;
    font-weight:600;font-size:.95rem;transition:transform .2s;
  }
  .contact-cta a:hover{transform:translateY(-2px)}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:#8b95a4;padding:46px 0 34px}
  .foot-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1)}
  .foot-logo{display:flex;align-items:center}
  .foot-logo-img{height:54px;width:auto;display:block}
  .foot-tag{font-size:.9rem;color:#8b95a4;max-width:340px}
  .foot-bottom{padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem}
  .foot-bottom a:hover{color:#fff}

  /* ---------- reveal animation ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- responsive ---------- */
  @media(max-width:900px){
    .nav-links{
      position:fixed;inset:64px 0 auto 0;flex-direction:column;
      background:var(--paper-pure);padding:24px 32px;gap:20px;
      border-bottom:1px solid var(--line);
      transform:translateY(-130%);transition:transform .3s;
    }
    .nav-links.open{transform:none}
    .menu-btn{display:block}
    .about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
    .cap-grid{grid-template-columns:1fr}
    .steps{grid-template-columns:1fr 1fr;gap:32px}
    header{padding:150px 0 90px}
    .hero-stats{gap:32px}
  }
  @media(max-width:560px){
    .wrap{padding:0 22px}
    nav{padding:14px 22px}
    .steps{grid-template-columns:1fr}
    .hero-actions{flex-direction:column;align-items:stretch}
    .btn-primary,.btn-ghost{justify-content:center}
  }
