/* ==========================================================================
   nextshore.works – styles.css
   Semantic CSS with nxt-* prefix. Mobile-first.
   Replaces Breakdance page builder CSS (~176KB → ~30KB).
   All classes use nxt-* prefix. No Breakdance/BDE dependencies.
   Custom JS: nxt-scripts.js (~4KB) replaces scripts.min.js (195KB).
   Stand: Februar 2026
   ========================================================================== */

/* ==========================================================================
   1. FONTS
   ========================================================================== */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   2. DESIGN TOKENS
   ========================================================================== */
:root {
  /* Colors */
  --nxt-text: #262626;
  --nxt-white: #FFFFFF;
  --nxt-red: #FF0000;
  --nxt-red-hover: #CC0000;
  --nxt-border: #D0D0D0;
  --nxt-overlay: rgba(38, 38, 38, 0.46);
  --nxt-overlay-mobile: rgba(0, 0, 0, 0.65);

  /* Typography */
  --nxt-font: 'Inter', sans-serif;

  /* Layout */
  --nxt-section-width: 1120px;
  --nxt-header-width: 1160px;
  --nxt-padding-x: 20px;
  --nxt-padding-y: 80px;
  --nxt-col-gap: 32px;

  /* CTA spacing */
  --nxt-cta-gap-text: 48px;
  --nxt-cta-gap-btn: 20px;
  --nxt-cta-gap-linkedin: 24px;
  --nxt-cta-gap-logo: 20px;

  /* Transitions */
  --nxt-transition: 300ms;
  --nxt-section-width: 1120px;

  /* Button tokens */
  --nxt-btn-radius: 9999px;
  --nxt-btn-font-size: 16px;
  --nxt-btn-weight: 700;

  /* JS-kompatible Button-Variablen */
  --nxt-button-primary-text-color: #fff;
  --nxt-button-primary-text-color-hover: #fff;
  --nxt-button-primary-background-color: red;
  --nxt-button-primary-background-color-hover: #CC0000;
  --nxt-button-primary-border-color: transparent;
  --nxt-button-primary-border-color-hover: transparent;
  --nxt-button-secondary-text-color: #fff;
  --nxt-button-secondary-text-color-hover: #fff;
  --nxt-button-secondary-background-color: red;
  --nxt-button-secondary-background-color-hover: #CC0000;
  --nxt-button-secondary-border-color: transparent;
  --nxt-button-secondary-border-color-hover: transparent;
  --nxt-button-font-size: 16px;
  --nxt-button-font-weight: 400;
  --nxt-button-line-height: 1;
  --nxt-button-border-radius: 9999px;
  --nxt-button-border-width: 0;
  --nxt-button-padding-base: 14px 24px;
  --nxt-button-width: auto;

  /* Menu tokens */
  --menu-duration: 300ms;
  --toggle-layer-color: #262626;
  --toggle-background-color: transparent;
  --toggle-padding: 8px;
  --toggle-radius: 0;
  --toggle-layer-width: 28px;
  --toggle-layer-height: 2px;
  --toggle-layer-spacing: 6px;
  --menu-alignment: flex-end;
  --mobile-topbar-padding: 16px 20px;
  --mobile-topbar-close-button-size: 24px;
  --mobile-topbar-close-button-color: #262626;
  --mobile-topbar-close-button-color-hover: #FF0000;
  --mobile-topbar-close-button-bar-height: 2px;
  --mobile-topbar-logo-width: 160px;
  --mobile-topbar-logo-order: 0;
  --mobile-offset-x: 300px;
  --mobile-buffer-y: 28px;
  --menu-scrollbar-width: 15px;

  /* FAQ tokens */
  --nxt-faq-border-color: #262626;
  --nxt-faq-border-width: 2px;
  --nxt-faq-padding: 20px;
}

/* ==========================================================================
   3. RESET & BASE
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html {
  overflow-x: clip;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--nxt-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--nxt-text);
  background-color: var(--nxt-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 { margin: 0; }
p { margin: 0 0 1em; }
a { color: var(--nxt-red); text-decoration: underline; }
a:hover { color: var(--nxt-red-hover); }
img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
button { font-family: inherit; }

/* ==========================================================================
   4. TYPOGRAPHY (consolidated)
   ========================================================================== */

/* H1 base (mobile-first: 44px → 100px tablet → 80px desktop) */
.nxt-heading-base {
  font-family: var(--nxt-font);
  font-weight: 700;
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -5px;
  hyphens: none;
}

