:root{
    --bg:#0A0A0A;
    --bg-alt:#111111;
    --bg-deep:#000000;
    --panel:#141414;
    --panel-2:#1A1A1A;
    --line:#2A2A2A;
    --line-soft:#1F1F1F;
    --ink:#F5F5F5;
    --ink-muted:#9C9C9C;
    --ink-faint:#5C5C5C;
    --red:#33FF77;
    --red-deep:#1FCC5C;
    --red-bright:#7CFFA8;
    --red-panel:#33FF77;
    --red-glow:rgba(51,255,119,0.35);
    --c-purple:#8B5CF6;
    --c-yellow:#F2C94C;
    --c-grey:#9A9A9A;
    --c-pink:#EC4899;
    --c-violet:#7C3AED;
    --mono:'IBM Plex Mono', ui-monospace, monospace;
    --display:'Chakra Petch', sans-serif;
    --body:'IBM Plex Sans', sans-serif;
    --maxw:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;overflow-x:hidden;width:100%;}
  body{
    margin:0;
    width:100%;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;}

  ::selection{background:var(--red);color:#fff;}

  .cut{
    clip-path:polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
  }
  .cut-sm{
    clip-path:polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  }

  .bg-word-wrap{position:relative;}
  .bg-word{
    display:block;position:relative;z-index:0;
    font-family:var(--display);font-weight:700;text-transform:uppercase;
    font-size:clamp(46px,8vw,120px);line-height:1;letter-spacing:-0.01em;
    color:var(--red);opacity:0.92;white-space:nowrap;user-select:none;
    margin-bottom:-0.34em;
  }
  .bg-word + h2{position:relative;z-index:1;margin-left:2px;}

  .eyebrow{
    font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--red);display:flex;align-items:center;margin-bottom:16px;
  }

  h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;letter-spacing:-0.01em;}
  h2{font-size:clamp(26px,3.2vw,38px);color:var(--ink);}
  p{color:var(--ink-muted);margin:0;}

  .tag{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;}

  /* ---------- HEADER ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(10,10,10,0.88);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
  }
  .nav{position:relative;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;max-width:var(--maxw);margin:0 auto;}
  .nav-collapse{display:flex;align-items:center;gap:24px;}
  nav.links{display:flex;gap:2px;align-items:center;}
  nav.links a{
    font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:.02em;text-transform:uppercase;
    color:var(--ink-muted);text-decoration:none;padding:10px 14px;transition:color .2s ease;
  }
  nav.links a:hover{color:var(--red);}
  .nav-actions{display:flex;align-items:center;gap:10px;}

  .nav-toggle{
    display:none;width:38px;height:38px;flex-shrink:0;border:1.5px solid var(--line);background:transparent;
    align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;
    clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  }
  .nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s ease, opacity .2s ease;}
  .nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.active span:nth-child(2){opacity:0;}
  .nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .btn{
    font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase;
    padding:12px 22px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;
    border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
    white-space:nowrap;border-radius:0;
  }
  .btn-primary{background:var(--red);color:#0A0A0A;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);}
  .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px var(--red-glow);background:var(--red-bright);}
  .btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent;}
  .btn-ghost:hover{border-color:var(--red);color:var(--red);}
  .btn-dark{background:#0A0A0A;color:#fff;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);}
  .btn-dark:hover{background:#000;}
  .btn svg{width:14px;height:14px;}

  .icon-btn{
    width:38px;height:38px;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;
    color:var(--ink-muted);text-decoration:none;transition:color .2s ease, border-color .2s ease;flex-shrink:0;
    clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  }
  .icon-btn svg{width:18px;height:18px;}
  .icon-btn:hover{color:var(--red);border-color:var(--red);}

  /* ---------- HERO ---------- */
  .hero{position:relative;overflow:hidden;padding:150px 0 90px;background:transparent;}
  .hero::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:radial-gradient(ellipse 800px 500px at 85% 0%, rgba(51,255,119,0.10), transparent 60%);
  }
  .matrix-canvas{position:fixed;inset:0;z-index:-1;opacity:.5;pointer-events:none;}
  .hero-fade{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg, var(--bg) 0%, rgba(10,10,10,0.86) 32%, rgba(10,10,10,0.35) 62%, rgba(10,10,10,0.05) 85%);
  }
  .hero-inner{display:grid;grid-template-columns:1.05fr 0.95fr;gap:50px;align-items:center;position:relative;z-index:2;}
  .hero h1{font-size:clamp(32px,4.4vw,54px);line-height:1.08;color:var(--ink);margin-bottom:20px;text-transform:uppercase;}
  .hero h1 em{font-style:normal;color:var(--red);}
  .hero p.lead{font-size:16.5px;max-width:500px;margin-bottom:32px;font-family:var(--body);}
  .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;}

  .status-strip{display:flex;gap:10px;flex-wrap:wrap;}
  .status-chip{
    font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-muted);
    border-left:2px solid var(--red);padding:7px 12px;background:var(--panel);
  }

  .diagram-frame-wrap{position:relative;}
  .diagram-frame{padding:22px;border:1px solid var(--line);background:var(--panel);}
  .diagram-label{position:absolute;top:-11px;left:18px;z-index:1;background:var(--bg);padding:0 8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;}
  .diagram-label b{color:var(--red);}

  .net-line{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:6 340;stroke-dashoffset:0;transition:stroke-dasharray 1.4s ease;}
  .net-line.active{stroke-dasharray:340 0;}
  .net-line-pulse{
    fill:none;stroke:var(--red);stroke-width:1.5;stroke-linecap:round;
    stroke-dasharray:3 11;stroke-dashoffset:14;opacity:0;transition:opacity .3s ease;
  }
  .net-line-pulse.flow{opacity:.85;animation:linePulse 1s linear infinite;}
  @keyframes linePulse{from{stroke-dashoffset:14;}to{stroke-dashoffset:0;}}
  .net-node > rect, .net-node > circle{fill:var(--panel-2);stroke:var(--line);stroke-width:1.5;}
  .net-node.core > rect{stroke:var(--red);fill:#0A140A;}
  .net-node text{font-family:var(--mono);font-size:9px;fill:var(--ink-faint);}
  .pulse{animation:pulseRing 2.6s ease-out infinite;transform-origin:center;}
  @keyframes pulseRing{0%{opacity:.6;transform:scale(1);}80%{opacity:0;transform:scale(2.2);}100%{opacity:0;}}

  /* ---------- RIBBON ---------- */
  .ribbon-outer{overflow:hidden;background:#000;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:16px 0;transform:rotate(-1.4deg);margin:64px -60px;}
  .ribbon-track{display:flex;width:max-content;animation:scrollX 26s linear infinite;}
  .ribbon-track span{
    font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
    font-size:19px;color:var(--ink);display:flex;align-items:center;gap:18px;padding:0 22px;white-space:nowrap;
  }
  .ribbon-track span i{color:var(--red);font-style:normal;}
  @keyframes scrollX{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion: reduce){.ribbon-track{animation:none;}}

  /* ---------- SECTION shells ---------- */
  section{position:relative;padding:88px 0;}
  .section-alt{background:rgba(17,17,17,0.82);}
  .section-head{margin-bottom:44px;}
  .section-head p{max-width:480px;color:var(--ink-muted);margin-top:14px;}

  /* ---------- SOBRE ---------- */
  .about-grid{display:grid;grid-template-columns:1fr;max-width:760px;gap:48px;align-items:start;}
  .about-grid p{color:var(--ink-muted);font-size:16px;margin-bottom:16px;}
  .about-grid p:last-of-type{margin-bottom:0;}

  /* ---------- SOLUÇÕES ---------- */
  .cat-block{margin-bottom:42px;}
  .cat-block:last-child{margin-bottom:0;}
  .cat-label{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
  .cat-label .code{font-family:var(--display);font-weight:700;font-size:12px;color:#0A0A0A;letter-spacing:.04em;background:var(--red);padding:5px 10px;}
  .cat-label .name{font-family:var(--display);font-size:15px;color:var(--ink);font-weight:600;text-transform:uppercase;}
  .cat-label .rule{flex:1;height:1px;background:var(--line);}

  .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;}
  .card{
    background:var(--panel);border:1px solid var(--line);padding:24px 22px;position:relative;
    transition:transform .2s ease, border-color .2s ease;
  }
  .card:hover{transform:translateY(-3px);border-color:var(--red);}
  .card .icon-badge{width:38px;height:38px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .card .icon-badge svg{width:19px;height:19px;color:#0A0A0A;}
  .card h3{font-size:16.5px;margin-bottom:9px;color:var(--ink);text-transform:uppercase;}
  .card p{font-size:13.8px;line-height:1.55;}
  .card .idx{position:absolute;top:16px;right:18px;font-family:var(--mono);font-size:10px;color:var(--ink-faint);}

  /* ---------- CONSULTORIA ---------- */
  .trace-wrap{position:relative;padding-top:34px;margin-bottom:8px;}
  .trace-line{position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);opacity:.6;}
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .pillar{position:relative;padding-top:26px;}
  .pillar::before{content:"";position:absolute;top:-30px;left:calc(50% - 6px);width:12px;height:12px;background:var(--bg);border:2px solid var(--red);transform:rotate(45deg);}
  .pillar::after{content:"";position:absolute;top:-24px;left:50%;width:1px;height:24px;background:var(--line);}
  .pillar .ptag{font-family:var(--display);font-weight:700;font-size:11px;color:var(--red);letter-spacing:.08em;margin-bottom:8px;display:block;text-transform:uppercase;}
  .pillar h3{font-size:15.5px;margin-bottom:8px;color:var(--ink);text-transform:uppercase;}
  .pillar p{font-size:13.3px;}

  /* ---------- AVALIAÇÕES ---------- */
  .review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-bottom:56px;}
  .ticket{background:var(--panel);border:1px solid var(--line);padding:22px;position:relative;}
  .ticket::before{content:"\201C";position:absolute;top:2px;right:16px;font-family:var(--display);font-size:40px;color:var(--line);}
  .ticket p{color:var(--ink);font-size:14.5px;line-height:1.6;margin-bottom:16px;}
  .ticket .who{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);border-top:1px dashed var(--line);padding-top:12px;}
  .ticket .who b{color:var(--red);font-weight:600;}

  .form-panel{
    display:grid;grid-template-columns:1fr 1fr;gap:32px;background:var(--panel);border:1px solid var(--line);
    border-top:3px solid var(--red);padding:38px;
  }
  .form-panel .lead-col p{font-size:14.5px;margin-bottom:18px;}
  .field{margin-bottom:16px;}
  .field label{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.05em;margin-bottom:7px;text-transform:uppercase;}
  .field input, .field textarea{
    width:100%;background:var(--bg-deep);border:1px solid var(--line);color:var(--ink);
    padding:11px 13px;font-family:var(--body);font-size:14px;resize:vertical;border-radius:0;
  }
  .field input:focus, .field textarea:focus{outline:none;border-color:var(--red);}
  .field textarea{min-height:96px;}

  /* ---------- CTA BANNER ---------- */
  .cta-banner{
    text-align:center;padding:80px 28px;position:relative;overflow:hidden;background:var(--red-panel);
  }
  .cta-banner .eyebrow{justify-content:center;color:#000;}
  .cta-banner h2{margin-bottom:14px;color:#0A0A0A;text-transform:uppercase;}
  .cta-banner p{max-width:480px;margin:0 auto 30px;color:rgba(10,10,10,0.75);}

  /* ---------- FOOTER ---------- */
  footer{background:rgba(0,0,0,0.88);padding:56px 0 26px;border-top:3px solid var(--red);}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:44px;}
  .foot-brand .brand-logo{margin-bottom:12px;}
  .foot-brand p{font-size:13.5px;max-width:280px;}
  .foot-col .tag{margin-bottom:16px;display:block;}
  .foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
  .foot-col a{text-decoration:none;color:var(--ink-muted);font-size:13.8px;transition:color .2s ease;}
  .foot-col a:hover{color:var(--red);}
  .foot-bottom{border-top:1px solid var(--line-soft);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);}
  .foot-bottom a:hover{color:var(--red);}

  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .pulse{animation:none;}
    .net-line{transition:none;}
    .net-line-pulse{display:none;}
  }

  @media (max-width: 920px){
    .hero-ctas .btn-ghost{display:none;}
    .hero-inner{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;}
    .pillars{grid-template-columns:1fr 1fr;}
    .form-panel{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}

    .nav-toggle{display:inline-flex;}
    .nav-collapse{
      display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:10;
      flex-direction:column;align-items:stretch;gap:0;
      background:rgba(10,10,10,0.97);backdrop-filter:blur(10px);
      border-bottom:1px solid var(--line-soft);padding:8px 28px 20px;
      max-height:calc(100vh - 66px);overflow-y:auto;
    }
    .nav-collapse.open{display:flex;}
    nav.links{flex-direction:column;align-items:stretch;gap:0;}
    nav.links a{padding:14px 4px;border-bottom:1px solid var(--line-soft);}
    .nav-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:14px;}
    .nav-actions .btn-primary{width:100%;justify-content:center;}
    .nav-actions .icon-btn{align-self:flex-start;}
  }
  @media (max-width: 560px){
    .pillars{grid-template-columns:1fr;}
    .hero{padding-top:130px;}
    .card-grid{grid-template-columns:1fr;}
    .review-grid{grid-template-columns:1fr;}
  }
  @media (max-width: 480px){
    .wrap{padding:0 18px;}
    .nav{padding:12px 18px;}
    section{padding:60px 0;}
    .hero{padding:120px 0 56px;}
    .hero-ctas{gap:10px;}
    .hero-ctas .btn{width:100%;justify-content:center;}
    .status-strip{gap:8px;}
    .diagram-frame{padding:16px;}
    .ribbon-outer{margin:44px -18px;padding:12px 0;}
    .ribbon-track span{font-size:15px;gap:12px;padding:0 14px;}
    .form-panel{padding:22px;}
    .cta-banner{padding:56px 18px;}
    .cta-banner .btn{width:100%;justify-content:center;}
    .foot-grid{gap:32px;}
    .foot-bottom{flex-direction:column;align-items:flex-start;}
  }
