/*
ATECA — Landing Page
Estilos exclusivos da página inicial.
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@500;600;700&display=swap');
    :root{
      --green-980:#072319;
      --green-950:#0b2f21;
      --green-900:#0f3d2e;
      --green-850:#14503a;
      --green-800:#1c6649;
      --green-700:#2b7d5d;
      --green-600:#4b9a75;
      --green-500:#68b089;
      --green-300:#b9dbc8;
      --green-200:#dceddf;
      --green-100:#eef7f0;
      --paper:#fbfdfb;
      --warm:#f5f3ec;
      --gold:#b28945;
      --text:#173229;
      --muted:#5e726a;
      --line:rgba(15,61,46,.12);
      --shadow:0 24px 65px rgba(8,42,30,.10);
      --radius:28px;
      --header-h:82px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 18px)}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--text);
      background:var(--paper);
      line-height:1.6;
      overflow-x:hidden;
    }
    img{display:block; max-width:100%}
    a{color:inherit}
    .container{width:min(1180px, calc(100% - 40px)); margin:0 auto}
    h1,h2,h3,p{margin-top:0}
    h1,h2,h3{line-height:1.06}
    h2{font-size:clamp(2.2rem, 5vw, 4.5rem); letter-spacing:-.055em; margin-bottom:18px}
    .lead{font-size:1.13rem; color:var(--muted); max-width:760px}

    .eyebrow{
      display:inline-flex; align-items:center; gap:9px;
      text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:.78rem;
      color:var(--green-700);
    }
    .eyebrow::before{
      content:""; width:28px; height:2px; border-radius:8px; background:var(--gold);
    }

    /* hero */
    .hero{
      min-height:100vh;
      padding:calc(var(--header-h) + 72px) 0 74px;
      display:grid; align-items:center;
      background:
        radial-gradient(circle at 85% 18%, rgba(104,176,137,.17), transparent 25%),
        radial-gradient(circle at 14% 84%, rgba(178,137,69,.12), transparent 28%),
        linear-gradient(180deg, #fbfdfb 0%, #f3faf5 100%);
      position:relative;
      overflow:hidden;
    }
    .hero::before{
      content:""; position:absolute; inset:auto auto -140px -140px; width:380px; height:380px;
      border-radius:50%; background:radial-gradient(circle, rgba(104,176,137,.15), transparent 70%);
    }
    .hero-grid{display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:64px; position:relative; z-index:2}
    .hero h1{
      font-family:Georgia, "Times New Roman", serif;
      font-size:clamp(4.9rem, 10vw, 9rem);
      letter-spacing:-.08em; margin:12px 0 20px; color:var(--green-950);
    }
    .hero-sub{font-size:clamp(1.32rem, 2.6vw, 2rem); line-height:1.28; letter-spacing:-.03em; max-width:700px}
    .hero-sub strong{color:var(--green-800)}
    .hero-copy p{font-size:1.02rem; color:var(--muted); max-width:630px}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      text-decoration:none; border-radius:999px; padding:14px 22px; font-weight:800;
      border:1px solid transparent; transition:.25s ease;
    }
    .btn-primary{background:var(--green-900); color:white; box-shadow:0 12px 28px rgba(15,61,46,.18)}
    .btn-primary:hover{transform:translateY(-2px); background:var(--green-800)}
    .btn-secondary{background:white; border-color:rgba(15,61,46,.16)}
    .btn-secondary:hover{transform:translateY(-2px); border-color:var(--green-700)}

    .hero-visual{
      min-height:590px; position:relative; border-radius:40px; overflow:hidden;
      background:
        linear-gradient(150deg, rgba(7,35,25,.98), rgba(20,80,58,.96)),
        linear-gradient(45deg, var(--green-900), var(--green-800));
      box-shadow:var(--shadow);
      isolation:isolate;
    }
    .hero-visual::before{
      content:""; position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(to bottom, black, transparent 85%);
    }
    .hero-visual::after{
      content:""; position:absolute; inset:0;
      background:radial-gradient(circle at 50% 25%, rgba(255,255,255,.10), transparent 38%);
      pointer-events:none;
    }
    .field{
      position:absolute; inset:auto -10% 0 -10%; height:42%;
      background:
        repeating-linear-gradient(106deg, rgba(104,176,137,.60) 0 4px, transparent 4px 28px),
        linear-gradient(to bottom, transparent, rgba(7,35,25,.92));
      transform:perspective(700px) rotateX(58deg);
      transform-origin:bottom;
      opacity:.84;
    }
    .symbol-glow{
      position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-46%);
      width:min(78%, 420px); opacity:.25; filter:drop-shadow(0 0 24px rgba(255,255,255,.08));
    }
    .sun-ring{
      position:absolute; width:148px; height:148px; border-radius:50%;
      right:7%; top:12%;
      background:radial-gradient(circle, rgba(234,210,154,.95) 0 7%, rgba(234,210,154,.30) 32%, transparent 70%);
    }
    .orbital{
      position:absolute; right:-70px; top:44px; width:360px; height:360px; border-radius:50%;
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 0 0 34px rgba(255,255,255,.022), 0 0 0 68px rgba(255,255,255,.014);
    }
    .data-card{
      position:absolute; border-radius:22px; padding:18px;
      background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(10px);
      color:white; box-shadow:0 16px 34px rgba(0,0,0,.16);
    }
    .data-card small{display:block; color:#c8e7d7; font-weight:700; letter-spacing:.05em}
    .data-card strong{font-size:1.45rem}
    .chart{height:52px; margin-top:10px; display:flex; align-items:flex-end; gap:6px}
    .chart span{width:12px; border-radius:4px 4px 2px 2px; background:linear-gradient(#d8c389,#68b089)}
    .dc1{left:8%; top:11%; width:216px}
    .dc2{right:7%; top:46%; width:210px}
    .dc3{left:12%; bottom:10%; width:236px}

    /* general sections */
    section{padding:112px 0}
    .section-head{display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:54px}
    .section-head p{margin-bottom:5px}
    .soft{background:linear-gradient(180deg,var(--warm) 0%, #f6f9f7 100%)}

    .about-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:72px; align-items:center}
    .about-card{
      background:white; border:1px solid var(--line); border-radius:var(--radius);
      padding:42px; box-shadow:var(--shadow); position:relative; overflow:hidden;
    }
    .about-card::after{
      content:""; position:absolute; right:-70px; bottom:-70px; width:220px; height:220px; border-radius:50%;
      background:radial-gradient(circle, rgba(104,176,137,.12), transparent 70%);
    }
    .about-facts{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:26px}
    .fact{padding:18px; border-radius:18px; background:var(--green-100)}
    .fact b{display:block; color:var(--green-800); font-size:1.05rem}
    .fact span{font-size:.9rem; color:var(--muted)}

    .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
    .pillar{
      min-height:308px; padding:30px; background:white; border:1px solid var(--line); border-radius:26px;
      position:relative; overflow:hidden; display:flex; flex-direction:column; transition:.28s ease;
    }
    .pillar:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
    .pillar::after{
      content:""; position:absolute; right:-60px; bottom:-74px; width:170px; height:170px; border-radius:50%;
      background:var(--green-100);
    }
    .pillar-icon{
      width:56px; height:56px; border-radius:18px; display:grid; place-items:center;
      background:linear-gradient(145deg, var(--green-900), var(--green-700)); color:white; font-size:1.35rem;
      margin-bottom:34px; box-shadow:0 14px 28px rgba(15,61,46,.18)
    }
    .pillar h3{font-size:1.62rem; margin-bottom:12px}
    .pillar p{color:var(--muted)}
    .pillar small{margin-top:auto; color:var(--gold); font-weight:800; letter-spacing:.08em; text-transform:uppercase}

    .research-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px}
    .research-card{
      min-height:332px; padding:36px; border-radius:30px; overflow:hidden; position:relative; color:white;
      background:linear-gradient(145deg, var(--green-950), var(--green-800));
    }
    .research-card:nth-child(2){background:linear-gradient(145deg, var(--green-900), var(--green-700))}
    .research-card::after{
      content:""; position:absolute; width:230px; height:230px; right:-82px; top:-82px; border-radius:50%;
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 0 0 34px rgba(255,255,255,.024), 0 0 0 68px rgba(255,255,255,.014);
    }
    .research-card .num{font-family:Georgia,serif; color:#e1c98d; font-size:3rem}
    .research-card h3{font-size:2rem; margin:28px 0 14px; max-width:520px}
    .research-card p{color:#d5e5dd; max-width:540px}

    .projects-strip{display:grid; grid-template-columns:1.1fr .9fr; gap:20px; margin-top:20px}
    .mini-project{background:white; border:1px solid var(--line); border-radius:28px; padding:32px; min-height:228px}
    .mini-project .tag{display:inline-block; padding:7px 11px; border-radius:999px; background:var(--green-100); color:var(--green-800); font-size:.75rem; font-weight:800}
    .mini-project h3{font-size:1.58rem; margin:22px 0 10px}
    .mini-project p{color:var(--muted); margin-bottom:0}

    .team-lead{
      display:grid; grid-template-columns:340px 1fr; border-radius:34px; overflow:hidden;
      background:linear-gradient(145deg, var(--green-950), var(--green-800)); color:white; box-shadow:var(--shadow);
    }
    .lead-photo{min-height:410px; background:#214b3c}
    .lead-photo img{width:100%; height:100%; object-fit:cover}
    .lead-copy{padding:48px}
    .lead-copy .eyebrow{color:#e0cb95}
    .lead-copy h3{font-size:clamp(2.1rem,4vw,3.6rem); margin:14px 0 18px}
    .lead-copy p{color:#d0dfd8; max-width:720px}
    .credentials{display:flex; flex-wrap:wrap; gap:8px; margin-top:26px}
    .credential{padding:9px 12px; border:1px solid rgba(255,255,255,.15); border-radius:999px; font-size:.82rem; color:#edf6f1}
    .team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
    .person{background:white; border:1px solid var(--line); border-radius:24px; padding:23px; display:flex; gap:16px; align-items:center}
    .avatar{
      width:58px; height:58px; border-radius:18px; display:grid; place-items:center;
      background:linear-gradient(145deg, var(--green-200), #f0ebde); color:var(--green-900);
      font-family:Georgia, serif; font-size:1.25rem; font-weight:800;
    }
    .person b{display:block}
    .person small{color:var(--muted)}

    .partners{display:grid; grid-template-columns:1fr 1fr; gap:20px}
    .partner{
      min-height:210px; border-radius:28px; border:1px solid var(--line); background:white;
      display:grid; place-items:center; text-align:center; padding:32px; transition:.25s ease;
      box-shadow:0 10px 28px rgba(8,42,30,.05);
    }
    .partner:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
    .partner-logo-wrap{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:110px;
    }
    .partner-logo{
      max-width:min(100%, 420px);
      max-height:100px;
      width:auto;
      height:auto;
      object-fit:contain;
    }
    .partner.small-logo .partner-logo{
      max-width:min(100%, 280px);
      max-height:120px;
    }
    .partner-caption{
      margin-top:16px;
      color:var(--muted);
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      font-size:.82rem;
    }
    .partner-text-logo{
      font-family:Georgia, "Times New Roman", serif;
      font-size:clamp(2.1rem, 4.8vw, 4rem);
      line-height:1;
      letter-spacing:-.05em;
      color:var(--green-900);
      font-weight:700;
      text-align:center;
    }
    .partner-text-logo span{
      display:block;
      font-family:Inter, ui-sans-serif, system-ui, sans-serif;
      font-size:.88rem;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:var(--green-700);
      margin-top:10px;
      font-weight:800;
    }

    .contact{
      background:
        radial-gradient(circle at 80% 15%, rgba(104,176,137,.16), transparent 18%),
        linear-gradient(145deg, var(--green-980), var(--green-900));
      color:white; position:relative; overflow:hidden;
    }
    .contact::before{
      content:""; position:absolute; inset:0; opacity:.18;
      background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.45) 1px, transparent 0);
      background-size:32px 32px;
    }
    .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; position:relative; z-index:1}
    .contact h2{color:white}
    .contact p{color:#d0dfd8}
    .contact-list{display:grid; gap:12px}
    .contact-item{
      display:flex; gap:15px; align-items:flex-start; padding:18px; border-radius:18px;
      border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05)
    }
    .contact-item b{display:block; color:white}
    .contact-item span,.contact-item a{color:#d0dfd8; text-decoration:none}
    .contact-form{background:white; color:var(--text); border-radius:28px; padding:30px; box-shadow:var(--shadow)}
    .form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
    input,textarea{
      width:100%; padding:14px 15px; border-radius:14px; border:1px solid var(--line); background:#fbfcfb;
      font:inherit; outline:none; margin-bottom:12px;
    }
    input:focus,textarea:focus{border-color:var(--green-500); box-shadow:0 0 0 4px rgba(104,176,137,.14)}
    textarea{min-height:130px; resize:vertical}
    .form-note{font-size:.8rem; color:var(--muted); margin-top:10px}
.back-top{text-decoration:none; color:white; font-weight:800}

    .reveal{opacity:0; transform:translateY(20px); transition:opacity .65s ease, transform .65s ease}
    .reveal.visible{opacity:1; transform:none}

    @media(max-width:900px){
      :root{--header-h:72px}
      .nav-links{
        display:none; position:absolute; top:72px; right:20px; left:20px;
        padding:14px; border-radius:20px; background:white; border:1px solid var(--line); box-shadow:var(--shadow);
        flex-direction:column; align-items:stretch;
      }
      .nav-links.open{display:flex}
      .menu-toggle{display:block}
      .brand-copy small{display:none}
      .hero{padding-top:calc(var(--header-h) + 48px)}
      .hero-grid,.about-grid,.team-lead,.contact-grid,.projects-strip{grid-template-columns:1fr}
      .pillars,.team-grid,.research-grid,.partners{grid-template-columns:1fr}
      .hero-visual{min-height:500px}
      .lead-photo{min-height:340px}
      .section-head{flex-direction:column; align-items:flex-start}
    }

    @media(max-width:560px){
      .container{width:min(100% - 28px, 1180px)}
      section{padding:80px 0}
      .hero h1{font-size:4.45rem}
      .hero-visual{min-height:430px}
      .about-facts{grid-template-columns:1fr}
      .form-row{grid-template-columns:1fr}
      .lead-copy{padding:30px}
      .dc1{left:6%; top:9%; width:190px}
      .dc2{right:5%; top:45%; width:180px}
      .dc3{left:7%; bottom:7%; width:210px}
      .footer-row{flex-direction:column; align-items:flex-start}
    }
  
    .team-group{margin-top:30px}
    .team-group-head{
      display:flex; align-items:center; justify-content:space-between; gap:18px;
      margin-bottom:14px; padding:0 4px;
    }
    .team-group-head h3{margin:0; font-size:1.22rem; color:var(--green-900)}
    .team-group-head span{
      padding:6px 10px; border-radius:999px; background:var(--green-100);
      color:var(--green-800); font-size:.75rem; font-weight:800;
    }
    .team-grid{grid-template-columns:repeat(3,1fr)}
    .person{min-height:108px}
    .person small{display:block; line-height:1.35; margin-top:4px}

  
    .projects-real-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:20px;
      margin-top:24px;
    }
    .project-real{
      min-height:330px;
      border:1px solid var(--line);
      border-radius:30px;
      background:white;
      padding:34px;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      transition:.28s ease;
    }
    .project-real:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow);
    }
    .project-real::after{
      content:"";
      position:absolute;
      right:-72px;
      bottom:-82px;
      width:210px;
      height:210px;
      border-radius:50%;
      background:var(--green-100);
    }
    .project-real-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:18px;
      position:relative;
      z-index:1;
    }
    .project-icon{
      width:58px;
      height:58px;
      border-radius:18px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background:linear-gradient(145deg,var(--green-900),var(--green-700));
      color:white;
      font-size:1.45rem;
    }
    .project-category{
      display:inline-block;
      border-radius:999px;
      padding:7px 11px;
      background:var(--green-100);
      color:var(--green-800);
      font-size:.74rem;
      font-weight:800;
      letter-spacing:.04em;
    }
    .project-real h3{
      font-size:1.75rem;
      margin:30px 0 12px;
      position:relative;
      z-index:1;
    }
    .project-real p{
      color:var(--muted);
      position:relative;
      z-index:1;
      margin-bottom:26px;
    }
    .project-link{
      margin-top:auto;
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      text-decoration:none;
      color:var(--green-800);
      font-weight:800;
      position:relative;
      z-index:1;
    }
    .project-link:hover{text-decoration:underline}
    .project-link.disabled{
      color:var(--muted);
      cursor:default;
      text-decoration:none;
    }
    @media(max-width:900px){
      .projects-real-grid{grid-template-columns:1fr}
    }

  
    /* V0.8 — rede animada visível, mas discreta */
    .network-layer{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      pointer-events:none;
      z-index:1;
      overflow:hidden;
    }

    .network-layer canvas{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      display:block;
    }

    section.network-section{
      position:relative;
      isolation:isolate;
      overflow:hidden;
    }

    section.network-section > .container{
      position:relative;
      z-index:2;
    }

    /* intensidade diferente conforme o fundo */
    .hero .network-layer{opacity:1}
    #sobre .network-layer{opacity:.92}
    #projetos .network-layer{opacity:.90}
    #parceiros .network-layer{opacity:.88}
    .soft .network-layer{opacity:.76}
    .contact .network-layer{opacity:.52}
@media (prefers-reduced-motion: reduce){
      .network-layer{display:none}
    }

  
    /* V1.1 — cards de equipe expansíveis */
    .team-grid .person{
      background:white;
      border:1px solid var(--line);
      border-radius:24px;
      padding:0;
      display:block;
      min-height:0;
      overflow:hidden;
      position:relative;
      transition:.28s ease;
      box-shadow:0 8px 22px rgba(8,42,30,.04);
    }
    .team-grid .person:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow);
    }
    .person-base{
      display:flex;
      align-items:center;
      gap:14px;
      padding:21px;
    }
    .person-main{flex:1; min-width:0}
    .person-main b{display:block}
    .person-main small{display:block; margin-top:4px; color:var(--muted); line-height:1.35}
    .person-toggle{
      flex:0 0 auto;
      border:0;
      border-radius:999px;
      padding:8px 11px;
      background:var(--green-100);
      color:var(--green-800);
      font:inherit;
      font-size:.73rem;
      font-weight:800;
      cursor:pointer;
      transition:.22s ease;
    }
    .person-toggle:hover{background:var(--green-200)}
    .person-toggle .minus{display:none}
    .person.is-open .person-toggle .plus{display:none}
    .person.is-open .person-toggle .minus{display:inline}
    .person-details{
      max-height:0;
      opacity:0;
      overflow:hidden;
      background:linear-gradient(145deg,var(--green-950),var(--green-800));
      color:white;
      transition:max-height .38s ease, opacity .28s ease;
    }
    .person.is-open .person-details{
      max-height:320px;
      opacity:1;
    }
    .person-details-inner{padding:21px}
    .person-details-label{
      display:block;
      margin-bottom:6px;
      color:#dec992;
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.11em;
      text-transform:uppercase;
    }
    .person-research{
      margin:0 0 17px;
      color:#eef6f1;
      font-size:.95rem;
      line-height:1.45;
    }
    .person-socials{display:flex; gap:8px; flex-wrap:wrap}
    .person-social{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:42px;
      height:38px;
      padding:0 11px;
      border-radius:999px;
      text-decoration:none;
      color:white;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.08);
      font-size:.78rem;
      font-weight:800;
    }
    .person-social.disabled{
      opacity:.42;
      pointer-events:none;
    }
    .person-note{
      margin-top:11px;
      color:#bdd0c7;
      font-size:.74rem;
      line-height:1.35;
    }
    @media(max-width:560px){
      .person-base{align-items:flex-start}
      .person-toggle{padding:7px 9px}
    }

  
    .esalq-partner .partner-logo-wrap{
      min-height:130px;
    }
    .esalq-logo{
      max-width:min(100%, 250px);
      max-height:125px;
      object-fit:contain;
    }

  
    :root{
      --display:"Cormorant Garamond", Georgia, "Times New Roman", serif;
      --sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --hero-shadow:0 34px 90px rgba(8,42,30,.16);
    }

    body{font-family:var(--sans)}
    h1,h2,h3,.brand-copy strong{font-family:var(--display)}

    .site-header{
      transition:background .28s ease, box-shadow .28s ease, border-color .28s ease;
    }
    .site-header.scrolled{
      background:rgba(251,253,251,.96);
      box-shadow:0 12px 32px rgba(8,42,30,.08);
      border-bottom-color:rgba(15,61,46,.14);
    }

    .nav-links a{position:relative}
    .nav-links a::after{
      content:"";
      position:absolute;
      left:14px; right:14px; bottom:8px;
      height:2px; border-radius:999px;
      background:linear-gradient(90deg, var(--green-700), var(--gold));
      transform:scaleX(0);
      transform-origin:left;
      transition:transform .22s ease;
    }
    .nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}

    .hero{
      min-height:100svh;
      padding:calc(var(--header-h) + 86px) 0 96px;
      background:
        radial-gradient(circle at 18% 22%, rgba(104,176,137,.17), transparent 24%),
        radial-gradient(circle at 80% 15%, rgba(178,137,69,.13), transparent 22%),
        linear-gradient(180deg, #fcfefc 0%, #f4fbf6 58%, #edf7f1 100%);
    }
    .hero::after{
      content:"";
      position:absolute;
      left:0; right:0; bottom:-1px;
      height:120px;
      background:linear-gradient(180deg, rgba(251,253,251,0) 0%, rgba(251,253,251,.65) 44%, rgba(251,253,251,1) 100%);
      pointer-events:none;
    }
    .hero-grid{
      grid-template-columns:1fr 1fr;
      gap:74px;
    }
    .hero h1{
      margin:10px 0 18px;
      font-size:clamp(5.6rem, 11vw, 9.3rem);
      color:var(--green-950);
      text-shadow:0 12px 28px rgba(255,255,255,.32);
    }
    .hero-sub{
      font-size:clamp(1.4rem, 2.75vw, 2.08rem);
      max-width:700px;
    }
    .hero-copy p{
      max-width:650px;
      font-size:1.05rem;
    }
    .hero-actions{margin-top:30px}
    .btn{
      transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;
    }
    .btn:hover{box-shadow:0 14px 34px rgba(8,42,30,.12)}
    .hero-metrics{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:26px;
    }
    .hero-metric{
      min-width:162px;
      padding:14px 16px;
      border-radius:20px;
      border:1px solid rgba(15,61,46,.10);
      background:rgba(255,255,255,.72);
      box-shadow:0 14px 32px rgba(8,42,30,.06);
      backdrop-filter:blur(14px);
    }
    .hero-metric strong{
      display:block;
      font-size:.92rem;
      letter-spacing:.02em;
      color:var(--green-900);
      margin-bottom:4px;
    }
    .hero-metric span{
      display:block;
      font-size:.82rem;
      color:var(--muted);
    }
    .scroll-indicator{
      grid-column:1 / -1;
      margin-top:8px;
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-size:.82rem;
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:700;
    }
    .scroll-indicator span{
      width:28px; height:48px;
      border:1.6px solid rgba(15,61,46,.22);
      border-radius:999px;
      position:relative;
      background:rgba(255,255,255,.55);
    }
    .scroll-indicator span::after{
      content:"";
      position:absolute;
      left:50%; top:10px;
      width:6px; height:6px; border-radius:50%;
      background:var(--green-700);
      transform:translateX(-50%);
      animation:scrollPulse 1.8s ease-in-out infinite;
    }
    @keyframes scrollPulse{
      0%{opacity:0; transform:translate(-50%,0)}
      20%{opacity:1}
      100%{opacity:0; transform:translate(-50%,16px)}
    }

    .hero-visual{
      min-height:620px;
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--hero-shadow);
      transform:translateY(-4px);
    }
    .hero-visual::before{opacity:.85}
    .field{opacity:.78}
    .symbol-glow{
      opacity:.28;
      width:min(80%, 430px);
      filter:drop-shadow(0 0 32px rgba(255,255,255,.10));
    }
    .data-card{
      background:rgba(255,255,255,.11);
      border-color:rgba(255,255,255,.18);
      transition:transform .24s ease, background .24s ease;
    }
    .hero-visual:hover .data-card{transform:translateY(-2px)}
    .hero-floating{
      position:absolute;
      border-radius:999px;
      padding:10px 14px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
      backdrop-filter:blur(12px);
      color:#edf6f1;
      font-size:.76rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      box-shadow:0 16px 30px rgba(0,0,0,.12);
    }
    .hf1{right:12%; bottom:21%}
    .hf2{left:16%; bottom:24%}

    section{
      position:relative;
      padding:118px 0;
    }
    .network-section:not(.hero)::before{
      content:"";
      position:absolute;
      left:0; right:0; top:0;
      height:1px;
      background:linear-gradient(90deg, rgba(15,61,46,0), rgba(15,61,46,.10), rgba(15,61,46,0));
      pointer-events:none;
      z-index:2;
    }
    section.soft{
      background:
        radial-gradient(circle at 10% 15%, rgba(104,176,137,.08), transparent 18%),
        radial-gradient(circle at 88% 85%, rgba(178,137,69,.06), transparent 18%),
        linear-gradient(180deg, #f6faf7 0%, #f0f7f3 100%);
    }
    section#sobre{
      background:
        radial-gradient(circle at 88% 15%, rgba(104,176,137,.08), transparent 20%),
        linear-gradient(180deg, #fbfdfb 0%, #f9fcfa 100%);
    }
    .section-head{margin-bottom:58px}
    .section-head h2{max-width:780px}

    .about-card,
    .pillar,
    .partner,
    .contact-form,
    .project-real,
    .mini-project{
      transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }
    .about-card:hover,
    .pillar:hover,
    .partner:hover,
    .contact-form:hover{
      transform:translateY(-4px);
      box-shadow:0 24px 55px rgba(8,42,30,.11);
      border-color:rgba(15,61,46,.16);
    }

    .team-lead{
      grid-template-columns:330px 1fr 280px;
      align-items:stretch;
      border-radius:36px;
      box-shadow:0 28px 68px rgba(8,42,30,.16);
      overflow:hidden;
    }
    .lead-photo{
      min-height:440px;
      position:relative;
    }
    .lead-photo::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:120px;
      background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.22));
      pointer-events:none;
    }
    .lead-copy{
      padding:52px 40px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .lead-copy h3{
      font-size:clamp(2.6rem, 4vw, 4.2rem);
      margin-bottom:16px;
    }
    .lead-side{
      padding:24px;
      background:rgba(255,255,255,.06);
      border-left:1px solid rgba(255,255,255,.10);
      display:flex;
      flex-direction:column;
      gap:16px;
      justify-content:center;
    }
    .lead-side-card{
      padding:18px 18px 16px;
      border-radius:20px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(12px);
    }
    .lead-side-card span{
      display:block;
      margin-bottom:6px;
      font-size:.72rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:#e2cf9f;
      font-weight:800;
    }
    .lead-side-card strong{
      display:block;
      color:white;
      font-size:1rem;
      margin-bottom:8px;
    }
    .lead-side-card p{
      margin:0;
      color:#d7e6df;
      font-size:.88rem;
      line-height:1.45;
    }
    .credential{
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.18);
    }

    .team-group{
      padding-top:6px;
    }
    .person{
      transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    }
    .person:hover{
      box-shadow:0 18px 40px rgba(8,42,30,.10);
      border-color:rgba(15,61,46,.14);
    }
    .person-toggle{
      transition:background .22s ease, transform .22s ease;
    }
    .person-toggle:hover{transform:translateY(-1px)}

    .partner-rail{
      align-items:stretch;
    }
    .partner{
      min-height:196px;
      background:rgba(255,255,255,.78);
      backdrop-filter:blur(12px);
      border-color:rgba(15,61,46,.10);
    }
    .partner-logo-wrap{
      min-height:112px;
    }
    .partner-logo{
      filter:drop-shadow(0 8px 18px rgba(0,0,0,.08));
      transition:transform .26s ease, filter .26s ease, opacity .26s ease;
    }
    .partner:hover .partner-logo{
      transform:scale(1.03);
      filter:drop-shadow(0 12px 22px rgba(0,0,0,.10));
    }

    .contact{
      background:
        radial-gradient(circle at 78% 18%, rgba(104,176,137,.16), transparent 20%),
        radial-gradient(circle at 18% 82%, rgba(178,137,69,.08), transparent 18%),
        linear-gradient(145deg, var(--green-980), var(--green-900));
    }

    footer{
      transition:background .26s ease;
    }

    @media(max-width:1100px){
      .team-lead{
        grid-template-columns:320px 1fr;
      }
      .lead-side{
        grid-column:1 / -1;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.10);
        flex-direction:row;
      }
      .lead-side-card{flex:1}
    }

    @media(max-width:900px){
      .hero-grid{
        grid-template-columns:1fr;
        gap:34px;
      }
      .hero{
        padding-top:calc(var(--header-h) + 58px);
      }
      .hero-visual{min-height:520px}
      .scroll-indicator{display:none}
      .hero-metrics{gap:10px}
      .team-lead,
      .lead-side{
        grid-template-columns:1fr;
        flex-direction:column;
      }
      .lead-copy{padding:34px 28px}
      .lead-side{padding:18px}
    }

    @media(max-width:560px){
      .hero h1{font-size:4.85rem}
      .hero-metric{width:100%}
      .hero-visual{min-height:460px}
      .hero-floating{display:none}
      .hf1,.hf2{display:none}
      section{padding:88px 0}
    }

  
    /* V1.4 — logos dos projetos */
    .project-real{
      isolation:isolate;
    }

    .project-real-top{
      align-items:center;
    }

    .project-logo-box{
      width:86px;
      height:86px;
      border-radius:22px;
      background:rgba(238,247,240,.88);
      border:1px solid rgba(15,61,46,.10);
      display:grid;
      place-items:center;
      padding:12px;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(8,42,30,.06);
      position:relative;
      z-index:1;
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }

    .project-real:hover .project-logo-box{
      transform:translateY(-2px) scale(1.025);
      box-shadow:0 14px 30px rgba(8,42,30,.10);
      background:white;
    }

    .project-logo{
      display:block;
      width:100%;
      height:100%;
      max-width:100%;
      max-height:100%;
      object-fit:contain;
      object-position:center;
      filter:drop-shadow(0 5px 10px rgba(0,0,0,.06));
    }

    .project-real[data-project="viabilidade"] .project-logo-box{
      background:#f8fbf9;
    }

    /* Botão flutuante voltar ao topo */
    .back-to-top{
      position:fixed;
      right:24px;
      bottom:24px;
      width:50px;
      height:50px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.16);
      background:linear-gradient(145deg,var(--green-900),var(--green-700));
      color:white;
      display:grid;
      place-items:center;
      z-index:1200;
      cursor:pointer;
      box-shadow:0 14px 34px rgba(8,42,30,.22);
      opacity:0;
      visibility:hidden;
      transform:translateY(12px) scale(.92);
      transition:opacity .25s ease, transform .25s ease, visibility .25s ease, box-shadow .25s ease;
    }

    .back-to-top.visible{
      opacity:1;
      visibility:visible;
      transform:none;
    }

    .back-to-top:hover{
      transform:translateY(-3px);
      box-shadow:0 18px 40px rgba(8,42,30,.28);
    }

    .back-to-top svg{
      width:21px;
      height:21px;
    }

    @media(max-width:560px){
      .back-to-top{
        right:16px;
        bottom:16px;
        width:46px;
        height:46px;
      }

      .project-logo-box{
        width:68px;
        height:68px;
      }
    }

  
    /* V1.5 — equipe acadêmica atualizada */
    .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .person-base{min-height:108px}
    .person.is-open{border-color:rgba(15,61,46,.18);box-shadow:0 22px 46px rgba(8,42,30,.11)}
    .person-detail-row + .person-detail-row{margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.10)}
    .person-detail-row p{margin:0;color:#edf6f1;font-size:.90rem;line-height:1.48}
    .person-research{margin:0!important}
    .person-social{gap:7px;min-width:auto;padding:0 12px}
    .person-social span{font-size:.74rem}
    .person-email-text{margin-top:12px;color:#bdd0c7;font-size:.76rem;word-break:break-word}
    .team-data-note{margin:28px 0 0;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.58);border:1px solid rgba(15,61,46,.09);color:var(--muted);font-size:.86rem}
    @media(max-width:900px){.team-grid{grid-template-columns:1fr}}
    @media(max-width:560px){.person-base{flex-wrap:wrap}.person-toggle{margin-left:72px}.person-social span{display:none}}

  
    /* V1.6 — situação acadêmica no resumo dos cards */
    .person-main small{
      font-size:.86rem;
      font-weight:500;
      color:#657a71;
      line-height:1.4;
    }

  
    /* =====================================================
       V1.7 — refinamento visual / desktop-first
       ===================================================== */
    :root{
      --r-sm:16px;
      --r-md:22px;
      --r-lg:30px;
      --r-xl:38px;
      --shadow-soft:0 10px 30px rgba(8,42,30,.055);
      --shadow-card:0 18px 46px rgba(8,42,30,.075);
      --shadow-hover:0 24px 58px rgba(8,42,30,.105);
    }

    /* tipografia */
    h2{
      font-weight:600;
      letter-spacing:-.045em;
    }

    h3{
      font-weight:600;
    }

    .lead{
      line-height:1.72;
    }

    /* hero mais editorial e menos dashboard */
    .hero{
      padding-top:calc(var(--header-h) + 78px);
    }

    .hero-copy{
      max-width:670px;
    }

    .hero h1{
      font-weight:600;
      letter-spacing:-.065em;
    }

    .hero-signature{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:11px;
      margin-top:30px;
      color:var(--green-800);
      font-size:.76rem;
      font-weight:800;
      letter-spacing:.10em;
      text-transform:uppercase;
    }

    .hero-signature i{
      width:4px;
      height:4px;
      border-radius:50%;
      background:var(--gold);
      opacity:.8;
    }

    .hero-visual{
      border-radius:var(--r-xl);
      box-shadow:0 32px 76px rgba(8,42,30,.14);
    }

    .data-card{
      border-radius:18px;
      box-shadow:0 12px 28px rgba(0,0,0,.12);
    }

    .dc1{left:8%;top:11%}
    .dc2{right:7%;top:47%}
    .dc3{left:12%;bottom:10%}

    .scroll-indicator{
      opacity:.72;
    }

    /* transições / fundos */
    section{
      padding-block:114px;
    }

    section.network-section:not(.hero)::after{
      content:"";
      position:absolute;
      left:50%;
      bottom:-1px;
      width:min(1080px,86%);
      height:1px;
      transform:translateX(-50%);
      background:linear-gradient(90deg,transparent,rgba(15,61,46,.075),transparent);
      z-index:2;
      pointer-events:none;
    }

    .section-head{
      margin-bottom:52px;
    }

    /* sistema de cards */
    .about-card,
    .pillar,
    .project-real,
    .person,
    .partner,
    .contact-form{
      border-radius:var(--r-md);
      box-shadow:var(--shadow-soft);
      border-color:rgba(15,61,46,.095);
    }

    .about-card:hover,
    .pillar:hover,
    .person:hover,
    .partner:hover,
    .contact-form:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-hover);
    }

    .pillar{
      min-height:292px;
    }

    /* Lamarca */
    .team-lead{
      grid-template-columns:360px 1fr;
      border-radius:var(--r-xl);
      box-shadow:0 28px 68px rgba(8,42,30,.13);
    }

    .lead-photo{
      min-height:500px;
      overflow:hidden;
    }

    .lead-photo img{
      transition:transform .7s cubic-bezier(.2,.7,.2,1);
    }

    .team-lead:hover .lead-photo img{
      transform:scale(1.025);
    }

    .lead-photo-label{
      position:absolute;
      left:20px;
      bottom:20px;
      z-index:2;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(9,45,33,.76);
      border:1px solid rgba(255,255,255,.16);
      color:white;
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      backdrop-filter:blur(12px);
    }

    .lead-copy{
      padding:58px 54px;
    }

    .lead-copy p{
      max-width:720px;
      line-height:1.72;
    }

    .lead-highlight{
      margin-top:30px;
      padding-top:24px;
      border-top:1px solid rgba(255,255,255,.13);
    }

    .lead-highlight span{
      display:block;
      margin-bottom:7px;
      color:#dec992;
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .lead-highlight strong{
      display:block;
      max-width:620px;
      color:#f3f8f5;
      font-family:var(--display);
      font-size:1.35rem;
      line-height:1.28;
      font-weight:600;
    }

    /* equipe */
    .team-group-head{
      padding-inline:2px;
    }

    .team-group-head h3{
      font-size:1.36rem;
    }

    .person{
      background:rgba(255,255,255,.86);
      backdrop-filter:blur(10px);
    }

    .avatar{
      border-radius:16px;
      background:linear-gradient(145deg,#dcecdf,#f2eee2);
    }

    .person-main b{
      font-size:1.02rem;
    }

    .person-toggle{
      background:rgba(234,246,238,.92);
    }

    /* parceiros mais leves */
    .partner-rail{
      gap:26px;
    }

    .partner{
      min-height:180px;
      border:0;
      background:rgba(255,255,255,.56);
      box-shadow:none;
      padding:28px 34px 22px;
    }

    .partner:hover{
      background:rgba(255,255,255,.86);
      box-shadow:var(--shadow-card);
    }

    .partner-logo-wrap{
      min-height:112px;
    }

    .partner-logo{
      max-height:112px;
    }

    .partner-caption{
      margin-top:9px;
      font-size:.74rem;
      letter-spacing:.13em;
      opacity:.78;
    }

    /* contato */
    .contact-form{
      box-shadow:0 28px 70px rgba(0,0,0,.12);
    }

    /* botão voltar ao topo */
    .back-to-top{
      width:54px;
      height:54px;
      right:28px;
      bottom:28px;
      border:1px solid rgba(255,255,255,.18);
      background:linear-gradient(145deg,#0b3123,#1e6a4d);
      overflow:hidden;
    }

    .back-to-top::before{
      content:"";
      position:absolute;
      inset:5px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:50%;
    }

    .back-top-a{
      position:absolute;
      left:10px;
      bottom:7px;
      font-family:var(--display);
      font-size:1.05rem;
      color:rgba(255,255,255,.20);
      font-weight:700;
    }

    .back-to-top svg{
      position:relative;
      z-index:2;
      width:22px;
      height:22px;
    }

    /* entrada em sequência */
    .reveal{
      transition-duration:.70s;
      transition-timing-function:cubic-bezier(.2,.7,.2,1);
    }

    @media(max-width:1100px){
      .team-lead{
        grid-template-columns:330px 1fr;
      }
      .lead-copy{
        padding:44px 38px;
      }
    }

  
    /* V1.9 — conteúdo final de projetos e coordenação */
    .lead-copy h3{
      max-width:760px;
    }
    .credentials{
      row-gap:10px;
    }
    .project-real p{
      line-height:1.62;
    }

  
    /* V2.0 — limpeza da equipe e botão topo com símbolo ATECA */
    .back-to-top{
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }

    .back-top-logo{
      position:absolute;
      inset:7px;
      width:calc(100% - 14px);
      height:calc(100% - 14px);
      object-fit:contain;
      opacity:.20;
      filter:brightness(1.35) saturate(.85);
      z-index:1;
      pointer-events:none;
    }

    .back-to-top svg{
      position:relative;
      z-index:2;
      color:#f5fbf7;
      filter:drop-shadow(0 1px 1px rgba(0,0,0,.16));
    }

    /* Evita espaço "sobrando" no perfil do Paulo após remover a linha de pesquisa */
    .person[data-person="Paulo Torres"] .person-detail-row + .person-socials{
      margin-top:2px;
    }

  
    /* V2.1 — correção do card do Paulo e reforço do botão topo */
    .back-to-top{
      position:fixed !important;
      right:28px !important;
      bottom:28px !important;
      width:54px !important;
      height:54px !important;
      display:grid !important;
      place-items:center !important;
      border-radius:50% !important;
      border:1px solid rgba(255,255,255,.18) !important;
      background:linear-gradient(145deg,#0b3123,#1e6a4d) !important;
      box-shadow:0 14px 34px rgba(8,42,30,.22) !important;
      z-index:1200 !important;
      cursor:pointer;
      opacity:0;
      visibility:hidden;
      transform:translateY(12px) scale(.92);
      transition:opacity .25s ease, transform .25s ease, visibility .25s ease, box-shadow .25s ease;
      overflow:hidden;
      isolation:isolate;
    }

    .back-to-top.visible{
      opacity:1 !important;
      visibility:visible !important;
      transform:none !important;
    }

    .back-to-top:hover{
      transform:translateY(-3px) !important;
      box-shadow:0 18px 40px rgba(8,42,30,.28) !important;
    }

    .back-to-top::before{
      content:"";
      position:absolute;
      inset:5px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:50%;
      z-index:1;
      pointer-events:none;
    }

    .back-top-logo{
      position:absolute;
      inset:7px;
      width:calc(100% - 14px);
      height:calc(100% - 14px);
      object-fit:contain;
      opacity:.16;
      filter:brightness(1.35) saturate(.85);
      z-index:1;
      pointer-events:none;
    }

    .back-to-top svg{
      position:relative !important;
      z-index:2 !important;
      width:22px !important;
      height:22px !important;
      color:#f5fbf7 !important;
      filter:drop-shadow(0 1px 1px rgba(0,0,0,.16));
    }

    @media(max-width:560px){
      .back-to-top{
        right:16px !important;
        bottom:16px !important;
        width:46px !important;
        height:46px !important;
      }
    }

  
    /* Cards da equipe: expansão independente */
    .team-grid{
      align-items:start !important;
    }

    .team-grid .person{
      align-self:start !important;
      height:auto !important;
      min-height:0 !important;
    }

  
    /* TESTE CPT Membros — foto via imagem destacada */
    .avatar.avatar-photo{
      overflow:hidden;
      padding:0;
    }

    .avatar.avatar-photo img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

  
    /* Equipe dinâmica — estado vazio */
    .team-empty{
      padding:20px 22px;
      border:1px dashed rgba(15,61,46,.15);
      border-radius:18px;
      background:rgba(255,255,255,.50);
      color:var(--muted);
      font-size:.86rem;
    }

  
    /* Coordenador dinâmico — links institucionais */
    .lead-socials{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:24px;
    }

    .lead-socials a{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:38px;
      padding:8px 13px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.17);
      background:rgba(255,255,255,.07);
      color:#edf6f1;
      text-decoration:none;
      font-size:.78rem;
      font-weight:800;
      transition:background .2s ease, transform .2s ease;
    }

    .lead-socials a:hover{
      background:rgba(255,255,255,.13);
      transform:translateY(-1px);
    }


/* =========================================================
   MOBILE PASS V1 — LANDING PAGE
   ========================================================= */
@media(max-width:900px){
  .container{
    width:min(100% - 32px,1180px);
  }

  section{
    padding:78px 0 !important;
  }

  .hero{
    min-height:auto !important;
    padding:112px 0 68px !important;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .hero-copy{
    max-width:none !important;
  }

  .hero h1{
    font-size:clamp(4.2rem,18vw,6.2rem) !important;
    letter-spacing:-.065em !important;
    margin-bottom:14px !important;
  }

  .hero-sub{
    max-width:620px !important;
    font-size:clamp(1.25rem,5.4vw,1.72rem) !important;
  }

  .hero-copy p{
    font-size:.98rem !important;
    line-height:1.68 !important;
  }

  .hero-actions{
    gap:10px !important;
  }

  .hero-actions .btn{
    min-height:48px;
    padding:12px 18px;
  }

  .hero-signature{
    gap:8px !important;
    font-size:.68rem !important;
    letter-spacing:.08em !important;
  }

  .hero-visual{
    width:100% !important;
    min-height:460px !important;
    border-radius:26px !important;
  }

  .data-card{
    transform:scale(.92);
    transform-origin:center;
  }

  .dc1{
    left:5% !important;
    top:8% !important;
  }

  .dc2{
    right:4% !important;
    top:46% !important;
  }

  .dc3{
    left:7% !important;
    bottom:7% !important;
  }

  .hero-floating,
  .scroll-indicator{
    display:none !important;
  }

  .section-head{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:14px !important;
    margin-bottom:34px !important;
  }

  .section-head h2{
    font-size:clamp(2.45rem,10vw,3.7rem) !important;
  }

  .lead{
    font-size:1rem !important;
    line-height:1.68 !important;
  }

  .about-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .about-card{
    padding:28px !important;
  }

  .about-facts{
    gap:10px !important;
  }

  .pillars{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .pillar{
    min-height:0 !important;
    padding:26px !important;
  }

  .pillar-icon{
    margin-bottom:22px !important;
  }

  .research-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .research-card{
    min-height:0 !important;
    padding:28px !important;
  }

  .research-card h3{
    font-size:1.7rem !important;
    margin-top:20px !important;
  }

  .projects-real-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .project-real{
    min-height:0 !important;
    padding:26px !important;
  }

  .project-real h3{
    margin-top:24px !important;
    font-size:1.55rem !important;
  }

  .project-logo-box,

  .team-lead{
    grid-template-columns:1fr !important;
    border-radius:26px !important;
  }

  .lead-photo{
    min-height:360px !important;
    max-height:460px;
  }

  .lead-copy{
    padding:32px 26px !important;
  }

  .lead-copy h3{
    font-size:clamp(2.35rem,10vw,3.2rem) !important;
  }

  .credentials{
    gap:7px !important;
  }

  .credential{
    font-size:.75rem !important;
    padding:8px 10px !important;
  }

  .lead-highlight strong{
    font-size:1.2rem !important;
  }

  .team-group{
    margin-top:28px !important;
  }

  .team-group-head{
    align-items:center !important;
  }

  .team-group-head h3{
    font-size:1.25rem !important;
  }

  .team-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .person-base{
    min-height:0 !important;
    padding:17px !important;
    gap:12px !important;
  }

  .avatar{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    border-radius:15px !important;
  }

  .person-main b{
    font-size:.98rem !important;
  }

  .person-main small{
    font-size:.80rem !important;
  }

  .person-toggle{
    margin-left:auto !important;
    padding:8px 10px !important;
    font-size:.68rem !important;
  }

  .person-details-inner{
    padding:18px !important;
  }

  .person-socials{
    gap:6px !important;
  }

  .person-social{
    min-height:38px !important;
    height:auto !important;
  }

  .partners,
  .partner-rail{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .partner{
    min-height:150px !important;
    padding:24px !important;
  }

  .partner-logo-wrap{
    min-height:90px !important;
  }

  .partner-logo{
    max-height:92px !important;
  }

  .contact-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .contact-form{
    padding:24px !important;
  }

  .form-row{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .contact-item{
    padding:15px !important;
  }
}

@media(max-width:560px){
  .container{
    width:min(100% - 24px,1180px) !important;
  }

  section{
    padding:64px 0 !important;
  }

  .hero{
    padding:102px 0 54px !important;
  }

  .hero h1{
    font-size:clamp(3.65rem,20vw,5rem) !important;
  }

  .eyebrow{
    font-size:.68rem !important;
    letter-spacing:.11em !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .hero-actions .btn{
    width:100% !important;
  }

  .hero-signature{
    align-items:flex-start !important;
  }

  .hero-visual{
    min-height:390px !important;
    border-radius:22px !important;
  }

  .data-card{
    padding:14px !important;
    border-radius:16px !important;
  }

  .dc1{
    width:180px !important;
  }

  .dc2{
    width:170px !important;
  }

  .dc3{
    width:195px !important;
  }

  .about-card{
    padding:22px !important;
  }

  .about-facts{
    grid-template-columns:1fr !important;
  }

  .project-real{
    padding:22px !important;
  }

  .project-real-top{
    gap:12px !important;
  }

  .project-category{
    font-size:.66rem !important;
  }

  .lead-photo{
    min-height:300px !important;
  }

  .lead-copy{
    padding:28px 22px !important;
  }

  .person-base{
    flex-wrap:nowrap !important;
    align-items:center !important;
  }

  .person-toggle{
    margin-left:0 !important;
    white-space:nowrap !important;
  }

  .person-social span{
    display:inline !important;
  }

  .contact-form{
    padding:20px !important;
  }
}

@media(max-width:420px){
  .container{
    width:min(100% - 20px,1180px) !important;
  }

  .hero h1{
    font-size:3.55rem !important;
  }

  .hero-sub{
    font-size:1.18rem !important;
  }

  .hero-visual{
    min-height:350px !important;
  }

  .dc1{
    left:3% !important;
    width:164px !important;
  }

  .dc2{
    right:2% !important;
    width:155px !important;
  }

  .dc3{
    left:4% !important;
    width:178px !important;
  }

  .team-group-head{
    gap:10px !important;
  }

  .team-group-head span{
    font-size:.67rem !important;
    white-space:nowrap !important;
  }

  .person-base{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    align-items:center !important;
  }

  .avatar{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }

  .person-toggle{
    grid-column:1 / -1 !important;
    width:100% !important;
    margin-top:5px !important;
  }

  .person-socials{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .person-social{
    width:100% !important;
  }

  .person-email-text{
    font-size:.70rem !important;
  }
}


/* =========================================================
   MOBILE V2 — HERO EDITORIAL
   O mobile deixa de reproduzir o painel visual do desktop.
   ========================================================= */
@media(max-width:900px){

  .hero{
    min-height:auto !important;
    padding:108px 0 72px !important;
    display:block !important;
    background:
      radial-gradient(circle at 80% 14%, rgba(104,176,137,.13), transparent 25%),
      radial-gradient(circle at 12% 82%, rgba(178,137,69,.08), transparent 24%),
      linear-gradient(180deg,#fcfefc 0%,#f4faf6 100%) !important;
  }

  .hero::before{
    content:"ATECA" !important;
    position:absolute !important;
    left:-4px !important;
    top:165px !important;
    width:auto !important;
    height:auto !important;
    border-radius:0 !important;
    background:none !important;
    font-family:var(--display) !important;
    font-size:clamp(6.4rem,27vw,10rem) !important;
    font-weight:600 !important;
    line-height:.8 !important;
    letter-spacing:-.07em !important;
    color:rgba(15,61,46,.035) !important;
    pointer-events:none !important;
    white-space:nowrap !important;
  }

  .hero::after{
    height:54px !important;
  }

  .hero-grid{
    display:block !important;
  }

  .hero-copy{
    position:relative !important;
    z-index:3 !important;
    max-width:640px !important;
  }

  .hero-copy .eyebrow{
    margin-bottom:18px !important;
    font-size:.69rem !important;
    letter-spacing:.13em !important;
  }

  .hero h1{
    font-size:clamp(4.4rem,18vw,6rem) !important;
    line-height:.82 !important;
    letter-spacing:-.065em !important;
    margin:0 0 20px !important;
  }

  .hero-sub{
    max-width:560px !important;
    font-size:clamp(1.32rem,5.8vw,1.72rem) !important;
    line-height:1.24 !important;
    letter-spacing:-.03em !important;
    margin-bottom:18px !important;
  }

  .hero-copy p{
    max-width:560px !important;
    margin-bottom:0 !important;
    font-size:.98rem !important;
    line-height:1.7 !important;
    color:var(--muted) !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:28px !important;
    max-width:520px !important;
  }

  .hero-actions .btn{
    width:100% !important;
    min-height:52px !important;
    padding:13px 18px !important;
    border-radius:16px !important;
    font-size:.93rem !important;
  }

  .hero-actions .btn-primary{
    box-shadow:0 14px 30px rgba(15,61,46,.15) !important;
  }

  .hero-actions .btn-secondary{
    background:rgba(255,255,255,.82) !important;
    border-color:rgba(15,61,46,.13) !important;
  }

  .hero-signature{
    display:flex !important;
    margin-top:25px !important;
    gap:7px !important;
    font-size:.66rem !important;
    line-height:1.5 !important;
    letter-spacing:.08em !important;
    color:var(--green-700) !important;
  }

  .hero-metrics,
  .scroll-indicator{
    display:none !important;
  }

  /*
   * O painel gráfico do desktop some no mobile.
   * A rede animada da seção continua por baixo do conteúdo.
   */
  .hero-visual{
    display:none !important;
  }

  .hero .network-layer{
    opacity:.72 !important;
  }
}

@media(max-width:560px){

  .hero{
    padding:96px 0 62px !important;
  }

  .hero::before{
    top:150px !important;
    left:-8px !important;
    font-size:6.9rem !important;
  }

  .hero h1{
    font-size:clamp(3.75rem,20vw,4.9rem) !important;
  }

  .hero-sub{
    font-size:1.24rem !important;
  }

  .hero-copy p{
    font-size:.94rem !important;
  }

  .hero-actions{
    margin-top:24px !important;
  }

  .hero-actions .btn{
    min-height:50px !important;
    font-size:.90rem !important;
  }
}

@media(max-width:420px){

  .hero{
    padding:90px 0 56px !important;
  }

  .hero::before{
    top:142px !important;
    left:-10px !important;
    font-size:6rem !important;
  }

  .hero h1{
    font-size:3.55rem !important;
  }

  .hero-sub{
    font-size:1.18rem !important;
  }

  .hero-signature{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    justify-content:start !important;
    row-gap:4px !important;
  }
}


/* =========================================================
   MOBILE V5 — SOBRE + PILARES
   Composição própria para telas pequenas.
   ========================================================= */
@media(max-width:900px){

  /* ---------- SOBRE ---------- */
  #sobre{
    padding:74px 0 68px !important;
    background:
      radial-gradient(circle at 92% 10%,rgba(104,176,137,.08),transparent 24%),
      linear-gradient(180deg,#fbfdfb 0%,#f6faf7 100%) !important;
  }

  #sobre .about-grid{
    display:block !important;
  }

  #sobre .about-grid > div:first-child{
    max-width:620px !important;
  }

  #sobre .eyebrow{
    margin-bottom:16px !important;
  }

  #sobre h2{
    max-width:610px !important;
    margin-bottom:22px !important;
    font-size:clamp(2.65rem,10.5vw,4rem) !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
  }

  #sobre .lead{
    max-width:610px !important;
    margin-bottom:14px !important;
    font-size:1rem !important;
    line-height:1.72 !important;
  }

  #sobre .lead + .lead{
    margin-top:0 !important;
  }

  #sobre .about-card{
    margin-top:32px !important;
    padding:24px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.78) !important;
    box-shadow:0 16px 40px rgba(8,42,30,.07) !important;
    backdrop-filter:blur(10px) !important;
  }

  #sobre .about-card h3{
    margin-bottom:12px !important;
    font-size:1.65rem !important;
    line-height:1.05 !important;
  }

  #sobre .about-card p{
    margin-bottom:0 !important;
    font-size:.92rem !important;
    line-height:1.65 !important;
    color:var(--muted) !important;
  }

  #sobre .about-facts{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:22px !important;
  }

  #sobre .fact{
    min-height:92px !important;
    padding:16px !important;
    border-radius:16px !important;
    background:rgba(238,247,240,.92) !important;
    border:1px solid rgba(15,61,46,.07) !important;
  }

  #sobre .fact b{
    margin-bottom:4px !important;
    font-size:1rem !important;
  }

  #sobre .fact span{
    display:block !important;
    font-size:.77rem !important;
    line-height:1.4 !important;
  }

  /* ---------- PILARES ---------- */
  #pilares{
    padding:70px 0 !important;
  }

  #pilares .section-head{
    margin-bottom:30px !important;
  }

  #pilares .section-head h2{
    font-size:clamp(2.65rem,10.5vw,3.8rem) !important;
    line-height:.96 !important;
  }

  #pilares .section-head .lead{
    max-width:600px !important;
    font-size:.96rem !important;
  }

  #pilares .pillars{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #pilares .pillar{
    min-height:0 !important;
    padding:22px !important;
    border-radius:20px !important;
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    column-gap:15px !important;
    row-gap:6px !important;
    align-items:start !important;
    background:rgba(255,255,255,.86) !important;
    box-shadow:0 12px 30px rgba(8,42,30,.055) !important;
  }

  #pilares .pillar::after{
    width:120px !important;
    height:120px !important;
    right:-55px !important;
    bottom:-60px !important;
    opacity:.75 !important;
  }

  #pilares .pillar-icon{
    grid-row:1 / span 3 !important;
    width:52px !important;
    height:52px !important;
    margin:0 !important;
    border-radius:15px !important;
    font-size:1.18rem !important;
    box-shadow:0 10px 22px rgba(15,61,46,.14) !important;
  }

  #pilares .pillar h3{
    grid-column:2 !important;
    margin:1px 0 5px !important;
    font-size:1.38rem !important;
    line-height:1.05 !important;
  }

  #pilares .pillar p{
    grid-column:2 !important;
    margin:0 !important;
    font-size:.87rem !important;
    line-height:1.58 !important;
  }

  #pilares .pillar small{
    grid-column:2 !important;
    margin-top:8px !important;
    font-size:.64rem !important;
    letter-spacing:.07em !important;
  }
}

