/* ============================================================
   N&T CONSULTING
   ============================================================ */


/* ------------------------------------------------------------
   DESIGN TOKENS
   ------------------------------------------------------------ */

:root {
  --nt-blue: #59A2D8;
  --nt-black: #111111;
  --nt-white: #ffffff;
  --nt-grey: #707070;
  --nt-grey-light: #f6f6f4;
  --nt-line: #dddddd;

  --nt-page-width: 1080px;
  --nt-text-width: 760px;

  --md-text-font: "IBM Plex Sans";
}


/* ------------------------------------------------------------
   FONTS
   ------------------------------------------------------------ */

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


/* ------------------------------------------------------------
   BASE
   ------------------------------------------------------------ */

html {
  scroll-behavior: smooth;
}

body,
.md-typeset,
.md-nav,
button {
  font-family: "IBM Plex Sans", sans-serif;
}

body {
  margin: 0;
  background: var(--nt-white);
  color: var(--nt-black);
}

.md-sidebar,
.md-sidebar--primary,
.md-sidebar--secondary {
  display: none !important;
}

.md-content__inner::before {
  display: none;
}

.md-main__inner {
  margin-top: 0;
}

.md-grid,
.md-main__inner,
.md-content {
  width: 100%;
  max-width: var(--nt-page-width);
  margin-left: auto;
  margin-right: auto;
}

.md-content__inner {
  width: 100%;
  max-width: var(--nt-page-width);
  margin: 0 auto;
  padding: 0 2rem;
}

.md-typeset {
  color: var(--nt-black);
  font-size: 1rem;
  line-height: 1.5;
}


/* ------------------------------------------------------------
   HERO
   bleibt bewusst groß und luftig
   ------------------------------------------------------------ */

.nt-home .md-typeset h1 {
  max-width: 920px;

  margin: 0 0 2.5rem;
  padding-top: 7rem;

  color: var(--nt-black);

  font-size: clamp(3.8rem, 5.5vw, 5.5rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.045em;
}

.nt-home .md-typeset h1 + p {
  max-width: 760px;

  margin-top: 0;
  margin-bottom: 1.5rem;

  font-size: clamp(1.4rem, 2vw, 1.9rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -.025em;
}


/* ------------------------------------------------------------
   NORMALE SEITENTITEL
   Impressum / Datenschutz etc.
   ------------------------------------------------------------ */

body:not(.nt-home) .md-typeset h1 {
  max-width: 760px;

  margin: 0 0 2rem;
  padding-top: 5rem;

  color: var(--nt-black);

  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.035em;
}


/* ------------------------------------------------------------
   SECTION HEADLINES
   Nav-Ebene: klein, aber klar fett
   ------------------------------------------------------------ */

.md-typeset h2 {
  max-width: 900px;

  margin: 0 0 1.8rem;
  padding-top: 5.5rem;

  color: var(--nt-black);

  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.02em;

  scroll-margin-top: 5.5rem;
}


/* ------------------------------------------------------------
   SUBHEADLINES
   ------------------------------------------------------------ */

.md-typeset h3 {
  max-width: 760px;

  margin: 2.2rem 0 .45rem;

  color: var(--nt-black);

  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.012em;
}

.md-typeset h2 + h3 {
  margin-top: 0;
}


/* ------------------------------------------------------------
   BODY
   ------------------------------------------------------------ */

.md-typeset p {
  max-width: var(--nt-text-width);

  margin: 0 0 1rem;

  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.5;
}

.md-typeset strong {
  font-weight: 600;
}


/* ------------------------------------------------------------
   LINKS
   ------------------------------------------------------------ */

.md-typeset a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.md-typeset a:hover {
  color: inherit;
}


/* ------------------------------------------------------------
   HERO SEPARATOR
   ------------------------------------------------------------ */

.md-typeset hr {
  margin: 6rem 0 0;

  border: 0;
  border-top: 1px solid var(--nt-line);
}


/* ------------------------------------------------------------
   QUOTES / PROZESSZEILE
   ------------------------------------------------------------ */

.md-typeset blockquote {
  max-width: var(--nt-text-width);

  margin: 2.2rem 0 0;
  padding: 0;

  border: 0;

  color: #555;

  font-size: 1.12rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.3;
}

.md-typeset blockquote p {
  margin: 0;

  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
}


/* ============================================================
   HEADER
   ============================================================ */

.nt-header {
  position: sticky;
  top: 0;
  z-index: 100;

  width: 100%;

  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--nt-line);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nt-header-inner {
  position: relative;

  width: 100%;
  max-width: var(--nt-page-width);
  min-height: 4.5rem;

  margin: 0 auto;
  padding: 0 2rem;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.nt-brand {
  flex: 0 0 auto;

  color: var(--nt-black) !important;

  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.02em;

  text-decoration: none !important;
}

.nt-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.6rem;
}

.nt-nav a {
  color: var(--nt-black) !important;

  font-size: .82rem;
  font-weight: 400;
  line-height: 1;

  text-decoration: none !important;
  white-space: nowrap;
}

.nt-nav a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .3rem;
}

.nt-nav-toggle {
  display: none;

  width: 2.4rem;
  height: 2.4rem;

  padding: 0;

  border: 0;
  background: transparent;

  cursor: pointer;
}

.nt-nav-toggle span {
  display: block;

  width: 1.4rem;
  height: 1px;

  margin: .35rem auto;

  background: var(--nt-black);

  transition:
    transform .2s ease,
    opacity .2s ease;
}


/* ============================================================
   LEISTUNGEN
   ============================================================ */

.nt-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 3rem 4rem;

  margin-top: 2.2rem;
}

