/* Homepage redesign, derived from the approved responsive proposal. */
.home-v2 {
      --nm-bg: #0B0B0D;
      --nm-panel: #141417;
      --nm-panel-2: #1A1A1F;
      --nm-line: rgba(255,255,255,.11);
      --nm-line-2: rgba(255,255,255,.17);
      --nm-text: #EAEAEC;
      --nm-dim: #9A9BA2;
      --nm-accent: #34E3A6;
      --nm-accent-hover: #4AF0B5;
      --nm-ink: #05130D;
      --nm-rail: 1280px;
      --nm-page-inset: clamp(40px, 6vw, 112px);
      --nm-mono: 'Red Hat Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
      --nm-body: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      width: 100%;
      min-width: 0;
      overflow: hidden;
      color: var(--nm-text);
      background-color: var(--nm-bg);
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44NScgbnVtT2N0YXZlcz0nMicgc3RpdGNoVGlsZXM9J3N0aXRjaCcgcmVzdWx0PSdub2lzZScvPjxmZUNvbG9yTWF0cml4IGluPSdub2lzZScgdHlwZT0nbWF0cml4JyB2YWx1ZXM9JzAgMCAwIDAgMSAgMCAwIDAgMCAxICAwIDAgMCAwIDEgIDAgMCAwIDAuMDUgMCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCNuKScvPjwvc3ZnPg==");
      font-family: var(--nm-body);
      line-height: 1.5;
      color-scheme: dark;
    }

    .home-v2 *,
    .home-v2 *::before,
    .home-v2 *::after {
      box-sizing: border-box;
    }

    .home-v2 a {
      color: inherit;
      text-decoration: none;
    }

    .home-v2 button,
    .home-v2 select {
      font: inherit;
    }

    .home-v2 button,
    .home-v2 a,
    .home-v2 select,
    .home-v2 summary {
      outline-offset: 3px;
    }

    .home-v2 button:focus-visible,
    .home-v2 a:focus-visible,
    .home-v2 select:focus-visible,
    .home-v2 summary:focus-visible {
      outline: 2px solid var(--nm-accent);
    }

    .home-v2 h1,
    .home-v2 h2,
    .home-v2 h3,
    .home-v2 button,
    .home-v2 label,
    .home-v2 .nm-brand,
    .home-v2 .nm-kicker,
    .home-v2 .nm-index,
    .home-v2 .nm-nav-link,
    .home-v2 .nm-section-link,
    .home-v2 .nm-foot-label {
      font-family: var(--nm-mono);
    }

    .home-v2 .nm-shell {
      width: min(var(--nm-rail), calc(100% - var(--nm-page-inset)));
      margin: 0 auto;
    }

    .home-v2 .nm-header {
      position: relative;
      z-index: 20;
      border-bottom: 1px solid var(--nm-line);
      background: rgba(11,11,13,.94);
    }

    .home-v2 .nm-nav {
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .home-v2 .nm-brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 700;
      letter-spacing: -.03em;
    }

    .home-v2 .nm-mark {
      width: 25px;
      height: 25px;
      display: block;
      image-rendering: pixelated;
      object-fit: contain;
      flex: 0 0 auto;
    }

    .home-v2 .nm-nav-links {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .home-v2 .nm-nav-link {
      padding: 12px 10px;
      color: var(--nm-dim);
      font-size: 12px;
    }

    .home-v2 .nm-nav-link:hover {
      color: var(--nm-text);
      background: var(--nm-panel);
    }

    .home-v2 .nm-library {
      border: 1px solid var(--nm-line-2);
      background: transparent;
      color: var(--nm-text);
      padding: 11px 14px;
      font-size: 12px;
      cursor: pointer;
    }

    .home-v2 .nm-library span {
      margin-left: 7px;
      color: var(--nm-accent);
    }

    .home-v2 .nm-menu-toggle {
      display: none;
      border: 0;
      background: transparent;
      color: var(--nm-accent);
      padding: 8px 0;
      font-size: 12px;
      cursor: pointer;
    }

    .home-v2 .nm-mobile-menu {
      display: none;
      border-top: 1px solid var(--nm-line);
      background: var(--nm-bg);
      padding: 14px 24px 18px;
    }

    .home-v2 .nm-mobile-menu.is-open {
      display: grid;
      gap: 2px;
    }

    .home-v2 .nm-mobile-menu a {
      padding: 10px 0;
      border-bottom: 1px solid var(--nm-line);
      color: var(--nm-dim);
      font-family: var(--nm-mono);
      font-size: 12px;
    }

    .home-v2 .nm-hero {
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-hero-grid {
      display: block;
      padding: 32px 0 0;
    }

    .home-v2 .nm-hero-banner-shell {
      width: min(var(--nm-rail), calc(100% - var(--nm-page-inset)));
      margin: 0 auto;
    }

    .home-v2 .nm-generator-shell {
      padding: 32px 0;
      container: nm-generator-rail / inline-size;
    }

    .home-v2 .nm-hero-copy {
      position: relative;
      isolation: isolate;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: clamp(380px, 22vw, 420px);
      padding: clamp(42px, 3vw, 52px) clamp(44px, 4vw, 64px);
      overflow: hidden;
    }

    .home-v2 .nm-hero-media {
      position: absolute;
      z-index: -3;
      inset: 0;
      display: block;
    }

    .home-v2 .nm-hero-media img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
      image-rendering: auto;
      filter: brightness(.5) saturate(.86) contrast(.98);
      transform-origin: 70% 50%;
      animation: nm-hero-drift 18s cubic-bezier(.45,0,.55,1) infinite alternate;
    }

    .home-v2 .nm-hero-copy::before {
      content: '';
      position: absolute;
      z-index: -2;
      inset: 0;
      background-image:
        linear-gradient(90deg, rgba(11,11,13,.96) 0%, rgba(11,11,13,.78) 48%, rgba(11,11,13,.18) 82%),
        linear-gradient(0deg, rgba(11,11,13,.42), rgba(11,11,13,.08));
    }

    .home-v2 .nm-hero-copy::after {
      content: 'N';
      position: absolute;
      z-index: -1;
      right: 70px;
      top: 36px;
      color: rgba(52,227,166,.045);
      font: 700 360px/.9 var(--nm-mono);
      letter-spacing: -.16em;
      animation: nm-mark-breathe 8s ease-in-out infinite;
    }

    @keyframes nm-hero-drift {
      from { transform: translate3d(0, 0, 0); }
      to { transform: translate3d(-1.1%, -.4%, 0); }
    }

    @keyframes nm-mark-breathe {
      0%, 100% { opacity: .72; transform: translate3d(0, 0, 0); }
      50% { opacity: 1; transform: translate3d(-8px, 3px, 0); }
    }

    .home-v2 .nm-kicker {
      margin: 0 0 20px;
      color: var(--nm-accent);
      font-size: 11px;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .home-v2 h1 {
      max-width: 920px;
      margin: 0;
      font-size: clamp(42px, 4vw, 64px);
      line-height: 1;
      letter-spacing: -.055em;
    }

    .home-v2 .nm-accent-text {
      color: var(--nm-accent);
    }

    .home-v2 .nm-hero-copy > p:not(.nm-kicker) {
      max-width: 720px;
      margin: 20px 0 0;
      color: var(--nm-dim);
      font-size: 17px;
    }

    .home-v2 .nm-hero-links {
      display: flex;
      flex-wrap: wrap;
      gap: 12px 24px;
      margin-top: 26px;
    }

    .home-v2 .nm-hero-links a {
      min-height: 36px;
      display: inline-flex;
      align-items: center;
      color: var(--nm-text);
      font-family: var(--nm-mono);
      font-size: 12px;
      border-bottom: 1px solid var(--nm-line-2);
      padding: 8px 0 7px;
    }

    .home-v2 .nm-hero-links a:hover {
      color: var(--nm-accent);
      border-color: var(--nm-accent);
    }

    .home-v2 .nm-generator {
      display: grid;
      grid-template-columns: minmax(220px, .75fr) minmax(340px, 1fr) minmax(360px, 1.15fr);
      gap: 48px;
      align-items: stretch;
      padding: clamp(44px, 3vw, 58px) clamp(42px, 3.25vw, 64px);
      border: 1px solid var(--nm-line);
      background: rgba(20,20,23,.78);
    }

    .home-v2 .nm-generator-head,
    .home-v2 .nm-section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 30px;
    }

    .home-v2 .nm-generator-head {
      display: block;
      margin: 0;
      padding-right: 12px;
      align-self: center;
    }

    .home-v2 .nm-generator-head .nm-local-tag {
      display: inline-block;
      margin-top: 22px;
    }

    .home-v2 .nm-generator-controls,
    .home-v2 .nm-generator-output {
      min-width: 0;
      display: flex;
      flex-direction: column;
    }

    .home-v2 .nm-generator-controls {
      justify-content: center;
      gap: 12px;
    }

    .home-v2 .nm-generator-output {
      justify-content: stretch;
    }

    .home-v2 .nm-index {
      color: var(--nm-accent);
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .home-v2 .nm-generator h2,
    .home-v2 .nm-section-head h2 {
      margin: 4px 0 0;
      font-size: clamp(23px, 2.5vw, 38px);
      line-height: 1.13;
      letter-spacing: -.035em;
    }

    .home-v2 .nm-local-tag {
      color: var(--nm-dim);
      font: 400 10px/1 var(--nm-mono);
      letter-spacing: .1em;
    }

    .home-v2 .nm-fields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border: 1px solid var(--nm-line);
      border-bottom: 0;
    }

    .home-v2 .nm-field {
      min-width: 0;
      padding: 18px 20px 19px;
    }

    .home-v2 .nm-field + .nm-field {
      border-left: 1px solid var(--nm-line);
    }

    .home-v2 .nm-field label {
      display: block;
      margin-bottom: 6px;
      color: var(--nm-dim);
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .home-v2 .nm-field select {
      width: 100%;
      border: 0;
      background: transparent;
      color: var(--nm-text);
      cursor: pointer;
      font-size: 14px;
    }

    .home-v2 .nm-field option {
      background: var(--nm-panel);
    }

    .home-v2 .nm-result {
      position: relative;
      height: 218px;
      min-height: 218px;
      flex: 0 0 218px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border: 1px solid rgba(52,227,166,.28);
      padding: 26px 32px;
      /* Dark scrim over GIF so glitch motion stays readable behind result text */
      background:
        linear-gradient(135deg, rgba(14,14,16,.85), rgba(20,20,23,.85) 48%, rgba(14,14,16,.85)),
        url('assets/media/result-glitch.gif') center / cover no-repeat;
      box-shadow: 0 16px 36px rgba(0,0,0,.12);
      overflow: hidden;
      transition: border-color 180ms ease, box-shadow 180ms ease;
    }

    .home-v2 .nm-result[aria-busy="true"] {
      animation: nm-result-confirm 520ms cubic-bezier(.16,1,.3,1);
    }

    @keyframes nm-result-confirm {
      0% {
        border-color: rgba(52,227,166,.28);
        box-shadow: 0 16px 36px rgba(0,0,0,.12);
      }
      42% {
        border-color: rgba(52,227,166,.7);
        box-shadow: 0 0 0 1px rgba(52,227,166,.13), 0 18px 40px rgba(0,0,0,.16);
      }
      100% {
        border-color: rgba(52,227,166,.28);
        box-shadow: 0 16px 36px rgba(0,0,0,.12);
      }
    }

    .home-v2 .nm-result-sweep {
      position: absolute;
      z-index: 3;
      top: 0;
      bottom: 0;
      left: -30%;
      width: 24%;
      opacity: 0;
      pointer-events: none;
      background: linear-gradient(90deg, transparent, rgba(52,227,166,.13), rgba(52,227,166,.8), transparent);
      transform: skewX(-10deg);
    }

    .home-v2 .nm-result-head {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin: 0 0 12px;
    }

    .home-v2 .nm-result-label,
    .home-v2 .nm-result-meta {
      flex: 0 0 auto;
      margin: 0;
      font: 400 10px/1 var(--nm-mono);
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .home-v2 .nm-result-label {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--nm-accent);
    }

    .home-v2 .nm-result-label::before {
      width: 5px;
      height: 5px;
      flex: 0 0 5px;
      background: currentColor;
      content: '';
    }

    .home-v2 .nm-result-meta {
      color: var(--nm-dim);
      text-align: right;
    }

    .home-v2 .nm-result-name {
      --nm-result-font-size: 44px;
      width: 100%;
      height: 96px;
      flex: 0 0 96px;
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      align-items: center;
      column-gap: .24em;
      margin: 0;
      overflow: hidden;
      font: 700 var(--nm-result-font-size)/1.05 var(--nm-mono);
      letter-spacing: -.05em;
      word-break: keep-all;
      overflow-wrap: normal;
    }

    .home-v2 .nm-result-word {
      display: inline-flex;
      flex: 0 0 auto;
      white-space: nowrap;
    }

    .home-v2 .nm-result-letter {
      display: inline-block;
      flex: 0 0 auto;
      will-change: transform, opacity;
    }

    .home-v2 .nm-result-note {
      height: 36px;
      min-height: 36px;
      margin: 10px 0 0;
      overflow: hidden;
      color: var(--nm-dim);
      font-size: 12px;
      line-height: 1.5;
    }

    .home-v2 .nm-generate {
      position: relative;
      width: 100%;
      border: 0;
      background: var(--nm-accent);
      color: var(--nm-ink);
      padding: 15px 18px;
      font-weight: 700;
      cursor: pointer;
      overflow: hidden;
    }

    .home-v2 .nm-generate:hover {
      background: var(--nm-accent-hover);
    }

    .home-v2 .nm-generate:disabled {
      color: rgba(11,11,13,.72);
      cursor: wait;
    }

    .home-v2 .nm-generate-label {
      position: relative;
      z-index: 2;
    }

    .home-v2 .nm-generate-progress {
      position: absolute;
      z-index: 1;
      inset: 0;
      background: rgba(11,11,13,.16);
      transform: scaleX(0);
      transform-origin: left center;
      pointer-events: none;
    }

    .home-v2 .nm-result-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .home-v2 .nm-result-actions button {
      border: 1px solid var(--nm-line);
      border-top: 0;
      background: transparent;
      color: var(--nm-dim);
      padding: 11px 14px;
      cursor: pointer;
      font-size: 11px;
    }

    .home-v2 .nm-result-actions button + button {
      border-left: 0;
    }

    .home-v2 .nm-result-actions button:hover,
    .home-v2 .nm-result-actions button.is-saved {
      color: var(--nm-accent);
    }

    .home-v2 .nm-trust {
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-trust-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
    }

    .home-v2 .nm-trust-item {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 14px;
      padding: 22px 28px;
      border-left: 1px solid var(--nm-line);
    }

    .home-v2 .nm-trust-item:last-child {
      border-right: 1px solid var(--nm-line);
    }

    .home-v2 .nm-trust-item b {
      color: var(--nm-accent);
      font: 500 12px/1.4 var(--nm-mono);
    }

    .home-v2 .nm-trust-item strong {
      display: block;
      margin-bottom: 3px;
      font: 500 13px/1.3 var(--nm-mono);
    }

    .home-v2 .nm-trust-item p {
      margin: 0;
      color: var(--nm-dim);
      font-size: 12px;
    }

    .home-v2 .nm-section {
      padding: clamp(76px, 6vw, 112px) 0;
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-section-link {
      color: var(--nm-dim);
      font-size: 11px;
      white-space: nowrap;
    }

    .home-v2 .nm-section-link:hover {
      color: var(--nm-accent);
    }

    .home-v2 .nm-featured-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin: 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--nm-line);
      border-left: 1px solid var(--nm-line);
    }

    .home-v2 .nm-featured-grid > li {
      display: flex;
      min-width: 0;
    }

    .home-v2 .nm-featured-item {
      position: relative;
      width: 100%;
      min-height: 210px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 28px;
      border-right: 1px solid var(--nm-line);
      border-bottom: 1px solid var(--nm-line);
      background: rgba(20,20,23,.54);
      transition: background-color .2s ease, border-color .2s ease;
    }

    .home-v2 .nm-featured-item:hover {
      background: var(--nm-panel-2);
    }

    .home-v2 .nm-featured-no {
      color: var(--nm-dim);
      font: 400 10px/1 var(--nm-mono);
    }

    .home-v2 .nm-featured-icon {
      width: 38px;
      height: 38px;
      display: block;
      margin-top: 24px;
      object-fit: contain;
      image-rendering: pixelated;
      transition: transform .25s cubic-bezier(.16,1,.3,1);
    }

    .home-v2 .nm-featured-business .nm-featured-icon { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAACTUlEQVR4nO3cv0sbYRzH8e+VLgZaalddRDs4lIKdi9EtRTq5OEhLRueMheru3NG/oFDoULLp4CKoHQwUhNJFwR80hTbedepJnPTa3l2ifT7PE9+vTXOX07x5nofnGWIGAAAAAHAqcvWgSuVhagGJ47aTz+aOi4fg3wggRgCxyNWc/+7nnoVk/t5jJ2sCI0CMAGIEELvr6kEn6S/zVZzE1kniwQ5w+jsxXx2fte2ofSp5NlOQGAHECCDmbA0oo/Hlbe7rrf2aNWtjPd3TtTq+ZL5iBIgRQIwAYgQQI4AYAcQIIObVPqC1X8t9ffvRg57vuTBu3vIqQDOzyfpf9/iEKUiMAGIEEPNqDWhwGAfXCCBGADECiBFAjABiBBDzah/Q4jBOq8lhHFwjgBgBxLxaAxocxsE1AogRQIwAYgQQI4AYAcQIIObVRmy1aMP0l1PNxXS28H2fmL8YAWIEECOAWPCHcaFjBIgRQIwAYl6tAf2ob54VXrMzYd4KPsDMs63Ca3bsqfmKKUiMAGIEEAvqMG7j/ZqtL7y88rs3mWtmXr+yaqNuoWAEiBFAjACDsAYMDQ0vR1GUnY4HSiXzZeRpmq4kyffl674vI0CMAGIECHEN6M75l38efT5VvT82knvPcfubXVenxBdsd6/p9Vmd5M8Dvcmludx7fnw9rB583L3yOfSzJvQVILvgdj/8yfqL3Htu4suxOyUD3MSziv6fz2sfpqPo03Tm1z0HYAoSI4AYAcSikDZiaYnNj09/SxmMADECiBEAAAAAAGC3yjnwYp0LPLpk9wAAAABJRU5ErkJggg=="); }
    .home-v2 .nm-featured-band .nm-featured-icon { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAACM0lEQVR4nO3cP0tbURiA8RMrLi6WgrXOgqUtSunUVVyyO0n6LczqUOiUvV/A0slZF8nasbTUotKODRoK6uAiSEo3z6Hc9CLmuYfz/LZL0CQ8vPfk/klCkCSVqhUy17v+Nrq93Z15kdV7mqJfQOkMADMAzAAwA8AMADMAbDpkZu/mV/S5//DmPOTMCYAZAGYAWHZrwGHm+/yUEwAzAMwAsOzWgC8/jqLt/vrbkDMnAGYAmAFgWV0//WtxcSU6F3R19fv2Zri8HGT1npwAmAFgBoAZAGYAmAFgBoAZAGYAmAFgBoAZAGYAmAFgBij9mnDn+250fv/Ds42szufflRMAMwDMAKWtAek+v3ROAMwAMAPA8M/cnZprQnov6Lj7gsb9f/q4wwmAGQBmgNLPBY3Te9yOtl+F6u8DpPv81aWnld8voDkBMAPADFD6cUDdffjWz/ehyul8r/LxJ49mG/WenQCYAWAGgDX+OOD5g4d3+vvPcxehyZwAmAFgBoA1fg14eTFX63N+bpwAmAFgBih9DejUvCa8MOxWPp6uEe2Td5XP5zXhwhkAZgBY4+8N7Z7tR9s7rXrnftrD+PHN5dfRdj/5/aHB4OtE1wQnAGYAmAFgrdK+H7CZrAEfjz8F8rjACYAZAGaA0taA9Hc/1w627/X5dlr9aPvNaK3y+wYeBxTGADADlHYu6B/72NF9Pl+6z/+P1zNRTgDMADADwBp1r/wkzh3R14BTTgDMADADSJIUGH8AbmB3WhMkgjIAAAAASUVORK5CYII="); }
    .home-v2 .nm-featured-song .nm-featured-icon { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAACK0lEQVR4nO3cMU4bQRTG8bdLCrw0AQQ9VQo4A9lcInXEGVIiGQSlz+BwEli4AwUVvS2FVJgmO8idd4SEZXv8vfX+f90gay38ad6TZ/3WDAAAAAAAAAAAAEllJrKzs1/WdV1aS0wmLxcprvvFRKYffpZlfWuPJAHkKS6K+RGAGAF0pQkXxV6YXf84/2Xl7zNri/7X08Y6hHC5isbMDhAjADECEJN9D/jI8dauefH4/2Ut78MOECMAMQIQc9UDRuHNusZVAON6Yl1DCRIjADECEHPVA2LVYGh31zeWmvJgkB0gRgBiBCDmugd84D6EUNmSPP0YoFUBhBCqVdyFKoo9NwFQgsQIQIwAxAhAjADECECMAMQIQIwAxAhAjADEWnUWtKhebzfJdMsqdCKAzNHpZ4wSJEYAYgSwqT0gHklaZ8PNopp/+e/BvGIHiBGAGAFsQg9Q1t1ijvHXePRpXeNH82AHiBGAGAG0sQfEh1snP8vy8NtR4zUHec/N9MvI8ejTQgHEDXf64ceN7zDbbqzHpgtg7Hj0iRIkRgBiBLCph3Gevux4xg4QIwAxAhBr/U3519e/jefe3V79ubi7vln6YDB+Rlz8PqvCDhAjADECaGMPmD4zc3Y9enouq8Hw++zfFhn9rwbDxnr09NwYS83z/NMR1elr6rqOr9tf9n9MJfN0R6yf6OGoi/xCI1XTjVGCxAhAjADEktU5z3XXE3aAGAGIEQAAAAAAwDrlHb9XkMHpvi5KAAAAAElFTkSuQmCC"); }
    .home-v2 .nm-featured-combiner .nm-featured-icon { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAACrklEQVR4nO3cPUwTYRzH8ecaF1pNiia4aqIMgonvJhDrObuazsZBTVxxUdJSohOsIHEgjtC4OzhYTWTQ0ZKI0TCwkSi+hKLLnTkHc89jxafXe/qH8/uZeC70nmt/ueff57nrKQUAAAAAAAAAAAAAAJBFXq86yuf3hy7222p90t5DX1//hOd5Vdf9pCXnYqewRwDCCCCrNcAc82ufXzjpp1osae1y5aYq376Vej9X9h3X2mEY1ra2Nia63S9ngDACEEYAwvaksZNC4YAfBIEf33Zp/KrqhbvXh7X2ob1HnPQT1Za4tbfv/aXFp1oNSFITUinC7SY/roquaezDrNZe27ismudPKNfqUzOqPjnX9WSNIUgYAQgjAGFeGpOsqOD6Y9c62kdjel49u/eo44J754ZedG0UTi90/JrH3950PVmzqQmcAcIIQBgB7IaJWPQ9f7tJ1uGRk1Zjftz6yurzMAwb8W3mXKJ0ZkBdODXwux3/u5vJ2v2HTfNf/jiW+tSMdiw2C3zmZG2x9kD73HK5XGNz86P+nnu1smmuWrZbTcwb/SQtup0WZZtjSaMot+uHIUgYAWRhMc5mzI9OP3M8VDuYebxmTRgaPaeGRs7u3ADMSVYaV496yTze+uScXpQrKpUAGIKEEYAwAhBGAMIIQBgBCCMAYQQgjACEEYAwAhBGAMKcLcaZF22qxVLo4vZuV9K4IGODM0AYAQgjAGHcGfcX3Bn3nyAAYQSwG+cB5h0D6yurfmN6/mJ8279qwq+76cY767f/+zHVfHdQ2zY8+ERrf20Nqi8/jmrbypWiStvy0mu1/PLVtp+LDX6ilBA/UcoIAhBGAMJ4VoQlnhWRUQQgjACE8cw4SzwzLqMIQBgBZPWivCnJQlUS0U+fgiBI9FoAAAAAAAAAAACo7PkJqGoHGB8u7VMAAAAASUVORK5CYII="); }
    .home-v2 .nm-featured-ai .nm-featured-icon { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAABq0lEQVR4nO3cwU3DMBiGYQflVAmpYhBWYArmQZ2HKViBQVClSrnCpb6ghCRO0Os/fp8jtKXo80f9xxEpSZIkSZIkqRVdCuZ0evpe8rhh+Arxuz3Qb6B1fQrqcv0Y/frb+SVFYgNgBgAzAJgBwAwAZgAwA4AZAMwAYAYAMwCYAcAMANYf7Rzg9+NrPxewAbCqV8fYip46B5g6F7AB+pMBwAwAZgAwA4D1R9v/R5sHbACsi7LCLwv3/6X3CVENsQGwjv4bvXWFb7XXnXSlDbIBR2kAtYJpW6852QCYAcAMAGYAMAOAOQecnQOa5rWgO68FNQpvwNqGrL0rIvM8QDFPxIb7yi3dbdW68jMbADMAmAHAqv8MOPp/Y7EBsKp3CCXzwNb9f/4577fP0e+/Pj4Xve4UGwAL8xkwrJwHat//ZzYAZgAwA4AZAMwAYGF2QbWcXa99vbndmA2ANdOAbGrC3fv5eWKeYwNgBgAzAJgBwAwAFuKK4R7777VzwNx5wFLOAZULNwcMhdf5lz7PM+HGGADMAGAGADMAmAHADAAWbhL+b84BkiRJkpSO7QfMEIXrODbioAAAAABJRU5ErkJggg="); }
    .home-v2 .nm-featured-elf .nm-featured-icon { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAADK0lEQVR4nO2dP2/TQBiHX0eVIElBKpBUGbpQBpSI8qcdEEu9lI6dgIGNIQtjxUz4AHwAMrAxdepGw9IZISRSJSMLQmljASo0KZODjBTJvoZgn2L/LvHvkTz45NiuH9376l7fuSKEEEIIIYQQQkgUcrlLA/+WzS7UZIrIoG8g7VAAGAoAY8kUkc0u1CzLeu5ve/DhZeCYVr0h7fpeoK3f/27s38keAIYCwFAAmDkxmHz+su26rj3cX9q4aV+8Whr7m+Lqskh1M9DWevU2MDY4Pf1hzFjB2OQ0KumWq5tSqd6XqOysbRublBmCwFAAGAoAY0ws9PCKaeIjTMxvNT8G9guLJSkuliLlhMFg8AKVmNkDwFAAGApIaw4IU1gLg04OOHMOYAGPPQAMBYChgLQU49SX5fcebdhL168Fjrl9fCuw3zl3KJ3zh7HfG7KAl5gANeF6D//hs6fjf/ReEhFQWF3+u/lp1/cC9ysisQhgCAJDAWAoAIyVVGFNZ5DVPeqIc9QZO8gKMxBTj6ms3Il8L3EV8NgDwFAAGAoAMxfH7IXhyxSdmK/ixfQh+fl50cF/jlHX8c6bz1+QqRXgPXx1oKUze8FRHoxOZXMU/0vKIiWYAIYgMBQAxqiZcQUlVOjGfFOuM3UCihOI9yZdJwwMQWAoAAwFgDEqB+gU48IwiWJcXLAHgKEAMBQwCzkgk8nsu64baGvVG5FrQ10W4/To9b7ti4i3/XNWQRgBDotxJGkoAAwFgDFqIFZJaIAU5jpJLW1lDwBDAWAoYFZzgBozd9a2Iy9B7SZUjOMSpRRDAWAoIC3jAG82sX//5+eO3ao31v1tha0bkGJcv3ciMy9Ancr95d2nmmU1AwLKd69AinG9k1+CgiEIDAWAoQAwRn8vSGXU4C3MEiW1sKbC7wWlGAoAQwFgjMoBOt8YKr9+HDjG2T0QZ7dp7HdCVdgDwFAAGAoAQwFgKAAMBYChADAUAIYCwFAAGAoAQwFgjC1S6b7EKWytnJld0X7yxtjiHHsAGAoAQwFgjFohM4kZd7+/HtvO7sH6uGNIzG/Ncsq/OReDYQgCQwFgKECw/AG9RBKHiBNZBwAAAABJRU5ErkJggg="); }

    .home-v2 .nm-featured-icon {
      content: normal !important;
    }

    .home-v2 .nm-featured-item h3 {
      max-width: 250px;
      margin: 18px 0 7px;
      font-size: 18px;
      line-height: 1.22;
    }

    .home-v2 .nm-featured-item p {
      margin: 0;
      color: var(--nm-dim);
      font-size: 13px;
    }

    .home-v2 .nm-featured-arrow {
      position: absolute;
      right: 28px;
      top: 27px;
      color: var(--nm-accent);
      font: 400 16px/1 var(--nm-mono);
      transition: transform .25s cubic-bezier(.16,1,.3,1);
    }

    .home-v2 .nm-directory {
      background: rgba(20,20,23,.28);
    }

    .home-v2 .nm-directory-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid var(--nm-line);
    }

    .home-v2 .nm-directory-group {
      padding: 28px 24px 10px;
      border-right: 1px solid var(--nm-line);
    }

    .home-v2 .nm-directory-group:first-child {
      border-left: 1px solid var(--nm-line);
    }

    .home-v2 .nm-directory-group:nth-child(4) {
      border-left: 1px solid var(--nm-line);
    }

    .home-v2 .nm-directory-group:nth-child(n+4) {
      border-top: 1px solid var(--nm-line);
    }

    .home-v2 .nm-directory-group h3 {
      min-height: 42px;
      margin: 0 0 18px;
      color: var(--nm-accent);
      font-size: 12px;
      line-height: 1.4;
      text-transform: uppercase;
      letter-spacing: .07em;
    }

    .home-v2 .nm-directory-group ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .home-v2 .nm-directory-group li {
      border-top: 1px solid var(--nm-line);
    }

    .home-v2 .nm-directory-group a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 11px 0;
      color: var(--nm-dim);
      font-size: 12px;
    }

    .home-v2 .nm-directory-group a::after {
      content: '↗';
      color: rgba(154,155,162,.35);
      font-family: var(--nm-mono);
      transition: transform .25s cubic-bezier(.16,1,.3,1);
    }

    .home-v2 .nm-directory-group a:hover {
      color: var(--nm-text);
    }

    .home-v2 .nm-directory-group a:hover::after {
      color: var(--nm-accent);
    }

    .home-v2 .nm-method-grid {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      border-top: 1px solid var(--nm-line);
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-method-lead {
      padding: 36px 44px 36px 0;
      border-right: 1px solid var(--nm-line);
    }

    .home-v2 .nm-method-lead p {
      max-width: 390px;
      margin: 18px 0 0;
      color: var(--nm-dim);
      font-size: 14px;
    }

    .home-v2 .nm-method-lead h3 {
      margin: 0;
      font-size: 24px;
      line-height: 1.2;
    }

    .home-v2 .nm-steps {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .home-v2 .nm-step {
      display: grid;
      grid-template-columns: 58px 1fr;
      gap: 18px;
      padding: 22px 0 22px 28px;
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-step:last-child {
      border-bottom: 0;
    }

    .home-v2 .nm-step-no {
      color: var(--nm-accent);
      font: 500 12px/1.4 var(--nm-mono);
    }

    .home-v2 .nm-step strong {
      display: block;
      margin-bottom: 4px;
      font: 500 14px/1.35 var(--nm-mono);
    }

    .home-v2 .nm-step p {
      margin: 0;
      color: var(--nm-dim);
      font-size: 13px;
    }

    .home-v2 .nm-guide-list {
      border-top: 1px solid var(--nm-line);
    }

    .home-v2 .nm-guide {
      display: grid;
      grid-template-columns: 60px 1.1fr 1fr 32px;
      align-items: center;
      gap: 22px;
      padding: 22px 18px;
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-guide:hover {
      background: var(--nm-panel);
    }

    .home-v2 .nm-guide-no,
    .home-v2 .nm-guide-arrow {
      color: var(--nm-accent);
      font: 400 11px/1 var(--nm-mono);
    }

    .home-v2 .nm-guide strong {
      font: 500 15px/1.35 var(--nm-mono);
    }

    .home-v2 .nm-guide p {
      margin: 0;
      color: var(--nm-dim);
      font-size: 13px;
    }

    .home-v2 .nm-faq-grid {
      display: grid;
      grid-template-columns: .7fr 1.3fr;
      gap: 70px;
      align-items: start;
    }

    .home-v2 .nm-faq-intro p {
      margin: 18px 0 0;
      color: var(--nm-dim);
      font-size: 14px;
    }

    .home-v2 .nm-faq-list {
      border-top: 1px solid var(--nm-line);
    }

    .home-v2 details {
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 summary {
      position: relative;
      padding: 19px 46px 19px 0;
      cursor: pointer;
      list-style: none;
      font: 500 14px/1.35 var(--nm-mono);
    }

    .home-v2 summary::-webkit-details-marker {
      display: none;
    }

    .home-v2 summary::after {
      content: '+';
      position: absolute;
      right: 4px;
      top: 18px;
      color: var(--nm-accent);
      font: 400 18px/1 var(--nm-mono);
    }

    .home-v2 details[open] summary::after {
      content: '−';
    }

    .home-v2 details p {
      max-width: 690px;
      margin: -4px 46px 20px 0;
      color: var(--nm-dim);
      font-size: 13px;
    }

    .home-v2 .nm-footer {
      padding: 46px 0 30px;
    }

    .home-v2 .nm-footer-top {
      display: grid;
      grid-template-columns: 1.4fr repeat(3, 1fr);
      gap: 48px;
      padding-bottom: 42px;
      border-bottom: 1px solid var(--nm-line);
    }

    .home-v2 .nm-footer-brand p {
      max-width: 300px;
      margin: 16px 0 0;
      color: var(--nm-dim);
      font-size: 12px;
    }

    .home-v2 .nm-foot-label {
      display: block;
      margin-bottom: 14px;
      color: var(--nm-accent);
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .1em;
    }

    .home-v2 .nm-foot-col a {
      display: block;
      margin: 8px 0;
      color: var(--nm-dim);
      font-size: 12px;
    }

    .home-v2 .nm-foot-col a:hover {
      color: var(--nm-text);
    }

    .home-v2 .nm-footer-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding-top: 20px;
      color: var(--nm-dim);
      font: 400 10px/1.4 var(--nm-mono);
    }

    .home-v2 .nm-footer-badge {
      width: auto;
      height: 34px;
      display: block;
    }

    .home-v2 .nm-toast {
      position: fixed;
      z-index: 50;
      right: 18px;
      bottom: 18px;
      max-width: calc(100% - 36px);
      padding: 11px 14px;
      border: 1px solid var(--nm-accent);
      background: var(--nm-bg);
      color: var(--nm-text);
      font: 400 11px/1.4 var(--nm-mono);
      opacity: 0;
      transform: translateY(8px);
      pointer-events: none;
      transition: opacity .15s ease, transform .15s ease;
    }

    .home-v2 .nm-toast.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    @supports (text-wrap: balance) {
      .home-v2 h1,
      .home-v2 h2,
      .home-v2 h3 {
        text-wrap: balance;
      }

      .home-v2 p {
        text-wrap: pretty;
      }
    }

    @media (hover: hover) and (pointer: fine) {
      .home-v2 .nm-featured-item:hover {
        border-color: rgba(52,227,166,.34);
      }

      .home-v2 .nm-featured-item:hover .nm-featured-icon {
        transform: translate3d(0,-4px,0);
      }

      .home-v2 .nm-featured-item:hover .nm-featured-arrow,
      .home-v2 .nm-directory-group a:hover::after {
        transform: translate3d(3px,-3px,0);
      }
    }

    @container nm-generator-rail (max-width: 1180px) {
      .home-v2 .nm-generator {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 32px;
        padding: 38px 40px 40px;
      }

      .home-v2 .nm-generator-head {
        grid-column: 1 / -1;
        display: flex;
        align-items: end;
        justify-content: space-between;
        padding: 0;
      }

      .home-v2 .nm-generator-head .nm-local-tag {
        margin-top: 0;
      }
    }

    @container nm-generator-rail (max-width: 760px) {
      .home-v2 .nm-generator {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 34px;
      }

      .home-v2 .nm-generator-head {
        grid-column: auto;
      }
    }

    @media (min-width: 1450px) {
      .home-v2 .nm-nav {
        min-height: 64px;
      }

      .home-v2 .nm-featured-item {
        min-height: 224px;
        padding: 30px;
      }

      .home-v2 .nm-trust-item {
        padding: 26px 32px;
      }
    }

    @media (max-width: 1240px) {
      .home-v2 .nm-shell,
      .home-v2 .nm-hero-banner-shell {
        width: min(100% - 48px, 1160px);
      }

      .home-v2 .nm-generator {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 32px;
        padding: 38px 40px 40px;
      }

      .home-v2 .nm-generator-head {
        grid-column: 1 / -1;
        display: flex;
        align-items: end;
        justify-content: space-between;
        padding: 0;
      }

      .home-v2 .nm-generator-head .nm-local-tag {
        margin-top: 0;
      }
    }

    @media (max-width: 800px) {
      .home-v2 .nm-shell,
      .home-v2 .nm-hero-banner-shell {
        width: min(100% - 36px, 820px);
      }

      .home-v2 .nm-hero-grid {
        padding-top: 20px;
      }

      .home-v2 .nm-generator-shell {
        padding: 20px 0;
      }

      .home-v2 .nm-hero-copy {
        min-height: 460px;
        padding: 56px 48px;
      }

      .home-v2 .nm-generator {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 34px;
      }

      .home-v2 .nm-generator-head {
        grid-column: auto;
      }

      .home-v2 .nm-featured-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .home-v2 .nm-directory-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .home-v2 .nm-directory-group:nth-child(3) {
        border-left: 1px solid var(--nm-line);
        border-top: 1px solid var(--nm-line);
      }

      .home-v2 .nm-directory-group:nth-child(4) {
        border-top: 1px solid var(--nm-line);
        border-left: 0;
      }

      .home-v2 .nm-directory-group:nth-child(5) {
        border-left: 1px solid var(--nm-line);
        border-top: 1px solid var(--nm-line);
      }

      .home-v2 .nm-directory-group:nth-child(6) {
        border-top: 1px solid var(--nm-line);
      }
    }

    @media (max-width: 720px) {
      .home-v2 .nm-shell,
      .home-v2 .nm-hero-banner-shell {
        width: min(100% - 32px, 620px);
      }

      .home-v2 .nm-nav-links,
      .home-v2 .nm-library {
        display: none;
      }

      .home-v2 .nm-menu-toggle {
        display: block;
      }

      .home-v2 .nm-trust-grid {
        grid-template-columns: 1fr;
      }

      .home-v2 .nm-trust-item {
        border-right: 1px solid var(--nm-line);
        border-bottom: 1px solid var(--nm-line);
      }

      .home-v2 .nm-trust-item:last-child {
        border-bottom: 0;
      }

      .home-v2 .nm-section {
        padding: 68px 0;
      }

      .home-v2 .nm-method-grid,
      .home-v2 .nm-faq-grid {
        grid-template-columns: 1fr;
        gap: 36px;
      }

      .home-v2 .nm-method-lead {
        padding: 30px 0;
        border-right: 0;
        border-bottom: 1px solid var(--nm-line);
      }

      .home-v2 .nm-step {
        padding-left: 0;
      }

      .home-v2 .nm-guide {
        grid-template-columns: 42px 1fr 24px;
      }

      .home-v2 .nm-guide p {
        display: none;
      }

      .home-v2 .nm-footer-top {
        grid-template-columns: 1fr 1fr;
      }

      .home-v2 .nm-footer-brand {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 520px) {
      .home-v2 .nm-shell,
      .home-v2 .nm-hero-banner-shell {
        width: calc(100% - 28px);
      }

      .home-v2 .nm-nav {
        min-height: 52px;
      }

      .home-v2 .nm-hero-copy {
        min-height: 0;
        padding: 48px 24px;
      }

      .home-v2 .nm-hero-copy::after {
        right: 10px;
        top: 74px;
        font-size: 220px;
      }

      .home-v2 h1 {
        font-size: 39px;
      }

      .home-v2 .nm-hero-copy > p:not(.nm-kicker) {
        font-size: 15px;
      }

      .home-v2 .nm-generator {
        padding: 28px 24px 30px;
      }

      .home-v2 .nm-generator-head,
      .home-v2 .nm-section-head {
        align-items: start;
      }

      .home-v2 .nm-local-tag {
        display: none;
      }

      .home-v2 .nm-fields {
        grid-template-columns: 1fr;
      }

      .home-v2 .nm-field + .nm-field {
        border-left: 0;
        border-top: 1px solid var(--nm-line);
      }

      .home-v2 .nm-result {
        height: 218px;
        min-height: 218px;
        flex-basis: 218px;
        padding: 26px 22px;
      }

      .home-v2 .nm-trust-item {
        padding: 18px;
      }

      .home-v2 .nm-featured-grid,
      .home-v2 .nm-directory-grid {
        grid-template-columns: 1fr;
      }

      .home-v2 .nm-featured-item {
        min-height: 156px;
      }

      .home-v2 .nm-directory-group,
      .home-v2 .nm-directory-group:nth-child(3),
      .home-v2 .nm-directory-group:nth-child(4),
      .home-v2 .nm-directory-group:nth-child(5),
      .home-v2 .nm-directory-group:nth-child(6) {
        border-left: 1px solid var(--nm-line);
        border-top: 1px solid var(--nm-line);
      }

      .home-v2 .nm-directory-group:first-child {
        border-top: 0;
      }

      .home-v2 .nm-directory-group h3 {
        min-height: 0;
      }

      .home-v2 .nm-section-link {
        display: none;
      }

      .home-v2 .nm-step {
        grid-template-columns: 40px 1fr;
      }

      .home-v2 .nm-guide {
        padding-left: 4px;
        padding-right: 4px;
      }

      .home-v2 .nm-footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 34px 20px;
      }

      .home-v2 .nm-footer-bottom {
        flex-direction: column;
        gap: 7px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .home-v2 .nm-toast,
      .home-v2 .nm-result,
      .home-v2 .nm-featured-item,
      .home-v2 .nm-featured-icon,
      .home-v2 .nm-featured-arrow,
      .home-v2 .nm-directory-group a::after {
        transition: none;
      }

      .home-v2 .nm-hero-media img,
      .home-v2 .nm-hero-copy::before,
      .home-v2 .nm-hero-copy::after {
        animation: none !important;
      }

      .home-v2 .nm-result[aria-busy="true"] {
        animation: none;
      }

      .home-v2 .nm-result {
        background:
          linear-gradient(135deg, rgba(52,227,166,.075), rgba(20,20,23,.98) 46%, var(--nm-panel));
      }

    }

/* Production shell: the homepage owns the viewport while shared site chrome
   stays outside the scoped proposal styles. */
body.home-v2-body {
  display: block;
  padding: 0;
  overflow-x: clip;
}

body.home-v2-body .site-nav {
  width: 100%;
  margin: 0;
}

body.home-v2-body .site-footer-v2 {
  width: 100%;
  margin: 0;
}