@media(max-width:560px){

  #sobre{
    padding:64px 0 60px !important;
  }

  #sobre h2{
    font-size:2.75rem !important;
  }

  #sobre .lead{
    font-size:.95rem !important;
  }

  #sobre .about-card{
    margin-top:26px !important;
    padding:21px !important;
  }

  #sobre .about-facts{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  #sobre .fact{
    min-height:86px !important;
    padding:14px !important;
  }

  #pilares{
    padding:62px 0 !important;
  }

  #pilares .pillar{
    padding:19px !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    column-gap:13px !important;
    border-radius:18px !important;
  }

  #pilares .pillar-icon{
    width:48px !important;
    height:48px !important;
  }

  #pilares .pillar h3{
    font-size:1.28rem !important;
  }

  #pilares .pillar p{
    font-size:.84rem !important;
  }
}

@media(max-width:420px){

  #sobre h2{
    font-size:2.55rem !important;
  }

  #sobre .about-facts{
    grid-template-columns:1fr !important;
  }

  #sobre .fact{
    min-height:0 !important;
  }

  #pilares .pillar{
    display:block !important;
  }

  #pilares .pillar-icon{
    margin-bottom:14px !important;
  }

  #pilares .pillar h3{
    margin-bottom:8px !important;
  }

  #pilares .pillar small{
    display:block !important;
    margin-top:11px !important;
  }
}