.nt-service {
  min-width: 0;
}

.nt-service h3 {
  margin: 0 0 .55rem;

  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.15;
}

.nt-service p {
  max-width: none;

  margin: 0 0 .7rem;

  line-height: 1.43;
}

/* letzte Zeile = Leistungsbegriffe */
.nt-service p:last-child {
  margin-bottom: 0;

  color: #777;

  font-size: .84rem;
  font-weight: 400;
  line-height: 1.35;
}

.nt-service p:last-child strong {
  color: inherit;

  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}


/* ============================================================
   WIE WIR ARBEITEN
   ============================================================ */

.nt-principles {
  margin-top: 2.1rem;
}

.nt-principle {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);

  gap: 2.5rem;

  padding: 1.4rem 0;

  border-top: 1px solid var(--nt-line);
}

.nt-principle:last-child {
  border-bottom: 1px solid var(--nt-line);
}

.nt-principle h3 {
  margin: 0;

  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.18;
}

.nt-principle p {
  max-width: none;

  margin: 0;

  line-height: 1.4;
}


/* ============================================================
   TEAM
   ============================================================ */

.nt-team {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 4.5rem;

  margin-top: 2.2rem;
}

.nt-person {
  min-width: 0;
}

.nt-person h3 {
  margin: 0 0 1.3rem;

  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.15;
}

.nt-person p {
  max-width: 460px;

  line-height: 1.43;
}

/* Markdown legt Bilder in einen Absatz */
.nt-person p:has(img) {
  margin: 0 0 1.5rem;
}

.nt-person img {
  display: block;

  width: min(100%, 240px);
  height: auto;

  margin: 0;
}

/* Rollen-Zeile */
.nt-person p:has(> strong:only-child) {
  margin-bottom: .7rem;

  font-size: .92rem;
  line-height: 1.35;
}

/* gemeinsames Statement */
.nt-team-statement {
  max-width: 780px;

  margin: 2.5rem 0 0;
  padding: 1.6rem 0 0;

  border-top: 1px solid var(--nt-line);

  color: var(--nt-black);

  font-size: 1.15rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.35;
}

.nt-team-statement p {
  margin: 0;

  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
}


/* ============================================================
   NETZWERK
   ============================================================ */

.nt-network {
  max-width: 860px;

  margin-top: 2rem;
  padding: 1.7rem 0;

  border-top: 1px solid var(--nt-line);
  border-bottom: 1px solid var(--nt-line);
}

.nt-network p {
  max-width: 760px;

  margin-bottom: .85rem;

  line-height: 1.43;
}

.nt-network p:last-child {
  margin-top: 1.4rem;
  margin-bottom: 0;

  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.3;
}


/* ============================================================
   REFERENZEN
   ============================================================ */

.nt-references {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 0 4rem;

  margin-top: 2.2rem;

  border-top: 1px solid var(--nt-line);
}

.nt-reference {
  min-width: 0;

  padding: 1.6rem 0;

  border-bottom: 1px solid var(--nt-line);
}

.nt-reference h3 {
  margin: 0 0 .65rem;

  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.18;
}

.nt-reference p {
  max-width: none;

  margin-bottom: .75rem;

  line-height: 1.42;
}

/* Leistungs-/Technikzeile */
.nt-reference p:first-of-type {
  color: #777;

  font-size: .84rem;
  font-weight: 400;
  line-height: 1.35;
}

