/* === Indica landing === */
.tq-indica__inner{max-width:1000px;}
.tq-breadcrumb{font-size:13px;color:var(--tq-muted);padding:24px 0 0;}
.tq-breadcrumb a{color:var(--tq-gold);text-decoration:none;}
.tq-indica__hero{border-radius:var(--tq-radius-xl);padding:40px 28px;margin-top:18px;text-align:center;}
.tq-indica__hero .tq-hero__sub{margin:16px auto 0;}
.tq-geo--a{top:-60px;right:-40px;width:240px;height:240px;}
.tq-indica__tiers,.tq-indica__steps{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px;}
.tq-tier{padding:24px;text-align:center;}
.tq-tier__val{font-family:var(--tq-font-serif);font-size:28px;font-weight:700;color:var(--tq-navy);}
.tq-tier__val--gold{color:var(--tq-gold);} .tq-tier__val--green{color:#1F8A5B;}
.tq-tier__lbl{font-size:13px;color:var(--tq-muted);margin-top:4px;}
.tq-indica__how{text-align:center;margin:40px 0 20px;}
.tq-step{padding:24px;}
.tq-step__n{width:38px;height:38px;border-radius:50%;background:var(--tq-navy);color:var(--tq-gold-light);display:flex;align-items:center;justify-content:center;font-family:var(--tq-font-serif);font-weight:700;font-size:17px;}
.tq-step__t{font-family:var(--tq-font-serif);font-weight:600;font-size:17px;margin:14px 0 6px;color:var(--tq-ink);}
.tq-step__d{font-size:13.5px;color:var(--tq-muted);line-height:1.55;}
.tq-indica__prazo{display:inline-block;margin:18px 0 0;padding:7px 14px;border-radius:var(--tq-radius-pill);
  background:rgba(194,151,74,.16);border:1px solid rgba(194,151,74,.35);color:var(--tq-gold-ink);font-size:12.5px;font-weight:700;}
.tq-indica__cta{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-top:28px;padding-bottom:40px;}
.tq-indica__closed{max-width:520px;margin:0;font-size:14px;line-height:1.6;color:var(--tq-body);}
.tq-indica__rules{font-size:13.5px;font-weight:700;color:var(--tq-navy);text-decoration:none;border-bottom:1.5px solid var(--tq-gold);padding-bottom:2px;}
@media (min-width:1024px){
  .tq-indica__tiers,.tq-indica__steps{grid-template-columns:repeat(3,1fr);gap:20px;}
  .tq-indica__steps{grid-template-columns:repeat(4,1fr);}
  .tq-indica__hero{padding:48px 52px;}
}

/* === Ofertas === */
.tq-ofertas__inner{padding-top:8px;}
.tq-ofertas__title{margin:6px 0 4px;}
.tq-ofertas__sub{font-size:15px;color:var(--tq-muted);margin:0 0 24px;}
.tq-ofertas__filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border-radius:var(--tq-radius-lg);padding:16px 20px;box-shadow:var(--tq-shadow-card);margin-bottom:28px;}
.tq-ofertas__filter-label{font-size:13.5px;font-weight:700;color:var(--tq-navy);}
.tq-ofertas__q{flex:1;min-width:180px;border:1px solid var(--tq-line);border-radius:var(--tq-radius-pill);padding:9px 15px;font-family:var(--tq-font-sans);font-size:13px;outline:none;}
.tq-ofertas__count{margin-left:auto;font-size:13px;color:var(--tq-muted);}
select.tq-chip{appearance:none;-webkit-appearance:none;}
.tq-grid{display:grid;grid-template-columns:1fr;gap:20px;}
.tq-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px;}
.tq-pagination a,.tq-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:var(--tq-radius-sm);background:#fff;border:1px solid var(--tq-line);color:var(--tq-ink);text-decoration:none;font-weight:600;font-size:14px;}
.tq-pagination span.is-active{background:var(--tq-navy);color:#fff;border-color:var(--tq-navy);}
.tq-empty{color:var(--tq-muted);padding:30px 0;}
@media (min-width:640px){.tq-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.tq-grid{grid-template-columns:repeat(3,1fr);gap:24px;}.tq-ofertas__inner{padding-top:40px;}}

/* === Galeria do detalhe (mobile-first, scroll-snap nativo) === */
.tq-gallery{--tq-gal-h:56vw;min-width:0;max-width:100%;}
.tq-gallery__stage{position:relative;min-width:0;border-radius:var(--tq-radius-lg);overflow:hidden;background:var(--tq-navy);}
/* `min-width:0` é obrigatório: sem isso o min-content da faixa flex (a soma de
   todos os slides) vira o piso de largura e o `overflow-x` nunca chega a atuar. */
.tq-gallery__track{display:flex;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;}
.tq-gallery__track::-webkit-scrollbar{display:none;}
.tq-gallery__slide{flex:0 0 100%;width:100%;scroll-snap-align:center;scroll-snap-stop:always;
  padding:0;border:0;margin:0;background:none;cursor:zoom-in;display:block;line-height:0;}
.tq-gallery__slide img{width:100%;height:var(--tq-gal-h);min-height:230px;max-height:60vh;object-fit:cover;display:block;}
.tq-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:none;
  width:42px;height:42px;border:0;border-radius:50%;background:rgba(15,35,54,.55);color:#fff;
  align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,opacity .15s ease;}