/* =========================================================
   MOBILE V6 — ASSINATURA INSTITUCIONAL + PROJETOS + COORDENADOR
   ========================================================= */
@media(max-width:900px){

  /* ---------- ASSINATURA INSTITUCIONAL DO HERO ---------- */
  .hero-signature{
    margin-top:26px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    max-width:520px !important;
    padding:0 !important;
    color:inherit !important;
  }

  .hero-signature i{
    display:none !important;
  }

  .hero-signature > *{
    min-width:0 !important;
  }

  .hero-signature{
    text-transform:none !important;
    letter-spacing:0 !important;
  }

  .hero-signature{
    font-size:0 !important;
  }

  .hero-signature::before{
    content:none !important;
  }

  .hero-signature > span,
  .hero-signature > strong{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:58px !important;
    padding:10px 8px !important;
    border:1px solid rgba(15,61,46,.09) !important;
    border-radius:15px !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:0 10px 24px rgba(8,42,30,.045) !important;
    color:var(--green-800) !important;
    font-family:var(--sans) !important;
    font-size:.67rem !important;
    font-weight:800 !important;
    line-height:1.35 !important;
    letter-spacing:.055em !important;
    text-align:center !important;
    text-transform:uppercase !important;
  }

  /* ---------- PROJETOS ---------- */
  #projetos{
    padding:72px 0 !important;
  }

  #projetos .section-head{
    margin-bottom:30px !important;
  }

  #projetos .section-head h2{
    font-size:clamp(2.65rem,10.5vw,3.9rem) !important;
    line-height:.96 !important;
  }

  #projetos .section-head .lead{
    max-width:620px !important;
    font-size:.96rem !important;
    line-height:1.68 !important;
  }

  #projetos .projects-real-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #projetos .project-real{
    min-height:0 !important;
    padding:22px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 12px 32px rgba(8,42,30,.055) !important;
  }

  #projetos .project-real-top{
    align-items:center !important;
    gap:12px !important;
  }

  #projetos .project-logo-box,
  #projetos .project-real[data-project="zootempo"] .project-logo-box{
    width:62px !important;
    height:62px !important;
    flex:0 0 62px !important;
    border-radius:18px !important;
    padding:8px !important;
  }

  #projetos .project-category{
    font-size:.66rem !important;
    padding:6px 9px !important;
  }

  #projetos .project-real h3{
    margin:20px 0 9px !important;
    font-size:1.45rem !important;
    line-height:1.08 !important;
  }

  #projetos .project-real p{
    margin-bottom:18px !important;
    font-size:.88rem !important;
    line-height:1.62 !important;
  }

  #projetos .project-link{
    font-size:.82rem !important;
  }

  /* ---------- COORDENADOR / LAMARCA ---------- */
  #equipe .team-lead{
    display:block !important;
    border-radius:24px !important;
    overflow:hidden !important;
    box-shadow:0 20px 48px rgba(8,42,30,.11) !important;
  }

  #equipe .lead-photo{
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    max-height:none !important;
    background:#214b3c !important;
  }

  #equipe .lead-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  #equipe .lead-photo-label{
    left:16px !important;
    bottom:14px !important;
    padding:8px 10px !important;
    font-size:.64rem !important;
  }

  #equipe .lead-copy{
    padding:28px 24px 26px !important;
  }

  #equipe .lead-copy .eyebrow{
    margin-bottom:10px !important;
  }

  #equipe .lead-copy h3{
    margin:0 0 15px !important;
    font-size:clamp(2.25rem,10vw,3.2rem) !important;
    line-height:.95 !important;
  }

  #equipe .lead-copy p{
    margin-bottom:0 !important;
    font-size:.91rem !important;
    line-height:1.7 !important;
  }

  #equipe .credentials{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    margin-top:20px !important;
  }

  #equipe .credential{
    padding:7px 10px !important;
    font-size:.71rem !important;
    line-height:1.2 !important;
  }

  #equipe .lead-highlight{
    margin-top:22px !important;
    padding-top:18px !important;
  }

  #equipe .lead-highlight span{
    margin-bottom:6px !important;
    font-size:.66rem !important;
  }

  #equipe .lead-highlight strong{
    font-size:1.16rem !important;
    line-height:1.35 !important;
  }

  #equipe .lead-socials{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    margin-top:20px !important;
  }

  #equipe .lead-socials a{
    min-width:0 !important;
    min-height:40px !important;
    padding:8px 8px !important;
    font-size:.70rem !important;
  }
}

