/* NEXT SYSTEM — página inicial (usa os tokens de next.css) */
.nx-section { padding-top: var(--nx-section); }
.nx-sec-head.nx-sec-head--center { justify-content: center; text-align: center; }
.nx-sec-head--center .nx-sec-sub { margin-inline: auto; }
.nx-sec-head--center .nx-eyebrow::before { display: none; }

/* ------------------------------- Hero ------------------------------- */
/* Abertura limpa: título, uma linha de apoio, duas ações e a raposa sobre o disco roxo (2 elementos de apoio). */
.nx-hero-wrap { position: relative; isolation: isolate; padding-top: clamp(20px, 3.2vw, 44px); }
/* Modo claro: brilhos da marca atrás da abertura (verde perto do título, roxo atrás da raposa) e o grafismo de brilhos bem leve. */
[data-theme="light"] .nx-hero-wrap::before, [data-theme="light"] .nx-hero-wrap::after { content: ""; position: absolute; z-index: -1; inset: -36px 0 -8px; pointer-events: none; }
[data-theme="light"] .nx-hero-wrap::before { background: radial-gradient(34% 50% at 78% 46%, rgb(116 10 188 / .12), transparent 72%), radial-gradient(30% 46% at 10% 34%, rgb(40 249 105 / .16), transparent 72%); }
[data-theme="light"] .nx-hero-wrap::after { background: var(--nx-pattern) 0 0 / 220px; opacity: .14; -webkit-mask-image: radial-gradient(60% 70% at 70% 40%, #000, transparent 75%); mask-image: radial-gradient(60% 70% at 70% 40%, #000, transparent 75%); }
.nx-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 56px); align-items: center; min-height: clamp(420px, 42vw, 540px); }
.nx-hero-title { margin-top: 20px; font-size: clamp(42px, 5.8vw, 82px); line-height: .98; color: var(--nx-text); }
.nx-hero-title span { display: block; color: var(--nx-green-ink); }
.nx-hero-sub { max-width: 460px; margin-top: 20px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.5; color: var(--nx-text-2); }
.nx-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.nx-hero-ctas .btn-primary { box-shadow: inset 0 -3px 0 rgb(0 0 0 / .14); }
/* Prova social no topo: estrelas do Trustpilot (cores da marca deles) + texto sublinhado, sem caixa em volta. */
.nx-hero-trust { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: var(--nx-fs-sm); font-weight: 600; color: var(--nx-text-2); transition: color var(--nx-fast); }
.nx-hero-trust > span:not(.nx-hero-stars) { text-decoration: underline; text-decoration-color: rgb(var(--nx-green-rgb) / .5); text-decoration-thickness: 2px; text-underline-offset: 5px; transition: text-decoration-color var(--nx-fast); }
.nx-hero-trust strong { color: var(--nx-text); font-weight: 800; }
.nx-hero-trust:hover { color: var(--nx-text); }
.nx-hero-trust:hover > span:not(.nx-hero-stars) { text-decoration-color: var(--nx-green); }
.nx-hero-trust > svg { color: var(--nx-text-3); }
.nx-hero-stars { display: flex; gap: 2px; }
.nx-hero-stars i { display: grid; place-items: center; width: 20px; height: 20px; background: var(--nx-trustpilot); color: #fff; font-size: 13px; font-style: normal; line-height: 1; }
@media (max-width: 379px) { .nx-hero-trust { gap: 8px; font-size: 12px; } .nx-hero-stars i { width: 16px; height: 16px; font-size: 11px; } .nx-hero-trust > svg { display: none; } }
.nx-tp-star { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--nx-trustpilot); color: #fff; font-size: 14px; line-height: 1; }
.nx-hero-art { position: relative; justify-self: center; width: min(100%, 500px); aspect-ratio: 1; }
.nx-hero-disc { position: absolute; inset: 10% 7%; border-radius: 50%; background: var(--nx-purple); }
.nx-hero-disc::after { content: ""; position: absolute; inset: -5%; border-radius: 50%; border: 4px solid var(--nx-green); clip-path: polygon(52% 0, 100% 0, 100% 58%, 52% 50%); }
/* A raposa corre para dentro da página (espelhada), na direção do texto. */
.nx-hero-fox { position: absolute; left: 50%; bottom: 3%; width: 82%; translate: -50% 0; scale: -1 1; filter: drop-shadow(0 24px 28px rgb(0 0 0 / .45)); animation: nx-fox-in .9s var(--nx-ease) .1s both; }
.nx-hero-spark { position: absolute; left: 2%; top: 6%; width: 17%; animation: nx-spark 3.2s ease-in-out infinite; }
@keyframes nx-spark { 50% { transform: scale(.88) rotate(-8deg); } }
@keyframes nx-fox-in { from { opacity: 0; translate: -50% 22px; } }

/* Faixa de vantagens: uma barra só, sem caixas repetidas */
.nx-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 16px; overflow: hidden; border: 1px solid var(--nx-line); border-radius: var(--nx-r-xl); background: var(--nx-line); }
.nx-strip li { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: var(--nx-surface-1); }
.nx-strip svg { width: 22px; height: 22px; flex-shrink: 0; color: var(--nx-green-ink); }
.nx-strip strong { display: block; font-size: 14px; font-weight: 700; color: var(--nx-text); letter-spacing: -.015em; }
.nx-strip small { display: block; margin-top: 2px; font-size: var(--nx-fs-xs); color: var(--nx-text-3); }

