/* Ajustes responsivos compartilhados pelas duas páginas. */
@media (min-width:781px) and (max-width:1050px){
  .nav-links{gap:16px}.nav-links a{font-size:13px}
  .topbar-inner{gap:12px}.top-links{gap:8px}.segmented a,.pill{padding:9px 12px;font-size:12px}
}
@media (max-width:780px){
  html{scroll-padding-top:80px}
  .container{width:calc(100% - 32px)}
  .container>*,.hero-copy,.plan-card,.region-card,.footer-classic-column{min-width:0}
  .navbar .nav-inner{height:64px}
  .navbar .brand-logo img,.navbar .brand-image img{width:100px;max-height:48px;object-fit:contain}
  .menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;font-size:25px;cursor:pointer}
  .menu-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
  .nav-links{top:64px;padding:12px 16px 18px;gap:2px;max-height:calc(100dvh - 64px);overflow-y:auto}
  .nav-links.open{display:flex}
  .nav-links a{display:flex;align-items:center;width:100%;min-height:46px;padding:10px 12px;font-size:15px;border-radius:10px}
  .nav-links a:focus-visible{outline:2px solid #fff}
  /* Os slides ocupam a mesma célula e dimensionam a altura pelo conteúdo. */
  .hero-stack-mode .hero-track{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0}
  .hero-stack-mode .hero-slide{grid-area:1/1;position:relative;inset:auto;min-width:0;visibility:hidden;transform:none}
  .hero-stack-mode .hero-slide.active{visibility:visible;transform:none}
  .hero-stack-mode .stack-hero-content{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);align-content:start;align-items:center;gap:20px;padding:32px 0 74px}
  .hero-stack-mode .hero-copy{padding-right:0;max-width:none}
  .hero-stack-mode .hero-copy h1{font-size:clamp(32px,8.7vw,44px);line-height:1.04;letter-spacing:-1.2px;margin:0 0 16px;max-width:100%}
  .hero-stack-mode .hero-copy p{font-size:15px;line-height:1.65;margin:0;max-width:100%}
  .hero-stack-mode .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.6;margin-bottom:12px}
  .hero-stack-mode .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;margin-top:20px}
  .hero-stack-mode .hero-actions .btn{min-width:0;min-height:48px;padding:12px 10px;font-size:12px;line-height:1.4;text-align:center;border-radius:14px;white-space:normal}
  .combo-hero-note,.phone-hero-note{font-size:10px;line-height:1.55;margin:12px 0 0;max-width:none}
  .fiber-hero-benefits,.tv-hero-features,.phone-hero-features{gap:6px;margin-top:14px}
  .fiber-hero-benefits span,.tv-hero-features span,.phone-hero-features span{font-size:10px;line-height:1.4;padding:6px 8px}
  .combo-services-art.combo-image-stage{width:100%;max-width:360px;height:300px;margin:0 auto}
  .combo-image-stage .combo-mascot-image{width:215px;max-height:235px;bottom:4px}
  .combo-image-stage .combo-image-tile{max-width:210px;padding:9px 10px;gap:8px}
  .combo-image-stage .combo-image-fiber{top:12px;left:2px}
  .combo-image-stage .combo-image-tv{top:86px;right:2px}
  .combo-image-stage .combo-image-phone{left:3px;bottom:0;padding:9px 10px}
  .combo-image-stage .combo-image-tile strong,.combo-image-phone strong{font-size:12px}
  .combo-image-stage .combo-image-tile div>span,.combo-image-phone div>span{font-size:10px}
  .combo-phone-pulse{display:none}
  .fiber-connect-art{width:100%;max-width:360px;height:300px;margin:auto}
  .fiber-speed-label strong{font-size:70px}
  .fiber-use-work{top:117px}.fiber-use-play{top:162px}.fiber-router{top:120px;width:205px}
  .tv-showcase-art{width:100%;max-width:360px;height:290px;margin:0 auto}
  .tv-showcase-screen{top:16px;right:16px}
  .tv-channel-badge{bottom:5px}.tv-showcase-remote{bottom:3px;right:8px}
  .phone-showcase-art{width:100%;max-width:360px;height:300px;margin:auto}
  .desk-phone-illustration.desk-phone-photo{top:0;width:100%;max-width:320px}
  .phone-showcase-art .phone-unlimited-badge{top:0;right:0}
  .phone-showcase-art .phone-connection-badge{bottom:0;left:0}
  .hero-stack-mode .hero-arrow{display:flex;align-items:center;justify-content:center;top:auto;bottom:12px;width:44px;height:44px;transform:none;font-size:22px}
  .hero-stack-mode .hero-arrow.prev{left:16px}.hero-stack-mode .hero-arrow.next{right:16px}
  .hero-dots{bottom:12px;height:44px;align-items:center;gap:0;z-index:6}
  .hero-dots button,.hero-dots button.active{width:36px;height:44px;border-radius:0;background:transparent!important;position:relative;cursor:pointer}
  .hero-dots button:after{content:"";position:absolute;width:8px;height:8px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:10px;background:rgba(255,255,255,.5)}
  .hero-dots button.active:after{width:22px;background:#fff}
  .hero-dots button:focus-visible{outline:2px solid #fff;outline-offset:-5px}
  .section{padding:52px 0}
  .section-heading{margin-bottom:28px}.split-heading>p{margin-bottom:0}
  .section-heading h2,.combo-copy h2,.app-copy h2,.about-copy h2,.lead-copy h2{font-size:clamp(30px,8vw,38px);line-height:1.08;letter-spacing:-.8px}
  .section-heading p,.combo-copy p,.app-copy p,.about-copy p,.lead-copy p{font-size:15px;line-height:1.7}
  .plans-grid{grid-template-columns:minmax(0,1fr);gap:24px;max-width:430px;margin-inline:auto}
  .plan-card{padding:22px;border-radius:22px}.plan-card.featured{transform:none}
  .plan-card:hover,.plan-card.featured:hover{transform:none}
  .plan-top strong{font-size:68px}.plan-options-title{flex-wrap:wrap;gap:4px}
  .plan-switch-row{min-height:56px;padding:10px;grid-template-columns:minmax(0,1fr) 38px}
  .option-copy>span{min-width:0}.option-copy strong{font-size:12px;line-height:1.4;overflow-wrap:break-word}.option-copy small{font-size:11px}
  .plan-card .btn.full{min-height:50px;font-size:14px}.plan-benefits-list>div{font-size:12px;line-height:1.4}
  .combo-layout{gap:28px}.combo-gallery{gap:16px}
  .benefit-art-card,.benefit-art-card img{min-height:0}.benefit-art-card{aspect-ratio:4/3}.benefit-art-card img{height:100%;width:100%;object-fit:cover}
  .app-layout{gap:24px;min-height:0}.app-copy{padding:48px 0 0}.app-benefits{gap:8px;margin:20px 0}.app-benefits span{font-size:11px;padding:8px 10px}
  .app-store-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center}
  .app-store-badges .store-badge-link{min-width:0;padding:0;background:transparent}
  .app-store-badges .store-badge-link img{display:block;width:100%;height:auto;max-height:54px;object-fit:contain}
  .app-store-badges .apple-badge img{width:100%;height:auto;max-height:45px}
  .phone-stage{height:470px;width:100%;max-width:380px;justify-self:center}
  .phone-stage .hand-shape{display:none}
  .phone-stage .phone-shell{left:50%;right:auto;top:0;transform:translateX(-50%);width:210px;height:410px;border-width:6px;border-radius:34px;padding:6px}
  .phone-shell img{border-radius:24px}
  .phone-stage .float-card{left:50%;right:auto;top:auto;bottom:20px;transform:translateX(-50%);width:min(280px,100%);padding:16px 20px;border-radius:18px;text-align:center}
  .float-card strong{font-size:23px;margin:6px 0 0}
  .about-shell{padding:24px 18px;gap:24px;border-radius:24px}
  .person-panel{height:340px;min-height:0}.google-card{left:12px;right:12px;bottom:12px;gap:8px;padding:12px;font-size:12px;flex-wrap:wrap}.google-card .stars{font-size:12px}
  .proof-row{gap:12px;margin:20px 0}.proof-row div{padding-right:12px}.proof-row strong{font-size:22px}
  #autoatendimento .section-heading{margin-bottom:24px}
  .self-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .self-service-card{padding:18px 14px;border-radius:14px}.self-service-card h3{font-size:13px}.self-service-card p{font-size:12px;line-height:1.5}
  .video-grid{max-width:390px;gap:20px}.video-card{height:auto;min-height:0;aspect-ratio:9/14}.video-card iframe{width:100%;height:100%}
  .lead-shell{gap:24px}.lead-form{padding:22px 18px;border-radius:22px;margin:0;gap:14px}
  .lead-form input,.lead-form select,.lead-form textarea,.plan-city-dialog select{font-size:16px;max-width:100%;min-width:0;min-height:48px}
  .lead-form label{min-width:0}.lead-form .btn{min-height:50px}.form-head strong{font-size:26px}
  .mascot-real{max-width:220px;margin:20px auto 0}
  .plan-city-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);padding:28px 20px 22px;border-radius:20px}
  .plan-city-dialog h2{font-size:27px;padding-right:16px}.plan-city-close{width:44px;height:44px;right:6px;top:6px}
  .floating-whatsapp{width:54px;height:54px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));animation:none}
  .regions-hero-inner{padding:38px 0;min-height:0;gap:22px;grid-template-columns:minmax(0,1fr)}
  .regions-hero h1{font-size:clamp(34px,9vw,46px);line-height:1.06;letter-spacing:-1px;margin-bottom:18px}
  .regions-hero p{font-size:15px;line-height:1.7}.regions-kicker{font-size:10px;letter-spacing:1px}
  .regions-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.regions-hero-actions .btn{font-size:12px;padding:12px 8px;border-radius:14px;min-height:48px;text-align:center}
  .regions-hero-visual{height:220px}.orbit-a{width:210px;height:210px}.orbit-b{width:160px;height:160px;box-shadow:none}.location-core{width:150px;height:150px;border-radius:30px;padding:18px}.location-core img{width:95px;margin-bottom:10px}.location-core strong{font-size:22px}.location-core span{font-size:10px}
  .regions-grid{grid-template-columns:minmax(0,1fr);gap:22px;max-width:440px;margin-inline:auto}.region-card{padding:20px;border-radius:22px}.region-thumb{margin:-20px -20px 18px;height:190px}.region-card-top{gap:10px;margin-bottom:12px}.region-card-top>div{min-width:0}.region-pin{flex:0 0 40px;width:40px;height:40px}.region-card h2{font-size:27px;line-height:1.1}.region-card p{min-height:0;margin:12px 0;font-size:14px}
  .region-actions{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:18px}.region-btn{min-height:48px;font-size:13px}
  .contact-hub-grid{grid-template-columns:minmax(0,1fr);gap:20px}.contact-main-card,.stores-card{padding:24px 18px;border-radius:22px}.contact-main-card h2,.stores-card h2{font-size:30px;line-height:1.1}.contact-main-actions{display:grid;gap:10px}.contact-main-actions .btn{min-height:48px;font-size:12px;padding:12px 10px;overflow-wrap:anywhere}
  .stores-card>a{grid-template-columns:30px minmax(0,1fr) 14px;gap:8px;padding:12px}.stores-card>a>span{width:30px;height:30px;border-radius:9px}.stores-card>a>div{min-width:0}.stores-card strong{font-size:13px}.stores-card small{font-size:12px;line-height:1.6;overflow-wrap:break-word}
  .footer-classic-grid{gap:30px}.footer-classic h2{font-size:26px}.footer-classic .footer-action{font-size:12px;line-height:1.7;min-width:0}.footer-classic .footer-action>span:last-child{min-width:0;overflow-wrap:anywhere}.footer-classic-brand img{height:65px;max-width:150px}
}
@media(max-width:360px){
  .container{width:calc(100% - 28px)}
  .hero-stack-mode .hero-copy h1{font-size:31px}.hero-stack-mode .hero-copy p{font-size:14px}
  .hero-stack-mode .hero-actions{grid-template-columns:minmax(0,1fr)}
  .hero-stack-mode .stack-hero-content{padding-top:28px;gap:16px}
  .combo-services-art.combo-image-stage{height:280px}.combo-image-stage .combo-mascot-image{width:195px}.combo-image-stage .combo-image-tile strong,.combo-image-phone strong{font-size:11px}.combo-phone-symbol{width:30px;height:30px;flex-basis:30px}
  .fiber-connect-art,.phone-showcase-art{height:280px}.fiber-use{padding:8px;gap:5px}.fiber-use-work{top:111px}.fiber-use-play{top:166px}.fiber-use strong{font-size:9px}.fiber-router{width:180px}.fiber-connect-rings span{max-width:100%}
  .tv-showcase-art{height:260px}.tv-showcase-screen{padding:8px}.tv-screen-topline{font-size:7px}.tv-screen-categories span{padding:3px 5px;font-size:7px}.tv-channel-badge>strong{font-size:34px}.tv-showcase-remote{height:130px}
  .self-service-grid{grid-template-columns:minmax(0,1fr)}
  .plan-card{padding:18px}.proof-row{gap:8px}.proof-row strong{font-size:20px}.proof-row div{padding-right:8px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.hero-slide,.btn,.region-card,.self-service-card{transition:none!important}.floating-whatsapp{animation:none!important}
}

/* Contatos: acesso rápido às cidades, sem ilustração alta no celular. */
@media(max-width:780px){
  .regions-page .regions-hero-inner{padding:26px 0 28px;gap:0;min-height:0}
  .regions-page .regions-hero-visual{display:none}
  .regions-page .regions-kicker{font-size:10px;line-height:1.4;margin-bottom:10px}
  .regions-page .regions-hero h1{font-size:clamp(28px,7.8vw,34px);line-height:1.08;letter-spacing:-.7px;margin:0 0 12px}
  .regions-page .regions-hero p{font-size:14px;line-height:1.55;margin:0;max-width:520px}
  .regions-page .regions-hero-actions{margin-top:16px;gap:8px}
  .regions-page .regions-hero-actions .btn{min-height:44px;font-size:12px;padding:10px 8px}
  .regions-page .regions-section{padding-top:30px}
  .regions-page .regions-heading{margin-bottom:20px}
  .regions-page .regions-heading h2{font-size:28px;margin-bottom:10px}
  .regions-page .regions-heading>p{font-size:14px;line-height:1.5;margin:0}
}

/* Contatos: cabeçalho compacto também em computadores e tablets. */
@media(min-width:781px){
  .regions-page .regions-hero-inner{display:block;min-height:0;padding:36px 0 38px}
  .regions-page .regions-hero-visual{display:none}
  .regions-page .regions-hero-copy{max-width:900px}
  .regions-page .regions-kicker{font-size:11px;line-height:1.4;margin-bottom:12px}
  .regions-page .regions-hero h1{font-size:42px;line-height:1.08;letter-spacing:-1px;max-width:none;margin:0 0 14px}
  .regions-page .regions-hero p{font-size:16px;line-height:1.55;max-width:760px;margin:0}
  .regions-page .regions-hero-actions{margin-top:18px;gap:10px}
  .regions-page .regions-hero-actions .btn{min-height:44px;padding:11px 18px;font-size:13px}
  .regions-page .regions-section{padding-top:40px}
  .regions-page .regions-heading{margin-bottom:26px}
  .regions-page .regions-heading h2{font-size:36px;margin-bottom:10px}
  .regions-page .regions-heading>p{font-size:15px;line-height:1.55}
}
