.elementor-904 .elementor-element.elementor-element-a387a36{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-904 .elementor-element.elementor-element-ae24902{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-904 .elementor-element.elementor-element-3a85bc6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:64px 64px;--row-gap:64px;--column-gap:64px;}.elementor-904 .elementor-element.elementor-element-d8a8f86{--display:flex;--justify-content:center;}.elementor-904 .elementor-element.elementor-element-3ae79a9{--display:flex;--justify-content:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-904 .elementor-element.elementor-element-8bb8855 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-904 .elementor-element.elementor-element-2a66111{color:var( --e-global-color-6ee06c0 );}.elementor-904 .elementor-element.elementor-element-0bd7bf2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:96px;--padding-bottom:128px;--padding-left:32px;--padding-right:32px;}.elementor-904 .elementor-element.elementor-element-b8cb281{--display:flex;}.elementor-904 .elementor-element.elementor-element-254cc6f{width:var( --container-widget-width, 66% );max-width:66%;--container-widget-width:66%;--container-widget-flex-grow:0;}.elementor-904 .elementor-element.elementor-element-254cc6f .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-text );}.elementor-904 .elementor-element.elementor-element-b4b4703{width:var( --container-widget-width, 66% );max-width:66%;--container-widget-width:66%;--container-widget-flex-grow:0;color:var( --e-global-color-6ee06c0 );}.elementor-904 .elementor-element.elementor-element-0fc2b7c{--display:flex;}.elementor-904 .elementor-element.elementor-element-1986c49{--display:flex;}.elementor-904 .elementor-element.elementor-element-4437bac{--display:flex;}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-904 .elementor-element.elementor-element-8bb8855 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-904 .elementor-element.elementor-element-254cc6f .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:1366px){.elementor-904 .elementor-element.elementor-element-ae24902{--padding-top:128px;--padding-bottom:128px;--padding-left:32px;--padding-right:32px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-904 .elementor-element.elementor-element-8bb8855 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-904 .elementor-element.elementor-element-0bd7bf2{--padding-top:128px;--padding-bottom:128px;--padding-left:32px;--padding-right:32px;}.elementor-904 .elementor-element.elementor-element-254cc6f .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:1024px){.elementor-904 .elementor-element.elementor-element-ae24902{--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-904 .elementor-element.elementor-element-8bb8855 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-904 .elementor-element.elementor-element-0bd7bf2{--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-904 .elementor-element.elementor-element-254cc6f .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-904 .elementor-element.elementor-element-ae24902{--padding-top:48px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;}.elementor-904 .elementor-element.elementor-element-3a85bc6{--gap:32px 32px;--row-gap:32px;--column-gap:32px;}.elementor-904 .elementor-element.elementor-element-d8a8f86.e-con{--order:99999 /* order end hack */;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-904 .elementor-element.elementor-element-8bb8855 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-904 .elementor-element.elementor-element-0bd7bf2{--padding-top:48px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-904 .elementor-element.elementor-element-254cc6f{width:100%;max-width:100%;}.elementor-904 .elementor-element.elementor-element-254cc6f .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-904 .elementor-element.elementor-element-b4b4703{width:100%;max-width:100%;}}/* Start custom CSS for html, class: .elementor-element-838da09 *//* CST INTERNET — HERO DE PRODUTO (Telefonia Fixa Digital)
   Container que segura o widget do arquivo 213 > Avancado > CSS Personalizado.

   E o arquivo 169, da Internet Fibra, com DUAS diferencas:

   1) SAIU o bloco do lockup (.cst-oferta, .cst-mega, .cst-preco). Esta
      pagina nao tem numeral nem preco. Se o cliente definir um valor, copie
      esse bloco de volta do 169 — ele esta inteiro la.

   2) o hero e mais baixo, 76svh com teto de 760px, porque sem a oferta a
      coluna de texto e curta e sobraria espaco morto.

   FOTO: 1800x1600px, WebP qualidade 80. A caixa muda de proporcao conforme
   a tela, entao o assunto precisa caber nos 49% centrais da largura e nos
   53% da altura.

   O header nasce branco por body:has(.cst-prod) — o mesmo gancho das outras
   tres cobre esta pagina sozinho. */


.cst-prod{
  --cst-grid:1280px;
  --cst-header:80px;

  box-sizing:border-box;
  position:relative;
  display:block;
  width:100%;
  background-color:#FAF9F8;
  border-bottom:1px solid #E6E3E4;
  overflow:hidden;
}
.cst-prod *,.cst-prod *::before,.cst-prod *::after{box-sizing:border-box}

/* clareada no topo, atras de tudo */
.cst-prod::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 30%);
}

.cst-prod__in{
  position:relative;
  z-index:1;
  display:flex;
  align-items:stretch;
  width:100%;

  /* alto, mas nao a tela inteira: assim a faixa laranja aparece na primeira
     tela e avisa que tem mais coisa abaixo. E min-height, nao height: em
     notebook baixo o conteudo cresce em vez de espremer. O svh evita a
     barra do navegador no celular. */
  min-height:min(76vh,760px);
  min-height:min(76svh,760px);
}

/* ---------- COLUNA DE TEXTO ---------- */
.cst-prod__c{
  flex:0 0 auto;
  min-width:0;
  width:calc(max(20px,(100% - var(--cst-grid)) / 2) + var(--cst-grid) * .54);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:
    calc(var(--cst-header) + clamp(28px,3vw,48px))
    clamp(32px,4vw,64px)
    clamp(48px,5vw,72px)
    max(20px,calc((100% - var(--cst-grid)) / 2));
}

.cst-prod__t{
  margin:clamp(18px,2.2vw,26px) 0 0;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:clamp(1.95rem,3.4vw,2.85rem);
  letter-spacing:-.038em;
  line-height:1.06;
  color:#141314;
  max-width:16ch;
}

.cst-prod__d{
  margin:18px 0 0;
  font-family:'Rubik',sans-serif;
  font-weight:400;
  font-size:clamp(.96rem,1.25vw,1.04rem);
  line-height:1.65;
  color:#6E6C6E;
  max-width:44ch;
}

/* ---------- COLUNA DA FOTO ---------- */
.cst-prod__m{
  flex:1 1 auto;
  min-width:0;
  position:relative;
}
.cst-prod__m img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* ---------- TRILHO DE FATOS ---------- */
/* A FAIXA e laranja e vai de borda a borda. O conteudo continua dentro da
   grade — a calha entra como padding, entao as tres colunas do grid nascem
   ja no tamanho da grade e as divisorias caem certas. */
.cst-trilho{
  position:relative;
  z-index:1;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  margin:0;
  padding:0 max(20px,calc((100% - var(--cst-grid)) / 2));
  background:#FE5000;
}

.cst-trilho__i{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
  padding:24px clamp(18px,2vw,26px);
  border-left:1px solid rgba(255,255,255,.22);
}
.cst-trilho__i:first-child{border-left:0;padding-left:0}
.cst-trilho__i:last-child{padding-right:0}

.cst-trilho__ic{
  display:grid;
  place-items:center;
  flex:none;
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  color:#FFFFFF;
}
.cst-trilho__ic svg{width:19px;height:19px;display:block}

.cst-trilho__c{min-width:0}
.cst-trilho__c b{
  display:block;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:.97rem;
  letter-spacing:-.02em;
  line-height:1.25;
  color:#FFFFFF;
}
.cst-trilho__c span{
  display:block;
  margin-top:3px;
  font-family:'Rubik',sans-serif;
  font-weight:400;
  font-size:.85rem;
  line-height:1.45;
  color:rgba(255,255,255,.78);
}

/* ==================== RESPONSIVO ==================== */

/* abaixo da grade nao ha calha para descontar: volta a porcentagem, senao
   a coluna da foto afina demais (em 1024px ela ficava com 313px) */
@media (max-width:1279px){
  .cst-prod__c{width:58%}
}

@media (max-width:1024px){
  .cst-trilho{grid-template-columns:minmax(0,1fr)}
  .cst-trilho__i{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.22);
    padding:20px 0;
  }
  .cst-trilho__i:first-child{border-top:0}
}

@media (max-width:900px){
  .cst-prod{--cst-header:60px}
  .cst-prod__in{flex-direction:column;min-height:0}
  .cst-prod__c{
    flex:0 0 auto;
    width:100%;
    padding:calc(var(--cst-header) + 32px) 20px 40px;
  }
  .cst-prod__t{max-width:none}
  .cst-prod__m{
    flex:0 0 auto;
    width:100%;
    height:min(82vw,430px);
  }
}

@media (max-width:600px){
  .cst-btn-group .cst-btn{width:100%}
}


/* ==================== HEADER NESTA PAGINA ====================
   O header e transparente no topo e so fica branco com .scrolled (arquivo 14).
   Aqui a foto sangra ate o topo e passa por baixo dele: o menu e o botao
   Area do Cliente sumiam em cima da foto. Entao ele ja NASCE branco, com a
   mesma aparencia do estado .scrolled. Nada mais muda — o texto dele ja e
   #3A393A pelo arquivo 16.

   O gancho e body:has(.cst-prod): so vale nas paginas que usam este hero.
   Em navegador sem :has() o header segue transparente — degrada, nao quebra. */

body:has(.cst-prod) .header-menu{
  background-color:#FFFFFF !important;
  box-shadow:0 10px 30px -18px rgba(0,0,0,.25);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8bb8855 */.elementor-904 .elementor-element.elementor-element-8bb8855{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2a66111 */.elementor-904 .elementor-element.elementor-element-2a66111{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-254cc6f */.elementor-904 .elementor-element.elementor-element-254cc6f{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-b4b4703 */.elementor-904 .elementor-element.elementor-element-b4b4703{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fb655a3 *//* CST INTERNET — DUVIDAS FREQUENTES (pagina Streaming e TV)
   Container que segura o widget do arquivo 208 > Avancado > CSS Personalizado.
   Identico aos arquivos 143, 178 e 193. Acordeao sem JS. */




.cst-faq{
  box-sizing:border-box;
  width:100%;
  border-top:1px solid #E6E3E4;
}
.cst-faq *,.cst-faq *::before,.cst-faq *::after{box-sizing:border-box}

.cst-faq__i{
  border-bottom:1px solid #E6E3E4;
}

/* ---------- PERGUNTA ---------- */
.cst-faq__q{
  position:relative;
  display:block;
  list-style:none;
  cursor:pointer;
  padding:22px 48px 22px 0;
  font-family:'Rubik',sans-serif;
  font-weight:500;
  font-size:clamp(1rem,1.5vw,1.1rem);
  letter-spacing:-.022em;
  line-height:1.4;
  color:#141314;
  transition:color .3s cubic-bezier(.2,.8,.3,1);
}
.cst-faq__q::-webkit-details-marker{display:none}
.cst-faq__q::marker{content:""}
.cst-faq__q:hover{color:#FE5000}
.cst-faq__q:focus-visible{
  outline:3px solid #005BBB;
  outline-offset:3px;
  border-radius:6px;
}

/* seta */
.cst-faq__q::after{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid #FE5000;
  border-bottom:2px solid #FE5000;
  transform:translateY(-70%) rotate(45deg);
  transition:transform .4s cubic-bezier(.19,1,.22,1);
}
.cst-faq__i[open] .cst-faq__q::after{transform:translateY(-30%) rotate(-135deg)}
.cst-faq__i[open] .cst-faq__q{color:#141314}

/* ---------- RESPOSTA ---------- */
@keyframes cstFaqEntra{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
.cst-faq__r{
  padding:0 48px 26px 0;
  animation:cstFaqEntra .4s cubic-bezier(.19,1,.22,1) both;
}
.cst-faq__r p{
  margin:0;
  font-family:'Rubik',sans-serif;
  font-weight:400;
  font-size:.96rem;
  line-height:1.68;
  color:#6E6C6E;
  max-width:70ch;
}
.cst-faq__r p + p{margin-top:12px}

.cst-faq__r a,
.cst-faq__r a:link,
.cst-faq__r a:visited{
  color:#FE5000 !important;
  background-color:transparent !important;
  background-image:none !important;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  transition:color .3s cubic-bezier(.2,.8,.3,1),
             text-decoration-color .3s cubic-bezier(.2,.8,.3,1);
}
.cst-faq__r a:hover,
.cst-faq__r a:focus,
.cst-faq__r a:active{
  color:#D94200 !important;
  background-color:transparent !important;
  text-decoration:underline;
}
.cst-faq__r a:focus-visible{outline:3px solid #005BBB;outline-offset:2px;border-radius:3px}

/* ---------- RESPONSIVO ---------- */
@media (max-width:600px){
  .cst-faq__q{padding:19px 38px 19px 0}
  .cst-faq__q::after{right:6px;width:9px;height:9px}
  .cst-faq__r{padding:0 0 22px 0}
  .cst-faq__r p{font-size:.93rem}
}

@media (prefers-reduced-motion:reduce){
  .cst-faq__q,.cst-faq__q::after,.cst-faq__r a{transition:none}
  .cst-faq__r{animation:none}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fdc1513 *//* CST INTERNET — FAIXA DE FECHAMENTO DA TELEFONIA FIXA DIGITAL
   Container em Largura Completa, sem padding > CSS Personalizado.
   Identico ao arquivo 92: e a mesma faixa da Sobre, com outro texto. */


.cst-base{
  --cst-grid:1280px;
  box-sizing:border-box;
  position:relative;
  display:block;
  width:100%;
  background:#FE5000;
  padding:clamp(34px,4vw,52px) max(32px,calc((100% - var(--cst-grid)) / 2));
  overflow:hidden;
}
.cst-base *,.cst-base *::before,.cst-base *::after{box-sizing:border-box}

.cst-base::before{
  content:"";
  position:absolute;
  top:-40%;
  right:-6%;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  pointer-events:none;
}
.cst-base::after{
  content:"";
  position:absolute;
  top:-18%;
  right:2%;
  width:340px;
  height:340px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  pointer-events:none;
}

.cst-base__in{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(24px,4vw,60px);
  flex-wrap:wrap;
  width:100%;
}

.cst-base__txt{flex:1 1 420px;min-width:0}

.cst-base__kicker{
  display:inline-block;
  font-family:'Roboto',sans-serif;
  font-weight:300;
  font-size:11px;
  letter-spacing:.34em;
  text-transform:uppercase;
  line-height:1.4;
  color:rgba(255,255,255,.8);
  margin-bottom:12px;
}

.cst-base__t{
  margin:0;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:clamp(1.7rem,3.4vw,2.75rem);
  letter-spacing:-.035em;
  line-height:1.08;
  color:#FFFFFF;
}

.cst-base__d{
  margin:12px 0 0;
  font-family:'Rubik',sans-serif;
  font-weight:400;
  font-size:1rem;
  line-height:1.55;
  color:rgba(255,255,255,.82);
  max-width:52ch;
}

/* ---------- BOTAO ---------- */
.cst-base__cta{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:17px 32px;
  border-radius:999px;
  overflow:hidden;
  isolation:isolate;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:15.5px;
  letter-spacing:-.01em;
  line-height:1.2;
  white-space:nowrap;
  transition:color .42s cubic-bezier(.65,0,.35,1),
             transform .35s cubic-bezier(.19,1,.22,1),
             box-shadow .42s cubic-bezier(.65,0,.35,1);
}
.cst-base__cta,
.cst-base__cta:link,
.cst-base__cta:visited{
  color:#141314 !important;
  background-color:transparent !important;
  background-image:none !important;
  text-decoration:none !important;
}
.cst-base__cta:hover,
.cst-base__cta:focus,
.cst-base__cta:active{
  color:#FFFFFF !important;
  background-color:transparent !important;
  text-decoration:none !important;
}
.cst-base__cta::before,
.cst-base__cta::after{
  content:"";
  position:absolute;
  inset:0;
  transition:clip-path .42s cubic-bezier(.65,0,.35,1);
}
.cst-base__cta::before{z-index:-2;clip-path:inset(0 0 0 0);background:#FFFFFF}
.cst-base__cta::after{z-index:-1;clip-path:inset(100% 0 0 0);background:#141314}
.cst-base__cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px -14px rgba(20,19,20,.5)}
.cst-base__cta:hover::before{clip-path:inset(0 0 100% 0)}
.cst-base__cta:hover::after{clip-path:inset(0 0 0 0)}
.cst-base__cta:active{transform:translateY(0)}
.cst-base__cta:focus-visible{outline:3px solid #141314;outline-offset:3px}

.cst-base__ico{display:flex;align-items:center;flex:none}
.cst-base__ico svg{width:19px;height:19px;display:block}

/* ---------- RESPONSIVO ---------- */
@media (max-width:900px){
  .cst-base__in{align-items:flex-start}
  .cst-base::before{width:380px;height:380px;right:-16%}
  .cst-base::after{width:240px;height:240px}
}

@media (max-width:767px){
  .cst-base{padding:32px 20px 34px}
  .cst-base__in{flex-direction:column;align-items:stretch;gap:24px}
  /* em flex-direction:column o flex-basis vira ALTURA.
     Sem este reset o bloco de texto reservava 420px. */
  .cst-base__txt{flex:0 0 auto}
  .cst-base__cta{width:100%;justify-content:center}
  .cst-base__d{font-size:.94rem}
  .cst-base::before{width:280px;height:280px;top:-24%;right:-24%}
  .cst-base::after{width:170px;height:170px;top:-10%;right:-6%}
}

@media (prefers-reduced-motion:reduce){
  .cst-base__cta,.cst-base__cta::before,.cst-base__cta::after{transition:none}
  .cst-base__cta:hover{transform:none}
}/* End custom CSS */