@media(max-width:560px){

  .hero-signature{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .hero-signature > span,
  .hero-signature > strong{
    min-height:54px !important;
  }

  /*
   * O item central ganha a linha inteira.
   * Visualmente vira 2 + 1, em vez de três rótulos espremidos.
   */
  .hero-signature > :nth-child(3){
    grid-column:1 / -1 !important;
  }

  #projetos{
    padding:64px 0 !important;
  }

  #projetos .project-real{
    padding:20px !important;
  }

  #projetos .project-logo-box,
  #projetos .project-real[data-project="zootempo"] .project-logo-box{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }

  #projetos .project-real h3{
    font-size:1.34rem !important;
  }

  #equipe .lead-photo{
    aspect-ratio:1 / 1 !important;
  }

  #equipe .lead-copy{
    padding:24px 21px 22px !important;
  }

  #equipe .lead-copy h3{
    font-size:2.55rem !important;
  }

  #equipe .lead-socials{
    grid-template-columns:1fr !important;
  }

  #equipe .lead-socials a{
    width:100% !important;
  }
}

@media(max-width:420px){

  .hero-signature{
    grid-template-columns:1fr !important;
  }

  .hero-signature > :nth-child(3){
    grid-column:auto !important;
  }

  .hero-signature > span,
  .hero-signature > strong{
    min-height:50px !important;
  }

  #projetos .project-real{
    padding:18px !important;
  }

  #equipe .lead-copy h3{
    font-size:2.35rem !important;
  }

  #equipe .credential{
    font-size:.68rem !important;
  }
}


