
/* Fórum TSDT 2026 — separadores (layout do cartaz + verde suavizado, fundo menos escuro) */
:root{
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.72);

  /* verde suavizado (menos saturado) */
  --brand: #3AA7A1;

  --card: rgba(255,255,255,.10);
  --card2: rgba(255,255,255,.08);
  --line: rgba(255,255,255,.14);

  --shadow: 0 18px 50px rgba(0,0,0,.26);
  --radius: 18px;
  --max: 1100px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* um pouco mais claro do que o escuro inicial, mantendo “cara” do cartaz */
  background:
    radial-gradient(1200px 700px at 18% 12%, rgba(47,158,151,.14), transparent 62%),
    radial-gradient(950px 650px at 86% 28%, rgba(255,138,0,.14), transparent 58%),
    linear-gradient(180deg, #1e4f54 0%, #18484d 40%, #143f44 100%);
  color: var(--text);
  line-height: 1.45;
}

a{color:inherit}
.wrap{max-width:var(--max); margin:0 auto; padding:0 18px}

.skip{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;}
.skip:focus{left:18px; top:18px; width:auto; height:auto; padding:10px 12px; background:#000; border-radius:10px; z-index:999}

.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(7,28,31,.62);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0;}

.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand__dot{
  width:10px; height:10px; border-radius:99px;
  background: var(--brand);
  box-shadow: 0 0 0 6px rgba(47,158,151,.10);
}
.brand__text{font-weight:800; letter-spacing:.2px}

.nav{
display:flex; 
gap:8px; 
flex-wrap:nowrap; 
align-items: center; 
margin-left:auto;
}

.nav__link{
  text-decoration:none;
  padding:8px 10px;
  border-radius: 12px;
  color: var(--muted);
  border: 1px solid transparent;
}
.nav__link:hover{background: rgba(255,255,255,.06); color: var(--text)}
.nav__link.is-active{
  background: rgba(255,255,255,.09);
  border-color: rgba(47,158,151,.14);
  color: rgba(255,255,255,.94);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius: 14px;
  text-decoration:none;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  color: var(--text);
  transition: transform .08s ease, background .12s ease;
  white-space: nowrap;
}
.btn:hover{background: rgba(255,255,255,.09); transform: translateY(-1px)}
.btn--solid{
  background: linear-gradient(135deg, rgba(47,158,151,.90), rgba(47,158,151,.58));
  border-color: rgba(47,158,151,.52);
  color:#062023;
  font-weight:800;
}
.btn--ghost{background: rgba(255,255,255,.04)}
.btn--big{padding:12px 16px; border-radius: 16px}

.tab{display:none}
.tab.is-active{display:block}

/* HERO com cartaz como fundo */
.hero{position:relative; padding: 34px 0 26px; overflow:hidden;}
.hero__bg{
  position:absolute; inset:0;
  background-image:
    linear-gradient(180deg, rgba(10,34,38,.30), rgba(10,34,38,.72)),
    url('banner.png');
  background-size: cover;
  background-position: center;
  filter: saturate(1.03) contrast(1.02);
  transform: scale(1.02);
}
.hero__content{position:relative; padding: 18px 0 30px}

.kicker{
  display:inline-block;
  padding:8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.88);
  font-weight:700;
  font-size: 13px;
}

h1{margin:12px 0 10px; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; letter-spacing: -.6px;}
.section{padding: 44px 0}
h2{margin:0 0 10px; font-size: 28px; letter-spacing: -.3px}
h3{margin:0 0 8px; font-size: 18px}
p{margin: 0 0 10px}
.muted{color: var(--muted)}
.link{color: rgba(47,158,151,.95); text-decoration: none}
.link:hover{text-decoration: underline}

.hero__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top: 16px;
}
.card{
  background: var(--card);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: 14px 14px 12px;
  box-shadow: var(--shadow);
}
.card__label{margin:0; color: var(--muted); font-weight:700; font-size: 13px}
.card__value{margin:6px 0 0; font-size: 18px; font-weight:900}
.card__hint{margin:2px 0 0; color: var(--muted)}

.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin-top: 16px}

.grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top: 14px;
}
.panel{
  background: var(--card2);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: 16px;
}

.prose{max-width: 82ch}
.list{margin:0; padding-left: 18px; color: var(--text)}
.list li{margin: 6px 0}

.timeline{margin-top: 10px; border-left: 2px solid rgba(47,158,151,.28); padding-left: 14px}
.slot{display:flex; gap:12px; padding: 12px 0}
.slot__time{min-width: 150px; color: rgba(255,255,255,.80); font-weight:800}
.slot__title{font-weight:900}
.slot__desc{color: var(--muted); margin-top:4px}

.bullets{margin: 10px 0 0; padding-left: 18px; color: rgba(255,255,255,.86);}
.bullets li{ margin: 6px 0; }

.callout{
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,138,0,.35);
  background: rgba(255,138,0,.10);
}
.callout p{margin: 6px 0 0}

.map{
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
}
.map iframe{width:100%; height: 300px; border:0; display:block}

.footer{padding: 26px 0 36px; border-top: 1px solid rgba(255,255,255,.08);}
.footer__inner{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;}

@media (max-width: 1000px){
  .hero__grid{grid-template-columns: 1fr;}
  .grid{grid-template-columns: 1fr}
  .slot__time{min-width: 120px}
  .logos img{max-height: 46px; max-width: 160px;}
}

/* Logos — todos com o mesmo tamanho e em caixa branca */
.logos{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:18px;
}

.logos img{
  background:#ffffff;
  border-radius:14px;
  padding:14px;
  height:90px;
  width:100%;
  object-fit:contain;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* Destaque de títulos */
h2{
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -0.4px;
  margin-bottom: 14px;
}
h2::after{
  content:"";
  display:block;
  width: 72px;
  height: 4px;
  margin-top: 10px;
  border-radius: 99px;
  background: rgba(47,158,151,.85);
  opacity: .9;
}
h3{
  font-size: 19px;
  font-weight: 900;
}

/* Logos — grelha uniforme, sem “gigantes” */
.logos{
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 18px;
  align-items: stretch;
}
.logos img{
  display:block;
  width:100%;
  height: 86px;
  padding: 14px 16px;
  background: #ffffff;
  border-radius: 16px;
  object-fit: contain;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
  filter: none;
}

/* Bloco único de patrocinadores (imagem completa) */
.patrocinio-bloco{
  margin-top:22px;
  background:#ffffff;
  padding:24px;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  text-align:center;
}
.patrocinio-bloco img{
  max-width:100%;
  height:auto;
  display:block;
  margin:0 auto;
}

/* ===== Patrocinadores (bloco único, imagem completa) ===== */
.patrocinio-bloco{
  margin-top: 26px;
  background: #ffffff;
  padding: 28px;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,.14);
  text-align: center;
}