/* Hero H1: red + text-shadow */
.nxt-hero-h1 {
  color: var(--nxt-red);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* H2 text reset */
h2.nxt-text { margin-top: 0; margin-bottom: 0; }

/* Section headlines (8 old classes → 1) */
.nxt-headline {
  font-family: var(--nxt-font);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: normal;
}

/* Red accent headlines (3 old classes → 1) */
.nxt-headline-red {
  color: var(--nxt-red);
  font-family: var(--nxt-font);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: normal;
  margin-top: 15px;
}

/* "Smarter. Faster. Done." (mobile-first: 60px → 100px tablet → 75px desktop) */
.nxt-sfd {
  color: var(--nxt-red);
  font-family: var(--nxt-font);
  font-size: 60px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -5px;
  margin-bottom: 16px;
}

/* Override .nxt-text word-break to prevent period wrapping on SFD */
.nxt-sfd.nxt-text {
  word-break: normal;
  overflow-wrap: normal;
}

/* Body text (mobile-first: 25px → 30px tablet+) */
.nxt-body-text {
  font-family: var(--nxt-font);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -1px;
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* Spacing: headline → body text (Issues #12/#13) */
.nxt-headline + .nxt-body-text,
.nxt-headline-red + .nxt-body-text { margin-top: 16px; }

/* Hero subtitle (mobile-first: 30px → 40px tablet → 50px desktop) */
.nxt-hero-sub {
  color: var(--nxt-white);
  font-family: var(--nxt-font);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  max-width: 100%;
}

/* Founders heading */
.nxt-founders-h2 {
  color: var(--nxt-red);
  font-family: var(--nxt-font);
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -2px;
}

/* Founders intro text */
.nxt-founders-intro {
  font-family: var(--nxt-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.5px;
}

/* Founder names (3 old → 1) */
.nxt-name {
  font-family: var(--nxt-font);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -1px;
}

/* Founder bios (3 old → 1) */
.nxt-bio {
  font-family: var(--nxt-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.5px;
}

/* Footer text (mobile-first: 30px → 40px tablet → 50px desktop) */
.nxt-footer-text {
  color: var(--nxt-white);
  font-family: var(--nxt-font);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
}

/* ==========================================================================
   5. LAYOUT
   ========================================================================== */
.nxt-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.nxt-container {
  max-width: var(--nxt-section-width);
  margin: 0 auto;
  padding: var(--nxt-padding-y) var(--nxt-padding-x);
  display: flex;
  flex-direction: column;
}

.nxt-columns {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.nxt-column {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.nxt-div { width: 100%; }

.nxt-text {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
}

.nxt-rich-text p { margin: 0 0 0.3em; }

/* Dividers */
.nxt-divider-base { width: 100%; }
.nxt-divider__wrap { display: flex; align-items: center; }
.nxt-divider__line { flex: 1; height: 2px; background-color: var(--nxt-text); }

.nxt-divider {
  margin-top: 30px;
  margin-bottom: 30px;
}

/* ==========================================================================
   6. HEADER & NAVIGATION
   ========================================================================== */
.nxt-header {
  position: relative;
  width: 100%;
  background: transparent;
  z-index: 1000;

}

.nxt-header--sticky {
  position: fixed;
  z-index: 1000;
  top: 0px;
  left: 0;
  right: 0;
  transition-property: transform, opacity, background-color, box-shadow, top;
  transition-duration: var(--nxt-transition);
  transition-timing-function: ease-in-out;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.nxt-header--scroll-slide {
  transform: translateY(0);
  opacity: 1;
}

.nxt-header--hidden.nxt-header--scroll-slide {
  transform: translateY(-100%);
  opacity: 0;
}

.nxt-header__container {
  gap: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  max-width: var(--nxt-header-width);
  padding: 10px 0;
}

.nxt-header__border {
  transition-property: height, background-color;
  transition-duration: var(--nxt-transition);
  transition-timing-function: ease-in-out;
}

/* Pill navigation */
.nxt-pill {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: auto;
  background-color: #FFFFFFD6;
  border-radius: 999px;
  padding: 5px 0 5px 5px;
}

/* Header logo */
.nxt-logo { flex-shrink: 0; }
.nxt-logo .nxt-image-obj { width: 66px; height: auto; }

/* ==========================================================================
   6b. HAMBURGER MENU (Mobile Off-Canvas)
   ========================================================================== */
.nxt-nav-base {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: auto;
}

.nxt-menu { overflow-x: clip; }

.nxt-menu-list {
  display: flex;
  align-items: center;
  justify-content: var(--menu-alignment);
  gap: 0;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.nxt-menu-item { list-style: none; }

.nxt-menu-link {
  font-family: var(--nxt-font);
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  color: var(--nxt-text);
  text-decoration: none;
  letter-spacing: -1px;
  padding: 10px 20px;
  transition: color var(--nxt-transition) ease;
}

.nxt-menu-link:hover {
  color: var(--nxt-red);
  text-decoration: none;
}

/* Hamburger toggle */
.nxt-menu-toggle {
  display: none;
  align-items: center;
  cursor: pointer;
  border: none;
  color: var(--toggle-layer-color);
  background-color: var(--toggle-background-color);
  padding: var(--toggle-padding);
  border-radius: var(--toggle-radius);
  min-height: var(--toggle-layer-width);
  box-sizing: content-box;
  -webkit-tap-highlight-color: transparent;
}

.nxt-menu-toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--toggle-layer-width);
  height: calc(var(--toggle-layer-height) + var(--toggle-layer-spacing) * 2);
  perspective: calc(var(--toggle-layer-width) * 2);
}

.nxt-menu-toggle-lines,
.nxt-menu-toggle-lines::before,
.nxt-menu-toggle-lines::after {
  display: block;
  width: var(--toggle-layer-width);
  height: var(--toggle-layer-height);
  background-color: currentColor;
  border-radius: 2px;
  position: absolute;
}

.nxt-menu-toggle-lines {
  position: relative;
  transition-duration: 75ms;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.nxt-menu-toggle-lines::before {
  content: "";
  top: calc(var(--toggle-layer-spacing) * -1);
  transition: top 75ms ease 0.12s, opacity 75ms ease;
}

.nxt-menu-toggle-lines::after {
  content: "";
  bottom: calc(var(--toggle-layer-spacing) * -1);
  transition: bottom 75ms ease 0.12s, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

/* Squeeze animation */
.nxt-menu-toggle--squeeze.is-toggled .nxt-menu-toggle-lines {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.nxt-menu-toggle--squeeze.is-toggled .nxt-menu-toggle-lines::before {
  top: 0; opacity: 0;
  transition: top 75ms ease, opacity 75ms ease 0.12s;
}

.nxt-menu-toggle--squeeze.is-toggled .nxt-menu-toggle-lines::after {
  bottom: 0; transform: rotate(-90deg);
  transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
}

/* Off-canvas overlay */
.nxt-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
  background-color: rgba(0, 0, 0, 0.25);
  opacity: 0;
  pointer-events: none;
  transition: var(--menu-duration) opacity ease;
}

/* Off-canvas panel */
.nxt-menu--enabled .nxt-menu-toggle { display: flex; }

.nxt-menu--enabled .nxt-menu-list {
  display: flex;
  position: fixed;
  top: 0; bottom: 0;
  width: 300px;
  z-index: calc(999 + 1);
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  padding: 0; margin: 0;
  background-color: var(--nxt-white);
  overflow-y: auto;
  transition: transform var(--menu-duration) ease;
}

.nxt-menu--offcanvas-right .nxt-menu-list {
  left: auto; right: 0;
  transform: translate3d(100%, 0, 0);
}

.nxt-menu--enabled.is-open .nxt-menu-list { transform: translate3d(0, 0, 0); }
.nxt-menu--enabled.is-open .nxt-menu-overlay { opacity: 1; pointer-events: auto; }

.nxt-menu--enabled .nxt-menu-item { border-bottom: 1px solid #e5e7eb; }

.nxt-menu--enabled .nxt-menu-link {
  display: block;
  padding: 16px 24px;
  font-size: 22px;
  font-weight: 400;
  min-height: 48px;
  color: var(--nxt-text);
}

/* Menu topbar */
.nxt-menu-topbar { display: none; }

.nxt-menu--enabled .nxt-menu-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--mobile-topbar-padding);
  border-bottom: 1px solid #e5e7eb;
}

.nxt-menu-topbar-logo {
  display: flex;
  max-width: 100%;
  width: var(--mobile-topbar-logo-width);
  height: auto;
}

.nxt-menu-topbar-logo img { width: 100%; height: auto; }

/* Close button */
.nxt-menu-close {
  position: relative;
  font-size: var(--mobile-topbar-close-button-size);
  width: 48px; height: 48px; min-width: 48px;
  text-indent: -9999px;
  background: none; border: none;
  margin: 0; padding: 0;
  cursor: pointer;
  transform: rotate(45deg);
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.nxt-menu-close::before,
.nxt-menu-close::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--mobile-topbar-close-button-color);
  transition: background-color var(--menu-duration) ease;
}

.nxt-menu-close::before {
  top: 50%; left: 50%;
  width: 100%; height: var(--mobile-topbar-close-button-bar-height);
  transform: translate(-50%, -50%);
}

.nxt-menu-close::after {
  top: 0; left: 50%;
  width: var(--mobile-topbar-close-button-bar-height); height: 100%;
  transform: translate(-50%);
}

.nxt-menu-close:hover::before,
.nxt-menu-close:hover::after {
  background-color: var(--mobile-topbar-close-button-color-hover);
}

/* ==========================================================================
   7. HERO
   ========================================================================== */
.nxt-hero {
  background-image: url(./rugby-teamwork-hero.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.nxt-hero > .nxt-overlay {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%);
  transition: background-color var(--nxt-transition) ease-in-out;
}

.nxt-overlay {
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
  z-index: 1;
}

.nxt-hero .nxt-container {
  position: relative;
  z-index: 2;
  height: 85vh;
  max-width: 100%;
  padding: 0 var(--nxt-padding-x);
  justify-content: flex-end;
  align-items: flex-start;
}

/* Hero wordmark (bottom right) */
.nxt-hero-logo-wrap {
  position: absolute;
  bottom: 20px; right: 20px;
  width: auto !important;
  padding: 0;
  z-index: 3;
}

.nxt-hero-wordmark { width: 140px; }

/* Hero H1 */
.nxt-hero-h1 {
  margin-top: 160px;
  margin-bottom: 16px;
  max-width: 100%;
  padding: 0;
}

/* Hero subtitle */
.nxt-hero .nxt-hero-sub {
  margin-bottom: 80px;
  padding: 0;
}

/* ==========================================================================
   8. CONTENT SECTIONS
   ========================================================================== */

/* White sections */
.nxt-intro,
.nxt-promise,
.nxt-details,
.nxt-market,
.nxt-nearshoring,
.nxt-founders,
.nxt-bruecke,
.nxt-teaser {
  background-color: var(--nxt-white);
}

/* Brücke: spacing between consecutive text blocks */
.nxt-bruecke .nxt-body-text + .nxt-body-text { margin-top: 20px; }

/* Allow sticky positioning for SFD column */
.nxt-details { overflow: visible; }

/* Image section: team (inline img only, no background/overlay) */

/* Full-width image sections (no padding) */
.nxt-img-team .nxt-container,
.nxt-img-play .nxt-container,
.nxt-img-rowing .nxt-container,
.nxt-img-field .nxt-container,
.nxt-img-boat .nxt-container,
.nxt-img-sprinter .nxt-container {
  max-width: 100%;
  padding: 0;
}

/* Founders section alignment */
.nxt-founders .nxt-container {
  text-align: right;
  align-items: flex-end;
}

/* Market section */
.nxt-market .nxt-container {
  display: flex;
  flex-direction: column;
}

/* Nearshoring section */
.nxt-nearshoring .nxt-container {
  display: flex;
  flex-direction: column;
}

/* Text indentation (mobile: none) */
.nxt-headline-indent { margin-left: 0; }

/* ==========================================================================
   9. BUTTONS
   ========================================================================== */
.nxt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  user-select: none;
  appearance: none;
  box-sizing: border-box;
  margin: 0; border: 0;
  padding: 14px 20px;
  min-height: 48px;
  background-color: transparent;
  font-family: var(--nxt-font);
  font-size: 18px;
  font-weight: var(--nxt-btn-weight);
  line-height: 1;
  text-decoration: none;
  border-radius: var(--nxt-btn-radius);
  max-width: 100%;
  width: 100%;
  gap: 12px;
  justify-content: space-between;
  cursor: pointer;
  transition: background-color var(--nxt-transition) ease, color var(--nxt-transition) ease;
}

.nxt-btn__text { flex: 1; }

.nxt-btn--primary {
  color: var(--nxt-button-primary-text-color);
  background: var(--nxt-button-primary-background-color);
}

.nxt-btn--primary:hover { background: var(--nxt-button-primary-background-color-hover); }

.nxt-btn--secondary {
  color: var(--nxt-button-secondary-text-color);
  background: var(--nxt-button-secondary-background-color);
}

.nxt-btn--secondary:hover { background: var(--nxt-button-secondary-background-color-hover); }

/* Disabled state */
.nxt-btn--disabled,
.nxt-btn[disabled] {
  opacity: 0.4;
  pointer-events: none;
  cursor: not-allowed;
}

/* Hand icon */
.nxt-btn--primary::after {
  content: "";
  display: block;
  background-color: currentColor;
  width: 28px; height: 28px;
  flex-shrink: 0;
  mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%200c-25.3%200-47.2%2014.7-57.6%2036c-7-2.6-14.5-4-22.4-4c-35.3%200-64%2028.7-64%2064V261.5l-2.7-2.7c-25-25-65.5-25-90.5%200s-25%2065.5%200%2090.5L106.5%20437c48%2048%20113.1%2075%20181%2075H296h8c1.5%200%203-.1%204.5-.4c91.7-6.2%20165-79.4%20171.1-171.1c.3-1.5%20.4-3%20.4-4.5V160c0-35.3-28.7-64-64-64c-5.5%200-10.9%20.7-16%202V96c0-35.3-28.7-64-64-64c-7.9%200-15.4%201.4-22.4%204C303.2%2014.7%20281.3%200%20256%200zM240%2096.1c0%200%200-.1%200-.1V64c0-8.8%207.2-16%2016-16s16%207.2%2016%2016V95.9c0%200%200%20.1%200%20.1V232c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V96c0%200%200%200%200-.1c0-8.8%207.2-16%2016-16s16%207.2%2016%2016v55.9c0%200%200%20.1%200%20.1v80c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V160.1c0%200%200-.1%200-.1c0-8.8%207.2-16%2016-16s16%207.2%2016%2016V332.9c-.1%20.6-.1%201.3-.2%201.9c-3.4%2069.7-59.3%20125.6-129%20129c-.6%200-1.3%20.1-1.9%20.2H296h-8.5c-55.2%200-108.1-21.9-147.1-60.9L52.7%20315.3c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L119%20336.4c6.9%206.9%2017.2%208.9%2026.2%205.2s14.8-12.5%2014.8-22.2V96c0-8.8%207.2-16%2016-16c8.8%200%2016%207.1%2016%2015.9V232c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V96.1z%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%200c-25.3%200-47.2%2014.7-57.6%2036c-7-2.6-14.5-4-22.4-4c-35.3%200-64%2028.7-64%2064V261.5l-2.7-2.7c-25-25-65.5-25-90.5%200s-25%2065.5%200%2090.5L106.5%20437c48%2048%20113.1%2075%20181%2075H296h8c1.5%200%203-.1%204.5-.4c91.7-6.2%20165-79.4%20171.1-171.1c.3-1.5%20.4-3%20.4-4.5V160c0-35.3-28.7-64-64-64c-5.5%200-10.9%20.7-16%202V96c0-35.3-28.7-64-64-64c-7.9%200-15.4%201.4-22.4%204C303.2%2014.7%20281.3%200%20256%200zM240%2096.1c0%200%200-.1%200-.1V64c0-8.8%207.2-16%2016-16s16%207.2%2016%2016V95.9c0%200%200%20.1%200%20.1V232c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V96c0%200%200%200%200-.1c0-8.8%207.2-16%2016-16s16%207.2%2016%2016v55.9c0%200%200%20.1%200%20.1v80c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V160.1c0%200%200-.1%200-.1c0-8.8%207.2-16%2016-16s16%207.2%2016%2016V332.9c-.1%20.6-.1%201.3-.2%201.9c-3.4%2069.7-59.3%20125.6-129%20129c-.6%200-1.3%20.1-1.9%20.2H296h-8.5c-55.2%200-108.1-21.9-147.1-60.9L52.7%20315.3c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L119%20336.4c6.9%206.9%2017.2%208.9%2026.2%205.2s14.8-12.5%2014.8-22.2V96c0-8.8%207.2-16%2016-16c8.8%200%2016%207.1%2016%2015.9V232c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V96.1z%22%2F%3E%3C%2Fsvg%3E);
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}

/* Mail icon */
.nxt-btn--secondary::after {
  content: "";
  display: block;
  background-color: currentColor;
  width: 28px; height: 28px;
  flex-shrink: 0;
  mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22icon-mail2%22%20viewBox%3D%220%200%2032%2032%22%3E%0A%3Cpath%20d%3D%22M26.667%200h-21.333c-2.934%200-5.334%202.4-5.334%205.334v21.332c0%202.936%202.4%205.334%205.334%205.334h21.333c2.934%200%205.333-2.398%205.333-5.334v-21.332c0-2.934-2.399-5.334-5.333-5.334zM26.667%204c0.25%200%200.486%200.073%200.688%200.198l-11.355%209.388-11.355-9.387c0.202-0.125%200.439-0.198%200.689-0.198h21.333zM5.334%2028c-0.060%200-0.119-0.005-0.178-0.013l7.051-9.78-0.914-0.914-7.293%207.293v-19.098l12%2014.512%2012-14.512v19.098l-7.293-7.293-0.914%200.914%207.051%209.78c-0.058%200.008-0.117%200.013-0.177%200.013h-21.333z%22%2F%3E%0A%3C%2Fsvg%3E);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22icon-mail2%22%20viewBox%3D%220%200%2032%2032%22%3E%0A%3Cpath%20d%3D%22M26.667%200h-21.333c-2.934%200-5.334%202.4-5.334%205.334v21.332c0%202.936%202.4%205.334%205.334%205.334h21.333c2.934%200%205.333-2.398%205.333-5.334v-21.332c0-2.934-2.399-5.334-5.333-5.334zM26.667%204c0.25%200%200.486%200.073%200.688%200.198l-11.355%209.388-11.355-9.387c0.202-0.125%200.439-0.198%200.689-0.198h21.333zM5.334%2028c-0.060%200-0.119-0.005-0.178-0.013l7.051-9.78-0.914-0.914-7.293%207.293v-19.098l12%2014.512%2012-14.512v19.098l-7.293-7.293-0.914%200.914%207.051%209.78c-0.058%200.008-0.117%200.013-0.177%200.013h-21.333z%22%2F%3E%0A%3C%2Fsvg%3E);
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}

/* ==========================================================================
   10. CTA BLOCKS
   ========================================================================== */
.nxt-button { margin-top: 0; margin-bottom: 0; }
.nxt-button + .nxt-button { margin-top: var(--nxt-cta-gap-btn); }
.nxt-button:last-child { margin-bottom: 0; }

/* All CTA column groups (6 old → 1 shared class) */
.nxt-cta {
  margin-top: var(--nxt-cta-gap-text);
  gap: var(--nxt-cta-gap-btn);
}

/* CTA logos (6 old → 1 shared class) */
.nxt-cta-logo {
  width: 160px;
  margin-top: var(--nxt-cta-gap-logo);
}

/* ==========================================================================
   11. FAQ ACCORDION
   ========================================================================== */
.nxt-faq-wrap {
  display: flex;
  text-align: left;
  flex-direction: column;
  list-style-type: none;
  margin: 0; padding: 0;
  width: 100%;
  max-width: 100%;
}

.nxt-faq__title-tag {
  display: contents;
}

.nxt-faq__item {
  border: none;
  border-bottom: var(--nxt-faq-border-width) solid var(--nxt-faq-border-color);
  border-radius: 0;
}

.nxt-faq__item:last-child { border-bottom: none; }

.nxt-faq__question {
  border: none;
  margin: 0;
  padding: var(--nxt-faq-padding);
  width: 100%;
  overflow: visible;
  background: transparent;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: inherit;
  font-family: var(--nxt-font);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.nxt-faq__question:focus-visible {
  outline: 2px solid var(--nxt-text);
  outline-offset: 2px;
}

.nxt-faq__title { text-align: left; flex: 1; }

.nxt-faq__answer {
  height: 0;
  overflow: hidden;
  transition: height var(--nxt-transition) ease;
}

.nxt-faq__content {
  padding: var(--nxt-faq-padding);
  padding-top: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.5px;
}

/* FAQ icons */
.nxt-faq__icon {
  display: flex;
  align-items: center;
  font-size: 1em;
  transition: transform 0.3s ease;
  color: var(--nxt-text);
  flex-shrink: 0;
  margin-left: 12px;
}

.nxt-faq__icon svg { font-size: inherit; width: 1em; height: 1em; fill: none; stroke: currentColor; }
.nxt-faq__icon svg path { fill: none; }

.nxt-faq__icon--inactive { display: flex; }
.nxt-faq__icon--active { display: none; }
.nxt-faq__question[aria-expanded="true"] .nxt-faq__icon--active { display: flex; }
.nxt-faq__question[aria-expanded="true"] .nxt-faq__icon--inactive { display: none; }

.nxt-faq__item.is-active .nxt-faq__answer { height: auto; overflow: visible; }
.nxt-faq__item.is-active .nxt-faq__icon { transform: rotateZ(180deg); }

/* ==========================================================================
   12. FOUNDERS
   ========================================================================== */
/* Spacing: founders intro → first profile (Issue #8) */
.nxt-cols-founders-intro { margin-bottom: 48px; }

.nxt-founder-nicolas,
.nxt-founder-marc,
.nxt-founder-theo {
  margin-bottom: 24px;
}

.nxt-founder-img .nxt-image-obj {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 0;
}

/* ==========================================================================
   13. SOCIAL ICONS
   ========================================================================== */
.nxt-social { display: flex; flex-direction: row; gap: 8px; }

.nxt-social__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px; height: 52px;
  border-radius: 100%;
  background-color: var(--nxt-text);
  color: var(--nxt-white);
  text-decoration: none;
  transition: background 0.2s;
}

.nxt-social__icon:hover { background: var(--nxt-red); }
.nxt-social__icon svg { width: 24px; height: 24px; fill: currentColor; }

.nxt-linkedin-founder { margin-top: 16px; }
.nxt-linkedin-company { margin-top: var(--nxt-cta-gap-linkedin); }

/* ==========================================================================
   14. EQUAL GRID
   ========================================================================== */
.nxt-grid {
  display: grid;
  gap: 32px;
}

/* ==========================================================================
   15. HIGHLIGHTS
   ========================================================================== */
.nxt-highlight {
  border-left: 4px solid var(--nxt-red);
  padding-left: 24px;
  margin: 24px 0;
}

.nxt-stat {
  font-size: 40px;
  font-weight: 700;
  color: var(--nxt-red);
  line-height: 1;
  letter-spacing: -2px;
}

.nxt-stat__label {
  font-size: 18px;
  color: var(--nxt-text);
  margin-top: 8px;
}

/* ==========================================================================
   15c. ROLE TAGS
   ========================================================================== */
.nxt-role-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.nxt-role-tag {
  font-family: var(--nxt-font);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--nxt-text);
  border: 1px solid var(--nxt-border);
  border-radius: 4px;
  padding: 6px 12px;
  white-space: nowrap;
}

.nxt-role-tag--primary {
  border-color: var(--nxt-red);
  color: var(--nxt-red);
  font-weight: 700;
}

/* ==========================================================================
   15d. COMPACT FOUNDERS (Teaser section)
   ========================================================================== */
.nxt-founders-compact {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.nxt-founder-thumb {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--nxt-text);
}

.nxt-founders-compact__text {
  font-family: var(--nxt-font);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.5px;
}

/* ==========================================================================
   15e. TEASER LINKS
   ========================================================================== */
.nxt-teaser-links {
  display: flex;
  gap: 24px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.nxt-teaser-links a {
  font-family: var(--nxt-font);
  font-size: 18px;
  font-weight: 700;
  color: var(--nxt-red);
  text-decoration: none;
}

.nxt-teaser-links a:hover {
  color: var(--nxt-red-hover);
  text-decoration: underline;
}

/* ==========================================================================
   16. FOOTER
   ========================================================================== */
.nxt-footer {
  background-color: var(--nxt-red);
  position: static !important;
  height: auto !important;
  max-height: none !important;
  transform: none !important;
}

.nxt-footer .nxt-container {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  padding: 24px var(--nxt-padding-x);
}

/* Footer links (3 old → 1 shared class) */
.nxt-footer-link {
  color: var(--nxt-white);
  font-family: var(--nxt-font);
  font-size: 20px;
  font-weight: 400;
  text-decoration: none;
}

.nxt-footer-link:hover { color: var(--nxt-text); }

/* ==========================================================================
   17. IMAGES
   ========================================================================== */
.nxt-image { display: flex; flex-direction: column; position: relative; }
.nxt-image-wrap { width: 100%; }
.nxt-image-clip { overflow: hidden; }
.nxt-image-obj { display: block; max-width: 100%; height: auto; width: 100%; }
.nxt-image-link { display: block; }
.nxt-img-inline { display: block; max-width: 100%; height: auto; }

/* Image sections: constrain to ~500px like original Breakdance layout */
.nxt-img-team .nxt-image-obj,
.nxt-img-play .nxt-image-obj,
.nxt-img-rowing .nxt-image-obj,
.nxt-img-field .nxt-image-obj,
.nxt-img-boat-inline,
.nxt-img-sprinter-inline {
  max-height: 500px;
  object-fit: cover;
  width: 100%;
}

/* Per-image crop positions */
.nxt-img-team .nxt-image-obj { object-position: center 60%; }
.nxt-img-play .nxt-image-obj { object-position: center 40%; }
.nxt-img-rowing .nxt-image-obj { object-position: center 40%; }
.nxt-img-field .nxt-image-obj { object-position: center 40%; }
.nxt-img-boat-inline { object-position: center 35%; }
.nxt-img-sprinter-inline { object-position: center 85%; }

/* ==========================================================================
   15b. SUBPAGE COMPONENTS
   ========================================================================== */

/* Subpage hero sections (with background image + overlay) */
.nxt-hero--sub {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--nxt-white);
  padding: 160px 0 60px;
  overflow: hidden;
}

.nxt-hero--sub .nxt-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(38,38,38,0.7) 0%, rgba(38,38,38,0.5) 100%);
  z-index: 0;
}

.nxt-hero--sub .nxt-container {
  position: relative;
  z-index: 1;
}

.nxt-hero--sub .nxt-hero-wordmark {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 120px;
  margin-bottom: 0;
  opacity: 0.8;
  z-index: 1;
}

.nxt-hero--sub h1 {
  font-family: var(--nxt-font);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
  margin: 0 0 12px;
  color: var(--nxt-white);
}

.nxt-hero--sub .nxt-hero-sub {
  font-size: 20px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  margin: 0;
}

/* Per-page hero backgrounds */
.nxt-hero--expertise { background-image: url('ruderboot-teamwork-von-oben.webp'); }
.nxt-hero--loesungen { background-image: url('sportplatz-strategie-von-oben.webp'); }
.nxt-hero--ueberuns { background-image: url('ruderboot-heck-wettkampf.webp'); }
.nxt-hero--kontakt { background-image: url('sprinter-startblock-schnelligkeit.webp'); }

/* Legal pages (no hero image, white bg) */
.nxt-legal {
  padding: 120px 0 40px;
}

.nxt-legal h1 {
  font-family: var(--nxt-font);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
  margin: 0 0 24px;
  color: var(--nxt-text);
}

.nxt-legal .nxt-body-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}