/* =========================================================
   MOBILE V7 — ASSINATURA LIMPA + EQUIPE + PARCEIROS + CONTATO
   ========================================================= */
@media(max-width:900px){

  /* ---------- ASSINATURA INSTITUCIONAL: volta ao estilo limpo ---------- */
  .hero-signature{
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-areas:
      "unesp dot1 fca"
      ". pesquisa ." !important;
    align-items:center !important;
    gap:7px 10px !important;
    max-width:520px !important;
    margin-top:28px !important;
    padding-top:18px !important;
    border-top:1px solid rgba(15,61,46,.08) !important;
    color:var(--green-700) !important;
    font-family:var(--sans) !important;
    font-size:.67rem !important;
    font-weight:800 !important;
    line-height:1.35 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
  }

  .hero-signature i{
    display:block !important;
    width:4px !important;
    height:4px !important;
    margin:0 !important;
    border-radius:50% !important;
    background:var(--gold) !important;
    opacity:.9 !important;
  }

  /* neutraliza os "cards" do V6 */
  .hero-signature > span,
  .hero-signature > strong{
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--green-700) !important;
    font-family:var(--sans) !important;
    font-size:.67rem !important;
    font-weight:800 !important;
    line-height:1.35 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
  }

  .hero-signature > :nth-child(1){
    grid-area:unesp !important;
    justify-self:start !important;
    text-align:left !important;
  }

  .hero-signature > :nth-child(2){
    grid-area:dot1 !important;
  }

  .hero-signature > :nth-child(3){
    grid-area:pesquisa !important;
    justify-self:center !important;
    text-align:center !important;
  }

  .hero-signature > :nth-child(4){
    display:none !important;
  }

  .hero-signature > :nth-child(5){
    grid-area:fca !important;
    justify-self:end !important;
    text-align:right !important;
  }

  /* ---------- EQUIPE NORMAL ---------- */
  #equipe{
    padding:72px 0 !important;
  }

  #equipe .section-head{
    margin-bottom:32px !important;
  }

  #equipe .section-head h2{
    font-size:clamp(2.65rem,10.5vw,3.9rem) !important;
    line-height:.96 !important;
  }

  #equipe .section-head .lead{
    max-width:620px !important;
    font-size:.96rem !important;
    line-height:1.68 !important;
  }

  #equipe .team-group{
    margin-top:30px !important;
  }

  #equipe .team-group-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:12px !important;
  }

  #equipe .team-group-head h3{
    margin:0 !important;
    font-size:1.24rem !important;
    line-height:1.1 !important;
  }

  #equipe .team-group-head span{
    flex:0 0 auto !important;
    padding:6px 9px !important;
    font-size:.68rem !important;
  }

  #equipe .team-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #equipe .person{
    width:100% !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 10px 26px rgba(8,42,30,.045) !important;
  }

  #equipe .person-base{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    min-height:0 !important;
    padding:15px !important;
  }

  #equipe .avatar{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    border-radius:15px !important;
  }

  #equipe .person-main{
    min-width:0 !important;
  }

  #equipe .person-main b{
    font-size:.96rem !important;
    line-height:1.2 !important;
  }

  #equipe .person-main small{
    margin-top:3px !important;
    font-size:.77rem !important;
    line-height:1.38 !important;
  }

  #equipe .person-toggle{
    align-self:center !important;
    margin:0 !important;
    padding:8px 9px !important;
    font-size:.66rem !important;
    white-space:nowrap !important;
  }

  #equipe .person-details-inner{
    padding:18px 16px !important;
  }

  #equipe .person-details-label{
    font-size:.66rem !important;
  }

  #equipe .person-detail-row p,
  #equipe .person-research{
    font-size:.84rem !important;
    line-height:1.52 !important;
  }

  #equipe .person-socials{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
  }

  #equipe .person-social{
    min-height:38px !important;
    padding:7px 10px !important;
    font-size:.72rem !important;
  }

  /* ---------- PARCEIROS ---------- */
  #parceiros{
    padding:68px 0 !important;
  }

  #parceiros .section-head{
    margin-bottom:28px !important;
  }

  #parceiros .section-head h2{
    font-size:clamp(2.55rem,10vw,3.7rem) !important;
    line-height:.97 !important;
  }

  #parceiros .partners,
  #parceiros .partner-rail{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #parceiros .partner{
    min-height:132px !important;
    padding:20px 22px 16px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.70) !important;
    box-shadow:0 10px 26px rgba(8,42,30,.035) !important;
  }

  #parceiros .partner-logo-wrap,
  #parceiros .esalq-partner .partner-logo-wrap{
    min-height:82px !important;
  }

  #parceiros .partner-logo,
  #parceiros .esalq-logo{
    max-height:82px !important;
    max-width:min(100%,280px) !important;
  }

  #parceiros .partner-caption{
    margin-top:6px !important;
    font-size:.67rem !important;
    letter-spacing:.09em !important;
  }

  /* ---------- CONTATO ---------- */
  #contato{
    padding:70px 0 !important;
  }

  #contato .contact-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  #contato h2{
    font-size:clamp(2.65rem,10.5vw,3.8rem) !important;
    line-height:.96 !important;
    margin-bottom:18px !important;
  }

  #contato p{
    font-size:.94rem !important;
    line-height:1.68 !important;
  }

  #contato .contact-list{
    gap:8px !important;
    margin-top:22px !important;
  }

  #contato .contact-item{
    padding:14px !important;
    border-radius:15px !important;
    gap:12px !important;
  }

  #contato .contact-item b{
    font-size:.84rem !important;
  }

  #contato .contact-item span,
  #contato .contact-item a{
    font-size:.79rem !important;
    line-height:1.45 !important;
  }

  #contato .contact-form{
    padding:22px !important;
    border-radius:20px !important;
    box-shadow:0 18px 46px rgba(0,0,0,.10) !important;
  }

  #contato .form-row{
    display:block !important;
  }

  #contato input,
  #contato textarea{
    min-height:48px !important;
    margin-bottom:10px !important;
    padding:12px 13px !important;
    border-radius:12px !important;
    font-size:.88rem !important;
  }

  #contato textarea{
    min-height:118px !important;
  }

  #contato .contact-form .btn{
    width:100% !important;
    min-height:50px !important;
    border-radius:14px !important;
  }

  #contato .form-note{
    font-size:.71rem !important;
    line-height:1.5 !important;
  }
}