.patrocinio-bloco img{
  width: 100%;
  max-width: 1000px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Destaque do tema no topo */
.kicker--hero{
  margin-top: 10px;
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .2px;
  padding: 10px 14px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}

/* ===== Navegação no telemóvel (separadores visíveis) ===== */
@media (max-width: 900px){
  .topbar__inner{flex-wrap:wrap}
  .nav{
    display:flex;
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    gap:10px;
    padding:10px 0 2px;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav__link{
    flex:0 0 auto;
    white-space:nowrap;
    padding:10px 12px;
    border-radius:12px;
    font-size:14px;
  }
}

/* ===== VARIANTE C — intermédia elegante ===== */

/* Fundo geral intermédio */
body{
  background:
    radial-gradient(1100px 600px at 18% 12%, rgba(47,158,151,.18), transparent 60%),
    radial-gradient(900px 560px at 82% 22%, rgba(255,138,0,.10), transparent 55%),
    linear-gradient(180deg, #1c4c50 0%, #174347 50%, #143d41 100%);
  color: rgba(255,255,255,.92);
}

/* Hero sem imagem */
.hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1100px 600px at 18% 14%, rgba(47,158,151,.26), transparent 62%),
    radial-gradient(900px 560px at 86% 22%, rgba(255,138,0,.14), transparent 58%),
    linear-gradient(180deg, #1f5256 0%, #18484c 50%, #144144 100%);
  transform:none;
}

/* Título com mais impacto */
h1{
  margin: 10px 0 8px;
  font-size: clamp(42px, 5vw, 66px);
  font-weight: 950;
  letter-spacing: -1px;
  line-height: 1.02;
}

/* Subtítulo com destaque suave */
.kicker--hero{
  display:inline-block;
  margin-top: 12px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .3px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.24);
  color: rgba(255,255,255,.95);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

/* Cartões ligeiramente mais claros */
.card, .panel{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}

/* Texto secundário */
.muted{
  color: rgba(255,255,255,.70);
}

/* Linha de título */
h2::after{
  background: rgba(47,158,151,.95);
}

/* Navegação ativa */
.nav__link.is-active{
  border-color: rgba(47,158,151,.35);
}

/* Botão principal */
.btn--solid{
  background: linear-gradient(135deg, rgba(47,158,151,1), rgba(47,158,151,.75));
  border-color: rgba(47,158,151,.55);
  color:#062023;
}

/* Ajuste: 4 cartões no topo */
.hero__grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px){ .hero__grid{ grid-template-columns: 1fr; } }

/* ===== v32 rebuild: cor no subtítulo do HERO ===== */
.kicker--hero{
  background: linear-gradient(90deg, #2f9e97 0%, #5bc0b8 55%, #ff8a00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
  letter-spacing: .4px;
  border: none;
  padding: 0;
}

/* 4 cartões no topo */
.hero__grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px){ .hero__grid{ grid-template-columns: 1fr; } }

/* Seção apoios/patrocínios */
.subhead{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .2px;
}
.section-split{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 900px){
  .section-split{ grid-template-columns: 1fr; }
}
.logo-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.logo-grid--sponsors{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px){
  .logo-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logo-grid--sponsors{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .logo-grid, .logo-grid--sponsors{ grid-template-columns: 1fr; }
}
.logo-tile{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  padding: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 92px;
}
.logo-tile img{
  max-height: 64px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.img-full{ width:100%; height:auto; border-radius:14px; display:block; }

/* Programa com cor */
.program-soon{ text-align:center; padding: 34px 20px; }
.program-soon__kicker{
  font-size: 22px;
  font-weight: 950;
  letter-spacing: .2px;
  background: linear-gradient(90deg, #2f9e97 0%, #5bc0b8 55%, #ff8a00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 6px;
}

/* ===== v33: separadores (tabs) ===== */
.tab-section{ display:none; }
.tab-section.is-active{ display:block; }

/* ===== v34: logos da parceria Unidade Móvel ===== */
.partner-logos{
  display:flex;
  gap:12px;
  margin-top:12px;
  flex-wrap:wrap;
}
.partner-logo-tile{
  background:#fff;
  border:1px solid rgba(15,42,45,.12);
  border-radius:14px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width: 160px;
}
.partner-logo-tile img{
  max-height:48px;
  max-width: 240px;
  width:auto;
  height:auto;
  object-fit:contain;
}
@media (max-width:520px){
  .partner-logo-tile{ width:100%; min-width: 0; }
}

/* ===== v36: títulos com destaque suave ===== */
.title-accent{
  position: relative;
  display: inline-block;
}
.title-accent:after{
  content:"";
  display:block;
  height:4px;
  width:54px;
  margin-top:10px;
  border-radius:999px;
  background: rgba(47,158,151,.75);
}

/* ===== v36: caixas brancas para imagens de apoios/patrocínios ===== */
.logo-strip{
  background:#fff;
  border:1px solid rgba(15,42,45,.12);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  overflow:hidden;
  margin-top:12px;
}
.logo-strip img{
  width:100%;
  height:auto;
  display:block;
}

/* garantir que o texto em fundo branco fica escuro (para blocos que usem branco) */
.logo-strip, .partner-logo-tile{ color:#0f2a2d; }

/* ===== v38 Programa elegante ===== */
.subhead-soft{
  color: rgba(255,255,255,0.85);
  font-weight: 700;
  margin-top: 8px;
  margin-bottom: 18px;
}

.program-list{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:12px;
}

.program-item{
  padding:16px 18px;
  border-left:4px solid rgba(47,158,151,.75);
  background: rgba(255,255,255,0.05);
  border-radius:8px;
}

.program-number{
  display:block;
  font-weight:800;
  letter-spacing:.5px;
  margin-bottom:6px;
  color: rgba(255,255,255,0.75);
}

.program-item p{
  margin:0;
  font-size:16px;
  line-height:1.5;
}

.program-note{
  margin-top:26px;
  font-style:italic;
  color: rgba(255,255,255,0.75);
}

/* Títulos não demasiado brancos */
.title-accent{
  color:#ffffff;
}

/* ===== FINAL: identidade (hexágonos discretos + cor secundária) ===== */
.hero{
  position: relative;
  overflow: hidden;
}
.kicker--hero{
  background: linear-gradient(90deg, #2f9e97 0%, #5bc0b8 55%, #ff8a00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
}
.hero h1{
  letter-spacing: .2px;
}
.hero h1 .year{
  color:#ff8a00;
}

/* Ajuste carrinha */
.parceria-carrinha {
  margin-top: 24px;
}

.unidade-movel {
  width: 100%;
  max-width: 980px;
  max-height: 220px;
  object-fit: contain;
  background: #fff;
  border-radius: 14px;
  padding: 8px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  display: block;
  margin: 0 auto;
}

/* ===== Hero (Início) ===== */
.hero {
  position: relative;
  padding: 70px 0 56px;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,159,28,0.16) 0 120px, transparent 160px),
    radial-gradient(circle at 78% 30%, rgba(54,194,170,0.20) 0 160px, transparent 220px),
    radial-gradient(circle at 42% 76%, rgba(124,205,84,0.14) 0 180px, transparent 260px);
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 520px;
  height: 520px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22520%22%20height%3D%22520%22%20viewBox%3D%220%200%20520%20520%22%3E%0A%3Cdefs%3E%0A%20%20%3Cpattern%20id%3D%22hex%22%20width%3D%2260%22%20height%3D%2252%22%20patternUnits%3D%22userSpaceOnUse%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M30%202%20L58%2015%20L58%2041%20L30%2050%20L2%2041%20L2%2015%20Z%22%20fill%3D%22none%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0%29%22%20stroke-width%3D%222%22/%3E%0A%20%20%3C/pattern%3E%0A%3C/defs%3E%0A%3Crect%20width%3D%22520%22%20height%3D%22520%22%20fill%3D%22url%28%23hex%29%22/%3E%0A%3Cg%20opacity%3D%220.9%22%3E%0A%20%20%3Cpath%20d%3D%22M350%2075%20L378%2088%20L378%20114%20L350%20123%20L322%20114%20L322%2088%20Z%22%20fill%3D%22rgba%28255%2C159%2C28%2C0.55%29%22/%3E%0A%20%20%3Cpath%20d%3D%22M410%20127%20L438%20140%20L438%20166%20L410%20175%20L382%20166%20L382%20140%20Z%22%20fill%3D%22rgba%2854%2C194%2C170%2C0.55%29%22/%3E%0A%20%20%3Cpath%20d%3D%22M350%20179%20L378%20192%20L378%20218%20L350%20227%20L322%20218%20L322%20192%20Z%22%20fill%3D%22rgba%28124%2C205%2C84%2C0.50%29%22/%3E%0A%20%20%3Cpath%20d%3D%22M290%20127%20L318%20140%20L318%20166%20L290%20175%20L262%20166%20L262%20140%20Z%22%20fill%3D%22rgba%2854%2C194%2C170%2C0.45%29%22/%3E%0A%20%20%3Cpath%20d%3D%22M230%20179%20L258%20192%20L258%20218%20L230%20227%20L202%20218%20L202%20192%20Z%22%20fill%3D%22rgba%28255%2C159%2C28%2C0.40%29%22/%3E%0A%3C/g%3E%0A%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.65;
  filter: blur(0px);
  pointer-events: none;
}

.hero-title {
  font-size: clamp(34px, 4.6vw, 56px);
  line-height: 1.05;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}

.hero-subtitle {
  margin: 0 0 26px;
  font-weight: 700;
  /* degradé subtil para dar vida sem “gritar” */
  background: linear-gradient(90deg,
    rgba(120, 233, 212, 0.95),
    rgba(255, 214, 140, 0.95),
    rgba(255, 170, 105, 0.95)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 0 rgba(0,0,0,0.18);
}

.hero-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 18px 0 18px;
}

.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 6px 0 18px;
}

.hero-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.card-kicker {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.9;
}

.card-main {
  font-size: 20px;
  font-weight: 800;
  margin-top: 6px;
}

.card-sub {
  margin-top: 4px;
  opacity: 0.92;
}

.card-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 6px;
}

.card-text {
  opacity: 0.95;
}

.card-note {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.82;
}

@media (max-width: 900px) {
  .hero::after { opacity: 0.45; width: 420px; height: 420px; top: -30px; right: -60px; }
  .hero-cards { grid-template-columns: 1fr; }
  .hero-info { grid-template-columns: 1fr; }
}

/* Hexágonos coloridos discretos (sem grelha) */
#inicio .wrap {
  position: relative;
}

#inicio .wrap::after {
  content: "";
  position: absolute;
  /* Favinhos coloridos, bem afastados do título (lado direito) */
  top: -60px;
  right: -140px;
  width: 580px;
  height: 360px;
  pointer-events: none;
  opacity: 0.34;
  background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22580%22%20height%3D%22360%22%20viewBox%3D%220%200%20580%20360%22%3E%3Cg%20opacity%3D%220.95%22%3E%3Cpolygon%20points%3D%22420%2C70%20445%2C84%20445%2C112%20420%2C126%20395%2C112%20395%2C84%22%20fill%3D%22%235bc0b8%22/%3E%3Cpolygon%20points%3D%22480%2C110%20502%2C123%20502%2C149%20480%2C162%20458%2C149%20458%2C123%22%20fill%3D%22%232f9e97%22/%3E%3Cpolygon%20points%3D%22535%2C82%20555%2C94%20555%2C118%20535%2C130%20515%2C118%20515%2C94%22%20fill%3D%22%23ff8a00%22/%3E%3Cpolygon%20points%3D%22455%2C160%20476%2C172%20476%2C196%20455%2C208%20434%2C196%20434%2C172%22%20fill%3D%22%23ffb000%22/%3E%3Cpolygon%20points%3D%22520%2C150%20538%2C161%20538%2C183%20520%2C194%20502%2C183%20502%2C161%22%20fill%3D%22%237bc96f%22/%3E%3Cpolygon%20points%3D%22545%2C205%20567%2C218%20567%2C244%20545%2C257%20523%2C244%20523%2C218%22%20fill%3D%22%235bc0b8%22/%3E%3Cpolygon%20points%3D%22490%2C220%20506%2C229%20506%2C247%20490%2C256%20474%2C247%20474%2C229%22%20fill%3D%22%2370e1ff%22/%3E%3Cpolygon%20points%3D%22510%2C260%20532%2C273%20532%2C299%20510%2C312%20488%2C299%20488%2C273%22%20fill%3D%22%232f9e97%22/%3E%3Cpolygon%20points%3D%22450%2C255%20466%2C264%20466%2C282%20450%2C291%20434%2C282%20434%2C264%22%20fill%3D%22%23ffa86a%22/%3E%3Cpolygon%20points%3D%22560%2C140%20572%2C147%20572%2C161%20560%2C168%20548%2C161%20548%2C147%22%20fill%3D%22%2370e1ff%22/%3E%3C/g%3E%3C/svg%3E') no-repeat;
  background-size: contain;
  background-position: top right;
}

