/* Polish on the existing home stage: light, press, focus, one photo drift.
   The grid, type and cards stay where they are. */

.home-stage { --spot-x: 72%; --spot-y: 18%; }
.home-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    540px circle at var(--spot-x) var(--spot-y),
    rgba(34, 211, 238, 0.16),
    transparent 58%
  );
}

.home-stage-card { --lx: 18%; --ly: 0%; }
.home-stage-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    280px circle at var(--lx) var(--ly),
    color-mix(in srgb, var(--card) 34%, transparent),
    transparent 46%
  );
  transition: opacity 180ms ease;
}
.home-stage-card:hover::before,
.home-stage-card:focus-visible::before { opacity: 1; }

.home-stage-cta,
.home-stage-card,
.home-stage-quiet,
.home-product-jump a {
  transition: transform 140ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease;
}
.home-stage-cta:active,
.home-stage-card:active { transform: scale(0.98); }
.home-stage-card:hover { transform: translateY(-6px); }
.home-stage-card:active { transform: translateY(-2px) scale(0.99); }

.home-stage-cta:focus-visible,
.home-stage-quiet:focus-visible,
.home-stage-card:focus-visible,
.home-product-jump a:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
  .home-stage-photo {
    animation: home-photo-drift 18s cubic-bezier(0.33, 1, 0.68, 1) infinite alternate;
  }
  .home-stage-copy h1 { animation: home-rise 800ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-lede { animation: home-rise 800ms 80ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-actions { animation: home-rise 800ms 150ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-points { animation: home-rise 800ms 220ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-card { animation: home-fade 700ms cubic-bezier(0.22, 1, 0.36, 1) both; }
  .home-stage-card:nth-child(2) { animation-delay: 70ms; }
  .home-stage-card:nth-child(3) { animation-delay: 140ms; }
  .home-stage-card:nth-child(4) { animation-delay: 210ms; }
  .home-stage-card:nth-child(5) { animation-delay: 280ms; }
}
@keyframes home-photo-drift {
  from { transform: scale(1.05); }
  to { transform: scale(1); }
}
@keyframes home-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
@keyframes home-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .home-stage-card:hover,
  .home-stage-card:active,
  .home-stage-cta:active { transform: none; }
}

/* Música no palco: ondas e espectro em canvas (home-stage.js), halo no tempo,
   card "tocando agora" e selo do conversor. Um beat = 0.625s (96 BPM),
   o mesmo tempo que o canvas usa. */
.home-stage { --beat: 0.625s; }
.home-stage-wave {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.home-stage-copy { position: relative; z-index: 2; }
.home-stage-visual { z-index: 1; }
.home-stage-photo { z-index: 1; }

.home-stage-copy h1 span {
  background: linear-gradient(100deg, #22d3ee 0%, #67e8f9 22%, #a78bfa 48%, #ff7a45 72%, #22d3ee 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.home-stage-halo {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 34%;
  width: 70%;
  aspect-ratio: 1;
  translate: -50% -50%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.32), rgba(167, 139, 250, 0.12) 45%, transparent 68%);
  filter: blur(8px);
  pointer-events: none;
}

.home-stage-now,
.home-stage-tag {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  border: 1px solid rgba(238, 246, 255, 0.14);
  background: rgba(9, 14, 24, 0.62);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  color: #eef6ff;
}
.home-stage-now {
  left: 4%;
  bottom: 22%;
  gap: 0.75rem;
  width: min(270px, 70%);
  padding: 0.65rem 0.9rem 0.65rem 0.65rem;
  border-radius: 18px;
  text-decoration: none;
}
.home-stage-now:hover { border-color: rgba(34, 211, 238, 0.6); color: #fff; }
.home-stage-now-art {
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: conic-gradient(from 200deg, #22d3ee, #a78bfa, #ff7a45, #22d3ee);
}
.home-stage-eq {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 22px;
}
.home-stage-eq i {
  width: 4px;
  height: 100%;
  border-radius: 2px;
  background: #04121a;
  transform-origin: bottom;
  transform: scaleY(0.4);
}
.home-stage-now-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1;
}
.home-stage-now-kicker {
  color: #67e8f9;
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.home-stage-now strong {
  font-size: 0.95rem;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-stage-now-bar {
  display: block;
  height: 3px;
  margin-top: 0.15rem;
  border-radius: 2px;
  background: rgba(238, 246, 255, 0.16);
  overflow: hidden;
}
.home-stage-now-bar span {
  display: block;
  width: 38%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #22d3ee, #a78bfa);
}
.home-stage-tag {
  right: 4%;
  bottom: 34%;
  gap: 0.45rem;
  padding: 0.45rem 0.8rem 0.45rem 0.45rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
}
.home-stage-tag b {
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: #ff7a45;
  color: #1a0904;
  font-size: 0.72rem;
}
.home-stage-tag svg {
  fill: none;
  stroke: #ffb39a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: no-preference) {
  .home-stage-copy h1 span { animation: home-title-flow 9s linear infinite; }
  .home-stage-halo { animation: home-beat var(--beat) cubic-bezier(0.2, 0.7, 0.3, 1) infinite; }
  .home-stage-eq i { animation: home-eq calc(var(--beat) * 0.9) ease-in-out infinite alternate; }
  .home-stage-eq i:nth-child(2) { animation-duration: calc(var(--beat) * 0.6); animation-delay: -0.2s; }
  .home-stage-eq i:nth-child(3) { animation-duration: calc(var(--beat) * 1.1); animation-delay: -0.4s; }
  .home-stage-eq i:nth-child(4) { animation-duration: calc(var(--beat) * 0.7); animation-delay: -0.1s; }
  .home-stage-eq i:nth-child(5) { animation-duration: calc(var(--beat) * 0.95); animation-delay: -0.3s; }
  .home-stage-now-bar span { animation: home-progress 24s linear infinite; }
  .home-stage-now { animation: home-float 6s ease-in-out infinite alternate, home-fade 700ms 400ms both; }
  .home-stage-tag { animation: home-float 7s -2s ease-in-out infinite alternate-reverse, home-fade 700ms 550ms both; }
}
@keyframes home-title-flow {
  to { background-position: -220% 0; }
}
@keyframes home-beat {
  0% { opacity: 1; scale: 1.06; }
  100% { opacity: 0.55; scale: 0.96; }
}
@keyframes home-eq {
  from { transform: scaleY(0.25); }
  to { transform: scaleY(1); }
}
@keyframes home-progress {
  from { width: 4%; }
  to { width: 100%; }
}
@keyframes home-float {
  from { translate: 0 0; }
  to { translate: 0 -10px; }
}

@media (max-width: 860px) {
  .home-stage-now { bottom: 10%; }
  .home-stage-tag { bottom: auto; top: 8%; }
}
@media (max-width: 640px) {
  .home-stage-now { width: min(240px, 72%); }
  .home-stage-tag { font-size: 0.74rem; }
}

/* Imagens dos módulos nos cards do palco. */
.home-stage-card > .card-shot {
  margin: -1rem -1rem 0.6rem;
  border-radius: 21px 21px 0 0;
}
.home-stage-card:hover .card-shot img { transform: scale(1.04); }
.card-shot + .home-stage-ico {
  position: relative;
  z-index: 2;
  margin-top: -2.2rem;
  background: rgba(5, 8, 15, 0.88);
}
/* Premium: em vez de foto, os timbres passam em loop com "0 crédito". */
.home-stage-card.is-coral {
  grid-template-columns: auto minmax(0, 0.9fr) minmax(0, 1.1fr);
  grid-template-areas:
    "ico kicker flow"
    "ico title flow"
    "ico text flow";
  column-gap: 1rem;
  padding: 1.1rem 1.15rem;
}
.home-premium-flow {
  grid-area: flow;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}
.home-premium-badge {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 66px;
  height: 66px;
  border-radius: 18px;
  background: linear-gradient(150deg, #ff7a45, #ff3d6e);
  box-shadow: 0 0 30px rgba(255, 90, 54, 0.45);
  color: #fff;
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1;
  padding-bottom: 0.7rem;
}
.home-premium-badge small {
  position: absolute;
  bottom: 0.45rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.home-premium-rows {
  display: grid;
  gap: 0.45rem;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.home-premium-row { display: block; overflow: hidden; }
.home-premium-track {
  display: flex;
  gap: 0.45rem;
  width: max-content;
}
.home-premium-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.6rem 0.35rem 0.4rem;
  border-radius: 999px;
  border: 1px solid rgba(238, 246, 255, 0.12);
  background: rgba(9, 14, 24, 0.7);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}
.home-premium-chip i {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #34d399;
  color: #05261a;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 800;
}
.home-premium-chip em {
  color: #ffb39a;
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 750;
}
.home-premium-go {
  flex: none;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  background: #ff7a45;
  color: #1a0904;
  font-weight: 800;
  font-size: 0.9rem;
  transition: background-color 180ms ease;
}
.home-stage-card.is-coral:hover .home-premium-go { background: #ff9a6e; }
@media (prefers-reduced-motion: no-preference) {
  .home-premium-track { animation: home-marquee 26s linear infinite; }
  .home-premium-row + .home-premium-row .home-premium-track { animation-direction: reverse; animation-duration: 32s; }
  .home-stage-card.is-coral:hover .home-premium-track { animation-play-state: paused; }
}
@keyframes home-marquee {
  to { transform: translateX(calc(-50% - 0.225rem)); }
}
@media (max-width: 1100px) {
  .home-stage-card.is-coral {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "ico kicker"
      "ico title"
      "ico text"
      "flow flow";
    row-gap: 0.2rem;
  }
  .home-premium-flow { margin-top: 0.75rem; }
}
@media (max-width: 640px) {
  .home-premium-badge,
  .home-premium-go { display: none; }
}

/* Destaque do conversor Nord → SF2 */
.home-nord { --nord: #ff4d5a; --nord-2: #ff9ea6; --nord-rgb: 255, 77, 90; position: relative; z-index: 2; margin: 0.85rem 0 0; animation: rise 0.55s 0.05s ease both; }
.home-nord-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1.4rem;
  align-items: center;
  padding: 1.5rem 1.6rem;
  border-radius: 24px;
  border: 1px solid rgba(var(--nord-rgb), 0.35);
  background:
    radial-gradient(70% 120% at 100% 50%, rgba(var(--nord-rgb), 0.16), transparent 60%),
    linear-gradient(135deg, rgba(var(--nord-rgb), 0.08), rgba(0, 0, 0, 0.25) 55%),
    #0d1117;
  overflow: hidden;
  isolation: isolate;
}
.home-nord-glow {
  position: absolute;
  inset: -40% auto auto -10%;
  width: 55%;
  aspect-ratio: 1;
  z-index: -1;
  background: radial-gradient(circle, rgba(var(--nord-rgb), 0.22), transparent 65%);
  filter: blur(10px);
  animation: home-nord-float 9s ease-in-out infinite alternate;
}
.home-nord-copy { display: grid; gap: 0.7rem; min-width: 0; }
.home-nord-kicker {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nord-2);
}
.home-nord-badge {
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  background: var(--nord);
  color: #fff;
  letter-spacing: 0.06em;
  box-shadow: 0 0 0 0 rgba(var(--nord-rgb), 0.6);
  animation: home-nord-ping 2.4s ease-out infinite;
}
.home-nord-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(1.6rem, 3.2vw, 2.35rem); line-height: 1.08; }
.home-nord-copy h2 span { color: var(--nord); }
.home-nord-lede { margin: 0; color: var(--muted); max-width: 54ch; }
.home-nord-lede code { color: #fff; font-size: 0.86em; }
.home-nord-models { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.home-nord-models li {
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--nord-rgb), 0.3);
  background: rgba(var(--nord-rgb), 0.07);
  font-size: 0.8rem;
  font-weight: 600;
}
.home-nord-actions { margin: 0.2rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.1rem; }
.home-nord-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.35rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--nord), #ff7a45);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(var(--nord-rgb), 0.35);
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.25s;
}
.home-nord-cta svg { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.25s; }
.home-nord-cta:hover, .home-nord-cta:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(var(--nord-rgb), 0.5); }
.home-nord-cta:hover svg { transform: translateX(3px); }
.home-nord-quiet { color: var(--muted); font-size: 0.9rem; text-decoration: underline; text-underline-offset: 3px; }
.home-nord-quiet:hover { color: #fff; }

.home-nord-visual { display: flex; align-items: center; justify-content: center; gap: 0.6rem; min-width: 0; }
.home-nord-file {
  position: relative;
  display: grid;
  gap: 0.2rem;
  width: 9.5rem;
  padding: 0.9rem 0.95rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(var(--nord-rgb), 0.4);
  background: rgba(10, 13, 19, 0.85);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
.home-nord-file b { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 1.15rem; color: #fff; }
.home-nord-file small { font-size: 0.74rem; color: var(--muted); }
.home-nord-file.is-in { transform: rotate(-3deg); animation: home-nord-bob 4s ease-in-out infinite; }
.home-nord-file.is-out {
  border-color: rgba(var(--nord-rgb), 0.75);
  background: linear-gradient(160deg, rgba(var(--nord-rgb), 0.22), rgba(10, 13, 19, 0.9) 60%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45), 0 0 34px rgba(var(--nord-rgb), 0.28);
  transform: rotate(2deg);
  animation: home-nord-bob 4s ease-in-out -2s infinite;
}
.home-nord-wave { display: flex; align-items: center; gap: 3px; height: 1.6rem; margin-top: 0.35rem; }
.home-nord-wave i { width: 4px; height: 100%; border-radius: 2px; background: var(--nord-2); transform-origin: center; animation: home-nord-eq 1.1s ease-in-out infinite; }
.home-nord-wave i:nth-child(2) { animation-delay: -0.2s; }
.home-nord-wave i:nth-child(3) { animation-delay: -0.5s; }
.home-nord-wave i:nth-child(4) { animation-delay: -0.8s; }
.home-nord-wave i:nth-child(5) { animation-delay: -0.35s; }
.home-nord-wave i:nth-child(6) { animation-delay: -0.65s; }
.home-nord-wave i:nth-child(7) { animation-delay: -0.1s; }
.home-nord-outs { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.4rem; }
.home-nord-outs em { font-style: normal; font-size: 0.66rem; font-weight: 700; padding: 0.12rem 0.4rem; border-radius: 6px; background: rgba(255, 255, 255, 0.08); color: #fff; }
.home-nord-pipe {
  position: relative;
  flex: 0 1 4.5rem;
  min-width: 2.5rem;
  height: 2px;
  background: linear-gradient(90deg, rgba(var(--nord-rgb), 0.2), rgba(var(--nord-rgb), 0.7));
}
.home-nord-pipe::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--nord);
  border-right: 2px solid var(--nord);
  transform: translateY(-50%) rotate(45deg);
}
.home-nord-pipe i {
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  margin-top: -3.5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 10px var(--nord);
  animation: home-nord-flow 1.8s linear infinite;
}
.home-nord-pipe i:nth-child(2) { animation-delay: 0.6s; }
.home-nord-pipe i:nth-child(3) { animation-delay: 1.2s; }

@keyframes home-nord-flow { from { left: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { left: calc(100% - 7px); opacity: 0; } }
@keyframes home-nord-eq { 0%, 100% { transform: scaleY(0.35); } 50% { transform: scaleY(1); } }
@keyframes home-nord-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes home-nord-float { to { translate: 30% 20%; } }
@keyframes home-nord-ping { 0% { box-shadow: 0 0 0 0 rgba(var(--nord-rgb), 0.55); } 70%, 100% { box-shadow: 0 0 0 10px rgba(var(--nord-rgb), 0); } }

.home-product-jump a.home-product-jump-nord { border-color: rgba(255, 77, 90, 0.55); color: #ffb3b9; }

@media (max-width: 860px) {
  .home-nord-card { grid-template-columns: 1fr; padding: 1.2rem; }
  .home-nord-visual { order: -1; }
}
@media (max-width: 420px) {
  .home-nord-file { width: 8rem; padding: 0.75rem; }
  .home-nord-cta { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .home-nord, .home-nord-glow, .home-nord-badge, .home-nord-file, .home-nord-wave i, .home-nord-pipe i { animation: none; }
  .home-nord-pipe i { display: none; }
}

/* Banner Nord: terceira etapa (LabPiano) e o botão para tocar no navegador. */
.home-nord-cta.is-play {
  background: rgba(var(--nord-rgb), 0.1);
  border: 1px solid rgba(var(--nord-rgb), 0.55);
  color: #ffd9dc;
  box-shadow: none;
}
.home-nord-cta.is-play:hover, .home-nord-cta.is-play:focus-visible {
  background: rgba(var(--nord-rgb), 0.2);
  color: #fff;
  box-shadow: 0 10px 26px rgba(var(--nord-rgb), 0.28);
}
.home-nord-cta.is-play:hover svg { transform: none; }
.home-nord-visual.has-play { gap: 0.45rem; }
.home-nord-visual.has-play .home-nord-file { width: 8.4rem; }
.home-nord-visual.has-play .home-nord-pipe { flex-basis: 3rem; min-width: 1.6rem; }
.home-nord-file.is-play {
  border-color: rgba(var(--nord-rgb), 0.6);
  background: linear-gradient(160deg, #3a0f12, rgba(10, 13, 19, 0.92) 70%);
  transform: rotate(-2deg);
  animation: home-nord-bob 4s ease-in-out -1s infinite;
}
/* Mini teclado: uma tecla acende de cada vez, como uma escala tocando. */
.home-nord-keys {
  position: relative;
  display: flex;
  gap: 2px;
  height: 1.7rem;
  margin-top: 0.4rem;
  padding: 2px;
  border-radius: 5px;
  background: #050608;
}
.home-nord-keys i {
  flex: 1;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(180deg, #d8d2c4, #f7f4ec 60%, #e2dccd);
  animation: home-nord-key 2.8s ease-in-out infinite;
  animation-delay: calc(var(--k) * 0.35s);
}
.home-nord-keys u {
  position: absolute;
  top: 2px;
  left: calc(2px + (100% - 4px) / 7 * var(--x) - 5px);
  width: 9px;
  height: 58%;
  border-radius: 0 0 2px 2px;
  background: linear-gradient(180deg, #1a1a1c, #050506);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
}
@keyframes home-nord-key {
  0%, 18%, 100% { background: linear-gradient(180deg, #d8d2c4, #f7f4ec 60%, #e2dccd); box-shadow: none; }
  6%, 12% { background: linear-gradient(180deg, #ff9ea6, var(--nord)); box-shadow: 0 0 10px rgba(var(--nord-rgb), 0.7); }
}
@media (max-width: 420px) {
  .home-nord-visual.has-play .home-nord-file { width: 6rem; padding: 0.6rem; }
  .home-nord-visual.has-play .home-nord-pipe { flex-basis: 1.6rem; min-width: 1rem; }
  .home-nord-visual.has-play .home-nord-file small { font-size: 0.62rem; }
  .home-nord-visual.has-play .home-nord-outs em { font-size: 0.58rem; }
  .home-nord-cta.is-play { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .home-nord-keys i { animation: none; }
}