@media(max-width:560px){

  .hero-signature{
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "unesp fca"
      "pesquisa pesquisa" !important;
    row-gap:10px !important;
    padding-top:16px !important;
  }

  .hero-signature > :nth-child(2),
  .hero-signature > :nth-child(4){
    display:none !important;
  }

  .hero-signature > :nth-child(3){
    position:relative !important;
    padding-top:8px !important;
  }

  .hero-signature > :nth-child(3)::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:50% !important;
    width:4px !important;
    height:4px !important;
    border-radius:50% !important;
    background:var(--gold) !important;
    transform:translateX(-50%) !important;
  }

  #equipe{
    padding:64px 0 !important;
  }

  #equipe .person-base{
    grid-template-columns:48px minmax(0,1fr) !important;
  }

  #equipe .avatar{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
  }

  #equipe .person-toggle{
    grid-column:1 / -1 !important;
    width:100% !important;
    margin-top:2px !important;
  }

  #equipe .person-socials{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #equipe .person-social{
    width:100% !important;
  }

  #parceiros{
    padding:60px 0 !important;
  }

  #contato{
    padding:62px 0 !important;
  }

  #contato .contact-form{
    padding:19px !important;
  }
}

@media(max-width:420px){

  .hero-signature{
    font-size:.63rem !important;
  }

  .hero-signature > span,
  .hero-signature > strong{
    font-size:.63rem !important;
  }

  #equipe .team-group-head{
    align-items:flex-start !important;
  }

  #equipe .person-socials{
    grid-template-columns:1fr !important;
  }

  #parceiros .partner{
    min-height:118px !important;
    padding:18px !important;
  }

  #contato h2{
    font-size:2.5rem !important;
  }
}


