/* RFC IPTV — sistema de design: paleta "sinal mosaico" (índigo profundo
   + âmbar dourado + creme quente, com coral empoeirado como realce),
   tipografia Bricolage Grotesque (títulos, grotesca com personalidade)
   e Figtree (corpo). Cabeçalho de camada única com sublinhado deslizante
   nos links, hero assimétrico com colagem de blocos sobrepostos,
   diferenciais em carrossel horizontal com rolagem por "snap", passo a
   passo em zigue-zague alternado, planos em cartões deslizáveis com
   paginação por pontos, FAQ com barra vertical crescente ao lado de um
   selo numerado, botões em paralelogramo (bordas inclinadas), rodapé com
   trilha de circuito (linha tracejada + nós) — layout, paleta e
   componentes distintos dos demais projetos gerados a partir de prompts
   semelhantes. */

:root{
  --indigo:#1C2340;
  --indigo-2:#262E52;
  --amber:#F2A93C;
  --amber-dark:#D4881E;
  --coral:#E8563E;
  --cream:#FCF1E3;
  --bg:#FCF1E3;
  --bg-2:#F5E4CC;
  --card:#FFFFFF;
  --text:#221F2C;
  --text-soft:#6B6458;
  --border:#E9D7B8;
  --radius-sm:6px;
  --radius-md:16px;
  --radius-lg:24px;
  --font-head:"Bricolage Grotesque", Arial, sans-serif;
  --font-body:"Figtree", Arial, sans-serif;
  --shadow-card:0 1px 3px rgba(28,35,64,.09), 0 16px 32px -20px rgba(28,35,64,.38);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.62;
}
img{max-width:100%;display:block}
a{color:var(--coral);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--indigo);line-height:1.15;margin:0 0 .5em;font-weight:700}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 1.25rem}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
section{padding:2.6rem 0}

@media (prefers-reduced-motion: no-preference){
  html.js-anim .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease}
  html.js-anim .reveal.is-visible{opacity:1;transform:none}
  .fab-whatsapp{animation:fab-pulse 2.6s ease-in-out infinite}
  @keyframes fab-pulse{
    0%,100%{box-shadow:0 6px 18px -6px rgba(28,35,64,.5), 0 0 0 0 rgba(232,86,62,.55)}
    50%{box-shadow:0 6px 18px -6px rgba(28,35,64,.5), 0 0 0 10px rgba(232,86,62,0)}
  }
}

/* ---------- Botões (paralelogramo, bordas inclinadas) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8rem 1.7rem;font-weight:700;font-size:.95rem;
  border:2px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  min-height:44px;font-family:var(--font-head);
  clip-path:polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--coral);color:#fff}
.btn-primary:hover{background:#C8432D;text-decoration:none;box-shadow:0 10px 22px -10px rgba(232,86,62,.55)}
.btn-outline{background:transparent;border-color:var(--indigo);color:var(--indigo)}
.btn-outline:hover{background:var(--indigo);color:#fff;text-decoration:none}
.btn-cream{background:var(--amber);color:var(--indigo);border-color:var(--amber)}
.btn-cream:hover{background:var(--amber-dark);text-decoration:none}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.42)}
.btn-ghost:hover{background:rgba(255,255,255,.24);text-decoration:none}
.btn-sm{padding:.55rem 1.2rem;font-size:.85rem;min-height:38px}
.btn-block{width:100%}

/* ---------- Cabeçalho (camada única, sublinhado deslizante) ---------- */
.site-header{position:sticky;top:0;z-index:40;background:var(--cream);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}
.logo{display:flex;align-items:center;gap:.5rem}
.logo img{height:34px;width:auto}
.main-nav{display:none}
.main-nav ul{display:flex;list-style:none;gap:1.5rem;margin:0;padding:0}
.main-nav a{
  position:relative;display:inline-block;color:var(--indigo);font-weight:700;font-size:.88rem;padding:.4rem .05rem;
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:3px;background:var(--coral);
  transition:right .2s ease;border-radius:2px;
}
.main-nav a:hover{text-decoration:none}
.main-nav a:hover::after{right:0}
.main-nav a[aria-current="page"]{color:var(--coral)}
.main-nav a[aria-current="page"]::after{right:0;background:var(--amber)}
.header-actions{display:flex;align-items:center;gap:.5rem}
.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--indigo);
}
.icon-btn:hover{background:var(--bg-2)}
.menu-toggle{display:inline-flex}
@media (min-width:960px){
  .main-nav{display:block}
  .menu-toggle{display:none}
}