.nxt-legal .nxt-body-text a {
  color: var(--nxt-red);
  text-decoration: underline;
}

.nxt-legal .nxt-headline {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.5px;
  margin: 24px 0 8px;
}

/* Legal page rich HTML (Complianz privacy/cookie content) */
.nxt-legal h2 {
  font-family: var(--nxt-font);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -1px;
  margin: 32px 0 12px;
  color: var(--nxt-text);
}

.nxt-legal h3 {
  font-family: var(--nxt-font);
  font-size: 18px;
  font-weight: 700;
  margin: 20px 0 8px;
  color: var(--nxt-text);
}

.nxt-legal p {
  font-family: var(--nxt-font);
  font-size: 16px;
  line-height: 1.6;
  margin: 8px 0;
  color: var(--nxt-text);
}

.nxt-legal ul, .nxt-legal ol {
  font-family: var(--nxt-font);
  font-size: 16px;
  line-height: 1.6;
  margin: 8px 0;
  padding-left: 24px;
}

.nxt-legal a {
  color: var(--nxt-red);
  text-decoration: underline;
}

.nxt-legal details {
  margin: 12px 0;
}

.nxt-legal summary {
  cursor: pointer;
  font-weight: 700;
}

/* Subpage content section */
.nxt-content {
  padding: var(--nxt-section-spacing) 0;
}

