/* ==========================================================================
   hero-carousel.css — NTWeb 2026 Deep Command
   Hero carousel de 5 slides para homepage. Tokens via tokens.css. Sem Google Fonts.
   ========================================================================== */.nt-hero-carousel{position:relative;width:100%;aspect-ratio:16/5;max-height:600px;overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.72) 52%, rgba(255,255,255,0.84) 100%),url("../images/background-hero-2026-04-28.png") center top/cover no-repeat;isolation:isolate}/* image-set com type() deixa o navegador escolher o AVIF só quando o suporta;
   sem suporte a type() a declaração é descartada e fica o PNG de cima. */.nt-hero-carousel{background-image:linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.72) 52%, rgba(255,255,255,0.84) 100%),image-set(url("../images/background-hero-2026-04-28.avif") type("image/avif"), url("../images/background-hero-2026-04-28.png") type("image/png"))}.nt-hero-carousel__viewport{position:relative;width:100%;height:100%;overflow:hidden}.nt-hero-carousel__stage{position:absolute;top:0;left:50%;width:1920px;height:600px;transform:translateX(-50%) scale(var(--hc-scale, 1));transform-origin:top center}/* Antes do JS medir, o palco já sai na escala do container. A divisão de
   comprimentos só vale com aritmética tipada; sem ela, fica o scale(1) acima. */@supports (scale: calc(1px / 1px)){.nt-hero-carousel__stage{transform:translateX(-50%) scale(var(--hc-scale, min(calc(100cqw / 1920px), 1)))}}.hero-carousel__slide{position:absolute;inset:0;width:1920px;height:600px;opacity:0;transition:opacity .4s var(--ease-out, ease);pointer-events:none}.hero-carousel__slide.is-active{opacity:1;pointer-events:auto}.hero-carousel__inner{position:relative;width:100%;height:100%;overflow:hidden}.hero-carousel__inner::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0}/* HUD corners */.hc-hud{position:absolute;width:28px;height:28px;z-index:10}.hc-hud::before,.hc-hud::after{content:'';position:absolute;background:var(--hc-accent);opacity:.7}.hc-hud--tl{top:20px;left:20px}.hc-hud--tl::before{top:0;left:0;width:2px;height:28px}.hc-hud--tl::after{top:0;left:0;width:28px;height:2px}.hc-hud--tr{top:20px;right:20px}.hc-hud--tr::before{top:0;right:0;width:2px;height:28px}.hc-hud--tr::after{top:0;right:0;width:28px;height:2px}.hc-hud--bl{bottom:20px;left:20px}.hc-hud--bl::before{bottom:0;left:0;width:2px;height:28px}.hc-hud--bl::after{bottom:0;left:0;width:28px;height:2px}.hc-hud--br{bottom:20px;right:20px}.hc-hud--br::before{bottom:0;right:0;width:2px;height:28px}.hc-hud--br::after{bottom:0;right:0;width:28px;height:2px}.hc-mono-label{position:absolute;top:28px;left:64px;font-family:var(--font-mono);font-size:13px;font-weight:500;/* --hc-accent-ink: tom escuro do accent com ≥4,8:1 sobre o fundo claro do hero (WCAG AA). */color:var(--hc-accent-ink, var(--hc-accent));letter-spacing:.1em;text-transform:uppercase;z-index:10}.hc-copy{position:absolute;top:50%;left:200px;transform:translateY(-50%);z-index:5;width:680px}.hc-headline{font-family:var(--font-display);font-weight:700;font-size:72px;line-height:1.0;letter-spacing:-.02em;color:var(--text-1);text-transform:uppercase;margin:0 0 20px}.hc-headline em{font-style:normal;color:var(--hc-accent)}.hc-subhead{font-family:var(--font-body);font-weight:400;font-size:22px;line-height:1.45;color:var(--text-2);max-width:520px;margin:0 0 16px}.hc-mono-detail{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-3);letter-spacing:.06em;margin:0 0 36px}/* Placa de procedência — mesma família visual do eyebrow [ NT // ... ]:
   régua de fios de 1px, tipografia mono, uma única marca colorida. */.hc-plate{display:inline-flex;align-items:stretch;margin:0 0 32px;max-width:100%;border:1px solid var(--border);border-radius:2px;background:rgba(255, 255, 255, .55);backdrop-filter:blur(2px)}.hc-plate__cell{display:inline-flex;align-items:center;gap:9px;padding:15px 20px;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--text-3)}.hc-plate__cell + .hc-plate__cell{border-left:1px solid var(--border)}.hc-plate__cell--brand{color:var(--text-2)}.hc-plate__mark{display:block;width:36px;height:auto}.hc-plate__badge{display:block;width:auto;height:24px;object-fit:contain}.hc-plate__flag{display:block;width:20px;height:auto;border-radius:2px;outline:1px solid rgba(0, 0, 0, .12);outline-offset:-1px}/* Telas estreitas: o símbolo já identifica a Nextcloud; o espaço fica com os fatos locais. */@media (max-width: 430px){.hc-plate__name{display:none}.hc-plate__badge{height:20px}}.hc-cta{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--hc-accent-ink, var(--hc-accent));padding:14px 32px;border-radius:3px;border:1px solid var(--hc-accent-ink, var(--hc-accent));box-shadow:0 0 28px color-mix(in srgb, var(--hc-accent) 40%, transparent);text-decoration:none;cursor:pointer;transition:filter .2s var(--ease-out, ease)}.hc-cta:hover,.hc-cta:focus-visible{filter:brightness(1.12)}.hc-cta:focus-visible{outline:2px solid var(--hc-accent-ink, var(--hc-accent));outline-offset:3px}/* SLIDE 1 — NT VPS */.hc-slide--vps{--hc-accent:#1A6FC4;--hc-accent-ink:#1969BA}.hc-terminal-visual{position:absolute;right:80px;top:50%;width:680px;transform:translateY(-50%)}.hc-terminal{background:rgba(248,252,255,.85);border:1px solid rgba(26,111,196,.2);border-radius:6px;overflow:hidden;box-shadow:0 4px 32px rgba(26,111,196,.1),0 1px 6px rgba(0,0,0,.06);backdrop-filter:blur(12px)}.hc-terminal__bar{background:rgba(237,242,250,.9);padding:10px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(26,111,196,.12)}.hc-tdot{width:10px;height:10px;border-radius:50%}.hc-tdot--r{background:#3a1a1a;border:1px solid #5a2a2a}.hc-tdot--y{background:#2a2a1a;border:1px solid #4a4a1a}.hc-tdot--g{background:#1a2a1a;border:1px solid #2a4a2a}.hc-terminal__title{font-family:var(--font-mono);font-size:11px;color:#8a9ab0;margin-left:8px;letter-spacing:.05em}.hc-terminal__body{padding:20px 24px;font-family:var(--font-mono);font-size:13px;line-height:1.7}.hc-tline{display:flex;align-items:baseline;gap:8px}.hc-prompt{color:#1A6FC4}.hc-cmd{color:#2a4a7a}.hc-out{color:#6a8aaa}.hc-out--ok{color:#28a745}.hc-out--dim{color:#c0cad8}.hc-cursor{display:inline-block;width:8px;height:14px;background:#1A6FC4;vertical-align:middle;animation:hc-blink 1s step-end infinite}@keyframes hc-blink{0%,100%{opacity:1}50%{opacity:0}}.hc-plans{display:flex;flex-direction:column;gap:8px;margin-top:14px}.hc-plan{display:flex;align-items:center;padding:8px 12px;background:rgba(26,111,196,.04);border:1px solid rgba(26,111,196,.1);border-radius:3px;gap:12px}.hc-plan__ram{font-family:var(--font-mono);font-size:12px;color:#1A6FC4;width:60px}.hc-plan__specs{font-family:var(--font-mono);font-size:11px;color:#7a9ab8;flex:1}.hc-plan__price{font-family:var(--font-display);font-weight:600;font-size:14px;color:#2a4a7a}/* SLIDE 2 — NT-Fiber */.hc-slide--fiber{--hc-accent:#F48634;--hc-accent-ink:#9F5722}.hc-slide--fiber .hc-copy{width:720px}.hc-fiber-visual{position:absolute;right:0;top:50%;transform:translateY(-50%);width:760px;height:460px;overflow:hidden;border-radius:6px;box-shadow:0 4px 32px rgba(244,134,52,.14),0 1px 6px rgba(0,0,0,.07)}.hc-fiber-picture{display:block;position:absolute;top:0;left:0;width:700px;height:100%}.hc-fiber-img{position:absolute;top:0;left:0;width:700px;height:100%;object-fit:cover;object-position:right center;display:block;border-radius:6px}.hc-fiber-card{position:absolute;left:32px;bottom:32px;background:#ffffff;color:#0E0E10;padding:16px 20px;border-radius:6px;border:1px solid rgba(244,134,52,.5);border-left:3px solid #F48634;min-width:230px;box-shadow:0 12px 40px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.04);z-index:5;pointer-events:none}.hc-fiber-card__hint{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.12em;color:#9F5722;/* tom escuro do laranja: 5,4:1 sobre o card branco */margin-bottom:6px;text-transform:uppercase}.hc-fiber-card__price{display:flex;align-items:baseline;gap:4px;margin-bottom:8px;font-family:'Space Grotesk','Inter',sans-serif;line-height:1}.hc-fiber-card__price-currency{font-size:14px;color:#4a4a52;font-weight:500}.hc-fiber-card__price-int{font-size:42px;font-weight:700;letter-spacing:-0.02em;color:#0E0E10}.hc-fiber-card__price-dec{font-size:18px;font-weight:600;color:#0E0E10}.hc-fiber-card__per{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:#5f6870;/* 5,7:1 sobre branco */margin-left:4px}.hc-fiber-card__detail{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.12em;color:#5a5a62;font-weight:500;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}/* SLIDE 3 — BackupON / Nextcloud */.hc-slide--backupon{--hc-accent:#0EA5E9;--hc-accent-ink:#0A709E}.hc-slide--backupon .hc-copy{width:720px}.hc-bk-visual{position:absolute;right:60px;top:50%;width:740px;transform:translateY(-50%)}.hc-devices{position:relative;height:480px}.hc-laptop{position:absolute;left:0;top:20px;width:480px}.hc-laptop__screen{background:rgba(240,246,242,.85);border:2px solid rgba(14,165,233,.2);border-radius:8px 8px 0 0;padding:12px;position:relative;box-shadow:0 4px 32px rgba(14,165,233,.1),0 1px 6px rgba(0,0,0,.06);backdrop-filter:blur(8px)}.hc-laptop__body{height:14px;background:#e8f0ea;border-radius:0 0 4px 4px;border:2px solid rgba(14,165,233,.1);border-top:none;position:relative}.hc-laptop__body::after{content:'';position:absolute;top:4px;left:50%;transform:translateX(-50%);width:60px;height:4px;background:rgba(14,165,233,.15);border-radius:2px}.hc-nc{font-family:var(--font-mono);font-size:11px}.hc-nc__bar{display:flex;align-items:center;gap:8px;padding:6px 8px;background:rgba(14,165,233,.08);border-radius:4px;margin-bottom:8px}.hc-nc__logo{font-family:var(--font-display);font-size:13px;font-weight:700;color:#0EA5E9;letter-spacing:.05em}.hc-nc__path{color:#7aaa8a;font-size:10px}.hc-nc__files{display:flex;flex-direction:column;gap:4px}.hc-nc__row{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:3px;color:#5a9a6a}.hc-nc__row.is-selected,.hc-nc__row:hover{background:rgba(14,165,233,.1)}.hc-nc__icon{font-size:12px}.hc-nc__name{flex:1;color:#2a5a3a;font-size:11px}.hc-nc__size{color:#8aaa9a;font-size:10px}.hc-nc__lock{color:#0EA5E9;font-size:9px;opacity:.7}.hc-phone{position:absolute;right:30px;top:50px;width:160px}.hc-phone__screen{background:rgba(240,246,242,.85);border:2px solid rgba(14,165,233,.2);border-radius:20px;padding:16px 10px;min-height:280px;box-shadow:0 4px 30px rgba(14,165,233,.08);backdrop-filter:blur(8px)}.hc-phone__notch{width:50px;height:6px;background:rgba(14,165,233,.15);border-radius:3px;margin:0 auto 12px}.hc-talk{font-family:var(--font-mono);font-size:9px}.hc-talk__head{color:#0EA5E9;font-size:9px;margin-bottom:10px;text-align:center;letter-spacing:.05em}.hc-talk__msg{padding:5px 8px;border-radius:8px;margin-bottom:5px;font-size:8.5px;line-height:1.4}.hc-talk__msg--sent{background:rgba(14,165,233,.12);color:#1a5a2a;margin-left:20px;border:1px solid rgba(14,165,233,.18)}.hc-talk__msg--recv{background:rgba(0,0,0,.05);color:#4a7a5a;margin-right:20px;border:1px solid rgba(0,0,0,.06)}/* SLIDE 4 — eSIM Digital (NT Móvel) */.hc-slide--esim{--hc-accent:#7C5CFF;--hc-accent-ink:#6C50DE}.hc-slide--esim .hc-copy{width:720px}.hc-esim-visual{position:absolute;right:80px;top:50%;transform:translateY(-50%);width:760px;height:460px}.hc-esim-phone{position:absolute;left:0;top:50%;transform:translateY(-50%);width:240px;height:440px;background:#f0f2fa;border:2px solid rgba(124,92,255,.22);border-radius:28px;padding:18px 14px;box-shadow:0 8px 40px rgba(124,92,255,.14),0 1px 6px rgba(0,0,0,.06)}.hc-esim-phone__notch{width:60px;height:6px;background:rgba(124,92,255,.2);border-radius:3px;margin:0 auto 18px}.hc-esim-phone__header{font-family:var(--font-mono);font-size:9px;color:#7C5CFF;letter-spacing:.1em;text-align:center;margin-bottom:14px}.hc-esim-line{background:rgba(124,92,255,.06);border:1px solid rgba(124,92,255,.18);border-radius:8px;padding:10px 12px;margin-bottom:10px;position:relative}.hc-esim-line.is-active{background:rgba(124,92,255,.12);border-color:rgba(124,92,255,.4);box-shadow:0 0 0 2px rgba(124,92,255,.12)}.hc-esim-line__label{font-family:var(--font-mono);font-size:8.5px;color:rgba(124,92,255,.7);letter-spacing:.08em;margin-bottom:4px}.hc-esim-line__name{font-family:var(--font-display, 'Rajdhani', sans-serif);font-weight:600;font-size:14px;color:#2a1f6a;line-height:1.1;margin-bottom:4px}.hc-esim-line__meta{font-family:var(--font-mono);font-size:9px;color:#6a5a9a}.hc-esim-line__dot{position:absolute;top:12px;right:12px;width:6px;height:6px;border-radius:50%;background:#7C5CFF;box-shadow:0 0 8px #7C5CFF}.hc-esim-pill{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;padding:8px;background:rgba(124,92,255,.08);border-radius:6px;font-family:var(--font-mono);font-size:9px;color:#7C5CFF;letter-spacing:.08em}.hc-esim-qr{position:absolute;right:0;top:50%;transform:translateY(-50%);width:460px;background:#f8f6ff;border:1px solid rgba(124,92,255,.2);border-radius:8px;padding:28px 32px;box-shadow:0 8px 40px rgba(124,92,255,.12),0 1px 6px rgba(0,0,0,.06)}.hc-esim-qr__bar{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed rgba(124,92,255,.18)}.hc-esim-qr__mailicon{width:24px;height:24px;border:1.5px solid #7C5CFF;border-radius:3px;position:relative;flex-shrink:0}.hc-esim-qr__mailicon::after{content:'';position:absolute;top:4px;left:2px;width:18px;height:9px;border-bottom:1.5px solid #7C5CFF;border-right:1.5px solid #7C5CFF}.hc-esim-qr__mailtext{font-family:var(--font-mono);font-size:11px;color:#2a1f6a;letter-spacing:.05em}.hc-esim-qr__mailtext small{display:block;color:rgba(124,92,255,.7);font-size:9px;margin-top:2px}.hc-esim-qr__body{display:flex;align-items:center;gap:24px}.hc-esim-qr__grid{width:160px;height:160px;display:grid;grid-template-columns:repeat(21, 1fr);grid-template-rows:repeat(21, 1fr);gap:0;flex-shrink:0;background:#fff;padding:8px;border-radius:4px;border:1px solid rgba(124,92,255,.15)}.hc-esim-qr-cell{background:#2a1f6a}.hc-esim-qr__info{flex:1}.hc-esim-qr__label{font-family:var(--font-mono);font-size:10px;color:rgba(124,92,255,.7);letter-spacing:.1em;margin-bottom:6px}.hc-esim-qr__value{font-family:var(--font-display, 'Rajdhani', sans-serif);font-weight:600;font-size:22px;color:#2a1f6a;line-height:1.1;margin-bottom:14px}.hc-esim-qr__steps{list-style:none;padding:0;margin:0}.hc-esim-qr__steps li{font-family:var(--font-mono);font-size:10px;color:#4a3a8a;padding:4px 0;display:flex;align-items:center;gap:8px}.hc-esim-qr__steps li::before{content:'';width:4px;height:4px;border-radius:50%;background:#7C5CFF;flex-shrink:0}.hc-esim-connector{position:absolute;left:240px;right:460px;top:50%;height:1px;border-top:1px dashed rgba(124,92,255,.4);z-index:1}.hc-esim-connector::before{content:'⚡';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#f5f7fa;padding:0 8px;color:#7C5CFF;font-size:14px}/* SLIDE 5 — Umbrella */.hc-slide--umbrella{--hc-accent:#D93338;--hc-accent-ink:#C52E33}.hc-spectrum{position:absolute;inset:0;display:flex;z-index:1}.hc-spectrum__col{flex:1;height:100%}/* Cor de cada coluna = accent do slide (antes inline no homepage.tpl). */.hc-spectrum__col:nth-child(1){background:linear-gradient(180deg, rgba(244,134,52,0.06) 0%, transparent 100%)}.hc-spectrum__col:nth-child(2){background:linear-gradient(180deg, rgba(26,111,196,0.06) 0%, transparent 100%)}.hc-spectrum__col:nth-child(3){background:linear-gradient(180deg, rgba(217,51,56,0.06) 0%, transparent 100%)}.hc-spectrum__col:nth-child(4){background:linear-gradient(180deg, rgba(130,80,200,0.06) 0%, transparent 100%)}.hc-spectrum__col:nth-child(5){background:linear-gradient(180deg, rgba(14,165,233,0.06) 0%, transparent 100%)}.hc-slide--umbrella .hc-copy{left:50%;transform:translate(-50%, -58%);width:900px;text-align:center}.hc-slide--umbrella .hc-subhead{max-width:680px;margin:0 auto 16px;color:rgba(13,17,23,.65)}.hc-slide--umbrella .hc-mono-label{left:50%;transform:translateX(-50%)}.hc-accent-line{display:block;width:80px;height:2px;background:var(--hc-accent);margin:0 auto 12px;opacity:.9}.hc-year{font-family:var(--font-mono);font-size:12px;color:rgba(217,51,56,.5);letter-spacing:.12em;margin-bottom:16px}.hc-brands{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:36px;flex-wrap:wrap}.hc-brands img{height:48px;width:auto;opacity:.88;filter:drop-shadow(0 2px 8px rgba(0,0,0,.12))}/* Controls */.hc-dots{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:2px;z-index:100}.hc-dot{width:24px;height:24px;border:none;border-radius:12px;padding:0;background:transparent;cursor:pointer;position:relative}.hc-dot::before{/* ponto visual inativo */content:'';position:absolute;top:7px;left:7px;width:10px;height:10px;border-radius:50%;background:color-mix(in srgb, var(--text-1) 55%, transparent)}/* Cor de cada ponto = accent do slide (antes inline no homepage.tpl). */.hc-dot[data-index="0"]{--hc-dot-color:#D93338}.hc-dot[data-index="1"]{--hc-dot-color:#F48634}.hc-dot[data-index="2"]{--hc-dot-color:#1A6FC4}.hc-dot[data-index="3"]{--hc-dot-color:#7C5CFF}.hc-dot[data-index="4"]{--hc-dot-color:#0EA5E9}.hc-dot::after{/* pílula ativa: entra com scale+opacidade */content:'';position:absolute;top:7px;left:1px;width:22px;height:10px;border-radius:5px;background:var(--hc-dot-ink, var(--hc-dot-color, var(--text-1)));opacity:0;transform:scaleX(.45);transition:opacity .3s var(--ease-out, ease),transform .3s var(--ease-out, ease)}.hc-dot[aria-current="true"]::after{opacity:1;transform:none}.hc-arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 20px;z-index:100;pointer-events:none}.hc-arrow{pointer-events:auto;width:44px;height:44px;border:1px solid transparent;background:transparent;color:rgba(0,0,0,.7);font-size:24px;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px;transition:all .2s var(--ease-out, ease)}.hc-arrow:hover,.hc-arrow:focus-visible{border-color:rgba(0,0,0,.3);color:#000;background:rgba(240,244,250,.98)}.hc-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hc-counter{position:absolute;bottom:17px;right:64px;font-family:var(--font-mono);font-size:12px;color:rgba(0,0,0,.35);letter-spacing:.1em;z-index:100}.hc-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--hc-accent);z-index:100;transform:scaleX(0);transform-origin:left center;will-change:transform;transition:background .4s}/* Abaixo de 1280 px o palco de 1920 px escalado deixava texto com 7–12 px e
   não crescia com zoom (WCAG 1.4.4); a faixa até 1279 usa o layout fluido
   empilhado. */@media (max-width: 1279px){.nt-hero-carousel{aspect-ratio:4/5;max-height:none}.nt-hero-carousel__stage{width:100%;height:100%;transform:none;left:0}.hero-carousel__slide{width:100%;height:100%}.hero-carousel__slide .hc-copy{position:relative;top:auto;left:auto;transform:none;width:calc(100% - 48px);margin:80px auto 0;text-align:center}.hc-headline{font-size:38px;line-height:1.05}.hc-subhead{font-size:16px;max-width:none;margin-inline:auto}.hc-mono-detail{font-size:12px}.hc-plate__cell{padding:12px 14px;font-size:12px;letter-spacing:.08em}.hc-mono-label{font-size:12px;left:24px;top:24px}.hc-terminal-visual,.hc-fiber-visual,.hc-bk-visual,.hc-esim-visual{display:none}.hc-brands{gap:16px}.hc-brands img{height:32px}.hc-hud{width:18px;height:18px}.hc-hud--tl,.hc-hud--tr{top:12px}.hc-hud--bl,.hc-hud--br{bottom:64px}.hc-hud--tl,.hc-hud--bl{left:12px}.hc-hud--tr,.hc-hud--br{right:12px}}@media (prefers-reduced-motion: reduce){.hero-carousel__slide{transition:none}.hc-cursor{animation:none}.hc-progress{transition:none}}/* Banner full-cover link — clica banner → /store */.hc-slide-link{position:absolute;inset:0;z-index:1;text-decoration:none;background:transparent;border-radius:inherit}.hc-slide-link:focus-visible{outline:2px solid var(--hc-accent, #F48634);outline-offset:-4px}/* Repassar cliques de áreas decorativas para o overlay link.
   CTA mantém pointer-events: auto pra rotear pra cobertura.ntweb.com.br.
   .hc-copy fica position:relative (default flow); .hc-fiber-visual mantém
   position:absolute da regra base (.hc-fiber-visual L275) para esticar a foto. */.hc-slide--fiber .hc-copy{position:relative;z-index:2;pointer-events:none}.hc-slide--fiber .hc-fiber-visual{z-index:2;pointer-events:none}.hc-slide--fiber .hc-cta{position:relative;z-index:3;pointer-events:auto;color:var(--text-1);/* Fibra mantém o laranja original com texto escuro (≈6:1). */background:var(--hc-accent);border-color:var(--hc-accent)}/* Slide oculto não expõe link tabável (a11y) */.hero-carousel__slide[aria-hidden="true"] .hc-slide-link{display:none}/* ==========================================================================
   Controles (2026-10-13): pausa do autoplay (WCAG 2.2.2), setas em SVG,
   logos do slide NTWeb clicáveis e faixa única de controles no mobile.
   ========================================================================== */.hc-arrow svg{width:20px;height:20px}.hc-toggle{position:absolute;right:20px;bottom:8px;z-index:100;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:2px;background:transparent;color:rgba(0,0,0,.7);cursor:pointer;transition:color .2s var(--ease-out, ease),background-color .2s var(--ease-out, ease),border-color .2s var(--ease-out, ease)}.hc-toggle:hover,.hc-toggle:focus-visible{border-color:rgba(0,0,0,.3);color:#000;background:rgba(240,244,250,.98)}.hc-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hc-toggle svg{width:16px;height:16px}.hc-toggle__play{display:none}.nt-hero-carousel.is-stopped .hc-toggle__pause{display:none}.nt-hero-carousel.is-stopped .hc-toggle__play{display:block}.nt-hero-carousel.is-stopped .hc-progress{opacity:0}/* Contador legível: 12 px a .35 dava ~2,6:1 sobre o fundo claro. */.hc-counter{color:rgba(0,0,0,.6)}.hc-brand{display:inline-flex;border-radius:4px;transition:transform .2s var(--ease-out, ease)}.hc-brand img{transition:opacity .2s var(--ease-out, ease)}.hc-brand:hover img,.hc-brand:focus-visible img{opacity:1}.hc-brand:hover{transform:translateY(-2px)}.hc-brand:focus-visible{outline:2px solid var(--hc-accent-ink, var(--hc-accent));outline-offset:4px}@media (max-width: 1279px){/* Setas saem de cima do texto e flanqueiam os pontos: ‹ • • • • • › */.hc-arrows{top:auto;bottom:4px;left:50%;right:auto;width:216px;padding:0;transform:translateX(-50%)}/* Altura = slide mais alto. Com aspect-ratio 4/5 o texto passava da caixa
     em telas estreitas (em 320 px o CTA do eSIM e do BackupON era cortado). */.nt-hero-carousel{aspect-ratio:auto}.nt-hero-carousel__viewport{height:auto}.nt-hero-carousel__stage{position:relative;display:grid;height:auto}.hero-carousel__slide{position:relative;inset:auto;grid-area:1/1;height:auto;padding-bottom:72px}.hc-dots{bottom:14px}.hc-counter{display:none}.hc-toggle{right:8px;bottom:4px;width:44px;height:44px}/* Slide NTWeb: logos em duas linhas acima da faixa de controles. */.hc-slide--umbrella .hc-copy{margin-top:56px}.hc-slide--umbrella .hc-year{display:none}.hc-brands{gap:10px 14px;margin-bottom:0}.hc-brands img{height:28px}}@media (prefers-reduced-motion: reduce){.hc-brand,.hc-brand img,.hc-toggle{transition:none}.hc-brand:hover{transform:none}}/* ==========================================================================
   Piso de escala (2026-10-13)
   ========================================================================== *//* Faixa intermediária (769–1279 px): mesmo layout empilhado do mobile,
   com título e medida de leitura de tablet. */@media (min-width: 769px) and (max-width: 1279px){.hero-carousel__slide .hc-copy{max-width:760px;margin-top:96px}.hc-headline{font-size:clamp(44px, 5vw, 60px)}.hc-subhead{font-size:18px;max-width:60ch}.hc-slide--umbrella .hc-copy{margin-top:72px}.hc-brands img{height:36px}}/* Acima de 1280 px o palco continua escalado, mas o texto não encolhe
   abaixo do piso legível: o tamanho de projeto é dividido pela escala. */@media (min-width: 1280px){.hc-subhead{font-size:max(22px, calc(16px / var(--hc-scale, 1)))}.hc-cta{font-size:max(17px, calc(14px / var(--hc-scale, 1)))}.hc-mono-label,.hc-mono-detail{font-size:max(13px, calc(12px / var(--hc-scale, 1)))}.hc-year{font-size:max(12px, calc(12px / var(--hc-scale, 1)))}}/* ==========================================================================
   Contraste (2026-10-13). --hc-accent-ink vem do PR #287; sem ele o
   fallback mantém o accent atual.
   ========================================================================== */.hc-headline em{color:var(--hc-accent-ink, var(--hc-accent))}.hc-year{color:var(--accent-on-light)}.hc-slide-link:focus-visible{outline-color:var(--hc-accent-ink, var(--text-1))}/* Ponto inativo a 3,6:1 (era .18 → 1,5:1). O ativo vira pílula: o estado
   não depende só da cor, e usa o tom escuro da marca. */.hc-dot[data-index="0"]{--hc-dot-ink:#C52E33}.hc-dot[data-index="1"]{--hc-dot-ink:#9F5722}.hc-dot[data-index="2"]{--hc-dot-ink:#1969BA}.hc-dot[data-index="3"]{--hc-dot-ink:#6C50DE}.hc-dot[data-index="4"]{--hc-dot-ink:#0A709E}.hc-dot:focus-visible{outline:2px solid var(--text-1);outline-offset:0}