/* ---------- Menu mobile ---------- */
.mobile-nav{position:fixed;inset:0;background:rgba(28,35,64,.6);z-index:60;display:none}
.mobile-nav.open{display:block}
.mobile-nav-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(88vw,340px);background:#fff;
  padding:1.4rem;overflow-y:auto;box-shadow:-12px 0 30px rgba(28,35,64,.3);
}
.mobile-nav-panel ul{list-style:none;margin:1.2rem 0;padding:0}
.mobile-nav-panel li{border-bottom:1px solid var(--border)}
.mobile-nav-panel a{display:block;padding:.85rem .2rem;font-weight:700;color:var(--indigo);font-size:1.02rem;font-family:var(--font-head)}
.mobile-nav-panel a:hover{text-decoration:none;color:var(--coral)}
.mobile-nav-panel .icon-btn{color:var(--indigo);border-color:var(--border)}
.mobile-close{float:right}

/* ---------- Busca ---------- */
.search-overlay{position:fixed;inset:0;background:rgba(28,35,64,.6);z-index:70;display:none;padding-top:6vh}
.search-overlay.open{display:block}
.search-panel{background:#fff;max-width:640px;margin:0 auto;border-radius:var(--radius-lg);padding:1.5rem;max-height:82vh;overflow-y:auto}
.search-panel h2{margin-bottom:.8rem}
.search-panel .icon-btn{color:var(--indigo);border-color:var(--border)}
.search-form{display:flex;gap:.5rem}
.search-form input{flex:1;padding:.75rem 1rem;border:2px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit}
.search-form input:focus{border-color:var(--coral)}
.search-results{margin-top:1.2rem;display:grid;gap:.7rem}
.search-results a{display:block;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--indigo)}
.search-results a:hover{border-color:var(--coral);text-decoration:none;background:var(--bg-2)}
.search-results small{display:block;color:var(--text-soft);font-weight:400;margin-top:.2rem}
.search-empty{color:var(--text-soft)}

/* ---------- Hero (assimétrico, colagem de blocos sobrepostos) ---------- */
.hero{padding:3rem 0 2.8rem;position:relative;overflow:hidden}
.hero-split{display:grid;gap:2.4rem;align-items:center}
@media (min-width:900px){ .hero-split{grid-template-columns:.85fr 1.15fr} }
.hero-badge{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--indigo);background:var(--amber);padding:.32rem .85rem;border-radius:4px;
}
.hero-copy h1{font-size:2.3rem;margin-top:1rem}
.hero-copy .lead{color:var(--text-soft);font-size:1.05rem;max-width:48ch;margin:.8rem 0 0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.4rem;color:var(--text-soft);font-size:.86rem}
.hero-meta strong{color:var(--indigo)}
.hero-collage{position:relative;min-height:340px}
.hero-collage .frame{
  position:absolute;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);
  border:6px solid var(--card);
}
.hero-collage .frame img{width:100%;height:100%;object-fit:cover;display:block}
.hero-collage .frame-a{top:0;left:0;width:72%;aspect-ratio:16/11;z-index:2}
.hero-collage .frame-b{bottom:0;right:0;width:52%;aspect-ratio:4/3;z-index:3;transform:rotate(3deg)}
.hero-collage .frame-c{
  top:8%;right:0;width:34%;aspect-ratio:1/1;z-index:1;transform:rotate(-6deg);opacity:.9;
}
@media (max-width:640px){
  .hero-collage{min-height:280px}
  .hero-collage .frame-c{display:none}
}

/* ---------- Cabeçalhos de seção ---------- */
.section-head{text-align:center;max-width:64ch;margin:0 auto 2rem}
.section-head .eyebrow-center{
  display:inline-flex;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--coral);background:rgba(232,86,62,.09);padding:.3rem .75rem;border-radius:4px;margin-bottom:.6rem;
}
.section-head h2{margin:0}
.section-head p{color:var(--text-soft);margin-top:.5rem}
.section-head.left{text-align:left;margin:0 0 1.6rem}