.nt-reference p:first-of-type strong {
  color: inherit;

  font-weight: inherit;
}


/* ============================================================
   KONTAKT
   ============================================================ */

.nt-contact {
  max-width: 800px;

  margin-top: 1.8rem;
  margin-bottom: 7rem;
}

.nt-contact p {
  margin-bottom: .8rem;

  font-size: 1.2rem;
  line-height: 1.4;
}

.nt-contact a[href^="mailto:"] {
  display: inline-block;

  margin-top: .7rem;

  color: var(--nt-black);

  font-size: clamp(1.55rem, 3vw, 2.35rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.025em;

  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}


/* ============================================================
   FOOTER
   ============================================================ */

.nt-footer {
  width: 100%;

  border-top: 1px solid var(--nt-line);
  background: var(--nt-white);
}

.nt-footer-inner {
  width: 100%;
  max-width: var(--nt-page-width);

  margin: 0 auto;
  padding: 1.7rem 2rem;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.nt-footer-brand {
  color: var(--nt-black);

  font-size: .78rem;
  font-weight: 600;
}

.nt-footer-nav {
  display: flex;
  gap: 1.2rem;
}

.nt-footer-nav a {
  color: var(--nt-grey);

  font-size: .75rem;
  font-weight: 400;

  text-decoration: none;
}

.nt-footer-nav a:hover {
  color: var(--nt-black);

  text-decoration: underline;
  text-underline-offset: .25rem;
}


/* Material-Footer vollständig raus */
.md-footer {
  display: none;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 800px) {

  .md-content__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }


  /* Hero bleibt auch mobil bewusst präsent */

  .nt-home .md-typeset h1 {
    padding-top: 4.8rem;

    font-size: clamp(3rem, 13vw, 4.2rem);
  }

  .nt-home .md-typeset h1 + p {
    font-size: 1.35rem;
    line-height: 1.35;
  }


  /* Sektionen */

  .md-typeset h2 {
    padding-top: 4.5rem;

    font-size: 1.35rem;
  }

  .md-typeset h3 {
    font-size: 1.1rem;
  }

  .md-typeset p {
    font-size: 1rem;
    line-height: 1.45;
  }

  .md-typeset hr {
    margin-top: 4.5rem;
  }


  /* Header */

  .nt-header-inner {
    min-height: 4rem;

    padding: 0 1.25rem;
  }

  .nt-nav-toggle {
    display: block;
  }

  .nt-nav {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;

    display: none;
    flex-direction: column;
    align-items: flex-start;

    gap: 0;

    padding: .7rem 1.25rem 1rem;

    background: rgba(255, 255, 255, .98);
    border-bottom: 1px solid var(--nt-line);
  }

  .nt-nav.is-open {
    display: flex;
  }

  .nt-nav a {
    width: 100%;

    padding: .65rem 0;

    font-size: .9rem;
  }

  .nt-nav-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(.175rem) rotate(45deg);
  }

  .nt-nav-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-.175rem) rotate(-45deg);
  }


  /* Leistungen */

  .nt-services {
    grid-template-columns: 1fr;

    gap: 2.4rem;
  }


  /* Arbeitsweise */

  .nt-principle {
    grid-template-columns: 1fr;

    gap: .45rem;

    padding: 1.2rem 0;
  }


  /* Team */

  .nt-team {
    grid-template-columns: 1fr;

    gap: 3.8rem;
  }

  .nt-person img {
    width: min(70%, 220px);
  }


  /* Netzwerk */

  .nt-network {
    padding: 1.4rem 0;
  }


  /* Referenzen */

  .nt-references {
    grid-template-columns: 1fr;
  }


  /* Kontakt */

  .nt-contact {
    margin-bottom: 5rem;
  }

  .nt-contact a[href^="mailto:"] {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
  }


  /* Footer */

  .nt-footer-inner {
    padding: 1.4rem 1.25rem;

    align-items: flex-start;
    flex-direction: column;

    gap: .7rem;
  }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* ============================================================
   CONTACT — CALMER FINISH
   ============================================================ */

.nt-contact {
  margin-top: 1.5rem;
  margin-bottom: 5.5rem;
}

.nt-contact p {
  margin-bottom: .55rem;
  font-size: 1.08rem;
  line-height: 1.35;
}