/* Categorias */
.categories-carousel-shell { position: relative; }
/* Espaço em volta dos cards para o levantar + sombra do hover não serem cortados pela rolagem horizontal. */
.categories-grid { display: flex; gap: 14px; overflow-x: auto; padding: 14px 6px 30px; margin: -14px -6px -22px; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.categories-grid::-webkit-scrollbar { display: none; }
.category-card.nx-cat { position: relative; flex: 0 0 calc((100% - 5 * 14px) / 6); min-width: 0; aspect-ratio: 3 / 4; scroll-snap-align: start; overflow: hidden; border-radius: var(--nx-r-xl);
  border: 1px solid var(--nx-line); background: var(--nx-surface-2); transition: transform var(--nx-mid) var(--nx-ease), border-color var(--nx-mid), box-shadow var(--nx-mid); }
.nx-cat .category-card-image { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .8s var(--nx-ease); }
.nx-cat-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgb(8 8 8 / .94)); }
.nx-cat-name { position: absolute; left: 16px; right: 16px; bottom: 15px; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px;
  font-size: var(--nx-fs-md); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; color: #fff; }
.nx-cat-name svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--nx-green-ink); opacity: 0; transform: translateX(-6px); transition: opacity var(--nx-mid), transform var(--nx-mid) var(--nx-ease); }
.nx-cat:hover { border-color: rgb(var(--nx-green-rgb) / .4); }
.nx-cat:hover .category-card-image { transform: scale(1.06); }
.nx-cat:hover .nx-cat-name svg, .nx-cat:focus-visible .nx-cat-name svg { opacity: 1; transform: none; }
@media (max-width: 1023px) { .category-card.nx-cat { flex-basis: calc((100% - 3 * 14px) / 4); } }

/* Seções de produtos */
.nx-store-stack { display: grid; gap: clamp(48px, 6vw, 80px); }
.nx-store-stack > * { min-width: 0; }
#store { isolation: isolate; }
#store.nx-section { padding-top: clamp(40px, 5vw, 72px); }
.shine-effect { position: relative; overflow: hidden; }
.category-banner { margin: 2rem 0; border-radius: var(--nx-r-lg); overflow: hidden; }
.category-banner img { width: 100%; height: auto; display: block; }
@media (min-width: 768px) {
  .package-list { display: grid !important; }
  .package-list [data-home-end-card-item="true"] { display: none; }
  .package-list[data-end-card-label="VER MAIS CONTAS"] [data-home-end-card-item="true"] { display: flex; }
}