/* =========================================================
   MOBILE V7.1 — CORREÇÃO DA ASSINATURA INSTITUCIONAL
   Ordem real do HTML:
   1 UNESP | 2 ponto | 3 FCA+FMVZ | 4 ponto | 5 Pesquisa+Extensão
   ========================================================= */
@media(max-width:900px){

  .hero-signature{
    grid-template-columns:1fr auto 1fr !important;
    grid-template-areas:
      "unesp dot fca"
      "pesquisa pesquisa pesquisa" !important;
    column-gap:10px !important;
    row-gap:10px !important;
  }

  .hero-signature > :nth-child(1){
    grid-area:unesp !important;
    justify-self:start !important;
    text-align:left !important;
  }

  .hero-signature > :nth-child(2){
    grid-area:dot !important;
    display:block !important;
    align-self:center !important;
  }

  .hero-signature > :nth-child(3){
    grid-area:fca !important;
    justify-self:end !important;
    text-align:right !important;
    padding-top:0 !important;
  }

  .hero-signature > :nth-child(3)::before{
    display:none !important;
    content:none !important;
  }

  .hero-signature > :nth-child(4){
    display:none !important;
  }

  .hero-signature > :nth-child(5){
    grid-area:pesquisa !important;
    justify-self:center !important;
    position:relative !important;
    padding-top:9px !important;
    text-align:center !important;
  }

  .hero-signature > :nth-child(5)::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:50% !important;
    width:4px !important;
    height:4px !important;
    border-radius:50% !important;
    background:var(--gold) !important;
    transform:translateX(-50%) !important;
  }
}