/* Fancy dividers (used on expertise, loesungen) */
.nxt-fancy-divider {
  margin: 24px 0;
}

.nxt-fancy-divider__wrapper {
  width: 100%;
}

.nxt-fancy-divider__separator {
  border-bottom: 2px solid var(--nxt-text);
}

/* Social icons (used on ueberuns, kontakt) */
.nxt-social-icons {
  display: flex;
  gap: 12px;
  align-items: center;
}

.nxt-social-icons__icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--nxt-text);
  color: var(--nxt-white);
  text-decoration: none;
  transition: background 0.2s;
}

.nxt-social-icons__icon-wrapper:hover {
  background: var(--nxt-red);
}

.nxt-social-icons__icon-wrapper svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

/* Rich text styles (FAQ content on loesungen) */
.nxt-rich-text-styles p {
  margin: 0;
  padding: 4px 0;
  font-family: var(--nxt-font);
  font-size: inherit;
  line-height: inherit;
  hyphens: auto;
  -webkit-hyphens: auto;
}

.nxt-rich-text-styles strong {
  font-weight: 700;
}

/* Subpage image sections (full-width like startseite) */
.nxt-img-sub .nxt-container {
  max-width: 100%;
  padding: 0;
}

.nxt-img-sub .nxt-image-obj {
  max-height: 500px;
  object-fit: cover;
  width: 100%;
}