/* ---------- Diferenciais: carrossel horizontal com "snap" ---------- */
.carousel-wrap{position:relative}
.carousel{
  display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .1rem 1.1rem;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
.carousel-item{
  flex:0 0 auto;width:270px;scroll-snap-align:start;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.6rem;
}
@media (min-width:640px){ .carousel-item{width:290px} }
.carousel-icon{font-size:1.7rem}
.carousel-item h3{font-size:1.03rem;margin:0}
.carousel-item p{color:var(--text-soft);font-size:.92rem;margin:0}
.carousel-hint{text-align:center;font-size:.8rem;color:var(--text-soft);margin-top:-.4rem}

/* ---------- Compatibilidade (chips) ---------- */
.compat-chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.2rem}
.compat-chip{
  padding:.5rem 1.1rem;border-radius:999px;background:var(--card);border:1px solid var(--border);
  font-weight:600;font-size:.86rem;color:var(--indigo);box-shadow:var(--shadow-card);
}

/* ---------- Passo a passo: zigue-zague alternado ---------- */
.zigzag{position:relative;display:grid;gap:1.6rem;max-width:760px;margin:0 auto}
.zigzag::before{
  content:"";position:absolute;left:24px;top:6px;bottom:6px;width:2px;background:var(--border);
}
@media (min-width:760px){ .zigzag::before{left:50%;transform:translateX(-50%)} }
.zigzag-step{
  position:relative;display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;
}
@media (min-width:760px){
  .zigzag-step{grid-template-columns:1fr 52px 1fr}
  .zigzag-step .zigzag-num{order:2}
  .zigzag-step .zigzag-body{order:3}
  .zigzag-step .zigzag-spacer{order:1;display:block}
  .zigzag-step:nth-child(even) .zigzag-body{order:1;text-align:right}
  .zigzag-step:nth-child(even) .zigzag-spacer{order:3}
}
.zigzag-num{
  width:52px;height:52px;border-radius:50%;background:var(--indigo);color:var(--amber);font-family:var(--font-head);
  font-weight:800;font-size:1.15rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
}
.zigzag-spacer{display:none}
.zigzag-body{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.3rem;box-shadow:var(--shadow-card)}
.zigzag-body h3{font-size:1rem;margin:0 0 .3rem}
.zigzag-body p{color:var(--text-soft);font-size:.9rem;margin:0}

