/* Campanha VM NET: cenas integradas, oferta dinâmica e marcas oficiais. */
.hero-banner{position:relative;overflow:hidden;background:#041b30;color:#fff}
.hero-slider{position:relative;isolation:isolate;overflow:hidden;touch-action:pan-y}
.hero-slides{display:grid}
.hero-slide{position:relative;grid-area:1/1;min-width:0;overflow:hidden;background:#041b30;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s step-end}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity .55s ease,visibility 0s}
.hero-scene{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.hero-slide:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,18,34,.76),rgba(2,18,34,.2) 42%,transparent 64%),linear-gradient(0deg,rgba(2,18,34,.7),transparent 25%)}
.hero-slide-plan:after{background:linear-gradient(90deg,rgba(2,18,34,.64),rgba(2,18,34,.15) 35%,transparent 49%,transparent 67%,rgba(2,18,34,.78) 86%),linear-gradient(0deg,rgba(2,18,34,.75),transparent 26%)}
.hero-slide-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;width:min(1220px,calc(100% - 160px));min-height:650px;padding-block:60px 72px}
.hero-banner-copy{max-width:500px;min-width:0}
.hero-banner-kicker{display:inline-flex;align-items:center;gap:9px;color:#ffbc52;font:700 11px/1.3 var(--heading);letter-spacing:.14em;margin-bottom:24px}
.hero-banner-kicker:before{content:"";width:24px;height:2px;background:var(--vm-amber)}
.hero-banner-kicker .icon{width:17px;height:17px}
.hero-banner-copy h2{color:#fff;font:700 clamp(36px,4vw,60px)/1.07 var(--heading);letter-spacing:-.045em;text-wrap:balance}
.hero-banner-copy h2 em{display:block;color:#ffbc52;font-style:normal}
.hero-banner-copy>p{max-width:390px;margin:24px 0 30px;color:#d4e1ec;font-size:17px;line-height:1.6}
.hero-banner-actions{display:flex;align-items:center;gap:16px}
.hero-banner-actions .button{min-height:52px;border-radius:6px;padding:15px 22px;font-size:12px;letter-spacing:.02em;box-shadow:0 8px 24px #0003}
.hero-banner-actions .button:hover{background:#ffd083;color:#061f35}
.hero-slide-plan .hero-slide-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,.72fr);gap:24px}
.hero-plan-copy{grid-column:1;grid-row:1;max-width:none}
.hero-plan-copy .hero-banner-kicker{margin-bottom:16px}
.hero-plan-copy>p.hero-plan-combo{font:600 11px/1.4 var(--heading);letter-spacing:.055em;color:#d9e9f5;margin:0 0 16px;max-width:none}
.hero-plan-title{display:flex;align-items:baseline;gap:12px;color:#fff;font:800 clamp(94px,9.5vw,140px)/.9 var(--heading);letter-spacing:-.065em!important;margin:0;text-shadow:0 4px 24px #0003}
.hero-plan-title small{color:#ffbc52;font:700 clamp(18px,1.8vw,26px)/1 var(--heading);letter-spacing:-.025em}
.hero-offer-details{margin:10px 0 26px;padding:0;border:0;max-width:325px}
.hero-plan-price{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;color:#fff}
.hero-plan-price>span{font:600 14px/1.3 'Barlow Semi Condensed',sans-serif;color:#b7cbdc}
.hero-plan-price>strong{font:700 clamp(56px,5.5vw,76px)/1 'Barlow Semi Condensed',sans-serif;letter-spacing:-.015em;font-variant-numeric:lining-nums tabular-nums}
.hero-plan-price sup{font-size:.52em;position:relative;top:-.48em;margin-left:2px;vertical-align:baseline;letter-spacing:0}
.hero-plan-price>small{align-self:end;margin:0 0 6px;font:500 15px/1 'Barlow Semi Condensed',sans-serif;color:#b7cbdc}
.hero-banner-location{display:flex;align-items:center;gap:7px;margin-top:24px;font-size:11px;line-height:1.4;color:#b7cbdc}
.hero-banner-location .icon{width:13px;height:13px;color:#ffbc52}
.hero-banner-location strong{color:#fff}
.hero-streamings{grid-column:3;grid-row:1;align-self:center;min-width:0;padding:24px 0 24px 22px;border-left:1px solid #ffffff36}
.hero-streamings-label{font:600 15px/1.5 var(--heading);letter-spacing:.015em;color:#fff;margin:0 0 22px}
.hero-streamings-label:before{content:"NO SEU PLANO";display:block;font-size:9px;letter-spacing:.15em;color:#ffbc52;margin-bottom:9px}
.hero-streamings-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.hero-streaming{grid-column:span 2;aspect-ratio:1;overflow:hidden;border-radius:13px;box-shadow:0 5px 15px #0003}
.hero-streaming:nth-child(4){grid-column:2/span 2}
.hero-streaming:nth-child(5){grid-column:4/span 2}
.hero-streaming img{display:block;width:100%;height:100%;object-fit:contain}
.hero-streamings-note{margin:14px 0 0;color:#e0eaf3;font:400 12px/1.5 var(--body);max-width:390px}
.hero-arrow{position:absolute;z-index:3;top:50%;bottom:auto;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#06243ed9;color:#fff;font:300 29px/1 var(--body);transition:background .2s}
.hero-arrow:hover{background:var(--vm-blue)}
.hero-arrow-previous{left:6%;right:auto}
.hero-arrow-next{right:6%;left:auto}
.hero-slider :focus-visible{outline:3px solid var(--vm-amber);outline-offset:5px}
@media(min-width:1800px){.hero-slide-inner{min-height:700px}}
@media(min-width:901px) and (max-width:1150px){
  .hero-slide-inner{width:calc(100% - 96px);gap:24px;min-height:600px}
  .hero-slide-plan .hero-slide-inner{grid-template-columns:1.1fr .75fr .8fr;gap:18px}
  .hero-streamings{padding-left:16px}
  .hero-streamings-logos{gap:8px}
  .hero-streaming{border-radius:10px}
  .hero-streamings-label{font-size:12px}
}
@media(min-width:651px) and (max-width:1150px){
  .hero-slide-inner{width:calc(100% - 80px);grid-template-columns:1fr 1fr;min-height:660px;padding-block:48px 78px;gap:24px}
  .hero-slide-plan .hero-slide-inner{grid-template-columns:1fr 1fr}
  .hero-plan-title{font-size:100px}
  .hero-streamings{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px 24px;border-left:0;border-top:1px solid #ffffff30;padding:20px 0 0}
  .hero-streamings-note{grid-column:2;margin:0}
  .hero-streamings-label{margin:0;font-size:13px;min-width:160px}
  .hero-streamings-logos{grid-template-columns:repeat(5,minmax(0,64px));gap:10px}
  .hero-streaming,.hero-streaming:nth-child(4),.hero-streaming:nth-child(5){grid-column:auto}
  .hero-slide-plan:after{background:linear-gradient(90deg,#021222c9,transparent 65%),linear-gradient(0deg,#041b30 12%,transparent 48%)}
}
@media(max-width:650px){
  .hero-slides{display:block}
  .hero-slide{position:absolute;inset:0}
  .hero-slide.is-active{position:relative}
  .hero-scene{height:310px;object-position:63% center}
  .hero-slide-tv .hero-scene{object-position:80% center}
  .hero-slide-business .hero-scene{object-position:74% center}
  .hero-slide:after,.hero-slide-plan:after{height:312px;background:linear-gradient(0deg,#041b30 1%,#041b3030 35%,transparent 65%)}
  .hero-slide-inner,.hero-slide-plan .hero-slide-inner{display:flex;flex-direction:column;align-items:stretch;gap:24px;width:auto;min-height:0;margin:0;padding:280px 24px 78px}
  .hero-banner-copy{max-width:none}
  .hero-banner-kicker,.hero-plan-copy .hero-banner-kicker{font-size:10px;margin-bottom:15px}
  .hero-banner-copy h2{font-size:clamp(32px,8.7vw,45px);max-width:470px}
  .hero-banner-copy>p{font-size:15px;margin:18px 0 24px}
  .hero-plan-copy>p.hero-plan-combo{font-size:10px;margin-bottom:16px}
  .hero-plan-title{font-size:96px}
  .hero-plan-title small{font-size:23px}
  .hero-offer-details{margin-top:8px;max-width:none}
  .hero-plan-price>strong{font-size:62px}
  .hero-banner-actions .button{min-height:48px;font-size:11px}
  .hero-banner-location{margin-top:17px;font-size:10px}
  .hero-streamings{border-left:0;border-top:1px solid #ffffff30;padding:20px 0 0}
  .hero-streamings-label{font-size:12px;margin-bottom:13px}
  .hero-streamings-label:before{display:none}
  .hero-streamings-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:390px}
  .hero-streaming,.hero-streaming:nth-child(4),.hero-streaming:nth-child(5){grid-column:auto;border-radius:9px}
  .hero-arrow{width:36px;height:36px}
  .hero-arrow-previous{left:8%}.hero-arrow-next{right:8%}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active{transition:none}}