@media (max-width: 700px) {
  #inicio .wrap::after {
    width: 260px;
    height: 220px;
    right: -60px;
    top: -30px;
    opacity: 0.28;
  }
}

/* --- Ajuste visual: manter apenas 1 conjunto de favos no topo --- */
.hero::after{ display:none !important; }



/* --- Apoios: parceria (texto + imagem) --- */
.logo-strip--apoios { margin-bottom: 22px; }

.parceria { margin-top: 90px; }
.parceria .subhead { margin-top: 10; }

.parceria-grid{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: center;
  margin-top: 10px;
}

.parceria-text p{ margin: 0; line-height: 1.55; }
.parceria {
  margin-top: 70px;
}

.parceria .subhead {
  margin-bottom: 14px;
  font-size: 28px;
  font-weight: 900;
}

.parceria-grid{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
  align-items: center;
  margin-top: 10px;
}

.parceria-text p{
  margin: 0;
  line-height: 1.65;
  text-align: justify;
}

.parceria-image{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 18px;
  padding: 14px;
}

.parceria-image .unidade-movel{
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  border-radius: 12px;
}.parceria-image{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 18px;
  padding: 12px;
}

.parceria-image .unidade-movel{
  width: 100%;
  max-width-. 900px;
  height: auto;
  display: block;
  border-radius: 12px;
}