/* ---------- Planos: cartões deslizáveis com paginação por pontos ---------- */
.plans-swipe-wrap{position:relative}
.plans-swipe{
  display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem 8vw 1.2rem 0;
  -webkit-overflow-scrolling:touch;
}
@media (min-width:760px){ .plans-swipe{padding-right:0;flex-wrap:wrap;justify-content:center;overflow-x:visible} }
.plan-swipe-card{
  flex:0 0 auto;width:78vw;max-width:280px;scroll-snap-align:center;background:var(--card);
  border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.6rem 1.5rem;box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;gap:.9rem;position:relative;
}
@media (min-width:760px){ .plan-swipe-card{width:250px} }
.plan-swipe-card.is-highlight{background:var(--indigo);border-color:var(--indigo);color:#fff;transform:translateY(-8px)}
.plan-swipe-card.is-highlight .plan-name,.plan-swipe-card.is-highlight .plan-period{color:#fff}
.plan-swipe-card.is-highlight .plan-feat{color:rgba(255,255,255,.82)}
.plan-ribbon{
  align-self:flex-start;font-family:var(--font-head);font-weight:800;font-size:.62rem;letter-spacing:.04em;
  text-transform:uppercase;background:var(--amber);color:var(--indigo);padding:.25rem .6rem;border-radius:4px;
}
.plan-name{font-family:var(--font-head);font-size:1.15rem;font-weight:800;color:var(--indigo);margin:0}
.plan-price{font-family:var(--font-head);font-size:2rem;font-weight:800}
.plan-price .cur{font-size:1rem;vertical-align:top}
.plan-period{font-size:.8rem;color:var(--text-soft)}
.plan-feats{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.88rem}
.plan-feat{display:flex;gap:.5rem;align-items:flex-start}
.plan-feat::before{content:"✓";font-weight:800;color:var(--coral)}
.plan-swipe-card.is-highlight .plan-feat::before{color:var(--amber)}
.plans-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.3rem}
@media (min-width:760px){ .plans-dots{display:none} }
.plans-dots span{width:8px;height:8px;border-radius:50%;background:var(--border)}
.plans-dots span.is-active{background:var(--coral)}

/* ---------- Faixa CTA ---------- */
.cta-band{
  background:var(--indigo);color:#fff;border-radius:var(--radius-lg);
  padding:2.2rem;display:grid;gap:1.3rem;position:relative;overflow:hidden;text-align:center;
}
.cta-band::before{
  content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(242,169,60,.32), transparent 70%);
}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.84);max-width:56ch;margin:.4rem auto 0}
.article-body .cta-band h2{color:#fff}
.article-body .cta-band p{color:rgba(255,255,255,.84)}
.cta-band .cta-action{display:flex;justify-content:center;margin-top:.4rem;position:relative}

/* ---------- Grids e cards de artigo ---------- */
.grid{display:grid;gap:1.3rem}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
@media (min-width:680px){ .grid-2{grid-template-columns:1fr 1fr} .grid-4{grid-template-columns:1fr 1fr} }
@media (min-width:900px){ .grid-3{grid-template-columns:repeat(3,1fr)} .grid-4{grid-template-columns:repeat(4,1fr)} }

.card{
  background:var(--card);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);
  box-shadow:var(--shadow-card);display:flex;flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;position:relative;
}
.card:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(28,35,64,.1), 0 18px 36px -18px rgba(28,35,64,.36)}
.card .thumb{aspect-ratio:16/9;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.card:hover .thumb img{transform:scale(1.04)}
.card .body{padding:1.05rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card h3{font-size:1.03rem;margin:0}
.card h3 a{color:var(--indigo)}
.card h3 a::after{content:"";position:absolute;inset:0}
.card p{color:var(--text-soft);font-size:.92rem;margin:0}
.card .meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-soft);margin-top:auto;padding-top:.4rem}
.card .read-more{font-weight:700;color:var(--coral)}

