:root{
  --verde:#0f3b2b; --verde-2:#14503a; --ouro:#b8912f; --ouro-claro:#e2c264;
  --tinta:#111; --creme:#fbfaf5;
  --titulo:'Lato',system-ui,sans-serif; --corpo:'Roboto',system-ui,sans-serif;
  --topo-h:76px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--topo-h)}
body{font-family:var(--corpo);color:var(--tinta);background:#fff;line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--ouro-claro);outline-offset:2px}

/* Cabeçalho fixo */
.topo{position:sticky;top:0;z-index:50;background:var(--verde);height:var(--topo-h);border-bottom:1px solid rgba(226,194,100,.25)}
.topo__in{max-width:1180px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.marca{display:flex;align-items:center;gap:10px}
.marca img{width:52px;height:52px;object-fit:contain}
.marca__txt{display:flex;flex-direction:column;line-height:1;color:var(--ouro-claro)}
.marca__txt strong{font:900 1.6rem var(--titulo);letter-spacing:.02em}
.marca__txt small{font:400 .62rem var(--titulo);letter-spacing:.32em;margin-top:5px;color:var(--ouro)}
.menu{display:flex;gap:30px}
.menu a{font:700 .95rem var(--titulo);text-transform:uppercase;color:#fff;padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.menu a:hover,.menu a.ativo{color:var(--ouro-claro);border-color:var(--ouro-claro)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.menu-btn span{display:block;width:26px;height:3px;background:var(--ouro-claro);border-radius:2px;transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

/* Botões */
.btn{display:inline-block;font:900 .95rem var(--titulo);text-transform:uppercase;letter-spacing:.03em;padding:15px 30px;border-radius:999px;cursor:pointer;border:2px solid var(--ouro);transition:transform .15s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--vazado{background:rgba(15,59,43,.55);color:var(--ouro-claro);box-shadow:inset 0 0 0 1px rgba(226,194,100,.35)}
.btn--vazado:hover{background:var(--ouro);color:var(--verde)}
.btn--ouro{background:linear-gradient(180deg,#d9b653,#a98127);color:#fff;border-color:#c9a444}
.btn--cheio{width:100%}

/* Hero */
.hero{position:relative;min-height:clamp(380px,46vw,560px);display:flex;align-items:center;background:var(--verde) url(../img/hero.jpg) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,59,43,.96) 0%,rgba(15,59,43,.82) 32%,rgba(15,59,43,.15) 66%,rgba(15,59,43,0) 100%)}
.hero__txt{position:relative;max-width:1180px;width:100%;margin:0 auto;padding:48px 24px;color:#fff}
.hero__txt>*{max-width:480px}
.hero h1{font:900 clamp(2rem,4.6vw,3.4rem)/1.05 var(--titulo);text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.hero p{font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.3;margin:18px 0 28px;text-shadow:0 1px 6px rgba(0,0,0,.4)}

/* Carrossel */
.carrossel{display:flex;align-items:center;gap:8px;padding:18px 12px;background:#fff;border-bottom:1px solid var(--ouro)}
.carrossel__faixa{flex:1;overflow:hidden;white-space:nowrap}
.carrossel__lista{display:inline-flex;list-style:none}
.carrossel__lista li{font:700 1.05rem var(--titulo);padding:0 20px;position:relative;color:#1a1a1a}
.carrossel__lista li:nth-child(3n+1){color:var(--ouro)}
.carrossel__lista li::after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--ouro)}
.seta{flex:none;background:none;border:0;color:var(--ouro);font-size:2.2rem;line-height:1;width:40px;height:44px;cursor:pointer}
.seta:hover{color:var(--verde)}

/* Mentor */
.mentor{max-width:1000px;margin:0 auto;padding:64px 24px 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.mentor__foto{width:100%;max-width:400px;margin:0 auto}
.mentor h2{font:900 clamp(1.7rem,3vw,2.2rem) var(--titulo);text-transform:uppercase;color:var(--ouro);margin-bottom:18px}
.mentor p{font-size:1.15rem;line-height:1.35;margin-bottom:14px;max-width:34ch}
.mentor .btn{margin-top:12px}

/* Rodapé */
.rodape{background:var(--verde);color:#fff;border-top:3px solid var(--ouro);padding:36px 24px 20px}
.rodape__grade{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;font-size:.92rem;font-style:normal}
.rodape__grade>*{display:flex;flex-direction:column;align-items:center;gap:10px;word-break:break-word}
.rodape__grade svg{width:36px;height:36px;color:var(--ouro-claro)}
.rodape__grade a:hover{color:var(--ouro-claro)}
.rodape__base{max-width:1180px;margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(226,194,100,.4);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.85rem}
.redes{display:flex;gap:14px}
.redes a{color:var(--ouro-claro);width:34px;height:34px;display:block;transition:transform .15s}
.redes a:hover{transform:scale(1.12)}
.redes svg{width:100%;height:100%}

/* Modal */
.modal{border:0;border-radius:16px;padding:0;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.modal::backdrop{background:rgba(7,28,20,.7)}
.modal[open]{animation:abre .22s ease-out}
@keyframes abre{from{opacity:0;transform:translateY(14px) scale(.98)}}
.modal__form{position:relative;padding:32px 28px 28px;display:flex;flex-direction:column;gap:14px}
.modal__form h2{font:900 1.4rem var(--titulo);color:var(--verde);padding-right:28px}
.modal__sub{color:#555;font-size:.95rem;margin-top:-8px}
.modal__fechar{position:absolute;top:10px;right:14px;background:none;border:0;font-size:2rem;line-height:1;color:var(--verde);cursor:pointer}
.modal label{display:flex;flex-direction:column;gap:5px;font:700 .9rem var(--titulo);color:var(--verde)}
.modal input,.modal textarea{font:400 1rem var(--corpo);padding:11px 12px;border:1.5px solid #b9c7c0;border-radius:8px;width:100%;color:#111;resize:vertical}
.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(184,145,47,.3)}
.modal input.erro,.modal textarea.erro{border-color:#b3261e}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.msg{min-height:1.2em;font-size:.92rem}
.msg.ok{color:#0d6b3f}.msg.falha{color:#b3261e}
.btn[disabled]{opacity:.6;cursor:wait}

/* Responsivo */
@media (max-width:900px){
  .rodape__grade{grid-template-columns:1fr;gap:28px}
}
@media (max-width:760px){
  :root{--topo-h:68px}
  .menu-btn{display:flex}
  .menu{position:absolute;top:var(--topo-h);left:0;right:0;background:var(--verde);flex-direction:column;gap:0;padding:8px 24px 16px;border-bottom:3px solid var(--ouro);display:none}
  .menu.aberto{display:flex}
  .menu a{padding:14px 0;border-bottom:1px solid rgba(226,194,100,.2)}
  .hero{background-position:70% center}
  .hero::before{background:linear-gradient(180deg,rgba(15,59,43,.9) 0%,rgba(15,59,43,.7) 60%,rgba(15,59,43,.45) 100%)}
  .mentor{grid-template-columns:1fr;gap:28px;padding:44px 24px 52px;text-align:center}
  .mentor__foto{max-width:300px}
  .mentor p{margin-left:auto;margin-right:auto}
  .rodape__base{flex-direction:column;text-align:center}
}
@media (max-width:420px){
  .btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.modal[open]{animation:none}.btn,.redes a{transition:none}
}
.rodape address{font-style:normal}
.zap{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .15s}
.zap:hover{transform:scale(1.08)}
.zap svg{width:34px;height:34px}
@media (max-width:760px){.zap{right:14px;bottom:14px;width:54px;height:54px}}
.rodape__base{padding-right:84px}
@media (max-width:760px){.rodape__base{padding-right:0}.rodape{padding-bottom:76px}}
