:root{
    --ink:#0e1210;          /* aço-noite */
    --panel:#151b17;        /* grafite esverdeado */
    --panel-2:#1b231e;
    --paper:#f1f4f0;        /* branco-gelo */
    --muted:#9aa89f;        /* prata-aço */
    --green:#1fae57;        /* verde Deazzo */
    --green-deep:#128a43;
    --line:rgba(241,244,240,.14);
    --display:'Anton', 'Arial Narrow', sans-serif;
    --body:'Barlow', 'Segoe UI', sans-serif;
    --label:'Barlow Semi Condensed', 'Arial Narrow', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--ink);color:var(--paper);font-family:var(--body);line-height:1.6;font-size:16.5px}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:3px}

  .label{font-family:var(--label);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:1rem;color:var(--green)}
  .display{font-family:var(--display);text-transform:uppercase;line-height:.95;letter-spacing:.01em;text-wrap:balance}

  /* ===== NAV ===== */
  nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
      padding:18px 5vw;transition:background .35s, box-shadow .35s, padding .35s}
  nav.solid{background:rgba(14,18,16,.92);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line);padding:10px 5vw}
  .brand{display:flex;align-items:center;gap:12px}
  .brand img{height:48px;width:auto}
  .nav-links{display:flex;align-items:center;gap:clamp(18px,2.8vw,34px);font-family:var(--label);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:1rem}
  .nav-links a{opacity:.85;transition:opacity .2s, color .2s}
  .nav-links a:hover{opacity:1;color:var(--green)}
  .nav-cta{border:1px solid var(--green);color:var(--green);padding:9px 18px;border-radius:2px;transition:all .2s}
  .nav-links .nav-cta:hover{background:var(--green);color:#08130c;opacity:1}
  @media(max-width:820px){.nav-links{display:none}}

  /* ===== HERO ===== */
  .hero{position:relative;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end}
  .hero .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;
      transition:opacity 1.8s ease;transform-origin:center}
  .hero .slide.on{opacity:1;animation:kenburns 9s ease-out forwards}
  @keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.13)}}
  @media(prefers-reduced-motion:reduce){
    .hero .slide.on{animation:none;transform:none}
    html{scroll-behavior:auto}
  }
  .hero::after{content:'';position:absolute;inset:0;background:
      linear-gradient(to top, rgba(14,18,16,.96) 0%, rgba(14,18,16,.35) 42%, rgba(14,18,16,.25) 100%)}
  .hero-inner{position:relative;z-index:2;padding:0 5vw 9vh;max-width:1200px}
  .hero h1{font-size:clamp(3rem, 8.5vw, 7.5rem);margin:.35em 0 .25em;color:var(--paper)}
  .hero h1 em{font-style:normal;color:var(--green)}
  .hero p{max-width:34em;color:#cdd6cf;font-size:1.06rem}
  .hero-actions{display:flex;gap:16px;margin-top:30px;flex-wrap:wrap}
  .btn{font-family:var(--label);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;
       padding:14px 28px;border-radius:2px;display:inline-flex;align-items:center;gap:10px;transition:all .2s;border:1px solid transparent}
  .btn-solid{background:var(--green);color:#08130c}
  .btn-solid:hover{background:#2cc268}
  .btn-ghost{border-color:rgba(241,244,240,.4);color:var(--paper)}
  .btn-ghost:hover{border-color:var(--paper);background:rgba(241,244,240,.08)}
  .video-note{position:absolute;right:5vw;bottom:4vh;z-index:3;display:flex;align-items:center;gap:10px;
      font-family:var(--label);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#aab6ad;
      background:rgba(14,18,16,.55);border:1px solid var(--line);padding:9px 14px;border-radius:3px;backdrop-filter:blur(4px)}
  .video-note .dot{width:8px;height:8px;border-radius:50%;background:#e5484d;animation:blink 1.6s infinite}
  @keyframes blink{50%{opacity:.25}}
  @media(prefers-reduced-motion:reduce){.video-note .dot{animation:none}}
  @media(max-width:640px){.video-note{display:none}}

  section{padding:110px 5vw}
  .wrap{max-width:1200px;margin:0 auto}
  h2.display{font-size:clamp(2.2rem,4.5vw,3.6rem);margin:14px 0 20px}

  /* ===== SOBRE ===== */
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
  .split .photo{position:relative}
  .split .photo img{border-radius:4px;aspect-ratio:4/3.2;object-fit:cover;width:100%}
  .split .photo::after{content:'DESDE 2001';position:absolute;left:-14px;bottom:22px;background:var(--green);color:#08130c;
      font-family:var(--label);font-weight:600;letter-spacing:.2em;font-size:.75rem;padding:10px 18px}
  .split p{color:#c3cdc5;max-width:36em}
  .split p + p{margin-top:1em}
  blockquote{margin:26px 0 0;padding-left:18px;border-left:3px solid var(--green);font-size:1.15rem;color:var(--paper);font-weight:500;max-width:30em}
  blockquote small{display:block;margin-top:6px;color:var(--muted);font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem}
  @media(max-width:860px){.split{grid-template-columns:1fr;gap:40px}}

  /* ===== OBRAS ===== */
  .obras{background:var(--panel)}
  .obras-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:44px}
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .card{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:4/3;background:var(--panel-2)}
  .card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
  .card:hover img{transform:scale(1.06)}
  .card .cap{position:absolute;inset:auto 0 0 0;padding:44px 18px 14px;
      background:linear-gradient(to top, rgba(10,14,11,.92), transparent)}
  .card .cap b{display:block;font-family:var(--label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem}
  .card .cap span{font-size:.8rem;color:#a9b6ac}
  .card.wide{grid-column:span 2;aspect-ratio:auto}
  a.card{display:block}
  .card.vazia{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}
  @media(max-width:860px){.grid{grid-template-columns:1fr 1fr}.card.wide{grid-column:span 2}}
  @media(max-width:560px){.grid{grid-template-columns:1fr}.card.wide{grid-column:span 1}}

  /* ===== SERVIÇOS ===== */
  .servicos .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
  .serv{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:34px 28px;transition:border-color .25s, transform .25s}
  .serv:hover{border-color:var(--green);transform:translateY(-4px)}
  .serv .num{font-family:var(--display);font-size:1.05rem;color:var(--green);letter-spacing:.05em}
  .serv h3{font-family:var(--label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:1.02rem;margin:14px 0 10px}
  .serv p{color:#b7c2b9;font-size:.94rem}
  @media(max-width:860px){.servicos .grid3{grid-template-columns:1fr}}

  /* ===== CTA ===== */
  .cta{position:relative;overflow:hidden;text-align:center;padding:130px 5vw}
  .cta .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.28) saturate(.8)}
  .cta .wrap{position:relative;z-index:2}
  .cta h2{font-size:clamp(2.4rem,5.5vw,4.6rem)}
  .cta p{color:#c3cdc5;max-width:34em;margin:14px auto 34px}
  .contact-row{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:48px;font-size:.95rem;color:#c3cdc5}
  .contact-row b{display:block;font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--green);margin-bottom:4px}

  footer{border-top:1px solid var(--line);padding:34px 5vw;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
      color:var(--muted);font-size:.85rem;align-items:center}
  footer .soc{display:flex;gap:18px;font-family:var(--label);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
  footer .soc a:hover{color:var(--green)}
  footer .dev{display:inline-flex;align-items:center;gap:9px;font-family:var(--label);font-weight:500;
      text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted);transition:color .2s}
  footer .dev img{height:17px;width:auto}
  footer .dev b{color:var(--paper);font-weight:600;transition:color .2s}
  footer .dev:hover b{color:#f0546e}

  /* ===== HERO VÍDEO ===== */
  .hero video.slide{width:100%;height:100%;object-fit:cover}
  .hero video.slide.on{animation:none;transform:none}

  /* ===== HISTÓRIA (timeline) ===== */
  .historia{margin-top:96px;border-top:1px solid var(--line);padding-top:70px}
  .tl{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(250px,26vw,330px);gap:14px;
      overflow-x:auto;padding:38px 0 18px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--green) transparent}
  .tl figure{position:relative;margin:0;scroll-snap-align:start}
  .tl img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:3px}
  .tl figcaption{padding:14px 2px 0;font-size:.88rem;color:#b7c2b9;line-height:1.5;text-align:center}
  .tl figcaption b{display:block;width:fit-content;margin:0 auto 10px;font-family:var(--label);font-weight:600;text-transform:uppercase;
      letter-spacing:.16em;font-size:.7rem;color:#08130c;background:var(--green);padding:5px 10px;border-radius:2px}
  .socios-bloco{margin-top:96px}
  .foto-socios img{width:100%;max-height:620px;object-fit:cover;object-position:50% 18%;border-radius:4px;aspect-ratio:4/4.6}
  @media(max-width:860px){.foto-socios img{max-height:520px;aspect-ratio:4/4}}

  /* ===== VÍDEO INSTITUCIONAL ===== */
  .inst{padding-top:0}
  .inst .yt{position:relative;aspect-ratio:16/9;margin-top:40px;border-radius:4px;overflow:hidden;background:#000;
      display:block;width:100%;border:0;padding:0;cursor:pointer}
  .inst .yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .inst .yt > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:filter .3s, transform .5s}
  .inst .yt:hover > img{filter:brightness(.9);transform:scale(1.03)}
  .yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;
      background:var(--green);color:#08130c;display:flex;align-items:center;justify-content:center;
      box-shadow:0 10px 40px rgba(0,0,0,.45);transition:transform .25s, background .25s}
  .yt-play svg{margin-left:4px}
  .inst .yt:hover .yt-play{transform:translate(-50%,-50%) scale(1.08);background:#2cc268}

  /* ===== SOLUÇÕES (cards com fotos) ===== */
  .grid-sol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
  .sol{background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow:hidden;
      transition:border-color .25s, transform .25s;display:flex;flex-direction:column}
  .sol:hover{border-color:var(--green);transform:translateY(-4px)}
  .sol .sol-main{aspect-ratio:4/3;object-fit:cover;width:100%}
  .sol .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 8px 0}
  .sol .thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:2px;cursor:pointer;
      opacity:.65;transition:opacity .2s}
  .sol .thumbs img:hover,.sol .thumbs img.sel{opacity:1;outline:1px solid var(--green)}
  .sol .sol-txt{padding:24px 26px 30px}
  .sol h3{font-family:var(--label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:1.02rem;margin-bottom:8px}
  .sol p{color:#b7c2b9;font-size:.94rem}
  @media(max-width:860px){.grid-sol{grid-template-columns:1fr}}

  /* ===== PROCESSOS E EQUIPAMENTOS ===== */
  .processos{background:var(--panel)}
  .grid-proc{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
  @media(max-width:1000px){.grid-proc{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.grid-proc{grid-template-columns:1fr}}

/* utilitários */
.sem-margem-baixo{margin-bottom:0}
