/* Estilos comuns das páginas públicas (index, autarquias, empresas, eventos, campeonato). Fonte: landing-src/site.css; o build copia-o para frontend/css/. */
  :root{
    --red:#D40000; --green:#00AF00; --green-d:#008c00; --green-t:#006b00; --yellow:#FFF200; --blue:#0000FF; --orange:#F28C00;
    --sky:#9ED6E8; --pink:#ECBCC1; --mint:#BEE9D6; --charcoal:#2A2326; /* fundos do manual de normas: branco, azul céu, rosa (vermelho esbatido) e menta (verde esbatido) */
    --muted:#5f565b; --line:#d3e5ec;
  }
  *{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
  html{scroll-behavior:smooth; scroll-padding-top:84px; overflow-x:clip;}
  body{margin:0; font-family:'Nunito Sans', system-ui, sans-serif; color:var(--charcoal); background:#fff; line-height:1.6;} /* sem overflow-x no body: com ele o cabeçalho fixo (sticky) deixava de acompanhar o scroll; o html já corta com overflow-x:clip */
  h1,h2,h3,h4{font-family:'Arvo', Georgia, serif; font-weight:400; margin:0; line-height:1.15;}
  a{color:inherit;} img{max-width:100%; height:auto; display:block;}
  button,input,textarea,select{font-family:inherit;} button{cursor:pointer;}
  :focus-visible{outline:3px solid var(--blue); outline-offset:3px; border-radius:6px;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  .tag{display:inline-block; font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--green-t);}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:99px; padding:15px 28px; font-weight:700; font-size:1.02rem; text-decoration:none; transition:.2s; min-height:52px; text-align:center;}
  /* letras brancas nos botões verdes (pedido); no hover o verde escurece, para o contraste não piorar */
  .btn.lp-pri{background:var(--green); color:#fff; box-shadow:0 10px 24px rgba(0,175,0,.32);} .btn.lp-pri:hover{background:var(--green-d); transform:translateY(-2px);}
  .btn.lp-line{background:#fff; color:var(--charcoal); border:2px solid var(--charcoal);} .btn.lp-line:hover{background:var(--charcoal); color:#fff;}
  .btn.lp-sm{padding:10px 20px; font-size:.92rem; min-height:44px; white-space:nowrap;}
  .btn.lp-seg{width:100%; background:var(--c); color:#fff;} .btn.lp-seg:hover{filter:brightness(.9); transform:translateY(-2px);}
  .btn .wa-ic{width:20px; height:20px; flex:none;}
  .li{width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  @media (prefers-reduced-motion:reduce){ *{animation:none !important; transition:none !important;} html{scroll-behavior:auto;} .slide:first-child{opacity:1 !important;} }

  /* ---- cabeçalho mínimo: numa página de anúncios o visitante não deve fugir ---- */
  .lp-top{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}
  .top-in{display:flex; align-items:center; gap:20px; height:84px;}
  .lp-brand{display:block; flex:none; text-decoration:none;} .lp-brand svg{height:64px; width:auto; display:block;}
  .lp-menu{display:flex; gap:2px; margin-left:auto; align-items:center;}
  .lp-menu a{display:block; padding:9px 14px; border-radius:99px; text-decoration:none; font-weight:700; font-size:.93rem;} .lp-menu a:hover{background:var(--sky);}
  .top-acts{display:flex; gap:10px; align-items:center;}
  .tel{display:inline-flex; align-items:center; gap:8px; font-weight:700; text-decoration:none; padding:8px 6px; white-space:nowrap;} .tel svg{width:20px; height:20px;}

  /* ---- 1. topo: a promessa universal ---- */
  .lp-hero{padding:34px 0 112px; background:linear-gradient(180deg, #fff 0%, #F4FAFC 100%);}
  .hero-grid{display:grid; grid-template-columns:1.02fr 1fr; gap:46px; align-items:center;}
  h1{font-size:clamp(2rem, 3.6vw, 2.85rem); margin:12px 0 16px; letter-spacing:-.01em;}
  .lp-lede{font-size:1.06rem; max-width:52ch; color:#3f383c; margin:0;}
  .lp-hero .lp-lede{max-width:56ch; font-size:1rem;}
  .vp{list-style:none; margin:26px 0 0; padding:22px 0 0; border-top:2px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:14px 26px;} .vp li{display:flex; align-items:flex-start; gap:10px; font-size:.93rem; line-height:1.4;} .vp svg{width:24px; height:24px; padding:4px; border-radius:50%; background:#E3F5E3; color:var(--green-t); flex:none; margin-top:0;}
  .lp-hero .call{margin:20px 0 0; max-width:56ch; font-size:1.08rem;}
  .lp-hero .cta-note{margin:10px 0 0; font-size:.84rem; font-weight:600; color:var(--muted);}
  .hero-cta{display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:14px;} .lp-hero .hero-cta .btn{padding:17px 36px; font-size:1.1rem;}
  .checks{list-style:none; margin:16px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 22px;} .checks li{display:flex; align-items:center; gap:9px; font-weight:700; font-size:.92rem;} .checks svg{width:22px; height:22px; color:var(--green); flex:none;}
  /* carrossel de fotografias (só CSS): mostra a diversidade do público */
  .reel{position:relative; border-radius:28px; overflow:hidden; aspect-ratio:5/4; background:var(--sky); border:6px solid #fff; box-shadow:0 28px 60px rgba(42,35,38,.22);}
  .slide{position:absolute; inset:0; margin:0; opacity:0; animation:fade 30s infinite;}
  .slide img{width:100%; height:100%; object-fit:cover;}
  .slide:nth-child(1){animation-delay:0s;} .slide:nth-child(2){animation-delay:5s;} .slide:nth-child(3){animation-delay:10s;} .slide:nth-child(4){animation-delay:15s;} .slide:nth-child(5){animation-delay:20s;} .slide:nth-child(6){animation-delay:25s;}
  @keyframes fade{0%{opacity:0;} 3%{opacity:1;} 17%{opacity:1;} 20%{opacity:0;} 100%{opacity:0;}}
  .slide:first-child{animation-name:fade1;} /* a primeira já está visível ao abrir a página */
  @keyframes fade1{0%{opacity:1;} 17%{opacity:1;} 20%{opacity:0;} 97%{opacity:0;} 100%{opacity:1;}}
  .slide figcaption{position:absolute; left:16px; bottom:16px; background:#fff; border-radius:99px; padding:7px 16px; font-weight:700; font-size:.86rem; box-shadow:0 8px 20px rgba(42,35,38,.2);}
  .quick{display:none; gap:8px; flex-wrap:wrap; margin-top:18px;} .quick a{flex:1 1 auto; text-align:center; text-decoration:none; font-weight:700; font-size:.95rem; padding:12px 14px; border-radius:99px; background:#fff; border:2px solid var(--c); color:var(--c);}
  .reel-note{margin:8px 4px 0; font-size:.74rem; color:var(--muted); line-height:1.35;}

  /* ---- 2. triagem: o bloco mais importante (sobe para cima da dobra) ---- */
  .triage{position:relative; z-index:2; margin-top:-72px; padding:0 0 70px;}
  .triage-q{display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 14px; text-align:center;}
  .triage-q h2{font-size:clamp(1.25rem, 2.4vw, 1.7rem);} .triage-q .arr{font-size:1.4rem; color:var(--green);}
  .tri-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
  .tri{--c:var(--red); --bg:var(--sky); display:flex; flex-direction:column; background:#fff; border-radius:28px; overflow:hidden; box-shadow:0 22px 54px rgba(42,35,38,.16); border:2px solid transparent; transition:.25s; text-decoration:none; color:inherit;}
  .tri:hover{transform:translateY(-6px); border-color:var(--c);}
  .tri.a{--c:var(--red); --bg:var(--pink);} .tri.e{--c:var(--blue); --bg:var(--sky);} .tri.g{--c:var(--green-t); --bg:var(--mint);}
  .tri-top{background:var(--bg); padding:22px 24px; display:flex; align-items:center; gap:16px;}
  .tri-ic{flex:none; width:60px; height:60px; border-radius:18px; background:#fff; color:var(--c); padding:14px;}
  .tri-top small{display:block; font-weight:700; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--charcoal); opacity:.7;}
  .tri-top h3{font-size:1.45rem;}
  .tri-body{padding:20px 24px 26px; display:flex; flex-direction:column; gap:14px; flex:1;}
  .tri-body > b{font-size:1.02rem;}
  .tri-body ul{list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:.95rem;}
  .tri-body li{display:flex; gap:10px; align-items:flex-start;} .tri-body li::before{content:'✓'; flex:none; width:22px; height:22px; border-radius:50%; background:var(--bg); color:var(--charcoal); font-weight:700; font-size:.78rem; display:flex; align-items:center; justify-content:center; margin-top:1px;}
  .tri-body .btn{margin-top:auto;}

  /* ---- vídeo: os jogos em ação (30 s) ---- */
  .video{padding:72px 0; background:var(--sky); scroll-margin-top:84px;}
  .video .head{margin-bottom:28px;}
  .vid{max-width:720px; margin:0 auto; border-radius:28px; overflow:hidden; border:8px solid #fff; box-shadow:0 22px 54px rgba(42,35,38,.2); background:#000; line-height:0;} .vid video{width:100%; aspect-ratio:16/9; display:block; background:#000;}
  .video-cta{text-align:center; margin-top:28px;}

  /* ---- 3. secções por público (âncoras) ---- */
  section.lp-seg{padding:84px 0; scroll-margin-top:84px;}
  section.lp-seg.a{background:var(--pink);} section.lp-seg.e{background:#fff;} section.lp-seg.g{background:var(--mint);}
  .seg-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
  .lp-seg.rev .seg-grid > :first-child{order:2;}
  .lp-seg h2{font-size:clamp(1.8rem, 3.4vw, 2.6rem); margin:10px 0 14px;}
  .lp-seg .lp-lede{margin-bottom:22px;}
  .benefits{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .ben{background:#fff; border-radius:20px; padding:18px 20px;} .lp-seg.e .ben{background:var(--sky);}
  .ben h3{font-size:1.04rem; margin-bottom:6px;} .ben p{margin:0; font-size:.92rem; color:#3f383c; line-height:1.5;}
  .lp-seg .btn{margin-top:26px;}
  .lp-seg.e .ben.em{border:2px solid var(--blue);} .lp-seg .lp-lede strong{color:var(--blue);}
  .specs{list-style:none; margin:46px 0 0; padding:26px 32px; background:var(--red); color:#fff; border-radius:24px; display:grid; grid-template-columns:repeat(3, 1fr); gap:20px 28px;} .specs li{display:flex; align-items:center; gap:14px; font-weight:600; font-size:1.02rem; line-height:1.3;} .specs svg{width:26px; height:26px; flex:none; fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
  .seg-photo{margin:0; border-radius:28px; overflow:hidden; box-shadow:0 22px 50px rgba(42,35,38,.16); border:8px solid #fff; aspect-ratio:4/3;} .seg-photo img{width:100%; height:100%; object-fit:cover;}
  .seg-photo figcaption{display:none;}
  .seg-tag{display:inline-flex; align-items:center; gap:8px; border-radius:99px; padding:7px 16px; font-weight:700; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:#fff;}
  .lp-seg.a .seg-tag{background:var(--red);} .lp-seg.e .seg-tag{background:var(--blue);} .lp-seg.g .seg-tag{background:var(--green-t);}
  .seg-tag svg{width:16px; height:16px;}

  /* ---- 4. confiança universal ---- */
  .trust{padding:84px 0; background:#fff;}
  .head{max-width:720px; margin:0 auto 38px; text-align:center;} .head h2{font-size:clamp(1.7rem, 3.2vw, 2.4rem); margin-top:10px;} .head p{color:var(--muted); font-size:1.08rem; margin:12px 0 0;}
  /* parede de cartazes: 2 cartazes verticais (2 linhas) + 4 horizontais, num bloco 4×2 sem buracos */
  .posters{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;}
  .cz{position:relative; margin:0; aspect-ratio:3/2; border-radius:18px; overflow:hidden; box-shadow:0 12px 28px rgba(42,35,38,.16); background:var(--sky);} .cz.tall{grid-row:span 2; aspect-ratio:auto;}
  .cz img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .cz figcaption{position:absolute; left:10px; bottom:10px; right:10px; width:fit-content; max-width:calc(100% - 20px); background:#fff; border-radius:99px; padding:5px 12px; font-size:.78rem; font-weight:700; line-height:1.25; box-shadow:0 6px 16px rgba(42,35,38,.2);}
  .trust-note{text-align:center; font-size:.82rem; color:var(--muted); margin-top:14px;}
  .stats{display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:16px; margin-top:34px;}
  .lp-stat{background:var(--sky); border-radius:22px; padding:22px 24px; text-align:center;} .lp-stat b{display:block; font-family:'Arvo', serif; font-weight:400; font-size:2rem; color:var(--green-t);} .lp-stat span{font-size:.9rem; color:var(--muted); font-weight:600;}

  /* ---- agenda: os próximos eventos públicos (lidos de /api/events/public, a mesma fonte do site) ---- */
  .lp-agenda{padding:84px 0; background:var(--sky); scroll-margin-top:84px;}
  .ag-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
  .ag-card{display:flex; flex-direction:column; background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 16px 40px rgba(42,35,38,.12);}
  .ag-img{aspect-ratio:4/3; background:var(--pink); display:flex; align-items:center; justify-content:center; font-family:'Arvo', serif; font-size:2.2rem; color:var(--charcoal); text-align:center; line-height:1.1; padding:12px;} .ag-img img{width:100%; height:100%; object-fit:cover; object-position:50% 0;}
  .ag-body{padding:18px 22px 22px; display:flex; flex-direction:column; gap:6px;}
  .ag-date{align-self:flex-start; background:var(--red); color:#fff; font-weight:700; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; border-radius:99px; padding:5px 14px;}
  .ag-body h3{font-size:1.25rem; margin-top:6px;} .ag-body p{margin:0; color:var(--muted); font-size:.94rem;}
  .ag-more{display:flex; justify-content:center; margin-top:26px;} .ag-more[hidden], .ag-all[hidden]{display:none;}
  .ag-all{margin-top:30px; background:#fff; border-radius:24px; padding:26px 28px 30px; box-shadow:0 16px 40px rgba(42,35,38,.12); scroll-margin-top:96px;}
  .ag-all-h{font-size:1.45rem; margin:0 0 6px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap;} .ag-all-h span{font-family:'Nunito Sans', sans-serif; font-size:.9rem; font-weight:700; color:var(--muted);}
  .ag-month h4{margin:22px 0 8px; font-size:.86rem; letter-spacing:.08em; text-transform:uppercase; color:var(--red);}
  .ag-month ul{list-style:none; margin:0; padding:0; display:grid; gap:2px;}
  .ag-month li{display:flex; align-items:center; gap:16px; padding:11px 4px; border-top:1px solid var(--line);} .ag-month li:first-child{border-top:0;}
  .ag-day{flex:none; width:58px; text-align:center; background:var(--sky); border-radius:14px; padding:7px 0 6px; font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); line-height:1;} .ag-day b{display:block; font-family:'Arvo', serif; font-weight:400; font-size:1.5rem; color:var(--charcoal); margin-bottom:3px;}
  .ag-txt b{display:block; font-size:1.02rem;} .ag-txt small{display:block; color:var(--muted); font-size:.88rem; margin-top:1px;}
  .ag-empty{grid-column:1 / -1; text-align:center; background:#fff; border-radius:24px; padding:32px 24px; font-weight:600;}

  /* ---- perguntas frequentes (sem JavaScript: <details>) ---- */
  .faq{padding:84px 0; background:#fff;}
  .faq .wrap{max-width:900px;}
  .faq-head h2{font-size:clamp(1.8rem, 3.4vw, 2.6rem); margin-top:10px;}
  .faq-list{display:grid; gap:12px; margin-top:34px;}
  .faq-list details{background:#fff; border-radius:20px; box-shadow:0 8px 22px rgba(42,35,38,.06); border:2px solid var(--line); border:2px solid transparent; transition:.2s;} .faq-list details[open]{border-color:var(--blue);}
  .faq-list summary{list-style:none; cursor:pointer; padding:20px 24px; font-family:'Arvo', serif; font-size:1.1rem; display:flex; align-items:center; gap:16px; justify-content:space-between;} .faq-list summary::-webkit-details-marker{display:none;}
  .faq-list summary::after{content:'+'; flex:none; width:32px; height:32px; border-radius:50%; background:var(--sky); display:flex; align-items:center; justify-content:center; font-family:'Nunito Sans', sans-serif; font-weight:700; font-size:1.3rem; transition:.2s;} .faq-list details[open] summary::after{content:'–';}
  .faq-list .q{display:block; flex:1;} .faq-list .short{display:block; margin-top:5px; font-family:'Nunito Sans', sans-serif; font-size:.95rem; font-weight:600; line-height:1.45; color:#3f383c;} .faq-list details[open] .short{display:none;}
  .faq-list details p{margin:0; padding:0 24px 22px; color:#3f383c; max-width:68ch;}

  /* ---- 5. formulário inteligente ---- */
  .contact{padding:84px 0 96px; background:var(--sky); scroll-margin-top:84px;}
  .lp-contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:46px; align-items:start;}
  .contact h2{font-size:clamp(1.8rem, 3.4vw, 2.6rem); margin:10px 0 14px;} .contact .lp-lede{color:var(--charcoal);}
  .promise{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px;} .promise li{display:flex; gap:12px; align-items:flex-start; font-weight:600;} .promise li::before{content:'✓'; flex:none; width:26px; height:26px; border-radius:50%; background:#fff; color:var(--green-t); font-weight:700; display:flex; align-items:center; justify-content:center;}
  .direct{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; align-items:flex-start;}
  .tel-box{display:flex; flex-direction:column; align-items:center; gap:4px;} .rn{font-size:.74rem; font-weight:600; line-height:1.2; color:#3f383c;}
  .form{background:#fff; border-radius:30px; padding:34px; box-shadow:0 24px 60px rgba(42,35,38,.18); border-top:8px solid var(--c, var(--sky)); transition:border-color .25s;}
  .form h3{font-size:1.5rem; margin-bottom:6px;} .form > p{margin:0 0 22px; color:var(--muted);}
  .fl{display:block; font-weight:700; font-size:.86rem; margin:0 0 7px;} .lp-req{color:var(--red);} .opt{font-weight:600; color:var(--muted);}
  .lp-fg{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;} .lp-fg .lp-full{grid-column:1 / -1;}
  .fi{width:100%; padding:13px 16px; border:2px solid var(--line); border-radius:14px; font-size:1rem; color:var(--charcoal); background:#fff; outline:none; transition:.15s;} .fi:focus{border-color:var(--green); box-shadow:0 0 0 4px rgba(0,175,0,.14);}
  .fi:user-invalid{border-color:var(--red);}
  select.fi{appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A2326' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:18px; padding-right:44px;}
  .lp-who{border-color:var(--charcoal);}
  .hint{margin:8px 0 0; font-size:.86rem; color:var(--muted); min-height:1.3em; font-weight:600;}
  .form .btn{width:100%; margin-top:6px;} .fine{font-size:.82rem; color:var(--muted); text-align:center; margin:12px 0 0;}
  .lp-ok{display:none; text-align:center; padding:40px 10px;} .lp-ok h3{margin:10px 0 6px;} .form.sent form{display:none;} .form.sent .lp-ok{display:block;} .form.sent > h3, .form.sent > p{display:none;}

  footer{background:#fff; border-top:1px solid var(--line); padding:40px 0 110px;}
  .ft{display:flex; gap:30px; flex-wrap:wrap; align-items:center; justify-content:space-between;} .ft svg{height:64px; width:auto;}
  .ft p{margin:0; color:var(--muted); font-size:.9rem;} .ft a{font-weight:700; text-decoration:none;}
  /* ---- cookies e privacidade ---- */
  .linkbtn{background:none; border:0; padding:0; font:inherit; font-weight:700; color:inherit; cursor:pointer;} .linkbtn:hover{color:var(--blue);}
  #cookieBar{position:fixed; left:12px; right:12px; bottom:12px; z-index:2000; max-width:980px; margin:0 auto; background:#fff; color:var(--charcoal); border:2px solid var(--sky); border-radius:22px; box-shadow:0 18px 50px rgba(42,35,38,.28); padding:18px 22px; display:flex; gap:16px 22px; align-items:center; flex-wrap:wrap;}
  #cookieBar[hidden]{display:none;}
  #cookieBar p{margin:0; flex:1 1 320px; font-size:.92rem; line-height:1.5;}
  #cookieBar .acts{display:flex; gap:10px; flex-wrap:wrap;} #cookieBar .btn{min-height:46px; padding:11px 22px; font-size:.95rem;}
  body.has-cookiebar .sticky-cta{display:none !important;}
  /* popup do formulário */
  dialog.formdlg{width:calc(100% - 24px); max-width:640px; border:0; border-radius:30px; padding:0; background:transparent; overflow:visible; box-shadow:none;} dialog.formdlg::backdrop{background:rgba(42,35,38,.6);}
  dialog.formdlg .fd-in{position:relative; max-height:calc(100vh - 24px); overflow:auto; border-radius:30px; background:#fff;}
  dialog.formdlg .form{box-shadow:none; border-radius:0; margin:0;} dialog.formdlg .form > h3{padding-right:46px;}
  .fd-x{position:absolute; right:14px; top:18px; z-index:2; width:40px; height:40px; border-radius:50%; border:0; background:var(--sky); font-size:1.4rem; line-height:1; cursor:pointer; color:var(--charcoal);}
  .fd-alt{padding:0 34px 26px; font-size:.88rem; color:var(--muted); text-align:center;} .fd-alt a{font-weight:700; color:var(--charcoal); text-decoration:none;}
  body:has(dialog[open]){overflow:hidden;}
  dialog.lp-priv{width:calc(100% - 32px); max-width:760px; border:0; border-radius:26px; padding:0; color:var(--charcoal); box-shadow:0 30px 80px rgba(42,35,38,.4);} dialog.lp-priv::backdrop{background:rgba(42,35,38,.55);}
  .priv-in{max-height:82vh; overflow:auto; padding:30px 32px 28px;} .priv-in h2{font-size:1.5rem; margin-bottom:6px;} .priv-in h3{font-size:1.05rem; margin:22px 0 6px;} .priv-in p, .priv-in li{font-size:.93rem; line-height:1.6;} .priv-in p{margin:6px 0;} .priv-in ul{margin:6px 0; padding-left:20px;}
  .priv-in table{border-collapse:collapse; width:100%; font-size:.86rem; margin:8px 0;} .priv-in th{text-align:left; background:var(--sky); padding:8px 10px;} .priv-in td{padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top;}
  .priv-x{position:absolute; right:14px; top:12px; width:40px; height:40px; border-radius:50%; border:0; background:var(--sky); font-size:1.4rem; line-height:1; cursor:pointer; color:var(--charcoal);}
  .priv-note{font-size:.8rem; color:var(--muted);}
  .sticky-cta{display:none; position:fixed; left:12px; right:12px; bottom:12px; z-index:48; gap:10px; transition:transform .3s;} .sticky-cta.hide{transform:translateY(140%);} .sticky-cta .btn{flex:1; padding:14px 10px; font-size:.9rem; gap:6px;} .sticky-cta .btn.lp-pri{flex:1.7;}

  @media (max-width:1000px){
    .lp-menu{display:none;}
    .lp-hero{padding:24px 0 110px;} .hero-grid, .seg-grid, .lp-contact-grid{grid-template-columns:1fr;} .lp-seg.rev .seg-grid > :first-child{order:0;}
    .ag-grid{grid-template-columns:1fr;} .specs{grid-template-columns:repeat(2, 1fr);}
    .tri-grid{grid-template-columns:1fr; gap:16px;} .triage{margin-top:-80px;}
    .stats{grid-template-columns:1fr;}
    .top-in{height:72px;} .lp-brand svg{height:56px;}
    .sticky-cta{display:flex;}
  }
  @media (max-width:640px){
    /* no telemóvel a triagem tem de aparecer logo: sem carrossel nem lista de vantagens no topo, com atalhos para cada público */
    .reel, .reel-note{display:none;}
    .quick{display:flex;} .lp-hero{padding:16px 0 96px;} .hero-cta{margin-top:16px;}
    h1{font-size:2rem;} .lp-lede{font-size:1rem;} .vp{grid-template-columns:1fr; gap:10px;}
  }
  @media (max-width:640px){
    .fd-alt{padding:0 20px 22px;} .wrap{padding:0 18px;} .tel span{display:none;} .benefits{grid-template-columns:1fr;} .lp-fg{grid-template-columns:1fr;} .form{padding:26px 20px;}
    .top-acts .btn.lp-sm{padding:9px 16px;}
    .specs{grid-template-columns:1fr; padding:22px 22px;}
    .posters{grid-template-columns:repeat(2, 1fr); gap:12px;} .cz figcaption{font-size:.7rem; padding:4px 9px;}
  }
  /* campeonato (faixa escura da página inicial) */
  .cp{padding:84px 0; background:var(--yellow); color:var(--charcoal);}
  .cp-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
  .cp .tag{color:var(--charcoal);} .cp h2{font-size:clamp(1.8rem, 3.4vw, 2.7rem); margin:12px 0 14px; color:var(--charcoal); line-height:1.15;}
  .cp p{margin:0; color:var(--charcoal); font-size:1.08rem; max-width:46ch; line-height:1.6;}
  .cp-btns{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;} .btn.cp-ghost{background:transparent; color:var(--charcoal); border:2px solid var(--charcoal);} .btn.cp-ghost:hover{background:var(--charcoal); color:#fff;}
  .cp p.cp-more{margin-top:18px; font-size:.98rem;} .cp-more a{color:var(--charcoal); font-weight:800; text-underline-offset:4px;}
  .cp-pod{display:flex; align-items:flex-end; justify-content:center; gap:10px;}
  .cp-s{flex:1; max-width:130px; display:flex; flex-direction:column; align-items:center; gap:8px;} .cp-s i{font-style:normal; font-size:2.4rem; line-height:1;} .cp-s b{width:100%; display:grid; place-items:center; border-radius:14px 14px 0 0; font-family:'Arvo', serif; font-weight:400; font-size:2rem; color:var(--charcoal);}
  .cp-1 b{height:150px; background:var(--charcoal); color:var(--yellow);} .cp-2 b{height:106px; background:var(--sky);} .cp-3 b{height:80px; background:var(--orange); color:#fff;}
  @media (max-width:1000px){ .cp-grid{grid-template-columns:1fr; gap:34px;} .cp-pod{max-width:360px;} .cp{padding:64px 0;} }
  .form-err{margin:10px 0 0; color:var(--red); font-weight:700; font-size:.9rem; text-align:center;} .form-err[hidden]{display:none;}
  .lp-menu a[aria-current="page"]{color:var(--red);}
  .ft-nav a{font-weight:700;}
  .ft-social{display:flex; gap:12px;} .ft-social a{width:42px; height:42px; border-radius:50%; border:1.5px solid var(--line); display:inline-flex; align-items:center; justify-content:center; color:var(--charcoal); transition:.15s;} .ft-social a:hover{color:var(--blue); border-color:var(--blue);} .ft-social svg{width:20px; height:20px; fill:currentColor; display:block;}