/* Contas FA na home: banner roxo da marca (raposa com a chave saindo pelo topo) e abas por plataforma */
.nx-fa-banner { position: relative; display: block; min-height: 220px; margin: 52px 0 30px; padding: clamp(22px, 3.2vw, 38px) clamp(190px, 30vw, 400px) clamp(22px, 3.2vw, 38px) clamp(20px, 3.4vw, 44px);
  border-radius: var(--nx-r-2xl); background: var(--nx-purple); color: #fff; isolation: isolate; }
/* Fundo roxo com elementos do kit: textura de brilhos, disco com arco verde atrás da raposa, brilho duplo e acentos */
.nx-fa-banner { --fa-fox-r: clamp(16px, 5vw, 70px); --fa-fox-w: clamp(180px, 21vw, 288px); }
.nx-fa-deco { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: inherit; }
.nx-fa-deco::before { content: ""; position: absolute; inset: 0; background: var(--nx-pattern) 0 0 / 180px 180px; filter: brightness(0) invert(1); opacity: .07; }
.nx-fa-disc { position: absolute; top: 54%; right: calc(var(--fa-fox-r) - var(--fa-fox-w) * .08); width: calc(var(--fa-fox-w) * 1.16); aspect-ratio: 1; translate: 0 -50%; border-radius: 50%; background: #5B0894; }
.nx-fa-disc::after { content: ""; position: absolute; inset: -6%; border-radius: 50%; border: 4px solid var(--nx-green); clip-path: polygon(50% 0, 100% 0, 100% 56%, 50% 50%); }
.nx-fa-spark { position: absolute; top: 24px; right: calc(var(--fa-fox-r) + var(--fa-fox-w) * .92); width: clamp(44px, 4.6vw, 66px); animation: nx-spark 3.2s ease-in-out infinite; }
.nx-fa-accent { position: absolute; top: -14px; right: calc(var(--fa-fox-r) - 14px); width: clamp(40px, 4vw, 58px); rotate: 18deg; }
@media (prefers-reduced-motion: reduce) { .nx-fa-spark { animation: none; } }
@media (max-width: 767px) {
  .nx-fa-banner { --fa-fox-r: 8px; --fa-fox-w: 108px; }
  .nx-fa-disc { top: 6px; right: -34px; width: 170px; translate: none; }
  .nx-fa-spark { top: 12px; right: 118px; width: 34px; }
  .nx-fa-accent { display: none; }
}.nx-fa-copy { display: grid; justify-items: start; gap: 10px; max-width: 560px; }
.nx-fa-tag { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: var(--nx-r-pill); background: var(--nx-green); color: var(--nx-ink); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nx-fa-title { font-family: var(--nx-font-display); font-weight: 700; font-size: clamp(34px, 4.6vw, 58px); line-height: .98; letter-spacing: -.015em; }
.nx-fa-title span { color: var(--nx-green-ink); }
.nx-fa-sub { max-width: 460px; font-size: var(--nx-fs-base); line-height: 1.5; color: rgb(var(--nx-fg-rgb) / .86); }
.nx-fa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 6px; }
.nx-fa-auto { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: var(--nx-r-pill); background: var(--nx-ink); color: var(--nx-green-ink); font-size: var(--nx-fs-sm); font-weight: 800; }
.nx-fa-auto svg { width: 16px; height: 16px; }
.nx-fa-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--nx-r-md); background: #fff; color: var(--nx-ink); font-size: var(--nx-fs-sm); font-weight: 800; transition: background var(--nx-fast); }
.nx-fa-cta svg { width: 16px; height: 16px; transition: transform var(--nx-mid) var(--nx-ease); }
.nx-fa-banner:hover .nx-fa-cta { background: var(--nx-green); }
.nx-fa-banner:hover .nx-fa-cta svg { transform: translateX(3px); }
.nx-fa-fox { position: absolute; right: clamp(16px, 5vw, 70px); bottom: 0; width: clamp(180px, 21vw, 288px); transform-origin: 50% 100%; filter: drop-shadow(0 16px 22px rgb(0 0 0 / .35)); transition: transform var(--nx-slow) var(--nx-ease); }
@media (hover: hover) { .nx-fa-banner:hover .nx-fa-fox { transform: rotate(-3deg) translateY(-4px); } }
.nx-fa-tabs { display: flex; gap: 8px; margin: -4px 0 18px; padding: 2px; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); }
.nx-fa-tabs::-webkit-scrollbar { display: none; }
.nx-fa-tab { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; min-height: 42px; padding: 0 14px; border-radius: var(--nx-r-pill); border: 1px solid var(--nx-line-2); background: var(--nx-surface-1);
  font-size: var(--nx-fs-sm); font-weight: 700; color: var(--nx-text-2); transition: background var(--nx-fast), border-color var(--nx-fast), color var(--nx-fast); }
