/* Page-specific styles for /nord-norge.html. Shared foundations live in /v2/. */

    .nn-hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-top: var(--s3);
    }
    .nn-hero-meta span {
      font-family: var(--mono);
      font-size: .7rem;
      letter-spacing: .04em;
      padding: .3rem .65rem;
      border: 1px solid var(--bd-dark);
      border-radius: var(--r5);
      color: var(--td-med);
    }
    .nn-stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: var(--s3);
      margin-top: var(--s5);
    }
    .nn-stat {
      padding: var(--s3);
      border: 1px solid var(--bd-dark);
      border-radius: var(--r3);
      background: var(--dark-2);
    }
    .nn-stat-num {
      font-size: 2rem;
      font-weight: 800;
      letter-spacing: -.02em;
      color: var(--cream-1);
      line-height: 1;
    }
    .nn-stat-label {
      margin-top: .5rem;
      font-family: var(--mono);
      font-size: .72rem;
      letter-spacing: .04em;
      color: var(--td-lo);
      text-transform: uppercase;
    }
    .nn-services {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: var(--s3);
      margin-top: var(--s4);
    }
    .nn-service {
      padding: var(--s4);
      border: 1px solid var(--bd-dark);
      border-radius: var(--r3);
      background: var(--dark-2);
      display: flex;
      flex-direction: column;
      gap: var(--s2);
    }
    .nn-service h3 {
      font-size: 1.15rem;
      letter-spacing: -.01em;
      color: var(--cream-1);
      margin: 0;
    }
    .nn-service p {
      font-size: .92rem;
      color: var(--td-med);
      line-height: 1.55;
      margin: 0;
    }
    .nn-service-tag {
      font-family: var(--mono);
      font-size: .68rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--blue);
    }
    .nn-cities {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-top: var(--s3);
    }
    .nn-city {
      font-family: var(--mono);
      font-size: .76rem;
      padding: .35rem .8rem;
      border: 1px solid var(--bd-dark);
      border-radius: var(--r5);
      color: var(--td-med);
    }
    .nn-cta-band {
      margin-top: var(--s6);
      padding: var(--s5);
      border-radius: var(--r3);
      background: var(--dark-2);
      border: 1px solid var(--bd-dark);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--s4);
      flex-wrap: wrap;
    }
    .nn-cta-band h2 {
      font-size: 1.4rem;
      color: var(--cream-1);
      margin: 0 0 .35rem;
      letter-spacing: -.01em;
    }
    .nn-cta-band p {
      color: var(--td-med);
      margin: 0;
      font-size: .95rem;
    }
    .nn-faq-item {
      border-bottom: 1px solid var(--bd-dark);
      padding: var(--s3) 0;
    }
    .nn-faq-item h3 {
      font-size: 1rem;
      color: var(--cream-1);
      margin: 0 0 .5rem;
      letter-spacing: -.005em;
    }
    .nn-faq-item p {
      color: var(--td-med);
      font-size: .92rem;
      line-height: 1.6;
      margin: 0;
    }

    @media (prefers-color-scheme: light) {
      .nn-stat, .nn-service, .nn-cta-band { background: var(--cream-0); border-color: color-mix(in srgb, var(--shadow-color) 8%, transparent); }
      .nn-stat-num { color: var(--tl-hi); }
      .nn-stat-label { color: var(--tl-lo); }
      .nn-service h3, .nn-cta-band h2 { color: var(--tl-hi); }
      .nn-service p, .nn-cta-band p { color: var(--tl-med); }
      .nn-service-tag { color: var(--blue-on-light); }
      .nn-city, .nn-hero-meta span { color: var(--tl-med); border-color: color-mix(in srgb, var(--shadow-color) 12%, transparent); }
      .nn-faq-item { border-bottom-color: color-mix(in srgb, var(--shadow-color) 8%, transparent); }
      .nn-faq-item h3 { color: var(--tl-hi); }
      .nn-faq-item p { color: var(--tl-med); }
    }