/* ==========================================================================
   18. RESPONSIVE: Tablet (768px)
   ========================================================================== */
@media (min-width: 768px) {
  .nxt-heading-base { font-size: 70px; letter-spacing: -5px; }
  .nxt-hero-h1 { margin-top: 200px; }
  .nxt-hero-sub { font-size: 40px; max-width: 70%; }

  .nxt-headline { font-size: 35px; }
  .nxt-headline-red { font-size: 35px; }
  .nxt-body-text { font-size: 30px; }
  .nxt-sfd { font-size: 70px; letter-spacing: -5px; }
  .nxt-founders-h2 { font-size: 60px; letter-spacing: -3px; }
  .nxt-founders-intro { font-size: 25px; letter-spacing: -1px; }
  .nxt-name { font-size: 30px; }
  .nxt-bio { font-size: 30px; letter-spacing: -0.5px; }
  .nxt-faq__question { font-size: 25px; }

  .nxt-columns { flex-direction: row; gap: var(--nxt-col-gap); }

  /* Equal grid (tablet+) */
  .nxt-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .nxt-grid--3 { grid-template-columns: repeat(3, 1fr); }

  .nxt-stat { font-size: 50px; }
  .nxt-role-tag { font-size: 16px; }
  .nxt-founder-thumb { width: 120px; height: 120px; }

  /* 3-column content (text | divider | buttons) */
  .nxt-cols-intro > .nxt-column:nth-child(1),
  .nxt-cols-promise > .nxt-column:nth-child(1) { flex: 2; }
  .nxt-cols-intro > .nxt-column:nth-child(2),
  .nxt-cols-promise > .nxt-column:nth-child(2) { flex: 0 0 1px; }
  .nxt-cols-intro > .nxt-column:nth-child(3),
  .nxt-cols-promise > .nxt-column:nth-child(3) { flex: 1; }

  .nxt-btn {
    width: 280px;
    font-size: 18px;
    padding: 14px 24px;
    gap: 8px;
    justify-content: center;
    max-width: 100%;
  }

  .nxt-hero-wordmark { width: 200px; }

  .nxt-hero { max-height: none; }
  .nxt-hero > .nxt-overlay { background: rgba(38, 38, 38, 0.46); }
  .nxt-hero .nxt-container { height: 100vh; }

  .nxt-cta-logo { width: 200px; }

  /* Section borders (desktop only) */
  .nxt-hero, .nxt-intro, .nxt-img-team, .nxt-promise, .nxt-img-play,
  .nxt-details, .nxt-img-rowing, .nxt-market, .nxt-img-field,
  .nxt-img-boat, .nxt-founders, .nxt-img-sprinter,
  .nxt-bruecke, .nxt-teaser {
    border-bottom: 2px solid var(--nxt-text);
  }

  .nxt-social__icon { width: 36px; height: 36px; }
  .nxt-social__icon svg { width: 20px; height: 20px; }

  /* Footer horizontal */
  .nxt-footer .nxt-container {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
  }

  .nxt-footer-text { font-size: 40px; }
  .nxt-footer-link { font-size: 18px; }

  /* Founder cards */
  .nxt-founder-nicolas,
  .nxt-founder-marc,
  .nxt-founder-theo { flex-direction: row; align-items: center; }

  .nxt-founder-nicolas > .nxt-column:first-child,
  .nxt-founder-marc > .nxt-column:first-child,
  .nxt-founder-theo > .nxt-column:first-child { flex: 0 0 40%; }

  .nxt-founder-nicolas > .nxt-column:last-child,
  .nxt-founder-marc > .nxt-column:last-child,
  .nxt-founder-theo > .nxt-column:last-child { flex: 1; }

  /* Founders intro columns */
  .nxt-cols-founders-intro > .nxt-column:first-child { flex: 0 0 40%; }
  .nxt-cols-founders-intro > .nxt-column:last-child { flex: 1; }

  /* Text indentation (desktop) */
  .nxt-headline-indent { margin-left: 80px; }

  .nxt-faq { margin-left: 80px; width: calc(100% - 80px); margin-top: 48px; }
  .nxt-cta-nearshoring { margin-left: 80px; }

  /* Subpage hero (tablet) */
  .nxt-hero--sub { padding: 200px 0 80px; }
  .nxt-hero--sub h1 { font-size: 50px; letter-spacing: -3px; }
  .nxt-hero--sub .nxt-hero-sub { font-size: 25px; }
  .nxt-hero--sub .nxt-hero-wordmark { width: 160px; }

  /* Legal pages (tablet) */
  .nxt-legal h1 { font-size: 50px; }
  .nxt-legal .nxt-body-text { font-size: 18px; }

  /* Subpage borders */
  .nxt-hero--sub, .nxt-content, .nxt-img-sub {
    border-bottom: 2px solid var(--nxt-text);
  }

  /* Subpage two-column content (expertise, loesungen): ~70/30 */
  .nxt-cols-sub-main > .nxt-column:first-child { flex: 7; }
  .nxt-cols-sub-main > .nxt-column:last-child { flex: 3; }

  /* Subpage button row (4 equal columns) */
  .nxt-cols-sub-buttons > .nxt-column { flex: 1; }
}