.tq-gallery__nav:hover{background:rgba(15,35,54,.8);}
.tq-gallery__nav:disabled{opacity:.3;cursor:default;}
.tq-gallery__nav--prev{left:14px;} .tq-gallery__nav--next{right:14px;}
.tq-gallery__counter{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(15,35,54,.7);color:#fff;
  font-size:12px;font-weight:700;padding:6px 11px;border-radius:var(--tq-radius-pill);}
.tq-gallery__hint{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:rgba(15,35,54,.7);color:#fff;font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:var(--tq-radius-pill);}
.tq-gallery__thumbs{display:flex;min-width:0;gap:8px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.tq-gallery__thumbs::-webkit-scrollbar{display:none;}
.tq-gallery__thumb{flex:0 0 auto;width:74px;height:56px;padding:0;border:2px solid transparent;border-radius:var(--tq-radius-sm);
  overflow:hidden;background:none;cursor:pointer;line-height:0;opacity:.6;transition:opacity .15s ease,border-color .15s ease;}
.tq-gallery__thumb img{width:100%;height:100%;object-fit:cover;}
.tq-gallery__thumb.is-active{opacity:1;border-color:var(--tq-gold);}
.tq-gallery--empty.tq-photo-ph{height:var(--tq-gal-h);min-height:230px;border-radius:var(--tq-radius-lg);}
.tq-gallery__fallback{width:100%;height:var(--tq-gal-h);min-height:230px;max-height:60vh;object-fit:cover;display:block;}
@media (min-width:1024px){
  .tq-gallery{--tq-gal-h:440px;}
  .tq-gallery__slide img{max-height:none;}
  .tq-gallery__nav{display:flex;}
  .tq-gallery__thumb{width:92px;height:68px;}
}
@media (hover:none){ .tq-gallery__slide{cursor:default;} }

/* === Detalhe === */
/* Só vertical: o shorthand `padding` zerava o respiro lateral que vem do
   `.tq-container` e colava o conteúdo na borda da tela. */
.tq-detail__inner{padding-top:8px;padding-bottom:40px;}
.tq-detail__grid{display:grid;grid-template-columns:1fr;gap:28px;}
/* Item de grid nasce com `min-width:auto` e não encolhe abaixo do min-content
   do conteúdo — o que estourava a página por causa da faixa de fotos. */
.tq-detail__main,.tq-detail__side{min-width:0;}
.tq-detail__videos{display:grid;gap:14px;margin-top:14px;}
.tq-detail__video{position:relative;padding-bottom:56.25%;height:0;border-radius:var(--tq-radius-md);overflow:hidden;}
.tq-detail__video iframe{position:absolute;inset:0;width:100%;height:100%;}
.tq-detail__title{font-family:var(--tq-font-serif);font-size:25px;font-weight:600;line-height:1.18;color:var(--tq-ink);margin:8px 0 0;}
.tq-detail__loc{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--tq-muted);}
.tq-detail__specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.tq-detail__spec{display:flex;flex-direction:column;background:#fff;border-radius:var(--tq-radius-md);padding:14px;}
.tq-detail__spec-n{font-weight:700;font-size:18px;color:var(--tq-ink);}
.tq-detail__spec-l{font-size:11px;color:var(--tq-muted);}
.tq-detail__h3{font-family:var(--tq-font-serif);font-size:18px;font-weight:600;margin:24px 0 10px;}
.tq-detail__desc{font-size:14px;line-height:1.65;color:var(--tq-body);}
.tq-detail__share{display:inline-block;margin-top:16px;color:var(--tq-whatsapp-text);font-weight:700;text-decoration:underline;}
.tq-detail__facts{display:grid;grid-template-columns:1fr;gap:0;margin:0;border-top:1px solid var(--tq-line);}
.tq-detail__facts > div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:2px 16px;padding:11px 0;border-bottom:1px solid var(--tq-line);}
.tq-detail__facts dt{min-width:0;font-size:13px;color:var(--tq-muted);font-weight:500;margin:0;}
.tq-detail__facts dd{min-width:0;font-size:13.5px;color:var(--tq-ink);font-weight:700;margin:0;
  text-align:right;overflow-wrap:anywhere;}
.tq-detail__similar{margin-top:18px;font-size:14px;color:var(--tq-body);}
.tq-detail__similar a{color:var(--tq-whatsapp);font-weight:700;text-decoration:none;}
.tq-detail__cta{padding:24px;display:flex;flex-direction:column;gap:10px;}
.tq-detail__cta-label{display:flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--tq-muted);}
.tq-detail__price{font-family:var(--tq-font-serif);font-weight:700;font-size:30px;color:var(--tq-navy);}
.tq-detail__price span{font-size:14px;color:var(--tq-muted);font-family:var(--tq-font-sans);font-weight:600;}
.tq-detail__cta-specs{font-size:13px;color:var(--tq-muted);margin-bottom:6px;}
.tq-detail__broker{padding:20px;display:flex;align-items:center;gap:14px;}
.tq-detail__broker img,.tq-detail__broker-ph{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.tq-detail__broker-ph{background:repeating-linear-gradient(135deg,#DDD6C8,#DDD6C8 6px,#E7E1D4 6px,#E7E1D4 12px);}
.tq-detail__broker-cap{font-size:10.5px;color:var(--tq-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;}
.tq-detail__broker-name{font-family:var(--tq-font-serif);font-size:16px;font-weight:600;color:var(--tq-ink);}
.tq-detail__broker-creci{font-size:11.5px;color:var(--tq-gold);}
.tq-detail__bar{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;gap:7px;
  padding:11px 12px;padding-bottom:calc(11px + env(safe-area-inset-bottom));
  background:#fff;box-shadow:0 -6px 22px rgba(15,35,54,.12);}
.tq-detail__bar .tq-btn{flex:1 1 0;min-width:0;padding:12px 4px;font-size:11.5px;line-height:1.15;
  text-align:center;white-space:normal;box-shadow:none;}
@media (max-width:1023.98px){ body.tq-detail{padding-bottom:calc(84px + env(safe-area-inset-bottom));} }
@media (min-width:1024px){
  .tq-detail__grid{grid-template-columns:1.6fr 1fr;gap:36px;align-items:start;}
  .tq-detail__title{font-size:32px;}
  .tq-detail__specs{grid-template-columns:repeat(4,1fr);}
  .tq-detail__facts{grid-template-columns:1fr 1fr;column-gap:36px;}
  .tq-detail__side{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px;}
  .tq-detail__bar{display:none;}
}

/* === Home === */
.tq-home__hero{padding:0;}
.tq-home__hero-inner{padding:48px 20px 70px;position:relative;}
.tq-home__hero-copy{max-width:620px;}
.tq-home__geo1{top:-80px;right:-60px;width:300px;height:300px;}
.tq-home__geo2{top:40px;right:90px;width:160px;height:160px;border-color:rgba(194,151,74,.1);}
.tq-home__hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.tq-home__stats{margin-top:28px;}

/* Painel do herói — o ecossistema no lugar do "imóvel em destaque".
   O selo antigo era `position:absolute` e caía por cima do título do card
   (45–57% de sobreposição medida em 1024–1920). Aqui ele é um item de fluxo. */
.tq-home__eco-card{display:none;}
.tq-home__eco-card-lbl{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--tq-gold);margin:0 0 16px;}
/* "em expansão" com o ponto pulsando: o ecossistema não é uma lista fechada. */
.tq-home__eco-card-lbl span{display:inline-flex;align-items:center;gap:6px;font-size:10px;
  letter-spacing:.08em;color:#8B9DA9;}
.tq-home__eco-card-lbl span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tq-gold-light);}
@media (prefers-reduced-motion:no-preference){
  /* `.is-visible` vem do observer: fora da tela o ponto para de pulsar. */
  .tq-home__eco-card.is-visible .tq-home__eco-card-lbl span::before{animation:tq-vivo 2.6s ease-in-out infinite;}
  @keyframes tq-vivo{0%,100%{opacity:.35;transform:scale(1);}50%{opacity:1;transform:scale(1.35);}}
}
.tq-home__eco-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.tq-home__eco-card-list a{display:flex;align-items:baseline;gap:14px;padding:11px 0;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.08);transition:padding-left .18s ease;}
.tq-home__eco-card-list li:last-child a{border-bottom:0;}
.tq-home__eco-card-list a:hover{padding-left:6px;}
.tq-home__eco-card-sigla{flex:0 0 46px;font-family:var(--tq-font-serif);font-size:17px;font-weight:700;
  color:var(--tq-gold-light);letter-spacing:.02em;}
.tq-home__eco-card-nome{font-size:13px;color:#A8B7C2;line-height:1.35;}
.tq-home__eco-card-list a:hover .tq-home__eco-card-nome{color:#fff;}
.tq-home__eco-card-chip{margin-top:18px;padding-top:16px;border-top:1px solid rgba(194,151,74,.28);}
.tq-home__eco-card-chip-n{display:block;font-family:var(--tq-font-serif);font-size:15px;font-weight:700;color:var(--tq-gold-light);}
/* 11px sobre o painel translúcido do herói: #8294A1 fica em 4,43:1. */
.tq-home__eco-card-chip-l{display:block;font-size:11px;color:#8B9DA9;margin-top:2px;}

.tq-home__search-wrap{margin-top:-48px;position:relative;z-index:5;}
.tq-home__search-btn{width:100%;}

/* Diferenciais */
.tq-home__why{padding-top:64px;padding-bottom:24px;}
.tq-home__why-head{max-width:560px;margin-bottom:30px;}
.tq-home__why-head .tq-h2{margin-top:8px;}
.tq-home__features{display:grid;grid-template-columns:1fr;gap:20px;}
.tq-home__credentials{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:30px;padding-top:22px;
  border-top:1px solid var(--tq-line);font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--tq-body);}
.tq-home__credentials a{color:var(--tq-gold-on-light);text-decoration:none;}

/* === Ecossistema de programas ===
   A Home deixou de ser vitrine de imóveis: os programas são o produto. Cada um
   é uma faixa independente (creme/navy alternados) com a mesma anatomia — sigla,
   nome, título, texto, benefícios, CTA e ilustração. */
.tq-eco{margin-top:64px;}
.tq-eco__head{padding-top:56px;max-width:720px;}
.tq-eco__title{margin-top:8px;}
.tq-eco__sub{font-size:15px;line-height:1.6;color:var(--tq-body);margin:14px 0 0;}
.tq-eco__list{margin-top:4px;}

/* Índice: barra fina que acompanha a rolagem. Antes era uma coluna lateral de
   236px que sobrava espaço em volta e terminava no meio da página — ficava com
   cara de erro de layout. Como barra, o índice cabe na largura toda e as faixas
   dos programas ganham a página inteira. */
.tq-eco__index{position:sticky;top:64px;z-index:20;background:rgba(244,241,235,.94);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--tq-line);}
.tq-eco__index ol{display:flex;gap:8px;list-style:none;margin:0;padding:10px 0;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.tq-eco__index ol::-webkit-scrollbar{display:none;}
.tq-eco__index a{display:flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;
  background:#fff;border:1px solid var(--tq-line);border-radius:var(--tq-radius-pill);
  padding:9px 15px;transition:background .16s ease,border-color .16s ease,color .16s ease;}
.tq-eco__index-sigla{font-family:var(--tq-font-serif);font-size:14px;font-weight:700;color:var(--tq-navy);}
/* `--tq-muted` a 12,5px no creme rende 3,21:1; `--tq-body` fecha em 5,16:1. */
.tq-eco__index-nome{display:none;font-size:12.5px;color:var(--tq-body);}
.tq-eco__index a:hover{border-color:var(--tq-gold);}
.tq-eco__index a.is-current{background:var(--tq-navy);border-color:var(--tq-navy);}
.tq-eco__index a.is-current .tq-eco__index-sigla{color:var(--tq-gold-light);}
.tq-eco__index a.is-current .tq-eco__index-nome{color:#fff;}
.tq-eco__index a:focus-visible{outline:2px solid var(--tq-gold);outline-offset:2px;}

/* Faixa de um programa.
   `scroll-margin-top` porque a nav (64px no mobile, 76px no desktop) e o índice
   do ecossistema (~58px) são sticky: sem isso a âncora encosta a sigla debaixo
   das barras e o programa abre cortado. */
.tq-prog,.tq-eco{scroll-margin-top:128px;}
.tq-prog{position:relative;overflow:hidden;padding:40px 0;}
.tq-prog--cream{background:var(--tq-cream);}
.tq-prog--navy{background:var(--tq-navy);}
.tq-prog--navy + .tq-prog--navy{padding-top:8px;}
.tq-prog__inner{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;}
.tq-prog__copy{min-width:0;}
/* Sigla como marca d'água tipográfica: grande, vazada, atrás do texto. */
.tq-prog__mark{font-family:var(--tq-font-serif);font-size:72px;font-weight:700;line-height:.85;
  letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(194,151,74,.42);margin-bottom:14px;}
.tq-prog--navy .tq-prog__mark{-webkit-text-stroke-color:rgba(216,179,106,.5);}
.tq-prog__nome{margin:0 0 10px;}
.tq-prog__titulo{font-family:var(--tq-font-serif);font-size:26px;font-weight:600;line-height:1.16;
  color:var(--tq-ink);margin:0 0 14px;text-wrap:pretty;}
.tq-prog--navy .tq-prog__titulo{color:#fff;}
.tq-prog__texto{font-size:14.5px;line-height:1.65;color:var(--tq-body);margin:0 0 12px;}
.tq-prog--navy .tq-prog__texto{color:#A8B7C2;}
.tq-prog__beneficios{list-style:none;margin:20px 0 24px;padding:0;display:grid;gap:10px;}
.tq-prog__beneficios li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:var(--tq-ink);}
.tq-prog--navy .tq-prog__beneficios li{color:#EAF0F4;}
.tq-prog__icon{flex-shrink:0;margin-top:1px;color:var(--tq-gold);}
.tq-prog__cta{align-self:flex-start;}
.tq-prog__arte{min-width:0;display:flex;justify-content:center;}
.tq-ill{width:100%;max-width:340px;height:auto;display:block;}

/* Bloco de prova (bonificações, vídeos, depoimentos) */
.tq-prog__extra{margin-top:32px;}

/* Painel de bonificações do I3Q. Volta a ser um objeto próprio — gradiente,
   moldura em ouro e valores grandes —, e não três retângulos apagados. */
.tq-prog__painel{background:linear-gradient(150deg,#152C42 0%,#0B1B2A 70%);
  border:1px solid rgba(194,151,74,.32);border-radius:var(--tq-radius-xl);
  padding:24px 20px;box-shadow:var(--tq-shadow-float);}
.tq-prog__painel-lbl{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tq-gold);margin:0 0 16px;}
.tq-prog__tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.tq-prog__tier{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--tq-radius-lg);padding:18px 10px;text-align:center;
  transition:transform .2s cubic-bezier(.22,.61,.36,1),border-color .2s ease,background .2s ease;}
.tq-prog__tier:hover{transform:translateY(-4px);border-color:rgba(194,151,74,.45);background:rgba(194,151,74,.1);}
.tq-prog__tier--gold{background:rgba(194,151,74,.14);border-color:rgba(194,151,74,.38);}
.tq-prog__tier-v{display:block;font-family:var(--tq-font-serif);font-size:24px;font-weight:700;color:#fff;line-height:1.1;}
.tq-prog__tier--gold .tq-prog__tier-v{color:var(--tq-gold-light);}
.tq-prog__tier-l{display:block;font-size:11.5px;color:#8B9DA9;margin-top:5px;}
.tq-prog__prazo-linha{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0 0;}
.tq-prog__prazo{display:inline-block;padding:7px 14px;border-radius:var(--tq-radius-pill);
  background:rgba(194,151,74,.16);border:1px solid rgba(194,151,74,.35);color:var(--tq-gold-ink);
  font-size:12.5px;font-weight:700;}
.tq-prog__regulamento{font-size:13.5px;font-weight:700;color:#A8B7C2;text-decoration:none;
  border-bottom:1px solid rgba(168,183,194,.4);}
.tq-prog__regulamento:hover{color:#fff;}
.tq-prog__i3q{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;}
.tq-prog__i3q-col{min-width:0;}
.tq-prog__video{position:relative;padding-bottom:56.25%;height:0;margin-top:18px;
  border-radius:var(--tq-radius-lg);overflow:hidden;}
.tq-prog__i3q .tq-prog__video{margin-top:0;}
.tq-prog__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.tq-prog__prova-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px;}
/* 12px em creme: `--tq-muted` rende 3,21:1. `--tq-body` fecha em 5,16:1. */
.tq-prog__prova-lbl{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tq-body);margin:0;}
.tq-prog__prova-link{font-size:13.5px;font-weight:700;color:var(--tq-gold-on-light);text-decoration:none;white-space:nowrap;}
.tq-prog__videos,.tq-prog__quotes{display:grid;grid-template-columns:1fr;gap:20px;}
.tq-prog__credenciais{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;font-weight:600;letter-spacing:.03em;color:#8294A1;}
.tq-prog__credenciais a{color:var(--tq-gold-light);text-decoration:none;}

/* Ilustrações — herdam o tema da faixa em que estão. */
.tq-ill__panel{fill:#fff;stroke:var(--tq-line);stroke-width:1.5;}
.tq-prog--navy .tq-ill__panel{fill:rgba(255,255,255,.09);stroke:rgba(255,255,255,.2);}
.tq-ill__line,.tq-ill__rail{stroke:var(--tq-line);stroke-width:1.5;fill:none;}
.tq-prog--navy .tq-ill__line,.tq-prog--navy .tq-ill__rail{stroke:rgba(255,255,255,.16);}
.tq-ill__line-soft{fill:#DFDACD;}
.tq-prog--navy .tq-ill__line-soft{fill:rgba(255,255,255,.24);}
.tq-ill__bars rect,.tq-ill__cells rect{fill:#E4DECF;}
.tq-prog--navy .tq-ill__bars rect,.tq-prog--navy .tq-ill__cells rect{fill:rgba(255,255,255,.12);}
.tq-ill__bar-accent,.tq-ill__cell-on{fill:var(--tq-gold) !important;}
.tq-ill__trend{fill:none;stroke:var(--tq-gold);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.tq-ill__dot,.tq-ill__badge{fill:var(--tq-gold);}
.tq-ill__check{fill:none;stroke:var(--tq-navy);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.tq-ill__chip > rect,.tq-ill__float > rect,.tq-ill__deal > rect,
.tq-ill__cards > g > rect:first-child,.tq-ill__stack rect{fill:var(--tq-navy);}
.tq-prog--navy .tq-ill__chip > rect,.tq-prog--navy .tq-ill__float > rect,.tq-prog--navy .tq-ill__deal > rect,
.tq-prog--navy .tq-ill__cards > g > rect:first-child,.tq-prog--navy .tq-ill__stack rect{fill:rgba(255,255,255,.1);}
.tq-ill__chip-num{fill:var(--tq-gold-light);font-family:var(--tq-font-serif);font-size:19px;font-weight:700;text-anchor:middle;}
.tq-ill__chip-lbl{fill:#8294A1;font-family:var(--tq-font-sans);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-anchor:middle;}
.tq-ill__deal-txt{fill:var(--tq-gold-light);font-family:var(--tq-font-serif);font-size:15px;font-weight:700;text-anchor:middle;}
.tq-ill__ticks circle{fill:#DFDACD;}
.tq-prog--navy .tq-ill__ticks circle{fill:rgba(255,255,255,.2);}
.tq-ill__tick-on{fill:var(--tq-gold) !important;}
.tq-ill__nodes circle{fill:var(--tq-gold);}
.tq-ill__nodes-out circle{fill:rgba(194,151,74,.45);}
.tq-ill__web path,.tq-ill__web-thin path{fill:none;stroke:rgba(194,151,74,.34);stroke-width:1.4;}
.tq-ill__web-thin path{stroke-width:1;stroke-dasharray:3 4;}
.tq-ill__hub-glow{fill:rgba(194,151,74,.14);}
.tq-ill__hub{fill:var(--tq-navy);stroke:var(--tq-gold);stroke-width:1.5;}
.tq-prog--navy .tq-ill__hub{fill:#0B1B2A;}
.tq-ill__hub-txt{fill:var(--tq-gold-light);font-family:var(--tq-font-serif);font-size:19px;font-weight:700;text-anchor:middle;}
.tq-ill__waves circle{fill:none;stroke:rgba(194,151,74,.28);stroke-width:1.3;}
.tq-ill__house path{fill:var(--tq-navy);}
.tq-prog--navy .tq-ill__house path{fill:rgba(255,255,255,.14);}
.tq-ill__house-door{fill:var(--tq-gold) !important;}
.tq-ill__pins circle{fill:var(--tq-gold);}
.tq-ill__quote{fill:var(--tq-gold);font-family:var(--tq-font-serif);font-size:56px;font-weight:700;}
.tq-ill__avatar{fill:rgba(194,151,74,.35);}
.tq-ill__stars path{fill:var(--tq-gold);}

/* === Ilustrações que ganham vida ao entrar na tela ======================
   Disparadas por `.is-in`, que o observer de `[data-tq-reveal]` já põe no
   <article>. As regras são genéricas por classe de desenho: valem para o
   programa que tiver aquele elemento. Tudo dentro de `no-preference` — quem
   pediu menos movimento recebe o desenho pronto, sem animação nenhuma. */
@media (prefers-reduced-motion:no-preference){
  .tq-ill *{transform-box:fill-box;}

  /* estado inicial (só quando o JS está vivo para devolver o .is-in) */
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__bars rect,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__cells rect,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__nodes circle,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__nodes-out circle,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__pins circle,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__stars path,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__cards > g,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__stack rect,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__float,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__deal,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__chip,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__dot{opacity:0;}
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__trend,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__check,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__web path,
  .tq-js .tq-prog[data-tq-reveal]:not(.is-in) .tq-ill__web-thin path{stroke-dasharray:1;stroke-dashoffset:1;}

  @keyframes tq-ill-cresce{from{opacity:0;transform:scaleY(.05);}to{opacity:1;transform:none;}}
  @keyframes tq-ill-surge{from{opacity:0;transform:scale(.4);}to{opacity:1;transform:none;}}
  @keyframes tq-ill-sobe{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  @keyframes tq-ill-esq{from{opacity:0;transform:translateX(-22px);}to{opacity:1;transform:none;}}
  @keyframes tq-ill-dir{from{opacity:0;transform:translateX(22px);}to{opacity:1;transform:none;}}
  @keyframes tq-ill-traco{from{stroke-dasharray:1;stroke-dashoffset:1;}to{stroke-dasharray:1;stroke-dashoffset:0;}}
  /* Movimento contínuo e discreto: é o "vivo" do ecossistema, não um pisca-pisca. */
  @keyframes tq-ill-pulsa{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:1;transform:scale(1.08);}}
  @keyframes tq-ill-onda{0%{opacity:.55;transform:scale(.55);}70%{opacity:.12;}100%{opacity:0;transform:scale(1.12);}}

  /* RSA — as barras crescem e a linha de tendência é desenhada */
  .tq-prog.is-in .tq-ill__bars rect{transform-origin:bottom;animation:tq-ill-cresce .55s cubic-bezier(.22,.61,.36,1) both;}
  .tq-prog.is-in .tq-ill__bars rect:nth-child(1){animation-delay:.05s}
  .tq-prog.is-in .tq-ill__bars rect:nth-child(2){animation-delay:.12s}
  .tq-prog.is-in .tq-ill__bars rect:nth-child(3){animation-delay:.19s}
  .tq-prog.is-in .tq-ill__bars rect:nth-child(4){animation-delay:.26s}
  .tq-prog.is-in .tq-ill__bars rect:nth-child(5){animation-delay:.33s}
  .tq-prog.is-in .tq-ill__bars rect:nth-child(6){animation-delay:.40s}
  .tq-prog.is-in .tq-ill__trend{animation:tq-ill-traco .9s ease .45s both;}
  .tq-prog.is-in .tq-ill__dot{animation:tq-ill-surge .4s cubic-bezier(.34,1.56,.64,1) 1.2s both;}
  .tq-prog.is-in .tq-ill__chip{animation:tq-ill-sobe .5s ease .3s both;}
  .tq-prog.is-in.is-visible .tq-ill__tick-on{transform-origin:center;animation:tq-ill-pulsa 2.4s ease-in-out 1.4s infinite;}

  /* TGV — a grade preenche e a visita é confirmada */
  .tq-prog.is-in .tq-ill__cells rect{transform-origin:center;animation:tq-ill-surge .34s ease both;}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(n+1){animation-delay:calc(.04s * var(--i,1));}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(1){--i:1}   .tq-prog.is-in .tq-ill__cells rect:nth-child(2){--i:2}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(3){--i:3}   .tq-prog.is-in .tq-ill__cells rect:nth-child(4){--i:4}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(5){--i:5}   .tq-prog.is-in .tq-ill__cells rect:nth-child(6){--i:6}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(7){--i:7}   .tq-prog.is-in .tq-ill__cells rect:nth-child(8){--i:8}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(9){--i:9}   .tq-prog.is-in .tq-ill__cells rect:nth-child(10){--i:10}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(11){--i:11} .tq-prog.is-in .tq-ill__cells rect:nth-child(12){--i:12}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(13){--i:13} .tq-prog.is-in .tq-ill__cells rect:nth-child(14){--i:14}
  .tq-prog.is-in .tq-ill__cells rect:nth-child(15){--i:15}
  .tq-prog.is-in .tq-ill__cell-on{animation-delay:.75s;}
  /* O cartão inteiro sobe; o check é desenhado depois que ele chegou. */
  .tq-prog.is-in .tq-ill__float{animation:tq-ill-sobe .5s ease .9s both;}
  .tq-prog.is-in .tq-ill__check{animation:tq-ill-traco .4s ease 1.5s both;}

  /* TAN — proposta e contraproposta chegam e o acordo fecha */
  .tq-prog.is-in .tq-ill__cards > g:nth-child(1){animation:tq-ill-esq .5s ease .1s both;}
  .tq-prog.is-in .tq-ill__cards > g:nth-child(2){animation:tq-ill-dir .5s ease .45s both;}
  .tq-prog.is-in .tq-ill__cards > g:nth-child(3){animation:tq-ill-esq .5s ease .8s both;}
  .tq-prog.is-in .tq-ill__deal{animation:tq-ill-sobe .55s cubic-bezier(.22,.61,.36,1) 1.15s both;}

  /* I3Q — a rede se desenha e o centro pulsa (a indicação não para) */
  .tq-prog.is-in .tq-ill__web path{animation:tq-ill-traco .7s ease both;}
  .tq-prog.is-in .tq-ill__web path:nth-child(1){animation-delay:.1s} .tq-prog.is-in .tq-ill__web path:nth-child(2){animation-delay:.18s}
  .tq-prog.is-in .tq-ill__web path:nth-child(3){animation-delay:.26s} .tq-prog.is-in .tq-ill__web path:nth-child(4){animation-delay:.34s}
  .tq-prog.is-in .tq-ill__web path:nth-child(5){animation-delay:.42s} .tq-prog.is-in .tq-ill__web path:nth-child(6){animation-delay:.5s}
  .tq-prog.is-in .tq-ill__web path:nth-child(7){animation-delay:.58s}
  .tq-prog.is-in .tq-ill__web-thin path{animation:tq-ill-traco .6s ease .9s both;}
  .tq-prog.is-in.is-visible .tq-ill__hub-glow{transform-origin:center;animation:tq-ill-pulsa 3s ease-in-out .8s infinite;}

  /* CI — o alcance se expande sem parar */
  .tq-prog.is-in.is-visible .tq-ill__waves circle{transform-origin:center;animation:tq-ill-onda 3.6s ease-out infinite;}
  .tq-prog.is-in.is-visible .tq-ill__waves circle:nth-child(2){animation-delay:1.2s}
  .tq-prog.is-in.is-visible .tq-ill__waves circle:nth-child(3){animation-delay:2.4s}

  /* nós, pinos e estrelas surgem em cascata (vale para I3Q, CI e PS) */
  .tq-prog.is-in .tq-ill__nodes circle,
  .tq-prog.is-in .tq-ill__nodes-out circle,
  .tq-prog.is-in .tq-ill__pins circle,
  .tq-prog.is-in .tq-ill__stars path{transform-origin:center;animation:tq-ill-surge .42s cubic-bezier(.34,1.56,.64,1) both;}
  .tq-prog.is-in .tq-ill__nodes circle:nth-child(1),.tq-prog.is-in .tq-ill__pins circle:nth-child(1),
  .tq-prog.is-in .tq-ill__stars path:nth-child(1){animation-delay:.5s}
  .tq-prog.is-in .tq-ill__nodes circle:nth-child(2),.tq-prog.is-in .tq-ill__pins circle:nth-child(2),
  .tq-prog.is-in .tq-ill__stars path:nth-child(2){animation-delay:.62s}
  .tq-prog.is-in .tq-ill__nodes circle:nth-child(3),.tq-prog.is-in .tq-ill__pins circle:nth-child(3),
  .tq-prog.is-in .tq-ill__stars path:nth-child(3){animation-delay:.74s}
  .tq-prog.is-in .tq-ill__nodes circle:nth-child(4),.tq-prog.is-in .tq-ill__pins circle:nth-child(4),
  .tq-prog.is-in .tq-ill__stars path:nth-child(4){animation-delay:.86s}
  .tq-prog.is-in .tq-ill__nodes circle:nth-child(5),.tq-prog.is-in .tq-ill__pins circle:nth-child(5),
  .tq-prog.is-in .tq-ill__stars path:nth-child(5){animation-delay:.98s}
  .tq-prog.is-in .tq-ill__nodes-out circle{animation-delay:1.1s;}

  /* PS — os depoimentos empilham */
  .tq-prog.is-in .tq-ill__stack rect:nth-child(1){animation:tq-ill-sobe .5s ease .1s both;}
  .tq-prog.is-in .tq-ill__stack rect:nth-child(2){animation:tq-ill-sobe .5s ease .28s both;}
}

/* CTA final */
.tq-home__closing{padding:64px 0 24px;}
.tq-home__closing-grid{display:grid;grid-template-columns:1fr;gap:20px;}
.tq-home__closing-card{background:var(--tq-card);border-radius:var(--tq-radius-xl);padding:32px 28px;box-shadow:var(--tq-shadow-card);}
.tq-home__closing-card h3{font-family:var(--tq-font-serif);font-size:22px;font-weight:600;line-height:1.2;color:var(--tq-ink);margin:10px 0 10px;}
.tq-home__closing-card p{font-size:14px;line-height:1.6;color:var(--tq-muted);margin:0 0 22px;}
.tq-home__closing-card--gold{background:linear-gradient(150deg,#152C42 0%,var(--tq-navy) 60%);}
.tq-home__closing-card--gold h3{color:#fff;}
.tq-home__closing-card--gold p{color:#A8B7C2;}

@media (min-width:640px){
  .tq-prog__videos,.tq-prog__quotes{grid-template-columns:repeat(2,1fr);}
  .tq-prog__beneficios{grid-template-columns:repeat(2,1fr);gap:10px 22px;}
}
@media (min-width:1024px){
  .tq-home__hero-inner{padding:72px 40px 88px;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
  .tq-home__hero-copy{max-width:none;}
  .tq-home__eco-card{display:block;background:rgba(255,255,255,.05);border:1px solid rgba(194,151,74,.24);
    border-radius:var(--tq-radius-xl);padding:26px 28px;box-shadow:var(--tq-shadow-float);}
  .tq-home__search-wrap{max-width:1080px;margin:-40px auto 0;}
  .tq-home__search-btn{width:auto;}
  .tq-home__features{grid-template-columns:repeat(3,1fr);gap:24px;}
  .tq-home__closing-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
  .tq-home__closing-card{padding:44px 40px;}
  .tq-home__closing-card h3{font-size:26px;}

  /* Ecossistema no desktop: espinha fixa à esquerda, faixas à direita.
     A espinha é o índice do ecossistema — acompanha a rolagem e destaca o
     programa que está na tela. */
  .tq-prog,.tq-eco{scroll-margin-top:140px;}
  .tq-eco__head{padding-top:72px;}
  .tq-eco__index{top:76px;}
  .tq-eco__index ol{padding:12px 0;}
  .tq-eco__index-nome{display:block;}

  /* Faixas ocupam a página inteira; a alternância de lado é o que impede que as
     faixas leiam como cópias da mesma coisa. */
  .tq-prog{padding:52px 0;}
  .tq-prog__inner{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;}
  .tq-eco__list .tq-prog:nth-of-type(even) .tq-prog__copy{order:2;}
  .tq-eco__list .tq-prog:nth-of-type(even) .tq-prog__arte{order:1;}
  .tq-prog__mark{font-size:104px;}
  .tq-prog__titulo{font-size:32px;}
  .tq-prog__videos,.tq-prog__quotes{grid-template-columns:repeat(3,1fr);gap:22px;}
  .tq-prog__painel{padding:32px 34px;}
  .tq-prog__i3q{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:34px;}
  .tq-ill{max-width:460px;}
}