.eyebrow{
  display:inline-flex;align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.03em;
  text-transform:uppercase;padding:.2rem .6rem;border-radius:4px;color:#fff;
}
.tag-iptv{background:var(--indigo)}
.tag-teste-iptv{background:var(--coral)}
.tag-lista-iptv{background:#5C3B23}
.tag-planos{background:#8A5A1F}
.tag-canais{background:#7C3358}

/* ---------- FAQ (barra vertical crescente + selo numerado) ---------- */
.faq{margin-top:1.6rem;max-width:820px;margin-left:auto;margin-right:auto;counter-reset:faqnum}
.faq details{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);
  margin-bottom:.7rem;padding:0;position:relative;overflow:hidden;counter-increment:faqnum;
}
.faq details::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--border);
  transform:scaleY(0);transform-origin:top;transition:transform .25s ease, background .15s ease;
}
.faq details[open]::before{transform:scaleY(1);background:var(--coral)}
.faq summary{
  cursor:pointer;padding:1.05rem 1.2rem 1.05rem 1.4rem;font-weight:700;color:var(--indigo);list-style:none;
  display:flex;align-items:center;gap:.9rem;font-family:var(--font-head);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .faqnum{
  flex:0 0 auto;width:30px;height:30px;border-radius:6px;background:var(--bg-2);color:var(--text-soft);
  display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;transition:background .15s ease, color .15s ease;
}
.faq summary .faqnum::before{content:counter(faqnum, decimal-leading-zero)}
.faq details[open] summary .faqnum{background:var(--indigo);color:var(--amber)}
.faq summary .qtext{flex:1}
.faq p{padding:0 1.2rem 1.1rem 3.3rem;color:var(--text-soft);margin:0}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{padding:.85rem 0;font-size:.85rem;color:var(--text-soft)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0}
.breadcrumbs li:not(:last-child)::after{content:"›";margin-left:.4rem;color:var(--border)}
.breadcrumbs a{color:var(--text-soft)}

/* ---------- Artigo ---------- */
.article-hero-media{border-radius:var(--radius-lg);overflow:hidden;margin:1.2rem 0 1.6rem;aspect-ratio:16/8.4}
.article-hero-media img{width:100%;height:100%;object-fit:cover}
.article-layout{display:grid;gap:2rem;padding-top:1rem;padding-bottom:2rem}
@media (min-width:960px){ .article-layout{grid-template-columns:1fr 280px} }
.article-body h2{margin-top:1.7em;scroll-margin-top:5rem;font-size:1.32rem}
.article-body h3{margin-top:1.2em;scroll-margin-top:5rem;font-size:1.08rem}
.article-body p{color:#2C2938;font-size:1.02rem}
.article-body ul,.article-body ol{color:#2C2938;margin-bottom:1.1em}
.article-body li{margin-bottom:.4em}
.toc{
  background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.2rem;
  align-self:start;position:sticky;top:5.4rem;
}
.toc h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.7rem}
.toc ol{margin:0;padding-left:1.1rem;font-size:.9rem}
.toc li{margin-bottom:.5em}
.toc a{color:var(--text-soft)}
.author-box{
  display:flex;gap:.9rem;align-items:center;background:var(--bg-2);border-radius:var(--radius-md);
  padding:1rem 1.1rem;margin-top:1.8rem;
}
.author-avatar{width:44px;height:44px;border-radius:50%;background:var(--coral);flex:0 0 auto}
.author-box strong{color:var(--indigo);display:block;font-family:var(--font-head)}
.author-box p{margin:.15rem 0 0;color:var(--text-soft);font-size:.88rem}

/* ---------- Institucional ---------- */
.prose{max-width:76ch}
.prose h2{margin-top:1.6em}
.prose p,.prose li{color:#2C2938}

/* ---------- Formulário de contato (estático) ---------- */
.contact-grid{display:grid;gap:1.6rem}
@media (min-width:820px){ .contact-grid{grid-template-columns:1.1fr .9fr} }
.contact-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-card)}

/* ---------- Rodapé (trilha de circuito) ---------- */
.site-footer{background:var(--indigo);color:rgba(255,255,255,.8);margin-top:2.5rem;position:relative}
.site-footer::before{
  content:"";display:block;height:16px;
  background-image:
    radial-gradient(circle, rgba(242,169,60,.65) 1.6px, transparent 1.7px),
    repeating-linear-gradient(90deg, rgba(252,241,227,.35) 0 34px, transparent 34px 42px);
  background-size:42px 100%, 42px 100%;
  background-position:12px center, 0 center;
  opacity:.85;
}
.footer-grid{display:grid;gap:1.8rem;padding:2.6rem 0 1.6rem}
@media (min-width:760px){ .footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr} }
.footer-grid h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.7rem;font-family:var(--font-head)}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.footer-grid a{color:rgba(255,255,255,.76)}
.footer-grid a:hover{color:#fff}
.footer-brand{display:flex;align-items:center;gap:.5rem;font-weight:800;color:#fff;margin-bottom:.6rem}
.footer-brand img{height:26px;filter:brightness(0) invert(1)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:1.1rem 0;font-size:.82rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between}
.footer-disclaimer{font-size:.78rem;color:rgba(255,255,255,.55);padding-bottom:1rem}

/* ---------- Botão flutuante do WhatsApp ---------- */
.fab-whatsapp{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:50;width:58px;height:58px;border-radius:50%;
  background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  box-shadow:0 6px 18px -6px rgba(28,35,64,.5);
}
.fab-whatsapp:hover{background:#C8432D;text-decoration:none}
@media (min-width:960px){ .fab-whatsapp{right:1.6rem;bottom:1.6rem} }

/* ---------- Diversos ---------- */
.pill-list{margin:0;padding-left:1.2rem}
.pill-list li{margin-bottom:.5em}
.hub-intro{color:var(--text-soft);max-width:76ch;margin-left:0;text-align:left}
.error-page{padding:4rem 0;text-align:center}
.error-page .code{font-family:var(--font-head);font-size:4.5rem;color:var(--coral);font-weight:800;margin:0}