.nt-contact a[href^="mailto:"] {
  margin-top: .9rem;

  font-size: clamp(1.45rem, 2.2vw, 1.8rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.nt-footer-inner {
  padding-top: 1.9rem;
  padding-bottom: 1.9rem;
}


/* ============================================================
   FINAL POLISH
   ============================================================ */


/* Gemeinsames Statement Nina & Tim:
   klarer gemeinsamer Standpunkt, keine kleine Quote */

.nt-team-statement,
.md-typeset .nt-team-statement {
  max-width: 820px;

  margin-top: 2.6rem;
  padding-top: 1.5rem;

  border-top: 1px solid var(--nt-line);

  color: var(--nt-black);

  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
}

.nt-team-statement p,
.md-typeset .nt-team-statement p {
  margin: 0;

  color: inherit;

  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  line-height: inherit;
}


/* Netzwerk-Schlusssatz deutlicher */

.nt-network p:last-child,
.nt-network p:last-child strong {
  color: var(--nt-black);

  font-size: .98rem;
  font-weight: 600;
  line-height: 1.35;
}


/* Referenzen und Kontakt unten etwas kompakter */

#referenzen {
  padding-top: 5rem;
}

#kontakt {
  padding-top: 4.5rem;
}

.nt-contact {
  margin-top: 1.35rem;
  margin-bottom: 4.5rem;
}


/* Mobile ebenfalls ruhig halten */

@media screen and (max-width: 800px) {

  .nt-team-statement,
  .md-typeset .nt-team-statement {
    margin-top: 2rem;
    padding-top: 1.25rem;

    font-size: .95rem;
  }

  #referenzen,
  #kontakt {
    padding-top: 4rem;
  }

}

/* ============================================================
   FULL VIEWPORT HERO
   ============================================================ */

.nt-hero {
  min-height: calc(100svh - 4.5rem);

  display: flex;
  flex-direction: column;
  justify-content: center;

  position: relative;

  padding-bottom: 3rem;
}


/* Hero braucht innerhalb der Slide kein zusätzliches top-padding */

.nt-home .nt-hero h1 {
  padding-top: 0;
}


/* Akzentwörter:
   Markdown *Wort* = blau, aber nicht kursiv */

.nt-hero em {
  color: var(--nt-blue);
  font-style: normal;
}


/* Linie sitzt am unteren Ende der Hero-Slide */

.nt-hero hr {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  width: 100%;
  margin: 0;
}


/* Die nächste Sektion startet danach mit eigener Luft */

.nt-hero + h2 {
  padding-top: 6rem;
}


/* Mobile */

@media screen and (max-width: 800px) {

  .nt-hero {
    min-height: calc(100svh - 4rem);
    padding-bottom: 2rem;
  }

  .nt-hero + h2 {
    padding-top: 4.5rem;
  }

}



/* ============================================================
   CONTACT — INVITATION
   ============================================================ */

#kontakt {
  padding-top: 6rem;
  margin-bottom: 0;
}

.nt-contact {
  max-width: 820px;

  margin-top: 2.2rem;
  margin-bottom: 7rem;
  padding: 2.5rem 0 0;

  border-top: 1px solid var(--nt-line);
}

.nt-contact p {
  max-width: 680px;

  margin: 0 0 .65rem;

  font-size: 1.08rem;
  line-height: 1.45;
}

.nt-contact p:last-child {
  margin-top: 2rem;
}

.nt-contact a[href^="mailto:"] {
  display: inline-block;

  color: var(--nt-blue);

  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.02em;

  text-decoration: none;
}

.nt-contact a[href^="mailto:"]:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}

@media screen and (max-width: 800px) {

  #kontakt {
    padding-top: 4.5rem;
  }

  .nt-contact {
    margin-top: 1.7rem;
    margin-bottom: 5rem;
    padding-top: 2rem;
  }

}

/* === NT ALIGNMENT CONTACT BEGIN === */


/* ------------------------------------------------------------
   EIN GEMEINSAMER SATZSPIEGEL
   Header, Inhalt und Footer fluchten exakt.
   ------------------------------------------------------------ */

.md-content__inner,
.nt-header-inner,
.nt-footer-inner {
  box-sizing: border-box;

  width: 100%;
  max-width: var(--nt-page-width);

  margin-left: auto;
  margin-right: auto;

  padding-left: 2rem;
  padding-right: 2rem;
}


/* ------------------------------------------------------------
   KONTAKT
   Einladung statt CTA-Plakat
   ------------------------------------------------------------ */

#kontakt {
  padding-top: 6rem;
}

.nt-contact {
  max-width: 760px;

  margin-top: 1.8rem;
  margin-bottom: 9rem;

  padding: 0;

  border: 0;
}