/* ==========================================================================
   19. RESPONSIVE: Desktop (1024px)
   ========================================================================== */
@media (min-width: 1024px) {
  .nxt-heading-base { font-size: 100px; letter-spacing: -5px; line-height: 1.1; }
  .nxt-hero-h1 { margin-top: 300px; max-width: 70%; }
  .nxt-hero-sub { font-size: 50px; max-width: 65%; }

  .nxt-headline { font-size: 50px; }
  .nxt-headline-red { font-size: 50px; }
  .nxt-sfd { font-size: 100px; letter-spacing: -5px; }
  .nxt-founders-h2 { font-size: 100px; letter-spacing: -5px; }
  .nxt-founders-intro { font-size: 30px; letter-spacing: -1px; }
  .nxt-name { font-size: 30px; }
  .nxt-bio { font-size: 30px; letter-spacing: -0.5px; }

  .nxt-body-text { font-size: 30px; letter-spacing: -1px; }
  .nxt-stat { font-size: 60px; letter-spacing: -3px; }

  .nxt-hero-wordmark { width: 300px; }
  .nxt-cta-logo { width: 220px; }

  .nxt-btn--primary::after,
  .nxt-btn--secondary::after { width: 40px; height: 40px; }

  /* Desktop menu: show inline, hide hamburger */
  .nxt-menu--enabled .nxt-menu-toggle { display: none; }

  .nxt-menu--enabled .nxt-menu-list {
    position: static;
    width: auto;
    flex-direction: row;
    background: transparent;
    overflow: visible;
    transform: none;
    gap: 0;
  }

  .nxt-menu--enabled .nxt-menu-topbar { display: none; }
  .nxt-menu--enabled .nxt-menu-item { border-bottom: none; }

  .nxt-menu--enabled .nxt-menu-link {
    font-size: 20px;
    padding: 10px 20px;
    min-height: auto;
    color: var(--nxt-text);
  }

  .nxt-container { --nxt-padding-y: 100px; }

  /* Unified column ratios: all content sections 3:1 (Issues #4/#11) */
  .nxt-cols-intro > .nxt-column:nth-child(1),
  .nxt-cols-promise > .nxt-column:nth-child(1) { flex: 3; }

  .nxt-cols-details > .nxt-column:first-child { flex: 3; }
  .nxt-cols-details > .nxt-column:last-child {
    flex: 1;
    position: sticky;
    top: 80px;
    align-self: flex-start;
  }

  .nxt-cols-market > .nxt-column:first-child { flex: 3; }
  .nxt-cols-market > .nxt-column:last-child { flex: 1; }

  /* First divider: no top margin (aligns SFD/buttons with content start, Issue #4) */
  .nxt-cols-details > .nxt-column:first-child > .nxt-divider:first-child,
  .nxt-cols-market > .nxt-column:first-child > .nxt-div:first-child > .nxt-divider:first-child { margin-top: 0; }

  .nxt-cols-nearshoring > .nxt-column:first-child { flex: 3; }
  .nxt-cols-nearshoring > .nxt-column:last-child { flex: 1; }

  .nxt-faq__question { font-size: 30px; }
  .nxt-faq__content { font-size: 20px; }

  .nxt-footer-text { font-size: 50px; }

  /* Subpage hero (desktop) */
  .nxt-hero--sub h1 { font-size: 60px; letter-spacing: -3px; }
  .nxt-hero--sub .nxt-hero-sub { font-size: 28px; }

  /* Legal pages (desktop) */
  .nxt-legal h1 { font-size: 60px; }
  .nxt-legal .nxt-body-text { font-size: 18px; }
}

/* ==========================================================================
   20. RESPONSIVE: Wide (1120px)
   ========================================================================== */
@media (min-width: 1120px) {
  .nxt-container { padding-left: 0; padding-right: 0; }
  .nxt-hero .nxt-container { padding-left: 40px; padding-right: 40px; }
  .nxt-footer .nxt-container { padding-left: 20px; padding-right: 20px; }
}

/* ==========================================================================
   21. PRINT
   ========================================================================== */
@media print {
  .nxt-header, .nxt-footer, .nxt-button, .nxt-social {
    display: none !important;
  }
  .nxt-section { break-inside: avoid; }
  body { font-size: 12pt; color: #000; }
}