@media(max-width:560px){

  .hero-signature{
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "unesp fca"
      "pesquisa pesquisa" !important;
    column-gap:14px !important;
    row-gap:11px !important;
  }

  .hero-signature > :nth-child(2),
  .hero-signature > :nth-child(4){
    display:none !important;
  }
}

@media(max-width:360px){

  .hero-signature{
    column-gap:8px !important;
  }

  .hero-signature > span,
  .hero-signature > strong{
    font-size:.60rem !important;
    letter-spacing:.055em !important;
  }
}


.form-status{
  min-height:1.3em;
  margin:10px 0 0;
  color:inherit;
  font-size:.75rem;
  line-height:1.45;
}


/* =========================================================
   HERO DESKTOP V3 — composição refinada e sem sobreposição
   ========================================================= */
@media (min-width:901px){
  .hero-panel-v3{
    min-height:590px !important;
    position:relative !important;
    overflow:hidden !important;
    border-radius:40px !important;
    isolation:isolate !important;
    background:
      radial-gradient(circle at 79% 18%,rgba(235,207,137,.16),transparent 15%),
      linear-gradient(145deg,#082c21 0%,#0a3b2c 53%,#0e4a37 100%) !important;
  }

  .hero-panel-v3::before,
  .hero-panel-v3::after{
    content:none !important;
  }

  .hero-v3-grid{
    position:absolute;
    inset:0;
    z-index:0;
    background-image:
      linear-gradient(rgba(215,235,225,.045) 1px,transparent 1px),
      linear-gradient(90deg,rgba(215,235,225,.045) 1px,transparent 1px);
    background-size:34px 34px;
    mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.62) 64%,transparent 100%);
    pointer-events:none;
  }

  .hero-v3-rings{
    position:absolute;
    z-index:1;
    width:430px;
    height:430px;
    left:50%;
    top:52%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    border:1px solid rgba(216,183,102,.18);
    box-shadow:
      0 0 0 42px rgba(216,183,102,.025),
      0 0 0 84px rgba(216,183,102,.014);
    pointer-events:none;
  }

  .hero-v3-rings::before,
  .hero-v3-rings::after{
    content:"";
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(207,228,216,.075);
  }
  .hero-v3-rings::before{inset:15%}
  .hero-v3-rings::after{inset:31%;border-color:rgba(216,183,102,.15)}

  .hero-v3-glow{
    position:absolute;
    z-index:1;
    right:8%;
    top:12%;
    width:115px;
    height:115px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(244,214,140,.72) 0 5%,rgba(244,214,140,.20) 25%,transparent 68%);
    filter:blur(2px);
    opacity:.74;
    pointer-events:none;
  }

  .hero-v3-wave{
    position:absolute;
    z-index:1;
    left:-8%;
    right:-8%;
    bottom:-122px;
    height:255px;
    opacity:.26;
    border-radius:50%;
    background:repeating-radial-gradient(ellipse at 50% 0%,transparent 0 13px,rgba(102,190,148,.28) 14px 15px);
    transform:perspective(430px) rotateX(62deg);
    pointer-events:none;
  }

  .hero-v3-symbol{
    position:absolute;
    z-index:2;
    left:54%;
    top:54%;
    width:228px;
    height:228px;
    transform:translate(-50%,-50%);
    display:grid;
    place-items:center;
    pointer-events:none;
  }

  .hero-v3-symbol img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    aspect-ratio:1 / 1 !important;
    opacity:.40 !important;
    filter:brightness(1.7) grayscale(.15) drop-shadow(0 0 25px rgba(255,255,255,.05)) !important;
  }

  .hero-v3-card{
    position:absolute;
    z-index:5;
    color:#fff;
    border:1px solid rgba(220,239,229,.20);
    background:linear-gradient(145deg,rgba(94,137,115,.43),rgba(49,93,73,.37));
    -webkit-backdrop-filter:blur(13px);
    backdrop-filter:blur(13px);
    box-shadow:0 14px 30px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.055);
  }

  .hero-v3-card small{
    display:block;
    margin-bottom:6px;
    color:#d0e4d9;
    font-size:.68rem;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.055em;
  }

  .hero-v3-card strong{
    display:block;
    color:#fff;
    font-family:var(--sans);
    font-size:1.36rem;
    line-height:1.13;
    font-weight:800;
  }

  .hero-v3-decision{
    left:7.5%;
    top:8.5%;
    width:55%;
    min-height:118px;
    border-radius:20px;
    padding:21px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
  }

  .hero-v3-card-copy{min-width:0}

  .hero-v3-bars{
    flex:0 0 112px;
    height:58px;
    display:flex;
    align-items:flex-end;
    gap:6px;
  }
  .hero-v3-bars span{
    flex:1;
    height:var(--h);
    min-height:9px;
    border-radius:4px 4px 2px 2px;
    background:linear-gradient(to top,#70b691,#e1bd6a);
  }

  .hero-v3-data{
    right:7.5%;
    top:42%;
    width:31%;
    min-height:154px;
    padding:20px;
    border-radius:20px;
  }

  .hero-v3-data strong{font-size:1.3rem}

  .hero-v3-points{
    display:flex;
    flex-wrap:wrap;
    gap:7px 11px;
    margin-top:14px;
  }
  .hero-v3-points span{
    position:relative;
    padding-left:10px;
    color:#cce2d7;
    font-size:.68rem;
    line-height:1.35;
  }
  .hero-v3-points span::before{
    content:"";
    position:absolute;
    left:0;
    top:.48em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#cce2d7;
  }

  .hero-v3-research{
    left:10%;
    bottom:8.5%;
    width:56%;
    min-height:126px;
    padding:20px 22px;
    border-radius:20px;
  }

  .hero-v3-research strong{font-size:1.34rem}
  .hero-v3-research p{
    margin:8px 0 0;
    max-width:260px;
    color:#cde1d7;
    font-size:.72rem;
    line-height:1.45;
  }

  @media (hover:hover){
    .hero-v3-card{transition:transform .22s ease,border-color .22s ease,background .22s ease}
    .hero-v3-card:hover{
      transform:translateY(-2px);
      border-color:rgba(220,239,229,.31);
      background:linear-gradient(145deg,rgba(103,147,124,.49),rgba(53,99,77,.43));
    }
  }
}

@media (min-width:901px) and (max-width:1120px){
  .hero-panel-v3{min-height:535px !important}
  .hero-v3-symbol{width:206px;height:206px;left:53%;top:54%}
  .hero-v3-decision{width:58%;padding:18px 19px}
  .hero-v3-data{width:32%;padding:17px}
  .hero-v3-research{width:59%;padding:18px 19px}
  .hero-v3-bars{flex-basis:94px}
}

/* Mobile permanece exatamente com o hero editorial já aprovado. */
@media (max-width:900px){
  .hero-panel-v3{display:none !important}
}

/* =========================================================
   HERO V5 — centralização visual da logo entre os 3 cards
   ========================================================= */
@media (min-width:901px){
  .hero-panel-v3 .hero-v3-symbol{
    left:48.5% !important;
    top:51.5% !important;
    width:238px !important;
    height:238px !important;
    transform:translate(-50%,-50%) !important;
  }

  .hero-panel-v3 .hero-v3-symbol img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    opacity:.42 !important;
  }

  .hero-panel-v3 .hero-v3-rings{
    left:48.5% !important;
    top:51.5% !important;
    transform:translate(-50%,-50%) !important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  .hero-panel-v3 .hero-v3-symbol{
    left:48.5% !important;
    top:51.5% !important;
    width:215px !important;
    height:215px !important;
  }
}