.nx-fa-tab svg { width: 15px; height: 15px; }
.nx-fa-tab span { padding: 2px 7px; border-radius: var(--nx-r-pill); background: var(--nx-surface-3); font-size: 11px; font-weight: 800; color: var(--nx-text-3); }
.nx-fa-tab:hover { border-color: var(--nx-line-3); color: var(--nx-text); }
.nx-fa-tab[aria-selected="true"] { border-color: var(--nx-green); background: var(--nx-green); color: var(--nx-ink); }
.nx-fa-tab[aria-selected="true"] span { background: rgb(0 0 0 / .14); color: var(--nx-ink); }
[data-contas-fa-home] .package-list { transition: opacity .2s; }
@media (max-width: 767px) {
  .nx-fa-banner { min-height: 0; margin-top: 70px; padding: 22px 18px 20px; border-radius: var(--nx-r-xl); }
  .nx-fa-fox { top: -64px; bottom: auto; right: 8px; width: 108px; }
  .nx-fa-tag { margin-right: 96px; }
  .nx-fa-title { font-size: 36px; }
  .nx-fa-actions > * { flex: 1 1 auto; justify-content: center; }
}
/* Banner de ajuda (HTML, na identidade) */
.nx-help-banner { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 24px 28px;
  border: 1px solid var(--nx-line); border-radius: var(--nx-r-2xl); background: radial-gradient(60% 120% at 0% 50%, rgb(var(--nx-green-rgb) / .12), transparent 60%), var(--nx-surface-1);
  transition: border-color var(--nx-mid), transform var(--nx-mid) var(--nx-ease); }
.nx-help-banner:hover { border-color: rgb(var(--nx-green-rgb) / .45); transform: translateY(-2px); }
.nx-help-pose { width: 112px; margin: -48px 0 -30px -4px; transition: transform var(--nx-slow) var(--nx-ease); }
.nx-help-banner:hover .nx-help-pose { transform: rotate(-4deg) translateY(-3px); }
.nx-help-copy strong { display: block; font-size: var(--nx-fs-xl); font-weight: 800; letter-spacing: -.035em; }
.nx-help-copy span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.55; color: var(--nx-text-2); }
.nx-help-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: var(--nx-r-md); background: var(--nx-green); color: var(--nx-ink); font-size: 14px; font-weight: 700; white-space: nowrap; }
.nx-help-cta svg { width: 16px; height: 16px; }

/* Como funciona (faixa com fundo próprio para dar ritmo) */
.nx-section.nx-band { margin-top: var(--nx-section); padding: clamp(48px, 6vw, 80px) 0; border-block: 1px solid var(--nx-line);
  background: radial-gradient(50% 80% at 50% 0%, rgb(var(--nx-green-rgb) / .06), transparent 70%), var(--nx-surface-1); }
/* A raposa de cada passo sai pelo topo do cartão (o espaço extra fica no margin-top da lista). */
.nx-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 64px; }
.nx-step { position: relative; padding: 28px; border-radius: var(--nx-r-xl); border: 1px solid var(--nx-line); background: var(--nx-bg); }
.nx-step:not(:last-child)::after { content: ""; position: absolute; top: 49px; right: -17px; width: 18px; height: 2px; background: var(--nx-green-line); }
.nx-step-n { position: absolute; top: 22px; right: 22px; font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -.06em; color: rgb(var(--nx-fg-rgb) / .07); }
.nx-step-art { height: 150px; width: auto; margin: -92px 0 0 -6px; transform-origin: 50% 100%; filter: drop-shadow(0 14px 16px rgb(0 0 0 / .35)); transition: transform var(--nx-slow) var(--nx-ease); }
@media (hover: hover) { .nx-step:hover .nx-step-art { transform: translateY(-4px) rotate(-3deg); } }
.nx-reviews-face { width: 76px; margin: 0 auto 10px; }
.nx-faq-pose { width: 180px; margin-top: 32px; }
.nx-step h3 { margin-top: 14px; font-size: var(--nx-fs-lg); font-weight: 700; letter-spacing: -.03em; color: var(--nx-text); }
.nx-step p { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--nx-text-2); }

