/* Associação Anjo de Luz · site público */
:root{
  --noite:#262350; --topo:#2E2A5E; --indigo:#3A356E; --marca:#3F3F7E; --lavanda:#5C6AA0; --nevoa:#E9EAF6; --luz:#F4C98A;
  --fundo:#F8F8FC; --sup:#FFFFFF; --tinta:#1A1838; --suave:#4E4C6B; --linha:#D9DAEA; --link:#3F3F7E;
  --tit:"Montserrat",system-ui,sans-serif; --txt:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1200px; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fundo:#16142F;--sup:#1F1C3F;--tinta:#EEEEFA;--suave:#B7B6D3;--linha:#36325F;--link:#F4C98A;--nevoa:#24214A}}
:root[data-theme="dark"]{--fundo:#16142F;--sup:#1F1C3F;--tinta:#EEEEFA;--suave:#B7B6D3;--linha:#36325F;--link:#F4C98A;--nevoa:#24214A}
:root.contraste{--fundo:#000;--sup:#000;--tinta:#fff;--suave:#fff;--linha:#fff;--link:#FFE14D;--noite:#000;--topo:#000;--indigo:#000;--marca:#000;--lavanda:#000;--nevoa:#000;--luz:#FFE14D}
.contraste img{filter:grayscale(1) contrast(1.15)} .contraste a{text-decoration:underline} .contraste .proj,.contraste .polo,.contraste .fichas div{border-color:#fff}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 1.125rem/1.65 var(--txt)}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
main:focus,footer:focus,#menu:focus{outline:none}
:focus-visible{outline:3px solid var(--luz);outline-offset:3px;border-radius:3px;box-shadow:0 0 0 6px rgba(38,35,80,.55)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{font-family:var(--tit);line-height:1.12;margin:0;letter-spacing:-.015em}
h2{font-size:clamp(1.9rem,3.6vw,2.75rem);font-weight:800}
h3{font-size:1.35rem;font-weight:700}
p{margin:0 0 1em}
.faixa-previa{background:#B3261E;color:#fff;text-align:center;padding:8px 16px;font-weight:700}

/* ---------- barra de acessibilidade ---------- */
.acess{background:#14122B;color:#fff;font-size:.95rem}
.acess .wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}
.acess a,.acess button{color:#fff;background:transparent;border:1px solid transparent;border-radius:6px;font:700 .92rem var(--txt);padding:6px 10px;cursor:pointer;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.acess a:hover,.acess button:hover{border-color:rgba(255,255,255,.4)}
.acess button[aria-pressed="true"],.acess a[aria-current]{background:var(--luz);color:#14122B}
.acess .atalhos{display:flex;gap:4px;margin-right:auto}
.acess .sep{width:1px;height:20px;background:rgba(255,255,255,.25);margin:0 4px}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:50;background:var(--topo);border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.topo .wrap{display:flex;align-items:center;gap:20px;height:84px}
.marca{display:flex;align-items:center;text-decoration:none;margin-right:auto}
.marca img{height:52px;width:auto}
.menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:flex;align-items:center;gap:6px;padding:10px 13px;font:700 1rem var(--txt);color:#fff;background:none;border:0;border-radius:8px;text-decoration:none;cursor:pointer;min-height:44px}
.menu>li>a:hover,.menu>li>button:hover,.menu button[aria-expanded="true"],.menu>li>a[aria-current]{background:rgba(255,255,255,.12)}
.menu svg{width:11px;height:11px;transition:transform .2s}
.menu-busca svg{width:19px;height:19px}
.so-movel{display:none}
.menu button[aria-expanded="true"] svg{transform:rotate(180deg)}
.menu .btn-apoie{background:var(--luz);color:#1A1838;margin-left:6px}
.menu .btn-apoie:hover,.menu .btn-apoie[aria-current]{background:#FFD9A3}
.sub{position:absolute;top:calc(100% + 8px);right:0;min-width:300px;background:#fff;color:#1A1838;border-radius:14px;padding:10px;list-style:none;margin:0;box-shadow:0 20px 44px rgba(38,35,80,.22);border:1px solid #D9DAEA;display:none}
.sub.aberto{display:block}
.sub a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;font-weight:700}
.sub a small{display:block;font-weight:400;color:#4E4C6B;font-size:.88rem}
.sub a:hover,.sub a:focus-visible,.sub a[aria-current]{background:#EEF0FA}
.btn-menu{display:none;border:2px solid rgba(255,255,255,.7);color:#fff;background:none;border-radius:8px;padding:8px 14px;font:700 1rem var(--txt);min-height:44px;cursor:pointer}

/* ---------- estrelas ---------- */
.ceu{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ceu svg{position:absolute;fill:#fff;animation:brilho 1.2s cubic-bezier(.3,.7,.3,1) both}
.ceu svg:nth-child(odd){fill:var(--luz)}
@keyframes brilho{0%{opacity:0;transform:scale(.3) rotate(-30deg)}60%{opacity:1;transform:scale(1.15)}100%{transform:scale(1)}}

/* ---------- abertura ---------- */
.abertura{position:relative;overflow:hidden;color:#fff;background:linear-gradient(170deg,#3A356E 0%,#3F3F7E 45%,#5C6AA0 100%);padding:0}
.contraste .abertura,.contraste .transp,.contraste .pag-cab{background:#000}
.abertura .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:88px}
.abertura h1{font-size:clamp(2.3rem,4.8vw,3.9rem);font-weight:800;max-width:15ch}
.lead{font-size:clamp(1.12rem,1.6vw,1.3rem);color:rgba(255,255,255,.9);max-width:44ch;margin:24px 0 34px}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;font:700 1.05rem var(--txt);text-decoration:none;border:2px solid transparent;cursor:pointer;min-height:52px}
.btn-p{padding:10px 18px;min-height:44px;font-size:.98rem;align-self:flex-start}
.btn-luz{background:var(--luz);color:#1A1838}
.btn-luz:hover{background:#FFD9A3}
.btn-claro{border-color:rgba(255,255,255,.7);color:#fff}
.btn-claro:hover{background:rgba(255,255,255,.12)}
.disco{position:relative;justify-self:center;width:min(480px,100%);aspect-ratio:1.12/1}
.disco .foto{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 30px 60px rgba(20,18,50,.45),0 0 0 10px rgba(255,255,255,.08)}
.disco .foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.disco .halo{position:absolute;left:50%;top:-22px;width:42%;height:44px;transform:translateX(-50%);border:5px solid var(--luz);border-radius:50%;opacity:.85}
.disco .selo{position:absolute;right:-10px;bottom:4%;width:132px;height:132px;border-radius:50%;box-shadow:0 12px 30px rgba(20,18,50,.35)}

.aviso{background:var(--nevoa);border-bottom:1px solid var(--linha)}
.aviso .wrap{display:flex;gap:14px;align-items:center;padding-top:16px;padding-bottom:16px}
.aviso p{margin:0}
.aviso .ponto{flex:none;width:12px;height:12px;border-radius:50%;background:var(--lavanda)}
.aviso-aberto .ponto{background:#1F9A4C;box-shadow:0 0 0 4px rgba(31,154,76,.25)}
.aviso a{color:var(--link);font-weight:700}

section{padding:clamp(72px,9vw,120px) 0}
.cab{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.cab p{max-width:48ch;color:var(--suave);margin:0}
.cab p a,.mais a,.texto-rico a,.nota a,.lista-simples a,.lei-claro a,.dir-nota a,.mapa a{color:var(--link);font-weight:700;text-underline-offset:4px}
.mais{margin-top:20px;font-weight:700}

/* ---------- quem somos ---------- */
.quem{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(36px,6vw,80px);align-items:center}
.quem figure{margin:0}
.quem figure img{border-radius:28px;aspect-ratio:4/3.2;object-fit:cover;width:100%}
.quem figcaption{font-size:.9rem;color:var(--suave);margin-top:10px}
.quem .texto p{color:var(--suave);max-width:60ch}
.quem h2{margin-bottom:22px}
.fichas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 0;padding:0}
.fichas div{background:var(--sup);border:1px solid var(--linha);border-radius:16px;padding:14px 18px}
.fichas dt{font-size:.9rem;color:var(--suave)}
.fichas dd{margin:2px 0 0;font-family:var(--tit);font-weight:700;font-size:1.05rem;overflow-wrap:anywhere}
.fichas-col{grid-template-columns:1fr;margin-top:18px}

/* ---------- projetos ---------- */
.projetos{background:var(--sup);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.proj{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;border:1px solid var(--linha);background:var(--fundo)}
.pag-corpo .proj{background:var(--sup)}
.proj-topo{position:relative;display:block;aspect-ratio:4/3;background:var(--nevoa)}
.proj-topo>img{width:100%;height:100%;object-fit:cover}
.proj-logo{position:absolute;left:16px;bottom:-34px;width:96px;height:96px;border-radius:22px;display:grid;place-items:center;padding:10px;box-shadow:0 10px 24px rgba(20,18,50,.25)}
.proj-logo img{max-height:100%;width:auto;object-fit:contain}
.proj-corpo{padding:52px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.proj-corpo.sem-logo{padding-top:22px}
.proj h3 a{text-decoration:none}
.proj h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.status{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem;color:var(--suave);border:1px solid var(--linha);border-radius:999px;padding:4px 12px;background:var(--sup)}
.status::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--lavanda)}
.status-inscricoes_abertas::before{background:#1F9A4C}
.status-em_andamento::before{background:var(--luz)}
.quando{font-weight:700;color:var(--marca);margin:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .quando{color:var(--luz)}}
.proj-corpo p{color:var(--suave);margin:0}
.numeros{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:6px 0 0}
.numeros li{background:var(--nevoa);border-radius:10px;padding:6px 10px;font-size:.92rem}
.numeros b{font-family:var(--tit)}
.proj-corpo .mais{margin-top:auto;padding-top:12px;color:var(--link)}

/* ---------- locais ---------- */
.polos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.polo{border-radius:20px;padding:24px;background:var(--sup);border:1px solid var(--linha)}
.polo .num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--marca);color:#fff;font-family:var(--tit);font-weight:800;margin-bottom:14px}
.contraste .polo .num{border:2px solid #fff}
.polo h3{margin-bottom:6px}
.polo p{color:var(--suave);margin:0}
.polo .desc,.polo .mapa{margin-top:10px}

/* ---------- notícias ---------- */
.cartoes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.cartao img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:18px;margin-bottom:14px}
.cartao time{font-size:.92rem;color:var(--marca);font-weight:700}
.cartao h2,.cartao h3{font-size:1.3rem;margin:6px 0 8px}
.cartao h2 a,.cartao h3 a{text-decoration:none}
.cartao p{color:var(--suave);font-size:1rem}
.paginacao{display:flex;gap:8px;margin-top:40px}
.paginacao a{padding:8px 14px;border:1px solid var(--linha);border-radius:8px;text-decoration:none;min-width:44px;text-align:center}
.paginacao a[aria-current]{background:var(--marca);color:#fff;border-color:var(--marca)}

/* ---------- galeria ---------- */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:12px;grid-auto-flow:dense}
.galeria figure{margin:0;border-radius:18px;overflow:hidden;background:var(--nevoa)}
.galeria a{display:block;height:100%}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.galeria a:hover img{transform:scale(1.03)}
.galeria .alta{grid-row:span 2}.galeria .larga{grid-column:span 2}
.albuns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.album{text-decoration:none;display:block}
.album-capa{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:var(--nevoa);margin-bottom:12px}
.album-capa img{width:100%;height:100%;object-fit:cover}
.album b{display:block;font-family:var(--tit);font-size:1.2rem}
.album small{color:var(--suave);font-size:.95rem}
.grade-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.grade-fotos a{display:block;aspect-ratio:1;overflow:hidden;border-radius:14px;background:var(--nevoa)}
.grade-fotos img{width:100%;height:100%;object-fit:cover}

/* ---------- transparência ---------- */
.transp{background:linear-gradient(170deg,#262350,#3A356E);color:#fff;position:relative;overflow:hidden}
.transp .wrap{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,80px)}
.transp .intro p{color:rgba(255,255,255,.84);max-width:44ch}
.transp .intro h2{margin-bottom:20px}
.lei{font-size:.95rem;color:rgba(255,255,255,.75);border-left:3px solid var(--luz);padding-left:14px;margin-top:24px}
.lei-claro{color:var(--suave);max-width:80ch;margin-top:48px}
.portal{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.portal a{display:grid;grid-template-columns:44px 1fr auto;gap:2px 16px;align-items:center;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);text-decoration:none}
.portal a:hover{background:rgba(255,255,255,.12)}
.portal .ic{grid-row:1/3;width:44px;height:44px;border-radius:12px;background:rgba(244,201,138,.16);display:grid;place-items:center}
.portal .ic svg{width:22px;height:22px;stroke:var(--luz);fill:none;stroke-width:2}
.portal b{font-family:var(--tit);font-weight:700;font-size:1.12rem}
.portal small{grid-column:2;color:rgba(255,255,255,.75);font-size:.95rem}
.portal em{grid-row:1/3;grid-column:3;font-style:normal;font-weight:700;color:var(--luz);font-size:.9rem;white-space:nowrap}
.portal-claro a{grid-template-columns:1fr auto;background:var(--sup);border-color:var(--linha)}
.portal-claro a:hover{background:var(--nevoa)}
.portal-claro small{grid-column:1;color:var(--suave)}
.portal-claro em{grid-column:2;color:var(--marca)}
.identificacao{margin-top:56px}
.tabela-rolagem{overflow-x:auto;border:1px solid var(--linha);border-radius:16px;background:var(--sup)}
.tabela{width:100%;border-collapse:collapse;font-size:1rem;min-width:760px}
.tabela th,.tabela td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela thead th{font-size:.9rem;color:var(--suave);background:var(--nevoa)}
.tabela tbody tr:last-child>*{border-bottom:0}
.tabela a{color:var(--link);font-weight:700}
.ficha-tabela{margin:0;border:1px solid var(--linha);border-radius:16px;background:var(--sup);overflow:hidden}
.ficha-tabela div{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:14px 20px;border-bottom:1px solid var(--linha)}
.ficha-tabela div:last-child{border-bottom:0}
.ficha-tabela dt{color:var(--suave);font-size:.95rem}
.ficha-tabela dd{margin:0}
.ficha-tabela a{color:var(--link);font-weight:700}
.nd{color:var(--suave);font-style:italic}
.bloco-prest{padding:0 0 44px}
.bloco-cab{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:3px solid var(--luz);padding-bottom:10px;margin-bottom:8px}
.bloco-cab h2{font-size:1.5rem}
.bloco-cab h2 a{text-decoration:none}
.docs{list-style:none;margin:0;padding:0}
.docs a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:14px 0;border-bottom:1px solid var(--linha);text-decoration:none}
.docs a:hover b{text-decoration:underline}
.docs b{font-weight:700}
.docs small{grid-column:1;color:var(--suave);font-size:.92rem}
.docs em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:.85rem;font-weight:700;color:var(--marca);white-space:nowrap}

/* ---------- diretoria ---------- */
.dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grupo{background:var(--sup);border:1px solid var(--linha);border-radius:20px;padding:22px}
.grupo h3{font-size:1.05rem;color:var(--marca);margin-bottom:8px}
.grupo dl{margin:0}
.grupo div{padding:12px 0;border-bottom:1px solid var(--linha)}
.grupo div:last-child{border-bottom:0}
.grupo dt{font-size:.9rem;color:var(--suave)}
.grupo dd{margin:2px 0 0;font-weight:700}
.dir-nota{margin-top:28px;color:var(--suave)}

/* ---------- páginas internas ---------- */
.pag-cab{position:relative;overflow:hidden;background:linear-gradient(170deg,#3A356E 0%,#3F3F7E 55%,#5C6AA0 100%);color:#fff;padding:56px 0 60px}
.pag-cab .wrap{position:relative}
.pag-cab h1{font-size:clamp(2.1rem,4.4vw,3.3rem);font-weight:800;max-width:22ch}
.pag-intro{color:rgba(255,255,255,.88);max-width:60ch;margin:16px 0 0;font-size:1.15rem}
.trilha ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;font-size:.95rem;color:rgba(255,255,255,.78)}
.trilha li+li::before{content:"›";margin-right:6px;opacity:.7}
.trilha a{color:#fff}
.pag-corpo{padding-top:56px;padding-bottom:100px}
.com-lado{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(36px,6vw,72px);align-items:start}
.lado{position:sticky;top:110px;display:flex;flex-direction:column;gap:12px}
.lado-tit{font-family:var(--tit);font-size:1rem;color:var(--marca);margin:22px 0 0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lado-tit,:root:not([data-theme="light"]) .grupo h3{color:var(--luz)}}
.lado-logo{border-radius:22px;padding:22px;display:grid;place-items:center;border:1px solid var(--linha)}
.lado-logo img{max-height:150px;width:auto}
.apoio{display:flex;align-items:center;gap:12px;font-size:.95rem;color:var(--suave);margin-top:10px}
.apoio img{height:48px;width:auto;border-radius:6px}
.estreito{max-width:780px}
.texto-rico{font-size:1.125rem;line-height:1.75;max-width:70ch}
.texto-rico h2{font-size:1.75rem;margin:1.5em 0 .5em}
.texto-rico h3{font-size:1.3rem;margin:1.3em 0 .4em}
.texto-rico ul,.texto-rico ol{padding-left:1.3em;margin:0 0 1.2em}
.texto-rico li{margin-bottom:.4em}
.texto-rico img{border-radius:16px;margin:1.4em 0}
.texto-rico blockquote{margin:1.5em 0;padding:16px 20px;border-left:4px solid var(--luz);background:var(--nevoa);border-radius:0 14px 14px 0}
.texto-rico table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:1rem}
.texto-rico th,.texto-rico td{border-bottom:1px solid var(--linha);padding:10px;text-align:left}
.texto-rico iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:16px}
.capa-proj{margin:0 0 32px;border-radius:24px;overflow:hidden}
.capa-proj img{width:100%}
.capa-proj.arte{background:var(--nevoa);padding:28px}
.capa-proj.arte img{max-width:480px;margin:0 auto}
.sub-tit{font-size:1.75rem;margin:52px 0 18px}
.data-art{color:var(--marca);font-weight:700}
.nota{color:var(--suave);font-size:1rem}
.vazio{color:var(--suave);font-size:1.15rem;padding:32px;background:var(--sup);border:1px dashed var(--linha);border-radius:20px;text-align:center}
.lista-simples{list-style:none;padding:0;margin:0}
.lista-simples li{padding:10px 0;border-bottom:1px solid var(--linha)}
.lista-simples small{color:var(--suave)}

/* ---------- formulários ---------- */
.form{max-width:660px}
.campo{margin-bottom:22px}
.campo label{display:block;font-weight:700;margin-bottom:8px}
.campo small{display:block;color:var(--suave);font-size:.95rem;margin-top:6px}
.opc{font-weight:400;color:var(--suave)}
.campo input:not([type=checkbox]),.campo select,.campo textarea,.busca input{width:100%;font:inherit;color:var(--tinta);background:var(--sup);border:2px solid var(--linha);border-radius:12px;padding:12px 14px;min-height:52px}
.campo input:focus,.campo select:focus,.campo textarea:focus,.busca input:focus{border-color:var(--marca);outline:3px solid rgba(244,201,138,.6);outline-offset:0}
.campo-check{display:flex;align-items:center;gap:12px}
.campo-check input{width:24px;height:24px;accent-color:var(--marca)}
.campo-check label{margin:0;font-weight:400}
.hp{position:absolute;left:-9999px}
.alerta{border-radius:14px;padding:16px 20px;margin-bottom:24px}
.alerta p{margin:0 0 .3em}
.alerta ul{margin:.3em 0 0;padding-left:1.2em}
.alerta-erro{background:#FDECEA;color:#7A1C14;border:2px solid #F1B5AE}
.alerta-ok{background:#E7F5EC;color:#14532D;border:2px solid #A7D8B7}
.busca{display:flex;gap:12px;margin-bottom:24px}
.resultados{list-style:none;padding:0}
.resultados li{padding:18px 0;border-bottom:1px solid var(--linha)}
.resultados a{font-family:var(--tit);font-weight:700;font-size:1.2rem;color:var(--link)}
.resultados p{color:var(--suave);margin:6px 0 0}
.tipo{display:block;font-size:.85rem;font-weight:700;color:var(--marca);margin-bottom:4px}

/* ---------- rodapé ---------- */
.rodape{background:#14122B;color:#fff;padding:64px 0 28px}
.rod-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.rodape h2{font-family:var(--tit);font-size:.98rem;color:var(--luz);margin:0 0 12px;letter-spacing:.02em}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin-bottom:8px}
.rodape a{color:rgba(255,255,255,.9);text-decoration:none}
.rodape a:hover{text-decoration:underline;color:#fff}
.rodape address{font-style:normal;color:rgba(255,255,255,.82);margin-top:16px;font-size:1rem}
.rod-fim{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:.95rem;color:rgba(255,255,255,.75)}

/* ---------- visualizador de fotos ---------- */
.luz{position:fixed;inset:0;z-index:200;background:rgba(14,12,34,.95);display:flex;align-items:center;justify-content:center;padding:calc(56px + env(safe-area-inset-top,0px)) 64px calc(56px + env(safe-area-inset-bottom,0px))}
.luz[hidden]{display:none}
.luz figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.luz img{max-height:calc(100vh - 160px);width:auto;max-width:100%;object-fit:contain;border-radius:8px}
.luz figcaption{color:#fff;margin-top:12px;text-align:center}
.luz button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:50%;width:52px;height:52px;font-size:1.5rem;cursor:pointer}
.luz button:hover{background:rgba(255,255,255,.28)}
.luz .fechar{top:calc(14px + env(safe-area-inset-top,0px));right:14px}
.luz .ant{left:10px;top:50%;transform:translateY(-50%)}
.luz .prox{right:10px;top:50%;transform:translateY(-50%)}

/* ---------- responsivo ---------- */
@media (max-width:1140px){
  .btn-menu{display:block}
  .menu{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--topo);padding:12px 16px 20px;border-bottom:1px solid rgba(255,255,255,.12);max-height:calc(100vh - 130px);overflow:auto}
  .menu.aberto{display:flex}
  .sub{position:static;box-shadow:none;min-width:0;margin:4px 0}
  .so-movel{display:inline}
  .menu .btn-apoie{margin:8px 0 0}
  .abertura .wrap,.quem,.transp .wrap,.com-lado{grid-template-columns:1fr}
  .abertura .ceu{display:none}
  .disco{width:min(400px,86%);margin-top:16px}
  .lado{position:static}
  .proj-grid,.polos,.cartoes,.albuns,.dir-grid{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}
  .rod-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .marca img{height:40px}
  .proj-grid,.polos,.rod-grid,.fichas,.cartoes,.albuns,.dir-grid{grid-template-columns:1fr}
  .acess .atalhos{width:100%}
  .acess .atalhos a:not(:first-child){display:none}
  .portal a{grid-template-columns:44px 1fr}
  .portal em{grid-row:auto;grid-column:2}
  .portal-claro a{grid-template-columns:1fr}
  .portal-claro em{grid-column:1}
  .ficha-tabela div{grid-template-columns:1fr;gap:4px}
  .busca{flex-direction:column}
  .luz{padding-left:8px;padding-right:8px}
  .grade-fotos{grid-template-columns:repeat(2,1fr);gap:8px}
  .pag-cab .ceu{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media print{.acess,.topo,.ceu,.btn-menu,[vw]{display:none!important}.abertura,.pag-cab,.transp,.rodape{background:none!important;color:#000}a{color:#000}}
