.elementor-827 .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-827 .elementor-element.elementor-element-2f05af9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:128px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-827 .elementor-element.elementor-element-a57e397{--display:flex;}.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-827 .elementor-element.elementor-element-79de8ea{width:var( --container-widget-width, 66% );max-width:66%;--container-widget-width:66%;--container-widget-flex-grow:0;}.elementor-827 .elementor-element.elementor-element-79de8ea .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-827 .elementor-element.elementor-element-77150a7{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-827 .elementor-element.elementor-element-857eab7{--display:flex;}.elementor-827 .elementor-element.elementor-element-3a1889c{--swiper-slides-to-display:3;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:-70px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:-70px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;--arrow-normal-color:#141314;--arrow-hover-color:#FE5000;}.elementor-827 .elementor-element.elementor-element-3a1889c .swiper-slide > .elementor-element{height:100%;}.elementor-827 .elementor-element.elementor-element-40789a3{--display:flex;}.elementor-827 .elementor-element.elementor-element-44bb233{--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-827 .elementor-element.elementor-element-6a390a4{--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-827 .elementor-element.elementor-element-cdcaf4c{--display:flex;--justify-content:center;}.elementor-827 .elementor-element.elementor-element-ca4f42c{--display:flex;--justify-content:center;}.elementor-827 .elementor-element.elementor-element-0c8ebb1 .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-827 .elementor-element.elementor-element-2fb5640{color:var( --e-global-color-6ee06c0 );}.elementor-827 .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-827 .elementor-element.elementor-element-b8cb281{--display:flex;}.elementor-827 .elementor-element.elementor-element-254cc6f{width:var( --container-widget-width, 66% );max-width:66%;--container-widget-width:66%;--container-widget-flex-grow:0;}.elementor-827 .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-827 .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-827 .elementor-element.elementor-element-0fc2b7c{--display:flex;}.elementor-827 .elementor-element.elementor-element-1986c49{--display:flex;}.elementor-827 .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-827 .elementor-element.elementor-element-79de8ea .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-827 .elementor-element.elementor-element-3a1889c{--swiper-slides-to-display:3;}.elementor-827 .elementor-element.elementor-element-0c8ebb1 .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-827 .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-827 .elementor-element.elementor-element-2f05af9{--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-827 .elementor-element.elementor-element-79de8ea .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-827 .elementor-element.elementor-element-3a1889c{--swiper-slides-to-display:3;}.elementor-827 .elementor-element.elementor-element-44bb233{--padding-top:128px;--padding-bottom:128px;--padding-left:32px;--padding-right:32px;}.elementor-827 .elementor-element.elementor-element-0c8ebb1 .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-827 .elementor-element.elementor-element-0bd7bf2{--padding-top:128px;--padding-bottom:128px;--padding-left:32px;--padding-right:32px;}.elementor-827 .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-827 .elementor-element.elementor-element-2f05af9{--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-827 .elementor-element.elementor-element-79de8ea .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-827 .elementor-element.elementor-element-3a1889c{--swiper-slides-to-display:2;}.elementor-827 .elementor-element.elementor-element-44bb233{--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-827 .elementor-element.elementor-element-0c8ebb1 .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-827 .elementor-element.elementor-element-0bd7bf2{--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-827 .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-827 .elementor-element.elementor-element-2f05af9{--padding-top:64px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;}.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-827 .elementor-element.elementor-element-79de8ea{width:100%;max-width:100%;}.elementor-827 .elementor-element.elementor-element-79de8ea .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-827 .elementor-element.elementor-element-77150a7{width:100%;max-width:100%;}.elementor-827 .elementor-element.elementor-element-3a1889c{--swiper-slides-to-display:1;}.elementor-827 .elementor-element.elementor-element-44bb233{--padding-top:48px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;}.elementor-827 .elementor-element.elementor-element-6a390a4{--gap:32px 32px;--row-gap:32px;--column-gap:32px;}.elementor-827 .elementor-element.elementor-element-cdcaf4c.e-con{--order:99999 /* order end hack */;}.elementor-827 .elementor-element.elementor-element-0c8ebb1 .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-827 .elementor-element.elementor-element-0bd7bf2{--padding-top:48px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-827 .elementor-element.elementor-element-254cc6f{width:100%;max-width:100%;}.elementor-827 .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-827 .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 Movel)
   Container que segura o widget do arquivo 182 > Avancado > CSS Personalizado.
   Identico ao arquivo 169, da Internet Fibra: e o mesmo hero de produto.

   FOTO: 1800x1600px, WebP qualidade 80. A caixa muda de proporcao conforme
   a tela (0.56:1 ate 2.09:1), entao o assunto precisa caber nos 49% centrais
   da largura e nos 53% da altura.

   Vale tudo o que esta comentado no 169: a coluna de texto ancorada na
   grade, a altura de 84svh com teto de 880px, a faixa laranja de borda a
   borda com conteudo na grade, e o header que nasce branco por
   body:has(.cst-prod) — o mesmo gancho 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(84vh,880px);
  min-height:min(84svh,880px);
}

/* ---------- 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;
}

/* ---------- OFERTA: lockup do manual da marca ---------- */
.cst-oferta{
  display:flex;
  align-items:flex-end;
  gap:clamp(20px,2.6vw,34px);
  margin:clamp(24px,3vw,34px) 0 0;
  padding-top:clamp(24px,3vw,32px);
  border-top:1px solid #E6E3E4;
}

.cst-mega{
  flex:none;
  margin:0;
  line-height:.78;
}
.cst-mega b{
  display:block;
  font-family:'Rubik',sans-serif;
  font-weight:800;
  font-size:clamp(4.2rem,8vw,6.6rem);
  letter-spacing:-.05em;
  color:#FE5000;
}
.cst-mega span{
  display:block;
  margin-top:2px;
  font-family:'Roboto',sans-serif;
  font-weight:300;
  font-size:clamp(1rem,1.7vw,1.42rem);
  letter-spacing:.42em;
  text-transform:uppercase;
  color:#474647;
}

.cst-preco{
  min-width:0;
  margin:0;
  padding-bottom:6px;
}
.cst-preco em{
  display:block;
  font-style:normal;
  font-family:'Roboto',sans-serif;
  font-weight:300;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#918F91;
}
.cst-preco b{
  display:block;
  margin-top:7px;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:clamp(1.6rem,2.5vw,2.05rem);
  letter-spacing:-.036em;
  line-height:1;
  color:#141314;
}
.cst-preco b i{
  font-style:normal;
  font-size:.5em;
  font-weight:500;
  letter-spacing:-.01em;
}
.cst-preco small{
  display:block;
  margin-top:8px;
  font-family:'Rubik',sans-serif;
  font-size:.78rem;
  line-height:1.5;
  color:#474647;
  max-width:26ch;
}

/* ---------- 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-oferta{flex-direction:column;align-items:flex-start;gap:18px}
  .cst-preco{padding-bottom:0}
  .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-79de8ea */.elementor-827 .elementor-element.elementor-element-79de8ea{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-77150a7 */.elementor-827 .elementor-element.elementor-element-77150a7{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0899cbf *//* CST INTERNET — COMBO COM A INTERNET (pagina Telefonia Movel)
   Container que segura o widget do arquivo 187 > Avancado > CSS Personalizado.

   Fica dentro da grade, logo abaixo do carrossel de planos. Nao sangra ate
   a borda de proposito: as faixas de borda a borda desta pagina sao o trilho
   laranja do hero e o fecho, e uma terceira ali no meio quebraria a leitura
   entre planos e portabilidade. */

.cst-combo{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:clamp(22px,3.4vw,48px);
  flex-wrap:wrap;
  width:100%;
  margin-top:clamp(30px,3.6vw,44px);
  padding:clamp(28px,3.2vw,40px);
  border:1px solid #FBD9C7;
  border-radius:24px;
  background:#FFF1EA;
}
.cst-combo *,.cst-combo *::before,.cst-combo *::after{box-sizing:border-box}

/* ---------- ICONE ---------- */
.cst-combo__ic{
  display:grid;
  place-items:center;
  flex:none;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#FE5000;
  color:#FFFFFF;
  transition:transform .5s cubic-bezier(.19,1,.22,1);
}
.cst-combo__ic svg{width:27px;height:27px;display:block}
.cst-combo:hover .cst-combo__ic{transform:translateY(-3px)}

/* ---------- TEXTO ---------- */
.cst-combo__c{
  flex:1 1 340px;
  min-width:0;
}

.cst-combo__t{
  margin:0;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:clamp(1.22rem,2vw,1.58rem);
  letter-spacing:-.03em;
  line-height:1.2;
  color:#141314;
}

.cst-combo__d{
  margin:11px 0 0;
  font-family:'Rubik',sans-serif;
  font-weight:400;
  font-size:.98rem;
  line-height:1.62;
  color:#474647;
  max-width:52ch;
}

/* ---------- BOTAO ---------- */
.cst-combo .cst-btn{flex:none}

/* ---------- RESPONSIVO ---------- */
@media (max-width:900px){
  .cst-combo{
    gap:22px;
    padding:28px 24px;
    border-radius:20px;
  }
  .cst-combo__c{flex:1 1 100%}
  .cst-combo .cst-btn{width:100%}
}

@media (max-width:600px){
  .cst-combo__ic{width:56px;height:56px}
  .cst-combo__ic svg{width:24px;height:24px}
}

@media (prefers-reduced-motion:reduce){
  .cst-combo__ic{transition:none}
  .cst-combo:hover .cst-combo__ic{transform:none}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-0c8ebb1 */.elementor-827 .elementor-element.elementor-element-0c8ebb1{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2fb5640 */.elementor-827 .elementor-element.elementor-element-2fb5640{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-93ba11e *//* CST INTERNET — PORTABILIDADE (pagina Telefonia Movel)
   Container que segura o widget do arquivo 189 > Avancado > CSS Personalizado.
   Identico ao arquivo 163, da pagina do App: o passo a passo do CST+ mais a
   variante --col, que o trava em vertical em qualquer largura.
   O bloco da variante fica no fim de proposito — ele precisa vir depois das
   media queries de 900px e 640px pra ganhar delas. */



.cst-passos{
  box-sizing:border-box;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:100%;
  counter-reset:passo;
}
.cst-passos *,.cst-passos *::before,.cst-passos *::after{box-sizing:border-box}

.cst-passos__i{
  position:relative;
  padding:0 clamp(22px,3vw,42px) 0 0;
}
.cst-passos__i + .cst-passos__i{padding-left:clamp(22px,3vw,42px)}

/* ---------- NUMERAL ---------- */
.cst-passos__n{
  display:block;
  font-family:'Rubik',sans-serif;
  font-weight:800;
  font-size:clamp(3rem,5.6vw,4.6rem);
  letter-spacing:-.05em;
  line-height:.86;
  color:transparent;
  -webkit-text-stroke:1.5px #D9D5D6;
  transition:color .42s cubic-bezier(.19,1,.22,1),
             -webkit-text-stroke-color .42s cubic-bezier(.19,1,.22,1),
             transform .46s cubic-bezier(.19,1,.22,1);
}

/* ---------- TRILHO ---------- */
.cst-passos__mk{
  position:relative;
  display:block;
  height:1px;
  margin:clamp(24px,2.8vw,34px) 0 0;
  background:#E6E3E4;
}
/* o segmento laranja que corre da esquerda para a direita */
.cst-passos__mk::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background:#FE5000;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .62s cubic-bezier(.33,0,.2,1);
}
/* o ponto do passo */
.cst-passos__mk::after{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:11px;
  height:11px;
  margin-top:-5.5px;
  border-radius:50%;
  background:#FFFFFF;
  border:2px solid #C9C6C8;
  transition:border-color .38s cubic-bezier(.19,1,.22,1),
             background .38s cubic-bezier(.19,1,.22,1),
             transform .42s cubic-bezier(.19,1,.22,1);
}
/* o ultimo trilho some no fim, para nao virar um fio solto */
.cst-passos__i:last-child .cst-passos__mk{
  background:linear-gradient(90deg,#E6E3E4 0%,#E6E3E4 55%,rgba(230,227,228,0) 100%);
}

/* ---------- TEXTO ---------- */
.cst-passos__c{padding-top:clamp(22px,2.6vw,30px);min-width:0}
.cst-passos__t{
  margin:0;
  font-family:'Rubik',sans-serif;
  font-weight:600;
  font-size:clamp(1.05rem,1.5vw,1.2rem);
  letter-spacing:-.024em;
  line-height:1.3;
  color:#141314;
}
.cst-passos__d{
  margin:10px 0 0;
  font-family:'Rubik',sans-serif;
  font-weight:400;
  font-size:.94rem;
  line-height:1.65;
  color:#6E6C6E;
  max-width:34ch;
}

/* ---------- ATIVO ----------
   O JS acende em duas etapas: .is-no acende o passo, .is-fio faz a linha
   crescer ate o proximo. Sem JS, o hover e o foco acendem os dois juntos. */
.cst-passos__i.is-no .cst-passos__n,
.cst-passos__i:hover .cst-passos__n,
.cst-passos__i:focus-within .cst-passos__n{
  color:#FE5000;
  -webkit-text-stroke-color:#FE5000;
  transform:translateY(-4px);
}
.cst-passos__i.is-no .cst-passos__mk::after,
.cst-passos__i:hover .cst-passos__mk::after,
.cst-passos__i:focus-within .cst-passos__mk::after{
  border-color:#FE5000;
  background:#FE5000;
  transform:scale(1.25);
}
.cst-passos__i.is-fio .cst-passos__mk::before,
.cst-passos__i:hover .cst-passos__mk::before,
.cst-passos__i:focus-within .cst-passos__mk::before{transform:scaleX(1)}

/* ---------- VARIANTE ESCURA ---------- */
.cst-passos--dark .cst-passos__n{-webkit-text-stroke-color:rgba(255,255,255,.3)}
.cst-passos--dark .cst-passos__mk{background:rgba(255,255,255,.16)}
.cst-passos--dark .cst-passos__i:last-child .cst-passos__mk{
  background:linear-gradient(90deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.16) 55%,rgba(255,255,255,0) 100%);
}
.cst-passos--dark .cst-passos__mk::after{background:#141314;border-color:rgba(255,255,255,.35)}
.cst-passos--dark .cst-passos__t{color:#FFFFFF}
.cst-passos--dark .cst-passos__d{color:rgba(255,255,255,.66)}

/* ---------- RESPONSIVO ---------- */
@media (max-width:900px){
  .cst-passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cst-passos__i:nth-child(2n+1){padding-left:0}
  .cst-passos__i:nth-child(n+3){margin-top:clamp(30px,4vw,42px)}
  .cst-passos__d{max-width:none}
}

@media (max-width:640px){
  .cst-passos{grid-template-columns:minmax(0,1fr)}

  /* a especificidade tem que bater a do bloco de 900px, senao o nth-child
     de la continua zerando o recuo do 1o e do 3o passo */
  .cst-passos .cst-passos__i,
  .cst-passos .cst-passos__i:nth-child(2n+1),
  .cst-passos .cst-passos__i:nth-child(n+3){
    margin-top:0;
    padding:0 0 clamp(26px,5vw,34px) clamp(30px,8vw,38px);
  }
  .cst-passos .cst-passos__i:last-child{padding-bottom:0}

  /* no celular o trilho vira vertical, na lateral esquerda */
  .cst-passos__mk{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:1px;
    height:auto;
    margin:0;
  }
  .cst-passos__mk::before{
    width:1px;
    height:100%;
    transform:scaleY(0);
    transform-origin:top center;
  }
  .cst-passos__mk::after{
    left:-5px;
    top:14px;
    margin-top:0;
  }
  .cst-passos__i:last-child .cst-passos__mk{
    background:linear-gradient(180deg,#E6E3E4 0%,#E6E3E4 45%,rgba(230,227,228,0) 100%);
  }
  .cst-passos--dark .cst-passos__i:last-child .cst-passos__mk{
    background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.16) 45%,rgba(255,255,255,0) 100%);
  }
  .cst-passos__i.is-fio .cst-passos__mk::before,
  .cst-passos__i:hover .cst-passos__mk::before,
  .cst-passos__i:focus-within .cst-passos__mk::before{transform:scaleY(1)}

  .cst-passos__n{font-size:2.4rem}
  .cst-passos__c{padding-top:14px}
  .cst-passos__d{max-width:none}
}

@media (prefers-reduced-motion:reduce){
  .cst-passos__n,.cst-passos__mk::before,.cst-passos__mk::after{transition:none}
  .cst-passos__i:hover .cst-passos__n,
  .cst-passos__i.is-no .cst-passos__n{transform:none}
}

/* ====================================================================
   VARIANTE EM COLUNA — .cst-passos--col
   ==================================================================== */

.cst-passos.cst-passos--col{
  grid-template-columns:minmax(0,1fr);
}

.cst-passos.cst-passos--col .cst-passos__i,
.cst-passos.cst-passos--col .cst-passos__i:nth-child(2n+1),
.cst-passos.cst-passos--col .cst-passos__i:nth-child(n+3){
  margin-top:0;
  padding:0 0 clamp(26px,3vw,32px) clamp(30px,4vw,40px);
}
.cst-passos.cst-passos--col .cst-passos__i:last-child{padding-bottom:0}

/* o trilho vira vertical, na lateral esquerda */
.cst-passos.cst-passos--col .cst-passos__mk{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  height:auto;
  margin:0;
}
.cst-passos.cst-passos--col .cst-passos__mk::before{
  width:1px;
  height:100%;
  transform:scaleY(0);
  transform-origin:top center;
}
.cst-passos.cst-passos--col .cst-passos__mk::after{
  left:-5px;
  top:14px;
  margin-top:0;
}
.cst-passos.cst-passos--col .cst-passos__i:last-child .cst-passos__mk{
  background:linear-gradient(180deg,#E6E3E4 0%,#E6E3E4 45%,rgba(230,227,228,0) 100%);
}
.cst-passos--col.cst-passos--dark .cst-passos__i:last-child .cst-passos__mk{
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.16) 45%,rgba(255,255,255,0) 100%);
}
.cst-passos.cst-passos--col .cst-passos__i.is-fio .cst-passos__mk::before,
.cst-passos.cst-passos--col .cst-passos__i:hover .cst-passos__mk::before,
.cst-passos.cst-passos--col .cst-passos__i:focus-within .cst-passos__mk::before{
  transform:scaleY(1);
}

.cst-passos.cst-passos--col .cst-passos__n{
  font-size:clamp(2.1rem,2.8vw,2.6rem);
}
.cst-passos.cst-passos--col .cst-passos__c{padding-top:12px}
.cst-passos.cst-passos--col .cst-passos__d{max-width:none}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-254cc6f */.elementor-827 .elementor-element.elementor-element-254cc6f{
    
    text-wrap: balance;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-b4b4703 */.elementor-827 .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 Telefonia Movel)
   Container que segura o widget do arquivo 192 > Avancado > CSS Personalizado.
   Identico aos arquivos 143 e 178. 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 MOVEL
   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 */