@media (max-width: 900px){
  .parceria-grid{ grid-template-columns: 1fr; }
}

.premio-home{
  border: 1px solid rgba(255,170,0,.45);
  background: rgba(255,170,0,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.premio-home .card-kicker{
  color: #ffd27a;
  font-weight: 800;
}

/* INSCRIÇÕES — layout: 1 em cima + 3 em baixo */
#inscricoes .grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* 1ª caixa (Participação no Fórum) ocupa a linha toda */
#inscricoes .grid .panel:nth-child(1){
  grid-column: 1 / -1;
}

/* As 3 caixas seguintes ficam em 3 colunas */
#inscricoes .grid .panel:nth-child(2){ grid-column: 1 / 2; }
#inscricoes .grid .panel:nth-child(3){ grid-column: 2 / 3; }
#inscricoes .grid .panel:nth-child(4){ grid-column: 3 / 4; }

/* No telemóvel: tudo em 1 coluna */
@media (max-width: 900px){
  #inscricoes .grid{ grid-template-columns: 1fr; }
  #inscricoes .grid .panel:nth-child(1),
  #inscricoes .grid .panel:nth-child(2),
  #inscricoes .grid .panel:nth-child(3),
  #inscricoes .grid .panel:nth-child(4){
    grid-column: auto;
  }
}