.nt-contact p {
  max-width: 700px;

  margin: 0 0 1rem;

  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.5;
}


/* Mailadresse wieder Bestandteil des Satzes */

.nt-contact a[href^="mailto:"] {
  display: inline;

  margin: 0;
  padding: 0;

  color: var(--nt-blue);

  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  letter-spacing: inherit;

  text-decoration: none;
}

.nt-contact a[href^="mailto:"]:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}


/* ------------------------------------------------------------
   FOOTER
   ruhig und mit Abstand
   ------------------------------------------------------------ */

.nt-footer-inner {
  padding-top: 2rem;
  padding-bottom: 2rem;
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media screen and (max-width: 800px) {

  .md-content__inner,
  .nt-header-inner,
  .nt-footer-inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  #kontakt {
    padding-top: 4.5rem;
  }

  .nt-contact {
    margin-top: 1.5rem;
    margin-bottom: 6rem;
  }

}


/* === NT ALIGNMENT CONTACT END === */

/* ============================================================
   FINAL SATZSPIEGEL
   Header · Content · Footer exakt auf einer Achse
   ============================================================ */

/* Zensical/MkDocs-Zwischencontainer dürfen nichts verschieben */
.md-grid,
.md-main__inner,
.md-content {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* EIN gemeinsamer Satzspiegel */
.md-content__inner,
.nt-header-inner,
.nt-footer-inner {
  box-sizing: border-box;

  width: min(calc(100% - 4rem), var(--nt-page-width)) !important;
  max-width: none !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* Mobile: gleicher Satzspiegel, nur kleinerer Rand */
@media screen and (max-width: 800px) {

  .md-content__inner,
  .nt-header-inner,
  .nt-footer-inner {
    width: calc(100% - 2.5rem) !important;
  }

}


/* ============================================================
   LOVE SIGNATURE
   ============================================================ */




/* Hero: kleine Haltungssignatur */



.nt-hero .nt-love-note 


/* Footer */

.nt-footer-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.nt-footer-love {
  color: var(--nt-grey);

  font-size: .75rem;
  font-weight: 400;
  white-space: nowrap;
}

.nt-footer-love 

.nt-footer-nav {
  justify-self: end;
}


/* Mobile */

@media screen and (max-width: 800px) {

  

  .nt-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: .65rem;
  }

  .nt-footer-nav {
    justify-self: auto;
  }

}


/* ============================================================
   MORE AIR ABOVE FOOTER
   ============================================================ */

.nt-contact {
  margin-bottom: 12rem !important;
}

.nt-footer-inner {
  padding-top: 2.75rem !important;
}

@media screen and (max-width: 800px) {
  .nt-contact {
    margin-bottom: 7rem !important;
  }

  .nt-footer-inner {
    padding-top: 2rem !important;
  }
}


/* ============================================================
   FINAL MICRO-POLISH
   ============================================================ */


/* ------------------------------------------------------------
   1. "Wir lösen ..."
   Etwas mehr Luft, ohne die Überschrift größer zu machen
   ------------------------------------------------------------ */

#leistungen {
  padding-top: 5.9rem;
}

#arbeitsweise {
  padding-top: 5.7rem;
}


/* ------------------------------------------------------------
   2. "Wie wir arbeiten"
   Linke Spalte etwas breiter, damit lange Titel ruhiger umbrechen
   ------------------------------------------------------------ */

.nt-principle {
  grid-template-columns: 285px minmax(0, 1fr);
  gap: 2.2rem;
}


/* ------------------------------------------------------------
   3. Netzwerk
   Etwas mehr Luft oben und unten
   ------------------------------------------------------------ */

#netzwerk {
  padding-top: 6rem;
}

.nt-network {
  margin-top: 2.3rem;
  padding-top: 2rem;
  padding-bottom: 2.2rem;
}


/* ------------------------------------------------------------
   4. Footer "Made with love"
   Deutlich subtiler
   ------------------------------------------------------------ */

.nt-footer-love {
  color: #999;
  font-size: .68rem;
  font-weight: 400;
  letter-spacing: .01em;
}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media screen and (max-width: 800px) {

  #leistungen,
  #arbeitsweise,
  #netzwerk {
    padding-top: 4.5rem;
  }

  .nt-principle {
    grid-template-columns: 1fr;
    gap: .45rem;
  }

  .nt-network {
    margin-top: 1.8rem;
    padding-top: 1.6rem;
    padding-bottom: 1.8rem;
  }

  .nt-footer-love {
    font-size: .66rem;
  }

}