/* Perguntas frequentes (os itens vêm de next.css) */
.nx-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.nx-faq-intro .nx-h2 { margin-top: 8px; }
.nx-faq-intro .nx-link-more { margin-top: 22px; }
/* A coluna do título (com o suporte e a raposa) desce junto com a tela enquanto as perguntas passam. */
@media (min-width: 1024px) { .nx-faq-intro { position: sticky; top: 150px; } }

/* Avaliações */
#reviews-section { position: relative; }
.reviews-container { display: flex; flex-direction: column; gap: 16px; margin-top: 8px; }
.reviews-row { overflow: hidden; position: relative; height: 196px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.reviews-content { display: flex; gap: 16px; width: fit-content; padding: 6px 0; animation: reviews-scroll-right 80s linear infinite; }
.reviews-content-reverse { animation: reviews-scroll-left 80s linear infinite; }
.reviews-row:hover .reviews-content, .reviews-row:focus-within .reviews-content { animation-play-state: paused; }
.review-card-link { flex-shrink: 0; color: inherit; text-decoration: none; border-radius: var(--nx-r-xl); }
.review-card { position: relative; display: flex; flex-direction: column; gap: 12px; width: 340px; height: 180px; padding: 20px; border-radius: var(--nx-r-xl); overflow: hidden;
  background: var(--nx-surface-1); border: 1px solid var(--nx-line); transition: border-color var(--nx-mid), transform var(--nx-mid) var(--nx-ease); }
.review-card::before { content: "\201C"; position: absolute; right: 18px; top: -8px; font-size: 88px; font-weight: 800; line-height: 1; color: rgb(var(--nx-green-rgb) / .1); }
.review-card-link:hover .review-card { border-color: rgb(var(--nx-green-rgb) / .55); box-shadow: inset 0 0 0 1px rgb(var(--nx-green-rgb) / .25); }
.review-header { display: flex; align-items: center; gap: 12px; }
.review-avatar, .review-avatar-img { width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0; }
.review-avatar { display: flex; align-items: center; justify-content: center; background: var(--nx-green); color: var(--nx-ink); font-weight: 700; }
.review-avatar-img { object-fit: cover; box-shadow: 0 0 0 2px var(--nx-surface-1), 0 0 0 3px var(--nx-green-line); }
.review-info { flex: 1; min-width: 0; }
.review-name { margin-bottom: 4px; font-size: 14px; font-weight: 600; color: var(--nx-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.review-stars { display: flex; gap: 2px; align-items: center; min-height: 15px; }
.review-star { width: 15px; height: 15px; color: var(--nx-star); }
.review-stars-trustpilot { width: 80px; height: 15px; object-fit: contain; object-position: left; }
.review-source { margin-left: auto; flex-shrink: 0; padding: 4px 9px; border-radius: var(--nx-r-pill); border: 1px solid var(--nx-line); background: rgb(var(--nx-fg-rgb) / .04); font-size: var(--nx-fs-xs); font-weight: 600; color: var(--nx-text-2); }
.review-text { flex: 1; min-height: 0; max-height: 6.2em; overflow: hidden; font-size: 13px !important; line-height: 1.55; color: var(--nx-text); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
@keyframes reviews-scroll-right { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes reviews-scroll-left { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* --------------------------- Responsivo --------------------------- */
@media (max-width: 1023px) {
  .nx-hero { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); min-height: 0; }
  .nx-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-faq { grid-template-columns: minmax(0, 1fr); }
  .nx-faq-pose { display: none; }
}
@media (max-width: 767px) {
  /* Celular: raposa em cima (menor), texto e ações logo abaixo, tudo dentro da primeira tela. */
  .nx-hero { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .nx-hero-art { order: -1; width: min(62vw, 230px); }
  .nx-hero-title { margin-top: 14px; font-size: clamp(36px, 11vw, 48px); }
  .nx-hero-sub { margin-top: 12px; font-size: var(--nx-fs-base); }
  .nx-hero-ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
  .nx-hero-ctas > a.nx-btn-lg, .nx-hero-ctas > a.nx-btn-quiet { min-height: 52px !important; padding: 0 12px !important; font-size: var(--nx-fs-base) !important; gap: 8px !important; white-space: nowrap; }
  .nx-strip { margin-top: 12px; border-radius: var(--nx-r-lg); }
  .nx-strip li { padding: 14px 12px; gap: 10px; }
  .nx-strip strong { font-size: var(--nx-fs-sm); } .nx-strip small { font-size: var(--nx-fs-xs); }
  .nx-strip svg { width: 18px; height: 18px; }
  .nx-arrows { display: none; }
  .categories-grid { gap: 10px; }
  .category-card.nx-cat { flex: 0 0 140px; border-radius: var(--nx-r-lg); }
  .nx-cat-name { left: 12px; right: 12px; bottom: 12px; font-size: 14px; }
  /* Produtos em carrossel horizontal no celular */
  .package-list { display: flex !important; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 10px !important;
    padding: 4px 1rem 8px; margin: 0 -1rem 1.25rem; scrollbar-width: none; scroll-padding-left: 1rem; }
  .package-list::-webkit-scrollbar { display: none; }
  .package-list > * { display: flex; flex: 0 0 min(calc(50vw - 1.3rem), 200px); width: min(calc(50vw - 1.3rem), 200px); min-width: 0; padding: 0 !important; align-self: stretch; scroll-snap-align: start; }
  .package-list > .package, .package-list > * > .package { width: 100%; min-width: 0; height: auto; }
  .package-list .nx-card-img { aspect-ratio: 16 / 9; height: auto; }
  .package-list [data-home-end-card-link], .package-list [data-request-account-card-link] { min-height: 0 !important; }
  .package-list [data-home-end-card-item="true"] { display: flex; }
  .carousel-dots { display: flex; justify-content: center; align-items: center; gap: 6px; margin: -.5rem 0 .5rem; }
  .carousel-dot { width: 6px; height: 6px; border-radius: 3px; background: rgb(var(--nx-fg-rgb) / .22); transition: all var(--nx-mid) var(--nx-ease); cursor: pointer; }
  .carousel-dot.active { width: 22px; background: var(--nx-green); }
  .nx-help-banner { grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 18px; border-radius: var(--nx-r-xl); }
  .nx-help-pose { width: 76px; margin: -34px 0 -10px -4px; }
  .nx-help-copy strong { font-size: var(--nx-fs-md); }
  .nx-help-copy span { font-size: var(--nx-fs-sm); }
  .nx-help-cta { grid-column: 1 / -1; justify-content: center; }
  .nx-steps { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 36px; }
  .nx-step { display: grid; grid-template-columns: 96px 1fr; column-gap: 12px; align-items: center; padding: 16px 20px 16px 10px; }
  .nx-step-art { grid-row: span 2; justify-self: center; align-self: end; height: 112px; max-width: 108px; margin: -34px 0 -16px; }
  .nx-step-n { top: 16px; right: 16px; font-size: 32px; }
  .nx-step h3 { margin-top: 0; font-size: var(--nx-fs-md); } .nx-step p { margin-top: 4px; font-size: var(--nx-fs-sm); }
  .nx-step:not(:last-child)::after { display: none; }
  .reviews-row { height: 186px; }
  .review-card { width: calc(100vw - 4rem); max-width: 320px; height: 170px; padding: 16px; }
}
@media (max-width: 359px) {
  .nx-hero-ctas { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .reviews-content, .nx-hero-fox, .nx-hero-spark { animation: none !important; }
}