/* Logo ULSA no topo (subtil) */
.topbar .brand{
  display: flex;
  align-items: center;
  gap: 12px;
}

.topbar .brand__logo{
  height: 50px !important;  /* subtil */
  width: auto !important;
  opacity: .85;
  display: block;
}

.brand__dot{
width: 8px;
height: 8px;
border-radius: 50%;
background: #2fbf9f;
}

.brand_text{ 
  font-weight: 800;
letter-spacing: .2px;
white-space: nowrap;
}

.panel .btn{ 
margin-top: 10px;
font-weight: 800;
background: #2fbf9f;
border: none;
color: #062c2f;
}

.panel .btn:hover{
background: #38d9b5;
}

#eventos .poster{
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

#eventos .poster img{
  max-width: 520px !important;
  width: 100% !important;
  height: auto !important;
  max-height: 70vh !important;
  object-fit: contain;
  display: block;
  border-radius: 18px;
}

 
.topbar__inner{
  position: relative;
}

@media (max-width: 820px){

  .nav{
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-right: 80px;
  }

  .nav{
    scrollbar-width: none;
  }

  .nav::-webkit-scrollbar{
    display: none;
  }
}

@media (max-width: 820px){

  .topbar__inner{ position: relative; }

  /* seta fixa no lado direito (não anda com o scroll) */
  .topbar__inner::after{
    content: "›";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 800;
    color: rgba(255,255,255,0.9);
    pointer-events: none;

    background: rgba(12,78,72,0.85);
    border-radius: 999px;
    padding: 2px 8px;
    z-index: 50;
  }

  /* mantém o scroll da nav */
  .nav{
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-right: 60px; /* espaço para a seta */
  }
.panel h3{
  white-space: nowrap;
  font-size: 17px;
}