  :root{
    --navy: #032668;
    --blue: #0f6fa8;
    --blue-light: #3d7ab4;
    --green: #17ab52;
    --green-light: #8fc94a;
    --orange: #f6a500;
    --bg: #f7f9fb;
    --text: #17212b;
    --text-soft: #4a5a68;
    --white: #ffffff;
    --radius: 16px;
    --shadow: 0 10px 30px rgba(3,38,104,0.08);
    --maxw: 1140px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family: 'Segoe UI', system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.6;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .icon-svg{
    width:1em; height:1em; display:inline-block; vertical-align:-0.15em;
    fill:none; stroke:var(--blue); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
  }
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  h1,h2,h3,h4{margin:0 0 16px; line-height:1.2; color:var(--navy);}
  h2{font-size:clamp(1.7rem, 3vw, 2.4rem);}
  h3{font-size:1.25rem;}
  p{margin:0 0 16px; color:var(--text-soft);}
  .eyebrow{
    display:inline-block; text-transform:uppercase; letter-spacing:.08em;
    font-size:.78rem; font-weight:700; color:var(--green); margin-bottom:10px;
  }
  section{padding:80px 0;}
  .section-alt{background:var(--white);}
  .center{text-align:center;}
  .lede{font-size:1.1rem; max-width:720px;}
  .lede.center{margin-left:auto; margin-right:auto;}

  /* Buttons */
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 28px; border-radius:999px; font-weight:700;
    text-decoration:none; font-size:.98rem; transition:transform .15s ease, box-shadow .15s ease;
    border:2px solid transparent; cursor:pointer;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--orange); color:#2a1900; box-shadow:0 8px 20px rgba(246,165,0,.35);}
  .btn-secondary{background:transparent; border-color:var(--white); color:var(--white);}
  .btn-outline{background:transparent; border-color:var(--navy); color:var(--navy);}
  .btn-group{display:flex; flex-wrap:wrap; gap:14px; margin-top:28px;}

  /* Header */
  header{
    position:sticky; top:0; z-index:100; background:rgba(255,255,255,.96);
    backdrop-filter: blur(6px); border-bottom:1px solid #e7ecf1;
  }
  header .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:12px; padding-bottom:12px; flex-wrap:wrap; row-gap:10px;}
  .brand{display:flex; align-items:center; gap:12px; flex-shrink:0;}
  .brand img{height:44px; width:auto;}
  nav ul{list-style:none; display:flex; flex-wrap:wrap; gap:14px 20px; margin:0; padding:0;}
  nav a{text-decoration:none; font-weight:600; font-size:.9rem; color:var(--navy);}
  nav a:hover{color:var(--blue);}
  .nav-cta{display:flex; align-items:center; gap:14px; flex-shrink:0;}
  .nav-cta .btn{padding:10px 20px; font-size:.85rem; white-space:nowrap;}
  .menu-toggle{display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--navy);}

  @media (max-width: 1080px){
    header .wrap{flex-wrap:nowrap;}
    nav{position:fixed; top:72px; left:0; right:0; background:var(--white); border-bottom:1px solid #e7ecf1;
        max-height:0; overflow:hidden; transition:max-height .25s ease; z-index:99;}
    nav.open{max-height:400px;}
    nav ul{flex-direction:column; padding:20px 24px; gap:18px; white-space:normal;}
    .nav-cta{display:none;}
    .menu-toggle{display:block;}
  }

  /* Hero */
  .hero{
    background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 60%, var(--blue-light) 100%);
    color:var(--white); padding:90px 0 100px; position:relative; overflow:hidden;
  }
  .hero::after{
    content:""; position:absolute; right:-120px; bottom:-160px; width:480px; height:480px;
    background:radial-gradient(circle, rgba(143,201,74,.25), transparent 70%); border-radius:50%;
  }
  .hero .wrap{position:relative; z-index:2;}
  .hero-tag{
    display:inline-block; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
    padding:6px 16px; border-radius:999px; font-size:.8rem; font-weight:600; margin-bottom:22px;
  }
  .hero h1{color:var(--white); font-size:clamp(2.1rem, 4.4vw, 3.4rem); max-width:820px;}
  .hero p.lede{color:rgba(255,255,255,.88); max-width:680px;}
  .hero-meta{display:flex; flex-wrap:wrap; gap:28px; margin-top:36px;}
  .hero-meta div{border-left:3px solid var(--orange); padding-left:14px;}
  .hero-meta strong{display:block; font-size:1.05rem;}
  .hero-meta span{font-size:.82rem; color:rgba(255,255,255,.75);}

  /* Pillars */
  .pillars{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-top:36px;}
  .pillar{background:var(--bg); border-radius:var(--radius); padding:20px; text-align:center; border:1px solid #e7ecf1;}
  .pillar .ico{font-size:1.6rem; margin-bottom:8px;}
  .pillar span{font-size:.86rem; font-weight:600; color:var(--navy);}
  @media (max-width:800px){.pillars{grid-template-columns:repeat(2,1fr);}}

  /* Two column */
  .two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  @media (max-width:860px){.two-col{grid-template-columns:1fr;}}
  ul.check{list-style:none; margin:0; padding:0;}
  ul.check li{position:relative; padding-left:30px; margin-bottom:14px; color:var(--text-soft);}
  ul.check li::before{
    content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px;
    background:var(--green); color:var(--white); border-radius:50%; font-size:.7rem;
    display:flex; align-items:center; justify-content:center; font-weight:700;
  }

  /* Timeline (Como funciona) */
  .timeline{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:40px;}
  @media (max-width:960px){.timeline{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.timeline{grid-template-columns:1fr;}}
  .tl-step{background:var(--white); border-radius:var(--radius); padding:24px 18px; box-shadow:var(--shadow); position:relative;}
  .tl-step .num{
    width:36px; height:36px; border-radius:50%; background:var(--navy); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:14px;
  }
  .tl-step h4{font-size:.98rem; margin-bottom:6px; color:var(--navy);}
  .tl-step p{font-size:.86rem; margin:0; color:var(--text-soft);}

  .callout{
    margin-top:44px; background:var(--navy); color:var(--white); border-radius:var(--radius);
    padding:28px 32px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  }
  .callout .tag{background:var(--orange); color:#2a1900; padding:6px 14px; border-radius:999px; font-weight:700; font-size:.78rem; white-space:nowrap;}
  .callout p{margin:0; color:rgba(255,255,255,.92); font-weight:600; font-size:1rem;}

  .hours-box{background:var(--bg); border:1px solid #e7ecf1; border-radius:var(--radius); padding:22px 26px; margin-top:20px;}
  .hours-box strong{color:var(--navy);}

  /* Ecopontos */
  .territorios{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:36px;}
  @media (max-width:860px){.territorios{grid-template-columns:1fr;}}
  .terr-card{background:var(--white); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow);}
  .terr-card h3{display:flex; align-items:center; gap:10px;}
  .terr-card .badge{background:var(--green); color:var(--white); font-size:.72rem; font-weight:700; padding:4px 10px; border-radius:999px;}
  .terr-card ul{margin:14px 0 0; padding-left:20px; color:var(--text-soft);}
  .terr-card li{margin-bottom:8px;}
  .sede-line{margin-top:28px; padding-top:24px; border-top:1px solid #e7ecf1; font-size:.92rem; color:var(--text-soft);}

  /* Cooperativas */
  .coop-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px;}
  @media (max-width:860px){.coop-grid{grid-template-columns:1fr;}}
  .coop-card{border:2px solid #e7ecf1; border-radius:var(--radius); padding:28px; background:var(--white);}
  .coop-card .badge{display:inline-block; background:var(--bg); color:var(--blue); font-weight:700; font-size:.78rem; padding:5px 12px; border-radius:999px; margin-bottom:12px;}
  .coop-card h3{margin-bottom:6px;}

  /* Stats */
  .stats-section{background:linear-gradient(135deg, var(--navy), var(--blue-light)); color:var(--white);}
  .stats-section h2, .stats-section .eyebrow{color:var(--white);}
  .stats-section .eyebrow{color:var(--green-light);}
  .stats-section p.lede{color:rgba(255,255,255,.85);}
  .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:44px;}
  @media (max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.stats-grid{grid-template-columns:1fr;}}
  .stat{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); padding:26px 20px; text-align:center;}
  .stat .num{font-size:2.1rem; font-weight:800; color:var(--orange); display:block; margin-bottom:6px;}
  .stat .lbl{font-size:.84rem; color:rgba(255,255,255,.85);}

  /* ODS */
  .ods-layout{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:32px;}
  @media (max-width:900px){.ods-layout{grid-template-columns:1fr; gap:32px;}}
  .ods-list{margin-top:20px;}
  .ods-list li strong{color:var(--navy);}
  .ods-figure{margin:0; background:var(--white); border:1px solid #e7ecf1; border-radius:var(--radius); padding:18px; box-shadow:var(--shadow);}
  .ods-figure img{border-radius:8px; width:100%; height:auto;}
  .ods-closing{margin-top:40px; padding-top:28px; border-top:1px solid #e7ecf1; font-size:1rem;}
  .ods-eixos{font-size:.95rem;}
  .ods-closing strong, .ods-eixos strong{color:var(--navy);}

  /* Resultados */
  .results-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:36px;}
  @media (max-width:760px){.results-grid{grid-template-columns:1fr;}}
  .result-item{display:flex; gap:14px; align-items:flex-start; background:var(--bg); border-radius:var(--radius); padding:18px 20px;}
  .result-item .ico{font-size:1.4rem; flex-shrink:0;}
  .result-item p{margin:0; font-size:.92rem; color:var(--text-soft); font-weight:500;}

  /* Inovação */
  .tech-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px;}
  @media (max-width:860px){.tech-grid{grid-template-columns:1fr;}}
  .tech-card{background:var(--white); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow);}
  .tech-card .ico{font-size:1.8rem; margin-bottom:12px;}
  .tech-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
  .tech-tags span{background:var(--bg); border:1px solid #e7ecf1; font-size:.78rem; padding:5px 12px; border-radius:999px; color:var(--navy); font-weight:600;}

  /* Laboratórios / quotes */
  .quotes-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:36px;}
  @media (max-width:760px){.quotes-grid{grid-template-columns:1fr;}}
  .quote-card{background:var(--white); border-left:4px solid var(--green); border-radius:0 var(--radius) var(--radius) 0; padding:22px 26px; box-shadow:var(--shadow);}
  .quote-card q{font-size:1.05rem; font-weight:700; color:var(--navy); font-style:normal; display:block; margin-bottom:8px;}
  .quote-card span{font-size:.84rem; color:var(--text-soft);}
  .lab-banner{margin-top:36px; background:var(--green); color:var(--white); border-radius:var(--radius); padding:22px 28px; display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between;}
  .lab-banner .num{font-size:1.6rem; font-weight:800;}

  /* Mobilização */
  .mob-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
  .mob-tags span{background:var(--white); border:1px solid #e7ecf1; padding:8px 16px; border-radius:999px; font-size:.85rem; font-weight:600; color:var(--navy);}

  /* Parceiros */
  .partners-row{display:flex; flex-wrap:wrap; gap:24px; justify-content:center; margin-top:44px;}
  .partner-card{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:26px 40px;
    background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); min-width:220px;
  }
  .partner-card.dark{background:var(--navy);}
  .partner-card img{height:46px; width:auto;}
  .partner-label{font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--blue); margin:0;}
  .partner-card.dark .partner-label{color:var(--white);}
  .partners-note{max-width:640px; margin:28px auto 0; text-align:center; font-size:.86rem; color:var(--text-soft);}
  .partners-subtitle{margin-top:48px;}

  /* Contato / footer */
  footer{background:var(--navy); color:rgba(255,255,255,.85); padding:64px 0 28px;}
  .footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:40px;}
  @media (max-width:800px){.footer-grid{grid-template-columns:1fr; gap:32px;}}
  footer h4{color:var(--white); font-size:1rem; margin-bottom:16px;}
  footer p, footer li{color:rgba(255,255,255,.72); font-size:.92rem;}
  footer ul{list-style:none; padding:0; margin:0;}
  footer li{margin-bottom:10px;}
  .footer-logo{background:#fff; display:inline-block; padding:14px 22px; border-radius:12px; margin-bottom:18px;}
  .footer-logo img{height:38px;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.14); margin-top:48px; padding-top:22px; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:.8rem; color:rgba(255,255,255,.55);}

  .fade-up{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .fade-up.visible{opacity:1; transform:translateY(0);}
