/* Estrutura compartilhada: cabeçalho com menu, trilha de navegação e rodapé. */

header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha-leve);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:15px;}
.navlinks{display:flex;align-self:stretch;align-items:center;gap:26px;font-size:15px;font-weight:550;color:var(--tinta-2);}
.navlinks a:hover{color:var(--noite);}
.menu-btn{display:none;background:none;border:1.5px solid var(--linha);border-radius:999px;padding:9px 16px;font:inherit;font-size:14px;font-weight:600;color:var(--tinta);cursor:pointer;}
.cta-menu{display:none;}
/* submenu de O Instituto: o link leva à página e o botão ao lado mostra as páginas do grupo (assets/js/navigation.js).
   No computador, cartão logo abaixo do cabeçalho: o padding-top (15px de respiro do .nav, a borda e 8px de folga)
   é uma faixa transparente que mantém o cartão aberto enquanto o mouse desce até ele. Até 1140px, lista recuada no menu. */
.nav-grupo{position:relative;align-self:stretch;display:flex;align-items:center;gap:1px;}
.nav-grupo.aberto > a{color:var(--noite);}
.nav-sub-botao{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:-7px;padding:0;border:0;border-radius:6px;background:none;color:inherit;cursor:pointer;transition:color .2s ease;}
.nav-sub-botao svg{width:11px;height:8px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
.nav-sub-botao:hover,.nav-grupo.aberto .nav-sub-botao{color:var(--noite);}
.nav-sub-botao[aria-expanded="true"] svg{transform:rotate(180deg);}
.nav-sub{display:none;position:absolute;top:100%;left:-14px;z-index:1;padding-top:24px;}
.nav-grupo.aberto .nav-sub{display:block;}
.nav-sub ul{list-style:none;margin:0;min-width:228px;padding:8px;background:var(--branco);border:1px solid var(--linha-leve);border-radius:14px;box-shadow:0 14px 34px rgba(27,32,80,.10),0 2px 6px rgba(27,32,80,.05);}
.nav .navlinks .nav-sub a{display:block;padding:10px 14px;border-radius:9px;color:var(--tinta-2);text-shadow:none;transition:background-color .15s ease,color .15s ease;}
.nav .navlinks .nav-sub a:hover{background:var(--nevoa);color:var(--noite);}
.nav .navlinks .nav-sub a[aria-current="page"]{color:var(--indigo);}
.breadcrumb{padding-top:20px;font-size:13.5px;color:var(--tinta-2);}
.breadcrumb a:hover{color:var(--noite);}
.breadcrumb .sep{margin:0 8px;opacity:.45;}
.breadcrumb .atual{color:var(--tinta);font-weight:600;}

/* fechamento do site: azul mais profundo que a seção .contato (--noite) */
footer{position:relative;background:#10132E;color:rgba(255,255,255,.72);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.foot-arvore{position:absolute;right:-120px;bottom:-140px;width:440px;height:auto;opacity:.03;fill:#fff;pointer-events:none;}
.foot-grid{position:relative;display:grid;grid-template-columns:1.2fr .6fr 2.2fr;gap:44px;padding:56px 0 44px;}
.foot-marca .logo-svg{height:44px;fill:#fff;}
.foot-sobre{font-size:14px;color:rgba(255,255,255,.78);max-width:30ch;margin-top:16px;}
.foot-endereco{font-size:13.5px;color:rgba(255,255,255,.55);line-height:1.6;margin-top:16px;}
.foot-horario{font-size:13.5px;color:rgba(255,255,255,.55);line-height:1.6;margin-top:10px;}
.foot-horario strong{display:block;font-weight:600;color:rgba(255,255,255,.75);}
.foot-whats{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:11px 20px;border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:13.5px;font-weight:600;color:#fff;transition:border-color .2s ease,color .2s ease;}
.foot-whats:hover{border-color:var(--ciano);color:var(--ciano);}
.foot-whats svg{width:17px;height:17px;flex:none;}
.foot-redes{margin-top:18px;display:flex;gap:14px;}
.foot-redes a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:rgba(255,255,255,.85);transition:color .2s ease,transform .2s ease;}
.foot-redes a:hover{color:var(--ciano);transform:translateY(-1px);}
.foot-redes svg{width:19px;height:19px;display:block;}
.foot-grid h2{font-family:var(--fonte-texto);font-size:11.5px;font-weight:700;letter-spacing:.14em;line-height:1.15;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 18px;}
.foot-grid ul{list-style:none;margin:0;padding:0;font-size:13.5px;overflow-wrap:anywhere;}
.foot-grid ul li{margin-bottom:8px;}
.foot-grid ul a{padding-block:3px;color:rgba(255,255,255,.82);display:inline-block;line-height:1.45;transition:color .2s ease,transform .2s ease;}
.foot-grid ul a:hover{color:var(--ciano);transform:translateX(2px);}
.foot-esp ul{columns:2;column-gap:36px;}
.foot-esp li{break-inside:avoid;}
.foot-baixo{position:relative;border-top:1px solid rgba(255,255,255,.15);}
.foot-baixo .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;padding-bottom:20px;font-size:12.5px;color:rgba(255,255,255,.55);flex-wrap:wrap;}
.foot-legal{color:rgba(255,255,255,.55);padding-block:4px;transition:color .2s ease;}
.foot-legal:hover{color:var(--ciano);}
button.foot-legal{padding-inline:0;border:0;background:none;font:inherit;cursor:pointer;}
.foot-legais{display:flex;gap:18px;flex-wrap:wrap;}
.foot-metakiase{display:flex;align-items:center;padding-block:4px;}
.foot-metakiase img{height:34px;width:auto;display:block;opacity:.85;transition:opacity .2s ease;}
.foot-metakiase:hover img{opacity:1;}
.navlinks a{white-space:nowrap;}
.logo-branca{display:none;fill:#fff;}
